Group2Chapt16 - Florida International University

advertisement
CHAPTER 16
MICROPROGRAMMED CONTROL
F O R :
D R . H . WAT S O N
B Y :
FRANCISCO VASQUEZ
SHINA AHMAD
CARLOS FERNANDEZ
NINGYUAN WANG
MIGUEL RONDON
CARLOS LAGUERRE
MICHAEL BOZA
FLORIDA INTERNATIONAL UNIVERSITY –ENGINEERING CENTER
SUMMER 2011
Chapter # 16:
Microprogrammed Control
Topics:

Basic Concepts





Microinstruction Sequencing





Design Considerations
Sequencing Techniques
Address Generation
LSI–11 Microinstruction Sequencing
Microinstruction Execution





Microinstructions
Microprogrammed Control Unit
Wilkes Control
Advantages and Disadvantage
A Taxonomy of Microinstructions
Microinstruction Encoding
LSI–11 Microinstruction Execution
IBM 3033 Microinstruction Execution
TI 8800



Microinstruction Format
Microsequencer
Registered ALU
2
Chapter # 16:
Microprogrammed Control
Registers diagram:
3
Chapter # 16:
Microprogrammed Control
Basic Elements of a Processor:





ALU
Registers
Internal data paths
External data paths
Control Unit
4
Chapter # 16:
Microprogrammed Control
Functions of Control Unit:


Sequencing
 Causes the CPU to step through a series of microoperations
Execution
 The Control Unit causes each micro-operation to be
performed (Using control signals)
5
Chapter # 16:
Microprogrammed Control
Data Paths and Control Signals:
6
Chapter # 16:
Microprogrammed Control
Types of Micro-operations:
 Transfer data between registers
 Transfer data from register to external (Memory,
I/O)
 Transfer data from external to register
 Perform arithmetic or logical operations
7
Chapter # 16:
Microprogrammed Control
Microprogrammed Control:
 A microprogram has a sequence of instructions in a
microprogramming
language.
 This are very simple instructions that specify
micro-operations.
8
Chapter # 16:
Microprogrammed Control
Microprogrammed Control:
 As in a hardwired control unit, the control signal
generated by a microinstruction are used to cause
register transfers and ALU operations .
 Use sequences of instructions to control complex
operations.
 Called micro-programming or Firmware.
9
Chapter # 16:
Microprogrammed Control
Microprogrammed Control:
 All the control unit does is generate a set of control
signals.
 Each control signal is on or off.
 Represent each control signal by a bit.
 Have a control word for each micro-operation.
 Have a sequence of control words for each
machine code instruction.
 Add an address to specify the next microinstruction, depending on conditions.
10
Chapter # 16:
Microprogrammed Control
Typical Microinstruction Formats:
11
Chapter # 16:
Microprogrammed Control
Organization of Control Memory:
12
Chapter # 16:
Microprogrammed Control
Control Unit:
13
Chapter # 16:
Microprogrammed Control
Functioning of Microprogrammed Control Unit:
14
Chapter # 16:
Microprogrammed Control
Processor block diagram example:
15
Chapter # 16:
Microprogrammed Control
Wilkes Control - Diode Matrix:
A diode memory is just a collection of diodes connected in a matrix.
16
Chapter # 16:
Microprogrammed Control
Wilkes’s Microprogrammed Control Unit:
17
Chapter # 16:
Microprogrammed Control
Wilkes Control – key points:



Developed by Maurice Wilkes in the early 1950s
Matrix partially filled with diodes
During cycle, one row is activated
 Generates signals where diode present
 First part of row generates control
 Second part generates address for next cycle
18
Chapter # 16:
Microprogrammed Control
Advantages and disadvantages:


Hardwired:
 It is difficult to design and test such piece of hardware.
 The design is relatively inflexible. For example to add a
new instruction.
 It is relatively faster.
Microprogrammed:
 Simplifies design of Control Unit
 Cheaper
 Less error-prone
 Slower
