vale1411
Genius
1 min. di lettura
Vota

Concetti Chiave

  • Le macchine a più livelli facilitano la comunicazione tra diverse parti di un calcolatore, utilizzando linguaggi diversi per ogni livello.
  • Il linguaggio di macchina L0 è un linguaggio assembly limitato, eseguito direttamente dall'hardware, ma complesso per i programmatori umani.
  • Viene introdotto un linguaggio L1, eseguibile su un computer virtuale, che richiede traduzione in L0 per essere processato dall'hardware.
  • La traduzione tra i livelli avviene attraverso interpreti o compilatori, con ogni livello richiedente un traduttore specifico.
  • La compilazione crea un nuovo programma traducendo il linguaggio macchina, mentre l'interpretazione esegue direttamente il programma sulla macchina virtuale.

Macchine a più’ livelli

Per trasmettere le informazioni dell’utente fino al processore viene usata la tecnica delle macchine a più livelli, cioè il calcolatore viene considerato come l’insieme di più macchine che comunicano tra loro in modo diverso l’una dall’altro.
Linguaggio di macchina L0 (assembly) = linguaggio limitato composto dall’insieme di istruzioni eseguite dall’hardware del calcolatore. La limitatezza è a causa del costo (dell'hardware) e della complessità (quella del computer cresce più che proporzionalmente rispetto a quella del linguaggio)
Il linguaggio L0 non è adatto a un programmatore umano, sono così nate le macchina a più livelli.

Viene creato un linguaggio L1 che opera su istruzioni eseguibili da un computer virtuale. Poiché l’hardware usa solo L0, è necessario tradurre le istruzioni scritte in linguaggio L1.
Per non rendere troppo complicata la traduzione tra L1 e L0, l’idea della macchina virtuale può essere replicata più volte, in cui il linguaggio Ln può essere interpretato o viene tradotto in una macchina con linguaggio più basso.
Ad ogni livello serve un traduttore.

Ci sono due tecniche per la traduzione:
- compilazione: il compilatore/assemblatore legge il programma in linguaggio macchina e produce un nuovo programma
- interpretazione: l’interprete legge il programma in linguaggio macchina ed esegue direttamente la traduzione sulla macchina virtuale

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community