In computer architecture, Millicode is a higher level of microcode used to implement the instruction set of a computer. Millicode runs on top of the microcoded instructions and uses those instructions to implement more complex instructions visible to the user of the system.
Implementation of Millicode requires a special processor mode called millimode which provides its own set of registers, and possibly its own special instructions which are not visible to the user.
The following are cited as advantages of Millicode:
- More complex instructions can easily be constructed from several millicode instructions.
- Construction of a compatible line of computer models with different performance is simplified.
- Millicode instructions can bypass CPU cache to improve performance.
- Instructions can update multiple storage locations without concern for being interrupted.
- Millicode can execute instructions at a higher privilege level without involving the operating system.
- Millicode can provide a complex instruction as if it were a subroutine, making user code smaller.
- Rogers, Bob (Sep–Oct 2012). "The What and Why of zEnterprise Millicode". IBM Systems Magazine.
- Rogers, Robert. "The What and Why of System z Millicode". SHARE, Summer 2012. Retrieved Jan 25, 1013.