计算机组成原理课堂笔记(五)存储器 part3


高速缓冲存储器

目的:避免CPU“空等”现象

存储器的三级:



最右侧还有辅存没有画出来

复习:

  • CPU一般跟缓存打交道
  • CPU在缓存里找不到数据时,偶尔跟主存打交道
  • CPU在主存里依然找不到数据时就不找了,不会去辅存找,直接把进程挂起

CPU和缓存、主存交换数据的依据:程序访问的局部性原理

Cache的工作原理

(1)Cache的工作原理
主存和缓存按块存储,主存的块数为$M$,缓存的块为$C$,$M>>C$(因为缓存很小)
但是主存和缓存的每一块的大小完全相同

(2)命中与未命中
命中:主存块调入缓存,主存块与缓存块建立了对应关系(地址映射)
未命中:主存块未调入缓存,主存块与缓存块未建立对应关系

(3)Cache的命中率
命中率:CPU欲访问的信息在Cache中的比率
命中率与Cache的容量与块长有关
块长取一个存储周期内从主存调出的信息长度

Cache基本结构




Cache的三个结构:

  1. 地址映射变换机构:主存地址块号通过地址映射变换机构映射到Cache地址块号
  2. Cache存储体:将Cache地址存储Cache存储体
  3. Cache替换机构:存储体满了以后通过Cache替换结构替换Cache中的存储块

Cache的读写操作:

读:




地址总线同时将地址传给Cache和主存,两边并行工作


Cache和主存的一致性(因为cache的内容是部分主存内容的副本,应该与主存内容保持一致。)

写策略有两种:

  • 写直达法
    写操作时数据既写入Cache又写入主存
    写操作时间就是访问主存的时间(写速度慢),读操作时不涉及对主存的写操作,读操作比较简单(读速度快)
  • 写回法
    写操作时只把数据写入Cache而不写入主存,当Cache数据被替换出去时才写回主存
    写操作时间就是访问Cache的时间(写速度快),读操作Cache失效发生数据替换时,被替换的块需写回主存,增加了Cache的复杂性(读速度慢)

Cache-主存地址映射

1. 直接映射




某一主存块只能固定映射到某一缓存块,但一个缓存块对应多个主存储体字块
优点:简单
缺点:效率低,块冲突发生率高。

2. 全相连映射




主存中的任一块可以映射到缓存中的任一块
优点:Cache使用率高,块冲突发生率低
缺点:成本高

3. 组相联映射




某一主存块只能映射到某一缓存组中的任一块
组间:一组主存储器字块和一组Cache字块一一对应
组内:同组内主存体的任一块可以映射到通组内缓存中的任一块

替换算法,跟OS里学的一样

  1. 先进先出(FIFO)算法
  2. 近期最少使用(LRU)算法
  3. 最优算法(透视未来用于比较算法好坏的那种)

声明:奋斗小刘|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 计算机组成原理课堂笔记(五)存储器 part3


Make Everyday Count