高速缓冲存储器cache的作用

合集下载

5-1 存储系统 Cache_v1.0

5-1 存储系统 Cache_v1.0

计算机系统结构
层次之间应满足的原则
一致性原则


处在不同层次存储器中的同一个信息应保持相同的值。

包含性原则

处在内层的信息一定被包含在其外层的存储器中,反 之则不成立, 即内层存储器中的全部信息,是其相邻 外层存储器中一部分信息的复制品
北京信息科技大学
计算机系统结构
“Cache主存”和“主存辅存”层次
主存块地址 tag index
北京信息科技大学
计算机系统结构
直接映像方式


直接映像方式:是指主存的一个字块只能映像 到Cache中确定的一个字块。 举例 直接映像方式特点:



主存的字块只可以和固定的Cache字块对应,方式 直接,利用率低。 标志位较短,比较电路的成本低。如果主存空间有 2m块,Cache中字块有2c块,则标志位只要有m-c 位。而且在访问Cache时候仅需要比较一次 空间利用率最低,冲突概率最高,实现最简单。
计算机系统结构
现代计算机的层次存储器系统

利用程序的局部性原理:

以最低廉的价格提供尽可能大的存储空间 以最快速的技术实现高速存储访问
Processor Control Second Level Cache (SRAM) Main Memory (DRAM) Secondary Storage (Disk)
北京信息科技大学
计算机系统结构
Cache基本知识


高速缓冲存储器:在相对容量较大而速度较慢的主存与 高速处理器之间设置的少量但快速的存储器 基本工作原理:




把Cache和主存分成若干大小相同的块( block,行、线 line,槽slot ),Cache由块目录表及快速存储器组成 对主存地址,根据映象规则生成标签和索引;根据标签和 索引查找具体的Cache块 无(失效/缺失miss)则到主存取一个块的数据(遇到 Cache没有,空间则需要替换),并给处理器需要的部分 有(命中hit)则从Cache读取数据;如果是写入操作,需 考虑与主存数据保持一致(写入策略)

计算机组成与结构课件 第四章 主存储器

计算机组成与结构课件 第四章 主存储器

源极
电容Cs
VDD
写入: 字线为高电平,T导通 写1: 位线为低电平,VDD通过T对Cs充电, 电容中 有电荷则保持不变。 写0: 位线为高电平,Cs通过T放电,电容中无电荷 则不变。
读出:位线预充电至高电平; 当字线出现 高电平后,T导通,若原来Cs充有电荷,则Cs放 电,使位线电位下降,经放大后,读出为1; 若原 来Cs上无电荷,则位线无电位变化,放大器无 输出,读出为0。
主存储器处于全机中心地位,原因有三点: (1)主存储器存放当前计算机正在 执行的程序和数据,CPU直接从存储器 取指令或存取数据。 (2)利用DMA(直接存储器存取) 技术和输入输出通道技术,在存储器与 输入输出系统之间直接传送数据。 (3)共享存储器的多处理机利用存储 器存放共享数据,并实现处理机之间的 通信。
一、主存的基本知识
—— 主存储器处于全机中心地位
按在计算机系统中的作用存储器可分为三 种: ⑴ 高速缓冲存储器(cache):用来存放 正在执行的程序段和数据,以便CPU高速地使 用它们。 ⑵ 主存储器(简称主存或内存):用来存 放计算机运行期间所需要的程序和数据,CPU 可直接随机地进行读写访问。 ⑶ 辅助存储器:用来存放当前暂不参与运 行的程序和数据,以及一些需要永久性保存的 信息,CPU不能直接访问它。
(3)可编程的只读存储器(PROM) 一次性写入后只能读不能修改。 (4)可擦除可编程的只读存储器(EP ROM ) 用紫外线擦除内容的PROM,擦除后可再写 入内容。 (5)可电擦除的可编程只读存储器(E2 PROM) 用电擦除。
按信息的保存性是否长久来分,存储 器可分为如下两类: (1)易失性存储器:断电后,存储信息 即消失的存储器。 (2)非易失性存储器:断电后信息仍然 保存的存储器。 RAM属于易失性存储器 ROM、P ROM、EP ROM、 E2 PROM 属于非易失性存储器

什么是Cache

什么是Cache

