第2章-中央處理器與指令系統(tǒng)_第1頁
第2章-中央處理器與指令系統(tǒng)_第2頁
第2章-中央處理器與指令系統(tǒng)_第3頁
第2章-中央處理器與指令系統(tǒng)_第4頁
第2章-中央處理器與指令系統(tǒng)_第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第2章CPU與指令系統(tǒng)2.1基本概念2.2指令周期2.3指令的執(zhí)行過程2.4指令的流水執(zhí)行2.5指令和數(shù)據(jù)的尋址方式2.6指令系統(tǒng)分類2.1CPU基本概念CPU的基本功能

指令控制操作控制數(shù)據(jù)運(yùn)算異常和中斷處理CPU的擴(kuò)展功能存儲(chǔ)管理數(shù)據(jù)緩存總線管理功耗管理2.1CPU基本概念CPU的基本構(gòu)成:控制器,運(yùn)算器,寄存器,[cache、MMU]寄存器:用于(臨時(shí))存放各種信息。指令寄存器(IR):存放當(dāng)前執(zhí)行的指令,為指令譯碼器提供指令信息。程序計(jì)數(shù)器(PC):存放指令的地址,從存儲(chǔ)器取指令時(shí)根據(jù)PC值進(jìn)行。數(shù)據(jù)寄存器(DR):存放操作數(shù)和運(yùn)算結(jié)果,以減少訪問存儲(chǔ)器的次數(shù)。地址寄存器(AR):存放操作數(shù)的地址。狀態(tài)寄存器(SR):存儲(chǔ)運(yùn)算中的狀態(tài),作為控制程序的條件。數(shù)據(jù)通路:寄存器與ALU之間傳遞信息的線路。通常有2種建立方法:用數(shù)據(jù)總線(單總線,雙總線,多總線)用專用通路(如MIPS)數(shù)據(jù)總線結(jié)構(gòu)在各寄存器以及ALU之間建立一條或幾條公共的數(shù)據(jù)總線,寄存器間的數(shù)據(jù)傳輸通過這些總線完成。一條總線可以連接多個(gè)部件,總線連接方式可以減少線路的數(shù)量??偩€上可以有多個(gè)部件同時(shí)接收數(shù)據(jù),但任一時(shí)刻只能有一個(gè)部件向同一條總線發(fā)送數(shù)據(jù)。常用的是單總線結(jié)構(gòu),即數(shù)據(jù)通路只用一條總線構(gòu)成,一次傳輸一個(gè)數(shù)據(jù)。專用通路結(jié)構(gòu)在各寄存器與ALU之間根據(jù)指令執(zhí)行過程中的操作和數(shù)據(jù)流向來安排功能部件并建立相應(yīng)的數(shù)據(jù)傳輸通路。每條數(shù)據(jù)傳輸通路都是專用的,不共享使用。在數(shù)據(jù)傳輸和操作中可以做到互不相關(guān),控制比較簡單,各寄存器之間的數(shù)據(jù)傳輸可以并行進(jìn)行,從而達(dá)到較高的性能。時(shí)間概念指令周期是從一條指令的啟動(dòng)到下一條指令的啟動(dòng)的時(shí)間間隔。機(jī)器周期指令周期中包含若干個(gè)基本操作步驟,如訪問存儲(chǔ)器和運(yùn)算等。每個(gè)基本操作的時(shí)間稱為機(jī)器周期。時(shí)鐘周期是計(jì)算機(jī)時(shí)鐘主頻的周期。一個(gè)機(jī)器周期可以包含若干個(gè)時(shí)鐘周期2.2指令的執(zhí)行過程

