計算機組成原理五章(共104張)_第1頁
計算機組成原理五章(共104張)_第2頁
計算機組成原理五章(共104張)_第3頁
計算機組成原理五章(共104張)_第4頁
計算機組成原理五章(共104張)_第5頁
已閱讀5頁,還剩98頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

計算機組成原理五章第一頁,共104頁。第二頁,共104頁。100loop:loadr3,0(r4);從存儲器取數據放到r3中存儲器地址為r4中的內容加0,addir4,r4,4;存儲器地址加4,指向下一個存儲器字108addr1,r1,r3;累加,累加和放在r1中112subir2,r2,1;計數器減1116bner2,loop;若計數器不為0,則轉移到loop處繼續執行120storer1,0(r4);否則,把累加和送到存儲器中,存儲器地址為r4中的內容加0.基本指令構成的程序第三頁,共104頁。A+100032bit567registerr1r3ALUR23R41000A=0opcoder1r1r35位5位5位5位Addr1,r2,r3;r1=r2+r3第四頁,共104頁。5.1處理機的基本構成第五頁,共104頁。5.2ALU的設計算術運算邏輯運算加法運算減法運算邏輯與運算邏輯或運算第六頁,共104頁。第七頁,共104頁。5.3寄存器堆的設計opcoderdrs1rs25位5位5位5位Addr1,r2,r3;r1=r2+r3第八頁,共104頁。第九頁,共104頁。Rs1=00111Rs2=11110Rd=00001第十頁,共104頁。第十一頁,共104頁。000..1110001000111111105位5位5位5位Addr1,r2,r3;r1=r2+r3第十二頁,共104頁。5.4處理機的數據路徑取指令電路算術邏輯操作電路存儲器訪問電路轉移控制電路第十三頁,共104頁。5.4.1取指令電路第十四頁,共104頁。5.4.2算術邏輯操作電路opcoderdrs1rs232位5位5位5位5位Addr1,r2,r3;r1=r2+r3Rs=registersourceRd=registerdestination第十五頁,共104頁。寄存器尋址第十六頁,共104頁。opcoderdrs1立即數寄存器—立即數尋址第十七頁,共104頁。第十八頁,共104頁。5.4.3存儲器訪問電路opcoderdrs1load:opcoders1store:rs2第十九頁,共104頁。寄存器尋址opcoderdrs1load:opcoders1store:rs2第二十頁,共104頁。opcoderdrs1load:opcoders1store:ImmediaterdImmediate第二十一頁,共104頁。opcoderdrs1load:opcoders1store:rs2rs2rd第二十二頁,共104頁。opcoders1store:rs2rd第二十三頁,共104頁。opcoders1store:rs2rd第二十四頁,共104頁。5.4.4轉移控制電路opcodecondDisplacementbranch:opcoders1jump:rs2rdopcoders1jump:rdImmediate第二十五頁,共104頁。opcodecondDisplacementbranch:cond?pc=pc+1pc=pc+Disp.YN第二十六頁,共104頁。opcoders1jump:rs2rdrd2.rs1+rs2pc第二十七頁,共104頁。opcoders1jump:rs2rdopcoders1jump:rdImmediate第二十八頁,共104頁。opcodecondDisplacementbranch:第二十九頁,共104頁。Addrd,rs1,rs2;addird,rs1,immediate第三十頁,共104頁。5.4.5總體數據路徑第三十一頁,共104頁。處理機的指令系統和指令格式第三十二頁,共104頁。第三十三頁,共104頁。5.5.1控制信號定義ALUOP:SELSTSELIMME:SELBRANCHSELLOAD:WRITEPC:WRITEZEROWRITEREGWRITEMEM第三十四頁,共104頁。5.5.2處理機執行指令的步驟ALU指令load/store指令轉移指令取指令、譯碼、執行。第三十五頁,共104頁。ALU指令Opcoderd,rs1,rs2Opcoderd,rs1,immeIF-IDEXEWBAddird,rs1,imme第三十六頁,共104頁。load/store指令Loadrd,rs1,imme;storerd,rs1,imme;IF,ID,EXE,READ,WBIF,ID,EXE,WRITE第三十七頁,共104頁。轉移指令bnedispbeqdispbranchdisp第三十八頁,共104頁。5.5.3控制信號的產生ALUOP0=or+ori+sub+subiALUOP1=add+addi+sub+subi+load+store第三十九頁,共104頁。ALUOP0=O5O4O3O1ALUOP1=O5O4O3O2+O5O4O3O2O1第四十頁,共104頁。其它控制信號第四十一頁,共104頁。SELST=storeSELIMME=andi+ori+addi+subi+load+storeSELBRANCH=bneZERO+beqZERO+branchSELLOAD=loadWRITEZERO=and+andi+or+ori+add+addi+sub+subiWRITEREG=and+andi+or+ori+add+addi+sub+subi+loadWRITEMEM=storeWRITEPC=1第四十二頁,共104頁。Storerd,rs1,imme第四十三頁,共104頁。5.5.4單周期處理機的缺點T=I×CPI×TPCI:是程序執行時的動態指令條數。CPI:是每條指令執行所需周期的平均值。TPC:每個周期的時間長度。第四十四頁,共104頁。5.6多周期處理機的控制部件設計第四十五頁,共104頁。多周期處理機的控制部件設計第四十六頁,共104頁。第四十七頁,共104頁。1cycleIF第四十八頁,共104頁。2cycleID第四十九頁,共104頁。3cycleEXE第五十頁,共104頁。4cycleR/Wmemory第五十一頁,共104頁。第五十二頁,共104頁。如:8種類型的異常事件,可以使用3位向量Displacement異常類型向量ALUOP0=or+ori+sub+subiDisplacementOprd,rs1,rs2第四十頁,共104頁。第十九頁,共104頁。EXC=Overflow+Invaild第二十九頁,共104頁。第五十頁,共104頁。Overflow=P63第四十七頁,共104頁。IF,ID,EXE,WRITE第五十四頁,共104頁。BT1/0001/0001111005cycleWBOperationsSignals第五十三頁,共104頁。第五十四頁,共104頁。第五十五頁,共104頁。Oprd,rs1,rs2oprd,rs1,immediateLoadrd,rs1,immestorerd,rs1,immeclk第五十六頁,共104頁。Oprd,rs1,rs2oprd,rs1,immediateLoadrd,rs1,immestorerd,rs1,imme第五十七頁,共104頁。第五十八頁,共104頁。第五十九頁,共104頁。第六十頁,共104頁。第六十一頁,共104頁。第六十二頁,共104頁。第六十三頁,共104頁。5.7微程序控制5.7.0微程序控制概念5.7.1微程序控制電路結構5.7.2微指令字段定義5.7.3微程序設計第六十四頁,共104頁。5.7.0微程序控制概念pcμpc第六十五頁,共104頁。第六十六頁,共104頁。WRITEPCSELLDSTWRITEMEMWRITEIRSELLOADSELSTWRETEREGSELALUASELALUBALUOPWRITEZERO

