资讯详情

计算机组成原理综合练习(重点)

一. 论述题(共8题,64分)

1. (论述题, 8分) 8K x 8位DRAM芯片组成32K x 16位存储器,试问:

(1) 数据寄存器多少位置?地址寄存器多少位置?

(2) 需要多少芯片?如何组织?

(3)需要多少条地址线?选择译码信号需要多少片?

(4)画出这个存储器和CPU连接图。需要标记MREQ和读写信号。

答案:

(1)数据寄存器16位,地址寄存器15位(32位)K —2^15);

(2)共需8片芯片,2片组成8片K*16位,共4组;

(3)A12~A共有13条地址线,A13、A142根地址线作为片作为译码信号

图中MREQ不需要连接到2-4译码器也需要标记

2. (论述题, 8分) 用户虚拟地址空间为512页,页长为2页KB,主存物理为64KB。如果虚页0、1、2、3已转入主存4、7、8、10页,已知用户程序有10页长。 请问:

(1)物理地址和虚拟地址的格式。

(2)虚地址01883和4BCD(十六进制)对应的物理地址是多少?

答案:

(1)地址空间分配

页长2KB—2^页面地址11位

物理地址空间:64KB/2KB=32页—2^5, 页面地址5位,页面地址11位,地址代码16位

虚地址空间: 512页—2^9.页面地址9位,页面地址11位。共20个地址码

(2)地址对应

页表中反映了当前的内存状态 为4、7、8、10

虚地址01883H=0000 0001 1000 1000 0011B,页号为3,查表已转入主存页10,

因此,物理地址中的页面号为10,页面地址与虚拟地址相同,

所以物理地址是:101 0000 1000 0011B=5083H

虚地址4BCDH=0100 1011 1100 1101 B,页面号为9,查表,发现该页未被调入到主存中, 因此,如果没有物理地址,缺页就会中断。

3. (论述题, 8分) 主存容量为512K字,CACHE容量为2K块长为16个字。

(1)在直接映射下设计主存地址格式。

(2)在直接映射下,字地址为01234H的单元调入Cache,地址标记。

(3)直接映射的优缺点。

(4)主存格式在全相联映射下。

(5)4路组相联映射下,主存格式。

答案:

(1)512主存容量K字,地址位数19(512K=2^19);块长16字,位数4(16=2^4)

Cache容量2K字,共有2K/16=128块(128=2^7)行地址可用7位表示

标记位数为19-7-4=8

设计主存地址格式为直接映射

标记 行地址 块内地址
8 7 4

(2)直接映射,

字地址为01234H= 000 0001 0010 0011 0100,前8位0000010为标记,即02H。

(3)直接映射的优点是硬件简单,成本低。 缺点是每个主存块只能转入Cache如果Cache容量小,内存块频繁调出Cache的情况。

(4)主存地址格式为全相联映射

标记 块内地址
15 4

(5)Cache容量2K字,共有2K/16=128元,4路组相连,128/4=32组(32=2^5)组地址可用5位表示标记位数为19-5-4=在组相联映射模式下,设计主存地址格式为

标记 行地址 块内地址
10 5 4

4. (论述题, 8分) 在微程序控制器中,微命令采用水平格式,微命令编码法采用字段直接编码法。共有20个微操作控制信号,形成3个相互排斥的微命令组,每组包括5、7、8个微命令。已知的外部条件有两个,微指令下的地址字段直接给出后续的微指令地址,微指令字长20个。

(1)微指令按水平微指令格式设计。

(2)画出微程序控制器原理框图。

(3)计算和控制存储容量

答案:

(1)微指令按水平微指令格式设计。

控制字段和判别测试字段采用编码表示法,

控制字段的长度为:3 3 4 = 10

测试字段的长度为:2

下址字段长度为20-10-2 = 8

控制字段:10位 ,测试字段:2位,下址字段:8位

操作控制字段 条件测试 下地址
3位 3位 4位 2位 8位

b19 b9 b7 b0

(2)画出微程序控制器原理框图。

(3)计算和控制存储容量:20KB

解析:(1)

第一个微命令互斥类包括5个微命令和一个NOP共6个微命令,需要3位二进制编码;

第二个微命令互斥类包括7个微命令和一个NOP共8个微命令,需要3位二进制编码;

第三个微命令互斥类包括8个微命令和一个NOP共9个微命令,需要4位二进制编码;

因此,计算机微指令中的操作控制字段需要3 3 4=二进制编码10位。

