Microcode Research Paper

Submitted By River-Yang
Words: 1618
Pages: 7

Microcode - Architecture Evolution of CISC

ENGI6861 PAPER

Zheng Yang
201378833

Table Of Contents

Summary 1
Background 2
Formation and Evolution of CISC
Problems of CISC
Optimization from Microcode
Compare with RISC
Combination with RISC in recent industry
Comments
Conclusion
References

Summary

Microcode is a layer of hardware-level instructions or data structures involved in the implementation of higher-level machine code instructions in central processing units [1]. Microcode has being used mainly in more specialized processors, such as microcontrollers, digital signal processors, channel controller, network processor; and general central processor units, graphic processing units.

Complex Instruction set computer, which is abbreviated as CISC, is a CPU design where single instructions can execute several low-level operations, such as an arithmetic operation, a memory store, and a load from memory, or are capable of multi-step operations or addressing modes within single instructions. The term was retroactively coined in contrast to Reduced Instruction Set Computer (RISC) and has therefore become something of an umbrella term for every that is not RISC, i.e. everything from large and complex mainframes to simplistic microcontrollers where memory load and store operations are not separated from arithmetic instructions.

Reduced instruction set computing (RISC), is a microprocessor that is designed to perform a smaller number of types of computer instructions so that it can operate at a higher speed (perform more millions of instructions per second). Since each instruction type that a computer must perform requires additional transistors and circuitry, a larger list or set of computer instructions tends to make the microprocessor more complicated and slower in operation.

Intel Company presents the combination of microcode with RISC after 1980s. In principle, X86 architecture is based on CISC, thus it still faced several its own problem, including the pool efficiency and the development direction. However, the Intel Company is not worried about these problems, cause after painstakingly researching RISC, they bean to introduce the design philosophy of RISC into CISC-based x86 architecture, increasing an additional “translation layer” (Microcode), while the external of the CPU is still x86, the internal operations are more like streamlined RISC, then the performance of CPU has been greatly improved.

Background

Microcode is a layer of hardware-level instructions or data structures involved in the implementation of higher-level machine code instructions in central processing units [1]. Microcode has being used mainly in more specialized processors, such as microcontrollers, digital signal processors, channel controller, network processor; and general central processor units, graphic processing units.

It resides in special high-speed memory and translates machine instructions into sequences of detailed circuit-level operations. It helps separate the machine instructions from the underlying electronics can be designed and altered more freely. It also makes it feasible to build complex multi-step instructions while still reducing the complexity of the electronic circuitry compared to other methods. Writing microcode is often called microprogramming and the microcode in a particular processor implementation is sometime called micro-program.

Engineers normally write the microcode during the design phase of a processor, storing it in a combinational of both. However, machines also exist that have some (or all) microcode stored in SRAM or flash memory. This is traditionally denoted a "writeable control store” in the context of computers. Complex digital processors may also employ more than one (possibly microcode-based) control unit in order to delegate sub-tasks that must be performed (more or less) asynchronously in parallel. A high-level programmer, or even an assembly programmer,