㈠ 什麼是Cache解釋他的命中率.
「Cache」是什麼
Cache(即高速緩沖存儲器(Cache Memory),是我姿衡們最常聽到的一個詞了。在老鳥們眼中,這個詞或許已沒有再談的必要,因為他們對Cache從設計的必要性猜慶到工作原理、工作過程等等都已了如指掌了;而對菜鳥朋友們而言,這些未必就很清楚。那麼,它們到底是指的什麼呢?不用急,下面就請隨筆者一起來全面認識Cache。
為什麼要設計Cache
我們知道,電腦的內存是以系統匯流排的時鍾頻率工作的,這個頻率通常也就是CPU的外頻(對於雷鳥、毒龍系列的處理器,由於在設計採用了DDR技術,CPU工作的外頻為系統匯流排頻率的兩倍)。但是,CPU的工作頻率(主頻)是外頻與倍頻因子的乘積。這樣一來,內存的工作頻率就遠低於CPU的工作頻率了。這樣造成的直接結果是:CPU在執行完一條指令後,常常需要「等待」一些時間才能再次訪問內存,極大降了CPU工作效率。在這樣一種情況下,Cache就應運而生了!
Cache是什麼
Cache是一種特殊的存儲器,它由Cache 存儲部件和Cache控制部件組成。Cache 存儲部件一般採用與CPU同類型的半導體存儲器件,存取速度比內存快幾倍甚至十幾倍。而Cache 控制器部件包括主存地址寄存器、Cache 地址寄存器,主存—Cache地址變換部件及替換控制部件等。至於它們各自又是怎樣工作的、有何作用等等,我想我們就沒有必要做進一步的研究,知道一般Cache分為L1 Cache(其中又分為數據Cache、代碼Cache)、L2 Cache就行了。
Cache是怎樣工作的
我們知道,CPU運行程序是一條指令一條指令地執行的,而且指令地址往往是連續的,意思就是說CPU在訪問內存時,在較短的一段時間內往往集中於某個局部,這時候可能會碰到一些需要反復調用的子程序。電腦在工作時,把這些活躍的子程序存入比內存快得多的Cache 中。CPU在訪問內存時,首先判斷所要訪問的內容是否在Cache中,如果在,就稱為「命中」,此時CPU直接從Cache中調用該內容;否則,就稱為「不命中」,CPU只好去內存中調用所需的子程序或指令了。CPU不但可以直接從Cache中讀出內容,也可以直接往其中寫入內容。由於Cache的存取速率相當快,使得CPU的利用率大大提高,進而使整個系統的性能得以提升。
Cache的應用
早在486時代,主板上就設計了Cache插槽,用戶可以根據需要自己配置Cache;586級的CPU晶元中已集成了部分Cache,同時還保留了Cache插槽供用戶擴充,而到了Pentium Ⅱ時代後,Cache已全部集成到了CPU晶元中,主板上再也沒有Cache插槽。現在比較流行的CPU晶元中一般集成了至少16KB的代碼Cache 和16KB的數據Cache(作為L1 Cache),以及至少64KB的L2 Cache。
有的朋友可能會問,既然Cache的作用如此重要,那為么不把電腦的全部內存都變為Cache,那樣不是更好嗎?其實對於這個問題,撇開價格因素,單就其實用性而言也是沒有必要的,畢竟,電腦在執任務時,那種使用頻率非常高的子程序或指令不是很多的,因此那些使用頻率不太高的內容只須保存在速度相對較低的內存中就可以了!
在實際應用中,Cache,尤其是L2Cache對系統的性能,特別是對浮點運算能力有較大的影響。而我們知道,大部分游戲的流暢運行需要頻繁的浮點運算。因此,CPU運行游戲的性能的好壞與L2Cache的容量與速度有很大關系。
網上找的資料,比較全面,也比我自己的理解容易懂。
小鼠仔
2005-08-25, 11:07
硬碟的物理緩存是不可以改的,現在跡兆做買硬碟的話最好買8M緩存的,貴不了多少.性價比高..
但是可以通過修改虛擬磁碟緩存來修改..原理就是佔用內存空間來實現磁碟緩存功能.如果裝的xp的話
Quote:
1.運行 "regedit";
2.去[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\IoPageLockLimit];
3.根據你的內存修改其十六進制值:
64M: 1000;
128M: 4000;
256M: 10000;
512M或更大: 40000.
4.重啟
磁碟緩存空間 可以有效的保護和延長你硬碟的壽命 它可以減少硬碟的反復擦寫。如果你經常用BT之類的下載軟體就非常有用。
㈡ 什麼是高速緩存
1,高速緩存(Cache),全稱「高速緩沖存儲器」。
2,例如:當CPU處理數據時,它會先到高速緩存中去尋找,如果數據因之前的操作已經讀取而被暫存其中,就不需要再從主內存中讀取數據——由廳野亂於CPU的運行速度一般比主內存快,因此若要經常存取主內存的話,就必須等待數個CPU周期從而造成浪費。
3,提供「高速緩存」的目的是為了讓數據存取的速度適應CPU的處理速度,其基於的原理是內存中「程序執行與數據訪問的局域性行為」。
4,現在Cache的概念已經被擴充了:不僅在CPU和主內存之間有Cache,而且在內存和硬碟之間也有Cache(磁碟高速緩存),乃至在硬碟與網路之間也有某種意義上的「Cache」(Internet臨時文件夾)。
5,凡是位於速度相差較大的兩種硬體之間的,用於協調兩者數據傳輸速度差異的結構,均可稱之為Cache。
6,所以脊森硬碟和內存之間的Cache就叫做磁碟高速緩存。它是在內存中開辟一塊位置,來臨時存取硬碟中的數據。這項技術可使計算機讀寫時的存儲系統平均數據傳輸率提高5-10倍,適應了當前激增的海量數據存儲需求。
7,在DOS時代,我們用:
smartdrv 內存容量
命令來載入硬碟高速緩存。自從有了Windows後,我們就不需要載入硬碟高速緩存了,因為Windows本身有自己的高速緩存管理單元,如果強行使用smartdrv命令載入,反而會影響Windows的性能。
8,我們在用硬碟安裝扮檔Win2000/XP時候,系統會提示載入高速緩存,這是因為在安裝的初期還是DOS操作,所以為了達到讀存的速度,安裝程序要求載入高速緩存。
希望能幫到你!
㈢ CPU cache知識 —— ARM架構cache結構和細節
cache如何定址
處理器謹乎訪問cache時,歲螞cache電路會將CPU地址進行解碼,分成3個部分,分別是:
Data cache的組織方式以及各種的優缺點
處理器在進行存儲器訪問時,處理器訪問的地址是虛擬地址,經過MMU的轉換,得到物祥雀悉理地址。那麼查詢cache組是用虛擬地址還是物理地址的Index域呢?當找到cache組時,使用虛擬地址,還是物理地址的Tag域來匹配cache line呢?
說明:這里的V/P其實就是指上圖中address中的Tag/Index/Line來自V(虛擬地址)還是P(物理地址)。
以VIPT方式cache工作流程舉例說明
情形一:TLB hit並且cache hit
情形二:TLB hit並且cache miss
情形三:TLB miss並且cache hit
情形四:TLB miss並且cache miss
VIVT/VIPT/PIPT的優缺點分析
詳細了解cache定址: 虛擬索引物理標記(VIPT)緩存 - 芒果文檔 (imangodoc.com)
㈣ 關於高速緩存cache
你想問的那句和你想散岩嘩理解的過程不是同一個行為呀?
CPU想從Cache存儲器中讀寫信息時就會去Cache裡面找,如果塊號知道了就只要主存地址中的主存區號與cache的主存區號相同沖行那地址就獲取完整了--cache命棗殲中。
你想理解的是之前的那個過程:未命中時,主存會安排塊替換到Cache的動作嗎?那就看看替換演算法一起理解好了,你想的過程應該沒錯。
㈤ 高速緩存Cache問題
本題高速緩沖存儲器地址映像與變換的內容
高速緩沖存儲器(Cache)簡稱高速緩存,它的功能是提高CPU數據輸入輸出的速率,突破所謂的「馮·諾依曼瓶頸」。使用高速緩存改善系統性能的依據是程序的局部性原理。如果CPU需要訪問的內容大多能在高速緩存中找到(稱為訪問命中,hit)則可大大提高系統的性能
1、高速緩存Cache的存儲系統的平均存儲時間可以表示為:t3=h*t1+(1-h)*t2.其中,Cachce的存取時間t1、主存的存取時間t2及平均存取時間為t3已知後,可以求出Cache的命中率h為99%
2、高速緩存與主存之間有多種地址映射方式。常見的有直接映射方式、全相聯映射方式和組相聯映射方式。
全相聯映射方式的基本單元分為兩部分:地址部分和數據部分、數據部分用於存放數據,而地址部分用於存放該數據的存儲器地址。
當進行映射時,相聯存儲器把CPU發出的存儲器地址與高速緩存內所有的地址信息同時進行比較,已確定是否命中。
全相聯映射方式的主存地址構成為:塊內地址+區號+塊號。高速緩存Cache的地址構成為:塊號+塊內地址。
將主存地址8888888H從十六進制轉換為二進制為:1000100010001000100010001000B
即塊內地址為10001000100010001000B,相聯存儲器中區號為100010B,區塊號為00B,所以相聯存儲器中存儲的是10001000B=88H。由相聯存儲器的地址變換表查出88H塊號為01B。最後根據Cache的地址構成,把Cache塊號與塊內地址連接起來後得到高速緩存Cache的地址為0110001000100010001000B,轉換為十六進制後即188888H
㈥ 高速緩沖存儲器cache一般採用的什麼存取方式
高速緩沖存儲器cache一般採用隨機存取方式。x0dx0a高速緩沖存儲器cache工作時,cache能夠根據指令地址得到cache中對應地址,按地址存取,因此它是隨機存取。x0dx0ax0dx0a高速緩沖存儲器(Cache)其原始意義是指存取速度比一般隨機存取記憶體(RAM)來得快的一種RAM,一般而言它不像系統主記憶體那樣使用DRAM技術,而使用昂貴但較快速的SRAM技術,也有快取記憶體的名稱。x0dx0a高速緩沖存儲器是存在於主存與CPU之間的一級存儲器, 由靜態存儲晶元(SRAM)組成,容量比較小但速度比主存高得多, 接近於CPU的速度。在計算機存儲系統的層次結構中,是介於中央處理器和主存儲器之間的高速小容量存儲器。它和主存儲器一起構成一級的存儲器。高速緩沖存儲器和主存儲器之間信息的調度和傳送是由硬體自動進行的。x0dx0a高速緩沖存儲器最重要的技術指標是它的命中率。
㈦ 計算機中為什麼要採用高速緩存器(CACHE)
是為了解決低速的外設和高速的CPU之間速度不匹配的問題。
主要由三大部分組成:
1、Cache存儲體:存放由主存調入的指令與數據塊。
2、地址轉換部件:建立目錄表以實現主存地址到緩存地址的轉換。
3、替換部件:在緩存已滿時按一定策略進行數據塊替換,並修改地址轉換部件。
在有高速緩沖存儲器的計算機系統中,中央處理器存取主存儲器的地址劃分為行號、列號和組內地址三個欄位。
於是,主存儲器就在邏輯上劃分為若干行;每行劃分為若乾的存儲單元組;每組包含幾個或幾十個字。高速存儲器也相應地劃分為行和列的存儲單元組。二者的列數相同,組的大小也相同,但高速存儲器的行數卻比主存儲器的行數少得多。
(7)高速緩存cache組織方式擴展閱讀
當中央處理器存取主存儲器時,高速緩存器首先自動對存取地址的列號欄位進行解碼,以便將聯想存儲器該列的全部行號與存取主存儲器地址的行號欄位進行比較:若有相同的,表明要存取的主存儲器單元已在高速存儲器中,稱為命中,硬體就將存取主存儲器的地址映射為高速存儲器的地址並執行存取操作。
若都不相同,表明該單元不在高速存儲器中,稱為脫靶,硬體將執行存取主存儲器操作並自動將該單元所在的那一主存儲器單元組調入高速存儲器相同列中空著的存儲單元組中,同時將該組在主存儲器中的行號存入聯想存儲器對應位置的單元內。
當出現脫靶而高速存儲器對應列中沒有空的位置時,便淘汰該列中的某一組以騰出位置存放新調入的組,這稱為替換。確定替換的規則叫替換演算法,常用的替換演算法有:最近最少使用演算法(LRU)、先進先出法(FIFO)和隨機法(RAND)等。
替換邏輯電路就是執行這個功能的。另外,當執行寫主存儲器操作時,為保持主存儲器和高速存儲器內容的一致性,對命中和脫靶須分別處理。
㈧ 高速緩存cache的主要作用
高速緩存cache的主要作用是為了解決CPU運算速度與內存讀顫羨睜寫速度不匹配的矛盾。派返
Cache工作的基本原理是利用程序訪問的局部性原理,包括空間局部性和時間局部性。
計算機在運行程序時首先將程序從磁碟讀取到主存,然後CPU按規則從主存中取出指令、數據並執行指令,但是直接從主存(一般用DRAM製成)中讀寫是很慢的,所以我們引入了cache。
在執行程序前,首先會試圖把要用到的指令、數據從主存移到cache中,然後在執行程序時直接訪問cache。如果指令、數據在cache中,那麼我們能很快地讀取出來,這稱為「命中(hit)」。
如果指令、數據不在cache中,我們仍舊要從主存中拿指令、數據,這稱為「不命中(miss)」。命中率對於cache而言是很重要的。
實際上cache是一個廣義的概念,可以認為主存是磁碟的cache,而CPU內cache又是主存的cache,使用cache的目的就是偽造出一個容量有低層次存儲器(如磁碟)那麼大,而速度又有寄存器(如通用寄存器)那麼快的存儲器,簡單來說茄歲就要讓存儲單元看起來又大又快。
㈨ cache和cache的工作方式是什麼
為了提高CPU讀寫程序和數據的速度,在RAM和CPU之間增加了高速緩存部件cache。
寄存器是CPU內部的元件,擁有非常高的讀寫速度,由於CPU的速度遠高於主內存,CPU直接從內存中存取數據要等待一定時間周期,游鎮洞Cache中保存著CPU剛用過或循環使用的一部分數據。
當CPU再次旅御使用該部分數據時可從Cache中直接調用,這樣就減少了CPU的等待時間,提高了系統的效率。
Cache的特點是讀寫速度快、存儲容量小、價格高、斷電後內容丟失。
寄存器的存取方式
寄存器有串列和並行兩種數碼存取方式。
將n位二進制數一次存入寄存器或從寄存器中讀出的方式稱為並行方式。將神枯n位二進制數以每次1位,分成n次存入寄存器並從寄存器讀出,這種方式稱為串列方式。
並行方式只需一個時鍾脈沖就可以完成數據操作,工作速度快,但需要n根輸入和輸出數據線。
串列方式要使用幾個時鍾脈沖完成輸入或輸出操作,工作速度慢,但只需要一根輸入或輸出數據線,傳輸線少,適用於遠距離傳輸。
㈩ 多級存儲體系中,cache主存結構的作用
輔存與CPU速度橋旦不匹配。cache即高速緩存,由於CPU運行速度比硬碟和內存快得多,所以CPU在存儲數據時會等待,cache位於主存和CPU之間,作用是解決主存和CPU速率匹配問題,主板上的控制系統統計主存中山旅哪些數據被CPU頻繁訪問,然後將這些數據放入cache中,CPU讀取時優先在cache中查找,提高了整體速率。Cache通常由相聯存敏唯擾儲器實現。