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

下載本文檔

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

文檔簡介

第二章中央處理器與指令系統(tǒng)第1頁,課件共60頁,創(chuàng)作于2023年2月*2/60第二章CPU與指令系統(tǒng)2.1

CPU基本概念2.2

指令的執(zhí)行過程2.3

指令的流水執(zhí)行2.4

指令系統(tǒng)第2頁,課件共60頁,創(chuàng)作于2023年2月*3/602.1

CPU基本概念CPU的基本功能

指令控制操作控制數(shù)據(jù)運(yùn)算異常和中斷處理CPU的擴(kuò)展功能存儲(chǔ)管理數(shù)據(jù)緩存總線管理功耗管理第3頁,課件共60頁,創(chuàng)作于2023年2月*4/60CPU的基本構(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)2.1

CPU基本概念第4頁,課件共60頁,創(chuàng)作于2023年2月*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ù)據(jù)通路只用一條總線構(gòu)成,一次傳輸一個(gè)數(shù)據(jù)。第5頁,課件共60頁,創(chuàng)作于2023年2月*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í)鐘周期。第6頁,課件共60頁,創(chuàng)作于2023年2月*7/60采用單總線結(jié)構(gòu):如ADDR3,R1,R2(1)PC→MAR(2)PC+1→PCPCMAR一、運(yùn)算指令的執(zhí)行過程2.2

指令的執(zhí)行過程第7頁,課件共60頁,創(chuàng)作于2023年2月*8/60單總線結(jié)構(gòu):如ADDR3,R1,R2(1)PC→MAR(2)PC+1→PC(3)DBUS→MDR(4)MDR→IRMDRIR指令譯碼器一、運(yùn)算指令的執(zhí)行過程2.2

指令的執(zhí)行過程第8頁,課件共60頁,創(chuàng)作于2023年2月*9/60單總線結(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í)行過程2.2

指令的執(zhí)行過程第9頁,課件共60頁,創(chuàng)作于2023年2月*10/60單總線結(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í)行過程2.2

指令的執(zhí)行過程第10頁,課件共60頁,創(chuàng)作于2023年2月*11/60單總線結(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)寄存器一、運(yùn)算指令的執(zhí)行過程2.2

指令的執(zhí)行過程第11頁,課件共60頁,創(chuàng)作于2023年2月*12/60流水技術(shù)用于提高指令的執(zhí)行速度和數(shù)據(jù)運(yùn)算速度。流水工作方式:將一個(gè)計(jì)算任務(wù)細(xì)分成若干個(gè)子任務(wù)每個(gè)子任務(wù)由專門的部件處理多個(gè)計(jì)算任務(wù)依次進(jìn)行并行處理流水周期

2.3

指令的流水執(zhí)行第12頁,課件共60頁,創(chuàng)作于2023年2月*13/60計(jì)算機(jī)流水線中的計(jì)算任務(wù)可以是一個(gè)算術(shù)邏輯運(yùn)算操作,也可以是一條指令的執(zhí)行。指令級流水線是把一條指令的執(zhí)行過程分成多個(gè)子過程,由各個(gè)部件進(jìn)行輪流處理后完成執(zhí)行過程。不必等到上一條指令的完成就可以開始下一條指令的執(zhí)行。指令的流水線在高性能的微處理器中被普遍采用。2.3