如果采用直接控制方法,操作控制字段的位数等于微命令的位数20位,外部条件2位,对应2位。因此,操作控制字段=20 2=22位。

(2)假设微指令字长为20位,只能直接编码字段,其中下地址字段的位数=20-10-2=8位,编码格式如下图所示。

(3)以下地址字段为10位,微指令字长为20位,必须控制存储器的最大容量 = 2^10x20 = 1024×20 = 20480位 =20KB。

5. (论述题, 8分)设置机有5级中断:L0、L1、L2、L3、L中断响应的优先顺序为:L0到L4,L0最高,L1次之 ,L4最低要求将中断处理顺序改为L1、L3、L0、L4、L2,试问:

(1)下表中各级中断处理程序的各中断级屏蔽值如何设置?(每级对应一位,该位为“0”表示允许,该位为“1”表示中断屏蔽)

(2)如果5级中断同时发出中断请求,则按更改后的顺序绘制进入各级中断处理程序的过程示意图。并描述处理过程。

答案:

(1)L0:11010 L1:01000 L2:11111 L3:01010 L4:11011

表中:设置屏蔽位=1.表示屏蔽;屏蔽位置;=表示中断开放。

th>
中断处理屏蔽位
中断处理程序 L0级 L1级 L2级 L3级 L4级
L0中断处理程序 1 0 1 0 1
L1中断处理程序 1 1 1 1 1
L2中断处理程序 0 0 1 0 0
L3中断处理程序 1 0 1 1 1
L4中断处理程序 0 0 1 0 1

(2)若这5级中断同时发出中断请求,按优先次序先调用L0,L0屏蔽了本级和低级中断请求,而L1的中断请求未屏蔽,则L1发生中断嵌套响应;L1中断时,不允许任何中断,服务完毕后,退回到L0的中断服务程序,这时,允许L3的中断嵌套响应;L3服务完毕后,返回L0中断服务程序;L0服务完毕后,按照顺序应处理L2,进入L2的处理程序,L2被L4中断,执行L4级中断服务程序;L4执行完毕,执行L2的处理程序。

6. (论述题, 8分) 若变址寄存器R的内容为1000H,指令中的形式地址为2000H,地址1000H中的内容为2000H,地址2000H中的内容为3000H,地址3000H中的内容为4000H,地址4000H中的内容为5000H,则变址寻址方式下访问到的操作数是多少?请画图回答问题。

答案:变址寻址方式下访问到的操作数是4000H

解析:

变址寻址方式下有效地址EA=(R)+A=1000H+2000H=3000H,操作数S=(3000H)=4000H。所谓寻址,指的是寻找操作数的地址或下一条将要执行的指令地址。每台计算机的指令系统都有自身的一套寻址方式,不同计算机的寻址方式的名称和含义也不同。变址寻址就是把变址寄存器的内容与指令中给出的形式地址A相加,形成操作数有效地址,即EA=(变址寄存器)+A。操作数S与地址码和变址寄存器的关系为S = (变址寄存器) + A。

则变址寻址方式下,变址寻址的有效地址为3000H,访问到的操作数4000H。

7. (论述题, 8分) 指令流水线有取指(IF)、译码(ID)、执行(EX)、写回 (WB)四个过程,共有10条指令连续输入此流水线。

(1)画出指令周期流程图

(2)画出非流水线时空图

(3)画出流水线时空图

(4)假设时钟周期为100ns,求流水线的实际吞吐率(单位时间里执行完毕的指令数)。

答案:

(1)画出指令周期流程图

指令周期包括4个子过程,流程图如下。

(2)非流水CPU时空图

(3)流水CPU时空图

(4)方法一:假设时钟周期为100ns,求流水线的实际吞吐率(单位时间里执行完毕的指令数)。由上图所示,如果10条指令进入流水线的时空图,在13个时钟周期结束时,CPU执行完10条指令,1 s=10^9 ns,故实际吞吐率为:10/(100ns×13) ≈ 7.7×10^6条指令/秒

方法二:第一条指令输出结果需要4个周期,其他指令仅需要一个时钟,

​ 故实际的吞吐率为10/[(4+9)x100ns]=7.7x10^6条/秒

8. (论述题, 8分) 今有4级流水线,分别完成取指、指令译码并取数、运算、送结果四步操作。假设完成各步操作的时间依次为100ns、100ns、80ns、50ns。请问:

① 流水线的操作周期应设计为多少?

