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

基于MIPS指令集的流水線CPU設計與實現

2017-09-03 06:08:50劉秋菊張光照王仲英
實驗室研究與探索 2017年8期
關鍵詞:指令信號設計

劉秋菊, 張光照, 王仲英

(1.鄭州工程技術學院 信息工程學院,鄭州 450000; 2.河南經貿職業學院 技術科學系,鄭州 450018)

基于MIPS指令集的流水線CPU設計與實現

劉秋菊1, 張光照2, 王仲英2

(1.鄭州工程技術學院 信息工程學院,鄭州 450000; 2.河南經貿職業學院 技術科學系,鄭州 450018)

提出了一種CPU設計方案,實現指令集為MIPS指令集中選取15條指令作為本CPU的基本指令,采用基本5步流水線CPU設計。分析了流水線CPU的邏輯結構與指令的處理過程,給出了取指階段IF、譯碼階段ID、執行階段EX、內存訪問階段MEM、寄存器寫回階段WB階段的設計與實現。對流水線產生的相關性問題,采用Bubble法和Forwarding法相結合的方法來消除相關性,在FPGA平臺上進行了測試,測試結果表明,該方案符合設計要求。

流水線; 中央處理器; 設計; 指令集

0 引 言

在工業設計和機器人研究中,微處理器作為控制部件的核心是設計的關鍵,其性能直接影響整個系統的性能。CPU作為微處理器的核心其設計得到很多學者的研究,劉明達在研究中很粗略的介紹了CPU各模塊的設計,何克東在研究教學實驗平臺中提到了如何設計高性能CPU,提到五級流水線CPU設計,介紹了CPU設計有單周期和流水線兩種設計CPU方式[1-5]。現代微處理器廣泛采用流水線CPU設計,本文詳細介紹了流水線CPU設計的5個階段以及對遇到的Hazard數據相關問題提出了解決方法。

1 總體設計

1.1 實現的指令

本次設計從MIPS指令集中選取15條指令作為本CPU的基本指令,其他指令在譯碼階段均解釋為未定義指令[6-8],指令格式如圖1所示。

圖1 CPU基本指令格式

1.2 五步流水線組成

流水線5個階段分別是指取指階段IF、譯碼階段ID、執行階段EX、內存訪問階段MEM、寄存器寫回階段WB(見圖2)。

圖2 五步流水線組成

1.3 流水線CPU邏輯原理圖

基本5步流水線CPU的邏輯原理圖如圖3所示。總的來說由5個Stage Register和5個Stage部分組成:在各階段執行完成后所產生的結果將鎖存在Stage Register中以供下一階段使用;CPU控制信號在譯碼階段由控制單元產生,也將后面階段才發生作用的控制信號鎖存在Stage Register中。執行結果和控制信號就是這樣在Stage Register中一級一級傳遞,以滿足各個階段的執行與控制需求。因此,Stage Register在流水線結構中起著非常重要的作用,它必須是邊沿觸發的,以保證本條指令的中間數據不會被后續指令干擾。

圖3 基本5步流水線CPU的邏輯原理圖

這樣由5個Stage部分和5個Stage Register的流水線結構設計非常清晰,各個階段執行自己的任務,由Stage Register作為數據通路,使得具體實現過程中可以對各個階段單獨進行測試,最后再將各階段串聯起來進行集成測試,功能調試與測試將變得簡單。

1.4 流水線CPU實現原理圖

基本5步流水線CPU的實現原理圖如圖4所示。實現原理圖保持了邏輯原理圖中5個Stage Register和5個Stage的清晰的設計結構:前綴為REG的部件是Stage Register;前綴為STAGE的部件為Stage。整體數據流向為從上往下、自左往右,結構比較清晰,且各個部件均經過單獨測試成功后才集成在一起。本實現原理圖為基本5步流水線結構,還不包括Cache和精確中斷響應部分。增加Cache和精確中斷響應部分需要對總體流水線結構做適當擴充,具體擴充后的原理圖以及實現在今后繼續研究。

圖4 基本5步流水線CPU實現原理圖

2 各流水階段具體實現

2.1 IF階段實現

IF階段要完成的任務是:從指令存儲器中取出指令、將當前PC值加4、選擇出PC的下一個值。實現原理圖如圖5所示,IF階段需要判斷下一個PC值是PC+4還是跳轉的目的地址,判斷的依據是ID階段所給的BRANCH控制信號,因此輸入腳必須包括BRANCH控制線和跳轉目標地址數據線PCTAR。

2.2 ID階段實現