什么是CacheCache”是什么Cache(即高速缓冲存储器(Cache Memory),是我们最常听到的一个词了。

在老鸟们眼中,这个词或许已没有再谈的必要,因为他们对Cache从设计的必要性到工作原理、工作过程等等都已了如指掌了;而对菜鸟朋友们而言,这些未必就很清楚。

那么,它们到底是指的什么呢?不用急,下面就请随笔者一起来全面认识Cache。

为什么要设计Cache我们知道,电脑的内存是以系统总线的时钟频率工作的,这个频率通常也就是CPU的外频(对于雷鸟、毒龙系列的处理器,由于在设计采用了DDR技术,CPU 工作的外频为系统总线频率的两倍)。

但是,CPU的工作频率(主频)是外频与倍频因子的乘积。

这样一来,内存的工作频率就远低于CPU的工作频率了。

这样造成的直接结果是:CPU在执行完一条指令后,常常需要“等待”一些时间才能再次访问内存,极大降了CPU工作效率。

在这样一种情况下,Cache就应运而生了!Cache是什么Cache是一种特殊的存储器,它由Cache 存储部件和Cache控制部件组成。

Cache 存储部件一般采用与CPU同类型的半导体存储器件,存取速度比内存快几倍甚至十几倍。

而Cache 控制器部件包括主存地址寄存器、Cache 地址寄存器,主存—Cache地址变换部件及替换控制部件等。

至于它们各自又是怎样工作的、有何作用等等,我想我们就没有必要做进一步的研究,知道一般Cache分为L1 Cache(其中又分为数据Cache、代码Cache)、L2 Cache就行了。

Cache是怎样工作的我们知道,CPU运行程序是一条指令一条指令地执行的,而且指令地址往往是连续的,意思就是说CPU在访问内存时,在较短的一段时间内往往集中于某个局部,这时候可能会碰到一些需要反复调用的子程序。

电脑在工作时,把这些活跃的子程序存入比内存快得多的Cache 中。

CPU在访问内存时,首先判断所要访问的内容是否在Cache中,如果在,就称为“命中”,此时CPU直接从Cache中调用该内容;否则,就称为“不命中”,CPU只好去内存中调用所需的子程序或指令了。

《高速缓冲存储器》PPT课件

《高速缓冲存储器》PPT课件

2021/3/8
20
不命中时处理方式 等待主存储器 任务切换
2021/3/8
3
来自处理机
主存地址
块号
块内地址
不命中
已 装 不 进
还 命中
可 装 入
主存-Cache 地址映象变换机构
Cache 替换 策略
访主存 装入Cache
块号
块内地址
Cache 地址
访主存 替换Cache
高速缓冲存储器Cache
Cache 单字宽
多字宽
地址变换的硬件容易实现;
地址变换的速度要快;
主存空间利用率要高;
发生块冲突的概率要小
2021/3/8
7
四种方式
全相联映象与变换
直接映象与变换
组相联映像与变换
段相联映象
2021/3/8
8
全相联映象与变换
定义及规则
映象规则:主存中的任意一块都可以映象到 Cache中的任意一块。
如果Cache的块数为Cb,主存的块数为Mb, 映象关系共有:Cb×Mb种。
11
主存地址 相联比较
块号B
块号b 命中
块内地址
块内地址w Cache地址
B
b
主存块号B Cache块号b 有效位 目录表(由相联存储器组成,共Cb个字)
2021/3/8
12
直接映象与变换
定义及规则
映象规则:主存中一块只能映象到Cache的一个特 定的块中。
计算公式: b=B mod Cb,其中:
比较结果不相等, 有效位为0, 表示Cache中的这一块 是空的
比较结果不相等, 有效位为1, 表示原来在Cache中的 这一块是有用的

计算机组成原理 第17讲_Cache

计算机组成原理 第17讲_Cache

… …
m-1
盛建伦jlsheng@
直接映射 Direct Mapping 若 Cache有m行,每行n字,主存有2S块, S— r位 主存地址(S+w位) Cache地址(r+w位) 标志Tag r位 行地址Line 行地址Line 选中1行 Cache的 内容 Tag 字0 字1 设 m=2r ,n=2W w位 字地址Word 字地址Word 选中行内1个字 …… 字 n-1
From Processor 主存地址 块号 已装不进 Cache 替换策略 块内地址
地址总线
若Cache已满,则按 照某种替换策略把该 行替换进Cache。 CPU访问Cache, 每次1个字。
Miss
Hit 装入 Cache 1行 主存- Cache 地址映射变换机构 Cache地址
Address Mapping
主存地址
地址总线
块号
已装不进 Cache
块内地址
Miss Hit 装入 Cache
主存- Cache 地址映射变换机构 Cache地址
Address Mapping
替换策略
块 号 块内地址
主存
直接通路
1行
Cache
1个字
To Processor
数据总线
主存-Cache地址映射变换机构将处理机发出的主存地址变换 成Cache地址,判定该字所在行是否在Cache中。 如果在Cache中,称为命中Hit,则访问Cache。 如果不在Cache中,称为不命中Miss(块失效),则访问主存。 同时,将包含该字的一行装入Cache。
装入 Cache 主存- Cache 地址映射变换机构 Cache地址
Address Mapping

Cache基本概念

Cache基本概念

5.4 高速缓存(Cache)了解:Cache的基本概念;基本工作原理;命中率;Cache的分级体系结构1)为什么需要高速缓存?CPU工作速度与内存工作速度不匹配–例如,800MHz的PIII CPU的一条指令执行时间约为1.25ns,而133MHz的SDRAM存取时间为7.5ns,即83%的时间CPU都处于等待状态,运行效率极低。

