Macchina astratta: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Annullata la modifica 43467684 di LoStrangolatore (discussione)
mNessun oggetto della modifica
Riga 3:
Le macchine astratte sono usate nella [[teoria della computabilità]] per analizzare la [[computabilità]] e la complessità degli algoritmi. Attraverso l'uso di macchine astratte è infatti possibile calcolare la quantità di risorse (tempo, memoria, ecc) necessari per eseguire una determinata operazione, senza dover costruire un sistema reale.
 
Il più famoso esempio di macchina astratta è la [[macchina di Turing]], ma esistono esempi più completi, con [[struttura dati]], registri e un set di istruzioni completo, come la [[macchina RAM]], che permette l'accesso casuale a locazioniposizioni di memoria indicizzati o la più nota [[macchina astratta C]].
 
Una macchina astratta può anche riferirsi ad un progetto di un [[microprocessore]], che deve ancora essere (o non è destinato ad essere) implementato come hardware. Una macchina astratta implementata come software di simulazione, o per la quale esiste un interprete si chiama [[macchina virtuale]].
Riga 18:
* un interprete;
* una [[memoria]], che contiene il programma e i dati;
* un setinsieme di [[operazioni primitive]];
* un controllo di sequenza, che ha il compito di acquisire le istruzioni seguendo il flusso dell'algoritmo;
* un'unità per il controllo del trasferimento dei dati, che si occupa di recuperare gli operandi, e di memorizzare il risultato;
 
[[File:Interprete .JPG| thumb |400px|schema dell'interprete|400px]]
 
==L'interprete==