您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页Computer Organization and Design CH03_Solution 计算机组成与设计 第五版 第三章 答案

Computer Organization and Design CH03_Solution 计算机组成与设计 第五版 第三章 答案

来源:意榕旅游网
3Computer Organization and Design5th Edition

Solutions Chapter 3 Solutions S-3

3.1 57303.2 5730

3.3 0101111011010100

Th e attraction is that each hex digit contains one of 16 diff erent characters

(0–9, A–E). Since with 4 binary bits you can represent 16 diff erent patterns, in hex each digit requires exactly 4 binary bits. And bytes are by defi nition 8 bits long, so two hex digits are all that are required to represent the contents of 1 byte.3.4 753

3.5 7777 (3777)3.6 Neither (63)3.7 Neither (65)

3.8 Overfl ow (result 179, which does not fi t into an SM 8-bit format)3.9 105 42 128 (147)3.10 105 42 63

3.11 151 214 255 (365)3.12 6212

StepActionMultiplierMultiplicandProduct0Initial Vals001 010000 000 110 010000 000 000 000lsb=0, no op001 010000 000 110 010000 000 000 0001

Lshift Mcand001 010000 001 100 100000 000 000 000Rshift Mplier000 101000 001 100 100000 000 000 000Prod=Prod+Mcand

000 101000 001 100 100000 001 100 1002Lshift Mcand000 101000 011 001 000000 001 100 100Rshift Mplier000 010000 011 001 000000 001 100 100lsb=0, no op

000 010000 011 001 000000 001 100 1003Lshift Mcand000 010000 110 010 000000 001 100 100Rshift Mplier000 001000 110 010 000000 001 100 100Prod=Prod+Mcand

000 001000 110 010 000000 111 110 1004Lshift Mcand000 001001 100 100 000000 111 110 100Rshift Mplier000 000001 100 100 000000 111 110 100lsb=0, no op

000 000001 100 100 000000 111 110 1005Lshift Mcand000 000011 001 000 000000 111 110 100Rshift Mplier000 000011 001 000 000000 111 110 100lsb=0, no op

000 000110 010 000 000000 111 110 1006Lshift Mcand000 000110 010 000 000000 111 110 100Rshift Mplier

000 000

110 010 000 000

000 111 110 100

S-4 Chapter 3 Solutions

3.13 6212

StepActionMultiplicandProduct/Multiplier0Initial Vals110 010000 000 001 0101lsb=0, no op110 010000 000 001 010Rshift Product110 010000 000 000 1012Prod=Prod+Mcand110 010110 010 000 101Rshift Mplier110 010011 001 000 0103lsb=0, no op110 010011 001 000 010Rshift Mplier110 010001 100 100 0014Prod=Prod+Mcand110 010111 110 100 001Rshift Mplier110 010011 111 010 0005lsb=0, no op110 010011 111 010 000Rshift Mplier110 010001 111 101 0006

lsb=0, no op110 010001 111 101 000Rshift Mplier

110 010

000 111 110 100

3.14 For hardware, it takes 1 cycle to do the add, 1 cycle to do the shift , and 1

to decide if we are done. So the loop takes (3 A) cycles, with each cycle being B time units long.

For a soft ware implementation, it takes 1 cycle to decide what to add, 1 cycto do the add, 1 cycle to do each shift , and 1 cycle to decide if we are done.the loop takes (5 A) cycles, with each cycle being B time units long.(38)4tu 96 time units for hardware(58)4tu 160 time units for soft ware

3.15 It takes B time units to get through an adder, and there will be A 1 adders

Word is 8 bits wide, requiring 7 adders. 74tu 28 time units.

3.16 It takes B time units to get through an adder, and the adders are arranged

in a tree structure. It will require log2(A) levels. 8 bit wide word requires 7 adders in 3 levels. 34tu 12 time units.

3.17 0x33 0x55 0x10EF. 0x33 51, and 51 321621. We can shift 0x55

left 5 places (0xAA0), then add 0x55 shift ed left 4 places (0x550), then ad0x55 shift ed left once (0xAA), then add 0x55. 0xAA00x5500xAA0x55 0x10EF. 3 shift s, 3 adds.

(Could also use 0x55, which is 641641, and shift 0x33 left 6 times, add

to it 0x33 shift ed left 4 times, add to that 0x33 shift ed left 2 times, and adthat 0x33. Same number of shift s and adds.)

Chapter 3 Solutions S-5

3.18 74/21 3 remainder 9

StepActionQuotientDivisorRemainder0Initial Vals000 000010 001 000 000000 000 111 100Rem=Rem–Div000 000010 001 000 000101 111 111 1001