ID階段需要完成的任務比較重:指令譯碼、根據指令類型產生控制信號、從寄存器文件中選擇需要的寄存器、判斷是否是絕對跳轉或分支指令,如果是還要計算出它們的跳轉目標地址、檢測是否存在可能的Data Hazard,并選擇是否使用Bubble法和Forwarding法消除Hazard[9-12]。實現原理圖如圖6所示,其中需要特別說明的是寄存器文件只實現了8個,而不是MIPS指令集的32個。最重要的部分是控制單元,它是用Verilog語言實現的,任務是解釋指令、產生控制信號、檢測與消除Data Hazard。

圖5 IF實現原理圖

控制單元的輸出腳都是控制信號,而輸入腳中有6個是為了Data Hazard的檢測與消除。在檢測Data Hazard時,首先測試 EWREG和EM2REG輸入腳:如果EWREG為1,那么本條指令的前一條指令是回寫寄存器指令;如果EM2REG為1,那么前一條指令是Load指令。再用本條指令的RS和RT字段(即本條指令可能引用的寄存器地址)與EDESR比較就可以知道是否存在Data Hazard數據相關性。同樣通過測試MWREG、MM2REG及MDESR即可知道本條指令與前前條指令是否存在Data Hazard。

圖6 ID實現原理圖

如果存在Hazard,則根據不同情況發出不同的信號控制Hazard的消除。NOSTALL輸出信號用于Bubble技術的控制,而FWDA、FWDB及 FWDC輸出信號用于FORWARDING技術的控制。

2.3 EX階段實現

EX階段執行運算任務,本CPU可以執行加減、邏輯及移位三類運算。EX階段最主要的任務是進行運算,運算單元ALU實現原理圖如圖7所示。

2.4 MEM階段實現

MEM階段執行訪問數據存儲器任務,本次設計中將指令與數據存儲器分開,且存儲容量都是32個字。實現原理圖如圖8所示。

圖7 ALU實現原理圖

圖8 MEM階段實現原理圖

2.5 WB階段實現

WB階段執行將指令執行結果寫回寄存器的任務,而執行結果有兩種可能:一種是ALU運算結果;另一種是MEM取數據結果。實現原理圖如圖9所示,根據WM2REG控制信號(即判斷指令是否為Load指令)來選擇最終的回寫數據。實際上從這可以看出本設計中所用的都是開關式控制方式,它的特點是不管指令屬于何種類型,按其所有可能的形式執行操作,讓所有的部件都運轉起來,最后可能產生多種結果數據,再由控制信號來控制開關以選擇所需的結果。

圖9 WB階段實現原理圖

3 功能模擬測試

功能模擬測試需要設計典型的代碼序列來測試流水線的運行狀況及Hazard問題的解決[13-16]。圖10所示為測試代碼與測試波形圖。

測試結果表明,該設計是成功的,同時該設計的應用成果在電子設計大賽中也取得了很好的成績。

圖10 測試代碼與測試波形圖

4 結 語

提出了一種流水線CPU的設計方法。介紹了5步流水線CPU設計的步驟,并針對邏輯圖介紹了每個階段的詳細實現,CPU設計中還要考慮數據相關性問題,本次設計中在ID階段通過不同的控制信號來解決不同的數據相關性問題,最后進行了功能測試,測試結果符合設計要求。CPU設計中會遇到很多問題,例如緩沖、中斷等,這也是下一步要繼續研究的問題。

[1] 朱子玉,李亞民.CPU芯片邏輯設計技術[M]. 北京:清華大學出版社,2005.31-110.

[2] John L.Computer architecture: A quantitative approach, fourth edition[M].3rd ed. Boston: AP ProtwaaionL, 2006. 2009:88-172.

[3] 劉明達.基于VerilogHDL的簡單CPU設計[J].計算機光盤軟件與應用,2013,16(13):302-304.[4] 何克東,王恒才.高性能CPU設計實驗平臺及其應用[J].實驗室研究與探索,2007(12): 212-214.

[5] 陳國強.基于AD9954的信號發生器設計[J].實驗室研究與探索,2010,29(8):222-225.

[6] 劉 明,蔡啟先,余祖峰.改進MIPS指令集模擬方法的研究[J].廣西工學院學報,2009(12): 54-57.

[7] 薛 勃,周玉潔.MIPS32指令集兼容的CPU模擬器設計[J].計算機工程,2009,35(1):263-265.

[8] 袁 婷,劉怡俊.自主設計精簡指令集的流水線CPU[J].微電子學與計算機,2015,32(2):124-128.

[9] 李山山,劉敬晗.利用Tomasulo算法處理數據相關的流水線CPU設計[J].實驗室研究與探索,2014,33(12):90-95.

[10] 劉秋菊,李 飛,劉書倫.一種流水線CPU設計中的Hazard消除法[J].微電子學與計算機,2012,29(8):33-36.

[11] 王艷秋.基于FPGA的CPU設計與實現[D].天津:河北工業大學,2008.