例:運(yùn)算指令的執(zhí)行過程采用專用通路結(jié)構(gòu):如add$1,$2,$3(1)取指令。IR=Memory[PC]instructionfetchPC=PC+4一、運(yùn)算指令的執(zhí)行過程專用通路結(jié)構(gòu):如add$1,$2,$3(2)指令譯碼及讀取操作數(shù)。A=R[IR[25:21]]B=R[IR[20:16]]InstructiondecodeOperandfetch一、運(yùn)算指令的執(zhí)行過程專用通路結(jié)構(gòu):如add$1,$2,$3(3)執(zhí)行。ALUoutput=A+Bexecution一、運(yùn)算指令的執(zhí)行過程專用通路結(jié)構(gòu):如add$1,$2,$3(4)寫回。R[IR[15:11]]=ALUoutputwriteback一、運(yùn)算指令的執(zhí)行過程采用單總線結(jié)構(gòu):如ADDR3,R1,R2(1)PC→MAR(2)PC+1→PCPCMAR一、運(yùn)算指令的執(zhí)行過程單總線結(jié)構(gòu):如ADDR3,R1,R2(1)PC→MAR(2)PC+1→PC(3)DBUS→MDR(4)MDR→IRMDRIR指令譯碼器一、運(yùn)算指令的執(zhí)行過程單總線結(jié)構(gòu):如ADDR3,R1,R2(1)PC→MAR(2)PC+1→PC(3)DBUS→MDR(4)MDR→IR(5)R1→YR1Y一、運(yùn)算指令的執(zhí)行過程單總線結(jié)構(gòu):如ADDR3,R1,R2(1)PC→MAR(2)PC+1→PC(3)DBUS→MDR(4)MDR→IR(5)R1→Y(6)R2+Y→ZR2Z一、運(yùn)算指令的執(zhí)行過程單總線結(jié)構(gòu):如ADDR3,R1,R2(1)PC→MAR(2)PC+1→PC(3)DBUS→MDR(4)MDR→IR(5)R1→Y(6)R2+Y→Z(7)Z→R3R3狀態(tài)寄存器2.4指令的流水執(zhí)行流水技術(shù)用于提高指令的執(zhí)行速度和數(shù)據(jù)運(yùn)算速度。流水工作方式將一個(gè)計(jì)算任務(wù)細(xì)分成若干個(gè)子任務(wù)每個(gè)子任務(wù)由專門的部件處理多個(gè)計(jì)算任務(wù)依次進(jìn)行并行處理流水周期

2.4指令的流水執(zhí)行計(jì)算機(jī)流水線中的計(jì)算任務(wù)可以是可以是一個(gè)算術(shù)邏輯運(yùn)算操作,也可以是一條指令的執(zhí)行。指令級(jí)流水線是把一條指令的執(zhí)行過程分成多個(gè)子過程,由各個(gè)部件進(jìn)行輪流處理后完成執(zhí)行過程。不必等到上一條指令的完成就可以開始下一條指令的執(zhí)行。指令的流水線在高性能的微處理器中被普遍采用。指令的流水線指令流水線由一系列串聯(lián)的流水段組成。每個(gè)流水段完成指令執(zhí)行的一個(gè)操作步驟。各個(gè)流水段之間設(shè)有緩沖寄存器(流水寄存器),以暫時(shí)保存上一個(gè)流水段對指令處理的結(jié)果。流水線中的每個(gè)流水段構(gòu)成流水線的一級(jí)。在專用通路結(jié)構(gòu)的CPU中,通常采用5個(gè)流水段(5級(jí)流水)取指(IF)--InstructionFetch譯碼(ID)--InstructionDecode運(yùn)算執(zhí)行(EX)--Execute訪存(MEM)--Memory寫回(WB)--WriteBack流水線的性能吞吐率衡量指令流水線的一個(gè)重要指標(biāo)。單位時(shí)間內(nèi)流水線能處理的任務(wù)數(shù)量與流水的節(jié)拍時(shí)間(流水周期)有關(guān)??蓪⒘魉芷诙楦髁魉翁幚頃r(shí)間的最大值,加上流水寄存器的延遲時(shí)間。加速比流水方式的工作速度與等效的順序工作方式時(shí)間的比值時(shí)空圖-根據(jù)流水段來畫5級(jí)流水線在執(zhí)行8條指令時(shí):建立時(shí)間:從第一條指令進(jìn)入流水線到離開流水線的時(shí)間。排空時(shí)間:從最后一條指令進(jìn)入流水線到離開流水線的時(shí)間。無流水時(shí):5個(gè)時(shí)間節(jié)拍處理1條指令。有流水時(shí):12個(gè)時(shí)間節(jié)拍處理了8條指令流水線的作用由時(shí)空圖可見:對進(jìn)入流水線的每條指令,其執(zhí)行時(shí)間都沒有縮短。指令流水通過指令之間的重疊來提高吞吐率。在流水線中,當(dāng)任務(wù)飽滿時(shí),任務(wù)源源不斷地輸入流水線,不論有多少個(gè)流水段,每隔一個(gè)流水周期都能輸出一個(gè)任務(wù)。從而在宏觀上提高了處理速率。時(shí)空圖-根據(jù)指令序列來畫(常用)便于分析指令之間的關(guān)系指令流水線的相關(guān)性1.資源相關(guān)(結(jié)構(gòu)相關(guān))流水執(zhí)行的多條指令同時(shí)使用同一個(gè)部件。由于硬件資源不夠造成的,與硬件結(jié)構(gòu)有關(guān)。2.數(shù)據(jù)相關(guān)流水執(zhí)行的多條指令訪問相同的數(shù)據(jù),使得相關(guān)的指令不能并行地執(zhí)行。RAW(讀后寫)WAR(讀后寫)WAW(寫后寫)3.控制相關(guān)轉(zhuǎn)移指令引起的相關(guān)無法確定那一條指令是后繼指令,使得后繼指令不能進(jìn)入流水線。指令流水線的資源相關(guān)Addd:雙精度加法指令F2:浮點(diǎn)數(shù)寄存器指令流水線的數(shù)據(jù)相關(guān)寫后讀(RAW)消除數(shù)據(jù)相關(guān)影響的方法停頓(硬件措施)編譯檢測(軟件措施)相關(guān)專用通路(硬件措施)解決數(shù)據(jù)相關(guān)性的方法流水線的停頓:停頓N個(gè)節(jié)拍解決數(shù)據(jù)相關(guān)性的方法編譯檢測:加入空操作(NOP)解決數(shù)據(jù)相關(guān)性的方法相關(guān)專用通道在ALU的輸出端到它的輸入端之間設(shè)置一條數(shù)據(jù)線路,使得RAW相關(guān)時(shí),上一條指令的結(jié)果能直接送到ALU的輸入端。使得下一條指令能夠及時(shí)得到上一條指令的結(jié)果,而不用到寄存器中去讀取,從而避免了流水線的停頓。指令流水線的控制相關(guān)改進(jìn)轉(zhuǎn)移指令執(zhí)行性能的方式將轉(zhuǎn)移指令的執(zhí)行在流水線中提前進(jìn)行典型指令流水線的特點(diǎn)流水線分為IF、ID、EX、MEM、WB五個(gè)等長的時(shí)間階段轉(zhuǎn)移指令在第二個(gè)階段被識(shí)別從而可確定如何取下一條指令沒有相關(guān)專用通路一個(gè)時(shí)鐘周期內(nèi)只能啟動(dòng)執(zhí)行一條指令一個(gè)時(shí)鐘周期內(nèi)只能寫回一條指令讀操作數(shù)從指令譯碼時(shí)開始讀到為止2.5指令系統(tǒng)指令格式和指令編碼

