william stallings computer organization and architecture 8th...
TRANSCRIPT
![Page 1: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/1.jpg)
William Stallings William Stallings Computer Organization and Architectureand Architecture8th Edition
Chapter 9pComputer Arithmetic
![Page 2: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/2.jpg)
Arithmetic & Logic Unitg• Does the calculations
h l h h• Everything else in the computer is there to service this unit
• Handles integers• May handle floating point (real) numbersay a d e oat g po t ( ea ) u be s• May be separate FPU (maths co-
processor)processor)• May be on chip separate FPU (486DX +)
![Page 3: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/3.jpg)
ALU Inputs and Outputsp p
![Page 4: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/4.jpg)
Integer Representationg p• Only have 0 & 1 to represent everything
b d b• Positive numbers stored in binary—e.g. 41=00101001
• No minus sign• No periodNo period• Sign-Magnitude• Two’s compliment• Two’s compliment
![Page 5: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/5.jpg)
Sign-Magnitudeg g• Left most bit is sign bit
0• 0 means positive• 1 means negative• +18 = 00010010• -18 = 10010010• 18 = 10010010• Problems
N d t id b th i d it d i —Need to consider both sign and magnitude in arithmeticTwo representations of zero (+0 and 0)—Two representations of zero (+0 and -0)
![Page 6: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/6.jpg)
Two’s Complimentp• +3 = 00000011
2 000000 0• +2 = 00000010• +1 = 00000001• +0 = 00000000• -1 = 11111111• 1 = 11111111• -2 = 11111110
3 11111101• -3 = 11111101
![Page 7: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/7.jpg)
Benefits• One representation of zero
h k l ( l )• Arithmetic works easily (see later)• Negating is fairly easy
—3 = 00000011—Boolean complement gives 11111100p g—Add 1 to LSB 11111101
![Page 8: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/8.jpg)
Geometric Depiction of Twos Complement Integersp g
![Page 9: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/9.jpg)
Negation Special Case 1g p• 0 = 00000000• Bitwise not 11111111• Add 1 to LSB +1• Result 1 00000000• Overflow is ignored so:• Overflow is ignored, so:• - 0 = 0
![Page 10: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/10.jpg)
Negation Special Case 2g p• -128 = 10000000
b 0• bitwise not 01111111• Add 1 to LSB +1• Result 10000000• So:• So:• -(-128) = -128 X
M i MSB ( i bi )• Monitor MSB (sign bit)• It should change during negation
![Page 11: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/11.jpg)
Range of Numbersg• 8 bit 2s compliment
127 01111111 27 1—+127 = 01111111 = 27 -1— -128 = 10000000 = -27
• 16 bit 2s compliment—+32767 = 011111111 11111111 = 215 - 1— -32768 = 100000000 00000000 = -215
![Page 12: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/12.jpg)
Conversion Between Lengthsg• Positive number pack with leading zeros
8 000 00 0• +18 = 00010010• +18 = 00000000 00010010• Negative numbers pack with leading ones• -18 = 10010010• 18 = 10010010• -18 = 11111111 10010010
i k i h MSB ( i bi )• i.e. pack with MSB (sign bit)
![Page 13: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/13.jpg)
Addition and Subtraction• Normal binary addition
b f fl• Monitor sign bit for overflow
• Take twos compliment of substahend and add to minuendadd to ue d—i.e. a - b = a + (-b)
• So we only need addition and complement circuitscircuits
![Page 14: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/14.jpg)
Hardware for Addition and Subtraction
![Page 15: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/15.jpg)
Multiplicationp• Complex
k l d f h d• Work out partial product for each digit• Take care with place value (column)• Add partial products
![Page 16: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/16.jpg)
Multiplication Examplep p• 1011 Multiplicand (11 dec)
0 l l ( 3 d )• x 1101 Multiplier (13 dec)• 1011 Partial products• 0000 Note: if multiplier bit is 1 copy• 1011 multiplicand (place value)• 1011 multiplicand (place value)• 1011 otherwise zero
10001111 P d (143 d )• 10001111 Product (143 dec)• Note: need double length result
![Page 17: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/17.jpg)
Unsigned Binary Multiplicationg y p
![Page 18: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/18.jpg)
Execution of Examplep
![Page 19: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/19.jpg)
Flowchart for Unsigned Binary Multiplicationp
![Page 20: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/20.jpg)
Multiplying Negative Numbersp y g g• This does not work!
S l• Solution 1—Convert to positive if required—Multiply as above—If signs were different, negate answer
• Solution 2—Booth’s algorithmg
![Page 21: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/21.jpg)
Booth’s Algorithmg
![Page 22: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/22.jpg)
Example of Booth’s Algorithmp g
![Page 23: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/23.jpg)
Division• More complex than multiplication
b ll b d• Negative numbers are really bad!• Based on long division
![Page 24: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/24.jpg)
Division of Unsigned Binary Integersg y g
1011
00001101
10010011
Quotient
DividendDivisor 1011 100100111011
001110
Dividend
Partial
Divisor
001111
1011
1011
PartialRemainders
1011100 Remainder
![Page 25: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/25.jpg)
Flowchart for Unsigned Binary Divisiong y
![Page 26: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/26.jpg)
Real Numbers• Numbers with fractions
C ld b d b• Could be done in pure binary—1001.1010 = 24 + 20 +2-1 + 2-3 =9.625
• Where is the binary point?• Fixed?Fixed?
—Very limited• Moving?• Moving?
—How do you show where it is?
![Page 27: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/27.jpg)
Floating Pointg
• +/- .significand x 2exponent
Misnomer• Misnomer• Point is actually fixed between sign bit and body
of mantissaof mantissa• Exponent indicates place value (point position)
![Page 28: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/28.jpg)
Floating Point Examplesg p
![Page 29: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/29.jpg)
Signs for Floating Pointg g• Mantissa is stored in 2s compliment
b d• Exponent is in excess or biased notation—e.g. Excess (bias) 128 means—8 bit exponent field—Pure value range 0-255—Subtract 128 to get correct value—Range -128 to +127
![Page 30: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/30.jpg)
Normalization• FP numbers are usually normalized
d d h l d• i.e. exponent is adjusted so that leading bit (MSB) of mantissa is 1
• Since it is always 1 there is no need to store it
• (c.f. Scientific notation where numbers are normalized to give a single digit a o a d o g a s g d gbefore the decimal point
• e g 3 123 x 103)• e.g. 3.123 x 10 )
![Page 31: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/31.jpg)
FP Rangesg• For a 32 bit number
8 bit t —8 bit exponent —+/- 2256 1.5 x 1077
• Accuracy—The effect of changing lsb of mantissa—23 bit mantissa 2-23 1.2 x 10-7
—About 6 decimal places
![Page 32: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/32.jpg)
Expressible Numbersp
![Page 33: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/33.jpg)
Density of Floating Point Numbersy g
![Page 34: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/34.jpg)
IEEE 754• Standard for floating point storage
32 d 6 b d d• 32 and 64 bit standards• 8 and 11 bit exponent respectively• Extended formats (both mantissa and
exponent) for intermediate resultse po e t) o te ed ate esu ts
![Page 35: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/35.jpg)
IEEE 754 Formats
![Page 36: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/36.jpg)
FP Arithmetic +/-• Check for zeros
l f d ( d )• Align significands (adjusting exponents)• Add or subtract significands• Normalize result
![Page 37: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/37.jpg)
FP Addition & Subtraction Flowchart
![Page 38: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/38.jpg)
FP Arithmetic x/t et c /
• Check for zerodd/ b• Add/subtract exponents
• Multiply/divide significands (watch sign)• Normalize• Round• Round• All intermediate results should be in
double length storagedouble length storage
![Page 39: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/39.jpg)
Floating Point Multiplicationg p
![Page 40: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/40.jpg)
Floating Point Divisiong
![Page 41: William Stallings Computer Organization and Architecture 8th ...karmila.staff.gunadarma.ac.id/Downloads/files/46082/09...William Stallings Computer Organization and Architecture 8th](https://reader035.vdocuments.us/reader035/viewer/2022062403/6085464fdd32ee061170e06c/html5/thumbnails/41.jpg)
Required Readingq g• Stallings Chapter 9
b• IEEE 754 on IEEE Web site