19
MICROINSTRUCTION
SEQUENCING
1- Design Considerations
2- Sequencing Techniques
3- Address Generation
4- LSI-11 Microinstruction Sequencing
Design Considerations
• Determined by Instruction Register
• Next sequential address
• Branch.
Sequencing Techniques
• Two address fields
• Single address field
• Variable format
Two Address Fields
Control address
register
Address
Decoder
Control
memory
Control
Flags
Branch
logic
Address
1
Address
2
Multiplexer
Address
Selection
Instruction
Register
Single Address Field
Variable Format
Address
Decoder
Control Memory
Control Buffer
Register
Branch
control
field
Flags
Entire Field
Gate
and
function
logic
Branch
logic
Address field
+1
Multiplexer
Address
Selection
Instruction
Register
Control
address
register
Description and Advantages
•
•
•
•
•
Introduced by M. V. Wilkes in 1951
Storage of Micro-Instruction
Sequences
Hardwire Vs Micro-Instruction
Advantages & Disadvantages
Hardwire Control
Microinstruction Address Generation
Techniques
Explicit
Implicit
Two-Field
Mapping
Unconditional branch
Addition
Conditional branch
Residual control
Explicit Memory Address Generation
• Address Location
• Two Field Approach
• Conditional Branch Instruction
Implicit Memory Address Generation
• Control Memory
• Mapping Approach
• Adding Approach
Ninyuan Wang
The basic event on a microprogrammed
processor.
 Two parts: fetch and execute.
 Fetch: determined by the generation of
a microinstruction address.


Execute
› The effect of the execution of a
microinstruction is to generate control signals.
› Some of these signals control points internal
to the processor.
› The remaining signals go to the external
control bus or other external interface.
› As an incidental function, the address of the
next microinstruction is determined.
Microinstructions can be classified in a
variety of ways. Distinctions that are
commonly made in the literature include
the following:
 Vertical/horizontal
 Packed/unpacked
 Hard/soft microprogramming
 Direct/indirect encoding
K different internal and external control
signals to be driven by the control units.
 In Wilkes’s scheme:

› K bits of the microinstruction would be
dedicated to this purpose.
› 2𝐾 possible combinations of control signals to
be generated during any instruction cycle.

Not all be used – can do better
› Two sources cannot be gated to same
destination.
› A register cannot be both source and
destination.
› Only one pattern of control signals can
be presented to ALU at a time.
› Only one pattern of control signals can
be presented to external control bus at a
time.

Require 𝑄 < 2𝐾 which can be encoded
with 𝑙𝑜𝑔2 𝑄 < 𝐾 bits.

In practice, this form of encoding is not
used, for two reasons:
› It is as difficult to program as pure decoded
(Wilkes) scheme.
› It is requires complex and therefore slow
control logic module.

Instead, some compromises are made.
These are of two kinds:
› More bits than necessary used to encode
the possible combination.
› Some combinations that are physically
allowable are not possible to encode.
In practice, microprogrammed control
units are not designed using a pure
unencoded or horizontal microinstruction
format.
 The basic technique for encoding is
illustrated in Figure 16.11a.

The microinstruction is organized as a set
of fields.
 Each field contains a code, which, upon
decoding, activates one or more control
signals.
 The design of an encoded
microinstruction format can now be
stated in simple terms:


Organize the format into independent
fields.
› Each 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
Machine Structure
Machine Structure cont.
Processor Detail
PSW
LSI-11
 First member of the PDP-11 family.
 Offered as a single board processor.
 Board consists of 3 LSI chips, internal
bus, and interfacing logic.
Q-Bus board LSI 11/2 CPU
Q bus
 The Q-bus was one of several bus technologies used
with PDP computer systems.
 Over time, the physical address range of the Q-bus was
expanded from 16 to 18 and then 22 bits. Block transfer
modes were also added to the Q-bus.
LSI-11 cont.
 The three LSI are the
data, control, and
control store chips.
Data Chip
 Data chip contains an 8 bit ALU, twenty six 8 bit
registers, and CCR storage.
 Registers include PSW, MAR and MBR.
 Sixteen of the twenty six 8 bit registers are used to
implement the eight 16 bit PDP-11 general purpose
registers.
 ALU needs 2 passes to implement the 16 bit
arithmetic.
Control store chip
 22 bit wide control memory.
 More than one control store chip could be used.
 Logic for sequencing and executing instructions are
stored in this chip.
 Registers include CAR, CDR, and a copy of the IR.
Men In Black?
 MIB
 Ties all components together.
 During fetch:
 Control chip generates 11 bit address.
 Control store chip uses this to produce a 22 bit
