緩存(cache)的至關重要性

你有沒有思考過計算機中爲什麼要有緩存的概念?緩存解決了什麼樣的問題?

常識:根據機械原理,較大的儲存設備要比較小的儲存設備運行的慢(例如:磁盤的運行速度要比內存的運行速度慢),而快速設備的造價要高於同類的的低速設備。比如說:計算繫系統的磁盤可能比內存大1000倍,但是對於處理器(就是我們常說的CPU來說),從磁盤讀取一個字的開銷時間可能要比在內存的開銷時間高1000萬倍。類似一個典型的寄存器文件只儲存幾百字節的信息,而內存中可能儲存幾十億字節的信息,但是從寄存器中讀取數據要比在內存中讀取數據幾乎快100倍。隨着近些年來半導體技術日新月異的發展,這種讀取速度的的差距還在不斷地增大,但是加快處理器的運行速度要比加快內存的運行速度要容易並且花的代價小,價錢便宜。

爲了減小處理器與內存之間的差距:系統設計者採用了更快更小的儲存設備,稱爲高速緩存儲存器,簡稱緩存或者高速緩存,這也就是緩存出現的解決的問題。緩存作爲數據的暫時集結區,存儲近期可能需要的數據,俗稱的數據複用問題。

下圖展示了典型的高速緩存存儲器。位於芯片上的L1高速緩存的容量可以達到數萬字節,訪問的速度幾乎和寄存器的訪問速度一樣。一個容量可以達到數十萬甚至數百萬字節的L2高速緩存儲存器則通過一條特殊的總線連接到處理器上。進程雖然訪問L2的時間要比訪問L1的時間長5倍,但是任然比訪問內存要快5-10倍。L1和L2高速緩存是用一種靜態隨機訪問存儲器(SRAM)的硬件技術實現的。

在處理器和一個較大較慢的設備(如內存)之間插入一個更快更小的存儲設備(如緩存)的想法已經形成了一個普遍的觀念。實際上,每個計算機系統都被組織成一個存儲器層次結構,在層次結構中,從上到下,設備的訪問速度越來越慢,容量越來越大,並且每個字節的造價也越來越便宜。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章