Control unit
Encyclopedia
A control unit in general is a central (or sometimes distributed but clearly distinguishable) part of the machinery that controls its operation, provided that a piece of machinery is complex and organized enough to contain any such unit. One domain in which the term is specifically used is the area of computer design. In the automotive industry
, the control unit helps maintain various functions of the motor vehicle
.
The rest of this article describes control unit in terms of computer design. There is no further article on other uses under this lemma as yet. (Disambiguation and/or integration of this article in Computer
with respective linkage—and retention/creation of a more broad-sense article—may be appropriate.)
It directs the operation of the other units by providing timing and control signals.
. In modern computer designs, the control unit is typically an internal part of the CPU
with its overall role and operation unchanged.
.
The control unit is the circuitry that controls the flow of data through the processor, and coordinates the activities of the other units within it. In a way, it is the "brain within the brain", as it controls what happens inside the processor, which in turn controls the rest of the computer.
A few examples of devices that require a control unit are CPUs and GPU
s. The modern information age would not be possible without complex control unit designs.
The control unit receives external instructions or commands which it converts into a sequence of control signals that the control unit applies to data path to implement a sequence of register-transfer level operations.
It is constructed of logic gate
s, flip-flop
s, encoder
circuits, decoder
circuits, digital counters and other digital circuit
s.
Their control is based on fixed architecture i.e. it requires changes in the wiring if the instruction set
is modified or changed.
This architecture is preferred in reduced instruction set computer
s (RISC) as it consists of a lesser instruction set.
Hardwired control units are implemented through use of sequential logic
units, featuring a finite number of gates that can act as a generator of specific results, based on the instructions that were used to invoke those responses. These instructions are apparent in the design of the architecture, but can also be represented in other ways.
). Microprograms were organized as a sequence of microinstructions and stored in special control memory. The algorithm for the microprogram control unit is usually specified by flowchart
description. The main advantage of the microprogram control unit is the simplicity of its structure. Outputs of the controller are organized in microinstructions and they can be easily replaced.
(CISC) processor that executes x86 instructions natively the control unit performs the tasks of fetching, decoding, managing execution and then storing results. On a x86 processor with a RISC core, the control unit has significantly more work to do. It manages the translation of x86 instructions to RISC micro-instructions, manages scheduling the micro-instructions between the various execution units, and juggles the output from these units to make sure they end up where they are supposed to go. On one of these processors the control unit may be broken into other units (such as a scheduling unit to handle scheduling and a retirement unit to deal with results coming from the pipeline) due to the complexity of the job it must perform.
Automotive industry
The automotive industry designs, develops, manufactures, markets, and sells motor vehicles, and is one of the world's most important economic sectors by revenue....
, the control unit helps maintain various functions of the motor vehicle
Motor vehicle
A motor vehicle or road vehicle is a self-propelled wheeled vehicle that does not operate on rails, such as trains or trolleys. The vehicle propulsion is provided by an engine or motor, usually by an internal combustion engine, or an electric motor, or some combination of the two, such as hybrid...
.
The rest of this article describes control unit in terms of computer design. There is no further article on other uses under this lemma as yet. (Disambiguation and/or integration of this article in Computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...
with respective linkage—and retention/creation of a more broad-sense article—may be appropriate.)
Definition
The control unit coordinates the input and output devices of a computer system. It fetches the code of all of the instructions in the microprograms.It directs the operation of the other units by providing timing and control signals.
Application in Computer Design
In computers, the control unit was historically defined as one distinct part of the 1946 reference model of Von Neumann architectureVon Neumann architecture
The term Von Neumann architecture, aka the Von Neumann model, derives from a computer architecture proposal by the mathematician and early computer scientist John von Neumann and others, dated June 30, 1945, entitled First Draft of a Report on the EDVAC...
. In modern computer designs, the control unit is typically an internal part of the CPU
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...
with its overall role and operation unchanged.
General operation
The outputs of the control unit control the activity of the rest of the device. A control unit can be thought of as a finite state machineFinite state machine
A finite-state machine or finite-state automaton , or simply a state machine, is a mathematical model used to design computer programs and digital logic circuits. It is conceived as an abstract machine that can be in one of a finite number of states...
.
The control unit is the circuitry that controls the flow of data through the processor, and coordinates the activities of the other units within it. In a way, it is the "brain within the brain", as it controls what happens inside the processor, which in turn controls the rest of the computer.
A few examples of devices that require a control unit are CPUs and GPU
Graphics processing unit
A graphics processing unit or GPU is a specialized circuit designed to rapidly manipulate and alter memory in such a way so as to accelerate the building of images in a frame buffer intended for output to a display...
s. The modern information age would not be possible without complex control unit designs.
The control unit receives external instructions or commands which it converts into a sequence of control signals that the control unit applies to data path to implement a sequence of register-transfer level operations.
Hardwired Control
At one time, control units for CPUs were ad-hoc logic, and they were difficult to design. These can be identified as the main part of the computer and the main device that helps the computer to function in an appropriate manner.It is constructed of logic gate
Logic gate
A logic gate is an idealized or physical device implementing a Boolean function, that is, it performs a logical operation on one or more logic inputs and produces a single logic output. Depending on the context, the term may refer to an ideal logic gate, one that has for instance zero rise time and...
s, flip-flop
Flip-flop (electronics)
In electronics, a flip-flop or latch is a circuit that has two stable states and can be used to store state information. The circuit can be made to change state by signals applied to one or more control inputs and will have one or two outputs. It is the basic storage element in sequential logic...
s, encoder
Priority encoder
A priority encoder is a circuit or algorithm that compresses multiple binary inputs into a smaller number of outputs. The output of a priority encoder is the binary representation of the ordinal number starting from zero of the most significant input bit...
circuits, decoder
Decoder
A decoder is a device which does the reverse operation of an encoder, undoing the encoding so that the original information can be retrieved. The same method used to encode is usually just reversed in order to decode...
circuits, digital counters and other digital circuit
Digital circuit
Digital electronics represent signals by discrete bands of analog levels, rather than by a continuous range. All levels within a band represent the same signal state...
s.
Their control is based on fixed architecture i.e. it requires changes in the wiring if the instruction set
Instruction set
An instruction set, or instruction set architecture , is the part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O...
is modified or changed.
This architecture is preferred in reduced instruction set computer
Reduced instruction set computer
Reduced instruction set computing, or RISC , is a CPU design strategy based on the insight that simplified instructions can provide higher performance if this simplicity enables much faster execution of each instruction. A computer based on this strategy is a reduced instruction set computer...
s (RISC) as it consists of a lesser instruction set.
Hardwired control units are implemented through use of sequential logic
Sequential logic
In digital circuit theory, sequential logic is a type of logic circuit whose output depends not only on the present input but also on the history of the input. This is in contrast to combinational logic, whose output is a function of, and only of, the present input...
units, featuring a finite number of gates that can act as a generator of specific results, based on the instructions that were used to invoke those responses. These instructions are apparent in the design of the architecture, but can also be represented in other ways.
Microprogram Control Unit
The idea of microprogramming was introduced by Maurice Wilkes in 1951 as an intermediate level to execute computer program instructions (see also: microcodeMicrocode
Microcode is a layer of hardware-level instructions and/or data structures involved in the implementation of higher level machine code instructions in many computers and other processors; it resides in special high-speed memory and translates machine instructions into sequences of detailed...
). Microprograms were organized as a sequence of microinstructions and stored in special control memory. The algorithm for the microprogram control unit is usually specified by flowchart
Flowchart
A flowchart is a type of diagram that represents an algorithm or process, showing the steps as boxes of various kinds, and their order by connecting these with arrows. This diagrammatic representation can give a step-by-step solution to a given problem. Process operations are represented in these...
description. The main advantage of the microprogram control unit is the simplicity of its structure. Outputs of the controller are organized in microinstructions and they can be easily replaced.
Functions of the Control Unit
The functions performed by the control unit vary greatly by the internal architecture of the CPU, since the control unit really implements this architecture. On a complex instruction set computerComplex instruction set computer
A complex instruction set computer , is a computer where single instructions can execute several low-level operations and/or are capable of multi-step operations or addressing modes within single instructions...
(CISC) processor that executes x86 instructions natively the control unit performs the tasks of fetching, decoding, managing execution and then storing results. On a x86 processor with a RISC core, the control unit has significantly more work to do. It manages the translation of x86 instructions to RISC micro-instructions, manages scheduling the micro-instructions between the various execution units, and juggles the output from these units to make sure they end up where they are supposed to go. On one of these processors the control unit may be broken into other units (such as a scheduling unit to handle scheduling and a retirement unit to deal with results coming from the pipeline) due to the complexity of the job it must perform.