A. 計算機內,配置高速緩沖存儲器(CACHE)是為了解決什麼
B,CPU與內存儲器之間速度不匹配問題。
高速緩沖存儲器(Cache)其原始意義是指存取速度比一般隨機存取記憶體(RAM)來得快的一種RAM,一般而言它不像系統主記憶體那樣使用DRAM技術,而使用昂貴但較快速的SRAM技術,也有快取記憶體的名稱。
高速緩沖存儲器是存在於主存與CPU之間的一級存儲器, 由靜態存儲晶元(SRAM)組成,容量比較小但速度比主存高得多, 接近於CPU的速度。在計算機存儲系統的層次結構中,是介於中央處理器和主存儲器之間的高速小容量存儲器。它和主存儲器一起構成一級的存儲器。高速緩沖存儲器和主存儲器之間信息的調度和傳送是由硬體自動進行的。
(1)計算機為什麼用高速緩存技術擴展閱讀:
高速緩沖存儲器組成結構
高速緩沖存儲器是存在於主存與CPU之間的一級存儲器, 由靜態存儲晶元(SRAM)組成,容量比較小但速度比主存高得多, 接近於CPU的速度。
主要由三大部分組成:
1、Cache存儲體:存放由主存調入的指令與數據塊。
2、地址轉換部件:建立目錄表以實現主存地址到緩存地址的轉換。
3、替換部件:在緩存已滿時按一定策略進行數據塊替換,並修改地址轉換部件。
B. 為何在計算機系統中採用高速緩沖存儲器
高速緩沖存儲器(Cache)實際上是為了把由DRAM組成的大容量內存儲器都看做是高速存儲器而設置的小容量局部存儲器,一般由高速SRAM構成。這種局部存儲器是面向CPU的,引入它是為減小或消除CPU與內存之間的速度差異對系統性能帶來的影響。Cache
通常保存著一份內存儲器中部分內容的副本(拷貝),該內容副本是最近曾被CPU使用過的數據和程序代碼。Cache的有效性是利用了程序對存儲器的訪問在時間上和空間上所具有的局部區域性,即對大多數程序來說,在某個時間片內會集中重復地訪問某一個特定的區域。如PUSH/POP指令的操作都是在棧頂順序執行,變數會重復使用,以及子程序會反復調用等,就是這種局部區域性的實際例證。因此,如果針對某個特定的時間片,用連接在局部匯流排上的Cache代替低速大容量的內存儲器,作為CPU集中重復訪問的區域,系統的性能就會明顯提高。
C. 計算機存儲系統中配置高速緩沖存儲器的目的是為了解決
計算機來系統配置高速緩沖器cache是為了解決 主存 與 CPU 之間速度不匹配的問題 高速緩沖存儲器是存在於主存與CPU之間的一級存儲器,由靜態存儲晶元(SRAM)組成,容量比較小但速度比主存高得多,接近於CPU的速度。在計算源機存儲系統的層次結構中,是介於中央處理器和主百存儲器之間的高速小容量存儲器。它和主存儲器一起構成一級的存儲器。高速緩沖存 儲器和主存儲器之間信息的調度和傳送是由硬體自度動進行的。
D. 計算機中為什麼要採用高速緩存器(CACHE)
是為了解決低速的外設和高速的CPU之間速度不匹配的問題。
主要由三大部分組成:
1、Cache存儲體:存放由主存調入的指令與數據塊。
2、地址轉換部件:建立目錄表以實現主存地址到緩存地址的轉換。
3、替換部件:在緩存已滿時按一定策略進行數據塊替換,並修改地址轉換部件。
在有高速緩沖存儲器的計算機系統中,中央處理器存取主存儲器的地址劃分為行號、列號和組內地址三個欄位。
於是,主存儲器就在邏輯上劃分為若干行;每行劃分為若乾的存儲單元組;每組包含幾個或幾十個字。高速存儲器也相應地劃分為行和列的存儲單元組。二者的列數相同,組的大小也相同,但高速存儲器的行數卻比主存儲器的行數少得多。
(4)計算機為什麼用高速緩存技術擴展閱讀
當中央處理器存取主存儲器時,高速緩存器首先自動對存取地址的列號欄位進行解碼,以便將聯想存儲器該列的全部行號與存取主存儲器地址的行號欄位進行比較:若有相同的,表明要存取的主存儲器單元已在高速存儲器中,稱為命中,硬體就將存取主存儲器的地址映射為高速存儲器的地址並執行存取操作。
若都不相同,表明該單元不在高速存儲器中,稱為脫靶,硬體將執行存取主存儲器操作並自動將該單元所在的那一主存儲器單元組調入高速存儲器相同列中空著的存儲單元組中,同時將該組在主存儲器中的行號存入聯想存儲器對應位置的單元內。
當出現脫靶而高速存儲器對應列中沒有空的位置時,便淘汰該列中的某一組以騰出位置存放新調入的組,這稱為替換。確定替換的規則叫替換演算法,常用的替換演算法有:最近最少使用演算法(LRU)、先進先出法(FIFO)和隨機法(RAND)等。
替換邏輯電路就是執行這個功能的。另外,當執行寫主存儲器操作時,為保持主存儲器和高速存儲器內容的一致性,對命中和脫靶須分別處理。
E. 簡述計算機採用高速緩沖器和虛擬存儲器的目的
高速緩存器是解決存儲器與CPU之間讀寫速度差的一種解決方案,從而減少CPU的等待時間和保證數據的寫入。
而虛擬存儲器是解決內存不足而提出的解決方案,將一部分不是經常使用的內存數據寫入硬碟,達到擴充內存的邏輯空間大小。
F. 計算機中高速緩存的作用
計算機硬碟的高速緩存:
1.高速緩存的概念。緩存(Cache memory)是硬碟控制器上的一塊內存晶元,具有極快的存取速度,它是硬碟內部存儲和外界介面之間的緩沖器。由於硬碟的內部數據傳輸速度和外界介面傳輸速度不同,緩存在其中起到一個緩沖的作用。緩存的大小與速度是直接關繫到硬碟的傳輸速度的重要因素,能夠大幅度地提高硬碟整體性能。當硬碟存取零碎數據時需要不斷地在硬碟與內存之間交換數據,如果有大緩存,則可以將那些零碎數據暫存在緩存中,減小外系統的負荷,也提高了數據的傳輸速度。
2.高速緩存的作用。硬碟的緩存主要起三種作用:一是預讀取。當硬碟受到CPU指令控制開始讀取數據時,硬碟上的控制晶元會控制磁頭把正在讀取的簇的下一個或者幾個簇中的數據讀到緩存中(由於硬碟上數據存儲時是比較連續的,所以讀取命中率較高),當需要讀取下一個或者幾個簇中的數據的時候,硬碟則不需要再次讀取數據,直接把緩存中的數據傳輸到內存中就可以了,由於緩存的速度遠遠高於磁頭讀寫的速度,所以能夠達到明顯改善性能的目的;二是對寫入動作進行緩存。當硬碟接到寫入數據的指令之後,並不會馬上將數據寫入到碟片上,而是先暫時存儲在緩存里,然後發送一個「數據已寫入」的信號給系統,這時系統就會認為數據已經寫入,並繼續執行下面的工作,而硬碟則在空閑(不進行讀取或寫入的時候)時再將緩存中的數據寫入到碟片上。雖然對於寫入數據的性能有一定提升,但也不可避免地帶來了安全隱患——如果數據還在緩存里的時候突然掉電,那麼這些數據就會丟失。對於這個問題,硬碟廠商們自然也有解決辦法:掉電時,磁頭會藉助慣性將緩存中的數據寫入零磁軌以外的暫存區域,等到下次啟動時再將這些數據寫入目的地;第三個作用就是臨時存儲最近訪問過的數據。有時候,某些數據是會經常需要訪問的,硬碟內部的緩存會將讀取比較頻繁的一些數據存儲在緩存中,再次讀取時就可以直接從緩存中直接傳輸。
緩存容量的大小不同品牌、不同型號的產品各不相同,早期的硬碟緩存基本都很小,只有幾百KB,已無法滿足用戶的需求。2MB和8MB緩存是現今主流硬碟所採用,而在伺服器或特殊應用領域中還有緩存容量更大的產品,甚至達到了16MB、64MB等。
大容量的緩存雖然可以在硬碟進行讀寫工作狀態下,讓更多的數據存儲在緩存中,以提高硬碟的訪問速度,但並不意味著緩存越大就越出眾。緩存的應用存在一個演算法的問題,即便緩存容量很大,而沒有一個高效率的演算法,那將導致應用中緩存數據的命中率偏低,無法有效發揮出大容量緩存的優勢。演算法是和緩存容量相輔相成,大容量的緩存需要更為有效率的演算法,否則性能會大大折扣,從技術角度上說,高容量緩存的演算法是直接影響到硬碟性能發揮的重要因素。更大容量緩存是未來硬碟發展的必然趨勢。
高速緩存產生作用的時機:
3.作用體現及應用。 現在擁有大量數據,但最經常使用的往往只有其中一小部分。如國標漢字有6763個,但經常使用的只有3000個,其中幾百個又佔了50%以上的使用頻率。因此人們想到,如果將這幾百個放到存取最快的地方,就可以用很小的代價大大提高工作速度。高速緩存的工作原理基本就是這樣。例如我們知道內存的存取速度比硬碟快得多,我們可以在一開機時就將宋體字的前3000個、黑體字最常用的500個裝入內存專門開辟的區域,這樣當使用這部分字的時候就可以從內存取字,其餘的才會去讀硬碟。內存開辟的這部分區域就叫做高速緩存,它可能只佔所有字體存儲量的十分之一,但可以將讀寫字型檔的速度提高幾十倍。
具體看一下高速緩存起的使用。假設我們有100M數據,其中1M數據的使用頻率佔到了50%,又知內存存取時間只有硬碟時間的10萬分之一,因此如果我們用1M內存做高速緩存存儲最常用的1M數據就可以差不多將平均存取速度提高一倍。從這個例子可以看出,當數據使用越不平均,兩種存儲器之間的速度差越大時CACHE的作用就越大。
以上是一類使用分布固定的例子,在這種情況下,只要固定將這一部分數據裝入最快的存儲器就可以了。但在許多情況下,數據的使用頻率是不確定的,特別它是與時間相關的。如當我們在寫一篇文章時,對這篇文章的內容存取就特別頻繁。而過一會兒又去修一張照片,存取操作就轉移到了這張照片的數據上去,文章的數據就基本不用了。要讓一個系統能夠自動地根據當前數據的使用頻率改變高速存儲器中的內容才能使我們專門開出的高速緩存起作用。因此整個高速緩存系統應該包含調度數據的軟體。
CACHE系統怎樣調度數據
4.拓展知識-深入了解。 怡泓軟體早在1983年就在軟體內部使用了硬碟的CACHE系統,在早期內存很小的情況下有效地提高了硬碟上大量數據的存取速度。而PC DOS操作系統直到1990年的DR DOS 5.0和MS DOS 4.0中才內含了CACHE程序。從WINDOWS 3.0開始操作系統中都內建了硬碟CACHE系統,CACHE的概念也逐漸延伸到硬碟內部和CPU內部。
CACHE對數據的調度不一定只在兩種存儲器之間進行,如現在的CPU就有片上的一級、二級和內存共3種存儲器。為了便與理解,我們都以兩種存儲器為例。
為使CACHE系統能夠起到提高速度的作用,這兩種存儲器的速度必需有比較大的差異。如果用通用CPU來完成數據調度,兩種存儲器的速度差至少應該達到100倍以上。因為調度程序在每完成一次數據訪問時至少要消耗20-30個指令周期,如果速度只差10倍,用CACHE比不用還要慢。
數據的調度並不像我們想像地那樣簡單。第一高速存儲器中的每一個數據必需帶有地址信息,因為它從第二級存儲器中提出來後已經不是按順序排列。為了避免地址信息過多而造成的空間浪費和查詢時間的浪費,必需將數據分成塊。塊的大小也很有講究。太小了起不到壓縮時間和空間的作用,太大了讀一個數據會造成數百個可能用不著的數據湧入高速存儲器,反而起不到壓縮空間的作用。
高速存儲器中數據的地址信息查詢是數據調度時運算的大頭。當高速存儲器很大時,它的地址表也會很長。從計算機指令發出的是對第二級存儲器的存取指令,為了要看它是否在高速存儲器中,必需去查詢這個地址表。如果地址信息是順序排列的,平均查詢時間將是表長的一半。如果表長到了1000項,平均查一個數據地址就要500次比較。即使兩級存儲器的速度差達1000倍,這種方法也占不了任何便宜。一種方法是優先順序排序法,即每經過一段時間的使用就根據每塊數據的使用頻率修改表的排列,讓頻率最高的數據塊的地址排到最前面去,這樣可以有效地縮短查表次數。這是我們過去使用的方法。Intel發明了一種搶隊頭的方法。即每一個數據一旦被使用,就將它放到地址表的第一位去。它的優點是重整地址表的演算法最簡單,缺點是地址表的排列通常不是最優化的。還有一種方法是通過散列表來用空間換時間,這種演算法稍微復雜一點,但它通常可以在2次查詢就找到所需的地址,不過計算散列地址也要消耗不少時間。
我們從以上演算法的簡單介紹就可以看出,CACHE技術不是在什麼地方都可以使用的靈丹妙葯,它受調度計算的很大制約。在CPU內部,兩級存儲器的速度差往往到不了100倍以上,如何能實現有效的CACHE調度?它其中必須有專用的調度演算法部件,以保證在1/3的速度差之內完成調度運算,否則最多隻能實現一級緩存。
CACHE作用的局限性
從上面對CACHE調度演算法的簡單介紹我們已經看到,在沒有專用演算法部件的情況下,只有當兩級存儲器速度差很大的時候CACHE才起作用。內存和硬碟的速度差通常為105數量級,因此用內存做硬碟的高速緩存通常是很有效的。
另一方面,高頻使用的數據必須遠小於高速緩存的大小才行,如果大於高速緩存的大小就會造成剛進入緩存的數據馬上就被後來的數據擠出去,非但沒有加快速度,反而增加了一道間接傳遞的時間。當我們用PHOTOSHOP處理的圖像數據大於內存的1/3時就會出現這種情況。好在內存的速度遠大於硬碟的存取速度,這點變化我們通常感覺不出來。但在CPU中,就會非常明顯。CPU在處理圖像數據時,每次處理的數據量都遠遠超過它內部的一級和二級緩存,因此它的作用將大大降低,唯一的補償是處理程序的指令在一個操作——如銳化——中是固定的,它可以常駐高速緩存,減少讀指令的時間。這時不同CPU緩存的大小對運算速度的影響就很小了。因為即使再小的緩存,也存得下操作指令;再大的緩存也存不下被操作的圖像數據。
在CACHE調度中,為了保證數據的安全而做的回寫操作也是阻礙效率的因素。在對數據進行寫操作時,可以不將它寫回二級存儲器,如硬碟,一直到文件關閉甚至操作系統退出時再回寫,這樣的效率當然最高,但是非常不安全的。一旦一個程序崩潰,其它所有程序的數據就可能都損失了。所以現在的CACHE調度方案通常都內定必須立即回寫。我們馬上會想到,優化效率的一半沒有了。實際情況並非如此。因為回寫操作其實並不是立即發生的,它可以由一個優先順序較低的線程去完成,當你在考慮怎麼進一步調色時,操作系統插空將數據寫回硬碟。
即使內存非常大,PHOTOSHOP也將它的每一步操作寫回硬碟,這可以從PHOTOSHOP每次崩潰後都留下一個巨大的臨時文件看出。因此如果我們連續對圖像做旋轉、變形等操作,即使用了極大的內存,CACHE作用也只發生了一半。因此要全面提高PHOTOSHOP的效率,必須用RAID等技術提高硬碟的直接讀寫速度。同理,硬碟上的2M或4M緩存對於動輒幾十M的圖像數據是毫無作用的。
G. 微型計算機內,配置高速緩沖存儲器,是為了解決什麼
各個部件的運算速度不一樣,如果不配置緩存會使高速部件等待低速部件,速度會被拖慢,有了緩存後高速部件可以集中處理某一低速部件的信息然後再處理下一部件的,相當於流水化作業,提高了效率和速度
H. 高速緩存是什麼
高速緩存英文是cache。F5 BIG-IP軟體實現快速緩存——高達9倍的伺服器容量提升。高速緩存是一種特殊的存儲器子系統,其中復制了頻繁使用的數據,以利於CPU快速訪問。存儲器的高速緩沖存儲器存儲了頻繁訪問的 RAM 位置的內容及這些數據項的存儲地址。當處理器引用存儲器中的某地址時,高速緩沖存儲器便檢查是否存有該地址。如果存有該地址,則將數據返回處理器;如果沒有保存該地址,則進行常規的存儲器訪問。因為高速緩沖存儲器總是比主RAM 存儲器速度快,所以當 RAM 的訪問速度低於微處理器的速度時,常使用高速緩沖存儲器。
L1高速緩存,也就是我們經常說的一級高速緩存。在CPU裡面內置了高速緩存可以提高CPU的運行效率。內置的L1高速緩存的容量和結構對CPU的性能影響較大,不過高速緩沖存儲器均由靜態RAM組成,結構較復雜,在CPU管芯面積不能太大的情況下,L1級高速緩存的容量不可能做得太大。採用回寫(Write Back)結構的高速緩存。它對讀和寫*作均有可提供緩存。而採用寫通(Write-through)結構的高速緩存,僅對讀*作有效。在486以上的計算機中基本採用了回寫式高速緩存。在目前流行的處理器中,奔騰Ⅲ和Celeron處理器擁有32KB的L1高速緩存,奔騰4為8KB,而AMD的Duron和Athlon處理器的L1高速緩存高達128KB。
L2高速緩存,指CPU第二層的高速緩存,第一個採用L2高速緩存的是奔騰 Pro處理器,它的L2高速緩存和CPU運行在相同頻率下的,但成本昂貴,市場生命很短,所以其後奔騰 II的L2高速緩存運行在相當於CPU頻率一半下的。接下來的Celeron處理器又使用了和CPU同速運行的L2高速緩存,現在流行的CPU,無論是AthlonXP和奔騰4,其L2高速緩存都是和CPU同速運行的。除了速度以外,L2高速緩存容量也會影響CPU的性能,原則是越大越好,現在家庭用CPU容量最大的是512KB,而伺服器和工作站上用CPU的L2高速緩存更高達1MB-3MB。
——》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操作,所以為了達到讀存的速度,安裝程序要求載入高速緩存。
F5 BIG-IP軟體實現快速緩存——高達9倍的伺服器容量提升
F5 BIG-IP的智能緩存功能通過從Web應用伺服器下載重復性流量,實現了巨大的擴展性及費用節省。它也是唯一能夠提供多存儲緩存的解決方案對每個應用或部門的具體高速緩存進行管理,從而實現對優先順序應用的准備與智能的控制。
I. 配置高速緩沖存儲器(Cache)是為了讓電腦發揮什麼作用
高速緩沖存儲器這個名詞很難理解,但是用緩存就比較好解釋。cpu就是工廠,工廠就需要原材料。所以把立即要用的材料放在工廠,工廠面積有限,所以把庫存放在庫房。庫房離工廠很近,沒有材料了就去取。但是大多數備料,放在倉庫,倉庫就離得很遠,來回要花的時間很多,但是材料齊全。如果倉庫都沒有,那麼就要找原廠去購買,原廠就可能在國外了。其中,庫房就是二級緩存,倉庫就是內存。而原廠就是硬碟了。所以說,高速緩存存儲器就是用來防止cpu所要處理的數據資料,而且是要立即處理的,當資料不足的時候,就會進到內存找,如果內存找不到,就去硬碟找,這個過程關繫到你電腦的運行速度,一味的追求cpu的速度,其實對電腦整體速度是沒有作用的。