Micro-programmed Control Ch 17

Similar documents
Hardwired Control (4) Micro-programmed Control Ch 17. Micro-programmed Control (3) Machine Instructions vs. Micro-instructions

Micro-programmed Control Ch 15

Machine Instructions vs. Micro-instructions. Micro-programmed Control Ch 15. Machine Instructions vs. Micro-instructions (2) Hardwired Control (4)

Micro-programmed Control Ch 15

Micro-Operations. execution of a sequence of steps, i.e., cycles

Lecture 10: Control Unit

Lecture 10: Control Unit

Processing Unit CS206T

William Stallings Computer Organization and Architecture 8 th Edition. Micro-programmed Control

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 16 Micro-programmed Control

Implementing the Control. Simple Questions

CC 311- Computer Architecture. The Processor - Control

Digital System Design Using Verilog. - Processing Unit Design

Basic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control,

RISC & Superscalar. COMP 212 Computer Organization & Architecture. COMP 212 Fall Lecture 12. Instruction Pipeline no hazard.

Hardwired Control Unit Ch 16

Chapter 3 : Control Unit

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Multicycle Approach. Designing MIPS Processor

Chapter 17. Microprogrammed Control. Yonsei University

Chapter 20 - Microprogrammed Control (9 th edition)

Microprogramming is a technique to implement the control system of a CPU using a control store to hold the microoperations.

Chapter 4 The Processor (Part 2)

CpE 442. Designing a Multiple Cycle Controller

CONTROL UNIT CONTROL UNIT. CONTROL vs DATA PATH. Instruction Sequencing. Two main operations of Control Unit can be identified:

Class Notes. Dr.C.N.Zhang. Department of Computer Science. University of Regina. Regina, SK, Canada, S4S 0A2

MARIE: An Introduction to a Simple Computer

Superscalar Processing (5) Superscalar Processors Ch 14. New dependency for superscalar case? (8) Output Dependency?

MICROPROGRAMMED CONTROL

EECE 417 Computer Systems Architecture

Superscalar Processors Ch 14


COMPUTER STRUCTURE AND ORGANIZATION

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Parallelism. Execution Cycle. Dual Bus Simple CPU. Pipelining COMP375 1

William Stallings Computer Organization and Architecture

Chapter 16. Control Unit Operation. Yonsei University

The Microarchitecture Level

Instruction Set. Instruction Sets Ch Instruction Representation. Machine Instruction. Instruction Set Design (5) Operation types

Initial Representation Finite State Diagram. Logic Representation Logic Equations

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit

CISC / RISC. Complex / Reduced Instruction Set Computers

Latches. IT 3123 Hardware and Software Concepts. Registers. The Little Man has Registers. Data Registers. Program Counter

Computer Logic II CCE 2010

Chapter 7: Processor and Memory

Hardwired Control Unit Ch 14

Blog -

EE 3170 Microcontroller Applications

4. MICROPROGRAMMED COMPUTERS

Control unit. Input/output devices provide a means for us to make use of a computer system. Computer System. Computer.

Architectures & instruction sets R_B_T_C_. von Neumann architecture. Computer architecture taxonomy. Assembly language.

DC57 COMPUTER ORGANIZATION JUNE 2013

Introduction to CPU Design

ENE 334 Microprocessors

Lecture 4: RISC Computers

CC312: Computer Organization

Register-Level Design

omputer Design Concept adao Nakamura

Lets Build a Processor

Computer Architecture Programming the Basic Computer

ECE369. Chapter 5 ECE369

There are four registers involved in the fetch cycle: MAR, MBR, PC, and IR.

These actions may use different parts of the CPU. Pipelining is when the parts run simultaneously on different instructions.

Chapter 4. MARIE: An Introduction to a Simple Computer 4.8 MARIE 4.8 MARIE A Discussion on Decoding

structural RTL for mov ra, rb Answer:- (Page 164) Virtualians Social Network Prepared by: Irfan Khan

Instruction Sets Ch 9-10

Instruction Sets Ch 9-10

Computer Structure. Unit 4. Processor

Controller Implementation--Part II

CHAPTER 4 MARIE: An Introduction to a Simple Computer

Advanced Computer Architecture

Module 5 - CPU Design

Superscalar Processors Ch 13. Superscalar Processing (5) Computer Organization II 10/10/2001. New dependency for superscalar case? (8) Name dependency

RISC Processors and Parallel Processing. Section and 3.3.6

