cs 110 computer architecture lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 type...
TRANSCRIPT
![Page 1: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/1.jpg)
CS110ComputerArchitecture
Lecture17:PerformanceandFloatingPointArithmetic
Instructor:SörenSchwertfeger
http://shtech.org/courses/ca/
School of Information Science and Technology SIST
ShanghaiTech University
1Slides based on UC Berkley's CS61C
![Page 2: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/2.jpg)
New-SchoolMachineStructures(It’sabitmorecomplicated!)
• ParallelRequestsAssigned tocomputere.g.,Search“Katz”
• ParallelThreadsAssigned tocoree.g.,Lookup,Ads
• ParallelInstructions>[email protected].,5pipelined instructions
• ParallelData>1dataitem@one timee.g.,Addof4pairsofwords
• HardwaredescriptionsAllgates@onetime
• ProgrammingLanguages2
SmartPhone
WarehouseScale
Computer
SoftwareHardware
HarnessParallelism&AchieveHighPerformance
LogicGates
Core Core…
Memory(Cache)
Input/Output
Computer
CacheMemory
Core
InstructionUnit(s) FunctionalUnit(s)
A3+B3A2+B2A1+B1A0+B0
Howdoweknow?
![Page 3: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/3.jpg)
WhatisPerformance?
• Latency(orresponsetimeorexecutiontime)– Timetocompleteonetask
• Bandwidth(orthroughput)– Taskscompletedperunittime
3
![Page 4: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/4.jpg)
CloudPerformance:WhyApplicationLatencyMatters
• Keyfigureofmerit:applicationresponsiveness– Longerthedelay,thefewertheuserclicks,thelesstheuserhappiness,andthelowertherevenueperuser
4
![Page 5: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/5.jpg)
DefiningCPUPerformance• WhatdoesitmeantosayXisfasterthanY?
• Ferrarivs.SchoolBus?• 2013Ferrari599GTB– 2passengers,quartermilein10secs
• 2013TypeDschoolbus– 50passengers,quartermilein20secs
• ResponseTime (Latency):e.g.,timetotravel¼mile• Throughput (Bandwidth): e.g.,passenger-miin1hour
5
![Page 6: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/6.jpg)
DefiningRelativeCPUPerformance• PerformanceX =1/ProgramExecutionTimeX• PerformanceX >PerformanceY =>1/ExecutionTimeX>1/ExecutionTimey=>ExecutionTimeY >ExecutionTimeX
• ComputerXisNtimesfasterthanComputerYPerformanceX /PerformanceY =NorExecutionTimeY /ExecutionTimeX=N
• BustoFerrariperformance:– Program:Transfer1000passengersfor1mile– Bus:3,200sec,Ferrari:40,000sec
6
![Page 7: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/7.jpg)
MeasuringCPUPerformance
• Computersuseaclocktodeterminewheneventstakesplacewithinhardware
• Clockcycles: discretetimeintervals– akaclocks,cycles,clockperiods,clockticks
• Clockrateorclockfrequency: clockcyclespersecond(inverseofclockcycletime)
• 3GigaHertz clockrate=>clockcycletime=1/(3x109)seconds
clockcycletime=333picoseconds(ps)
7
![Page 8: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/8.jpg)
CPUPerformanceFactors
• TodistinguishbetweenprocessortimeandI/O,CPUtimeistimespentinprocessor
• CPU Time/Program= Clock Cycles/Program
x Clock Cycle Time
• OrCPU Time/Program= Clock Cycles/Program ÷ Clock Rate
8
![Page 9: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/9.jpg)
IronLawofPerformance
• A programexecutesinstructions• CPU Time/Program
= Clock Cycles/Program x Clock Cycle Time= Instructions/Program
x Average Clock Cycles/Instruction x Clock Cycle Time
• 1st termcalledInstructionCount• 2nd termabbreviatedCPIforaverageClockCyclesPerInstruction
• 3rdtermis1/Clockrate
9
![Page 10: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/10.jpg)
RestatingPerformanceEquation
• Time= SecondsProgram
Instructions Clockcycles SecondsProgram Instruction ClockCycle
10
××=
![Page 11: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/11.jpg)
WhatAffectsEachComponent?A)InstructionCount,B)CPI,C)ClockRate
AffectsWhat?
Algorithm
ProgrammingLanguageCompiler
InstructionSet Architecture
11
![Page 12: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/12.jpg)
WhatAffectsEachComponent?InstructionCount,CPI,ClockRate
AffectsWhat?Algorithm InstructionCount,
CPIProgrammingLanguage
InstructionCount,CPI
Compiler InstructionCount,CPI
InstructionSetArchitecture
InstructionCount,ClockRate,CPI
12
![Page 13: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/13.jpg)
Clickers
• Whichcomputerhasthehighestperformanceforagivenprogram?
13
Computer Clockfrequency
Clock cyclesperinstruction
#instructionsperprogram
A 1GHz 2 1000
B 2GHz 5 800
C 500MHz 1.25 400
D 5GHz 10 2000
![Page 14: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/14.jpg)
Clickers
• Whichcomputerhasthehighestperformanceforagivenprogram?
14
Computer Clockfrequency
Clock cyclesperinstruction
#instructionsperprogram
Calculation
A 1GHz 2 1000 1ns*2*1000=2µs
B 2GHz 5 800 0.5ns5*800=2µs
C 500MHz 1.25 400 2ns1.25*400=1µs
D 5GHz 10 2000 0.2ns*10*2000=4µs
![Page 15: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/15.jpg)
WorkloadandBenchmark
• Workload: Setofprogramsrunonacomputer– Actualcollectionofapplicationsrunormadefromrealprogramstoapproximatesuchamix
– Specifiesprograms,inputs,andrelativefrequencies• Benchmark:Programselectedforuseincomparingcomputerperformance– Benchmarksformaworkload– Usuallystandardizedsothatmanyusethem
15
![Page 16: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/16.jpg)
SPEC(SystemPerformanceEvaluationCooperative)• ComputerVendorcooperativeforbenchmarks,startedin1989
• SPECCPU2006– 12IntegerPrograms– 17Floating-PointPrograms
• Oftenturnintonumberwherebiggerisfaster• SPECratio:referenceexecutiontimeonoldreferencecomputerdividebyexecutiontimeonnewcomputertogetaneffectivespeed-up
16
![Page 17: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/17.jpg)
SPECINT2006onAMDBarcelonaDescription
Instruc-tion
Count (B)CPI
Clock cycle
time (ps)
Execu-tion
Time (s)
Refer-ence
Time (s)
SPEC-ratio
Interpreted string processing 2,118 0.75 400 637 9,770 15.3Block-sorting compression 2,389 0.85 400 817 9,650 11.8GNU C compiler 1,050 1.72 400 724 8,050 11.1Combinatorial optimization 336 10.0 400 1,345 9,120 6.8Go game 1,658 1.09 400 721 10,490 14.6Search gene sequence 2,783 0.80 400 890 9,330 10.5Chess game 2,176 0.96 400 837 12,100 14.5Quantum computer simulation 1,623 1.61 400 1,047 20,720 19.8Video compression 3,102 0.80 400 993 22,130 22.3Discrete event simulation library 587 2.94 400 690 6,250 9.1Games/path finding 1,082 1.79 400 773 7,020 9.1XML parsing 1,058 2.70 400 1,143 6,900 6.017
![Page 18: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/18.jpg)
18
SummarizingPerformance…
Clickers:Whichsystemisfaster?
System Rate(Task1) Rate(Task2)
A 10 20
B 20 10
A:SystemAB:SystemBC:SameperformanceD:Unanswerablequestion!
![Page 19: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/19.jpg)
19
… DependsWho’sSellingSystem Rate(Task1) Rate(Task2)
A 10 20
B 20 10
Average
15
15Averagethroughput
System Rate(Task1) Rate(Task2)
A 0.50 2.00
B 1.00 1.00
Average
1.25
1.00ThroughputrelativetoB
System Rate(Task1) Rate(Task2)
A 1.00 1.00
B 2.00 0.50
Average
1.00
1.25ThroughputrelativetoA
![Page 20: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/20.jpg)
SummarizingSPECPerformance
• Variesfrom6xto22xfasterthanreferencecomputer
• Geometricmeanofratios:N-th rootofproductofNratios– GeometricMeangivessamerelativeanswernomatterwhatcomputerisusedasreference
• GeometricMeanforBarcelonais11.7
20
![Page 21: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/21.jpg)
Administrivia
• Proj 2.1willbepostedtomorrow
• Nextweekslab:– Lab8willbepostedtomorrow– Inparallel:Projectcheckup!
• HW6willcomesoon,too…
21
![Page 22: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/22.jpg)
ReviewofNumbers
• Computersaremadetodealwithnumbers• WhatcanwerepresentinNbits?– 2N things,andnomore!Theycouldbe…– Unsignedintegers:
0 to 2N- 1(forN=32,2N–1 =4,294,967,295)– SignedIntegers(Two’sComplement)
-2(N-1) to 2(N-1)- 1(forN=32,2(N-1) =2,147,483,648)
![Page 23: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/23.jpg)
Whataboutothernumbers?1. Verylargenumbers? (seconds/millennium)
=> 31,556,926,00010 (3.155692610 x1010)2. Verysmallnumbers?(Bohrradius)
=> 0.000000000052917710m (5.2917710 x10-11)3. Numberswithboth integer&fractionalparts?
=> 1.5Firstconsider#3.…oursolutionwillalsohelpwith#1and#2.
![Page 24: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/24.jpg)
RepresentationofFractions“Binary Point” like decimal point signifies boundary between integer and fractional parts:
xx.yyyy21
20 2-1 2-2 2-3 2-4
Example 6-bit representation:
10.1010two = 1x21 + 1x2-1 + 1x2-3 = 2.625ten
If we assume “fixed binary point”, range of 6-bit representations with this format:
0 to 3.9375 (almost 4)
![Page 25: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/25.jpg)
FractionalPowersof2
0 1.0 11 0.5 1/22 0.25 1/43 0.125 1/84 0.0625 1/165 0.03125 1/326 0.0156257 0.00781258 0.003906259 0.00195312510 0.000976562511 0.0004882812512 0.00024414062513 0.000122070312514 0.0000610351562515 0.000030517578125
i 2-i
![Page 26: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/26.jpg)
RepresentationofFractionswithFixedPt.What about addition and multiplication?
Addition is straightforward:
01.100 1.5ten+ 00.100 0.5ten10.000 2.0ten
Multiplication a bit more complex:
01.100 1.5ten00.100 0.5ten 00 000000 00
0110 000000
000000000110000
Where’s the answer, 0.11? (need to remember where point is)
![Page 27: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/27.jpg)
RepresentationofFractionsSo far, in our examples we used a “fixed” binary point. What we really want is to “float” the binary point. Why?
Floating binary point most effective use of our limited bits (and thus more accuracy in our number representation):
… 000000.001010100000…
Any other solution would lose accuracy!
example: put 0.1640625ten into binary. Represent with 5-bits choosing where to put the binary point.
Store these bits and keep track of the binary point 2 places to the left of the MSB
With floating-point rep., each numeral carries an exponent field recording the whereabouts of its binary point.
The binary point can be outside the stored bits, so very large and small numbers can be represented.
![Page 28: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/28.jpg)
ScientificNotation(inDecimal)
• Normalizedform:noleadings0s(exactlyonedigittoleftofdecimalpoint)
• Alternativestorepresenting1/1,000,000,000
– Normalized: 1.0x10-9
– Notnormalized: 0.1x10-8,10.0x10-10
6.02ten x 1023
radix (base)decimal point
mantissa exponent
![Page 29: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/29.jpg)
ScientificNotation(inBinary)
• Computerarithmeticthatsupportsitcalledfloatingpoint,becauseitrepresentsnumberswherethebinarypointisnotfixed,asitisforintegers– DeclaresuchvariableinCasfloat
• double fordoubleprecision.
1.01two x 2-1
radix (base)“binary point”
exponentmantissa
![Page 30: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/30.jpg)
Floating-PointRepresentation(1/2)• Normalformat:+1.xxx…xtwo*2yyy…ytwo• MultipleofWordSize(32bits)
031S Exponent30 23 22
Significand1 bit 8 bits 23 bits•S represents Sign
Exponent represents y’sSignificand represents x’s
•Represent numbers as small as 2.0ten x 10-38 to as large as 2.0ten x 1038
![Page 31: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/31.jpg)
Floating-PointRepresentation(2/2)• Whatifresulttoolarge?
(>2.0x1038 ,<-2.0x1038 )– Overflow!=> Exponentlargerthanrepresentedin8-bitExponentfield
• Whatifresulttoosmall?(>0&<2.0x10-38 ,<0&>-2.0x10-38 )– Underflow!=> Negativeexponentlargerthanrepresentedin8-bitExponentfield
• Whatwouldhelpreducechancesofoverflowand/orunderflow?
0 2x10-38 2x10381-1 -2x10-38-2x1038
underflow overflowoverflow
![Page 32: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/32.jpg)
IEEE754Floating-PointStandard(1/3)
SinglePrecision(DoublePrecisionsimilar):
• Sign bit: 1meansnegative 0meanspositive
• Significand insign-magnitude format(not2’scomplement)– Topackmorebits,leading1implicitfornormalizednumbers– 1+23bitssingle,1+52bitsdouble– alwaystrue:0<Significand<1(fornormalizednumbers)
• Note:0hasnoleading1,soreserveexponentvalue0justfornumber0
031S Exponent30 23 22
Significand1 bit 8 bits 23 bits
![Page 33: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/33.jpg)
IEEE754FloatingPointStandard(2/3)
• IEEE754uses“biasedexponent”representation– DesignerswantedFPnumberstobeusedevenifnoFPhardware;e.g.,sortrecordswithFPnumbersusingintegercompares
–Wantedbigger(integer)exponentfieldtorepresentbiggernumbers
– 2’scomplementposesaproblem(becausenegativenumberslookbigger)• Usejustmagnitudeandoffsetbyhalftherange
![Page 34: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/34.jpg)
IEEE754FloatingPointStandard(3/3)
• Summary(singleprecision):
•Called Biased Notation, where bias is number subtracted to get final number• IEEE 754 uses bias of 127 for single prec.• Subtract 127 from Exponent field to get actual value for exponent
031S Exponent
30 23 22Significand
1 bit 8 bits 23 bits• (-1)S x (1 + Significand) x 2(Exponent-127)
• Double precision identical, except with exponent bias of 1023 (half, quad similar)
![Page 35: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/35.jpg)
Question• GuessthisFloatingPointnumber:11000000010000000000000000000000
A:-1x2128
B:+1x2-128
C:-1x21
D:+1.5x2-1
E:-1.5x21
35
![Page 36: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/36.jpg)
Representationfor± ∞
• InFP,divideby0shouldproduce± ∞,notoverflow.•Why?– OKtodofurthercomputationswith∞E.g.,X/0>Ymaybeavalidcomparison
• IEEE754represents± ∞– Mostpositiveexponentreservedfor∞– Significandsallzeroes
![Page 37: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/37.jpg)
Representationfor0
• Represent0?– exponentallzeroes– significandallzeroes–Whataboutsign?Bothcasesvalid+0: 0 00000000 00000000000000000000000-0: 1 00000000 00000000000000000000000
![Page 38: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/38.jpg)
Special Numbers
•What have we defined so far? (Single Precision)
Exponent Significand Object0 0 00 nonzero ???1-254 anything +/- fl. pt. #255 0 +/- ∞255 nonzero ???
•Clever idea:• Use exp=0,255 & Sig!=0
![Page 39: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/39.jpg)
RepresentationforNotaNumber
• WhatdoIgetifIcalculatesqrt(-4.0)or0/0?
– If∞notanerror,theseshouldn’tbeeither– CalledNota Number(NaN)– Exponent=255,Significandnonzero
• Whyisthisuseful?– HopeNaNs helpwithdebugging?– Theycontaminate:op(NaN,X)=NaN– Canusethesignificandtoidentifywhich!
![Page 40: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/40.jpg)
RepresentationforDenorms(1/2)
• Problem:There’sagapamongrepresentableFPnumbersaround0– Smallestrepresentablepos num:
• a=1.0…2*2-126=2-126– Secondsmallestrepresentablepos num:
• b =1.000……12*2-126=(1+0.00…12)*2-126=(1+2-23)*2-126=2-126+2-149
– a- 0=2-126– b- a=2-149 b
a0 +-Gaps!
Normalization and implicit 1is to blame!
![Page 41: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/41.jpg)
RepresentationforDenorms (2/2)•Solution:
• We still haven’t used Exponent = 0, Significand nonzero
• DEnormalized number: no (implied) leading 1, implicit exponent = -126.
• Smallest representable pos num:a = 2-149
• Second smallest representable pos num:b = 2-148
0 +-
![Page 42: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/42.jpg)
SpecialNumbersSummary
•Reserve exponents, significands:Exponent Significand Object0 0 00 nonzero Denorm1-254 anything +/- fl. pt. #255 0 +/- ∞255 nonzero NaN
![Page 43: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/43.jpg)
Conclusion• Floating Point lets us:
• Represent numbers containing both integer and fractional parts; makes efficient use of available bits.
• Store approximate values for very large and very small #s.
• IEEE 754 Floating-Point Standard is most widely accepted attempt to standardize interpretation of such numbers (Every desktop or server computer sold since ~1997 follows these conventions)•Summary (single precision):
031S Exponent30 23 22
Significand1 bit 8 bits 23 bits• (-1)S x (1 + Significand) x 2(Exponent-127)
• Double precision identical, except with exponent bias of 1023 (half, quad similar)
Exponent tells Significand how much (2i) to count by (…, 1/4, 1/2, 1, 2, …)
Can store NaN, ± ∞
www.h-schmidt.net/FloatApplet/IEEE754.html
![Page 44: CS 110 Computer Architecture Lecture 17 · – 2 passengers, quarter mile in 10 secs • 2013 Type D school bus – 50 passengers, quarter mile in 20 secs • Response Time (Latency):](https://reader034.vdocuments.us/reader034/viewer/2022042307/5ed32469ced549277b3741c5/html5/thumbnails/44.jpg)
AndInConclusion,…
44
• Time(seconds/program)ismeasureofperformanceInstructions Clockcycles SecondsProgram Instruction ClockCycle
• Floating-pointrepresentationsholdapproximationsofrealnumbersinafinitenumberofbits
××=