Microcode: Difference between revisions

Content deleted Content added
citation updates
Citation bot (talk | contribs)
Altered title. | Use this bot. Report bugs. | Suggested by Jay8g | Category:CS1 errors: invisible characters | #UCB_Category 21/28
Line 26:
The distinction between custom logic and microcode may seem small, one uses a pattern of diodes and gates to decode the instruction and produce a sequence of signals, whereas the other encodes the signals as microinstructions that are read in sequence to produce the same results. The critical difference is that in a custom logic design, changes to the individual steps require the logic to be redesigned. Using microcode, all that changes is the code stored in the associated [[read only memory]] (ROM). This makes it much easier to fix problems in a microcode system. It also means that there is no effective limit to the complexity of the instructions, it is only limited by the amount of ROM one is willing to use.
 
The lowest layer in a computer's software stack is traditionally raw [[machine code]] instructions for the processor. In microcoded processors, fetching and decoding those instructions, and executing them, may be done by microcode. To avoid confusion, each microprogram-related element is differentiated by the ''micro'' prefix: microinstruction, microassembler, microprogrammer, etc.<ref>{{Cite web |title=ISO/IEC/IEEE 24765:2017(en) Systems and software engineering — Vocabulary |url=https://www.iso.org/obp/ui/#iso:std:iso-iec-ieee:24765:ed-2:v1:en |access-date=2024-06-23 |website=www.iso.org}}</ref>
Systems and software engineering — Vocabulary |url=https://www.iso.org/obp/ui/#iso:std:iso-iec-ieee:24765:ed-2:v1:en |access-date=2024-06-23 |website=www.iso.org}}</ref>
 
Complex digital processors may also employ more than one (possibly microcode-based) [[control unit]] in order to delegate sub-tasks that must be performed essentially asynchronously in parallel. For example, the [[VAX 9000]] has an hardwired IBox unit to fetch and decode instructions, which it hands to a microcoded EBox unit to be executed,<ref>{{cite book|url=http://www.bitsavers.org/pdf/dec/vax/9000/EK-KA90S-TD-001_VAX_9000_System_Technical_Description_May90.pdf|title=VAX 9000 System Technical Description|publisher=[[Digital Equipment Corporation]]|date=May 1990|id=EK-KA90S-TD-001|pages=3{{hyp}}5-3{{hyp}}32}}</ref> and the [[VAX 8800]] has both a microcoded IBox and a microcoded EBox.<ref>{{cite book|url=http://bitsavers.org/pdf/dec/vax/8800/EK-KA882_8800sysTech2_Jul86.pdf|title=VAX 8800 System Technical Description Volume 2|publisher=[[Digital Equipment Corporation]]|date=July 1986|id=EK-KA882-TD-PRE}}</ref>