《電子技術應用》
您所在的位置:首頁 > EDA與制造 > 業界動態 > 終于有人把RISC-V講明白了

終于有人把RISC-V講明白了

2018-09-14
關鍵詞: RISC-V 開放架構

  0 RISC-V和其他開放架構有何不同

  如果僅從“免費”或“開放”這兩點來評判,RISC-V架構并不是第一個做到免費或開放的處理器架構。

  在開始之前,我們先通過論述幾個具有代表性的開放架構,來分析RISC-V架構的不同之處以及為什么其他開放架構沒能取得足夠的成功。

  0.1 平民英雄——OpenRISC

  OpenRISC是OpenCores組織提供的基于GPL協議的開放源代碼RISC處理器。

  OpenRISC具有以下特點:

  采用免費開放的32/64位 RISC架構。

  用Verilog HDL(硬件描述語言)實現了基于該架構的處理器源代碼。

  具有完整的工具鏈。

  OpenRISC被應用到很多公司的項目之中。可以說,OpenRISC是應用非常廣泛的一種開源處理器實現。

  OpenRISC的不足之處在于其側重于實現一種開源的CPU Core,而非立足于定義一種開放的指令集架構,因此其架構的發展不夠完整,指令集的定義也不具備上節中提到的RISC-V架構的優點,更加沒有上升到成立專門的基金會組織的高度。OpenRISC更多的時候被認為是一個開源的Core,而非一種優美的指令集架構。此外,OpenRISC的許可證為GPL,這意味著所有的指令集改動都必須開源(而RISC-V則無此約束)。

  0.2 豪門顯貴——SPARC

  SPARC架構作為經典的RISC微處理器架構之一,SPARC最早于1985年由Sun電腦所設計。SPARC也是SPARC國際公司的注冊商標之一,這家公司于1989年成立,目的是向外界推廣SPARC架構以及為該架構進行兼容性測試。該公司為了推廣SPARC的生態系統,SPARC國際公司將標準開放,并授權予多家生產商采用,包括德州儀器、Cypress半導體和富士通等。由于SPARC架構也對外完全開放,因此,也出現了完全開放源碼的LEON處理器。不僅如此,Sun公司還于1994年推動SPARC v8架構成為IEEE標準(IEEE Standard 1754-1994)。

  由于SPARC架構的初衷是面向服務器領域而設計,其最大的特點是擁有一個大型的寄存器窗口,符合SPARC架構的處理器需要實現從72到640個之多的通用寄存器,每個寄存器寬度為64bits,組成一系列的寄存器組,稱之為寄存器窗口。

  這種寄存器窗口的架構,由于可以切換不同的寄存器組快速地響應函數調用與返回,因此,能夠產生非常高的性能,但是這種架構由于功耗面積代價太大,而并不適用于PC與嵌入式領域處理器。而SPARC架構也不具備模塊化的特點,使得用戶無法裁剪和選擇。很難作為一種通用的處理器架構對商用的x86和ARM架構形成替代。

  設計這種超大服務器CPU芯片又非普通公司與個人所能涉足,而有能力設計這種大型CPU的公司也沒有必要投入巨大的成本來挑戰x86的統治地位。隨著Sun公司的衰弱,SPARC架構現在基本上退出了人們的視野。感興趣的讀者請在網絡上自行搜索文章《再見SPARC處理器,再見Sun》

  0.3 名校優生——RISC-V

  關于RISC-V在伯克利大學誕生的經歷,本節在此不做重復贅述。

  因為多年來在CPU領域已經出現過多個免費或開放的架構,很多高校也在科研項目中推出過多種指令集架構。因此,當筆者第一次聽說RISC-V之時,以為又是一個玩具,或純粹學術性質的科研項目而不以為意。

  直到筆者親自通讀了一遍RISC-V的架構文檔,不禁為其先進的設計理念所折服。同時,RISC-V架構的各種優點也得到了眾多專業人士的青睞好評和眾多商業公司的相繼加盟。并且2016年RISC-V基金會的正式啟動在業界引起了不小的影響。如此種種,使得RISC-V成為至今為止最具備革命性意義的開放處理器架構。

  1 簡單就是美——RISC-V架構的設計哲學

  RISC-V架構作為一種指令集架構,在介紹細節之前,讓我們先了解設計的哲學。所謂設計的“哲學”便是其推崇的一種策略,譬如說我們熟知的日本車的設計哲學是經濟省油,美國車的設計哲學是霸氣外漏等。RISC-V架構的設計哲學是什么呢?是“大道至簡”。

  筆者最為推崇的一種設計原則便是:簡單就是美,簡單便意味著可靠。無數的實際案例已經佐證了“簡單即意味著可靠的”真理,反之越復雜的機器越則越容易出錯。

  所謂大道至簡,在IC設計的實際工作中,筆者曾見過最簡潔的設計實現安全可靠,也曾見過最繁復的設計長時間無法穩定收斂。最簡潔的設計往往是最可靠的,在大多數的項目實踐中一次次的得到檢驗。

  IC設計的工作性質非常特殊,其最終的產出是芯片,而一款芯片的設計和制造周期均很長,無法像軟件代碼那樣輕易的升級和打補丁,每一次芯片的改版到交付都需要幾個月的周期。不僅如此,芯片的一次制造成本費用高昂,從幾十萬美金到百千萬美金不等。這些特性都決定了IC設計的試錯成本極為高昂,因此能夠有效的降低錯誤的發生就顯得非常的重要。

  現代的芯片設計規模越來越大,復雜度越來越高,并不是說要求設計者一味的逃避使用復雜的技術,而是應該將好鋼用在刀刃上,將最復雜的設計用在最為關鍵的場景,在大多數有選擇的情況下,盡量選擇簡潔的實現方案。

  筆者在第一次閱讀了RISC-V架構文檔之時,不禁擊節贊嘆,拍案驚奇,因為RISC-V架構在其文檔中不斷地明確強調,其設計哲學是“大道至簡”,力圖通過架構的定義使得硬件的實現足夠簡單。其簡單就是美的哲學,可以從幾個方面容易看出,后續小節將一一加以論述。

  1.1 無病一身輕——架構的篇幅

  在處理器領域,目前主流的架構為x86與ARM架構,筆者曾經參與設計ARM架構的應用處理器,因此需要閱讀ARM的架構文檔,如果對其熟悉的讀者應該了解其篇幅。經過幾十年的發展,現代的x86與ARM架構的架構文檔長達幾百數千頁。打印出來能有半個桌子高,可真是“著作等身”。

  之所以現代x86與ARM架構的文檔長達數千頁,且版本眾多,一個主要的原因是因為其架構的發展的過程也伴隨了現代處理器架構技術的不斷發展成熟。

  并且作為商用的架構,為了能夠保持架構的向后兼容性,其不得不保留許多過時的定義,或者在定義新的架構部分時為了能夠將就已經存在的技術部分而顯得非常的別扭。久而久之就變得極為冗長。

  那么現代成熟的架構是否能夠選擇重新開始,重新定義一個簡潔的架構呢,可以說是幾乎不可能。其中一個重要的原因便是其無法向前兼容,從而無法得到用戶的接受。試想一下如果我們買了一款新的搭配新的處理器的電腦或者手機回家,之前所有的軟件都無法運行而變磚,那肯定是無法讓人接受的。

  而現在才推出的RISC-V架構,則具備了后發優勢,由于計算機體系結構經過多年的發展已經成為比較成熟的技術,多年來在不斷成熟的過程中暴露的問題都已經被研究透徹,因此新的RISC-V架構能夠加以規避,并且沒有背負向后兼容的歷史包袱,可以說是無病一身輕。

  目前的“RISC-V架構文檔”分為“指令集文檔”(riscv-spec-v2.2.pdf)和“特權架構文檔”(riscv-privileged-v1.10.pdf)。“指令集文檔”的篇幅為145頁,而“特權架構文檔”的篇幅也僅為91頁。熟悉體系結構的工程師僅需一至兩天便可將其通讀,雖然“RISC-V的架構文檔”還在不斷地豐富,但是相比“x86的架構文檔”與“ARM的架構文檔”,RISC-V的篇幅可以說是極其短小精悍。

  感興趣的讀者可以在RISC-V基金會的網站上(https://riscv.org/specifications/)無需注冊便可免費下載其文檔,如圖1所示。

pIYBAFq5-4KAXrGLAACZRYlS1RQ802.png

  圖1 RISC-V基金會網站上的架構文檔

  1.2 能屈能伸——模塊化的指令集

  RISC-V架構相比其他成熟的商業架構的最大一個不同還在于它是一個模塊化的架構。因此,RISC-V架構不僅短小精悍,而且其不同的部分還能以模塊化的方式組織在一起,從而試圖通過一套統一的架構滿足各種不同的應用。

  這種模塊化是x86與ARM架構所不具備的。以ARM的架構為例,ARM的架構分為A、R和M三個系列,分別針對于Application(應用操作系統)、Real-Time(實時)和Embedded(嵌入式)三個領域,彼此之間并不兼容。

  但是模塊化的RISC-V架構能夠使得用戶能夠靈活選擇不同的模塊組合,以滿足不同的應用場景,可以說是“老少咸宜”。譬如針對于小面積低功耗嵌入式場景,用戶可以選擇RV32IC組合的指令集,僅使用Machine Mode(機器模式);而高性能應用操作系統場景則可以選擇譬如RV32IMFDC的指令集,使用Machine Mode(機器模式)與User Mode(用戶模式)兩種模式。而他們共同的部分則可以相互兼容。

  1.3 濃縮的都是精華——指令的數量

  短小精悍的架構以及模塊化的哲學,使得RISC-V架構的指令數目非常的簡潔。基本的RISC-V指令數目僅有40多條,加上其他的模塊化擴展指令總共幾十條指令。

  2 RISC-V指令集架構簡介

  本章將對RISC-V的指令集架構多方面的特性進行簡要介紹。

  2.1 模塊化的指令子集

  RISC-V的指令集使用模塊化的方式進行組織,每一個模塊使用一個英文字母來表示。RISC-V最基本也是唯一強制要求實現的指令集部分是由I字母表示的基本整數指令子集,使用該整數指令子集,便能夠實現完整的軟件編譯器。其他的指令子集部分均為可選的模塊,具有代表性的模塊包括M/A/F/D/C,如表1所示。

pIYBAFq5-4KATaxVAADSvkgr2n0141.png

  表1 RISC-V的模塊化指令集

  為了提高代碼密度,RISC-V架構也提供可選的“壓縮”指令子集,由英文字母C表示。壓縮指令的指令編碼長度為16比特,而普通的非壓縮指令的長度為32比特。以上這些模塊的一個特定組合“IMAFD”,也被稱為“通用”組合,由英文字母G表示。因此RV32G表示RV32IMAFD,同理RV64G表示RV64IMAFD。

  為了進一步減少面積,RISC-V架構還提供一種“嵌入式”架構,由英文字母E表示。該架構主要用于追求極低面積與功耗的深嵌入式場景。該架構僅需要支持16個通用整數寄存器,而非嵌入式的普通架構則需要支持32個通用整數寄存器。

  通過以上的模塊化指令集,能夠選擇不同的組合來滿足不同的應用。譬如,追求小面積低功耗的嵌入式場景可以選擇使用RV32EC架構;而大型的64位架構則可以選擇RV64G。

  除了上述的模塊,還有若干的模塊包括L、B、P、V和T等。這些擴展目前大多數還在不斷完善和定義中,尚未最終確定,因此本文在此不做詳細論述。

  2.2 可配置的通用寄存器組

  RISC-V架構支持32位或者64位的架構,32位架構由RV32表示,其每個通用寄存器的寬度為32比特;64位架構由RV64表示,其每個通用寄存器的寬度為64比特。

  RISC-V架構的整數通用寄存器組,包含32個(I架構)或者16個(E架構)通用整數寄存器,其中整數寄存器0被預留為常數0,其他的31個(I架構)或者15個(E架構)為普通的通用整數寄存器。

  如果使用了浮點模塊(F或者D),則需要另外一個獨立的浮點寄存器組,包含32個通用浮點寄存器。如果僅使用F模塊的浮點指令子集,則每個通用浮點寄存器的寬度為32比特;如果使用了D模塊的浮點指令子集,則每個通用浮點寄存器的寬度為64比特。

  2.3 規整的指令編碼

  在流水線中能夠盡早盡快的讀取通用寄存器組,往往是處理器流水線設計的期望之一,這樣可以提高處理器性能和優化時序。這個看似簡單的道理在很多現存的商用RISC架構中都難以實現,因為經過多年反復修改不斷添加新指令后,其指令編碼中的寄存器索引位置變得非常的凌亂,給譯碼器造成了負擔。

  得益于后發優勢和總結了多年來處理器發展的教訓,RISC-V的指令集編碼非常的規整,指令所需的通用寄存器的索引(Index)都被放在固定的位置,如圖2所示。因此指令譯碼器(Instruction Decoder)可以非常便捷的譯碼出寄存器索引然后讀取通用寄存器組(Register File,Regfile)。

pIYBAFq5-4OASqsDAABQRkzhtFs864.png

  圖2 RV32I規整的指令編碼格式

  2.4 簡潔的存儲器訪問指令

  與所有的RISC處理器架構一樣,RISC-V架構使用專用的存儲器讀(Load)指令和存儲器寫(Store)指令訪問存儲器(Memory),其他的普通指令無法訪問存儲器,這種架構是RISC架構的常用的一個基本策略,這種策略使得處理器核的硬件設計變得簡單。

  存儲器訪問的基本單位是字節(Byte)。RISC-V的存儲器讀和存儲器寫指令支持一個字節(8位),半字(16位),單字(32位)為單位的存儲器讀寫操作,如果是64位架構還可以支持一個雙字(64位)為單位的存儲器讀寫操作。

  RISC-V架構的存儲器訪問指令還有如下顯著特點:

  為了提高存儲器讀寫的性能,RISC-V架構推薦使用地址對齊的存儲器讀寫操作,但是地址非對齊的存儲器操作RISC-V架構也支持,處理器可以選擇用硬件來支持,也可以選擇用軟件來支持。

  由于現在的主流應用是小端格式(Little-Endian),RISC-V架構僅支持小端格式。有關小端格式和大端格式的定義和區別,本文在此不做過多介紹,若對此不甚了解的初學者可以自行查閱學習。

  很多的RISC處理器都支持地址自增或者自減模式,這種自增或者自減的模式雖然能夠提高處理器訪問連續存儲器地址區間的性能,但是也增加了設計處理器的難度。RISC-V架構的存儲器讀和存儲器寫指令不支持地址自增自減的模式。

  RISC-V架構采用松散存儲器模型(Relaxed Memory Model),松散存儲器模型對于訪問不同地址的存儲器讀寫指令的執行順序不作要求,除非使用明確的存儲器屏障(Fence)指令加以屏蔽。

  這些選擇都清楚地反映了RISC-V架構力圖簡化基本指令集,從而簡化硬件設計的哲學。RISC-V架構如此定義非常合理,能夠達到能屈能伸的效果。譬如:對于低功耗的簡單CPU,可以使用非常簡單的硬件電路即可完成設計;而對于追求高性能的超標量處理器則可以通過復雜設計的動態硬件調度能力來提高性能。

  2.5 高效的分支跳轉指令

  RISC-V架構有兩條無條件跳轉指令(Unconditional Jump),jal與jalr指令。跳轉鏈接(Jump and Link)指令jal可用于進行子程序調用,同時將子程序返回地址存在鏈接寄存器(Link Register:由某一個通用整數寄存器擔任)中。跳轉鏈接寄存器(Jump and Link-Register)指令jalr指令能夠用于子程序返回指令,通過將jal指令(跳轉進入子程序)保存的鏈接寄存器用于jalr指令的基地址寄存器,則可以從子程序返回。

  RISC-V架構有6條帶條件跳轉指令(Conditional Branch),這種帶條件的跳轉指令跟普通的運算指令一樣直接使用2個整數操作數,然后對其進行比較,如果比較的條件滿足時,則進行跳轉。因此,此類指令將比較與跳轉兩個操作放到了一條指令里完成。

  作為比較,很多的其他RISC架構的處理器需要使用兩條獨立的指令。第一條指令先使用比較指令,比較的結果被保存到狀態寄存器之中;第二條指令使用跳轉指令,判斷前一條指令保存在狀態寄存器當中的比較結果為真時則進行跳轉。相比而言RISC-V的這種帶條件跳轉指令不僅減少了指令的條數,同時硬件設計上更加簡單。

  對于沒有配備硬件分支預測器的低端CPU,為了保證其性能,RISC-V的架構明確要求其采用默認的靜態分支預測機制,即:如果是向后跳轉的條件跳轉指令,則預測為“跳”;如果是向前跳轉的條件跳轉指令,則預測為“不跳”,并且RISC-V架構要求編譯器也按照這種默認的靜態分支預測機制來編譯生成匯編代碼,從而讓低端的CPU也能得到不錯的性能。

  為了使硬件設計盡量簡單,RISC-V架構特地定義了所有的帶條件跳轉指令跳轉目標的偏移量(相對于當前指令的地址)都是有符號數,并且其符號位被編碼在固定的位置。因此,這種靜態預測機制在硬件上非常容易實現,硬件譯碼器可以輕松的找到這個固定的位置,并判斷其是0還是1來判斷其是正數還是負數,如果是負數則表示跳轉的目標地址為當前地址減去偏移量,也就是向后跳轉,則預測為“跳”。當然對于配備有硬件分支預測器的高端CPU,則可以采用高級的動態分支預測機制來保證性能。

  2.6 簡潔的子程序調用

  為了理解此節,需先對一般RISC架構中程序調用子函數的過程予以介紹,其過程如下:

  進入子函數之后需要用存儲器寫(Store)指令來將當前的上下文(通用寄存器等的值)保存到系統存儲器的堆棧區內,這個過程通常稱為“保存現場”。

  在退出子程序之時,需要用存儲器讀(Load)指令來將之前保存的上下文(通用寄存器等的值)從系統存儲器的堆棧區讀出來,這個過程通常稱為“恢復現場”。

  “保存現場”和“恢復現場”的過程通常由編譯器編譯生成的指令來完成,使用高層語言(譬如C或者C++)開發的開發者對此可以不用太關心。高層語言的程序中直接寫上一個子函數調用即可,但是這個底層發生的“保存現場”和“恢復現場”的過程卻是實實在在地發生著(可以從編譯出的匯編語言里面看到那些“保存現場”和“恢復現場”的匯編指令),并且還需要消耗若干的CPU執行時間。

  為了加速這個“保存現場”和“恢復現場”的過程,有的RISC架構發明了一次寫多個寄存器到存儲器中(Store Multiple),或者一次從存儲器中讀多個寄存器出來(Load Multiple)的指令,此類指令的好處是一條指令就可以完成很多事情,從而減少匯編指令的代碼量,節省代碼的空間大小。但是此種“Load Multiple”和“Store Multiple”的弊端是會讓CPU的硬件設計變得復雜,增加硬件的開銷,也可能損傷時序使得CPU的主頻無法提高,筆者在曾經設計此類處理器時便深受其苦。

  RISC-V架構則放棄使用這種“Load Multiple”和“Store Multiple”指令。并解釋,如果有的場合比較介意這種“保存現場”和“恢復現場”的指令條數,那么可以使用公用的程序庫(專門用于保存和恢復現場)來進行,這樣就可以省掉在每個子函數調用的過程中都放置數目不等的“保存現場”和“恢復現場”的指令。

  此選擇再次印證了RISC-V追求硬件簡單的哲學,因為放棄“Load Multiple”和“Store Multiple”指令可以大幅簡化CPU的硬件設計,對于低功耗小面積的CPU可以選擇非常簡單的電路進行實現,而高性能超標量處理器由于硬件動態調度能力很強,可以有強大的分支預測電路保證CPU能夠快速的跳轉執行,從而可以選擇使用公用的程序庫(專門用于保存和恢復現場)的方式減少代碼量,但是同時達到高性能。

  2.7 無條件碼執行

  很多早期的RISC架構發明了帶條件碼的指令,譬如在指令編碼的頭幾位表示的是條件碼(Conditional Code),只有該條件碼對應的條件為真時,該指令才被真正執行。

  這種將條件碼編碼到指令中的形式可以使得編譯器將短小的循環編譯成帶條件碼的指令,而不用編譯成分支跳轉指令。這樣便減少了分支跳轉的出現,一方面減少了指令的數目;另一方面也避免了分支跳轉帶來的性能損失。然而,這種“條件碼”指令的弊端同樣會使得CPU的硬件設計變得復雜,增加硬件的開銷,也可能損傷時序使得CPU的主頻無法提高,筆者在曾經設計此類處理器時便深受其苦。

  RISC-V架構則放棄使用這種帶“條件碼”指令的方式,對于任何的條件判斷都使用普通的帶條件分支跳轉指令。此選擇再次印證了RISC-V追求硬件簡單的哲學,因為放棄帶“條件碼”指令的方式可以大幅簡化CPU的硬件設計,對于低功耗小面積的CPU可以選擇非常簡單的電路進行實現,而高性能超標量處理器由于硬件動態調度能力很強,可以有強大的分支預測電路保證CPU能夠快速的跳轉執行達到高性能。

  2.8 無分支延遲槽

  很多早期的RISC架構均使用了“分支延遲槽(Delay Slot)”,最具有代表性的便是MIPS架構,在很多經典的計算機體系結構教材中,均使用MIPS對分支延遲槽進行過介紹。分支延遲槽就是指在每一條分支指令后面緊跟的一條或者若干條指令不受分支跳轉的影響,不管分支是否跳轉,這后面的幾條指令都一定會被執行。

  早期的RISC架構很多采用了分支延遲槽誕生的原因主要是因為當時的處理器流水線比較簡單,沒有使用高級的硬件動態分支預測器,所以使用分支延遲槽能夠取得可觀的性能效果。然而,這種分支延遲槽使得CPU的硬件設計變得極為的別扭,CPU設計人員對此往往苦不堪言。

  RISC-V架構則放棄了分支延遲槽,再次印證了RISC-V力圖簡化硬件的哲學,因為現代的高性能處理器的分支預測算法精度已經非常高,可以有強大的分支預測電路保證CPU能夠準確的預測跳轉執行達到高性能。而對于低功耗小面積的CPU,由于無需支持分支延遲槽,硬件得到極大簡化,也能進一步減少功耗和提高時序。

  2.9 無零開銷硬件循環

  很多RISC架構還支持零開銷硬件循環(Zero Overhead Hardware Loop)指令,其思想是通過硬件的直接參與,通過設置某些循環次數寄存器(Loop Count),然后可以讓程序自動地進行循環,每一次循環則Loop Count自動減1,這樣持續循環直到Loop Count的值變成0,則退出循環。

  之所以提出發明這種硬件協助的零開銷循環是因為在軟件代碼中的for 循環(for i=0; i

  然有得必有失,此類零開銷硬件循環指令大幅地增加了硬件設計的復雜度。因此,零開銷循環指令與RISC-V架構簡化硬件的哲學是完全相反的,在RISC-V架構中自然沒有使用此類零開銷硬件循環指令。

  2.10 簡潔的運算指令

  在本章第2.1節中曾經提到RISC-V架構使用模塊化的方式組織不同的指令子集,最基本的整數指令子集(I字母表示)支持的運算包括加法、減法、移位、按位邏輯操作和比較操作。這些基本的運算操作能夠通過組合或者函數庫的方式完成更多的復雜操作(譬如乘除法和浮點操作),從而能夠完成大多數的軟件操作。

  整數乘除法指令子集(M字母表示)支持的運算包括,有符號或者無符號的乘法和除法操作。乘法操作能夠支持兩個32位的整數相乘得到一個64位的結果;除法操作能夠支持兩個32位的整數相除得到一個32位的商與32位的余數。

  單精度浮點指令子集(F字母表示)與雙精度浮點指令子集(D字母表示)支持的運算包括浮點加減法,乘除法,乘累加,開平方根和比較等操作,同時提供整數與浮點,單精度與雙精度浮點彼此之間的格式轉換操作。

  很多RISC架構的處理器在運算指令產生錯誤之時,譬如上溢(Overflow)、下溢(Underflow)、非規格化浮點數(Subnormal)和除零(Divide by Zero),都會產生軟件異常。RISC-V架構的一個特殊之處是對任何的運算指令錯誤(包括整數與浮點指令)均不產生異常,而是產生某個特殊的默認值,同時,設置某些狀態寄存器的狀態位。RISC-V架構推薦軟件通過其他方法來找到這些錯誤。再次清楚地反映了RISC-V架構力圖簡化基本的指令集,從而簡化硬件設計的哲學。

  2.11 優雅的壓縮指令子集

  基本的RISC-V基本整數指令子集(字母I表示 )規定的指令長度均為等長的32位,這種等長指令定義使得僅支持整數指令子集的基本RISC-V CPU非常容易設計。但是等長的32位編碼指令也會造成代碼體積(Code Size)相對較大的問題。

  為了滿足某些對于代碼體積要求較高的場景(譬如嵌入式領域),RISC-V定義了一種可選的壓縮(Compressed)指令子集,由字母C表示,也可以由RVC表示。RISC-V具有后發優勢,從一開始便規劃了壓縮指令,預留了足夠的編碼空間,16位長指令與普通的32位長指令可以無縫自由地交織在一起,處理器也沒有定義額外的狀態。

  RISC-V壓縮指令的另外一個特別之處是,16位指令的壓縮策略是將一部分普通最常用的的32位指令中的信息進行壓縮重排得到(譬如假設一條指令使用了兩個同樣的操作數索引,則可以省去其中一個索引的編碼空間),因此每一條16位長的指令都能一一找到其對應的原始32位指令。因此,程序編譯成為壓縮指令僅在匯編器階段就可以完成,極大的簡化了編譯器工具鏈的負擔。

  RISC-V架構的研究者進行了詳細的代碼體積分析,如圖3所示,通過分析結果可以看出,RV32C的代碼體積相比RV32的代碼體積減少了百分之四十,并且與ARM,MIPS和x86等架構相比都有不錯的表現。

pIYBAFq5-4OAfGHjAAB2u1phPQA188.png

  圖3 各指令集架構的代碼密度比較(數據越小越好)

  2.12 特權模式

  RISC-V架構定義了三種工作模式,又稱特權模式(Privileged Mode):

  Machine Mode:機器模式,簡稱M Mode。

  Supervisor Mode:監督模式,簡稱S Mode。

  User Mode:用戶模式,簡稱U Mode。

  RISC-V架構定義M Mode為必選模式,另外兩種為可選模式。通過不同的模式組合可以實現不同的系統。

  RISC-V架構也支持幾種不同的存儲器地址管理機制,包括對于物理地址和虛擬地址的管理機制,使得RISC-V架構能夠支持從簡單的嵌入式系統(直接操作物理地址)到復雜的操作系統(直接操作虛擬地址)的各種系統。

  2.13 CSR寄存器

  RISC-V架構定義了一些控制和狀態寄存器(Control and Status Register,CSR),用于配置或記錄一些運行的狀態。CSR寄存器是處理器核內部的寄存器,使用其自己的地址編碼空間和存儲器尋址的地址區間完全無關系。

  CSR寄存器的訪問采用專用的CSR指令,包括CSRRW、CSRRS、CSRRC、CSRRWI、CSRRSI以及CSRRCI指令。

  2.14 中斷和異常

  中斷和異常機制往往是處理器指令集架構中最為復雜而關鍵的部分。RISC-V架構定義了一套相對簡單基本的中斷和異常機制,但是也允許用戶對其進行定制和擴展。

  2.15 矢量指令子集

  RISC-V架構目前雖然還沒有定型矢量(Vector)指令子集,但是從目前的草案中已經可以看出,RISC-V矢量指令子集的設計理念非常的先進,由于后發優勢及借助矢量架構多年發展成熟的結論,RISC-V架構將使用可變長度的矢量,而不是矢量定長的SIMD指令集(譬如ARM的NEON和Intel的MMX),從而能夠靈活的支持不同的實現。追求低功耗小面積的CPU可以選擇使用長度較短的硬件矢量進行實現,而高性能的CPU則可以選擇較長的硬件矢量進行實現,并且同樣的軟件代碼能夠彼此兼容。

  2.16 自定制指令擴展

  除了上述闡述的模塊化指令子集的可擴展、可選擇,RISC-V架構還有一個非常重要的特性,那就是支持第三方的擴展。用戶可以擴展自己的指令子集,RISC-V預留了大量的指令編碼空間用于用戶的自定義擴展,同時,還定義了四條Custom指令可供用戶直接使用,每條Custom指令都有幾個比特位的子編碼空間預留,因此,用戶可以直接使用四條Custom指令擴展出幾十條自定義的指令。

  2.17 總結與比較

  處理器設計技術經過幾十年的衍進,隨著大規模集成電路設計技術的發展直至今天,呈現出如下特點:

  由于高性能處理器的硬件調度能力已經非常強勁且主頻很高,因此,硬件設計希望指令集盡可能的規整、簡單,從而,使得處理器可以設計出更高的主頻與更低的面積。

  以IoT應用為主的極低功耗處理器更加苛求低功耗與低面積。

  存儲器的資源也比早期的RISC處理器更加豐富。

  如上種種這些因素,使得很多早期的RISC架構設計理念(依據當時技術背景而誕生),時至今日不僅不能幫助現代處理器設計,反而成了負擔桎梏。某些早期RISC架構定義的特性,一方面使得高性能處理器的硬件設計束手束腳;另一方面又使得極低功耗的處理器硬件設計背負不必要的復雜度。

  得益于后發優勢,全新的RISC-V架構能夠規避所有這些已知的負擔,同時,利用其先進的設計哲學,設計出一套“現代”的指令集。本節再次將其特點總結如表2所示。

pIYBAFq5-4OANrITAAECHSOP35g103.png

  表2 RISC-V指令集架構特點總結


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 国产亚洲精品网站 | 91丨九色丨黑人外教 | 美国免费毛片基地 | av黄色片 | 插吧插吧综合网 | 在线一区国产 | 女av在线| 福利一区二区视频 | 免费成人用春色 | 我要看免费毛片 | 美女张开腿让人桶 | 伊人久久久久久久久 | 瑟瑟网站在线观看 | 黄色一级在线播放 | 久久精品无码一区二区日韩av | 蜜桃精品视频 | 国产福利视频在线 | 国产日韩亚洲 | 91久久精品一区 | 人妻洗澡被强公日日澡 | 久久国产劲暴∨内射新川 | 草久久免费视频 | 好吊妞视频788gao在线观看 | aaaaa爽爽爽久久久 | wwwcom在线观看 | 国产精品调教奴变态 | 欧美性折磨bdsm激情另类视频 | 国产精品夜间视频香蕉 | 麻豆精品在线观看 | 可播放的亚洲男同网站 | 波多野结衣一区二区三区免费视频 | 激情偷拍 | 亚洲国产mv | 东南亚末成年videos | 亚洲午夜精品久久久久久app | 使劲插视频 | 亚洲成熟丰满熟妇高潮xxxxx | 中文字幕在线观看视频网站 | 国产精品奇米一区二区三区小说 | 日韩欧美一级 | 97人人看| 久久亚洲精品国产亚洲老地址 | 97精品在线观看 | 国产精品久久久久久久久动漫 | 26uuu精品一区二区在线观看 | 国产精选在线 | 校园春色亚洲激情 | 中文字幕av免费观看 | 在线视频亚洲欧美 | 麻豆视频在线免费观看 | 伊人狠狠色j香婷婷综合 | 成人日韩在线 | 国产麻豆91欧美一区二区 | 男人天堂2019| 三级三级三级a级全黄公司的 | 免费xxxxx在线观看网站软件 | 日韩中文字幕av在线 | 午夜国产小视频 | 少妇性l交大片 | 舌头伸进添得好爽高潮欧美 | 无码国产一区二区三区四区 | 免费观看理伦片在线播放 | 黄色资源网站 | 成人精品黄段子 | 亚洲天堂2017无码中文 | 欧美巨鞭大战丰满少妇 | 国产一卡二卡三卡四卡 | 黄色一毛片| 伊人综合影院 | 天海翼一区二区 | 中文字幕日韩av | 五月开心网 | 精品国产乱码一区二 | 国产三级网址 | 寡妇亲子伦一区二区三区四区 | 国产欧美日韩另类 | 97视频一区 | 美女网站全黄 | 国产911在线观看 | 欧美一区二区三区在线观看 | 美女国内精品自产拍在线播放 | 91亚洲日本aⅴ精品一区二区 | 国产做爰全过程免费视频 | 亚洲国产综合精品2020 | 亚洲国产av无码精品 | 色婷婷在线影院 | 精品免费久久久 | 一区二区三区免费观看视频 | 成年男女免费视频 | 四虎4hu| 成品片a免人看免费 | 亚洲美女在线观看 | 韩国日本在线观看 | 国产黄色影院 | 九色网址 | 97在线免费观看 | 水蜜桃色314在线观看 | 日日干日日爽 | 日韩中文字幕精品视频 | 四川丰满少妇被弄到高潮 | 亚洲一本在线 | 国产日韩欧美在线播放 | 免费中文字幕视频 | 黄色a在线观看 | 欧美aaa在线观看 | 国产成人无码免费看片软件 | 久久精品aⅴ无码中文字字幕蜜桃 | 在线免费视频你懂的 | 无码成人1000部免费视频 | 99精品国产综合久久久久久 | 中文字幕在线免费视频 | 美女初尝巨物嗷嗷叫自拍视频 | 亚洲一二三区av | 99热欧美| www男人的天堂com | 亚洲第1页| 国产伦人伦偷精品视频 | 久久爰 | 日韩精品第1页 | 亚洲欧美中文字幕在线一区 | 91亚瑟| 国产精品户外野外 | 亚洲日本视频在线观看 | 成年人免费看视频 | 中文字幕精品亚洲无线码一区应用 | 国产九色porny| 日本xxxx自慰xxxx | 激情第一区仑乱 | 亚洲va欧美va天堂v国产综合 | av一区二区三区在线 | 亚洲男人天堂网站 | 在线观看福利视频 | 亚洲最大色大成人av | 女女les互磨高潮国产精品 | 精品国产自在精品国产浪潮 | 777亚洲| 五级毛片 | 亚洲伦理99热久久 | www,五月天,com| 狠狠综合久久av一区二区 | 日韩欧美中文字幕一区二区 | 日韩一区二区免费播放 | 国产精品麻豆欧美日韩ww | 欧美在线二区 | 免费看男女做爰爽爽视频 | 成人在线视频一区 | 久久久中文久久久无码 | 亚洲日本免费 | 亚洲熟妇av综合网 | 免费欧美黄 | 欧美日日夜夜 | 97国产精品自拍 | 哺乳一区二区久久久免费 | 一级黄色片一级黄色片 | 九九热国产视频 | 欧美又大粗又爽又黄大片视频 | 国内精品伊人久久久久7777 | 国产女人高潮抽搐喷水免费视频 | 理论片中文字幕在线观看 | 日韩成人激情 | av一区二区三区四区 | 男女午夜激情视频 | 欧美成人性影院 | 手机在线播放av | 日本黄色录象 | 一 级 黄 色 片免费网站 | 久久激情免费视频 | 中文字幕人妻熟在线影院 | 欧美在线另类 | 久久夜色精品国产噜噜av小说 | 成人免费网站黄 | 欧美激情不卡 | 亚洲视频在线观看免费视频 | 蜜桃免费在线视频 | 无码福利日韩神码福利片 | 国产激情片| 国产乱码精品一区二区三区亚洲人 | 日本久久久久亚洲中字幕 | 国产精品一区亚洲二区日本三区 | 国内精品福利视频 | 午夜无码一区二区三区在线观看 | 国产一区二区精品久久 | 亚洲午夜av久久乱码 | 国产精品久久久久久久久久久天堂 | 国产一区二三区好的精华液69 | 丁五月 | 亚洲午夜精品久久久 | 欧美日韩精品一区二区三区在线 | 色噜噜狠狠色综合中国 | 国产无遮挡吃胸膜奶免费看 | 中文字幕亚洲精品在线 | 一区二区三区无码高清视频 | 国产内射合集颜射 | 日韩毛片儿 | 99视频+国产日韩欧美 | 变态孕妇孕交av免费看 | 精品国产乱码久久久久久免费 | 精品久久久久久久久久久久久久久久 | 午夜日韩在线 | 亚洲国产成人精品久久久国产成人 | www日本久久 | 国产精品久久久久久久久久久新郎 | 精品国产一区二区三区在线观看 | 91ts人妖另类精品系列 | 日韩不卡一区二区 | 日本在线免费观看视频 | 成人黄色在线观看 | 日韩毛片在线观看 | 国产亚洲高清视频 | 成年黄色片| 亚洲性久久9久久爽 | 又湿又紧又大又爽a视频 | 五月激情六月丁香激情天堂 | 奇米影视7777 | 欧美国产在线看 | 午夜精品福利一区二区蜜股av | 国内少妇毛片视频 | 国产777| 一级特黄aa | 日韩欧美综合一区 | 亚洲欧洲精品成人久久曰 | 亚欧视频在线观看 | 这里有精品 | 久久视频在线观看免费 | 一区二区精品国产 | 亚洲精品国产摄像头 | 国产精品农村妇女白天高潮 | 国产精品色图 | 高潮喷水的毛片 | 日本丰满少妇裸体自慰 | 91精品久久久久久久99蜜桃 | 久久99精品久久久久 | 在线久久 | 天天色天天综合 | 日韩国产综合 | 成人激情四射网 | 精品一区二区久久久久久久网站 | 久久久人体 | 欧美三级a| 韩国三级久久 | 国产边摸边吃奶边做爽视频 | 夜夜躁狠狠躁日日躁202小说 | 国产精品嫩草影院8vv8 | 色综合久久88色综合天天提莫 | 米奇影视第四色 | 精品无码中文字幕在线 | 精品视频国产 | 中文日字幕无限码 | 成年人晚上看的视频 | 动漫美女露胸网站 | 久久久三级视频 | 成人国产精品久久久按摩 | 婷婷色av | 国产精品久久国产精品99 | 少妇被爽到高潮喷水久久欧美精品 | 男人疯狂高潮呻吟视频 | 亚洲最大的成人网 | 777777777少妇流水视频 | 亚洲精品wwww | 老师粉嫩小泬喷水视频90 | 国产一级午夜一级在线观看 | 无码人妻丰满熟妇区五十路百度 | 国产91精品入口 | www视频免费在线观看 | 午夜性刺激在线视频免费 | 精品国产鲁一鲁一区二区三区 | 成年片黄色日本大片网站视频 | 免费aaa乇片 | 欧美影院adc | 日本高清免费毛片大全awaaa | 国产又粗又猛又爽又黄的视频p站 | 久人久人久人久久久久人 | 亚洲成人tv | 另类在线视频 | 色5月婷婷 | 18禁裸体女免费观看 | 国产精品久久久久白丝呻吟 | 翘臀后进少妇大白嫩屁股91 | 亚洲国产精品无码久久98 | 在线黄色免费网站 | 国产裸体瑜伽xxx在线 | 日韩久久精品一区二区 | 亚洲人精品亚洲人成在线 | www久久久久久久久 www久久久久久久久久 | 亚洲精品中文字幕 | 毛茸茸绝色孕妇孕交 | 国产三级国产精品 | 久久久久久欧美精品色一二三四 | 成人毛片100部免费看 | 在线免费不卡视频 | 青青草视频黄 | 亚洲a∨国产av综合av网站 | 国产色视频一区二区三区 | 亚洲天天在线 | 欧美污视频在线观看 | 韩国av中文字幕 | 97在线看 | 精品久久久久久久久久久久包黑料 | 成人精品天堂一区二区三区 | 91久久久www播放日本观看 | 成人羞羞国产免费网站 | 亚洲色精品aⅴ一区区三区 国产黄大片在线观看 | 久久中文一区 | 日韩日比视频 | 国产精品久久久天天影视 | 日韩人妻精品无码一区二区三区 | 欧美午夜网 | 国产乱码精品一区二区三区爽爽爽 | 狠狠躁夜夜躁人人爽天天天天97 | www.色就是色| 99久热re在线精品99re8热视频 | 国产精品入口传媒小说 | 男女做爰猛烈啪啪吃奶动床戏麻豆 | 中国一级片在线观看 | 亚洲成a人片77777在线播放 | 窝窝午夜理论片影院 | 91精品久久久久久久91蜜桃 | 国产精品久久久国产盗摄蜜臀 | 久久成人一区二区 | 中文字幕乱码视频 | 美女极度色诱图片www视频 | 日本精品在线看 | 美女张开腿黄网站免费下载 | 久久视频在线免费观看 | 99在线精品免费视频 | 日韩一级色片 | 九色免费视频 | 亚洲黄色a | 亚洲精品一区二区三区樱花 | 日日日干干干 | 精品久久久久久18免费网站 | av免播放器 | 欧美肥婆姓交大片 | 天天操夜夜操夜夜操 | 欧美大屁股xxxxhd黑色 | 特黄aaaaaa私密按摩 | 亚洲国产精品日韩av不卡在线 | 国产桃色视频 | 国产欧美不卡 | 亚洲综合av一区二区三区 | 国产高潮白浆 | 你懂的日韩 | 精品久久久无码中文字幕边打电话 | 夜夜躁狠狠躁日日躁 | 99国产精品99久久久久久娜娜 | 一级黄色大片免费观看 | 毛片网站有哪些 | 一级性毛片 | 欧美成人性生交大片免费看 | 久欠精品国国产99国产精2021 | 男人天堂色 | 三级av网| 96久久久| 欧美群交射精内射颜射潮喷 | 国产精品久久久一区二区三区 | 精产国品一二三产品蜜桃 | 国产黄色片在线免费观看 | 99精品视频在线观看免费播放 | 91九色丨porny丨肉丝 | 在线观看精品视频 | 久久传媒av性色av人人爽网站 | 久久国产精品萌白酱免费 | 欧美内射深喉中文字幕 | 亚洲一区二区三区四区五区六区 | 国产自产在线 | 国产精品久久国产三级国 | 爆乳熟妇一区二区三区 | 成人丁香婷婷 | 久久久精品国产 | 粗大猛烈进出高潮视频大全 | 麻豆出品必属精品 | tube少妇高潮 | 中文字幕资源站 | 五月天久久久久 | 国产女人高潮毛片 | 99视频在线精品免费观看6 | 国产成人欧美一区二区三区的 | 放荡的少妇2欧美版 | 不卡黄色 | 国产精品女同一区二区 | 中文字幕在线观看视频地址二 | 日韩成人无码影院 | 九九看片 | zσzo欧美性猛交xx | 久热精品在线观看视频 | 午夜无码区在线观看 | 精品视频久久久久 | 中文字幕人妻熟女人妻a片 国产精品人妻系列21p | 青青草成人免费 | 精品久久久噜噜噜久久久 | 国产69久久精品成人看动漫 | 污免费在线观看 | 国产亚洲精品久久久久四川人 | 男女下面一进一出无遮挡 | 日韩资源网 | 日产国产欧美视频一区精品 | 日韩精品www | 欧美蜜桃视频 | 欧美xxxxxx片免费播放软件 | 欧洲熟妇色xxxx欧美老妇多毛网站 | 中文字幕一区二区三区又粗 | 国产精品日韩av在线播放 | 影音先锋人妻啪啪av资源网站 | 国产免费人成xvideos视频 | 九九热免费精品视频 | 91社区在线观看高清 | 无码av岛国片在线播放 | 日本熟妇浓毛 | 成人性生交大片100部 | 在线a| 亚洲国产日韩欧美一区二区三区 | 性xxx法国hd极品 | 三级国产视频 | proumb性欧美在线观看 | 国产性猛交╳xxx乱大交 | 天堂av片| 国产最新在线视频 | 欧美天堂一区二区 | 国精产品一区二区三区黑人免费看 | 综合久久五月 | 久久精品日产第一区二区三区在哪里 | 日韩成人高清视频 | 97精品人妻一区二区三区香蕉 | 少妇性l交大片毛多 | 亚洲蜜桃av一区二区 | 日韩和的一区二区 | 天天干妹子 | 国产精品乱码一区 | 色网站在线免费观看 | 国产91我把她日出白浆 | 黑色超薄丝袜脚交爽91 | 国产天堂在线 | 国产真实乱免费高清视频 | 少妇饥渴偷公乱75 | 精品国产一区二区三区久久影院 | 欧洲美熟女乱又伦 | 欧美日本另类 | 日日摸日日碰夜夜爽av | 免费全部高h视频 | 国产综合在线播放 | 一区www| 少妇紧身牛仔裤裤啪啪 | 成人情侣激情偷拍视频 | 国产精品人人爽人人做av片 | 天天干天天爱天天操 | 国产免费a∨片在线观看不卡 | 97久久综合亚洲色hezyo | 黄页网址大全免费观看 | 色综合久久久久综合体桃花网 | yy6080久久伦理一区二区 | 外国av在线 | 日韩色片在线 | 日本无遮真人祼交视频 | 日本一区二区在线免费 | 国产性xxx | 引诱漂亮新婚少妇 | 永久免费看mv网站入口亚洲 | 好吊日av | 久久精品人人爽 | 日本不卡视频在线 | 三级黄色片免费 | 超碰人人做 | 欧亚激情偷人伦小说专区 | 日本视频高清一区二区三区 | 视频一区中文字幕 | 污网站免费观看 | 午夜视频色| a国产一区二区免费入口 | 91亚洲一线产区二线产区 | 精品久久久99 | 丝袜视频一区 | 精品一区二区三区在线成人 | yy111122少妇光屁股影院 | 啦啦啦www播放日本观看 | 亚洲欧美自偷自拍 | 国产精品久久久久久久免费看 | 日韩午夜伦 | 97久久人人 | 女性无套免费网站在线看 | 在线中文天堂 | 中文字幕人妻伦伦 | 91亚洲欧美中文精品按摩 | 99日精品| 色播亚洲视频在线观看 | eeuss国产一区二区三区四区 | 欧美性大战久久久久久 | 免费在线观看a视频 | 午夜剧院免费观看 | 中文字幕久久久 | 精品二区在线 | 性感美女一区 | 四虎影视4hu4虎成人 | 日本在线观看 | 国产无套内射又大又猛又粗又爽 | 成人福利视频在线观看 | 国产又色又爽又刺激在线播放 | 中文字幕在线字幕中文 | 天天干夜夜骑 | 国产精品久久久久蜜臀 | 日韩亚洲影院 | 中文字幕色av一区二区三区 | 日产精品久久久久久久性色 | 成人免费视频网站在线观看 | 亚洲色偷拍区另类无码专区 | 亚洲免费永久精品国产 | 色婷婷激情综合 | 少妇被粗大猛进进出出 | 国产精品无码一区二区三区不卡 | 欧洲s码亚洲m码精品一区 | 欧美性猛交ⅹxxx乱大交3 | 国产一区二区不卡精华液 | 国产无套粉嫩白浆在线 | 清纯小美女主播流白浆 | 国产精品久久久91 | 久久亚洲精品无码va白人极品 | 91在线视频国产 | 亚洲深夜在线 | www九色| 男人视频网站 | 免费网站看v片在线18禁无码 | 高h文在线 | 亚洲成a人片在线观看日本 国产精品无码成人午夜电影 | 好男人网站| 日韩视频网 | 中文字幕一区在线 | 国产黄大片在线观看画质优化 | 国产精品久久久久毛片 | 一本视频 | 另类中文字幕 | 美女胸又黄又水 | 亚洲肥老太bbw中国熟女 | 91高清视频在线 | 噜噜吧噜噜色 | 欧美日激情日韩精品嗯 | 日韩伦理在线视频 | 特级西西444www大精品视频免费看 | 中文字幕丝袜诱惑 | 巨大欧美黑人xxxxbbbb | 国产一区二区三区久久 | 久久久噜噜噜久久中文字幕色伊伊 | 豆花av在线 | 老子影院午夜精品无码 | 捆绑japanhdxxxxvideos | 亚洲免费国产视频 | 精品亚洲aⅴ在线观看 | 中文字幕人成无码人妻综合社区 | 男人的天堂av女优 | 日产精品久久久久久久性色 | 特黄做受又粗又大又硬老头 | www68av蜜桃亚洲精品 | 欧洲视频一区 | 7777奇米四色眼影国产馆 | 国产小视频免费观看 | 奇米影视888欧美在线观看 | 欧美激情小视频 | 日本免费一区二区三区在线播放 | 久久99久久99久久 | 久久丫精品忘忧草西安产品 | mm1313亚洲精品| 日韩av专区片 | 欧美日韩亚洲国产精品 | 国变精品美女久久久久av爽 | 波多野结衣在线观看视频 | www.伊人| 高清视频在线观看一区二区三区 | 视频二区中文字幕 | 国产熟妇搡bbbb搡bbbb | 米奇狠狠干 | 日本不卡中文字幕 | 麻豆影视在线 | 日韩丰满少妇无吗视频激情内射 | 久久久久www | 瑟瑟久久 | 伊人春色在线 | 无码伊人久久大杳蕉中文无码 | 99热| 久久精品人人做人人爱爱站长工具 | 伊人永久 | 一本一道久久综合久久 | 亚洲精品乱码久久久久久动图 | 黄色视频毛片 | 中文字幕我不卡在线看 | 3d成人精品动漫视频在线观看 | 欧美日本国产va高清cabal | 国产999精品成人网站 | 久操热 | 日本精品一区二区三区在线播放视频 | 日本高清视频wwww色 | 亚洲午夜精品久久久久久app | 精品免费国产一区二区三区四区介绍 | 亚洲人成人7777在线播放 | 亚洲熟妇av日韩熟妇在线 | 新婚之夜玷污岳丰满少妇在线观看 | jlzzjizz日本丰满少妇 | 亚洲综合激情另类小说区 | 九九九在线视频 | 国产探花在线精品一区二区 | 黄视频网站在线看 | 狠狠躁夜夜躁人人躁婷婷视频 | 久久这里只精品 | 欧美日韩免费视频 | 在线免费观看日韩 | 后入到高潮免费观看 | 亚洲午夜无码毛片av久久京东热 | 午夜精品久久久久久久无码 | 国产色综合视频 | 涩久久 | 青青草av| 日韩亚洲欧美在线观看 | 国内精品伊人久久久久777 | 女人被狂躁c到高潮视频 | 黑人蹂躏少妇在线播放 | 一级片视频免费观看 | 亚洲第一无码xxxxxx | 伊人网综合在线 |