THE MICROPROCESSOR Von Neumann s Architecture Model

EECS150. Implement of Processor FSMs

Initial Representation Finite State Diagram Microprogram. Sequencing Control Explicit Next State Microprogram counter

Materials: 1. Projectable Version of Diagrams 2. MIPS Simulation 3. Code for Lab 5 - part 1 to demonstrate using microprogramming

COS 140: Foundations of Computer Science

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

MARIE: An Introduction to a Simple Computer

The Processor: Datapath & Control

CPU Structure and Function

Chapter 4. Chapter 4 Objectives

William Stallings Computer Organization and Architecture. Chapter 11 CPU Structure and Function

Chapter 13 Reduced Instruction Set Computers

Computer Architecture

Chapter 4. MARIE: An Introduction to a Simple Computer

Blog -

Computer Architecture 2/26/01 Lecture #

CISC Processor Design

CPU Structure and Function. Chapter 12, William Stallings Computer Organization and Architecture 7 th Edition

CPE300: Digital System Architecture and Design

Control Unit Implementation


Reader's Guide Outline of the Book A Roadmap For Readers and Instructors Why Study Computer Organization and Architecture Internet and Web Resources

ADVANCED COMPUTER ARCHITECTURE TWO MARKS WITH ANSWERS

General Purpose Processors

Computer and Hardware Architecture I. Benny Thörnberg Associate Professor in Electronics

From CISC to RISC. CISC Creates the Anti CISC Revolution. RISC "Philosophy" CISC Limitations

Transcription:

Micro-programmed Control Ch 17 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics Course Summary 1

Hardwired Control (4) Complex Fast Difficult to design Difficult to modify lots of optimization work done at implementation phase (after design) all optimization work (I.e., most of the work?) must be redone after any changes to design 2

Micro-programmed Control (3) Implement execution engine inside CPU execute one micro-instruction at a time What to do now? micro-instruction control signals stored in micro-instruction control memory micro-program, firmware What to do next? micro-instruction program counter default (?): next micro-instruction jumps or branches? 3

Machine Instructions vs. Micro-instructions Memory LOAD ADD MULT Machine instructions define a program execution unit CPU control memory Memop R2,A1 ALU-op R1,R2 jump fetch Microinstructions define machine instructions (processor architecture!) 4

Machine Instructions vs. Micro-instructions (2) Machine instruction fetch-execute cycle produces machine instructions to be executed at CPU Micro-instruction fetch-execute cycle produces control signals for data path 5

Micro-program (4) Stored in control memory ROM, PROM, EPROM One subroutine for each machine instruction one or more micro-instructions Defines architecture change instruction set? reload control memory Fig. 17.2 (Fig. 15.2 [Stal99]) 6

Hardwired vs. Micro-program Initial represent.: Sequencing control: Logic represent.: Pure hardwired Finite state diagram Logic equations Control Explicit next state function Pure micro-programmed Truth tables Microprogram Microprogram counter Implem.: PLA ROM 7

Horizontal micro-code Microcode (3) Fig. 15.1 (a) control signals directly in micro-code all control signals always there lots of signals many bits in micro-instruction Vertical micro-code (Fig. 15.1 (a) [Stal99]) (Fig. 15.1 (b) [Stal99]) each action encoded densely Fig. 17.1 (b) actions need to be decoded to signals at execution time takes less space but may be slower Each micro-instruction is also a conditional branch? 8

Micro-programmed Control Unit (4) Control Address Register Fig. 17.4 micro-program PC (Fig. 15.4 [Stal99]) Control Memory Control Buffer Register current micro-instruction control signals next address control Sequencing logic select next value for Control Address Reg 9

Micro-programming (3) Simple design Flexible adapt to changes in organization, timing, technology make changes late in design cycle, or even in the field Very powerful instruction sets use bigger control memory if needed easy to have complex instruction sets is this good? 10

Micro-programming (2) Generality multiple instruction sets on same machine tailor instruction set to application? Compatibility easy to be backward compatible in one family many organizations, same instruction set 11

Micro-programming (3) Costly to implement need tools: Slow micro-program development environment micro-program compiler micro-instruction interpreted at execution time interpretation is internal to CPU interpret one instruction at a time Interpretation control with hardwired logic? 12

