Chinaunix首页 | 论坛 | 博客
  • 博客访问: 324579
  • 博文数量: 55
  • 博客积分: 910
  • 博客等级: 准尉
  • 技术积分: 393
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-07 07:12
文章分类

全部博文(55)

文章存档

2012年(55)

我的朋友

分类:

2012-05-22 17:47:13

高速缓存Cache与主存间采用全相联的地址影像方式,高速缓存的容量为4MB(2006)
● 高速缓存Cache与主存间采用全相联的地址影像方式,高速缓存的容量为4MB,分为4块,每块1MB,主存容量为256MB,若主存读写时间为30ns,高速缓存的读写时间为3ns,平均读写时间为3.27ns,则该高速缓存的命中率为 (1) %。若地址更换表如下所示,则主存地址为8888888H时,高速缓存地址为 (2) H。
(1)A.90            B.95            C.97            D.99
    (2)A.488888        B.388888        C.288888        D.188888
试题解析:
    设该高速缓存的命中率为x,则3x+30×(1-x)=3.27,解得x=99%。
    主存容量为256MB,每块1MB,则主存可以分为256/1=256=28块,即块号为8位,则主存地址的高8位是88H,对应地址更换表,高速缓存地址为188888H。
主存容量为 256MB表示由28个二进制数地址也对应由7个十六进制数8888888H ,每块 IMB说明块内地址是20位二进制数也就是5位十六进制数88888,剩下的2位十六进制数88H代表块地址,查表可知主存地址88H对应高速缓存地址1,所以高速缓存地址为188888H(1MB=2^20,8888888H右移20位(5位16进制)得88H, 查表1-> 88H 得地址188888H)解析:(1)D 这是一道命中率的计算题.设命中率为x,根据题意可以得到3x+30(1-x)=3.27得出:x=0.99
(2).D这道题一个是考查直接映像、全相联、组相联,以及在具体映射时候是如何实现的。这里有个基本的计算,那就是1M=10 00 00H
这样是不是就比较醒目了:
内存地址范围 Cache地址范围
3800000H-38FFFFFH 000000H-0FFFFFH
8800000H-88FFFFFH 100000H-1FFFFFH
5900000H-59FFFFFH 200000H-2FFFFFH
6700000H-67FFFFFH 300000H-3FFFFFH问题:
已知某高速缓存Cache采用组相联映射方式,即组间直接映射。组内全相联映射。假设主存容量为4096块,每块256字节,高速缓存包含32块,分8组,每组4块。高速缓存的地址变换表应包含 ? 个存储单元,每个存储单元应能存放? 为二进制数,每次参与比较的是? 个存储单元
[试题分析]:
高速缓存的地址变换表存储器的容量与Cache的块数相等(原因就是采用组相联方式时,采用组内相联查询),字长为主存地址中的区号、组内块号与Cache地址中组内块号三者长度之和。
此题中,Cache中共有32块,因此需要32个存储单元。主存中的块和Cache中的块大小一样,又因为4096/32=128=2^7,所以主存区号有7位。主存的组号位数与Cache组号的位数一样,Cache一共有8=2^3组,所以主存组号占3位。Cache一组有4=2^2块,所以Cache组内块号占2位。将上面三者加起来7+3+2=12位,因此,高速缓存的地址变换表存储器每个存储单元长12位。
高速缓存的地址变换表存储器是一个相联存储器,每一个存储块都具有额外的存储信息,称为标签(Tag)。当访问相联存储器时,将地址和每一个标签同时进行比较,从而对标签相同的存储块进行访问。因此每次全部32个单元都参加比较。
直接解析:
主存地址=cache区号+块号+块内地址=直接映象
主存地址=cache区号+块内地址=全相联
主存地址=cache区号+组号+块号+块内地址=组相联

阅读(17682) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~