10011/01/00110100IF(S0)第六十七頁,共104頁。5.7.1微程序控制電路結構WRITEPCSELLDSTWRITEMEMWRITEIRSELLOADSELSTWRETEREGSELALUASELALUBALUOPWRITEZERO

10011/01/00110100IF(S0)第六十八頁,共104頁。第六十九頁,共104頁。WRITEPCSELLDSTWRITEMEMWRITEIRSELLOADSELSTWRETEREGSELALUASELALUBALUOPWRITEZERO

10011/01/00110100IF(S0)ID(S1)WRITEPCSELLDSTWRITEMEMWRITEIRSELLOADSELSTWRETEREGSELALUASELALUBALUOPWRITEZERO

BT1/0001/000111100ALUEXE(S2)WRITEPCSELLDSTWRITEMEMWRITEIRSELLOADSELSTWRETEREGSELALUASELALUBALUOPWRITEZERO

01/0001/000000OP1OP00BT=branch+bneZERO+beqZEROALUWB(S6)WRITEPCSELLDSTWRITEMEMWRITEIRSELLOADSELSTWRETEREGSELALUASELALUBALUOPWRITEZERO

01/000001000OP1OP01ALUEXE(S3)WRITEPCSELLDSTWRITEMEMWRITEIRSELLOADSELSTWRETEREGSELALUASELALUBALUOPWRITEZERO

