7.1储存系统的层次结构
概述
理想的储存器:容量大、速度快、价格低。
但以上三种要求在实际应用中是相互矛盾:
(1)速度快,价格高。
(2)容量大,价格低。
(3)容量大,速度慢。
为达到最佳效果的存储器,唯一方法:采用多种储存技术,构成多级储存层次结构 。
1、程序访问的局部性原理
对于绝大部分的程序来说,程序所访问的指令和数据在地址上不是均匀分布的,而是相对簇聚的。
程序访问的局部性包括:时间局部性和空间局部性。
2、储存系统的多级层次结构
Mi是不同技术实现的存储器。Mi越靠近cpu,容量越小,速度越快,价格越高。cpu和M1是以字为单位传送信息,其他储存器间以块或页面为单位传送信息。
二级储存系统的性能
7.2cache的基本知识
cache的基本工作原理:
1、cpu提供访问地址,送主存地址寄存器。
2、主存->cache地址变换部件判断是否命中。
3、命中,块地址转cache块地址,送cache地址寄存器中,块内偏移不变。
4、按地址访问cache,把访问到的数据送cpu。
映像规则
1、全相联:主存任意一块可以放到cache的任意一块中。
2、直接相联:主存的每一个块只能放到cache指定的一个块中。
j=i mod M
j:cachei块号,i:主存块号 M:cache块总数
3、组相联:主存中的每一个块只能放到cache的唯一指定组中,但主存块可以放在该组的任意一个块上。
k=i mod G
k:cache 组号,i:主存块号 G:cache组总数
查找方法
cache中设置有目录表,每一个cache在该表中都有唯一的项,用于记录当前该块存放的是哪个主存块(可能有多个主存块可以存放在该块), 实际记录主存块的高位部分(tag)。