999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種類腦處理器片上網絡的驗證框架*

2022-05-27 02:05:40陳小帆楊智杰彭凌輝王世英李石明康子揚
計算機工程與科學 2022年5期

陳小帆,楊智杰,彭凌輝,王世英,周 干,李石明,康子揚,王 耀,石 偉,王 蕾

(國防科技大學計算機學院,湖南 長沙 410073)

1 引言

隨著摩爾定律不斷發展,計算機的計算能力與存儲能力呈指數級提升,雖然存儲與計算單元分離的馮·諾依曼體系結構推動了計算機計算性能的持續提升,但存儲單元與計算單元之間的通信延遲瓶頸[1]依舊存在。在處理器時鐘頻率和性能不斷上升的同時,存儲器訪問速度卻增長緩慢,因此處理器與存儲器之間的鴻溝越來越大,即造成“存儲墻”瓶頸。此外,計算、存儲和I/O的速度越來越不匹配,基于傳統架構的平衡體系結構設計面臨較大瓶頸[1]。同時,隨著工藝特征尺寸的縮小以及片上設計復雜度的增加,芯片單位面積的功耗密度急劇上升,已經接近當前封裝、散熱以及底層技術所能支持的極限,即傳統處理器也面臨著“功耗墻”瓶頸。因此,亟需新的計算模式及體系結構來滿足與日俱增的計算性能需求。

類腦計算(Neuromorphic Computing)[2]作為人工智能領域的重要分支,其目標是實現類腦智能和類腦計算系統[2]。通過仿真生物神經元和突觸的信息處理結構和功能,類腦計算可實現大規模神經網絡。類腦計算具有存算一體和高能效的特點,能夠很好地解決“存儲墻”和“功耗墻”問題。

類腦處理器作為新型的仿生架構,在彌補傳統架構不足的基礎上,面向生物神經網絡來實現智能算法的高效部署。其中,基于超大規模集成電路系統來模擬脈沖神經網絡SNN(Spiking Neural Network)功能的類腦處理器受到了學術界和工業界越來越多的關注,例如IBM研發了TrueNorth[3],Intel開發了Loihi[4],蘇黎世聯邦理工大學設計了DynapSE[5],曼徹斯特大學推出了SpiNNaker[6],清華大學研發了天機(Tianjic)[7]芯片,浙江大學提出了達爾文(Darwin)[8]芯片等類腦處理平臺。此類處理器的一大基本特征是“存儲與計算合二為一”,即其處理單元既可進行計算也可存儲數據[2],從根本上避免了馮·諾依曼體系結構的存儲墻問題。此外,類腦處理器憑借其較低的通信損耗,以及基于異步電路和脈沖數據的事件觸發特性,在某些應用場景下其功耗甚至僅為通用處理器的千分之一[2],很好地避免了功耗墻問題。為計算機技術發展提供了新的突破點。

然而隨著脈沖神經網絡的發展,單核類腦處理器因為包含的神經元數量不足,已無法有效地支持規模漸增的應用,因此,正如傳統微處理器的發展一樣,片上多核互連技術成為實現類腦處理器的主流方案[9]。片上多核互連需要滿足高并行度、高吞吐率和低延時的要求,而傳統的總線結構(BUS)由于可擴展性差、延時高和信號串擾等問題,無法實現此類架構[1]。而片上網絡技術憑借其多進程和多任務的信息交換、易于擴展的結構化設計和在多時鐘域下面積和功耗優勢,逐步成為類腦處理器中主流的互連結構[2]。

脈沖神經網絡中海量的脈沖數據,高并發和高猝發的通信模式,以及較大的片上互連規模,都給面向類腦計算的片上網絡NoC(Network on Chip)設計帶來了挑戰。目前針對這類片上網絡的驗證工作相對較少,本文主要從功能驗證的角度提出了一個支持隨機化激勵生成的類腦處理器片上網絡驗證框架,用以輔助面向類腦計算的片上網絡設計和性能測試。

本文的主要貢獻包括2個方面:

(1)提出了一種針對類腦計算的隨機化片上網絡激勵生成方法。通過設置網絡規模、存儲空間和通信模式等相關參數,可以獲得類腦處理器片上網絡行為級仿真和實際硬件測試所需的激勵文件。

(2)構建了一種測試類腦處理器片上網絡的軟硬件環境,通過在片上網絡的每一個處理單元上掛載發包模塊Injector和收包模塊Collector,以及設置相應的總線轉接模塊,借助結果比對的腳本工具,可以實現2D-mesh結構的片上網絡功能驗證。

2 背景和相關工作

2.1 片上網絡技術

隨著多核芯片復雜度的增加,總線結構的通信方式也逐步在面積、速度、功耗和數據吞吐量等諸多方面面臨瓶頸[1]。

目前主流的互連結構包括總線結構(Bus)、交叉開關結構(Crossbar)和片上網絡結構NoC??偩€結構適用于節點數量較少的系統,當通信節點較多時易產生擁塞,成為系統瓶頸。Crossbar結構可以實現所有節點之間的互連,吞吐率極高,但設計難度較大,復雜難度均為O(N2)[1],此處N表示N輸入和N輸出的Crossbar網絡。因此,Crossbar結構的擴展性較差,而且隨著互連規模的擴大,系統的仲裁難度也大幅上升。相比帶寬需求偏低的核間通信,數據交換更頻繁的核內神經元互連則多采用Crossbar結構。為了實現更好的可擴展性,目前研究人員普遍采用片上網絡作為神經形態核之間的互連結構。

一種典型的3×3 2D-mesh結構的NoC如圖1所示[10]。其中,NoC由處理單元PE(Processing Element)、路由器R(Router)和鏈路(Link)3個主要部件構成。PE也稱為計算結點,可以完成廣義的計算任務。NoC工作時首先通過鏈路將源PE中的數據傳輸到路由器模塊中,隨后通過路由算法在網絡中路由并輔以仲裁算法,使得數據包最終到達目的節點并由目的PE接收。

Figure 1 NoC architecture of 3×3 2D-mesh 圖1 3×3 2D-mesh NoC架構

2.2 面向類腦計算的片上網絡

類腦計算模型以脈沖神經網絡SNN為代表。類腦計算模型運行時在每一個時間步內都會產生大量的脈沖數據,這些脈沖數據在網絡模型中有著高并發和高猝發的特性[11],實現節點間高效的數據傳輸是一個嚴峻的問題?,F在常用的數據傳輸方式有單播、組播和廣播等[11]。對于大規模脈沖神經網絡而言,類腦處理器需要實現大量處理結點之間的互連互通,其規模遠超當前傳統處理器的互連規模。例如,Intel的Loihi[4]芯片包含128個神經核,最多支持4 096核互連;IBM的TrueNorth[3]芯片支持4 096個神經核。在內部的互連規模方面,多核類腦處理器已超過傳統多核通用處理器,所以針對類腦應用的NoC不僅需要適應高并發、高猝發的類腦通信模式,而且還需繼續提升互連規模,以實現良好的可擴展性。

類腦處理器通常是由大量NoC互連的神經形態核(即計算單元)組成的大規模并行系統,其中NoC用以控制和優化處理單元之間的通信。類腦處理器的通信可分為核內本地通信和核間全局通信。

主流類腦處理器的NoC結構各異,如TrueNorth[3]和DynapSE[5]采用的是2D-mesh結構,Loihi[11]采用的是C-mesh結構,SpiNNaker[6]采用的是torus結構,CxQuad[12]平臺則是基于NoC-tree結構的。目前,類腦處理平臺大多采用了mesh結構的NoC設計來實現多核互連,而且每一個神經形態核都可同時支持多個神經元的計算。

2.3 片上網絡的功能驗證

