World Library  
Flag as Inappropriate
Email this Article

Control unit

Article Id: WHEBN0000006557
Reproduction Date:

Title: Control unit  
Author: World Heritage Encyclopedia
Language: English
Subject: Arithmetic logic unit, Microcode, Control store, Execution unit, Microsequencer
Collection: Central Processing Unit, Digital Electronics
Publisher: World Heritage Encyclopedia

Control unit

The control unit is a component of a computer's central processing unit (CPU) that directs operation of the processor. It tells the computer's memory, arithmetic/logic unit and input and output devices how to respond to a program's instructions.[1]

It directs the operation of the other units by providing timing and control signals. All computer resources are managed by the CU (Control Unit). It directs the flow of data between the Central Processing Unit (CPU) and the other devices. John von Neumann included the control unit as part of the von Neumann architecture.[2] In modern computer designs, the control unit is typically an internal part of the CPU with its overall role and operation unchanged.


  • Functions of the Control Unit 1
  • Hardwired control unit 2
  • Microprogram control unit 3
  • See also 4
  • References 5

Functions of the Control Unit

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. The examples of devices that require a Control Unit are CPUs and graphics processing units (GPUs). The Control Unit receives external instructions or commands which it converts into a sequence of control signals that the Control Unit applies to the data path to implement a sequence of register-transfer level operations.[3]

The Control Unit (CU) is generally a sizable collection of complex digital circuitry interconnecting and controlling the many execution units contained within a CPU. The CU is normally the first CPU unit to accept from an externally stored computer program, a single instruction, based on the CPU’s instruction set, then decode this individual instruction into several sequential steps (fetching addresses/data from registers/memory, managing execution [i.e. data sent to the ALU or I/O], and storing the resulting data back into registers/memory) that controls and coordinates the CPU’s interworks. These detailed steps from the CU dictate which of the numerous CPU’s interconnecting hardware control signals to enable/disable or which CPU units are selected/de-selected and the unit’s proper order of execution as required by the instruction’s operation. Additionally, the CU’s orderly hardware coordination properly sequences these control signals then configures the many hardware units comprising the CPU, directing how data should also be moved, changed, and stored outside the CPU (i.e. memory) according to the instruction’s objective. Depending on the type of instruction entering the CU, the order and number of sequential steps produced by the CU could vary the selection and configuration of which parts of the CPU’s hardware are utilized to achieve the instruction's objective (mainly moving, storing, and modifying data within the CPU). This one feature, that efficiently uses just software instructions to control/select/configure a computer’s CPU hardware (via the CU) and eventually manipulates a program’s data, is a significant reason most modern computers are flexible and universal when running various programs. As compared to some 1930s or 1940s computers without a proper CU, they often required rewiring their hardware when changing programs. This CU instruction decode process is then repeated when the Program Counter is incremented to the next stored program address and the new instruction enters the CU from that address, and so on till the programs end.

Other more advanced forms of Control Units manage the translation of instructions (but not the data containing portion) into several micro-instructions and the CU manages the scheduling of the micro-instructions between the selected execution units to which the data is then channeled and changed according to the execution unit’s function (i.e., ALU contains several functions). On some processors, the Control Unit may be further broken down into additional units, such as an instruction unit or scheduling unit to handle scheduling, or a retirement unit to deal with results coming from the instruction pipeline. Again, the Control Unit orchestrates the main functions of the CPU: carrying out stored instructions in the software program then directing the flow of data throughout the computer based upon these instructions (roughly likened to how traffic lights will systematically control the flow of cars [containing data] to different locations within the traffic grid [CPU] until it parks at the desired parking spot [memory address/register]. The car occupants [data] then go into the building [execution unit] and comes back changed in some way then get back into the car and returns to another location via the controlled traffic grid).

Hardwired control unit

Hardwired control units are implemented through use of sequential logic units, featuring a finite number of gates that can generate specific results based on the instructions that were used to invoke those responses. Hardwired control units are generally faster than microprogrammed designs.

Their design uses a fixed architecture—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 they use a simpler instruction set.

A controller that uses this approach can operate at high speed; however, it has little flexibility, and the complexity of the instruction set it can implement is limited.

The hardwired approach has become less popular as computers have evolved. Previously, control units for CPUs used ad-hoc logic, and they were difficult to design.

Microprogram control unit

The idea of microprogramming was introduced by

  1. ^ Patterson, David; Hennessy, John (2012). Computer Organization and Design: The Hardware/Software Interface, 4th ed., revised. Morgan Kaufmann.  
  2. ^ von Neumann, John (1945), First Draft of a Report on the EDVAC, Moore School of Electrical Engineering, University of Pennsylvania 
  3. ^ Englander, Irv (2009). The Architecture of Computer Hardware, Systems Software, & Networking, 4th Ed. Hoboken, NJ: John Wiley & Sons, Inc. p. 200.  
  4. ^ Barkalov, Alexander (2009). Logic synthesis for FSM based control units / Alexander Barkalov and Larysa Titarenko. Berlin: Springer.  
  5. ^ Wiśniewski, Remigiusz (2009). Synthesis of compositional microprogram control units for programmable devices. Zielona Góra: University of Zielona Góra. p. 153.  


See also


This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from World eBook Library are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.