《计算机组成原理第3章习题参考-答案~.doc》由会员分享,可在线阅读,更多相关《计算机组成原理第3章习题参考-答案~.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、|第 3 章习题参考答案1、设有一个具有 20 位地址和 32 位字长的存储器,问(1) 该存储器能存储多少字节的信息?(2) 如果存储器由 512K8 位 SRAM 芯片组成,需要多少片?(3) 需要多少位地址作芯片选择?解:(1) 该存储器能存储: 字 节4M320(2) 需要 片8851231920K(3) 用 512K8 位的芯片构成字长为 32 位的存储器,则需要每 4 片为一组进行字长的位数扩展,然后再由 2 组进行存储器容量的扩展。所以只需一位最高位地址进行芯片选择。2、已知某 64 位机主存采用半导体存储器,其地址码为 26 位,若使用 4M8位的 DRAM 芯片组成该机所允许
2、的最大主存空间,并选用内存条结构形式,问;(1) 若每个内存条为 16M64 位,共需几个内存条?(2) 每个内存条内共有多少 DRAM 芯片?(3) 主存共需多少 DRAM 芯片? CPU 如何选择各内存条?解:(1) 共需 内存条条4612M(2) 每个内存条内共有 个芯片32861(3) 主存共需多少 个 RAM 芯片, 共有 4 个内存条,18426故 CPU 选择内存条用最高两位地址 A24 和 A25 通过 2:4 译码器实现;其余的24 根地址线用于内存条内部单元的选择。3、用16K8位的DRAM芯片构成64K32位存储器,要求:(1) 画出该存储器的组成逻辑框图。(2) 设存储
3、器读/写周期为 0.5S,CPU 在 1S 内至少要访问一次。试问采用哪种刷新方式比较合理? 两次刷新的最大时间间隔是多少? 对全部存储单元刷新一遍所需的实际刷新时间是多少?解:(1) 用16K 8位的DRAM芯片构成64K32位存储器,需要用个芯片,其中每4片为一组构成16K 32位进行字长位16816324K|数扩展(一组内的4个芯片只有数据信号线不互连分别接D0D7、D 8D15、D 16D23和D 24D31,其余同名引脚互连),需要低14位地址(A0A13)作为模块内各个芯片的内部单元地址分成行、列地址两次由A 0A6引脚输入;然后再由4组进行存储器容量扩展,用高两位地址A 14、A
4、 15通过2:4译码器实现4组中选择一组。画出逻辑框图如下。(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) CPU D0D31 RAS0 RAS1 RAS2 RAS3 A0A13 A14 A15 A0A6 A0A6 A0A6 A0A6 WE WE 2-4 译 码 RAS D07 D815 D1623 D2431 D07 D815 D1623 D2431 D07 D815 D1623 D2431 D07 D815 D1623 D2431 WE WE WE RAS RAS RAS (2) 设刷新周期为 2
5、ms,并设 16K8 位的 DRAM 结构是 1281288 存储阵列,则对所有单元全部刷新一遍需要 128 次(每次刷新一行,共 128 行)若采用集中式刷新,则每 2ms 中的最后 1280.5s=64s 为集中刷新时间,不能进行正常读写,即存在 64s 的死时间若采用分散式刷新,则每 1s 只能访问一次主存,而题目要求 CPU 在1S 内至少要访问一次,也就是说访问主存的时间间隔越短越好,故此方法也不是最适合的比较适合采用异步式刷新:采用异步刷新方式,则两次刷新操作的最大时间间隔为 ,可取sms625.1815.5s;对全部存储单元刷新一遍所需的实际刷新时间为:15.5s128=1.98
6、4ms;采用这种方式,每 15.5s 中有 0.5s 用于刷新,其余的时间用于访存(大部分时间中 1s 可以访问两次内存 )。4、有一个1024K32位的存储器,由128K8位的DRAM芯片构成。问:(1) 总共需要多少 DRAM芯片?(2) 设计此存储体组成框图。(3) 采用异步刷新方式,如单元刷新间隔不超过8ms,则刷新信号周期是多少?解:|(1) 需要 片,每4片为一组,共需8组3281204K(2) 设计此存储体组成框图如下所示。(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) CPU D0D3
7、1 RAS0 A0A16 A17 A18 A0A8 WE WE 3-8 译 码 RAS D07 D815 D1623 D2431 D07 D815 D1623 D2431 D07 D815 D1623 D2431 D07 D815 D1623 D2431 WE WE WE (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) CPU A0A16 WE D07 D815 D1623 D2431 D07 D815 D1623 D2431 D07 D815 D1623 D2431 D07 D81
8、5 D1623 D2431 A19 RAS0 RAS1 RAS2 RAS3 RAS4 RAS5 RAS6 RAS7 RAS1 RAS2 RAS3 RAS4 RAS5 RAS6 RAS7 WE (3) 设该 128K8 位的 DRAM 芯片的存储阵列为 5122568 结构,则如果选择一个行地址进行刷新,刷新地址为 A0A8,那么该行上的 2048 个存储元同时进行刷新,要求单元刷新间隔不超过 8ms,即要在 8ms 内进行 512 次刷新操作。采用异步刷新方式时需要每隔 进行一次,可取刷新信号周期为sms625.115.5s。5、要求用256Kl6 位SRAM芯片设计1024K32位的存储器。
9、SRAM芯片有两个控制端:当CS有效时,该片选中。当 W/R1时执行读操作,当 W/R=0时执行写操作。解: ,共需8片,分为4组,每组2片片1625304K即所设计的存储器单元数为 1M,字长为 32,故地址长度为 20 位(A 19A0) ,|所用芯片存储单元数为 256K,字长为 16 位,故占用的地址长度为 18 位(A 17A0) 。由此可用字长位数扩展与字单元数扩展相结合的方法组成组成整个存储器字长位数扩展:同一组中 2 个芯片的数据线,一个与数据总线的 D15D0 相连,一个与 D31D16 相连;其余信号线公用(地址线、片选信号、读写信号同名引脚互连)字单元数扩展:4 组 RA
10、M 芯片,使用一片 2:4 译码器,各组除片选信号外,其余信号线公用。其存储器结构如图所示256K16 CPU A0A17 D0D15 A18 W/R 2-4 译 码 D1631 A19 256K16 256K16 256K16 D16D31 256K16 256K16 256K16 256K16 D015 CS Y0 CS CS CS Y1 Y2 Y3 A0A17 D0D15 W/R W/R 6、用32K8位的E 2PROM芯片组成128K16位的只读存储器,试问:(1) 数据寄存器多少位 ?(2) 地址寄存器多少位 ?(3) 共需多少个 E2PROM芯片?(4) 画出此存储器组成框图。解:
11、(1) 系统 16位数据,所以数据寄存器16位(2) 系统地址 128K 217,所以地址寄存器17位 (3)共需 ,分为4组,每组2片 片83168K(4) 组成框图如下|32K8 CPU A0A14 D07 A15 W/R 2-4 译 码 A16 32K8 32K8 32K8 32K8 32K8 32K8 32K8 D07 CS Y0 CS CS CS Y1 Y2 Y3 A0A14 D0D7 D815 数 据 寄 存 器 地 址 寄 存 器 D815 W/R W/R 7某机器中,已知配有一个地址空间为0000H3FFFH的ROM区域。现在再用一个RAM芯片(8K8)形成40Kl6位的RAM
12、区域,起始地为6000H 。假设RAM芯片有 和 信号控制端。CPU的地址总线为A 15A0,数据总线为D 15D0,CSWE控制信号为 (读/写), (访存) ,要求:RMREQ(1) 画出地址译码方案。(2) 将ROM与RAM同CPU 连接。解:(1) 由于RAM芯片的容量是8K8,要构成40K16的RAM区域,共需要,分为5组,每组2片;8K=2 13,故低位地址为13位:片108640KA12A0每组的2片位并联,进行字长的位扩展有5组RAM芯片,故用于组间选择的译码器使用3:8译码器,用高3位地址A15A13作译码器的选择输入信号地址分配情况: 各芯片组 各组地址区间 A15 A14
13、 A13 138的有效输出 iYROM 0000H3FFFH 0 0 0 0|0 0 1 1Y0 1 0 2RAM1 6000H7FFFH 0 1 1 3RAM2 8000H9FFFH 1 0 0 4YRAM3 A000HBFFFH 1 0 1 5RAM4 C000HDFFFH 1 1 0 6RAM5 E000HFFFFH 1 1 1 7Y注:RAM1RAM5各由2片 8K8芯片组成,进行字长位扩展各芯片组内部的单元地址是A 12A0由全0到全1(2) ROM、RAM 与 CPU 的连接如图:8K8 CPU A0A12 D815 A15 R/ W 3-8 译 码 A14 8K8 8K8 8K8
14、 8K8 8K8 8K8 8K8 CS Y0 CS CS CS Y2 Y4 Y6 A0A12 D0D7 D07 D07 WE A0A12 WE A13 MREQ E 8K8 8K8 D815 CS CS CS CS CS CS ROM 16K8 OE Y1 Y3 Y5 Y7 8、设存储器容量为 64M,字长为 64 位,模块数 m=8,分别用顺序和交叉方式进行组织。存储周期 T100ns,数据总线宽度为 64 位,总线传送周期,=50ns。求:顺序存储器和交叉存储器的带宽各是多少?|解:顺序存储器和交叉存储器连续读出 m = 8 个字的信息总量都是:q = 64 位8 = 512 位顺序存储器
15、和交叉存储器连续读出 8 个字所需的时间分别是:t1 = mT = 8100ns = 810-7st2 = T+(m-1) = 100ns+750ns = 450 ns= 4.510-7 s顺序存储器和交叉存储器的带宽分别是:W1=q/t1=512/(810-7)=64107位/sW2=q/t2=512/(4.510-7)=113.8107 位/s9、CPU 执行一段程序时,cache 完成存取的次数为 2420 次,主存完成存取的次数为 80 次,已知 cache 存储周期为 40ns,主存存储周期为 240ns,求 cache主存系统的效率和平均访问时间。解:cache 的命中率: %8.
16、96024mcNh主存慢于 Cache 的倍率:60ctrCache/主存系统的效率: %2.869.0561)1(hre平均访问时间: nsetca4.82.010、已知 cache 存储周期 40ns,主存存储周期 200ns,cache/主存系统平均访问时间为 50ns,求 cache 的命中率是多少?解:已知 cache主存系统平均访问时间 ta=50ns由于 mcathtt)1(所以有 %75.93402cmath|11、某计算机采用四体交叉存储器,今执行一段小循环程序,此程序放在存储器的连续地址单元中,假设每条指令的执行时间相等,而且不需要到存储器存取数据,请问在下面两种情况中(执
17、行的指令数相等) ,程序运行的时间是否相等。(1) 循环程序由 6 条指令组成,重复执行 80 次。(2) 循环程序由 8 条指令组成,重复执行 60 次。解:设取指周期为 T,总线传送周期为 ,每条指令的执行时间相等,并设为t0,存储器采用四体交叉存储器,且程序存放在连续的存储单元中,故取指令操作采用流水线存取方式,两种情况程序运行的总的时间分别为:(1) t = (T+5+6t 0)*80 = 80T+400+480 t 0(2) t = (T+7+8t 0)*60 = 60T+420+480 t 0所以不相等12、一个由主存和 Cache 组成的二级存储系统,参数定义如下:T a 为系统
18、平均存取时间,T 1 为 Cache 的存取时间,T 2 为主存的存取时间,H 为 Cache 命中率,请写出 Ta 与 T1、T 2、H 参数之间的函数关系式。解: 21)(a13、一个组相联 cache 由 64 个行组成,每组 4 行。主存储器包含 4K 个块,每块 128 个字。请表示内存地址的格式。解:主存 4K 个块,每块 128 个字,共有 4K128=219 个字,故主存的地址共 19 位;共 4K 个块,故块地址为 12 位;每块 128 个字,故块内的字地址为 7 位Cache 有 64 行,每组 4 行,共 16 组,故组号 4 位,组内页号 2 位组相联方式是组间直接映
19、射,组内全相联映射方式;所以主存的块地址被分为两部分:低 4 位为在 cache 中的组号,高 8 位为标记字段,即 19 位内存地址的格式如下:tag 组号 字地址8 位 4 位 7 位14、有一个处理机,内存容量 1MB,字长 1B,块大小 16B,cache 容量64KB,若 cache 采用直接映射式,请给出 2 个不同标记的内存地址,它们映射到同一个 cache 行。解:Cache 共有 ,行号为 12 位个 行1264BK采用直接映射方式,所以 cache 的行号 i 与主存的块号 j 之间的关系为:|,m 为 cache 的总行数jiod20 位的内存地址格式如下:tag 行号
20、字地址4 位 12 位 4 位两个映射到同一个 cache 行的内存地址满足的条件是:12 位的行号相同,而 4位的标记不同即可,例如下面的两个内存地址就满足要求:0000 000000000000 0000=00000H 与0001 000000000000 0000=10000H15、假设主存容量 16M32 位,cache 容量 64K32 位,主存与 cache 之间以每块 432 位大小传送数据,请确定直接映射方式的有关参数,并画出主存地址格式。解:由已知条件可知 Cache 共有 ,行号为 14 位个 行位 位 142346K主存共有 ,块地址为 22 位,由行号和标记组成个 块位 位 23416Mcache 的行号 i 与主存的块号 j 之间的关系为:,m 为 cache 的总行数jiod设 32 位为一个字,且按字进行编址,则24 位的内存地址格式如下:tag 行号 字地址8 位 14 位 2 位补充:从下列有关存储器的描述中,选择出正确的答案:A多体交叉存储主要解决扩充容量问题。B访问存储器的请求是由 CPU 发出的。Ccache 与主存统一编址,即主存空间的某一部分属于 cache。Dcache 的功能全由硬件实现。答: D