在確定一個NoC的通信模式和基礎架構后,需要結合應用建立系統參數和變量來對NoC系統進行功能和性能評估。但是,目前和NoC驗證相關的系統較少。針對網絡設計初期已有一些功耗評估和分析的工作[13 -16],此外,也有基于模擬器的片上網絡的系統開發[17 -19]。Madsen等[20]提出了基于多處理器實時操作系統的NoC系統行為分析;Pande等[21]提出了基于不同體系結構的延遲、吞吐率和功耗的評估模型[21];Genko等[22]的研究是基于現場可編程門陣列FPGA(Field Programmable Gate Array)實現的NoC仿真環境。

然而,上述工作均是基于傳統微處理器來開展的。對于上述類腦計算中的通信模式和NoC規模需求較大的類腦應用,相關功能驗證的研究較少。文獻[23]基于FPGA構建了硬件環境,基于Micro Blaze軟核構建了軟件環境,通過分別設置軟硬環境的配置文件來實現NoC的快速硬件仿真。但是,此工作沒有對不同激勵的測試進行探討,而且軟硬交互部分較為復雜,無法將行為級仿真和硬件級測試的結果進行分離分析。

對此,本文提出支持隨機化測試的驗證框架,主要針對2D-mesh NoC的類腦應用,實現較為全面的測試激勵覆蓋,支持不同程度的負載壓力測試,為NoC設計提供行為級和硬件級的初步評估。

3 類腦處理器NoC驗證框架

本節主要從軟件測試環境和硬件測試環境2個方面來介紹本文的面向類腦處理器的NoC功能驗證框架。

3.1 驗證框架設計

如圖2所示,本文將NoC功能驗證分為2個步驟:軟件測試和硬件測試。其中,軟件測試是基于仿真環境對待測設計DUT(Design Under Test)的測試:通過生成并輸入行為級測試激勵,收集和分析DUT產生的相應計算結果,結合預期結果來進行功能驗證;若DUT行為級功能符合預期,就繼續進行相應的硬件測試。在硬件測試中,首先將NoC設計部署到FPGA驗證平臺上,進而基于測試母板和外設高速互連PCIe(Peripheral Component Interconnect express)子卡來對FPGA驗證平臺進行數據包讀寫;隨后將母板獲取到的數據包通過串口工具輸出到日志文件;最后,結合預期結果,基于FPGA進行上板功能驗證。若從該日志文件中解析出的數據同行為級仿真中獲得的數據一致,那么說明DUT上板后的功能同樣符合預期。至此,DUT的功能驗證就完成了。否則需要在DUT中定位問題并進行設計迭代。

Figure 2 Framework of proposed NoC verification 圖2 本文提出的NoC驗證框架

3.2 軟件測試環境

整個NoC驗證平臺的軟件環境主要用于生成測試激勵(Incentive Files)和預期結果(Golden Results),并且在DUT即規模為N×N的NoC設計[16]中內嵌發包模塊(Injector)和收包模塊(Collector)。Injector和Collector主要用于模擬PE單元數據的發送與接收,數據均存儲在收發包模塊所掛載的塊隨機存儲器BRAM(Block RAM)中,如圖3的PE所示。

Figure 3 Structure of single NoC node圖3 NoC單節點結構

Figure 4 Software testing environment of NoC verification framework圖4 NoC驗證框架軟件測試環境

此外,為了實現測試母板與FPGA驗證平臺之間的通信,本文在N×N的NoC設計外部加入了AXI Interconnector模塊和AXI-PCIe Bridge模塊,如圖4a部分所示。

圖4b部分是行為級仿真環境下激勵輸入部分,通過調用AxiWrite和AxiRead 2個任務,可從激勵文件中讀取所需的地址和數據包信息。前者負責將數據包保存在各個PE結點的Injector模塊中,后者在整個NoC完成運算后從各PE結點的Collector模塊中讀取數據。圖4c部分是基于Python來構建的激勵生成與仿真/上板測試結果校驗的測試環境:基于Golden Results、行為級仿真結果和FPGA硬件平臺測試結果,本文可以結合2.3節所述的測試方法來驗證該NoC設計是否符合預期要求。圖4d部分則是通過UBOOT引導程序和串口調試工具,獲取FPGA驗證平臺上的測試數據,以供圖4c部分進行功能校驗。

3.3 硬件測試環境

硬件測試環境是由FPGA驗證系統、測試母板、調試上位機、XILINX USB下載器、異步收發傳輸器UART(Universal Asynchronous Receiver/Transmitter)數據線和PCIe子卡構成,如圖5所示。一方面,調試上位機通過UART數據線對FPGA平臺的全局時鐘進行配置,并且將圖4a部分所示的FPGA Project下載到FPGA驗證平臺上。同時,通過XILINX USB可以獲取FPGA驗證平臺的某些關鍵信號,用以DUT調試。另一方面,通過Tera Term串口調試工具,調試上位機將UBOOT下的讀寫指令輸入到測試母板上,測試母板進而通過PCIe總線將報文發送到FPGA驗證系統,從中獲取NoC PE單元中Collector模塊所存儲的數據,并通過串口工具將其保存到上位機中。

Figure 5 Hardware testing environment圖5 硬件測試環境

3.4 激勵生成

NoC單節點的主要結構[24]如圖3所示。根據2D-mesh結構NoC節點可分為內部節點和邊緣節點。該NoC的通信負載模式主要分為以下4種(源節點-目的節點):邊緣-內部(e-i)、內部-邊緣(i-e)、邊緣-邊緣(e-e)和內部-內部(i-i)。激勵文件中對應的數據格式如圖6所示,其中圖6a和圖6c表示行為級仿真中Testbench內AxiWrite任務的2個輸入變量,該任務可將相應的數據存入到對應源節點的Injector BRAM中;圖6b表示AxiRead任務中的輸入參數,對應目的節點中Collector BRAM所需讀出的數據地址,該任務可將Collector BRAM對應保存的數據讀出到本地存儲器。此外,Src和Des分別表示源和目的節點,Inj和Col分別表示Injector模塊和Collector模塊。根據這些數據格式的設置,本文可以針對這4種通信模式生成隨機化激勵。

此外,基于SNN硬件映射工具SNEAP(Spiking NEural network mAPping toolchain)[25],本文實現了SNN模型各神經元到NoC節點的映射,可獲得SNN模型的NoC通信數據,進而獲得基于真實應用場景下的NoC軟件仿真和硬件測試所需的激勵文件。

Figure 6 Format of incentive data圖6 激勵數據格式

如圖7所示,生成測試激勵前,需要輸入相應的配置參數:片上網絡規模(NoC_size)、脈沖神經網絡的核間通信數據(SNN_trace)或者用于隨機生成激勵的通信模式(NoC_pattern,上述4種)、需生成的數據包數量(Packet_num)和單個Injector或Collector BRAM的深度(Mem_config)。激勵生成方法會按照配置文件信息隨機生成收發節點信息,或從基于Brian2模擬器[26]和SNEAP映射工具中獲得的SNN_trace中選取數據包收發的節點信息,與此同時也會隨機生成數據包中的NoCPE結點數據(PE_data),分別如圖7中的Connection_random_list和Data_random_list所示。本文在隨機生成PE_data的過程中保證了其各異性,使得一個數據包在PE_data字段被唯一標識,進而有利于隨后的數據比對。最后按照數據包收發關系來生成Address參數。在生成數據包的過程中滿足片上的存儲邊界條件,即單個Injector/Collector SRAM存儲數據包不超過硬件所支持的最大數量,否則需重新生成測試數據。其中,Src和Des分別表示當前生成的連接中Injector和Collector的編號。

Figure 7 Generation method of incentive data 圖7 激勵數據的生成方法

至此,便生成了NoC行為級激勵:AxiWrite/AxiRead Files。結合UBOOT指令格式,可進一步生成NoC硬件級測試所需的激勵:Uboot Write/Read Files。

Figure 8 Verification process of incentive data 圖8 激勵數據驗證流程

3.5 結果驗證方法

