• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于SystemC的MIPS處理器建模與架構(gòu)

    2015-05-04 08:07:02彭德生蔣志翔
    關(guān)鍵詞:命中率寄存器部件

    彭德生,蔣志翔

    (中國(guó)航天科工集團(tuán)第二研究院706所,北京100854)

    0 引 言

    2011年,IEEE發(fā)布了SystemC最新的1666-2011標(biāo)準(zhǔn)[1],開(kāi)啟以系統(tǒng)建模的方法進(jìn)行系統(tǒng)架構(gòu)設(shè)計(jì)和分析的新世代。各大EDA廠(chǎng)商均推出了自己系統(tǒng)建模的平臺(tái),如Synopsys的 Platform Architect,Mentor Graphics的 Vista Architect,系統(tǒng)建模成為芯片設(shè)計(jì)的熱點(diǎn)。

    以往用Verilog設(shè)計(jì)數(shù)字電路的工程師從硬件描述的思維設(shè)計(jì)電路,他們往往沒(méi)有C++面向?qū)ο蟮木幊探?jīng)驗(yàn),難以用SystemC進(jìn)行系統(tǒng)級(jí)模型的設(shè)計(jì)。為規(guī)范化系統(tǒng)建模過(guò)程、提高建模效率,本文前部分提出并實(shí)踐了基于SystemC建立MIPS構(gòu)架處理器的周期精準(zhǔn)模型的方法,以自頂向下的方式規(guī)范化建模過(guò)程,采用 “結(jié)構(gòu)框圖-模塊細(xì)化-模型映射”3步走,并介紹使用 “宏映射”的技術(shù),保持Verilog語(yǔ)言的一些基本特征,讓硬件工程師能輕松轉(zhuǎn)移到SystemC系統(tǒng)級(jí)模型設(shè)計(jì)上。SystemC從高抽象層次的系統(tǒng)級(jí)描述系統(tǒng),便于進(jìn)行系統(tǒng)架構(gòu)設(shè)計(jì)空間的探索和驗(yàn)證。為探索用系統(tǒng)級(jí)模型進(jìn)行系統(tǒng)架構(gòu)設(shè)計(jì)的方法,本文后部分以高速緩存Cache的設(shè)計(jì)為例,基于系統(tǒng)級(jí)仿真定量分析Cache的命中率與Cache相聯(lián)路數(shù)、容量的關(guān)系,找出最優(yōu)的Cache架構(gòu)設(shè)計(jì)。通過(guò)系統(tǒng)建模的方法,將系統(tǒng)級(jí)模型加上激勵(lì)測(cè)試程序進(jìn)行系統(tǒng)仿真,可提取出緩存命中率、總線(xiàn)訪(fǎng)問(wèn)延遲、性能指標(biāo)CPI(cycle per instruction)等剖面數(shù)據(jù),可評(píng)估當(dāng)前處理器構(gòu)架的性能,發(fā)現(xiàn)系統(tǒng)的性能瓶頸,尋求滿(mǎn)足性能需求及設(shè)計(jì)約束最優(yōu)化的架構(gòu)方案。由于系統(tǒng)級(jí)建模的優(yōu)越性,系統(tǒng)建模的方法將成為系統(tǒng)架構(gòu)設(shè)計(jì)和分析的主要途徑。

    1 SystemC建模語(yǔ)言

    1.1 SystemC

    SystemC是由一組C++類(lèi)庫(kù)所組成的硬件建模平臺(tái),也是一種新型設(shè)計(jì)方法,結(jié)合了硬件建模機(jī)制原理和面向?qū)ο缶幊虄煞矫娴膬?yōu)點(diǎn),可在寄存器傳輸級(jí)、事務(wù)級(jí)、系統(tǒng)級(jí)不同抽象層次進(jìn)行硬件建模。SystemC基本單元是模塊 (module),模塊內(nèi)可包含子模塊、端口和過(guò)程,模塊之間通過(guò)端口和信號(hào)進(jìn)行連接和通訊,利用SystemC的這些基本機(jī)制可方便建立CA (cycle accurate)時(shí)鐘周期精確的模型。SystemC重要概念有模塊、進(jìn)程、接口、端口以及通道[1]。

    進(jìn)程 (process)是程序在并發(fā)環(huán)境中的執(zhí)行過(guò)程,SystemC的基本進(jìn)程包括:SC_M(jìn)ETHOD,SC_THREAD,SC_CTHREAD。

    SC_M(jìn)ETHOD:當(dāng)敏感列表上有事件發(fā)生時(shí),才被調(diào)用,調(diào)用后迅速返回,用法很像Verilog中描述的組合邏輯;

    SC_THREAD:能夠被掛起和重新激活,當(dāng)敏感表上有事件發(fā)生,線(xiàn)程被重新激活運(yùn)行到新的wait()語(yǔ)句再重新掛起,主要用于對(duì)程序的驗(yàn)證;

    SC_CTHREAD:繼承于線(xiàn)程進(jìn)程,只能在時(shí)鐘的上升沿或者下降沿被觸發(fā)或者激活,用于時(shí)鐘精確的建模。

    模塊間通道通信如圖1所示。

    圖1 模塊間通道通信

    接口 (interface),提供一組固定的通信方法,是C++抽象類(lèi),它以純虛數(shù)的方式定義了一組抽象的方法。通道 (channel),實(shí)現(xiàn)一個(gè)或者多個(gè)接口,接口中定義的虛函數(shù)必須在通道中實(shí)現(xiàn),它是一個(gè)實(shí)現(xiàn)通信功能的 “模塊”,只不過(guò)它僅完成通信功能。端口 (port),定義在模塊中,模塊通過(guò)端口與通道連接,通過(guò)端口,模塊中的進(jìn)程就能夠連接到一定的接口,與其它模塊通信。

    1.2 TLM建模

    TLM (transaction level modeling)2.0的 引 入,是 在事務(wù)層[1,2]對(duì)硬件建模,以獲取更高的仿真速度,允許設(shè)計(jì)人員對(duì)系統(tǒng)架構(gòu)及性能的分析、對(duì)固件驅(qū)動(dòng)及應(yīng)用軟件在RTL (register transfer level)實(shí)現(xiàn)前進(jìn)行開(kāi)發(fā)驗(yàn)證。TLM 2.0是建立在SystemC類(lèi)庫(kù)之上的類(lèi)庫(kù),方便用戶(hù)進(jìn)行事務(wù)級(jí)模型的開(kāi)發(fā)。TLM 2.0主要由TLM-1、互操作層和實(shí)用類(lèi)組成。TLM 2.0的核心是互操作層,主要由一般的負(fù)載模型及基本的總線(xiàn)協(xié)議、發(fā)起者與目標(biāo)套接字、全局時(shí)間量和核心接口組成。而核心的接口又由阻塞傳輸接口、非阻塞的傳輸接口、直接存儲(chǔ)訪(fǎng)問(wèn)接口、傳輸調(diào)試接口組成[1]。

    TLM 2.0主要有兩種模型風(fēng)格:寬松時(shí)序LT (loosely-timed)和近似時(shí)序 AT (approximately-timed),以便用在不同場(chǎng)合。一般LT用在軟件開(kāi)發(fā)調(diào)試上,AT用在硬件架構(gòu)性能分析上。寬松時(shí)序LT有較快的執(zhí)行速度。一個(gè)事務(wù)有兩個(gè)時(shí)間點(diǎn),請(qǐng)求的開(kāi)始時(shí)間點(diǎn)與響應(yīng)的開(kāi)始時(shí)間點(diǎn)。LT允許進(jìn)程跑在仿真時(shí)間前以獲得較快仿真速度。近似時(shí)序AT的事務(wù)有多個(gè)階段,一般在請(qǐng)求響應(yīng)的開(kāi)始、結(jié)束都有時(shí)間點(diǎn),并按照SystemC調(diào)度器嚴(yán)格按時(shí)間執(zhí)行。

    1.3 Verilog與SystemC

    不難發(fā)現(xiàn)SystemC和Verilog在硬件描述方面語(yǔ)言特征很像,開(kāi)發(fā)SystemC標(biāo)準(zhǔn)的工程師,正是借用Verilog的硬件描述方法和概念,將RTL級(jí)的描述語(yǔ)言升級(jí)為系統(tǒng)級(jí)的建模語(yǔ)言。Verilog采用層次化、模塊化的設(shè)計(jì)方法,將一個(gè)復(fù)雜的設(shè)計(jì)劃分成幾個(gè)頂層模塊,這些頂層模塊又可細(xì)化為子模塊,子模塊又可細(xì)化為更小的模塊,而模塊之間的連接、通信是通過(guò)input、output或inout信號(hào)實(shí)現(xiàn)的。這樣,一個(gè)復(fù)雜的硬件設(shè)計(jì)就劃分為以模塊為基本單元的層次化的樹(shù)狀結(jié)構(gòu),然后用分而治之的方法逐個(gè)設(shè)計(jì)每個(gè)模塊,使設(shè)計(jì)變得條理化而更容易。模塊內(nèi)部定義了內(nèi)部使用信號(hào),有assign為代表的連續(xù)賦值語(yǔ)句和always塊為代表的過(guò)程賦值語(yǔ)句。assign語(yǔ)句描述組合邏輯,輸出隨時(shí)隨輸入變化而變化,沒(méi)有時(shí)鐘周期的概念,只有輸入到輸出的最大延遲路徑?jīng)Q定輸出何時(shí)有效。電平敏感的always塊主要用來(lái)描述復(fù)雜的組合邏輯,也可能描述含鎖存器的電路。時(shí)鐘邊沿敏感的always塊用來(lái)描述時(shí)序電路,通常在always塊被賦值的信號(hào)都是reg寄存器,寄存器能存儲(chǔ)信息,僅在時(shí)鐘邊沿改變值,做到信號(hào)的同步。模塊就是通過(guò)其中的控制邏輯,將輸入信號(hào)和內(nèi)部信號(hào)加工處理,驅(qū)動(dòng)輸出信號(hào);模塊的輸出僅取決于輸入和內(nèi)部的控制邏輯,而且一個(gè)輸入信號(hào)只能有一個(gè)驅(qū)動(dòng)模塊,使模塊間的耦合度降低,模塊間的關(guān)聯(lián)和通信僅靠輸入輸出端口;模塊化的設(shè)計(jì)方法便于設(shè)計(jì)實(shí)現(xiàn)和調(diào)試驗(yàn)證。

    Verilog語(yǔ)言的主要概念有模塊module、輸入信號(hào)input、輸出信號(hào)output、連續(xù)賦值語(yǔ)句assign(描述組合邏輯)、過(guò)程賦值語(yǔ)句always塊 (主要描述時(shí)序邏輯)、時(shí)鐘沿等,SystemC建模語(yǔ)言主要概念有模塊sc_module、進(jìn)程sc_process、端口sc_port、接口sc_interface、通道sc_channel,它們的對(duì)應(yīng)關(guān)系見(jiàn)表1。

    表1 Verilog與SystemC對(duì)比關(guān)系

    2 SystemC模型建立

    2.1 MIPS處理器結(jié)構(gòu)

    精簡(jiǎn)指令集計(jì)算機(jī) RISC (reduced instruction set com-puter)的代表MIPS指令架構(gòu)采用32位固定的指令長(zhǎng)度、簡(jiǎn)明的指令結(jié)構(gòu),便于譯碼;擁有32個(gè)通用寄存器;僅Load/Store指令可訪(fǎng)存,訪(fǎng)存尋址方法少:這些特點(diǎn)使MIPS處理器便于采用流水線(xiàn)等技術(shù)增強(qiáng)CPU性能。

    經(jīng)典MIPS處理器的執(zhí)行過(guò)程分為取指IF(instruction fetch)、譯碼ID (instruction decode)、執(zhí)行 EX (execute)、訪(fǎng)存 MEM (memory access)、寫(xiě)回 WB (write back)這5個(gè)階段[3,4],用控制器產(chǎn)生的控制信號(hào)控制處理器的執(zhí)行。根據(jù)處理器的執(zhí)行流,MIPS處理器可劃分為取指部件、譯碼部件、執(zhí)行部件、訪(fǎng)存部件和數(shù)據(jù)寫(xiě)回通路這5大功能部件;根據(jù)處理器的控制流,MIPS處理器包含控制各功能部件協(xié)同工作的控制器;根據(jù)處理器數(shù)據(jù)流的傳遞,MIPS處理器包含通用寄存器文件、L1指令Cache、L1數(shù)據(jù)Cache以及可選的L2共享Cache等數(shù)據(jù)存儲(chǔ)部件。

    (1)取指階段:CPU在一條指令執(zhí)行的第一階段是根據(jù)當(dāng)前程序計(jì)數(shù)器PC值從存儲(chǔ)器中獲得當(dāng)前要執(zhí)行的指令,對(duì)于MIPS結(jié)構(gòu)的指令而言,這是一個(gè)固定的32比特?cái)?shù)據(jù)。當(dāng)L1指令Cache命中時(shí),可快速取得指令存入指令寄存器IR內(nèi);當(dāng)L1指令Cache缺失時(shí),需要訪(fǎng)問(wèn)下一級(jí)高速緩存,最會(huì)的情況是到片外的主存儲(chǔ)器中取指令,當(dāng)然這會(huì)帶來(lái)很大的處理器延遲。

    (2)譯碼階段:現(xiàn)在我們已將指令取來(lái)放在IR (instruction register)寄存器中了,在譯碼階段就是根據(jù)IR產(chǎn)生各功能部件的控制信號(hào)和數(shù)據(jù)輸入信號(hào)。MIPS指令分為算術(shù)邏輯指令、訪(fǎng)存指令、程序轉(zhuǎn)移指令、數(shù)據(jù)傳輸指令和處理器控制指令等類(lèi)別。指令譯碼就是按照MIPS指令編碼格式識(shí)別當(dāng)前指令是何種類(lèi)型指令、需用到什么功能部件,以產(chǎn)生該功能部件需要的控制信號(hào)和數(shù)據(jù)信號(hào)。譯碼階段還需要完成的是源寄存器的讀取,根據(jù)指令編碼中源寄存器Rs、Rt的寄存器號(hào),從寄存器文件中讀取源寄存器的值,以用于指令執(zhí)行的下一階段。

    (3)執(zhí)行階段:執(zhí)行部件主要包含算術(shù)邏輯單元ALU(arithmetic logic unit)和 浮 點(diǎn) 運(yùn) 算 單 元 FPU (float point unit)這些功能部件。算術(shù)邏輯單元ALU主要包括定點(diǎn)加法器、邏輯運(yùn)算、移位運(yùn)算、定點(diǎn)乘法器、定點(diǎn)除法器;浮點(diǎn)運(yùn)算單元FPU主要包括浮點(diǎn)加法器、浮點(diǎn)乘法器和浮點(diǎn)除法器。經(jīng)過(guò)譯碼,我們知道了當(dāng)前指令的類(lèi)型以及將占用的功能部件,然后使用譯碼階段讀取的源操作數(shù)進(jìn)行計(jì)算。以整數(shù)加法 “A+B”指令為例,指令譯碼產(chǎn)生的控制信號(hào)將選擇ALU的加法單元,使用譯碼階段讀取的寄存器值A(chǔ)、B為加法器的輸入,經(jīng)過(guò)通常是1個(gè)時(shí)鐘周期的延遲,加法器的輸出端產(chǎn)生有效的輸出C,以供下一階段使用。

    (4)訪(fǎng)存階段:訪(fǎng)存階段不是所有指令都需要經(jīng)歷的指令執(zhí)行階段,僅訪(fǎng)存Load/Store型指令才需要。訪(fǎng)存與取指有些相同,都是對(duì)主存儲(chǔ)器的訪(fǎng)問(wèn),訪(fǎng)存特指對(duì)數(shù)據(jù)的訪(fǎng)問(wèn),可讀可寫(xiě),先要訪(fǎng)問(wèn)L1數(shù)據(jù)Cache;取指是指對(duì)程序指令的訪(fǎng)問(wèn),只可讀,先訪(fǎng)問(wèn)L1指令Cache。訪(fǎng)存先要計(jì)算數(shù)據(jù)的地址,需要用到上一階段的ALU計(jì)算出訪(fǎng)存地址A,然后在此階段先訪(fǎng)問(wèn)L1數(shù)據(jù)Cache,若命中就可快速返回,否則需要訪(fǎng)問(wèn)下一級(jí)存儲(chǔ)層次,這將帶來(lái)更大的方寸延遲。

    (5)寫(xiě)回階段:寄存器寫(xiě)回階段也不是所有指令都需要經(jīng)歷的指令執(zhí)行階段,僅需要更新寄存器值的指令才需要,如大多數(shù)算術(shù)邏輯指令和Load型訪(fǎng)存指令。寫(xiě)回階段唯一需要做的是將ALU的輸出或訪(fǎng)存部件的輸出鏈接到寄存器文件的輸入端,更新寄存器的值,它其實(shí)起到數(shù)據(jù)通路的作用。

    2.2 SystemC模型映射

    針對(duì)周期精確及端口信號(hào)級(jí)精確的SystemC模型設(shè)計(jì)[5-7],本文提出模塊化的 “結(jié)構(gòu)框圖-模塊細(xì)化-模型映射”的規(guī)范化SystemC模型映設(shè)計(jì)方法。

    2.2.1 結(jié)構(gòu)框架

    SystemC建模的第一步是根據(jù)目標(biāo)系統(tǒng)的功能特征,將系統(tǒng)劃分為獨(dú)立的功能子系統(tǒng),以結(jié)構(gòu)框圖的形式表示出來(lái),各功能子系統(tǒng)的聯(lián)系、數(shù)據(jù)交互可用箭頭和文字標(biāo)注。這樣目標(biāo)系統(tǒng)的結(jié)構(gòu)框圖被建立好,從這樣的系統(tǒng)頂層框圖可清楚看到系統(tǒng)可分為幾大部分,以及各部分關(guān)聯(lián),為建模的下一步打好基礎(chǔ)。如圖2經(jīng)典5周期MIPS處理器的結(jié)構(gòu)框架。

    圖2 經(jīng)典MIPS處理器結(jié)構(gòu)框架

    2.2.2 模塊細(xì)化

    建模的第二步是模塊細(xì)化,就是將頂層的功能子系統(tǒng)進(jìn)一步模塊化、功能細(xì)化。這一階段要精確到模塊module,找出系統(tǒng)的主要模塊,并且要明確各模塊的主要接口信號(hào)(input、output、inout),這時(shí)模塊內(nèi)的邏輯實(shí)現(xiàn)可先不考慮。

    具體而言,IF取指功能部件,需要的輸入信號(hào)有時(shí)鐘輸入Clk、指令的地址PC (program counter)、取指請(qǐng)求信號(hào)Inst_Req等,主要的輸出有取指應(yīng)答Inst_Ack、取到的指令I(lǐng)nst。取指部件包含L1指令Cache子模塊,主要的輸入是指令地址PC,輸出為所取的指令I(lǐng)nst。取指功能部件可描述為:IF {Clk_I,PC_I,Inst_Req_I,Inst_Ack_O、Inst_O}。

    ID譯碼功能部件,輸入剛?cè)〉闹噶領(lǐng)nst,輸出有ALU操作碼ALU_Op、操作數(shù)ALU_DataA和ALU_DataB以及訪(fǎng)存請(qǐng)求Mem_Req、訪(fǎng)存地址基地址 Mem_Addr-Base、訪(fǎng)存寫(xiě)數(shù)據(jù)Mem_DataWr等。經(jīng)過(guò)仔細(xì)分析,譯碼部件要讀取源操作數(shù),因而包含寄存器讀取子模塊Regfile;輸入是指令譯碼的RsIdx、RtIdx源寄存器索引號(hào),輸出是第一源操作數(shù)Rs和第二源操作數(shù)Rt寄存器的值。譯碼功能部件可描述為:ID {Clk_I,Inst_I,ALU_Op_O,ALU_DataA_O,ALU_DataB_O,Mem_Req_O,Mem_AddrBase_O,Mem_DataWr_O}。

    EX執(zhí)行功能部件,根據(jù)處理器所實(shí)現(xiàn)的運(yùn)算功能,執(zhí)行功能部件包括定點(diǎn)加法器Adder、邏輯運(yùn)算Logic、移位運(yùn)算Shifter、比較器Comparator、定點(diǎn)乘法器 Multiplier、定點(diǎn)除法器Divider等基本運(yùn)算單元。這些運(yùn)算單元的輸入均是ID譯碼部件產(chǎn)生的ALU輸入源數(shù)據(jù)ALU_DataA和ALU_DataB,而由操作碼ALU_Op譯碼產(chǎn)生對(duì)不同子功能運(yùn)算單元的選擇信號(hào),因一條指令僅使用一個(gè)運(yùn)算單元,這樣的選擇信號(hào)可避免其它運(yùn)算單元的工作,從而有利于低功耗的實(shí)現(xiàn)。這些運(yùn)算單元主要的輸出是各自的運(yùn)算結(jié)果,通過(guò)前面的運(yùn)算單元選擇信號(hào)可選擇當(dāng)前有效的運(yùn)算結(jié)果作為整個(gè)ALU的輸出ALU_Out;而有些運(yùn)算單元有自己特殊的輸出信號(hào),如加法器有溢出C輸出標(biāo)志、符號(hào)S輸出標(biāo)志,比較器有零Z輸出標(biāo)志、比較結(jié)果LT標(biāo)志,除法器有除數(shù)為零異常標(biāo)志信號(hào)等。執(zhí)行功能部件可描述為:EX {Clk_I,ALU _Op_I,ALU _DataA_I,ALU _DataB_I,ALU_Out,C,S,Z,LT}。

    MEM訪(fǎng)存功能部件,僅供Load/Store型指令訪(fǎng)問(wèn)程序所使用數(shù)據(jù)。輸入為ID部件產(chǎn)生的訪(fǎng)存請(qǐng)求信號(hào)Mem_Req、讀寫(xiě)控制信號(hào) Mem_RW、訪(fǎng)存寫(xiě)數(shù)據(jù) Mem_DataWr,以及EX執(zhí)行部件計(jì)算出的訪(fǎng)存地址Mem_Addr。當(dāng)是Store型指令時(shí),將Mem_DataWr數(shù)據(jù)寫(xiě)入內(nèi)存后指令執(zhí)行完畢;當(dāng)為L(zhǎng)oad型指令時(shí),訪(fǎng)問(wèn)存儲(chǔ)器取得數(shù)據(jù)Mem_DataRd,然后還要經(jīng)寫(xiě)回階段存入寄存器。MEM訪(fǎng)存部件產(chǎn)生訪(fǎng)存控制信號(hào),主要包括L1級(jí)數(shù)據(jù)Cache子模塊。訪(fǎng)存功能部件可描述為 MEM {Clk_I,Mem_Req_I,Mem_RW_I,Mem_Addr_I,Mem_DataWr_I,Mem_DataRd_O}。

    WB寫(xiě)回功能部件,主要作用是完成通用寄存器的更新。輸入有算術(shù)邏輯指令使用EX功能部件產(chǎn)生的計(jì)算結(jié)果ALU_Out、Load型指令使用MEM功能部件取回的數(shù)據(jù)Mem_DataRd,以此選擇寄存器文件寫(xiě)數(shù)據(jù)輸入Reg_DataWr;另外有寄存器寫(xiě)控制信號(hào)Reg_WriteEN。寫(xiě)回功能部件可描述為 WB {Clk_I,Reg_DataWr_I,Reg_WriteEN}。

    數(shù)字系統(tǒng)包含數(shù)據(jù)通路和控制邏輯兩大部分,數(shù)據(jù)通路就是上面描述的5大功能部件;而為使各種指令在處理器上經(jīng)不同執(zhí)行路徑有條不紊的執(zhí)行,一個(gè)控制指令全局執(zhí)行的狀態(tài)機(jī)FSM是必需的。FSM狀態(tài)有S_IDLE、S_IF、S_ID、S_EX、S_M(jìn)EM、S_WB,輸入為指令類(lèi)型Inst_Type、取指完成信號(hào)Inst_Ack、訪(fǎng)存完成信號(hào)Mem_Ack,輸出為各階段的執(zhí)行控制信號(hào)和當(dāng)前狀態(tài),狀態(tài)機(jī)可描述為FSM {Clk_I,Inst_Type_I,Inst_Ack_I,Mem_Ack_I,Inst_Req_O,Decode_Req_O,Execute_Req_O,Mem_Req_O,WB_Req_O,Current_State_O}。

    2.2.3 模型映射

    經(jīng)過(guò)用畫(huà)結(jié)構(gòu)框圖方法進(jìn)行系統(tǒng)頂層描述,再進(jìn)行模塊的細(xì)化后,最后進(jìn)行系統(tǒng)到SystemC模型的映射。模型映射用SystemC語(yǔ)言實(shí)現(xiàn)各個(gè)模塊module的內(nèi)部邏輯,將頂層結(jié)構(gòu)框圖描述的系統(tǒng)映射為SystemC的模型系統(tǒng)。當(dāng)有Verilog的RTL模型時(shí),可更容易將RTL模型映射為SystemC模型,因SystemC標(biāo)準(zhǔn)參考了Verilog關(guān)于模塊、接口等概念。

    本文所建立的MIPS處理器模型,主要就是用SystemC提供的接口實(shí)現(xiàn)5大功能部件和控制狀態(tài)機(jī)。下面以IF取指部件為例,介紹SystemC的實(shí)現(xiàn)。

    取指用稱(chēng)為Fetch的類(lèi)實(shí)現(xiàn),該類(lèi)繼承與SystemC的模塊基類(lèi)sc_module,對(duì)應(yīng)于Verilog的模塊 module。Fetch類(lèi)中首先定義模塊的接口信號(hào),sc_in接口類(lèi)定義輸入信號(hào),對(duì)應(yīng)于input;sc_out接口類(lèi)定義輸出信號(hào),對(duì)應(yīng)于output。然后定義類(lèi)自己的內(nèi)部變量,本例中是指令存儲(chǔ)器imem,接著定義類(lèi)的內(nèi)部函數(shù)聲明。最后是類(lèi)的構(gòu)造函數(shù)定義,使用宏SC_CTOR定義構(gòu)造函數(shù),宏參數(shù)為類(lèi)的名字Fetch。在構(gòu)造函數(shù)里,首先用SC_CTHREAD定義模塊的SystemC線(xiàn)程,SC_CTHREAD在每個(gè)時(shí)鐘周期邊沿激活,用于周期精確模型建模,宏第一個(gè)參數(shù)FetchMain表示它是線(xiàn)程執(zhí)行的入口函數(shù),第二個(gè)參數(shù)CLK_I.pos(),表明線(xiàn)程在時(shí)鐘的上升沿觸發(fā);然后申請(qǐng)了32KB的指令存儲(chǔ)空間imem,從機(jī)器指令二進(jìn)制文件Source.bin中讀入指令數(shù)據(jù)初始化指令存儲(chǔ)器imem。下面來(lái)看SystemC線(xiàn)程FetchMain:

    SystemC的線(xiàn)程一般是個(gè)死循環(huán),在運(yùn)行了指定時(shí)鐘周期數(shù)后,由SystemC調(diào)度器回收結(jié)束各線(xiàn)程。周期精確主要靠wait()函數(shù)同步各個(gè)SystemC線(xiàn)程在每個(gè)時(shí)鐘周期執(zhí)行一次,當(dāng)線(xiàn)程被調(diào)度器調(diào)度執(zhí)行,線(xiàn)程從wait()的下一條語(yǔ)句開(kāi)始執(zhí)行直到遇到wait()語(yǔ)句結(jié)束本次執(zhí)行。在本IF取指部件的實(shí)現(xiàn)中,先對(duì)取指請(qǐng)求信號(hào)Inst_Req_I進(jìn)行采樣,若有效則繼續(xù)執(zhí)行,否則等待下一時(shí)鐘周期再采樣該信號(hào)。取指需先用程序計(jì)數(shù)器PC值計(jì)算下一條指令的地址,訪(fǎng)問(wèn)指令存儲(chǔ)器imem并通過(guò)Inst_O輸出端口輸出所取得的指令,然后PC加4指向下一條順序指令地址,置Inst_Ack_O信號(hào)有效,通知其它模塊輸出指令有效。

    為了保持SystemC建模風(fēng)格和Verilog硬件描述風(fēng)格一致,讓從已有的RTL模型映射到SystemC的系統(tǒng)級(jí)模型更容易,本文提出運(yùn)用C++語(yǔ)言提供的宏,使用 “宏映射”技術(shù):

    對(duì)連續(xù)賦值語(yǔ)句的assign關(guān)鍵字,在SystemC中可定義空宏 “#define assign”,則可編譯通過(guò);

    定義wire或reg型變量,可先定義以下宏:“#define wire(m,n) unsigned int”,則聲明20位的信號(hào)可表示為:“wire(19,0) signal;”,與Verilog十分相似;

    對(duì)于位選擇,如signal[15:8],SystemC中可定義宏:“#define BITS (name,m,n)(((unsigned int)name<< (31-m))>> (32- (m-n+1)))”,可如 BITS (signal,15,8)使用。

    3 仿真與架構(gòu)探索

    3.1 系統(tǒng)仿真

    當(dāng)系統(tǒng)的模型建立后,需要驗(yàn)證模型的正確性[7]。Verilog描述的RTL模型驗(yàn)證困難、可調(diào)式性差,驗(yàn)證需要用Verilog等語(yǔ)言寫(xiě)測(cè)試激勵(lì),測(cè)試激勵(lì)生成效率低下而且不能充分測(cè)試系統(tǒng)的功能與性能;主要通過(guò)查看信號(hào)波形圖分析系統(tǒng)的問(wèn)題,不能進(jìn)行運(yùn)行時(shí)單步調(diào)試,不直觀(guān),也不容易定位系統(tǒng)的問(wèn)題。而用SystemC描述的系統(tǒng)級(jí)模型,借助C++集成開(kāi)發(fā)調(diào)試環(huán)境,將系統(tǒng)架構(gòu)設(shè)計(jì)、系統(tǒng)級(jí)驗(yàn)證結(jié)合在一起;系統(tǒng)測(cè)試激勵(lì)Testbench可用C/C++語(yǔ)言,和建模語(yǔ)言SystemC使用相同的高級(jí)程序設(shè)計(jì)語(yǔ)言,不但抽象程度高,而且Testbench生成效率高,能達(dá)到較高的覆蓋率,充分驗(yàn)證系統(tǒng)功能;調(diào)試方面,C++調(diào)試器支持運(yùn)行時(shí)單步執(zhí)行、查看各信號(hào)變量值等,方便定位系統(tǒng)設(shè)計(jì)錯(cuò)誤。

    為了驗(yàn)證本文設(shè)計(jì)的MIPS系統(tǒng)級(jí)周期精確模型的正確性,即5大功能部件和控制邏輯設(shè)計(jì)正確,能正確執(zhí)行每一條指令,需要在處理器模型上運(yùn)行測(cè)試程序。

    測(cè)試程序描述:冒泡排序算法,對(duì)100個(gè)數(shù)進(jìn)行升序排序,初始化數(shù)組元素依次為100、99、98…3、2、1,輸出應(yīng)是1到100的升序排序,為了清晰本測(cè)試程序僅打印輸出前20個(gè)數(shù)。此排序是冒泡排序的最壞情況,算法復(fù)雜度為O(n2)。測(cè)試程序用C語(yǔ)言描述,用Cygwin環(huán)境下MIPS-GCC交叉編譯器編譯生成機(jī)器代碼。

    測(cè)試機(jī)器配置:

    運(yùn)行結(jié)果如圖3所示,測(cè)試程序順序輸出1到20的排序結(jié)果,印證了所建的處理器模型能正確工作,程序就像跑在一臺(tái)真實(shí)的計(jì)算機(jī)上一樣。另外可以知道處理器模型模擬了251 095個(gè)時(shí)鐘周期,執(zhí)行了83 699條指令,模擬器模擬總共耗時(shí)8.166s,仿真速度30 748個(gè)時(shí)鐘周期每秒,指令執(zhí)行速度10249條指令每秒。

    3.2 構(gòu)架探索

    使用高級(jí)程序設(shè)計(jì)語(yǔ)言SystemC編寫(xiě)的處理器系統(tǒng)級(jí)模型最大的好處在于能用于處理器架構(gòu)的探索以及系統(tǒng)的性能瓶頸分析。SystemC將硬件描述特征與C++面向?qū)ο筇攸c(diǎn)結(jié)合在一起,使這樣系統(tǒng)級(jí)的模型有較好的參數(shù)可配置性和可擴(kuò)展性。在處理器架構(gòu)探索方面,可配置處理器有幾級(jí)高速緩存,每級(jí)Cache的容量、Cache組織方式以及Cache替換策略等[8,9];處理器采用多少核心,2核、4核還是8核,處理器采用同構(gòu)多核還是異構(gòu)多核[10]。在系統(tǒng)性能瓶頸方面,著重關(guān)注總線(xiàn)的設(shè)計(jì),如采用什么總線(xiàn)協(xié)議,使用AMBA AHB或更快的AXI,采用多大總線(xiàn)頻率,多寬的總線(xiàn),什么樣的總線(xiàn)仲裁協(xié)議等[11,12]。這些都是處理器架構(gòu)設(shè)計(jì)空間需要考慮的問(wèn)題,不同的構(gòu)架方案都可方便對(duì)系統(tǒng)級(jí)模型進(jìn)行參數(shù)的配置或少量修改完成,通過(guò)系統(tǒng)級(jí)仿真、量化分析的設(shè)計(jì)方法,幫我們找到系統(tǒng)性能瓶頸,指導(dǎo)我們找到滿(mǎn)足系統(tǒng)設(shè)計(jì)需求的最優(yōu)系統(tǒng)架構(gòu)。

    圖3 處理器模型執(zhí)行冒泡排序仿真結(jié)果

    本文以所設(shè)計(jì)的MIPS系統(tǒng)級(jí)模型為基礎(chǔ),分析高速緩存Cache的設(shè)計(jì)對(duì)系統(tǒng)構(gòu)架及性能的影響。我們知道,Cache的引入,減少了訪(fǎng)存延遲,降低了 “存儲(chǔ)墻”對(duì)系統(tǒng)性能的影響,因而Cache的設(shè)計(jì)對(duì)系統(tǒng)性能的影響至關(guān)重要。論文建立了帶L1指令Cache和L1數(shù)據(jù)Cache的MIPS處理器模型,下面分析不同數(shù)據(jù)Cache的架構(gòu)設(shè)計(jì)對(duì)系統(tǒng)性能的影響。

    圖4橫坐標(biāo)為Cache的容量,采用的是對(duì)數(shù)坐標(biāo),如“8”代表28=256字節(jié),從256B到32KB??v坐標(biāo)為Cache命中率,如式 (1)為Cache平均訪(fǎng)問(wèn)時(shí)間的計(jì)算式[3],Taccess表示訪(fǎng)存平均延時(shí),Thit表示訪(fǎng)存命中時(shí)間,Tpenalty表示訪(fǎng)存缺失時(shí)額外需要的時(shí)間,Rhit表示命中率;命中率越高,訪(fǎng)問(wèn)較慢外存概率越小,Taccess平均訪(fǎng)存延時(shí)越小,因而系統(tǒng)性能越高,故Cache命中率可用來(lái)反映處理器性能。圖中有4條折線(xiàn),代表不同Cache組織策略,分別表示1路、2路、4路、8路組相聯(lián)Cache,注意1路Cache其實(shí)是直接映射Cache。Cache平均訪(fǎng)問(wèn)時(shí)間計(jì)算式如下

    圖4 Cache路數(shù)、容量與命中率關(guān)系

    處理器模型采用的測(cè)試基準(zhǔn)程序?yàn)槌S玫腷zip2文件壓縮程序,分別配置模型的Cache容量參數(shù)和組相聯(lián)路數(shù)參數(shù),運(yùn)行仿真得到不同高速緩存配置下的Cache命中率。

    分析圖4曲線(xiàn)的走勢(shì),可知在相同Cache容量下,直接映射的Cache命中率最低,8路組相聯(lián)命中率最高,命中率隨路數(shù)的增多而提高??梢钥吹?,4路組相聯(lián)曲線(xiàn)和8路組相聯(lián)曲線(xiàn)基本重合,2路組相聯(lián)曲線(xiàn)略有下移,而直接映射曲線(xiàn)下移較多。我們需知道并不是相聯(lián)路數(shù)越多越好,路數(shù)越多,主存與Cache同時(shí)比較標(biāo)志位的路數(shù)也越多,比較邏輯越復(fù)雜,延時(shí)更大,L1命中時(shí)間Thit也越大;因而L1級(jí)Cache的組相聯(lián)路數(shù)選擇為2路或4路比較合適。

    再看在Cache相聯(lián)路數(shù)一定,Cache命中率隨Cache容量增大的變化趨勢(shì)。Cache命中率隨Cache容量增加而單調(diào)上升,只不過(guò)先上升較快,然后上升較平緩。當(dāng)Cache容量為512B時(shí),曲線(xiàn)斜率最大,命中率上升最快;但命中率還較低,不足90%。當(dāng)Cache容量增加到1KB時(shí),曲線(xiàn)上升變得平緩,即使Cache容量進(jìn)一步增加,命中率提高得較?。欢藭r(shí)Cache命中率已經(jīng)較高,4路Cache的命中率超過(guò)了90%。當(dāng)Cache容量增加到4KB后,2路、4路與8路相聯(lián)Cache曲線(xiàn)基本重合,命中率十分相近,約為93%;增加到16KB時(shí),直接相聯(lián)曲線(xiàn)也基本和其它3條曲線(xiàn)重合;Cache容量為32KB時(shí),命中率最高,約為95%。L1級(jí)Cache不應(yīng)太大,因較大的L1級(jí)Cache會(huì)增加命中訪(fǎng)問(wèn)延時(shí)Thit,通常L1級(jí)Cache不超過(guò)32KB。因此,L1級(jí)Cache容量設(shè)計(jì)為4KB到32KB比較合適,本例中命中率在93%~95%之間。

    4 結(jié)束語(yǔ)

    電子設(shè)計(jì)自動(dòng)化從底層硬件的描述語(yǔ)言Verilog/VHDL發(fā)展到系統(tǒng)級(jí)建模語(yǔ)言SystemC,為系統(tǒng)級(jí)架構(gòu)設(shè)計(jì)與驗(yàn)證提升到一個(gè)新的高度。本文提出了 “結(jié)構(gòu)框圖-模塊細(xì)化-模型映射”的規(guī)范化系統(tǒng)建模方法,有助于從RTL設(shè)計(jì)轉(zhuǎn)化到系統(tǒng)模型的設(shè)計(jì),并建立了MIPS處理器周期精確的系統(tǒng)級(jí)模型。然后基于建立的處理器模型,展示了將系統(tǒng)模型用于系統(tǒng)構(gòu)架的設(shè)計(jì)上,通過(guò)對(duì)Cache的仿真分析,得出了L1級(jí)Cache宜采用2路或4路組相聯(lián)組織結(jié)構(gòu)、Cache的容量在4KB到32KB之間的結(jié)論。用SystemC對(duì)系統(tǒng)進(jìn)行建模逐漸成為數(shù)字系統(tǒng)設(shè)計(jì)新的方向標(biāo),可以在設(shè)計(jì)早期對(duì)系統(tǒng)架構(gòu)及性能進(jìn)行定量評(píng)估,保證系統(tǒng)設(shè)計(jì)的成功。

    [1]IEEE Std 1666TM-2011,IEEE Standard for Standard SystemC Language Reference Manual[S].2011.

    [2]MA Qinsheng,LIU Yuan,ZHANG Ning,et al.Modeling of transaction level for SoC [J].China Integrated Circuit,2012,19 (Z1):42-46 (in Chinese). [馬秦生,劉源,張寧,等.SoC事務(wù)級(jí)建模方法 [J].中國(guó)集成電路,2012,19 (Z1):42-46.]

    [3]John L Hennessy,David A Patterson.Computer architecture:A quantitative approach [M].5th ed.Beijing:China Machine Press,2012:72-104.

    [4]John L Hennessy,David A Patterson.Computer organization and design:The hardware/software interface [M].4th ed.Beijing:China Machine Press,2012:196-228.

    [5]HE Weiqiang,YANG Liang,LU Qiang.Cycle-accurate DSP processor modeling with SystemC [J]. Microelectronics &Computer,2013,30 (4):3-7 (in Chinese). [何衛(wèi)強(qiáng),楊靚,盧強(qiáng).基于SystemC的周期精確級(jí)DSP處理器建模 [J].微電子學(xué)與計(jì)算機(jī),2013,30 (4):3-7.]

    [6]LI Yuan.The system level application design and verification of turbo codec using the SystemC [D].Shanghai:Shanghai Jiao Tong University,2009:42-64 (in Chinese). [李源.基于SystemC系統(tǒng)設(shè)計(jì)的Turbo編解碼器 [D].上海:上海交通大學(xué),2009:42-64.]

    [7]WANG Peng.The research on modeling of dynamic and reconfigurable SoC system [D].Chengdu:University of Electronic Science and Technology of China,2008:45-76 (in Chinese).[王鵬.基于SystemC的動(dòng)態(tài)可重構(gòu)SoC系統(tǒng)級(jí)建??蚣苎芯浚跠].成都:電子科技大學(xué),2008:45-76.]

    [8]Marisha Rawlins,Ann Gordon-Ross.A cache tuning heuristic for multicore architectures [J].IEEE Transactions On Computers,2013,62 (8):3-5.

    [9]Jinho Suh,Murali Annavaram,Michel Dubois.MACAU:A Markov model for reliability evaluations of caches under singlebit and multi-bit upsets [C]//IEEE International Symposium on High Performance Computer Architecture,2012:237-243.

    [10]Xi E Chen,Tor M Aamodt.Modeling cache contention and throughput of multiprogrammed manycore processors [J].IEEE Transactions on Computers,2012,61 (7):3-7.

    [11]Hansu Cho,Lochi Yu,Samar Abdi.Automatic generation of transducer models for bus-based MPSoC design [J].IEEE Transactions on Computers,2013,62 (2):5-8.

    [12]WANG Yang.The joint architecture design of SoC SW/HW co-verification platform [D].Shanghai:Shanghai Jiao Tong University,2013:34-65 (in Chinese). [汪洋.SoC軟硬件協(xié)同驗(yàn)證平臺(tái)的聯(lián)合架構(gòu)設(shè)計(jì) [D].上海:上海交通大學(xué),2013:34-65.]

    猜你喜歡
    命中率寄存器部件
    Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
    夜夜“奮戰(zhàn)”會(huì)提高“命中率”嗎
    2015男籃亞錦賽四強(qiáng)隊(duì)三分球進(jìn)攻特點(diǎn)的比較研究
    基于Siemens NX和Sinumerik的銑頭部件再制造
    部件拆分與對(duì)外漢字部件教學(xué)
    分簇結(jié)構(gòu)向量寄存器分配策略研究*
    投籃的力量休斯敦火箭
    NBA特刊(2017年8期)2017-06-05 15:00:13
    水輪機(jī)過(guò)流部件改造與節(jié)能增效
    試析心理因素對(duì)投籃命中率的影響
    高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
    精品乱码久久久久久99久播| 欧美国产日韩亚洲一区| 欧美乱妇无乱码| 亚洲国产欧洲综合997久久,| 一进一出抽搐gif免费好疼| 亚洲国产精品合色在线| 亚洲午夜理论影院| 两人在一起打扑克的视频| 中文字幕人成人乱码亚洲影| 精品一区二区三区视频在线观看免费| 一个人看的www免费观看视频| 成年免费大片在线观看| 狠狠狠狠99中文字幕| 亚洲精品成人久久久久久| 欧美+亚洲+日韩+国产| 中文字幕av成人在线电影| 午夜两性在线视频| 国内精品久久久久精免费| 国产大屁股一区二区在线视频| 黄色丝袜av网址大全| 精品久久久久久久久久久久久| 亚洲男人的天堂狠狠| 美女cb高潮喷水在线观看| 草草在线视频免费看| 丁香欧美五月| 亚洲自拍偷在线| 99久久九九国产精品国产免费| 国产aⅴ精品一区二区三区波| 国内毛片毛片毛片毛片毛片| 丰满的人妻完整版| 村上凉子中文字幕在线| 日韩精品青青久久久久久| 国产精品亚洲美女久久久| 极品教师在线视频| 久久性视频一级片| 乱人视频在线观看| 免费电影在线观看免费观看| 日韩免费av在线播放| 国内精品一区二区在线观看| 又黄又爽又刺激的免费视频.| 在线看三级毛片| 男人的好看免费观看在线视频| 亚洲狠狠婷婷综合久久图片| 国产主播在线观看一区二区| 嫩草影视91久久| 国产乱人伦免费视频| 国产精品野战在线观看| 直男gayav资源| 午夜精品在线福利| 国模一区二区三区四区视频| 禁无遮挡网站| 久99久视频精品免费| 欧美成人a在线观看| 国产成人福利小说| 亚洲欧美日韩无卡精品| 国产免费一级a男人的天堂| 日韩人妻高清精品专区| 精品人妻1区二区| 91久久精品电影网| 欧美日韩黄片免| 日韩欧美在线乱码| 国产欧美日韩精品一区二区| 国产伦精品一区二区三区四那| 亚洲在线自拍视频| 精品人妻熟女av久视频| 亚州av有码| 国产91精品成人一区二区三区| 国内揄拍国产精品人妻在线| 日本免费一区二区三区高清不卡| 国产午夜精品论理片| 久久久精品大字幕| 天堂av国产一区二区熟女人妻| 久久久久免费精品人妻一区二区| 成人特级黄色片久久久久久久| 国内精品一区二区在线观看| 亚洲一区二区三区不卡视频| 91九色精品人成在线观看| 男女那种视频在线观看| 午夜亚洲福利在线播放| 久久中文看片网| 少妇丰满av| avwww免费| av在线观看视频网站免费| 国产av在哪里看| 免费av毛片视频| 男女做爰动态图高潮gif福利片| 国产精品久久久久久亚洲av鲁大| 亚洲乱码一区二区免费版| 国内揄拍国产精品人妻在线| 哪里可以看免费的av片| 免费电影在线观看免费观看| 亚洲精品一卡2卡三卡4卡5卡| 午夜视频国产福利| 看黄色毛片网站| 国产午夜精品论理片| 国产精品1区2区在线观看.| 亚洲一区二区三区不卡视频| 男女那种视频在线观看| 天堂网av新在线| 中文在线观看免费www的网站| 看片在线看免费视频| 韩国av一区二区三区四区| 久久精品国产亚洲av天美| 国产精品美女特级片免费视频播放器| 麻豆国产97在线/欧美| 国产伦人伦偷精品视频| 天美传媒精品一区二区| 久久久久久久精品吃奶| 国产高清有码在线观看视频| 午夜福利欧美成人| 男女下面进入的视频免费午夜| 久久久久久久久大av| 久久久成人免费电影| 久久久久久九九精品二区国产| 九九在线视频观看精品| 少妇高潮的动态图| 99国产精品一区二区三区| 亚洲午夜理论影院| 日韩大尺度精品在线看网址| 99久久精品国产亚洲精品| 久久午夜亚洲精品久久| 一边摸一边抽搐一进一小说| 51午夜福利影视在线观看| 九九久久精品国产亚洲av麻豆| 嫩草影视91久久| 好男人电影高清在线观看| 日本黄大片高清| 亚洲人成网站在线播放欧美日韩| 人妻制服诱惑在线中文字幕| 中文字幕久久专区| 国产大屁股一区二区在线视频| 直男gayav资源| 亚洲美女搞黄在线观看 | 精品久久久久久久久久免费视频| 国产精品永久免费网站| 精品99又大又爽又粗少妇毛片 | 国产精品久久视频播放| 亚洲欧美日韩高清专用| 麻豆av噜噜一区二区三区| 国产人妻一区二区三区在| 成年人黄色毛片网站| 国产精品嫩草影院av在线观看 | 久久久久久国产a免费观看| 日本免费a在线| 露出奶头的视频| 性色av乱码一区二区三区2| 给我免费播放毛片高清在线观看| 欧美色欧美亚洲另类二区| 国产av一区在线观看免费| 亚洲精品乱码久久久v下载方式| www.www免费av| 亚洲av一区综合| 天天躁日日操中文字幕| 在现免费观看毛片| 亚洲成av人片免费观看| 啪啪无遮挡十八禁网站| 美女cb高潮喷水在线观看| 中文字幕精品亚洲无线码一区| 亚洲av电影不卡..在线观看| 精品一区二区三区av网在线观看| 男女那种视频在线观看| 好看av亚洲va欧美ⅴa在| 亚洲精品一卡2卡三卡4卡5卡| 九九在线视频观看精品| 亚洲 国产 在线| 少妇的逼好多水| 国产精品日韩av在线免费观看| 亚洲精品粉嫩美女一区| 日本一二三区视频观看| 一本久久中文字幕| 最近在线观看免费完整版| 精品99又大又爽又粗少妇毛片 | 亚洲最大成人手机在线| 男人的好看免费观看在线视频| 蜜桃亚洲精品一区二区三区| 成人美女网站在线观看视频| 亚洲三级黄色毛片| 国产综合懂色| 18+在线观看网站| 国产视频一区二区在线看| 亚洲自拍偷在线| 高清日韩中文字幕在线| 国产免费av片在线观看野外av| 高清日韩中文字幕在线| 天美传媒精品一区二区| 一级作爱视频免费观看| 久久精品国产亚洲av天美| 久久久久久久久久成人| 成人毛片a级毛片在线播放| 亚洲综合色惰| 哪里可以看免费的av片| 成人特级av手机在线观看| 天天躁日日操中文字幕| 欧美成人免费av一区二区三区| 美女被艹到高潮喷水动态| 中文亚洲av片在线观看爽| 久久久久久九九精品二区国产| 美女被艹到高潮喷水动态| 永久网站在线| 熟女人妻精品中文字幕| 三级毛片av免费| 成人鲁丝片一二三区免费| 亚洲精品456在线播放app | 18禁裸乳无遮挡免费网站照片| 麻豆国产av国片精品| 老司机午夜十八禁免费视频| 亚洲一区高清亚洲精品| 欧美高清性xxxxhd video| 黄色配什么色好看| av在线观看视频网站免费| 久久精品夜夜夜夜夜久久蜜豆| 97超视频在线观看视频| 国产欧美日韩精品亚洲av| 久久久久久久精品吃奶| 午夜福利视频1000在线观看| 女人被狂操c到高潮| 18+在线观看网站| 99久久久亚洲精品蜜臀av| 久久99热这里只有精品18| 精品免费久久久久久久清纯| 欧美成狂野欧美在线观看| 午夜福利视频1000在线观看| 国产麻豆成人av免费视频| 色尼玛亚洲综合影院| 老司机深夜福利视频在线观看| 成人国产一区最新在线观看| 一二三四社区在线视频社区8| 最近最新免费中文字幕在线| 国产美女午夜福利| 简卡轻食公司| 在线播放国产精品三级| 亚洲成av人片在线播放无| 成人毛片a级毛片在线播放| avwww免费| a级毛片免费高清观看在线播放| 一个人免费在线观看的高清视频| 免费人成视频x8x8入口观看| 国产精品嫩草影院av在线观看 | 有码 亚洲区| 免费大片18禁| 男女之事视频高清在线观看| 男人的好看免费观看在线视频| 别揉我奶头 嗯啊视频| 91狼人影院| 亚洲精品在线观看二区| 丰满人妻一区二区三区视频av| 亚洲国产精品成人综合色| 亚洲成人久久爱视频| 国产色婷婷99| 一个人看视频在线观看www免费| 中文字幕av成人在线电影| 长腿黑丝高跟| 欧美在线一区亚洲| 一进一出抽搐动态| 免费在线观看日本一区| 一区二区三区激情视频| 国产av在哪里看| 少妇的逼好多水| 午夜精品久久久久久毛片777| 如何舔出高潮| 亚洲中文日韩欧美视频| 亚洲中文字幕一区二区三区有码在线看| 国产蜜桃级精品一区二区三区| 51午夜福利影视在线观看| 久久99热6这里只有精品| 别揉我奶头 嗯啊视频| 亚洲第一电影网av| 国产伦一二天堂av在线观看| 精品人妻1区二区| 丰满乱子伦码专区| 俺也久久电影网| 人人妻人人澡欧美一区二区| 人人妻,人人澡人人爽秒播| 91麻豆精品激情在线观看国产| 国产精品久久视频播放| 国内久久婷婷六月综合欲色啪| 亚洲专区国产一区二区| 色综合亚洲欧美另类图片| 午夜福利视频1000在线观看| 色综合欧美亚洲国产小说| 在线国产一区二区在线| 身体一侧抽搐| 久久久久久久久久黄片| 亚洲五月婷婷丁香| 婷婷丁香在线五月| 亚洲最大成人中文| 99国产极品粉嫩在线观看| 国产91精品成人一区二区三区| 性色av乱码一区二区三区2| 97超级碰碰碰精品色视频在线观看| 国产欧美日韩精品一区二区| 国内少妇人妻偷人精品xxx网站| 亚洲综合色惰| а√天堂www在线а√下载| 亚洲欧美清纯卡通| 欧美另类亚洲清纯唯美| 亚洲va日本ⅴa欧美va伊人久久| 国产午夜精品久久久久久一区二区三区 | 日韩有码中文字幕| 夜夜夜夜夜久久久久| 亚洲av成人精品一区久久| 欧美不卡视频在线免费观看| 欧美又色又爽又黄视频| 日韩欧美三级三区| 一个人免费在线观看电影| 国产亚洲av嫩草精品影院| 麻豆av噜噜一区二区三区| 亚洲欧美日韩高清在线视频| 欧美日韩瑟瑟在线播放| av天堂在线播放| 变态另类丝袜制服| 亚洲精华国产精华精| 久久99热6这里只有精品| 怎么达到女性高潮| h日本视频在线播放| 欧美日本亚洲视频在线播放| 国产成年人精品一区二区| 国产高清有码在线观看视频| 国产中年淑女户外野战色| 男女那种视频在线观看| 三级男女做爰猛烈吃奶摸视频| 国产不卡一卡二| 亚洲国产精品成人综合色| 国产av一区在线观看免费| 免费av观看视频| 午夜两性在线视频| 亚洲熟妇中文字幕五十中出| 午夜精品久久久久久毛片777| 国产精品野战在线观看| 国产av在哪里看| 国产一区二区亚洲精品在线观看| 欧美成人一区二区免费高清观看| 校园春色视频在线观看| 久久久久免费精品人妻一区二区| 午夜a级毛片| 高清毛片免费观看视频网站| 国产在线精品亚洲第一网站| 国产精品综合久久久久久久免费| 国产精品一区二区三区四区久久| 麻豆国产av国片精品| 真人做人爱边吃奶动态| 免费看a级黄色片| 亚洲国产精品成人综合色| 又爽又黄a免费视频| 欧美区成人在线视频| 宅男免费午夜| 精品免费久久久久久久清纯| aaaaa片日本免费| 高潮久久久久久久久久久不卡| 成年女人看的毛片在线观看| 少妇的逼好多水| 欧美日韩福利视频一区二区| 免费在线观看日本一区| 国产极品精品免费视频能看的| 久久婷婷人人爽人人干人人爱| 日本一二三区视频观看| 99热精品在线国产| 亚洲乱码一区二区免费版| 欧美在线一区亚洲| 精品久久久久久成人av| 日韩国内少妇激情av| 久久婷婷人人爽人人干人人爱| 午夜福利在线观看吧| 在线播放国产精品三级| 我的老师免费观看完整版| 欧美性猛交╳xxx乱大交人| 亚洲第一欧美日韩一区二区三区| 国产伦一二天堂av在线观看| 欧美bdsm另类| 欧美成狂野欧美在线观看| 高潮久久久久久久久久久不卡| 身体一侧抽搐| 国产黄色小视频在线观看| 黄色丝袜av网址大全| 亚洲一区二区三区色噜噜| 长腿黑丝高跟| 国内精品久久久久久久电影| 搡老熟女国产l中国老女人| 少妇丰满av| 一级作爱视频免费观看| 老司机深夜福利视频在线观看| 一级a爱片免费观看的视频| 久久久久久久精品吃奶| 国产v大片淫在线免费观看| 亚洲,欧美,日韩| 久久99热这里只有精品18| 亚洲国产色片| 国产精品99久久久久久久久| 亚洲综合色惰| 久久久色成人| 国产av麻豆久久久久久久| 国产高清视频在线播放一区| or卡值多少钱| 欧洲精品卡2卡3卡4卡5卡区| 亚洲专区中文字幕在线| 国产精品久久久久久人妻精品电影| 老女人水多毛片| 大型黄色视频在线免费观看| 免费大片18禁| 九色国产91popny在线| 三级国产精品欧美在线观看| 露出奶头的视频| 日本三级黄在线观看| 国产爱豆传媒在线观看| 亚洲aⅴ乱码一区二区在线播放| 淫妇啪啪啪对白视频| 亚洲国产精品sss在线观看| 男人的好看免费观看在线视频| 亚洲av中文字字幕乱码综合| 精品久久久久久,| 嫩草影院新地址| 亚洲avbb在线观看| 国内精品美女久久久久久| 欧美zozozo另类| 啦啦啦韩国在线观看视频| 美女免费视频网站| 久久久久九九精品影院| 最近最新中文字幕大全电影3| 亚洲精品在线美女| 久久精品影院6| 免费在线观看成人毛片| 一个人看的www免费观看视频| 国产一区二区激情短视频| 国产69精品久久久久777片| 在线观看66精品国产| 国产av不卡久久| 国内精品久久久久久久电影| 特级一级黄色大片| 草草在线视频免费看| 久久午夜亚洲精品久久| 在线国产一区二区在线| av国产免费在线观看| 午夜老司机福利剧场| 欧美一级a爱片免费观看看| 日本免费一区二区三区高清不卡| 免费大片18禁| 久久精品国产亚洲av天美| 亚洲一区二区三区色噜噜| 亚洲最大成人av| 人妻久久中文字幕网| 一区二区三区激情视频| 亚洲无线在线观看| 国内精品美女久久久久久| 久久久久久久久久黄片| 亚洲精品456在线播放app | 欧美日韩国产亚洲二区| 少妇被粗大猛烈的视频| 久久久久九九精品影院| 国产伦一二天堂av在线观看| 十八禁网站免费在线| 午夜福利成人在线免费观看| 精品人妻1区二区| 给我免费播放毛片高清在线观看| 看黄色毛片网站| 国产成年人精品一区二区| 欧美成人免费av一区二区三区| 精品人妻偷拍中文字幕| 色哟哟·www| 成年免费大片在线观看| 99久久九九国产精品国产免费| 亚洲av美国av| 国产成人欧美在线观看| 嫩草影视91久久| 国产精华一区二区三区| 脱女人内裤的视频| 中文字幕av成人在线电影| 免费看美女性在线毛片视频| 丰满人妻熟妇乱又伦精品不卡| 国产三级在线视频| 久久九九热精品免费| 亚洲专区国产一区二区| 欧美成人性av电影在线观看| 真人做人爱边吃奶动态| 亚洲精品色激情综合| 久久伊人香网站| 亚洲真实伦在线观看| 中国美女看黄片| 亚洲,欧美,日韩| 床上黄色一级片| 国产在线精品亚洲第一网站| 国产精品av视频在线免费观看| av女优亚洲男人天堂| 久久久久免费精品人妻一区二区| 波多野结衣高清作品| 国产av一区在线观看免费| 2021天堂中文幕一二区在线观| 午夜老司机福利剧场| 欧美高清成人免费视频www| 亚洲18禁久久av| 亚洲精品乱码久久久v下载方式| 久久精品人妻少妇| 99riav亚洲国产免费| 国产精品国产高清国产av| or卡值多少钱| 亚洲人成网站高清观看| 搡老岳熟女国产| 午夜激情欧美在线| 国产高潮美女av| 亚洲欧美日韩高清专用| 麻豆成人av在线观看| 欧美在线一区亚洲| 国产午夜精品论理片| 琪琪午夜伦伦电影理论片6080| 日韩欧美国产在线观看| 91av网一区二区| 可以在线观看的亚洲视频| 国语自产精品视频在线第100页| 国产精品女同一区二区软件 | 日本在线视频免费播放| 免费看a级黄色片| 亚洲av免费高清在线观看| 一个人看视频在线观看www免费| 久久久久久国产a免费观看| 精品人妻一区二区三区麻豆 | 有码 亚洲区| 国产在线精品亚洲第一网站| 99久久精品热视频| 欧美极品一区二区三区四区| 男人舔奶头视频| 成年人黄色毛片网站| 黄色日韩在线| 成人午夜高清在线视频| 亚洲,欧美,日韩| 亚洲狠狠婷婷综合久久图片| 看黄色毛片网站| 久久久久久国产a免费观看| 亚洲欧美日韩高清在线视频| 久久精品国产清高在天天线| 日本黄色片子视频| 亚洲中文字幕一区二区三区有码在线看| 99国产精品一区二区蜜桃av| 韩国av一区二区三区四区| 国产欧美日韩精品亚洲av| 亚洲av成人精品一区久久| 久久精品夜夜夜夜夜久久蜜豆| 色av中文字幕| 欧美日本亚洲视频在线播放| 成人性生交大片免费视频hd| 国产成+人综合+亚洲专区| 男女床上黄色一级片免费看| 国产精品永久免费网站| 午夜福利欧美成人| 国产亚洲欧美98| 真实男女啪啪啪动态图| 久久久成人免费电影| 国产成人啪精品午夜网站| 成人三级黄色视频| 给我免费播放毛片高清在线观看| 国产黄片美女视频| 久久精品影院6| 国产色爽女视频免费观看| 男女做爰动态图高潮gif福利片| 国产成人欧美在线观看| 此物有八面人人有两片| 别揉我奶头~嗯~啊~动态视频| 中文亚洲av片在线观看爽| 男女视频在线观看网站免费| 一个人看视频在线观看www免费| 露出奶头的视频| 99精品在免费线老司机午夜| 99热只有精品国产| 又爽又黄a免费视频| 久久精品夜夜夜夜夜久久蜜豆| 国产单亲对白刺激| 亚洲精品一区av在线观看| 在线免费观看不下载黄p国产 | 老熟妇乱子伦视频在线观看| 嫩草影院新地址| 亚洲一区二区三区不卡视频| 90打野战视频偷拍视频| 亚洲av中文字字幕乱码综合| 国产成人福利小说| 国产色婷婷99| 日韩欧美三级三区| 午夜精品一区二区三区免费看| 哪里可以看免费的av片| 赤兔流量卡办理| 我要搜黄色片| 欧美精品啪啪一区二区三区| 欧美在线一区亚洲| 婷婷精品国产亚洲av| 国产成人影院久久av| 国产精品亚洲一级av第二区| 亚洲五月天丁香| 亚洲经典国产精华液单 | 成人精品一区二区免费| 国产亚洲欧美在线一区二区| 免费av观看视频| 欧美日韩乱码在线| 欧美激情久久久久久爽电影| 99久久无色码亚洲精品果冻| av天堂中文字幕网| 青草久久国产| 国产高清视频在线播放一区| 精品熟女少妇八av免费久了| 亚洲专区中文字幕在线| 国产中年淑女户外野战色| 亚洲精品亚洲一区二区| 色视频www国产| www日本黄色视频网| 别揉我奶头 嗯啊视频| 国产精品免费一区二区三区在线| 亚洲人成网站高清观看| 国产av不卡久久| 国产精品野战在线观看| 综合色av麻豆| 搡老熟女国产l中国老女人| 国产精品精品国产色婷婷| 亚洲,欧美,日韩| 日本a在线网址| 成年版毛片免费区| 久久久久九九精品影院| 12—13女人毛片做爰片一| 国产中年淑女户外野战色| 国产真实伦视频高清在线观看 |