在计算中,高速缓存(cache)是存储数据的硬件或软件组件,以便可以更快地满足对该数据的将来请求。存储在缓存中的数据可能是早期计算的结果,也可能是存储在其他位置的数据的副本。
CPU高速缓存是由计算机的中央处理器(CPU)使用的硬件缓存,用于降低从主内存访问数据的平均成本(时间或能量)。缓存是一种更小、更快的内存,位于更靠近处理器核心的位置,存储来自经常使用的主内存位置的数据副本。
高速缓冲存储器是存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多, 接近于CPU的速度。
Cache存储体:存放由主存调入的指令与数据块。
地址转换部件:建立目录表以实现主存地址到缓存地址的转换。
替换部件:在缓存已满时按一定策略进行数据块替换,并修改地址转换部件。
大多数cpu都有不同的独立缓存,包括指令缓存和数据缓存,其中数据缓存通常组织为多个缓存级别(L1、L2、L3、L4等)的层次结构。
所有现代(快速)CPU(除了少数特殊的例外)都有多个级别的CPU缓存,第一个使用缓存的cpu只有一级缓存。与后来的一级缓存不同,它没有被分成L1d(用于数据)和L1i(用于指令)。
分离式L1高速缓冲存储器始于1985年的R2000 MIPS处理器,1993年的英特尔奔腾处理器成为主流,1997年的ARMv5TE处理器成为嵌入式CPU市场的主流。在2015年,甚至低于美元的SoC也分裂了L1缓存。
它们还有L2缓存,对于较大的处理器,还有L3缓存。L2缓存通常不被分割,它充当已经分割的L1缓存的公共存储库。多核处理器的每个核心都有一个专用的L1缓存,通常不会在核心之间共享。
L2缓存和更高级的缓存可以在核心之间共享,L4缓存目前并不常见,通常是在(一种形式的)动态随机访问内存(DRAM)上,而不是在静态随机访问内存(SRAM)上,在一个单独的die或chip上(例外情况下,该形式的eDRAM用于从L1到所有级别的缓存)。
历史上L1也是这种情况,而更大的芯片允许集成它和所有的缓存级别,最后一层可能除外。每一个额外的缓存级别都趋向于更大,并以不同的方式优化。
存在其他类型的缓存(它们不计入上面提到的最重要的缓存的“缓存大小”),比如translation lookaside buffer (TLB),它是大多数cpu拥有的内存管理单元(MMU)的一部分。
缓存(如历史上的RAM)的大小通常是2、4、8、16等。简约;当达到MiB大小(即更大的非l1)时,该模式很早就被打破了,以允许更大的缓存,而不必被迫采用双倍大小的模式,例如2008年4月Intel Core 2 Duo与3 MiB L2缓存。
然而L1大小,很久以后仍然只数在小数量的简约,然而IBM zEC12从2012年是一个例外,96年获得极大的简约L1数据缓存的时间,如IBM z13有96简约L1指令缓存(128简约L1数据缓存)和英特尔冰Lake-based处理器从2018年开始,有48个简约L1数据缓存和48简约L1指令缓存。
正在阅读:
cache是什么意思? cache三大部分组成介绍06-10
小学三年级300字游记作文08-12
换个角度看生命作文600字10-25
一级建造师考试报考专业对照表(高职高专)04-16
2017北京石景山中考成绩怎么查询01-10
爱的守护作文800字12-26
幼儿园开学第一周升国旗主持词_开学第一周升国旗仪式主持词09-17
2021年湖南华融湘江银行劳务派遣员工及实习生招聘启事07-07
2017福建厦门思明区莲前小学小学补充非在编人员招聘公告09-02
2020年青海中级会计职称考试时间:9月5日-7日01-23
2020年山西高考体育类录取分数线公布11-03