一、判断题
F. 计算机的 硬件系统包括 运算器、控制器、存储器、输入设备、输出设备。
T. 指令周期是指从取指令、分析取数到执行完该指令所需的全部时间。
T. 字长一般以字节(Byte)为基本单位。 字长会影响计算精确度、数据的表示范围和精度。
T.
T.
T.
7、硬布线控制器执行速度快,设计复杂,但其耗费成本低。
F. 硬布线控制器的特点是执行速度快,指令功能的修改和扩展难。
8、常用的虚拟存储器寻址系统由 cache+主存+辅存三级存储器组成。
F. 常用的虚拟存储器寻址系统由主存 - 辅存两级存储器组成。
9、奇偶校验可以纠正数据传输出现的错误。
F. 奇偶检验用于检查数据传输的完整性。
T.
F. 负整数的反码为符号位保持不变,其余各位取反,其反码为符号位保持不变,其余各位取反后再在最后一位上加1
12、计算机的字长又叫“字”,是指处理器一次能够处理的最大二进制数的位数。
T.
F. 参与
14、海明码是一种能发现两位错误并能纠正一位错的编码。
T.
15、移码表示法主要用于表示浮点数的阶码。
T.
16、Cache 的地址映射中,直接映射的地址变换速度快,硬件容易实现,但命中率略低。
T.
17、与各中断源的中断级别相比,CPU(或主程序)的级别最高。
F.
18、定点小数表示中,只有补码能表示﹣1
T.
F.
T.
二、填空题
三、简答题
1、试阐述近期最少使用(LRU)算法的基本思想及其优点?
答:基本思想:将近期内长久未被访问过的行换出。为此,每行设置一个计数器,cache 每命中一次,命中行计数器清零,其它各行计数器增 1,因此它是未访问次数计数器。当需要替换时,比较各特定行的计数值,将计数值最大的行换出。优点:这种算法显然保护了刚调入 Cache 的新数据,符合 cache 工作原理,因而使 cache 有较高的命中率。LRU 算法硬件实现简单。
2、为什么在存储器芯片中设置片选输入端?
答:由于存储芯片的容量及字长与目标存储器的容量及字长之间可能存在差异,应用存储芯片组织一定容量与字长的存储器时,一般可采用位扩展、字扩展、字位同时扩展等方法来组织。这样就会使用多个存储芯片,从而要设置片选输入端来选择正确的存储芯片来进行操作。
3、计算机为什么要设置时序系统?说明指令周期、机器周期、和时钟周期的含义。
答:指令执行过程中的所有操作必须按照一定的次序完成,而且这些操作持续的时间也有严格的限制,因此,在计算机系统中需要设置时序系统,对指令执行过程中的所有控制信号进行时间控制,以保证指令功能的正确实现。通常将一条指令从取出到执行完成所需要的时间称为指令周期,包括取指周期和执行周期,指令周期通常由若干机器周期组成,所包含的机器周期的数量随指令功能和寻址方式的不同而不同。 机器周期分成若干个节拍电位时间段,通常以 CPU 完成一次微操作所需要的时间为基础来定义节拍电位的时间;由 CPU 时钟定义的定长时间间隔,是 CPU 工作的最小时间单位,也称节拍脉冲或 T 周期。
4、CPU 内部有哪些寄存器?功能分别是什么?
答:CPU 中主要有以下寄存器:程序计数器 PC :保存将要执行指令的字节地址。存储器地址寄存器 AR :通常用来保存 CPU 访问主存的单元地址。存储器数据寄存器 DR :用于存放从主存中读出的数据或准备写人主存的数据。指令寄存器 IR :用于保存当前正在执行的指令。通用寄存器组 GR :运算器内部的若干寄存器,又称寄存器堆。程序状态字寄存器 PSW :用于保存由运算指令创建的各种条件标志。
5、计算机系统中采用层次化存储体系结构的目的是什么? 层次化存储体系结构如
何构成?
答:采用层次化存储体系的目的包括两方面:其一是解决快速的 CPU 和慢速的主存之间的速度差异;其二是解决主存容量不够大的问题.存储系统的分级结构由 Cache、主存和辅助存储器三级结构构成。其理论基础是时间局部性原理和空间局部性原理,Cache—主存存储层次解决了主存速度不快的问题;而主存-辅存存储层次解决了主存容量不足的问题。
6、硬布线控制器与微程序控制器各有什么特点?
答:硬布线控制器又称为组合逻辑控制器,这种控制器中的控制信号直接由各种类型的逻辑门电路和触发器等构成,与微程序控制器相比,具有结构复杂但速度快的特点。 微程序控制器的设计采用了存储技术和程序设计技术,使复杂的控制逻辑得到简化。通过读出存放在微程序控制器中微指令产生指令执行过程中所需要的控制信号,所以,与硬布线控制器相比,微程序控制器的速度较慢。
四、综合题
1、设某机内存容量为 16MB,Cache 的容量 16KB,每块 8 个字,每个字 32 位.设计
一个四路组相联映射(即 Cache 内每组包含 4 个字块)的 Cache 组织方式。
(1)列出主存地址划分情况,并标出各部位的位数。
(2) 设 Cache 的初态为空,CPU 从主存第 0 号单元开始连续访问 100 个字(主存
一次读出一个字),重复此次序读 8 次,求存储访问的命中率。
答:(1)块内偏移 5 位,index7 位、tag12 位。(2)主存 100 个单元分 13 块,处于主存 0 组,而 Cache 有 128 组,故访问主存前 100 号单元不发生页面调度;初态为空,每块第一次不命中,后 7 次访问均命中;100 号单元对应 13 块,第一轮访问 13 次不命中,后七轮访问均命中;循环 8次的总命中率为: (100*8-13)/(8*100) = 98.375%
2、若某程序编译后生成的目标代码由 A、B、C、D 四类指令组成,它们在程序
中所占比例分别为 40%、20%、15%、25%。已知 A、B、C、D 四类指令的 CPI 分
别为 1、2、2、2。现需要对程序进行编译优化,优化后的程序中 A 类指令条数
减少了一半,而其它指令数量未发生变化。假设运行该程序的计算机 CPU 主频
为 500MHZ。完成下列各题:
1)优化前后程序的 CPI 各为多少?
2)优化前后程序的 MIPS 各为多少?
3)通过上面的计算结果你能得出什么结论?
答:可以假设某程序编译后生成的目标代码有 100 条指令。A 有 40 条,B 有20 条,C 有 15 条,D 有 25 条。1)优化前:CPI= 1× 0.4 + 2× 0.2 + 2×0.15 + 2× 0.25= 1.6优化后 A 类指令条数减少一半,那么 A 有 20 条,B 有 20 条,C 有 15条,D 有 25 条。优化后:A、B、C、D 四类指令在程序中所占比例分别为 1/4、1/4、3/16、5/16, CPI= 1×1/4 + 2×1/4 + 2×3/16 + 2×5/16= 1.752)根据 公式 MIPS 得优化前:MIPS = (500×10 6 )/(1.6×10 6 ) = 312.5优化后:MIPS = (500×10 6 )/(1.75×10 6 ) = 285.73)优化后,A 类指令条数减少,造成计算机的 CPI 增加,MIPS 减少。这样的优化虽然减少了 A 类指令条数,却降低了程序的执行速度。
答:(1)采用双符号位,对阶 [x]补=00011 00100100 [y]补=00010 11100110 阶差 △E=Ex-Ey=00001,阶差为 1,将[y]补尾数右移一位得到 00011 11110011(2)相加 [x]补+[y]补=00011 00010111,尾数相加为 00010111(3)结果规格化 由于尾数符号位跟最高有效位相同,需要左规: 规格化结果为:[x]补+[y]补=00010 00101110(4)不需舍入,无溢出 则:[x]补+[y]补=00010 00101110
答:首先分别将整数和小数部分转换成二进制数:(20.59375) 10 =(10100.10011) 2移动小数点,使尾数变成 1.M 的形式:10100.10011=1.010010011×2 4可得:S=0,E=e+127=4+127=131=10000011,M=010010011最后得到 32 位浮点数的二进制存储格式为:最终机器码=(0100 0001 1010 0100 1100 0000 0000 0000) 2则十六进制为(41A4C00) 16
答:(1)主存地址位数为 19 位, cache 地址位数为 13 位 因为主存包含 4096 个存储块,每块由 128 个字组成,所以主存地址位数是 12+7=19 位;因为 cache由 64 个存储 块构成,采用 4 路组相联映射方式,所以 cache 的地址位数是4+2+7=13 位。(2)列出主存地址的划分情况,并标出各部分的位数 标记(tag):8 位,组索引(index):4 位,块内偏移(offset):7 位
答:(1)被检验位有 8 位,设检验位有 r 位 因为: 8+r<=2^r-1 ,所以 r=4; 设四位分别为 P1,P2,P3,P4 海明码为: H1H2H3H4H5H6H7H8H9H10H11H12 = P1P2 0 P3 110 P4 1110P1=H3 ⊕H5 ⊕H7 ⊕H9 ⊕H11P2=H3 ⊕H6 ⊕H7 ⊕H10 ⊕H11P3=H5 ⊕H6 ⊕H7 ⊕H12P4=H9 ⊕H10 ⊕H11 ⊕H12所以 P1=1,P2=1, P3=0, P4=1海明码为: 110011011110指错位G1=H1 ⊕H3 ⊕H5 ⊕H7 ⊕H9 ⊕H11 G2=H2 ⊕H3 ⊕H6 ⊕H7 ⊕H10 ⊕H11G3=H4 ⊕H5 ⊕H6 ⊕H7 ⊕H12G4=H8 ⊕H9 ⊕H10 ⊕H11 ⊕H12所以 G1=0,G2=0,G3=0,G4=0 (13 分)(2)如果接收方收到的有效信息变成 D1D2D3D4D5D6D7D8 =01101111 那么 G1=0,G2=0,G3=1,G4=1所以,检错码 G4G3G2G1=11002 =1210即第 12 位错,直接将 D8 纠错为 0 即可。
答:(a)采用双符号位,对阶 [x]补=00011 00100100 [y]补=00010 11100110阶差 △E=Ex-Ey=00001,阶差为 1 将[y]补尾数右移一位得到 00011 11110011(b)相加 [x]补+[y]补=00011 00010111,尾数相加为 00010111(c)结果规格化 由于尾数符号位跟最高有效位相同,需要左规: 规格化结果为:[x]补+[y]补=00010 00101110(d)不需舍入,无溢出 则:[x]补+[y]补=00010 00101110