Millicode Explained

In computer architecture, millicode is a higher level of microcode used to implement part of the instruction set of a computer. The instruction set for millicode is a subset of the machine's native instruction set, omitting those instructions that are implemented using millicode, plus instructions that provide access to hardware not accessible using the native instruction set. Millicode routines are used to implement more complex instructions visible to the user of the system. Implementation of millicode may require a special processor mode called millimode that provides its own set of registers, and possibly its own special instructions invisible to the user.

The term millicode was introduced to literature by Klingman in 1981,[1] although terms like nanocode had been in use since the early 1970's when describing computer architectures with hierarchical implementations of instructions.[2] [3] Various computers have used millicode in their designs, such as the System/390 9672-G4 processor.[4] The following are cited as advantages of millicode:

The "i370" code for the "Capitol" chipset used in some ES/9370 models was similar to millicode, in that it was written as a combination of System/370 instructions and code that had access to special hardware features.[5]

See also

External links

Notes and References

  1. Klingman . Edwin . Hierarchical Coding of Microcomputers for High-Level Architecture . IEEE Micro . February 1981 . 1 . 1 . 53–56 . 10.1109/MM.1981.290826 .
  2. Web site: Smotherman . Mark . A Brief History of Microprogramming . 16 September 2024.
  3. Book: Nanodata Corporation . QM-1 Hardware Level User's Manual . March 21, 1973 . Williamsville, New York . 18 . 2nd . 16 September 2024.
  4. Rogers. Bob. The What and Why of zEnterprise Millicode. IBM Systems Magazine. Sep–Oct 2012. https://web.archive.org/web/20121009085728/http://www.ibmsystemsmag.com/mainframe/administrator/performance/millicode_rogers/. October 9, 2012. dead.
  5. Book: The Design of a Microprocessor. 6 December 2012. Wilhelm Spruth. 978-3-642-74918-6. Springer-Verlag. 7.2 High Level Microprogramming in I370.