對于NoC核間通信而言,由于擁塞和路由路徑的長短各異,目的節點收包順序和源節點發包順序有可能不一致。但是,由于SNN所處理的內容是脈沖數據,而脈沖之間是同質的,即每個數據包到達目的神經元后都會引起同樣的膜電壓升高。脈沖神經元在單個時間步長內通過積累外界脈沖來觸發新脈沖的發射,因此在一個時間步(1 ms)[3]內無損地完成相應數據包的傳輸就不會導致SNN模型產生計算誤差。在獲取該行為級仿真結果后需要對各Collector模塊預期讀出的數據進行順/逆序的重排序操作,再同如圖7所示的預期收包結果(Collector_golden_files)進行比對。此過程只對NoC進行了部分行為建模,即確保數據包按照如圖6所示的數據格式進行收發。鑒于前文所述的SNN神經元高容錯以及脈沖編碼的計算特性[2],一個時間步內保證數據包均被傳輸到目的節點即可。

具體的驗證流程如圖8所示:行為級仿真結束后,將NoC行為級仿真中每一個Collector模塊的數據包打印輸出到各自的上日志(log)文件中,將這些日志文件統一記作仿真結果(Collector sim logs)。隨后,將仿真結果中的數據包同樣按照其PE_data段進行降序/升序重排列后,同上述的預期結果進行一一比對(如圖8中的diff操作所示)。在逐Collector單元對所接收的數據包進行文本比對后,若各節點收包結果均符合預期,即可證明NoC行為級功能正確;在行為級功能正確的基礎上,繼續進行硬件測試,將圖7所生成的 Uboot write files輸入到部署了NoC的FPGA上,通過 Uboot read files獲得UBOOT環境下的硬件測試結果(Tera_term log),將其與仿真環境下通過AxiWrite files和AxiRead files獲得的仿真結果(Sim log)進行數據進制和格式轉換(圖8中convert操作)后獲得比對結果(Uboot_result)。若硬件測試結果和行為級仿真結果保持一致,即可證明NoC上板后的功能符合預期要求。在如圖8所示的NoC單次測試結果的驗證中,由于Collector模塊中的文件讀寫邏輯無法被部署到板上,所以我們在上板后對所有節點進行了遍歷,讀出數據包(Tera_term log)后進行比對,只需進行一次diff處理。

4 實驗及結果分析

本文實驗的測試對象是基于2D-mesh結構的16×16 NoC設計,其內部節點的架構如圖3所示。該NoC采用了XY路由算法和輪詢仲裁算法來實現數據包的傳輸。本節將詳細介紹激勵數據的生成,以及NoC相應的功能驗證。

4.1 數據準備

本文采用一種主流的SNN模型——單液體層的液體狀態機LSM(Liquid State Machine)模型[27]。LSM模型由于其較強的時空信息處理能力、簡單的架構和較低的訓練復雜度而受到了廣泛的關注。LSM主要分為3部分[27]:輸入層(Input Layer)、水庫層(Reservoir)和讀出層(Readout Layer)。水庫層中包含興奮型和抑制型2類神經元,這2類神經元之間存在一定的連接概率,脈沖信號經由該層的映射即可得到相應的輸出向量,通過輸出向量對讀出層后的分類器模型進行訓練,即完成對輸入脈沖序列的特征學習。

實驗所采取的LSM模型配置如下:液體層神經元總數為1 000,其中,激活型神經元個數為800,抑制型神經元個數為200,神經元連接概率分別為Pee=0.40,Pei=0.40,Pie=0.50(為激活-激活、激活-抑制和抑制-激活連接類型)。本文從4種SNN脈沖數據集中分別選取一個樣本,送入LSM模型中運行得到每一個樣本在液體層中所激活的脈沖數據,這些脈沖數據由Brian2模擬器[26]監控并保存為日志文件,該文件中包含了每一個脈沖被激發的時刻、源神經元編號和目的神經元編號。雖然多層液體狀態機可以提取更加豐富的特征信息,但在本質上屬于一個較大的單層液體狀態機。此外,由于LSM是一種高度可配置的脈沖神經網絡,可擴展性較好,所以此處只采取了一種LSM網絡常用配置,把重點放在了不同通信模式帶來的測試挑戰上。

