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

基于MIPS架構的多周期CPU設計

2018-09-17 03:28:22成,榮
軟件 2018年8期
關鍵詞:指令設計

柳 成,榮 靜

?

基于MIPS架構的多周期CPU設計

柳 成,榮 靜

(揚州大學廣陵學院,江蘇 揚州 225000)

為了提高多周期CPU流水線的效率,在指令存儲器和數據存儲器的數據讀取中設計發送地址在上升沿、讀取數據在下降沿,從而實現譯碼和訪存在一個周期內完成。在取指級不再單獨設置加法器,把PC+4放在ALU中完成。通過大量的多路選擇器與數據交互總線來進行數據聯通。采用Verilog HDL語言設計出CPU,并在VIVADO平臺上實現仿真,最后通過龍芯公司的LS-CPU-EXB-002試驗箱來進行驗證,結果表明所設計的多周期CPU的有效性。

流水線;Verilog HDL;多周期CPU;LS-CPU-EXB-002試驗箱

0 引言

MIPS架構是為流水線而生,每條MIPS指令的執行分為五個部分,每一個部分為一個流水級。MIPS是最簡單且內核開源的微處理器之一,相對于其它架構微處理器,相同位數的MIPS架構的時鐘頻率較低,其運行速度也較慢。高效的CPU要求流水線的每一個階段都占用固定的時間,再通過縮短流水線各個階段的執行時間來提高時鐘頻率,在此我們通過改進取地址和讀數據時鐘控制來實現。

傳統的MIPS架構多周期CPU的設計中,在發送地址的下一拍才能獲得相應的數據,從指令和數據存儲器中讀取數據就需要等待一個周期,這樣往往會造成資源浪費。為了消除這個閑置時間,將發送地址設計在時鐘的上升沿,讀取數據放在下降沿,最終實現32位MIPS架構多周期CPU。

1 多周期流水線技術和MIPS指令系統

1.1 流水線設計

MIPS體系結構主要采用了流水線技術[1],它把一條指令的執行分為幾個周期來完成。這樣每個周期處理器只做一件事,大大的減輕了處理器的任務,使處理器的頻率更快,處理器也更高效。通過改進文獻[2]中的五級流水線得到如圖1所示的多周期CPU流水線設計。

1.2 MIPS指令系統

32位MIPS架構的匯編指令長度為32位,都是三操作數指令,在此直接采用MIPS32指令系統中的20條指令[2,3]。分為五種類型,具體如表1所示。

圖1 多周期CPU流水線示意圖

表1 指令格式

其中rs和rt是源操作數的寄存器號;rd是目的寄存器號,有時也可以做源寄存器號;immediate表示立即數,offset是偏移量,address是地址,sa是移位量。

2 MIPS架構的多周期CPU設計

本文將分為取指、譯碼、執行、訪存、寫回五個階段[4]來設計。

2.1 取指令階段

在此階段CPU主要完成兩個任務,一是PC+4,二是根據PC值從指令存儲器[5]中取出指令。當IF級運行時,執行級處于閑置狀態,設計 PC+4在ALU中完成,不再單獨設置加法器。通常CPU讀取地址后,需要等待一個周期,再讀取數據。但事實上,這一個周期里只有上升沿有效,下降沿是空閑,而對于多周期CPU來說又不存在數據相關問題,所以使讀取地址放在上升沿,獲取數據放在下降沿,這樣只需一拍時間就能完成取指。

2.2 譯碼階段

此階段主要完成的任務是把操作碼op、功能碼sa送入控制器中,得出控制信號,由控制信號來決定CPU接下來的任務[6]。主要控制信號有指令操作、存儲操作、執行操作、寫回操作任務和PC值變化形式。

為了使資源利用最大化,我們將跳轉指令的高位加載也放在ALU中進行,立即數的擴展設置專門的擴展電路來完成,由控制信號EXTOP來決定是零擴展還是符號擴展。

2.3 執行階段

跳轉指令在譯碼階段已經完成了,其他四種類型指令將進入執行階段,不同類型指令在執行階段的情況也不同[7]。我們在執行階段設置一個新的判決電路模塊[8],把在存儲器、寄存器堆中取出的數據和控制器發出的相關控制信號送進去經過判決生成兩個信號,作為ALU操作數端口前的數據選擇器的選擇信號。

2.4 訪存階段

在此階段讀取高速緩存中的數據變量。在MIPS架構中只有兩條指令用到它,lw(讀數據)和sw(寫數據),在執行級中已計算出存儲器的地址