解决:–CPU插入等待周期——降低了运行速度;–采用高速RAM——成本太高;–在CPU和RAM之间插入高速缓存——成本上升不多、但速度可大幅度提高。

2)工作原理基于程序执行的两个特征:–程序访问的局部性:过程、循环、子程序。

–数据存取的局部性:数据相对集中存储。

存储器的访问相对集中的特点使得我们可以把频繁访问的指令、数据存放在速度非常高(与CPU速度相当)的SRAM——高速缓存CACHE中。

需要时就可以快速地取出。

Cache的工作原理图示取指令、数据时先到CACHE中查找:–找到(称为命中)——直接取出使用;–没找到——到RAM中取,并同时存放到CACHE中,以备下次使用。

只要命中率相当高,就可以大大提高CPU的运行效率,减少等待。

现代计算机中CACHE的命中率都在90%以上。

命中率影响系统的平均存取速度系统的平均存取速度≈Cache存取速度×命中率+RAM存取速度×不命中率例如:RAM的存取时间为8ns,CACHE的存取时间为1ns,CACHE的命中率为90%。

则存储器整体访问时间由没有CACHE的8ns减少为:1ns×90% + 8ns×10% = 1.7ns速度提高了近4倍。

在一定的范围内,Cache越大,命中率就越高,但相应成本也相应提高Cache与内存的空间比一般为1 128*Cache系统有三个需要解决的主要问题:主存—Cache地址变换解决:把Cache与主存都分成大小相同的页(若主存容量为2n,Cache容量为2m,页的大小为2p(即页内地址有p位),则主存的页号共有(n-p)位,Cache页号共有(m-p)位)这样,主存—Cache地址变换,就是如何把主存页映射到Cache页上(即只映射页号)。

cache计算机组成原理

cache计算机组成原理

cache计算机组成原理小伙伴们!今天咱们来唠唠计算机组成原理里超级有趣的一个东西——Cache(高速缓冲存储器)。

你可以把计算机想象成一个超级大的办公室。

这里面有各种各样的员工(部件)在忙忙碌碌地干活。

而Cache呢,就像是办公室里最机灵的小秘书。

为啥这么说呢?你想啊,CPU(中央处理器)这个大老板,每天都要处理好多好多的数据,就像大老板每天要做各种决策一样。

这些数据呢,原本是放在内存这个大仓库里的。

可是呀,内存离CPU有点远,每次CPU要找个数据,就像大老板要从老远的大仓库里找个文件一样,特别费时间。

这时候,Cache就闪亮登场啦。

Cache这个小秘书特别聪明,它就在CPU的身边,离得超级近。

它就像有个超能力,会提前猜一猜CPU这个大老板接下来可能会用到哪些数据。

然后呢,它就偷偷地从内存这个大仓库里把那些可能会用到的数据拿过来,放在自己这里。

当CPU说:“我要找个数据啦。

”Cache就会特别快地说:“老板,你要的是不是这个呀?”然后一下子就把数据给CPU了。

这速度,就像闪电一样快。

Cache这个小秘书呀,它的存储空间可没有内存那么大。

它就像是一个小巧精致的文件柜,虽然装不了太多东西,但是放的都是最最常用的文件。

比如说,你每天都要用到的办公软件的一些小设置之类的。

它把这些常用的数据放在身边,就为了能让CPU快速拿到。

那Cache是怎么知道哪些数据是常用的呢?这就像是小秘书有自己的小秘诀。

它会根据数据被访问的频率呀,还有一些算法来判断。

就好像小秘书会观察,哪些文件大老板经常看,哪些偶尔才看一次。

经常看的就牢牢放在自己身边的小文件柜里,不常看的就先放一边。

有时候呀,也会出点小状况。

比如说,Cache以为CPU会用到某个数据,就把它从内存里拿过来了,结果CPU要的是另外一个数据。