[12] 賴兆磬,潘 明,張 輝.基于FPGA流水線CPU控制器的設計與實現[J].微計算機信息,2008(20):233-235.

[13] 曹學飛,張盛兵,張 駿.32位CISC微處理器流水線的設計[J].微電子學與計算機,2007,24(4):186-189.

[14] 劉秋菊,李 飛,劉書倫.帶Cache和精確中斷響應的CPU設計[J].實驗室研究與探索,2012,31(3):68-74.

[15] 曹學飛,張盛兵.“LongtiumC2”微處理器流水線設計[J].微處理機,2010(1):9-12.

[16] 東野長磊,戚 梅.一種帶Cache的嵌入式CPU的設計與實現[J].微型機與應用,2010,29(14):17-19.

Design and Implementation of Pipeline CPU Based on MIPS Instruction Set

LIU Qiuju1, ZHANG Guangzhao2, WANG Zhongying2

(1. School of Information Engineering, Zhengzhou Institute of Technology, Zhengzhou 450000, China; 2. Department of Technical, Henan Institute of Economics and Trade, Zhengzhou 450018, China)

In this paper, a design method of CPU was proposed, the instruction set of the CPU contained 15 items of MIPS instruction set, and the basic method of five step pipeline CPU design was used. Analyses were conducted on the logic structure of the pipeline CPU and the processing of the instruction. This paper also gave design and realization of stage IF, stage ID, stage EX, stage MEM and stage WB. About the pipeline-related problems, the paper adopted Bubble and Forwarding technologies to eliminate it. The tests on the FPGA platform show that the scheme meets the design requirements.

pipelines; CPU; design; instruction set

2016-11-20

河南省科技攻關項目(172102210606);河南省高等學校重點科研項目(17B520040)

劉秋菊(1970-),女,河南孟州人,教授,現主要從事計算機應用教學研究。Tel.:15737152760;E-mail:mzlqj@126.com

TP 332

A

1006-7167(2017)08-0148-05

猜你喜歡
指令信號設計
聽我指令:大催眠術
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
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
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
基于LabVIEW的力加載信號采集與PID控制
主站蜘蛛池模板: 欧美三级不卡在线观看视频| 久久免费精品琪琪| 久久国产精品电影| 精品人妻无码中字系列| 亚洲中文精品久久久久久不卡| 精品久久久久无码| YW尤物AV无码国产在线观看| 午夜视频www| 国产99热| 欧美三级日韩三级| 亚洲午夜片| 欧美日韩精品一区二区视频| 成人精品午夜福利在线播放| 麻豆精品在线视频| 狠狠色噜噜狠狠狠狠色综合久 | 中文字幕欧美日韩高清| 日本欧美视频在线观看| 亚洲精品无码在线播放网站| 亚洲男人天堂2020| 成人免费视频一区| 激情综合激情| 亚洲人成成无码网WWW| 超清无码一区二区三区| 高清无码手机在线观看| 欧美伦理一区| 国产成人高清精品免费软件| 91在线视频福利| a毛片免费在线观看| 国产一区二区福利| 日韩精品久久无码中文字幕色欲| 欧美、日韩、国产综合一区| 成人福利在线观看| 色爽网免费视频| 日韩成人在线视频| 精品亚洲欧美中文字幕在线看| 欧美日韩国产一级| 国产美女免费| 538国产在线| 国产精品高清国产三级囯产AV| 沈阳少妇高潮在线| 亚洲色大成网站www国产| 国产精品一区二区在线播放| 一级毛片在线免费看| 国产成人一二三| 国产福利微拍精品一区二区| 97se亚洲综合在线韩国专区福利| 国产精品亚洲综合久久小说| av在线手机播放| 中文字幕乱码二三区免费| 国产拍揄自揄精品视频网站| 欧美伦理一区| 亚洲伊人天堂| 色香蕉影院| 欧美人与动牲交a欧美精品| 国产精品3p视频| 婷婷六月综合网| 欧美午夜视频| 亚洲国产欧美自拍| 爱爱影院18禁免费| 国产精品自在线拍国产电影| 亚洲欧美极品| 正在播放久久| www亚洲天堂| 国产成年无码AⅤ片在线 | 91蝌蚪视频在线观看| 99精品伊人久久久大香线蕉| 国产精品久线在线观看| 亚洲国产av无码综合原创国产| 国产精品久线在线观看| h网址在线观看| 亚洲精品国产综合99久久夜夜嗨| 91青青草视频| 国产国产人成免费视频77777 | 国产精品对白刺激| 欧美不卡视频一区发布| 无码'专区第一页| 日韩高清欧美| 91久久大香线蕉| 色综合日本| 国产乱人伦精品一区二区| 沈阳少妇高潮在线| 国产精品欧美亚洲韩国日本不卡|