Macchina astratta

In informatica il termine macchina astratta indica un modello teorico di hardware o software, in grado di eseguire operazioni, memorizzarne il risultato e seguire il flusso dell'algoritmo.

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 posizioni 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.


From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne