[經(jīng)濟(jì)學(xué)]第二章--中央處理器與指令系統(tǒng)課件_第1頁
[經(jīng)濟(jì)學(xué)]第二章--中央處理器與指令系統(tǒng)課件_第2頁
[經(jīng)濟(jì)學(xué)]第二章--中央處理器與指令系統(tǒng)課件_第3頁
[經(jīng)濟(jì)學(xué)]第二章--中央處理器與指令系統(tǒng)課件_第4頁
[經(jīng)濟(jì)學(xué)]第二章--中央處理器與指令系統(tǒng)課件_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、*1課程號(hào)碼: EE202-014教學(xué)年級(jí): 二年級(jí)授課教師: 趙忠華上課教室: 東上院405嵌入式系統(tǒng)原理與實(shí)驗(yàn)*2/60第二章 CPU與指令系統(tǒng)2.1 CPU基本概念2.2 指令的執(zhí)行過程2.3 指令的流水執(zhí)行2.4 指令系統(tǒng)*3/602.1 CPU基本概念CPU的基本功能 指令控制 操作控制 數(shù)據(jù)運(yùn)算 異常和中斷處理CPU的擴(kuò)展功能存儲(chǔ)管理數(shù)據(jù)緩存總線管理功耗管理*4/60CPU的基本構(gòu)成:控制器,運(yùn)算器,寄存器 cache、MMU寄存器:用于(臨時(shí))存放各種信息。指令寄存器(IR):存放當(dāng)前執(zhí)行的指令,為指令譯碼器提供指 令信息。程序計(jì)數(shù)器(PC):存放指令的地址,從存儲(chǔ)器取指令時(shí)根據(jù)

2、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)2.1 CPU基本概念*5/60數(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ù)

3、據(jù)通路只用一條總線構(gòu)成,一次傳輸一個(gè)數(shù)據(jù)。*6/60周期概念指令周期:從一條指令的啟動(dòng)到下一條指令的啟動(dòng)的時(shí)間間隔。機(jī)器周期:指令周期中包含若干個(gè)基本操作步驟,如訪問存儲(chǔ)器和運(yùn)算等。每個(gè)基本操作的時(shí)間稱為機(jī)器周期。機(jī)器周期基本上是根據(jù)存儲(chǔ)器的速度及ALU執(zhí)行周期的基本時(shí)間確定的。 時(shí)鐘周期:是計(jì)算機(jī)時(shí)鐘主頻的周期。一個(gè)機(jī)器周期可以包含若干個(gè)時(shí)鐘周期。*7/60采用單總線結(jié)構(gòu):如ADD R3, R1, R2(1) PCMAR(2) PC+1PCPCMAR一、運(yùn)算指令的執(zhí)行過程2.2 指令的執(zhí)行過程*8/60單總線結(jié)構(gòu):如ADD R3, R1, R2(1) PCMAR(2) PC+1PC(3) D

4、BUSMDR(4) MDRIRMDRIR指令譯碼器一、運(yùn)算指令的執(zhí)行過程2.2 指令的執(zhí)行過程*9/60單總線結(jié)構(gòu):如ADD R3, R1, R2(1) PCMAR(2) PC+1PC(3) DBUSMDR(4) MDRIR(5) R1YR1Y一、運(yùn)算指令的執(zhí)行過程2.2 指令的執(zhí)行過程*10/60單總線結(jié)構(gòu):如ADD R3, R1, R2(1) PCMAR(2) PC+1PC(3) DBUSMDR(4) MDRIR(5) R1Y(6) R2 + YZR2Z一、運(yùn)算指令的執(zhí)行過程2.2 指令的執(zhí)行過程*11/60單總線結(jié)構(gòu):如ADD R3, R1, R2(1) PCMAR(2) PC+1PC(

5、3) DBUSMDR(4) MDRIR(5) R1Y(6) R2 + YZ(7) ZR3R3狀態(tài)寄存器一、運(yùn)算指令的執(zhí)行過程2.2 指令的執(zhí)行過程*12/60流水技術(shù)用于提高指令的執(zhí)行速度和數(shù)據(jù)運(yùn)算速度。流水工作方式:將一個(gè)計(jì)算任務(wù)細(xì)分成若干個(gè)子任務(wù)每個(gè)子任務(wù)由專門的部件處理多個(gè)計(jì)算任務(wù)依次進(jìn)行并行處理流水周期 2.3 指令的流水執(zhí)行*13/60計(jì)算機(jī)流水線中的計(jì)算任務(wù)可以是一個(gè)算術(shù)邏輯運(yùn)算操作,也可以是一條指令的執(zhí)行。指令級(jí)流水線是把一條指令的執(zhí)行過程分成多個(gè)子過程,由各個(gè)部件進(jìn)行輪流處理后完成執(zhí)行過程。不必等到上一條指令的完成就可以開始下一條指令的執(zhí)行。指令的流水線在高性能的微處理器中被普

