日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【BUAA_CO_LAB】p5p6碎碎念

發布時間:2023/12/10 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【BUAA_CO_LAB】p5p6碎碎念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 【BUAA_CO_LAB】p5&p6碎碎念
      • 寫在前面的話
      • 流水線知識
        • 流水級與命名
          • 流水級寄存器
            • R型計算指令
            • I型計算指令
            • 內存訪寫指令
            • Branch類指令
            • Jump指令
          • Control Unit
        • 轉發
        • 阻塞
      • p5の完結
      • 改裝p6
        • 乘除模塊
            • 模仿乘除法運算延遲
        • 按字節訪存
      • 課上指令之套路
        • 運算類
        • 條件跳轉類
        • 條件訪存類

【BUAA_CO_LAB】p5&p6碎碎念


寫在前面的話

首先前面必須要附上一段致歉。其實這篇文章應該早在兩三個星期之前就更出來了,但是由于期末月的到來,許多課程面臨結課大作業/考試等任務,博主前段時間忙于各種大作業與其他事務,也沒能很好地管理自己的時間(指周末睡大覺的屑),這個時候再發布,我估計大部分人其實應該都已經做完了這一部分了,所以這篇文章或許更多的意義在于“造福后人”罷。

不過看到了[p3&p4碎碎念]這篇博文下面的一些反饋,我個人還是很感動的,至少發現自己寫的東西有人在看,有幫助到一些像我當初一樣有困難的同學,個中情愫實在是無以言表。這也給了我繼續寫沒什么技術含量的技術博客的動力,以及繼續攻克計算機學習路上各種困難的決心!再次衷心感謝我的那幾位讀者!!(淚)

從p5開始,我們就從單周期CPU邁入了流水線CPU的旅程。這里的風景是獨特的,其中的轉發、阻塞等原理或許會讓初遇的同學感到不知所措。剛開始寫的時候我也迷茫了很久,但其實只要細心體會個中原理,就會豁然開朗。我的架構沒有借鑒gxp老師的PPT和黑書相關內容,所以如果你已經照著這些教程做出架構了,就沒必要完全按照此文來。

我不是那種思維跳躍的聰明同學,所以理解都是非常簡樸的,在那些聰明同學看來或許會顯得過于繁瑣冗雜而可笑,但我希望記錄下自己的思路,以為后來似我者之鑒(至少我在掙扎于這兩p的時候是很希望有這樣一種胎教級教程可以看看的)。同時,因為p6事實上是在p5的基礎上加裝乘除相關模塊,沒有什么需要特別分開說明的技術細節,因此我采取了以p5為主的敘述模式,與p6有關的“加裝”部分我單獨放在**[改裝p6]**模塊里說。

現在手握p4代碼的你,就可以跟著本胎教教程著手改造自己的單周期CPU,進入流水線的新階段了。當然,如有錯誤,還望在評論區不吝指正。

流水線知識

這個時候大家應該已經在理論課學過流水線相關知識,我就不再講述流水線的必要性、效率、基礎架構之類的東西了。我們直接進入流水線跟單周期CPU最不一樣的三點:流水級轉發阻塞

流水級與命名

理論課中已經學到,為了使指令能夠像PPT例子中的洗衣服那樣同時安排(后面將大量使用“洗衣服”的例子),我們要細分出幾個“洗衣步驟”或者說“流水線上的車間”,這就是我們的流水級。在書寫正式的流水線代碼之前,我們先基于p4代碼做出一個“Pipeline Without Hazard”,也就是完全不考慮轉發與阻塞,只是分出了流水級的CPU來。在課上,我們學到流水線CPU的基礎流水級架構是這樣的:

傳統CPU有四大功能:取指、譯碼、執行計算、存取,這不就剛好可以分成四個“洗衣步驟”嗎?同時,由于后續轉發的特殊性,我們增加了一個寫回級(Write Back)。這樣就構成了五個基礎的流水級。接下來,我們就往五個流水級里塞更細的“洗衣步驟”,也就是各個模塊(當然,別忘了重要的控制信號生成單元Control Unit)。4個流水級寄存器,不過是我們用來傳遞“衣服”,或者說流水線上的“工件”的傳送帶而已,前一周期中的上一階段所傳來的數據,和后一周期中為下一階段提供的數據,都在且必須在這條傳送帶上流淌。無論是數據還是信號,都需要在寄存器中進行保存,直至不再需要。

增添模塊如下圖所示。

可以看到,除了綠色的[比較模塊CMP]以外其他都已經在p4里寫過了,基礎架構拿過來用就行。這里我們還要注意一點,每個“洗衣小車間”是獨立的(請務必,務必,務必記住這個概念),只通過流水線傳送帶——即流水級寄存器連接,也就是說在每一級產生的控制信號是具有其獨立性的。因此我們只需要寫出一個單獨的Control Unit,然后在頂端模塊中的不同流水級里對Control Unit分別進行不一樣的實例化調用。(閱讀課設教程,你會發現這種寫法叫做“分布式”)

在把它們組合起來之前,要先給它們改個名字,同時,輸入輸出各個模塊的信號名字都請命名成形如**[Pipeline Level] _ [Module name] _ [Signal name]**的形式(如E_ALU_Result),以辨析各個流水級,避免后續接線之類的錯誤。課程組教程的命名建議就非常好。我的命名是如圖中紅字所示。

  • 綠色的[比較模塊CMP]

    它是我們用來判斷Branch類跳轉是否發生的,它會通過對輸入的rs和rt值進行判斷,給出一個“branch_or_not”信號指導跳轉的發生與否。有的同學可能在p3、p4時期就已經開辟過類似模塊做過這件事了。下面給出我的代碼(p6版本),相信大家看了以后就明白它的作用了。這個模塊在上機的時候也會幫你大忙。

    對了,請務必不要一字不差地復制,咱的課設還沒結束呢orz

`timescale 1ns / 1ps`define b_beq 3'd0 `define b_bne 3'd1 `define b_blez 3'd2 `define b_bgtz 3'd3 `define b_bltz 3'd4 `define b_bgez 3'd5 `define nobranch 3'd6module D_CMP(input [31:0] RF_RD1, //Read From RD1 -> rsinput [31:0] RF_RD2, //Read From RD2 -> rtinput [2:0] branch_type, //Created by Control Unitoutput branch_or_not );wire equal = (RF_RD1 == RF_RD2);wire equal_0 = !(|RF_RD1);wire greater_0 = ((!equal_0) && (!RF_RD1[31])); //請盡量使用對[31]的判斷來辨別正負數,Verilog的有符號系統真的很坑!!!wire less_0 = ((!equal_0) && (RF_RD1[31]));assign branch_or_not = (equal && (branch_type == `b_beq)) ||(!equal && (branch_type == `b_bne)) ||((less_0 | equal_0) && (branch_type == `b_blez)) ||((greater_0) && (branch_type == `b_bgtz)) ||((less_0) && (branch_type == `b_bltz)) ||((greater_0 | equal_0) && (branch_type == `b_bgez));endmodule

