计算机组成与系统结构课后答案全.docx

上传人:b****2 文档编号:18124130 上传时间:2023-08-13 格式:DOCX 页数:117 大小:884.93KB
下载 相关 举报
计算机组成与系统结构课后答案全.docx_第1页
第1页 / 共117页
计算机组成与系统结构课后答案全.docx_第2页
第2页 / 共117页
计算机组成与系统结构课后答案全.docx_第3页
第3页 / 共117页
计算机组成与系统结构课后答案全.docx_第4页
第4页 / 共117页
计算机组成与系统结构课后答案全.docx_第5页
第5页 / 共117页
计算机组成与系统结构课后答案全.docx_第6页
第6页 / 共117页
计算机组成与系统结构课后答案全.docx_第7页
第7页 / 共117页
计算机组成与系统结构课后答案全.docx_第8页
第8页 / 共117页
计算机组成与系统结构课后答案全.docx_第9页
第9页 / 共117页
计算机组成与系统结构课后答案全.docx_第10页
第10页 / 共117页
计算机组成与系统结构课后答案全.docx_第11页
第11页 / 共117页
计算机组成与系统结构课后答案全.docx_第12页
第12页 / 共117页
计算机组成与系统结构课后答案全.docx_第13页
第13页 / 共117页
计算机组成与系统结构课后答案全.docx_第14页
第14页 / 共117页
计算机组成与系统结构课后答案全.docx_第15页
第15页 / 共117页
计算机组成与系统结构课后答案全.docx_第16页
第16页 / 共117页
计算机组成与系统结构课后答案全.docx_第17页
第17页 / 共117页
计算机组成与系统结构课后答案全.docx_第18页
第18页 / 共117页
计算机组成与系统结构课后答案全.docx_第19页
第19页 / 共117页
计算机组成与系统结构课后答案全.docx_第20页
第20页 / 共117页
亲,该文档总共117页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机组成与系统结构课后答案全.docx

《计算机组成与系统结构课后答案全.docx》由会员分享,可在线阅读,更多相关《计算机组成与系统结构课后答案全.docx(117页珍藏版)》请在冰点文库上搜索。

计算机组成与系统结构课后答案全.docx

计算机组成与系统结构课后答案全

第1章习题答案

5.若有两个基准测试程序P1和P2在机器M1和M2上运行,假定M1和M2的价格分别是5000元和8000元,下表给出了P1和P2在M1和M2上所花的时间和指令条数。

程序

M1

M2

指令条数

执行时间(ms)

指令条数

执行时间(ms)

P1

200×106

10000

150×106

5000

P2

300×103

3

420×103

6

请回答下列问题:

(1)对于P1,哪台机器的速度快?

快多少?

对于P2呢?

(2)在M1上执行P1和P2的速度分别是多少MIPS?

在M2上的执行速度又各是多少?

从执行速度来看,对于P2,哪台机器的速度快?

快多少?

(3)假定M1和M2的时钟频率各是800MHz和,则在M1和M2上执行P1时的平均时钟周期数CPI各是多少?

(4)如果某个用户需要大量使用程序P1,并且该用户主要关心系统的响应时间而不是吞吐率,那么,该用户需要大批购进机器时,应该选择M1还是M2?

为什么?

(提示:

从性价比上考虑)

(5)如果另一个用户也需要购进大批机器,但该用户使用P1和P2一样多,主要关心的也是响应时间,那么,应该选择M1还是M2?

为什么?

参考答案:

(1)对于P1,M2比M1快一倍;对于P2,M1比M2快一倍。

(2)对于M1,P1的速度为:

200M/10=20MIPS;P2为300k/=100MIPS。

对于M2,P1的速度为:

150M/5=30MIPS;P2为420k/=70MIPS。

从执行速度来看,对于P2,因为100/70=倍,所以M1比M2快倍。

(3)在M1上执行P1时的平均时钟周期数CPI为:

10×800M/(200×106)=40。

在M2上执行P1时的平均时钟周期数CPI为:

5×(150×106)=40。

(4)考虑运行P1时M1和M2的性价比,因为该用户主要关心系统的响应时间,所以性价比中的性能应考虑执行时间,其性能为执行时间的倒数。

故性价比R为:

R=1/(执行时间×价格)

