CHAPTER 16
This presentation is the property of its rightful owner.
Sponsored Links
1 / 92

CHAPTER 16 MICROPROGRAMMED CONTROL PowerPoint PPT Presentation


  • 89 Views
  • Uploaded on
  • Presentation posted in: General

CHAPTER 16 MICROPROGRAMMED CONTROL. FOR : DR. H. WATSON. BY: 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:.

Download Presentation

CHAPTER 16 MICROPROGRAMMED CONTROL

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Chapter 16 microprogrammed control

CHAPTER 16

MICROPROGRAMMED CONTROL

FOR:

DR. H. WATSON

BY:

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

Chapter # 16:Microprogrammed Control

Topics:

  • Basic Concepts

    • Microinstructions

    • Microprogrammed Control Unit

    • Wilkes Control

    • Advantages and Disadvantage

  • Microinstruction Sequencing

    • Design Considerations

    • Sequencing Techniques

    • Address Generation

    • LSI–11 Microinstruction Sequencing

  • Microinstruction Execution

    • A Taxonomy of Microinstructions

    • Microinstruction Encoding

    • LSI–11 Microinstruction Execution

    • IBM 3033 Microinstruction Execution

  • TI 8800

    • Microinstruction Format

    • Microsequencer

    • Registered ALU


Chapter 16 microprogrammed control1

Chapter # 16:Microprogrammed Control

Registers diagram:


Chapter 16 microprogrammed control2

Chapter # 16:Microprogrammed Control

Basic Elements of a Processor:

  • ALU

  • Registers

  • Internal data paths

  • External data paths

  • Control Unit


Chapter 16 microprogrammed control3

Chapter # 16:Microprogrammed Control

Functions of Control Unit:

  • Sequencing

    • Causes the CPU to step through a series of micro-operations

  • Execution

    • The Control Unit causes each micro-operation to be performed (Using control signals)


Chapter 16 microprogrammed control4

Chapter # 16:Microprogrammed Control

Data Paths and Control Signals:


Chapter 16 microprogrammed control5

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

  • Performarithmetic or logical operations


Chapter 16 microprogrammed control6

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.


Chapter 16 microprogrammed control7

Chapter # 16:Microprogrammed Control

Microprogrammed Control:

  • As in a hardwired control unit, the control signal generated by a microinstruction are used to causeregister transfers and ALU operations .

  • Use sequences of instructions to control complex operations.

  • Called micro-programming or Firmware.


Chapter 16 microprogrammed control8

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 micro-instruction, depending on conditions.


Chapter 16 microprogrammed control9

Chapter # 16:Microprogrammed Control

Typical Microinstruction Formats:


Chapter 16 microprogrammed control10

Chapter # 16:Microprogrammed Control

Organization of Control Memory:


Chapter 16 microprogrammed control11

Chapter # 16:Microprogrammed Control

Control Unit:


Chapter 16 microprogrammed control12

Chapter # 16:Microprogrammed Control

Functioning of Microprogrammed Control Unit:


Chapter 16 microprogrammed control13

Chapter # 16:Microprogrammed Control

Processor block diagram example:


Chapter 16 microprogrammed control14

Chapter # 16:Microprogrammed Control

Wilkes Control - Diode Matrix:

A diode memory is just a collection of diodes connected in a matrix.


Chapter 16 microprogrammed control15

Chapter # 16:Microprogrammed Control

Wilkes’s Microprogrammed Control Unit:


Chapter 16 microprogrammed control16

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


Chapter 16 microprogrammed control17

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


Microinstruction sequencing

MICROINSTRUCTION SEQUENCING

1- Design Considerations

2- Sequencing Techniques

3- Address Generation

4- LSI-11 Microinstruction Sequencing


Design considerations

Design Considerations

  • Determined by Instruction Register

  • Next sequential address

  • Branch.


Sequencing techniques

Sequencing Techniques

  • Two address fields

  • Single address field

  • Variable format


Two address fields

Two Address Fields

Control address register

Address Decoder

Control memory

Control

Address

1

Address

2

Flags

Branch

logic

Multiplexer

Address Selection

Instruction Register


Single address field

Single Address Field


Variable format

Variable Format

Address Decoder

Control Memory

Control Buffer Register

Branch control field

Control address register

Entire Field

+1

Address field

Gate and function logic

Multiplexer

Branch

logic

Address Selection

Flags

Instruction Register


Description and advantages

Description and Advantages

  • Introduced by M. V. Wilkes in 1951

  • Storage of Micro-Instruction

  • Sequences

  • Hardwire Vs Micro-Instruction

  • Advantages & Disadvantages


