freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

流水線仿真實(shí)現(xiàn)與設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2025-07-17 08:50 本頁面
 

【文章內(nèi)容簡介】 01011swx0010010xbeqx0101000x 當(dāng)設(shè)計(jì)出指令流水線控制代碼,以及ALU控制代碼時,就進(jìn)行下一步的指令流水線控制器的設(shè)計(jì),在本次設(shè)計(jì)中,使用的是Logisim軟件中的ROM存儲單元,設(shè)計(jì)構(gòu)思是將設(shè)計(jì)好的ALU控制碼直接存儲到ROM中,然后將OP字段作為ROM存儲單元的地址,即假如OP字段為000001則ROM存儲單元輸出的是位置在第一個的存儲數(shù)據(jù),如果OP字段是000000則ROM存儲單元輸出的是位置在第零位的存儲數(shù)據(jù)。存儲數(shù)據(jù)輸出后將會使用數(shù)據(jù)分離器來分了各個部分所需要的控制碼。如WB階段需要兩位控制碼,MEM階段需要三位控制碼,EX執(zhí)行階段需要四位控制碼。下面將給出在Logisim上設(shè)計(jì)的具體的設(shè)計(jì)圖樣: 其中,第零號地址不會存儲任何的數(shù)據(jù),即它全為0;第一號地址存儲的是R型指令所需要的控制碼,它轉(zhuǎn)換為十六進(jìn)制為:182;第二號地址存儲的是LW指令所需要的控制碼,它轉(zhuǎn)換為十六進(jìn)制為:02b;第三號地址存儲的是SW指令所需要的控制碼,它轉(zhuǎn)換為十六進(jìn)制為:024;第四號地址存儲的是beq指令所需要的控制碼,它轉(zhuǎn)換為十六進(jìn)制為:050。 指令流水線PC寄存器 PC寄存器是一個專門用于存儲下一條指令地址的寄存器,它的主要功能就是存儲下一條指令的地址。但是因?yàn)樵O(shè)計(jì)的是流水線化的指令原型機(jī),則必須要考慮到相等分支指令執(zhí)行時,PC寄存器的值一定會跳轉(zhuǎn)到指令所確定的地址,并且在發(fā)生指令流水線數(shù)據(jù)相關(guān)時PC寄存器必須要將自己鎖存起來,這就要求設(shè)計(jì)PC寄存器時必須有時它暫時不接收數(shù)據(jù)的PCWrite信號,在PCWrite信號為零時它不接收任何的數(shù)據(jù),在PCWrite信號為一時才接收數(shù)據(jù)。PC寄存器有三個部分組成:第一部分三十二位數(shù)據(jù)接收單元,第二部分寄存器存儲單元,第三部分三十二位數(shù)據(jù)傳出單元。下面將給出在Logisim上設(shè)計(jì)的PC寄存器的設(shè)計(jì)圖: 其中寄存器的數(shù)據(jù)位設(shè)為三十二位數(shù)據(jù)域,PC使能信號為一時當(dāng)?shù)谝粭l指令已經(jīng)進(jìn)入譯碼階段后,下一條指令的值會立刻存儲到PC寄存器中。 指令流水線指令存儲器 指令流水線指令存儲器是一個專門存儲已經(jīng)編譯好的指令的存儲器,它有一個八位的地址接收單元,三十二位的數(shù)據(jù)傳出單元,和三十二位的ROM存儲器三個部分構(gòu)成。它的原理是地址單元傳輸數(shù)據(jù)到ROM存儲器中,則ROM存儲器就會傳出數(shù)據(jù)到數(shù)據(jù)傳出單元以便下一步指令的執(zhí)行。下面將給出在Logisim上設(shè)計(jì)的指令存儲器的設(shè)計(jì)圖: 本次設(shè)計(jì)的指令流水線中,指令存儲器中一共存儲了八條指令,但是最終只會執(zhí)行七條指令,因?yàn)樵趫?zhí)行相等分支指令時會跳過一條指令轉(zhuǎn)而跳轉(zhuǎn)到相等分支指令指定的地址。 下面將列出設(shè)計(jì)的具體指令: lw $1 ,0($0) add $0, $1, $2 lw $3, 1($0) sub $2, $3, $4 beq $1, $2, 7 add $1, $2, $3 位置在第十二號地址:add $2,$3,$4 sw $4, 2($0) 這八條指令將一次在指令流水線中執(zhí)行,首先會先把它存入在指令寄存器中,因?yàn)橹噶畲鎯ζ魉臄?shù)據(jù)進(jìn)制是十六位的,所以會將編譯好的二進(jìn)制代碼轉(zhuǎn)換為十六進(jìn)制的,它一次分別為: 8010000,4011020,8030001,4432022,10220007,4221820,4432020,c040002 這些指令代碼全部存入指令存儲器中,當(dāng)指令存儲器的地址接收單元接收到數(shù)據(jù)然后傳給指令存儲器時,指令存儲器就會將地址對應(yīng)的數(shù)據(jù)傳輸?shù)街噶畲鎯ζ鱾鞒鰡卧员氵M(jìn)行下一步操作。 指令流水線數(shù)據(jù)寄存器堆 指令流水線寄存器它的作用是在指令指定的寄存器中存儲指令的執(zhí)行數(shù)據(jù)和存儲邏輯計(jì)算單元的結(jié)果。由于指令在執(zhí)行指令的過程中會用到寄存器里的數(shù)據(jù),所以如何正確的將數(shù)據(jù)正確的存入由指令所確定的寄存器中和將指令所確定的寄存器里的數(shù)據(jù)取出是設(shè)計(jì)指令流水線數(shù)據(jù)寄存器堆的關(guān)鍵。 下面將介紹自己設(shè)計(jì)的指令流水線數(shù)據(jù)寄存器堆的主要結(jié)構(gòu): 首先寄存器堆一共由五個寄存器組成,其次寄存器堆會有兩個五位的讀寄存器號端口,兩個三十二位的讀寄存器數(shù)據(jù)端口,以及一個五位的寫寄存器號端口,一個三十二位的寫數(shù)據(jù)端口。寄存器堆由許多寄存器組成,它這些寄存器可以通過設(shè)計(jì)的寄存器號進(jìn)行讀寫存取。可以運(yùn)用對于每一個寄存器的讀寫口進(jìn)行解碼,再運(yùn)用觸發(fā)器組成一個寄存器散列陣,這個就是構(gòu)造的寄存器堆。還有因?yàn)樽x取指令流水線寄存器時不能改變它的值,所以,在設(shè)計(jì)寄存器的屬性時,一定要將寄存器的觸發(fā)屬性設(shè)置為高電平觸發(fā)。在確保指令流水線寄存器在讀取時值不會改變后,就只用提供寄存器號就可以讀出指令流水線寄存器里面的數(shù)據(jù)了。然后在指令流水線寄存器里寫數(shù)據(jù)是,就需要三個輸入值,它分別是寄存器號,寫入數(shù)據(jù)以及控制寫操作的流水線控制信號。指令流水線的寄存器堆設(shè)計(jì)主要分為兩個部分,第一部分是怎樣正確的讀出指令流水線寄存器里的內(nèi)容。在這個部分中,設(shè)計(jì)的是采用一對三十二位,數(shù)據(jù)域也為三十二位的多路復(fù)用選擇器,將五個寄存器連接到多路復(fù)用選擇器上,通過兩個五位的寄存器號端口,就可以非常準(zhǔn)確的讀出所選定的寄存器里的內(nèi)容。第二個部分就是如何準(zhǔn)確的將數(shù)據(jù)存入指定的寄存器中,在這個部分將使用一個地址位為五位的解碼器,這樣這個解碼器會有三十二個選擇,將解碼器與五個與門連接,然后再將指令流水線控制信號中的寄存器寫信號與這個與門相連,將與門的輸出結(jié)果和寄存器的時鐘端相連,再將寄存器數(shù)據(jù)接收單元和寄存器的數(shù)據(jù)段相連,此結(jié)構(gòu)設(shè)計(jì)的寄存器可以很好的完成指令流水線執(zhí)行指令時所用到的關(guān)于數(shù)據(jù)的操作,這樣一個完整的寄存器堆就可以設(shè)計(jì)完成了。下面將給出在Logisim上設(shè)計(jì)的指令流水線寄存器堆設(shè)計(jì)圖: 在這個指令流水線寄存器堆中,最為重要的問題是防止在寫入一個指定的寄存器時,另一個寄存器里的值會發(fā)生一個不受控制的改變,因?yàn)檫@是由于寄存器的觸發(fā)屬性是在上升邊沿觸發(fā)造成的,必須要將它的觸發(fā)屬性改為高電平觸發(fā)才可以完美的解決這個問題。 指令流水線IF/ID寄存器指令流水線IF/ID寄存器它的作用是在指令的譯碼階段存儲來自指令存儲器中的指令并且將它譯碼并且存儲來自PC寄存器的數(shù)據(jù)。在設(shè)計(jì)指令流水線IF/ID寄存器的過程中最難解決的是指令流水線化的相關(guān)的處理,還有就是相當(dāng)分支指令的處理。首先解決指令流水線化以及其相關(guān)的處理方式是在指令流水線IF/ID寄存器中加入一個使能信號端,當(dāng)使能信號為一時,指令流水線IF/ID寄存器不會接受任何的數(shù)據(jù),當(dāng)使能信號為零時指令流水線IF/ID寄存器才會接受數(shù)據(jù)。第二在遇到相等分支指令時如果指令確實(shí)要跳轉(zhuǎn)到其他的地址而不是下一條PC地址則必須將已經(jīng)進(jìn)入指令流水線的IF/ID寄存器的指令沖刷掉,這樣才能保證指令執(zhí)行的正確。解決這兩個問題所設(shè)計(jì)出的指令流水線IF/ID寄存器將會擁有四個寄存器,一個使能信號端,一個寄存器沖刷段,兩個存儲來自PC寄存器的數(shù)據(jù),兩個存儲來自指令存儲器的數(shù)據(jù)。這四個寄存器都與各自的使能端和沖刷段相連,并且和時鐘控制信號相連。特別的指出,寄存器沖刷端只和前兩個寄存器相連,而使能信號與四個寄存器都相連。當(dāng)寄存器沖刷端信號為一時,寄存器里面的數(shù)據(jù)將全部置為零。下面將給出在Logisim上設(shè)計(jì)的指令流水線IF/ID寄存器的設(shè)計(jì)圖: 其中指令流水線IF/ID寄存器將指令劃分為四個部分,它分別為rd字段(11——15),讀寄存器1(五位),讀寄存器2(五位),OP字段(六位),符號擴(kuò)展位(十六位)。這些字段會傳送到ID/EX寄存器和流水線寄存器堆中以確保指令的正確執(zhí)行。 指令流水線ID/EX寄存器 指令流水線ID/EX寄存器它的作用是在指令的ID/EX階段傳輸和存儲由指令流水線控制器,流水線寄存器堆,符號擴(kuò)展單元,PC寄存器等流水線部件傳送的數(shù)據(jù)。它是整個指令流水線部件中含有寄存器最多的部件,它一共含有十一個寄存器。這十一個寄存器分別的功能是:,這個信號只有兩位二進(jìn)制數(shù)據(jù),所以將寄存器的數(shù)據(jù)域設(shè)置為兩位就可以了。,它的控制信號一共有三位,只要將寄存器的數(shù)據(jù)域設(shè)置為三位就可以。,這個階段的控制信號位是四位,所以要將寄存器的數(shù)據(jù)域設(shè)置為四位。,它是由PC寄存器傳來的三十二位數(shù)據(jù),所以存儲它的寄存器數(shù)據(jù)域?yàn)槿?。,該?shù)據(jù)也為三十二位,所以寄存器數(shù)據(jù)域也為三十二位。,該數(shù)據(jù)也為三十二位,所以寄存器數(shù)據(jù)域也為三十二位。,這個數(shù)據(jù)是三十二位數(shù)據(jù),則將寄存器數(shù)據(jù)域設(shè)置為三十二位的數(shù)據(jù)域?!?5位的數(shù)據(jù),將寄存器的數(shù)據(jù)域設(shè)置為五位。—20位的數(shù)據(jù),并且將寄存器的數(shù)據(jù)域設(shè)置為五位就可以了。,字段為五位,則寄存器數(shù)據(jù)域也設(shè)置為五位。,字段為五位,則寄存器數(shù)據(jù)域也設(shè)置為五位。下面將給出在Logisim上設(shè)計(jì)的指令流水線ID/EX寄存器的設(shè)計(jì)圖: 在設(shè)計(jì)流水線ID/EX寄存器時需要注意的是,在遇到流水線相關(guān)時,流水線ID/EX寄存器將不會存儲任何來自IF譯碼階段的Rt字段的值,因?yàn)樵谠O(shè)計(jì)的測試中,如果不這樣做的話,會導(dǎo)致整個指令流水線的鎖死。 指令流水線EX/MEM寄存器 指令流水線EX/MEM寄存器它的作用是存儲由PC地址加法器,邏輯處理單元,ID/EX寄存器等部件傳入的數(shù)據(jù)。它一共由六個寄存器組成,它分別是第一寄存器存儲寫回階段的控制信號,這個信號是由ID/EX寄存器傳來的。第二寄存器存入存儲器訪問階段的控制信號,這個控制信號也是由ID/EX寄存器傳入。第三寄存器存儲的是PC地址加法器傳入的數(shù)據(jù)。第四寄存器存儲的是由邏輯處理單元傳來的數(shù)據(jù)。第五寄存器存儲的是由ID/EX寄存器傳來的數(shù)據(jù)。第六個寄存器存儲的是由多路復(fù)用選擇器傳來的數(shù)據(jù)。下面將給出在Logisim上設(shè)計(jì)的指令流水線EX/MEM寄存器的設(shè)計(jì)圖: 指令流水線MEM/WB寄存器 指令流水線MEM/WB寄存器它的作用是存儲由EX/MEM寄存器,數(shù)據(jù)存儲器,邏輯處理單元等部件傳來的數(shù)據(jù)。MEM/WB寄存器一共有四個寄存器組成。第一個寄存器存儲的是寫回階段的控制信號。第二個寄存器存儲的是由數(shù)據(jù)存儲器傳出的數(shù)據(jù)。第三個寄存器存儲的是邏輯處理單元得出的結(jié)果。第四個寄存器存儲的是EX/MEM寄
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1