您的位置:首页 > 理论基础

计算机主存与Cache映像方式分析~

2010-11-30 15:44 190 查看
计算机系统结构中,将主存与Cache的映像分成三种方式,直接映像,全相联映像,组相联映像。所谓映像就是将内存地址与Cache地址间的相互转换,我们知道Cache的容量相对于主存来说很小,为了能将两者有效的对应该起来,便产生了上面提到的映像方式。 详细见《计算机组成与原理》 王爱英 p243
1.直接映像
主存与Cache的划分:
将主存根据Cache的大小分成若干分区,Cache也分成若干个相等的块,主存的每个分区也分成与Cache相等的块。
主存与Cache的映像:
主存中的每一个分区由于大小相同,可以与整个Cache相像,其中的每一块正好配对。编号不一致的块是不能相互映像的。
特点:
优点:地址变换简单。缺点:每块相互对应,不够灵活。
主存与Cache的地址组成:
主存:区号+块号+块内地址
Cache:块号+块内地址
2.全相联映像
主存与Cache的划分:
将主存与Cache划分成若干个大小相等的块。
主存与Cache的映像:
主存中每一块都可以调到Cache中的每一块。
特点:
优点:访问灵活,冲突率低,只有Cache满时才会出现在冲突。缺点:地址变换比较复杂,速度相对慢。
主存与Cache的地址组成:
主存:块号+块内地址
Cache:块号+块内地址
3.组相联映像
主存与Cache的划分:
主存:主存根据Cache大小划分成若干个区,每个区内划分成若干个组,每个组再划分成若干个块。
Cache:划分成若干个组,每个组划分成若干个块。
主存与Cache的映像:
主存的每个分区与Cache采用直接映像,主存的每个组之内采用全相联映像。
特点:
融合了直接映像与全相联映像两种映像方式,结合了两者的优据点。具体实现容易,命中率与全相联映像接近。
主存与Cache的地址组成:
主存:区号+组号+块号+块内地址
Cache:组号+块号+块内地址
实例分析:
1.容量为64块的Cache采用组相联方式映像,字块大小为128字节,每4块为一组,若主容量为4096块,且以字编址,那么主存地址为(____)位,主存区号为(____)位。

组相联的地址构成为:区号+组号+块号+块内地址。
主存的每个分区大小与整个Cache大小相等,故此主存需要分的区数为:4096/64=64,因为26=64,因此需要6位来表示区号。
每4块为一组,故共有组数 64/4 = 16 ,因为24=16,因此需要4位表示组号。
每组4块,故表示块号需要2位。
块内地址共128字节,27=128,所以块内地需要7位表示。
所以:主存地址的位数=6+4+2+7 = 19
主存区号的位数=6
2.某 32 位计算机的 cache 容量为 16KB,cache 块的大小为 16B,若主存与 cache 的地址映射采用直接映射方式,则主存地址为 1234E8F8(十六进制)的单元装入的 cache 地址为____。
A. 00 0100 0100 1101 (二进制)
B. 01 0010 0011 0100 (二进制)
C. 10 1000 1111 1000 (二进制)
D. 11 0100 1110 1000 (二进制)
:Cache大小为16KB,块大小为16B,所以Cache被分成16KB/16B=1024块,因210=1024故需要10位来表示块数。24=16故块内地址需要4位来表示。所以Cache的地址线位置为14位。由于采用直接映像的方式,所以主存的后14位就是要装入的到Cache中的位置。故选 C.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: