基于MIPS指令集的RISC微處理器數(shù)據(jù)通路的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2021-07-14 15:14
隨著集成電路技術(shù)的發(fā)展,SOC的設(shè)計(jì)方法越來越流行;赟OC的方法進(jìn)行嵌入式系統(tǒng)設(shè)計(jì),可以顯著降低開發(fā)成本,并且易于維護(hù)。嵌入式系統(tǒng)中,微處理器是核心,決定了整個(gè)嵌入式系統(tǒng)的性能。MIPS指令格式清晰、緊湊,采用MIPS指令設(shè)計(jì)微處理器可以簡(jiǎn)化體系結(jié)構(gòu)的設(shè)計(jì),并得到比較好的性能。最終的設(shè)計(jì)以MIPS指令集為基礎(chǔ),實(shí)現(xiàn)了五級(jí)流水RISC微處理器。根據(jù)對(duì)MIPS指令集的研究,選取了待實(shí)現(xiàn)的指令,及指令尋址方式。通過對(duì)指令執(zhí)行過程的詳細(xì)分析,設(shè)計(jì)和實(shí)現(xiàn)了各邏輯功能模塊,包括:存儲(chǔ)指令和數(shù)據(jù)的存儲(chǔ)模塊、高速提供運(yùn)算操作數(shù)的寄存器堆、完成操作數(shù)運(yùn)算的算術(shù)邏輯單元、對(duì)16位操作數(shù)進(jìn)行擴(kuò)展的符號(hào)擴(kuò)展單元。在完成各模塊設(shè)計(jì)后,設(shè)計(jì)和實(shí)現(xiàn)了單周期RISC數(shù)據(jù)通路。流水線是提高微處理器性能的重要方法,在對(duì)單周期數(shù)據(jù)通路設(shè)計(jì)的基礎(chǔ)上,對(duì)流水線數(shù)據(jù)通路進(jìn)行詳細(xì)分析,設(shè)計(jì)了流水線寄存器,最終建立了基于MIPS指令集的五級(jí)流水線數(shù)據(jù)通路。設(shè)計(jì)完成后,對(duì)流水線數(shù)據(jù)通路進(jìn)行仿真,然后下載到FPGA開發(fā)板進(jìn)行驗(yàn)證。最終的數(shù)據(jù)通路支持34條指令,主頻達(dá)40 M HZ。
【文章來源】:華中科技大學(xué)湖北省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:65 頁
【學(xué)位級(jí)別】:碩士
【部分圖文】:
ALU仿真波形(二)
作碼為 01100,減法運(yùn)算的結(jié)果應(yīng)為 0x0000000a 減 0x00000005 為 0x00000005,指令 3 為 R 類指令 add,對(duì)應(yīng)的操作碼為 01011,將 2 號(hào)寄存器的值與 3 號(hào)寄存器值相加,結(jié)果應(yīng)該為 0x0000000f,如圖 5.1 所示 ALU 得到了預(yù)期的仿真結(jié)果。指令 and $6,$2,$3;or $7,$2,$3;xor $8,$2,$3;nor $9,$2,$3 對(duì)應(yīng)的仿真圖如圖 5.2 所示。圖 5.2 ALU 仿真波形(二)對(duì)應(yīng)的 ALU 操作分別為與,或,異或,或非,對(duì)應(yīng)的操作碼為 00001,00010,00011,00101,10 對(duì)應(yīng)的二進(jìn)制為 1010(高 28 位略),5 對(duì)應(yīng)的二進(jìn)制為 0101(高 28位略),進(jìn)行與運(yùn)算的結(jié)果應(yīng)該0000(高位略),或運(yùn)算和異或的結(jié)果為1111(高位略),或非的結(jié)果為 0xfffffff0,通過仿真檢驗(yàn),ALU 為預(yù)期的仿真結(jié)果。指令 sll $10,$2,28,srl $11, $2,1,sra $12,$10,1 對(duì)應(yīng)的仿真圖如圖 5.3 所示。
令至少要讀或?qū)懸淮渭拇嫫鞫。讀寄存器堆,是為了得到運(yùn)算操作數(shù),寫寄存器是將運(yùn)算的結(jié)果或讀取的數(shù)據(jù)回寫到寄存器堆中。為了對(duì)寄存器堆進(jìn)行測(cè)試,本驗(yàn)證設(shè)計(jì)了三條指令,并對(duì)寄存器堆的讀寫信號(hào)進(jìn)行分析,設(shè)置的測(cè)試指令如表 5.2。表 5.2 寄存器堆測(cè)試指令序列輸入指令 寄存器讀操作 寄存器寫操作addi $2, $0, 10 T1:readreg1:=0readreg2:=2T4: regwe:=1 寫使能有效writereg:=2writedata:=10addi $3, $0, 5 T1:readreg1:=0readreg2:=3T4: regwe:=1 寫使能有效writereg:=3writedata:=5add $4, $2, $3 T1:readreg1:=2readreg2:=3T4: regwe:=1 寫使能有效writereg:=4writedata:=15寄存器部分仿真波形如圖 5.4 所示。
【參考文獻(xiàn)】:
期刊論文
[1]IP復(fù)用的FSPLC微處理器SOC設(shè)計(jì)[J]. 冉峰,李潤(rùn)光,徐美華,康志英. 微電子學(xué)與計(jì)算機(jī). 2007(11)
[2]嵌入式微處理器的系統(tǒng)驗(yàn)證平臺(tái)設(shè)計(jì)[J]. 莊偉,樊曉椏. 計(jì)算機(jī)應(yīng)用研究. 2007(10)
[3]SOC設(shè)計(jì)中的核心技術(shù)[J]. 張艷,胡桂. 微計(jì)算機(jī)信息. 2007(29)
[4]SOC設(shè)計(jì)的軟硬件協(xié)同驗(yàn)證研究[J]. 李建成,莊釗文,張亮. 半導(dǎo)體技術(shù). 2007(10)
[5]微控制器的流水線設(shè)計(jì)及時(shí)序優(yōu)化[J]. 胡敏杰,鄔齊榮,龔敏. 四川大學(xué)學(xué)報(bào)(自然科學(xué)版). 2007(03)
[6]VHDL語言在FPGA中的應(yīng)用[J]. 齊京禮,宋毅芳,陳建泗. 微計(jì)算機(jī)信息. 2006(35)
[7]基于MIPS內(nèi)核的SoC軟硬件協(xié)同仿真[J]. 王江,劉佩林,陳穎琪. 計(jì)算機(jī)工程. 2006(16)
[8]DLX處理器整數(shù)流水線性能的研究[J]. 蔡啟先,李日初. 計(jì)算機(jī)應(yīng)用. 2005(S1)
[9]基于單片機(jī)和EDA技術(shù)的邏輯分析儀設(shè)計(jì)[J]. 夏新恩,洪遠(yuǎn)泉. 計(jì)算機(jī)工程. 2005(16)
[10]基于FPGA的32位整數(shù)微處理器的設(shè)計(jì)與實(shí)現(xiàn)[J]. 馮海濤,王永綱,石江濤,顏天信,王硯方. 小型微型計(jì)算機(jī)系統(tǒng). 2005(06)
本文編號(hào):3284389
【文章來源】:華中科技大學(xué)湖北省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:65 頁
【學(xué)位級(jí)別】:碩士
【部分圖文】:
ALU仿真波形(二)
作碼為 01100,減法運(yùn)算的結(jié)果應(yīng)為 0x0000000a 減 0x00000005 為 0x00000005,指令 3 為 R 類指令 add,對(duì)應(yīng)的操作碼為 01011,將 2 號(hào)寄存器的值與 3 號(hào)寄存器值相加,結(jié)果應(yīng)該為 0x0000000f,如圖 5.1 所示 ALU 得到了預(yù)期的仿真結(jié)果。指令 and $6,$2,$3;or $7,$2,$3;xor $8,$2,$3;nor $9,$2,$3 對(duì)應(yīng)的仿真圖如圖 5.2 所示。圖 5.2 ALU 仿真波形(二)對(duì)應(yīng)的 ALU 操作分別為與,或,異或,或非,對(duì)應(yīng)的操作碼為 00001,00010,00011,00101,10 對(duì)應(yīng)的二進(jìn)制為 1010(高 28 位略),5 對(duì)應(yīng)的二進(jìn)制為 0101(高 28位略),進(jìn)行與運(yùn)算的結(jié)果應(yīng)該0000(高位略),或運(yùn)算和異或的結(jié)果為1111(高位略),或非的結(jié)果為 0xfffffff0,通過仿真檢驗(yàn),ALU 為預(yù)期的仿真結(jié)果。指令 sll $10,$2,28,srl $11, $2,1,sra $12,$10,1 對(duì)應(yīng)的仿真圖如圖 5.3 所示。
令至少要讀或?qū)懸淮渭拇嫫鞫。讀寄存器堆,是為了得到運(yùn)算操作數(shù),寫寄存器是將運(yùn)算的結(jié)果或讀取的數(shù)據(jù)回寫到寄存器堆中。為了對(duì)寄存器堆進(jìn)行測(cè)試,本驗(yàn)證設(shè)計(jì)了三條指令,并對(duì)寄存器堆的讀寫信號(hào)進(jìn)行分析,設(shè)置的測(cè)試指令如表 5.2。表 5.2 寄存器堆測(cè)試指令序列輸入指令 寄存器讀操作 寄存器寫操作addi $2, $0, 10 T1:readreg1:=0readreg2:=2T4: regwe:=1 寫使能有效writereg:=2writedata:=10addi $3, $0, 5 T1:readreg1:=0readreg2:=3T4: regwe:=1 寫使能有效writereg:=3writedata:=5add $4, $2, $3 T1:readreg1:=2readreg2:=3T4: regwe:=1 寫使能有效writereg:=4writedata:=15寄存器部分仿真波形如圖 5.4 所示。
【參考文獻(xiàn)】:
期刊論文
[1]IP復(fù)用的FSPLC微處理器SOC設(shè)計(jì)[J]. 冉峰,李潤(rùn)光,徐美華,康志英. 微電子學(xué)與計(jì)算機(jī). 2007(11)
[2]嵌入式微處理器的系統(tǒng)驗(yàn)證平臺(tái)設(shè)計(jì)[J]. 莊偉,樊曉椏. 計(jì)算機(jī)應(yīng)用研究. 2007(10)
[3]SOC設(shè)計(jì)中的核心技術(shù)[J]. 張艷,胡桂. 微計(jì)算機(jī)信息. 2007(29)
[4]SOC設(shè)計(jì)的軟硬件協(xié)同驗(yàn)證研究[J]. 李建成,莊釗文,張亮. 半導(dǎo)體技術(shù). 2007(10)
[5]微控制器的流水線設(shè)計(jì)及時(shí)序優(yōu)化[J]. 胡敏杰,鄔齊榮,龔敏. 四川大學(xué)學(xué)報(bào)(自然科學(xué)版). 2007(03)
[6]VHDL語言在FPGA中的應(yīng)用[J]. 齊京禮,宋毅芳,陳建泗. 微計(jì)算機(jī)信息. 2006(35)
[7]基于MIPS內(nèi)核的SoC軟硬件協(xié)同仿真[J]. 王江,劉佩林,陳穎琪. 計(jì)算機(jī)工程. 2006(16)
[8]DLX處理器整數(shù)流水線性能的研究[J]. 蔡啟先,李日初. 計(jì)算機(jī)應(yīng)用. 2005(S1)
[9]基于單片機(jī)和EDA技術(shù)的邏輯分析儀設(shè)計(jì)[J]. 夏新恩,洪遠(yuǎn)泉. 計(jì)算機(jī)工程. 2005(16)
[10]基于FPGA的32位整數(shù)微處理器的設(shè)計(jì)與實(shí)現(xiàn)[J]. 馮海濤,王永綱,石江濤,顏天信,王硯方. 小型微型計(jì)算機(jī)系統(tǒng). 2005(06)
本文編號(hào):3284389
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3284389.html
最近更新
教材專著