亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于改進動態(tài)配置的FPGA卷積神經(jīng)網(wǎng)絡(luò)加速器的優(yōu)化方法①

        2020-04-21 02:28:52陳慶清王海霞張怡龍劉義鵬梁榮華
        高技術(shù)通訊 2020年3期
        關(guān)鍵詞:流水線加速器定點

        陳 朋 陳慶清 王海霞 張怡龍 劉義鵬 梁榮華

        (*浙江工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院 杭州 310000) (**浙江工業(yè)大學(xué)信息工程學(xué)院 杭州 310000)

        0 引 言

        近年來,由于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的結(jié)構(gòu)層次越來越深,在圖像分類、目標(biāo)檢測、目標(biāo)跟蹤[1]等計算機視覺領(lǐng)域都得到了廣泛的應(yīng)用,但高計算復(fù)雜度和大內(nèi)存占用是硬件加速的瓶頸,需要開發(fā)更高效的硬件加速解決方案來驅(qū)動實時應(yīng)用程序[2]。Li等人[3]提出了基于GPU的大規(guī)模遞歸神經(jīng)網(wǎng)絡(luò)的高效實現(xiàn)。Li等人[4]分析了GPU加速器潛在的性能瓶頸。隨著CNN模型越來越大、越來越深,CNN加速器需要更多的計算操作和數(shù)據(jù)訪問,雖然GPU具有強大的計算能力,但也存在著功耗較高、體積較大和成本較高等問題。

        現(xiàn)場可編程門陣列(field programmable gate arrang, FPGA)具有大量陣列形式邏輯、運算單元,在尺寸、功耗和并行運算方面都比GPU有優(yōu)勢[5],具有高性能、低功耗、使用靈活方便等優(yōu)點[6]。傳統(tǒng)構(gòu)造FPGA的卷積神經(jīng)網(wǎng)絡(luò)的方式是基于寄存器傳輸級(register transfer level,RTL)描述語言設(shè)計的。郭曉丹等人[7]在FPGA上實現(xiàn)了單比特BP人工神經(jīng)網(wǎng)絡(luò),采用了低環(huán)路延遲加法器、混合信號乘法器來減少硬件消耗,提高運算精度。Han等人[8]在FPGA平臺上設(shè)計的網(wǎng)絡(luò)加速器,其能源效率是CPU的40倍,GPU的11.5倍。林軍等人[9]提出了基于數(shù)據(jù)流水線的資源管理,馮煜晶等人[10]針對流水線停頓提出了動態(tài)指令調(diào)度機制。Li等人[11]采用流水線結(jié)構(gòu)達(dá)到565.94 GOP/s和391 fps的峰值性能。但傳統(tǒng)的基于RTL設(shè)計的神經(jīng)網(wǎng)絡(luò)仍然具有流程復(fù)雜、周期較長和優(yōu)化空間較小等問題[12]。Ma等人[13,14]基于RTL設(shè)計了可擴展的自動編譯器,但仍然無法避免流程復(fù)雜、周期較長等問題。

        在其他基于FPGA的CNN加速器的設(shè)計方法中,使用基于高層次綜合(high-level synthesis,HLS)工具可以將高級編程語言直接轉(zhuǎn)化為硬件描述語言(hardware description language,HDL),并且對所生成的硬件結(jié)構(gòu)可以通過插入優(yōu)化指令進行優(yōu)化,其中包括映射硬件寄存器、循環(huán)、接口等操作[15]。Zhang等人[16]通過HLS工具,使得基于FPGA的加速器的速度是NVIDIA K80的4.75倍。盧治等人[17]使用HLS工具證明了FPGA平臺在不同的網(wǎng)絡(luò)模型下效能遠(yuǎn)高于GPU平臺。由此可見,HLS工具設(shè)計的FPGA神經(jīng)網(wǎng)絡(luò)加速器同樣具有良好的性能,而且在設(shè)計周期上遠(yuǎn)遠(yuǎn)短于傳統(tǒng)方法,具有良好的可擴展性。

        另一方面,在數(shù)據(jù)規(guī)模較大的分類場景下,并不需要網(wǎng)絡(luò)的高精度,需要的是更高實時性。在FPGA上,實現(xiàn)定點運算的效率比浮點運算高得多。Gysel等人[18]和Qiu等人[19]分別在GPU平臺和基于RTL設(shè)計的FPGA平臺提出動態(tài)定點數(shù)據(jù)量化方法,并且Qiu等人[19]只引入了0.4%的精度損失,實現(xiàn)了4.45 fps的幀率。在可接受的精度損失的條件下,對FPGA卷積加速器采用定點設(shè)計,可以有效減少硬件開銷,從而提升加速器的性能。

        綜上所述,本文提出改進動態(tài)配置的FPGA卷積神經(jīng)網(wǎng)絡(luò)加速器的優(yōu)化方法。該方法采用C++作為編程語言,將加速器任務(wù)劃分到處理器系統(tǒng)與可編程邏輯上。處理器系統(tǒng)上使用基于模塊復(fù)用的流水線方式,多個模塊之間通過片內(nèi)總線實現(xiàn)高速互連。在可編程邏輯上將引入分割參數(shù),使用HLS工具設(shè)計具有可擴展性卷積加速器并實現(xiàn)其功能。同時采用8-16位動態(tài)定點方案,將浮點數(shù)據(jù)改為動態(tài)定點數(shù)據(jù),引入量化參數(shù),以適配不同網(wǎng)絡(luò)層量化配置。本文將ImageNet數(shù)據(jù)庫作為數(shù)據(jù)集,在FPGA上搭建了CNN網(wǎng)絡(luò)加速器,驗證了方法的有效性。本文的主要工作如下。

        (1) 引入分割參數(shù)后,以流水線的方式將網(wǎng)絡(luò)中相同層進行模塊復(fù)用來實現(xiàn)并行工作,并建立沖突解決機制來解決輸入數(shù)據(jù)的競爭問題。

        (2) 根據(jù)FPGA的計算特性,采用動態(tài)定點數(shù)據(jù)量化方法,將浮點數(shù)據(jù)改為動態(tài)定點數(shù)據(jù)。并在HLS工具設(shè)計過程中引入量化參數(shù),以適配不同網(wǎng)絡(luò)層量化配置。

        1 FPGA卷積神經(jīng)網(wǎng)絡(luò)加速器的優(yōu)化方法

        1.1 系統(tǒng)任務(wù)的軟硬件劃分

        本文對優(yōu)化對象進行劃分,將不同的優(yōu)化對象分別劃分到處理器系統(tǒng)(processing system,PS)與可編程邏輯(programmable logic,PL)上,優(yōu)化示意圖如圖1所示。在PS部分上實現(xiàn)基于流水線結(jié)構(gòu)的層間模塊復(fù)用,并建立對應(yīng)的沖突處理機制來解決復(fù)用造成的信號沖突;在PL部分上利用HLS工具設(shè)計優(yōu)化卷積加速器,通過仿真報告來驗證資源占用比。完成設(shè)計后,對整個系統(tǒng)進行聯(lián)合仿真,驗證結(jié)果的準(zhǔn)確性,通過實驗來驗證設(shè)計方法的有效性。

        圖1 優(yōu)化示意圖

        1.2 具有可擴展性的卷積加速器設(shè)計

        卷積神經(jīng)網(wǎng)絡(luò)的特征提取階段往往由多個計算層組成,例如AlexNet網(wǎng)絡(luò),它的特征提取階段可以由5個卷積層和3個池化層組成。卷積運算如圖2所示。卷積層接收特征圖作為輸入,每個輸入特征圖通過卷積核映射生成輸出特性,輸出特征圖將形成下一個卷積層的輸入特征圖集。N表示特征圖的個數(shù),W和H分別表示輸入特征圖的寬與高,K×K表示卷積核的窗口大小,S(通常小于K)表示窗口的平移步長,M表示輸出特征圖的個數(shù)和卷積核的個數(shù),C和R分別表示輸出特征圖的寬與高。

        圖2 卷積運算示意圖

        池化層的目標(biāo)是減少前一個卷積層產(chǎn)生的數(shù)據(jù)的大小,同時保持最相關(guān)的特性。實際上,池化層通常插入到2個卷積層之間。因為卷積層和池化層擁有相似的內(nèi)存訪問模式,因此它們在本文中使用相同的內(nèi)存和優(yōu)化設(shè)計方案,可以用式(1)表達(dá)。其中OUT表示輸出特征圖,W表示權(quán)重系數(shù),IN表示輸入特征圖。

        ×INti,S×row+i,S×col+j

        (1)

        在一般情況下,卷積神經(jīng)網(wǎng)絡(luò)所處理的輸入集輸出集均為3維數(shù)據(jù),需要和各個層的卷積核大小和步長一起作為函數(shù)變量進行傳遞。但如果循環(huán)內(nèi)含有變量,就不能利用HLS工具的循環(huán)展開、循環(huán)流水線等優(yōu)化方式進行優(yōu)化。

        為了提高數(shù)據(jù)處理的并行度,引入分割參數(shù),對輸出特征圖深度、輸入特征圖深度、輸出特征圖寬和長進行分割。在Zhang等人[20]的工作中,不同循環(huán)迭代之間的數(shù)據(jù)共享關(guān)系可以分為3類:無關(guān)、獨立、依賴。循環(huán)參數(shù)Tr、Tc和輸入集IN是依賴關(guān)系,和輸出集OUT是獨立關(guān)系;Tm和權(quán)重集W、輸出集OUT均是獨立關(guān)系;Tn和輸入集IN、權(quán)重集W均是獨立關(guān)系。

        在卷積層加速器進行高層次綜合之前,需要確定分割參數(shù)的數(shù)值,即將其作為固定的加速器參數(shù)。根據(jù)數(shù)據(jù)共享關(guān)系,對循環(huán)進行分割及重排后的卷積結(jié)構(gòu)如式(2)所示。其中F(x)表示循環(huán)展開,L(x)表示循環(huán)流水線。在經(jīng)過優(yōu)化后,卷積層中的卷積運算根據(jù)分割參數(shù)的設(shè)定,展開為多條處理通道進行并行計算。

        (2)

        1.3 資源約束下基于流水線結(jié)構(gòu)的層間模塊復(fù)用

        對于大規(guī)模的應(yīng)用場景,圖像數(shù)據(jù)往往是具有連續(xù)性的。根據(jù)CNN數(shù)據(jù)處理特性,可知CNN內(nèi)部的數(shù)據(jù)處理過程是依照不同處理層順序進行的,即網(wǎng)絡(luò)中前后相鄰的層之間,數(shù)據(jù)具有依賴關(guān)系,無法進行并行處理。對于GPU來說,卷積神經(jīng)網(wǎng)絡(luò)的每一層輸入都是上一層的輸出,層間的數(shù)據(jù)關(guān)系緊密相關(guān),是一種串行結(jié)構(gòu),無法做到層間并行運算。相比于GPU,F(xiàn)PGA的硬件結(jié)構(gòu)可以采用流水線結(jié)構(gòu),用以減少運算的時間開銷,提高資源利用率。

        本文中的流水線由多個卷積神經(jīng)網(wǎng)絡(luò)的層級結(jié)構(gòu)組成。由于流水線中的不同層級模塊具有不同的計算時間,計算周期最長的層級模塊是流水線中瓶頸段,實際加速比也由瓶頸段所決定的。實際加速比S如式(3)所示:

        (3)

        在資源約束情況下,想要保持卷積神經(jīng)網(wǎng)絡(luò)良好的計算性能,需要充分考慮其并行運算的情況。由于相鄰層之間具有數(shù)據(jù)依賴關(guān)系,其數(shù)據(jù)處理無法并行進行,為達(dá)到對資源的高效利用,本文采用各個不同網(wǎng)絡(luò)層間模塊復(fù)用的方案,如圖3所示,以實現(xiàn)對硬件資源的節(jié)約并提高單個加速器的計算效能。即其中所有卷積層采用同一個卷積加速器進行計算,所有池化層采用同一個池化層加速器進行處理,所有全連接層采用同一個全連接層加速器進行處理。

        圖3 網(wǎng)絡(luò)層間模塊復(fù)用示意圖

        模塊復(fù)用的關(guān)鍵在于解決輸入數(shù)據(jù)的競爭問題。模塊重用之前,各個模塊的輸入和輸出是相互獨立的。模塊重用之后,多個輸入需要整合成一個輸入,重用模塊的輸出是根據(jù)輸入選擇的。t時刻多個輸入數(shù)據(jù)的沖突信號C是由輸入數(shù)據(jù)的有效信號V組成的,如式(4)所示,其中v表示輸入數(shù)據(jù)個數(shù)。

        (4)

        如果重用模塊在t時刻檢測到?jīng)_突(C≥1),就需要建立沖突解決機制來避免沖突。我們通過增加流水線cache的方式,避免數(shù)據(jù)同時到達(dá)重用模塊的輸入端口。具體操作是在后一個模塊數(shù)據(jù)輸入前增加FIFO來緩存輸入數(shù)據(jù),直到?jīng)_突解決。

        對于流水線中的第k個模塊,它在t時刻輸入信號Vα如式(5)所示。當(dāng)Vα=0時,說明輸入無效。當(dāng)Vα>0時,則說明輸入有效。

        (5)

        在增加了x級的cache后,模塊的流水線在t時刻輸入信號Vβ如式(6)所示,此時沖突信號C如式(7)所示。其中Vx表示在增加了x級的cache后,重用模塊的輸入數(shù)據(jù)的有效信號。

        (6)

        (7)

        1.4 動態(tài)定點數(shù)據(jù)量化

        卷積神經(jīng)網(wǎng)絡(luò)的復(fù)雜性集中在兩部分,卷積層中存在著大量的運算,而網(wǎng)絡(luò)權(quán)重通常集中于全連接層。例如AlexNet,超過90%的運算集中在卷積層,超過90%的網(wǎng)絡(luò)權(quán)值集中在全連接層中,如圖4所示。

        圖4 AlexNet中不同層的運算次數(shù)和權(quán)重數(shù)

        傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)模型在CPU和GPU的訓(xùn)練過程中得到的都是32位的浮點型數(shù)據(jù),但是在測試或者分類階段,并不需要這樣的高精度。FPGA卷積神經(jīng)網(wǎng)絡(luò)加速器的設(shè)計目標(biāo)是以最高性能實現(xiàn)最佳精度。在Zhang等人[20]的工作中,實現(xiàn)模型采用32位的浮點型數(shù)據(jù)進行計算。然而在FPGA上,實現(xiàn)定點運算的效率比浮點運算高得多[21]。在盡可能不影響精度的前提下,如果將網(wǎng)絡(luò)進行量化,使用定點運算來代替浮點運算,直接降低存儲需求以及存儲傳輸所消耗的能量,從而提升加速器的性能。網(wǎng)絡(luò)的準(zhǔn)確性往往取決于用于表示特征圖和訓(xùn)練參數(shù)的精度參數(shù),需要合理的量化參數(shù)來保證模型量化后的網(wǎng)絡(luò)準(zhǔn)確性。

        對傳統(tǒng)的靜態(tài)定點方案而言,只能滿足大部分的權(quán)重取值范圍,而動態(tài)定點方案可以通過調(diào)整數(shù)據(jù)格式來滿足不同網(wǎng)絡(luò)層的精度需求。在動態(tài)定點方案中,每個數(shù)字都可以用式(8)表示:

        (8)

        其中B表示位寬,S表示符號位,F(xiàn)表示小數(shù)長度,x表示當(dāng)前位的值。動態(tài)精度量化與靜態(tài)精度量化不同之處在于FL對于不同網(wǎng)絡(luò)層的特征圖集是動態(tài)的,而在一個圖層中是靜態(tài)的,這樣做是為了將每個網(wǎng)絡(luò)層的誤差最小化。

        由于動態(tài)定點中每個網(wǎng)絡(luò)層的量化參數(shù)各有差異,特別是針對層間模塊復(fù)用的情況,因此在使用HLS工具設(shè)計網(wǎng)絡(luò)層加速器時,需引入量化參數(shù)來適配各種量化配置的情況。表示輸入集、輸出集、權(quán)重集所需的位寬,表示輸入集、輸出集、權(quán)重集所需的小數(shù)位。

        在完成訓(xùn)練之后需要對網(wǎng)絡(luò)進行量化來獲取量化參數(shù),并根據(jù)網(wǎng)絡(luò)精度變化來選取最優(yōu)的量化參數(shù)。在選取量化參數(shù)時應(yīng)滿足式(9)的條件:

        F=argmin∑|R-RB,F|

        (9)

        其中,R為訓(xùn)練時得到的定點數(shù)據(jù),RB,F為給定條件下的定點格式。

        2 實驗結(jié)果和分析

        本文實驗采用了Xilinx公司的Xilinx SDSoC 2017.4軟件環(huán)境進行硬件開發(fā),使用的硬件平臺為該公司的ZCU102開發(fā)板,其芯片型號為ZU9EG,使用的工作頻率為200 MHz,采用了8-16位動態(tài)定點方案。實驗采用的數(shù)據(jù)集為ImageNet數(shù)據(jù)集,對比的GPU平臺為NVIDIA公司的TITAN-X,本實驗測試的網(wǎng)絡(luò)結(jié)構(gòu)為AlexNet網(wǎng)絡(luò)和VGG網(wǎng)絡(luò)。

        卷積層加速器內(nèi)部的乘加運算需調(diào)用數(shù)字信號處理器(digital signal processor, DSP)來進行,在本文中,對卷積操作的循環(huán)進行了展開,卷積層加速器所消耗的DSP數(shù)量與循環(huán)分割參數(shù)Tm和Tn的關(guān)系如圖5所示,可見卷積層加速器的DSP的消耗量與分割參數(shù)Tm×Tn呈線性關(guān)系,循環(huán)展開越大,DSP消耗量也越大。

        卷積層加速器內(nèi)部的片上緩存主要是調(diào)用雙極隨機存取存儲器(bipolar random access memory, BRAM)來進行存儲的,在本文中卷積層加速器所消耗的BRAM與循環(huán)分割參數(shù)Tr和Tc的關(guān)系如圖6所示,可見BRAM的消耗量與分割參數(shù)Tr×Tc基本呈線性關(guān)系,便于之后的拓展設(shè)計。

        AlexNet網(wǎng)絡(luò)和VGG網(wǎng)絡(luò)在動態(tài)定點量化前后的Top-1和Top-5的準(zhǔn)確率如表1所示。AlexNet網(wǎng)絡(luò)量化前后Top-1和Top-5的精度損失為0.4%和0.14%,VGG網(wǎng)絡(luò)量化前后Top-1和Top-5的精度損失為0.63%和0.53%,與其他加速算法的精度損失對比如表2所示。Naveen等人[22]和Wei等人[23]采用8-16位定點,Zhang等人[24]采用16位定點,其算法精度損失均在1%~2%左右。而本文采用的8-16位動態(tài)定點設(shè)計方案在此基礎(chǔ)上將精度損失減小至0.63%。

        圖5 不同參數(shù)配置下的DSP消耗量

        圖6 不同參數(shù)配置下的BRAM消耗量表1 量化前后網(wǎng)絡(luò)模型精度比較

        準(zhǔn)確率32位浮點Top-1Top-58-16位動態(tài)定點Top-1Top-5AlexNet63.87%85.39%63.47%85.25%VGG71.59%90.07%70.96%89.54%

        表2 不同加速器的精度損失比較

        利用循環(huán)展開、流水線等HLS工具的優(yōu)化技術(shù)進行網(wǎng)絡(luò)加速,表3顯示了優(yōu)化前后的單張圖片運行時間和資源占用比。DSP的資源比優(yōu)化前增加7.2倍,其余資源也有增加,但都未超過系統(tǒng)所提供的硬件資源上限,同時運算速度提升了295.7倍。在應(yīng)用層間模塊復(fù)用后,硬件資源基本沒有變動,但平均計算時間僅是原來的20%。

        表3 優(yōu)化前后運算時間、資源占用對比

        針對AlexNet網(wǎng)絡(luò)結(jié)構(gòu),應(yīng)用本文的優(yōu)化配置后,對其性能及功耗進行測量,并將結(jié)果與其他優(yōu)化方法比較,其對比結(jié)果如表4所示。在TIAN-X上每幅圖的計算時間為1.93 ms,本文每幅圖的計算時間為3.44 ms,是TIAN-X的1.78倍,但在TIAN-X上每幅圖所需功耗為0.511 J,本文每幅圖所需功耗僅需0.078 J,其計算能效達(dá)到了GPU的7.2倍,并且FPGA的便攜性遠(yuǎn)遠(yuǎn)高于GPU。Zhang等人[20]使用HLS工具,提出了基于循環(huán)迭代之間的數(shù)據(jù)共享關(guān)系的循環(huán)分割與重排。本文在此基礎(chǔ)上進行8-16位的動態(tài)定點量化,并引入了基于流水線層間模塊復(fù)用,將計算速度提高了6.2倍,同時也優(yōu)于文獻[22]基于OpenCL的開發(fā)方式。文獻[9]基于RTL設(shè)計,用流水線結(jié)構(gòu)來增加吞吐量,達(dá)到了391 fps的峰值性能。雖然Li等人[9]設(shè)計的加速器速度更快,但由于功耗更大,其計算能效和本文的方法幾乎相同,且開發(fā)周期較長,應(yīng)對不同網(wǎng)絡(luò)結(jié)構(gòu)的可擴展性不強。

        針對VGG網(wǎng)絡(luò)結(jié)構(gòu)的性能比較如表5所示,在TIAN-X上每幅圖的計算時間為6.60 ms,本文每幅圖的計算時間為18.37 ms,計算能效達(dá)到了GPU的3.89倍。文獻[23]采用的是脈動陣列的高通量CNN設(shè)計,每幅圖的計算時間為26.85 ms。文獻[25]針對卷積循環(huán)的內(nèi)存訪問和數(shù)據(jù)移動進行了定量分析和優(yōu)化,每幅圖的計算時間分別為47.97 ms。文獻[24]使用RTL提出了一個深度流水線的多FPGA架構(gòu)。而本文結(jié)合了循環(huán)迭代優(yōu)化和流水線優(yōu)化,提高了計算速度的優(yōu)化上限,把計算速度提高了至少2倍。

        表4 AlexNet網(wǎng)絡(luò)加速器的性能比較

        表5 VGG網(wǎng)絡(luò)加速器的性能比較

        3 結(jié) 論

        本文利用HLS工具的可擴展性,提出了一種改進動態(tài)配置的FPGA卷積神經(jīng)網(wǎng)絡(luò)加速器的優(yōu)化方法。引入循環(huán)分割參數(shù),設(shè)計了具有可擴展性的卷積加速器。將網(wǎng)絡(luò)層通過復(fù)用模塊,組合成流水線的工作方式,采用8-16位動態(tài)定點方案。在Xilinx的ZCU102開發(fā)板上實現(xiàn)了AlexNet網(wǎng)絡(luò)和VGG網(wǎng)絡(luò)。在最大精度損失0.63%的條件下,將加速器性能分別從46.3 fps和37.2 fps提高到了290.7 fps和54.4 fps,計算能效分別達(dá)到了TITAN-X的1.78倍和3.89倍。實驗結(jié)果表明,本文所提出的改進動態(tài)配置的FPGA卷積神經(jīng)網(wǎng)絡(luò)加速器的優(yōu)化方法,在計算能效上優(yōu)于GPU Titan-X,滿足了計算實時性的要求,同時也解決了功耗和體積問題。

        猜你喜歡
        流水線加速器定點
        輪滑加速器
        化學(xué)工業(yè)的“加速器”
        Gen Z Migrant Workers Are Leaving the Assembly Line
        例談圓錐曲線中的定點定值問題
        定點幫扶讓村民過上美好生活
        解析幾何中定點問題的處理策略
        全民小康路上的“加速器”
        少先隊活動(2021年6期)2021-07-22 08:44:24
        直線過定點的5種特優(yōu)解法
        流水線
        等待“加速器”
        日本久久精品在线播放| 国模欢欢炮交啪啪150| 亚洲国产天堂久久综合| 99精品一区二区三区无码吞精 | 人妻丰满av无码中文字幕| 忘忧草社区www日本高清| 男女边吃奶边做边爱视频| 一本大道久久精品 东京热| 久久精品国产亚洲av调教| 青青草小视频在线播放| 少妇被粗大的猛进出69影院| 精品无码人妻一区二区三区| 亚洲国产成人精品激情资源9| 国产三级伦理视频在线| av中国av一区二区三区av| 午夜三级a三级三点在线观看| 欧美大屁股xxxx| 欧美做受视频播放| 欧美精品v欧洲高清| 国产自拍成人在线免费视频| 日韩中文字幕有码午夜美女| 久久久久久国产精品mv| 亚洲色成人网一二三区| 美女叉开双腿让男人插| 日韩精品人妻系列中文字幕| 国产精品∧v在线观看| 久久99精品国产99久久| 97中文字幕在线观看| 国产免费一区二区三区在线视频| 国产精品一区二区av不卡 | 亚洲精品乱码久久久久久蜜桃不卡 | 99国产精品久久99久久久| 亚洲伊人一本大道中文字幕| 亚洲天堂手机在线| 岛国视频在线无码| 亚洲国产精品国自拍av| 亚洲一区av在线观看| 亚洲乱码av中文一区二区| 精品无码久久久九九九AV| 一区二区日本免费观看| 亚洲av国产av综合av卡|