6、遍采用。2.3 指令的流水執(zhí)行*14/60指令的流水線指令流水線由一系列串聯(lián)的流水段組成。每個(gè)流水段完成指令執(zhí)行的一個(gè)操作步驟。各個(gè)流水段之間設(shè)有緩沖寄存器(流水寄存器),以暫時(shí)保存上一個(gè)流水段對(duì)指令處理的結(jié)果。流水線中的每個(gè)流水段構(gòu)成流水線的一級(jí)。在專用通路結(jié)構(gòu)的CPU中,通常采用5個(gè)流水段(5級(jí)流水)取指(IF)-Instruction Fetch譯碼(ID)-Instruction Decode運(yùn)算執(zhí)行(EX)-Execute訪存(MEM)-Memory寫回(WB)-Write Back*15/60吞吐率(throughput)衡量指令流水線的一個(gè)重要指標(biāo)。單位時(shí)間內(nèi)流水線能處理的任務(wù)數(shù)

7、量與流水的節(jié)拍時(shí)間(流水周期)有關(guān)。流水周期可定為各流水段處理時(shí)間的最大值,加上流水寄存器的延遲時(shí)間。指令流水節(jié)拍:是指令從一個(gè)流水段進(jìn)入下一個(gè)流水段的間隔時(shí)間,又稱為流水周期加速比流水方式的工作速度與等效的順序工作方式時(shí)間的比值流水線的性能*16/60時(shí)空?qǐng)D-根據(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條指令*17/60由時(shí)空?qǐng)D可見:對(duì)進(jìn)入流水線的每條指令,其執(zhí)行時(shí)間都沒有縮短。指令流水通過指令之間的重疊來提高吞吐率。在流

8、水線中,當(dāng)任務(wù)飽滿時(shí),任務(wù)源源不斷地輸入流水線,不論有多少個(gè)流水段,每隔一個(gè)流水周期都能輸出一個(gè)任務(wù)。在宏觀上提高了處理速率。流水線的作用*18/60便于分析指令之間的關(guān)系時(shí)空?qǐng)D-根據(jù)指令序列來畫*19/601. 資源相關(guān)(結(jié)構(gòu)相關(guān)):流水執(zhí)行的多條指令同時(shí)使用同一個(gè)部件;由于硬件資源不夠造成的,與硬件結(jié)構(gòu)有關(guān)。2. 數(shù)據(jù)相關(guān):流水線中指令之間的數(shù)據(jù)依賴關(guān)流水執(zhí)行的多條指令訪問相同的數(shù)據(jù),使得相關(guān)的指令不能并行地執(zhí)行;RAW(寫后讀)、WAR(讀后寫)、WAW(寫后寫)。3. 控制相關(guān)轉(zhuǎn)移指令引起的相關(guān)在指令執(zhí)行完成之前,無法確定那一條指令是后繼指令,使得后繼指令不能進(jìn)入流水線。指令流水線的相

9、關(guān)性*20/60 Addd: 雙精度加法指令F2: 浮點(diǎn)數(shù)寄存器指令流水線的資源相關(guān)*21/60寫后讀(RAW)指令流水線的資源相關(guān)*22/60停頓(硬件措施)編譯檢測(cè)(軟件措施)相關(guān)專用通路(硬件措施)消除數(shù)據(jù)相關(guān)影響的方法*23/60流水線的停頓:停頓N個(gè)節(jié)拍解決數(shù)據(jù)相關(guān)性的方法*24/60編譯檢測(cè):加入空操作(NOP)解決數(shù)據(jù)相關(guān)性的方法*25/60相關(guān)專用通道在ALU的輸出端到它的輸入端之間設(shè)置一條數(shù)據(jù)線路,使得RAW相關(guān)時(shí),上一條指令的結(jié)果能直接送到ALU的輸入端。使得下一條指令能夠及時(shí)得到上一條指令的結(jié)果,而不用到寄存器中去讀取,從而避免了流水線的停頓。解決數(shù)據(jù)相關(guān)性的方法*26/

