Control. Control. the ALU. ALU control signals 11/4/14. Next: control. We built the instrument. Now we read music and play it...

Similar documents
EC 413 Computer Organization

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

CPU DESIGN The Single-Cycle Implementation

Processor Design & ALU Design

Spiral 1 / Unit 3

CPU DESIGN The Single-Cycle Implementation

L07-L09 recap: Fundamental lesson(s)!

Project Two RISC Processor Implementation ECE 485

Review: Single-Cycle Processor. Limits on cycle time

Review. Combined Datapath

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

Outcomes. Spiral 1 / Unit 2. Boolean Algebra BOOLEAN ALGEBRA INTRO. Basic Boolean Algebra Logic Functions Decoders Multiplexers

Computer Architecture ELEC2401 & ELEC3441

Computer Architecture. ECE 361 Lecture 5: The Design Process & ALU Design. 361 design.1

Simple Instruction-Pipelining. Pipelined Harvard Datapath

Building a Computer. Quiz #2 on 10/31, open book and notes. (This is the last lecture covered) I wonder where this goes? L16- Building a Computer 1

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?

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

Designing Single-Cycle MIPS Processor


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

Simple Instruction-Pipelining. Pipelined Harvard Datapath

CMP 334: Seventh Class

CSE Computer Architecture I

Implementing the Controller. Harvard-Style Datapath for DLX

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

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

Solutions for Appendix C Exercises

Numbers and Arithmetic

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3

Lecture 3, Performance

Arithmetic and Logic Unit First Part

Pipelining. Traditional Execution. CS 365 Lecture 12 Prof. Yih Huang. add ld beq CS CS 365 2

Numbers and Arithmetic

Lecture 3, Performance

CS61C : Machine Structures

CMP N 301 Computer Architecture. Appendix C

CS61C : Machine Structures

Outcomes. Spiral 1 / Unit 3. The Problem SYNTHESIZING LOGIC FUNCTIONS

Hakim Weatherspoon CS 3410 Computer Science Cornell University

A Second Datapath Example YH16

UNIVERSITY OF WISCONSIN MADISON

61C In the News. Processor Design: 5 steps

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

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

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

Topics: A multiple cycle implementation. Distributed Notes

Lecture 13: Sequential Circuits, FSM

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

CPSC 3300 Spring 2017 Exam 2

Simple Instruction-Pipelining (cont.) Pipelining Jumps

UNSIGNED BINARY NUMBERS DIGITAL ELECTRONICS SYSTEM DESIGN WHAT ABOUT NEGATIVE NUMBERS? BINARY ADDITION 11/9/2018

Design of Sequential Circuits

EXAMPLES 4/12/2018. The MIPS Pipeline. Hazard Summary. Show the pipeline diagram. Show the pipeline diagram. Pipeline Datapath and Control

Computer Architecture. ESE 345 Computer Architecture. Design Process. CA: Design process

COVER SHEET: Problem#: Points

Microprocessor Power Analysis by Labeled Simulation

Name: ID# a) Complete the state transition table for the aforementioned circuit

ICS 233 Computer Architecture & Assembly Language

Designing MIPS Processor

VLSI Arithmetic. Lecture 9: Carry-Save and Multi-Operand Addition. Prof. Vojin G. Oklobdzija University of California

Complement Arithmetic

Computer Architecture

Lecture 13: Sequential Circuits, FSM

Adders, subtractors comparators, multipliers and other ALU elements

EXPERIMENT Bit Binary Sequential Multiplier

Number Systems 1(Solutions for Vol 1_Classroom Practice Questions)

TEST 1 REVIEW. Lectures 1-5

CSCI-564 Advanced Computer Architecture

SISD SIMD. Flynn s Classification 8/8/2016. CS528 Parallel Architecture Classification & Single Core Architecture C P M

Lecture 34: Portable Systems Technology Background Professor Randy H. Katz Computer Science 252 Fall 1995

211: Computer Architecture Summer 2016

COMP303 Computer Architecture Lecture 11. An Overview of Pipelining

Review Problem 1. should be on. door state, false if light should be on when a door is open. v Describe when the dome/interior light of the car

Design of Digital Circuits Lecture 14: Microprogramming. Prof. Onur Mutlu ETH Zurich Spring April 2017

Lecture 12: Adders, Sequential Circuits

Load. Load. Load 1 0 MUX B. MB select. Bus A. A B n H select S 2:0 C S. G select 4 V C N Z. unit (ALU) G. Zero Detect.

ELEC516 Digital VLSI System Design and Design Automation (spring, 2010) Assignment 4 Reference solution

Enrico Nardelli Logic Circuits and Computer Architecture

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

Lecture 5: Arithmetic

CA Compiler Construction

ENEE350 Lecture Notes-Weeks 14 and 15

EE 660: Computer Architecture Out-of-Order Processors

ALU A functional unit

CPE100: Digital Logic Design I

UNIT 8A Computer Circuitry: Layers of Abstraction. Boolean Logic & Truth Tables

Arithmetic Circuits How to add and subtract using combinational logic Setting flags Adding faster

State and Finite State Machines

CS/COE1541: Introduction to Computer Architecture. Logic Design Review. Sangyeun Cho. Computer Science Department University of Pittsburgh

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

University of Guelph School of Engineering ENG 2410 Digital Design Fall There are 7 questions, answer all questions.

Department of Electrical and Computer Engineering University of Wisconsin - Madison. ECE/CS 752 Advanced Computer Architecture I.

Pipelined Datapath. Reading. Sections Practice Problems: 1, 3, 8, 12 (2) Lecture notes from MKP, H. H. Lee and S.

