![華科組成原理課程設(shè)計(jì)-MIPS流水線CPU_第1頁(yè)](http://file4.renrendoc.com/view/b43ea3623c42de09a79607278337cf46/b43ea3623c42de09a79607278337cf461.gif)
![華科組成原理課程設(shè)計(jì)-MIPS流水線CPU_第2頁(yè)](http://file4.renrendoc.com/view/b43ea3623c42de09a79607278337cf46/b43ea3623c42de09a79607278337cf462.gif)
![華科組成原理課程設(shè)計(jì)-MIPS流水線CPU_第3頁(yè)](http://file4.renrendoc.com/view/b43ea3623c42de09a79607278337cf46/b43ea3623c42de09a79607278337cf463.gif)
![華科組成原理課程設(shè)計(jì)-MIPS流水線CPU_第4頁(yè)](http://file4.renrendoc.com/view/b43ea3623c42de09a79607278337cf46/b43ea3623c42de09a79607278337cf464.gif)
![華科組成原理課程設(shè)計(jì)-MIPS流水線CPU_第5頁(yè)](http://file4.renrendoc.com/view/b43ea3623c42de09a79607278337cf46/b43ea3623c42de09a79607278337cf465.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告支持流水線的簡(jiǎn)單計(jì)算機(jī)系統(tǒng)題目:設(shè)計(jì)與實(shí)現(xiàn)專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):學(xué)號(hào):姓名:電話:郵件:實(shí)驗(yàn)臺(tái):完成日期:指導(dǎo)教師:計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院TOC o 1-5 h z HYPERLINK l bookmark4 一、課程設(shè)計(jì)概述3課設(shè)目的3實(shí)驗(yàn)環(huán)境3設(shè)計(jì)任務(wù)與要求3 HYPERLINK l bookmark10 二、設(shè)計(jì)原理3 HYPERLINK l bookmark12 MIPS概述3MIPS指令簡(jiǎn)介33經(jīng)典5段RSIC流水線結(jié)構(gòu)4 HYPERLINK l bookmark21 三、設(shè)計(jì)內(nèi)容5指令選取52非流水5段CPU模型63流水5段CPU模型8 HYPERL
2、INK l bookmark41 四、實(shí)現(xiàn)內(nèi)容與測(cè)試結(jié)果12各模塊功能12控制信號(hào)12指令操作流程13指令執(zhí)行狀態(tài)轉(zhuǎn)換圖14引腳綁定15測(cè)試程序15測(cè)試結(jié)果與仿真圖16 HYPERLINK l bookmark43 五、課設(shè)總結(jié)17課設(shè)中遇到的問題17課設(shè)經(jīng)歷17課設(shè)感想18小組分工18 HYPERLINK l bookmark45 參考文獻(xiàn)18課程設(shè)計(jì)概述課設(shè)目的掌握硬件描述語(yǔ)言與開發(fā)環(huán)境,了解硬件開發(fā)地基本過程。掌握流水線設(shè)計(jì)方法。鍛煉學(xué)生簡(jiǎn)單計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)能力,并通過進(jìn)行主機(jī)系統(tǒng)低層電路的實(shí)現(xiàn)、故障分析與定位、系統(tǒng)調(diào)試等環(huán)節(jié)的鍛煉,進(jìn)一步提高了學(xué)生分析和解決問題的能力。實(shí)驗(yàn)環(huán)境Xili
3、nxISE14.2Spartan3E實(shí)驗(yàn)板一塊設(shè)計(jì)任務(wù)與要求課程設(shè)計(jì)的主要任務(wù)是設(shè)計(jì)一臺(tái)支持流水線的簡(jiǎn)單計(jì)算機(jī)系統(tǒng)并調(diào)試通過。要求所設(shè)計(jì)的計(jì)算機(jī)系統(tǒng)能正確地執(zhí)行存放在指令中的程序的功能。本設(shè)計(jì)基于的位流水線架構(gòu),設(shè)計(jì)過程中力圖盡可能的遵循原有的的功能和指令集?;咀龅脚c指令集的兼容。具體要求包括:支持算術(shù)運(yùn)算,邏輯運(yùn)算,存儲(chǔ)器讀寫,寄存器間數(shù)據(jù)傳送等幾類指令。支持立即數(shù)尋址,直接尋址,寄存器尋址等幾種基本的數(shù)據(jù)尋址方式和順序?qū)ぶ贰⑻S尋址兩種指令的尋址方式。支持10條或以上的指令。能運(yùn)行由自己所設(shè)計(jì)的指令系統(tǒng)構(gòu)成的一段程序,程序執(zhí)行功能正確。具有完整的五級(jí)流水線架構(gòu)。采用獨(dú)立的32位的數(shù)據(jù)總線
4、和地址總線。二、設(shè)計(jì)原理MIPS概述是高效的體系結(jié)構(gòu)中最優(yōu)雅的一種體系結(jié)構(gòu)。其中文意思為無(wú)內(nèi)部互鎖流水級(jí)的微處理器”,其機(jī)制是盡量利用軟件辦法避免流水線中的數(shù)據(jù)相關(guān)問題。它最早是在年代初期由斯坦福大學(xué)教授領(lǐng)導(dǎo)的研究小組研制出來的。公司的系列就是在此基礎(chǔ)上開發(fā)的工業(yè)產(chǎn)品的微處理器。這些系列產(chǎn)品為很多計(jì)算機(jī)公司采用構(gòu)成各種工作站和計(jì)算機(jī)系統(tǒng)。本設(shè)計(jì)將參考MIPS的CPU設(shè)計(jì)以實(shí)現(xiàn)自己的五段流水線CPU設(shè)計(jì),并部分實(shí)現(xiàn)MIPS32指令集MIPS指令簡(jiǎn)介MIPS指令集特點(diǎn)MIPS指令集具有以下特點(diǎn):簡(jiǎn)單的結(jié)構(gòu)。所有計(jì)算類型指令均從寄存器組中讀取數(shù)據(jù)并把結(jié)果寫入寄存器組中。只有和指令訪問存儲(chǔ)器(數(shù)據(jù))。
5、易于流水線的設(shè)計(jì)。指令集的指令格式非常規(guī)整,所有的指令均為32位,而且指令操作碼在固定的位置上。易于編譯器的開發(fā)。一般情況下,編譯器在編譯高級(jí)語(yǔ)言程序時(shí),很難用到復(fù)雜的指令。I指令的尋址方式與操作非常簡(jiǎn)單,便于編譯器的開發(fā)。2.2MIPS指令格式在本次課程設(shè)計(jì)中,在數(shù)據(jù)類型上只支持整數(shù)類型,在指令格式上直接R、I和J型指令。以下是對(duì)三型指令的簡(jiǎn)介1:R(reister)類型的指令從寄存器組中讀取兩個(gè)源操作數(shù),計(jì)算結(jié)果寫回寄存器組。I(immediate)類型的指令使用一個(gè)16位的立即數(shù)作為一個(gè)源操作數(shù)。J(ump)類型的指令使用一個(gè)26位立即數(shù)作為跳轉(zhuǎn)的目標(biāo)地址。三型指令的格式如圖1所示,其中
6、:op表示指令操作碼。rs為源操作數(shù)的寄存器號(hào)。rd為目的寄存器號(hào),R既可為源寄存器號(hào),也可為目的寄存器號(hào)。funct可認(rèn)為是擴(kuò)展的操作碼。shamte由移位指令使用,定義移位位數(shù)。Immediate是16位立即數(shù),根據(jù)指令需求進(jìn)行無(wú)符號(hào)或有符號(hào)擴(kuò)展。ddress是26位立即數(shù),由J型指令使用,用于產(chǎn)生跳轉(zhuǎn)的目的地址。65516oprsrtImmediate312625212016150(a)I類指令655556oPrsrtrdshamtfunct312625212016151110650(b)R類指令626oPaddress3126250(c)J類指令圖1.MIPS的指令格式3.經(jīng)典段流水線
7、結(jié)構(gòu)經(jīng)典的5段RI流水線如圖2。IF段ID段EX段MEM段WB段圖2經(jīng)典5段RI流水線在該結(jié)構(gòu)中一條指令的執(zhí)行過程分為以下5個(gè)時(shí)鐘周期:取指令周期():以程序計(jì)數(shù)器中的內(nèi)容作為地址,從存儲(chǔ)器中取出指令并放入指令寄存器;同時(shí)值加(假設(shè)每條指令占個(gè)字節(jié)),指向順序的下一條指令。指令譯碼讀寄存器周期():對(duì)指令進(jìn)行譯碼,并用中的寄存器地址去訪問通用寄存器組,讀出所需的操作數(shù)。執(zhí)行有效地址計(jì)算周期():在這個(gè)周期,對(duì)在上一個(gè)周期準(zhǔn)備好的操作數(shù)進(jìn)行運(yùn)算或處理。不同指令所進(jìn)行的操作不同。存儲(chǔ)器訪問分支完成周期():指令用上一個(gè)周期計(jì)算出的有效地址從存儲(chǔ)器中讀出相應(yīng)的數(shù)據(jù);指令把指定的數(shù)據(jù)寫入這個(gè)有效地址所
8、指出的存儲(chǔ)器單元;分支指令若分支成功就把錢一個(gè)周期中計(jì)算好的轉(zhuǎn)移目標(biāo)地址送入PC,否則不進(jìn)行任何操作;其他類型的指令在該周期不做任何操作。寫回周期():把結(jié)果寫入通用寄存器組。本設(shè)計(jì)基于該經(jīng)典端流水線結(jié)構(gòu)完成了的一種簡(jiǎn)單實(shí)現(xiàn),并在此基礎(chǔ)上加入了對(duì)流水線沖突(數(shù)據(jù)沖突,控制沖突)的處理,以及對(duì)中斷的處理。三、設(shè)計(jì)內(nèi)容1.指令選取本系統(tǒng)能執(zhí)行條指令,指令基本情況如表所示。指令助記符指令格式操作1.1.11.111.表系統(tǒng)支持的指令集從指令類型來講,這16條指令覆蓋了算邏運(yùn)算、訪存、無(wú)條件跳轉(zhuǎn)和有條件跳轉(zhuǎn),已基本覆蓋一個(gè)指令集所需的所有基本指令。從尋址方式來講,這1條指令覆蓋了寄存器尋址(R-TPE
9、指令),立即數(shù)尋址(I-TPE指令),基址偏移量尋址(LWSW),直接尋址()。1條MIPS指令并不是本設(shè)計(jì)的極限,只是受到實(shí)驗(yàn)板資源的限制,我們僅僅完成了MIPS32指令集中的1條而已。本設(shè)計(jì)通過簡(jiǎn)單的拓展可以輕松實(shí)現(xiàn)整個(gè)MIPS32指令集。2.非流水段模型初始數(shù)據(jù)通路設(shè)計(jì)往往都是從簡(jiǎn)單到復(fù)雜,循序漸進(jìn)。好高騖遠(yuǎn)則往往求之而不得。因此我們并沒有從流水線模型直接下手,而是首先設(shè)計(jì)了一個(gè)類似經(jīng)典5段RISC流水線結(jié)構(gòu)的非流水5段CPU模型。由于不涉及流水,所以所有的指令周期均為單周期,數(shù)據(jù)通路見圖3。圖3非流水5段CPU初始數(shù)據(jù)通路5段具體操作在這個(gè)數(shù)據(jù)通路上每條指令需要花費(fèi)5個(gè)時(shí)鐘周期,這5個(gè)
10、時(shí)鐘周期相應(yīng)的操作如下:.取指令周期(I)IRMemPCNPCPC+1以PC中的值從指令cace中取出一條指令,放入指令寄存器IR;同時(shí)PC值加1,然后放入NPC,這時(shí)NPC中的值為順序的下調(diào)指令的地址。.2指令譯碼讀寄存器周期(ID)ARegsrsBRegsrtimmIR11IR131對(duì)指令進(jìn)行譯碼,并以指令中的rs和rt字段作為地址訪問通用寄存器組,將讀出的數(shù)據(jù)讓如和寄存器中。同時(shí)的低位進(jìn)行有符號(hào)或者無(wú)符號(hào)擴(kuò)展,然后存入寄存器執(zhí)行有效地址計(jì)算周期()和指令將操作數(shù)相加形成有效地址,并存入臨時(shí)寄存器根據(jù)字段指出的操作類型對(duì)和中的數(shù)據(jù)進(jìn)行運(yùn)算,并將結(jié)果存入I-TYPE根據(jù)操作碼指出的操作類型對(duì)
11、和中的數(shù)據(jù)進(jìn)行運(yùn)算,并將結(jié)果存入分支指令將臨時(shí)寄存器和中的值相加得到轉(zhuǎn)移目標(biāo)的地址,存入ALUo存儲(chǔ)器訪問分支完成周期()和指令:即從存儲(chǔ)器中讀出相應(yīng)數(shù)據(jù),放入臨時(shí)寄存器中:即把中數(shù)據(jù)寫入存儲(chǔ)器分支指令若中的內(nèi)容為真,則將中的轉(zhuǎn)移目標(biāo)地址放入,否則。寫回周期()R-TYPEI-TYPELW指令2.3模型優(yōu)化與最終數(shù)據(jù)通路在這部分設(shè)計(jì)的時(shí)候我們的跳轉(zhuǎn)指令僅僅實(shí)現(xiàn)了,因此我們對(duì)改分支指令進(jìn)行了單獨(dú)的優(yōu)化。在圖的設(shè)計(jì)中若分支失敗,則由于新的在段產(chǎn)生,因此會(huì)產(chǎn)生個(gè)時(shí)鐘周期的延遲。但實(shí)際上可以對(duì)這條指令進(jìn)行單獨(dú)的改進(jìn),將對(duì)的修改提前到段,以便值能夠快速變化。經(jīng)過這樣優(yōu)化后,分支失敗則只會(huì)產(chǎn)生個(gè)時(shí)鐘周期的
12、延遲。改進(jìn)后的數(shù)據(jù)通路如圖4所示。3.段流水模型初始數(shù)據(jù)通路在實(shí)現(xiàn)了非流水的段CPU模型后,段流水CPU模型也就水到渠成了。只需要在各段之間加入相應(yīng)的流水寄存器即可。數(shù)據(jù)通路如圖5。Wb_SignEx_SignAlu_Sign2圖段流水CPU初始數(shù)據(jù)通路5段具體操作這部分與非流水的具體操作大致相同,這里不加贅述。流水線沖突及解決方案數(shù)據(jù)沖突如果上一條指令的結(jié)果還沒有寫入到寄存器中,而下一條指令的原操作數(shù)又恰恰是此寄存器的數(shù)據(jù),那么它所獲得的將是原來的數(shù)據(jù),而不是更新后的數(shù)據(jù),這樣的相關(guān)問題稱為數(shù)據(jù)相關(guān)。根據(jù)在系統(tǒng)結(jié)構(gòu)中學(xué)習(xí)到的相關(guān)知識(shí),在我們的設(shè)計(jì)中,采用定向()技術(shù)來解決此類相關(guān)問題。其關(guān)鍵
13、思路是:在發(fā)生寫后讀相關(guān)的情況下,在計(jì)算結(jié)果尚未出來之前,后面等待使用該結(jié)果的指令并不見得是馬上就要用該結(jié)果。如果能夠?qū)⒃撚?jì)算結(jié)果從其產(chǎn)生的地方(ALU出口)直接送到其他指令需要它的地方(ALU的入口),那么就可以避免停頓,如圖6。圖6.定向技術(shù)控制沖突在流水線中,控制沖突可能會(huì)使數(shù)據(jù)沖突造成更大的性能損失。執(zhí)行分支指令的結(jié)果有兩種,一種是成功,值改變?yōu)榉种мD(zhuǎn)移的目標(biāo)地址。另一種則是失敗,這是的值保持正常遞增。本設(shè)計(jì)中采用預(yù)測(cè)分支失敗的方法解決控制沖突,即允許分支指令后的指令繼續(xù)在流水線中流動(dòng)。當(dāng)確定分支是失敗時(shí),可以將分支指令看做一條普通指令,流水線正常流動(dòng),如表2;當(dāng)確定分支是成功時(shí),流水
14、線就把在分支指令之后取出的指令轉(zhuǎn)化為空操作,并按分支目標(biāo)地址重新取指令執(zhí)行,如表3。分分支指令I(lǐng)IDEXMEMB支指令1IIDEXMEMB失指令2IIDEXMEMB敗指令3IIDEXMEMB表2.分支失敗的流水線時(shí)空?qǐng)D分分支指令I(lǐng)IDEXMEMB支指令1IIII成分支目標(biāo)指令I(lǐng)IDEXMEMB功分支目標(biāo)指令1IIDEXMEMB表3.分支成功的流水線時(shí)空?qǐng)D模型中的問題與修正指令周期數(shù)問題若是指令周期和之前的設(shè)計(jì)一樣,使用單周期的設(shè)計(jì),那么會(huì)出現(xiàn)對(duì)流水寄存器的讀寫沖突。例如對(duì)于通用寄存器組來說,在上升沿的時(shí)候需要從段的指令寄存器中取出指令,然后訪問相應(yīng)的寄存器并將數(shù)據(jù)寫入段的寄存器。試想,若是從中
15、取指令,和對(duì)段的寄存器的寫入兩個(gè)操作都是在上升沿觸發(fā),那么由于時(shí)延的存在,很有可能導(dǎo)致寫入的值不是預(yù)期值。因此我們將指令周期從單周期改為雙周期。在前一周期完成對(duì)流水寄存器的讀操作,并且完成各段的功能。后一周期,完成對(duì)流水寄存器的寫操作。具體實(shí)現(xiàn)上我們舍棄了分頻的方法而是采用前半周期為上升沿觸發(fā),后半周期為下降沿觸發(fā)。譯碼器問題通過可知,各段功能需要在前一周期內(nèi)全部完成,但是段很特殊,因?yàn)橛凶g碼器的存在。通用寄存器組和擴(kuò)展部件都需要譯碼器提供控制信號(hào),但是由于3.3.1的限制,譯碼器也會(huì)在上升沿觸發(fā)。由于時(shí)延的存在,這可能會(huì)導(dǎo)致控制信號(hào)產(chǎn)生在需求之后。也即在寄存器組和擴(kuò)展部件需要控制信號(hào)的時(shí)候,
16、控制信號(hào)還未真正產(chǎn)生,導(dǎo)致這兩部件使用了錯(cuò)誤的控制信號(hào)。除了這個(gè)隱患,還有一個(gè)問題就是若采用單獨(dú)的譯碼器,那么會(huì)在段產(chǎn)生大量的控制信號(hào),這些控制信號(hào)都需要通過流水線流向下一段,那么勢(shì)必需要大量的流水寄存器,大幅增加硬件成本。綜合考慮這兩個(gè)問題之后我們撤掉了譯碼器,而采用分段譯碼的方式。即給每個(gè)功能部件都提供完整的指令,由各個(gè)功能部件自己產(chǎn)生自己所需要的控制信號(hào),這樣就可以完美的解決上述兩個(gè)問題。針對(duì)指令的優(yōu)化問題在非流水的模型中我們針對(duì)指令進(jìn)行了專門的優(yōu)化,將對(duì)分支條件的判斷放在了段。但是這存在兩個(gè)問題,一是我們認(rèn)為這樣影響了整體設(shè)計(jì)的一致性;二是在流水線的設(shè)計(jì)中我們加入了新的跳轉(zhuǎn)指令,這使得
17、判斷變得更加復(fù)雜,段分擔(dān)了太多段的功能,會(huì)影響整體流水的性能。因此在流水設(shè)計(jì)中我們將分支的條件改回在段判斷。寄存器組的讀寫順序問題在最初的設(shè)計(jì)中,我們將寄存器的寫回操作放在后半周期,即和流水線寄存器的寫操作一同完成。但是在后面的實(shí)際測(cè)試中我們發(fā)現(xiàn)若這樣處理,我們?cè)谧鲋囟ㄏ虻臅r(shí)候必須做三次重定向。因此我們對(duì)此做了調(diào)整,將寫回操作提前到前半周期完成,即對(duì)寄存器組實(shí)現(xiàn)先寫后讀策略。寫回段的取舍在最初的設(shè)計(jì)中,由于我們將寄存器的寫回操作放在后半周期,因此我們一度舍棄了寫回段。因?yàn)閷懟囟蝺H僅是前半周期讀出寫回?cái)?shù)據(jù),后半周期將數(shù)據(jù)寫回寄存器組,這么簡(jiǎn)單的功能占據(jù)一個(gè)流水段顯示實(shí)在是“奢侈”。因而在最初的設(shè)
18、計(jì)中我們將其和段合并。但是中對(duì)寄存器讀寫順序做了調(diào)整,因此寫回段中的寫回操作和段的計(jì)算操作以及的訪存操作在同半個(gè)周期內(nèi),由于時(shí)延的存在很有可能導(dǎo)致寫回?cái)?shù)據(jù)錯(cuò)誤。此時(shí)若舍棄了寫回段則可能在計(jì)算結(jié)果出來前就寫回了,這顯然不合理。因此我們重新加入了寫回段。在加入訪存段后,由于寫回的結(jié)果依賴于訪存結(jié)果,因此放在訪存段之后。特殊指令的問題JNZ這條指令在整個(gè)指令集中是非常特殊的存在,在之前的設(shè)計(jì)中我們完全沒有考慮到這個(gè)問題。雖然是-指令,但是卻是源寄存器,也即不會(huì)修改的值。即它不符合-指令在寫回段的數(shù)據(jù)通路。這在做定向的時(shí)候會(huì)產(chǎn)生嚴(yán)重的問題,若不做特殊判斷,那么很可能會(huì)產(chǎn)生錯(cuò)誤的定向。指令是整個(gè)指令集中
19、唯一一個(gè)需要個(gè)輸入()的指令,其他指令均最多只需要個(gè)輸入。這使得段的兩個(gè)選擇器完全是多余的,可以去掉。在考慮到這兩點(diǎn)之后我們對(duì)重定向進(jìn)行了重新設(shè)計(jì),并且去掉了段中的兩個(gè)選擇器。硬軟中斷的實(shí)現(xiàn)軟中斷的實(shí)現(xiàn)對(duì)于軟中斷,我們實(shí)際上通過擴(kuò)展指令集的方式來實(shí)現(xiàn)。即在指令集中加入兩條指令,和,來實(shí)現(xiàn)軟中斷。具體指令表。-表和指令當(dāng)段檢測(cè)到指令時(shí),將會(huì)把所有通用寄存器組的值以及當(dāng)前值壓入堆棧。當(dāng)段檢測(cè)到指令時(shí),會(huì)無(wú)條件跳轉(zhuǎn)至指令對(duì)對(duì)應(yīng)的地址。當(dāng)段檢測(cè)到指令時(shí),將會(huì)把所有的通用寄存器組的值彈出。當(dāng)段檢測(cè)到指令時(shí),會(huì)無(wú)條件跳轉(zhuǎn)至堆棧中的值對(duì)應(yīng)的地址。硬中斷的實(shí)現(xiàn)對(duì)于硬中斷我們僅實(shí)現(xiàn)了了溢出中斷。當(dāng)段出現(xiàn)溢出時(shí),
20、段將會(huì)向段傳送相應(yīng)的控制信號(hào)。此時(shí)段將會(huì)產(chǎn)生一條指令送到中,并且值維持一周期不變。這樣就相當(dāng)于向流水線中插入了一條軟中斷指令,從而實(shí)現(xiàn)了用硬件來自動(dòng)產(chǎn)生中斷指令。3.6最終數(shù)據(jù)通路在成功修改和完善3.4中的問題以及加入3.5中的內(nèi)容后,我們得到了最后的數(shù)據(jù)通路圖,如圖7。-|Alu_Sign1SellAlu_Sign3i|:EX/MEM:ID/EX=Alu_Sign2Sel2Wb_SignEx_Sign圖段流水CPU最終數(shù)據(jù)通路圖四、實(shí)現(xiàn)內(nèi)容與測(cè)試結(jié)果各模塊功能模塊例化名稱模塊實(shí)現(xiàn)功能U1實(shí)現(xiàn)PC的存儲(chǔ)與更新U2實(shí)現(xiàn)指令的存取U3實(shí)現(xiàn)對(duì)通用寄存器的讀寫U4實(shí)現(xiàn)對(duì)立即數(shù)的有符號(hào)與無(wú)符號(hào)擴(kuò)展U實(shí)現(xiàn)
21、ALUU實(shí)現(xiàn)訪存功能表5.各模塊功能表控制信號(hào)流水段控制信號(hào)功能IUpdate_Pc控制PC更新為PC+1或ALUIDReg_Sign控制通用寄存器組的壓棧與彈出Ex_Sign控制有符號(hào)擴(kuò)展和無(wú)符號(hào)擴(kuò)展EXAlu_Sign1控制MUX2的選擇Alu_Sign2控制MUX3的選擇Alu_Sign3控制ALU的計(jì)算功能Sel1控制ALUA端的定向Sel2控制ALUB端的定向MEMMem_Write控制MEM的讀寫WBMem_Read表明MEM的讀寫狀態(tài),控制MUX4的選擇Wb_Sign控制通用寄存器的寫回表6.控制信號(hào)表3.指令操作流程由于我組實(shí)現(xiàn)的指令較多,而很多指令具有較大的相似性,因此這里取
22、四條指令,先做出其各周期的操作及控制信號(hào)表2。指令階段操作流程控制信號(hào)表7.ADD指令操作流程及控制信號(hào)指令階段操作流程控制信號(hào)-表8.BNE指令操作流程及控制信號(hào)指令階段操作流程控制信號(hào)-表9.J指令操作流程及控制信號(hào)MPCUpdate_Pc=0PCPC1DA2:21eg_Sign=00E_Sign=1B20:1MMSign-etend1-02EXAUOAMMAlu_Sign1=0Alu_Sign2=0Alu_Sign3=0000el1=0el2=032B2BMEMMemrAUOB2Mem_Write=1指令階段操作流程控制信號(hào)表10SW指令操作流程及控制信號(hào)4.指令執(zhí)行狀態(tài)轉(zhuǎn)換圖可畫出其對(duì)
23、應(yīng)的狀態(tài)轉(zhuǎn)移圖,如圖9所示。IF5.引腳綁定表名稱綁定引腳功能-時(shí)鐘-復(fù)位信號(hào)-控制七段顯示的具體內(nèi)容。-對(duì)應(yīng)的對(duì)應(yīng)的對(duì)應(yīng)的對(duì)應(yīng)的對(duì)應(yīng)的對(duì)應(yīng)的對(duì)應(yīng)的對(duì)應(yīng)的控制七段碼顯示控制七段碼具體顯示位七段碼顯示的時(shí)鐘表11.引腳綁定表測(cè)試程序綜合考慮到我們選擇的指令集以及開發(fā)板的硬件資源情況,我們打算用下面三個(gè)程序來測(cè)試我們的設(shè)計(jì)方案。程序1主要用來測(cè)試算邏運(yùn)算和訪存指令的正確性,程序如表12所示。主存地址指令結(jié)果描述機(jī)器指令的機(jī)器碼十六進(jìn)制二進(jìn)制表12.測(cè)試程序程序主要用來測(cè)試軟中斷和硬中斷功能,程序如表所示。主存地址指令結(jié)果描述機(jī)器指令的機(jī)器碼十六進(jìn)制二進(jìn)制壓、-、-出棧表測(cè)試程序程序主要用來測(cè)試跳轉(zhuǎn)指令的正確性,由于和指令中已經(jīng)隱含了指令,因此這里只對(duì)1指令進(jìn)行測(cè)試,程序如表所示。1主存地址指令結(jié)果描述-表
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 4 History And Traditions Reading for Writing 說課稿-2023-2024學(xué)年高中英語(yǔ)人教版(2019)必修第二冊(cè)
- Unit 4 Friends Forever Understanding ideas click for a friend 說課稿-2024-2025學(xué)年高中英語(yǔ)外研版必修第一冊(cè)
- 2024年五年級(jí)英語(yǔ)下冊(cè) Unit 2 How do you come to school第1課時(shí)說課稿 譯林牛津版
- 6 魯濱遜漂流記(節(jié)選)(說課稿)-2023-2024學(xué)年語(yǔ)文六年級(jí)下冊(cè)統(tǒng)編版
- 16《夏天里的成長(zhǎng)》(說課稿)2024-2025學(xué)年部編版語(yǔ)文六年級(jí)上冊(cè)001
- Unit 2 Wildlife Protection Reading and Thinking Language Focus 說課稿-2024-2025學(xué)年高一上學(xué)期英語(yǔ)人教版(2019)必修第二冊(cè)001
- 2023-2024學(xué)年粵教版(2019)高中信息技術(shù)必修一《數(shù)據(jù)與計(jì)算》第五章第二節(jié)《數(shù)據(jù)的采集》說課稿001
- 2025廣告發(fā)布代理合同
- 2023三年級(jí)數(shù)學(xué)下冊(cè) 一 除法第6課時(shí) 節(jié)約(2)說課稿 北師大版
- 2025廣東省果菜采購(gòu)合同
- 時(shí)政述評(píng)培訓(xùn)課件
- 2022屆高三體育特長(zhǎng)生家長(zhǎng)會(huì)
- 不對(duì)外供貨協(xié)議
- 2024屆高考作文主題訓(xùn)練:時(shí)評(píng)類(含解析)
- 260噸汽車吊地基承載力驗(yàn)算
- 公司新員工三級(jí)安全教育培訓(xùn)(車間級(jí))
- 北師大版高三數(shù)學(xué)選修4-6初等數(shù)論初步全冊(cè)課件【完整版】
- 老子道德經(jīng)全文講解學(xué)習(xí)課件
- 企業(yè)更名通知函
- 經(jīng)大量臨床實(shí)驗(yàn)證明,空氣負(fù)離子能有效治療心腦血管疾病
- GB/T 12618-1990開口型扁圓頭抽芯鉚釘
評(píng)論
0/150
提交評(píng)論