主存与Cache的地址映像
主存地址=主存块号+块内地址。
主存分为2n块,则主存块号为n位。
1。直接映像(Direct
采用直接映像时,Cache的某一块只能和固定的一些主存块建立映像关系,主存的某一块只能对应一个Cache块。
2。全相联映像(Associative
为了判断是否命中,主存地址的标记部分需要和Cache的所有块的标记进行比较。为了缩短比较的时间,将主存地址的标记部分和Cache的所有块的标记同时进行比较。如果命中,则按块内地址访问Cache中的命中块(其标记与主存地址给出的标记相同);如果未命中,则访问主存。
全相联映像的优点是灵活,Cache利用率高。缺点有两个:一是标记位数增加了(需要记录主存块块地址的全部信息),使得Cache的电路规模变大,成本变高;二是比较器难于设计和实现(通常采用“按内容寻址的”相联存储器)。因此,只有小容量Cache才采用这种映像方式。
3。组相联映像(Set
所谓组内全相联映像,是指和某Cache组相对应的主存块可以和该组内的任意一个Cache块建立映像关系。
例子:
高速缓存Cache 与主存间采用全相联地址映像方式,高速缓存的容量为4MB,分为4 块,每块1MB,主存容量为256MB。 若主存读写时间为30ns,高速缓存的读写时间为3ns,平均读写时间为3.27ns,则该高速缓存的命中率为___(3)___%。若地址变换表如下所示,则主存地址为8888888H时,高速缓存地址为___(4)___H。
地址变换表
|
(3)A. 90 B. 95 C. 97 D. 99
(4)A. 488888 B. 388888 C. 288888 D.188888
主存容量为 256MB表示由28个二进制数地址也对应由7个十六进制数8888888H ,每块 IMB说明块内地址是20位二进制数也就是5位十六进制数88888,剩下的2位十六进制数88H代表块地址(全相联映射)。
1、容量为64块的Cache采用组相联方式映像,字块大小为128个字,每4块为一组。若主存容量为4096块,且以字编址,那么主存地址应该为__(7)__位,主存区号为__(8)__位。 (7)A.16 B.17 C.18 D.19
(8)A.5 B.6 C.7 D.
解析:本题目涉及到Cache的工作存储原理知识,Cache作为主存局部区域的副本,用来存放当前活跃的程序和数据。将局部范围的内容从主存复制到Cache中,使CPU高速的从Cache中读取数据,速度比访问主存快很多。Cache有三种映像方式。
这里,由于主存容量为4096块(或“页”),且每块为128个字,所以,主存地址为4096*128=2^n;n=19
主存可以划分为4096/64=64组,所以主存区号为2^n=64;n=6.
答案选择(7)D (8)B
|
主存Cache地址映 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)