我給出了這個新的模塊的參考寫法,剩下的模塊中,除了五個流水級寄存器和Control Unit,都可以基本照搬p4了,只需要按照給出的指令集要求稍作修飾即可(比如指令類型、所需的控制信號類型、存儲器的大小等)。

  • 有一個值得注意的小地方是PC值運算模塊NextPC。它的寫法與p4略有不同。有些指令的跳轉地址選擇的 PC 指令是它自己這個小車間對應的相對獨立的“當前指令”,而不是電路中宏觀的當前指令,比如需要被 CMP 模塊判斷的分支跳轉指令和 J 型指令,它們的各類判斷發生在 D 級流水級,因此跳轉地址對應的“當前指令”也應該是 D 級流水級中的 PC 值 D_PC,而不是直接從F 級流水級的 IM 模塊發出的 F_PC。 其實這一點,只要理解了前面“小車間獨立性”的敘述,就非常容易理解了對不對?洗衣服の例子,yyds……

    `timescale 1ns / 1ps`define Branch 3'd0 `define J 3'd1 `define Jr 3'd2 `define Normal 3'd3module NextPC(input [31:0] D_PC,input [31:0] F_PC,input [25:0] Addr, //Addr or Imm16(Addr[15:0])input [31:0] reg_rs,input [2:0] NextType,input branch_or_not,output [31:0] NPC );assign NPC = (NextType == `Normal) ? (F_PC + 4) :(NextType == `J) ? {D_PC[31:28], Addr, 2'b00} :(NextType == `Jr) ? reg_rs :((NextType == `Branch) && (branch_or_not == 1'b1)) ? (D_PC + 4 + {{14{Addr[15]}}, Addr[15:0], 2'b00}) : (F_PC + 4);endmodule

下面介紹五個流水級寄存器和Control Unit的寫法。

流水級寄存器

首先我們應該明確模塊的輸入輸出,也就是說,這個寄存器究竟要存“哪些衣服”?剛過過水的?剛打過泡的?這個時候,只要分析一下指令在流水線中流淌的過程就可以明確,也即,我希望將什么樣的信號傳給下游的“車間”來處理(請務必記住每個流水級是相對獨立的五個小車間!它們之間唯一的聯系就是一條流水線傳送帶!)。下面將指令分為R型計算指令I型計算指令內存訪問指令Branch類指令Jump類指令分析。

前文提到過,為保證“小車間獨立性”,每一個流水級里都需要單獨實例化Control Unit,而光它一個人就需要指令編碼Ins[31:0]了吧,因此下文不再重復提及其必要性。而我想,理論課上應該也已經講過流水線CPU需要將當前PC值不斷流水的特性,因此后面也不在每一級贅述了。它們是基礎。

時鐘信號clk、復位信號Reset和寫使能信號WE更是基礎中的基礎,不必再說了。

同時,由于流水級寄存器為所有指令所共用,因此我會直接列出該流水級寄存器需要存儲的所有信號,并在對應的指令分析部分對該指令需要的信號進行下劃線處理,望讀者辨析。

R型計算指令
  • IF_ID - Ins[31:0] + PC[31:0]
  • ID_EXE - Ins[31:0] + PC[31:0] + rs[31:0] + rt[31:0] + Ext[31:0]
    • 眾所周知,R型指令的R指的就是Register,從通用寄存器堆里取出來的數據,為了在E級對它們進行算術運算,GRF[rs]和GRF[rt]值是一定要傳遞到下一個小車間去的。
  • EX_MEM - Ins[31:0] + PC[31:0] + ALU[31:0] + rt[31:0] + Ext[31:0]
    • 接收ALU運算結果
  • MEM_WB - Ins[31:0] + PC[31:0] + ALU[31:0] + DM[31:0] + Ext[31:0]
    • 接收ALU運算結果,把ALU運算結果寫回通用寄存器堆
I型計算指令
  • IF_ID - Ins[31:0] + PC[31:0]
  • ID_EXE - Ins[31:0] + PC[31:0] + rs[31:0] + rt[31:0] + Ext[31:0]
    • I指立即數Immediate,我們需要從Ext模塊取出的處理好了的立即數,在E級和GRF[rs]進行算術運算
  • EX_MEM - Ins[31:0] + PC[31:0] + ALU[31:0] + rt[31:0] + Ext[31:0]
    • 接收ALU運算結果
  • MEM_WB - Ins[31:0] + PC[31:0] + ALU[31:0] + DM[31:0] + Ext[31:0]
    • 接收ALU運算結果,把ALU運算結果寫回通用寄存器堆
內存訪寫指令
  • IF_ID - Ins[31:0] + PC[31:0]
  • ID_EXE - Ins[31:0] + PC[31:0] + rs[31:0] + rt[31:0] + Ext[31:0]
    • 訪問:需要從Ext模塊取出的處理好了的立即數,在E級和GRF[rs]進行算術運算,獲得訪問數據存儲器的地址,具體參見指令集的RTL描述細節
    • 寫入:需要將從通用寄存器堆里取出來的數據在E級進行算術運算,rs和rt都要
  • EX_MEM - Ins[31:0] + PC[31:0] + ALU[31:0] + rt[31:0] + Ext[31:0]
    • 訪問:接收ALU運算結果
    • 寫入:接收ALU運算結果還有rt值,用于計算寫入地址
  • MEM_WB - Ins[31:0] + PC[31:0] + ALU[31:0] + DM[31:0] + Ext[31:0]
    • 接收內存訪問結果,把結果寫回通用寄存器堆
Branch類指令

不用麻煩后面,一切在D級完結(唯一需要麻煩后面的是轉發問題,后面再說)

Jump指令

不用麻煩后面,一切在D級完結(唯一需要麻煩后面的是轉發問題,后面再說)

這時你會發現好像還有幾個地方沒被標過下劃線,沒關系,那是接下來即將要講的轉發部分需要的。先寫上吧!

Control Unit

對于這一部分,我覺得美工非常重要。整潔的排版可以有效地增加上機加指令的效率。總體上說,跟p4部分的架構其實差不多,只是需要進行一些排版。比如說,我們可以合并所有的R型指令為Cal_r等,這樣不僅有利于各種控制信號的生成,而且對后面要講的阻塞有大用處。下面我貼上我的“排版”,大家予以參考即可。

  • Part_1: 宏定義

  • Part_2: 信號定義分割

  • Part_3: 中間信號分類

  • Part_4: 控制信號生成(寫之前一定要先列好表噢)

    p.s. 在這里,我建議把所有需要用MUX選擇的部分(不管是選擇寫入地址也好,寫入數據也好),統統集成到這個地方來,而不是再去費勁心機地寫好多個不同位寬的MUX,吃力不討好,而且會顯得邏輯很亂。就如下圖的第一條assign一樣,把本該通過頂層模塊中MUX來選擇的寄存器堆寫入地址RegDst直接采用這種方式定義出來,就非常方便,要用的時候直接引出一個RegDst就好了,根本不用在外面判斷。

    類似的例子還有很多,比如MemToReg呀,ALU_Src_A和ALU_Src_B呀,都可以集成到CU這里來。

最后,我給出我對控制信號做出的安排(p5版本),以供大家參考。


至此,能吃p4老本的地方結束。

轉發

  • 通俗的講解

轉發是流水線 CPU 中至關重要的環節。數據冒險的嚴格定義請自行復習,我在這里只作我非常簡樸的講解。我認為轉發需要存在的根源在于:流水線是一級一級地往下流的,有的時候當前我們需要的GRF[rs]值或者GRF[rt]值還在后邊剛被算出來,還沒來得及被傳回到通用寄存器堆里去,它事實上已經產生了,只是流水線太拖拉,我們還夠不到它而已,因此我們需要一條捷徑,把已經產生了但走得太慢,還來不及回到通用寄存器堆的數據迅速地傳到我們手中。

這就好比我們的洗衣服流水線,ID_EXE級的老哥負責把洗好的衣服打包送給客戶。現在客戶催著他要衣服,最后一級的老哥其實已經把衣服洗好了,但衣服還在流水線上流著呢,偷工減料的黑心流水線走得過于慢了,還有好一會兒衣服才能到ID_EXE老哥這里。因此現在ID_EXE級老哥叫了一個叫轉發的小工蹲在最后一級的老哥那里,他一洗好,就火速奪過衣服跑步送給ID_EXE級老哥。在我們的流水線里,E級、M級和W級都蹲著一個叫轉發的小工,隨時準備將處理好的衣服奪過來跑步送給寄存器,這就是轉發的意義所在。畢竟時間就是金錢,效率就是生命嘛。(怪不得叫暴力轉發)