10、60流水線分為IF、ID、EX、MEM、WB五個(gè)等長(zhǎng)的時(shí)間階段轉(zhuǎn)移指令在第二個(gè)階段被識(shí)別從而可確定如何取下一條指令沒有相關(guān)專用通路一個(gè)時(shí)鐘周期內(nèi)只能啟動(dòng)執(zhí)行一條指令一個(gè)時(shí)鐘周期內(nèi)只能寫回一條指令讀操作數(shù)從指令譯碼時(shí)開始讀到為止典型指令流水線的特點(diǎn)*27/60 指令格式和指令編碼 指令和數(shù)據(jù)的尋址方式 指令系統(tǒng)分類2.4 指令系統(tǒng)*28/60指令格式 instruction format 操作碼,地址碼,條件碼,下一條指令的地址一、操作碼 opcode固定長(zhǎng)度操作碼:便于譯碼,擴(kuò)展性差可變長(zhǎng)度操作碼:能縮短指令平均長(zhǎng)度二、地址碼 addressing code零地址指令,如NOP, CLR一地址

11、指令,如INC R1二地址指令,如ADD R1, R2三地址指令,如ADD R1, R2, R3指令格式和指令編碼*29/60三、指令長(zhǎng)度固定長(zhǎng)度:取指快、譯碼簡(jiǎn)單。 單字長(zhǎng)、雙字長(zhǎng)、多字長(zhǎng)可變長(zhǎng)度:可提高編碼效率四、指令助記符 助記符 mnemonics如add R1 偽指令 directive 累加器 accumulator存放操作數(shù)和操作結(jié)果的一個(gè)寄存器 通用寄存器 general purpose register存放操作數(shù)和操作結(jié)果的一組寄存器指令格式和指令編碼*30/60存儲(chǔ)器中既存儲(chǔ)指令,又存儲(chǔ)數(shù)據(jù)。在存儲(chǔ)器中尋找指令或數(shù)據(jù)的方法有多種:按地址尋找按內(nèi)容尋找按順序?qū)ふ以诮^大多數(shù)計(jì)算

12、機(jī)中都采用按地址尋找的方式,指令或數(shù)據(jù)的尋找問題變成了構(gòu)成其地址的問題在按地址尋找存儲(chǔ)內(nèi)容的計(jì)算機(jī)中,對(duì)指令的地址碼進(jìn)行編碼,以形成操作數(shù),尋找操作數(shù)在寄存器或存儲(chǔ)器中地址的方式稱為尋址方式。指令和數(shù)據(jù)的尋址方式*31/601. 數(shù)據(jù)類型數(shù)值型整型字節(jié)、字、雙字浮點(diǎn)數(shù)單精度、雙精度字符型ASCII數(shù)據(jù)類型在指令中的表達(dá)操作碼表達(dá)地址碼表達(dá)數(shù)據(jù)編碼表達(dá)指令和數(shù)據(jù)的尋址方式*32/602. 數(shù)據(jù)存儲(chǔ)字節(jié)順序(Endianness)大數(shù)端(Big Endian)最低字節(jié)存儲(chǔ)在高地址小數(shù)端(Little Endian)最低字節(jié)存儲(chǔ)在低地址例:數(shù)據(jù)000F4240:指令和數(shù)據(jù)的尋址方式*33/603.

13、數(shù)據(jù)對(duì)齊方式(Alignment)數(shù)據(jù)類型及其存儲(chǔ)方式指數(shù)據(jù)的邏輯存儲(chǔ)位置與物理訪問位置的對(duì)齊方式*34/60指令的尋址方式順序執(zhí)行程序計(jì)數(shù)器(PC)尋址非順序執(zhí)行轉(zhuǎn)移指令如: jump $1000 bgt R1指令2PC指令3指令1指令和數(shù)據(jù)的尋址方式*35/60addressing modes1. 隱含方式如: “ADD ADR”中的累加器2. 立即數(shù)方式如: INT #33. 寄存器方式如: INC R1操作數(shù)R1操作數(shù)尋址方式*36/604. 直接尋址方式如: INC 1000操作數(shù)1000操作數(shù)尋址方式*37/605. 間接尋址方式寄存器間接,如: INC (R1)存儲(chǔ)器間接,如:

14、INC (1000)A操作數(shù)A操作數(shù)R11000操作數(shù)尋址方式*38/606. 相對(duì)尋址方式 如: INC 8(PC)操作數(shù)8操作數(shù)尋址方式*39/607. 變址和基址尋址方式 如:INC 8(R1)變址尋址 indexed mode-便于數(shù)組訪問基址尋址 based mode-可擴(kuò)大尋址范圍,可實(shí)現(xiàn)程序浮動(dòng)I操作數(shù)R18操作數(shù)尋址方式*40/608. 復(fù)合尋址方式如: INC 8(PC+R1) INC (R1)(1000)R18操作數(shù)尋址方式*41/60各種常見尋址方式的匯編指令表示*42/6042/59一、指令集設(shè)計(jì)原則完備性:能夠覆蓋所需的各種功能正交性:無功能完全相同的指令可擴(kuò)充性:保

15、留一定余量的操作碼空間以供以后功能擴(kuò)展。有效性:利用該指令系統(tǒng)編寫的程序能高效地運(yùn)行。兼容性:機(jī)器指令的通用性。指令系統(tǒng)*43/60常見指令類型數(shù)據(jù)傳送:move, load, store算術(shù)運(yùn)算:add, sub, mult, div, comp邏輯運(yùn)算:and, or, neg, shift*44/60移位運(yùn)算shiftData shift operations*45/60指令類型數(shù)據(jù)傳送:move, load, store算術(shù)運(yùn)算:add, sub, mult, div, comp邏輯運(yùn)算:and, or, neg, shift程序控制:jump, branch, jsr, ret, i

16、nt輸入輸出:in, out堆棧操作:push, pop字符串:如alpha中CMPBGE, INSWH等多媒體指令:DSP系統(tǒng)指令:用于改變計(jì)算機(jī)系統(tǒng)的工作狀態(tài)。*46/60程序流控制-轉(zhuǎn)移指令條件轉(zhuǎn)移 vs 無條件轉(zhuǎn)移相對(duì)轉(zhuǎn)移 vs 絕對(duì)轉(zhuǎn)移狀態(tài)寄存器SRNZVCPN:符號(hào)標(biāo)志位 NegativeZ:全零標(biāo)志位 ZreoV:溢出標(biāo)志位 OverflowC:進(jìn)位/借位標(biāo)志位 CarryP:奇偶標(biāo)志位 Parity*47/60功能實(shí)現(xiàn)子程序調(diào)用步驟 將下一條指令的地址(PC的值)存放在一個(gè)臨時(shí)存儲(chǔ)位置 將子程序的起始地址裝入PC中子程序返回指令 將存放在臨時(shí)存儲(chǔ)位置的指令地址取出放回PC 程序

17、流控制-轉(zhuǎn)子指令*48/60CISC和RISC復(fù)雜指令系統(tǒng)計(jì)算機(jī)(CISC)Complex Instruction Set Computer指令系統(tǒng)復(fù)雜:指令數(shù)目大于200條,尋址方式多,指令格式多。指令串行執(zhí)行:執(zhí)行步驟多,需要多個(gè)時(shí)鐘周期。各種指令都可訪問存儲(chǔ)器。有較多專用寄存器。編譯程序難以進(jìn)行高效的代碼優(yōu)化。*49/60精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)(RISC)Reduced Instruction Set Computer簡(jiǎn)化的指令系統(tǒng)以寄存器-寄存器方式工作采用流水技術(shù)使用較多的通用寄存器以減少訪存采用優(yōu)化編譯技術(shù)CISC和RISC*50/60CISCComplex Instruction S

18、et ComputerRISCReduced Instruction Set Computer指令種類和長(zhǎng)度種類多,長(zhǎng)度可變種類少,長(zhǎng)度固定指令操作數(shù)Memaddr,Reg,ImmReg尋址方式多少訪存指令無特別限制只有Load/store指令允許訪問存儲(chǔ)器流水設(shè)計(jì)難容易硬件設(shè)計(jì)復(fù)雜簡(jiǎn)單編譯器簡(jiǎn)單復(fù)雜典型代表MCS-51,Intel X86MIPS,PowerPC,ARM,MPS430,PIC的MCUCISC和RISC*51/60采用RISC設(shè)計(jì)思想的計(jì)算機(jī)產(chǎn)品HP公司的Alpha系列、PA-RISC系列IBM和Motorola公司的PowerPC系列SGI公司的MIPS系列SUN公司的SPARC系列嵌入式處理器:ARM系列*52/60尋址方式*53/60數(shù)據(jù)類型*54/60指令類型數(shù)據(jù)傳輸指令*55/60指令類型算術(shù)指令*56/60指令類型程序轉(zhuǎn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論