cache存储器

一、cache基本原理

1.cache的功能

cache是一种高速缓冲存储器,是为了解决CPU和主存之间速度不匹配而采用的一项重要技术。其原理基于程序运行中具有的空间局部性和时间局部性特征。

●一般采用高速的 SRAM 构成。
● CPU 和主存之间的速度差别很大采用两级或多级 Cache 系统
●早期的一级 Cache 在 CPU 内,二级在主板上

●现在的 CPU 内带L1 Cache 和L2 Cache ●全由硬件调度,对用户透明

64fb19301496409aa1ae87736a52f95b.png

                 CPU与存储器系统的关系

2. cache的基本原理

cache除包含SRAM外,还要有控制逻辑。若cache在CPU芯片外,它的控制逻辑一般与主存控制逻辑合成在一起,称为主存/ chace 控制器;著 cache 在 CPU 内,则由 CPU 提供它的控制逻辑。

CPU与cache之间的数据交换是以字为单位,而cache与主存之间的数据交换是以块为单位。一个块由若干字组成,是定长的。当CPU读取内存中的一个字时,便发出此字的内存地址到cache和主存。此时cache控制逻辑依据地址判断此字当前是否在cache中:若是,则cache命中,此次立即传送给CPU;若非,则cache缺失(未命中),用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到cache中。

844975bfce6b4908ab25c7e0d6c31536.png

                          cache原理图

3.cache的命中率

从 CPU 来看,增加一个 cache 的目的,就是在性能上使主存的平均读出时间尽可能接近 cache 的读出时间。为了达到这个目的,在所有的存储器访问中由 cache 满足 CPU 需要的部分应占很高的比例,即 cache 的命中率应接近于1。由于程序访问的局部性,实现这个目标是可能的。

a82fbaf005ae48aea5a53f671c4adc6f.png

 Nc: cache完成存取的总次数

Nm:主存完成存取的总次数

h:命中率

tc:命中时的cache访问时间

tm:未命中时的主存访问时间

1-h:未命中率(缺失率)

ta: cache/主存系统的平均访问时间

r=tm/tc: 主存与cache的访问时间之比

e:访问效率

为提高访问效率,命中率h越接近1越好。r值以5-10为宜,不宜太大。

命中率h与程序的行为、cache的容量、组织方式、块的大小有关。

cache失效的原因:

义务失效;容量失效;冲突失效。

4. cache结构设计必须解决的问题

从cache的基本工作原理可以看出,cache的设计需遵循两个原则,一是希望cache的命中率尽可能高,实际应接近于1;二是希望cache对于CPU而言是透明的,即不论是否有cache,CPU访存的方法都是一样的,软件不需增加任何指令就可以访问cache。

二、主存与cache的地址映射

1.全相联映射方式

将地址分为两部分(块号和字),在内存块写入 Cache 时,同时写入块号标记;CPU 给出访问地址后,也将地址分为两部分(块号和字),比较电路块号与 Cache 表中的标记进行比较,相同表示命中,访问相应单元;如果没有命中访问内存, CPU 直接访问内存,并将被访问内存的相对应块写入Cache 。

f9dd3aaf5e3a43d882bb26ad3247dbb4.png

               全相联映射的cache组织

a1c7cd67ba054defa8c8dd650fe01aa2.png

全相联的映射方式,特点:

●优点:冲突概率小, Cache 的利用高。

●缺点:比较器难实现,需要一个访问速度很快代价高的相联存储器

应用场合:

●适用于小容量的 Cache

2.直接映射方式

映射方法(一对多)如:

 i = j mod m 

主存第块内容拷贝到 Cache 的i行

一般i和 m 都是2ⁿ级

2500512bd8b842f793ac41e5fe84d4a3.png

              直接映射的cache组织

●利用行号选择相应行;

●把行标记与CPU访问地址进行比较,相同,表示命中访问cache;

●如果没有命中则访问内存,并将相应块写入cache;

f8f7db0b17e141b9b1acb449b7aee59d.png

 直接映射方式特点:

●优点:比较电路少 m 倍线路,所以硬件实现简单, Cache 地址为主存地址的低几位,不需变换。

●缺点:冲突概率高(抖动)

应用场合

●适合大容量 Cache

三、cache的替换策略

1)最不经常使用(LFU)算法

2)近期最少使用(LRU)算法(更贴近程序局部性原理)

3)随机替换

4)轮转

四、cache的写操作策略

1)写回法(write back,copy back)(写返回)

写回法要求:当CPU写cache命中时,只修改cache的内容,而不立即写入主存,只有当此行被换出时才写回主存。

2)全写法(write though)(写穿透)

全写法要求:当写cache命中时,cache与主存同时发生写修改,因而较好地维护了cache与主存的内容的一致性。

3)写一次法(write one)

写一次法是基于写回法并结合全写法的写策略:写命中与写未命中的处理方法和写回法基本相同,只是第一次写命中时要同时写入主存。

 

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机组成原理中,缓存存储器Cache Memory)是位于CPU和主存储器之间的一种高速缓存。它的主要目的是解决CPU与主存储器之间速度不匹配的问题,提高数据访问速度和系统性能。 Cache存储器的思维导图可以分为三个主要部分:结构、工作原理和优缺点。 1. 结构部分: - Cache存储器分为数据缓存和指令缓存两部分。 - 数据缓存用于存放经常被CPU访问的数据块,而指令缓存则用于存放CPU即将执行的指令。 - Cache存储器一般分为多级,如L1、L2和L3等,按照访问速度依次递减,容量逐渐增大。 - 每一级Cache存储器由多个Cache块组成,每个Cache块包含标记、数据和有效位等字段。 2. 工作原理部分: - CPU首先将访问请求发送给Cache存储器,如果要访问的数据或指令在Cache中,则命中Cache,直接从Cache读取。 - 如果在Cache中未命中,则请求转发给主存储器,主存储器将数据块传送到Cache,并替换其中的数据块。 - 块替换算法有多种,如最近最少使用(LRU)和随机替换等。 - 当Cache存储器满时,需要进行更新操作,将最早不再使用的数据写回主存储器。 - 通过使用Cache存储器,CPU在执行指令时能够更快地获取到所需的数据,从而提高运行效率。 3. 优缺点部分: - 优点:Cache存储器能够有效地减少CPU与主存储器之间的数据交换次数,提高数据访问速度;它的局部性原理能够充分利用程序的局部性特征,减少了访问主存的次数,提高系统性能。 - 缺点:Cache存储器一般容量有限,不能完全替代主存储器;由于Cache存储器与主存储器之间需要同步,造成复杂的硬件实现和额外的开销;另外,在多处理器系统中,Cache一致性问题也需要额外的处理。 综上所述,Cache存储器在计算机组成原理中起着重要的作用,能够提高数据访问速度和系统性能,但也存在一些缺点需要注意。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值