Rem<0,R+D,Q<<000 000010 001 000 000000 000 111 100Rshift Div000 000001 000 100 000000 000 111 100Rem=Rem–Div

000 000001 000 100 000111 000 011 1002Rem<0,R+D,Q<<000 000001 000 100 000000 000 111 100Rshift Div000 000000 100 010 000000 000 111 100Rem=Rem–Div

000 000000 100 010 000111 100 101 1003Rem<0,R+D,Q<<000 000000 100 010 000000 000 111 100Rshift Div000 000000 010 001 000000 000 111 100Rem=Rem–Div

000 000000 010 001 000111 110 110 1004Rem<0,R+D,Q<<000 000000 010 001 000000 000 111 100Rshift Div000 000000 001 000 100000 000 111 100Rem=Rem–Div

000 000000 001 000 100111 111 111 0005Rem<0,R+D,Q<<000 000000 001 000 100000 000 111 100Rshift Div000 000000 000 100 010000 000 111 100Rem=Rem–Div

000 000000 000 100 010000 000 011 0106Rem>0,Q<<1 000 001000 000 100 010000 000 011 010Rshift Div000 001000 000 010 001000 000 011 010Rem=Rem–Div

000 001000 000 010 001000 000 001 0017Rem>0,Q<<1 000 011000 000 010 001000 000 001 001Rshift Div

000 011

000 000 001 000

000 000 001 001

3.19. In these solutions a 1 or a 0 was added to the Quotient if the remainder was

greater than or equal to 0. However, an equally valid solution is to shift in a 1 or 0, but if you do this you must do a compensating right shift of the remainder (only the remainder, not the entire remainder/quotient combination) aft er the last step.74/21 3 remainder 11

StepActionDivisorRemainder/Quotient0Initial Vals010 001000 000 111 100R<<

010 001000 001 111 0001

Rem=Rem–Div010 001111 000 111 000Rem<0,R+D010 001000 001 111 000R<<

010 001000 011 110 0002Rem=Rem–Div010 001110 010 110 000Rem<0,R+D010 001000 011 110 000R<<

010 001000 111 100 0003Rem=Rem–Div010 001110 110 110 000Rem<0,R+D010 001000 111 100 000R<<

010 001001 111 000 0004Rem=Rem–Div010 001111 110 000 000Rem<0,R+D

010 001

001 111 000 000

S-6 Chapter 3 Solutions

StepActionDivisorRemainder/QuotientR<<

010 001011 110 000 0005

Rem=Rem–Div010 001111 110 000 000Rem>0,R0=1010 001001 101 000 001R<<

010 001011 010 000 0106Rem=Rem–Div010 001001 001 000 010Rem>0,R0=1

010 001

001 001 000 011

3.20 201326592 in both cases.3.21 jal 0x000000003.22

0×0C000000 = 0000 1100 0000 0000 0000 0000 0000 0000= 0 0001 1000 0000 0000 0000 0000 0000 000sign is positive

exp = 0×18 = 24 127 = 103there is a hidden 1mantissa = 0

answer = 1.0 × 2

103

3.23 63.25 100

111111.01 20

normalize, move binary point 5 to the left

1.1111101 2

5

sign positive, exp 1275132

Final bit pattern: 0 1000 0100 1111 1010 0000 0000 0000 000 0100 0010 0111 1101 0000 0000 0000 0000 0x427D0000

3.24 63.25 100

111111.01 20

normalize, move binary point 5 to the left

1.1111101 2

5

sign positive, exp 102351028Final bit pattern:

0 100 0000 0100 1111 1010 0000 0000 0000 0000 0000 0000 0000 0000 000000

0x404FA00000000000

Chapter 3 Solutions S-7

3.25 63.25 100

111111.01 20 3F.40 16

0

move hex point 2 to the left

.3F40 16

2

sign positive, exp 642

Final bit pattern: 010000100011111101000000000000003.26 1.5625 101 .15625 10

0

.00101 20

move the binary point 2 to the right

.101 2

2

exponent 2, fraction .101000000000000000000000answer: 1111111111101011000000000000000000003.27 1.5625 101 .15625 10

0

.00101 2

0

move the binary point 3 to the right, 1.01 2

3

exponent 3 315 12, fraction .0100000000answer: 10110001000000003.28 1.5625 101 .15625 10

0

.00101 20

move the binary point 2 to the right

.101 2

2

exponent 2, fraction .1010000000000000000000000000answer: 10110000000000000000000000000101

3.29 2.6125 101 4.150390625 10

1

2.6125 101 26.125 11010.001 1.1010001000 2

4

4.150390625 101 .4150390625 .011010100111 1.1010100111 2

