Concetti Chiave

  • La tecnica delle macchine a più livelli consente una comunicazione efficace tra utente e processore, suddividendo il calcolatore in più macchine interconnesse.
  • Il linguaggio di macchina L0, o assembly, è limitato e complesso, rendendolo inadeguato per i programmatori umani, da cui nasce la necessità di linguaggi superiori.
  • Il linguaggio L1 permette di scrivere istruzioni eseguibili da un computer virtuale, richiedendo una traduzione in L0 per essere utilizzato dall'hardware.
  • Per facilitare la traduzione tra i vari livelli di linguaggio, è possibile replicare l'idea della macchina virtuale, utilizzando traduttori ad ogni livello.
  • Le tecniche di traduzione includono la compilazione, che crea un nuovo programma, e l'interpretazione, che esegue direttamente le istruzioni sulla macchina virtuale.

Tecnica delle 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.

Traduzione tra livelli e tecniche

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 da interrogazione

  1. Qual è il ruolo della tecnica delle macchine a più livelli nel calcolo?
  2. La tecnica delle macchine a più livelli consente di considerare il calcolatore come un insieme di macchine che comunicano tra loro, facilitando la trasmissione delle informazioni dall'utente al processore (testo).

  3. Perché il linguaggio di macchina L0 non è adatto ai programmatori umani?
  4. Il linguaggio di macchina L0 è limitato a causa del costo e della complessità dell'hardware, rendendolo poco pratico per i programmatori umani, da cui l'esigenza di sviluppare linguaggi a più livelli come L1 (testo).

  5. Quali sono le due tecniche principali per la traduzione tra i livelli di linguaggio?
  6. Le due tecniche principali per la traduzione tra i livelli di linguaggio sono la compilazione, che produce un nuovo programma, e l'interpretazione, che esegue direttamente la traduzione sulla macchina virtuale (testo).

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community