RISC vs. Micro-programming (8) Simple instructions can execute at very high clock rate Compilers can produce micro-instructions machine dependent optimization Use only simple instructions and addressing mode Keep micro-code in RAM instead of ROM no micro-instruction interpretation logic needed Fast access to micro-code in RAM via caching Skip instruction interpretation of a micro-program and simply compile directly into lowest language of machine? Compile to micro-code and use hardwired control for RISC (e.g., Pentium II) 13

Micro-program Sequencing (3) Two address format most often need next micro-instruction address waste of space to store it most of the time? conditional branch address One address format (Conditional) branch address Variable format Fig. 17.6 (Fig. 15.6 [Stal99]) (Fig. 15.7 [Stal99]) Fig. 17.7 only branch micro-instructions have addresses waste of time many times? 14

Micro-instruction Explicit Address Generation Addresses explicitly present Two-field select one of them Unconditional branch jump to this one Conditional branch select this one or default 15

Micro-instruction Implicit Address Generation Addresses not explicitly present Mapping map opcode in machine instruction into microinstruction address Addition higher order bits directly from opcode lower order bits based on current status and tag bits, or fields in current microinstruction Residual Control return from micro-program subroutine (Fig. 15.9 [Stal99]) Fig. 17.9 16

Micro-instruction Encoding Usually a compromise between pure horizontal and vertical formats Fig. 17.11 (Fig. 15.11 [Stal99]) optimize on space with encoding multiple signals into a set of fields each field defines control signals for certain separate actions mutually exclusive actions are encoded into the same field make design simpler by not using maximum encoding 17

Micro-instruction Encoding (2) Functional encoding each field controls some function load accumulator load ALU operands compute next PC Resource encoding each field controls some resource ALU memory 18

Different Micro-instruction Sets for a specific Simple Machine (3) Micro-instruction types 3 register transfers, 2 mem ops, 5 ALU ops, 3 seq. ops type operation reg Vertical format 3 bits for type, 3 bits for operation 2 bits for reg select (max 4 regs) Horizontal format 2 bits for reg transfers (3 ops + none ) 2 bits for mem ops (2 ops + none ) 2 bits for seq. ops (3 ops + none ) 3 bits for ALU ops (5 ops + none ) 2 bits for reg select + 8 bits for constant (Fig. 15.12 [Stal99]) Fig. 17.12 (Fig. 15.12(a) [Stal99]) Fig. 17.12 (a) Fig. 17.12 (b) (Fig. 15.12(b) [Stal99]) 19

LSI-11 Single Board Processor 20

LSI-11 (PDP-11) (5) Three-chip single board processor data chip 26 8-bit regs 8 16-bit general purpose regs, PWS, MAR, MBR,... 8-bit ALU (at least) 2 passes needed for 16-bit reg ops control chip control store chip Fig. 17.14 22 bit wide control mem for micro-instructions connected by micro-instruction bus (Fig. 15.14 [Stal99]) Fig. 17.13 (Fig. 15.13 [Stal99]) 21

LSI-11 Micro-instruction Set (2) Implements PDP-11 instruction set architecture for LSI-11 hardware e.g., PDP-11 16 bit ALU vs. LSI-11 8-bit ALU 22 bit wide, extremely vertical set 4 bits for special functions 1 bit for testing interrupts 1 bit for micro-subroutine return 16 bits for variable format micro-ops jump, cond. branch, literal ops, reg ops ALU, logical, general, I/O ops Fig. 17.15 (Fig. 15.15 [Stal99]) Table 17.5 (Tbl 15.5 [Stal99]) 22

-- End of Chapter 17 -- -- Micro-programmed Control -- (Fig. 16.10) http://infopad.eecs.berkeley.edu/cic/die_photos/pentium.gif 23

24

Summary (11) How clock signals cause instruction executions? Low level stuff gates, basic circuits, registers, memory Cache Virtual memory & TLB ALU, Int & FP arithmetic's Instruction sets CPU structure & pipelining Branch prediction, limitations, hazards, issue RISC & superscalar processor IA-64 & Crusoe Hardwired & micro-controlled control 25

Want to Know More? Read the text book completely 58070-8 Computer Architecture (4 cr) Conc. Systems (Rio) Data Struct. (TiRa) Compilers (OKK) Comp. Org. II II Oper. Systems (KJx) (TiKRa) Data Comm. (TiLix)...... Computer Architecture (Tietokonearkkitehtuurit) 26

-- The End of Comp Org II -- Cache-coherent non-uniform memory access (CC-NUMA) machine (Fig. 18.11) 27