Macchina RAM: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
levato avviso WIP dopo 7 giorni
Riga 6:
== Modello ==
 
Il modello della macchina RAM (Macchina dad accesso casuale) è costituito da un nastro di ingresso, un nastro di uscita, un programma rappresentato da una sequenza finita di istruzioni, un contatore lc che indica l'istruzione corrente da eseguire e una memoria formata da infiniti registri R<sub>0</sub>,R<sub>1</sub>,... R<sub>n</sub>.
Ciascuno dei due nastri è rappresentato da infinite celle, numerate a partire dalla prima, ognuna delle quali può contenere un numero intero. Il nastro di ingresso è dotato di una testina di sola lettura mentre quello di uscita dispone di una testina di sola scrittura. Le due testine si muovono sempre da sinistra verso destra e nello stato iniziale sono posizionate sulla prima cella. Inizialmente tutte le celle del nastro sono vuote mentre il nastro di ingresso contiene l'input della macchina; questo è formato da un vettore di n interi x<sub>1</sub>,x<sub>2</sub>,...x<sub>n</sub> disposti ordinatamente nelle prime n celle del nastro.
 
Il programma è fissato e non può essere modificato durante l'esecuzione. Ciascuna istruzione è etichettata e il registro lc (Location counter) contiene l'etichetta dell'istruzione da eseguire.Le istruzioni molto semplici, si avvicinano molto ad un linguaggio [[ASSEMBLER]].
 
Ogni registro R<sub>k</sub> può contenere un numero arbitrario intero relativo. L'indirizzo del registro R<sub>k</sub> è l'intero k. Il registro R<sub>0</sub> è chiamato accumulatore ed è l'unico sul quale si possono svolgere operazioni aritmetiche.