CSE. 1. In following code. addi. r1, skip1 xor in r2. r3, skip2. counter r4, top. taken): PC1: PC2: PC3: TTTTTT TTTTTT

CprE 281: Digital Logic

Design of a Novel Reversible ALU using an Enhanced Carry Look-Ahead Adder

Logic design? Transistor as a switch. Layered design approach. CS/COE1541: Introduction to Computer Architecture. Logic Design Review.

Shift Register Counters

Instruction register. Data. Registers. Register # Memory data register

Transcription:

// CS 2, Fall 2! CS 2, Fall 2! We built the instrument. Now we read music and play it... A simple implementa/on uc/on uct r r 2 Write r Src Src Extend 6 Mem Next: path 7-2 CS 2, Fall 2! signals CS 2, Fall 2! the Op Main Other lines A invert lines FuncGon AND OR add subtract set on less than NOR B negate Op (B invert and LSB CarryIn) path 7-3 uc/on [3- ] Note sub- ler for simplifies main unit. 2 [3-26] [25-2] [2-6] [5 - ] [5 - ] r r 2 Write r 6 Extend [5- ] overflow 8-

// CS 2, Fall 2! Using Op and Funct field to set bits ucgon opcode Op ucgon operagon Funct field Desired acgon input LW load word XXXXXX add SW store word XXXXXX add equal branch equal XXXXXX subtract R- type add add R- type subtract subtract R- type AND and R- type OR or R- type set on less than set on less than CS 2, Fall 2! From truth table to Op OP Op Funct field F5 F F3 F2 F F F (5 ) Op X X X X X X X X X X X X X X X X X X X X X X X X F3 F2 F F Op Op Op block Operation2 Operation Operation Op 8-5 8-6 CS 2, Fall 2! Main unit input; 6- bit opcode output: 9 bits Opcode uct R- format lw sw beq Inputs Op5 Op Op3 Op2 Op Op R-format Iw sw beq Outputs Src Mem CS 2, Fall 2! The data path with signals [3-26] uc/on [3- ] Op [25-2] [2-6] [5 - ] r r 2 Write r Src Src Mem Op [5 - ] Extend 6 [5- ] OpO 8-7 8-8 2

// CS 2, Fall 2! We start with R- instrucgons* Tells us what to perform First operand Second operand Result goes here CS 2, Fall 2! R- instruc/ons data and signals [3-26] Op Src Src Mem Opcode! rs! rt! rd! shmamt! funct! 6! 5! 5! 5! 5! 6! Main To read inputs of register file To write address for register file *R- type (for register) or R- format include add, sub, and, or, and slt. uc/on [3- ] [25-2] [2-6] [5 - ] [5 - ] r r 2 Write r Extend 6 [5- ] 8-9 8- CS 2, Fall 2! I- instrucgons come next Tells us what to perform Base register for lw & sw Value read or wriden for lw or sw Offset or address CS 2, Fall 2! I- instruc/ons data and signals [3-26] Op Src Src Mem Opcode! rs! rt! 6! 5! 5! 6! Decoder generates s To read inputs of register file Constant! extended, mul/plied by and added to *I- type include lw, sw, beq, and bnq. Recall lw $t, 2($t).! uc/on [3- ] [25-2] [2-6] [5 - ] [5 - ] r r 2 Write r Extend 6 [5- ] 8-8- 2 3

// CS 2, Fall 2! CS 2, Fall 2! lw $t, 2($t)! [3-26] Op Src Src Mem instrucgons are also I- format Tells us what to perform Base register for lw & sw Value read or wriden for lw or sw Offset or address uc/on [3- ] [25-2] [2-6] [5 - ] [5 - ] r r 2 Write r Extend 6 [5- ] Opcode! rs! rt! 6! 5! 5! 6! Decoder generates s To read inputs of register file *I- type include lw, sw, beq, and bnq. Constant! ed extended, mul/pled by and added to 8-3 8- CS 2, Fall 2! CS 2, Fall 2! beq $s, $s2,! beq $s, $s2,! [3-26] Op Src Src Mem [3-26] Op Src Src Mem uc/on [3- ] [25-2] [2-6] [5 - ] r r 2 Write r uc/on [3- ] [25-2] [2-6] [5 - ] r r 2 Write r [5 - ] Extend 6 [5- ] [5 - ] Extend 6 [5- ] 8-5 8-6

// CS 2, Fall 2! CS 2, Fall 2! lines in sum j! uction Src Memto- Reg Reg Write Mem Mem Write Op p R-format lw sw X X beq X X!!! 6 bits 26 bits sgll bits What about j? *Replace the lower 28 bits of the with the lower 26 bits of the instruc/on le@ shi@ed by 2 (mul/plied by ). 8-7 8-8 CS 2, Fall 2! j! uc/on[25- ] ucgon 26 ShiX lex 2 28 Extend 6. uc/on[5- ] Jump Src CS 2, Fall 2! adding jump [3-26] uc/on [3- ] [25- ] Op [25-2] [2-6] [5 - ] [5 - ] Jump r r 2 Write r 28 +[3-28] Src 6 Extend [5- ] Src Mem *Replace the lower 28 bits of the with the lower 26 bits of the instruc/on offset by 2. 8-9 OpGmizaGons next: pipelining, caches 8-2 5

// CS 2, Fall 2! Single cycle pros and cons Con Inefficient: clock must be Gmed to accommodate the slowest instrucgon. Cycle Cycle 2 Clk lw sw Waste Con May be wasteful of area since some funcgonal units (e.g., adders) must be duplicated since they can not be shared during a clock cycle Big Pro Simple and easy to understand OpGmizaGons next: pipelining, caches 8-2 6