指令的流水執(zhí)行第13頁,課件共60頁,創(chuàng)作于2023年2月*14/60指令的流水線指令流水線由一系列串聯(lián)的流水段組成。每個(gè)流水段完成指令執(zhí)行的一個(gè)操作步驟。各個(gè)流水段之間設(shè)有緩沖寄存器(流水寄存器),以暫時(shí)保存上一個(gè)流水段對指令處理的結(jié)果。流水線中的每個(gè)流水段構(gòu)成流水線的一級。在專用通路結(jié)構(gòu)的CPU中,通常采用5個(gè)流水段(5級流水)取指(IF)--InstructionFetch譯碼(ID)--InstructionDecode運(yùn)算執(zhí)行(EX)--Execute訪存(MEM)--Memory寫回(WB)--WriteBack第14頁,課件共60頁,創(chuàng)作于2023年2月*15/60吞吐率(throughput)衡量指令流水線的一個(gè)重要指標(biāo)。單位時(shí)間內(nèi)流水線能處理的任務(wù)數(shù)量與流水的節(jié)拍時(shí)間(流水周期)有關(guān)。流水周期可定為各流水段處理時(shí)間的最大值,加上流水寄存器的延遲時(shí)間。指令流水節(jié)拍:是指令從一個(gè)流水段進(jìn)入下一個(gè)流水段的間隔時(shí)間,又稱為流水周期加速比流水方式的工作速度與等效的順序工作方式時(shí)間的比值流水線的性能第15頁,課件共60頁,創(chuàng)作于2023年2月*16/60時(shí)空圖-根據(jù)流水段來畫5級流水線在執(zhí)行8條指令時(shí):建立時(shí)間:從第一條指令進(jìn)入流水線到離開流水線的時(shí)間。排空時(shí)間:從最后一條指令進(jìn)入流水線到離開流水線的時(shí)間。無流水時(shí):5個(gè)時(shí)間節(jié)拍處理1條指令。有流水時(shí):12個(gè)時(shí)間節(jié)拍處理了8條指令第16頁,課件共60頁,創(chuàng)作于2023年2月*17/60由時(shí)空圖可見:對進(jìn)入流水線的每條指令,其執(zhí)行時(shí)間都沒有縮短。指令流水通過指令之間的重疊來提高吞吐率。在流水線中,當(dāng)任務(wù)飽滿時(shí),任務(wù)源源不斷地輸入流水線,不論有多少個(gè)流水段,每隔一個(gè)流水周期都能輸出一個(gè)任務(wù)。在宏觀上提高了處理速率。流水線的作用第17頁,課件共60頁,創(chuàng)作于2023年2月*18/60便于分析指令之間的關(guān)系時(shí)空圖-根據(jù)指令序列來畫第18頁,課件共60頁,創(chuàng)作于2023年2月*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)入流水線。指令流水線的相關(guān)性第19頁,課件共60頁,創(chuàng)作于2023年2月*20/60

Addd:雙精度加法指令F2:浮點(diǎn)數(shù)寄存器指令流水線的資源相關(guān)第20頁,課件共60頁,創(chuàng)作于2023年2月*21/60寫后讀(RAW)指令流水線的資源相關(guān)第21頁,課件共60頁,創(chuàng)作于2023年2月*22/60停頓(硬件措施)編譯檢測(軟件措施)相關(guān)專用通路(硬件措施)消除數(shù)據(jù)相關(guān)影響的方法第22頁,課件共60頁,創(chuàng)作于2023年2月*23/60流水線的停頓:停頓N個(gè)節(jié)拍解決數(shù)據(jù)相關(guān)性的方法第23頁,課件共60頁,創(chuàng)作于2023年2月*24/60編譯檢測:加入空操作(NOP)解決數(shù)據(jù)相關(guān)性的方法第24頁,課件共60頁,創(chuàng)作于2023年2月*25/60相關(guān)專用通道在ALU的輸出端到它的輸入端之間設(shè)置一條數(shù)據(jù)線路,使得RAW相關(guān)時(shí),上一條指令的結(jié)果能直接送到ALU的輸入端。使得下一條指令能夠及時(shí)得到上一條指令的結(jié)果,而不用到寄存器中去讀取,從而避免了流水線的停頓。解決數(shù)據(jù)相關(guān)性的方法第25頁,課件共60頁,創(chuàng)作于2023年2月*26/60流水線分為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í)開始讀到為止典型指令流水線的特點(diǎn)第26頁,課件共60頁,創(chuàng)作于2023年2月*27/60指令格式和指令編碼

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

指令系統(tǒng)分類2.4

指令系統(tǒng)第27頁,課件共60頁,創(chuàng)作于2023年2月*28/60指令格式instructionformat

操作碼[,地址碼][,條件碼][,下一條指令的地址]一、操作碼opcode

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

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

零地址指令,如NOP,CLR

一地址指令,如INCR1

二地址指令,如ADDR1,R2

三地址指令,如ADDR1,R2,R3指令格式和指令編碼第28頁,課件共60頁,創(chuàng)作于2023年2月*29/60三、指令長度

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

可變長度:可提高編碼效率四、指令助記符助記符mnemonics如add

