NxN Crossbar design for Barrel Shifter

Slides:



Advertisements
Similar presentations
Computer Engineering FloatingPoint page 1 Floating Point Number system corresponding to the decimal notation 1,837 * 10 significand exponent A great number.
Advertisements

Topics covered: Floating point arithmetic CSE243: Introduction to Computer Architecture and Hardware/Software Interface.
CS 447 – Computer Architecture Lecture 3 Computer Arithmetic (2)
Integer Arithmetic Floating Point Representation Floating Point Arithmetic Topics.
Floating Point Numbers
Computer ArchitectureFall 2008 © August 27, CS 447 – Computer Architecture Lecture 4 Computer Arithmetic (2)
1/8/ L24 IEEE Floating Point Basics Copyright Joanne DeGroat, ECE, OSU1 IEEE Floating Point The IEEE Floating Point Standard and execution.
Computer Organization and Architecture Computer Arithmetic Chapter 9.
Computer Arithmetic Nizamettin AYDIN
Computer Arithmetic. Instruction Formats Layout of bits in an instruction Includes opcode Includes (implicit or explicit) operand(s) Usually more than.
Computer Architecture Lecture 3: Logical circuits, computer arithmetics Piotr Bilski.
Computing Systems Basic arithmetic for computers.
ECE232: Hardware Organization and Design
1/8/ L24 IEEE Floating Point Basics Copyright Joanne DeGroat, ECE, OSU1 IEEE Floating Point The IEEE Floating Point Standard and execution.
07/19/2005 Arithmetic / Logic Unit – ALU Design Presentation F CSE : Introduction to Computer Architecture Slides by Gojko Babić.
Oct. 18, 2007SYSC 2001* - Fall SYSC2001-Ch9.ppt1 See Stallings Chapter 9 Computer Arithmetic.
9.4 FLOATING-POINT REPRESENTATION
Conversion to Larger Number of Bits Ex: Immediate Field (signed 16 bit) to 32 bit Positive numbers have implied 0’s to the left. So, put 16 bit number.
Lecture notes Reading: Section 3.4, 3.5, 3.6 Multiplication
Computer Arithmetic Floating Point. We need a way to represent –numbers with fractions, e.g., –very small numbers, e.g., –very large.
Computer Arithmetic See Stallings Chapter 9 Sep 10, 2009
Computer Engineering FloatingPoint page 1 Floating Point Number system corresponding to the decimal notation 1,837 * 10 significand exponent A great number.
CS 232: Computer Architecture II Prof. Laxmikant (Sanjay) Kale Floating point arithmetic.
S 2/e C D A Computer Systems Design and Architecture Second Edition© 2004 Prentice Hall Chapter 6 Overview Number Systems and Radix Conversion Fixed point.
1 CE 454 Computer Architecture Lecture 4 Ahmed Ezzat The Digital Logic, Ch-3.1.
Floating Point Arithmetic – Part I
Chapter 9 Computer Arithmetic
William Stallings Computer Organization and Architecture 8th Edition
Floating Point Representations
Lecture 9: Floating Point
Floating Point Operations
Floating Point Number system corresponding to the decimal notation
CS 232: Computer Architecture II
CS/COE0447 Computer Organization & Assembly Language
Morgan Kaufmann Publishers
PRESENTED BY J.SARAVANAN. Introduction: Objective: To provide hardware support for floating point arithmetic. To understand how to represent floating.
William Stallings Computer Organization and Architecture 7th Edition
Chapter 6 Floating Point
ECE/CS 552: Floating Point
Data Representation and Arithmetic Algorithms
Number Representations
Data Representation Data Types Complements Fixed Point Representation
The IEEE Floating Point Standard and execution units for it
Arithmetic Logical Unit
Floating Point Arithmetic
How to represent real numbers
How to represent real numbers
ECEG-3202 Computer Architecture and Organization
Data Representation and Arithmetic Algorithms
Computer Architecture
IEEE Floating Point Adder
Chapter 8 Computer Arithmetic
The IEEE Floating Point Standard and execution units for it
Number Representations
Floating Point Arithmetic
Lecture 9: Shift, Mult, Div Fixed & Floating Point
Presentation transcript:

NxN Crossbar design for Barrel Shifter Tri-state buffer Decoder x0 x2 x1 y0 y2 y1 Shift count X-input Y-output … Decoder selects the shift amount Number of gates: O(N2) Delay: O(1) …

Shift and Rotate Hardware

Review

CS501 Advanced Computer Architecture Lecture 36 Dr.Noor Muhammad Sheikh

Logarithmic Barrel Shifter A shift/bypass cell Shift Count Input Word Output Bypass/Shift 1 bit right Bypass/Shift 2 bit right Bypass/Shift 4 bit right Bypass/Shift 8 bit right Bypass/Shift 16 bit right Number of gates: O(NlogN) Delay: O(logN)

Block diagram of an ALU MUX MUX Shifter x Logic Z Y CONTROL Condition Shift count Shifter Condition codes MUX n x MUX Logic Z n Y n CONTROL Arithmetic OPCODE

Floating-point representation Floating-point numbers have two parts The Significand The Exponent e.g. consider the number -5.7x10-3 The Exponent Sign is negative The Significand or Mantissa Base is 10; fixed for a given representation

Floating-Point Representation A common layout for floating-point number is sign exponent fraction s e f 1 me mf M bits The Bias or excess representation s=1floating point numbers negative s=0floating point number is positive me = number of bits in exponent field mf = number of bits in fraction field Value(s,e,f) = (-1)s x f x 2e

Continued Floating point numbers are generally represented by sign and magnitude form. Exponent could be represented in the form of 2’s complement, but it gives some complications, e.g. complications in case of sorting algorithms. The solution to the complications is biased representation.

Floating-point representation Bias representation In bias, or excess representation, a number is added to the exponent so that the result is always positive Biased representation is useful for normalized numbers Instead of bias, two’s complement form can also be used to represent the exponent

IEEE 32 bit single precision format f1f2…f23 sign exponent fraction 31 1 8 9 Fraction bits of significand including the hidden bit Positive values between 0 to 255 with bias=127 The IEEE standard floating point numbers can be either nomalized or denormalized. The denormalized number does not have a hidden bit

Types and values represented by IEEE Single-precision format 255 none NaN 254 127 (-1)sx(1.f1.f2…)x2127 Normalized … 2 -125 (-1)sx(1.f1.f2…)x2-125 1 -126 (-1)sx(1.f1.f2…)x2-126 -127 Denormalized

Range of possible numbers Positive underflow 0 to (0.5 x 10-128) Negative underflow (-0.5 x 10-128 ) to 0

Floating point Addition and Subtraction The steps taken in floating point addition or subtraction are Unpacking of sign, exponent and fraction fields Alignment of significant Addition or subtraction operation Adjusting for carry Rounding off the result Overflow checking and packing

Floating Point Addition 0.510 , -0.437510 Binary : 0.510 = 1/210= 0.12= 1.000 x 2-1 -0.437510= -7/1610 = -7/24= -0.01112 = - 1.110 x 2-2 Align: -1.110 x 2-2 → -0.111 x 2-1 Addition: 1.000 x 2-1 + (-0.111 x 2-1) = 0.001 x 2-1 Normalization of Sum: 0.001 2 X 2-1 = 0.0102 x 2-2 = 1.000 2 x 2-4

Floating point Add/Sub Hardware Exponent Subtractor Swap Alignment Shifter Significand Adder/sub Normalize and round Lead zero counter Subtract and bias select Sign computation e1 e2 f1 f2 s1 s2 FA/FS er sr fr For alignment And normalization

Floating Point Multiplication and Division The floating point multiply procedure is as follows Unpack sign, exponent and significands Apply xor operation to signs, add exponents, Multiply significands Normalize, round And shift Adjust for overflow Pack the result and report exceptions

Floating Point Multiplication and Division The floating point divide procedure is as follows Unpack sign, exponent and significands Apply xor operation to signs, subtract exponents, divide significands Normalize, round And shift Adjust for overflow Pack the result and report exceptions