Ⅰ cpu,cache與主存數據交換原理
cpu緩存(cache
memoney)位於cpu與內存之間的臨時存儲器,它的容量比內存小但交換速度快。
設置它主要是為了提高速度的。
我們可以想像一下,主存裡面有大量的數據等cpu來處理,cpu處理速度趕不上的時候,就會停止對主存的數據檢索,當cpu有空餘的處理體的時候,會再次檢索主存,但是這樣的話,由於主存的速度不夠高,造成了cpu的延時,影響了速度。所以就會設立一個cpu緩存,用來存放cpu代處理的數據,這樣可以提高處理的速度。
如果cpu有空餘的處理單元是主存數據直接進入cpu,如果cpu沒有空餘的處理單元是主存數據進入cpu緩存中,然後等cpu有空餘資源的時候,再從cache中提取出來。
Ⅱ cache 可以是看作是主存的延伸,與主存統一編址,接受cpu的訪問,但其速度要比主存高得多,這對
cache是高速緩沖存儲器存儲了頻繁訪問的主存,直接接受CPU的訪問,速度也比主存快?錯,錯在 並不是所有的數據cache 都比主存快,例如處理器引用某些地址時,先看cache里有沒有,他有的化,就直接復制到哪裡,速度就提高了,要是沒有,一樣跟主存一樣速度
應該是「接受CPU訪問」之前的錯了 高速緩存分為多級,有一級緩存,主要用來緩存CPU指令,二級緩存,才是CPU於物理內存之間的緩存,至於三級緩存應該就是二級緩存於內存間的另一個緩存,所以不是統一編址的
傳統意義上,我們把memory翻譯成內存,這個詞在台灣似乎是翻譯為記憶體。在pc上一般指的ram。但是在移動設備中還有一個詞叫做internal storage,這個詞直譯就是內存,但跟我們pc時代所說的內存具有完全不同的含義。所以,現在內存確實可以是ram,是內存條,也可能是手機上的flash。在說內存的時候現在傾向於直接使用ram來指代,避免歧義。
概述
存儲器分類
存儲器的層次結構
主存儲器
概述:
半導體晶元簡介
隨機存取存儲器(RAM)
只讀存儲器(ROM)
存儲器與CPU的連接
存儲器的校驗
漢明碼簡介:
提高訪問速度的措施
高速緩沖存儲器
Cache的工作原理:
主存—Cache的地址映射
寫操作
Pentium的Cache
輔助存儲器
概述
存儲器分類
按存儲介質分類:
半導體存儲器 TTL,MOS
磁表面存儲器 磁頭,載磁體
磁芯存儲器 硬磁材料,環狀元件
光碟存儲器 激光,磁光材料
按存取方式分類:
1.存取時間與物理地址無關(隨機訪問)
隨機存儲器 在程序的執行過程中 讀 寫
只讀存儲器 在程序的執行過程中 讀
2.存取時間與物理地址有關(串列訪問)
順序存取存儲器 磁帶
直接存取存儲器 磁碟
3.按在計算機中的作用分類
存儲器:主存儲器,Flash Memory,高速緩沖存儲器(Cache),輔助存儲器
主存儲器:RAM,ROM,
RAM:靜態RAM,動態RAM
ROM:MROM,PROM,EPROM,EEPROM
輔助存儲器:磁碟,磁帶,光碟
存儲器的層次結構
存儲器三個主要特性的關系:
速度:快--慢
容量:小--大
價格:高--低
緩存—主存層次和主存—輔助層次
緩存—主存:主存儲器地址 注重速度 由硬體來處理
主存—輔存:虛擬存儲器 注重容量 由軟硬體相結合
程序的局部性原理:程序在執行時呈現出局部規律,即在一段時間內,整個程序的執行僅限於程序中的某一部分。相應的,執行所訪問的存儲空間也局限於某個內存區域。
主存儲器
概述:
1.主存的基本組成
2.主存和CPU的聯系
3.主存中存儲單元地址的分配
高位位元組 地址為字地址
地址線24根,按位元組定址范圍為224224 =16M;
若字長32位,則一個字有4個位元組,所以要留2根地址線指出該字中的哪個位元組[00,01,10,11],即定址范圍為 224−2=4M224−2=4M;
若字長16位,則一個字有2個位元組,所以要留1根地址線指出該字中的哪個位元組[0,1],即定址范圍為 224−1=8M224−1=8M;
Ⅲ CPU寫 Cache時,會發生 Cache與主存的對應復本內容不一致的現象,解決這個問題有哪些方法各需要增加什麼
寫回法:CPU只寫入Cache,不寫入主存,僅當Cache塊替換時,才先寫回主存後
再替換。這種方法要求對每個Cache塊增加一個修改位的資源開銷。
寫直達法:CPU每次寫Cache的同時,也經寫直達通路寫入主存。這種方法要增加寫主存的時間開銷。
Ⅳ 簡述Cpu與cache.主存和外存的關系
計算機的讀取順序為外存→內存→Cache→cpu
CPU緩存可以大幅度提升CPU內部數據讀取效率,因此是衡量CPU性能的一個重要指標,包括L1 Cache(一級緩存)、L2Cache(二級緩存)和L3 Cache(三級緩存)三種,其中L1 Cache是CPU第一層..
什麼是cpu緩存
CPU緩存可以大幅度提升CPU內部數據讀取效率,因此是衡量CPU性能的一個重要指標,包括L1 Cache(一級緩存)、L2Cache(二級緩存)和L3 Cache(三級緩存)三種,其中L1 Cache是CPU第一層高速緩存,由於CPU製造工藝等方面的因素,L1緩存的容量一般都比較小。一般CPU的L1緩存容量通常在32KB~256KB左右。L2 Cache是CPU的第二層高速緩存,L2高速緩存容量對CPU的性能有很大的影響,一般來說是越大越好,現在使用的CPU的L2 Cache容量一般在256KB~2MB。L3 Cache(三級緩存)能進一步降低內存延遲,也能增強CPU處理大數據量的能力。隨著64位處理器的全面普及,出於進一步提升CPU性能的考慮,Intel已經把高速的L3 加入到Itanium 2和P4EE中。
CPU的英文全稱是:Central Processing Unit,也就是中央處理器。從雛形發展壯大到今天,CPUde 製造技術是越來越先進,其集成的電子元件也越來越精密,上萬個,甚至是上百萬個微型的晶體管構成了CPU的內部結構。那麼這上百萬個晶體管是如何工作的呢?看上去似乎很深奧,其實只要稍加分析就會一目瞭然的,CPU的內部結構可分為控制單元,邏輯單元和存儲單元三大部分。而CPU的工作原理就象一個工廠對產品的加工過程:進入工廠的原料(指令),經過物資分配部門(控制單元)的調度分配,被送往生產線(邏輯運算單元),生產出成品(處理後的數據)後,再存儲在倉庫(存儲器)中,最後等著拿到市場上去賣(被應用程序使用)。
存儲器按照用途可分為主存儲器和輔助存儲器,主存儲器又稱內存儲器(簡稱內存),輔助存儲器又稱外存儲器(簡稱外存)。外存通常是磁性介質或光碟,像硬碟,軟盤,磁帶,CD等,能長期保存信息,並且不依賴於電來保存信息,但是由機械部件帶動,速度與CPU相比就顯得慢的多。內存指的就是主板上的存儲部件,是CPU直接與之溝通,並用其存儲數據的部件,存放當前正在使用的(即執行中)的數據和程序,它的物理實質就是一組或多組具備數據輸入輸出和數據存儲功能的集成電路,內存只用於暫時存放程序和數據,一旦關閉電源或發生斷電,其中的程序和數據就會丟失。
Ⅳ 請問CPU, Cache和主存之間數據交換的基本流程
CPU接收到指令後,它會最先向CPU中的一級緩存(L1 Cache)去尋找相關的數據,然一級緩存是與CPU同頻運行的,但是由於容量較小,所以不可能每次都命中。這時CPU會繼續向下一級的二級緩存(L2 Cache)尋找,同樣的道理,當所需要的數據在二級緩存中也沒有的話,會繼續轉向L3 Cache(如果有三級緩存的話,如Xeon、Phenom等)、內存(主存)和硬碟。
Ⅵ CPU是具體是如何訪問Cache中
cpu與主存儲器之間速度不匹配的矛盾也就更加突出,比如說pentium處理器平均每10ns就執行一條指令,但dram的典型訪問速度是60-120ns,這相差了6-12倍,我想這樣的速度cpu是無法忍受的,也不能委屈cpu去將就dram,這樣cpu的發展就會受到阻礙。無法想像cpu必須和dram同步發展的景象。所以就在cpu與主存之間在增加一級或多級能與cpu速度相匹配的高速緩沖存儲器即所謂的cache.
cache的研製是基於局部性思想原理的,也就是用到了概率的原理,就是在一個較短的時間間隔內,由程序產生的地址往往是集中在主存儲器邏輯地址空間很小的范圍內,指令地址也是連續的,加上循環程序段和子程序段的重復執行,對這些地址的訪問,自然具有時間上集中的傾向了,數據分布的這種集中雖不如指令明顯,但對數組的存儲和訪問以及工作單元的選擇都可以使存儲地址相對集中。
由於以上所述的局部性原理,就導致了對局部范圍的存儲器地址的頻繁訪問,對此外地址訪問則很少的情形,為此就提出了這樣的設計思想,即使用高性能的sram晶元組成高速小容量的緩存器(cache),使用最低價格,最小體積能提供更大存儲空間的dram晶元組成主存儲器,而在緩存器(cache)里放著主存的一部分副本,當存儲器收到讀指令時,現在cache中查找此信息,若找到則執行,若沒有,則直接到主存中讀取,同時寫入cache,之後cpu查該信息時就可以知訪問cache而不必訪問低速的主存儲器,由於程序訪問的局限性,就可以保證cpu讀取cache中數據命中率比較高,縮短了相應的存取時間,從而可提高計算機整體的運行速度。
Ⅶ 在主存和CPU之間加cache有什麼用
這個就是計算機數據存儲的層次結構。
內存就好像是CPU存放數據的倉庫,而這個倉庫的吞吐速度,其實是遠遠趕不上CPU的處理速度的,所以,如果CPU直接從內存讀寫數據,CPU很多時候都要等待倉庫而怠工,CPU的處理效率大打折扣。
所以,我們設計了高速緩存Cache,將CPU經常調用的數據,從內存抓進Cache,而Cache的速度是高於內存的,和CPU的速度接近。這樣一來,CPU經常讀寫的數據因為放入Cache而被加速,CPU的處理效率也就被提升了。
Ⅷ CPU每次訪問主存都要先訪問Cache嗎
不太對吧。主存編址和緩存編址不完全相同,它們之間還有映射的問題。CACHE作為CPU和主存之間的部件,解決CPU與主存速度不匹配和CPU空等問題。
Ⅸ cpu與主存之間設置cache
在cpu與主存之間設置高速緩沖存儲器(cache)的目的是:
1、減少cpu的等待時間;
2、提高cpu對主存的訪問效率。
什麼是cache?
高速緩沖存儲器(Cache)是位於CPU與主存間的一種容量較小但速度很快的存儲器。
作用:
由於CPU的速度遠高於主存,CPU直接從主存中存取數據要等待一定的時間周期,Cache中保存著CPU剛用過或循環使用的一部分數據,當CPU再次使用該部分數據時可從Cache中直接調用,這樣就減少了CPU的等待時間,提高了CPU對主存的訪問效率
因為cpu的速度太快了。硬碟和內存的速度無法跟上。就必須弄出幾級cache來暫存數據。否則,cpu把數據處理完畢,但是硬碟上的數據和內存中的數據卻還沒有達到cpu,那樣cpu就會空轉,影響整個系統的效率
以上就是在cpu與主存之間設置cache的目的的詳細內容,