R1偽指令directive累加器accumulator存放操作數(shù)和操作結(jié)果的一個(gè)寄存器通用寄存器generalpurposeregister存放操作數(shù)和操作結(jié)果的一組寄存器指令格式和指令編碼第29頁,課件共60頁,創(chuàng)作于2023年2月*30/60存儲(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ù)的尋址方式第30頁,課件共60頁,創(chuàng)作于2023年2月*31/601.數(shù)據(jù)類型數(shù)值型整型字節(jié)、字、雙字浮點(diǎn)數(shù)單精度、雙精度字符型ASCII數(shù)據(jù)類型在指令中的表達(dá)操作碼表達(dá)地址碼表達(dá)數(shù)據(jù)編碼表達(dá)指令和數(shù)據(jù)的尋址方式第31頁,課件共60頁,創(chuàng)作于2023年2月*32/602.數(shù)據(jù)存儲(chǔ)字節(jié)順序(Endianness)大數(shù)端(BigEndian)最低字節(jié)存儲(chǔ)在高地址小數(shù)端(LittleEndian)最低字節(jié)存儲(chǔ)在低地址例:數(shù)據(jù)000F4240:指令和數(shù)據(jù)的尋址方式第32頁,課件共60頁,創(chuàng)作于2023年2月*33/603.數(shù)據(jù)對齊方式(Alignment)數(shù)據(jù)類型及其存儲(chǔ)方式指數(shù)據(jù)的邏輯存儲(chǔ)位置與物理訪問位置的對齊方式第33頁,課件共60頁,創(chuàng)作于2023年2月*34/60指令的尋址方式順序執(zhí)行 程序計(jì)數(shù)器(PC)尋址非順序執(zhí)行

轉(zhuǎn)移指令 如:jump$1000 bgtR1指令2PC指令3指令1指令和數(shù)據(jù)的尋址方式第34頁,課件共60頁,創(chuàng)作于2023年2月*35/60addressingmodes 1.隱含方式

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

如:INT#3 3.寄存器方式

如:INCR1操作數(shù)R1操作數(shù)尋址方式第35頁,課件共60頁,創(chuàng)作于2023年2月*36/604.直接尋址方式如:INC1000操作數(shù)1000操作數(shù)尋址方式第36頁,課件共60頁,創(chuàng)作于2023年2月*37/605.間接尋址方式

寄存器間接,如:INC(R1)

存儲(chǔ)器間接,如:INC(1000)A操作數(shù)A操作數(shù)R11000操作數(shù)尋址方式第37頁,課件共60頁,創(chuàng)作于2023年2月*38/606.相對尋址方式

如:INC8(PC)操作數(shù)8操作數(shù)尋址方式第38頁,課件共60頁,創(chuàng)作于2023年2月*39/607.變址和基址尋址方式

如:INC8(R1)變址尋址indexedmode-便于數(shù)組訪問基址尋址basedmode-可擴(kuò)大尋址范圍,可實(shí)現(xiàn)程序浮動(dòng)I操作數(shù)R18操作數(shù)尋址方式第39頁,課件共60頁,創(chuàng)作于2023年2月*40/608.復(fù)合尋址方式

如:INC8(PC+R1)

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

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

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

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

程序流控制-轉(zhuǎn)子指令第47頁,課件共60頁,創(chuàng)作于2023年2月*48/60CISC和RISC復(fù)雜指令系統(tǒng)計(jì)算機(jī)(CISC)ComplexInstructionSetComputer指令系統(tǒng)復(fù)雜:指令數(shù)目大于200條,尋址方式多,指令格式多。指令串行執(zhí)行:執(zhí)行步驟多,需要多個(gè)時(shí)鐘周期。各種指令都可訪問存儲(chǔ)器。有較多專用寄存器。編譯程序難以進(jìn)行高效的代碼優(yōu)化。第48頁,課件共60頁,創(chuàng)作于2023年2月*49/60精簡指令系統(tǒng)計(jì)算機(jī)(RISC)ReducedInstructionSetComputer簡化的指令系統(tǒng)以寄存器-寄存器方式工作采用流水技術(shù)使用較多的通用寄存器以減少訪存采用優(yōu)化編譯技術(shù)CISC和RISC第49頁,課件共60頁,創(chuàng)作于2023年2月*50/60CISCComplexInstructionSetComputerRISCReducedInstructionSetComputer指令種類和長度種類多,長度可變種類少,長度固定指令操作數(shù)Mem[addr],Reg,ImmReg尋址方式多少訪存指令無特別限制只有Load/store指令允許訪問存儲(chǔ)器流水設(shè)計(jì)難容易硬件設(shè)計(jì)復(fù)雜簡單編譯器簡單復(fù)雜典型代表MCS-51,IntelX86MIPS,PowerPC,ARM,MPS430,PIC的MCUCISC和RISC第50頁,課件共

溫馨提示

  • 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

提交評論