為了在執行寫字節時,依據地址的低兩位,移動store的字節到對應的位置,我們在數據存儲器前后各設置一個四選一數據選擇器。在此階段設置時鐘上升沿從EX_MEM總線中取出數據,向存儲器中發出地址,在時鐘下降沿中讀出數據,然后鎖存在MEM_WB總線中。

2.5 寫回階段

此階段就是為了把ALU計算的數據或者是在存儲器中取出的數據寫回到寄存器堆中,其中寫回的目的寄存器號有rt和rd。

2.6 狀態機和多周期的總體電路

設計六個狀態,分別是空閑、取指、譯碼、執行、訪存和寫回。令IDLE表示為空閑狀態、FETCH表示為取指階段、DECODE表示為譯碼階段、EXE表示為執行階段、MEM表示為訪存階段、WB表示為寫回階段。在譯碼階段要判斷跳轉指令有效值和譯碼完成有效值的“與”運算是否為1,為1則跳回取值級,否則進入下一階段。多周期CPU狀態機[9]示意圖如圖2所示,整個多周期CPU的結構設計如圖3所示。

圖2 多周期CPU狀態機示意圖

圖3 多周期CPU結構圖

3 仿真與驗證

(1)仿真圖

我們采用Verilog HDL語言來實現整個CPU功能[10],在VIVADO上編譯仿真。圖4是多周期CPU對預設指令執行的部分仿真[11]圖,其中紅色的高阻狀態總線表示的是寄存器堆取數據,此時CPU在執行指令的過程中從交互總線鎖存器中取數據,所以寄存器堆處于高阻,在寫回階段完成后,數據將會寫回到寄存器堆中。

(2)實驗箱驗證

LS-CPU-EXB-002實驗箱[12,13]采用了簡單化的輸入輸出控制接口,它的觸摸屏實現的是硬件驅動,可以隨時進行輸入輸出,通過該實驗箱來驗證所設計的多周期CPU的有效性。如圖5所示,其中IF_PC表示IF模塊PC值,ID_PC、EXEPC、MEMPC、WB_PC表示當前模塊的PC值,IF_IN表示從IF級中取出的指令,MADDR表示存儲器地址,MDATA表示從存儲器中讀出的數據,REG表示32位寄存器測試標識符,隨著PC值的變化,不斷的有結果寫入。在試驗箱上通過撥碼可以控制PC值的變化,從指令存儲器中取出指令并進行數據裝載,實驗表明,此CPU可以高效地完成測試的指令,并能把計算的結果寫入寄存器堆中。

圖4 仿真圖

圖5 CPU驗證圖

4 結論

經過對取指級的改進,使PC+4在ALU中實現,這樣最大化地利用CPU中EXE模塊資源。同時通過對時鐘上下沿控制,將指令存儲器與數據存儲器發送地址與讀取地址在一個周期內完成,那么譯碼級與訪存級就只需一個周期,這樣能大大提高CPU的時鐘頻率。特別是在執行級中我們設計了一個判決電路,加快數據的交互與傳輸。最后通過軟件仿真和硬件仿真驗證,來證實所設計的CPU的正確性,由硬件仿真可以看到所設計的CPU具有實用性。

[1] 劉秋菊, 張光照, 王仲英. 基于MIPS指令集的流水線CPU設計與實現[J]. 實驗室研究與探索, 2017, 36(8): 148-152.

[2] D.Sweetman. 看MIPS跑linux——MIPS體系結構剖析(中文版)[M]. 北京: 機械工業出版社, 2008.

[3] M View. MIPS32 Architecture for programmers volume II: the MIPS32 Introduction set[S]. MIPS Technologies Inc, 2005: 10-300.

[4] M View. MIPS32 Architecture for programmers volume I: Introduction to the MIPS32 Architecture[S]. MIPS Technologies Inc, 2005: 7-65.

[5] 閻石. 數字電子技術基礎[M]. 北京: 高等教育出版社, 2005.

[6] 秘海曉. 基于FPGA的32位五級流水線CPU的研究與設計[D]. 河北: 河北工業大學, 2012.

[7] 李亞民. 計算機原理與設計[M]. 北京: 清華大學出版社, 2011.

[8] 張震. 基于FPGA的通用型FIR數字濾波器的研究與設計[J]. 軟件, 2015, 36(6): 125-128.

[9] 馮建文. 基于有限狀態機的多周期CPU實驗設計[J]. 實驗技術與管理, 2017, 34(7): 127-131.

[10] 焦華. 基礎編程的思考方法[J]. 軟件, 2018, 39(3): 57-62.

