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
主站蜘蛛池模板: 乱人伦视频中文字幕在线| 一级毛片无毒不卡直接观看| 精品国产中文一级毛片在线看 | 欧美 亚洲 日韩 国产| 67194成是人免费无码| 亚洲毛片一级带毛片基地| av色爱 天堂网| 亚洲午夜福利在线| 亚洲精品国产日韩无码AV永久免费网 | 人与鲁专区| 久久黄色一级视频| 日韩欧美中文字幕一本| 婷婷激情亚洲| 久久性妇女精品免费| 国产精品无码久久久久AV| 青草娱乐极品免费视频| 亚洲无码高清免费视频亚洲| 激情午夜婷婷| 天堂在线视频精品| 九九热视频在线免费观看| 国产久草视频| 亚洲高清无码久久久| 孕妇高潮太爽了在线观看免费| 中文字幕有乳无码| 54pao国产成人免费视频| 狠狠ⅴ日韩v欧美v天堂| 九月婷婷亚洲综合在线| 婷婷激情五月网| 亚洲美女一级毛片| 人人爽人人爽人人片| 99偷拍视频精品一区二区| 婷婷99视频精品全部在线观看| 国产精品香蕉在线观看不卡| 亚洲国产成人自拍| 国产日韩精品欧美一区喷| 香蕉视频国产精品人| 午夜福利无码一区二区| 美女无遮挡被啪啪到高潮免费| 无码中字出轨中文人妻中文中| 日韩午夜片| 亚洲精品成人片在线播放| 亚洲第一中文字幕| 久久久久久久久久国产精品| 日韩中文精品亚洲第三区| 欧美在线视频a| 亚洲欧美自拍中文| 五月婷婷亚洲综合| 国产免费网址| 人妻无码一区二区视频| 99国产在线视频| 成年人午夜免费视频| 亚洲区第一页| 在线看片中文字幕| 激情综合网激情综合| 漂亮人妻被中出中文字幕久久| 国产精品30p| 日韩毛片基地| 日韩免费无码人妻系列| 欧美色图久久| 色综合天天娱乐综合网| 成人在线观看不卡| 国产精品精品视频| 99精品在线看| 久青草免费在线视频| 亚洲精品中文字幕午夜| 久久综合AV免费观看| 一本大道在线一本久道| 热re99久久精品国99热| 视频二区中文无码| 成人毛片免费观看| 一级黄色欧美| 成人福利在线视频| 亚洲成人手机在线| 国产网友愉拍精品| 久久综合九色综合97网| 亚洲av无码专区久久蜜芽| 免费一级α片在线观看| 色妞永久免费视频| 91亚洲精选| 九九热精品免费视频| 亚洲熟女偷拍| 久久精品无码一区二区国产区|