CHAPTER 16 MICROPROGRAMMED CONTROL DR. H. WATSON FRANCISCO VASQUEZ

Slides:



Advertisements
Similar presentations
Control Unit Implemntation
Advertisements

Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
PART 5: (2/2) Processor Internals CHAPTER 15: CONTROL UNIT OPERATION 1.
Processor System Architecture
Chapter 16 Control Unit Operation No HW problems on this chapter. It is important to understand this material on the architecture of computer control units,
CS364 CH17 Micro-programmed Control
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
Chapter 16 Control Unit Implemntation. A Basic Computer Model.
Chapter 15 IA 64 Architecture Review Predication Predication Registers Speculation Control Data Software Pipelining Prolog, Kernel, & Epilog phases Automatic.
Chapter 7. Basic Processing Unit
Computer Organization and Architecture
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
Lecture 16 Today’s topics: –MARIE Instruction Decoding and Control –Hardwired control –Micro-programmed control 1.
Microprogrammed Control Chapter 17. Team Members Guillermo Cordon Ernesto Vivanco Brian Hadley Angel Carlos Castro.
Introduction to Computer Organization and Architecture Micro Program ภาษาเครื่อง ไมโครโปรแกรม.
Multiple-bus organization
Florida International University Chapter 17 Micro-programmed Control Molina, Francisco Pineiro, Michael Romero, Rubymir.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CE-321: Computer.
Chapter 16 Micro-programmed Control
MICROPROGRAMMED CONTROL CH 17 Team # 2 Members: Wilmer Saint-Hilaire Alberto Mollinedo Vinicius Schuina Luis Perez.
1 Control Unit Operation and Microprogramming Chap 16 & 17 of CO&A Dr. Farag.
Microprogrammed Control Chapter11:. Two methods for generating the control signals are: 1)Hardwired control o Sequential logic circuit that generates.
5-1 Chapter 5—Processor Design—Advanced Topics Computer Systems Design and Architecture by V. Heuring and H. Jordan © 1997 V. Heuring and H. Jordan Chapter.
PART 6: (1/2) Enhancing CPU Performance CHAPTER 16: MICROPROGRAMMED CONTROL 1.
Computer architecture
Lecture 15 Microarchitecture Level: Level 1. Microarchitecture Level The level above digital logic level. Job: to implement the ISA level above it. The.
Basic Elements of Processor ALU Registers Internal data pahs External data paths Control Unit.
MICROPROGRAMMED CONTROL
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
GROUP 2 CHAPTER 16 CONTROL UNIT Group Members ๏ Evelio L. Hernandez ๏ Ashwin Soerdien ๏ Andrew Keiper ๏ Hermes Andino.
PART 4: (1/2) Central Processing Unit (CPU) Basics CHAPTER 12: P ROCESSOR S TRUCTURE AND F UNCTION.
Chapter 10 Control Unit Operation “Controls the operation of the processor”
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
Copyright © 2005 – Curt Hill MicroProgramming Programming at a different level.
BASIC COMPUTER ARCHITECTURE HOW COMPUTER SYSTEMS WORK.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
Functions of Processor Operation Addressing modes Registers i/o module interface Memory module interface Interrupts.
Basic Concepts Microinstructions The control unit seems a reasonably simple device. Nevertheless, to implement a control unit as an interconnection of.
Controller Implementation
Computer Organization and Architecture + Networks
Micro-programmed Control
William Stallings Computer Organization and Architecture 7th Edition
Processor Organization and Architecture
Overview Control Memory Comparison of Implementations
Micro-programmed Control Unit
MICROPROGRAMMED CONTROL
INDEX UNIT-III PPT SLIDES
Basic Processing Unit Unit- 7 Engineered for Tomorrow CSE, MVJCE.
Computer Organization and Design
Control Unit Introduction Types Comparison Control Memory
Processor Organization and Architecture
William Stallings Computer Organization and Architecture 7th Edition
MICROPROGRAMMED CONTROL
William Stallings Computer Organization and Architecture 8th Edition
Computer Architecture
Chapter 14 Control Unit Operation
Chapter 15 Microprogrammed Control
MICROPROGRAMMED CONTROL
MICROPROGRAMMED CONTROL
William Stallings Computer Organization and Architecture
Computer Architecture
Processor Organization and Architecture
Presentation transcript:

CHAPTER 16 MICROPROGRAMMED CONTROL DR. H. WATSON FRANCISCO VASQUEZ 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: 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 Control Registers diagram:

Chapter # 16: Microprogrammed Control Basic Elements of a Processor: ALU Registers Internal data paths External data paths Control Unit

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 Control Data Paths and Control Signals:

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

Chapter # 16: 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 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.

Chapter # 16: 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 Control Typical Microinstruction Formats:

Chapter # 16: Microprogrammed Control Organization of Control Memory:

Chapter # 16: Microprogrammed Control Control Unit:

Chapter # 16: Microprogrammed Control Functioning of Microprogrammed Control Unit:

Chapter # 16: Microprogrammed Control Processor block diagram example:

Chapter # 16: Microprogrammed Control Wilkes Control - Diode Matrix: A diode memory is just a collection of diodes connected in a matrix.

Chapter # 16: Microprogrammed Control Wilkes’s Microprogrammed Control Unit:

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

Control address register 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

Variable Format Multiplexer Branch logic Flags Instruction Register 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 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

Microinstruction Execution A Taxonomy of Microinstruction & Microinstruction Encoding Ninyuan Wang

Microinstruction Cycle 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.

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

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.

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

cONT11 [17], welh, selryfymx, [24], r3, r2, r1, pass+ add 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 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