快取(一) 從計算機角度理解快取

2021-09-01 01:53:22 字數 1269 閱讀 4806

粗略講一下,計算機是由多個元件構成,最重要的3點,cpu,記憶體,外存,本文重點講記憶體和外存

記憶體是計算機中重要的部件之一,它是與cpu進行溝通的橋梁。計算機中所有程式的執行都是在記憶體中進行的,因此記憶體的效能對計算機的影響非常大。記憶體(memory)也被稱為記憶體儲器,其作用是用於暫時存放cpu中的運算資料,以及與硬碟等外部儲存器交換的資料。只要計算機在執行中,cpu就會把需要運算的資料調到記憶體中進行運算,當運算完成後cpu再將結果傳送出來,記憶體的執行也決定了計算機的穩定執行。 記憶體是由記憶體晶元、電路板、金手指等部分組成的。

簡單看一下,市面上的記憶體讀寫效率

理論極限值是可以計算的:1333mhz * 64bit(單通道,雙通道則128bit) / 8(位到位元組單位轉換) = 10.664gb/s。這只是理論,實際發揮還要看記憶體控制器,實際上1333單條跑出來的資料在7~9gb/s差不多了。

外儲存器是指除計算機記憶體及cpu快取以外的儲存器,此類儲存器一般斷電後仍然能儲存資料。常見的外儲存器有硬碟、軟盤、光碟、u盤等。儲存器的種類很多,按其用途可分為主儲存器和輔助儲存器,主儲存器又稱記憶體儲器(簡稱記憶體),輔助儲存器又稱外儲存器(簡稱外存)。記憶體儲器最突出的特點是訪問速度快,但是容量小、**貴;外儲存器的特點是容量大、**低,但是訪問速度慢。記憶體儲器用於存放那些立即要用的程式和資料;外儲存器用於存放暫時不用的程式和資料。記憶體儲器和外儲存器之間常常頻繁地交換資訊。[1] 外存通常是磁性介質或光碟,像硬碟,軟盤,磁帶,cd等,能長期儲存資訊,並且不依賴於電來儲存資訊,但是由機械部件帶動,速度與cpu相比就顯得慢的多。

來看一下,市面的外存讀寫效率

u盤● 理論資料讀取速度:18mb/s

● 理論資料寫入速度: 17mb/s

硬碟● 理論資料讀取速度:300mb/s

● 理論資料寫入速度: 150mb/s

由此,不能看出,記憶體的讀寫速度遠大於外存,合理的利用記憶體可以極大的提高讀寫速度,

i : input – 輸入----讀

o:output—輸出—寫

io 是讀取檔案

引用linux 經典的一句話,在linux中,一切皆檔案,在我們實際編碼環境中,也是這樣,我們寫的**,都是檔案形式儲存在電腦中,資料庫也不例外,那麼有檔案就會有io。從外存讀寫,和從記憶體讀寫效率差百倍不止,所以,為什麼我們要用記憶體,以及哪些可以記憶體,我們大概有了思路。

從計算機角度理解C語言指標(二)

這一篇博文我們給記憶體分一下區。有同學會說,聽說過給硬碟分割槽的沒聽過給記憶體分割槽的。其實,學習過linux核心的同學肯定看到過有關頁表的內容。這些講起來太複雜還有什麼虛擬記憶體等等內容更是無法理解,但是這些都不影響我們給記憶體分割槽。話說記憶體也不是什麼神秘的東西,我感覺它就跟我們小學用的方格本...

計算機快取機制cache

什麼是ram?隨機讀寫儲存器 ram sram dram 當cpu讀取主存時,將位址訊號放到位址匯流排上傳給主存,主存讀到位址訊號後,解析訊號並定位到指定儲存單元,然後將此儲存單元資料放到資料匯流排上返回給cpu。什麼是mesi?mesi 為了保證多個快取中共享資料的一致性,定義了 cache li...

HNU計算機系統實驗快取7 快取8

一 test trans 64x64矩陣轉置實驗 1 64 64矩陣,每行64元素,每8一組32位分8個組,故cache每4行填滿整個cache。2 測試傳統8分塊,結果如圖,發塊與不分快結果一樣,沒有優化。這是因為a陣列8x8讀取資料的時候與之前一樣,都是每組第乙個miss以後hit,但是b陣列按...