Implementation Each microinstruction in a microprogram provides the bits that control the functional elements that internally compose a CPU. The advantage over a hard-wired CPU is that internal CPU control becomes a specialized form of a computer program. Microcode thus transforms a complex electronic design challenge (the control of a CPU) into a less complex programming challenge. To take advantage of this, a CPU is divided into several parts: An I-unit may decode instructions in hardware and determine the microcode address for processing the instruction in parallel with the E-unit. A microsequencer picks the next word of the control store. A sequencer is mostly a counter, but usually also has some way to jump to a different part of the control store depending on some data, usually data from the instruction register and always some part of the control store. The simplest sequencer is just a register loaded from a few bits of the control store. A register set is a fast memory containing the data of the central processing unit. It may include registers visible to application programs, such as general-purpose registers and the program counter, and may also include other registers that are not easily accessible to the application programmer. Often the register set is a triple-ported register file; that is, two registers can be read, and a third written at the same time. An arithmetic and logic unit performs calculations, usually addition, logical negation, a right shift, and logical AND. It often performs other functions, as well.
implementation each microinstruction in a microprogram provides the bits that control the functional elements that internally compose a cpu the advantage over a hard-wired cpu is that internal cpu control becomes a specialized form of a computer program microcode thus transforms a complex electronic design challenge (the control of a cpu) into a less complex programming challenge to take advantage of this a cpu is divided into several parts an i-unit may decode instructions in hardware and determine the microcode address for processing the instruction in parallel with the e-unit a microsequencer picks the next word of the control store a sequencer is mostly a counter but usually also has some way to jump to a different part of the control store depending on some data usually data from the instruction register and always some part of the control store the simplest sequencer is just a register loaded from a few bits of the control store a register set is a fast memory containing the data of the central processing unit it may include registers visible to application programs such as general-purpose registers and the program counter and may also include other registers that are not easily accessible to the application programmer often the register set is a triple-ported register file; that is two registers can be read and a third written at the same time an arithmetic and logic unit performs calculations usually addition logical negation a right shift and logical and it often performs other functions as well