2Shift binary point 6 to the left to align exponents,

S-8 Chapter 3 Solutions

GR

1.1010001000 00

1.0000011010 10 0111 (Guard 5 1, Round 5 0,

Sticky 5 1)-------------------1.1010100010 10

In this case the extra bit (G,R,S) is more than half of the least signifi cant bit (0)

Th us, the value is rounded up.

1.1010100011 24 11010.100011 20 26.546875 2.6546875 1013.30 8.0546875 1.79931640625 10

18.0546875 1.0000000111 23

1.79931640625 101

1.0111000010 23

Exp: 3 3 0, 016 16 (10000)Signs: both negative, result positiveFraction:

1.0000000111

1.0111000010 ------------ 00000000000 10000000111 00000000000 00000000000 00000000000 00000000000 10000000111 10000000111 10000000111 00000000000 10000000111

1.01110011000001001110

1.0111001100 00 01001110 Guard 0, Round 0, Sticky 1:NoRnd

Chapter 3 Solutions S-9

1.0111001100 20

0100000111001100 (1.0111001100 1.44921875)

8.0546875 .179931640625 1.4492931365966796875

Some information was lost because the result did not fi t into the available 10-bit fi eld. Answer (only) off by .0000743865966796875

3.31 8.625 101

/ 4.875 10

0

8.625 101 1.0101100100 2

6

4.875 1.0011100000 2

2

Exponent 62 4, 415 19 (10011)

Signs: one positive, one negative, result negativeFraction:

1.00011011000100111

10011100000. | 10101100100.0000000000000000 10011100000. -------------- 10000100.0000

1001110.0000 ------------- 1100110.00000

100111.00000 -------------- 1111.0000000

1001.1100000 ------------- 101.01000000

100.11100000 ------------- 000.011000000000

.010011100000 -------------- .000100100000000

.000010011100000 ----------------- .0000100001000000

.0000010011100000 ------------------ .00000011011000000

.00000010011100000 -------------------- .00000000110000000

S-10Chapter 3 Solutions

1.000110110001001111 Guard0, Round1, Sticky1: No Round, fi x

sign

4

1.0001101100 2 1101000001101100 10001.101100 17.6875

86.25 / 4.875 17.692307692307

Some information was lost because the result did not fi t into the available 10-bfi eld. Answer off by .00480769230

3.32 (3.984375 101

3.4375 101) 1.771 103)

3.984375 101 1.1001100000 22

3.4375 101 1.0110000000 221.771 103 1771 1.1011101011 2

10shift binary point of smaller left 12 so exponents match

(A) 1.1001100000(B)

1.0110000000

------------- 10.1111100000 Normalize,(AB) 1.0111110000 21

(C) 1.1011101011(AB) .0000000000 10 111110000 Guard 1,

Round 0, Sticky 1

---------------(AB)C 1.1011101011 10 1 Round up(AB)C 1.1011101100 2

10 0110101011101100 1772

3.33 3.984375 101

(3.4375 101 1.771 103)

3.984375 101 1.1001100000 22

3.4375 101 1.0110000000 221.771 103 1771 1.1011101011 2

10shift binary point of smaller left 12 so exponents match

(B) .0000000000 01 0110000000 Guard 0, Round 1, Sticky 1

(C) 1.1011101011 -------------(BC) 1.1011101011

Chapter 3 Solutions S-11

(A) .0000000000 011001100000

--------------A(BC) 1.1011101011 No round

A(BC) 1.1011101011 210

0110101011101011 1771

3.34 No, they are not equal: (AB)C 1772, A(BC) 1771 (steps shown above).

Exact: .398437 .34375 1771 1771.742187

3.35 (3.41796875 103 6.34765625 103

) 1.05625 102

(A) 3.41796875 103 1.1100000000 29

(B) 4.150390625 103 1.0001000000 28(C) 1.05625 102 1.1010011010 2

6Exp: 98 17

Signs: both positive, result positiveFraction:

(A) 1.1100000000(B) 1.0001000000 -------------- 11100000000 11100000000 ---------------------- 1.11011100000000000000AB 1.1101110000 00 00000000 Guard 0, Round 0, Sticky 0: No Round

AB 1.1101110000 217

UNDERFLOW: Cannot represent number3.36 3.41796875 103 (6.34765625 103

1.05625 102)

(A) 3.41796875 103 1.1100000000 29

(B) 4.150390625 103 1.0001000000 28(C) 1.05625 102 1.1010011010 2

6Exp: 86 2

S-12 Chapter 3 Solutions

Signs: both positive, result positiveFraction:

(B) 1.0001000000

