999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

32位RlSC嵌入式微處理器流水線設計

2016-11-10 10:39:23王麗霞孫長秋
電子測試 2016年19期
關鍵詞:嵌入式指令設計

王麗霞,孫長秋

(1.青島港灣職業技術學院,山東青島,266404;2.青島職業技術學院,山東青島,266555)

32位RlSC嵌入式微處理器流水線設計

王麗霞1,孫長秋2

(1.青島港灣職業技術學院,山東青島,266404;2.青島職業技術學院,山東青島,266555)

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

微處理器;精簡指令集計算機;流水線

0 引言

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

1 MoonCore體系結構

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

2 MoonCore流水線設計

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

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

2.1IF&ID級設計

在這一級,程序計數器PC獲得指令地址,從指令存儲器取出指令,解碼并產生各種控制信號。這一級主要部件有指令存儲器,PC寄存器和解碼器等。

PC寄存器的位寬為32位,因為每條指令的長度是4個字節。需要注意的是,PC寄存器和普通的寄存器不同,不能直接對其進行讀寫操作,在本設計中,各種控制信號均由有限狀態機產生。

2.2RF級設計

RF級是MoonCore設計中結構最為復雜的一級。在這部分主要完成下面的幾個操作:

(1)計算產生下一條指令的地址。

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

(3)對指令中的立即數進行擴展。

(4)產生目標寄存器地址。

RF級的主要部件有指令地址形成器PC_GEN,數據擴展器EXT,數據比較器CMP和目標寄存器地址形成器等。

2.2.1指令地址形成器PC_GEN的設計

在MoonCore結構中默認的下一條地址是PC+4,而轉移指令將改變程序的順序執行,因此必須在離IF近的流水級實現,因此將其放在RF級。因為編譯器支持延遲轉移,這要求必須是地址形成邏輯模塊的輸出接PC的輸入,而PC寄存器的輸出又直接接在地址生成器模塊上。基本邏輯如圖1所示。

2.2.2數據擴展器EXT的設計

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

2.2.3數據比較器CMP的設計

條件轉移指令如BEQ,BLEZ等指令要根據寄存器的數據進行相關的比較,比較的結果給地址產生器PC_GEN以用來產生新的指令地址。因此需要有一個數據比較器CMP。CMP有兩個32位數據輸入,分別是RS_IN 和RT_IN和一條由解碼器產生的經過指令流水線傳輸的控制信號CMP_CTL,輸出端輸出1位信號,指示轉跳條件是否成立。

通常,比較器是放在和ALU同一級的流水段中,在本設計中如果也采用這種方式就會造成轉移指令延遲多個時鐘周期的浪費。結合存儲部件的特征,加在RF段。

2.2.4目標寄存器地址形成器的設計

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

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

由于0號寄存器件總是輸出為常數0,因此可以將0號寄存器改為默認的寄存器地址。目的寄存器地址選擇器件的模塊實現代碼如下:

2.3EXEC級設計

EXEC執行級主要完成以下的任務:

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

(2)把運算結果保存到寄存器中,供DMEM執行階段使用。

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

(1)基本算術邏輯運算部分;

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

(3)乘除法部分。

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

圖3 ALU的三部分

圖4 存儲控制器與存儲器件連接

2.4DMEM級設計

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

(1)給出各種存取存儲器的控制信號,并完成存儲器的存取任務。

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

數據存儲控制器包含三部分:數據輸入控制和地址輸入控制以及數據輸出控制。

存儲控制器與存儲器件連接如圖4所示。

由圖可以清晰地看出數據和控制的前后邏輯,藍色部分表示有寄存器的延遲,指令控制信號和地址信號要延遲一個周期后加在輸出控制上,設計中通過加入一級D鎖存器實現。

2.5WB級設計

在WB寫回級主要完成的任務:

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

(2)將乘法運算和除法運算的執行結果寫入到寄存器HI和寄存器LO中。

這一級的主要部件就是一個寫回的多路選擇器,WB級把指令執行的結果寫回到寄存器堆。

