Figure 4.9 MARIE s Datapath

Similar documents
ECE290 Fall 2012 Lecture 22. Dr. Zbigniew Kalbarczyk

CPSC 3300 Spring 2017 Exam 2

Enrico Nardelli Logic Circuits and Computer Architecture

Logic and Computer Design Fundamentals. Chapter 8 Sequencing and Control

CprE 281: Digital Logic

Lecture 13: Sequential Circuits, FSM

Department of Electrical and Computer Engineering The University of Texas at Austin

CPU DESIGN The Single-Cycle Implementation

COE 328 Final Exam 2008

Lecture 13: Sequential Circuits, FSM

Shift Register Counters

LOGIC CIRCUITS. Basic Experiment and Design of Electronics

3. (2) What is the difference between fixed and hybrid instructions?

UNIVERSITY OF WISCONSIN MADISON

ALU A functional unit

Basic Computer Organization and Design Part 3/3

4. (3) What do we mean when we say something is an N-operand machine?

A Second Datapath Example YH16

CSE Computer Architecture I

Design at the Register Transfer Level

Lecture 17: Designing Sequential Systems Using Flip Flops

[2] Predicting the direction of a branch is not enough. What else is necessary?

Computer Organization I CRN Test 3/Version 1 CMSC 2833 CRN Spring 2017

Lecture 14: State Tables, Diagrams, Latches, and Flip Flop

Logic Design. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

[2] Predicting the direction of a branch is not enough. What else is necessary?

1. (2 )Clock rates have grown by a factor of 1000 while power consumed has only grown by a factor of 30. How was this accomplished?

Review for Final Exam

CMP 334: Seventh Class

Unit 7 Sequential Circuits (Flip Flop, Registers)

Computer Engineering Department. CC 311- Computer Architecture. Chapter 4. The Processor: Datapath and Control. Single Cycle

EECS150 - Digital Design Lecture 11 - Shifters & Counters. Register Summary

CS470: Computer Architecture. AMD Quad Core

LOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D.

CMP 338: Third Class

(Boolean Algebra, combinational circuits) (Binary Codes and -arithmetics)

EE201l Homework # 6. Microprogrammed Control Unit Design

Menu. Excitation Tables (Bonus Slide) EEL3701 EEL3701. Registers, RALU, Asynch, Synch

COEN 312 DIGITAL SYSTEMS DESIGN - LECTURE NOTES Concordia University

UNIVERSITY OF BOLTON SCHOOL OF ENGINEERING BENG (HONS) ELECTRICAL & ELECTRONICS ENGINEERING EXAMINATION SEMESTER /2017

CHAPTER log 2 64 = 6 lines/mux or decoder 9-2.* C = C 8 V = C 8 C * 9-4.* (Errata: Delete 1 after problem number) 9-5.

From Sequential Circuits to Real Computers

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

on candidate s understanding. 7) For programming language papers, credit may be given to any other program based on equivalent concept.

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department

ELCT201: DIGITAL LOGIC DESIGN

Chapter 3 Digital Logic Structures

Homework #4. CSE 140 Summer Session Instructor: Mohsen Imani. Only a subset of questions will be graded

Computers also need devices capable of Storing data and information Performing mathematical operations on such data

COVER SHEET: Problem#: Points

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

Simple Instruction-Pipelining. Pipelined Harvard Datapath

Table of Content. Chapter 11 Dedicated Microprocessors Page 1 of 25

Introduction to Computer Engineering. CS/ECE 252, Fall 2012 Prof. Guri Sohi Computer Sciences Department University of Wisconsin Madison

Design of Sequential Circuits

Sequential Logic. Rab Nawaz Khan Jadoon DCS. Lecturer COMSATS Lahore Pakistan. Department of Computer Science

From Sequential Circuits to Real Computers

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department

Combinational vs. Sequential. Summary of Combinational Logic. Combinational device/circuit: any circuit built using the basic gates Expressed as

Sequential Logic Circuits

Topic 8: Sequential Circuits

Philadelphia University Student Name: Student Number:

CPS 104 Computer Organization and Programming Lecture 11: Gates, Buses, Latches. Robert Wagner

