Chapter 20 - Microprogrammed Control (9 Edition) : Luis Tarrataca
Chapter 20 - Microprogrammed Control (9 Edition) : Luis Tarrataca
Luis Tarrataca
[email protected]
CEFET-RJ
1 Motivation
2 Basic Concepts
Microinstructions
µ-Instruction sequencing
Two address fields
Variable Format
µ-Instruction Execution
Motivation
• An hardwired version:
• Complete boolean circuit;
Microinstructions
• This state can be represented by a binary digit for each control line.
• Condition field indicating the condition under which there should be a branch (JMP);
• Field with the address of the µ-instruction to be executed next when a branch is taken.
• Control memory:
• Containing the set of µ-instructions;
• Remember MAR?
• Remember MBR?
• Sequencing logic:
• Loads CAR and issues a read command.
In greater detail:
• Based on the next-address information from the CBR and the ALU flags.
• Remember?
• MAR • Fetch cycle
• PC • Interrupt cycle
• But now are doing it in a ‘‘smaller’’ scale within the control unit:
• Instead of a system-wide: processor, bus, ram...
µ-Instruction sequencing
• µ-instruction sequencing:
• Get next µ-instruction from the control memory.
• µ-instruction execution:
• Generate control signals needed to execute the µ-instruction.
• Branch (JMP).
• Current µ-instruction;
• Condition flags;
• Variable format
Figure: Branch Control Logic: Two Address Fields (Source: [Stallings, 2015])
Luis Tarrataca Chapter 20 - Microprogrammed Control 23 / 47
Basic Concepts µ-Instruction sequencing
Luis Tarrataca
Figure: Branch Control Logic: Chapter
Single Address 20 (Source:
Field - Microprogrammed Control
[Stallings, 2015]) 25 / 47
Basic Concepts µ-Instruction sequencing
• Address field;
• IR code;
However:
Often, the address field will not be used... Can we do better? Any ideas?
Variable Format
• Format 2: some bits drive the branch logic, remaining provide address:
• Either a conditional or unconditional branch is being specified.
µ-Instruction Execution
• µ-instruction sequencing:
• Get next microinstruction from the control memory.
• µ-instruction execution:
• Generate control signals needed to execute the µ-instruction.
Remember this?
• K control signals:
• Can be controlled using K lines, allowing for 2k possibilities;
Advantages / Disadvantages:
• Unencoded format:
• Advantage:
• Little or no decode logic is needed;
• Each bit generates a particular control signal.
• Disadvantage:
• Requires more bits than necessary.
• Encoded format:
• Advantage:
• Requires less bits.
• Disadvantage:
• Requires complex logic to encode / decode resulting in loss of performance.
Example (1/5)
Example (2/5)
Example (3/5)
Example (4/5)
* CSAR = channel system address register, special register for controlling bus
lines that exists in some processors.
Example (5/5)
Your focus should always be on the building blocks for developing a solution
=)
References I
Stallings, W. (2015).
Pearson Education.