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
- Qual è il ruolo della tecnica delle macchine a più livelli nel calcolo?
- Perché il linguaggio di macchina L0 non è adatto ai programmatori umani?
- Quali sono le due tecniche principali per la traduzione tra i livelli di linguaggio?
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).
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).
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).