fbpx
维基百科

缓存

高速缓存(英語:cache/kæʃ/ KASH [2][3][4])简称缓存,原始意义是指存取速度比一般隨機存取記憶體(RAM)快的一种RAM,通常它不像系统主記憶體那样使用DRAM技术,而使用昂贵但較快速的SRAM技术。

cache」的各地常用別名
中国大陸高速缓冲存储器[1],高速缓存
臺灣快取記憶體
港澳緩衝記憶體

原理

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的缓存曾经是用在超级计算机上的一种高级技术,不过现今電腦上使用的的AMDIntel微处理器都在芯片内部集成了大小不等的数据缓存和指令缓存,通称为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)等,这些算法在不同层次的缓存上执行时拥有不同的效率和代价,需根据具体场合选择最合适的一种。

参见

参考文献

  1. ^ 陈禹. . 清华大学出版社. : 18 [2020-03-09]. ISBN 7-302-12261-X. (原始内容存档于2019-05-02) (中文(简体)). 
  2. ^ . Oxford Learner's Dictionaries. Oxford University Press. [2015-01-28]. (原始内容存档于2021-03-18). 
  3. ^ . Cambridge Dictionaries Online. Cambridge University Press. [2015-01-28]. (原始内容存档于2015-07-12). 
  4. ^ . Merriam-Webster Online Dictionary. Merriam-Webster, Incorporated. [2015-01-28]. (原始内容存档于2021-03-18). 

外部链接

  • 处理器的存储子系统(一)--概述 (页面存档备份,存于互联网档案馆
  • 处理器的存储子系统(二)-- Cache (页面存档备份,存于互联网档案馆


缓存, 本條目存在以下問題, 請協助改善本條目或在討論頁針對議題發表看法, 此條目語意模稜兩可而損及其中立性或準確性, 請在讨论页討論問題所在及加以改善, 此條目可参照英語維基百科相應條目来扩充, 2020年7月28日, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, template, t. 本條目存在以下問題 請協助改善本條目或在討論頁針對議題發表看法 此條目語意模稜兩可而損及其中立性或準確性 請在讨论页討論問題所在及加以改善 此條目可参照英語維基百科相應條目来扩充 2020年7月28日 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 高速缓存 英語 cache k ae ʃ KASH 2 3 4 简称缓存 原始意义是指存取速度比一般隨機存取記憶體 RAM 快的一种RAM 通常它不像系统主記憶體那样使用DRAM技术 而使用昂贵但較快速的SRAM技术 cache 的各地常用別名中国大陸高速缓冲存储器 1 高速缓存臺灣快取記憶體港澳緩衝記憶體 目录 1 原理 2 概念的扩充 3 地址映象与变换 4 缓存置换策略 5 参见 6 参考文献 7 外部链接原理 编辑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缓存的容量 因此两者之间就必须按一定的规则对应起来 地址映象就是指按某种规则把主存块装入缓存中 地址变换是指当按某种映象方式把主存块装入缓存后 每次访问CPU缓存时 如何把主存的物理地址 Physical address 或虚拟地址 Virtual address 变换成CPU缓存的地址 从而访问其中的数据 缓存置换策略 编辑主条目 CPU缓存 置换策略 分页和缓存文件置换机制 主存容量远大于CPU缓存 磁盘容量远大于主存 因此无论是哪一层次的缓存都面临一个同样的问题 当容量有限的缓存的空闲空间全部用完后 又有新的内容需要添加进缓存时 如何挑选并舍弃原有的部分内容 从而腾出空间放入这些新的内容 解决这个问题的算法有几种 如最久未使用算法 LFU 先进先出算法 FIFO 最近最少使用算法 LRU 非最近使用算法 NMRU 等 这些算法在不同层次的缓存上执行时拥有不同的效率和代价 需根据具体场合选择最合适的一种 参见 编辑CPU快取 分页 磁盘缓存 缓存置换参考文献 编辑 陈禹 信息系统管理工程师教程 清华大学出版社 18 2020 03 09 ISBN 7 302 12261 X 原始内容存档于2019 05 02 中文 简体 cache noun Oxford Learner s Dictionaries Oxford University Press 2015 01 28 原始内容存档于2021 03 18 cache definition meaning Cambridge Dictionaries Online Cambridge University Press 2015 01 28 原始内容存档于2015 07 12 Cache Merriam Webster Online Dictionary Merriam Webster Incorporated 2015 01 28 原始内容存档于2021 03 18 外部链接 编辑处理器的存储子系统 一 概述 页面存档备份 存于互联网档案馆 处理器的存储子系统 二 Cache 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 缓存 amp oldid 72661781, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。