- Control unit
-
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.)
Contents
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 architecture. In modern computer designs, the control unit is typically an internal part of the CPU 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 machine.
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.[vague]
A few examples of devices that require a control unit are CPUs and GPUs. The modern information age would not be possible without complex control unit designs.[vague]
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
Main article: Hardwired controlAt 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 gates, flip-flops, encoder circuits, decoder circuits, digital counters and other digital circuits. 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 computers (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.
Microprogram Control Unit
Main article: MicrocodeThe idea of microprogramming was introduced by Maurice Wilkes in 1951 as an intermediate level to execute computer program instructions (see also: microcode). 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.[1] 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.[2]
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 computer (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.[citation needed]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.
See also
Computer design
Automotive design
References
- ^ Barkalov, Alexander (2009). Logic synthesis for FSM based control units / Alexander Barkalov and Larysa Titarenko. Berlin: Springer. ISBN 978-3-642-04308-6.
- ^ Wiśniewski, Remigiusz (2009). Synthesis of compositional microprogram control units for programmable devices. Zielona Góra: University of Zielona Góra. pp. 153. ISBN 978-83-7481-293-1.
CPU technologies Architecture Parallelism PipelineLevelThreadsTypes Components Arithmetic logic unit (ALU) · Barrel shifter · Floating-point unit (FPU) · Back-side bus · Multiplexer · Demultiplexer · Registers · Memory management unit (MMU) · Translation lookaside buffer (TLB) · Cache · Register file · Microcode · Control unit · Clock ratePower management Categories:- Computing terminology
- Digital electronics
Wikimedia Foundation. 2010.