② 若相邻两条指令发生数据相关,硬件上不采取措施,那么第2条指令要推迟多少时间进行?

③ 如果再硬件设计上加以改进,至少需推迟多少时间?

④ 求流水线的实际吞吐量(单位时间内执行完毕的指令条数)

⑤ 求流水线的加速比。(非流水时间/流水时间)

答案:

(1) 流水线的操作周期应设计为100ns

(2) 第2条指令要推迟 200ns 时间进行

(3) 至少需推迟 100ns 时间

(4)求流水线的实际吞吐量 8.33x10^6 条/秒(单位时间内执行完毕的指令条数)

(5)求流水线的加速比 4.17。(非流水时间/流水时间)

解析:

吞吐率:指单位时间内指令执行的个数。

加速比:指非流水线处理器与流水线处理器执行同一段程序所花的时间之比。

指令并行度:处理器能够在同一时间里并行执行的指令条数。 从流水线的吞吐率看,当流水线执行的指令数远远大于它的级数时,流水线的吞吐率约等于流水线时钟周期τ的倒数。因此吞吐率的大小与流水线的级数关系不大,主要取决于流水线的时钟周期t,t越小吞吐率就越大。也就是说,一条指令的执行不论其需要经历多少个阶段,从统计学角度上看它的执行时间仅为τ,这也是设计流水线处理器的意义所在。

(1)流水线的操作周期 t 应按四步操作中最长时间来考虑, 所以 t = 100 ns。

(2)遇到数据相关时,可停顿下一条指令的执行,直到前面指令的结果已经产生,因此至少需要延迟2个时钟周期为200ns。

(3)如采用专用通路技术,应保证取数之前结果已计算出来;因此,至少需要延迟1个时钟周期为 100ns 。

(4)流水线实际吞吐量

 (5)流水线加速比

二. 计算题(共7题,36分)

9. (计算题, 5分)求十进制数-17的原码表示,反码表示,补码表示和移码表示(用二进制表示,并设最高位为符号位,真值为7位)。

答案:

-17的原码为10010001;

​ -17的反码为11101110;

​ -17补码为11101111。

​ -17移码 01101111

解析:用八位二进制表示,最高位表示符号位,1为负,0为正。

​ 补码为其绝对值的原码取反加1,17原码为00010001,取反加1为11101110+1=11101111。

​ 移码为补码首位取反,其余位不变。

10. (计算题, 6分) 已知x=1011,y=-1000,用变形补码计算x+y,x-y 并指出是否溢出。

答案:x+y=+0011,无溢出;

​ x-y 结果正溢出。

解析:x=1011为正,y=-1000为负;0为正,1为负。

​ 正数原码=反码=补码=1011,负数补码=原码取反(0111)+1=1000

​ 双符号位相同无溢出;双符号位不同则溢出;

​ 双符号位为01,结果为正数,正溢出(上溢);

​ 双符号位为10,结果为负数,负溢出(下溢)。

​ [x]补=00 1011,[y]补=11 1000,[-y]补=00 1000

      ​ [x]补 001011

    ​ +[y]补 111000

​ [x+y]补 1000011

​ 双符号位相同为0,结果无溢出,x+y=+0011

    ​ [x]补 001011

+[-y]补 001000

​ [x-y]补 010011

​ 双符号位不同为01(正溢出—上溢),结果正溢出。

11. (计算题, 5分) 设x=+9,y=-7,用带求补器的补码阵列乘法器计算X×Y。

答案:[ X·Y]补 = 1111000001= -63;X×Y= -63

解析:

[x]补=0 1001,[y]补=1 1001;乘积符号位运算 0⊕1=1 (异或运算:相同为0,不同为1);

尾数部分算前求补器输出|x|=1001,|y|=0111;

      ​1001

   ​ x 0111

     ​ 1001

    ​ 1001

​    1001

+0000

​ 0111111

乘积符号为1,算后补码输出00111111,|x|·|y|= 100111111

注意:算后求补输出:算后求补器输出为[ X·Y]补=1111000001=-2^8+2^7+2^6+1=-256+128+64+1=-63

二进制数真值|x|·|y|= 100111111=2^5+2^4+2^3+2^2+2^1+2^0 =- 63

十进制数乘法验证x·y= 9 x (-7) = - 63

12. (计算题, 5分) CPU执行一段程序时,cache完成存取的次数为3800次,主存完成存取的次数为200次,已知cache存取周期为50ns,主存为250ns,求cache / 主存系统的效率和平均访问时间。

答案:

cache / 主存系统的效率:83.3%

平均访问时间:60ns

解析:

命中率H=Ne/(NC+Nm)=3800/(3800+200)=0.95

主存慢于cache的倍率:r=tm/tc=250ns/50ns=5

访问效率:e=1/[r+(1-r)·H]=1/[5+(1-5)×0.95]=83.3%

平均访问时间:ta=tc/e=50ns/0.833=60ns

13. (计算题, 5分) 用一台50MHz处理机执行标准测试程序,它包含的混合指令数和相应所需的平均时钟周期数如表所示,求有效CPI、MIPS速率、处理机程序执行时间tcpu.

答案:

有效CPI:1.55(周期/指令)

MIPS速率:32.26(百万条指令/秒)

处理机程序执行时间tcpu:3.1 ms = 3100 us

解析:10^6 表示 10的6次方 :1秒 = 10^6 微秒

(1)方法一:

CPI = 执行某段程序所需的CPU时钟周期数 / 程序包含的指令条数

     ​ = (45000x1+32000x2+15000x2+8000x2)/(45000+32000+15000+8000)

     ​ =  1.55(周期/指令)

方法二:有效CP1为:1×0.45+2×0.32+2×0.15+2×0.08=1.55 CP1

(2)方法一:MIPS = f /(CPI x 10^6)

                                ​ =(50 x 10^6)/(1.55 x 10^6)

​                                 = 32.26(百万条指令/秒)

方法二:M1PS速率为:1/1.55×50=32.26 M1PS

(3)Tcpu = 执行某段程序所需的CPU时钟周期数 / CPU时钟频率( f )

                 ​ = (45000 x 1+ 32000 x 2 + 15000 x 2 + 8000 x 2) /(50x10^6)

                 ​ = (1.55 x 10^5) / (50×10^6)

                 ​ = 0.0031 (s)

                ​ = 3.1 ms = 3100 us

14. (计算题, 5分) 将下列十进制数表示为IEEE754标准的32位规格化数                27/64               -27/64

答案:

27/64 规格化数:00111110110110000000000000000000 ,16进制:3ED80000 H

- 27/64 规格化数:10111110110110000000000000000000 ,16进制:BED80000 H

解析:数符S(1位)+ 阶码E(8位)+ 尾数M(23位)

​ 一个规格化的32位浮点数x的真值表示为 x=(-1)^S×(1.M)×2^(E-127),即e=E-127。

(1)将十进制数27/64表示成IEEE754标准的32位浮点规格化数。

因为27=11011 B,1/64 = 2^(-6);

所以27/64 = 0.011011 B = 1.1011 * 2^(-2);

所以e = -2,则 E=e + 127=125用二进制数表示为 E=01111101;

所以32位浮点规格化表示中,由 27/64 =1.1011可得数符S=0(数值为正),阶码E=125,尾数M=1011

尾数M为1011 000 0000 0000 0000 0000;

即32位浮点规格化数为S(1)+E(8)+M(23) = 0011 1110 1101 1000 0000 0000 0000 0000;

为方便阅读,转换成16进制显示为 3ED80000 H。

(2)将十进制数-27/64表示成IEEE754标准的32位浮点规格化数。

因为27=11011 B,1/64 = 2^(-6);

所以27/64 = 0.011011 B = 1.1011 * 2^(-2);

所以e = -2,则 E=e + 127=125用二进制数表示为 E=01111101;

所以32位浮点规格化表示中,由 -27/64 =1.1011可得数符S=1(数值为负),阶码E=125,尾数M=1011

尾数M为1011 000 0000 0000 0000 0000;

即32位浮点规格化数为S(1)+E(8)+M(23) = 1011 1110 1101 1000 0000 0000 0000 0000;

为方便阅读,转换成16进制显示为 BED80000 H。

15. (计算题, 5分) 某IEEE754标准的32位规格化数为BED80000H,求真值。

答案:真值 为 -27/64

解析:

BED80000H = 10111110110110000000000000000000

                    ​ = 1011 1110 1101 1000 0000 0000 0000 0000

因为 数符S(1位)+ 阶码E(8位)+ 尾数M(23位)

所以 S = 1(负),E = 01111101,M=1011

由 e = E - 127 = 125 - 127 = -2

所以 真值 = 1.1011 * 2^(-2) = 0.011011 B

因为 11011B = 27,0.000000 = 10^(-6),

所以 2^(-6) = 1/64

所以 真值 = -27/64

标签: cp100变送器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台