2019厦门理工学院计算机组成原理期中考试题答案

1.假定某计算机1和计算机2以不同的方式实现了相同的指令集,该指令集中共有A、B、C、D四类指令,它们在程序中所占比例分别为30%、30%、20%、20%,机器1和机器2的时钟周期为400MHZ和600MHZ,各类指令在两机器上的CPI如表1所示,求两机器的MIPS各为多少?

A B C D
CPI1 2 3 4 5
CPI2 2 2 3 4

解答
本题题目有误,时钟周期应为时钟频率。

CPI1=2* 0.3+3 * 0.3+4 * 0.2+5 * 0.2=3.3

CPI2=2* 0.3+2* 0.3+3* 0.2+4* 0.2=2.6

MIPS1=(400* 10⁶)/(3.3* 10⁶)=121

MIPS2=(600* 10⁶)/(2.6* 10⁶)=230

2、分析下列几种情况下所能表示的数据范围分别是多少?(用十进制或指数的形式表示 )

1)8位无符号数;
2)8位原码定点小数;
3)8位补码定点小数;
4) 8位补码定点整数;

解答

  • 1)8位无符号数; 0~255或(0 ~28-1)
  • 2)8位原码定点小数; -127/128~127/128或(-27-1 ~ 27-1)
  • 3)8位补码定点小数; -1~127/128或(-1 ~ 27-1)
  • 4)8位补码定点整数; -128~127或(-27 ~ 27-1)

3、用IEEE754 32 位浮点数标准表示-18.75。

解答:
-18.75=-10010.11
可得-10010.11=1.001011 * 24 *(-1)1
则S=1 ,e=4
E=100+01111111=10000011
最后尾数M=001011
可得结果为11000001100101100000000000000000=C1960000

4、已知x和y,用变形补码计算x(-0.11010)+y(-0.101110),并判断结果是否溢出。

解答:
[x]补=11.00110 ,[y] 补=11.010010

  11.001100
 +11.010010
______________
  10.011110

符号位为10,故为负溢出

5、设数的阶码为3位,尾数为6位(不包括符号位)按机器补码浮点运算步骤,完成[x+y]补 ,x=2011×0.10010 , y=2010×(-0.01101)

解答:
本题取双符号位进行计算
[X] =00 011 00.100100
[Y] =00 010 11.100110
[△E]=[Ex]+[E-y]=00 011+11 110=00 001
所以△E=1
则x的阶码比y的阶码大1
将y的尾数向右移动一位同时阶码加1
[Y] =00 011 11.110011
再将尾数相加

  11.110011
 +00.100100
______________
  00.010111

最后进行规格化处理,将00.010111向左移动一位,同时阶码减1
结果为[x+y]=00 010 00.101110

6、用64K×1位的DRAM芯片构成2M×8 位的存储器,若采用异步刷新,若每行刷新间隔 不超过2ms,则产生刷新信号的间隔是多少时间?若采用集中刷新方式,则存储器刷新一遍 最少用多少个读写周期? CPU的死时间为多少?(假定存储器的读写周期为0.5us)

解答:
64K×1由256* 256的矩阵构成

采用异步式刷新,则刷新信号的间隔是2ms/256=7.81us

采用集中刷新 ,存储器刷新一遍最少用256个读写周期,CPU的死时间是256* 0.5us=128us.

7、设Cache 的容量为214 块, 每块是一个32 位字, 主存容量是Cache 容量的256 倍, 其中有如表所示数据( 地址和数据均采用16 进制表示).

地址 数据
000000 87568536
000008 87792301
010004 9ABEFCD0
01FFFC 4FFFFC68
FFFFF8 01BF2460

将主存中这些数据装入Cache 后, 写出Cache 各块中的数据内容及相应的标记
(1) 全相联映射
(2) 直接相联映射
(3) 组相联映射(4路组相联)

解答:
(1) 直接映射
Cache 地址格式

块地址 块内地址
14 2

直接映射主存地址格式

标记 块地址 块内地址
8 14 2
地址 数据
00000000 00000000000000 00 87568536
00000000 00000000000010 00 87792301
00000001 00000000000001 00 9ABEFCD0
00000001 11111111111111 00 4FFFFC68
11111111 11111111111110 00 01BF2460

Cache的标记及内容

Cache 块号 标记 所在单元数 数据
00000000000000 00000000 00 87568536
00000000000010 00000000 00 87792301
00000000000001 00000001 00 9ABEFCD0
11111111111111 00000001 00 4FFFFC68
11111111111110 11111111 00 01BF2460

(2)全相联
全相联主存地址格式

标记 块内地址
22 2

Cache的标记及内容

Cache 块号及标记 数据
00000000 00000000000000 87568536
00000000 00000000000010 87792301
00000001 00000000000001 9ABEFCD0
00000001 11111111111111 4FFFFC68
11111111 11111111111110 01BF2460

(3)四路组相联
四路组相联主存地址格式

标记 组地址 块内地址
10 12 2
标记 组号 数据
00000000 00 000000000000 87568536
00000000 00 000000000010 87792301
00000001 00 000000000001 9ABEFCD0
00000001 11 111111111111 4FFFFC68
11111111 11 111111111110 01BF2460

8、某计算机Cache 由32个存储块构成, 采用四路组相联映射方式. 主存包含2048个存储块, 每块由64个字组成. 访问地址为字地址

(1) 求主存地址和Cache 地址各有多少位?
(2) 按照题目条件中的映射方式, 列出主存地址的划分情况, 并标出各部分的位数

解答:
Cache地址11位:

块地址 块内地址
5 6

主存地址17位:

标记 组地址 块内地址
8 3 6

9、某计算机中主存容量为4MB,Cache容量为16KB,每块包含8 个字, 每字32 位, 映射方式采用4 路组相联. 设Cache 的初始状态为空,CPU依次从主存第0,1,2, ⋯,99 号单元读出100个字( 每次读一个字), 并重复此操作8 次. 替换算法采用LRU

(1) 求Cache的命中率
(2) 若Cache比主存块10 倍, 分析采用Cache 后存储访问速度提高了多少?

解答:
Cache地址12位:

块地址 块内地址
9 3

主存地址23位:

标记 组地址 块内地址
10 7 6

100个字分布在13个块中,第个块有8个字,每次访问时第1个字不命中,其它7个字命中第2次重复读时,由于Cache至少有27组,因此不会存在覆盖的情况,

所以命中率是H=800-13/800=98.375%

Ta=H* Tc+(1-H)Tm=H* Tc+(1-H)* 10* Tc=10Tc-9* H * Tc

没有Cache的访问时间为Tm=10Tc

因此10Tc/(10Tc-9HTc)-1=7.7

提高7.7倍左右

11、主存容量为64MB,虚存容量为8GB,分页管理时若页面大小为8KB,求出对应的VPN、VPO、PPN、PPO的位数。

解答:
虚拟地址格式

虚页号 页内地址
20 13

实地址格式

实页号 页内地址
13 13

12、对于64K 字容量的存储器,若按字编址,字长32位。其地址寄存器应是多少位?数据寄存器是多少位?

解答:
存储器容量是64K*32,因此地址寄存器有16位,数据寄存器32位。

你可能感兴趣的:(计算机组成原理,计算机组成原理,厦门理工学院)