CHAPTER XI DATAPATH ELEMENTS

Similar documents
Chapter 9 Computer Design Basics

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

Chapter 9 Computer Design Basics

Signals & Systems Chapter3

EE260: Digital Design, Spring n MUX Gate n Rudimentary functions n Binary Decoders. n Binary Encoders n Priority Encoders

Fig. 7-6 Single Bus versus Dedicated Multiplexers

Chapter Vectors

EECE 301 Signals & Systems

Problem Set # 5 Solutions

Sequences A sequence of numbers is a function whose domain is the positive integers. We can see that the sequence

EEO 401 Digital Signal Processing Prof. Mark Fowler

Lecture 2.5: Sequences

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

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.

A sequence of numbers is a function whose domain is the positive integers. We can see that the sequence

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

Advanced Course of Algorithm Design and Analysis

CHAPTER I: Vector Spaces

subcaptionfont+=small,labelformat=parens,labelsep=space,skip=6pt,list=0,hypcap=0 subcaption ALGEBRAIC COMBINATORICS LECTURE 8 TUESDAY, 2/16/2016

CALCULATION OF FIBONACCI VECTORS

RADICAL EXPRESSION. If a and x are real numbers and n is a positive integer, then x is an. n th root theorems: Example 1 Simplify

IP Reference guide for integer programming formulations.

Bertrand s Postulate

(A sequence also can be thought of as the list of function values attained for a function f :ℵ X, where f (n) = x n for n 1.) x 1 x N +k x N +4 x 3

End-of-Year Contest. ERHS Math Club. May 5, 2009

SNAP Centre Workshop. Basic Algebraic Manipulation

Sequences, Mathematical Induction, and Recursion. CSE 2353 Discrete Computational Structures Spring 2018

The Random Walk For Dummies

Hashing and Amortization

Infinite Sequences and Series

Summary: Congruences. j=1. 1 Here we use the Mathematica syntax for the function. In Maple worksheets, the function

1. n! = n. tion. For example, (n+1)! working with factorials. = (n+1) n (n 1) 2 1

(3) If you replace row i of A by its sum with a multiple of another row, then the determinant is unchanged! Expand across the i th row:

The Discrete Fourier Transform

Lecture Overview. 2 Permutations and Combinations. n(n 1) (n (k 1)) = n(n 1) (n k + 1) =

CHAPTER 1 INTRODUCTION NUMBER SYSTEMS AND CONVERSION

7. Modern Techniques. Data Encryption Standard (DES)

Computing the output response of LTI Systems.

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

Sequences of Definite Integrals, Factorials and Double Factorials

(VII.A) Review of Orthogonality

ECE 308 Discrete-Time Signals and Systems

Chapter 9 - CD companion 1. A Generic Implementation; The Common-Merge Amplifier. 1 τ is. ω ch. τ io

Vector Spaces and Vector Subspaces. Remarks. Euclidean Space

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

Problem 4: Evaluate ( k ) by negating (actually un-negating) its upper index. Binomial coefficient

UC Berkeley CS 170: Efficient Algorithms and Intractable Problems Handout 17 Lecturer: David Wagner April 3, Notes 17 for CS 170

Finite Automata. Reading: Chapter 2

Lecture 10: Universal coding and prediction

4.1 Sigma Notation and Riemann Sums

Sigma notation. 2.1 Introduction

Linear time invariant systems