R越大说明性价比越高,也即,“执行时间×价格”的值越小,则性价比越高。

因为10×5000>5×8000,所以,M2的性价比高。

应选择M2。

(5)P1和P2需要同等考虑,性能有多种方式:

执行时间总和、算术平均、几何平均。

若用算术平均方式,则:

因为(10+/2×5000>(5+/2×8000,所以M2的性价比高,应选择M2。

若用几何平均方式,则:

因为sqrt(10××5000

6.若机器M1和M2具有相同的指令集,其时钟频率分别为1GHz和。

在指令集中有五种不同类型的指令A~E。

下表给出了在M1和M2上每类指令的平均时钟周期数CPI。

机器

A

B

C

D

E

M1

1

2

2

3

4

M2

2

2

4

5

6

请回答下列问题:

(1)M1和M2的峰值MIPS各是多少?

(2)假定某程序P的指令序列中,五类指令具有完全相同的指令条数,则程序P在M1和M2上运行时,哪台机器更快?

快多少?

在M1和M2上执行程序P时的平均时钟周期数CPI各是多少?

参考答案:

(1)M1上可以选择一段都是A类指令组成的程序,其峰值MIPS为1000MIPS。

M2上可以选择一段A和B类指令组成的程序,其峰值MIPS为1500/2=750MIPS。

(2)5类指令具有完全相同的指令条数,所以各占20%。

在M1和M2上执行程序P时的平均时钟周期数CPI分别为:

M1:

20%×(1+2+2+3+4)=×12=

M2:

20%×(2+2+4+5+6)=×19=

假设程序P的指令条数为N,则在M1和M2上的执行时间分别为:

M1:

×N×1/1G=(ns)

M2:

×N×1/=N(ns)

M1执行P的速度更快,每条指令平均快,也即M1比M2快×100%≈5%。

(思考:

如果说程序P在M1上执行比M2上快–/×100%=%,那么,这个结论显然是错误的。

请问错在什么地方?

7.假设同一套指令集用不同的方法设计了两种机器M1和M2。

机器M1的时钟周期为,机器M2的时钟周期为。

某个程序P在机器M1上运行时的CPI为4,在M2上的CPI为2。

对于程序P来说,哪台机器的执行速度更快?

快多少?

参考答案:

假设程序P的指令条数为N,则在M1和M2上的执行时间分别为:

M1:

4N×=(ns)

M2:

2N×=N(ns)

所以,M2执行P的速度更快,每条指令平均快,比M1快×100%=25%。

8.假设某机器M的时钟频率为4GHz,用户程序P在M上的指令条数为8×109,其CPI为,则P在M上的执行时间是多少?

若在机器M上从程序P开始启动到执行结束所需的时间是4秒,则P占用的CPU时间的百分比是多少?

参考答案:

程序P在M上的执行时间为:

×8×109×1/4G=s,从启动P执行开始到执行结束的总时间为4秒,其中秒是P在CPU上真正的执行时间,其他时间可能执行操作系统程序或其他用户程序。

程序P占用的CPU时间的百分比为:

4=%。

9.假定某编译器对某段高级语言程序编译生成两种不同的指令序列S1和S2,在时钟频率为500MHz的机器M上运行,目标指令序列中用到的指令类型有A、B、C和D四类。

四类指令在M上的CPI和两个指令序列所用的各类指令条数如下表所示。

A

B

C

D

各指令的CPI

1

2

3

4

S1的指令条数

5

2

2

1

S2的指令条数

1

1

1

5

请问:

S1和S2各有多少条指令?

CPI各为多少?

所含的时钟周期数各为多少?

执行时间各为多少?

参考答案:

S1有10条指令,CPI为(5×1+2×2+2×3+1×4)/10=,所含的时钟周期数为10×=19,执行时间为19/500M=38ns。

S2有8条指令,CPI为(1×1+1×2+1×3+5×4)/8=,所含的时钟周期数为8×=26,执行时间为26/500M=52ns。

(注:

从上述结果来看,对于同一个高级语言源程序,在同一台机器上所生成的目标程序不同,其执行时间可能不同,而且,并不是指令条数少的目标程序执行时间就一定少。

10.假定机器M的时钟频率为,某程序P在机器M上的执行时间为12秒钟。

对P优化时,将其所有的乘4指令都换成了一条左移2位的指令,得到优化后的程序P’。

已知在M上乘法指令的CPI为5,左移指令的CPI为2,P的执行时间是P’执行时间的倍,则P中有多少条乘法指令被替换成了左移指令被执行?

参考答案:

显然,P’的执行时间为10秒,因此,P比P’多花了2秒钟,因此,执行时被换成左移指令的乘法指令的条数为×2/(5–2)=800M。

第二章习题答案

3.实现下列各数的转换。

(1)10=(?

)2=(?

)8=(?

)16

(2)2=(?

)10=(?

)8=(?

)16=(?

)8421

(3)(010110018421=(?

)10=(?

)2=(?

)16

(4)16=(?

)10=(?

)2

参考答案:

(1)10=(12=8=16

(2)2=10=8=16=(010001110101)8421

(3)(010110018421=10=…)2=…)16

(4)16=10=(01002

4.假定机器数为8位(1位符号,7位数值),写出下列各二进制数的原码和补码表示。

+,–,+,–,+,–,+0,–0

参考答案:

原码补码

+:

–:

+:

溢出溢出

–:

溢出

+:

–:

+0:

–0:

5.假定机器数为8位(1位符号,7位数值),写出下列各二进制数的补码和移码表示。

+1001,–1001,+1,–1,+10100,–10100,+0,–0

参考答案:

移码补码

+1001:

00001001

–1001:

01110111

+1:

00000001

–1:

0

+10100:

00010100

–10100:

01101100

+0:

00000000

–0:

00000000

6.已知[x]补,求x

(1)[x]补=

(2)[x]补=

(3)[x]补=(4)[x]补=

参考答案:

(1)[x]补=x=–

(2)[x]补=x=–B=–128

(3)[x]补=x=+

(4)[x]补=x=–101101B=–45

7.假定一台32位字长的机器中带符号整数用补码表示,浮点数用IEEE754标准表示,寄存器R1和R2的内容分别为R1:

0000108BH,R2:

8080108BH。

不同指令对寄存器进行不同的操作,因而,不同指令执行时寄存器内容对应的真值不同。

假定执行下列运算指令时,操作数为寄存器R1和R2的内容,则R1和R2中操作数的真值分别为多少?

(1)无符号数加法指令

(2)带符号整数乘法指令

(3)单精度浮点数减法指令

参考答案:

R1=0000108BH=00000000000000000001000010001011b

R2=8080108BH=10000000100000000001000010001011b

(1)对于无符号数加法指令,R1和R2中是操作数的无符号数表示,因此,其真值分别为R1:

108BH,R2:

8080108BH。

(2)对于带符号整数乘法指令,R1和R2中是操作数的带符号整数补码表示,由最高位可知,R1为正数,R2为负数。

R1的真值为+108BH,R2的真值为–(01111111011111111110111101110100b+1b)=–7F7FEF75H。

(3)对于单精度浮点数减法指令,R1和R2中是操作数的IEEE754单精度浮点数表示。

在IEEE754标准中,单精度浮点数的位数为32位,其中包含1位符号位,8位阶码,23位尾数。

由R1中的内容可知,其符号位为0,表示其为正数,阶码为00000000,尾数部分为00000000001000010001011,故其为非规格化浮点数,指数为–126,尾数中没有隐藏的1,用十六进制表示尾数为+,故R1表示的真值为+×10-126。

由R2中的内容可知,其符号位为1,表示其为负数,阶码为00000001,尾数部分为00000000001000010001011,故其为规格化浮点数,指数为1–127=–126,尾数中有隐藏的1,用十六进制表示尾数为–,故R2表示的真值为–×10-126

8.假定机器M的字长为32位,用补码表示带符号整数。

下表第一列给出了在机器M上执行的C语言程序中的关系表达式,请参照已有的表栏内容完成表中后三栏内容的填写。

关系表达式

运算类型

结果

说明

0==0U

–1<0

–1<0U

47>–47–1

47U>–47–1

47>(int)48U

–1>–2

(unsigned)–1>–2

无符号整数

有符号整数

无符号整数

有符号整数

无符号整数

有符号整数

有符号整数

无符号整数

1

1

0

1

0

1

1

1

00…0B=00…0B

11…1B(–1)<00…0B(0)

11…1B(232–1)>00…0B(0)

011…1B(231–1)>100…0B(–231)

011…1B(231–1)<100…0B(231)

011…1B(231–1)>100…0B(–231)

11…1B(–1)>11…10B(–2)

11…1B(232–1)>11…10B(232–2)

9.以下是一个C语言程序,用来计算一个数组a中每个元素的和。

当参数len为0时,返回值应该是0,但是在机器上执行时,却发生了存储器访问异常。

请问这是什么原因造成的,并说明程序应该如何修改。

1floatsum_elements(floata[],unsignedlen)

2{

3inti;

4floatresult=0;

5

6for(i=0;i<=len–1;i++)

7result+=a[i];

8returnresult;

9}

参考答案:

参数len的类型是unsigned,所以,当len=0时,执行len-1的结果为11…1,是最大可表示的无符号数,因而,任何无符号数都比它小,使得循环体被不断执行,引起数组元素的访问越界,发生存储器访问异常。

只要将len声明为int型,或循环的测试条件改为i

10.设某浮点数格式为:

其中,移码的偏置常数为16,补码采用一位符号位,基数为4。

(1)用这种格式表示下列十进制数:

+,–,+19,–1/8。

(2)写出该格式浮点数的表示范围,并与12位定点补码整数表示范围比较。

参考答案:

(假定采用0舍1入法进行舍入)

(1)+=+=×41,故阶码为1+16=17=10001B,尾数为+的补码,即,所以+表示为010001011011。

–=–=–×4–1,故阶码为–1+16=15=01111B,尾数为–的补码,即,所以–表示为101111100001。

+19=+10011B=×43,故阶码为3+16=19=10011B,尾数为,所以+19表示为010011010011。

–1/8=–=–=–×4–1,阶码为–1+16=15=01111B,尾数为–的补码,即,所以–1/8表示为101111100000。

(2)该格式浮点数表示的范围如下。

正数最大值:

×411111,即:

×415(≈230≈109)

正数最小值:

×400000,即:

×4–16(≈2–34≈10–10)

负数最大值:

–×400000,即:

–×4–16

负数最小值:

–×411111,即:

–×415

因此,该格式浮点数的数量级在10–10~109之间。

12位定点补码整数的表示范围为:

–211~+(211–1),即:

–2048~2047

由此可见,定点数和浮点数的表示范围相差非常大。

11.下列几种情况所能表示的数的范围是什么?

(1)16位无符号整数

(2)16位原码定点小数

(3)16位补码定点小数

(4)16位补码定点整数

(5)

下述格式的浮点数(基数为2,移码的偏置常数为128)

 

参考答案:

(1)无符号整数:

0~216–1。

(2)原码定点小数:

–(1–2–15)~+(1–2–15)。

(3)补码定点小数:

–1~+(1–2–15)。

(4)补码定点整数:

–32768~+32767。

(5)浮点数:

负数:

–(1–2–7)×2+127~–2–7×2–128。

正数:

+2–135~(1–2–7)×2+127。

12.以IEEE754单精度浮点数格式表示下列十进制数。

+,+19,–1/8,258

参考答案:

+=+=×20,故阶码为0+127=01111111B,数符为0,尾数为…0,小数点前为隐藏位,所以+表示为00111111111000000000000000000000,用十六进制表示为3FE00000H。

+19=+10011B=+×24,故阶码为4+127=B,数符为0,尾数为…0,所以+19表示为000110000000000000000000,用十六进制表示为H。

–1/8=–=–=–×2–3,阶码为–3+127=01111100B,数符为1,尾数为…0,所以–1/8表示为10111110000000000000000000000000,用十六进制表示为BE000000H。

258=0B=×28,故阶码为8+127=B,数符为0,尾数为,所以258表示为000000010000000000000000,用十六进制表示为H。

13.设一个变量的值为4098,要求分别用32位补码整数和IEEE754单精度浮点格式表示该变量(结果用十六进制表示),并说明哪段二进制序列在两种表示中完全相同,为什么会相同?

参考答案:

4098=+1000000000010B=+1.00000000001×212

32位2-补码形式为:

00000000000000000001000000000010(00001002H)

IEEE754单精度格式为:

000000000001000000000000(H)

粗体部分为除隐藏位外的有效数字,因此,在两种表示中是相同的序列。

14.设一个变量的值为–47,要求分别用32位补码整数和IEEE754单精度浮点格式表示该变量(结果用十六进制表示),并说明哪种表示其值完全精确,哪种表示的是近似值。

参考答案:

–47=–1111111111111111111111111111111B

=–1111111111111111111111111111×230

32位2-补码形式为:

10000000000000000000000000000001(H)

IEEE754单精度格式为:

111111111111111111111111(CEFFFFFFH)

32位2-补码形式能表示精确的值,而浮点数表示的是近似值,低位被截断

15.下表给出了有关IEEE754浮点格式表示中一些重要数据的取值,表中已经有最大规格化数的相应内容,要求填入其他浮点数的相应内容。

(注:

表中a代表一个在1到10之间的正纯小数)

项目

阶码

尾数

单精度

双精度

以2的幂次表示的值

以10的幂次表示的值

以2的幂次表示的值

以10的幂次表示的值

0

1

最大规格化数

最小规格化数

最大非规格化数

最小非规格化数

+∞

NaN

00000000

01111111

00000001

00000000

00000000

 

0….00

0….00

1…11

0….00

1…11

0…01

0….00

非全0

0

1

(2–2–23)×2127

×2–126

(1–2–23)×2–126

2–23×2–126=2–149

0

1

a×1038

a×10–38

a×10–38

a×10–44

0

1

(2–2–52)×21023

×2–1022

(1–2–52)×2–1022

2–52×2–1022

0

1

a×10308

a×10–308

a×10–308

a×10–?

16.已知下列字符编码:

A=1000001,a=1100001,0=0110000,求E、e、f、7、G、Z、5的7位ACSII码和第一位前加入奇校验位后的8位编码。

参考答案:

E的ASCII码为‘A’+(‘E’–‘A’)=1000001+100=1000101,奇校验位P=0,第一位前加入奇校验位后的8位编码是01000101。

e的ASCII码为‘a’+(‘e’–‘a’)=1100001+100=1100101,奇校验位P=1,第一位前加入奇校验位后的8位编码是11100101。

f的ASCII码为‘a’+(‘f’–‘a’)=1100001+101=1100110,奇校验位P=1,第一位前加入奇校验位后的8位编码是11100110。

7的ASCII码为‘0’+(7-0)=0110000+111=0110111,奇校验位P=0,第一位前加入奇校验位后的8位编码是00110111。

G的ASCII码为‘A’+(‘G’–‘A’)=1000001+0110=1000111,奇校验位P=1,第一位前加入奇校验位后的8位编码是11000111。

Z的ASCII码为‘A’+(‘Z’–‘A’)=1000001+11001=1011010,奇校验位P=1,第一位前加入奇校验位后的8位编码是11011010。

5的ASCII码为‘0’+(5–0)=0110000+101=0110101,奇校验位P=1,第一位前加入奇校验位后的8位编码是10110101。

17.假定在一个程序中定义了变量x、y和i,其中,x和y是float型变量(用IEEE754单精度浮点数表示),i是16位short型变量(用补码表示)。

程序执行到某一时刻,x=–、y=、i=100,它们都被写到了主存(按字节编址),其地址分别是100,108和112。

请分别画出在大端机器和小端机器上变量x、y和i在内存的存放位置。

参考答案:

–=–=–×2-3

x在机器内部的机器数为:

10111110000…0(BE000000H)

=+=+×22

y在机器内部的机器数为:

011100…0(40F00000H)

100=64+32+4=1100100B

i在机器内部表示的机器数为:

0000000001100100(0064H)

大端机小端机

地址内容内容

100BEH00H

10100H00H

10200H00H

10300HBEH

10840H00H

109F0H00H

11000HF0H

11100H40H

11200H64H

11364H00H

18.假定某计算机的总线采用奇校验,每8位数据有一位校验位,若在32位数据线上传输的信息是8F3CAB96H,则对应的4个校验位应为什么?

若接受方收到的数据信息和校验位分别为873CAB96H和0101B,则说明发生了什么情况,并给出验证过程。

参考答案:

传输信息8F3CAB96H展开为10001111001111001010101110010110,每8位有一个奇校验位,因此

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2