Lecture 10: Synchronous Sequential Circuits Design

CprE 281: Digital Logic

Counters. We ll look at different kinds of counters and discuss how to build them

Memory Elements I. CS31 Pascal Van Hentenryck. CS031 Lecture 6 Page 1

SIR C.R.REDDY COLLEGE OF ENGINEERING ELURU DIGITAL INTEGRATED CIRCUITS (DIC) LABORATORY MANUAL III / IV B.E. (ECE) : I - SEMESTER

Synchronous Sequential Circuit Design. Dr. Ehab A. H. AL-Hialy Page 1

ECE 448 Lecture 6. Finite State Machines. State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code. George Mason University

Digital Electronics. Part A

CENG3420 Lab 3-1: LC-3b Datapath

Software Engineering 2DA4. Slides 8: Multiplexors and More

Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing

Decoding A Counter. svbitec.wordpress.com 1

EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits

ECE 3401 Lecture 23. Pipeline Design. State Table for 2-Cycle Instructions. Control Unit. ISA: Instruction Specifications (for reference)

Chapter 4. Sequential Logic Circuits

Ch 7. Finite State Machines. VII - Finite State Machines Contemporary Logic Design 1

Appendix B. Review of Digital Logic. Baback Izadi Division of Engineering Programs

ECE 341. Lecture # 3

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3