microinstruction.
 Low order 16 bits go to data chip, low order 18 bits to
the control chip and high order 4 bits to bus control
and processor board logic.
LSI-11 Microinstruction
 Vertical, 22 bit wide microinstruction format.
 High order 4 bits control special functions on
processor board.
 Translate bit enables the translation array to check for
interrupts.
 Load return register bit enables the next
microinstruction address to be loaded from the return
register.
 The remaining 16 bits are used for encoded micro
operations.
IBM 3033
 Memory consists of 4k words.
 Addresses 0000-07FF contain 108 bit
microinstructions.
 Addresses 0800-0FFF contain 126 bit
microinstructions.
 Horizontal format.
IBM 3033 cont
 ALU inputs are four dedicated registers. A, B, C, and D.
 These registers are non-user-visible.
 Microinstruction format contains fields to load these
registers from user visible registers.
 The ALU results are stored in user visible registers.
IBM 3033 MI Format
TI 8800 SDB
OBJECTIVE
The TI 8800 is a 32 bit
programmable
microprocessor chip
equipped with:
 Writeable control
store
 Implemented in RAM
rather than ROM
Usage consist of:
Educational
implementations
Useful in creating
multifunctional
prototypes
Etc….
WHY MICROPROGRAMMING
creating logic controls
through basic
interconnections are
difficult to:
 Analyze
 Design
 Modify
Solution:
Develop
microinstructions
to attain the
control settings
MICROINSTRUCTION
Def.
An instruction that
controls data flow and
instruction-execution
sequencing in a processor
Not visible or changeable
by a programmer
Only run on its
designated processor
Microcode differs from
one machine to the next
8800 MICROINSTRUCTION FORMAT
The format for the 8800 comprise of 128 bits
decoded into 30 functional fields.
The field are categorized in 5 groups:
Control of board
 8847 floating-point and integer processor
chip
8832 registered ALU
8818 microsequencer
WCS data field
TI 8800 SDB STRUCTURE
Main components
consist of:
Microcode memory
Microsequencer
 32-bit ALU
