計算機組成 高速緩衝儲存器Cache

2021-08-26 04:54:27 字數 1430 閱讀 4813

以前計算機是兩層儲存結構:主存和輔存。

現在大多出計算機中的三層儲存結構是:快取記憶體cache、主 儲存器和輔助儲存器。

那為什麼要提出快取記憶體呢?

主要的原因是為了提高儲存器的平均訪問速度。使儲存器的速度與cpu的速度想匹配。

那快取記憶體是如何提高儲存器的速度?

首先介紹一下快取記憶體,名叫cache,cache有兩部分組成:控制部分和cache部分。cache部分用來存放主存的部分複製資訊。(後面會介紹)控制部分的功能是:判斷cpu要訪問的資訊是否在cache中。

cpu與cache之間的資料交換是以字交換的,而cache與主儲存器之間的資料交換是以塊交換的。乙個資料塊是由若干個字組成的。

所以當cpu訪問主存的乙個資訊時,於是把資訊的記憶體位址通知給cache和主存。此時cache中的cache部分(上面提到的)會根據記憶體位址判斷此資訊是否在cache中,若在,則命中,即直接把資訊從cache傳給cpu,若不在,則未命中。那如何辦呢?首先主存會把此資訊的傳遞給cpu,然後再把此資訊的資料塊存放到cache,防止cpu下次讀取。

其實cpu訪問的過程中,若是cache未命中,主存把資訊資料塊存放到cache中,涉及到區域性性原理。

那既然提到了區域性性,那麼我們介紹一下區域性性原理,記得這在作業系統中虛擬儲存器頁面置換中提到過。

區域性性可以分為時間區域性性和空間區域性性。

時間區域性性是指:當乙個資料訪問完之後,在最近一段時間內再次訪問。

這種情況我們可以想想迴圈,迴圈就是此種情況。

空間區域性性是指:當乙個資料訪問完之後,在最近一段時間內會訪問它周圍的資料。

這種情況我們可以想想陣列,是不是這種情況哈。

剛才提到命中,理論是有了,那如何計算命中率呢?

命中率=cache完成訪問的次數/cache完成訪問的次數+主存完成的次數

h=n/n+m

= 命中率*cache的週期+(1-命中率)*主存的週期

主存與cache的位址對映:若是cache中未命中,為了防止下次訪問,則需要把主存中的字存放到cache中,那如何定位主存的位址呢?

介紹一下這三種的原理。

首先cache中的資料塊稱為行,而主存中的資料塊稱為塊。

在直接對映中,cache把主存塊位址s分為兩部分:r和s-r,其中r位作為cache的行位址, s-r位作為標記(tag)與塊資料(字)儲存在此行。若cpu訪問主存中的資料,則cache用r位找到此行,然後用位址中的s-r 的標記部分與cache中r行的標記部分做對比,若相等則命中,否則失中。

在全相聯對映中,cache把主存位址s直接作為標記部分。若訪問,直接把位址中的標記部分和cache中的標記部分進行比較。

在組相聯對映中,主存位址首先確定分到cache的那個組(採用直接對映),然後分到確定組的任意行(採用全相聯對映)。

直接相聯優點:位址變換簡單。

缺點:位址變換複雜。

組相聯:集上述兩種優點一身。

漫談計算機組成原理(五)高速緩衝儲存器

老樣子,在正式開始介紹 高速緩衝儲存器 之前,我們先來了解一下其相關的資訊。這種結構進一步的驗證了儲存器的層次結構 高速緩衝儲存器位於暫存器之下的特點。好了,說了這麼多,那讓我們來看看高速緩衝儲存器的工作原理吧!實際上,cache的工作原理非常簡單,就是利用了對映的方式來獲取主存資訊。我們知道,主存...

計算機組成原理 高速緩衝儲存器與輔助儲存器

cache的標記部分實際上標記了主存塊和cache塊之間的對應關係,如果乙個主存塊調入到cache當中,可講主存塊號寫到標記當中。cpu要從cache中訪問這個資料,要先確定要訪問的塊號是不是已經被送到cache當中,拿給出位址的主存塊號與標記進行比較,若正好相等,並且cache是有效的,則這個塊裡...

計算機組成 儲存器

儲存器的分類 按儲存介質分 分為半導體儲存器 sram,dram,rom 和磁表面儲存器 磁碟,磁帶 按訪問方式分 隨機儲存器 訪問時間與儲存單元的物理位置無關 和順序儲存器 磁帶,磁碟是半順序儲存器 按儲存內容可變性分 唯讀儲存器 rom 和隨機讀寫儲存器 ram 按資訊易失性 磁性材料做成的儲存...