Figure 9 Packet number distribution within 400 timesteps圖9 400個時間步內數據包數量分布情況

通過采用SNEAP映射算法,首先將1 000個神經元映射到規模為16×16 NoC即256個PE結點上;隨后結合映射關系,將上述日志文件中屬于核間通信的部分提取出來。單個數據樣本的時間長度為0.8 s,而NoC需要滿足的是一個時間步長度即1 ms內的核間數據通信需求,但為了增大通信負載,本文從每一個樣本中截取了0.4 s即400個時間步的數據來進行一次NoC的測試。由于實驗中所采取的FPGA資源限制,16×16是該FPGA平臺支持的最大NoC規模。

4.2 測試激勵的生成

首先,本文基于隨機分布分別產生了4類不同負載類型的激勵數據,隨后基于LSM模型來對語音數字數據集FSDD(Free Spoken Digit Dataset)[28]、動態手勢數據集IBM Gesture Dataset(IBM)[29]、手寫數字數據集NMI(N-MNIST Dataset)[30]和語音數字數據集NTI(N-TIGITS Dataset)[31]進行分類,獲得了Brian2模擬LSM實際運行單樣本時的模型通信數據(SNN Traces)。為了保證數據包數量的合理性,本文先對上述4類數據集中單樣本所分別生成的脈沖數據包數量進行了分析,結果如圖9所示。其中,Timestep表示LSM模擬的時間步長,代表運行時間;Packet_number則是該LSM模型被映射到NoC上后,在每一個時間步對應產生的NoC節點間脈沖數據包數量。數據集FSDD在400個時間步長內產生的核間通信數據較為分散,其他數據集數據對應LSM激發的核間數據包較為集中,且集中在較早的時間步段內。經統計發現,FSDD,NMI、NTI和IBM數據集在單個時間步長內數據包最多分別為72,4 824,9 134和5 509個,這是由于不同的數據來源和類型會具有不同時空狀態特征。

本文使得如圖6c所示的PE_data各異,這樣便能保證激勵文件中Data參數的各異性。在滿足不超過Injector和Collector BRAM的深度限制,即保證單個Injector和Collector的數據包數量不超過256的前提下,對于四種隨機激勵,根據如圖9所示結果,本文設置數據包總數量為5 000;相應地,基于上述數據集來生成的激勵,對于每一個樣本,分別選取數據包數量為5 000,8 000和10 000來表示不同樣本帶來的通信差異性,共計生成16組測試激勵如表1所示。

Table 1 Incentives generation setting表1 激勵生成配置

4.3 實驗結果

本文一共設置了4組隨機生成的激勵和12組基于SNN Traces生成的激勵。通過腳本比對行為級仿真結果和預期的Golden Results,可知每個PE的Collector模塊在收包數量和報文內容上均保持一致。其中,對非空的Collector日志文件進行內容比對,內容不一致的數據包總數量結果如表2中“Num of Errors”一欄所示。表2中的Avg_delay是指在一次行為級仿真過程中,自NoC開始進行工作直到最后一個數據包傳輸完畢所需耗費的時間。本文通過在Collector模塊進行數據包寫入操作時拼接了時間信息;Num of Errors指的是行為級仿真中Collector保存結果同預期結果之間存在差異的節點個數。結果表明,所有測試項中平均延時都在1 ms內,即滿足了NoC實時性要求;而且對于每個Collector而言,Num of Errors均為零,即實際仿真結果與預期結果都保持了一致。

Table 2 Results of behavioral simulation表2 行為級功能驗證結果

