Microprogram Control

Microprogram Control


a type of hierarchical control of digital computer operation in which each instruction refers to a sequence of microinstructions, which are usually at a lower level than the instruction itself. A set of microinstructions is known as a microprogram and is usually stored in the read-only memory of a computer, which is an integral part of the control equipment. The microinstructions recorded in the memory control the operation of all the computer’s hardware by selecting the required set of elementary computer operations at every step, and the sequence of microinstructions ensures that a given instruction is carried out.

A microinstruction may include three parts: the operational part, in which the control inputs of all the computer’s actuating components are indicated; the address, which determines the address of the next microinstruction based on the conditions of the logic transitions (control transfer); and the timing part, which determines the execution time of the microinstruction. Here the code for a specific operation of a program is the same as the address of the first microinstruction of the corresponding microprogram.

The advantages of microprogram control are that it provides for operational flexibility in a computer and for the possibility of changing the system of instructions and the composition of the computer’s operations according to the characteristics of the problems being solved and the computer’s operating conditions. In addition, various complicated operations may become relatively simple to program, with a substantial saving in computer time, and diagnostic microtests may be devised for very accurate determination of the location of a fault in a computer. The principal disadvantage, which restricts the extent of microprogram control, is the necessity of using high-speed memory devices of small capacity (several thousand words) whose access time is commensurate with the execution time of the elementary operations by the actuating components.

In third-generation computers, extensive use is also made of a control method in which a microprogram is produced by means of a system of devices, rather than in the form of instructions recorded in the computer’s memory; the high speed, the large capacity of the immediate-access memory, and the wide variety of software for these computers produce more efficient control than the microprogram control of second-generation computers.