計算機問題 cache是基於什麼進行工作的

2021-09-22 04:18:35 字數 2029 閱讀 4932

1樓:r我們一起

cpu工作速度較高,但記憶體存取速度相對較低,則造成cpu等待,降低處理速度,浪費cpu的能力,cache用於做cpu和記憶體的快取。

cache的工作原理是基於程式訪問的區域性性(通俗說就是把經常用到的資料放在一個高速的cache裡面)。

對大量典型程式運**況的分析結果表明,在一個較短的時間間隔內,由程式產生的地址往往集中在儲存器邏輯地址空間的很小範圍內。指令地址的分佈本來就是連續的,再加上迴圈程式段和子程式段要重複執行多次。因此,對這些地址的訪問就自然地具有時間上集中分佈的傾向。

資料分佈的這種集中傾向不如指令明顯,但對陣列的儲存和訪問以及工作單元的選擇都可以使儲存器地址相對集中。這種對區域性範圍的儲存器地址頻繁訪問,而對此範圍以外的地址則訪問甚少的現象,就稱為程式訪問的區域性性。

根據程式的區域性性原理,可以在主存和cpu通用暫存器之間設定一個高速的容量相對較小的儲存器,把正在執行的指令地址附近的一部分指令或資料從主存調入這個儲存器,供cpu在一段時間內使用。這對提高程式的執行速度有很大的作用。這個介於主存和cpu之間的高速小容量儲存器稱作高速緩衝儲存器(cache)。

系統正是依據此原理,不斷地將與當前指令集相關聯的一個不太大的後繼指令集從記憶體讀到cache,然後再與cpu高速傳送,從而達到速度匹配。

cpu對儲存器進行資料請求時,通常先訪問cache。由於區域性性原理不能保證所請求的資料百分之百地在cache中,這裡便存在一個命中率。即cpu在任一時刻從cache中可靠獲取資料的機率。

命中率越高,正確獲取資料的可靠性就越大。一般來說,cache的儲存容量比主存的容量小得多,但不能太小,太小會使命中率太低;也沒有必要過大,過大不僅會增加成本,而且當容量超過一定值後,命中率隨容量的增加將不會有明顯地增長。

只要cache的空間與主存空間在一定範圍內保持適當比例的對映關係,cache的命中率還是相當高的。

一般規定cache與記憶體的空間比為4:1000,即128kb cache可對映32mb記憶體;256kb cache可對映64mb記憶體。在這種情況下,命中率都在90%以上。

至於沒有命中的資料,cpu只好直接從記憶體獲取。獲取的同時,也把它拷進cache,以備下次訪問。

2樓:匿名使用者

cache的出現是基於兩種因素。當cpu讀取主存中一個字時,目的在於儘可能發揮cpu的高速度。很顯然,要儘可能發揮cpu的高速度就必須用硬體實現其全部功能。

因為高速緩衝儲存器總是比主ram 儲存器速度快. 高速緩衝儲存器 一種特殊的儲存器子系統,其中複製了頻繁使用的資料以利於快速訪問。儲存器的高速緩衝儲存器儲存了頻繁訪問的 ram 位置的內容及這些資料項的儲存地址、網頁快取、硬碟快取,或者整合到cpu晶片內部,儲存cpu最經常訪問的指令或者運算元據。

計算機中cache是什麼意思?

3樓:奔三就是拽

在計算機儲存系統的層次結構中,介於**處理器和主儲存器之間的高速小容量儲存器。它和主儲存器一起構成一級的儲存器。高速緩衝儲存器和主儲存器之間資訊的排程和傳送是由硬體自動進行的。

某些機器甚至有二級**快取,每級快取比前一級快取速度慢且容量大。

組成結構:

高速緩衝儲存器是存在於主存與cpu之間的一級儲存器, 由靜態儲存晶片(sram)組成,容量比較小但速度比主存高得多, 接近於cpu的速度。

主要由三大部分組成:

cache儲存體:存放由主存調入的指令與資料塊。

地址轉換部件:建立目錄表以實現主存地址到快取地址的轉換。

替換部件:在快取已滿時按一定策略進行資料塊替換,並修改地址轉換部件。

4樓:匿名使用者

cache是一種特殊的儲存器,它由cache 儲存部件和cache控制部件組成。cache 儲存部件一般採用與cpu同型別的半導體儲存器件,存取速度比記憶體快幾倍甚至十幾倍。而cache 控制器部件包括主存地址暫存器、cache 地址暫存器,主存—cache地址變換部件及替換控制部件等。

至於它們各自又是怎樣工作的、有何作用等等,我想我們就沒有必要做進一步的研究,知道一般cache分為l1 cache(其中又分為資料cache、**cache)、l2 cache就行了

CACHE是什麼,計算機中cache是什麼意思

cache 原義是藏匿處,在計算機方面是快取記憶體的意思 計算機中cache是什麼意思?在計算機儲存系統的層次結構中,介於 處理器和主儲存器之間的高速小容量儲存器。它和主儲存器一起構成一級的儲存器。高速緩衝儲存器和主儲存器之間資訊的排程和傳送是由硬體自動進行的。某些機器甚至有二級 快取,每級快取比前...

計算機常識問題,關於計算機知識問題

你要死嗎?這麼多啊 給的積分又那麼少哦 嘿嘿 我覺得不能!樓主怎麼認為呢!計算機常識問題 這麼多 30分。不厚道 關於計算機知識問題 計算機方面的知識太多了,設計領域太廣了,你最好說明自己的用途,才能建議你學那些知識。找一些計算機常識題目 計算機問題 計算機基礎知識問題 10 人都怎麼了?是不是學生...

學習計算機問題?為什麼要學習計算機

你不要好高務遠,要知道你學計算機是用來幹什麼的!首先要windows xp熟練,知道怎麼從裸機開始裝系統,一直到怎麼連網線。基本上就是基礎。然後是internet怎麼上網,然後是word文字和excel 我個人覺得excel熟練是工作中很有用很有用的!不是老師的話,powerpoint可以不學,不做...