这就像小秘书猜错了大老板的心思。

不过没关系呀,Cache会很快调整自己的策略,再去内存里找正确的数据。

而且呢,Cache还有不同的级别。

高速缓冲存储器

高速缓冲存储器
11/
高速缓冲存储器(Cache)
–Cache的写操作
Cache中的块是主存中相应块的副本。如果程序执
行过程中要对某块的某单元进行写操作,有两种方法:
(1)标志交换方式(写回法):即只向Cache写入,
并用标志注明,直至该块在替换中被排挤出来,才将该
块写回主存,代替未经修改的原本;
12/
高速缓冲存储器(Cache)
(t,T)表示,也称之为工作集合。 根据程序访问局部 化性质,W(t,T)随时间的变化是相当缓慢的。把这 个集合从主存中移至(读出)一个能高速访问的小容量 存储器内,供程序在一段时间内随时访问,大大减少程
序访问主存的次数,从而加速程序的运行。
6/
高速缓冲存储器(Cache)
(2)这个介于主存和CPU之间的高速小容量存储器就称 为Cache。所以,程序访问局部化性质是Cache得以实现 的原理基础,而高速(能与CPU匹配)则是Cache得以
高速缓冲存储器(Cache)
–Cache的读操作
CPU进行读存储器作时,根据其送出的主存地址区分两 种不同情况: (1)一种是需要的信息已在Cache中,那末直接访问 Cache就行了; (2)另一种是所需信息不在Cache中,就要把该单元 所在的块从主存调Cache。后一种情况又有两种实现方 法:一种是将块调入Cache后再读入CPU;另一种读直 达(读直达通路)。在调入新的块时,如果Cache已占 满,这就产生替换,由替换控制部件按已定的替换算法 实现。
如果进程切换发生在用户程序因为系统运行管理程
序、处理I/O中断或时钟中断时,QSW值越小,表明
由管理程序切换至原来的用户程序越块,Cache中
(2)写直达法:即在写入Cache的同时,也写入
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

高速缓冲存储器cache的作用
高速缓冲存储器(cache)是计算机系统中的一种重要组成部分,它的作用可以用来提高数据访问速度、降低数据延迟,从而提升整个系统的性能。

在计算机系统中,CPU(中央处理器)和内存之间的数据交换是非常频繁的,而高速缓存存储器的作用就是在CPU和内存之间起到一个缓冲的作用,加快数据传输的速度。

高速缓存存储器通过存储最常用的数据,将这些数据暂时保存在CPU附近,以便下次访问时可以更快地获取。

这样,当CPU需要访问某个数据时,它首先会在高速缓存中进行查找,如果找到了需要的数据,就可以直接从缓存中读取,而不需要再次访问内存。

由于高速缓存存储器的访问速度比内存快得多,因此可以大大减少CPU等待数据的时间,从而提高计算机的整体运行速度。

高速缓存存储器还可以通过预取数据的方式来提高数据访问速度。

当CPU访问某个数据时,高速缓存存储器会根据程序的局部性原理,主动将该数据所在的连续内存块中的数据一并加载到缓存中。

这样,在CPU访问下一个数据时,它已经在高速缓存中了,无需再次从内存中读取。

通过预取数据,可以减少CPU等待数据的时间,提高计算机的整体性能。

高速缓存存储器还可以通过缓存一致性协议来提高系统的性能和数据的一致性。

在多核处理器系统中,每个核都有自己的高速缓存,
而它们之间又需要共享数据。

为了保证数据的一致性,高速缓存存储器会使用一种协议来保证每个核对共享数据的操作都是正确的。

这种协议可以在不同核之间进行数据的同步和通信,从而保证数据的一致性。

通过缓存一致性协议,可以提高系统的性能和数据的可靠性。

高速缓存存储器还有一种非常重要的作用,即减少对内存的访问次数。

由于内存的访问速度相对较慢,因此每次访问内存都需要耗费较多的时间。

而高速缓存存储器的访问速度比内存快得多,因此可以将CPU对内存的访问次数减少到最低限度。

通过减少对内存的访问次数,可以大大提高计算机系统的性能,降低数据访问的延迟。

高速缓存存储器在计算机系统中起到了至关重要的作用。

它通过存储最常用的数据、预取数据、缓存一致性协议以及减少对内存的访问次数等方式,提高了数据访问的速度和性能,从而提升了整个计算机系统的运行效率。

在今后的计算机发展中,高速缓存存储器将继续发挥着重要的作用,为计算机系统的性能提供强大的支持。

相关文档
最新文档