第三章多层次存储器 习题
本章题目有几个考点,可用[关键字]搜索。
[字位扩展]——存储器的字、位扩展,以及组成逻辑框图
[顺序交叉]——顺序交叉存储器的带宽
[cache命中率]——cache命中率h、cache/主存系统的效率e、平均访问时间ta、主存慢于cache的倍率r
[组相联]——cache组相联映射
[直接映射]——cache直接映射
[替换策略]——cache的替换策略
[虚拟页表]——主存与虚存的地址、页表长度=页面数
- [字位扩展] 已知某64位机主存采用半导体存储器,其地址码为26位,若使用 4MX8位的 DRAM 芯片组成该机所允许的最大主存空间,并选用内存条结构形式,问:
(1)若每个内存条为16MX64位,共需几个内存条?
【答】(226X64)/(16MX64)=4.
(2)每个内存条内共有多少 DRAM芯片?
【答】(16MX64)/(4MX8)=32.
(3)主存共需多少 DRAM芯片?CPU如何选择各内存条?
【答】主存共需4X32=128个DRAM。
4个内存条,故CPU选择内存条用最高两位地址А24和А25通过2:4译码器实现;其余的24根地址线用于内存条内部单元的选择。 - 用16KX8位的DRAM芯片构成64K×32位存储器,要求:
(1)[字位扩展] 画出该存储器的组成逻辑框图。
【答】用16KX8位的DRAM 芯片构成64K X 32位存储器,需要用(64K×32)/(16K×8)=4x4=16个芯片,其中每4片为一组,构成16KX32位的位扩展,这4组构成字扩展。
先看数据线:
一组内的4个芯片只有数据信号线不互连——分别接D0 ~ D7、D8 ~ D15、D16 ~ D23、D24 ~ D31,其余同名引脚互连。
再看地址线:
低14位地址A0 ~ A13作为模块内各个芯片的内部单元地址。分成行、列地址两次由A0~A6引脚输入;然后再由4组进行存储器容量扩展,用高两位地址A14、A15通过2:4译码器实现4组中选择一组。
最后注意控制信号,RAM需要写使能。
画出逻辑框图如下。
(2)[DRAM] 设存储器读/写周期为 0.5us, CPU在1us内至少要访问一次。试问采用哪种刷新方式比较合理? 两次刷新的最大时间间隔是多少? 对全部存储单元刷新遍所需的实际刷新时间是多少?
【答】
DRAM按行刷新,先求有多少行,需要进行DRAM规格设定(同书上规格):
设刷新周期为 2ms,并设16K×8位的DRAM结构是 128x128×8存储阵列,则对所有单元全部刷新一遍需要128次(每次刷新一行,共128行)。
若采用集中式刷新,
则每2ms中的 最后 128X0.5μs=64μs 为集中刷新时间,不能进行正常读写,即存在64μs的死时间;
若采用分散式刷新,
则每1μs只能访问一次主存,而题目要求CPU在1μs内至少要访问一次,也就是说访问主存的时间间隔越短越好,故此方法也不是最适合的。
比较适合采用异步式刷新。
若采用异步式刷新,则两次刷新操作的最大时间间隔为2ms/128=15.625μs,可取15.5μs;
若采用集中式刷新,对全部存储单元刷新一遍所需的实际刷新时间为:15.5μs x128=1.984ms;采用这种方式,每 15.5μs 中有 0.5μs用于刷新,其余的时间用于访存(大部分时间中1μs可以访问两次内存)。
可见,两次刷新的最大时间间隔位tMAX=15.5X2-0.5=30.5(μs);对全部存储反袁刷新一遍的时间为tR=0.5X128=64(μs)。 - 有一个1024K×32位的存储器,由128KX8位的DRAM芯片构成。问:
(1)[字位扩展] 总共需要多少DRAM芯片?
【答】需要(1024K×32)/(128K×8)=8x4=32片,每4片为一组,共需8组
(2)[字位扩展] 设计此存储体组成框图。
(3)[DRAM] 采用异步刷新方式,如单元刷新间隔不超过8ms,则刷新信号周期是多少?
【答】设该128K×8位的 DRAM 芯片的存储阵列为512×256×8结构,则如果选择一个行地址进行刷新,刷新地址为 A0~A8,那么该行上的 2048个存储元同时进行刷新,要求单元刷新间隔不超过 8ms,即要在8ms 内进行512次刷新操作。
采用异步刷新方式时需要每隔8ms/512 =15.625μs进行一次,可取刷新信号周期为15.5μs。 - [字位扩展] 要