快取- 維基百科,自由的百科全書

文章推薦指數: 80 %
投票人數:10人

快取(英語:cache,/kæʃ/ KASH),原始意義是指存取速度比一般隨機存取記憶體(RAM)快的一種RAM,通常它不像系統主記憶體那樣使用DRAM技術,而使用昂貴但較快速的SRAM ... 快取 維基百科,自由的百科全書 跳至導覽 跳至搜尋 本條目存在以下問題,請協助改善本條目或在討論頁針對議題發表看法。

此條目語意模稜兩可而損及其中立性或準確性。

請在討論頁討論問題所在及加以改善。

此條目可參照英語維基百科相應條目來擴充。

(2020年7月28日)若您熟悉來源語言和主題,請協助參考外語維基百科擴充條目。

請勿直接提交機械翻譯,也不要翻譯不可靠、低品質內容。

依版權協議,譯文需在編輯摘要註明來源,或於討論頁頂部標記{{Translatedpage}}標籤。

「cache」的各地常用別名中國大陸高速緩衝存儲器[1],高速緩存臺灣快取記憶體港澳緩衝記憶體 快取(英語:cache,/kæʃ/KASH[2][3][4]),原始意義是指存取速度比一般隨機存取記憶體(RAM)快的一種RAM,通常它不像系統主記憶體那樣使用DRAM技術,而使用昂貴但較快速的SRAM技術。

目次 1原理 2概念的擴充 3位址映象與變換 4快取置換策略 5參見 6參考文獻 7外部連結 原理[編輯] Cache一詞來源於1967年的一篇電子工程期刊論文。

其作者將法語詞「cache」賦予「safekeepingstorage」的涵義,用於電腦工程領域。

PC-AT/XT和80286時代,沒有Cache,CPU和記憶體都很慢,CPU直接存取記憶體。

80386的晶片組增加了對可選的Cache的支援,進階主機板帶有64KB,甚至高階的128KBWrite-ThroughCache。

80486CPU裡面加入了8KB的L1UnifiedCache,當時也叫做內部Cache,不分代碼和資料,都存在一起;晶片組中的Cache,變成了L2,也被叫做外部Cache,從128KB到256KB不等;增加了Write-back的Cache屬性。

PentiumCPU的L1Cache分為Code和data,各自8KB;L2還被放在主機板上。

PentiumPro的L2被放入到CPU的Package上。

Pentium3開始,L2Cache被放入了CPU的Die中。

從IntelCoreCPU開始,L2Cache為多核共享。

當CPU處理資料時,它會先到Cache中去尋找,如果資料因之前的操作已經讀取而被暫存其中,就不需要再從隨機存取記憶體(Mainmemory)中讀取資料——由於CPU的執行速度一般比主記憶體的讀取速度快,主記憶體儲器周期(存取主記憶體儲器所需要的時間)為數個時鐘周期。

因此若要存取主記憶體的話,就必須等待數個CPU周期從而造成浪費。

提供「快取」的目的是為了讓資料存取的速度適應CPU的處理速度,其基於的原理是記憶體中「程式執行與資料存取的局域性行為」,即一定程式執行時間和空間內,被存取的代碼集中於一部分。

為了充分發揮快取的作用,不僅依靠「暫存剛剛存取過的資料」,還要使用硬體實現的指令預測與資料預取技術——儘可能把將要使用的資料預先從記憶體中取到快取裡。

CPU的快取曾經是用在超級電腦上的一種進階技術,不過現今電腦上使用的的AMD或Intel微處理器都在晶片內部整合了大小不等的資料快取和指令快取,通稱為L1快取(L1Cache即Level1On-dieCache,第一級片上高速緩衝儲存器);而比L1更大容量的L2快取曾經被放在CPU外部(主機板或者CPU介面卡上),但是現在已經成為CPU內部的標準組件;更昂貴的CPU會配備比L2快取還要大的L3快取(level3On-dieCache第三級高速緩衝儲存器)。

概念的擴充[編輯] 如今快取的概念已被擴充,不僅在CPU和主記憶體之間有Cache,而且在記憶體和硬碟之間也有Cache(磁碟快取),乃至在硬碟與網路之間也有某種意義上的Cache──稱為Internet臨時資料夾或網路內容快取等。

凡是位於速度相差較大的兩種硬體之間,用於協調兩者資料傳輸速度差異的結構,均可稱之為Cache。

位址映象與變換[編輯] 主條目:CPU快取§ 組相聯 由於儲存裝置容量遠大於CPU快取的容量,因此兩者之間就必須按一定的規則對應起來。

位址映象就是指按某種規則把主記憶體塊裝入快取中。

位址變換是指當按某種映象方式把主記憶體塊裝入快取後,每次存取CPU快取時,如何把主記憶體的實體位址(Physicaladdress)或虛擬位址(Virtualaddress)變換成CPU快取的位址,從而存取其中的資料。

快取置換策略[編輯] 主條目:CPU快取§ 置換策略、分頁和快取檔案置換機制 主記憶體容量遠大於CPU快取,磁碟容量遠大於主記憶體,因此無論是哪一層次的快取都面臨一個同樣的問題:當容量有限的快取的空閒空間全部用完後,又有新的內容需要添加進快取時,如何挑選並捨棄原有的部分內容,從而騰出空間放入這些新的內容。