Floating-point and
integer processor
Local data memory
MICROSEQUENCER
The 8818 Microsequencer fetch next microinstruction
address then send it to the microcode memory from 5
different locations.
CONTROLLING THE MICROSEQUENCER
Controlled by a 12-bit
microinstruction
OSEL (1bit)
SELDR (1bit)
ZEROIN (1bit)
RC2-RC0 (3bits)
S2-S0 (3bits)
MUX2-MUX0 (varies)
Example:
Instruction is INC88181
= 000000111110
Decoded into
OSEL = 0
SELDR = 0
ZEROIN = 0
R = 000
S = 111
MUX = 11
8818 MICROSEQUENCER INSTRUCTIONS
SN74ACT8847 FLOATING-POINT AND
INTEGER PROCESSOR
FLOATING POINT AND INTEGER PROCESSOR
•
INCLUDED ARE FIELDS 7-16
•
THERE IS A TOTAL OF 32-BITS INVOLVED
SN74ACT8832 32-BIT REGISTERED ALU
32-BIT REGISTERED ALU
• INCLUDED ARE FIELDS 17-27
• CAN BE CONFIGURE TO WORK AS 4 -8BIT
ALU, 2-16BIT ALU, OR 1-32BIT ALU
• THERE IS A TOTAL OF 32-BITS INVOLVED
BUT WITH INPUTS AND SETTINGS OF THE
ALU THERE ARE 39 BITS
• FIELD 27 PROVIDES OPCODE OF OPERATION
TO BE PERFORMED BY ALU
WE WANT TO ADD CONTENTS OF REGISTER 1
TO CONTENTS OF REGISTER 2 AND PUT THE
RESULT ON REGISTER 3
CONT11 [17], WELH, SELRYFYMX, [24], R3,
R2, R1, PASS+ ADD
CONT11 [17], WELH, SELRYFYMX, [24], R3,
R2, R1, PASS+ ADD
•CONT11 [17]
Basic NOP instruction
•WELH
Field 17 changed to WELH (Write Enable Lo and Hi)
•SELRYFYMX
Field 18 changed to SELRYFYMX (select feedback
from ALU Y MUX output)
•R3
Field 24 changed to designate R3 as destination register
•R2
Field 25 changed to designate R2 as a source register
•R1
Field 26 changed to designate R1 as a source register
•PASS+ ADD
Field 27 changed to specify ALU to ADD. PASS to denote
ALU not to shift.
• NOT NECESSARY TO DENOTE FIELDS WHEN
CONSECUTIVE FIELDS ARE USED
• GROUP 1 MUST BE USED ALONGSIDE WITH GROUP; AT
NO TIME SHOULD GROUP BE USED WITH GROUPS 3-5
• GROUP 1 AND 2 ARE FOR ARITHMETIC FUNCTIONS
• GROUP 3-5 ARE FOR LOGICAL FUNCTIONS
•
WSC DATA FIELD
QUESTIONS
NAME AN INPUT TO THE CONTROL UNIT
WHAT PICKS UP THE NEXT INSTRUCTION
FROM THE CONTROL STORE AND SENDS
IT TO MICROMEMORY
QUESTIONS
NAME AN INPUT TO THE CONTROL UNIT
CLOCK, ALU FLAGS, IR, CAR
WHAT PICKS UP THE NEXT INSTRUCTION
FROM THE CONTROL STORE AND SENDS
IT TO MICROMEMORY
QUESTIONS
NAME AN INPUT TO THE CONTROL UNIT
CLOCK, ALU FLAGS, IR, CAR
WHAT PICKS UP THE NEXT INSTRUCTION
FROM THE CONTROL STORE AND SENDS
IT TO MICROMEMORY
MICROSEQUENCER 8818
MORE QUESTIONS
HOW MANY BITS IS THE MICROINSTRUCTION
FORMAT FOR THE TI8800 PROCESSOR
WHAT ARE THE TWO MAIN FUNCTIONS OF THE CONTROL
UNIT
WHAT IS THE FORMAT OF THE LSI-11 MICROINSTRUCTION
MORE QUESTIONS
HOW MANY BITS IS THE MICROINSTRUCTION
FORMAT FOR THE TI8800 PROCESSOR
128 BITS
WHAT ARE THE TWO MAIN FUNCTIONS OF THE CONTROL
UNIT
WHAT IS THE FORMAT OF THE LSI-11 MICROINSTRUCTION
MORE QUESTIONS
HOW MANY BITS IS THE MICROINSTRUCTION
FORMAT FOR THE TI8800 PROCESSOR
128 BITS
WHAT ARE THE TWO MAIN FUNCTIONS OF THE CONTROL
UNIT
SEQUENCING AND EXECUTING
WHAT IS THE FORMAT OF THE LSI-11 MICROINSTRUCTION
MORE QUESTIONS
HOW MANY BITS IS THE MICROINSTRUCTION
FORMAT FOR THE TI8800 PROCESSOR
128 BITS
WHAT ARE THE TWO MAIN FUNCTIONS OF THE CONTROL
UNIT
SEQUENCING AND EXECUTING
WHAT IS THE FORMAT OF THE LSI-11 MICROINSTRUCTION
VERTICAL FORMAT
EVEN MORE QUESTIONS
WHAT IS THE DIFFERENCE BETWEEN VERTICAL AND HORIZONTAL
MICROINSTRUCTION
NAME AN ADVANTAGE AND DISADVANTAGE TO USE A MICROCONTROLLED
CONTROL UNIT
EVEN MORE QUESTIONS
WHAT IS THE DIFFERENCE BETWEEN VERTICAL AND HORIZONTAL
MICROINSTRUCTION
VERTICAL ENCODED- EASIER TO PROGRAM
HORIZONTAL DETAILED-FASTER DUE TO LESS ENCODING
NAME AN ADVANTAGE AND DISADVANTAGE TO USE A MICROCONTROLLED
CONTROL UNIT
EVEN MORE QUESTIONS
WHAT IS THE DIFFERENCE BETWEEN VERTICAL AND HORIZONTAL
MICROINSTRUCTION
VERTICAL ENCODED- EASIER TO PROGRAM
HORIZONTAL DETAILED-FASTER DUE TO LESS ENCODING
NAME AN ADVANTAGE AND DISADVANTAGE TO USE A MICROCONTROLLED
CONTROL UNIT
ADVANTAGE-FLEXIBILITY, CHEAPER, SIMPLER DESIGN, LESS ERROR PRONE
DISADVATAGES-SLOWER
Download