In
computer architecture
In computer engineering, computer architecture is a description of the structure of a computer system made from component parts. It can sometimes be a high-level description that ignores details of the implementation. At a more detailed level, the ...
, millicode is a higher level of
microcode
In processor design, microcode (μcode) is a technique that interposes a layer of computer organization between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. Microcode is a la ...
used to implement the
instruction set
In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called a ...
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 that provides its own set of registers, and possibly its own special instructions invisible to the user.
IBM invented both the concept and the term ''millicode'' for the
System/390 9672-G4 processor in 1997.
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
A CPU cache is a hardware cache used by the central processing unit (CPU) of a computer to reduce the average cost (time or energy) to access data from the main memory. A cache is a smaller, faster memory, located closer to a processor core, wh ...
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.
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
The IBM System/370 (S/370) is a model range of IBM mainframe computers announced on June 30, 1970, as the successors to the System/360 family. The series mostly maintains backward compatibility with the S/360, allowing an easy migration path f ...
instructions and code that had access to special hardware features.
See also
*
PALcode
References
External links
*
{{CPU technologies, state=collapsed
Central processing unit
Instruction processing