Hardwire control

Hardwire Control


Microinstruction address generation techniques

Microinstruction Address Generation Techniques


Explicit memory address generation

Explicit Memory Address Generation

  • Address Location

  • Two Field Approach

  • Conditional Branch Instruction


Implicit memory address generation

Implicit Memory Address Generation

  • Control Memory

  • Mapping Approach

  • Adding Approach


Microinstruction execution

Microinstruction Execution

A Taxonomy of Microinstruction

&

Microinstruction Encoding

Ninyuan Wang


Microinstruction cycle

Microinstruction Cycle

  • The basic event on a microprogrammed processor.

  • Two parts: fetch and execute.

  • Fetch: determined by the generation of a microinstruction address.


Chapter 16 microprogrammed control

  • 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.


A taxonomy of microinstructions

A Taxonomy of Microinstructions

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


How to encoding

How to 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.

    • possible combinations of control signals to be generated during any instruction cycle.


Chapter 16 microprogrammed control

  • 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 which can be encoded with bits.


Chapter 16 microprogrammed control

  • 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.


Microinstruction encoding

Microinstruction Encoding

  • 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.


Chapter 16 microprogrammed control

  • 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:


Chapter 16 microprogrammed control

  • 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


Machine structure cont

Machine Structure cont.


Processor detail

Processor Detail


Chapter 16 microprogrammed control

PSW


Lsi 11

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 board LSI 11/2 CPU


Q bus

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

LSI-11 cont.

  • The three LSI are the data, control, and control store chips.


Data chip

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

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

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

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

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

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

IBM 3033 MI Format


Ti 8800 sdb

TI 8800 SDB


Objective

objective

Usage consist of:

  • Educational implementations

  • Useful in creating multifunctional prototypes

  • Etc….

The TI 8800 is a 32 bit programmable microprocessor chip equipped with:

  • Writeable control store

  • Implemented in RAM rather than ROM


Why microprogramming

Why microprogramming

Solution:

Develop microinstructions to attain the control settings

creating logic controls through basic interconnections are difficult to:

  • Analyze

  • Design

  • Modify


Microinstruction

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

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

TI 8800 SDB Structure

Main components consist of:

  • Microcode memory

  • Microsequencer

  • 32-bit ALU

  • Floating-point and integer processor

  • Local data memory


Microsequencer

Microsequencer

The 8818 Microsequencer fetch next microinstruction address then send it to the microcode memory from 5 different locations.


Controlling the microsequencer

Controlling the Microsequencer

Example:

Instruction is INC88181 = 000000111110

Decoded into

OSEL = 0

SELDR = 0

ZEROIN = 0

R = 000

S = 111

MUX = 11

Controlled by a 12-bit microinstruction

OSEL (1bit)

SELDR (1bit)

ZEROIN (1bit)

RC2-RC0 (3bits)

S2-S0 (3bits)

MUX2-MUX0 (varies)


8818 microsequencer instructions

8818 Microsequencer instructions


Sn74act8847 floating point and integer processor

sn74act8847 floating-point and integer processor


Chapter 16 microprogrammed control

  • Floating Point and integer processor

  • included are fields 7-16

  • there is a total of 32-bits involved


Sn74act8832 32 bit registered alu

sn74act8832 32-bit registered ALU


Chapter 16 microprogrammed control

  • 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


Chapter 16 microprogrammed control

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


Chapter 16 microprogrammed control

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.


Chapter 16 microprogrammed control

  • 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

WSC Data field


Chapter 16 microprogrammed control

QUESTIONS

NAME AN INPUT TO THE CONTROL UNIT

WHAT PICKS UP THE NEXT INSTRUCTION

FROM THE CONTROL STORE AND SENDS

IT TO MICROMEMORY


Chapter 16 microprogrammed control

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


Chapter 16 microprogrammed control

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


Chapter 16 microprogrammed control

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


Chapter 16 microprogrammed control

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


Chapter 16 microprogrammed control

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


Chapter 16 microprogrammed control

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


Chapter 16 microprogrammed control

EVEN MORE QUESTIONS

WHAT IS THE DIFFERENCE BETWEEN VERTICAL AND HORIZONTAL

MICROINSTRUCTION

NAME AN ADVANTAGE AND DISADVANTAGE TO USE A MICROCONTROLLED

CONTROL UNIT


Chapter 16 microprogrammed control

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


Chapter 16 microprogrammed control

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


  • Login