Macchina RAM: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Djdomix (discussione | contributi)
Djdomix (discussione | contributi)
mNessun oggetto della modifica
Riga 8:
 
Il modello della macchina RAM (Macchina d 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 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 nastro di ingresso permette alla macchina di acquisire informazioni dall’esterno, mentre il nastro di uscita permette alla macchina produrre informazioni all’esterno. L’unità centrale di elaborazione (CPU) ha il compito di elaborare le istruzioni del programma (i passi dell’algoritmo), e solitamente è composta da due elementi:
# Unità di controllo: stabilisce l’ordine con cui devono essere eseguite le operazioni
# Unità logico-aritmetica: esegue operazioni aritmetiche e risolve espressioni logiche
La memoria in cui l’unità centrale deposita ed estrae le informazioni per poterle elaborare.
 
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 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.
 
[[Image:Modello_macchina_RAM.gif]]
 
[[categoria:Teoria della computazione]]