Floats are not Reals. BIL 220 Introduc6on to Systems Programming Spring Instructors: Aykut & Erkut Erdem
|
|
- Ethan Sparks
- 5 years ago
- Views:
Transcription
1 Floats are not Reals BIL 220 Introduc6on to Systems Programming Spring 2012 Instructors: Aykut & Erkut Erdem Acknowledgement: The course slides are adapted from the slides prepared by R.E. Bryant, D.R. O Hallaron, G. Kesden and Markus Püschel of Carnegie- Mellon Univ.
2 Today: Floa8ng Point Background: Frac6onal binary numbers IEEE floa6ng point standard: Defini6on Example and proper6es Rounding, addi6on, mul6plica6on Floa6ng point in C Summary 2
3 Frac8onal binary numbers What is ? 3
4 Frac8onal Binary Numbers 2 i 2 i bi bi- 1 b2 b1 b0 b- 1 b- 2 b- 3 b- j 1/2 1/4 1/8 Representa6on 2 - j Bits to right of binary point represent frac6onal powers of 2 Represents ra6onal number: 4
5 Frac8onal Binary Numbers: Examples Value Representa6on 5 3/ / / Observa6ons Divide by 2 by shiding right Mul6ply by 2 by shiding led Numbers of form are just below 1.0 1/2 + 1/4 + 1/ /2 i Use nota6on 1.0 ε 5
6 Representable Numbers Limita6on Can only exactly represent numbers of the form x/2 k Other ra6onal numbers have repea6ng bit representa6ons Value Representa6on 1/ [01] 2 1/ [0011] 2 1/ [0011] 2 6
7 Today: Floa8ng Point Background: Frac6onal binary numbers IEEE floa6ng point standard: Defini6on Example and proper6es Rounding, addi6on, mul6plica6on Floa6ng point in C Summary 7
8 IEEE Floa8ng Point IEEE Standard 754 Established in 1985 as uniform standard for floa6ng point arithme6c Before that, many idiosyncra6c formats Supported by all major CPUs Driven by numerical concerns Nice standards for rounding, overflow, underflow Hard to make fast in hardware Numerical analysts predominated over hardware designers in defining standard 8
9 Floa8ng Point Representa8on Numerical Form: ( 1) s M 2 E Sign bit s determines whether number is nega6ve or posi6ve Significand M normally a frac6onal value in range [1.0,2.0). Exponent E weights value by power of two Encoding MSB s is sign bit s exp field encodes E (but is not equal to E) frac field encodes M (but is not equal to M) s exp frac 9
10 Precisions Single precision: 32 bits s exp frac 1 8-bits 23-bits Double precision: 64 bits s exp frac 1 11-bits 52-bits Extended precision: 80 bits (Intel only) s exp frac 1 15-bits 63 or 64-bits 10
11 Normalized Values Condi6on: exp and exp Exponent coded as biased value: E = Exp Bias Exp: unsigned value exp Bias = 2 k- 1-1, where k is number of exponent bits Single precision: 127 (Exp: 1 254, E: ) Double precision: 1023 (Exp: , E: ) Significand coded with implied leading 1: M = 1.xxx x2 xxx x: bits of frac Minimum when (M = 1.0) Maximum when (M = 2.0 ε) Get extra leading bit for free 11
12 Normalized Encoding Example Value: Float F = ; = = x 2 13 Significand M = frac= Exponent E = 13 Bias = 127 Exp = 140 = Result: s exp frac 12
13 Denormalized Values Condi6on: exp = Exponent value: E = Bias + 1 (instead of E = 0 Bias) Significand coded with implied leading 0: M = 0.xxx x2 xxx x: bits of frac Cases exp = 000 0, frac = Represents zero value Note dis6nct values: +0 and 0 (why?) exp = 000 0, frac Numbers very close to 0.0 Lose precision as get smaller Equispaced 13
14 Special Values Condi6on: exp = Case: exp = 111 1, frac = Represents value (infinity) Opera6on that overflows Both posi6ve and nega6ve E.g., 1.0/0.0 = 1.0/ 0.0 = +, 1.0/ 0.0 = Case: exp = 111 1, frac Not- a- Number (NaN) Represents case when no numeric value can be determined E.g., sqrt( 1),, 0 14
15 Visualiza8on: Floa8ng Point Encodings Normalized Denorm +Denorm +Normalized + NaN NaN 15
16 Today: Floa8ng Point Background: Frac6onal binary numbers IEEE floa6ng point standard: Defini6on Example and proper6es Rounding, addi6on, mul6plica6on Floa6ng point in C Summary 16
17 Tiny Floa8ng Point Example s exp frac 1 4-bits 3-bits 8- bit Floa6ng Point Representa6on the sign bit is in the most significant bit the next four bits are the exponent, with a bias of 7 the last three bits are the frac Same general form as IEEE Format normalized, denormalized representa6on of 0, NaN, infinity 17
18 Crea8ng Floa8ng Point Number Steps Normalize to have leading 1 Round to fit within frac6on Postnormalize to deal with effects of rounding s exp frac 1 4-bits 3-bits Case Study Convert 8- bit unsigned numbers to 6ny floa6ng point format Example Numbers
19 Normalize Requirement Set binary point so that numbers of form 1.xxxxx Adjust all to have leading one Decrement exponent as shid led Value Binary Frac6on Exponent s exp frac 1 4-bits 3-bits 19
20 Dynamic Range (Posi8ve Only) s exp frac E Value Denormalized numbers Normalized numbers /8*1/64 = 1/ /8*1/64 = 2/ /8*1/64 = 6/ /8*1/64 = 7/ /8*1/64 = 8/ /8*1/64 = 9/ /8*1/2 = 14/ /8*1/2 = 15/ /8*1 = /8*1 = 9/ /8*1 = 10/ /8*128 = /8*128 = n/a inf closest to zero largest denorm smallest norm closest to 1 below closest to 1 above largest norm 20
21 Distribu8on of Values 6- bit IEEE- like format e = 3 exponent bits f = 2 frac6on bits Bias is = 3 s exp frac 1 3-bits 2-bits No6ce how the distribu6on gets denser toward zero. 8 values Denormalized Normalized Infinity 21
22 Distribu8on of Values (close- up view) 6- bit IEEE- like format e = 3 exponent bits f = 2 frac6on bits Bias is 3 s exp frac 1 3-bits 2-bits Denormalized Normalized Infinity 22
23 Interes8ng Numbers {single,double} Descrip.on exp frac Numeric Value Zero Smallest Pos. Denorm {23,52} x 2 {126,1022} Single 1.4 x Double 4.9 x Largest Denormalized (1.0 ε) x 2 {126,1022} Single 1.18 x Double 2.2 x Smallest Pos. Normalized x 2 {126,1022} Just larger than largest denormalized One Largest Normalized (2.0 ε) x 2 {127,1023} Single 3.4 x Double 1.8 x
24 Special Proper8es of Encoding FP Zero Same as Integer Zero All bits = 0 Can (Almost) Use Unsigned Integer Comparison Must first compare sign bits Must consider 0 = 0 NaNs problema6c Will be greater than any other values What should comparison yield? Otherwise OK Denorm vs. normalized Normalized vs. infinity 24
25 Today: Floa8ng Point Background: Frac6onal binary numbers IEEE floa6ng point standard: Defini6on Example and proper6es Rounding, addi6on, mul6plica6on Floa6ng point in C Summary 25
26 Floa8ng Point Opera8ons: Basic Idea x +f y = Round(x + y) x f y = Round(x y) Basic idea First compute exact result Make it fit into desired precision Possibly overflow if exponent too large Possibly round to fit into frac 26
27 Rounding Rounding Modes (illustrate with $ rounding) $1.40 $1.60 $1.50 $2.50 $1.50 Towards zero $1 $1 $1 $2 $1 Round down ( ) $1 $1 $1 $2 $2 Round up (+ ) $2 $2 $2 $3 $1 Nearest Even (default) $1 $2 $2 $2 $2 What are the advantages of the modes? 27
28 Closer Look at Round- To- Even Default Rounding Mode Hard to get any other kind without dropping into assembly All others are sta6s6cally biased Sum of set of posi6ve numbers will consistently be over- or under- es6mated Applying to Other Decimal Places / Bit Posi6ons When exactly halfway between two possible values Round so that least significant digit is even E.g., round to nearest hundredth (Less than half way) (Greater than half way) (Half way round up) (Half way round down) 28
29 Rounding Binary Numbers Binary Frac6onal Numbers Even when least significant bit is 0 Half way when bits to right of rounding posi6on = Examples Round to nearest 1/4 (2 bits right of binary point) Value Binary Rounded Ac6on Rounded Value 2 3/ (<1/2 down) 2 2 3/ (>1/2 up) 2 1/4 2 7/ ( 1/2 up) 3 2 5/ ( 1/2 down) 2 1/2 29
30 Rounding 1.BBGRXXX Guard bit: LSB of result Round bit: 1 st bit removed S6cky bit: OR of remaining bits Round up condi6ons Round = 1, S6cky = 1 > 0.5 Guard = 1, Round = 1, S6cky = 0 Round to even Value Frac6on GRS Incr? Rounded N N N Y Y Y
31 Postnormalize Issue Rounding may have caused overflow Handle by shiding right once & incremen6ng exponent Value Rounded Exp Adjusted Result /
32 FP Mul8plica8on ( 1) s1 M1 2 E1 x ( 1) s2 M2 2 E2 Exact Result: ( 1) s M 2 E Sign s: s1 ^ s2 Significand M: M1 x M2 Exponent E: E1 + E2 Fixing If M 2, shid M right, increment E If E out of range, overflow Round M to fit frac precision Implementa6on Biggest chore is mul6plying significands 32
33 Floa8ng Point Addi8on ( 1) s1 M1 2 E1 + (- 1) s2 M2 2 E2 Assume E1 > E2 Exact Result: ( 1) s M 2 E Sign s, significand M: Result of signed align & add Exponent E: E1 + ( 1) s1 M1 ( 1) s M E1 E2 ( 1) s2 M2 Fixing If M 2, shid M right, increment E if M < 1, shid M led k posi6ons, decrement E by k Overflow if E out of range Round M to fit frac precision 33
34 Mathema8cal Proper8es of FP Add Compare to those of Abelian Group Closed under addi6on But may generate infinity or NaN Commuta6ve NOT Associa6ve Overflow and inexactness of rounding 0 is addi6ve iden6ty Every element has addi6ve inverse Except for infini6es & NaNs Monotonicity a b a+c b+c? Except for infini6es & NaNs Yes Yes No Yes Almost Almost 34
35 Mathema8cal Proper8es of FP Mult Compare to Commuta6ve Ring Closed under mul6plica6on But may generate infinity or NaN Mul6plica6on Commuta6ve Mul6plica6on is NOT Associa6ve Possibility of overflow, inexactness of rounding 1 is mul6plica6ve iden6ty Mul6plica6on does not distribute over addi6on Possibility of overflow, inexactness of rounding Yes Yes No Yes No Monotonicity a b & c 0 a * c b *c? Except for infini6es & NaNs Almost 35
36 Today: Floa8ng Point Background: Frac6onal binary numbers IEEE floa6ng point standard: Defini6on Example and proper6es Rounding, addi6on, mul6plica6on Floa6ng point in C Summary 36
37 Floa8ng Point in C C Guarantees Two Levels float single precision double double precision Conversions/Cas6ng Cas6ng between int, float, and double changes bit representa6on double/float int Truncates frac6onal part Like rounding toward zero Not defined when out of range or NaN: Generally sets to TMin int double Exact conversion, as long as int has 53 bit word size int float Will round according to rounding mode 37
38 Ariane 5: A Bug and A Crash On June 4, 1996, Ariane 5 rocket self destructed just ader 37 seconds ader lidoff Cost: $500 million Cause: An overflow in the conversion from a 64 bit floa6ng point number to a 16 bit signed integer A design flaw: 5 6mes faster than Ariane 4 Reused same sodware specifica6ons from Ariane 4 Ariane 4 assumes horizontal velocity would never overflow a 16- bit number Fourmy/REA/SABA/Corbis 38
39 Floa8ng Point Puzzles For each of the following C expressions, either: Argue that it is true for all argument values Explain why not true x == (int)(float) x int x = ; float f = ; double d = ; Assume neither d nor f is NaN x == (int)(double) x f == (float)(double) f d == (float) d f == -(-f); 2/3 == 2/3.0 d < 0.0 ((d*2) < 0.0) True (OF? d > f -f > -d d * d >= 0.0 (d+f)-d == f False True True False True False True True (OF? False 39
40 Today: Floa8ng Point Background: Frac6onal binary numbers IEEE floa6ng point standard: Defini6on Example and proper6es Rounding, addi6on, mul6plica6on Floa6ng point in C Summary 40
41 Summary IEEE Floa6ng Point has clear mathema6cal proper6es Represents numbers of form M x 2 E One can reason about opera6ons independent of implementa6on As if computed with perfect precision and then rounded Not the same as real arithme6c Violates associa6vity/distribu6vity Makes life difficult for compilers & serious numerical applica6ons programmers 41
42 Reading Assignment What Every Computer Scientist Should Know About Floating-Point Arithmetic DAVID GOLDBERG Xerox Palo Alto Research Center, 3333 Coyote Hill Road, Palo Alto, CalLfornLa Floating-point arithmetic is considered an esotoric subject by many people. This is rather surprising, because floating-point is ubiquitous in computer systems: Almost every language has a floating-point datatype; computers from PCs to supercomputers have floating-point accelerators; most compilers will be called upon to compile floating-point algorithms from time to time; and virtually every operating system must respond to floating-point exceptions such as overflow This paper presents a tutorial on the aspects of floating-point that have a direct impact on designers of computer systems. It begins with background on floating-point representation and rounding error, continues with a discussion of the IEEE floating-point standard, and concludes with examples of how computer system builders can better support floating point, ACM Compu6ng Surveys, Vol. 23, No 1, March
Floa.ng Point : Introduc;on to Computer Systems 4 th Lecture, Sep. 10, Instructors: Randal E. Bryant and David R.
Floa.ng Point 15-213: Introduc;on to Computer Systems 4 th Lecture, Sep. 10, 2015 Instructors: Randal E. Bryant and David R. O Hallaron Today: Floa.ng Point Background: Frac;onal binary numbers IEEE floa;ng
More informationFloating Point. CSE 238/2038/2138: Systems Programming. Instructor: Fatma CORUT ERGİN. Slides adapted from Bryant & O Hallaron s slides
Floating Point CSE 238/2038/2138: Systems Programming Instructor: Fatma CORUT ERGİN Slides adapted from Bryant & O Hallaron s slides Today: Floating Point Background: Fractional binary numbers IEEE floating
More informationBryant and O Hallaron, Computer Systems: A Programmer s Perspective, Third Edition. Carnegie Mellon
Carnegie Mellon Floating Point 15-213/18-213/14-513/15-513: Introduction to Computer Systems 4 th Lecture, Sept. 6, 2018 Today: Floating Point Background: Fractional binary numbers IEEE floating point
More informationFloating Point : Introduction to Computer Systems 4 th Lecture, May 25, Instructor: Brian Railing. Carnegie Mellon
Floating Point 15-213: Introduction to Computer Systems 4 th Lecture, May 25, 2018 Instructor: Brian Railing Today: Floating Point Background: Fractional binary numbers IEEE floating point standard: Definition
More informationData Representa+on: Floa+ng Point Numbers
Data Representa+on: Floa+ng Point Numbers Csci 2021 - Machine Architecture and Organiza+on Professor Pen- Chung Yew With sides from Randy Bryant and Dave O Hallaron 1 Floa+ng Point Numbers Background:
More informationToday: Floating Point. Floating Point. Fractional Binary Numbers. Fractional binary numbers. bi bi 1 b2 b1 b0 b 1 b 2 b 3 b j
Floating Point 15 213: Introduction to Computer Systems 4 th Lecture, Jan 24, 2013 Instructors: Seth Copen Goldstein, Anthony Rowe, Greg Kesden 2 Fractional binary numbers What is 1011.101 2? Fractional
More informationGiving credit where credit is due
CSCE 230J Computer Organization Floating Point Dr. Steve Goddard goddard@cse.unl.edu http://cse.unl.edu/~goddard/courses/csce230j Giving credit where credit is due Most of slides for this lecture are based
More informationGiving credit where credit is due
JDEP 284H Foundations of Computer Systems Floating Point Dr. Steve Goddard goddard@cse.unl.edu Giving credit where credit is due Most of slides for this lecture are based on slides created by Drs. Bryant
More informationSystems I. Floating Point. Topics IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties
Systems I Floating Point Topics IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties IEEE Floating Point IEEE Standard 754 Established in 1985 as uniform standard for
More informationFloating Point Puzzles. Lecture 3B Floating Point. IEEE Floating Point. Fractional Binary Numbers. Topics. IEEE Standard 754
Floating Point Puzzles Topics Lecture 3B Floating Point IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties For each of the following C expressions, either: Argue that
More informationFoundations of Computer Systems
18-600 Foundations of Computer Systems Lecture 4: Floating Point Required Reading Assignment: Chapter 2 of CS:APP (3 rd edition) by Randy Bryant & Dave O Hallaron Assignments for This Week: Lab 1 18-600
More informationFloating Point (with contributions from Dr. Bin Ren, William & Mary Computer Science)
Floating Point (with contributions from Dr. Bin Ren, William & Mary Computer Science) Floating Point Background: Fractional binary numbers IEEE floating point standard: Definition Example and properties
More informationRoadmap. The Interface CSE351 Winter Frac3onal Binary Numbers. Today s Topics. Floa3ng- Point Numbers. What is ?
The Hardware/So@ware Interface CSE351 Winter 013 Floa3ng- Point Numbers Roadmap C: car *c = malloc(sizeof(car)); c->miles = 100; c->gals = 17; float mpg = get_mpg(c); free(c); Assembly language: Machine
More informationFloating Point January 24, 2008
15-213 The course that gives CMU its Zip! Floating Point January 24, 2008 Topics IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties class04.ppt 15-213, S 08 Floating
More informationSystem Programming CISC 360. Floating Point September 16, 2008
System Programming CISC 360 Floating Point September 16, 2008 Topics IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties Powerpoint Lecture Notes for Computer Systems:
More informationFloating Point Puzzles The course that gives CMU its Zip! Floating Point Jan 22, IEEE Floating Point. Fractional Binary Numbers.
class04.ppt 15-213 The course that gives CMU its Zip! Topics Floating Point Jan 22, 2004 IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties Floating Point Puzzles For
More informationData Representation Floating Point
Data Representation Floating Point CSCI 2400 / ECE 3217: Computer Architecture Instructor: David Ferry Slides adapted from Bryant & O Hallaron s slides via Jason Fritts Today: Floating Point Background:
More informationFloating Point Puzzles. Lecture 3B Floating Point. IEEE Floating Point. Fractional Binary Numbers. Topics. IEEE Standard 754
Floating Point Puzzles Topics Lecture 3B Floating Point IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties For each of the following C expressions, either: Argue that
More informationData Representation Floating Point
Data Representation Floating Point CSCI 2400 / ECE 3217: Computer Architecture Instructor: David Ferry Slides adapted from Bryant & O Hallaron s slides via Jason Fritts Today: Floating Point Background:
More informationFloating point. Today. IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties Next time.
Floating point Today IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties Next time The machine model Fabián E. Bustamante, Spring 2010 IEEE Floating point Floating point
More informationChapter 2 Float Point Arithmetic. Real Numbers in Decimal Notation. Real Numbers in Decimal Notation
Chapter 2 Float Point Arithmetic Topics IEEE Floating Point Standard Fractional Binary Numbers Rounding Floating Point Operations Mathematical properties Real Numbers in Decimal Notation Representation
More informationCS429: Computer Organization and Architecture
CS429: Computer Organization and Architecture Dr. Bill Young Department of Computer Sciences University of Texas at Austin Last updated: September 18, 2017 at 12:48 CS429 Slideset 4: 1 Topics of this Slideset
More informationComputer Organization: A Programmer's Perspective
A Programmer's Perspective Representing Numbers Gal A. Kaminka galk@cs.biu.ac.il Fractional Binary Numbers 2 i 2 i 1 4 2 1 b i b i 1 b 2 b 1 b 0. b 1 b 2 b 3 b j 1/2 1/4 1/8 Representation Bits to right
More informationFloating point. Today! IEEE Floating Point Standard! Rounding! Floating Point Operations! Mathematical properties. Next time. !
Floating point Today! IEEE Floating Point Standard! Rounding! Floating Point Operations! Mathematical properties Next time! The machine model Chris Riesbeck, Fall 2011 Checkpoint IEEE Floating point Floating
More informationData Representation Floating Point
Data Representation Floating Point CSCI 224 / ECE 317: Computer Architecture Instructor: Prof. Jason Fritts Slides adapted from Bryant & O Hallaron s slides Today: Floating Point Background: Fractional
More informationFloating Point Numbers
Floating Point Floating Point Numbers Mathematical background: tional binary numbers Representation on computers: IEEE floating point standard Rounding, addition, multiplication Kai Shen 1 2 Fractional
More informationFloating Point Numbers
Floating Point Numbers Computer Systems Organization (Spring 2016) CSCI-UA 201, Section 2 Instructor: Joanna Klukowska Slides adapted from Randal E. Bryant and David R. O Hallaron (CMU) Mohamed Zahran
More informationFloating Point Numbers
Floating Point Numbers Computer Systems Organization (Spring 2016) CSCI-UA 201, Section 2 Fractions in Binary Instructor: Joanna Klukowska Slides adapted from Randal E. Bryant and David R. O Hallaron (CMU)
More informationThe course that gives CMU its Zip! Floating Point Arithmetic Feb 17, 2000
15-213 The course that gives CMU its Zip! Floating Point Arithmetic Feb 17, 2000 Topics IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties IA32 floating point Floating
More informationCS 33. Data Representation (Part 3) CS33 Intro to Computer Systems VIII 1 Copyright 2018 Thomas W. Doeppner. All rights reserved.
CS 33 Data Representation (Part 3) CS33 Intro to Computer Systems VIII 1 Copyright 2018 Thomas W. Doeppner. All rights reserved. Byte-Oriented Memory Organization 00 0 FF F Programs refer to data by address
More informationRepresenting and Manipulating Floating Points
Representing and Manipulating Floating Points Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu The Problem How to represent fractional values with
More informationRepresenting and Manipulating Floating Points
Representing and Manipulating Floating Points Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE23: Introduction to Computer Systems, Spring 218,
More informationFloating Point. CENG331 - Computer Organization. Instructors: Murat Manguoglu (Section 1)
Floating Point CENG331 - Computer Organization Instructors: Murat Manguoglu (Section 1) Adapted from slides of the textbook: http://csapp.cs.cmu.edu/ Today: Floating Point Background: Fractional binary
More informationRepresenting and Manipulating Floating Points. Computer Systems Laboratory Sungkyunkwan University
Representing and Manipulating Floating Points Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu The Problem How to represent fractional values with
More informationRepresenting and Manipulating Floating Points
Representing and Manipulating Floating Points Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu The Problem How to represent fractional values with
More informationRepresenting and Manipulating Floating Points. Jo, Heeseung
Representing and Manipulating Floating Points Jo, Heeseung The Problem How to represent fractional values with finite number of bits? 0.1 0.612 3.14159265358979323846264338327950288... 2 Fractional Binary
More informationComputer Architecture Chapter 3. Fall 2005 Department of Computer Science Kent State University
Computer Architecture Chapter 3 Fall 2005 Department of Computer Science Kent State University Objectives Signed and Unsigned Numbers Addition and Subtraction Multiplication and Division Floating Point
More informationFloating Point. CSE 351 Autumn Instructor: Justin Hsia
Floating Point CSE 351 Autumn 2016 Instructor: Justin Hsia Teaching Assistants: Chris Ma Hunter Zahn John Kaltenbach Kevin Bi Sachin Mehta Suraj Bhat Thomas Neuman Waylon Huang Xi Liu Yufang Sun http://xkcd.com/899/
More informationUNIT IV: DATA PATH DESIGN
UNIT IV: DATA PATH DESIGN Agenda Introduc/on Fixed Point Arithme/c Addi/on Subtrac/on Mul/plica/on & Serial mul/plier Division & Serial Divider Two s Complement (Addi/on, Subtrac/on) Booth s algorithm
More informationFloating Point. CSE 351 Autumn Instructor: Justin Hsia
Floating Point CSE 351 Autumn 2017 Instructor: Justin Hsia Teaching Assistants: Lucas Wotton Michael Zhang Parker DeWilde Ryan Wong Sam Gehman Sam Wolfson Savanna Yee Vinny Palaniappan Administrivia Lab
More informationOutline. Integer representa+on and opera+ons Bit opera+ons Floa+ng point numbers. Reading Assignment:
Outline Integer representa+on and opera+ons Bit opera+ons Floa+ng point numbers Reading Assignment: Chapter 2 Integer & Float Number Representa+on related content (Sec+on 2.2, 2.3, 2.4) 1 Why we need to
More informationOutline. Integer representa+on and opera+ons Bit opera+ons Floa+ng point numbers. Reading Assignment:
Outline Integer representa+on and opera+ons Bit opera+ons Floa+ng point numbers Reading Assignment: Chapter 2 Integer & Float Number Representa+on related content (Sec+on 2.2, 2.3, 2.4) 1 Why we need to
More informationInts and Floating Point
Ints and Floating Point CSE 351 Winter 2017 http://xkcd.com/899/ Administriia Lab 1 due Friday How is it going? HW 1 out today Numerical representation and executable inspection 2 Using Shifts and Masks
More informationWriting a Fraction Class
Writing a Fraction Class So far we have worked with floa0ng-point numbers but computers store binary values, so not all real numbers can be represented precisely In applica0ons where the precision of real
More informationFloating Point. CSE 351 Autumn Instructor: Justin Hsia
Floating Point CSE 351 Autumn 2017 Instructor: Justin Hsia Teaching Assistants: Lucas Wotton Michael Zhang Parker DeWilde Ryan Wong Sam Gehman Sam Wolfson Savanna Yee Vinny Palaniappan http://xkcd.com/571/
More informationUp next. Midterm. Today s lecture. To follow
Up next Midterm Next Friday in class Exams page on web site has info + practice problems Excited for you to rock the exams like you have been the assignments! Today s lecture Back to numbers, bits, data
More informationSystems Programming and Computer Architecture ( )
(252-0061-00) Session 9 Floating Point Systems Group Department of Computer Science ETH Zürich 1 Floating Point Recap for the Assignment 2 Floating Point Representation Numerical Form Scientific Notation
More informationFloating-Point Data Representation and Manipulation 198:231 Introduction to Computer Organization Lecture 3
Floating-Point Data Representation and Manipulation 198:231 Introduction to Computer Organization Instructor: Nicole Hynes nicole.hynes@rutgers.edu 1 Fixed Point Numbers Fixed point number: integer part
More informationInteger Representation Floating point Representation Other data types
Chapter 2 Bits, Data Types & Operations Integer Representation Floating point Representation Other data types Why do Computers use Base 2? Base 10 Number Representation Natural representation for human
More informationEE 109 Unit 19. IEEE 754 Floating Point Representation Floating Point Arithmetic
1 EE 109 Unit 19 IEEE 754 Floating Point Representation Floating Point Arithmetic 2 Floating Point Used to represent very small numbers (fractions) and very large numbers Avogadro s Number: +6.0247 * 10
More informationFloating Point Numbers
Floating Point Numbers Summer 8 Fractional numbers Fractional numbers fixed point Floating point numbers the IEEE 7 floating point standard Floating point operations Rounding modes CMPE Summer 8 Slides
More informationMain Memory Organization
Main Memory Organization Bit Smallest piece of memory Stands for binary digit Has values 0 (off) or 1 (on) Byte Is 8 consecu>ve bits Word Usually 4 consecu>ve bytes Has an address 8 bits 0 1 1 0 0 1 1
More informationFloating Point Arithmetic
Floating Point Arithmetic CS 365 Floating-Point What can be represented in N bits? Unsigned 0 to 2 N 2s Complement -2 N-1 to 2 N-1-1 But, what about? very large numbers? 9,349,398,989,787,762,244,859,087,678
More informationFloa=ng- Point Numbers
ECPE 170 Jeff Shafer University of the Pacific Floa=ng- Point Numbers 2 Schedule Today Finish up Floa=ng- Point Numbers Homework #3 assigned Monday Character representa=on Homework #2 due Quiz #1 Wednesday
More informationCOMP2611: Computer Organization. Data Representation
COMP2611: Computer Organization Comp2611 Fall 2015 2 1. Binary numbers and 2 s Complement Numbers 3 Bits: are the basis for binary number representation in digital computers What you will learn here: How
More informationRepresenta7on of integers: unsigned and signed Conversion, cas7ng Expanding, trunca7ng Addi7on, nega7on, mul7plica7on, shiaing
Today s Topics Representa7on of integers: unsigned and signed Conversion, cas7ng Expanding, trunca7ng Addi7on, nega7on, mul7plica7on, shiaing CSE351 Inaugural Edi7on Spring 2010 1 Encoding Integers C short
More informationBits, Bytes, and Integers
Bits, Bytes, and Integers B&O Readings: 2.1-2.3 CSE 361: Introduc=on to Systems So@ware Instructor: I- Ting Angelina Le e Note: these slides were originally created by Markus Püschel at Carnegie Mellon
More informationEE 109 Unit 20. IEEE 754 Floating Point Representation Floating Point Arithmetic
1 EE 109 Unit 20 IEEE 754 Floating Point Representation Floating Point Arithmetic 2 Floating Point Used to represent very small numbers (fractions) and very large numbers Avogadro s Number: +6.0247 * 10
More informationCS 6210 Fall 2016 Bei Wang. Lecture 4 Floating Point Systems Continued
CS 6210 Fall 2016 Bei Wang Lecture 4 Floating Point Systems Continued Take home message 1. Floating point rounding 2. Rounding unit 3. 64 bit word: double precision (IEEE standard word) 4. Exact rounding
More informationCSCI 402: Computer Architectures. Arithmetic for Computers (3) Fengguang Song Department of Computer & Information Science IUPUI.
CSCI 402: Computer Architectures Arithmetic for Computers (3) Fengguang Song Department of Computer & Information Science IUPUI 3.5 Today s Contents Floating point numbers: 2.5, 10.1, 100.2, etc.. How
More informationIntegers and Floating Point
CMPE12 More about Numbers Integers and Floating Point (Rest of Textbook Chapter 2 plus more)" Review: Unsigned Integer A string of 0s and 1s that represent a positive integer." String is X n-1, X n-2,
More informationReview: MULTIPLY HARDWARE Version 1. ECE4680 Computer Organization & Architecture. Divide, Floating Point, Pentium Bug
ECE468 ALU-III.1 2002-2-27 Review: MULTIPLY HARDWARE Version 1 ECE4680 Computer Organization & Architecture 64-bit Multiplicand reg, 64-bit ALU, 64-bit Product reg, 32-bit multiplier reg Divide, Floating
More informationArithmetic for Computers. Hwansoo Han
Arithmetic for Computers Hwansoo Han Arithmetic for Computers Operations on integers Addition and subtraction Multiplication and division Dealing with overflow Floating-point real numbers Representation
More informationMidterm Exam Answers Instructor: Randy Shepherd CSCI-UA.0201 Spring 2017
Section 1: Multiple choice (select any that apply) - 20 points 01. Representing 10 using the 4 byte unsigned integer encoding and using 4 byte two s complements encoding yields the same bit pattern. (a)
More informationFloating Point. The World is Not Just Integers. Programming languages support numbers with fraction
1 Floating Point The World is Not Just Integers Programming languages support numbers with fraction Called floating-point numbers Examples: 3.14159265 (π) 2.71828 (e) 0.000000001 or 1.0 10 9 (seconds in
More information15213 Recitation 2: Floating Point
15213 Recitation 2: Floating Point 1 Introduction This handout will introduce and test your knowledge of the floating point representation of real numbers, as defined by the IEEE standard. This information
More informationFloating Point Arithmetic
Floating Point Arithmetic Computer Systems, Section 2.4 Abstraction Anything that is not an integer can be thought of as . e.g. 391.1356 Or can be thought of as + /
More informationWritten Homework 3. Floating-Point Example (1/2)
Written Homework 3 Assigned on Tuesday, Feb 19 Due Time: 11:59pm, Feb 26 on Tuesday Problems: 3.22, 3.23, 3.24, 3.41, 3.43 Note: You have 1 week to work on homework 3. 3 Floating-Point Example (1/2) Q:
More informationScientific Computing. Error Analysis
ECE257 Numerical Methods and Scientific Computing Error Analysis Today s s class: Introduction to error analysis Approximations Round-Off Errors Introduction Error is the difference between the exact solution
More informationFinite arithmetic and error analysis
Finite arithmetic and error analysis Escuela de Ingeniería Informática de Oviedo (Dpto de Matemáticas-UniOvi) Numerical Computation Finite arithmetic and error analysis 1 / 45 Outline 1 Number representation:
More informationNumeric Encodings Prof. James L. Frankel Harvard University
Numeric Encodings Prof. James L. Frankel Harvard University Version of 10:19 PM 12-Sep-2017 Copyright 2017, 2016 James L. Frankel. All rights reserved. Representation of Positive & Negative Integral and
More informationFloating-point representations
Lecture 10 Floating-point representations Methods of representing real numbers (1) 1. Fixed-point number system limited range and/or limited precision results must be scaled 100101010 1111010 100101010.1111010
More informationFloating-point representations
Lecture 10 Floating-point representations Methods of representing real numbers (1) 1. Fixed-point number system limited range and/or limited precision results must be scaled 100101010 1111010 100101010.1111010
More informationFloating Point Numbers. Lecture 9 CAP
Floating Point Numbers Lecture 9 CAP 3103 06-16-2014 Review of Numbers Computers are made to deal with numbers What can we represent in N bits? 2 N things, and no more! They could be Unsigned integers:
More informationFloating Point. EE 109 Unit 20. Floating Point Representation. Fixed Point
2.1 Floating Point 2.2 EE 19 Unit 2 IEEE 754 Floating Point Representation Floating Point Arithmetic Used to represent very numbers (fractions) and very numbers Avogadro s Number: +6.247 * 1 23 Planck
More informationBBM 101 Introduc/on to Programming I Fall 2014, Lecture 3. Aykut Erdem, Erkut Erdem, Fuat Akal
BBM 101 Introduc/on to Programming I Fall 2014, Lecture 3 Aykut Erdem, Erkut Erdem, Fuat Akal 1 Today Introduc/on to Programming Basic Concepts Developing Algorithms Crea
More informationCS241 Computer Organization Spring Introduction to Assembly
CS241 Computer Organization Spring 2015 Introduction to Assembly 2-05 2015 Outline! Rounding floats: round-to-even! Introduction to Assembly (IA32) move instruction (mov) memory address computation arithmetic
More informationecture 25 Floating Point Friedland and Weaver Computer Science 61C Spring 2017 March 17th, 2017
ecture 25 Computer Science 61C Spring 2017 March 17th, 2017 Floating Point 1 New-School Machine Structures (It s a bit more complicated!) Software Hardware Parallel Requests Assigned to computer e.g.,
More informationFloating Point II, x86 64 Intro
Floating Point II, x86 64 Intro CSE 351 Autumn 2018 Instructor: Teaching Assistants: Justin Hsia Akshat Aggarwal An Wang Andrew Hu Brian Dai Britt Henderson James Shin Kevin Bi Kory Watson Riley Germundson
More informationIntroduction to Computer Systems Recitation 2 May 29, Marjorie Carlson Aditya Gupta Shailin Desai
Introduction to Computer Systems Recitation 2 May 29, 2014 Marjorie Carlson Aditya Gupta Shailin Desai 1 Agenda! Goal: translate any real number (plus some!) into and out of machine representation.! Integers!
More informationUC Berkeley CS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c UC Berkeley CS61C : Machine Structures Lecture 16 Floating Point II 2010-02-26 TA Michael Greenbaum www.cs.berkeley.edu/~cs61c-tf Research without Google would be like life
More informationCS61c Midterm Review (fa06) Number representation and Floating points From your friendly reader
CS61c Midterm Review (fa06) Number representation and Floating points From your friendly reader Number representation (See: Lecture 2, Lab 1, HW#1) KNOW: Kibi (2 10 ), Mebi(2 20 ), Gibi(2 30 ), Tebi(2
More informationCO212 Lecture 10: Arithmetic & Logical Unit
CO212 Lecture 10: Arithmetic & Logical Unit Shobhanjana Kalita, Dept. of CSE, Tezpur University Slides courtesy: Computer Architecture and Organization, 9 th Ed, W. Stallings Integer Representation For
More informationInstructor: Randy H. Katz hap://inst.eecs.berkeley.edu/~cs61c/fa13. Fall Lecture #7. Warehouse Scale Computer
CS 61C: Great Ideas in Computer Architecture Everything is a Number Instructor: Randy H. Katz hap://inst.eecs.berkeley.edu/~cs61c/fa13 9/19/13 Fall 2013 - - Lecture #7 1 New- School Machine Structures
More informationFloating Point Arithmetic
Floating Point Arithmetic ICS 233 Computer Architecture and Assembly Language Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals [Adapted from
More information& Control Flow of Program
CS101 Introduction to computing Recap of Floating Point & Control Flow of Program A. Sahu and S. V.Rao Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati 1 Outline Recap Operation on Floating
More informationBits and Bytes: Data Presentation Mohamed Zahran (aka Z)
CSCI-UA.0201 Computer Systems Organization Bits and Bytes: Data Presentation Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com Some slides adapted and modified from: Clark Barrett Jinyang
More informationCS 261 Fall Floating-Point Numbers. Mike Lam, Professor.
CS 261 Fall 2018 Mike Lam, Professor https://xkcd.com/217/ Floating-Point Numbers Floating-point Topics Binary fractions Floating-point representation Conversions and rounding error Binary fractions Now
More informationCS177 Python Programming. Recita4on 2 - Compu4ng with Numbers
CS177 Python Programming Recita4on 2 - Compu4ng with Numbers Outline Data types. Variables Math library. Range Func4on What is data (in the context of programming)? Values that are stored and manipulated
More informationCS 261 Fall Floating-Point Numbers. Mike Lam, Professor. https://xkcd.com/217/
CS 261 Fall 2017 Mike Lam, Professor https://xkcd.com/217/ Floating-Point Numbers Floating-point Topics Binary fractions Floating-point representation Conversions and rounding error Binary fractions Now
More informationCS367 Test 1 Review Guide
CS367 Test 1 Review Guide This guide tries to revisit what topics we've covered, and also to briefly suggest/hint at types of questions that might show up on the test. Anything on slides, assigned reading,
More informationIntegers. Dr. Steve Goddard Giving credit where credit is due
CSCE 23J Computer Organization Integers Dr. Steve Goddard goddard@cse.unl.edu http://cse.unl.edu/~goddard/courses/csce23j Giving credit where credit is due Most of slides for this lecture are based on
More informationModule 2: Computer Arithmetic
Module 2: Computer Arithmetic 1 B O O K : C O M P U T E R O R G A N I Z A T I O N A N D D E S I G N, 3 E D, D A V I D L. P A T T E R S O N A N D J O H N L. H A N N E S S Y, M O R G A N K A U F M A N N
More informationPrecision and Accuracy
inst.eecs.berkeley.edu/~cs61c UC Berkeley CS61C : Machine Structures Lecture 16 Floating Point II 2010-02-26 TA Michael Greenbaum www.cs.berkeley.edu/~cs61c-tf Research without Google would be like life
More informationComputer Architecture and IC Design Lab. Chapter 3 Part 2 Arithmetic for Computers Floating Point
Chapter 3 Part 2 Arithmetic for Computers Floating Point Floating Point Representation for non integral numbers Including very small and very large numbers 4,600,000,000 or 4.6 x 10 9 0.0000000000000000000000000166
More informationNumber Representations
Number Representations times XVII LIX CLXX -XVII D(CCL)LL DCCC LLLL X-X X-VII = DCCC CC III = MIII X-VII = VIIIII-VII = III 1/25/02 Memory Organization Viewed as a large, single-dimension array, with an
More informationDivide: Paper & Pencil CS152. Computer Architecture and Engineering Lecture 7. Divide, Floating Point, Pentium Bug. DIVIDE HARDWARE Version 1
Divide: Paper & Pencil Computer Architecture and Engineering Lecture 7 Divide, Floating Point, Pentium Bug 1001 Quotient 1000 1001010 Dividend 1000 10 101 1010 1000 10 (or Modulo result) See how big a
More informationReal Numbers. range -- need to deal with larger range, not just [not just -2^(n-1) to +2^(n-1)-1] - large numbers - small numbers (fractions)
Real Numbers range -- need to deal with larger range, not just [not just -2^(n-1) to +2^(n-1)-1] - large numbers - small numbers (fractions) Real Numbers von Neumann recommended using fixed point with
More informationThe Sign consists of a single bit. If this bit is '1', then the number is negative. If this bit is '0', then the number is positive.
IEEE 754 Standard - Overview Frozen Content Modified by on 13-Sep-2017 Before discussing the actual WB_FPU - Wishbone Floating Point Unit peripheral in detail, it is worth spending some time to look at
More informationCS 101: Computer Programming and Utilization
CS 101: Computer Programming and Utilization Jul-Nov 2017 Umesh Bellur (cs101@cse.iitb.ac.in) Lecture 3: Number Representa.ons Representing Numbers Digital Circuits can store and manipulate 0 s and 1 s.
More information