硬件上板的功能驗證操作如下:首先從Tera Term串口終端日志信息解析各Collector模塊日志信息;隨后基于Python內建庫difflib,將日志信息與仿真環境下所得的日志文件即圖8中的Sim log進行比對,生成.html文件來保存比對結果,統計出2部分信息中是否有元素的增添(Added)、更替(Changed)或刪減(Deleted)。結果如表3所示,可知16組數據的比對結果均達到了預期,即Added、Changed、Deleted數量全為0。說明NoC設計在上板后實際收發結果與軟件模擬的結果完全一致,初步驗證NoC功能符合預期。

5 結束語

本文提出了一種支持隨機化測試的類腦處理器片上網絡功能驗證框架。通過在待測NoC的PE單元掛載Injector和Collector測試模塊來完成基本的數據讀寫操作。結合預期結果來對規模為N×N的NoC的仿真結果數據進行離線分析,進而檢測NoC在硬件設計上存在的問題?;贔PGA驗證平臺,本文通過串口工具實時讀取Collector BRAM的值并利用比對工具驗證了NoC實際硬件行為。

Table 3 Results of FPGA testing表3 FPGA上板功能驗證結果

16組對于16×16 NoC的測試實驗結果表明該驗證框架可以適應多種不同通信模式和負載應用?,F階段針對類腦處理器的NoC測試平臺較少,本文在這一方向上進行了有益的嘗試。為了擴展該測試平臺功能,在下一階段將繼續探索其他結構(如環網結構)的設計驗證;通過加入針對不同測試需求的內嵌模塊,并提供對NoC實時通信性能和均衡性的分析,使得測試多樣化和細粒度化。

主站蜘蛛池模板: 精品国产www| 亚洲第一成人在线| 日本不卡在线视频| 久久久受www免费人成| 色婷婷成人| 国产极品美女在线播放| 免费高清毛片| 久久国产高潮流白浆免费观看| 成人韩免费网站| 免费久久一级欧美特大黄| 国产精品视频第一专区| 欧美成人影院亚洲综合图| 真实国产乱子伦视频| 视频二区亚洲精品| 国产一级小视频| 日本一区二区三区精品视频| www.亚洲天堂| 狠狠色狠狠色综合久久第一次| 亚洲国产日韩视频观看| 一级黄色片网| 久久公开视频| а∨天堂一区中文字幕| 自慰高潮喷白浆在线观看| 六月婷婷激情综合| 99精品视频在线观看免费播放| 1769国产精品免费视频| 日本国产精品一区久久久| 国产成人综合亚洲欧美在| 国产a v无码专区亚洲av| 日韩免费中文字幕| 国产激爽爽爽大片在线观看| 国产日韩AV高潮在线| 国产va在线| 国产精品专区第1页| 日本免费a视频| 久久窝窝国产精品午夜看片| 成人毛片免费观看| 青青草原偷拍视频| 一级成人欧美一区在线观看| 噜噜噜综合亚洲| 欧美在线伊人| 欧美成人aⅴ| 亚洲成A人V欧美综合| 国产一级妓女av网站| 免费观看无遮挡www的小视频| 国产原创演绎剧情有字幕的| 色综合激情网| 成人毛片在线播放| 日韩精品成人在线| 18禁影院亚洲专区| 亚洲第一极品精品无码| 99re在线观看视频| 国产欧美视频一区二区三区| 日韩在线1| 强奷白丝美女在线观看| 最新国产网站| 成人在线亚洲| 中文字幕在线观| 亚洲激情区| 色综合国产| 全部免费特黄特色大片视频| 精品自窥自偷在线看| 久久久久亚洲AV成人人电影软件| 极品国产在线| 天堂成人在线视频| 亚洲天堂区| 色综合天天操| 亚洲综合色吧| 欧美午夜网站| 国产精品无码一区二区桃花视频| 国内精品91| 精品国产欧美精品v| 亚洲第一黄色网址| 2021国产精品自拍| 免费激情网址| 92精品国产自产在线观看| 青青草a国产免费观看| 色妞永久免费视频| 国产精品亚洲精品爽爽| 国产午夜在线观看视频| 日韩经典精品无码一区二区| www.精品国产|