Micro-Program Control

Download Report

Transcript Micro-Program Control

Microprogrammed Control
Group II Presentation
Presented by:
Baksh, Zerar
Brunings, Alberto
Fortin, Jose Enrique
Rodriguez, Yosvany
Li, Jiewen
Sanchez, Michel
July 01, 2010
Introduction
• The control unit can be implemented by
hardware or software
• M.V. Wilkes proposed to program the control
unit with software rather than hardware
Control Unit Design
Must include logic:
• For sequencing through micro operations
• For executing micro operations
• For interpreting opcodes
• For making decisions based on ALU flags
Control Unit Design
Control Unit Organization
Microinstruction Formats
Wilkes Control
• Wilkes first proposed the use of micro
programmed control unit in 1951
• Matrix partially filled with diodes
• During cycle, one row activated
▫ Generates signals where diode present
▫ First part of row generates control
▫ Second generates address for next cycle
Wilkes's Microprogrammed Control Unit
The processor of the hypothetical
machine includes
• A)Multiplicand
• B)Accumulator(least significant half)
• C)Accumulator(most significant half)
• D)Shift Register
In addition, there are thee registers and two 1-bit
flags accessible only to the control unit, they are:
• E)Serves as both MAR and temporary storage
• F)Program Counter
• G)Another temporary register, used for
counting.
Advantages and Disadvantages of
Microprogramming
• Simplifies design of control unit
▫ Cheaper
▫ Less error-prone
• Slower than a hardwired unit of comparable
technology
Microinstruction Sequencing
• The two basic tasks performed by a
microprogrammed control unit are:
▫ Microinstruction sequencing
▫ Microinstruction execution
• The microinstruction sequencing gets the next
microinstruction from the control memory and
the microinstruction execution generates the
control signal needed to execute the
microinstruction.
Design Considerations
• Both previous mentioned tasks have to be
considered in designing a control unit. Concerns
such as minimizing the size of the control
memory and fast executions of
microinstructions have to be taken in
consideration as well.
Design Considerations
• In executing a microprogram the address of the
next microinstruction to be executed is in one of
these categories:
▫ Determined by instruction register
▫ Next sequential address( most common in most
designs)
▫ Branch
Sequencing Techniques
• Based on the current microinstruction,
condition flags, and the contents of the IR, a
control memory address must be generated for
the next microinstruction which can be
accomplished by using different techniques such
as:
▫ Two address field
▫ Single address field
▫ Variable format
Fig 2. Single Address Field
Fig 3. Variable Field.
Sequencing Techniques
• The simplest approach is the two-address
approach although it requires more bits in the
microinstruction.
Address Generation
• There are other ways in which the next address can be
derived or computed. The following are different address
generation techniques. They’re divided into different
techniques in which the address can be available in the
microinstruction.
• Explicit
▫ Two Field
▫ Unconditional branch
▫ Conditional branch
• Implicit
▫ Mapping
▫ Addition
▫ Residual control
Address Generation
• Using either a single address field or a variable
format, different branch instructions can be
implemented. For example, a conditional
branch depends on
▫ ALU flags
▫ Parts of a selected register such as the sign bit
▫ Status bits inside the control unit
LSI-11 Microinstruction Sequencing
• The LSI-11 is a microcomputer version of a PDP11, with its main components of the system all on
the same board. Its implemented using a microprogrammed control unit known as the SEBE76,
and takes use of a 22-bit microinstruction and
control memory of 2K 22-bit words.
LSI-11 Microinstruction Sequencing
• The LSI-11 is determined in 5 Ways
▫
▫
▫
▫
▫
Next sequential address
Opcode Mapping
Subroutine facility
Interrupt testing
Branch
Microinstruction Execution
• The cycle is the basic event on a
microprogrammed processor
• Each cycle made up of two parts:
▫ Fetch
 Determined by the generation of a microinstruction
address
▫ Execute
Execution
• Effect is to generate control signals
• Some signals control points internal to processor
• Rest go to external control bus or other external
interface
• The address of the next microinstruction is
determined as an incidental function
Control Unit Organization
A Taxonomy of Microinstructions
• Vertical / Horizontal
▫ Vertical: range of 16 to 40 bits
▫ Horizontal: range of 40 to 100 bits
• Packed / unpacked
▫ Relates to the degree of identification between a
given control task and specific microinstruction
bits
• Hard / soft microprogramming
• Direct / indirect encoding
Improvements Over Wilkes
• Each bit directly produced a control signal or
directly produced one bit of the next addressing
• Possible using fewer microinstruction bits for
more complex sequencing schemes
• The schemes require a more complex sequencing
logic module
• Control word bits can be saved by encoding
control information and subsequently decoding
it to produce control signals
How to Encode
• K different internal and external control signals
• Wilkes’s:
▫ K bits dedicated
▫ 2K control signals during any instruction cycle
• Not all used
▫
▫
▫
▫
Two sources cannot be gated to same destination
Register cannot be source and destination
Only one pattern presented to ALU at a time
Only one pattern presented to external control bus at a time
• Require Q < 2K which can be encoded with log2Q < K bits
• Not done
▫ As difficult to program as pure decoded (Wilkes) scheme
▫ Requires complex slow control logic module
• Compromises
▫ More bits than necessary used
▫ Some combinations that are physically allowable are not possible to encode
Specific Encoding Techniques
•
•
•
•
Microinstruction organized as set of fields
Each field contains code
Activates one or more control signals
Organize format into independent fields
▫ Field depicts set of actions (pattern of control signals)
▫ Actions from different fields can occur simultaneously
• Alternative actions that can be specified by a field
are mutually exclusive
▫ Only one action specified for field could occur at a time
Microinstruction Encoding
Direct Encoding
Microinstruction Encoding
Indirect Encoding
Questions
• In what the two formats can a microinstruction be
implemented?
• What are the two ways to implement the control
unit?
• What are the basic two tasks performed by the
microprogrammed control unit?
• What are some of the sequencing techniques?
• What are two of the main address generation
techniques?
• Each cycle is made up with which two parts?
• Encoding techniques?