當然,在這里我們假設的是客戶來要衣服的時候,衣服必然已經洗好了。如果沒洗好,小工啥也沒拿到呢?這時就不得不讓客戶再等等了,這就是下一部分要講的“阻塞”問題。判斷是否洗好的部分交給阻塞模塊,在轉發模塊里,我們默認所有的衣服都已經洗好了,這就是教程里所描述的“全力”轉發。

為了實現這一點,我們首先要將“衣服”,也就是通用寄存器組的讀出值GPR[rs]和 GPR[rt]不斷地在各個流水級寄存器之間流水并且存儲,然后通過當前的指令生成的控制信號(一般是RegDst)來判斷是不是要發生轉發。如果我們現在需要的寫入地址值,也就是“客戶”,剛好跟某個流水級里的RegDst一樣,就說明該客戶的衣服在這里洗好了,我正要往客戶那里送呢,那么轉發小工,就拿上衣服走人吧。

  • 代碼細節

需要發生轉發的時間節點是:當前的“不夠”的時候,也就是當某一部件需要使用 GPR[rs]或GPR[rt]時,這個值還沒來得及寫入 GPR 的時候。這個時候,我們需要通過轉發將這個值從流水線寄存器中送到該部件的輸入處。這也就說明,**在每一個需要使用 GPR[rs]或者 GPR[rt]的端口節點前面,我們都可以對當前的 rs 和 rt 值做出一個判斷,判斷是可以使用當前的值,還是說當前的“不夠”,需要提前獲取后面的值。**教程中的原意應該是用 MUX 來實現,但是由于目標信號數量的不定性,我認為 MUX 模塊的設置并不太方便,同時我也不喜歡把轉發也集成成為一個模塊(線太多了),因此我選擇直接在頂層模塊連線的時候,在對應端口模塊實例化的前面先對輸入信號做出一個判斷,如下圖所示。

根據對數據通路的分析,這樣的位點其實很有限,只有 D 級 CMP 模塊的輸入、E 級 ALU 模塊的輸入和 M 級 DM 模塊的輸入(就是要用rs、rt值的地方嘛)。只要當前位點的讀取寄存器地址和某轉發輸入來源的寫入寄存器地址相等且不為 0,就選擇該轉發輸入來源;在有多個轉發輸入來源都滿足條件時,最新產生的數據優先級最高,以實現全力轉發。

同時為了滿足“最新產生的數據”這一點,我們需要在 GRF 的內部實現內部轉發,也就是將輸入的數據實時反饋到輸出端口,避免數據的滯塞。

需要注意的是對當前流水級來說,能夠選擇的轉發來源是“它之后與 GRF 之前”的流水級區間(小工總不可能把不洗衣服的車間里的衣服也搶了吧),因為如果數據都到了 GPR 就不存在所謂的轉發與否的問題了,衣服都已經流到我手上了,直接拿不香嗎……因此對 D 是 E、M(由于 W 的回寫行為與它直接對接,通過 GPR 的反饋不存在轉發的問題),對 E 是 M、W,對 M 是 W,而 W 級已經不存在需要轉發的數據了。也就是說,關鍵其實就是“我需要的數據可能滯留在哪里”。

  • 后邊加指令的時候也是一個道理,這一級要用,我就全力轉發(比如某些指令可能在M級也需要rs值,那你就需要多寫一個M_FWD_rs了),轉發的范圍是我之后到GRF之前,從新到舊,最后到我自己(本級的值)。就是這么簡單的思路。

阻塞

比起轉發,阻塞的道理其實簡單得多,就是在轉發沒有辦法解決問題的時候,比如說新的數據根本還沒有產生的時候,向進程中插入“氣泡”暫緩流水,等信號產生了以后再開始流動,并實現數據的獲取(通過轉發等方式)。而 “新的數據根本還沒有產生”的條件是【Tuse < Tnew 且滿足轉發條件】,就是說需要用數據了,客戶來了,但我的衣服還踏馬沒洗好呢。

在CPU中的行為就是把指令暫停在 D 級,也即用一個 Stall 信號來參與控制該級流水寄存器的寫入數據行為,使得后面的值不會被更新,相當于插入了一個 nop,或者說是一個“氣泡”,讓中間的模塊安靜地執行完現在的進程,等“氣泡”消除了之后,把新的值寫到流水寄存器中繼續開始流水。

插入“氣泡”的具體操作是:凍結PC值停止流水線運行(流水線再走衣服真的洗不完了哥,停一會兒罷),清空ID_EXE(后邊的慢慢洗罷,不再給你們派新活了,把手頭的洗完再說)。看到這個描述,你應該非常清楚前者通過WriteEnable寫使能信號完成,后者通過Reset復位信號完成。因此我們只需要新建一個能夠生成阻塞信號的阻塞模塊,然后將它產生的阻塞信號分別與部分寄存器的WE信號和部分寄存器的Reset信號與一下就可以了。

  • 與之類似的一個操作叫做【清空延遲槽】,它的動作是清空IF_ID,但是并不凍結PC值,更不會清空ID_EXE,請閱讀英文指令集有關內容自行思考。

Tuse:指令進入 D 級后,其后的某個功能部件再經過多少時鐘周期就必須要使用寄存器值。對于有兩個操作數的指令,其每個操作數的 Tuse 值可能不等(如 store 型指令 rs、rt 的 Tuse 分別為 1 和 2 )。用D級的信號判斷。

Tnew:位于 E 級及其后各級的指令,再經過多少周期就能夠產生要寫入寄存器的結果。在我們目前的 CPU 中,W 級的指令 Tnew 恒為 0;對于同一條指令,Tnew@M = max(Tnew@E - 1, 0)。 后面每一級都要具體判斷。

似乎有很多人喜歡在這里畫表,但我感覺不用吧,自己想一想就能明白了,如下圖所示。比如對于Tuse,branch類和J類的跳轉與否的判斷在D級就可以完成,自然是0(不用再找后面的了),需要E級的ALU運算結果的就再往后一個周期,就是1,后面的以此類推了。需要注意的是對于無關的東西我們要把Tuse設置為一個很大的值(比如我的3’d5),相當于一直塞著。

根據 Tuse 和 Tnew 所提供的信息,可以得出:當滿足轉發條件(詳見“轉發”部分),且 D 級指令的 Tuse 小于對應 E 級或 M 級指令的 Tnew時,我們就在 D 級暫停指令。在其他情況下,數據冒險都可以通過轉發解決。

從 Tuse 和 Tnew 的表達式,我們也能看出需要在每一個流水級都判斷一下當前的 Tuse 和 Tnew 值,以完成比對。這整個過程可以看成一個這樣的流程:

當然了,在“全力轉發”的思路下,我們的代碼里已經沒有GRF后面的“可與不可”的判斷了(管它現在有沒有呢,滿足轉發條件的直接轉發),這個圖只是對轉發必要性的一個更直觀的詮釋。

p5の完結

最后,在頂端模塊里把所有的模塊都實例化并連接起來吧——你的流水線CPU就這樣誕生了。如果不清楚接線細節,可以參考PPT等資源,但我感覺只要把上面的邏輯捋清了,再結合p4的基礎,搭出美麗的p5、p6并不是問題。接下來就是測試等環節,討論區的同學珠玉在前,我也不在此班門弄斧了,請大家好好利用身邊同學的資源吧!!

本學期課設結束后,我會把我的代碼上傳到Github上去,屆時會在本博文評論區里附上網址,以供后來人參考。


改裝p6

