目录.Cache映射的问题
- 一.Cache的三种映射
- 重点:那么我说
- 1.直接映射
- 2.全相联映射
- 3.组相联映射
- 4.总结三种映射
- 二.Cache的三个字眼(例题)
- 1.Cache字地址多少位(字地址即按字编址)
- 2.Cache容量与总容量
- 3.Cache行长
一.Cache的三种映射
重点:那么我说
重点:这里我说,之前一直以为“标记项tag=各种位+标记位”属于Cache地址结构的一部分,而Cache是没有行号的(受直接映射的影响,以为行号隐含了不需要占位了。)
导致一直不理解,为何Cache字地址位数=块号占位+块内地址占位。
而不是Cache字地址位数=“各种位+标记位”+块内地址位数。(因为我之前一直认块号隐含了,tag属于Cache地址结构一部分。)
而又为何Cache容量=块大小x块数
而不是Cache容量=(各种位+标记位+数据项位数)x块数
等看了三种映射以后,在来看这道题,豁然开朗。
1.直接映射
特点:主存只能装入Cache中唯一位置。
注:这里就不在放图,以及映射优缺点等很明显的问题。
2.全相联映射
3.组相联映射
4.总结三种映射
二.Cache的三个字眼(例题)
1.Cache字地址多少位(字地址即按字编址)
问Cache字地址多少位,通常不包含“标记项”多少位,仅仅指数据项位数=cache行号+块内地址位。
2.Cache容量与总容量
1.Cache容量指cache数据项部分的容量=数据项位数x行数=块大小x行数。(块大小包含了:cache行号与块内地址)
2.Cache总容量指cache的标记项与数据项容量=(各种位数+标记位+数据位)x行数。
3.Cache行长
一般指cache行中的数据部分长度即块的大小,即cache行号+块内地址。