《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > 嵌入式系統中的內存壓縮技術

嵌入式系統中的內存壓縮技術

2006-03-11
關鍵詞: 嵌入式 內存壓縮

摘要:介紹內存壓縮技術和一個基于硬件的內存壓縮系統模型,探討內存壓縮技術在嵌入式系統中的應用;重點介紹內存壓縮系統的硬件要求及操作系統對內存壓縮機制的支持;簡單介紹內存壓縮中常用的算法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是一個典型的內存壓縮系統的硬件模型,包括了壓縮內存、L3高速緩沖、壓縮內存控制器等硬件部分。

其中壓縮內存(133MHz SDRAM)包含了壓縮數據。L3高速緩沖是一個共享的、32MB、4路組相聯、可回寫的高速緩沖,每行大小為1KB,由兩倍數據率(DDR)SDRAM制定。L3高速緩沖包含了未壓縮的緩沖行,由于大部分的訪問都可以在L3高速緩沖中命中,因此它隱藏了訪問壓縮主存引起的延遲。L3高速緩沖對于存儲分級體系中的上層而言就是主存,它的操作對于其它硬件,包括處理器和I/O來說都是透明的。壓縮內存控制器是整個內存壓縮系統的控制中心,它負責數據的壓縮/解壓,監控物理內存的使用情況以及實際地址到物理地址的尋址過程。

數據壓縮過程是這樣的:壓縮內存控制將1KB的高速緩沖行壓縮后寫入壓縮內存中,然后將它們從壓縮內存中讀出后解壓。其壓縮算法就是Lempel-Ziv算法,我們會在下一部分介紹這個算法。壓縮機制將壓縮的數據塊以不同的長度格式存放到內存中。壓縮內存的存儲單元是一個256字節的區域。按照壓縮比率不同,一個1KB的內存塊(正好是L3每行的大?。┛梢哉紦?~4個壓縮區域。

壓縮內存控制器必須根據長度格式的不同將系統總線上的實際地址翻譯成物理內存的中的物理地址。實際地址是出現在處理器外部總線上常規地址。篁 址用來錄十壓縮內存的256字節區域。實際地址空間存在于L1/L2/L3高速緩沖中,用于立即訪問。而其余的內存內容部分以壓縮形式存在于物理內存中。內存控制器通過查詢壓縮翻譯表(CTT)執行從實際地址到物理地址的翻譯,這個表被保留在物理內存的某個位置。圖2是CTT表的格式及內存控制器的尋址模式。

每個1KB內存塊的實際地址映射到CTT的一項,而CTT每項共16字節,包括四個物理區域地址,每個地址指向物理內存聽一個256字節區域。對于少于120位的塊,如一個全為零的塊,則使用一種特殊的CTT格式,稱為通用行格式。在這種格式中,壓縮數據全部存放在CTT項中,代替了四個地址指針。因此,一個1KB的通用塊僅占用物理內存中的16字節,其壓縮比率達到64:1。

壓縮內存控制器中有一系列的寄存器用于監控物理內存使用。Sectors Used Register(SUR)向操作系統報告壓縮內存的使用情況。The Sectors Used Threshold Registers,SUTHR和SUTLR,用于設置內存耗盡情況的中斷入口點。SUTLR寄存器是PCI中斷電路INTA的入口,而SUTHR寄存器是NMI中斷的入口。當SUR超過了SUTLR的值,內存控制器產生一個中斷,則操作系統采取措施來阻止內存消耗。

在實際地址到物理地址的轉換中,一個有用的方法是快速頁操作。它允許控制器僅修改CTT項的四個指針,從而將4KB的頁面內容換出或清空??焖夙摬僮魍ㄟ^將與4KB頁面相關的CTT項全部修改通用行格式(即全為零),從而將這4KB頁面的內容全部清空。同樣,一對頁面可以通過交換它們相關的CTT項的區域指針來交換頁面內容。由于沒有大量的數據移動發生,快速頁面操作速度相當快。

壓縮內存控制器的壓縮/解壓功能是基于LempelZiv算法來進行的,因此下一節將簡單介紹一下該算法的思想。

3 內存壓縮算法Lempel-Ziv

絕大多數的壓縮算法,包括用得特別流行的Lempel-Ziv壓縮算法家庭,都是基于對原子記錄(Token)字符串的完全重復檢測。這個算法雖然不是最好的算法,但是,Lempel-Ziv算法強調的是算法的簡單與取得高壓縮率的速率,因此它還是在內存壓縮中得到了廣泛的應用。

Lemple-Ziv算法(簡稱LZ)是編碼時將一個位串分成詞組,然后將數據流描述成一系列的對。每個對組成一個新的詞組,它包含一個數字(前一個詞組的標識)和一個位(被附加到前一個詞組上)。這種編碼方式很龐大,可是一旦應用到適合的字符串,它就是相當有效率的編碼方式。下面舉例說明這種算法是如何編碼的。

++表示連接(010++1=0101),U=0010001101是未被壓縮的字符串。C是壓縮后的字符串。P(x)表示詞組數x。先看一下U=0010001101發現,它可以被寫為U=0++010001101,因此得到P(1)=P(0)++0?,F在繼續將其寫為U=0++02++0001101,可得到P(2)=P(1)++1?,F在我們已經將P(2)描述為上一詞組和一個新的位的組合。下一步,U=0++01++00++01101,并得到P(3)=P(1)++0?,F在我們注意到,有U=0++01+00+011++01,而P(4)=011=P(2)++1,最后得到P(5)=P(1)++1。運算的步驟如表1所列。

一旦創建了表1,就有了整個編碼的圖表。要創建Lempel-Ziv數據流,則依照公式創建對。如果公式是P(x)=P(A)++B,則每個對為(A++B)。因此P(1)=P(0)++0變為(00++0),P(2)=P(1)++0變為(01++0),依此類推,將所有這些對連接起來,就得到了最后的字符串,結果如表2所列。這樣,C就變成000011010101011,看來比U要長得多。但這里由于U的長度短,因此未能看出優勢,而且包含P(0)的公式都沒有壓縮,所以也引起了長度增加。

Lempel-Ziv字符串的解碼是很簡單的,就是抓住其中的對,對照表1進行重構。

表1 編碼過程

步  驟值公  式

U

0-P(0)001000110110P(1)=P(0)++00++010001101201P(2)=P(1)++10++01++00++01101300P(3)=P(1)++00++01++00++011014011P(4)=P(2)++10++01++00++011++01501P(5)=P(1)++10++01++00++011++01

表2 如何創建編碼字符串

公  式P(1)=P(0)++0P(2)=P(1)++1P(3)=P(1)++0P(4)=P(2)++1P(5)=P(1)++1對00++0=00001++1=01101++0=01010=++1=10101++1=011

C

000++011++010++101++011=000011010101011

4 操作系統對內存壓縮的支持

在壓縮內存系統中,內存大小指的是實際內存大小,它比物理內存大。在引導時,BIOS向操作系統報告的內存大小就比實際安裝的物理內存要大。例如,硬件原型安裝的是512MB的SDRAM,但BIOS向操作系統報告的內存大小為1GB。當應用程序數據以2:1或更高的比率壓縮時,實際內存的工作方式與一般操作系統的內存工作方式是相同的。但當應用程序以未壓縮數據來填充內存時(如一個zip文件不可能達到2:1的壓縮比率),由于一般的OS只看到實際地址空間,因此不能意識到物理內存已經耗盡。例如,一個操作系統的實際內存為1024MB,而牧師內存為512MB。這時實際內存已經分配了600MB,系統顯示還有424MB的空閑內存。但是由于已分配內存的壓縮率很低,此時物理內存的耗用已經接近512MB。如果再近一步地分配內存,那么系統就會因為物理內存的耗盡而崩潰,盡管它仍然顯示還有424MB的空閑內存。這種情況下,必須由操作系統提供對壓縮內存進行管理的支持。

由于內存壓縮是一個比較新的概念,一般的情況作系統都沒有這樣的機制來區分實際地址和物理地址,也不能處理“物理內存耗盡”的情況。不過,只要對操作系統內核做一些小的改動或者在操作系統之上增加一個設備驅動程序,即可達到目的。

一般來說,要從以下幾方面對壓縮內存進行管理。

(1)監控物理內存使用情況

通過輪詢或中斷法,查看物理內存的使用情況,并在物理內存耗盡前給出警告。壓縮內存管理例程是通過壓縮內存控制器中的一些寄存器來實現對物理內存的監控。SUR報告物理內存的使用情況,SUTHR和SUTLR用于設置中斷臨界值。壓縮內存管理算法是基于物理內存使用的四種狀態,分別為steady、acquire、danger和interrupt,其臨界值的關系是mc_th_acquire<mc_th_danger<mc_th_interrupt。

我們可以使用輪詢和中斷相結合的方法進行監控,并對物理內存使用的變化作出反應。通過時鐘中斷來驅動輪例程,該例程每10ms讀取一次SUR的值,并將它與系統設定的臨界值比較。當系統處于steady狀態時,不用采取任何行動;當使用超過mc_th_acquire,應該增加nr_rsrv_pages來限制內存分配,但這并未引起內存缺乏;當使用超過mc_th_danger,應該增加nr_rsrv_pages到引起內存缺乏,并導致頁面分配器和置換進程回收內存頁面,一旦進入到該狀態,物理內存管理例程會喚醒置換進程回收內存。

(2)回收內存以及清空空閑頁面內容以減少使用

以標準的Linux內核為例,操作系統中有兩具主要的變量來管理內存太少的情形。這兩個變量是nr_free_pages和struct freepages。為了檢測內存是否已耗盡,在分配內存前要進行檢查。

if(nr_free_pages<freepages.min){

/*內存太少,回收頁面*/

}

else

{/*可以進行分配*/

在內存壓縮系統中,通過增加一個新變量nr_rsrv_pages來完成此功能。這樣就使最小空閑頁面數量變為:freepages.min'=freepages.min+nr_rsrv_pages。

通過動態地調整nr_rsrv_pages變量,壓縮內存管理例程可以人為地造成內存缺乏的現象,從而引起置換進程回收頁面,此時會將調用進程暫時掛起?;厥諆却姘s減各種緩沖,并將進程頁面置換到磁盤上。當頁面返回到空閑頁面池時,它們會被清零。我們可以使用前面提到的快速頁面操作來減少清空頁面操作所帶來的開銷。

(3)阻塞CPU周期以減少物理內存使用率

當物理內存使用超過監界值mc_th_interrupt,控制器就中斷處理器,nr_rsrv_pages進一步增加,然后CPU blocker就開始運行。我們在輪詢機制的基礎上還使用了中斷機制,因為中斷機制比輪詢機制更加快速。如果在10ms的間隔中,物理內存使用突然上升,硬件中斷會比輪詢例程更早檢測到這一情況。為了更加安全,我們使用CPUblocker來阻塞引起物理內存使用的進程。CPU blocker是空閑線程,它們可以使CPU空忙。由于頁面被置換到磁盤是以機器速度運行的,而物理內存使用卻可以以內存訪問速度運行,速度從而得到增加。當牧師內存使用持續增加,以至換頁也無法緩解時,進程需要被阻塞。我們就通過啟動CPUblocker來阻塞CPU周期直到換頁機制能有效地降低物理內存使用。CPUblocker不會阻塞中斷,而且每40ms它就會讓出CPU以免其它進程被餓死。
5 內存壓縮技術在嵌入式系統中的應用

嵌入式系統是一種特殊的計算機系統,它是一個更大的系統或設備的一部分。通常,一個嵌入式系統是駐留在單處理機底板上的,其應用程序存儲在ROM中。事實上,所有具有數字接口的設備——監視器、微波爐、VCRs、汽車等,都使用了嵌入式系統。一些嵌入式系統包含了操作系統,稱為嵌入式操作系統。為了滿足嵌入式應用的特殊要求,嵌入式微處理器雖然在功能上和標準微處理器基本是一樣的,但和工業控制計算機相比,嵌入式微處理器具有體積小、重量輕、成本低、可靠性中,內存仍然是珍貴的資源,因此研究內存壓縮技術在嵌入式系統中的應用具有一定的價值。

內存壓縮的思想在一些嵌入式操作系統中,實際上已經得到了體現。例如在VxWorks中,當操作系統下載到目標機上時,其中一種方式是將引導程序和VxWorks映像都存放在ROM中。為了將其解壓后再從ROM拷貝到RAM。這種基于軟件的壓縮方式,可以節省ROM空間,但其引導過程相對較慢。

以上的內存壓縮技術在ROM中得到了應用,但對于RAM來講,基于軟件內存壓縮技術,由于其訪問壓縮數據可能造成的延遲和不確定性,會對嵌入式系統的實時性造成和。因此它與虛擬內存技術一樣,在嵌入式系統中未得到廣泛應用。

本文所介紹的內存壓縮系統是基于硬件的。在相同基準下,測試結果顯示出,該系統的運行速度比標準系統的運行速度快1.3倍。如果要實現相同大小的內存,采用內存壓縮系統的硬件費用比購買RAM的費用要低,而且內存越大,其節省的費用越多,可以達到一半的價錢。因此筆者認為在內存資源極其寶貴的嵌入式系統中,實現基于硬件的內存壓縮系統具有較大的價值。

結語

本文介紹的內存壓縮系統是基于專門的硬件支持,即L3高速緩沖和內存控制器。在目前大多數Pentium以上架構的硬件平臺上,只需要對操作系統內核做一些小的屐,或者增加一個設備驅動及服務程序,即可完成此項功能。由于嵌入式系統對實時性的要求,基于硬件的內存壓縮技術可以在增大可用內存的同時不影響系統的實時性,其硬件費用相對RAM的價格更低,具有一定的實用價值。

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          午夜精品国产| 狠狠色丁香久久婷婷综合_中| 欧美日韩hd| 日韩一级大片| 久久久久九九九九| 一区二区国产在线观看| 亚洲一区二区三区精品在线| 欧美一级成年大片在线观看| 欧美国产综合视频| 国产精品大片| 久久久精品免费视频| 91久久精品美女高潮| 亚洲精品一区二区在线| 玖玖玖国产精品| 亚洲嫩草精品久久| 国产女主播一区二区三区| 久久综合色综合88| 国产精品久99| 国产午夜精品一区二区三区欧美| 欧美亚洲一区三区| 欧美大片免费观看| 欧美亚洲午夜视频在线观看| 亚洲视频电影图片偷拍一区| 国产精品99久久久久久宅男| 欧美女人交a| 国产精品久久久久久一区二区三区| 欧美激情一区二区三区高清视频| 国产精品日韩在线一区| 亚洲一区视频在线| 欧美—级在线免费片| 在线观看欧美一区| 在线欧美影院| 亚洲一区高清| 久久久亚洲精品一区二区三区| 欧美日本国产视频| 欧美一区二区性| 中日韩视频在线观看| 久久久精品日韩| 亚洲美女尤物影院| 久久精品国产77777蜜臀| 久久综合狠狠综合久久综合88| 欧美激情二区三区| 久久国产高清| 中文日韩电影网站| 欧美一区二区精品| 欧美一级片在线播放| 亚洲精品一区在线观看| 欧美视频中文字幕| 在线成人www免费观看视频| 亚洲视频在线一区观看| 影音先锋日韩精品| 亚洲天堂第二页| 欧美黄免费看| 久久人人看视频| 久久久久在线| 国产精品一区二区在线观看| 国语自产精品视频在线看8查询8| 亚洲高清视频一区二区| 国产精品成人一区二区艾草| 91久久精品美女| 国产日产高清欧美一区二区三区| 在线看欧美视频| 久久久久久久久久久一区| 久久精品国产免费看久久精品| 中日韩午夜理伦电影免费| 亚洲激情综合| 亚洲国产专区校园欧美| 欧美日韩精品一区二区三区四区| 在线精品国产欧美| 欧美午夜激情视频| 国产午夜一区二区三区| 亚洲欧美激情精品一区二区| 夜久久久久久| 樱桃成人精品视频在线播放| 国产日韩精品在线播放| 亚洲精品少妇| 1024国产精品| 麻豆9191精品国产| 欧美大片免费久久精品三p| 欧美日韩免费| 在线日韩欧美视频| 国产精品第一页第二页第三页| 亚洲午夜视频在线| 欧美成ee人免费视频| 国内久久精品| 欧美日韩综合| 亚洲影视在线播放| 暖暖成人免费视频| 欧美一级成年大片在线观看| 欧美日韩成人在线播放| 国产主播在线一区| 欧美一区二区三区成人| 国产精品欧美激情| 欧美日韩国产色站一区二区三区| 日韩一级不卡| 欧美成人国产| 国产精品拍天天在线| 亚洲免费精品| 美脚丝袜一区二区三区在线观看| 国产情侣久久| 99国产精品视频免费观看一公开| 欧美成人r级一区二区三区| 亚洲精品你懂的| 精品av久久707| 中文国产成人精品久久一| 久久精品国产一区二区三区免费看| 香蕉成人伊视频在线观看| 国产精品成人播放| 亚洲成人在线网站| 亚洲精品乱码久久久久久按摩观| 欧美亚洲成人网| 亚洲欧美日韩国产成人精品影院| 国产在线不卡精品| 欧美韩日亚洲| 欧美在线播放一区| 亚洲精品乱码视频| 国产精品永久免费在线| 国产自产女人91一区在线观看| 欧美日韩mv| 开元免费观看欧美电视剧网站| 蜜臀a∨国产成人精品| 国产亚洲成av人在线观看导航| 韩日精品中文字幕| 最新69国产成人精品视频免费| 红桃视频亚洲| 国产在线精品二区| 亚洲第一毛片| 久久久久国产精品一区二区| 欧美亚洲在线观看| 一区二区三区欧美成人| 亚洲大胆视频| 激情视频一区二区| 亚洲综合大片69999| 免费久久99精品国产| 国产精品久久久久久久第一福利| 国产视频一区欧美| 久久只有精品| 欧美精品色综合| 国产精品激情电影| 玖玖玖国产精品| 黑人巨大精品欧美黑白配亚洲| 久久―日本道色综合久久| 亚洲精品一区二区三区福利| 国产精品三级视频| 亚洲女优在线| 欧美午夜在线一二页| 久久深夜福利| 日韩视频在线观看一区二区| 国产一区二区高清视频| 亚洲欧美视频一区二区三区| 国产日韩一区二区三区| 在线看片日韩| 亚洲成人自拍视频| 免费亚洲婷婷| 亚洲国产精品久久人人爱蜜臀| 国产精品亚洲综合一区在线观看| 性欧美大战久久久久久久久| 日韩视频免费在线观看| 久久久一区二区三区| 亚洲一品av免费观看| 欧美精品性视频| 久久久久欧美精品| 久久国产精彩视频| 黑人巨大精品欧美一区二区| 欧美精品日韩精品| 国产精品婷婷| 欧美一区=区| 国产精品成人aaaaa网站| 国产精品99一区二区| 蜜桃av久久久亚洲精品| 国产日韩一区二区三区| 国产精品揄拍500视频| 国产农村妇女精品一二区| 在线成人国产| 欧美成人一区二区三区| 另类酷文…触手系列精品集v1小说| 久久精品国产亚洲5555| 国产午夜精品美女视频明星a级| 欧美综合国产| 亚洲国产日韩欧美| 欧美日韩不卡合集视频| 欧美另类在线播放| 在线电影欧美日韩一区二区私密| 原创国产精品91| 蜜臀99久久精品久久久久久软件| 亚洲欧洲一区二区三区久久| 欧美不卡一卡二卡免费版| 亚洲欧美综合| 亚洲在线一区| 欧美福利视频网站| 欧美91视频| 欧美日韩精品伦理作品在线免费观看| 欧美在线免费| 亚洲高清中文字幕| 亚洲在线第一页| 亚洲欧美乱综合| 亚洲国产高清一区二区三区| 欧美日韩精品不卡| 久久国产日韩欧美| 麻豆91精品| 在线视频中文亚洲| 国产精品另类一区| 久久国产一区| 伊人成年综合电影网| 亚洲免费高清| 欧美色图首页| 在线成人av.com| 久久综合色综合88| 欧美激情一区二区久久久| 在线一区二区三区做爰视频网站| 欧美精品在线极品| 欧美高清在线精品一区| 国产美女精品一区二区三区| 一本久道久久综合中文字幕| 伊人成人在线视频| 亚洲欧美日韩久久精品| 国产精品视频网站| 欧美日本在线播放| 久久国产主播精品| 欧美视频一区二区三区…| 欧美精品一区二区三| 国产精品普通话对白| 午夜在线播放视频欧美| 久久久噜噜噜| 欧美专区18| 亚洲视频在线一区| 欧美性猛交xxxx乱大交退制版| 一区免费观看| 欧美日韩国产精品专区| 国产一区二区三区久久精品| 好吊视频一区二区三区四区| 一本色道精品久久一区二区三区| 国产午夜精品久久久久久久| 国产一区二区三区四区hd| 亚洲欧美清纯在线制服| 久久这里只精品最新地址| 欧美午夜无遮挡| 亚洲午夜av电影| 国产精品久久99| 欧美肥婆在线| 亚洲天堂成人在线视频| 国产精品极品美女粉嫩高清在线| 欧美午夜精品理论片a级大开眼界| 在线亚洲欧美专区二区| 亚洲欧洲一区二区三区在线观看| 国内精品**久久毛片app| 欧美色视频在线| 久久久精品久久久久| 亚洲网站在线播放| 午夜欧美不卡精品aaaaa| 久久视频一区二区| 日韩视频在线观看国产| 久久在精品线影院精品国产| 欧美日韩国产色综合一二三四| 久久激情婷婷| 国产精品自拍在线| 亚洲黄网站黄| 久久先锋影音| 国产精品视频一区二区三区| 欧美三级乱码| 国产精品国产精品国产专区不蜜| 午夜精品久久99蜜桃的功能介绍| 国产在线国偷精品产拍免费yy| 欧美日韩国产91| 国产精品日韩精品欧美精品| 欧美亚洲午夜视频在线观看| 性视频1819p久久| 欧美制服丝袜| 亚洲精品在线观看免费| 久久综合给合久久狠狠色| 91久久精品www人人做人人爽| 欧美aa在线视频| 欧美精品1区2区3区| 亚洲免费伊人电影在线观看av| 怡红院精品视频在线观看极品| 欧美在线免费观看| 国产真实精品久久二三区| 欧美日韩亚洲一区二区三区在线观看| 亚洲午夜视频在线观看| 在线综合视频| 噜噜爱69成人精品| 99精品国产在热久久| 久久综合图片| 国产精品狠色婷| 激情成人在线视频| 欧美大成色www永久网站婷| 国产精品国产三级国产普通话99| 欧美日韩国产999| 欧美色综合天天久久综合精品| 免费不卡在线视频| 国产一区成人| 国产情侣久久| 久久美女艺术照精彩视频福利播放| 国产主播一区二区| 亚洲一区二区少妇| 欧美91福利在线观看| 欧美激情精品久久久久久变态| 欧美三级午夜理伦三级中视频| 一区二区三区四区五区精品视频| 韩国一区二区在线观看| 欧美日韩亚洲在线| 国产在线精品二区| 影音先锋亚洲视频| 久久一区欧美| 久久久夜色精品亚洲| 欧美高清在线视频观看不卡| 国产欧美成人| 欧美韩日高清| 麻豆久久婷婷| 亚洲毛片一区二区| 欧美天天影院| 国产区在线观看成人精品| 免费视频一区| 国产亚洲精品成人av久久ww| 国产欧美日本在线| 欧美日韩精品一区二区三区| 欧美精品久久一区| 99精品黄色片免费大全| 1024精品一区二区三区| 韩日视频一区| 欧美日韩成人在线视频| 亚洲一区二区欧美日韩| 午夜精品免费视频| 国产九区一区在线| 欧美激情一区三区| 欧美大片第1页| 99国产精品久久久久久久成人热| 亚洲国产网站|