p6跟p5的區別在于多了很多指令,以及乘除相關的{mult, div, multu, divu, mthi, mtlo, mfhi, mflo}。對于前面新增的指令,相信只要通過了p5課上的同學都能輕松地照葫蘆畫瓢給它加上去,在此就不贅述了。唯一麻煩的就是乘除相關模塊的加裝以及訪存數據存儲器時對不同位寬數據的處理。我們在p5的基礎上進行改裝,從而實現這兩個地方。

乘除模塊

乘除法是一種算術運算指令,因此我們把單獨開辟出來的乘除模塊放在E級,我給它取名叫E_HILO。在這里,我們需要完成乘除法的算術運算,并且模仿乘除法運算延遲的行為和從HI、LO寄存器中取值的行為。

模仿乘除法運算延遲

乘除法運算在電路中進行得很慢,所以我們需要進行一個模仿。這里我想到了之前學過的有限狀態機,我們可以設置一個Cycle狀態信號,執行過乘除法后,它就充當一個計時器,等Cycle里的延遲時間走完了之后,我們再進行后面的操作。乘除法部件中內置了 HI 和 LO 兩個寄存器,這兩個寄存器,同時也是這個模塊與外界溝通的唯一窗口

我們假定乘 / 除部件的執行乘法的時間為 5 個 cycle (包含寫入內部的 HILO 寄存器),執行除法的時間為 10 個 cycle。你在乘 / 除部件內部必須模擬這個延遲,即通過 Busy 輸出標志來反映這個延遲。

想明白了“計時器”的實現后,代碼寫起來就沒什么技術含量,下面是我的,僅供參考。

always@(posedge clk)beginif (reset)begin//Reset all the Signalsendelse beginif (cycle == 0)beginif (HILO_mthi)//Operationelse if (HILO_mtlo)//Operationelse if (HILO_mult)beginbusy <= 1'b1;cycle <= 5;//Operation of MULTendelse if (HILO_multu)beginbusy <= 1'b1;cycle <= 5;//Operation of MULTUendelse if (HILO_div)beginbusy <= 1'b1;cycle <= 10;//Operation of DIV (Attention: Split the result into HI and LO!!!!)endelse if (HILO_divu)beginbusy <= 1'b1;cycle <= 10;//Operation of DIVU (Attention: Split the result into HI and LO!!!!) endendelse if (cycle == 1)beginbusy <= 1'b0;cycle <= 0;HI <= tmp_hi;LO <= tmp_lo;endelsecycle <= cycle - 1;endend

按字節訪存

由于我們這一學期的p6改為了【存儲器外置】的形式,據我所知跟之前有所不同,我也不確定以后是不是這樣,所以我就不寫存儲器外置的寫法了(課程組可能會有具體要求,實現也不難的,在頂端模塊里處理就行)。在這里貼上一個通用版本的支持按字節訪存的DM代碼。(好像p4已經貼過了?)

`timescale 1ns / 1ps`define BW_word 2'b00 `define BW_halfword 2'b01 `define BW_byte 2'b01`define word DataMemory[DM_A[15:2]] `define halfword `word[15 + 16 * DM_A[1] -:16] //-意為從此開始往下16位,同理,如果是+就是往上16位。這么寫的原因是因為DM_A并非是一個constant,在Verilog的語法定義里,不可以用變量的值表示向量位寬,除非采用這種寫法,不然必報錯 `define half_sign `word[15 + 16 * DM_A[1] -:1] `define byte `word[7 + 8 * DM_A[1:0] -:8] `define byte_sign `word[7 + 8 * DM_A[1:0] -:1]module M_DM(input [31:0] DM_A,input [31:0] DM_WD,input [1:0] BW,input [31:0] PC,input MemWrite,input Clk,input Reset,output [31:0] DM_out );reg [31:0] DataMemory [3071:0];assign DM_out = (BW == `BW_word) ? (`word) :(BW == `BW_halfword) ? {{16{`half_sign}}, `halfword} :(BW == `BW_byte) ? {{16{`byte_sign}}, `byte} : `word;integer i;initial beginfor (i = 0; i < 3072; i = i + 1)beginDataMemory[i] = 32'd0;endendalways@(posedge Clk)beginif (Reset)beginfor (i = 0; i < 3072; i = i + 1)beginDataMemory[i] = 32'd0;endendelse if (MemWrite)begin$display("%d@%h: *%h <= %h", $time, PC, DM_A, DM_WD); `word <= DM_WD;`halfword <= DM_WD[15:0];`byte <= DM_WD[7:0];endendendmodule

到這里,其實p6就完成了,沒有想象中那么難罷。

但是注意:p6的指令很多,加的時候一定要看清楚機器碼等細節,尤其是在處理控制信號的時候。

課上指令之套路

課上指令可以總結為三類:R型/I型運算類(運算),B+alr類(條件跳轉),lw/sw + [condition]類(條件訪存)。它們都有自己對應的套路。

運算類

如果你在Control Unit里做好了中間信號分類,那么運算類就是小菜一碟。在Control Unit里先宏定義好新指令信號,將其合并入cal_r或者cal_i中,這樣你就不用再理會任何與阻塞/轉發有關的東西了。然后,為它分配一個新的ALUOp碼,去ALU模塊里定義好它的具體運算操作,基本上就完成了。一般來說加這個運算類指令可以在5分鐘內解決戰斗——只要你課下沒錯。所以,做好測試!!!

運算類也可能會出現“條件寫”的要求,比如運算結果滿足某條件才寫回,這里只需要在E級把你運算得到的結果轉化成條件真值,然后傳到E級Control Unit里去指導RegDst就可以了。

條件跳轉類

一般是B+alr類。首先,在Control Unit里將它合并到branch類中,此后阻塞不必再理。然后為它分配合適的BranchType等控制信號,到對應的模塊中判斷跳轉是否發生,并且生成好NextPC的值(根據題干具體定)。這時,我們可以得到來自CMP模塊的判斷信號branch_or_not(根據判斷條件的不同,可以酌情向CMP模塊中加入信號)。用這個branch_or_not信號,我們可以在D級中定義是否發生跳轉的信號為一個check信號:wire check =branch_or_not,然后將這個信號流水下去。如果新的指令需要你在條件跳轉的同時寫寄存器(比如寫$31),那么就在每個流水級都將這個check信號傳入到控制信號生成器中去,和指令信號一起指導RegDst等信號的生成。

條件訪存類

在這里,第一步依然是合并指令到load類或者store類中,進行一些常規的控制信號處理操作。不過這時我們不能再對阻塞模塊和轉發置之不理。因為根據題目的特定要求,它有的時候在M級需要rs值(只是舉個例子),這個時候我們就需要在M級加上對rs的轉發;
在阻塞模塊里,我們也要做出修改,因為我們在M級才能得到條件真值,這個時候如果D級有需要rs、rt的動作(有客戶來取衣服了),E級的情形就是不確定的,因此我們需要在E級進行一個保守的條件約束如果E級也是該條指令,并且此時D級要用該條指令要寫入的寄存器,我們就stall。形如:

當然根據不同指令的要求不同,這里給E級強加的暫停條件也不同,請大家根據指令的RTL描述自行變通。但我認為條件暫停的根本是只約束E級,因為事實上只有這里可以產生RegDst等控制信號的不定值(也有人認為M級也要約束,但對于課上測試結果應該是一樣的)。


