cache是什么存储器?
cache叫做高速缓冲存储器,是介于中央处理器和主存储器之间的高速小容量存储器,一般由高速SRAM构成;这种局部存储器是面向CPU的,引入它是为减小或消除CPU与内存之间的速度差异对系统性能带来的影响。Cache容量小但速度快,内存速度较低但容量大,通过优化调度算法,系统的性能会大大改善。
本教程操作环境:windows7系统、Dell G3电脑。
cache是什么存储器
Cache存储器:电脑中为高速缓冲存储器,是位于CPU和主存储器DRAM(Dynamic Random Access Memory)之间,规模较小,但速度很高的存储器,通常由SRAM(Static Random Access Memory静态存储器)组成。
如图3.28所示,cache是介于CPU和主存M2之间的小容量存储器,但存取速度比主存快,容量远小于主存。cache 能高速地向CPU提供指令和数据,从而加快了程序的执行速度。从功能上看,它是主存的缓冲存储器,由高速的SRAM组成。为追求高速,包括管理在内的全部功能由硬件实现,因而对程序员是透明的。
当前,随着半导体器件集成度的进步提高,可以将小容量的 cache与CPU 集成到同一芯片中,其工作速度接近于CPU的速度,从而组成两级以上的cache系统。
cache的功能
Cache的功能是提高CPU数据输入输出的速率。Cache容量小但速度快,内存速度较低但容量大,通过优化调度算法,系统的性能会大大改善,仿佛其存储系统容量与内存相当而访问速度近似Cache。
CPU的速度远高于内存,当CPU直接从内存中存取数据时要等待一定时间周期,而Cache则可以保存CPU刚用过或循环使用的一部分数据,如果CPU需要再次使用该部分数据时可从Cache中直接调用,这样就避免了重复存取数据,减少了CPU的等待时间,因而提高了系统的效率。Cache又分为L1Cache(一级缓存)和L2Cache(二级缓存),L1Cache主要是集成在CPU内部,而L2Cache集成在主板上或是CPU上。
cache的基本原理
cache除包含SRAM外,还要有控制逻辑。若cache在CPU芯片外,它的控制逻辑一般与主存控制逻辑合成在一起,称为主存/chace控制器;若cache在CPU内,则由CPU提供它的控制逻辑。
CPU与cache之间的数据交换是以字为单位,而cache与主存之间的数据交换是以块为单位。一个块由若干字组成,是定长的。当CPU读取内存中一个字时,便发出此字的内存地址到cache和主存。此时cache控制逻辑依据地址判断此字当前是否在cache中:若是,则cache命中,此字立即传送给CPU;若非,则cache缺失(未命中),用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到cache中。
图3.29示出了cache的原理图。假设cache读出时间为50ns,主存读出时间为250ns。存储系统是模块化的,主存中每个8K模块和容量16字的cache相联系。cache分为4行,每行4个字(W)。分配给cache的地址存放在一个相联存储器CAM中,它是按内容寻址的存储器。当CPU执行访存指令时,就把所要访问的字的地址送到CAM;如果W不在cache中,则将W从主存传送到CPU。与此同时,把包含W的由前后相继的4个字所组成的一行数据送入cache,替换原来cache中的一行数据。在这里,由始终管理cache使用情况的硬件逻辑电路来实现替换算法。
cache的命中率
从CPU来看,增加cache的目的,就是在性能上使主存的平均读出时间尽可能接近cache的读出时间。为了达到这个目的,在所有的存储器访问中由cache满足CPU需要的部分应占很高的比例,即cache的命中率应接近于1。由于程序访问的局部性,实现这个目标是可能的。
在一个程序执行期间,设Nc表示cache完成存取的总次数,Nₘ表示主存完成存取的总次数,h定义为命中率,则有h=Nc/(Nc+Nₘ)
若tc表示命中时的cache访问时间,tₘ表示未命中时的主存访问时间,1-h表示未命中率(缺失率),则cache/主存系统的平均访问时间tₐ为
tₐ=htc+(1−h)tₘ
我们追求的目标是,以较小的硬件代价使cache/主存系统的平均访问时间tₐ越接近 tc越好。设 r=tₘ/tc表示主存与cache的访问时间之比,e表示访问效率,则有
e=tc/ta=tc/(htc+(1−h)tm)=1/(h+(1−h)r)=1/(r+(1−r)h)
由此式看出,为提高访问效率,命中率h越接近1越好。r值以5~10为宜,不宜太大。
命中率h与程序的行为、cache的容量、组织方式、块的大小有关。
cache结构设计必须解决的问题
从cache的基本工作原理可以看出, cache的设计需要遵循两个原则:一是希望cache的命中率尽可能高,实际应接近于1;二是希望cache对CPU而言是透明的,即不论是否有cache, CPU访存的方法都是一样的,软件不需增加任何指令就可以访问cache。解决了命中率和透明性问题,就CPU访存的角度而言,内存将具有主存的容量和接近cache的速度。为此,必须增加一定的硬件电路完成控制功能,即cache控制器。
在设计cache结构时,必须解决几个问题:①主存的内容调入cache时如何存放?②访存时如何找到cache中的信息?③当cache空间不足时如何替换cache中已有的内容?④需要写操作时如何改写cache的内容?
其中,前两个问题是相互关联的,即如何将主存信息定位在cache中,如何将主存地址变换为cache地址。与主存容量相比, cache的容量很小,它保存的内容只是主存内容的一个子集,且cache与主存的数据交换是以块为单位。为了把主存块放到cache中,必须应用某种方法把主存地址定位到cache中,称为地址映射。“映射”一词的物理含义是确定位置的对应关系,并用硬件来实现。这样当CPU访问存储器时,它所给出的一个字的内存地址会自动变换成cache的地址,即cache地址变换。
cache替换问题主要是选择和执行替换算法,以便在cache不命中时替换cache中的内容。最后一个问题涉及cache的写操作策略,重点是在更新时保持主存与cache的一致性。
更多相关知识,请访问常见问题栏目!
以上是cache是什么存储器?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

