- 相關推薦
嵌入式系統中的內存壓縮技術
摘要:介紹內存壓縮技術和一個基于硬件的內存壓縮系統模型,探討內存壓縮技術在嵌入式系統中的應用;重點介紹內存壓縮系統的硬件要求及操作系統對內存壓縮機制的支持;簡單介紹內存壓縮中常用的算法Lempel-Ziv,并就內存壓縮技術在嵌入式系統中的應用問題作一些探討。關鍵詞:嵌入式系統 內存壓縮 壓縮內存控制器 Lempel-Ziv算法
1 內存壓縮技術介紹
為節省存儲空間或傳輸帶寬,人們已經在計算機系統中廣泛地使用了數據壓縮技術。在磁介質存儲數據或網絡傳輸數據時,人們使用基于硬件或軟件的各種壓縮技術。當壓縮技術在各個領域都很流行時,內存壓縮技術卻由于其復雜性而一直未得到廣泛使用。近年來,由于在并行壓縮一解壓算法以及在硅密度及速度方面取得的進展,使得內存壓縮技術變得可行。
內存壓縮技術的主要思想是將數據按照一定的算法壓縮后存入壓縮內存中,系統從壓縮內存中找到壓縮過的數據,將其解壓后即可以供系統使用。這樣既可以增加實際可用的內存空間,又可以減少頁面置換所帶來的開銷,從而以較小的成本提高系統的整體性能。
內存壓縮機制是在系統的存儲層次中邏輯地加入一層——壓縮內存層。系統在該層中以壓縮的格式保存物理頁面,當頁面再次被系統引用時,解壓該壓縮頁后,即可使用。我們將管理這一壓縮內存層的相關硬件及軟件的集合統稱為內存壓縮系統。內存壓縮系統對于CPU、I/O設備、設備驅動以及應用軟件來說是透明的,但是操作系統必須具有管理內存大小變化以及壓縮比率變化的功能。
對于大多數的操作系統而言,要實現內存壓縮,大部分體系結構都不需要改動。在標準的操作系統中,內存都是通過固定數目的物理頁框(page frame)來描述的,由操作系統的VMM來管理。要支持內存壓縮,OS要管理的實際內存大小和頁框數目是基于內存的壓縮比率來確定的。這里的實現內存是指操作系統可的內存大小,它與物理內存的關系如下:假設PM是物理內存,RM(t)是系統在t時刻的實際內存,而CR(t)是壓縮比率,在給定時刻t可支持的最大實際內存為RM(t)=CR1(t)×PM。然而,由于應用程序的數據壓縮率是不依賴于OS而動態變化的,未壓縮的數據可能會耗盡物理內存,因此當物理內存接近耗盡時,操作系統必須采取行動來解決這個問題。
2 內存壓縮系統的硬件模型
目前由于內存壓縮的思想越來越引起人們的注意市場上也出現了一些基于軟件的內存壓縮器。這些內存壓縮器主要是通過軟件對數據進行壓縮,但由于訪問壓縮數據帶來的延遲,它在系統性能方面改進并不明顯,有些甚至降低了系統
[1] [2] [3] [4] [5]
【嵌入式系統中的內存壓縮技術】相關文章:
適用于影像檢測壓縮系統的內存存取方式04-27
嵌入式系統與通信技術在汽車安全中的應用05-02
彈載嵌入式系統設計技術05-01
MrSID技術在林業影像壓縮中的應用05-02
發動機軸流壓縮系統逐級模擬技術05-01
PPSM嵌入式RTOS中的窗口系統開發12-01
數據壓縮技術在工業過程中的應用04-30
采用嵌入式技術的新型風洞測控系統設計04-27
嵌入式系統報告10-18