指令和數(shù)據(jù)的尋址方式

指令系統(tǒng)2.5.1指令格式和指令編碼指令格式instructionformat操作碼[,地址碼][,條件碼][,下一條指令的地址]一、操作碼opcode

固定長度操作碼:便于譯碼,擴(kuò)展性差

可變長度操作碼:能縮短指令平均長度二、地址碼addressingcode

零地址指令,如NOP,CLR

一地址指令,如INCR1

二地址指令,如ADDR1,R2

三地址指令,如ADDR1,R2,R3指令格式和指令編碼三、指令長度

固定長度:取指快、譯碼簡單。 單字長、雙字長、多字長

可變長度:可提高編碼效率四、指令助記符助記符mnemonics如add、r1偽指令directive累加器accumulator存放操作數(shù)和操作結(jié)果的一個(gè)寄存器通用寄存器generalpurposeregister存放操作數(shù)和操作結(jié)果的一組寄存器指令和數(shù)據(jù)的尋址方式存儲(chǔ)器中既存儲(chǔ)指令,又存儲(chǔ)數(shù)據(jù)。在存儲(chǔ)器中尋找指令或數(shù)據(jù)的方法有多種:按地址尋找按內(nèi)容尋找按順序?qū)ふ以诮^大多數(shù)計(jì)算機(jī)中都采用按地址尋找的方式,指令或數(shù)據(jù)的尋找問題變成了構(gòu)成其地址的問題在按地址尋找存儲(chǔ)內(nèi)容的計(jì)算機(jī)中,對指令的地址碼進(jìn)行編碼,以形成操作數(shù),尋找操作數(shù)在寄存器或存儲(chǔ)器中地址的方式稱為尋址方式。指令和數(shù)據(jù)的尋址方式

