日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

计算机组成原理 控制冒险,电子科大-系统结构实验-解决控制冒险.docx

發布時間:2024/9/19 windows 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机组成原理 控制冒险,电子科大-系统结构实验-解决控制冒险.docx 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

電子科大-系統結構實驗-解決控制冒險

實驗報告課程名稱:計算機系統結構實驗學  院:計算機科學與工程學院專  業:計算機科學與技術指導教師:好老師學生姓名:愛學習的大哥哥2014666666666實驗成績:日  期:2017年5月26日電子科技大學計算機學院實驗中心電子科技大學實驗報告實驗項目名稱:解決控制冒險實驗室名稱:主樓A2-412實驗時間:2017年5月26日實驗目的在給出的流水線代碼基礎上,增加ID級關閉寫使能信號,以解決不正確分支指令的影響。通過完成這次實驗,加深對控制冒險現象的產生和消除控制冒險的原理的理解,提高編程和測試的能力。實驗原理轉移相關問題轉移指令改變程序順序執行的特性。由于是流水線操作,在轉移發生之前,若干條轉移指令的后續指令已被取到流水線處理機中。這就是所謂的轉移相關問題(branch hazard),有時也稱之為控制相關問題(control hazard)。回顧我們前面介紹的處理轉移相關問題的4種技術:以上任何一種方法都會使硬件固定,編譯時會根據硬件機制和轉移行為對代碼進行調度,以獲取最佳性能。消除無條件轉移指令的后一條指令影響每條指令在ID時判斷在當前在EXE階段的操作碼暫存器的值是否是無條件轉移指令:如果是,那么不使能當前在ID階段的那條指令的WZ、WMEM和WREG的信號,這樣這條指令的執行就對程序的邏輯沒有影響。條件轉移指令條件轉移指令的實現思想與無條件轉移指令有所類似,但不完全相同。首先對于條件轉移指令本身來說,需要判斷Z標志是否能用。若Z標志還沒有準備好,則要暫停流水線一個時鐘周期。這一點和判斷數據相關極為相似。但由于轉移指令只可能改變PC而不改變其它狀態,因此用不著封鎖WZ,WMEM,WREG(對轉移指令來講,這些信號原本就為0)。因為如果處在譯碼級的是條件轉移指令,而且處在EXE級的是ALU類型的指令(就要寫Z標志到流水線寄存器Z了),則要等到ALU指令寫完Z后,再判斷轉移與否,為此要暫停一個周期(或者如前所述,插入一條nop指令)。對于條件轉移指令的下一條指令的處理辦法與無條件指令不同。因為條件轉移的下一條指令有可能執行也有可能不執行,需要在對無條件轉移指令的處理策略上進行擴展:條件轉移的下一條指令在ID時判斷在當前在EXE階段的操作碼暫存器的值是否是條件轉移指令并且判斷是否轉移成功(Z的值沒變),如果發現成功,那么不使能當前在ID階段的那條指令的WZ、WMEM和WREG的信號,這條指令的執行就對程序的邏輯沒有影響(與無條件處理方式相同);如果發現轉移不成功,說明本條指令為有效指令,使能當前在ID階段的那條指令的WZ、WMEM和WREG的信號,本條指令正常執行。實驗內容在給出的流水線代碼基礎上,增加ID級關閉寫使能信號,以解決不正確分支指令的影響。實驗器材(設備、元器件)ISE Design Suite 14.7集成開發環境,編程語言:Verilog HDL硬件描述語言實驗步驟1、新建項目,將上個實驗完成的解決數據冒險與數據前推的代碼拷貝進來2、在直接跳轉中,需要廢除跳轉指令的下一條(當譯碼出跳轉指令時,下一條已經流出,所以要廢除掉);而在條件跳轉中,需要根據z的值來判斷是否廢除下一條指令。在代碼中譯碼級,pcsource定義如下assign pcsource[1]=i_jr|i_j|i_jal;//選擇下一條指令的地址,00選PC+4,01選轉移地址,10選寄存器內地址,11選跳轉地址assign pcsource[0]=i_beq&rsrtequ|i_bne&~rsrtequ|i_j|i_jal;LOADDEPEN,BTAKEN,ID_branch );如果是直接跳轉,那么一定廢除,pcsource=11,如果是條件跳轉,廢除的條件就是pcsource=01,暫不考慮jr指令,那么要廢除下一條指令的條件就是pcsource=00;3、在頂層模塊添加變量wire wz;//決定是否寫z值wire[1:0] exepcsource;//exe pcsource 主要用在條件跳轉wz需要在id級計算出來,然后傳遞到exe級,如果廢除指令那么wz=0;exepcsource與之相反,從exe級傳遞到id級,用來指示下一條指令是否廢除。4、增加這兩個變量后,頂層模塊 id級與exe級的代碼如下pipeid id_stage (dpc4,inst,//指令譯碼ID級 wrn,wdi,wwreg,clock,resetn, bpc,jpc,pcsource,dwreg,dm2reg,dwmem,daluc,daluimm,da,db,dimm,drn,dshift,djal,z, ern,mrn,ewreg,mwreg,idadepend,idbdepend,em2reg,wpc,exepcsource,wz

總結

以上是生活随笔為你收集整理的计算机组成原理 控制冒险,电子科大-系统结构实验-解决控制冒险.docx的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。