01/0001/000001OP1OP00ALUWB(S7)WRITEPCSELLDSTWRITEMEMWRITEIRSELLOADSELSTWRETEREGSELALUASELALUBALUOPWRITEZERO

01/00001/01001OP1OP01第七十頁,共104頁。LOADEXE(S4)WRITEPCSELLDSTWRITEMEMWRITEIRSELLOADSELSTWRETEREGSELALUASELALUBALUOPWRITEZERO

010011/00001100LOADMEM(S8)WRITEPCSELLDSTWRITEMEMWRITEIRSELLOADSELSTWRETEREGSELALUASELALUBALUOPWRITEZERO

010011/00001100LOADWB(S10)WRITEPCSELLDSTWRITEMEMWRITEIRSELLOADSELSTWRETEREGSELALUASELALUBALUOPWRITEZERO

010011/01001100STOREEXE(S5)WRITEPCSELLDSTWRITEMEMWRITEIRSELLOADSELSTWRETEREGSELALUASELALUBALUOPWRITEZERO

01001/010001100STOREMEM(S9)WRITEPCSELLDSTWRITEMEMWRITEIRSELLOADSELSTWRETEREGSELALUASELALUBALUOPWRITEZERO

01101/010001100第七十一頁,共104頁。加1無條件轉移散轉條件轉移微程序計數器值的改變第七十二頁,共104頁。第七十三頁,共104頁。5.7.2微指令字段定義Q2ALUOPS1S2ALUDestMemAdrMemDestDispatch

JAddr

微操作信號微地址產生方式目標微地址(13位)(2位)(logMc位)第七十四頁,共104頁。取指微指令譯碼微指令散轉表ALUEXE微指令ALUWB微指令LOADEXE微指令LOADMEM微指令LOADWB微指令STOREEXE微指令STOREMEM微指令轉移微指令Addr1,r2,r3;Addir1,r2,234;Loadr1,r2,44;Storer1,r3,45;Branch2222;第七十五頁,共104頁。第七十六頁,共104頁。第七十七頁,共104頁。第七十八頁,共104頁。第七十九頁,共104頁。5.7.3微程序設計AddQ2ALUOPS1S2ALUDestMemAdrMemDestDispatchJAddrFetchaddpc1pcpcIRNextrs2Table第八十頁,共104頁。第八十一頁,共104頁。第八十二頁,共104頁。第八十三頁,共104頁。第八十四頁,共104頁。第八十五頁,共104頁。5.8異常事件處理什么是異常?異常事件處理第八十六頁,共104頁。5.8.1什么是異常?

異常:指令執行過程中,由于操作非法或指令非法引起的事件.如:除數為零,結果上溢,指令碼沒有定義等.異常改變處理機正常指令的執行次序,但它與轉移指令又有本質的區別.轉移指令是計劃好的轉移事件,而異常是隨機事件.

第八十七頁,共104頁。第八十八頁,共104頁。5.8.2異常事件處理異常事件的處理:1.異常事件的檢測,即當異常事件發生時應能讓處理機知曉.2.處理機應有相應的硬件機制,實現向異常事件處理程序的轉移及處理完畢后返回到用戶程序。第八十九頁,共104頁。用戶正常程序異常處理程序異常產生硬件自動檢測到硬件實現轉移到處理程序入口硬件返回到用戶正常程序斷點第九十頁,共104頁。確定異常處理程序入口的方法查詢法向量法第九十一頁,共104頁。異常處理程序僅一個入口讀處理機狀態處理類型1異常處理程序處理類型2

溫馨提示

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

評論

0/150

提交評論