![華科組成原理課程設(shè)計-MIPS流水線CPU_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-7/20/4a314167-c4ac-44c0-94cc-691753a8f7e9/4a314167-c4ac-44c0-94cc-691753a8f7e91.gif)
![華科組成原理課程設(shè)計-MIPS流水線CPU_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-7/20/4a314167-c4ac-44c0-94cc-691753a8f7e9/4a314167-c4ac-44c0-94cc-691753a8f7e92.gif)
![華科組成原理課程設(shè)計-MIPS流水線CPU_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-7/20/4a314167-c4ac-44c0-94cc-691753a8f7e9/4a314167-c4ac-44c0-94cc-691753a8f7e93.gif)
![華科組成原理課程設(shè)計-MIPS流水線CPU_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-7/20/4a314167-c4ac-44c0-94cc-691753a8f7e9/4a314167-c4ac-44c0-94cc-691753a8f7e94.gif)
![華科組成原理課程設(shè)計-MIPS流水線CPU_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-7/20/4a314167-c4ac-44c0-94cc-691753a8f7e9/4a314167-c4ac-44c0-94cc-691753a8f7e95.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、。計算機科學與技術(shù)學院2014計算機組成原理課程設(shè)計報告標題:支持流水線的簡易計算機系統(tǒng)的設(shè)計與實現(xiàn)專業(yè):計算機科學與技術(shù)級別:學生編號。名字:電:郵件:實際檢查站:完成日期:講師:目錄一、課程設(shè)計概述3第1課目的32實驗環(huán)境33設(shè)計任務(wù)和要求3二、設(shè)計原則31 MIPS概述32 MIPS說明介紹33典型的5段RSIC管道結(jié)構(gòu)4三.設(shè)計內(nèi)容51常見選擇52非流水線5段中央處理器型號63管道5段式中央處理器型號8四.實施內(nèi)容和測試結(jié)果121每個模塊的功能122控制信號123指令操作流程134指令執(zhí)行狀態(tài)轉(zhuǎn)換圖145針裝訂156測試程序157測試結(jié)果和模擬圖16V.課程設(shè)計概要171課程設(shè)計中遇到
2、的問題172課程設(shè)計經(jīng)驗17第3課關(guān)于設(shè)置18的思考4集團分工18參考文獻18一,課程設(shè)計概述1.課程的目的掌握硬件描述語言和開發(fā)環(huán)境,了解硬件開發(fā)的基本流程。掌握流水線中央處理器的設(shè)計方法。培養(yǎng)學生簡單計算機系統(tǒng)的設(shè)計能力,通過主機系統(tǒng)底層電路的實現(xiàn)、故障分析與定位、系統(tǒng)調(diào)試等訓練,進一步提高學生分析和解決問題的能力。2.實驗環(huán)境Xilinx ISE 14.2斯巴達克斯實驗板3.設(shè)計任務(wù)和要求課程設(shè)計的主要任務(wù)是設(shè)計和調(diào)試一個簡單的支持流水線的計算機系統(tǒng)。要求所設(shè)計的計算機系統(tǒng)能夠正確執(zhí)行存儲在指令高速緩存中的程序的功能。本設(shè)計基于MIPS 32位流水線架構(gòu),在設(shè)計過程中盡量遵循原有的MIP
3、S功能和指令集。與MIPS指令集基本兼容。具體要求包括:支持算術(shù)運算、邏輯運算、存儲器讀寫、寄存器間數(shù)據(jù)傳輸和其他指令。支持直接數(shù)字尋址、直接尋址和寄存器尋址等幾種基本數(shù)據(jù)尋址模式,以及順序?qū)ぶ泛吞D(zhuǎn)尋址等兩種指令尋址模式。支持10個或更多說明。能運行由自己設(shè)計的指令系統(tǒng)組成的程序,程序執(zhí)行功能正確。具有完整的五級流水線架構(gòu)。采用獨立的32位數(shù)據(jù)總線和地址總線。二、設(shè)計原則1.MIPS概述MIPS是高效RISC體系結(jié)構(gòu)中最優(yōu)雅的體系結(jié)構(gòu)。其中文意思是“微處理器無內(nèi)部聯(lián)鎖流水線階段”,其機制是盡可能使用軟件來避免流水線中的數(shù)據(jù)相關(guān)問題。它最初是由斯坦福大學的軒尼詩教授領(lǐng)導的研究小組在20世紀80
4、年代初開發(fā)的。MIPS公司的R系列是在此基礎(chǔ)上開發(fā)的RISC工業(yè)產(chǎn)品的微處理器。這些系列產(chǎn)品被許多計算機公司用來構(gòu)成各種工作站和計算機系統(tǒng)。本設(shè)計將參照MIPS的中央處理器設(shè)計實現(xiàn)自己的五級流水線中央處理器設(shè)計,并部分實現(xiàn)MIPS32指令集2.MIPS教學簡介2.1 MIPS指令集特征MIPS指令集具有以下特征:簡單的加載/存儲結(jié)構(gòu)。所有計算類型指令從寄存器組讀取數(shù)據(jù),并將結(jié)果寫入寄存器組。只有LOAD和STORE指令訪問內(nèi)存(數(shù)據(jù)緩存)。易于設(shè)計流水線式處理器。MIPS指令集的指令格式非常規(guī)則,所有指令都是32位,指令操作碼在一個固定的位置。易于開發(fā)的編譯器。一般來說,編譯器在編譯高級語言程
5、序時很難使用復(fù)雜的指令。MIPS指令的尋址方式和操作非常簡單,便于編譯器開發(fā)。2.2 MIPS指令格式在本課程設(shè)計中,數(shù)據(jù)類型只支持整數(shù)類型,指令格式直接使用R、I、J類型指令。以下是三種類型說明的簡要介紹1:(1)r(寄存器)類型的指令從寄存器組中讀取兩個源操作數(shù),并將計算結(jié)果寫回寄存器組。 I(立即)型指令使用16位立即數(shù)作為源操作數(shù)。 J(跳轉(zhuǎn))指令使用26位立即數(shù)作為跳轉(zhuǎn)目標地址。 rs是源操作數(shù)的寄存器編號。 rd是目的寄存器編號,RT可以是源寄存器編號,也可以是目的寄存器編號。 funct可視為擴展操作碼。 shamte由移位指令用來定義移位位數(shù)。立即是一個16位立即數(shù),可根據(jù)指令
6、要求進行無符號或有符號擴展。地址是一個26位的立即數(shù),由J型指令用來產(chǎn)生跳轉(zhuǎn)的目的地址。圖1。MIPS的指令格式3.經(jīng)典的5級RSIC管道結(jié)構(gòu)經(jīng)典的5段RISC流水線如圖2所示。圖2。經(jīng)典的5段RISC流水線在這種結(jié)構(gòu)中,指令的執(zhí)行過程分為以下五個時鐘周期:(1)取指令周期:以程序計數(shù)器中的內(nèi)容為地址,從存儲器中取出指令,放入指令寄存器中;同時,PC值增加4(假設(shè)每條指令占用4個字節(jié)),指向序列中的下一條指令。指令譯碼/讀取寄存器周期(ID):譯碼指令,訪問寄存器地址為IR的通用寄存器組,并讀出所需的操作數(shù)。執(zhí)行/有效地址計算周期(ex):在此周期中,ALU操作或處理前一周期準備的操作數(shù)。不同
7、的指令執(zhí)行不同的操作。存儲器存取/分支完成周期(mem):加載指令從具有前一周期計算的有效地址的存儲器中讀出相應(yīng)的數(shù)據(jù);存儲指令將指定的數(shù)據(jù)寫入由該有效地址指示的存儲單元;如果轉(zhuǎn)移指令成功,則在一個周期內(nèi)將計算出的轉(zhuǎn)移目標地址發(fā)送給PC機,否則不執(zhí)行任何操作;其他類型的指令在這個循環(huán)中不起作用?;貙懼芷冢簩⒔Y(jié)果寫入通用寄存器組。該設(shè)計基于經(jīng)典的5端流水線結(jié)構(gòu),完成了MIPS的簡單實現(xiàn),增加了流水線沖突(數(shù)據(jù)沖突、控制沖突)的處理和中斷的處理。三、設(shè)計內(nèi)容1.命令選擇該系統(tǒng)可執(zhí)行16條MIPS指令,指令的基本信息如表1所示。MIPS指令記憶的訂單格式操作位#31.2625.2120.1615.1
8、110.65.0r型oprsrt注冊營養(yǎng)師shamt功能增加000000rsrt注冊營養(yǎng)師00000100000Rd=rs rt潛水艇100010Rd=rs - rt和100100Rd=rs rt或者100101Rd=rs | rt異或100110Rd=rs rtSllv000100Rd=rs rtsrlv000110Rd=rs rtslt101010如果(rs rt) rd=1,否則rd=0。I型oprsrt免疫接種Addi001000rsrtimmRt=rs imm安迪001100Rt=rs imm奧里博卡病毒001101Rt=rs | immXori001110Rt=rs immBne0
9、00101如果(rs!=rt) pc=pc 1-immLw100011Rt=memrs imm鹽水101011Memrs imm=rtj型op地址j000010增加Pc=添加表1 .系統(tǒng)支持的MIPS指令集就指令類型而言,這16條指令涵蓋了邏輯運算、內(nèi)存訪問、無條件跳轉(zhuǎn)和條件跳轉(zhuǎn),并且基本上涵蓋了指令集所需的所有基本指令。就尋址方式而言,這16條指令涵蓋寄存器尋址(R-TYPE指令)、立即數(shù)字尋址(I-TYPE指令)、基址偏移尋址(LW/SW)和直接尋址(J)。十六條MIPS指令不是本設(shè)計的限制,而是受實驗板資源的限制。我們只完成了16條MIPS32指令。該設(shè)計通過簡單的擴展就可以很容易地實現(xiàn)
10、整個MIPS32指令集。2.非流水線5段中央處理器模型2.1初始數(shù)據(jù)路徑設(shè)計往往是從簡單到復(fù)雜,一步一步來。如果你志存高遠,你總會成功的。因此,我們沒有直接從流水線模型開始,而是首先設(shè)計了一個類似于經(jīng)典的5段RISC流水線結(jié)構(gòu)的非流水線5段中央處理器模型。由于不涉及流水線,所有指令周期都是單個周期,數(shù)據(jù)路徑如圖3所示。圖3。非流水線5段中央處理器初始數(shù)據(jù)路徑2.2第5段的具體操作該數(shù)據(jù)路徑上的每個指令需要5個時鐘周期,這5個時鐘周期的相應(yīng)操作如下:2.2.1取指令周期紅外光譜NPC個人電腦1從PC機的指令緩存中取出一條帶有該值的指令,放入指令寄存器IR;同時,PC值增加1,然后將其放入NPC,
11、在NPC的值是順序下調(diào)指令的地址。2.2.2指令解碼/讀取寄存器周期ARegsrsBRegsrtIMM (IR16)16 # # IR16.31)對指令進行解碼,以指令中的rs和rt字段為地址訪問通用寄存器組,并在A和B寄存器中讀取數(shù)據(jù)。同時,IR的低16位被擴展為有符號或無符號,然后存儲在Imm寄存器中2.2.3執(zhí)行/有效地址計算周期(ex) LW和SW說明ALUoA Imm算術(shù)邏輯單元將操作數(shù)相加形成一個有效地址,并將其存儲在臨時寄存器算術(shù)邏輯單元中 R型ALUoA函數(shù)B算術(shù)邏輯單元根據(jù)函數(shù)字段指示的運算類型對a和b中的數(shù)據(jù)進行運算,并將結(jié)果存儲在算術(shù)邏輯單元中型ALUoA op Imm算
12、術(shù)邏輯單元根據(jù)操作碼op指示的運算類型對a和Imm中的數(shù)據(jù)進行運算,并將結(jié)果存儲在算術(shù)邏輯單元中分支指令NPC伊姆ALU將臨時寄存器NPC和Imm中的值相加,以獲得傳輸目標的地址,該地址存儲在ALU中2.2.4存儲器訪問/分支完成周期(MEMory) LW和SW說明LMD梅姆也就是說,從存儲器中讀取相應(yīng)的數(shù)據(jù),并將其放入臨時寄存器LMD軟件:內(nèi)存ALuoB也就是說,將b中數(shù)據(jù)寫入存儲器分支指令如果(秒)個人電腦其他個人電腦NPC如果條件中的內(nèi)容為真,將ALUo中的傳輸目的地址輸入電腦,否則輸入電腦1。2.2.5回寫周期 R型regsrdALuo型regsrtALuo LW指令regsrtLMD
13、2.3模型優(yōu)化和最終數(shù)據(jù)路徑在這部分設(shè)計中,我們的跳轉(zhuǎn)指令只實現(xiàn)了JNZQ,所以我們單獨優(yōu)化了分支指令。在圖2的設(shè)計中,如果分支失敗,將在EX段中產(chǎn)生新的PC,因此將出現(xiàn)2個時鐘周期的延遲。然而,實際上,該指令可以單獨改進,并且對個人計算機的修改可以前進到中頻部分,從而個人計算機值可以快速改變。優(yōu)化后,分支故障只會導致一個時鐘周期的延遲。改進的數(shù)據(jù)路徑如圖4所示。圖4。非流水線5段中央處理器最終數(shù)據(jù)路徑3.五階段流水線中央處理器模型3.1初始數(shù)據(jù)路徑在實現(xiàn)了非流水線的5段式中央處理器模型之后,5段式流水線中央處理器模型就自然出現(xiàn)了。每個段之間只需要添加相應(yīng)的流水線寄存器。數(shù)據(jù)路徑如圖5所示。圖
14、5。5段流水線式中央處理器的初始數(shù)據(jù)路徑3.2第5款的具體操作這一部分與非流水的具體操作大致相同,因此這里不再重復(fù)。3.3管道沖突及解決方案3.3.1數(shù)據(jù)沖突如果前一條指令的結(jié)果尚未寫入寄存器,并且下一條指令的原始操作數(shù)正是該寄存器的數(shù)據(jù),那么它將獲得原始數(shù)據(jù)而不是更新數(shù)據(jù)。這個相關(guān)的問題叫做數(shù)據(jù)相關(guān)。根據(jù)從系統(tǒng)結(jié)構(gòu)中學到的相關(guān)知識,我們在設(shè)計中使用了轉(zhuǎn)發(fā)技術(shù)來解決這類相關(guān)問題。關(guān)鍵思想是:在讀寫相關(guān)的情況下,等待使用結(jié)果的指令不一定會在計算結(jié)果出來之前立即使用結(jié)果。如果計算結(jié)果可以直接從產(chǎn)生它的地方(算術(shù)邏輯單元出口)發(fā)送到其他指令需要它的地方(算術(shù)邏輯單元入口),那么可以避免暫停,如圖6所示。圖6。定向技術(shù)3.3.2沖突的控制在管道中,由于數(shù)據(jù)沖突,控制沖突可能會導致更大的性能損失。執(zhí)行分支指令有兩個結(jié)果,一個是“成功”,PC值變?yōu)榉种мD(zhuǎn)移的目標地址。另一個是“失敗”,這意味著個人電腦的價值繼續(xù)正常增長。在本設(shè)計中,使用預(yù)測分支失敗的方法來解決控制沖突,即允許分支指令之后的指令繼續(xù)在流水線中流動。當確定分支失敗時,分支指令可視為普通指令,流水線正常運行,如表2所示。當確定分支成功時,流水線將在分支指令之后獲取的指令轉(zhuǎn)換為空操作,并根據(jù)分支目標地址獲取指令以供執(zhí)行,如表3所示。點樹枝遺失戰(zhàn)勝分支指令一如果編號不包括MEMWB指令i 1如果編號不包括MEMWB指令i 2如果編號不
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度餐廳店鋪轉(zhuǎn)讓及特色菜品食材配送合同
- 2025年度商鋪租賃合同解除申請書與商鋪資產(chǎn)清算及轉(zhuǎn)讓協(xié)議
- 二零二五年度私人房產(chǎn)使用權(quán)轉(zhuǎn)讓與社區(qū)環(huán)保公益活動合作合同
- 跨文化交流中的小學英語教育重要性
- 2025年度二零二五年度電力工程聘用巡線司機合同
- 二零二五年度股份代持及表決權(quán)委托協(xié)議:上市公司股權(quán)代持合同
- 二零二五年度免賠保障型廠房租賃合同
- 科技小能手小學生如何用觀察驅(qū)動創(chuàng)新
- 科技公司如何利用BI分析競爭對手
- 智慧辦公助力農(nóng)業(yè)科技創(chuàng)新的策略研究
- 2023-2024年度數(shù)字經(jīng)濟與驅(qū)動發(fā)展公需科目答案(第5套)
- 職業(yè)分類表格
- 廣東省深圳高級中學2023-2024學年八年級下學期期中考試物理試卷
- 電網(wǎng)建設(shè)項目施工項目部環(huán)境保護和水土保持標準化管理手冊(變電工程分冊)
- 口腔門診部設(shè)置可行性研究報告
- 五年級上冊口算練習1000題及答案
- 體檢科運營可行性報告
- 北京市豐臺區(qū)市級名校2024屆數(shù)學高一第二學期期末檢測模擬試題含解析
- 設(shè)立項目管理公司組建方案
- 薪酬戰(zhàn)略與實踐
- 答案之書(解答之書)-電子版精選答案
評論
0/150
提交評論