cosa ne pensate delle stack machine ?

Sezione dedicata alle logiche programmabili

cosa ne pensate delle stack machine ?

Postby legacy » 14 May 2012, 12:21

Alcuni le lodano, altri le odiano, il prof. andrew s. tanenbaum le ha riccamente descritte in un paio di suoi libri che ho letto, e ultimamente mi e' capitato di collaborare in un piccolo progetto in cui per cavar fuori 50Mips da una piccola ma veramente piccola e modesta fpga per fare una sorta di co-processore video alla buona, dove, fra tutte le soluzioni possibili, si e' fatto ricorso proprio ad una stack machine per la ragione che, secondo gli esperti del design e delle architetture (i miei colleghi), risulta piu' semplice ed efficacie da realizzare in tecniche di sintesi

Io avrei da ridire, pero' e' anche vero che gli esperti sono loro, specialmente in termini di quanto costa organizzare il lavoro, in termini di risorse umane e time to market, noto pero' che a prescindere dalle constrains aziendali ci sono proprio persone che hanno questa opinione, opinabile, come la particolare scelta di aver scritto il core in verilog.

Quando ero in uni anche la mia prof di architetture ci parlava molto bene delle prime picoJava, un altro esempio, forse il piu' eccelso, di stack machine, implementata nelle prime sperimentazioni proprio su fpga.
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: cosa ne pensate delle stack machine ?

Postby deluca » 14 May 2012, 19:04

Beh! non so se ai nostri giorni è ancora valido parlare di architetture "zero-address machine" senza fare a meno dei bei indirizzi per le istruzioni logiche ed aritmetiche che tanto ci piacciono.

Qualcosa l'ho affrontato qualche anno fa lavorando col Prolog ma non so fino a che punto conviene spendere tempo su queste architetture a mio avviso rimaste prototipali e forse solo teoriche.
Vorresti sperimentare con fpga ? ....................

Tu che ne pensi ?

Scusa legacy, ma che caratteristiche dovrebbe avere questo co-processore video, e su che fpga dovrebbe essere implementato ?
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: cosa ne pensate delle stack machine ?

Postby legacy » 14 May 2012, 20:40

Non ci penso nemmeno a sperimentare quelle architetture su fpga, a me non piacciono le stack machine ! Io le ho studiate solo nei corsi di architetture per la ragione che erano il modello didattico che usavano in usa quando ho fatto l'erasmus, e al piu' mi ha intrigato solo la ijvm32 per la ragione che ha mostrato in modo chiaro come si possa fare micro e macro codice.

Chiedo cosa ne pensate perche' Invece mi e' capitato di toccare con mano una realizzazione su fpga, e si tratta di un lavoro voluto e fatto dai miei colleghi, che l'hanno gia' finito, e' roba dell'anno scorso, ed e' un giocattolino che tira fuori 50Mips per dare una mano al processore principale che e' un macinino che anche se pedala di buona lena alla fine non puo' che tirare fuorii molti meno mips: 15 di Mips @ 16Mhz, e di piu' non ne puo' dare, mentre il cop-grafico ne fa circa 50 a 50Mhz.

Si basa su una xc3s400a con un generoso banco di vram e un altro generoso banco di memoria condivisa, monta un dac per la vga, e fa da scheda video, oltre che fargli fare il raster, gli si mette sullo stack un pool di cose da macinare e lui piano piano srotola la cosa e si occupa di rotazioni, traslazioni, scrolling, e aiuto nella gestione mappe.

E' stato giustificato dal fatto che ci hanno messo poco a realizzarlo, e' un progettino in cui c'era poco tempo di commessa e contava il time to market, contava piu' della scelta di un altro design, perche' dubito che quella architettura stack machine sia la piu' performante in assoluto, e poi, sara' anche la piu' sbrigativa per quanto riguarda la sintesi e la validazione, ma programmare una stack machine (cosa che e' toccata anche in aprte al sottoscritto) non e' stato affatto indolore. C'era un esperto di Forth coinvolto, ed io ero ben felice che se ne occupasse lui =P

p.s.
Non ho capito perche' hai citato il prolog. Potevo anche citarti il lisp, che trova vantaggi intrinseci nelle stack mackine.
Last edited by legacy on 14 May 2012, 23:00, edited 1 time in total.
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: cosa ne pensate delle stack machine ?

Postby deluca » 14 May 2012, 21:11

Proprio per un dual-stack-machine dopo aver testato vari compilatori e/o interpreti tra cui il Forth avevamo deciso (consigliato dalle nostre super menti informatiche) di utilizzare il Prolog che risultava essere + performante nell'analisi semantica.

Altri tempi..... !! stiamo parlando degli anni 90' quando digitavo le applicazioni su macchine Dec VAX Digital e stampavo a trattore l'output su fogli larghi almeno 1 metro. La CPU era un armadio con ventilazione forzata e grazie a Dio i terminali VT-100 stavano molto ma molto lontano dall'unità centrale.

Il rumore era assordante quando si entrava nella stanza VAX...... ma tutto funzionava !!!
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: cosa ne pensate delle stack machine ?

Postby legacy » 18 May 2012, 13:59

Ho scoperto che dietro alla J1 che hanno implementato i colleghi c'e' stato un talk nel 2010 sull'uso del forth e delle dual stack machine.
non riesco a linkarlo correttamente, google sa farlo cercando "J1: a small Forth CPU Core for FPGAs"
Incredibile da leggere una cosa del genere nel 2012 =P

edit:
il link fa pena ...
http://www.google.it/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CFgQFjAA&url=http%3A%2F%2Fexcamera.com%2Ffiles%2Fj1.pdf&ei=zEW2T9W4JMGr-gb7x7nFCg&usg=AFQjCNH9qJ_E2YWevPG2XrjfUNP6Eede2w&sig2=VDZBAHoX4UOBocFntugjZw
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: cosa ne pensate delle stack machine ?

Postby legacy » 21 May 2012, 13:59

Ho impiegato quasi 2 giorni per digerirlo quell'articolino, vabbe a tempo perso, pero' brrrrrr fa venire i brividi la sola idea di doverlo programmare un aggegio simile, da sintetizzare non e' affatto complesso, ce la si cava con poco, pero' poi povero programmatore =P

Penso che sia stato anche stragetegica la scelta dei colleghi: ridurre al minimo il time to market della sintesi, e assicurarsi che anche scopiazzandola poi in pochi l'avrebbero potuta programmare. Boh, speculazioni mie. La vera motivazione ufficiale che mi e' stata detta: "e' semplice da sintetizzare, ci mettiamo poco, e le performance sono ottime". Boh, mistero misterioso che sapranno solo i capi.

Invece ho notato che se Forth ha intrigato poco circa i core di sintesi, quantomeno vedo in giro pochissimo quasi zero softcore Forth, come interprete invece mi sa che ha intrigato di piu', perche' vedo che Sun (oggi Oracle) ed Apple ne hanno messo uno nei loro firmware, ed io per esempio sul mio scassone powermac 4400 ho un interprete Forth nelle stesse eprom della mobo, e se schiscio i tasti giusti al boot (cosa era ? option + mela + O + F ?) mi si presenta e ci posso giocare.

E vedo anche la presenza di Forth nei vecchi bootloader di freeBSD, a quanto pare ce ne e' in giro altra di gente pazza :lol:
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30


Return to FPGA & CPLD

Who is online

Users browsing this forum: No registered users and 10 guests