當前位置:首頁 » 文件管理 » 單晶緩存

單晶緩存

發布時間: 2025-03-07 13:46:42

① 什麼是系統緩存

許多人認為,「緩存」是內存的一部分
許多技術文章都是這樣教授的
但是還是有很多人不知道緩存在什麼地方,緩存是做什麼用的
其實,緩存是cpu的一部分,它存在於cpu中
cpu存取數據的速度非常的快,一秒鍾能夠存取、處理十億條指令和數據(術語:cpu主頻1g),而內存就慢很多,快的內存能夠達到幾十兆就不錯了,可見兩者的速度差異是多麼的大
緩存是為了解決cpu速度和內存速度的速度差異問題
內存中被cpu訪問最頻繁的數據和指令被復制入cpu中的緩存,這樣cpu就可以不經常到象「蝸牛」一樣慢的內存中去取數據了,cpu只要到緩存中去取就行了,而緩存的速度要比內存快很多
這里要特別指出的是:
1.因為緩存只是內存中少部分數據的復製品,所以cpu到緩存中尋找數據時,也會出現找不到的情況(因為這些數據沒有從內存復制到緩存中去),這時cpu還是會到內存中去找數據,這樣系統的速度就慢下來了,不過cpu會把這些數據復制到緩存中去,以便下一次不要再到內存中去取。
2.因為隨著時間的變化,被訪問得最頻繁的數據不是一成不變的,也就是說,剛才還不頻繁的數據,此時已經需要被頻繁的訪問,剛才還是最頻繁的數據,現在又不頻繁了,所以說緩存中的數據要經常按照一定的演算法來更換,這樣才能保證緩存中的數據是被訪問最頻繁的
3.關於一級緩存和二級緩存
為了分清這兩個概念,我們先了解一下ram
ram和rom相對的,ram是掉電以後,其中才信息就消失那一種,rom在掉電以後信息也不會消失那一種
ram又分兩種,
一種是靜態ram,sram;一種是動態ram,dram。前者的存儲速度要比後者快得多,我們現在使用的內存一般都是動態ram。
有的菜鳥就說了,為了增加系統的速度,把緩存擴大不就行了嗎,擴大的越大,緩存的數據越多,系統不就越快了嗎
緩存通常都是靜態ram,速度是非常的快,
但是靜態ram集成度低(存儲相同的數據,靜態ram的體積是動態ram的6倍),
價格高(同容量的靜態ram是動態ram的四倍),
由此可見,擴大靜態ram作為緩存是一個非常愚蠢的行為,
但是為了提高系統的性能和速度,我們必須要擴大緩存,
這樣就有了一個折中的方法,不擴大原來的靜態ram緩存,而是增加一些高速動態ram做為緩存,
這些高速動態ram速度要比常規動態ram快,但比原來的靜態ram緩存慢,
我們把原來的靜態ram緩存叫一級緩存,而把後來增加的動態ram叫二級緩存。
一級緩存和二級緩存中的內容都是內存中訪問頻率高的數據的復製品(映射),它們的存在都是為了減少高速cpu對慢速內存的訪問。
通常cpu找數據或指令的順序是:先到一級緩存中找,找不到再到二級緩存中找,如果還找不到就只有到內存中找了
以上技術文章原創於私人網站海市蜃樓
網路實名:海市蜃樓

② 緩存和虛擬內存有什麼區別

1.磁碟緩存 磁碟緩存又稱為虛擬緩存,它的讀/寫速度比管理磁介質快得多,是改善硬碟性能的主要手段。在硬碟空閑時會把數據預先存入緩存,一旦程序請求到此段資料,可以馬上從緩存中得到,無須再讀/寫硬碟,特別是連續存取的操作之中,Cache能夠極大地提高系統的整體速度。 為了讓大家更好的理解系統緩存的作用,我們可以將處理器和內存系統想像成為使用者和供貨商(Client-Server模式)。CPU「消費」由硬碟及內存提供的數據。由於製造技術和設計的進步,CPU的消費能力已經大大超過了存儲系統的供應能力,盡管存儲系統也有些進步(UDMA、Rambus等),CPU的時鍾循環相對與內存和匯流排而言,越來越短,於是CPU不得不在存儲系統提供足夠的數據前等待,什麼也不能做。而且每當CPU的頻率提升,這樣的差距就更是明顯。 2.系統緩存 較慢的CPU頻率 較快的CPU頻率 如果將CPU比作一個城裡的傢具廠,而將存儲系統比作郊區的木料廠,那麼實際情況就是木料廠離傢具廠越來越遠,即使使用更大的卡車來運送木料,傢具廠也得停工來等待木料送來。 在這樣的情況下,一種解決方法是在市區建立一個小型倉庫,在裡面放置一些傢具廠最常用到的木料。這個倉庫實際上就是傢具廠的「Cache」,傢具廠就可以從倉庫不停的及時運送需要的木料。當然,倉庫越大,存放的木料越多,效果就越好,因為這樣即使是些不常用的東西也可以在倉庫里找到。如果我們需要的木料倉庫里沒有,就要從城外的木料廠里繼續找,而傢具廠就得等著了。 我想現在大家已經明白了我的意思,倉庫就相對於L1緩存,可以由CPU及時快速的讀寫,所以存儲的是CPU最常用代碼和數據(後面我們會介紹一下如何挑選「最常用」)。L1緩存的速度比系統內存快的多是因為使用的是SRAM,這種內存單晶元使用四到六個晶體管。這也使得SRAM的造價相當的高,所以不能拿來用在整個存儲系統上。 在大多數CPU上,L1緩存和核心一起在一塊晶元上。如果在我們傢具廠的例子中,就好比工廠和倉庫在同一條街上。這樣的設計使CPU可以從最近最快的地方得到數據,但是也使得「城外的木料廠」到「倉庫」和到「傢具廠」的距離差不多遠。這樣如果CPU需要的數據不在L1緩存中,也就是「Cache Miss」,從存儲設備取數據就要很長時間了。處理器速度越快,兩者之間的差距就越大。如果使用Pentium4那樣的高頻率處理器,從內存中取得數據就相當於「木料廠」位於另一個國家。 3.虛擬內存 內存在計算機中的作用很大,電腦中所有運行的程序都需要經過內存來執行,如果執行的程序很大或很多,就會導致內存消耗殆盡。為了解決這個問題,Windows中運用了虛擬內存技術,即拿出一部分硬碟空間來充當內存使用,當內存佔用完時,電腦就會自動調用硬碟來充當內存,以緩解內存的緊張。舉一個例子來說,如果電腦只有128MB物理內存的話,當讀取一個容量為200MB的文件時,就必須要用到比較大的虛擬內存,文件被內存讀取之後就會先儲存到虛擬內存,等待內存把文件全部儲存到虛擬內存之後,跟著就會把虛擬內里儲存的文件釋放到原來的安裝目錄里了。下面,就讓我們一起來看看如何對虛擬內存進行設置吧。 虛擬內存的設置 對於虛擬內存主要設置兩點,即內存大小和分頁位置,內存大小就是設置虛擬內存最小為多少和最大為多少;而分頁位置則是設置虛擬內存應使用那個分區中的硬碟空間。對於內存大小的設置,如何得到最小值和最大值呢?你可以通過下面的方法獲得:選擇「開始→程序→附件→系統工具→系統監視器」(如果系統工具中沒有,可以通過「添加/刪除程序」中的Windows安裝程序進行安裝)打開系統監視器,然後選擇「編輯→添加項目」,在「類型」項中選擇「內存管理程序」,在右側的列表選擇「交換文件大小」。這樣隨著你的操作,會顯示出交換文件值的波動情況,你可以把經常要使用到的程序打開,然後對它們進行使用,這時查看一下系統監視器中的表現值,由於用戶每次使用電腦時的情況都不盡相同,因此,最好能夠通過較長時間對交換文件進行監視來找出最符合您的交換文件的數值,這樣才能保證系統性能穩定以及保持在最佳的狀態。 找出最合適的范圍值後,在設置虛擬內存時,用滑鼠右鍵點擊「我的電腦」,選擇「屬性」,彈出系統屬性窗口,選擇「性能」標簽,點擊下面「虛擬內存」按鈕,彈出虛擬內存設置窗口,點擊「用戶自己指定虛擬內存設置」單選按鈕,「硬碟」選較大剩餘空間的分區,然後在「最小值」和「最大值」文本框中輸入合適的范圍值。如果您感覺使用系統監視器來獲得最大和最小值有些麻煩的話,這里完全可以選擇「讓Windows管理虛擬內存設置」。 調整分頁位置 Windows 9x的虛擬內存分頁位置,其實就是保存在C盤根目錄下的一個虛擬內存文件(也稱為交換文件)Win386.swp,它的存放位置可以是任何一個分區,如果系統盤C容量有限,我們可以把Win386.swp調到別的分區中,方法是在記事本中打開System.ini(C:\Windows下)文件,在[386Enh]小節中,將「PagingDrive=C:WindowsWin386.swp」,改為其他分區的路徑,如將交換文件放在D:中,則改為「PagingDrive=D:Win386.swp」,如沒有上述語句可以直接鍵入即可。 而對於使用Windows 2000和Windows XP的,可以選擇「控制面板→系統→高級→性能」中的「設置→高級→更改」,打開虛擬內存設置窗口,在驅動器[卷標]中默認選擇的是系統所在的分區,如果想更改到其他分區中,首先要把原先的分區設置為無分頁文件,然後再選擇其他分區。 或者,WinXP一般要求物理內存在256M以上。如果你喜歡玩大型3D游戲,而內存(包括顯存)又不夠大,系統會經常提示說虛擬內存不夠,系統會自動調整(虛擬內存設置為系統管理)。 如果你的硬碟空間夠大,你也可以自己設置虛擬內存,具體步驟如下:右鍵單擊「我的電腦」→屬性→高級→性能 設置→高級→虛擬內存 更改→選擇虛擬內存(頁面文件)存放的分區→自定義大小→確定最大值和最小值→設置。一般來說,虛擬內存為物理內存的1.5倍,稍大一點也可以,如果你不想虛擬內存頻繁改動,可以將最大值和最小值設置為一樣。 4.虛擬內存使用技巧 對於虛擬內存如何設置的問題,微軟已經給我們提供了官方的解決辦法,對於一般情況下,我們推薦採用如下的設置方法: (1)在Windows系統所在分區設置頁面文件,文件的大小由你對系統的設置決定。具體設置方法如下:打開"我的電腦"的"屬性"設置窗口,切換到"高級"選項卡,在"啟動和故障恢復"窗口的"寫入調試信息"欄,如果你採用的是"無",則將頁面文件大小設置為2MB左右,如果採用"核心內存存儲"和"完全內存存儲",則將頁面文件值設置得大一些,跟物理內存差不多就可以了。 小提示:對於系統分區是否設置頁面文件,這里有一個矛盾:如果設置,則系統有可能會頻繁讀取這部分頁面文件,從而加大系統盤所在磁軌的負荷,但如果不設置,當系統出現藍屏死機(特別是STOP錯誤)的時候,無法創建轉儲文件 (Memory.dmp),從而無法進行程序調試和錯誤報告了。所以折中的辦法是在系統盤設置較小的頁面文件,只要夠用就行了。 (2)單獨建立一個空白分區,在該分區設置虛擬內存,其最小值設置為物理內存的1.5倍,最大值設置為物理內存的3倍,該分區專門用來存儲頁面文件,不要再存放其它任何文件。之所以單獨劃分一個分區用來設置虛擬內存,主要是基於兩點考慮:其一,由於該分區上沒有其它文件,這樣分區不會產生磁碟碎片,這樣能保證頁面文件的數據讀寫不受磁碟碎片的干擾;其二,按照Windows對內存的管理技術,Windows會優先使用不經常訪問的分區上的 頁面文件,這樣也減少了讀取系統盤里的頁面文件的機會,減輕了系統盤的壓力。 (3)其它硬碟分區不設置任何頁面文件。當然,如果你有多個硬碟,則可以為每個硬碟都創建一個頁面文件。當信息分布在多個頁面文件上時,硬碟控制器可以同時在多個硬碟上執行讀取和寫入操作。這樣系統性能將得到提高。 小提示: 允許設置的虛擬內存最小值為2MB,最大值不能超過當前硬碟的剩餘空間值,同時也不能超過32位操作系統的內存定址范圍——4GB。

熱點內容
dota2腳本下載 發布:2025-03-09 11:56:27 瀏覽:821
cocos編譯apk 發布:2025-03-09 11:51:36 瀏覽:966
python常見演算法 發布:2025-03-09 11:50:06 瀏覽:349
兩周自製腳本語言pdf 發布:2025-03-09 11:37:10 瀏覽:977
和速度演算法 發布:2025-03-09 11:16:26 瀏覽:592
中文linuxman手冊 發布:2025-03-09 11:11:59 瀏覽:895
c語言圖片壓縮 發布:2025-03-09 11:10:26 瀏覽:436
linuxchmod文件夾 發布:2025-03-09 11:09:39 瀏覽:934
linux進程查詢 發布:2025-03-09 10:55:15 瀏覽:423
如何給電腦硬碟加密 發布:2025-03-09 10:54:09 瀏覽:912