[11] 張玲, 晏伯武. 時序仿真和驅動編寫在數字電路實踐教學中的應用研究[J]. 軟件, 2016, 37(3): 107-109.

[12] 夏宇聞. Verilog數字系統設計教程[M]. 北京: 北京航空航天大學出版社, 2003.

[13] 龍芯中科技術有限公司.LS-CPU-EXB-002CPU設計與體系結構實驗指導手冊[Z]. 2016.

Design of Multi-cycle CPU Based on MIPS Architecture

LIU Cheng, RONG Jing

(Guangling College of Yangzhou University, Yangzhou 225000)

In order to improve the efficiency of the multi-cycle CPU pipeline, the designation of the sending address is on the rising edge and the reading data is on the falling edge in the data reading of the instruction memory and the data memory, so that the decoding and the access are completed in one cycle. The adder is no longer set separately at the fetch level, and PC+4 is placed in the ALU. Data communication is performed through a large number of multiplexers and data exchange buses. The CPU was designed using Verilog HDL language, and the simulation was implemented on the VIVADO platform. Finally, the verification was performed by the company's LS-CPU-EXB-002 test box. The results showed the effectiveness of the designed multi-cycle CPU.

Pipeline; Verilog HDL; Multi-cycle CPU; LS-CPU-EXB-002 test box

TP332

A

10.3969/j.issn.1003-6970.2018.08.009

揚州大學廣陵學院資助項目(JGYB17012)

柳成(1994-),本科生,研究方向為計算機體系結構;榮靜(1990-),研究生,揚州大學廣陵學院助教,研究方向為信息安全。

本文著錄格式:柳成,榮靜. 基于MIPS架構的多周期CPU設計[J]. 軟件,2018,39(8):40-44

猜你喜歡
指令設計
聽我指令:大催眠術
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
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
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
一種基于滑窗的余度指令判別算法
主站蜘蛛池模板: 国产SUV精品一区二区6| 国产成人一区| 一区二区三区在线不卡免费 | 国产成人精品一区二区三在线观看| yjizz视频最新网站在线| 日本亚洲最大的色成网站www| 青青青国产在线播放| 久久99国产综合精品女同| 国产喷水视频| 91小视频在线| 中文成人在线视频| 亚洲AV无码一区二区三区牲色| 国产精品亚欧美一区二区| 好吊色国产欧美日韩免费观看| 日韩视频精品在线| 欧美区一区二区三| 日韩美一区二区| 午夜电影在线观看国产1区| 性欧美久久| jizz国产视频| 免费国产黄线在线观看| 亚洲无线视频| 国产三级国产精品国产普男人 | 色屁屁一区二区三区视频国产| 在线观看免费国产| 3344在线观看无码| A级毛片高清免费视频就| 免费久久一级欧美特大黄| 老司机午夜精品网站在线观看| 免费人成视频在线观看网站| 久久熟女AV| 黄色网站不卡无码| 亚洲乱伦视频| 日韩欧美国产三级| 亚洲精品国产成人7777| 国产主播喷水| 日本妇乱子伦视频| 亚洲人成色在线观看| 国产男女XX00免费观看| 日韩国产 在线| 午夜不卡福利| 日韩精品成人在线| 亚洲欧洲日韩综合| 五月婷婷精品| 成人午夜视频网站| 三级毛片在线播放| 中国国产高清免费AV片| 国产无码精品在线| 国产精品无码在线看| 亚洲嫩模喷白浆| 国产精品女同一区三区五区| 无码国产偷倩在线播放老年人| 午夜国产大片免费观看| 国产免费黄| 精品国产网| 四虎精品国产永久在线观看| 玩两个丰满老熟女久久网| 国产精品一线天| 国产视频入口| 国产一级特黄aa级特黄裸毛片| 中文字幕佐山爱一区二区免费| 91av成人日本不卡三区| 亚洲成人一区二区三区| 不卡无码网| 亚洲日韩高清无码| 國產尤物AV尤物在線觀看| 国产高清不卡| 永久免费AⅤ无码网站在线观看| AV色爱天堂网| 亚洲欧美成人综合| 九九热精品在线视频| 毛片免费在线视频| 毛片视频网址| 国产黄网站在线观看| 成人在线综合| 色窝窝免费一区二区三区| 久久久久久国产精品mv| 国产午夜精品鲁丝片| 狠狠躁天天躁夜夜躁婷婷| 国产成人一区| 九九热视频在线免费观看| 色综合中文综合网|