解決這個問題的演算法有幾種,如最久未使用演算法(LFU)、先進先出演算法(FIFO)、最近最少使用演算法(LRU)、非最近使用演算法(NMRU)等,這些演算法在不同層次的快取上執行時擁有不同的效率和代價,需根據具體場合選擇最合適的一種。

參見[編輯] CPU快取 分頁 磁碟快取 快取置換 參考文獻[編輯] ^陳禹.信息系统管理工程师教程.清華大學出版社. :18.ISBN 7-302-12261-X(中文(簡體)).  ^cachenoun.OxfordLearner'sDictionaries.OxfordUniversityPress.  ^cachedefinition,meaning.CambridgeDictionariesOnline.CambridgeUniversityPress.  ^Cache.Merriam-WebsterOnlineDictionary.Merriam-Webster,Incorporated.  外部連結[編輯] 處理器的儲存子系統(一)--概述 處理器的儲存子系統(二)--Cache 閱論編處理器技術模型順序模型 圖靈機 通用 波斯特-圖靈機 量子 傳動帶機器(英語:Beltmachine) 堆疊結構機器 有限狀態機 具資料通路(英語:Finitestatemachinewithdatapath) 分層(英語:Hierarchicalstatemachine) 佇列(英語:Queueautomaton) 暫存器機 計數器 指標(英語:Pointermachine) 隨機存取機 隨機存取儲存程式機 函數式模型 遞迴函式 Λ演算 組合子邏輯 細胞自動機 架構 微架構 馮·紐曼結構 哈佛架構 修正哈佛架構(英語:ModifiedHarvardarchitecture) 資料流架構(英語:Dataflowarchitecture) 傳輸觸發(英語:Transporttriggeredarchitecture) 元胞(英語:Cellulararchitecture) 位元組序 異構(英語:HeterogeneousSystemArchitecture) Fabric(英語:Fabriccomputing) 多元處理 認知計算(英語:Cognitivecomputing) 神經形態(英語:Neuromorphicengineering) 記憶體存取 非均勻訪存模型(NUMA) 均勻訪存模型(UMA) 載入/儲存(英語:Load/storearchitecture) 暫存器/記憶體(英語:Registermemoryarchitecture) 快取層級(英語:Cachehierarchy) 快取層級(英語:Cachehierarchy) 記憶體階層 虛擬記憶體 第二級記憶體 指令集架構類型 複雜指令集(CISC) 精簡指令集(RISC) 專用指令集處理器 顯式資料圖像並列(英語:Explicit_data_graph_execution)(EDGE) TRIPS(英語:TRIPSarchitecture) 超長指令集(VLIW) 顯式並行指令運算(EPIC) 最小指令集(英語:Minimal_instruction_set_computer)(MISC) 單一指令集(OISC) 無指令集(英語:Noinstructionsetcomputing)(NISC) 零指令集(ZISC) 比較(英語:ComparisonofCPUarchitectures) 指令集 x86 ARM MIPS LoongArch PowerPC SPARC IA-64 Unicore(英語:Unicore) MicroBlaze(英語:MicroBlaze) RISC-V LMC(英語:Littlemancomputer) 其他(英語:Listofinstructionsets) 執行指令管線化 管線停頓 運算元轉發(英語:Operandforwarding) 經典RISC管線(英語:ClassicRISCpipeline) 冒險 資料依賴 結構冒險 控制冒險 偽共享(英語:Falsesharing) 亂序執行 Tomasulo演算法 保留站 重排序緩衝區 暫存器重新命名 推測執行 分支預測 儲存相關性預測(英語:Memorydependenceprediction) 平行計算並列層次 位級並列 位序列(英語:Bit-serialarchitecture) 字 指令級並列 管線化 純量 純量 超純量 任務並列 執行緒 行程 資料並列 向量 記憶體 分散式 執行緒 多執行緒 同時多執行緒 超執行緒 超執行緒 超級執行緒(英語:Super-threading) 預測多執行緒(英語:Speculativemultithreading) 搶占式 協同運作式 費林分類法 單指令流單數據流(SISD) 單指令流多數據流(SIMD) 暫存器內(英語:SIMDwithinaregister) 單指令多執行緒(英語:Singleinstruction,multiplethreads)(SIMT) 多指令流單數據流(MISD) 多指令流多數據流(MIMD) 單程式多資料(英語:SPMD) 電腦效能 電晶體數量 每周期指令(IPC) 每指令周期(CPI) 每秒指令(IPS) 每秒浮點運算次數(FLOPS) 每秒事務處理量(TPS) 效能功耗比(PPW) 類別 中央處理器(CPU) 圖形處理器(GPU) 圖形處理器通用計算(GPGPU) 向量處理器 桶狀(英語:Barrelprocessor) 串流處理 輔助處理器 特殊應用積體電路(ASIC) 現場可程式化邏輯閘陣列(FPGA) 複雜可程式化邏輯裝置(CPLD) 多晶片模組(MCM) 封裝體系(SiP) 按應用 微處理器 單片機(MCU) 移動處理器(英語:Mobileprocessor) 筆記型電腦處理器(英語:Notebookprocessor) 超低電壓(英語:Ultra-low-voltageprocessor) 專用指令集處理器(ASIP) 片上系統 片上系統(SoC) 多處理器片上系統(英語:Multi-processorsystem-on-chip)(MPSoC) 可程式化片上系統(PSoC) 片上網路(英語:Networkonachip)(NoC) 硬體加速 人工智慧加速器 視覺處理單元(英語:Visionprocessingunit)(VPU) 物理處理器(PPU) 數位訊號處理器(DSP) 張量處理器(TPU) 安全加密協處理器 網路處理器 基頻處理器 字長 1位元 4位元 8位元 12位元 15位元 16位元 24位元(英語:24-bitcomputing) 32位元 48位元(英語:48-bitcomputing) 64位元 128位元 256位元 位元分割(英語:bitslicing) 其他 256可变位元 核心數量 單核(英語:Single-core) 多核 眾核(英語:Manycoreprocessor) 異構 組件 核心 快取 CPU快取 置換機制 一致性 匯流排 时脉 定時器訊號 先進先出演算法(FIFO) 功能單元 算術邏輯單元(ALU) 位址生成單元(AGU) 浮點運算器(FPU) 記憶體管理單元(MMU) 載入-儲存單元(英語:Load–storeunit) 轉譯後備緩衝區(TLB) 記憶體控制器(IMC) 邏輯閘 組合邏輯電路 序向邏輯電路 Glue(英語:Gluelogic) 邏輯閘 量子閘 邏輯閘陣列(英語:Gatearray) 暫存器 暫存器 狀態暫存器(英語:Statusregister) 棧暫存器(英語:Stackregister) 暫存器堆 記憶體緩衝區 程式計數器 匯流排 位址匯流排 控制匯流排 後端匯流排 控制單元 指令單元(英語:Instructionunit) 緩衝器 寫入緩衝區(英語:Writebuffer) 微程式ROM 計數器 資料通路 數據多工器 資料分配器 加法器 乘法器 CPU倍頻器 解碼器 位址解碼器(英語:Addressdecoder) 加和定址解碼器(英語:Sumaddresseddecoder) 桶式移位器 電路 積體電路 3D 混合訊號 電源管理 布林(英語:Booleancircuit) 數位 類比 量子 開關 電源管理 電源管理單元(英語:PowerManagementUnit)(PMU) 進階電源管理 進階組態與電源介面(ACPI) 動態時脈調整 動態電壓調節 時脈閘控 效能功耗比(PPW) 空閒競爭(英語:Racetosleep) 相關內容 通用CPU歷史(英語:Historyofgeneral-purposeCPUs) 微處理器年代表(英語:Microprocessorchronology) 處理器設計 數位電路 硬體安全模組 半導體製造 Tick-Tock 規範控制 GND:4362843-6 LCCN:sh88007957 取自「https://zh.wikipedia.org/w/index.php?title=缓存&oldid=62496475」 分類:電腦記憶體微處理器電腦數據快取緩存隱藏分類:有非常模稜兩可或者十分空泛語句的條目拒絕當選首頁新條目推薦欄目的條目自2020年7月需要從英語維基百科翻譯的條目模板中使用無效日期參數的條目需要從英語維基百科翻譯的條目含有多個問題的條目含有英語的條目包含GND標識符的維基百科條目包含LCCN標識符的維基百科條目 導覽選單 個人工具 沒有登入討論貢獻建立帳號登入 命名空間 條目討論 臺灣正體 已展開 已摺疊 不转换简体繁體大陆简体香港繁體澳門繁體大马简体新加坡简体臺灣正體 查看 閱讀編輯檢視歷史 更多 已展開 已摺疊 搜尋 導航 首頁分類索引特色內容新聞動態近期變更隨機條目資助維基百科 說明 說明維基社群方針與指引互助客棧知識問答字詞轉換IRC即時聊天聯絡我們關於維基百科 工具 連結至此的頁面相關變更上傳檔案特殊頁面靜態連結頁面資訊引用此頁面維基數據項目 列印/匯出 下載為PDF可列印版 其他專案 維基共享資源 其他語言 AfrikaansAlemannischالعربيةAzərbaycancaБългарскиभोजपुरीবাংলাBosanskiCatalàČeštinaDanskDeutschΕλληνικάEnglishEsperantoEspañolEestiEuskaraفارسیSuomiFrançaisGalegoעבריתHrvatskiMagyarInterlinguaBahasaIndonesiaÍslenskaItaliano日本語Қазақша한국어LietuviųLatviešuОлыкмарийमराठीBahasaMelayuNederlandsPapiamentuPolskiPortuguêsRomânăРусскийSimpleEnglishSlovenčinaShqipСрпски/srpskiSundaSvenskaKiswahiliไทยTürkçeУкраїнськаاردوTiếngViệt吴语粵語 編輯連結



請為這篇文章評分?