(C) 1.1010011010 ------------- 10001000000 10001000000 10001000000 10001000000 10001000000 10001000000-----------------------1.110000001110100000000

1.1100000011 10 100000000 Guard 5 1, Round 5 0, Sticky 5 1: Round

BC 1.1100000100 2

2

Exp: 92 11

Signs: both positive, result positiveFraction:

(A) 1.1100000000(B x C) 1.1100000100 ------------- 11100000000 11100000000 11100000000 11100000000 ---------------------11.00010001110000000000 Normalize, add 1 to exponent 1.1000100011 10 0000000000 Guard=1, Round=0, Sticky=0: Round to even

A(BC) 1.1000100100 210

Chapter 3 Solutions S-13

3.37 b) No:

AB 1.1101110000 217 UNDERFLOW: Cannot represent A(BC) 1.1000100100 2

10

A and B are both small, so their product does not fi t into the16-bit fl oating point format being used.

3.38 1.666015625 100

(1.9760 104 1.9744 104)

(A) 1.666015625 100 1.1010101010 20

(B) 1.9760 104 1.0011010011 2

14(C) 1.9744 104 1.0011010010 214Exponents match, no shift ing necessary

(B) 1.0011010011(C) 1.0011010010

----------------(BC) 0.0000000001 214(BC)

1.0000000000 2

4

Exp: 04 4

Signs: both positive, result positive

Fraction:

(A) 1.1010101010(BC) 1.0000000000 ------------ 11010101010 ----------------------- 1.10101010100000000000

A(BC) 1.1010101010 0000000000 Guard 0, Round

0, sticky 0: No round

A(BC) 1.1010101010 2

4

3.39 1.666015625 100

(1.9760 104 1.9744 104)

(A) 1.666015625 100 1.1010101010 20

(B) 1.9760 104 1.0011010011 2

14 S-14Chapter 3 Solutions

(C) 1.9744 104 1.0011010010 214Exp: 014 14

Signs: both positive, result positiveFraction:

(A) 1.1010101010

(B) 1.0011010011 ------------ 11010101010 11010101010 11010101010 11010101010 11010101010 11010101010 ------------------------------- 10.0000001001100001111 Normalize, add 1 to

exponent

AB 1.0000000100 11 00001111 Guard 1, Round 1,

Sticky 1: Round

AB 1.0000000101 2

15

Exp: 01414

Signs: one negative, one positive, result negativeFraction:

(A) 1.1010101010(C) 1.0011010010 ------------ 11010101010 11010101010 11010101010 11010101010 11010101010 ------------------------- 10.0000000111110111010 Normalize, add 1 to exponent

AC 1.0000000011 11 101110100 Guard 1, Round 1, Sticky 1: Round

AC 1.0000000100 2

15

AB 1.0000000101 2

15

AC 1.0000000100 215

--------------ABAC .0000000001 2

15

ABAC 1.0000000000 2

5

Chapter 3 Solutions S-15

3.40 b) No:

A(BC) 1.1010101010 241.0000000000 2 26.65625, and (AB)(AC)

5

32Exact: 1.666015625 (19,760 19,744) 26.656253.41

AnswersignexpExact?1 01111101 00000000000000000000000–2Yes3.42 bbbb 1

b4 1

Th ey are the same

3.43 0101 0101 0101 0101 0101 0101

No

3.44 0011 0011 0011 0011 0011 0011

No

3.45 0101 0000 0000 0000 0000 0000

0.5Yes

3.46 01010 00000 00000 00000

0.AYes

3.47 Instruction assumptions:(1) 8-lane 16-bit multiplies(2) sum reductions of the four most signifi cant 16-bit values(3) shift and bitwise operations(4) 128-, 64-, and 32-bit loads and stores of most signifi cant bitsOutline of solution:load register F[bits 127:0] = f[3..0] & f[3..0] (64-bit load)load register A[bits 127:0] = sig_in[7..0] (128-bit load)S-16 Chapter 3 Solutions

for i = 0 to 15 do

load register B[bits 127:0] = sig_in[(i*8+7..i*8]

(128-bit load) for j = 0 to7 do

(1) eight-lane multiply C[bits 127:0] = A*F (eight 16-bit multiplies)

(2) set D[bits 15:0] = sum of the four 16-bit values

in C[bits 63:0] (reduction of four 16-bit values)

(3) set D[bits 31:16] = sum of the four 16-bit

values in C[bits 127:64] (reduction of four 16-bit values)

(4) store D[bits 31:0] to sig_out (32-bit store) (5) set A = A shifted 16 bits to the left (6) set E = B shifted 112 shifts to the right (7) set A = A OR E (8) set B = B shifted 16 bits to the leftend forend for

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务