Microcodice: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Rimosso esempio assurdo (e senza senso) e la parte linguaggio assembly che si riferisce ad un soggetto per il quale esiste già una specifica voce.
Nessun oggetto della modifica
Riga 1:
Il '''microcodice''' è un set di istruzioni a basso livello che controllano direttamente il [[microprocessore]], vale a dire che la loro esecuzione viene realizzata direttamente dall'[[hardware]], ovvero dal livello della logica digitale del [[microprocessore]].
 
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 (come i famosi ARM degli anni ottanta e i primi [[SPARC]] della [[Sun Microsystems|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.
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 [[Read-Only Memory|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 aggiornato per risolvere eventuali bug nel set di istruzioni o per implementare nuove istruzioni.
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.
 
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}}.
 
== Collegamenti esterni ==
* {{en}} [http://c2.com/cgi/wiki?WritableInstructionSetComputer Writable Instruction Set Computer]