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
一種基于滑窗的余度指令判別算法
主站蜘蛛池模板: 国产理论最新国产精品视频| 日韩欧美国产综合| 精品一区二区三区四区五区| 2018日日摸夜夜添狠狠躁| 亚洲色偷偷偷鲁综合| 色婷婷视频在线| 操国产美女| 亚洲无码一区在线观看| 国产美女在线观看| 72种姿势欧美久久久久大黄蕉| 国产又色又爽又黄| 毛片视频网| 欧美在线视频a| 动漫精品啪啪一区二区三区| 国产精品刺激对白在线| 91免费精品国偷自产在线在线| 免费在线色| 国产精品福利在线观看无码卡| 亚洲天堂网2014| 麻豆精品在线播放| 波多野结衣无码中文字幕在线观看一区二区| 亚洲AV无码一区二区三区牲色| 欧美第二区| 国产亚洲欧美在线中文bt天堂| 久久久久亚洲av成人网人人软件| 不卡的在线视频免费观看| 狂欢视频在线观看不卡| 99久久成人国产精品免费| 久久精品视频亚洲| 高清码无在线看| 国产精品夜夜嗨视频免费视频| 97狠狠操| 日韩色图区| 色悠久久综合| 老司机午夜精品网站在线观看| 人妻中文久热无码丝袜| 日韩国产无码一区| 国产麻豆精品久久一二三| www.精品国产| 日韩区欧美国产区在线观看| 国产又粗又猛又爽| a级毛片网| 国产精品欧美日本韩免费一区二区三区不卡| 男女性色大片免费网站| 全裸无码专区| 亚洲综合在线网| 国产微拍精品| 欧美日韩精品一区二区视频| 伊人福利视频| 免费可以看的无遮挡av无码| 这里只有精品在线| 成·人免费午夜无码视频在线观看| av免费在线观看美女叉开腿| 狠狠做深爱婷婷综合一区| 久久狠狠色噜噜狠狠狠狠97视色| 欧美成人午夜在线全部免费| 在线毛片网站| 精品伊人久久久大香线蕉欧美 | 久久鸭综合久久国产| 国产超碰一区二区三区| 国产91精选在线观看| 黄色网址免费在线| 91精品国产福利| 日韩av在线直播| 精品国产电影久久九九| 国产91特黄特色A级毛片| 视频在线观看一区二区| 99视频在线免费看| 深夜福利视频一区二区| 免费A级毛片无码无遮挡| 国产自视频| 国产精品无码作爱| 欧美亚洲国产视频| 69视频国产| 免费国产一级 片内射老| 欧美精品亚洲二区| 日本精品中文字幕在线不卡| 九九九九热精品视频| 国产精品第5页| 国产精品理论片| 亚洲精品无码日韩国产不卡| 日韩一区精品视频一区二区|