本文到此就結束了,如果文中有錯誤,或者有我還說得不清楚的地方,歡迎大家在評論區留言告知。雖然也沒幾個人看,但是已有的讀者的反饋真的讓我感到非常感動,今后我也會努力學習并分享各種知識(寒假我會選擇分享一些獨立游戲制作的內容,比如unity3d和GMS2),力求能夠幫助到有需要的人!謝謝!!(鞠躬

總結

以上是生活随笔為你收集整理的【BUAA_CO_LAB】p5p6碎碎念的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

久久高清视频免费 | 免费久久久久久 | 日韩精品电影在线播放 | 韩国在线一区二区 | 成人午夜黄色 | 五月天激情综合 | 欧美少妇xxxxxx | 99自拍视频在线观看 | 久久精品毛片 | 午夜av日韩| 亚洲欧美综合精品久久成人 | 狠狠色狠狠色合久久伊人 | 狠狠久久综合 | 久草视频视频在线播放 | 亚洲高清色综合 | 手机看片久久 | 六月色婷 | 国产99色| 中文字幕在线视频一区二区 | 97在线免费| 丁香九月激情综合 | 韩国精品一区二区三区六区色诱 | 国产一级视频免费看 | 国产精品久久久久久久久蜜臀 | 亚洲一区不卡视频 | 91精品综合在线观看 | 免费在线成人 | 天天插日日射 | 精品美女在线视频 | 色婷婷狠狠五月综合天色拍 | 久久毛片网 | 中文字幕av在线免费 | 乱子伦av | 国产精品麻豆三级一区视频 | 日日麻批40分钟视频免费观看 | 亚洲 欧洲 国产 精品 | 91九色国产蝌蚪 | 在线成人性视频 | 91成人在线免费观看 | 国产一区在线视频 | 国产123区在线观看 国产精品麻豆91 | 六月丁香激情综合色啪小说 | 色婷婷六月天 | 婷婷六月中文字幕 | 久草在线在线视频 | 五月天婷亚洲天综合网精品偷 | 国产精品美女久久久久久2018 | 国产一区二区在线免费视频 | 欧美日韩国产mv | 国产成人免费网站 | 五月天综合色激情 | 91桃色在线观看视频 | 青青河边草免费观看完整版高清 | 中文国产字幕在线观看 | 成人午夜网址 | 探花视频在线观看免费版 | 亚洲,播放 | 亚洲欧美日韩精品久久久 | 亚洲精品a区 | 视频在线在亚洲 | 天天草天天干 | 在线激情小视频 | 亚州国产精品 | 国产手机视频在线播放 | 婷婷丁香狠狠爱 | 久久国产亚洲精品 | 夜夜操网站 | 久久久久久久久久久久亚洲 | 激情六月婷婷久久 | 91麻豆精品国产91久久久无需广告 | 日韩欧美一区二区三区黑寡妇 | 日日操日日操 | 性色xxxxhd | 夜夜操天天 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 久久综合狠狠综合 | 久久久美女 | 高清在线一区二区 | 婷婷丁香九月 | 色婷婷婷| 涩涩在线 | 久久视频免费看 | 久久午夜免费视频 | 蜜臀久久99静品久久久久久 | 亚洲一区美女视频在线观看免费 | 六月丁香激情网 | 亚洲 欧美变态 另类 综合 | 一本一本久久a久久精品牛牛影视 | 在线观看国产日韩 | 欧美国产日韩在线视频 | 欧美成年性 | 亚洲一区二区黄色 | 在线观看亚洲专区 | 激情视频免费在线观看 | 天天色天天爱天天射综合 | 91成人免费观看视频 | 成人免费观看完整版电影 | 久久国产精品成人免费浪潮 | 亚洲日本中文字幕在线观看 | 极品嫩模被强到高潮呻吟91 | 日韩影视在线 | 精品一区二区在线免费观看 | 黄色的视频 | 久久精品国亚洲 | 91成人在线观看高潮 | www久 | 99 国产精品| 波多野结衣在线观看视频 | 91久久国产综合精品女同国语 | 色99中文字幕 | 欧美日韩亚洲国产一区 | 18女毛片 | 久草在线观看 | 91日韩免费 | 久草在线免费播放 | 91免费看片黄 | 91精品999 | 最新av网站在线观看 | 国产成人精品综合久久久久99 | 亚洲综合欧美日韩狠狠色 | 四虎国产精品成人免费影视 | 亚洲黄色在线播放 | 99热99re6国产在线播放 | 免费在线观看午夜视频 | 国产精品女教师 | 91资源在线观看 | 国产成人精品一区二区三区 | 国产精品不卡在线播放 | av电影免费在线播放 | 国内精品视频久久 | 国产午夜精品一区二区三区在线观看 | 九色琪琪久久综合网天天 | 91视频这里只有精品 | 国产传媒一区在线 | 国产精品亚洲片在线播放 | 天天射天天舔天天干 | 日韩视频区 | 色婷丁香 | 五月婷婷操 | 中文字幕在线播放一区二区 | 四虎在线永久免费观看 | 国产视频在线一区二区 | 日本在线观看中文字幕 | 成人免费在线视频 | 国产精品国产三级在线专区 | 西西4444www大胆视频 | 成人午夜影院在线观看 | 激情影院在线观看 | 97自拍超碰 | 天堂av在线免费观看 | 91亚洲欧美 | 国产精品99久久久久久久久久久久 | 最近2019好看的中文字幕免费 | 久草电影在线观看 | 国产精品日韩久久久久 | 免费看国产黄色 | 久久69精品久久久久久久电影好 | 亚洲精品在线观看的 | 97中文字幕| 久草精品在线播放 | av青草 | 国产综合在线视频 | 久久婷婷一区二区三区 | 开心激情久久 | 成人免费视频免费观看 | 91精品在线观看入口 | 国内一区二区视频 | 免费观看一级成人毛片 | 夜夜操天天 | 天天射天天爱天天干 | 欧美 日韩 国产 成人 在线 | 天天做综合网 | 日韩天天干 | 日韩av不卡在线 | 亚洲一区二区天堂 | 欧美极品少妇xbxb性爽爽视频 | 一区二区久久 | 青青河边草手机免费 | 精品99视频 | 天天射天天艹 | 天天久久综合 | 国产一区二区三区在线 | 亚洲国产美女精品久久久久∴ | 麻豆传媒视频在线免费观看 | 国内精品视频在线播放 | 亚洲精品久久久久中文字幕二区 | 在线观看亚洲精品 | 97在线播放视频 | 国产精品一区久久久久 | 免费看片网页 | 大荫蒂欧美视频另类xxxx | 在线91视频 | 国产精品视频不卡 | 亚洲欧美视频网站 | 久久影视精品 | 色88久久 | 国产精品免费久久久久久久久久中文 | 91成人短视频在线观看 | 久久这里只有精品首页 | 国产精品久久久久久久午夜片 | 欧美精品在线免费 | 粉嫩av一区二区三区四区五区 | 天堂av免费观看 | 国产主播99| 在线播放 日韩专区 | 欧美另类xxxxx | 欧美精品亚洲二区 | 三级黄色a | 97视频播放 | 在线v片免费观看视频 | 国产在线视频导航 | 中文成人字幕 | 亚洲视频久久久 | 久久福利在线 | 色视频在线免费 | av免费观看在线 | 国产裸体bbb视频 | 国产成人一区二区啪在线观看 | 91人人爽久久涩噜噜噜 | 99色99| 亚洲一区二区三区miaa149 | 欧美日韩中文在线视频 | 亚洲精品视频在线观看网站 | 亚洲黄色在线播放 | 午夜色影院 | 国产精品18久久久久久首页狼 | 国产精品美女免费 | 国产精品免费视频久久久 | 狠狠色综合网站久久久久久久 | av888.com| 精品一区二区日韩 | 久久综合中文字幕 | 国产小视频在线免费观看 | 日韩欧美中文 | 在线日本看片免费人成视久网 | 成年人免费在线播放 | 国产亚洲精品久久网站 | 六月婷操 | 亚洲情婷婷 | 欧美日韩国产一区二区三区在线观看 | 在线小视频国产 | 91在线精品视频 | 国产精品一区二区62 | 国产精品a级| 91亚·色| 久久久五月婷婷 | 少妇搡bbb| 久久av中文字幕片 | 国产精品久久久久久高潮 | 久久免费视频这里只有精品 | 精品久久久久久久久亚洲 | 久久久免费看视频 | 天天天干夜夜夜操 | 成人免费观看大片 | 日韩伦理片hd | 欧美日韩免费一区 | 麻豆91精品视频 | 国产精品岛国久久久久久久久红粉 | 国产精品每日更新 | 在线观看中文字幕一区 | 一区二区不卡在线观看 | 中文字幕资源网 | 欧美精品在线观看免费 | 亚洲热视频 | 99精品在线观看 | 国产成人在线综合 | 久久深夜福利免费观看 | 欧美a级成人淫片免费看 | 日韩av免费观看网站 | 国产又粗又猛又爽 | 国产日韩欧美在线播放 | 亚洲伦理一区二区 | 丰满少妇在线观看资源站 | 久久经典视频 | 操碰av| 丝袜美腿亚洲综合 | 日韩av片在线 | 国产视频在线观看一区 | 午夜色影院 | 香蕉影视app | 高清av不卡 | 一级片免费在线 | 亚洲午夜av | 欧美色婷婷 | 天天爱天天| 91理论电影 | 激情丁香综合五月 | 日韩免费 | 色爽网站 | 久草在线免费新视频 | 久久视频二区 | 丁香在线观看完整电影视频 | 在线观看网站你懂的 | 国产精品视频免费看 | 国产高清在线免费观看 | 国产在线精品一区二区三区 | 久久久久一区二区三区四区 | 色之综合网 | 精品二区久久 | 午夜精品久久久 | 色五月情 | 久久精品5 | 九九欧美| 99色在线视频 | 天天激情天天干 | 色香蕉在线 | 日本久久成人中文字幕电影 | 欧美日韩免费观看一区=区三区 | 日韩av影片在线观看 | www狠狠| 91精品国产入口 | 国产专区第一页 | 天天摸天天操天天舔 | 香蕉在线观看 | 久久福利综合 | 911亚洲精品第一 | 国产短视频在线播放 | 亚洲蜜桃av | 麻豆91视频 | 91视频91自拍 | 欧美日韩国产色综合一二三四 | 国产精品视频久久 | 日本中文一区二区 | 久久九九久久精品 | 97人人精品| 国产3p视频 | 天天草天天色 | 99久高清在线观看视频99精品热在线观看视频 | 久久免费黄色大片 | 在线色亚洲 | 日本三级吹潮在线 | 欧美成人精品三级在线观看播放 | 久久av中文字幕片 | 国产精品入口久久 | 免费看黄色大全 | 日韩av一区二区在线影视 | 人人爽人人舔 | 午夜视频在线观看一区二区三区 | 日日操日日操 | 天天干,天天射,天天操,天天摸 | 日韩性片 | 九九热国产视频 | 欧美精品国产精品 | 久久理论电影 | 又黄又爽又无遮挡的视频 | 国产精品18久久久 | 在线电影91 | 久久免费视频在线 | 91久久精品日日躁夜夜躁国产 | 久艹在线播放 | 中文字幕精品一区久久久久 | 免费高清看电视网站 | 国产福利电影网址 | www.av中文字幕.com | 18岁免费看片 | 91一区啪爱嗯打偷拍欧美 | 91精品视频免费在线观看 | av一二三区| 日本久久不卡视频 | 在线激情影院一区 | 91av视频观看| 91av视频播放 | 日日操日日 | 丁香激情综合国产 | 一色av | 免费高清在线视频一区· | 色免费在线 | 国产在线高清精品 | 99中文在线 | 欧美日韩xx | 免费看片色 | 日韩精品不卡 | 一区二区三区在线不卡 | 国产老妇av | 字幕网资源站中文字幕 | 亚洲高清视频在线观看 | 夜夜躁狠狠躁日日躁 | 九九久久久 | 久久精品视频中文字幕 | 国产精品麻豆99久久久久久 | 13日本xxxxxⅹxxx20 | 亚洲一区二区精品 | 韩国一区二区三区视频 | 成片视频免费观看 | 在线精品国产 | 午夜精品区 | 亚洲日本激情 | 在线视频第一页 | 成人av电影在线观看 | 99精品欧美一区二区蜜桃免费 | 国产成人久久精品77777综合 | 国产在线播放一区 | 午夜狠狠干 | 在线一区av | 午夜久久久久久久久久久 | 久久婷婷国产色一区二区三区 | 日韩一级成人av | 免费精品国产va自在自线 | 欧美性成人 | 九九九九精品 | 欧美精品在线一区二区 | 亚洲第一av在线 | 69视频国产| 91在线看黄 | 中文字幕 婷婷 | 亚洲一区日韩精品 | 亚洲高清色综合 | 久久久99精品免费观看 | 成人av视屏 | 久久高清片 | 国产首页 | 2023av在线| 国产一级片免费视频 | 西西44人体做爰大胆视频 | 探花视频在线版播放免费观看 | 免费高清在线观看成人 | 亚洲精品tv | 黄色软件视频网站 | 日本黄色一级电影 | 日韩中文字幕免费在线播放 | 中文在线天堂资源 | 在线观看中文字幕一区二区 | 久久久久久久久久久黄色 | 日日干美女 | 久久久精品 一区二区三区 国产99视频在线观看 | 99精品国产免费久久 | 久久综合九色综合久99 | 日韩精品一区二区三区高清免费 | 亚洲三级毛片 | 人人射人人插 | 精品国产欧美一区二区三区不卡 | 国产亚洲精品久久 | 91九色porn在线资源 | av电影亚洲 | 探花视频免费观看高清视频 | 色网站在线观看 | 国产黄色片免费在线观看 | 久久综合激情 | 日韩在线电影一区二区 | 亚洲成熟女人毛片在线 | 最近最新中文字幕视频 | 97日日碰人人模人人澡分享吧 | 2024国产精品视频 | av高清免费| 亚洲天堂网在线视频观看 | 99视频在线精品国自产拍免费观看 | 日韩精品免费专区 | 天天操天天干天天玩 | 天天射天天爽 | 国产小视频在线免费观看 | www久久久久 | 视频国产在线观看18 | 日韩av福利在线 | 手机在线黄色网址 | 99热日本| 成人蜜桃视频 | 国产日产精品久久久久快鸭 | 一本色道久久综合亚洲二区三区 | 久久不卡国产精品一区二区 | 国产午夜一区二区 | 国产成人三级在线观看 | a极黄色片 | 精品久久影院 | 亚洲最新视频在线 | 亚洲视频在线看 | 国产亚洲精品久久19p | 免费av网站在线 | 色综合久久五月天 | 久久1区| 亚洲精品中文在线 | av超碰在线 | av在线免费网 | 久草免费在线观看视频 | 日韩中文字幕免费 | 国产一区在线视频播放 | 亚洲最新在线视频 | 亚洲天堂网在线观看视频 | www.777奇米| 三级av在线免费观看 | 一区二区三区三区在线 | 日韩欧美一区二区三区在线观看 | 欧美日韩国内在线 | 国产精品99久久久久久人免费 | 97超碰在线播放 | 精品中文字幕在线播放 | 久9在线 | 久久黄色片子 | 亚洲国产成人久久综合 | 一级a性色生活片久久毛片波多野 | 日本久久久久久科技有限公司 | 日日夜夜婷婷 | 国产免费三级在线观看 | 日韩在线网 | 久草| 91系列在线观看 | 天天综合五月天 | 日韩免费播放 | av电影一区| www黄在线| 久草91视频 | 亚洲精品午夜一区人人爽 | 在线视频中文字幕一区 | 精品国产免费观看 | 久久国产影院 | 国产香蕉视频在线观看 | 亚洲精选视频免费看 | 亚洲精品视频二区 | 99 色| 免费高清在线观看成人 | 91精品久久久久久久久 | 日韩在线观看视频一区二区三区 | 91高清一区 | 成人免费观看电影 | 国产成人精品久久亚洲高清不卡 | 国产美女免费观看 | 2018好看的中文在线观看 | 97色噜噜| 国产精品自产拍在线观看网站 | 99热都是精品 | 丁香花在线观看视频在线 | 精品一区精品二区 | 91xav| 免费观看午夜视频 | 亚洲欧美在线综合 | 婷婷中文字幕 | 亚洲欧美视频在线观看 | 久久久久久毛片精品免费不卡 | 激情综合网五月激情 | 99久久久久成人国产免费 | 开心激情五月婷婷 | 在线观看成人av | 天堂av免费 | 亚洲国产成人精品在线观看 | 99r在线观看 | 黄色片网站免费 | 免费视频黄 | bbbbb女女女女女bbbbb国产 | 亚洲三级黄 | 91精品久久久久久粉嫩 | 日本超碰在线 | 成人黄色片免费看 | 一区二区三区在线免费观看 | 91精品国产入口 | av免费网站在线观看 | 色婷婷国产在线 | 处女av在线 | 亚洲japanese制服美女 | 激情综合网在线观看 | 婷婷在线色| 亚洲亚洲精品在线观看 | 伊人丁香| 国产最新在线视频 | 中文字幕一区二区三区四区视频 | 久久综合精品一区 | 黄色软件在线观看 | 午夜精品一区二区三区在线视频 | 亚洲综合五月天 | 韩国精品一区二区三区六区色诱 | 99re久久资源最新地址 | 综合视频在线 | 91精品少妇偷拍99 | www.色婷婷 | 日日爱网站 | 国产欧美综合在线观看 | 久久精品一二三区 | 国产精品片 | 国内外成人在线 | 亚洲开心激情 | 9999毛片| 蜜臀av网站 | 婷婷五天天在线视频 | 天天狠狠| 精品1区二区| 麻豆国产精品一区二区三区 | 国产中文字幕在线 | 精品一区精品二区 | 人人爽人人爽人人爽 | 精品久久久网 | 2018亚洲男人天堂 | 亚洲欧美国产精品久久久久 | av在线激情| 一区二区男女 | 亚洲黄色成人网 | 精品一区 在线 | 日韩精品免费一区二区三区 | 亚州国产精品久久久 | 在线观看免费版高清版 | 久久久福利视频 | 亚洲精品午夜一区人人爽 | 欧美极品一区二区三区 | 91自拍成人 | av品善网 | 久久精品人人做人人综合老师 | 国产精品午夜久久久久久99热 | 色噜噜在线观看 | 粉嫩av一区二区三区四区五区 | 日韩精品在线视频免费观看 | 久久理论电影网 | 国产a高清| 色婷丁香 | 久久一区91 | 奇米影视在线99精品 | 五月婷久久 | 亚洲1级片 | 国产资源免费 | av在线播放一区二区三区 | 国产综合香蕉五月婷在线 | 成人久久18免费网站 | 天堂av影院 | 高清色免费 | 国产亚洲精品久久久久久无几年桃 | 天天操天天干天天 | 婷婷综合电影 | 天天搞天天干 | 毛片视频电影 | 国产精品福利一区 | 成人在线观看影院 | 97色婷婷成人综合在线观看 | 在线国产中文字幕 | 韩国av免费观看 | 国产精品18videosex性欧美 | 国产日韩欧美在线观看视频 | 欧美日韩中文在线视频 | 国产午夜三级一区二区三 | 国产又粗又猛又色又黄网站 | 人人爽人人乐 | 国产在线观看,日本 | 成年人视频免费在线播放 | 四虎在线永久免费观看 | 色综合久久综合网 | 久久久久免费精品视频 | 午夜影视剧场 | 爱色婷婷| 国产尤物一区二区三区 | 伊人春色电影网 | 91爱在线 | 九九免费在线看完整版 | 欧美一级裸体视频 | 国产精品免费视频一区二区 | 久久精品国产亚洲a | 超碰av在线播放 | 国产精品久久婷婷六月丁香 | 成年人在线免费看片 | 狠狠色丁香婷婷综合最新地址 | 亚洲人xxx| 一区二区三区www | 婷婷久久综合九色综合 | 亚洲天堂网站 | 激情影院在线观看 | 久久国产精品系列 | 国产一区二区三区免费视频 | 99久久日韩精品视频免费在线观看 | 日韩免费一区二区在线观看 | 中文字幕在线免费播放 | 夜夜视频资源 | 97av视频| 四虎国产视频 | 国产最新福利 | 日韩欧美v | 五月天激情在线 | 久久av黄色 | 成人av在线网址 | 麻豆视频在线免费观看 | 国产精品视频全国免费观看 | 国产精品9区 | 99热国产在线 | 国产在线观看二区 | 国产精品久久久久久模特 | 黄色毛片大全 | 国产精品国产三级国产不产一地 | 美女网站久久 | 天天干人人| 欧美伦理一区二区三区 | 香蕉久久久久久久 | 一区三区视频在线观看 | 日韩精品短视频 | 国产 一区二区三区 在线 | 日韩在线第一区 | 久久精品久久精品久久精品 | 免费日韩一区二区三区 | 五月婷婷六月丁香在线观看 | 四虎影视成人永久免费观看视频 | 视频在线99re | 在线视频18在线视频4k | 久久久久国产成人精品亚洲午夜 | 视频二区 | 午夜精品一区二区三区在线 | 欧美色图亚洲图片 | 97国产在线 | 视频一区二区精品 | 伊人久久五月天 | 亚洲五月六月 | 国产自产高清不卡 | 欧美在线视频一区二区三区 | 天堂av一区二区 | 亚洲天堂激情 | 97免费中文视频在线观看 | 黄色毛片电影 | 88av色| 日韩高清 一区 | 香蕉视频最新网址 | 夜夜嗨av色一区二区不卡 | 免费看v片网站 | 亚洲.www| 免费又黄又爽视频 | 国产一级在线免费观看 | 六月色婷 | 日韩电影在线一区 | 日韩av成人 | 国产人成在线观看 | 久久综合九色综合97婷婷女人 | 成人亚洲综合 | 992tv在线成人免费观看 | 黄色av成人在线 | 国产一级久久久 | 国产精品美女久久久网av | 91系列在线| 久久国产视频网 | 亚洲片在线| 国产婷婷一区二区 | 免费黄色看片 | 午夜999 | 久久久国产精品久久久 | 99精品视频精品精品视频 | 人人超碰人人 | 不卡中文字幕在线 | 国产97视频 | 久久久久亚洲国产 | 亚洲 欧美 成人 | 精品中文字幕在线观看 | 欧美日韩中文在线 | 国产 在线 日韩 | 日本视频不卡 | 四虎在线视频免费观看 | 久久精品视频国产 | 亚洲国产精品小视频 | 99一区二区三区 | av免费网站在线观看 | 日韩一区二区三区视频在线 | 四虎影视国产精品免费久久 | 国内精品小视频 | 激情久久久久久久久久久久久久久久 | 中文字幕在线视频一区二区三区 | 懂色av一区二区在线播放 | 成人小电影在线看 | 久久综合精品一区 | 九月婷婷人人澡人人添人人爽 | 在线观看黄色免费视频 | 97精品国产手机 | 人人爱人人爽 | 在线三级播放 | 成人黄色电影在线 | 日韩免费看的电影 | 国产探花 | 日韩av看片 | 日本黄色a级大片 | 白丝av在线 | 婷婷激情欧美 | av成年人电影 | 亚洲一区二区三区精品在线观看 | 999免费视频 | 国产精品成久久久久三级 | 中文字幕乱视频 | 首页av在线 | 国产麻豆精品免费视频 | 免费看片成人 | 97超碰伊人 | 日韩精品中文字幕在线播放 | 麻豆视频在线观看免费 | 蜜桃av久久久亚洲精品 | 国产精品精品国产婷婷这里av | 一本大道久久精品懂色aⅴ 五月婷社区 | 精品中文字幕视频 | 亚洲成人精品在线观看 | 欧美日韩在线精品 | 99久视频 | 亚洲国产免费网站 | 欧美狠狠操 | 成人免费ⅴa | 欧美精品久久人人躁人人爽 | 亚洲成a人片在线www | 色停停五月天 | 97超级碰碰碰视频在线观看 | 国产色网 | 久久综合色天天久久综合图片 | 久久久久久激情 | 韩国视频一区二区三区 | 日韩在线视频观看免费 | 最近高清中文在线字幕在线观看 | 久久麻豆精品 | 亚洲乱亚洲乱亚洲 | 手机成人av在线 | 国内少妇自拍视频一区 | 91丨九色丨蝌蚪丰满 | 97超碰资源网 | 久久免费视频这里只有精品 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 免费涩涩网站 | 日韩午夜一级片 | av一本久道久久波多野结衣 | 亚洲资源在线 | www最近高清中文国语在线观看 | 国产私拍在线 | www黄免费 | 午夜久久福利视频 | 91中文字幕网 | 亚洲一区二区三区四区在线视频 | 久久亚洲美女 | 欧洲成人免费 | 中文字幕网址 | 国产精品久久久久久久久搜平片 | 中文字幕视频网站 | 热99在线视频 | 成人av在线资源 | 玖玖视频国产 | 伊人久久av | 日韩特级片 | 久久国产精品99久久久久 | 久久久久国产成人免费精品免费 | 国内精品久久久久久久 | 久久精品国产亚洲a | 国产亚洲小视频 | 国产精品一区二区三区在线播放 | 婷婷深爱| 国产精品涩涩屋www在线观看 | 伊人www22综合色 | 国产成人99av超碰超爽 | 久久99精品久久久久久久久久久久 | 久久看片网站 | 日韩在线免费播放 | 国内精品视频一区二区三区八戒 | 成av人电影 | 97视频在线观看网址 | 99精品欧美一区二区三区 | 亚州激情视频 | 日日操网站 | 97国产大学生情侣白嫩酒店 | 久久久蜜桃一区二区 | 国产午夜精品久久久久久久久久 | 成人免费观看电影 | 日韩电影一区二区在线观看 | 日韩高清在线看 | 日韩视频一区二区在线 | 免费三级黄 | 欧美精品天堂 | 久久久久国产成人精品亚洲午夜 | 久草在线资源网 | 国产一区二区三区高清播放 | 久久久久福利视频 | 亚洲乱码精品久久久 | 久久不卡国产精品一区二区 | 黄色最新网址 | 久久婷亚洲五月一区天天躁 | 美国人与动物xxxx | 久久精品波多野结衣 | 久久久久免费网站 | 免费国产黄线在线观看视频 | 久久综合中文字幕 | 日韩黄色免费看 | 国产一区二区观看 | 免费精品久久久 | 亚洲一级在线观看 | 又黄又爽又色无遮挡免费 | 亚洲高清激情 | aaa日本高清在线播放免费观看 | 黄色大全免费观看 | 狠狠干夜夜| 色网站免费在线观看 | 91自拍视频在线观看 | 中文字幕亚洲不卡 | 欧美另类色图 | 日本黄色片一区二区 | 天天干,天天插 | 国产精品麻豆99久久久久久 | 亚洲永久字幕 | 成人小视频在线免费观看 | 天天干天天拍天天操 | 久久99热这里只有精品国产 | 色婷婷九月 | 欧美日韩一区三区 | 国产在线精品二区 | 国产一区二区三区免费在线观看 | 人人澡人人澡人人 | 国产免费作爱视频 | 黄免费在线观看 | 黄在线免费观看 | 久久久久久久久久电影 | 亚色视频在线观看 | 亚av在线| av成人免费观看 | 成年人在线免费看 | 在线有码中文 | 美女天天操 | 久久激情视频 久久 | 国产一级片在线播放 | 一区二区不卡视频在线观看 | 久久三级毛片 | 国产黄色精品视频 | 欧美日韩成人一区 | 日本精品一区二区在线观看 | 五月婷婷网站 | 一区二区三区在线观看免费视频 | 亚洲mv大片欧洲mv大片免费 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 午夜男人影院 | 久久国产精彩视频 | 久久综合亚洲鲁鲁五月久久 | 亚洲va综合va国产va中文 | 久久精品福利 | 日日干干 | 成年人免费看的视频 | 国产精品永久免费观看 | 国产九九精品视频 | av三级在线免费观看 | 中文字幕乱在线伦视频中文字幕乱码在线 | www.玖玖玖 | 国产一级电影网 | 亚洲涩涩网站 | 成人影视免费 | 亚洲污视频 | 婷婷在线五月 | 久9在线 | 91视频链接 | 黄色网中文字幕 | 日韩精品一区二区电影 | 伊人六月 | 国产99免费视频 | 777奇米四色 | 国产美女精品久久久 | 国产精品第10页 | 亚洲91网站 | 国产综合婷婷 | 中文日韩在线视频 | 亚洲综合狠狠干 | 97视频在线 | 久久99精品一区二区三区三区 | 精产嫩模国品一二三区 | 婷婷色在线 | 欧洲亚洲国产视频 | 国产精品久久久久久久99 | 午夜视频在线观看一区二区三区 | 国产黄网站在线观看 | 亚洲综合视频在线 | 欧洲在线免费视频 | www久久99 | 国产福利在线不卡 | 国产91精品在线观看 | 欧美性色黄 | 久章操 | 国产在线观看xxx | 瑞典xxxx性hd极品 | 黄色com| 日韩sese| 91成人在线视频 | 亚洲精品视频免费在线观看 | 黄色在线视频网址 | 亚州日韩中文字幕 | 国产五月天婷婷 | 日韩精品第1页 | a级片网站 | 久久久久久片 | 中文字幕在线观看网站 | 欧美成人亚洲 | 91中文字幕在线视频 | 亚洲aⅴ久久精品 | 欧美日韩国产精品久久 | 免费av在线网站 | 中文字幕免费国产精品 | 久久精品久久久久 | 97超碰人人澡人人爱 | 亚洲精品在线一区二区三区 | 久久国产电影院 | 日韩特黄一级欧美毛片特黄 | 中文字幕乱码视频 | 国产黄色精品 | 日本不卡一区二区三区在线观看 | 96久久| 婷婷久久一区二区三区 | 日韩久久久久久久 | 久久精品视 | 国产电影黄色av | 国产短视频在线播放 | 992tv又爽又黄的免费视频 | 91在线观看视频网站 | 在线观看国产日韩欧美 | 日本一区二区三区视频在线播放 | 国产免费黄色 | 国产一级片免费播放 | 日韩高清在线一区 | 久久免费大片 | 国产视频精品久久 | 欧美精品一区二区免费 | 国产成人在线观看免费 | 亚洲综合色视频 | 精品久久久久久国产偷窥 | 国产精品久久久av久久久 | av片在线观看免费 | 欧美日韩观看 |