Macchina astratta: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
|||
Riga 8:
==Definizione==
Fornire una definizione dettagliata e nello stesso tempo valida ad inquadrare qualsiasi architettura di computer presente e futura è un impresa tutt'altro che semplice, (se non impossibile) dato che ogni macchina astratta dipende da un determinato modello computazionale. Le macchine astratte basate sul modello di Turing sono dette imperative, alla base di tale modello c'è il concetto di istruzione. Esistono altri modelli computazionali che descrivono stili di programmazione e macchine astratte differenti da quelle imperative, (per esempio: logica, funzionale, orientata agli oggetti, ecc...)
Riga 14:
Riserviamo maggiore attenzione alle macchine astratte imperative poiché la maggioranza delle macchine reali è basata sul modello dell' [[architettura di von Neumann]]. Questo non è dovuto alla migliore qualità del modello imperativo, ma per un fatto puramente tecnologico. Nella definizione di macchina astratta imperativa ritroviamo tutti in concetti già presenti nel formalismo della [[macchina di Turing universale]].
Formalmente una '''macchina astratta''' (imperativa) è un insieme di [[strutture dati]] e algoritmi in grado di memorizzare ed eseguire programmi.
Le componenti principali
* un interprete;
* una [[memoria]], che contiene il programma e i dati;
|