Arithme(c logic units and memory

Fundamentals of Boolean Algebra

CMPT-150-e1: Introduction to Computer Design Final Exam

Design. Dr. A. Sahu. Indian Institute of Technology Guwahati

CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING COMPUTER SCIENCES DEPARTMENT UNIVERSITY OF WISCONSIN-MADISON

Philadelphia University Student Name: Student Number:

Finite State Machine (FSM)

INF2270 Spring Philipp Häfliger. Lecture 8: Superscalar CPUs, Course Summary/Repetition (1/2)

Verilog HDL:Digital Design and Modeling. Chapter 11. Additional Design Examples. Additional Figures

Reg. No. Question Paper Code : B.E./B.Tech. DEGREE EXAMINATION, NOVEMBER/DECEMBER Second Semester. Computer Science and Engineering

EECS150 - Digital Design Lecture 18 - Counters

EECS150 - Digital Design Lecture 18 - Counters

EECS150 - Digital Design Lecture 23 - FSMs & Counters

Topics. Dynamic CMOS Sequential Design Memory and Control. John A. Chandy Dept. of Electrical and Computer Engineering University of Connecticut

Vidyalankar. S.E. Sem. III [EXTC] Digital System Design. Q.1 Solve following : [20] Q.1(a) Explain the following decimals in gray code form

Introduction to Computer Engineering. CS/ECE 252, Spring 2017 Rahul Nayar Computer Sciences Department University of Wisconsin Madison

EECS 270 Midterm Exam 2 Fall 2009

Spiral 2-1. Datapath Components: Counters Adders Design Example: Crosswalk Controller

Transcription:

Term Control Word Microoperation Hardwired Control Microprogrammed Control Discussion A set of signals that executes a microoperation. A register transfer or other operation that the CPU can execute in a single clock cycle. Directly connects the control lines to the actual machine instructions. Employs software consisting of microinstructions that carry out an instruction s microoperations. 4.13.2 Hardwired Control Figure 4.9 MARIE s Datapath 1

Destination Origin IR to MAR 7 1 P 5 P 4 P 3 P 2 P 1 P 0 0 1 1 0 0 1 Figure 4.15 Connection of MARIE s MBR to the Datapath 2

D15 D14 D0 D15 D14 D0 D Q D Q D Q 16 D Flip-Flops 15 14 0 P5 P4 P3 P2 P1 P0 Control Unit Figure 4.15 Connection of MARIE s MBR to the Datapath Input Signal Device Switch 0=Off 1=On Output Signal Operation Tri-state device: If the switch is off, then the input signal is NOT transmitted to the output signal. If the switch is on, then the input signal IS transmitted to the output signal. X X Inverter: If xx = 0, then xx = 1 If xx = 1, then xx = 0 The set of signals {PP 2, PP 1, PP 0 } are assigned to read values put on the data bus. The set of signals {PP 5, PP 4, PP 3 } are assigned to write values to the data bus. Please note that a signal has a default value of 0. The significance of this feature is that to make the hypothetical transfer IR MAR, we need only assign [PP 5, PP 4, PP 3 } 111 (7) and [PP 2, PP 1, PP 0 ] 001 (1). However, in practice, we only assign PP 0 1, because the other signals PP 2 and PP 1 are, by default, zero (0). We can imagine sets of D-Flip-Flops for the other registers MAR, PC, AC, InREG, and OutReg. 3

Figure 4.9 MARIE s Datapath ALU Control Signals ALU Response A 1 A 0 0 0 Do Nothing 0 1 AC AC+MBR 1 0 AC AC-MBR 1 1 AC 0 (Clear) Table 4.8 ALU Control Signals and Response 4

L ALT Action 0 Load the AC from the Data bus Load the MBR from the Data bus 1 Load the AC from the ALU Load the MBR from the AC M R M W Action 0 0 Do Nothing 0 1 Memory Write Enable 1 0 Memory Read Enable 1 1 (Impossible) I PC Action 0 Do Nothing 1 PC PC + 1 D Q D Q D Q D Q 0 1 2 3 Clock C R (Counter Reset) T 0 T 1 T 2 T 3 T 4 Figure 4.19 Ring Counter Using D Flip-Flops T 0 Q 0 T 1 Q 1 T 2 Q 2 T 3 Q 3 T 4 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 Text asserts seven clock cycles, T 0 T 6, are needed. Find the longest instruction, JnS. 5

Including the clock cycles needed to fetch an instruction, ten clock cycles are needed, T 0 T 9. Add X Control Signals RTN Comment T 0P 3P 1 MAR PC Fetch T 1P 5P 4P 3M R IR M[MAR] T 2I PC PC PC + 1 T 3P 3P 2P 1P 0 MAR X(IR[11 0]) Decode T 4P 4P 3M R MBR M[MAR] Execute T 5P 5A 0L ALTC R AC AC + MBR Figure 4.16 Timing Diagram for the Microoperations of MARIE s Add Instruction 6

T 0 T 1 T 2 T 3 T 4 T 5 T 6 D Q D Q D Q D Q 0 0 1 1 ADD MAR X MBR M[MAR] AC AC+1 P 0 P 1 P 2 P 3 P 4 P 5 A 0 A 1 C R M R L ALT Figure 4.20 Combinational Logic for Signal Controls of MARIE s Add Instruction 7

4.13.3 Microprogrammed Control In microprogrammed control, instruction microcode produces the necessary control signals. Figure 4.21 Microprogrammed Control Unit Figure 4.22 MARIE s Microinstruction Format All machine instructions are input into a special program, the microprogram, that converts machine instructions of 0s and 1s into control signals. The microprogram is, essentially, an interpreter, written in microcode, that is stored in firmware (ROM, PROM, or EPROM), which is often referred to as the control store. The microsequencer is like the program counter that selects the next microinstruction to execute. MicroOp1 and MicroOp2 are binary codes for each unique microoperation specified in the RTN for MARIE s instruction set. So far, we have defined 22 unique microoperations. We need a NOP no operation microcode. 8

We need a comparison microoperation that compares the bit pattern in the first 4 bits of the instruction register (IR[14-12]) to a literal value that is in the first 4 bits of the MicoOp2 field. MARIE s entire microprogram consists of fewer than 128 statements, so each statement can be uniquely identified by seven (7) bits. Each microinstruction has a seven-bit address. Table 4.9 Microoperation Codes and Corresponding MARIE RTL 9

Figure 4.23 Selected Statements in MARIE s Microprogram It s important to remember that a microprogrammed control unit works like a system-inminiature. Microinstructions are fetched, decoded, and executed in the same manner as regular instructions. This extra level of instruction interpretation is what makes microprogrammed control slower than hardwired control. The advantages of microprogrammed control are that it can support very complicated instructions and only the microprogram needs to be changed if the instruction set changes (or an error is found). 10