3 流水線相關問題及解決辦法

相關是指指令流中的一條指令在指定的時鐘周期內停止執行。相關的發生將會引起流水線的斷流或延遲,降低微處理器的性能。存在下面三種相關:結構相關(Structural Hazards)、控制相關(Control Hazards)和數據相關(Data Hazards)。

采用指令存儲器和數據存儲器分離的結構,避免了結構相關的產生;采用數據旁路的技術解決了數據相關;采用延遲槽技術,由編譯器負責向延遲槽填入指令,解決了控制相關。

4 小結

嵌入式微處理器多采用流水線技術。 MoonCore微處理器采用5級流水線的結構,取指&譯碼(IF&ID)、讀寄存器堆(RF)、執行(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)的結構與性能.北京:清華大學出版社,2003

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

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

[6]朱子玉,利亞民.CPU芯片邏輯設計技術.北京:清華大學出版社,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

猜你喜歡
嵌入式指令設計
聽我指令:大催眠術
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
搭建基于Qt的嵌入式開發平臺
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
倍福 CX8091嵌入式控制器
自動化博覽(2014年4期)2014-02-28 22:31:15
主站蜘蛛池模板: 国产欧美日韩精品综合在线| 国产精品亚洲а∨天堂免下载| 国产黄色片在线看| 美女一级毛片无遮挡内谢| 天堂中文在线资源| 国产人在线成免费视频| 久久精品国产电影| 伊人成人在线| 亚洲无码熟妇人妻AV在线| 亚洲精品欧美日本中文字幕| 精品国产欧美精品v| 日韩a级毛片| 久久午夜夜伦鲁鲁片不卡| 精品欧美日韩国产日漫一区不卡| 中文字幕日韩久久综合影院| 香蕉综合在线视频91| 91青青草视频| 久久性妇女精品免费| 成人va亚洲va欧美天堂| 91精品视频播放| 二级毛片免费观看全程| 呦女亚洲一区精品| 欧美一级高清免费a| 精品国产自| 久久精品亚洲中文字幕乱码| 成人午夜视频在线| 92午夜福利影院一区二区三区| 国产国语一级毛片在线视频| 国产黑丝视频在线观看| 久久人午夜亚洲精品无码区| 97视频免费在线观看| 全免费a级毛片免费看不卡| 色视频久久| 成人年鲁鲁在线观看视频| 2021国产精品自产拍在线| 在线播放精品一区二区啪视频| 亚洲精品无码AV电影在线播放| 97久久人人超碰国产精品| 国产亚洲欧美在线专区| 久久精品一卡日本电影| 欧美精品亚洲二区| 国产一级在线播放| 无码中字出轨中文人妻中文中| 亚洲欧美综合另类图片小说区| 国产在线啪| 亚洲色无码专线精品观看| 制服丝袜在线视频香蕉| 欧美精品一区二区三区中文字幕| 亚洲国产综合精品一区| 国产香蕉在线视频| 国产激情国语对白普通话| 免费看的一级毛片| 国产欧美专区在线观看| 国产99热| 亚洲成年人网| 国内丰满少妇猛烈精品播 | 免费女人18毛片a级毛片视频| 欧美精品一二三区| 99久久国产精品无码| 久久国产精品夜色| 九色在线观看视频| 久久国产免费观看| 91久久偷偷做嫩草影院电| 久久99这里精品8国产| 无码国产偷倩在线播放老年人| 91九色国产porny| 免费看a级毛片| 免费aa毛片| 欧美a在线看| 亚洲国产综合精品中文第一| 她的性爱视频| 久久国产精品电影| 国产一区二区三区夜色| 日本高清成本人视频一区| 国产剧情一区二区| 色老二精品视频在线观看| 午夜老司机永久免费看片| 亚洲精品无码av中文字幕| 久久青草精品一区二区三区| yjizz视频最新网站在线| 久久久久人妻精品一区三寸蜜桃| 在线亚洲精品自拍|