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控制
主站蜘蛛池模板: 色亚洲激情综合精品无码视频| 国产黄网站在线观看| a级毛片一区二区免费视频| 亚洲天堂久久| 91免费国产在线观看尤物| 免费毛片在线| 午夜国产精品视频| 国产91视频观看| 99ri国产在线| 国产精品9| 国产主播在线观看| 久久综合婷婷| 国产黑丝视频在线观看| 99国产精品国产高清一区二区| 国产主播在线一区| 婷婷色一区二区三区| 538国产视频| 2021无码专区人妻系列日韩| 东京热一区二区三区无码视频| 久热99这里只有精品视频6| 国产亚洲精品yxsp| 特级精品毛片免费观看| 91无码人妻精品一区| 国产在线自乱拍播放| 日韩在线观看网站| 久久人人爽人人爽人人片aV东京热| 亚洲人妖在线| 五月婷婷亚洲综合| 免费在线a视频| 成人国产小视频| 国产在线观看一区二区三区| 国模私拍一区二区| 99热亚洲精品6码| 久久青草精品一区二区三区| 一级香蕉视频在线观看| 亚洲性一区| 国产精品30p| 日韩高清欧美| 亚洲精品波多野结衣| 成人福利视频网| 午夜啪啪网| 狠狠做深爱婷婷久久一区| 欧美国产日本高清不卡| 亚洲第一成年人网站| 91久久天天躁狠狠躁夜夜| 日本午夜影院| 就去吻亚洲精品国产欧美| 亚洲综合经典在线一区二区| 一级全免费视频播放| 国产区精品高清在线观看| 91亚洲免费| 午夜福利无码一区二区| 欧美日韩资源| 91系列在线观看| 亚洲国产成人久久精品软件| 天天激情综合| 97视频在线精品国自产拍| 久草青青在线视频| 国产精品人成在线播放| 日本免费精品| 野花国产精品入口| 欧美激情福利| 亚洲第一色视频| 呦女亚洲一区精品| 日韩精品成人在线| 精品成人一区二区三区电影| 在线观看亚洲天堂| 高清无码一本到东京热| 国产哺乳奶水91在线播放| 不卡午夜视频| 中文字幕人成乱码熟女免费| 超清无码熟妇人妻AV在线绿巨人 | 欧美亚洲国产精品第一页| 午夜国产理论| 午夜视频免费一区二区在线看| 日韩成人在线一区二区| 中文字幕伦视频| 日韩A∨精品日韩精品无码| 亚洲综合久久成人AV| 国产色图在线观看| 日韩美毛片| 国产精品久久久久久久久kt|