缓存

✍ dations ◷ 2025-12-11 07:44:27 #缓存
高速缓存(英语: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)等,这些算法在不同层次的缓存上执行时拥有不同的效率和代价,需根据具体场合选择最合适的一种。

相关

  • 属(英语:genus,拉丁语:genus)是生物分类法中的一级,用于生物学中的生物和化石生物以及病毒的生物分类。在生物分类的层次结构中,属位于种之上和科之下。属名由拉丁词或希腊词或拉丁
  • 肼苯太素肼屈嗪(Hydralazine),又名肼苯哒嗪,是一种治疗高血压和心脏衰竭的药物。适应症包含妊娠高血压以及高血压急症(英语:hypertensive emergency)。目前已知黑人若并用硝酸异山梨酯治疗
  • 撤回因为对患者有一定风险,有些药品已经退出市场。通常这些副作用在第三期临床试验中并未发现,在市场销售后的临床监视期发现。本列表不止包含美国食品药品监督管理局(FDA)没有批
  • 蜜蜂蜂科(学名:Apidae)是蜜蜂总科中最大的一个科(family),涵盖了至少5700种蜂。这个科包括了一些最常见的蜂,比如熊蜂(bumblebee)和蜜蜂,还包括无蛰蜂(stingless bees)、木蜂(carpenter bees)
  • 东岸美国东岸,或称为大西洋海岸,是指美国的最东部的海岸地区,东向面临大西洋,北边为加拿大,南边为墨西哥湾。此区域通常包括以前北美十三殖民地的范围,现在则由北到南包括缅因州、新罕
  • 合子受精卵(zygote、合子)在发育生物学中用来描述生物的第一阶段,此时它只是一个单细胞。这个词也会被较为宽松地运用于经过最初几分裂后的细胞,虽然严格地讲这一阶段应称为卵裂球(分
  • 甲氧苯青霉素甲氧西林(Methicillin)是一种于1960年首次合成的β-内酰胺类半合成抗生素。发现于1960年,主要对金黄色葡萄球菌等革兰氏阳性菌有作用,可用于治疗败血症、呼吸道感染、脑膜炎等由
  • 冥界节庆:冥界,在希腊神话中,是人类在死后的灵魂所去的另一个世界,在冥界生活的神和灵魂统称克托尼俄斯。类似于中国民间信仰中的阴间,此处也是古希腊人原有的来世观(英语:afterlife)的
  • 小角软骨小角软骨(corniculate cartilages、cartilages of Santorini (圣托里尼软骨)、小角状软骨、角质软骨)是由弹性软骨组成的两个小锥形结节,其与杓状软骨的顶端相关联、并于后方和
  • 闭锁综合症闭锁综合征(Locked-in syndrome)是指患者虽然意识清醒,但却由于全身随意肌(除眼睛外)全部瘫痪,导致患者不能活动、不能自主说话的一种综合征。如果患者眼睛也瘫痪,则被称为完全性闭