華科組成原理課程設(shè)計(jì)-MIPS流水線CPU_第1頁(yè)
華科組成原理課程設(shè)計(jì)-MIPS流水線CPU_第2頁(yè)
華科組成原理課程設(shè)計(jì)-MIPS流水線CPU_第3頁(yè)
華科組成原理課程設(shè)計(jì)-MIPS流水線CPU_第4頁(yè)
華科組成原理課程設(shè)計(jì)-MIPS流水線CPU_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、。計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院2014計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告標(biāo)題:支持流水線的簡(jiǎn)易計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)專(zhuān)業(yè):計(jì)算機(jī)科學(xué)與技術(shù)級(jí)別:學(xué)生編號(hào)。名字:電:郵件:實(shí)際檢查站:完成日期:講師:目錄一、課程設(shè)計(jì)概述3第1課目的32實(shí)驗(yàn)環(huán)境33設(shè)計(jì)任務(wù)和要求3二、設(shè)計(jì)原則31 MIPS概述32 MIPS說(shuō)明介紹33典型的5段RSIC管道結(jié)構(gòu)4三.設(shè)計(jì)內(nèi)容51常見(jiàn)選擇52非流水線5段中央處理器型號(hào)63管道5段式中央處理器型號(hào)8四.實(shí)施內(nèi)容和測(cè)試結(jié)果121每個(gè)模塊的功能122控制信號(hào)123指令操作流程134指令執(zhí)行狀態(tài)轉(zhuǎn)換圖145針裝訂156測(cè)試程序157測(cè)試結(jié)果和模擬圖16V.課程設(shè)計(jì)概要171課程設(shè)計(jì)中遇到

2、的問(wèn)題172課程設(shè)計(jì)經(jīng)驗(yàn)17第3課關(guān)于設(shè)置18的思考4集團(tuán)分工18參考文獻(xiàn)18一,課程設(shè)計(jì)概述1.課程的目的掌握硬件描述語(yǔ)言和開(kāi)發(fā)環(huán)境,了解硬件開(kāi)發(fā)的基本流程。掌握流水線中央處理器的設(shè)計(jì)方法。培養(yǎng)學(xué)生簡(jiǎn)單計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)能力,通過(guò)主機(jī)系統(tǒng)底層電路的實(shí)現(xiàn)、故障分析與定位、系統(tǒng)調(diào)試等訓(xùn)練,進(jìn)一步提高學(xué)生分析和解決問(wèn)題的能力。2.實(shí)驗(yàn)環(huán)境Xilinx ISE 14.2斯巴達(dá)克斯實(shí)驗(yàn)板3.設(shè)計(jì)任務(wù)和要求課程設(shè)計(jì)的主要任務(wù)是設(shè)計(jì)和調(diào)試一個(gè)簡(jiǎn)單的支持流水線的計(jì)算機(jī)系統(tǒng)。要求所設(shè)計(jì)的計(jì)算機(jī)系統(tǒng)能夠正確執(zhí)行存儲(chǔ)在指令高速緩存中的程序的功能。本設(shè)計(jì)基于MIPS 32位流水線架構(gòu),在設(shè)計(jì)過(guò)程中盡量遵循原有的MIP

3、S功能和指令集。與MIPS指令集基本兼容。具體要求包括:支持算術(shù)運(yùn)算、邏輯運(yùn)算、存儲(chǔ)器讀寫(xiě)、寄存器間數(shù)據(jù)傳輸和其他指令。支持直接數(shù)字尋址、直接尋址和寄存器尋址等幾種基本數(shù)據(jù)尋址模式,以及順序?qū)ぶ泛吞D(zhuǎn)尋址等兩種指令尋址模式。支持10個(gè)或更多說(shuō)明。能運(yùn)行由自己設(shè)計(jì)的指令系統(tǒng)組成的程序,程序執(zhí)行功能正確。具有完整的五級(jí)流水線架構(gòu)。采用獨(dú)立的32位數(shù)據(jù)總線和地址總線。二、設(shè)計(jì)原則1.MIPS概述MIPS是高效RISC體系結(jié)構(gòu)中最優(yōu)雅的體系結(jié)構(gòu)。其中文意思是“微處理器無(wú)內(nèi)部聯(lián)鎖流水線階段”,其機(jī)制是盡可能使用軟件來(lái)避免流水線中的數(shù)據(jù)相關(guān)問(wèn)題。它最初是由斯坦福大學(xué)的軒尼詩(shī)教授領(lǐng)導(dǎo)的研究小組在20世紀(jì)80

4、年代初開(kāi)發(fā)的。MIPS公司的R系列是在此基礎(chǔ)上開(kāi)發(fā)的RISC工業(yè)產(chǎn)品的微處理器。這些系列產(chǎn)品被許多計(jì)算機(jī)公司用來(lái)構(gòu)成各種工作站和計(jì)算機(jī)系統(tǒng)。本設(shè)計(jì)將參照MIPS的中央處理器設(shè)計(jì)實(shí)現(xiàn)自己的五級(jí)流水線中央處理器設(shè)計(jì),并部分實(shí)現(xiàn)MIPS32指令集2.MIPS教學(xué)簡(jiǎn)介2.1 MIPS指令集特征MIPS指令集具有以下特征:簡(jiǎn)單的加載/存儲(chǔ)結(jié)構(gòu)。所有計(jì)算類(lèi)型指令從寄存器組讀取數(shù)據(jù),并將結(jié)果寫(xiě)入寄存器組。只有LOAD和STORE指令訪問(wèn)內(nèi)存(數(shù)據(jù)緩存)。易于設(shè)計(jì)流水線式處理器。MIPS指令集的指令格式非常規(guī)則,所有指令都是32位,指令操作碼在一個(gè)固定的位置。易于開(kāi)發(fā)的編譯器。一般來(lái)說(shuō),編譯器在編譯高級(jí)語(yǔ)言程

5、序時(shí)很難使用復(fù)雜的指令。MIPS指令的尋址方式和操作非常簡(jiǎn)單,便于編譯器開(kāi)發(fā)。2.2 MIPS指令格式在本課程設(shè)計(jì)中,數(shù)據(jù)類(lèi)型只支持整數(shù)類(lèi)型,指令格式直接使用R、I、J類(lèi)型指令。以下是三種類(lèi)型說(shuō)明的簡(jiǎn)要介紹1:(1)r(寄存器)類(lèi)型的指令從寄存器組中讀取兩個(gè)源操作數(shù),并將計(jì)算結(jié)果寫(xiě)回寄存器組。 I(立即)型指令使用16位立即數(shù)作為源操作數(shù)。 J(跳轉(zhuǎn))指令使用26位立即數(shù)作為跳轉(zhuǎn)目標(biāo)地址。 rs是源操作數(shù)的寄存器編號(hào)。 rd是目的寄存器編號(hào),RT可以是源寄存器編號(hào),也可以是目的寄存器編號(hào)。 funct可視為擴(kuò)展操作碼。 shamte由移位指令用來(lái)定義移位位數(shù)。立即是一個(gè)16位立即數(shù),可根據(jù)指令

6、要求進(jìn)行無(wú)符號(hào)或有符號(hào)擴(kuò)展。地址是一個(gè)26位的立即數(shù),由J型指令用來(lái)產(chǎn)生跳轉(zhuǎn)的目的地址。圖1。MIPS的指令格式3.經(jīng)典的5級(jí)RSIC管道結(jié)構(gòu)經(jīng)典的5段RISC流水線如圖2所示。圖2。經(jīng)典的5段RISC流水線在這種結(jié)構(gòu)中,指令的執(zhí)行過(guò)程分為以下五個(gè)時(shí)鐘周期:(1)取指令周期:以程序計(jì)數(shù)器中的內(nèi)容為地址,從存儲(chǔ)器中取出指令,放入指令寄存器中;同時(shí),PC值增加4(假設(shè)每條指令占用4個(gè)字節(jié)),指向序列中的下一條指令。指令譯碼/讀取寄存器周期(ID):譯碼指令,訪問(wèn)寄存器地址為IR的通用寄存器組,并讀出所需的操作數(shù)。執(zhí)行/有效地址計(jì)算周期(ex):在此周期中,ALU操作或處理前一周期準(zhǔn)備的操作數(shù)。不同

7、的指令執(zhí)行不同的操作。存儲(chǔ)器存取/分支完成周期(mem):加載指令從具有前一周期計(jì)算的有效地址的存儲(chǔ)器中讀出相應(yīng)的數(shù)據(jù);存儲(chǔ)指令將指定的數(shù)據(jù)寫(xiě)入由該有效地址指示的存儲(chǔ)單元;如果轉(zhuǎn)移指令成功,則在一個(gè)周期內(nèi)將計(jì)算出的轉(zhuǎn)移目標(biāo)地址發(fā)送給PC機(jī),否則不執(zhí)行任何操作;其他類(lèi)型的指令在這個(gè)循環(huán)中不起作用?;貙?xiě)周期:將結(jié)果寫(xiě)入通用寄存器組。該設(shè)計(jì)基于經(jīng)典的5端流水線結(jié)構(gòu),完成了MIPS的簡(jiǎn)單實(shí)現(xiàn),增加了流水線沖突(數(shù)據(jù)沖突、控制沖突)的處理和中斷的處理。三、設(shè)計(jì)內(nèi)容1.命令選擇該系統(tǒng)可執(zhí)行16條MIPS指令,指令的基本信息如表1所示。MIPS指令記憶的訂單格式操作位#31.2625.2120.1615.1

8、110.65.0r型oprsrt注冊(cè)營(yíng)養(yǎng)師shamt功能增加000000rsrt注冊(cè)營(yíng)養(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指令集就指令類(lèi)型而言,這16條指令涵蓋了邏輯運(yùn)算、內(nèi)存訪問(wèn)、無(wú)條件跳轉(zhuǎn)和條件跳轉(zhuǎn),并且基本上涵蓋了指令集所需的所有基本指令。就尋址方式而言,這16條指令涵蓋寄存器尋址(R-TYPE指令)、立即數(shù)字尋址(I-TYPE指令)、基址偏移尋址(LW/SW)和直接尋址(J)。十六條MIPS指令不是本設(shè)計(jì)的限制,而是受實(shí)驗(yàn)板資源的限制。我們只完成了16條MIPS32指令。該設(shè)計(jì)通過(guò)簡(jiǎn)單的擴(kuò)展就可以很容易地實(shí)現(xiàn)

10、整個(gè)MIPS32指令集。2.非流水線5段中央處理器模型2.1初始數(shù)據(jù)路徑設(shè)計(jì)往往是從簡(jiǎn)單到復(fù)雜,一步一步來(lái)。如果你志存高遠(yuǎn),你總會(huì)成功的。因此,我們沒(méi)有直接從流水線模型開(kāi)始,而是首先設(shè)計(jì)了一個(gè)類(lèi)似于經(jīng)典的5段RISC流水線結(jié)構(gòu)的非流水線5段中央處理器模型。由于不涉及流水線,所有指令周期都是單個(gè)周期,數(shù)據(jù)路徑如圖3所示。圖3。非流水線5段中央處理器初始數(shù)據(jù)路徑2.2第5段的具體操作該數(shù)據(jù)路徑上的每個(gè)指令需要5個(gè)時(shí)鐘周期,這5個(gè)時(shí)鐘周期的相應(yīng)操作如下:2.2.1取指令周期紅外光譜NPC個(gè)人電腦1從PC機(jī)的指令緩存中取出一條帶有該值的指令,放入指令寄存器IR;同時(shí),PC值增加1,然后將其放入NPC,

11、在NPC的值是順序下調(diào)指令的地址。2.2.2指令解碼/讀取寄存器周期ARegsrsBRegsrtIMM (IR16)16 # # IR16.31)對(duì)指令進(jìn)行解碼,以指令中的rs和rt字段為地址訪問(wèn)通用寄存器組,并在A和B寄存器中讀取數(shù)據(jù)。同時(shí),IR的低16位被擴(kuò)展為有符號(hào)或無(wú)符號(hào),然后存儲(chǔ)在Imm寄存器中2.2.3執(zhí)行/有效地址計(jì)算周期(ex) LW和SW說(shuō)明ALUoA Imm算術(shù)邏輯單元將操作數(shù)相加形成一個(gè)有效地址,并將其存儲(chǔ)在臨時(shí)寄存器算術(shù)邏輯單元中 R型ALUoA函數(shù)B算術(shù)邏輯單元根據(jù)函數(shù)字段指示的運(yùn)算類(lèi)型對(duì)a和b中的數(shù)據(jù)進(jìn)行運(yùn)算,并將結(jié)果存儲(chǔ)在算術(shù)邏輯單元中型ALUoA op Imm算

12、術(shù)邏輯單元根據(jù)操作碼op指示的運(yùn)算類(lèi)型對(duì)a和Imm中的數(shù)據(jù)進(jìn)行運(yùn)算,并將結(jié)果存儲(chǔ)在算術(shù)邏輯單元中分支指令NPC伊姆ALU將臨時(shí)寄存器NPC和Imm中的值相加,以獲得傳輸目標(biāo)的地址,該地址存儲(chǔ)在ALU中2.2.4存儲(chǔ)器訪問(wèn)/分支完成周期(MEMory) LW和SW說(shuō)明LMD梅姆也就是說(shuō),從存儲(chǔ)器中讀取相應(yīng)的數(shù)據(jù),并將其放入臨時(shí)寄存器LMD軟件:內(nèi)存ALuoB也就是說(shuō),將b中數(shù)據(jù)寫(xiě)入存儲(chǔ)器分支指令如果(秒)個(gè)人電腦其他個(gè)人電腦NPC如果條件中的內(nèi)容為真,將ALUo中的傳輸目的地址輸入電腦,否則輸入電腦1。2.2.5回寫(xiě)周期 R型regsrdALuo型regsrtALuo LW指令regsrtLMD

13、2.3模型優(yōu)化和最終數(shù)據(jù)路徑在這部分設(shè)計(jì)中,我們的跳轉(zhuǎn)指令只實(shí)現(xiàn)了JNZQ,所以我們單獨(dú)優(yōu)化了分支指令。在圖2的設(shè)計(jì)中,如果分支失敗,將在EX段中產(chǎn)生新的PC,因此將出現(xiàn)2個(gè)時(shí)鐘周期的延遲。然而,實(shí)際上,該指令可以單獨(dú)改進(jìn),并且對(duì)個(gè)人計(jì)算機(jī)的修改可以前進(jìn)到中頻部分,從而個(gè)人計(jì)算機(jī)值可以快速改變。優(yōu)化后,分支故障只會(huì)導(dǎo)致一個(gè)時(shí)鐘周期的延遲。改進(jìn)的數(shù)據(jù)路徑如圖4所示。圖4。非流水線5段中央處理器最終數(shù)據(jù)路徑3.五階段流水線中央處理器模型3.1初始數(shù)據(jù)路徑在實(shí)現(xiàn)了非流水線的5段式中央處理器模型之后,5段式流水線中央處理器模型就自然出現(xiàn)了。每個(gè)段之間只需要添加相應(yīng)的流水線寄存器。數(shù)據(jù)路徑如圖5所示。圖

14、5。5段流水線式中央處理器的初始數(shù)據(jù)路徑3.2第5款的具體操作這一部分與非流水的具體操作大致相同,因此這里不再重復(fù)。3.3管道沖突及解決方案3.3.1數(shù)據(jù)沖突如果前一條指令的結(jié)果尚未寫(xiě)入寄存器,并且下一條指令的原始操作數(shù)正是該寄存器的數(shù)據(jù),那么它將獲得原始數(shù)據(jù)而不是更新數(shù)據(jù)。這個(gè)相關(guān)的問(wèn)題叫做數(shù)據(jù)相關(guān)。根據(jù)從系統(tǒng)結(jié)構(gòu)中學(xué)到的相關(guān)知識(shí),我們?cè)谠O(shè)計(jì)中使用了轉(zhuǎn)發(fā)技術(shù)來(lái)解決這類(lèi)相關(guān)問(wèn)題。關(guān)鍵思想是:在讀寫(xiě)相關(guān)的情況下,等待使用結(jié)果的指令不一定會(huì)在計(jì)算結(jié)果出來(lái)之前立即使用結(jié)果。如果計(jì)算結(jié)果可以直接從產(chǎn)生它的地方(算術(shù)邏輯單元出口)發(fā)送到其他指令需要它的地方(算術(shù)邏輯單元入口),那么可以避免暫停,如圖6所示。圖6。定向技術(shù)3.3.2沖突的控制在管道中,由于數(shù)據(jù)沖突,控制沖突可能會(huì)導(dǎo)致更大的性能損失。執(zhí)行分支指令有兩個(gè)結(jié)果,一個(gè)是“成功”,PC值變?yōu)榉种мD(zhuǎn)移的目標(biāo)地址。另一個(gè)是“失敗”,這意味著個(gè)人電腦的價(jià)值繼續(xù)正常增長(zhǎng)。在本設(shè)計(jì)中,使用預(yù)測(cè)分支失敗的方法來(lái)解決控制沖突,即允許分支指令之后的指令繼續(xù)在流水線中流動(dòng)。當(dāng)確定分支失敗時(shí),分支指令可視為普通指令,流水線正常運(yùn)行,如表2所示。當(dāng)確定分支成功時(shí),流水線將在分支指令之后獲取的指令轉(zhuǎn)換為空操作,并根據(jù)分支目標(biāo)地址獲取指令以供執(zhí)行,如表3所示。點(diǎn)樹(shù)枝遺失戰(zhàn)勝分支指令一如果編號(hào)不包括MEMWB指令i 1如果編號(hào)不包括MEMWB指令i 2如果編號(hào)不

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論