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

Similar documents
Micro-programmed Control Ch 15

Micro-programmed Control Ch 15

Micro-programmed Control Ch 17

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

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

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

Lecture 10: Control Unit

Processing Unit CS206T

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

Lecture 10: Control Unit

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.

Chapter 3 : Control Unit

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

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.

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

MICROPROGRAMMED CONTROL


COMPUTER STRUCTURE AND ORGANIZATION

Multicycle Approach. Designing MIPS Processor

Chapter 16. Control Unit Operation. Yonsei University

MARIE: An Introduction to a Simple Computer

William Stallings Computer Organization and Architecture

Chapter 4 The Processor (Part 2)

EECE 417 Computer Systems Architecture

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

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Computer Logic II CCE 2010

Chapter 7: Processor and Memory

Blog -

Hardwired Control Unit Ch 14

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

4. MICROPROGRAMMED COMPUTERS

Hardwired Control Unit Ch 16

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

The Microarchitecture Level

DC57 COMPUTER ORGANIZATION JUNE 2013

CC312: Computer Organization

Register-Level Design

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

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

Introduction to CPU Design

Computer Architecture Programming the Basic Computer

EE 3170 Microcontroller Applications

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

Controller Implementation--Part II

Lecture 4: RISC Computers

Computer Structure. Unit 4. Processor

Advanced Computer Architecture

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

Module 5 - CPU Design

RISC Processors and Parallel Processing. Section and 3.3.6

ENE 334 Microprocessors

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

COS 140: Foundations of Computer Science

omputer Design Concept adao Nakamura

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

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

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

The Processor: Datapath & Control

Superscalar Processors Ch 14

CHAPTER 4 MARIE: An Introduction to a Simple Computer

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

CPU Structure and Function

Instruction Sets Ch 9-10

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

Instruction Sets Ch 9-10

Lets Build a Processor

CISC / RISC. Complex / Reduced Instruction Set Computers

Computer Architecture

Chapter 4. MARIE: An Introduction to a Simple Computer

CPE300: Digital System Architecture and Design

Control Unit Implementation

Blog -

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


CISC Processor Design

ECE369. Chapter 5 ECE369

MARIE: An Introduction to a Simple Computer

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

General Purpose Processors

ADVANCED COMPUTER ARCHITECTURE TWO MARKS WITH ANSWERS

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

The Itanium Bit Microprocessor Report

Chapter 4. Chapter 4 Objectives

The Processing Unit. TU-Delft. in1210/01-pds 1

Microprogrammed Control

ECE468 Computer Organization and Architecture. Designing a Multiple Cycle Controller

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

Basic Processing Unit (Chapter 7)

Transcription:

Micro-programmed Control Ch 15 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics 1 Machine Instructions vs. Micro-instructions Memory execution unit CPU control memory LOAD ADD MULT Memop R2,A1 ALU-op R1,R2 jump fetch Machine instructions define a program Microinstructions define machine instructions (processor architecture!) 4 Hardwired Control (4) Complex Fast Difficult to design Difficult to modify Lots of optimization done at implementation phase 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 2 5 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 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. 15.2 6 Ch 15, Microprogrammed Control 1

Hardwired vs. Micro-program Control Initial represent.: Sequencing control: Logic represent.: Implem.: Pure hardwired Finite state diagram Explicit next state function Logic equations PLA Pure micro-programmed Microprogram Microprogram counter Truth tables ROM 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? 7 10 Microcode (3) Horizontal micro-code 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 each action encoded densely Fig. 15.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? Generality Micro-programming (2) 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 8 11 Micro-programmed Control Unit (4) Control Address Register Fig. 15.4 micro-program PC Control Memory Control Buffer Register current micro-instruction control signals next address control Sequencing logic select next value for Control Address Reg Micro-programming (2) Costly to implement need tools: micro-program development environment micro-program compiler Slow micro-instruction interpreted at execution time interpretation is internal to CPU interpret one instruction at a time 9 12 Ch 15, Microprogrammed Control 2

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 13 Micro-instruction Implicit Address Generation Addresses not explicitly present Mapping map opcode in machine instruction into microinstruction address Addition Fig. 15.9 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 16 Micro-program Sequencing (3) Two address format Fig. 15.6 default next micro-instruction address waste of space most of the time? conditional branch address One address format Fig. 15.7 (Conditional) branch address Variable format only branch micro-instructions have addresses waste of time many times? Micro-instruction Encoding Usually a compromise between pure horizontal and vertical formats 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 Fig. 15.11 14 17 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 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 15 18 Ch 15, Microprogrammed Control 3

Example Micro-instruction Sets for a Simple Machine (3) Micro-instruction types Fig. 15.12 3 register transfers, 2 mem ops, 5 ALU ops, 3 seq. ops Vertical format type operation reg 3 bits for type, 3 bits for operation Fig. 15.12 (a) 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 ) Fig. 15.12 (b) 3 bits for ALU ops (5 ops + none ) 2 bits for reg select + 8 bits for constant 19 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. 15.15 Table 15.5 22 LSI-11 Single Board Processor -- End of Chapter 15 -- -- Micro-programmed Control -- 20 (Fig. 16.10) http://infopad.eecs.berkeley.edu/cic/die_photos/pentium.gif 23 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. 15.14 22 bit wide control mem for micro-instructions connected by micro-instruction bus Fig. 15.13 21 24 Ch 15, Microprogrammed Control 4

Summary (10) 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 Hardwired & micro-controlled control 25 Want to Know More? Read the text book completely 58070-8 Computer Architecture (4 cr) Comp. Org. II (TiKRa) Conc. Systems (Rio) Data Struct. (TiRa) Compilers (OKK) Oper. Systems (KJx) Data Comm. (TiLix)... Computer Architecture (Tietokonearkkitehtuurit) 26 -- The End -- Cache-coherent non-uniform memory access (CC-NUMA) machine (Fig. 16.10) 27 Ch 15, Microprogrammed Control 5