4. 多模块交叉存储器是如何加速CPU和存储器之间的有效传输的? 【解】
CPU同时访问多个模块,由存储器控制部件控制它们分时使用数据总线进行信息传递。对每一个存储模块来说,从CPU给出访存命令直到读出信息仍然使用了一个存取周期时间,而对CPU来说,它可以在一个存取周期内连续访问多个模块。各模块的读写过程将重叠进行,所以多模块交叉存储器是一种并行存储器结构。 5. 何谓动态执行技术? 【解】
所谓动态执行技术,就是通过预测程序流来调整指令的执行,并分析程序的数据流来选择指令执行的最佳顺序
6. 请比较虚拟存储器和Cache这两种存储系统的相似之处和主要区别。 【解】
相似之处:①把程序中最近常用的部分驻留在高速的存储器中;②一旦这部分变得不常用了,把它们送回到低速的存储器中;③这种换入换出是由硬件或操作系统完成的,对用户是透明的;④力图使存储系统的性能接近高速存储器,价格接近低速存储器。
主要区别:在虚拟存储器中未命中的性能损失要远大于Cache系统中未命中的损失。 7. 请简述Cache的基本工作过程。 【解】
当CPU读取主存中一个字时,便发出此字的内存地址到Cache和主存。此时Cache控制逻辑依据地址判断此字当前是否在 Cache中:若是,此字立即传送给CPU;若非,则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到Cache中。
8. 请简述存储器扩展的3种方法。 【解】
存储器芯片的容量是有限的,需要在字向和位向两方面进行扩充才能满足实际存储器的容量要求。通常采用位扩展法、字扩展法、字位同时扩展法。
位扩展法:只加大字长,而存储器的字数与存储器芯片字数一致,对片子没有选片要求。
字扩展法:仅在字向扩充,而位数不变,由片选信号来区分各片地址。 字位同时扩展法:在字向和位向同时进行扩展。 9. 请简述CPU对存储器进行读/写操作的过程。 【解】
首先由地址总线给出地址信号,然后要发出读操作或写操作的控制信号,最后在数据总线上进行信息交流。
10. 请简述单机系统中单总线、双总线和三总线结构彼此之间有什么不同? 【解】
单总线结构:使用一条单一的系统总线来连接CPU、主存和I/O设备。总线只能分时工作,使信息传送的吞吐量受到限制。
双总线结构:在CPU和主存之间专门设置了一组高速的存储总线,使CPU可通过专用总线与存储器交换信息,并减轻了系统总线的负担。主存仍可通过系统总线与外设之间实现DMA操作,而不必经过CPU
三总线结构:在双总线系统的基础上增加I/O总线,其中,系统总线是CPU、主存和通道(IOP)之间进行数据传送的公共通路,而I/O总线是多个外部设备与通道之间进行数据传送的公共通路。通道实际上是一台具有特殊功能的处理器,它分担了一部分
6
CPU的功能,以实现对外设的统一管理及外设与主存之间的数据传送。 11. 请简述计算机并行处理技术中的时间并行和空间并行。 【解】
时间并行:让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。时间并行性概念的实现方式就是采用流水处理部件,是一种非常经济而实用的并行技术,能保证计算机系统具有较高的性能价格比。
空间并行:以“数量取胜”为原则来大幅度提高计算机的处理速度。空间并行技术主要体现在多处理器系统和多计算机系统。
12. 请简述现代计算机系统中的多级存储器体系结构。 【解】
为了解决对存储器要求容量大、速度快、成本低三者之间的矛盾,目前在计算机系统中,通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外存储器。 13. 请简述计算机的流水处理过程。 【解】
为了实现流水,首先把输入的任务(或过程)分割为一系列子任务,并使各子任务能在流水线的各个阶段并发地执行。当任务连续不断地输入流水线时,在流水线的输出端便连续不断地吐出执行结果,从而实现了子任务级的并行性。
14. 请简述运算器的单总线、双总线和三总线结构形式彼此之间有什么不同? 【解】
单总线结构:所有部件都接到同一总线上。在同一时间内,只能有一个操作数放在单总线上。把两个操作数输入到ALU,需要分两次来做,而且还需要两个缓冲寄存器。
双总线结构:两个操作数同时加到ALU进行运算,只需要一次操作控制就可以得到运算结果。但是因为两条总线都被输入数占据,因而ALU的输出不能直接加到总线上去,而必须在ALU输出端设置缓冲寄存器。
三总线结构:ALU的两个输入端分别由两条总线供给,而ALU的输出则与第三条总线相连。这样,算术逻辑操作就可以在一步的控制之内完成。 15. 如何区分选择型DMA控制器和多路型DMA控制器? 【解】
选择型DMA控制器在物理上可以连接多个设备,而在逻辑上只允许连接一个设备,在某一段时间内只能为一个设备服务。
多路型DMA控制器不仅在物理上可以连接多个外围设备,而且在逻辑上也允许这些外围设备同时工作。
16. 如何区分选择通道、数组多路通道和字节多路通道? 【解】
选择通道:在物理上它可以连接多个设备,但是这些设备不能同时工作,在某一段时间内通道只能选择一个设备进行工作。
数组多路通道:当某设备进行数据传送时,通道只为该设备服务;当设备在执行寻址等控制性动作时,通道暂时断开与这个设备的连接,挂起该设备的通道程序,去为其他设备服务,即执行其他设备的通道程序。
字节多路通道:字节多路通道主要用于连接大量的低速设备,这些设备的数据传输率很低,因此通道在传送两个字节之间有很多空闲时间,字节多路通道正是利用这个空闲时间为其他设备服务。
17. 什么是页式虚拟存储器中的快表? 【解】
7
为了避免页表已保存或已调入主存储器时对主存访问次数的增多,把页表的最活跃部分存放在高速存储器中组成快表,以减少时间开销。快表由硬件组成,它比页表小得多。
18. 什么是虚拟存储器中的段页式管理? 【解】
采用分段和分页结合的方法。
程序按模块分段,段内再分页,进入主存仍以页为基本信息传送单位,用段表和页表进行两级定位管理。
19. 什么是EDRAM芯片?它有何好处? 【解】
EDRAM芯片又称增强型DRAM芯片,它是在DRAM 芯片上集成了一个SRAM实现的小容量高速缓冲存储器(Cache),从而使DRAM芯片的性能得到显著改进。
20. 为了使CPU不至因为等待存储器读写操作的完成而无事可做,可以采取哪些加速
CPU和存储器之间有效传输的特殊措施? 【解】
主存储器采用更高速的技术来缩短存储器的读出时间,或加长存储器的字长; 采用并行操作的双端口存储器;
在CPU和主存储器之间插入一个高速缓冲存储器(Cache),以缩短读出时间; 在每个存储器周期中存取几个字。
21. 虚拟存储器中的页面替换策略和Cache中的行替换策略有什么显著不同? 【解】
①缺页至少要涉及一次磁盘存取,以读取所缺的页面,系统损失比Cache未命中大得多;
②页面替换是由操作系统软件实现的;
③页面替换的选择余地很大,属于一个进程的页面都可替换。
22. 在主存与Cache间为什么要建立地址映射?请简述3种不同的地址映射方式。 【解】
与主存容量相比,Cache的容量很小,它保存的内容只是主存内容的一个子集。为了把主存块放到Cache中,必须应用某种方法把主存地址定位到Cache中,称作地址映射。
地址映射方式有全相联方式、直接方式和组相联方式三种:
全相联映射方式:将主存的一个块直接拷贝到Cache中的任意一行上。 直接映射方式:一个主存块只能拷贝到Cache的一个特定行位置上去。
组相联映射方式:将Cache分成u组,每组v行,主存块存放到哪个组是固定的,至于存到该组哪一行则是灵活的。 三、 应用题
1. CPU执行一段程序时,Cache完成存取的次数为2000次,主存完成存取的次数为180次,已知Cache存储周期为40ns,主存存储周期为250ns,求Cache的命中率、Cache/主存系统的效率和平均访问时间。(10分) 【解】
Nc = 2000,Nm = 180 tc = 40 ns,tm = 250 ns
∴命中率h = Nc/(Nc+Nm) = 2000/(2000+180) = 0.917 = 91.7%
平均访问时间ta = h*tc+(1-h)tm = 0.917*40+(1-0.917)*250 = 57.43 ns
8
效率e = tc/ta = 40/57.43 = 0.6965 = 69.65%
2. 将十进制数-0.421875转换成IEEE-754标准的32位浮点规格化数,要求给出具体过程。 (10分) 【解】
首先分别将十进制数转换成二进制数:
(-0.421875)10=-0.011011
然后移动小数点,使其在第1,2位之间
-0.011011=-1.1011×2-2 e=-2 于是得到:
S=1, E=-2+127=125, M=1011 最后得到32位浮点数的二进制存储格式为:
1 011 1110 1 101 1000 0000 0000 0000 0000 = (BED80000)16
3. 假设主存只有a,b,c三个页框,组成a进c出的FIFO队列,进程访问页面的序列是0,2,5,4,5,2,5,2,3,5,2,4号。用列表法求采用FIFO+LRU替换策略时的命中率。(10分) 【解】
求解表格如下所示 页面访问序列 0 2 5 4 ⑤ ② ⑤ ② 3 ⑤ ② 4 命中率 a 0 2 5 4 ⑤ ② ⑤ ② 3 ⑤ ② 4 b 0 2 ⑤ 4 ⑤ ② 5 2 3 5 2 6/12= c 0 2 ② 4 4 4 ⑤ ② 3 5 50% 命中 命中 命中 命中 命中 命中 4. 利用串行方式传送字符,每秒钟传送的比特(bit)位数常称为波特率。假设数据传送速率是是180个字符/秒,每一个字符格式规定包含11个数据位(1个起始位、1个停止位、1个校验位、8个数据位),问传送的波特率是多少?每个比特位占用的时间是多少?(10分) 【解】 波特率为:
11位×180/秒 = 1980波特
每个比特位占用的时间Td是波特率的倒数:
Td = 1/1980 = 0.505×10-3s = 0.505ms
5. 某总线在一个总线周期中并行传送32位数据,假设一个总线周期等于一个总线时钟周期,总线时钟频率为50MHz,总线带宽是多少? (2)如果一个总线周期中并行传送64位数据,总线时钟频率升为100MHz,总线带宽是多少? (10分) 【解】
设总线带宽用Dr表示,总线时钟周期用T=1/f表示,一个总线周期传送的数据量用D表示,根据定义可得: (1)32位=4Byte,
总线带宽Dr = D/T = D × 1/T = D×f = 4B×50×106/s = 200MB/s (2)64位=8Byte,
总线带宽Dr = D×f = 8B×100×106/s = 800MB/s
6. 某16位机器所使用的指令格式和寻址方式如下所示。指令汇编格式中的S(源)、D(目标)都是通用寄存器,M是主存中的一个单元。MOV是传送指令,LDA为读数指令,
9
STA为写数指令。
15 7 10 9 8 4 3 0 OP — 目标 源 MOV D, S
15 7 10 9 8 4 3 0 OP — 目标 STA M, S
20位地址
15 7 10 9 8 4 3 0 OP 基址 源 变址 LDA M, S
位移量 要求:⑴ 分析三种指令的指令格式特点。⑵ CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第2种指令的执行时间有时会等于第3种指令的执行时间吗?为什么?(10分) 【解】
⑴ 第1种指令是单字长二地址指令,RR型;
第2种指令是双字长二地址指令,RS型;
7. 若浮点数的IEEE-754标准存储格式为(41D4C000)16,求该浮点数的十进制值,要求给出具体过程。(10分) 【解】
将16进制数展开后,可得二进制数格式为
(41D4C000)16 = 0 100 0001 1 101 0100 1100 0000 0000 0000
S=0, E=1000 0011=131, M=101010011 指数e=E-127=131-127=(4)10
包括隐藏位1的尾数1.M=1.101010011 于是有
se4
x=(-1)×1.M×2=(1.101010011)×2=11010.10011=(26.59375)10
8. 设有一个具有20位地址和64位字长的存储器,问: (1)该存储器能存储多少个字节的信息?
(2)如果存储器由256K x 8位SRAM芯片组成,需要多少片? (3)需要多少位地址作芯片选择?为什么?(10分) 【解】
20
(1)2 * 64 / 8 B = 1M * 8 B = 8 MB
(2)8MB / (256K * 8 / 8 B) = 8MB / 256KB = 32片 (3)∵每8片芯片组成一组256K * 64位的存储器,每片芯片有18位地址(对应于256K个存储单元)
∴低18位地址直接接芯片的18位地址端,高2位地址通过2:4译码器作芯片选择。
010100
9. 已知x=2×0.11010011,y=2×(-0.10101101),请按浮点运算方法完成x+y运算,要求给出具体过程。假设阶码3位,尾数8位,阶码和尾数均采用双符号位补码表示,舍入处理采用0舍1入法。(10分) 【解】
10