嵌入式系統(tǒng)中的內(nèi)存壓縮技術(shù)
發(fā)布時間:2007/4/23 0:00:00 訪問次數(shù):774
摘要:介紹內(nèi)存壓縮技術(shù)和一個基于硬件的內(nèi)存壓縮系統(tǒng)模型,探討內(nèi)存壓縮技術(shù)在嵌入式系統(tǒng)中的應(yīng)用;重點(diǎn)介紹內(nèi)存壓縮系統(tǒng)的硬件要求及操作系統(tǒng)對內(nèi)存壓縮機(jī)制的支持;簡單介紹內(nèi)存壓縮中常用的算法Lempel-Ziv,并就內(nèi)存壓縮技術(shù)在嵌入式系統(tǒng)中的應(yīng)用問題作一些探討。
關(guān)鍵詞:嵌入式系統(tǒng) 內(nèi)存壓縮 壓縮內(nèi)存控制器 Lempel-Ziv算法
1 內(nèi)存壓縮技術(shù)介紹
為節(jié)省存儲空間或傳輸帶寬,人們已經(jīng)在計(jì)算機(jī)系統(tǒng)中廣泛地使用了數(shù)據(jù)壓縮技術(shù)。在磁介質(zhì)存儲數(shù)據(jù)或網(wǎng)絡(luò)傳輸數(shù)據(jù)時,人們使用基于硬件或軟件的各種壓縮技術(shù)。當(dāng)壓縮技術(shù)在各個領(lǐng)域都很流行時,內(nèi)存壓縮技術(shù)卻由于其復(fù)雜性而一直未得到廣泛使用。近年來,由于在并行壓縮一解壓算法以及在硅密度及速度方面取得的進(jìn)展,使得內(nèi)存壓縮技術(shù)變得可行。
內(nèi)存壓縮技術(shù)的主要思想是將數(shù)據(jù)按照一定的算法壓縮后存入壓縮內(nèi)存中,系統(tǒng)從壓縮內(nèi)存中找到壓縮過的數(shù)據(jù),將其解壓后即可以供系統(tǒng)使用。這樣既可以增加實(shí)際可用的內(nèi)存空間,又可以減少頁面置換所帶來的開銷,從而以較小的成本提高系統(tǒng)的整體性能。
內(nèi)存壓縮機(jī)制是在系統(tǒng)的存儲層次中邏輯地加入一層——壓縮內(nèi)存層。系統(tǒng)在該層中以壓縮的格式保存物理頁面,當(dāng)頁面再次被系統(tǒng)引用時,解壓該壓縮頁后,即可使用。我們將管理這一壓縮內(nèi)存層的相關(guān)硬件及軟件的集合統(tǒng)稱為內(nèi)存壓縮系統(tǒng)。內(nèi)存壓縮系統(tǒng)對于CPU、I/O設(shè)備、設(shè)備驅(qū)動以及應(yīng)用軟件來說是透明的,但是操作系統(tǒng)必須具有管理內(nèi)存大小變化以及壓縮比率變化的功能。
對于大多數(shù)的操作系統(tǒng)而言,要實(shí)現(xiàn)內(nèi)存壓縮,大部分體系結(jié)構(gòu)都不需要改動。在標(biāo)準(zhǔn)的操作系統(tǒng)中,內(nèi)存都是通過固定數(shù)目的物理頁框(page frame)來描述的,由操作系統(tǒng)的VMM來管理。要支持內(nèi)存壓縮,OS要管理的實(shí)際內(nèi)存大小和頁框數(shù)目是基于內(nèi)存的壓縮比率來確定的。這里的實(shí)現(xiàn)內(nèi)存是指操作系統(tǒng)可的內(nèi)存大小,它與物理內(nèi)存的關(guān)系如下:假設(shè)PM是物理內(nèi)存,RM(t)是系統(tǒng)在t時刻的實(shí)際內(nèi)存,而CR(t)是壓縮比率,在給定時刻t可支持的最大實(shí)際內(nèi)存為RM(t)=CR1(t)×PM。然而,由于應(yīng)用程序的數(shù)據(jù)壓縮率是不依賴于OS而動態(tài)變化的,未壓縮的數(shù)據(jù)可能會耗盡物理內(nèi)存,因此當(dāng)物理內(nèi)存接近耗盡時,操作系統(tǒng)必須采取行動來解決這個問題。
2 內(nèi)存壓縮系統(tǒng)的硬件模型
目前由于內(nèi)存壓縮的思想越來越引起人們的注意市場上也出現(xiàn)了一些基于軟件的內(nèi)存壓縮器。這些內(nèi)存壓縮器主要是通過軟件對數(shù)據(jù)進(jìn)行壓縮,但由于訪問壓縮數(shù)據(jù)帶來的延遲,它在系統(tǒng)性能方面改進(jìn)并不明顯,有些甚至降低了系統(tǒng)性能。本節(jié)介紹一種基于硬件的內(nèi)存壓縮系統(tǒng)模型。
圖1是一個典型的內(nèi)存壓縮系統(tǒng)的硬件模型,包括了壓縮內(nèi)存、L3高速緩沖、壓縮內(nèi)存控制器等硬件部分。
其中壓縮內(nèi)存(133MHz SDRAM)包含了壓縮數(shù)據(jù)。L3高速緩沖是一個共享的、32MB、4路組相聯(lián)、可回寫的高速緩沖,每行大小為1KB,由兩倍數(shù)據(jù)率(DDR)SDRAM制定。L3高速緩沖包含了未壓縮的緩沖行,由于大部分的訪問都可以在L3高速緩沖中命中,因此它隱藏了訪問壓縮主存引起的延遲。L3高速緩沖對于存儲分級體系中的上層而言就是主存,它的操作對于其它硬件,包括處理器和I/O來說都是透明的。壓縮內(nèi)存控制器是整個內(nèi)存壓縮系統(tǒng)的控制中心,它負(fù)責(zé)數(shù)據(jù)的壓縮/解壓,監(jiān)控物理內(nèi)存的使用情況以及實(shí)際地址到物理地址的尋址過程。
數(shù)據(jù)壓縮過程是這樣的:壓縮內(nèi)存控制將1KB的高速緩沖行壓縮后寫入壓縮內(nèi)存中,然后將它們從壓縮內(nèi)存中讀出后解壓。其壓縮算法就是Lempel-Ziv算法,我們會在下一部分介紹這個算法。壓縮機(jī)制將壓縮的數(shù)據(jù)塊以不同的長度格式存放到內(nèi)存中。壓縮內(nèi)存的存儲單元是一個256字節(jié)的區(qū)域。按照壓縮比率不同,一個1KB的內(nèi)存塊(正好是L3每行的大。┛梢哉紦(jù)0~4個壓縮區(qū)域。
壓縮內(nèi)存控制器必須根據(jù)長度格式的不同將系統(tǒng)總線上的實(shí)際地址翻譯成物理內(nèi)存的中的物理地址。實(shí)際地址是出現(xiàn)在處理器外部總線上常規(guī)地址。篁 址用來錄十壓縮內(nèi)存的256字節(jié)區(qū)域。實(shí)際地址空間存在于L1/L2/L3高速緩沖中,用于立即訪問。而其余的內(nèi)存內(nèi)容部分以壓縮形式存在于物理內(nèi)存中。內(nèi)存控制器通過查詢壓縮翻譯表(CTT)執(zhí)行從實(shí)際地址到物理地址的翻譯,這個表被保留在物理
摘要:介紹內(nèi)存壓縮技術(shù)和一個基于硬件的內(nèi)存壓縮系統(tǒng)模型,探討內(nèi)存壓縮技術(shù)在嵌入式系統(tǒng)中的應(yīng)用;重點(diǎn)介紹內(nèi)存壓縮系統(tǒng)的硬件要求及操作系統(tǒng)對內(nèi)存壓縮機(jī)制的支持;簡單介紹內(nèi)存壓縮中常用的算法Lempel-Ziv,并就內(nèi)存壓縮技術(shù)在嵌入式系統(tǒng)中的應(yīng)用問題作一些探討。
關(guān)鍵詞:嵌入式系統(tǒng) 內(nèi)存壓縮 壓縮內(nèi)存控制器 Lempel-Ziv算法
1 內(nèi)存壓縮技術(shù)介紹
為節(jié)省存儲空間或傳輸帶寬,人們已經(jīng)在計(jì)算機(jī)系統(tǒng)中廣泛地使用了數(shù)據(jù)壓縮技術(shù)。在磁介質(zhì)存儲數(shù)據(jù)或網(wǎng)絡(luò)傳輸數(shù)據(jù)時,人們使用基于硬件或軟件的各種壓縮技術(shù)。當(dāng)壓縮技術(shù)在各個領(lǐng)域都很流行時,內(nèi)存壓縮技術(shù)卻由于其復(fù)雜性而一直未得到廣泛使用。近年來,由于在并行壓縮一解壓算法以及在硅密度及速度方面取得的進(jìn)展,使得內(nèi)存壓縮技術(shù)變得可行。
內(nèi)存壓縮技術(shù)的主要思想是將數(shù)據(jù)按照一定的算法壓縮后存入壓縮內(nèi)存中,系統(tǒng)從壓縮內(nèi)存中找到壓縮過的數(shù)據(jù),將其解壓后即可以供系統(tǒng)使用。這樣既可以增加實(shí)際可用的內(nèi)存空間,又可以減少頁面置換所帶來的開銷,從而以較小的成本提高系統(tǒng)的整體性能。
內(nèi)存壓縮機(jī)制是在系統(tǒng)的存儲層次中邏輯地加入一層——壓縮內(nèi)存層。系統(tǒng)在該層中以壓縮的格式保存物理頁面,當(dāng)頁面再次被系統(tǒng)引用時,解壓該壓縮頁后,即可使用。我們將管理這一壓縮內(nèi)存層的相關(guān)硬件及軟件的集合統(tǒng)稱為內(nèi)存壓縮系統(tǒng)。內(nèi)存壓縮系統(tǒng)對于CPU、I/O設(shè)備、設(shè)備驅(qū)動以及應(yīng)用軟件來說是透明的,但是操作系統(tǒng)必須具有管理內(nèi)存大小變化以及壓縮比率變化的功能。
對于大多數(shù)的操作系統(tǒng)而言,要實(shí)現(xiàn)內(nèi)存壓縮,大部分體系結(jié)構(gòu)都不需要改動。在標(biāo)準(zhǔn)的操作系統(tǒng)中,內(nèi)存都是通過固定數(shù)目的物理頁框(page frame)來描述的,由操作系統(tǒng)的VMM來管理。要支持內(nèi)存壓縮,OS要管理的實(shí)際內(nèi)存大小和頁框數(shù)目是基于內(nèi)存的壓縮比率來確定的。這里的實(shí)現(xiàn)內(nèi)存是指操作系統(tǒng)可的內(nèi)存大小,它與物理內(nèi)存的關(guān)系如下:假設(shè)PM是物理內(nèi)存,RM(t)是系統(tǒng)在t時刻的實(shí)際內(nèi)存,而CR(t)是壓縮比率,在給定時刻t可支持的最大實(shí)際內(nèi)存為RM(t)=CR1(t)×PM。然而,由于應(yīng)用程序的數(shù)據(jù)壓縮率是不依賴于OS而動態(tài)變化的,未壓縮的數(shù)據(jù)可能會耗盡物理內(nèi)存,因此當(dāng)物理內(nèi)存接近耗盡時,操作系統(tǒng)必須采取行動來解決這個問題。
2 內(nèi)存壓縮系統(tǒng)的硬件模型
目前由于內(nèi)存壓縮的思想越來越引起人們的注意市場上也出現(xiàn)了一些基于軟件的內(nèi)存壓縮器。這些內(nèi)存壓縮器主要是通過軟件對數(shù)據(jù)進(jìn)行壓縮,但由于訪問壓縮數(shù)據(jù)帶來的延遲,它在系統(tǒng)性能方面改進(jìn)并不明顯,有些甚至降低了系統(tǒng)性能。本節(jié)介紹一種基于硬件的內(nèi)存壓縮系統(tǒng)模型。
圖1是一個典型的內(nèi)存壓縮系統(tǒng)的硬件模型,包括了壓縮內(nèi)存、L3高速緩沖、壓縮內(nèi)存控制器等硬件部分。
其中壓縮內(nèi)存(133MHz SDRAM)包含了壓縮數(shù)據(jù)。L3高速緩沖是一個共享的、32MB、4路組相聯(lián)、可回寫的高速緩沖,每行大小為1KB,由兩倍數(shù)據(jù)率(DDR)SDRAM制定。L3高速緩沖包含了未壓縮的緩沖行,由于大部分的訪問都可以在L3高速緩沖中命中,因此它隱藏了訪問壓縮主存引起的延遲。L3高速緩沖對于存儲分級體系中的上層而言就是主存,它的操作對于其它硬件,包括處理器和I/O來說都是透明的。壓縮內(nèi)存控制器是整個內(nèi)存壓縮系統(tǒng)的控制中心,它負(fù)責(zé)數(shù)據(jù)的壓縮/解壓,監(jiān)控物理內(nèi)存的使用情況以及實(shí)際地址到物理地址的尋址過程。
數(shù)據(jù)壓縮過程是這樣的:壓縮內(nèi)存控制將1KB的高速緩沖行壓縮后寫入壓縮內(nèi)存中,然后將它們從壓縮內(nèi)存中讀出后解壓。其壓縮算法就是Lempel-Ziv算法,我們會在下一部分介紹這個算法。壓縮機(jī)制將壓縮的數(shù)據(jù)塊以不同的長度格式存放到內(nèi)存中。壓縮內(nèi)存的存儲單元是一個256字節(jié)的區(qū)域。按照壓縮比率不同,一個1KB的內(nèi)存塊(正好是L3每行的大。┛梢哉紦(jù)0~4個壓縮區(qū)域。
壓縮內(nèi)存控制器必須根據(jù)長度格式的不同將系統(tǒng)總線上的實(shí)際地址翻譯成物理內(nèi)存的中的物理地址。實(shí)際地址是出現(xiàn)在處理器外部總線上常規(guī)地址。篁 址用來錄十壓縮內(nèi)存的256字節(jié)區(qū)域。實(shí)際地址空間存在于L1/L2/L3高速緩沖中,用于立即訪問。而其余的內(nèi)存內(nèi)容部分以壓縮形式存在于物理內(nèi)存中。內(nèi)存控制器通過查詢壓縮翻譯表(CTT)執(zhí)行從實(shí)際地址到物理地址的翻譯,這個表被保留在物理
熱門點(diǎn)擊
- 基于圖像的OMR技術(shù)的實(shí)現(xiàn)
- 顏色傳感器TCS230及顏色識別電路
- 線陣CCD圖像傳感器驅(qū)動電路的設(shè)計(jì)
- 嵌入式WebServer技術(shù)及其實(shí)現(xiàn)
- 基于FPGA和RTOS的嵌入式碼流分析設(shè)計(jì)方
- MAX6625型溫度傳感器的原理及應(yīng)用
- 嵌入式系統(tǒng)中的內(nèi)存壓縮技術(shù)
- 汽車LIN總線物理接口器件MC33399的原
- 用AT89C系列單片機(jī)實(shí)現(xiàn)5英寸TFT-LC
- 使熱敏電阻響應(yīng)線性化的溫度-周期轉(zhuǎn)換電路
推薦技術(shù)資料
- DFRobot—玩的就是
- 如果說新車間的特點(diǎn)是“靈動”,F(xiàn)QPF12N60C那么... [詳細(xì)]
- PCB嵌入式功率芯片封裝工作原理
- 莫仕儲能連接器技術(shù)結(jié)構(gòu)應(yīng)用詳情
- 新款 Snapdragon X
- Intel 18A(1.8nm
- 業(yè)界首款STM32配套無線物聯(lián)網(wǎng)模塊
- 2025年全球半導(dǎo)體產(chǎn)業(yè)十大熱門看點(diǎn)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究