當前位置:首頁 » 硬碟大全 » 高速緩存設計的目的
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

高速緩存設計的目的

發布時間: 2022-05-06 04:44:32

⑴ 高速緩存是怎麼起作用的

——》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操作,所以為了達到讀存的速度,安裝程序要求載入高速緩存。

⑵ 計算機存儲系統中配置高速緩沖存儲器的目的是為了解決

計算機來系統配置高速緩沖器cache是為了解決 主存 與 CPU 之間速度不匹配的問題 高速緩沖存儲器是存在於主存與CPU之間的一級存儲器,由靜態存儲晶元(SRAM)組成,容量比較小但速度比主存高得多,接近於CPU的速度。在計算源機存儲系統的層次結構中,是介於中央處理器和主百存儲器之間的高速小容量存儲器。它和主存儲器一起構成一級的存儲器。高速緩沖存 儲器和主存儲器之間信息的調度和傳送是由硬體自度動進行的。

⑶ 磁碟高速緩存是不是就是硬碟里的緩存

這兩個沒有什麼直接聯系,硬碟緩存是硬碟進行數據交換時暫時的數據存放,以便能是硬碟的效率更高。這個緩存是硬體本身固定的,不可更改。一些下載軟體的磁碟緩存簡單說就是減少硬碟傷害而設計的,因為如果數據直接寫入硬碟,會造成硬碟大量的讀寫工作而減少硬碟壽命,使用磁碟緩存先把數據下載到內存中,當數據大小達到設置的大小後,再一次性把這些數據寫進硬碟,從而減少硬碟的工作。磁碟緩存用的是物理內存,不是硬碟緩存,但是硬碟的讀寫都會用到硬碟自身的緩存。

⑷ 設置高速緩沖存儲器和虛擬存儲器的目的、理論依據分別是什麼

設置高速緩沖存儲器和虛擬存儲器的目是為了解決CPU和主存之間的速度匹配問題。
理論依據:
高速緩沖存儲器,是位於CPU與主存間的一種容量較小但是速度很高的存儲器.採用Cache的理由是由於CPU的速度遠高於主存,CPU直接從內存中存取數據要等待一定時間周期,Cache中保存著CPU剛用過或循環使用的一部分數據。
當CPU再次使用該部分數據時可從Cache中直接調用,這樣就減少了CPU的等待時間,提高了系統的效率.Cache又可以分為一級Cache(L1 Cache)和二級Cache(L2 Cache)。

⑸ 高速緩存的作用是什麼

系統緩存
較慢的CPU頻率 較快的CPU頻率
如果將CPU比作一個城裡的傢具廠,而將存儲系統比作郊區的木料廠,那麼實際情況就是木料廠離傢具廠越來越遠,即使使用更大的卡車來運送木料,傢具廠也得停工來等待木料送來。
在這樣的情況下,一種解決方法是在市區建立一個小型倉庫,在裡面放置一些傢具廠最常用到的木料。這個倉庫實際上就是傢具廠的「Cache」,傢具廠就可以從倉庫不停的及時運送需要的木料。當然,倉庫越大,存放的木料越多,效果就越好,因為這樣即使是些不常用的東西也可以在倉庫里找到。如果我們需要的木料倉庫里沒有,就要從城外的木料廠里繼續找,而傢具廠就得等著了。
我想現在大家已經明白了我的意思,倉庫就相對於L1緩存,可以由CPU及時快速的讀寫,所以存儲的是CPU最常用代碼和數據(後面我們會介紹一下如何挑選「最常用」)。L1緩存的速度比系統內存快的多是因為使用的是SRAM,這種內存單晶元使用四到六個晶體管。這也使得SRAM的造價相當的高,所以不能拿來用在整個存儲系統上。
在大多數CPU上,L1緩存和核心一起在一塊晶元上。如果在我們傢具廠的例子中,就好比工廠和倉庫在同一條街上。這樣的設計使CPU可以從最近最快的地方得到數據,但是也使得「城外的木料廠」到「倉庫」和到「傢具廠」的距離差不多遠。這樣如果CPU需要的數據不在L1緩存中,也就是「Cache Miss」,從存儲設備取數據就要很長時間了。處理器速度越快,兩者之間的差距就越大。如果使用Pentium4那樣的高頻率處理器,從內存中取得數據就相當於「木料廠」位於另一個國家。
物理內存即內存條

⑹ 什麼是高速緩存技術高速緩存的作用是什麼

