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

        ?

        基于AHB總線的RISC-V微處理器設(shè)計與實現(xiàn)

        2020-10-19 04:40:42郝振和焦繼業(yè)李雨倩
        計算機工程與應(yīng)用 2020年20期
        關(guān)鍵詞:指令設(shè)計

        郝振和,焦繼業(yè),李雨倩

        1.西安郵電大學(xué) 計算機學(xué)院,西安 710121

        2.西安郵電大學(xué) 電子工程學(xué)院,西安 710121

        1 引言

        RISC-V是由美國加州大學(xué)伯克利分校設(shè)計的一套開源指令集架構(gòu),RISC-V 具有低功耗、低成本、靈活可擴展及安全可靠等特性[1-4]。國內(nèi)外已有眾多高校和企業(yè)對RISC-V指令集進(jìn)行研發(fā),阿里平頭哥在2019年7月發(fā)布了高性能RISC-V架構(gòu)處理器玄鐵910;兆易創(chuàng)新也在2019 年8 月發(fā)布了一款基于RISC-V 的32 位通用MCU芯片GD32VF103系列。

        嵌入式微處理器是數(shù)字信息產(chǎn)品的核心引擎,需要在終端對數(shù)據(jù)進(jìn)行簡單處理和實時控制[5]。在嵌入式系統(tǒng)中,ARM系列一直占據(jù)著很大市場,隨著物聯(lián)網(wǎng)時代的來臨,嵌入式終端設(shè)備對功耗和性能具有更高的要求,ARM 等主流架構(gòu)的勝任能力有限,RISC-V 作為新興架構(gòu)以其精簡的體量,表現(xiàn)出了較強的優(yōu)勢[6]。RISC-V最為重要的一個特點是模塊化,用戶可以根據(jù)具體的應(yīng)用需求選擇不同的擴展來實現(xiàn)差異化設(shè)計,這對于追求低功耗小面積的嵌入式應(yīng)用至關(guān)重要[7]。隨著RISC-V指令集生態(tài)系統(tǒng)的發(fā)展,RISC-V 也將被更廣泛地應(yīng)用于嵌入式或者新興的IoT、邊緣計算、人工智能等領(lǐng)域[8]。

        同時,基于IP核復(fù)用的SoC設(shè)計方法逐漸成為集成電路設(shè)計的主流技術(shù)[9]??偩€系統(tǒng)是嵌入式設(shè)計中互連各IP應(yīng)用最廣泛的結(jié)構(gòu),優(yōu)秀的系統(tǒng)結(jié)構(gòu)可以極大程度地實現(xiàn)IP 共享,提高系統(tǒng)傳輸效率。目前基于RISC-V的處理器使用的總線各異:Tilelink是伯克利大學(xué)Rocket[10]項目中使用的總線協(xié)議,該協(xié)議較為復(fù)雜,其應(yīng)用并不廣泛;蜂鳥E200系列使用的是自定義ICB總線,不適用于做嵌入式開發(fā)和應(yīng)用;另外在RISC-V 處理器中廣泛使用的AXI總線協(xié)議[11],需要主設(shè)備自行維護讀和寫的順序,控制相對復(fù)雜,且在SoC 中集成不當(dāng)會造成死鎖。在嵌入式應(yīng)用中RISC-V處理器核若采用自定義總線,一方面增大硬件開銷,另一方面會造成負(fù)擔(dān),影響系統(tǒng)的運行速度,降低穩(wěn)定性和擴展性。在各類總線中,由ARM 公司提出的AHB 總線因其提供的豐富的IP 資源,得到了廣泛的使用[12]。

        本文采用哈佛體系結(jié)構(gòu)進(jìn)行設(shè)計,實現(xiàn)了RISC-V ISA 中基本整數(shù)指令集及M/A/C 三個擴展指令集。設(shè)計采用標(biāo)準(zhǔn)AHB 總線接口,可實現(xiàn)CPU、Cache 等高性能設(shè)備互連。完成了指令集測試以及系統(tǒng)級功能測試,最后探討基于AHB 總線的RISC-V 處理器在應(yīng)用中的優(yōu)勢。

        2 RISC-V指令集

        2.1 RISC-V指令集特點

        RISC-V 本身是一種指令集標(biāo)準(zhǔn)規(guī)范,和C/C++語言規(guī)范、POSIX 等系統(tǒng)標(biāo)準(zhǔn)一樣[13]。RISC-V 試圖通過一套統(tǒng)一的架構(gòu)來滿足各種不同的應(yīng)用場景,這種模塊化是x86 和ARM 架構(gòu)所不具備的。RISC-V 指令集在小面積低功耗處理器領(lǐng)域具有以下優(yōu)勢:

        (1)精簡:架構(gòu)簡潔,模塊化,指令集數(shù)目少,無需向后兼容;

        (2)安全:安全系數(shù)高,穩(wěn)定;

        (3)開源:免費使用,用戶能自由修改,可定制化。

        由圖1可以看出,RISC-V指令集體系結(jié)構(gòu)在學(xué)術(shù)界得到了廣泛的推廣。

        圖1 科學(xué)出版物年增數(shù)量比較

        2.2 模塊化組織方式

        RISC-V 使用模塊化的方式進(jìn)行指令劃分,每個模塊使用一個英文字母表示。最基本也是必須要實現(xiàn)的指令集部分有I字母表示的基本整數(shù)指令子集[13]。其他指令子集部分均為可選模塊。本次設(shè)計實現(xiàn)基本整數(shù)指令集I以及M/A/C三個擴展指令集:

        I:32 位地址空間與整數(shù)指令,支持32 個整數(shù)寄存器,指令類型包括包括整數(shù)運算指令、分支跳轉(zhuǎn)指令、整數(shù)Load/Store 指令、CSR 指令、存儲器屏障(FENCE)指令、特殊指令。

        M:整數(shù)的有符號以及無符號乘除法運算,支持整數(shù)乘法指令、整數(shù)除法指令兩種指令類型。

        A:原子操作指令集,為同步操作提供必要的支持,可以實現(xiàn)I/O 通信中的總線原子讀寫,從而簡化設(shè)備驅(qū)動,提高I/O 性能。指令類型包括AMO 指令、Load-Reserved指令和Store-Conditional指令。

        C:16 位壓縮指令集,是 RISC-V 最通用的 ISA 擴展之一。與ARM的Thumb-2指令集相似,RISC-V標(biāo)準(zhǔn)包含一個壓縮指令的規(guī)范,壓縮指令是主要降低代碼密度的一種手段,指令寬度只有16 bit,可以鏡像完整的32位指令,壓縮指令只對匯編器和鏈接器可見,避免為處理器核編譯器的設(shè)計增加負(fù)擔(dān)[14]。壓縮指令解碼器可以檢測這些指令并將它們解壓縮成標(biāo)準(zhǔn)的32 bit指令。

        3 RISC-V處理器核設(shè)計

        3.1 流水線設(shè)計

        流水線本質(zhì)上可以理解為一種以面積換性能、以空間換時間的手段[15-16]。本次設(shè)計根據(jù)RISC-V 指令集的特點,設(shè)計深度為2級的流水線,如圖2所示。傳統(tǒng)五級流水線(取指、譯碼、執(zhí)行、訪存和寫回)中每級流水級之間都存在適當(dāng)?shù)募拇嫫?,流水線級數(shù)內(nèi)部都有各自的組合邏輯數(shù)據(jù)通路,并且彼此之間沒有復(fù)用資源,因此其面積開銷較大。2級流水線極大程度地減少了硬件邏輯的數(shù)量,在保證基本功能的前提下,不僅降低了硬件成本而且降低了功耗。

        在流水線第一階段,PC取指并訪問指令存儲器,并將取出指令存入IR寄存器。取指階段會完成簡單的譯碼過程(mini-decode),此處的譯碼不需要完整譯出指令的所有信息,而只需要譯出部分指令信息,包括此指令是屬于普通指令還是分支跳轉(zhuǎn)指令以及分支跳轉(zhuǎn)指令的類型和細(xì)節(jié)。另外,在第一階段還會對跳轉(zhuǎn)指令進(jìn)行簡單的分支預(yù)測(Simple-BPU),跳轉(zhuǎn)指令類型如表1所示,判斷是否為跳轉(zhuǎn)指令代碼如下:

        圖2 兩級流水線實現(xiàn)流程圖

        assign prdt_taken=(dec_jal|dec_jalr|(dec_bxx & dec_bjp_imm[31]))

        (1)對于帶條件的直接跳轉(zhuǎn)指令,使用靜態(tài)預(yù)測(向后跳轉(zhuǎn)預(yù)測為需要跳,否則預(yù)測為不需要跳),按照指令的定義使用其PC 和立即數(shù)表示的offset 相加得到其跳轉(zhuǎn)目標(biāo)地址。

        (2)對于無條件直接跳轉(zhuǎn)指令,由于其一定會跳轉(zhuǎn),因此無須預(yù)測其跳轉(zhuǎn)方向,對于其跳轉(zhuǎn)目標(biāo)地址,Simple-BPU按照指令的定義,使用其PC和立即數(shù)表示的offset相加得到其跳轉(zhuǎn)目標(biāo)地址。

        (3)對于無條件間接跳轉(zhuǎn)指令,由于其一定會跳轉(zhuǎn),因此無須預(yù)測其跳轉(zhuǎn)方向,而對于跳轉(zhuǎn)目標(biāo)地址,指令的跳轉(zhuǎn)目標(biāo)計算所需的基地址來自于其rs1索引的操作數(shù),需要從通用寄存器組中讀取。若通用寄存器索引號為0,則預(yù)測為跳轉(zhuǎn),否則為避免流水線數(shù)據(jù)沖突,預(yù)測為不跳轉(zhuǎn)。

        表1 RV32IC架構(gòu)中的分支跳轉(zhuǎn)指令

        對于RISC-V 中“C”壓縮指令集,取指模塊利用一個32位寄存器用來保存當(dāng)前的PC值,順序指令下一個PC 通過當(dāng)前指令的位寬判斷,若當(dāng)前指令為32 位指令時PC+4,若當(dāng)前指令為16 位指令時PC+2,分支指令采用分支預(yù)測模塊得到的跳轉(zhuǎn)地址作為新的PC值。

        在流水線的第二階段,主要完成“譯碼”“執(zhí)行”“交付”和“寫回”等功能。首先將取指階段保存在IR 寄存器的指令進(jìn)行譯碼。在譯碼模塊進(jìn)行譯碼時,根據(jù)執(zhí)行指令的運算單元進(jìn)行分組,根據(jù)指令的低兩位判斷是16 位指令還是32 位指令,之后根據(jù)關(guān)鍵編碼字段譯出其相應(yīng)的指示信號,生成立即數(shù)和最終的操作數(shù)寄存器指引。指令判斷代碼如下:

        wire riscv32=(~(i_instr[4∶2]==3'b111)) &(i_instr[1:0]==2'b11)

        對32位load和store指令類型進(jìn)行譯碼:

        wire riscv32_load=rv32_instr[6∶2]==5'b00000&riscv32

        wire riscv32_store=rv32_instr[6∶2]==5'b01000&riscv32

        指令經(jīng)過譯碼且從寄存器組中讀取了操作數(shù)之后被派發(fā)到不同的運算單元執(zhí)行。根據(jù)指令類型的不同,運算模塊主要分為“ALU”“Muldiv”“AGU”。ALU主要負(fù)責(zé)普通ALU指令(邏輯運算、加減法、移位等指令)的執(zhí)行;Muldiv 為乘除法計算模塊,主要負(fù)責(zé)乘法和除法指令等M擴展指令集的執(zhí)行。Muldiv包括一個32位整數(shù)乘法器和一個32 位整數(shù)除法器。Load、Store 以及“A”擴展指令會被派發(fā)到AGU 模塊執(zhí)行,AGU 模塊通過存取專用單元LSU訪問數(shù)據(jù)存儲模塊。

        執(zhí)行階段的一個重要功能是維護并解決流水線沖突。為了能夠檢測出長指令(包括load 指令、store 指令以及乘除法等指令)的RAW和WAW相關(guān)性,本文加入了一個OITF(Outstanding Instructions Track FIFO)模塊,如圖3 所示,OITF 本質(zhì)上是一個深度為4 個表項先入先出的FIFO。在流水線的派遣點,每次派遣一個長指令,則會在OITF中分配一個表項,在這個表項中會存儲該長指令的源操作數(shù)寄存器索引和結(jié)果寄存器索引。在流水線的寫回點,每次按順序?qū)懟匾粋€長指令之后,就會將此指令在OITF 中的表項去除,即從其FIFO退出完成任務(wù)。

        圖3 OITF微架構(gòu)圖

        在流水線寫回階段,為避免WAW 的數(shù)據(jù)相關(guān)性發(fā)生,如果單周期指令和長指令一起寫回,多周期指令寫回的優(yōu)先級更高,因為多周期指令一定在單周期指令之前發(fā)射。

        3.2 總線系統(tǒng)

        為了以無縫的方式連接到一些外部IP核,提高系統(tǒng)運行速度和通信吞吐量,本文采用復(fù)用性好、擴展性高的標(biāo)準(zhǔn)AHB總線作為內(nèi)核總線。AHB總線可支持各種處理器、高速設(shè)備、片外存儲設(shè)備等具有高時鐘、高性能的模塊以及低功耗模塊的連接與擴展,具有突發(fā)傳輸、分塊處理、單周期總線主機移交、單一時鐘沿操作、非三態(tài)執(zhí)行功能等特性[17]。AHB廣泛用于高性能、高時鐘頻率的系統(tǒng)結(jié)構(gòu)。為避免三態(tài)總線,AHB 將讀寫總線分開,寫數(shù)據(jù)總線(HRDATA)用于從master 到slave 的數(shù)據(jù)傳輸,讀數(shù)據(jù)總線(HWDATA)用于從slave 到master的數(shù)據(jù)傳輸。在傳輸過程中,AHB 總線傳輸包括一個地址控制周期和數(shù)據(jù)周期,數(shù)據(jù)周期可以通過HREADY信號擴展。如圖4所示,對LSU(存取單元)訪問BIU(總線控制單元)的地址總線lsu2biu_haddr[31∶0]進(jìn)行譯碼,根據(jù)不同的地址選擇訪問不同的外部模塊或存儲器。

        圖4 總線地址譯碼邏輯結(jié)構(gòu)

        處理器掛載了一整套典型的MCU外設(shè)。內(nèi)核采用高速AHB 總線,外圍采用慢速APB 總線,所以系統(tǒng)在完成數(shù)據(jù)高效可靠傳輸?shù)耐瑫r兼顧了高性能和低功耗的特性。并且各外設(shè)具有AHB 總線接口或APB 總線接口。

        系統(tǒng)具有低成本的APB子系統(tǒng)可以訪問低頻外設(shè)的配置寄存器,實現(xiàn)CPU與外圍模塊的擴展連接,例如WDT、TIMER、UART等模塊。如圖5所示,CPU作為主設(shè)備可以通過AHB 總線訪問掛載在AHB 總線上的從設(shè)備,包括中斷控制、緩存等模塊。同時CPU可以通過AHB2APB 總線橋?qū)崿F(xiàn)對掛載在APB 總線上WDT、UART等外設(shè)低速模塊的操作。

        3.3 哈佛體系結(jié)構(gòu)

        傳統(tǒng)的馮諾依曼體系結(jié)構(gòu)使用共享的總線和存儲單元,無法并行化執(zhí)行指令和數(shù)據(jù)訪問操作[18-19]。如圖6所示本文采用哈佛體系結(jié)構(gòu),即使用分離的指令和數(shù)據(jù)存儲,通過專用的總線系統(tǒng)分別訪問,這樣設(shè)計既滿足CPU并行訪問的需求,同時減小了面積。

        圖5 總線管理系統(tǒng)拓?fù)鋱D

        圖6 哈佛結(jié)構(gòu)示意圖

        使用存取速度較快的一級Cache緩存結(jié)構(gòu),本文使用分離的Icache 和Dcache 作為緩存單元,大小均為4 KB。與大面積指令或數(shù)據(jù)緊耦合存儲器相比,緩存占用更少的硬件資源。同時設(shè)計了兩條獨立的AHB指令總線和AHB數(shù)據(jù)總線分別訪問Icache和Dcache。

        數(shù)據(jù)和指令的訪問可以同時進(jìn)行。如圖7所示,在取指階段,通過上電引導(dǎo)程序,IFU 通過AHB 總線選擇訪問Icache 或外部Flash 進(jìn)行指令的讀取。取指完成后,在執(zhí)行階段,若是執(zhí)行l(wèi)oad/store 等長指令,則會進(jìn)入到AGU 中執(zhí)行,之后LSU 模塊通過AHB 總線訪問Dcache 模塊或外圍寄存器進(jìn)行數(shù)據(jù)讀寫。分離的總線使得處理器可以在同一個周期內(nèi)獲得指令字(來自Icache)和操作數(shù)(來自Dcache),從而提高了執(zhí)行速度和數(shù)據(jù)的吞吐率,減少訪存沖突。

        圖7 讀寫訪問機制

        4 仿真與綜合

        4.1 功能仿真

        本文使用硬件描述語言Verilog HDL 將模塊功能以代碼來實現(xiàn),形成RTL(寄存器傳輸級)代碼。前仿真使用Synopsys 的VCS 環(huán)境進(jìn)行驗證,驗證內(nèi)容包括指令集測試與系統(tǒng)級功能測試。指令集測試方法為匯編級指令自測試程序,該測試程序是由RISC-V 架構(gòu)開發(fā)者為了檢測處理器是否符合指令集架構(gòu)中的定義而編寫的測試程序。匯編指令使用宏定義組織成程序點,測試指令集架構(gòu)中定義的指令。結(jié)果表明,RV32IMAC指令集(包括47條基本整數(shù)指令、8條整數(shù)乘除法指令、11條原子指令以及46條壓縮指令)均可測試通過。

        系統(tǒng)級功能測試方法為編寫C語言基準(zhǔn)代碼,并使用RISC-V GCC 工具鏈進(jìn)行編譯。功能測試內(nèi)容包括AHB 及APB 總線的讀寫時序仿真、外設(shè)功能仿真等。通過對仿真結(jié)果的分析,證明該RISC-V 處理器各邏輯功能均可以實現(xiàn),滿足設(shè)計要求。

        4.2 性能分析

        為了對所設(shè)計內(nèi)容的面積和功耗等能效進(jìn)行評估,對本設(shè)計、蜂鳥E203處理器以及Cortex M系列處理器進(jìn)行了邏輯綜合。邏輯綜合工具使用Synopsys的Design Compiler,并采用0.11 μmSMIC 工藝技術(shù)實現(xiàn)了邏輯綜合流程。

        綜合結(jié)果表明,在不包含存儲單元的情況下,本文所設(shè)計處理器面積比蜂鳥E203 處理器面積減小6%。在包含存儲單元面積的情況下,面積比蜂鳥E203 處理器面積減小了89%,主要原因在于本文采用了面積更小的一級緩存結(jié)構(gòu):蜂鳥E203 使用64 KB 的指令緊耦合存儲器和64 KB的數(shù)據(jù)緊耦合存儲器,本設(shè)計采用4 KB大小的Icache和Dcache。

        如圖8 所示為兩種處理器在包含存儲時各模塊面積占比,圖(a)蜂鳥E203 處理器中DTCM(數(shù)據(jù)緊耦合存儲器)和ITCM(指令緊耦合存儲器)所占比例分別為46.005%。圖(b)本設(shè)計中Icache 和Dcache 分別占整體面積的26.732%,由圖可看出本設(shè)計明顯降低了存儲單元的占比。在嵌入式系統(tǒng)中,存儲器關(guān)系著整個處理器的性能,緩存單元的設(shè)計節(jié)約了整體面積,對處理器硬件成本的降低起到了重要作用。

        圖8 RISC-V處理器核各模塊面積占比

        如表2 所示,作為通用型MCU,本設(shè)計與ARM cortex M 系列處理器在功耗、邏輯門數(shù)、跑分等性能方面進(jìn)行了對比。并對本文所設(shè)計處理器與Cortex-M0和 Cortex-M3 處理器以相同的 0.11 μmSMIC 工藝技術(shù),1.08 V電壓以及50 MHz的時鐘下進(jìn)行綜合。因綜合需要設(shè)定約束條件和特定的綜合庫,不同的庫中門電路基本標(biāo)準(zhǔn)單元(standard cell)的面積,時序參數(shù)是不一樣的。Cortex-M0+處理器是在不同的環(huán)境下進(jìn)行綜合,因此在功耗、面積上是會有所差異。

        表2 本設(shè)計與Cortex M系列處理器性能對比

        表3 當(dāng)前開源RISC-V處理器與本設(shè)計關(guān)鍵技術(shù)對比

        在壓縮指令方面,ARM使用的Thumb指令集,只有最基本指令的簡化版本,可以將某些代碼壓縮20%~30%左右,但是從標(biāo)準(zhǔn)模式到Thumb模式的切換需要增加代碼和時間消耗,代碼的運行速度降低約15%[20]。ARM 使用的Thumb-2 指令集雖無須狀態(tài)切換,但是與標(biāo)準(zhǔn)的ARM 代碼相比,需要更多的Thumb-2 指令實現(xiàn)相同的功能,額外的指令會使處理速度降低大約15%~20%。在RISC-V 中大約50%~60%的指令可以用RVC指令代替,代碼的大小可以減少約20%~30%,只需要在編譯階段完成,無須狀態(tài)的切換和額外代碼開銷[21],因此RISC-V壓縮指令執(zhí)行效率更高。

        在面積和功耗等方面,Cortex-M3 處理器包含更多的指令和功能,相對于本設(shè)計處理器也具有更大的面積和功耗;本設(shè)計包含了乘除法單元,所以在邏輯門數(shù)上略高于Cortex-M0 和Cortex-M0+處理器。在功耗和性能上本設(shè)計處理器都與Cortex-M0處理器相當(dāng)。

        通過指令、面積和功耗等方面的分析,本文所設(shè)計處理器可替代Cortex-M0 處理器用于小面積低功耗等嵌入式領(lǐng)域。

        目前開源RISC-V 處理器已發(fā)展出眾多版本。表3總結(jié)了國內(nèi)外RISC-V開源處理器在架構(gòu)、流水線、總線等方面的一些技術(shù)特點。

        5 總結(jié)

        本文針對嵌入式系統(tǒng)小面積低功耗的設(shè)計要求,設(shè)計了32位RISC-V微處理器??芍С諶ISC-V基本整數(shù)指令集以及MAC 三個擴展指令集。流水線深度為2級,采用哈佛體系結(jié)構(gòu),通過獨立的AHB總線并行訪問指令和數(shù)據(jù)。驗證結(jié)果表明該微處理器可實現(xiàn)對外部設(shè)備的控制和數(shù)據(jù)的高速處理。作為通用型MCU,本設(shè)計性能測試結(jié)果優(yōu)于Cortex-M0處理器,在同等條件下綜合,面積和功耗與Cortex-M0 處理器相當(dāng),可替代Cortex-M0用于嵌入式應(yīng)用中。目前該處理器已應(yīng)用到基于RISC-V 與Cortex-M0 的雙核異構(gòu)系統(tǒng)中,進(jìn)行更深入的嵌入式開發(fā)研究。

        猜你喜歡
        指令設(shè)計
        聽我指令:大催眠術(shù)
        何為設(shè)計的守護之道?
        《豐收的喜悅展示設(shè)計》
        流行色(2020年1期)2020-04-28 11:16:38
        ARINC661顯控指令快速驗證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        電子測試(2018年18期)2018-11-14 02:30:34
        瞞天過?!律O(shè)計萌到家
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        殺毒軟件中指令虛擬機的脆弱性分析
        一種基于滑窗的余度指令判別算法
        成人午夜视频一区二区无码| 少妇熟女天堂网av| 94久久国产乱子伦精品免费| 91免费永久国产在线观看| 中文熟女av一区二区| 精品日本一区二区三区| 国99久9在线 | 免费| 乌克兰少妇xxxx做受6| 操B小视频国产| 亚洲精品国产av日韩专区| 国产放荡对白视频在线观看| 日日摸夜夜添狠狠添欧美| 国产在线AⅤ精品性色| 精品综合久久88少妇激情| 无码gogo大胆啪啪艺术| 中文字幕无码不卡免费视频| 亚洲AV日韩AV高潮喷潮无码| 五月婷婷开心五月激情| 亚洲色大成网站www永久网站| 欧美性猛交xxxx黑人| 国产精品无套粉嫩白浆在线| 国产免费一区二区在线视频| 欧美日韩国产精品自在自线| 无码国产亚洲日韩国精品视频一区二区三区 | 久久99国产精品久久99密桃| 无码人妻久久久一区二区三区| 东京热加勒比无码少妇| 揄拍成人国产精品视频肥熟女 | 自拍成人免费在线视频| 欧美老熟妇喷水| 97成人精品| 大又黄又粗又爽少妇毛片| 国产精品亚洲一区二区三区| 女厕厕露p撒尿八个少妇| 国产精品无码久久久久久久久作品| 精品久久一品二品三品| 天堂中文官网在线| 提供最新的在線欧美综合一区| 国产一区二区免费在线观看视频 | 亚洲av无码国产精品麻豆天美 | 亚洲免费观看|