Problem Cosider the curve give parametrically as x = si t ad y = + cos t for» t» ß: (a) Describe the path this traverses: Where does it start (whe t =

Section 11.8: Power Series

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

Generating Functions. 1 Operations on generating functions

Disjoint set (Union-Find)

COMPARISON OF FPGA IMPLEMENTATION OF THE MOD M REDUCTION

Lecture 7: Fourier Series and Complex Power Series

Measures of Spread: Standard Deviation

We start by describing a one bit memory circuit built of a couple of two inputs NAND gates.

Analysis of Experimental Measurements

Lesson 10: Limits and Continuity

Unit 6: Sequences and Series

Chapter 6 Infinite Series

6.003: Signals and Systems. Feedback, Poles, and Fundamental Modes

Math 299 Supplement: Real Analysis Nov 2013

Lecture 2: April 3, 2013

Math F215: Induction April 7, 2013

UNIT #5. Lesson #2 Arithmetic and Geometric Sequences. Lesson #3 Summation Notation. Lesson #4 Arithmetic Series. Lesson #5 Geometric Series

Summer High School 2009 Aaron Bertram

6.003 Homework #3 Solutions

Feedback in Iterative Algorithms

REGRESSION (Physics 1210 Notes, Partial Modified Appendix A)

CS276A Practice Problem Set 1 Solutions

Lecture 2 Linear and Time Invariant Systems

CALCULATING FIBONACCI VECTORS

Introduction to Signals and Systems, Part V: Lecture Summary

Vector Quantization: a Limiting Case of EM

62. Power series Definition 16. (Power series) Given a sequence {c n }, the series. c n x n = c 0 + c 1 x + c 2 x 2 + c 3 x 3 +

CALCULUS BASIC SUMMER REVIEW

Chapter Unary Matrix Operations

Goodness-of-Fit Tests and Categorical Data Analysis (Devore Chapter Fourteen)

Sequences I. Chapter Introduction

1. ARITHMETIC OPERATIONS IN OBSERVER'S MATHEMATICS

Element sampling: Part 2

Parallel Vector Algorithms David A. Padua

2D DSP Basics: 2D Systems

Intensive Algorithms Lecture 11. DFT and DP. Lecturer: Daniel A. Spielman February 20, f(n) O(g(n) log c g(n)).

Chimica Inorganica 3

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

Computability and computational complexity

Matrices and vectors

SIGNALS AND SYSTEMS I Computer Assignment 1

, then cv V. Differential Equations Elements of Lineaer Algebra Name: Consider the differential equation. and y2 cos( kx)

Discrete-Time Signals and Systems. Discrete-Time Signals and Systems. Signal Symmetry. Elementary Discrete-Time Signals.

Lecture 11: Pseudorandom functions

Quantum Computing Lecture 7. Quantum Factoring

Principle Of Superposition

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

Transcription:

CHAPTER XI- CHAPTER XI CHAPTER XI READ REE-DOC ON COURSE WEBPAGE

CHAPTER XI-2 INTRODUCTION -INTRODUCTION So far we have discussed may small compoets ad buildig blocks. Oe fial step i our buildig blocks before we ca start to piece together a microprocessor is various datapath elemets. We have already discussed portios of these datapath elemets i terms of other compoets ad buildig blocks. We will ow cosider some of these compoets ad buildig blocks i ways that will make the desig of a microprocessor a little easier i the ext chapter.

CHAPTER XI-3 REGISTER ILES REGISTER LAYOUT -INTRODUCTION A geeral m register file with m registers that are each -bits wide is illustrated below. Data I Register 0 Data Out w 0 Register r 0 w r Register m - w m r m r k w j The ad sigals idicate which register to read/write, respectively.

CHAPTER XI-4 REGISTER ILES WRITE DECODER REGISTER ILES -REGISTER LAYOUT or writig to a register, we iclude a write address with decoder. Write Address Write Eable Data I Decoder 0 m- w 0 w Register 0 Register Register m - r 0 r Data Out w m r m A give Write Address (with Write Eable = ) selects which register, 0 through m -, to store the iput from Data I.

CHAPTER XI-5 REGISTER ILES READ DECODER REGISTER ILES -REGISTER LAYOUT -WRITE DECODER or readig from a register, we iclude a read address with decoder. Data Data Register 0 I Out Read Address Read Eable Decoder 0 m- r 0 r r m w 0 w w m Register Register m - A give Read Address (with Read Eable = ) selects which register, 0 through m -, to read from ad output to Data Out. Could have multiple data outputs with multiple read address decoders.

CHAPTER XI-6 REGISTER ILES 32-BIT WORD, 32 REGISTERS REGISTER ILES -REGISTER LAYOUT -WRITE DECODER -READ DECODER or the upcomig datapath desigs i the ext chapter, we wat to have a 32x32 register file with oe write iput ad two read outputs. X ra - X read address Y ra - Y read address Z wa - Z write address X do - X data out Y do - Y data out Z di - Z data i rwe - register write eable Clk Z di Z wa X ra Y ra X do Y do Note: Two data outputs implemeted with two read address decoders. 32 rwe 5 5 5 32x32 register file 32 32

CHAPTER XI-7 ADDER/SUBTRACTOR GENERAL UNIT DIAGRAM REGISTER ILES -WRITE DECODER -READ DECODER -32X32 REGISTER ILE A -bit adder/subtractor uit is ofte illustrated as follows. Eable uit () or disable uit (0) A B adder/subtrator uit eable a s Select either additio (0) or subtractio () This uit would have full-adders iterally.

CHAPTER XI-8 ADDER/SUBTRACTOR OTHER UNIT SIGNALS REGISTER ILES ADDER/SUBTRACTOR -GENERAL UNIT DIAGRAM Other sigals ofte icluded with a adder/subtractor are show below. Carry-i or Borrow-i A C i eable C out Carry-out or Borrow-out a s B lags - Overflow - Negative (<0?) - Zero (=0?)

CHAPTER XI-9 LOGICAL UNIT INTRODUCTION REGISTER ILES ADDER/SUBTRACTOR -GENERAL UNIT DIAGRAM -OTHER UNIT SIGNALS A useful uit would be oe that ca take two -bit iputs ad perform some logical operatio betwee each of the bits to get a -bit output. or example, give the 8-bit values 000 0 ad 00 000, we might wat to fid the bit-wise logical OR. bit-wise 000 0 logical OR 00 000 00 0 Or similarly, the bit-wise logical AND of the two 8-bit values. bit-wise logical AND 000 0 00 000 000 000 These types of operatios are ofte used for maskig ad settig bits.

CHAPTER XI-0 LOGICAL UNIT GENERAL UNIT DIAGRAM REGISTER ILES ADDER/SUBTRACTOR LOGICAL UNIT -INTRODUCTION Below is a geeral uit diagram for a -bit logical uit. Eable uit () or disable uit (0) A logical uit eable L B 4 Logical uctio (L) o 2 bits Logical operatios, such as AND/OR/NOT/NAND/NOR/etc., are doe for each bit of A ad B to form.

CHAPTER XI- LOGICAL UNIT 4-BIT LOGICAL UNCTIONS (L) ADDER/SUBTRACTOR LOGICAL UNIT -INTRODUCTION -GENERAL UNIT DIAGRAM Recall the possible logic fuctios for two bits, A ad B. We ca use the colum as the 4-bit L iput for the logical uit. A B 0 2 3 4 5 6 7 8 9 0 2 3 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 AB A B A + B B A AB Null A B A B Idetity Ihibitio A + B Implicatio

CHAPTER XI-2 LOGICAL UNIT BIT SLICE IMPLEMENTATION LOGICAL UNIT -INTRODUCTION -GENERAL UNIT DIAGRAM -4-BIT LOGICAL UNCTIONS A umber of iteral implemetatios exist for the logical uit. The easiest is to use a 4-to- multiplexer for each bit as follows Take colum from previous slide as L iput L 0 L L 2 L 3 Module Eable 0 2 3 E 4X MULTIPLEXER S S 0 A B Require of these to form our -bit logical uit. Note: Whe you look at a desig for each bit, it is kow as a bit slice

CHAPTER XI-3 LOGICAL UNIT BIT SLICE IMPLEMENTATION LOGICAL UNIT -GENERAL UNIT DIAGRAM -4-BIT LOGICAL UNCTIONS -BIT SLICE IMPLEMENTAT. The followig are example L iputs for a logical uit bit slice. OR fuctio Module Eable E NAND fuctio Module Eable E A+ B 0 0 2 3 4X MULTIPLEXER AB 0 0 2 3 4X MULTIPLEXER S S 0 S S 0 A B A B

CHAPTER XI-4 SHIT UNIT INTRODUCTION LOGICAL UNIT -GENERAL UNIT DIAGRAM -4-BIT LOGICAL UNCTIONS -BIT SLICE IMPLEMENTAT. We have already discussed the bulk about shift uits i previous chapters. As give i the ree-doc, there are differet types of shift uits. Logical shift Arithmetic shift Circular shift (this is just a rotate uit) We wat to discuss a implemetatio, the barrel shifter, that will be useful i our sigle cycle datapath computer we will desig ext chapter.

CHAPTER XI-5 SHIT UNIT GENERAL UNIT DIAGRAM LOGICAL UNIT SHIT UNIT -INTRODUCTION Below is a geeral uit diagram for a -bit shift uit. -bit value to shift Eable uit () or disable uit (0) A shift uit eable +log 2 Notice that the -bit value A will be shifted accordig to the distace idicated with siged umber B. ST B 2 Distace of shift (siged #) + ive = right - ive = left Shift type 0 = logical = arithmetic 2 = rotate

CHAPTER XI-6 SHIT UNIT P-SHITER BIT SLICE LOGICAL UNIT SHIT UNIT -INTRODUCTION -GENERAL UNIT DIAGRAM Previously, we discussed the p-shifter but ot its implemetatio. A p-shifter shifts the value to the left or right by p-bits. A bit slice view of a p-shifter for th bit could be as follows. A +p s d S S 0 3 A -p A s 0 = o shift = shift 2 0 4X MULTIPLEXER E Notice that this ca ONLY shift by p-bits. It is hardwired to shift p-bits. Module Eable d 0 = left = right

CHAPTER XI-7 SHIT UNIT 2 K -SHITER BIT SLICE SHIT UNIT -INTRODUCTION -GENERAL UNIT DIAGRAM -P-SHITER BIT SLICE A useful type of p-shifter is whe p = 2 k for some positive iteger k. s d A +2 k S S 0 3 A -2 k 2 0 4X MULTIPLEXER A E Module Eable s 0 = o shift = shift d 0 = left = right A 2 k -shifter allows use to build a barrel shifter.

CHAPTER XI-8 SHIT UNIT BARREL SHITER SHIT UNIT -GENERAL UNIT DIAGRAM -P-SHITER BIT SLICE -2 K -SHITER BIT SLICE We wat to be able to shift a vector by a arbitrary distace istead of hardwired like the p-shifter ad 2 k -shifter. The top level ca shift A by bits, depedig o s. Subsequet levels ca shift result by /2 bits, depedig o their iput s q. s d s s 0 A 2 -shifter 2 -shifter 2 0 -shifter

CHAPTER XI-9 SHIT UNIT SAMPLE BARREL SHITER SHIT UNIT -P-SHITER BIT SLICE -2 K -SHITER BIT SLICE -BARREL SHITER We will do some examples with the followig arbitrary -shifter o a 6-bit iput. Note that this barrel shifter ca shift the iput by 5 bits i either directio. s 3 d A 6 s 2 6 s s 0 2 3 -shifter 2 2 -shifter 6 2 -shifter 6 2 0 -shifter 6

CHAPTER XI-20 SHIT UNIT BARREL SHITER: EXAMPLE # SHIT UNIT -2 K -SHITER BIT SLICE -BARREL SHITER -SAMPLE BARREL SHITER or example, cosider the iput of 0000 0000 0000 000 If we wat to shift this value to the left by 3, we eed the iput d = 0 s = (s 3 s 2 s s 0 ) = 0 Note: This example is for a logical shift. s 3 = d=0 s 2 = s =0 s 0 = 0000 0000 0000 000 2 3 -shifter 0000 000 0000 0000 2 2 -shifter 000 0000 0000 0000 2 -shifter 000 0000 0000 0000 2 0 -shifter 000 0000 0000 0000

CHAPTER XI-2 SHIT UNIT BARREL SHITER: EXAMPLE #2 SHIT UNIT -BARREL SHITER -SAMPLE BARREL SHITER -BARREL SHITER EX. # As aother example, cosider the iput of 00 000 0 000 If we wat to shift this value to the right by 6, we eed the iput d = s = (s 3 s 2 s s 0 ) = 00 Note: This example is for a logical shift. s 3 =0 d= s 2 = s = s 0 =0 00 000 0 000 2 3 -shifter 00 000 0 000 2 2 -shifter 0000 00 000 0 2 -shifter 0000 000 00 00 2 0 -shifter 0000 000 00 00