【参考借鉴】计算机组成习题答案(清华大学出版?.docx - 百度文库

2026/4/28 23:14:10

ʲοĵ

1 ϰ

5׼ԳP1P2ڻM1M2УٶM1M2ļ۸ֱ5000Ԫ8000Ԫ±P1P2M1M2ʱָ M1 M2 ָ ִʱ(ms) ָ ִʱ(ms) 66P1 20010 10000 15010 5000 33P2 30010 3 42010 6 ش⣺

1 P1̨ٶȿ죿٣P2أ 2 M1ִP1P2ٶȷֱǶMIPSM2ϵִٶָǶ٣ִٶ

P2̨ٶȿ죿٣ 3 ٶM1M2ʱƵʸ800MHz1.2GHzM1M2ִP1ʱƽʱ

CPIǶ٣ 4 ijûҪʹóP1ҸûҪϵͳӦʱʣô

ûҪʱӦѡM1M2ΪʲôʾԼ۱Ͽǣ 5 һûҲҪûʹP1P2һ࣬ҪĵҲӦʱ

䣬ôӦѡM1M2Ϊʲô

ο𰸣

1 P1M2M1һP2M1M2һ

2 M1P1ٶΪ200M/10=20MIPSP2Ϊ300k/0.003=100MIPS

M2P1ٶΪ150M/5=30MIPSP2Ϊ420k/0.006=70MIPS

ִٶP2Ϊ100/70=1.43M1M20.43 3 M1ִP1ʱƽʱCPIΪ10800M/(200106)=40

M2ִP1ʱƽʱCPIΪ51.2G/(150106)=40

4 P1ʱM1M2Լ۱ȣΪûҪϵͳӦʱ䣬Լ۱е

Ӧִʱ䣬ΪִʱĵԼ۱RΪ

R=1/(ִʱ۸)

RԽ˵Լ۱ԽߣҲִʱ۸񡱵ֵԽСԼ۱Խߡ Ϊ105000 > 58000ԣM2Լ۱ȸߡӦѡM2

5 P1P2Ҫͬȿǣжַʽִʱܺ͡ƽƽ

ƽʽΪ (10+0.003)/25000 > (5+0.006)/28000M2Լ۱ȸߣӦѡM2

üƽʽΪsqrt(100.003) 5000 < sqrt(50.006) 8000M1Լ۱ȸߣӦѡM1

6M1M2ָͬʱƵʷֱΪ1GHz1.5GHzָֲͬ͵ָA~E±M1M2ÿָƽʱCPI A B C D E M1 M2 1 2 2 2 2 4 3 5 4 6 ش⣺

1M1M2ķֵMIPSǶ٣

2ٶijPָУָȫָͬPM1M2ʱ̨죿٣M1M2ִгPʱƽʱCPIǶ٣ ο𰸣

1M1ϿѡһζAָɵijֵMIPSΪ1000MIPS

M2ϿѡһABָɵijֵMIPSΪ1500/2=750MIPS 25ָȫָͬԸռ20%

M1M2ִгPʱƽʱCPIֱΪ M120%(1+2+2+3+4)= 0.212 = 2.4

ʲοĵ

ʲοĵ

M220%(2+2+4+5+6)= 0.219 = 3.8

PָΪNM1M2ϵִʱֱΪ

M12.4 N1/1G = 2.4N (ns) M23.8N1/1.5G = 2.53 N (ns)

M1ִPٶȸ죬ÿָƽ0.13nsҲM1M20.13/2.53100%5% ˼˵PM1ִбM2Ͽ (3.8C2.4)/3.8100%= 36.8%ôȻǴġʴʲôط

7ͬһָòͬķֻM1M2M1ʱΪ0.8nsM2ʱΪ1.2nsijPڻM1ʱCPIΪ4M2ϵCPIΪ2ڳP˵ִ̨ٶȸ죿٣ ο𰸣

PָΪNM1M2ϵִʱֱΪ

M14 N0.8 = 3.2N (ns) M22 N1.2 = 2.4 N (ns)

ԣM2ִPٶȸ죬ÿָƽ0.8nsM10.8/3.2100%=25%

9

8ijMʱƵΪ4GHzûPMϵָΪ810CPIΪ1.25PMϵִʱǶ٣ڻMϴӳPʼִнʱ4룬PռõCPUʱİٷֱǶ٣ ο𰸣

PMϵִʱΪ1.2581091/4G = 2.5 sPִпʼִнʱΪ4룬2.5PCPUִʱ䣬ʱִвϵͳû PռõCPUʱİٷֱΪ2.5/4 = 62.5%

9ٶijijθ߼ԳֲָͬS1S2ʱƵΪ500MHz

MУĿָõָABCDࡣָMϵCPIָõĸָ±ʾ A B C D ָCPI S1ָ S2ָ 1 5 1 2 2 1 3 2 1 4 1 5 ʣS1S2жָCPIΪ٣ʱΪ٣ִʱΪ٣

ο𰸣

S110ָCPIΪ (51+22+23+14)/10=1.9, ʱΪ101.9=19ִʱΪ19/500M = 38ns

S28ָCPIΪ (11+12+13+54)/8 =3.25, ʱΪ83.25=26ִʱΪ26/500M = 52ns

עͬһ߼Դͬһ̨ɵĿִͬʱܲͬңָٵĿִʱһ١

10ٶMʱƵΪ1.2GHzijPڻMϵִʱΪ12ӡPŻʱ

еij4ָһ2λָõŻijP֪Mϳ˷ָCPIΪ5ָCPIΪ2PִʱPִʱ1.2Pж˷ָ滻ָִУ ο𰸣

ȻPִʱΪ10룬ˣPP໨2ӣˣִʱָij˷ָΪ1.2G2/(5C2) = 800M

ϰ

3ʵиת 1 (25.8125)10= (?)2= (?) 8= (?) 16 2 (101101.011)2 = (?)10= (?) 8= (?) 16= (?) 8421 3 (0101 1001 0110.0011)8421 = (?)10= (?) 2= (?) 16

ʲοĵ

ʲοĵ

4 (4E.C)16 = (?)10= (?) 2 ο𰸣

1 (25.8125)10 = (1 1001.1101)2 = (31.64) 8 = (19.D) 16

2(101101.011)2 = (45.375)10 = (55.3) 8 = (2D.6) 16 = (0100 0101.0011 0111 0101) 8421

3(0101 1001 0110.0011)8421 = (596.3)10 = (1001010100.01001100110011) 2 = (254.4CCC) 16 4(4E.C)16 = (78.75)10 = (0100 1110.11) 2 4 ٶΪ8λ1λţ7λֵдиԭͲʾ

+0.1001C0.1001+1.0C1.0+0.010100C0.010100+0C0 ο𰸣

ԭ +0.1001 0.1001000 0.1001000 C0.1001 1.1001000 1.0111000 +1.0 C1.0 1.0000000 +0.010100 0.0101000 0.0101000 C0.010100 1.0101000 1.1011000 +0 0.0000000 0.0000000 C0 1.0000000 0.0000000 5 ٶΪ8λ1λţ7λֵдиIJʾ

+1001C1001+1C1+10100C10100+0C0 ο𰸣

+1001 10001001 00001001 C1001 01110111 11110111 +1 10000001 00000001 C1 011111111 11111111 +10100 10010100 00010100 C10100 01101100 11101100 +0 10000000 00000000 C0 10000000 00000000 6 ֪ [R]R

1[R]=1.1100111 2[R]=10000000 3[R]=0.1010010 4[R]=11010011 ο𰸣

1[R]=1.1100111 R = C0.0011001B 2[R]=10000000 R = C10000000B = C128 3[R]=0.1010010 R = +0.101001B 4[R]=11010011 R = C 101101B = C 45

7ٶһ̨32λֳĻдòʾIEEE 754׼ʾĴR1R2

ݷֱΪR10000108BHR28080108BHָͬԼĴвͬIJִָͬʱĴݶӦֵͬٶִָʱΪĴR1R2ݣR1R2вֱֵΪ٣ 1 ޷ӷָ 2 ˷ָ 3 ȸָ ο𰸣 R1 = 0000108BH = 0000 0000 0000 0000 0001 0000 1000 1011b R2 = 8080108BH = 1000 0000 1000 0000 0001 0000 1000 1011b 1޷ӷָR1R2Dz޷ʾˣֱֵΪR1108BH,

R28080108BH

2ڴ˷ָR1R2DzĴʾλ֪ R1

ʲοĵ

ʲοĵ

Ϊ R2ΪR1ֵΪ+108BH, R2ֵΪC(0111 1111 0111 1111 1110 1111 0111 0100b + 1b) = C7F7FEF75H

3ڵȸָR1R2DzIEEE754ȸʾIEEE 754

׼УȸλΪ32λа1λλ8λ룬23λβ R1еݿ֪λΪ0ʾΪΪ0000 0000βΪ000 0000 0001 0000 1000 1011Ϊǹ񻯸ָΪC126βûص1ʮƱʾβΪ+0.002116HR1ʾֵΪ+0.002116H 10-126 R2еݿ֪λΪ1ʾΪΪ0000 0001 βΪ000 0000 0001 0000 1000 1011Ϊ񻯸ָΪ1C127 = C126βص1ʮƱʾβΪC1.002116HR2ʾֵΪC1.002116H 10-126

8ٶMֳΪ32λòʾ±һиڻMִеC

еĹϵʽеıɱкݵд ϵʽ 0 == 0U C1 < 0 C1 < 0U 2147483647 > C2147483647 C 1 2147483647U > C2147483647 C 1 2147483647 > (int) 2147483648U C1 > C2 (unsigned) C1 > C2 ޷ з ޷ з ޷ з з ޷ 1 1 0 1 0 1 1 1 000B = 000B 111B (C1) < 000B (0) 111B (232C1) > 000B(0) 0111B (231C1) > 1000B (C231) 0111B (231C1) < 1000B(231) 0111B (231C1) > 1000B (C231) 111B (C1) > 1110B (C2) 111B (232C1) > 1110B (232C2) ˵

9һCԳһaÿԪصĺ͡lenΪ0ʱֵӦ0

ڻִʱȴ˴洢쳣ʲôԭɵģ˵Ӧ޸ġ

1 float sum_elements(float a[], unsigned len) 2 { 3 int i; 4 float result = 0; 5 6 for (i = 0; i <= lenC1; i++) 7 result += a[i]; 8 return result; 9 }

ο𰸣

lenunsignedԣlen=0ʱִlen-1ĽΪ111ɱʾ޷κ޷Сʹѭ屻ִУԪصķԽ磬洢쳣 ֻҪlenΪintͣѭIJΪi

β 6λ 5λ 16һλλΪУƫóΪ4 1λ 1 ָʽʾʮ+1.7C0.12+19C1/8

2 дøʽıʾΧ12λ㲹ʾΧȽϡ ο𰸣ٶ01뷨룩 1 +1.7 = +1.1011001B = 0.011011B 41, ʽΪ1 +16 = 17 = 10001B, βΪ+0.011011IJ룬

0.011011+1.7ʾΪ0 10001 011011 C0.12 = C 0.000111101B = C 0.011111B 4C1, ʽΪ C1 + 16 =15 = 01111B, βΪC 0.011111

IJ룬1.100001, ԨC0.12ʾΪ1 01111 100001

ʲοĵ


【参考借鉴】计算机组成习题答案(清华大学出版?.docx -.doc ĵWordĵص
ڣ 【参考借鉴】计算机组成习题答案(清华大学 ĵ
Ƽ
Ķ
οͿͨغɸƺŰ棩

رĵҪ֧ 10 Ԫ

֧ʽ

ͨVIP»Ա ؼۣ29Ԫ/

עĵпܡֻĿ¼ݲȫ֮ǰעѸ޷ػ⣬ϵЭ㴦
΢ţxuecool-com QQ370150219