1.數(shù)據(jù)類型數(shù)值型整型字節(jié)、字、雙字浮點(diǎn)數(shù)單精度、雙精度字符型ASCII數(shù)據(jù)類型在指令中的表達(dá)操作碼表達(dá)地址碼表達(dá)數(shù)據(jù)編碼表達(dá)指令和數(shù)據(jù)的尋址方式2.數(shù)據(jù)存儲(chǔ)字節(jié)順序(Endianness)大數(shù)端(BigEndian)最低字節(jié)存儲(chǔ)在高地址小數(shù)端(LittleEndian)最低字節(jié)存儲(chǔ)在低地址例:數(shù)據(jù)000F4240:數(shù)據(jù)類型及其存儲(chǔ)方式 3.數(shù)據(jù)對齊方式(Alignment)指令和數(shù)據(jù)的尋址方式指令的尋址方式順序執(zhí)行 程序計(jì)數(shù)器(PC)尋址非順序執(zhí)行

轉(zhuǎn)移指令 如:jump$1000 bgtR1指令2PC指令3指令1操作數(shù)尋址方式

addressingmodes 1.隱含方式

如“ADDADR”中的累加器 2.立即數(shù)方式

如INT#3 3.寄存器方式

如INCR1操作數(shù)R1操作數(shù)尋址方式(續(xù))4.直接尋址如INC1000操作數(shù)1000操作數(shù)尋址方式(續(xù))

5.間接尋址

寄存器間接,如INC(R1)

存儲(chǔ)器間接,如INC(1000)A操作數(shù)A操作數(shù)R11000操作數(shù)尋址方式(續(xù))

6.相對尋址

如INC8(PC)操作數(shù)8

7.變址和基址尋址

如INC8(R1)

變址尋址indexedmode-便于數(shù)組訪問基址尋址basedmode-可擴(kuò)大尋址范圍,可實(shí)現(xiàn)程序浮動(dòng)I操作數(shù)R188.復(fù)合尋址

如:INC8(PC+R1)

INC(R1)(1000)R18各種常見尋址方式的匯編指令表示指令系統(tǒng)一、指令集設(shè)計(jì)原則完備性:能夠覆蓋所需的各種功能正交性:無功能完全相同的指令可擴(kuò)充性:保留一定余量的操作碼空間以供以后功能擴(kuò)展。有效性:利用該指令系統(tǒng)編寫的程序能高效地運(yùn)行。兼容性:機(jī)器指令的通用性。常見指令類型數(shù)據(jù)傳送:move,load,store算術(shù)運(yùn)算:add,sub,mult,div,comp邏輯運(yùn)算:and,or,neg,shift移位運(yùn)算shiftDatashiftoperations指令類型數(shù)據(jù)傳送:move,load,store算術(shù)運(yùn)算:add,sub,mult,div,comp邏輯運(yùn)算:and,or,neg,shift程序控制:jump,branch,jsr,ret,int輸入輸出:in,out堆棧操作:push,pop字符串:如alpha中CMPBGE,INSWH等多媒體指令:DSP系統(tǒng)指令:如奔騰機(jī)中程序流控制-轉(zhuǎn)移指令條件轉(zhuǎn)移vs無條件轉(zhuǎn)移相對轉(zhuǎn)移vs絕對轉(zhuǎn)移狀態(tài)寄存器SRNZVCPN:符號(hào)標(biāo)志位NegativeZ:全零標(biāo)志位ZreoV:溢出標(biāo)志位OverflowC:進(jìn)位/借位標(biāo)志位CarryP:奇偶標(biāo)志位Parity程序流控制-轉(zhuǎn)子指令功能實(shí)現(xiàn)子程序調(diào)用步驟

將下一條指令的地址(PC的值)存放在一個(gè)臨時(shí)存儲(chǔ)位置

將子程序的起始地址裝入PC中子程序返回指令

將存放在臨時(shí)存儲(chǔ)位置的指令地址取出放回PC

CISC和RISC復(fù)雜指令系統(tǒng)計(jì)算機(jī)(CISC)ComplexInstructionSetComputer指令系統(tǒng)復(fù)雜:指令數(shù)目大于200條,尋址方式多,指令格式多。指令串行執(zhí)行:執(zhí)行步驟多,需要多個(gè)時(shí)鐘周期。各種指令都可訪問存儲(chǔ)器。有較多專用寄存器。編譯程序難以進(jìn)行高效的代碼優(yōu)化。CISC和RISC精簡指令系統(tǒng)計(jì)算機(jī)(RISC)ReducedInstructionSetComputer簡化的指令系統(tǒng)以寄存器-寄存器方式工作采用流水技術(shù)使用較多的通用寄存器以減少訪存采用優(yōu)化編譯技術(shù)CISCComplexInstructionSetComputerRISCReducedInstructionSetComputer指令種類和長

溫馨提示

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

評論

0/150

提交評論