4.4典型例题解析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.4 典型例题解析
1、存储器带宽是什么意义?若一存储器的MDR为32位,存储周期为0.25ns,求该存储器的带宽。
解:存储器带宽是指存储器被连续访问时,可提供的数据传送率。
B= 32 / 0.25 (位/ns)=128 (位/ns)= 128×109 (位/秒)
2、说明存储器的存取周期T mc和存取时间T A的区别。
为什么存取周期T m大于存取时间T A?
答:存取时间TA为从启动一次存储器操作到完成该操作所经历的时间。
存储周期TMC为启动两次独立的存储器操作之间所需的最小时间间隔,即存储器完成一次完整的读写操作所需的全部时间。
因为任何一种存储器在读或写操作后总有一段内部状态恢复时间,才能进行下一次访问,所以必须存取周期T m大于存取时间T A。
3、DRAM为什么要刷新?一个16K×1位的DRAM芯片,如刷新周期为8ms,则相邻两行之间刷新间隔是多少?
答:DRAM存储单元电路是通过栅极电容上存储的电荷来记忆信息“1”或“0”的,时间长了,电荷要泄漏,信息会丢失,因此必须按一定规律给栅极电容充电(刷新)。
DRAM进行逐行刷新,刷新周期数只与单个DRAM芯片的矩阵结构中列数有关。
16K×1位芯片应是128×128个的矩阵,分为4个64×64的小矩阵,刷新时,根据6位行地址选中4个矩阵的同一行,即对64×4=256个存储单元刷新,共刷新64次才对芯片中所有单元刷新一遍。
时间间隔为8ms/ 64=0.125ms 。
4、设有一个系统具有20位地址和字长32位的存储器,问:
(1)该存储器能存储多少个字节的信息?
(2)如果存储器由64K×8位SRAM芯片组成,需要多少片?
(3)需要多少位地址作芯片选择?
解:(1)20位地址表示可有220个存储单元,字长32位表示1个单元存储32位二进制数,该存储器能存储的信息为:220×32位= 1M×32位=1M×4×8位=4MB
(2)需要的总片数= (220×32位)/ (64K×8位)= (220×32位)/ 216×8位=64(片)
其中采用位扩展方式,4片64K×8位扩展为64K×32位芯片组,
采用字扩展方式,16组64K×32位芯片组构成1M×32位的存储器。
(3)64K×8位芯片需要16位地址,系统有20位地址,所以还有4位高位地址作芯片选择,可从16组芯片组中选择1组芯片进行读写操作。
5、用32K×8位的EPROM芯片组成128K×16位的只读存储器,试问:
(1)芯片的数据寄存器多少位?
(2)芯片的地址寄存器多少位?
(3)共需多少片EPROM芯片?
(4)画出CPU和存储器的硬件接线图。
解:(1)32K×8位的只读存储器芯片内数据寄存器应为8位
(2)32K×8位的只读存储器应有32K个存储单元,32K= 215,所以有15位地址,芯片的地址寄存器应为15位。
(3)需要的芯片数= (128K×16位)/(32K×8位)=8(片)
其中采用位扩展方式,2片32K×8位扩展为32K×16位芯片组,
采用字扩展方式,4组32K×16位芯片组构成128K×16位的存储器。
(4)32K×8位的存储器芯片需要15位地址,128K×16位存储器需要17位地址,高2位地址进行译码产生4个片选信号,可选择4组芯片组一组进行操作。
CPU和存储器的硬件接线图如下:
6、CPU执行一段程序时,Cache完成存取的次数为2420次,主存完成存取的次数为80次,已知Cache的存储周期为40ns,主存存储周期为240ns,求Cache的命中率和Cache-主存系统的平均存储周期。
解:Cache的命中率N1
Hc = N1+N2= 2420 / (2420+80)=96.8% 平均存储周期T A= ( 40×2420+240×80)/ (2420+80)= 46.4ns
7、若主存MM为1MB,高速缓存Cache为2KB,按256B分块,Cache-MM层次采用全
项联映像,问:
(1)MM、Cache各分多少块?并画出MM、Cache的地址格式。
(2)若Cache存储周期为25ns,MM存储周期为250ns,平均命中率为98%,求平均存储周期。
解:(1)MM块数为1MB÷ 256B =4096 (块) =2 12 (块)
Cache块数为2KB÷ 256B = 8(块)= 2 3 (块)
每块256 B = 2 8 B
主存地址格式为:
Cache地址格式为:
(2)平均存储周期T A = 25ns ×98% + 250ns×2% = 29.5ns
8、一台计算机的主存容量为1MB,字长为32位,Cache的容量为512字,确定下列情况下主存和Cache的地址格式:
(1)直接映像的Cache,块长1字
(2)直接映像的Cache,块长8字
(3)组相联映像的Cache,块长1字,组内4块
解:(1) Cache块长为1字
主存为1MB, Cache的容量为512字= 512×4 B ,所以
区号=1MB / 512×4B = 512=2 9,区号用9位表示;
Cache的块长为1字,块号= 512字/ 1字= 512=2 9 ,块号用9位表示
主存容量为1MB表示有1M=220个字节地址,20-9-9=2位用来表示块内1个字(4字节)的字节地址。
因此
主存的地址格式
区号块号块内字节地址
9位9位2位
Cache的地址格式
块号块内字节地址
9位2位
(2) Cache块长为8字
主存为1MB, Cache的容量为512字= 512×4 B ,所以
区号=1MB / 512×4B = 512=2 9,区号用9位表示;
Cache的块长为8字,块号= 512字/ 8字=64 =26, 块号用6位表示。
主存容量为1MB表示有1M=220个字节地址,20-9-6=5位用来表示块内8个字(4
字节)的字节地址。
因此
主存的地址格式
区号块号块内字节地址
9位6位5位
Cache的地址格式
块号块内字节地址
6位5位
(3)组相联映像的Cache,块长1字,组内4块
Cache的容量为512字,块长1字,每组4块,每组4字Cache的组数为512字/4字=128组=27 ,组号用7位表示,一组4块=22 ,块号用2位表示;
主存为1MB, Cache的容量为512字= 512×4 B ,所以区号=1MB / 512×4B = 512=2 9,区号用9位表示;主存容量为1MB表示有1M=220个字节地址,20—9-7-2=2位用来表示块内1个字(4字节)的字节地址。
因此
主存的地址格式
区号组号组内块号块内字节地址
9位7位2位2位
Cache的地址格式
组号组内块号块内字节地址
7位2位2位。