
存储器习题及参考答案.doc
6页习题四参考答案习题四参考答案1. 某机主存储器有 16 位地址,字长为 8 位1)如果用 1k×4 位的 RAM 芯片构成该存储器,需要多少片芯片?(2)该存储器能存放多少字节的信息?(3)片选逻辑需要多少位地址?解:需要存储器总容量为:16K×8 位,故,(1)需要 1k×4 位的 RAM 芯片位 32 片2)该存储器存放 16K 字节的信息3)片选逻辑需要 4 位地址2. 用 8k×8 位的静态 RAM 芯片构成 64kB 的存储器,要求:(1)计算所需芯片数2)画出该存储器组成逻辑框图解:(1)所需芯片 8 片2)逻辑图为:A0A128K×8...CSD0 ... D7WEA0A128K×8...CSD0 ... D7WE...82A0A128K×8...CSD0 ... D7WE1.........A0A12WED0D7......C P U...A13A14A153. 用 64k×1 位的 DRAM 芯片构成 256k×8 位存储器,要求:(1)画出该存储器的逻辑框图2)计算所需芯片数3)采用分散刷新方式,如每单元刷新间隔不超过 2ms,则刷新信号周期是多少?如采用集中刷新方式,存储器刷新一遍最少用多少读/写周期?解:(1)A0A764K×1...CSCASRAS WE8片A0A764K×1...CSCASRAS WE8片A0A764K×1...CSCASRAS WE8片A0A764K×1...CSCASRAS WE8片DRAMCA0A15WED0D7C P UA16A17译 码 器(2)所需芯片为 32 片。
3)设读写周期为 0.5 微妙,则采用分散式刷新方式的刷新信号周期为 1 微妙因为64K×1 的存储矩阵是由四个 128×128 的矩阵构成,刷新时 4 个存储矩阵同时对 128 个元素操作,一次刷新就可完成 512 个元素,整个芯片只有 128 次刷新操作就可全部完成所以存储器刷新一遍最少用 128 个读/写周期4. 用 8k×8 位的 EPROM 芯片组成 32k×16 位的只读存储器,试问:(1)数据寄存器多少位?(2)地址寄存器多少位?(3)共需多少个 EPROM 芯片?(4)画出该只读存储器的逻辑框图?解:因为只读存储器的容量为:32k×16,所以:(1)数据寄存器 16 位2)地址寄存器 15 位3)共需 8 个 EPROM 芯片?(4)逻辑框图为:A0A128K×8...CSD0 ... D7OE2片A0A128K×8...CSD0 ...D15OE2片A0A128K×8...CSD0 ...D15OE2片A0A128K×8...CSD0 ...D15OE2片A0A12RDD0D15C P UA13A14译 码 器5. 某机器中,已经配有 0000H~3FFFH 的 ROM 区域,现在再用 8k×8 位的 RAM 芯片形成32k×8 位的存储区域,CPU 地址总线为 A0~A15,数据总线为 D0~D7,控制信号为R/W(读/写) 、MREQ(访存) ,要求:(1)画出地址译码方案。
2)将 ROM 与 RAM 同 CPU 连接解:依题意假设存储器 ROM 和 RAM 的信息分布为:ROM 的地址为:0000H-3FFFHRAM 由 8KB 的四个 RAM 芯片组成,其地址分别为:第一片:4000H-5FFFH,第二片:6000H-7FFFH 第三片:8000H-9FFFH 第四片:A000H-BFFFH由以上分析可得其连接图为:A0A12R/WD0D7C P UA13A14A15A0A1316K×8...CSD0 ... D7WE1A0A128K×8...CSD0 ... D7WE1A0A128K×8...CSD0 ... D7WE1A0A128K×8...CSD0 ... D7WE1A0A128K×8...CSD0 ... D7WE1译 码 器ROM(16KB)RAM(32KB)6. 对于单管动态存储电路,如果其电容 C=5pF,通过晶体管的漏电流为 2nA当电容 C 被充满电荷时,两端电压为 4.5V在此电压降到 3V 之前,必须被刷新,请算出最小的刷新周期解:因为:,其中,c=5pF,i=2nA,du=4.5-3=1.5Vdtduci 所以,dt=3.75ms。
即最小的刷新周期为 3.75ms7. 某计算机主存 8MB,分成 4096 页,CACHE 为 64KB,和主存分成同样大小的页,地址映映采用直接映像方式1)CACHE 有多少页?(2)CACHE 的页内地址为多少位?(3)CACHE 的页面地址为多少位?(4)设 CACHE 中主存标记如图 3.1 所示,当 CPU 送出的地址为 6807FFH 时,能否在 CACHE 中访问到该单元?若送出的地址为 2D07FFH 时,能否在 CACHE 中访问该单元?若送出的地址为 751057H 时,能否在 CACHE 中访问到该单元?若送出的地址为 000000H 时,能否在 CACHE 中访问到该单元?解:(1)主存每一页的大小为:8M/4096=2KBCACHE 的页数为:64KB/2KB=32(页) 2)因为 CACHE 的一页大小为 2KB,所以 CACHE 的页内地址为 11 位3)CACHE 的页内地址为 5 位4)因为主存共有 8MB 容量,所以主存地址共有 23 位格式为:标记(7 位)页号(5 位)页内地址(11 位)当 CPU 送出的地址为:6807FFH 时,转为二进制格式:1101000,00000 11111111111以中间五位为页号查表,得到标记为 1101000,与地址中的标记进行比较,相同,所以命中。
同样的道理,可知地址为 2D07FFH,7F1057 时,也是命中地址为 0000000H 没命中8. 一个组相联高速缓存由 64 页(每页 256 字)组成,分为 8 组,主存有 4096 页1)主存地址有多少位?(2)主存地址的标志段、组字段和字字段各有多少位?解:(1)因为主存共有 4096 页,每页有 256 字,故主存共有 4096*256 字=220字,所以,主存地址有 20 位2)标记页面1101000页面 00101101111111112000000031111001n-21000110n-1标志段(9 位)组字段(3 位)字字段(8)9. 某计算机有 64KB 的主存和 4KB 的 CACHE,CACHE 分组如下:每组 4 页,每页 64 字存储系统按组相联方式工作1)主存地址的标志段、组字段和字字段各有多少位?(2)若 CACHE 原来是空的,CPU 依次从 0 号地址单元顺序访问到 4344 号单元,然后重复按此序列访问存储器 15 次,页替换采用 LRU 算法若访问 CACHE 的时间为 20ns,访问主存的时间为 200ns,试估计 CPU 访存的平均时间。
解:主存的地址格式为:标志段组字段字字段因为某计算机有 64KB 的主存,所以主存地址的总位数为 16 位依题意得 CACHE 的组数为:4K/(64*4)=16(组) ,故 CACHE 的组字段位数为 4 位,也就是主存的组字段位数组字段位数主存的一页大小和 CACHE 的一页大小一样,故主存的字字段位数字字段位数位为 6 位由主存的地址格式可知,主存的标志字段位数主存的标志字段位数为 16-4-6=4 位所以:主存的地址格式及各字段包含的位数为:标志段(6 位)组字段(4 位)字字段(6 位)(2)CPU 平均访问时间的计算公式为:ta=htc+(1-h)tm其中 tc表示命中时的 CACHE 访问时间,tm表示未命中时的贮存访问时间,1-h 表示未命中率CACHE 共有 16 组,每组 4 页,每页 64 字主存分为 16 区,每区 16 块,每块 64 字主存地址 0-4344 转为二进制的地址(16 位)为:000000 0000 000000--000100 0011 111000即访问主存地址从 0 0 区区 0 0 组组 0 0 字字一直到 4 4 区区 3 3 组组 5656 字字。
采用 LRU 替换算法:第一次把 0-4344 个字装入 CACHE 后,CACHE 的情况为:(0,1,...F 表示组数,10 表示主存的一区 0 块,其它依次类推)0 123456789ABCDEF404142434445464748494A4B4C4D4E4F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F第一次未命中次数为:4345 次第二次再按地址 0-4344 访问 CACHE 访问时,未命中的次数为:20 次第三次一直到第 5 次,未命中的次数均为:20 次故总的未命中次数为:4345+20*14未命中率为:(4345+20*15)/(4345*16)=0.067 h=0.933ta=htc+(1-h)tm=32ns所以 CPU 访存的平均时间为 32ns10.设数据为 10010,请用磁表面存储器的 5 种方式写出它们的记录方式。