存储器中存取速度最快的是“内存储器”;计算机中的存储器采用层次结构,按照速度快慢排列依次是内存储器、高速缓冲存储器、计算机的主存、大容量磁盘,其中内存一般分为RAM随机存取存储器和ROM只读存储器。

事情其实是这样的,当时领导交给我一个perf硬件性能监视的任务,在使用perf的过程中,输入命令perf list,我看到了以下信息:我的任务就要让这些cache事件能够正常计数,但关键是,我根本不知道这些misses、loads是什么意思。

能直接存取。内存储器又称内存,是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都是在内存中进行。内存的作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机运行,操作系统就会把需要运算的数据从内存调到CPU中进行运算;当运算完成后,CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。

计算机具有很强的记忆能力的基础是:足够容量的存储装置。存储器可分为内存和外存,它们使得计算机具有强大的记忆功能,可以存储大量的信息,这些信息,不仅包括各类数据信息,还包括加工这些数据的程序。

存储器系统是指计算机中由存放程序和数据的各种存储设备、控制部件及管理信息调度的设备(硬件)和算法(软件)所组成的系统。存储系统提供写入和读出计算机工作需要的信息(程序和数据)的能力,实现计算机的信息记忆功能。存储系统的层次化结构可以分为5级:寄存器组、高速缓存Cache、主存、虚拟存储器和外部存储器。

u盘是中国发明的,朗科公司是U盘的全球发明者。2002年7月,朗科公司的“用于数据处理系统的快闪电子式外存储方法及其装置”获得国家知识产权局正式授权,该专利填补了中国计算机存储领域20年来发明专利的空白;2004年12月7日,朗科获得美国国家专利局正式授权的闪存盘基础发明专利。

使用cache可以提高计算机运行速度这是因为Cache缩短了CPU的等待时间。Cache是位于CPU和主存储器DRAM之间,规模较小,但速度很高的存储器。Cache的功能是提高CPU数据输入输出的速率;Cache容量小但速度快,内存速度较低但容量大,通过优化调度算法,系统的性能会大大改善。

cache叫做高速缓冲存储器,是介于中央处理器和主存储器之间的高速小容量存储器,一般由高速SRAM构成;这种局部存储器是面向CPU的,引入它是为减小或消除CPU与内存之间的速度差异对系统性能带来的影响。Cache容量小但速度快,内存速度较低但容量大,通过优化调度算法,系统的性能会大大改善。