Microcodice: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Alez (discussione | contributi)
mNessun oggetto della modifica
Riga 2:
Il microcodice non sempre è contemplato nella progetto architetturale dei [[microprocessori]], per esempio è completamente assente nei processori [[RISC]] delle prime generazioni (come i famosi [[ARM]] degli anni ottanta e i primi [[SPARC]] della [[SUN]]) e in molti processori dedicati: in tutti questi il set di istruzioni del microprocessore è direttamente eseguito dalla logica digitale. Naturalmente tali istruzioni sono obbligatoriamente piuttosto elementari, poco più complesse di quelle che compongono il set di istruzioni del microcodice in un microprocessore che lo utilizza.
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 può risiedere nella memoria [[ROM]] e in questo caso è di sola lettura, mentre altre soluzioni prevedono un microcodice programmabile che risiede nella [[EEPROM]].
Se il microcodice è programmabile, può essere cambiatoaggiornato per risolvere eventuali bug nel set d' istruzioni o per implementare nuove istruzioni.
Può risiedere nella memoria [[ROM]] e in questo caso è di sola lettura;
Il microcodice permette inoltre ad un 'architettura di emularne un' altra, più semplice o più complessa.
Altre soluzioni prevedono un microcodice programmabile che risiede nella [[EEPROM]].
Se il microcodice è programmabile, può essere cambiato per risolvere eventuali bug nel set d' istruzioni o per implementare nuove istruzioni.
Il microcodice permette inoltre ad un architettura di emularne un' altra, più semplice o più complessa.
 
Esempio:
Line 17 ⟶ 15:
 
Ad effettuare la traduzione è spesso il processore (se supporta il microcodice) altrimenti sarà compito del [[compilatore]] o del programmatore.
Nei moderni [[microprocessori]], che hanno una architetttura estremamente complessa, si trovano comunemente uno o più livelli di microcodice (il livello più basso è chiamato a volte [[nanocodice]]), mentre è ormai più raro trovare applicazioni architetturali che non prevedano alcun livello di microcodice.
 
== Collegamenti esterni ==