Microcodice: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Etichette: Modifica da mobile Modifica da web per mobile
Domenique43 (discussione | contributi)
Sezioni
Etichetta: Annullato
Riga 1:
Il '''microcodice''' è un insieme di istruzioni di basso livello, che controllano direttamente il [[microprocessore]]. La loro esecuzione viene cioè realizzata direttamente dall'[[hardware]], a livello logico di [[microprocessore]].
 
== Descrizione ==
Il microcodice non sempre è contemplato nel progetto architetturale dei [[microprocessori]].
In un microprocessore le cui istruzioni sono decodificate da un livello di microcodice, una singola istruzione in linguaggio macchina può essere tradotta in una serie di istruzioni in microcodice. Nella maggior parte dei computer che utilizzano il microcodice esso risiede in una speciale memoria ad alta velocità, chiamata "control store", racchiusa all'interno del processore stesso. Questa memoria può risiedere nella [[Read-Only Memory|memoria di sola lettura]], oppure altre soluzioni prevedono un microcodice programmabile, che viene collocato nella [[EEPROM]].
Per esempio, è completamente assente nel celebre [[MOS 6502]] e nei processori [[RISC]] delle prime generazioni.
Non è presente nei famosi ARM degli anni ottanta, e nei primi [[SPARC]] della [[Sun Microsystems|SUN]], e in molti processori dedicati.
In tutti questi processori senza microcodice, le istruzioni al microprocessore sono direttamente eseguite dalla logica digitale.
Naturalmente queste istruzioni devono essere elementari, poco più complesse di quelle che compongono il set di istruzioni del microcodice in un microprocessore che lo utilizza.
 
Se il microcodice è programmabile, può essere aggiornato per risolvere eventuali bug nel set di istruzioni o per implementare nuove istruzioni. Il microcodice permette inoltre ad un'architettura di emularne un'altra{{Citazione necessaria}}, più semplice o più complessa.
In un microprocessore le cui istruzioni sono decodificate da un livello di microcodice, una singola istruzione in linguaggio macchina può essere tradotta in una serie di istruzioni in microcodice.
Nella maggior parte dei computer che utilizzano il microcodice esso risiede in una speciale memoria ad alta velocità, chiamata "control store", racchiusa all'interno del processore stesso.
Questa memoria può risiedere nella [[Read-Only Memory|memoria di sola lettura]], oppure altre soluzioni prevedono un microcodice programmabile, che viene collocato nella [[EEPROM]].
 
Nei moderni [[microprocessori]], che hanno una architettura estremamente complessa, si trovano comunemente uno o più livelli di microcodice (il livello più basso è chiamato a volte [[nanocodice]]), mentre è ormai raro trovare applicazioni architetturali che non prevedano alcun livello di microcodice{{Citazione necessaria}}.
Se il microcodice è programmabile, può essere aggiornato per risolvere eventuali bug nel set di istruzioni o per implementare nuove istruzioni.
 
== Utilizzo ==
Il microcodice permette inoltre ad un'architettura di emularne un'altra{{Citazione necessaria}}, più semplice o più complessa.
Il microcodice non sempre è contemplato nel progetto architetturale dei [[microprocessori]]. Per esempio, è completamente assente nel celebre [[MOS 6502]] e nei processori [[RISC]] delle prime generazioni. Non è presente negli ARM degli anni 1980, e nei primi [[SPARC]] della [[Sun Microsystems|SUN]], e in molti processori dedicati. In tutti questi processori senza microcodice, le istruzioni al microprocessore sono direttamente eseguite dalla logica digitale.
 
Naturalmente queste istruzioni devono essere elementari, poco più complesse di quelle che compongono il set di istruzioni del microcodice in un microprocessore che lo utilizza.
Nei moderni [[microprocessori]], che hanno una architettura estremamente complessa, si trovano comunemente uno o più livelli di microcodice (il livello più basso è chiamato a volte [[nanocodice]]), mentre è ormai raro trovare applicazioni architetturali che non prevedano alcun livello di microcodice{{Citazione necessaria}}.
 
== Voci correlate ==
*[[Microarchitettura]]
*[[CPU]]
*[[Microprogrammazione]]
*[[Microprocessore]]
 
== Collegamenti esterni ==