Cache与主存地址映像知识点及例题分析
2009-11-11 14:46
211 查看
Cache与主存地址映像知识点及例题分析
例题:
容量为64
块的Cache
采用组相联方式映像,字块大小为128
字节,每4
块为一组,若主容量为4096
块,且以字编址,那么主存地址为(19
)位,主存区号为(6
)位。
这是一道Cache
与主存地址映像的问题,即主存以什么规则装入Cache
。它是计算机系统结构中存储体系的一部分内容。好了,觉得还是先把相关的知识点写一下先的好,不然只看答案可能有点难懂。
知识点:Cache
与主存地址映像
Cache
和主存都被分成若干个大小相等的块,每块由若干个字节组成,主存和Cache
的数据交换是以块为单位,需要考虑二者地址的逻辑关系。
地址映像:把主存地址空间映像到Cache
地址空间,即按某种规则把主存的块复制到Cache
中。
一、
全相连映像
主存中任何一个块均可以映像装入到Cache
中的任何一个块的位置上。主存地址分为块号和块内地址两部分,Cache
地址也分为块号和块内地址。Cache
的块内地址部分直接取自主存地址的块内地址段。主存块号和Cache
块号不相同,Cache
块号根据主存块号从块表中查找。Cache
保存的各数据块互不相关,Cache
必须对每个块和块自身的地址加以存储。当请求数据时,Cache
控制器要把请求地址同所有的地址加以比较,进行确认。
特点:灵活,块冲突率低,只有在Cache
中的块全部装满后才会出现冲突,Cache
利用率高。但地址变换机构复杂,地址变换速度慢,成本高。
公式:
主存地址位数=块号+
块内地址;
Cache
地址位数=块号+
块内地址。
二、
直接映像
把主存分成若干区,每区与Cache
大小相同。区内分块,主存每个区中块的大小和Cache
中块的大小相等,主存中每个区包含的块的个数与Cache
中块的个数相等。任意一个主存块只能映像到Cache
中唯一指定的块中,即相同块号的位置。主存地址分为三部分:区号、块号和块内地址,Cache
地址分为:块号和块内地址。直接映像方式下,数据块只能映像到Cache
中唯一指定的位置,故不存在替换算法的问题。它不同于全相连Cache
,地址仅需比较一次。
特点:地址变换简单、速度快,可直接由主存地址提取出Cache
地址。但不灵活,块冲突率较高,Cache
空间得不到充分利用。
公式:
主存地址位数=区号+
区内分块号+
块内地址;
Cache
地址位数=块号+
块内地址。
三、
组相连映像
组相连映像是前两种方式的折衷。主存按Cache
容量分区,每个区分为若干组,每组包含若干块。Cache
也进行同样的分组和分块。主存中一个组内的块数与Cache
中一个组内的块数相等。组间采用直接方式,组内采用全相连方式。组的容量=1
时,即直接映像,组的容量=整个Cache
的容量时,即全相连映像。Cache
的存在对于程序员透明,Cache
的地址变换和数据块的替换算法都采用硬件实现。
公式:
主存地址位数=区号+
组号+
主存块号+
块内地址;
Cache
地址位数=组号+
组内块号+
块内地址。
四、
主存地址和Cache
地址的相关计算
&主存地址的位数A
由主存容量N
决定
A
=log2N=
区号位数+块号位数+块内地址位数
&Cache
地址的位数B
由Cache
容量H
决定
B
=LOG2H
=块号位数+块内地址位数
&区号根据Cache
容量划分,区号长度=主存地址位数-Cache
地址位数
&主存的块号和Cache
块号的长度相同,位数K
取决于Cache
中能容纳的个数
J
,K
=LOG2J
&主存的块内地址和Cache
的块内地址长度相同,位数M
取决于块的容量
Q
,
M
=LOG2Q
例题解析:
方法一
:
分区数=主存容量/Cache
容量=4096
/64
=64
;
区内分组数=64/4=16;
组内分块数=4
块/组;
块内地址=128
字节;
所以根据公式:
主存地址位数=6+4+2+7
=19
;
主存区号=6
位。
方法二:
&主存地址的位数A
由主存容量N
决定
A
=log2N=
区号位数+块号位数+块内地址位数
所以:
A
=LOG2N
=LOG2
(4096*128
)=LOG2
(2
^
12*2
^
7
)=LOG2
(2
^
19
)
=19
;
&Cache
地址的位数B
由Cache
容量H
决定
B
=LOG2H
=块号位数+块内地址位数
所以:
B
=LOG2
(64*128
)=13.
区号的计算方法同上!
方法三:
主存地址=主存块地址+
块内地址=12+7
=19
;
主存区号地址=主存块地址-Cache
块地址=12-6
=6.
http://blog.chinaunix.net/u2/70445/showart_1308837.html
例题:
容量为64
块的Cache
采用组相联方式映像,字块大小为128
字节,每4
块为一组,若主容量为4096
块,且以字编址,那么主存地址为(19
)位,主存区号为(6
)位。
这是一道Cache
与主存地址映像的问题,即主存以什么规则装入Cache
。它是计算机系统结构中存储体系的一部分内容。好了,觉得还是先把相关的知识点写一下先的好,不然只看答案可能有点难懂。
知识点:Cache
与主存地址映像
Cache
和主存都被分成若干个大小相等的块,每块由若干个字节组成,主存和Cache
的数据交换是以块为单位,需要考虑二者地址的逻辑关系。
地址映像:把主存地址空间映像到Cache
地址空间,即按某种规则把主存的块复制到Cache
中。
一、
全相连映像
主存中任何一个块均可以映像装入到Cache
中的任何一个块的位置上。主存地址分为块号和块内地址两部分,Cache
地址也分为块号和块内地址。Cache
的块内地址部分直接取自主存地址的块内地址段。主存块号和Cache
块号不相同,Cache
块号根据主存块号从块表中查找。Cache
保存的各数据块互不相关,Cache
必须对每个块和块自身的地址加以存储。当请求数据时,Cache
控制器要把请求地址同所有的地址加以比较,进行确认。
特点:灵活,块冲突率低,只有在Cache
中的块全部装满后才会出现冲突,Cache
利用率高。但地址变换机构复杂,地址变换速度慢,成本高。
公式:
主存地址位数=块号+
块内地址;
Cache
地址位数=块号+
块内地址。
二、
直接映像
把主存分成若干区,每区与Cache
大小相同。区内分块,主存每个区中块的大小和Cache
中块的大小相等,主存中每个区包含的块的个数与Cache
中块的个数相等。任意一个主存块只能映像到Cache
中唯一指定的块中,即相同块号的位置。主存地址分为三部分:区号、块号和块内地址,Cache
地址分为:块号和块内地址。直接映像方式下,数据块只能映像到Cache
中唯一指定的位置,故不存在替换算法的问题。它不同于全相连Cache
,地址仅需比较一次。
特点:地址变换简单、速度快,可直接由主存地址提取出Cache
地址。但不灵活,块冲突率较高,Cache
空间得不到充分利用。
公式:
主存地址位数=区号+
区内分块号+
块内地址;
Cache
地址位数=块号+
块内地址。
三、
组相连映像
组相连映像是前两种方式的折衷。主存按Cache
容量分区,每个区分为若干组,每组包含若干块。Cache
也进行同样的分组和分块。主存中一个组内的块数与Cache
中一个组内的块数相等。组间采用直接方式,组内采用全相连方式。组的容量=1
时,即直接映像,组的容量=整个Cache
的容量时,即全相连映像。Cache
的存在对于程序员透明,Cache
的地址变换和数据块的替换算法都采用硬件实现。
公式:
主存地址位数=区号+
组号+
主存块号+
块内地址;
Cache
地址位数=组号+
组内块号+
块内地址。
四、
主存地址和Cache
地址的相关计算
&主存地址的位数A
由主存容量N
决定
A
=log2N=
区号位数+块号位数+块内地址位数
&Cache
地址的位数B
由Cache
容量H
决定
B
=LOG2H
=块号位数+块内地址位数
&区号根据Cache
容量划分,区号长度=主存地址位数-Cache
地址位数
&主存的块号和Cache
块号的长度相同,位数K
取决于Cache
中能容纳的个数
J
,K
=LOG2J
&主存的块内地址和Cache
的块内地址长度相同,位数M
取决于块的容量
Q
,
M
=LOG2Q
例题解析:
方法一
:
分区数=主存容量/Cache
容量=4096
/64
=64
;
区内分组数=64/4=16;
组内分块数=4
块/组;
块内地址=128
字节;
所以根据公式:
主存地址位数=6+4+2+7
=19
;
主存区号=6
位。
方法二:
&主存地址的位数A
由主存容量N
决定
A
=log2N=
区号位数+块号位数+块内地址位数
所以:
A
=LOG2N
=LOG2
(4096*128
)=LOG2
(2
^
12*2
^
7
)=LOG2
(2
^
19
)
=19
;
&Cache
地址的位数B
由Cache
容量H
决定
B
=LOG2H
=块号位数+块内地址位数
所以:
B
=LOG2
(64*128
)=13.
区号的计算方法同上!
方法三:
主存地址=主存块地址+
块内地址=12+7
=19
;
主存区号地址=主存块地址-Cache
块地址=12-6
=6.
http://blog.chinaunix.net/u2/70445/showart_1308837.html
相关文章推荐
- Cache与主存地址映像
- 计算机主存与Cache映像方式分析~
- Cache与主存地址映像【转载】
- Cache与主存地址映像计算
- cache与主存的地址映射
- Cache地址与主存地址对应关系
- cache与主存的地址映射
- Cache地址与主存地址对应关系
- Cache – 主存的地址映射及相关计算问题
- Cache 的地址映像方式(4种)
- 主存与cache的地址映射
- cache与主存的地址映射
- Cache和主存地址映射关系
- cache与主存的地址映射
- 主存与Cache的地址映射
- 缓存框架 ASimpleCache 源码分析地址收藏
- 主存与cache间的地址映射
- cache与主存的地址映射
- Cache-主存的地址映射(习题)
- 主存与Cache的地址映射