版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
五段流水CPU設計譚志虎2015-3
-2--3-本章主要內(nèi)容課程設計任務課程設計實驗環(huán)境課程設計進度安排課程設計評定課程設計路線圖-4-課程設計任務在logisim平臺或FPGA開發(fā)板設計一款支持特定指令系統(tǒng)的5段流水CPU,可運行數(shù)據(jù)相關(guān),分支相關(guān)的測試程序。支持20條基本指令支持5段流水機制,可處理數(shù)據(jù)冒險,結(jié)構(gòu)冒險,分支冒險;能運行自己編寫的測試程序,測試程序應能涵蓋所有指令,程序執(zhí)行功能正確。能運行教師提供的標準測試程序。具有自動統(tǒng)計功能,自動統(tǒng)計執(zhí)行周期,不同冒險沖突次數(shù),動態(tài)預測成功次數(shù)。-5-課程設計實驗環(huán)境Logisim后續(xù)路線圖均以logisim為例FPGA開發(fā)板鼓勵方案,同等目標增加15分-6-進度安排課程設計的總體時間為2周,具體安排如下:第1天:到實驗室布置任務和集中講解。第1~3天:學生查閱資料,開始方案設計。第4天:中期進度檢查,單周期CPU驗收檢查。第6天:中期進度檢查,理想流水線多周期CPU驗收檢查第10天:最終結(jié)果驗收。-7-課程設計評定評定成績根據(jù)考核、課程設計的過程、課程設計的效果、課程設計報告的質(zhì)量等幾部分組成;評分標準為設計過程和結(jié)果占70%(含考勤),報告部分占30%;對基本功能進行擴展或設計具有非常鮮明的特征和一定程度的創(chuàng)新,可根據(jù)實際情況加分。-8-設計成果評分完成單周期CPU設計與實現(xiàn),測試程序運行正確:40分完成理想流水線的多周期CPU,測試程序運行正確:50分完成插入氣泡式的冒險處理,測試程序運行正確:55分完成數(shù)據(jù)轉(zhuǎn)發(fā)方式的數(shù)據(jù)冒險處理,測試程序運行正確:60分完成動態(tài)預測方式的分支冒險處理,測試程序運行正確:70分完成特色功能擴展的,根據(jù)實際情況酌情加分同等目標FPGA方案加15分,總分不超過70分1班:秦磊華教授2班:譚志虎副教授3班:胡迪青副教授ACM班:吳非副教授-9-課程設計報告要求報告規(guī)范,清楚表述設計思想、設計思路、設計過程、設計結(jié)果,文檔資料完整,書寫和畫圖規(guī)范:30分滿足課程設計報告格式要求,能較清楚表述設計思想、設計思路、設計過程、設計結(jié)果,文檔資料較完整,書寫和畫圖較規(guī)范:20分課程設計報告不規(guī)范,內(nèi)容不完整,不能體現(xiàn)課程設計原理、方法和自己所做的工作:10分課程設計報告嚴重不規(guī)范、內(nèi)容空洞,完全不能體現(xiàn)課程設計的內(nèi)容、書寫潦草:5分課程設計報告抄襲或被抄襲
0分-10-課程設計紀律要求
獨立完成,抄襲,被抄襲同等待遇嚴格考勤周一~周五8:00-11:3014:00-17:30遲到,早退按缺勤處理驗收完成之前僅允許4次缺勤無需請假每日提交工作進度通過金山快盤協(xié)作填寫表格每日24:00之前必須提交當日進度,未提交按缺勤處理每日記錄當日故障,解決方法(課設報告中),否則不驗收在線交流平臺tower
-11-課程設計路線圖構(gòu)建單周期CPU可支持理想流水線多周期CPU增加流水沖突檢測器增加流水沖突處理機制氣泡機制數(shù)據(jù)重定向分支預測指令格式#指令15~1211~109~87~65~32~0指令指令功能1or0rsrtrd00or$rd=$rs|$rt(5~3位無用)2and0rsrtrd01and$rd=$rs&$rt3add0rsrtrd02add$rd=$rs+$rt4sub0rsrtrd03sub$rd=$rs-$rt5sllv0rsrtrd04sllv$rd=$rs<<$rt6srlv0rsrtrd05srlv$rd=$rs>>$rt7srav0rsrtrd06srav$rd=$rs>>$rt算術(shù)右移8slt0rsrtrd07slt$rd=($rs<$rt)?1:09DISP1rsrtimmediate-uDISPDISP[imm]=$rs10lui20rtimmediate-ului$rt=imm<<811ori3rsrtimmediate-uori$rt=$rs|imm12andi4rsrtimmediate-uandi$rt=$rs&imm13addi5rsrtimmediate-saddi$rt=$rs+imm14lw6rsrtimmediate-slw$rt=MEM[$rs+imm]15sw7rsrtimmediate-sswMEM[$rs+imm]=$rt16beq8rsrtoffset-sbeqbeq=?17bne9rsrtoffset-sbnebne!=?18bgt10rsrtoffset-sbgtbgt>?19jump11jumpaddressjumpjump20halt120halthalt(時鐘暫停)-13-單周期CPU設計一般路線圖構(gòu)建主要功能部件PC指令存儲器IM寄存器堆RF運算器ALU數(shù)據(jù)存儲器DM地址轉(zhuǎn)移邏輯NPC控制器logisim中選用適當部件完成前5個部件構(gòu)造第一條指令選取最簡單的R型指令按指令功能構(gòu)建數(shù)據(jù)通路,控制信號logisim中連接,測試通過增加其他指令,修改增加線路,逐條調(diào)試跳轉(zhuǎn)到上一步,直到所有指令設計完成。主要功能部件,封裝實現(xiàn)-15-指令存儲器AddrData寄存器堆ReadReg1#WriteReg#ReadReg2#Reg1Reg2Writedata數(shù)據(jù)存儲器AddrReadDataWriteData格式解析IRsRtRdPCABZALU構(gòu)建主要功能部件PC指令存儲器IM寄存器堆RF運算器ALU數(shù)據(jù)存儲器DM具體封裝實現(xiàn),考慮清楚具體控制信號,輸入輸出
考慮后續(xù)流水線布局,功能部件封裝尺寸不能過大add$rd,$rs,$rt$rd=$rs+$rt-16-指令存儲器AddrData寄存器堆ReadReg1#WriteReg#ReadReg2#Reg1Reg2Writedata數(shù)據(jù)存儲器AddrReadDataWriteData格式解析IRsRtRdPCABZALUaddi$rt,$rs,12$rt=$rs+12-17-指令存儲器AddrData寄存器堆ReadReg1#WriteReg#ReadReg2#Reg1Reg2Writedata數(shù)據(jù)存儲器AddrReadDataWriteData格式解析IRsRtRdIMMPCABZALU擴展器10OMUX01OMUXLw$r0,1($r1)$r0=Mem[($r1)+1]-18-指令存儲器AddrData寄存器堆ReadReg1#WriteReg#ReadReg2#Reg1Reg2Writedata數(shù)據(jù)存儲器AddrReadDataWriteData格式解析IRRsRtRdIMMPCABZALU01OMUX擴展器01OMUX10OMUX轉(zhuǎn)移部件PCNPCoffset設計基本步驟封裝主要功能部件
構(gòu)建基本數(shù)據(jù)通路
編寫測試程序,熟悉匯編器調(diào)試R型指令
調(diào)試I型指令
調(diào)試J型指令
封裝控制器
測試標準測試程序
-19-完整單周期MIPS處理器示意圖-20-注意事項本課程設計的內(nèi)容基本無法在一本書里面弄清楚,建議大家閱讀參考文獻。在實現(xiàn)CPU時,你可以使用任何logisim內(nèi)建的電路組件指令ROM和數(shù)據(jù)RAM必須在main電路中可見,不能封裝在子電路中。顯示模塊應該在主電路中可見。寄存器也應該想辦法在主電路中可監(jiān)測。主要部件之間還是需要適當連線,隧道工具不能過度使用,要能看清楚各部件之間的連接關(guān)系。-21-注意事項盡可能的使用標簽工具去注釋你的電路,包括控制信號,數(shù)據(jù)通路,顯示模塊,總線等,這會讓你的電路更加容易調(diào)試!注意標簽以及注釋的命名規(guī)范,過長的命名都會對后續(xù)的畫圖連接造成影響。Logisim中可以將不同的模塊用不同的顏色區(qū)分,建議用顏色區(qū)分各接口部件和關(guān)鍵模塊。接口部件封裝盡可能封裝的長一點,否則控制線多了以后可能不方便布線。-22-注意事項PC,IR最好一直傳遞到最后一級,這樣方便觀測流水線運行的狀況。流水線各級是否產(chǎn)生氣泡可以用LED指示燈顯示,方便觀察流水線運行狀況。各里程碑版本經(jīng)過充分測試后,備份后再開新的分支進行新的開發(fā),以避免新版本無法開發(fā)成功,老版本又檢查不了的悲劇。-23-方案不是唯一的,相信自己的方案是最好的!目標要定在打通關(guān),這樣結(jié)果才會是最好的!-24-理想流水線所有對象均通過同樣的部件(階段)不同階段之間無共享資源各段傳輸延遲一致(取最慢的同步)進入流水線的對象不受其他階段的影響適合工業(yè)流水線,指令處理不適合(相關(guān)性大)綠色部件為各段間接口,各段間通過接口傳遞什么?待加工的數(shù)據(jù)(處理什么)控制數(shù)據(jù)加工的控制信號、反饋信號(如何處理)否則后段無法對數(shù)據(jù)進行處理-25-IDEXMEMWBIF可支持理想流水線的多周期CPU消除通路中結(jié)構(gòu)相關(guān)指令數(shù)據(jù)存儲器分離寄存器堆寫入和讀出過程分離(先寫后讀,下跳沿寫)將指令過程分成5個階段IFIDEXMEMWB不同階段之間設置緩沖接口部件構(gòu)建各階段之間的接口部件(本質(zhì)是寄存器)流水線通過接口傳遞與指令相關(guān)的數(shù)據(jù)信息,控制信息,反饋信息后續(xù)部件對數(shù)據(jù)的加工處理依賴于前階段傳遞過來的信息ID段譯碼生成該指令的所有控制信號控制信號向后傳遞后續(xù)部件控制信號不再單獨生成單周期CPU實現(xiàn)中的控制器在ID段復用單周期改五段流水-27-5段流水控制信號傳遞-28-接口定義(僅供參考,并不一定準確)IFIF/ID數(shù)據(jù)IRIDID/EX數(shù)據(jù)IRWriteReg#AB控制ALUOP、IMM、ALUSrc、beq,bne,jmpMemReqMemWriteRegWriteMemReadEXEX/MEM數(shù)據(jù)IR
WriteReg#AluResultRt控制MemReqMemWriteRegWriteMemReadMEMMEM/WB數(shù)據(jù)WriteReg#WriteBackData控制RegWritePCIR建議各段均傳遞,便于觀察流水線-29-指令相關(guān)檢測(沖突冒險檢測)ID段進行檢測不同類型指令有區(qū)分R型指令涉及兩個源操作數(shù)Rs,RtI型指令涉及一個或兩個源操作數(shù)Rs(Lui無相關(guān))其他分支指令(Beq,Bne,Bgt)涉及兩個源操作數(shù)Rs,RtJ型指令(無相關(guān),直接產(chǎn)生分支相關(guān)信號)相關(guān)數(shù)據(jù)需與后續(xù)段中的結(jié)果寄存器編號比較EX.WriteReg
Mem.WriteRegWB.WriteReg???相關(guān)檢測器封裝(僅供參考)輸入(?)Rt,Rs,EX.WriteReg
Mem.WriteRegWB.WriteReg指令Opcode與Func輸出數(shù)據(jù)相關(guān)信號分支相關(guān)信號-31-氣泡插入分支相關(guān)修改PC的值向前給出流水線阻塞信號清除已經(jīng)取出的無用指令數(shù)據(jù)相關(guān)向后插入氣泡向前給出流水線阻塞信號讓IF段暫停,信息保持不變讓ID段暫停,信息保持不變避免當前指令被新指令取代數(shù)據(jù)重定向重定向控制器放在那個階段?ID?EX?重定向數(shù)據(jù)來源?由哪個部件給出?采用數(shù)據(jù)重定向后是否還需要插入氣泡?Load-Use沖突如何解決?數(shù)據(jù)重定向流水控制示意圖-34-全冒險處理機制的流水CPU-35-動態(tài)分支預測什么階段進行動態(tài)分支預測?如何預測?預測結(jié)果對實際分支指令的執(zhí)行有無影響,何種影響?限定BTB緩沖區(qū)大小為4,可容納4條分支指令如何進行全相聯(lián)比較,多余4條分支指令時如何淘汰。LRU算法如何用硬件實現(xiàn)-36-單周期CPU設計一般路線問題迭代式設計模式,復雜度高,開發(fā)周期長,正確率低新增不同類型指令可能會修改全圖復雜度高,圖的布局對開發(fā)有較大影響錯誤易傳遞,修復代價高,修改錯誤可能導致圖的大量變更難以追溯,設計過程難以復現(xiàn)每增加一條指令備份一個版本需要工程化的方法-37-單周期CPU設計工程化路線圖選擇指令系統(tǒng)構(gòu)建主要功能部件PC指令存儲器IM寄存器堆RF運算器ALU數(shù)據(jù)存儲器DM立即數(shù)擴展器地址轉(zhuǎn)移邏輯NPC控制器logisim中選用適當部件完成前5個部件一次性構(gòu)建所有數(shù)據(jù)通路(各部件之間數(shù)據(jù)流動)5大功能部件之間的連接關(guān)系不同指令數(shù)據(jù)通路不一樣指令規(guī)模越大,連接越復雜,難度提升采用工程化的方法一次性解決構(gòu)建控制器、地址轉(zhuǎn)移邏輯NPC等部件連接,控點連接,調(diào)試構(gòu)建數(shù)據(jù)通路工程化方法指令系統(tǒng)數(shù)據(jù)通路表格描述各部件之間的連接關(guān)系記錄各部件輸入端數(shù)據(jù)來源忽略控制類信號僅保留數(shù)據(jù)類信號-39-主要功能部件輸入來源表單條指令數(shù)據(jù)通路構(gòu)建方法Step1:閱讀單條指令,改寫成RTL根據(jù)RTL功能填寫對應指令的數(shù)據(jù)通路表如發(fā)現(xiàn)新增需求,進入Step2Step2:新增需求的處理合并至已有部件(修改已
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高速公路ETC系統(tǒng)升級改造合同
- 2025年度智能物流平臺合作返點合同范本4篇
- 2025年度現(xiàn)代農(nóng)業(yè)設施承攬合同補充協(xié)議4篇
- 2025年度油氣儲罐安全檢測與改造合同4篇
- 2025年10kv線路施工綠色環(huán)保與節(jié)能減排合同3篇
- 2025年度智能車位租賃合同轉(zhuǎn)讓協(xié)議書(全新版)4篇
- 2024年車輛購銷合同示范文本
- 2025年度智能儲煤場租賃管理服務合同4篇
- 2024礦用設備租賃合同
- 2025年度城市更新改造項目承包合同簽約與歷史文化保護協(xié)議(2024版)3篇
- 2024年??谑羞x調(diào)生考試(行政職業(yè)能力測驗)綜合能力測試題及答案1套
- 六年級數(shù)學質(zhì)量分析及改進措施
- 一年級下冊數(shù)學口算題卡打印
- 2024年中科院心理咨詢師新教材各單元考試題庫大全-下(多選題部分)
- 真人cs基于信號發(fā)射的激光武器設計
- 【閱讀提升】部編版語文五年級下冊第三單元閱讀要素解析 類文閱讀課外閱讀過關(guān)(含答案)
- 四年級上冊遞等式計算練習200題及答案
- 法院后勤部門述職報告
- 2024年國信證券招聘筆試參考題庫附帶答案詳解
- 道醫(yī)館可行性報告
- 視網(wǎng)膜中央靜脈阻塞護理查房課件
評論
0/150
提交評論