基于ORBIS32指令集的五級(jí)流水線CPU設(shè)計(jì)
發(fā)布時(shí)間:2017-07-25 23:14
本文關(guān)鍵詞:基于ORBIS32指令集的五級(jí)流水線CPU設(shè)計(jì)
更多相關(guān)文章: OpenRISC RISC 五級(jí)流水線 數(shù)據(jù)相關(guān) CPU
【摘要】:近年來(lái)國(guó)內(nèi)對(duì)CPU的研究日益增多,也有著許多開源CPU架構(gòu)以及開源CPU產(chǎn)品;陂_源的CPU架構(gòu)設(shè)計(jì)一款自主可控的CPU是本文的主要思路。這樣做的好處是:一是指令集和工具鏈被大多人使用,二是可以根據(jù)自身需求自主地定制CPU。本次的設(shè)計(jì)從CPU指令集開始,我們研究了ORBIS32指令集規(guī)律。根據(jù)規(guī)律我們?cè)O(shè)計(jì)了CPU的譯碼模塊,通過(guò)譯碼模塊譯碼出控制信號(hào)和操作數(shù)地址。同時(shí)在譯碼模塊中對(duì)分支跳轉(zhuǎn)、ALU計(jì)算、LSU訪問做了很多的前置優(yōu)化。我們還重新設(shè)計(jì)了ALU模塊,將ALU的功能模塊劃分成多個(gè)子模塊便于ASIC的替換。在設(shè)計(jì)寄存器回寫信號(hào)的時(shí)候,我們同時(shí)也設(shè)計(jì)了回寫信號(hào)TAG,用來(lái)控制流水線暫停的處理。在LSU操作即訪存操作模塊,我們?cè)O(shè)計(jì)了訪存流水線,使CPU在訪存階段不需要暫停。針對(duì)于CPU設(shè)計(jì)過(guò)程中的幾個(gè)關(guān)鍵問題,我們做了具體的分析。根據(jù)實(shí)驗(yàn)的結(jié)果,我們很好的解決了數(shù)據(jù)相關(guān)、Load-used數(shù)據(jù)相關(guān)和分支跳轉(zhuǎn)的問題。我們通過(guò)設(shè)計(jì)巧妙的匯編程序來(lái)測(cè)試這些問題。通過(guò)設(shè)計(jì)回寫數(shù)據(jù)TAG,用來(lái)對(duì)乘法計(jì)算、訪存階段以及其他不能在執(zhí)行階段得到結(jié)果的運(yùn)算作流水線暫停判斷。最后,我們利用軟件測(cè)試的方法對(duì)CPU進(jìn)行了可測(cè)試性設(shè)計(jì)。我們?cè)O(shè)計(jì)了自檢測(cè)的匯編程序集用來(lái)做測(cè)試激勵(lì)以及參考模型。我們?cè)O(shè)計(jì)了檢測(cè)器用來(lái)檢測(cè)最終的結(jié)果。通過(guò)實(shí)驗(yàn)的檢測(cè),我們已經(jīng)完成了CPU設(shè)計(jì)的測(cè)試部分,驗(yàn)證了CPU的功能。
【關(guān)鍵詞】:OpenRISC RISC 五級(jí)流水線 數(shù)據(jù)相關(guān) CPU
【學(xué)位授予單位】:吉林大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2016
【分類號(hào)】:TP332
【目錄】:
- 摘要4-5
- Abstract5-10
- 第一章 緒論10-16
- 1.1 RISC處理器概述10-11
- 1.2 RISC處理器的發(fā)展現(xiàn)狀11-12
- 1.3 本課題的研究意義12-14
- 1.4 本課題完成的工作14
- 1.5 本文的內(nèi)容安排14-16
- 第二章 ORBIS32 CPU設(shè)計(jì)概述16-32
- 2.1 OpenRISC指令集16-20
- 2.2 ORBIS32 CPU架構(gòu)20-23
- 2.3 OpenRISC 1000存儲(chǔ)系統(tǒng)23-30
- 2.3.1 OpenRISC 1000的MMU分析25-28
- 2.3.2 OpenRISC 1000的Cache分析28-30
- 2.4 ORBIS32 CPU的五級(jí)流水線設(shè)計(jì)30-31
- 2.5 總結(jié)31-32
- 第三章 CPU整體設(shè)計(jì)32-45
- 3.1 取指階段模塊的設(shè)計(jì)32-35
- 3.1.1 genpc模塊設(shè)計(jì)32-34
- 3.1.2 fetch模塊設(shè)計(jì)34-35
- 3.2 譯碼模塊設(shè)計(jì)35-38
- 3.2.1 aluop設(shè)計(jì)35-36
- 3.2.2 立即數(shù)36
- 3.2.3 加載存儲(chǔ)類36-37
- 3.2.4 分支跳轉(zhuǎn)類37
- 3.2.5 其他37-38
- 3.3 操作數(shù)選通器38-39
- 3.4 alu模塊的設(shè)計(jì)39-41
- 3.5 lsu模塊的設(shè)計(jì)41-43
- 3.6 wb_mux模塊的設(shè)計(jì)43-44
- 3.7 總結(jié)44-45
- 第四章 CPU設(shè)計(jì)關(guān)鍵問題45-54
- 4.1 數(shù)據(jù)相關(guān)問題45-48
- 4.2 必須暫停的流水線48-51
- 4.3 分支跳轉(zhuǎn)問題51-53
- 4.4 總結(jié)53-54
- 第五章 CPU可測(cè)試性設(shè)計(jì)54-60
- 5.1 本文的CPU可測(cè)試系統(tǒng)54-58
- 5.2 CPU的測(cè)試結(jié)果58-59
- 5.3 總結(jié)59-60
- 第六章 總結(jié)60-61
- 致謝61-62
- 參考文獻(xiàn)62-66
- 研究成果66
【相似文獻(xiàn)】
中國(guó)期刊全文數(shù)據(jù)庫(kù) 前10條
1 洪龍;陳燕俐;朱梧i,
本文編號(hào):573739
本文鏈接:http://www.sikaile.net/kejilunwen/jisuanjikexuelunwen/573739.html
最近更新
教材專著