Generic datapath. Generic datapath architecture. Register file. Register file. Calcolatori Elettronici e Sistemi Operativi.

Similar documents
Chapter 9 Computer Design Basics

Fig. 7-6 Single Bus versus Dedicated Multiplexers

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.

Chapter 9 Computer Design Basics

CHAPTER XI DATAPATH ELEMENTS

Structure of a Typical Digital System Data Inputs

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

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.

Design of Sequential Circuits

EE260: Digital Design, Spring n Binary Addition. n Complement forms. n Subtraction. n Multiplication. n Inputs: A 0, B 0. n Boolean equations:

Summer MA Lesson 13 Section 1.6, Section 1.7 (part 1)

Arithmetic Circuits. (Part I) Randy H. Katz University of California, Berkeley. Spring Time vs. Space Trade-offs. Arithmetic Logic Units

Chapter 7: Digital Components. Oregon State University School of Electrical Engineering and Computer Science. Review basic digital design concepts:

On Modeling On Minimum Description Length Modeling. M-closed

ALU A functional unit

Arithmetic Circuits. (Part I) Randy H. Katz University of California, Berkeley. Spring 2007

The heat equation. But how to evaluate: F F? T T. We first transform this analytical equation into the corresponding form in finite-space:

Chapter 9 Computation of the Discrete. Fourier Transform

Web Appendix O - Derivations of the Properties of the z Transform

Quiz. Use either the RATIO or ROOT TEST to determine whether the series is convergent or not.

Name Period ALGEBRA II Chapter 1B and 2A Notes Solving Inequalities and Absolute Value / Numbers and Functions

Modified Method for Fixed Charge Transportation Problem

Enrico Nardelli Logic Circuits and Computer Architecture

The Binomial Multi- Section Transformer

Overview EECS Components and Design Techniques for Digital Systems. Lec 15 Addition, Subtraction, and Negative Numbers. Positional Notation

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

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

Processor Design & ALU Design

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

The Binomial Multi-Section Transformer

A Second Datapath Example YH16

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?

CS 70 Second Midterm 7 April NAME (1 pt): SID (1 pt): TA (1 pt): Name of Neighbor to your left (1 pt): Name of Neighbor to your right (1 pt):

6.111 Lecture 6 Today: 1.Blocking vs. non-blocking assignments 2.Single clock synchronous circuits 3.Finite State Machines

FPGA Implementation of Point Multiplication on Koblitz Curves Using Kleinian Integers

Dynamic Response of Linear Systems

CS61C : Machine Structures

5.6 Binomial Multi-section Matching Transformer

82A Engineering Mathematics

CS61C : Machine Structures

Orthogonal Functions

Pipelined and Parallel Recursive and Adaptive Filters

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

Simple Instruction-Pipelining. Pipelined Harvard Datapath

