Podcast
Questions and Answers
What are the two main types of control unit implementations?
What are the two main types of control unit implementations?
Hardwired and Microprogrammed
What does "CAR" stand for?
What does "CAR" stand for?
Control Address Register
What is a control signal?
What is a control signal?
A group of bits used to select paths in multiplexers, decoders, and arithmetic logic units.
What is a control variable?
What is a control variable?
Signup and view all the answers
What is a control word?
What is a control word?
Signup and view all the answers
What is a microinstruction?
What is a microinstruction?
Signup and view all the answers
What is a microprogram?
What is a microprogram?
Signup and view all the answers
Which of these options best describes the purpose of control memory?
Which of these options best describes the purpose of control memory?
Signup and view all the answers
Microprogrammed control units are faster than hardwired control units.
Microprogrammed control units are faster than hardwired control units.
Signup and view all the answers
What is a microprogram routine?
What is a microprogram routine?
Signup and view all the answers
What is the process called by which an instruction code is transformed into an address in control memory where the routine is located?
What is the process called by which an instruction code is transformed into an address in control memory where the routine is located?
Signup and view all the answers
What is a subroutine?
What is a subroutine?
Signup and view all the answers
What are the main types of microprogram sequencer functions?
What are the main types of microprogram sequencer functions?
Signup and view all the answers
What is conditional branching?
What is conditional branching?
Signup and view all the answers
What are status bits?
What are status bits?
Signup and view all the answers
An unconditional branch always jumps to the next instruction in the microprogram.
An unconditional branch always jumps to the next instruction in the microprogram.
Signup and view all the answers
What is the purpose of mapping in microprogramming?
What is the purpose of mapping in microprogramming?
Signup and view all the answers
Study Notes
Computer Organization (COME321) - Fall 2024
- Course taught by Dr. Eng. Ghada Abozaid
- Course offered by the Electrical Engineering Department
- Course offered during Fall 2024
Chapter 7: Microprogrammed Control
- Examines Control Unit Implementation
- Two primary methods discussed are: Hardwired and Microprogrammed
Hardwired Control Unit Implementation
- Uses combinational logic circuits to generate control signals directly from the instruction code and the sequence counter
- Complex circuitry
- Provides faster execution times
Microprogrammed Control Unit Implementation
- Uses a separate memory (control memory) to store microinstructions, which are sequences of control signals
- Easier to design, modify, and debug
- Control memory stores microinstructions
- Microinstructions are used to execute microoperations
- Control data register (CDR) or pipeline register holds the microinstruction read from control memory
- Enables executing microoperations while generating the next microinstruction
Microprogrammed Control Unit
- Control Signals: Group of bits to select paths in multiplexers, decoders and arithmetic logic units
- Control Variables (Binary Variables): Specify microoperations; certain microoperations initiate while others are idle
- Control Word (string of 1's and 0's): Represents control variables
Control Memory
- Read-only memory (ROM)
- Stores microinstructions (control words)
- Each instruction in the computer initiates a sequence of microinstructions from the associated microprogram in control memory
- Microinstructions in control memory generate microoperations to complete the computer instruction (Fetch, evaluate effective address, execute, return control)
Microprogrammed Control Organization
- Control memory: Contains microprograms (sets of microinstructions) - Microinstruction contains bits that initiate microoperations and determine the address sequence for control memory
- Control Address Register (CAR): Specifies the address of the microinstruction
- Next address generator (microprogram sequencer): Determines address sequence for control memory
- Typical Microprogram sequencer functions include incrementing the CAR (by one), loading the address from the control memory to the CAR and Loading the initial address into the CAR to begin control operations
- Control data register (CDR): Holds microinstruction
- Allows execution of microoperations specified by the control word simultaneously with generating the next microinstruction
Microprogram Routines
- Routine: Group of microinstructions stored in control memory
- Each computer instruction has its own microprogram routine to generate microoperations
- Routine to determine effective address: (Conditional or branch on status bit)
- Microoperations that execute the retrieved instruction
- Mapping: Transformation of instruction code bits to control memory address of the routine
Address Sequencing
- Address sequencing capabilities in control memory are required
- Incrementing the CAR
- Unconditional or conditional branching, influenced by status bit conditions
- Mapping from instruction bits to control memory address
- Facilities for subroutine calls and returns
Conditional Branching
- Status bits (carry-out of adder, sign bit of number, mode bits of instruction)
- Decisions based on status bit conditions
- Actions initiated based on conditions (1 or 0)
- Unconditional branches (set status bit)
Mapping of Instructions
- Each computer instruction has its own microprogram; stored in a specific location in control memory
- Transformation from instruction code bits to the address in control memory where the routine is located is called mapping
Microprogram Example
- Computer instruction format
- Four computer instructions (ADD, BRANCH, STORE, EXCHANGE) explained
- Microinstruction format (F1, F2, and F3 fields explained with descriptions)
Microinstruction Fields (F1, F2, F3)
- Describes various microoperations within their fields, such as adding, subtracting, reading, storing, shifting, and branching.
Microinstruction Fields (CD, BR, AD)
- CD (Condition): Defines conditions for branching, including "Always," "Indirect Address (bit)," "Sign of AC," "Zero value in AC"
- BR (Branch): Defines the set of branches like JMP, CALL, RET or MAP
- AD (Address): Address field
Symbolic Microinstruction
- Sample format for symbolic representation
- The role of labels, micro-ops, CD, BR, AD explained
Fetch Routine
- Includes reading an instruction from memory, decoding, and updating the program counter.
- Symbolic Microprogram examples and the binary format for fetch routine.
Design of Control Unit
- A visual representation of the control unit's architecture and its components
Microprogram Sequencer
- A detailed visual representation of the microprogram sequencer including external input(s), multiplexers, incrementer, control memory and the relationship between them
Input Logic for Microprogram Sequencer
- Detailed logic and functions for different input fields and combinations
- Different conditions that affect address lookup(e.g., subroutine call, return logic)
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Test your knowledge on Chapter 7: Microprogrammed Control in Computer Organization (COME321). This quiz covers the implementation of both hardwired and microprogrammed control units, their characteristics, and related concepts. Enhance your understanding of control unit designs and their operational efficiencies.