高速緩存英文是cache。一種特殊的存儲器子系統,其中復制了頻繁使用的數據,以利於CPU快速訪問。存儲器的高速緩沖存儲器存儲了頻繁訪問的 RAM 位置的內容及這些數據項的存儲地址。當處理器引用存儲器中的某地址時,高速緩沖存儲器便檢查是否存有該地址。如果存有該地址,則將數據返回處理器;如果沒有保存該地址,則進行常規的存儲器訪問。因為高速緩沖存儲器總是比主RAM 存儲器速度快,所以當 RAM 的訪問速度低於微處理器的速度時,常使用高速緩沖存儲器。 高速緩存的作用: 在CPU開始執行任何指令之前,都會首先從內存中取得該條指令以及其它一些相關數據和信息。為了加快CPU的運行速度,幾乎所有的晶元都採用兩種不同類型的內部存儲器,即高速緩存。緩存被用來臨時存放一些經常被使用的程序片段或數據。 一級高速緩存是性能最好緩存類型,與解釋指令和執行算術運算的處理單元一到構成CPU的核心。CPU可以在全速運行的狀態下讀取存放在一級高速緩存中的指令或數據。Intel的處理器產品一般都會具有32K的一級緩存,而象AMD或Via這種競爭對手的產品則會使用更多的一級緩存。 如果在一級緩存中沒有找到所需要的指令或數據,處理器會查看容量更大的二級緩存。二級緩存既可以被集成到CPU晶元內部,也可以作為外部緩存。Pentium II處理器具有512K的二級緩存,工作速度相當於CPU速度的一半。Celeron以及更新的Pentium III晶元則分別具有128K和256K的在片二級緩存,能夠在處理器全速下運行。 對於存放在速度較慢的二級緩存中的指令或數據,處理器往往需要等待2到4個時鍾周期。為了充分利用計算資源,CPU可以在這段時間內查看和執行其它正在等候處理,但不需要使用額外數據的指令,從而提高整個系統的速度,把空閑時間降低到最低程度。

⑺ 高速緩存的主要作用

高速緩存是處理核心(包括CPU與GPU)或者外部儲存設備與主內存區間的一個緩沖儲存區,所以稱為緩存
在CPU,GPU等處理核心上,核心計算的臨時中間數據和大量需求的數據都優先儲存在緩存里,舉個例子:CPU計算一個1+1+1的值時,第一次計算前兩個數的和的結果2就儲存在CPU緩存里,再把結果拿來進行第二次計算,當然,現在的處理器算這個數據不用這么做,只是面對大量數據計算的時候需要這么做
在更大量的計算里,處理器會按數據的優先順序從低到高分別儲存在一級,二級,三級緩存中,再沒有空間就會放進內存中,處理器讀取數據也是從一級緩存開始,直到內存中,如果內存還沒有數據就去硬碟光碟等外部儲存設備找,一級緩存速度最快,二級,三級次之
在外部儲存設備中,比如硬碟和光碟機的緩存主要是提高傳輸速率,增加硬體壽命,你可以從硬碟一個分區復制一堆小文件到另一個分區,你可以發現,復制相同容量的文件速度是大文件快於小文件,因為每個小文件都要進行文件的建立,數據寫入與結束寫入等過程會耗費很多時間
在處理器或者內存向硬碟或者光碟機(刻錄機)寫入的數據都是小文件或者數據而且並不連續,他們都先放在硬碟緩存里,到整個文件結束或者到緩存區容量極限時再一次性寫入硬碟,這樣可以減少硬碟的讀寫次數,並且以此寫入的速度更快~

⑻ 計算機內,配置高速緩沖存儲器(CACHE)是為了解決什麼

B,CPU與內存儲器之間速度不匹配問題。

高速緩沖存儲器(Cache)其原始意義是指存取速度比一般隨機存取記憶體(RAM)來得快的一種RAM,一般而言它不像系統主記憶體那樣使用DRAM技術,而使用昂貴但較快速的SRAM技術,也有快取記憶體的名稱。

高速緩沖存儲器是存在於主存與CPU之間的一級存儲器, 由靜態存儲晶元(SRAM)組成,容量比較小但速度比主存高得多, 接近於CPU的速度。在計算機存儲系統的層次結構中,是介於中央處理器和主存儲器之間的高速小容量存儲器。它和主存儲器一起構成一級的存儲器。高速緩沖存儲器和主存儲器之間信息的調度和傳送是由硬體自動進行的。

(8)高速緩存設計的目的擴展閱讀:

高速緩沖存儲器組成結構

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

主要由三大部分組成:

1、Cache存儲體:存放由主存調入的指令與數據塊。

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

3、替換部件:在緩存已滿時按一定策略進行數據塊替換,並修改地址轉換部件。

⑼ 計算機中高速緩存的作用

計算機硬碟的高速緩存:
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的圖像數據是毫無作用的。

⑽ 簡述計算機採用高速緩沖器和虛擬存儲器的目的

高速緩存器是解決存儲器與CPU之間讀寫速度差的一種解決方案,從而減少CPU的等待時間和保證數據的寫入。

而虛擬存儲器是解決內存不足而提出的解決方案,將一部分不是經常使用的內存數據寫入硬碟,達到擴充內存的邏輯空間大小。