高速缓存Cache与主存间采用全相联地址映像方式,高速缓存的容量为4MB,分为4块,每块1MB,主存容量为256MB。若主存读写时间为30ns,高速缓存的读写时间为3ns,平均读写时间为3.27ns,则该高速缓存的命中率为(1)%。若地址变换表如下所示,则主存地址为8888888H时,高速缓存地址为(2)H。
空白(2)处应选择()
A.488888
B.388888
C.288888
D.188888
参考答案:D
解析:
本题考查高速缓冲存储器地址映像与变换的内容。
高速缓冲存储器(Cache)简称高速缓存,它的功能是提高CPU数据输入输出的速率,突破所谓“冯·诺依曼瓶颈”。使用高速缓存改善系统性能的依据是程序的局部性原理。如果CPU需要访问的内容大多能在高速缓存中找到(称为访问命中,hit),则可以大大提高系统的性能。
高速缓存的存储系统的平均存取时间可以表示为t3=h×t1+(1-h)×t2。其中Cache的存取时间为t1、主存的存取时间为t2及平均存取时间为t3己知后,可以求出Cache的命中率h为99%。高速缓存与主存之间有多种地址映射方式。常见的有直接映射方式、全相联映射方式和组相联映射方式。
全相联映射方式的基本单元分为两部分:地址部分和数据部分。数据部分用于存放数据,而地址部分则用于存放该数据的存储器地址。
当进行映射时,相联存储器把CPU发出的存储器地址与高速缓存内所有的地址信息同时进行比较,以确定是否命中。全相联映射方式的主存地址构成为:块内地址+区号+块号。
高速缓存的地址构成为:块号+块内地址。将主存地址8888888H从十六进制转换为二进制位1000100010001000100010001000B即块内地址为10001000100010001000B,相联存储器中区号为100010B,区内块号为00B,所以相联存储器中存储的是10001000B=88H。
由相联存储器的地址变换表查出88HCache块号为01B。最后根据Cache的地址构成,把Cache块号与块内地址连接起来后得到Cache的地址为0110001000100010001000B,转换为十六进制后即188888H。