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

        ?

        32位RlSC嵌入式微處理器流水線設(shè)計(jì)

        2016-11-10 10:39:23王麗霞孫長秋
        電子測試 2016年19期
        關(guān)鍵詞:嵌入式指令設(shè)計(jì)

        王麗霞,孫長秋

        (1.青島港灣職業(yè)技術(shù)學(xué)院,山東青島,266404;2.青島職業(yè)技術(shù)學(xué)院,山東青島,266555)

        32位RlSC嵌入式微處理器流水線設(shè)計(jì)

        王麗霞1,孫長秋2

        (1.青島港灣職業(yè)技術(shù)學(xué)院,山東青島,266404;2.青島職業(yè)技術(shù)學(xué)院,山東青島,266555)

        介紹了一32位RISC嵌入式微處理器(取名為 MoonCore)的5級(jí)流水線的結(jié)構(gòu),即取指&譯碼(IF&ID)、讀寄存器堆(RF)、執(zhí)行(EXEC)、訪存(DMEM)和寫回(WB),詳細(xì)介紹了各個(gè)流水級(jí)的主要部件的設(shè)計(jì)并分析了流水線相關(guān)問題及解決辦法。

        微處理器;精簡指令集計(jì)算機(jī);流水線

        0 引言

        由于嵌入式微處理器大多應(yīng)用于便攜式設(shè)備和通訊設(shè)備等用電池供電的設(shè)備中,因此要提高微處理器的速度和降低功耗設(shè)計(jì)對(duì)于嵌入式微處理器的設(shè)計(jì)尤為重要,而采用流水線技術(shù)是解決上面兩個(gè)問題的很重要的方法。MoonCore是一32位RISC的嵌入式微處理器,本著節(jié)省資源,控制簡單的原則,采用5級(jí)流水線結(jié)構(gòu),即取指&譯碼(IF&ID)、讀寄存器堆(RF)、執(zhí)行(EXEC),訪存(DMEM),寫回(WB)。數(shù)據(jù)通路就嵌入到這5級(jí)流水線之中。

        1 MoonCore體系結(jié)構(gòu)

        MoonCore指令集共有49條指令,全部來自于MIPS I指令集,所有指令均為32位的定長指令,指令地址按字對(duì)齊。存貯器訪問指令Load和Store指令都為立即數(shù)類型指令,用于在存儲(chǔ)器和通用寄存器之間傳遞數(shù)據(jù);計(jì)算類指令用于完成算術(shù)、邏輯、移位運(yùn)算;跳轉(zhuǎn)/轉(zhuǎn)移控制指令用于改變程序的順序執(zhí)行次序;專用指令:用于執(zhí)行一些特殊任務(wù)。

        2 MoonCore流水線設(shè)計(jì)

        圖1 基本的地址形成邏輯圖

        MoonCore的5級(jí)流水線結(jié)構(gòu)分別為取指&譯碼(IF&ID)、讀寄存器堆(RF)、執(zhí)行(EXEC),訪存(DMEM),寫回(WB)。

        2.1IF&ID級(jí)設(shè)計(jì)

        在這一級(jí),程序計(jì)數(shù)器PC獲得指令地址,從指令存儲(chǔ)器取出指令,解碼并產(chǎn)生各種控制信號(hào)。這一級(jí)主要部件有指令存儲(chǔ)器,PC寄存器和解碼器等。

        PC寄存器的位寬為32位,因?yàn)槊織l指令的長度是4個(gè)字節(jié)。需要注意的是,PC寄存器和普通的寄存器不同,不能直接對(duì)其進(jìn)行讀寫操作,在本設(shè)計(jì)中,各種控制信號(hào)均由有限狀態(tài)機(jī)產(chǎn)生。

        2.2RF級(jí)設(shè)計(jì)

        RF級(jí)是MoonCore設(shè)計(jì)中結(jié)構(gòu)最為復(fù)雜的一級(jí)。在這部分主要完成下面的幾個(gè)操作:

        (1)計(jì)算產(chǎn)生下一條指令的地址。

        (2)取寄存器堆的操作數(shù)。

        (3)對(duì)指令中的立即數(shù)進(jìn)行擴(kuò)展。

        (4)產(chǎn)生目標(biāo)寄存器地址。

        RF級(jí)的主要部件有指令地址形成器PC_GEN,數(shù)據(jù)擴(kuò)展器EXT,數(shù)據(jù)比較器CMP和目標(biāo)寄存器地址形成器等。

        2.2.1指令地址形成器PC_GEN的設(shè)計(jì)

        在MoonCore結(jié)構(gòu)中默認(rèn)的下一條地址是PC+4,而轉(zhuǎn)移指令將改變程序的順序執(zhí)行,因此必須在離IF近的流水級(jí)實(shí)現(xiàn),因此將其放在RF級(jí)。因?yàn)榫幾g器支持延遲轉(zhuǎn)移,這要求必須是地址形成邏輯模塊的輸出接PC的輸入,而PC寄存器的輸出又直接接在地址生成器模塊上。基本邏輯如圖1所示。

        2.2.2數(shù)據(jù)擴(kuò)展器EXT的設(shè)計(jì)

        MoonCore指令集的基本指令格式有三種:R-type、I-type和J-type。其中I、J類型都是在字的后16位帶有立即數(shù),其中J類型中的指令J(AL)后26位是立即數(shù),以及R指令類型的移位指令SRLV、SLLV后5位是立即數(shù)。這些立即數(shù)要根據(jù)實(shí)際的指令擴(kuò)展為32位的字。

        2.2.3數(shù)據(jù)比較器CMP的設(shè)計(jì)

        條件轉(zhuǎn)移指令如BEQ,BLEZ等指令要根據(jù)寄存器的數(shù)據(jù)進(jìn)行相關(guān)的比較,比較的結(jié)果給地址產(chǎn)生器PC_GEN以用來產(chǎn)生新的指令地址。因此需要有一個(gè)數(shù)據(jù)比較器CMP。CMP有兩個(gè)32位數(shù)據(jù)輸入,分別是RS_IN 和RT_IN和一條由解碼器產(chǎn)生的經(jīng)過指令流水線傳輸?shù)目刂菩盘?hào)CMP_CTL,輸出端輸出1位信號(hào),指示轉(zhuǎn)跳條件是否成立。

        通常,比較器是放在和ALU同一級(jí)的流水段中,在本設(shè)計(jì)中如果也采用這種方式就會(huì)造成轉(zhuǎn)移指令延遲多個(gè)時(shí)鐘周期的浪費(fèi)。結(jié)合存儲(chǔ)部件的特征,加在RF段。

        2.2.4目標(biāo)寄存器地址形成器的設(shè)計(jì)

        在R-type指令中,運(yùn)算結(jié)果最終寫回到RD(指令中的20-16位為目標(biāo)寄存器索引)寄存器,而在I-type指令中運(yùn)算結(jié)果寫回到RT中(指令中的25-21位為目標(biāo)寄存器索引),比較特別的是在JAL指令中把PC的數(shù)值通過ALU傳遞給R31號(hào)寄存器。因此這個(gè)選擇器的輸入需要RNS和RNT,以及一個(gè)控制信號(hào)。目的寄存器地址選擇器的結(jié)構(gòu)如如圖2所示。

        圖2 目的寄存器地址選擇器

        由于0號(hào)寄存器件總是輸出為常數(shù)0,因此可以將0號(hào)寄存器改為默認(rèn)的寄存器地址。目的寄存器地址選擇器件的模塊實(shí)現(xiàn)代碼如下:

        2.3EXEC級(jí)設(shè)計(jì)

        EXEC執(zhí)行級(jí)主要完成以下的任務(wù):

        (1)使用ALU完成各種算術(shù)邏輯運(yùn)算。

        (2)把運(yùn)算結(jié)果保存到寄存器中,供DMEM執(zhí)行階段使用。

        主要部件有ALU和兩個(gè)多路選擇器。算術(shù)邏輯運(yùn)算器ALU是微處理器的核心部件,所有的算術(shù)運(yùn)算,如有符號(hào)數(shù),無符號(hào)數(shù)的加減乘除,邏輯運(yùn)算的與或以及移位運(yùn)算都在這里完成。本設(shè)計(jì)中ALU分為三個(gè)并行的部分:

        (1)基本算術(shù)邏輯運(yùn)算部分;

        (2)算術(shù)邏輯移位部分;

        (3)乘除法部分。

        這三部分的連接如圖3所示。

        圖3 ALU的三部分

        圖4 存儲(chǔ)控制器與存儲(chǔ)器件連接

        2.4DMEM級(jí)設(shè)計(jì)

        DMEM數(shù)據(jù)存儲(chǔ)器訪問級(jí)專為Load/Store指令而設(shè),要存儲(chǔ)的數(shù)據(jù)來自寄存器堆,訪問存儲(chǔ)器的地址由ALU計(jì)算得出。Load指令讀存儲(chǔ)器,并把讀出的數(shù)據(jù)寫入流水線寄存器。Store指令把來自寄存器堆的數(shù)據(jù)寫入存儲(chǔ)器。DMEM級(jí)主要完成的任務(wù)有:

        (1)給出各種存取存儲(chǔ)器的控制信號(hào),并完成存儲(chǔ)器的存取任務(wù)。

        (2)把從存儲(chǔ)器中讀入的數(shù)據(jù)保存到寄存器中,供WB寫回階段使用。

        數(shù)據(jù)存儲(chǔ)控制器包含三部分:數(shù)據(jù)輸入控制和地址輸入控制以及數(shù)據(jù)輸出控制。

        存儲(chǔ)控制器與存儲(chǔ)器件連接如圖4所示。

        由圖可以清晰地看出數(shù)據(jù)和控制的前后邏輯,藍(lán)色部分表示有寄存器的延遲,指令控制信號(hào)和地址信號(hào)要延遲一個(gè)周期后加在輸出控制上,設(shè)計(jì)中通過加入一級(jí)D鎖存器實(shí)現(xiàn)。

        2.5WB級(jí)設(shè)計(jì)

        在WB寫回級(jí)主要完成的任務(wù):

        (1)指令執(zhí)行結(jié)果寫回到寄存器堆中。

        (2)將乘法運(yùn)算和除法運(yùn)算的執(zhí)行結(jié)果寫入到寄存器HI和寄存器LO中。

        這一級(jí)的主要部件就是一個(gè)寫回的多路選擇器,WB級(jí)把指令執(zhí)行的結(jié)果寫回到寄存器堆。

        3 流水線相關(guān)問題及解決辦法

        相關(guān)是指指令流中的一條指令在指定的時(shí)鐘周期內(nèi)停止執(zhí)行。相關(guān)的發(fā)生將會(huì)引起流水線的斷流或延遲,降低微處理器的性能。存在下面三種相關(guān):結(jié)構(gòu)相關(guān)(Structural Hazards)、控制相關(guān)(Control Hazards)和數(shù)據(jù)相關(guān)(Data Hazards)。

        采用指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分離的結(jié)構(gòu),避免了結(jié)構(gòu)相關(guān)的產(chǎn)生;采用數(shù)據(jù)旁路的技術(shù)解決了數(shù)據(jù)相關(guān);采用延遲槽技術(shù),由編譯器負(fù)責(zé)向延遲槽填入指令,解決了控制相關(guān)。

        4 小結(jié)

        嵌入式微處理器多采用流水線技術(shù)。 MoonCore微處理器采用5級(jí)流水線的結(jié)構(gòu),取指&譯碼(IF&ID)、讀寄存器堆(RF)、執(zhí)行(EXEC)、訪存(DMEM)和寫回(WB),提高微處理器的速度和降低功耗。

        [1] Dominic Sweetman.See MIPS Run(Second Edition). San Francisco,ca,USA:Morgan Kaufmann Publishers Inc.,2006

        [2]M I P S 3 2 A r c h i t e c t u r e f o r P r o g r a m m e r s VolumeⅠ:Introduction to the MIPS32 Architecture

        [3]易建勛.微處理器(CPU)的結(jié)構(gòu)與性能.北京:清華大學(xué)出版社,2003

        [4] 張奕.32位5級(jí)流水線嵌入式處理器設(shè)計(jì):[碩士學(xué)位論文].成都:電子科技大學(xué), 2007

        [5]呂睿.HOPE-MIPS流水線功能段的設(shè)計(jì):[碩士學(xué)位論文].西安:西安電子科技大學(xué),2007

        [6]朱子玉,利亞民.CPU芯片邏輯設(shè)計(jì)技術(shù).北京:清華大學(xué)出版社,2005

        Pipeline Design of 32-bit RISC Embedded Microprocessor

        Wang Lixia1,Sun Changqiu2
        (1.Qingdao Harbour Vocational&Technical College,Shandong Qingdao,266404;2.Qingdao Technical College,Shandong Qingdao,266555)

        The Project introduced five-stage pipeline design of a 32 bit RISC mMicroProcessor (named MoonCore) which includes IF&ID(Instruction Fetch &Instructions Decode)、RF(Register Fetch)、EXEC(Execute),DMEM(Data MEMory access)and WB(Write Back) and introduced the design of main modules of microprocessor in detail, analyzed three kinds of hazards of pipeline and solutions.

        Microprocessor;RISC;Pipeline

        猜你喜歡
        嵌入式指令設(shè)計(jì)
        聽我指令:大催眠術(shù)
        ARINC661顯控指令快速驗(yàn)證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        電子測試(2018年18期)2018-11-14 02:30:34
        瞞天過海——仿生設(shè)計(jì)萌到家
        搭建基于Qt的嵌入式開發(fā)平臺(tái)
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        Altera加入嵌入式視覺聯(lián)盟
        倍福 CX8091嵌入式控制器
        国产精品自拍视频在线| 九九精品视频在线观看| 粗大挺进尤物人妻一区二区| 亚洲综合有码中文字幕| 人妻少妇偷人精品免费看| 无码福利写真片视频在线播放| 伊人久久大香线蕉综合网站| 2021久久最新国产精品| 黑丝美女喷水在线观看| 日本a级黄片免费观看| 国产午夜福利精品一区二区三区| 黄色a级国产免费大片| 国产精品99久久国产小草| 视频一区中文字幕日韩| 亚洲色偷偷综合亚洲avyp| 国产精品jizz在线观看老狼| 亚洲欧美日韩高清一区二区三区| 国产黄色一区二区福利| 丁香婷婷在线成人播放视频| 久久久久亚洲av无码专区首jn | 国产精品玖玖资源站大全| 国产精品亚洲一区二区三区在线| 亚洲 小说区 图片区 都市| 香蕉视频在线精品视频| av天堂精品久久久久| 精品亚洲国产亚洲国产| 浪货趴办公桌~h揉秘书电影| 成人区人妻精品一熟女| 久久精品国产热久久精品国产亚洲| 久草视频在线视频手机在线观看| 美女扒开内裤让我捅的视频| 强奷乱码中文字幕| 久久国产精品二区99| 亚洲国产精品成人av| 18禁在线永久免费观看| 又色又污又爽又黄的网站 | 视频一区二区三区中文字幕狠狠 | 久久精品性无码一区二区爱爱| 精品国产97av一区二区三区| 中文字幕乱码亚洲无限码| 久久九九国产精品怡红院|