y[ n] = sin(2" # 3 # n) 50

Test One (Answer Key)

SIGNALS AND SYSTEMS I Computer Assignment 1

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

Mathematical Description of Discrete-Time Signals. 9/10/16 M. J. Roberts - All Rights Reserved 1

Wavelet Transform Theory. Prof. Mark Fowler Department of Electrical Engineering State University of New York at Binghamton

ECE-S352 Introduction to Digital Signal Processing Lecture 3A Direct Solution of Difference Equations

CSE370 HW6 Solutions (Winter 2010)

5.6 Binomial Multi-section Matching Transformer

Al Lehnen Madison Area Technical College 10/5/2014

Digital Design. Register Transfer Specification And Design

Integrals of Functions of Several Variables

Microprocessor Power Analysis by Labeled Simulation

Answer Key, Problem Set 1, Written

ECE Spring Prof. David R. Jackson ECE Dept. Notes 20

Computer Science. Questions for discussion Part II. Computer Science COMPUTER SCIENCE. Section 4.2.

Implementing the Controller. Harvard-Style Datapath for DLX

SphericalHarmonicY. Notations. Primary definition. Specific values. Traditional name. Traditional notation. Mathematica StandardForm notation

2D DSP Basics: Systems Stability, 2D Sampling

11. Hash Tables. m is not too large. Many applications require a dynamic set that supports only the directory operations INSERT, SEARCH and DELETE.

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

Queueing Theory II. Summary. M/M/1 Output process Networks of Queue Method of Stages. General Distributions

(s)h(s) = K( s + 8 ) = 5 and one finite zero is located at z 1

Birth-Death Processes. Outline. EEC 686/785 Modeling & Performance Evaluation of Computer Systems. Relationship Among Stochastic Processes.

CPU DESIGN The Single-Cycle Implementation

Country Waste Profile Report for Kuwait Reporting year: 2000

A string of not-so-obvious statements about correlation in the data. (This refers to the mechanical calculation of correlation in the data.

Discrete-Time Systems, LTI Systems, and Discrete-Time Convolution

Bertrand s postulate Chapter 2

Review for Final Exam

ELEC1200: A System View of Communications: from Signals to Packets Lecture 3

COVER SHEET: Problem#: Points

B = B is a 3 4 matrix; b 32 = 3 and b 2 4 = 3. Scalar Multiplication

Chapter 2. Asymptotic Notation

Simple Instruction-Pipelining. Pipelined Harvard Datapath

Design of Digital Circuits Lecture 7: Sequential Logic Design. Prof. Onur Mutlu ETH Zurich Spring March 2018

x !1! + 1!2!

MA131 - Analysis 1. Workbook 2 Sequences I

Design and Analysis of ALGORITHM (Topic 2)

Review of Discrete-time Signals. ELEC 635 Prof. Siripong Potisuk

Design at the Register Transfer Level

Define and Use Sequences and Series

14.2 Simplifying Expressions with Rational Exponents and Radicals

Project Two RISC Processor Implementation ECE 485

ALUs and Data Paths. Subtitle: How to design the data path of a processor. 1/8/ L3 Data Path Design Copyright Joanne DeGroat, ECE, OSU 1

ECE 308 Discrete-Time Signals and Systems

Introduction to Optimization, DIKU Monday 19 November David Pisinger. Duality, motivation

3. Z Transform. Recall that the Fourier transform (FT) of a DT signal xn [ ] is ( ) [ ] = In order for the FT to exist in the finite magnitude sense,

Lesson 10: Limits and Continuity

CprE 281: Digital Logic

6.4 Binomial Coefficients

Chapter 4 : Laplace Transform

Chapter 8: Atmel s AVR 8-bit Microcontroller Part 3 Microarchitecture. Oregon State University School of Electrical Engineering and Computer Science

Logic and Computer Design Fundamentals. Chapter 8 Sequencing and Control

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

Summary: CORRELATION & LINEAR REGRESSION. GC. Students are advised to refer to lecture notes for the GC operations to obtain scatter diagram.

Transcription:

alcolatori Elettroici e Sistei Operativi Geeric datapath architecture Set of registers Geeric datapath uber, size. addressig R[0], R[1],... Set of operatios arithetic, logic, shift Addressig (uber of operads, uber of results) R[1] <= R[2] op 1 R[3] op 2 R[4] ; R[5] <= R[6] op 3 R[7] R[1] <= R[2] op 1 R[3] Register file Register file D addr_a 4 addr_a 3 D addr_a 2 addr_a 2 R0 addr_a 1 R0 addr_a 1 R1 R1 addr_d DEO R2 4 registers 4 operads 1 result addr_d DEO R2 4 registers 2 operads 1 result write_d R3 write_d R3 A 1 A 2 A 3 A 4 A 1 A 2

Register file Fuctio uit Other possible requireets: differet sizes for data store oly load a portio of destiatio register(s) o-uifor register addressig soe register ca have soe other data source Operatios Arithetic su, subtractio,... Logic ad, or, ot, xor,... Shifter Flags typical: : zero : carry : egative : overflow ALU Fuctio uit Fuctio uit ALU vs shifter selectio: MUXF Shifter aout ecodig H1:H0 Op operatio aout ALU Shifter i o shift: 00 right: 01 left: 10 Op Shifter H1:H0 flags MUXF MF

Fuctio uit Fuctio uit ALU Logic Arithetic vs Logic selectio: MUXG Aoperatio Loperatio Arith Logic i operatio ecodig L1:L0 ad: 00 or: 01 xor: 10 ot: 11 (ot ) (i) (i) flags:,, MUXG MG 00 01 11 L1:L0 =0 (i) Fuctio uit Fuctio uit Arithetic Operatio operatio ecodig A1:A0 o-op: 00 : 01 : 10-1: 11 i out 00 01 11 + A1:A0 F=0: ALU operatio G=0: Arithetic operatio A1:A0: i 000: = (o operatio) 001: = + 1 010: = 011: = + 1 100: = 101: = + 1 = - 110: = - 1 111: = - 1 + 1 =

Fuctio uit Fuctio uit Operatio F=0: ALU operatio G=1: Logic operatio L1:L0:0 000: = ad 010: = or Operatio F=1: Shifter operatio S1:S0:0:0 10000: = 10100: = >> 1 11000: = << 1 100: = xor 110: = Fuctio uit Datapath structure Other possible requireets: several cocurret operatios paired with ulti-operads ulti-destiatio register file special register to store flags evetually with coditioal storig shiftig applied to soe source operads ulti-operatios e.g., ultiply-accuulate addr_d addr_a 2 write_d addr_a 1 Register D A 1 file A 2 A B Fuctio uit AA BA operatio otrol sigals operad selectio AA, BA destiatio selectio result storig operatio Status sigals flags,,,

Datapath structure Datapath structure Other requireets exteral eory access eory address addr_d addr_a 2 write_d addr_a 1 Register D A 1 file A 2 AA BA ostat_i bus A eory datai bus B eory dataout fro eory to register file ultiplexer (MUXD) usig a costat as a operad choose betwee register file data ad exteral costat ultiplexer (MUXB) A Fuctio uit MUXB MB B operatio MUXD MD Me_Address Me_Datai Me_Dataout Operatio exaple Datapath structure R0 <= R1 + R2 AA: 01 - first operad: R1 BA: 10 - secod operad: R2 MB: 0 - use exteral costat: O : 00010 - MF=0 (ALU) ; MG=0 (arith) ; A1:A0: i = 010 ( ) MD: 0 - use data fro eory: O : 00 - destiatio register: R0 : 1 - write result: YES A arith R0 R1 R2 R3 logic AA BA MUXB MB B shifter ostat_i Me_Address Me_Datai Me_Dataout MUXD MD

Operatio exaple Datapath structure R3 <= R2 << 1 AA: 00 - first operad: R0 (do't care) BA: 10 - secod operad: R2 MB: 0 - use exteral costat: O : 11000 - MF=1 (shifter) ; S1:S0 = 10 ( << 1) MD: 0 - use data fro eory: O : 11 - destiatio register: R3 : 1 - write result: YES A arith R0 R1 R2 R3 logic AA BA MUXB MB B shifter ostat_i Me_Address Me_Datai Me_Dataout MUXD MD otrol Word Operatio exaples 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 AA BA MB MD Operatio otrol Word AA BA MB MD : selectio of the destiatio register AA: selectio of the source register for bus A BA: selectio of the source register for bus B MB: selectio for MUX B : operatio for the fuctioal uit MD:selectio for MUX D :result storig eable operatio 00000 F = A 00001 F = A+1 00010 F = A+B 00011 F = A+B+1 00100 F = A-B+1 00101 F = A-B 00110 F = A-1 00111 F = A 01000 F = A B 01010 F = A B 01100 F = A B 01110 F = A 10000 F = B 10100 F = B >> 1 11000 F = B << 1 R1 <= R2+R3 001 010 011 0 00010 R1 <= R2-R3 001 010 011 0 00101 R0 <= R0 xor R2 000 000 010 0 01100 R0 <= sr R0 000 --- 000 0100 R2 <= R3 010 011 --- - 00000 R2 <= R3 010 --- 011 0000 R1 <= 0 001 001 001 0 01100 R1 xor R1 R1 <= ext_cost 001 --- --- 1 10000 R1==R2? --- 001 010 0 00101-0 R1 R2 R3 <= M[R2] 011 010 --- 0 ----- 1 1 M[R2] <= R1 --- 010 001 0 ----- - 0 R3,M[R2]<=R1 011 010 001 0000

Pipelie Pipelie Register File Fuctio Uit MUX B LK 2 s 3 s 1 s 5 s WB OF EX Register File Fuctio Uit MUX B LK 2 s 3 s 1 s 1 s 1 s 5 s R1 <- R2 - R3 R4 <- sl R6 R7 <- R7 + 1 R1 <- R0 +2 Dout <- R3 R4 <- Di R5 <- 0 clock cycle 1 2 3 4 5 6 7 8 9 MUX D 1 s WB MUX D 1 s 1 s 1 s Executio tie: o pipelie: 7*12 s = 84 s pipelie: 9*7 s = 63 s ycle tie MAX(5,7,4) s = 7 s Tiig optiizatios Tiig optiizatios Retiig T LK T RO + MAX(T R1, T R2 ) + T RSU Pipeliig R 1 R 2 D R Q R A T LK T RO + T R + T RSU R B R 1 ' R 1 R 2 T LK T RO + MAX(T R1', T R1 +T R2 ) + T RSU D R1 R2 R3 Q R 1 ' R 1 R 2 R A R 1 R 2 R B T LK T RO + MAX(T R1, T R2, T R3 ) + T RSU

Tiig optiizatios Pipeliig RA R1 R2 R3 ycle-0 D(0) ycle-1 D(1) R1(D(0)) ycle-2 D(2) R1(D(1)) R2(R1(D(0))) ycle-3 D(3) R1(D(2)) R2(R1(D(1))) R3(R2(R1(D(0)))) ycle-4 D(4) R1(D(3)) R2(R1(D(2))) R3(R2(R1(D(1)))) ycle-5 D(5) R1(D(4)) R2(R1(D(3))) R3(R2(R1(D(2)))) ycle-6 R1(D(5)) R2(R1(D(4))) R3(R2(R1(D(3)))) ycle-7 R2(R1(D(5))) R3(R2(R1(D(4)))) ycle-7 R3(R2(R1(D(5)))) otrol requires additioal state to load ad to dup the pipelie