首页 >
缓存
✍ dations ◷ 2025-12-07 04:14:25 #缓存
高速缓存(英语:cache,/kæʃ/ KASH )简称缓存,原始意义是指访问速度比一般随机存取存储器(RAM)快的一种RAM,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。Cache一词来源于1967年的一篇电子工程期刊论文。其作者将法语词“cache”赋予“safekeeping storage”的涵义,用于电脑工程领域。PC-AT/XT和80286时代,没有Cache,CPU和内存都很慢,CPU直接访问内存。80386的芯片组增加了对可选的Cache的支持,高级主板带有64KB,甚至高端的128KB Write-Through Cache。80486 CPU里面加入了8KB的L1 Unified Cache,当时也叫做内部Cache,不分代码和数据,都存在一起;芯片组中的Cache,变成了L2,也被叫做外部Cache,从128KB到256KB不等;增加了Write-back的Cache属性。Pentium CPU的L1 Cache分为Code和data,各自8KB;L2还被放在主板上。Pentium Pro的L2被放入到CPU的Package上。Pentium 3开始,L2 Cache被放入了CPU的Die中。从Intel Core CPU开始,L2 Cache为多核共享。当CPU处理数据时,它会先到Cache中去寻找,如果数据因之前的操作已经读取而被暂存其中,就不需要再从随机存取存储器(Main memory)中读取数据——由于CPU的运行速度一般比主内存的读取速度快,主存储器周期(访问主存储器所需要的时间)为数个时钟周期。因此若要访问主内存的话,就必须等待数个CPU周期从而造成浪费。提供“缓存”的目的是为了让数据访问的速度适应CPU的处理速度,其基于的原理是内存中“程序执行与数据访问的局域性行为”,即一定程序执行时间和空间内,被访问的代码集中于一部分。为了充分发挥缓存的作用,不仅依靠“暂存刚刚访问过的数据”,还要使用硬件实现的指令预测与数据预取技术——尽可能把将要使用的数据预先从内存中取到缓存里。CPU的缓存曾经是用在超级计算机上的一种高级技术,不过现今电脑上使用的的AMD或Intel微处理器都在芯片内部集成了大小不等的数据缓存和指令缓存,通称为L1缓存(L1 Cache即Level 1 On-die Cache,第一级片上高速缓冲存储器);而比L1更大容量的L2缓存曾经被放在CPU外部(主板或者CPU接口卡上),但是现在已经成为CPU内部的标准组件;更昂贵的CPU会配备比L2缓存还要大的L3缓存(level 3 On-die Cache第三级高速缓冲存储器)。如今缓存的概念已被扩充,不仅在CPU和主内存之间有Cache,而且在内存和硬盘之间也有Cache(磁盘缓存),乃至在硬盘与网络之间也有某种意义上的Cache──称为Internet临时文件夹或网络内容缓存等。凡是位于速度相差较大的两种硬件之间,用于协调两者数据传输速度差异的结构,均可称之为Cache。由于主存容量远大于CPU缓存的容量,因此两者之间就必须按一定的规则对应起来。地址镜像就是指按某种规则把主存块装入缓存中。地址变换是指当按某种镜像方式把主存块装入缓存后,每次访问CPU缓存时,如何把主存的物理地址(Physical address)或虚拟地址(Virtual address)变换成CPU缓存的地址,从而访问其中的数据。主存容量远大于CPU缓存,磁盘容量远大于主存,因此无论是哪一层次的缓存都面临一个同样的问题:当容量有限的缓存的空闲空间全部用完后,又有新的内容需要添加进缓存时,如何挑选并舍弃原有的部分内容,从而腾出空间放入这些新的内容。解决这个问题的算法有几种,如最久未使用算法(LFU)、先进先出算法(FIFO)、最近最少使用算法(LRU)、非最近使用算法(NMRU)等,这些算法在不同层次的缓存上执行时拥有不同的效率和代价,需根据具体场合选择最合适的一种。
相关
- 立克次氏体等立克次体(学名:Rickettsia),或者称立克次氏体,是一类细菌,但许多特征和病毒一样,如不能在培养基上培养,可以通过瓷滤器过滤,只能在动物细胞内寄生繁殖等。直径只有0.3-1μm,小于绝大
- 血管张力素受体抑制剂血管紧张素II受体拮抗剂(Angiotensin II receptor antagonist),也被称为血管紧张素受体阻滞剂(angiotensin receptor blockers, ARBs)或AT1受体拮抗剂,是一类作用于肾素-血管紧张
- 凝集素凝集素(Lectins)是一种对糖蛋白上的糖类具有高度特异性的结合蛋白。在实验室中,经常被用来分离、纯化糖蛋白。Lectin的名字的由来是来自于拉丁文中的legere,代表选择的意思。尽
- 二十面体在几何学中,二十面体(icosahedron)是指具有二十个面的多面体。正二十面体是五种正多面体之一,因此,名称明确为正二十面体。然而,在化学中,二十面体主要指的是正二十面体。在二十面
- 雪雪是降水形式的一种,是从云中降落的结晶状固体冰,常以雪花的形式存在。雪是由小的冰颗粒物构成,是一种颗粒材料(英语:granular material),它的结构开放,因此显得柔软。因为气温和湿
- 托里切利语族托里切利语族(Torricelli languages)是一个由大约五十个巴布亚新几内亚北岸的语言所组成的语族,这些语言的总使用人数只有约80,000人。此语族以托里切利山脉为名。托里切利语
- 尼比鲁碰撞尼比鲁碰撞,是一个假设的末世论灾难,因地球和一个大型假想的行星尼比鲁发生碰撞或摩擦而产生,部分组织相信灾难会发生于21世纪初,此说法与2012年玛雅预言、太阳风暴、地球磁极反
- 大尺度结构大尺度结构(英语:Large-scale structure)在物理宇宙学中指可观测宇宙在大范围内(典型的尺度是十亿光年)质量和光的分布特征。巡天和各种不同电磁波辐射波长的调查和描绘,特别是21
- 西伊比利亚语支西伊比利亚语支(West Iberian)是伊比利亚罗曼语支下属的一个人分支,包括阿拉贡语、西班牙语、拉迪诺语、阿斯图里亚斯-莱昂语、加利西亚-葡萄牙语等语言。西伊比利亚语支在12世
- 凝乳酶凝乳酶(英语:Rennet,又稱Rennin)是哺乳动物胃中的一种酶,可使乳汁内的蛋白质凝聚并分离为乳酪和乳清。凝乳酶存在于哺乳动物的幼儿期消化系统内,帮助消化及吸收母体(或其他哺乳类动
