版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第八章第八章 中央處理單元中央處理單元張向東計(jì)算機(jī)科學(xué)與技術(shù)系心臟心臟CPU作為一臺(tái)電腦中的核心,它的作用是無(wú)法替代的。作為一臺(tái)電腦中的核心,它的作用是無(wú)法替代的。結(jié)論:結(jié)論:而而CPU本身只是在塊硅晶片上所集成的超大規(guī)模的集成電路,本身只是在塊硅晶片上所集成的超大規(guī)模的集成電路,集成的晶體管數(shù)量可達(dá)到上億個(gè),是由非常先進(jìn)復(fù)雜的制造集成的晶體管數(shù)量可達(dá)到上億個(gè),是由非常先進(jìn)復(fù)雜的制造工藝制造出來(lái)的,擁有相當(dāng)高的科技含量。工藝制造出來(lái)的,擁有相當(dāng)高的科技含量。實(shí)質(zhì):實(shí)質(zhì):8.1.1 CPU的功能o取出指令并執(zhí)行指令的部件-CPU n數(shù)據(jù)加工 -ALU. 算術(shù)/邏輯運(yùn)算; n指令控制:指令執(zhí)行的順
2、序控制; n操作控制: 產(chǎn)生各種操作信號(hào); n時(shí)間控制: 控制操作信號(hào)的發(fā)生時(shí)間; 8.1.1 CPU 的功能的功能程序是一個(gè)指令序列,這些指令的相互順序不能任意顛倒,必須嚴(yán)格按照程序是一個(gè)指令序列,這些指令的相互順序不能任意顛倒,必須嚴(yán)格按照程序規(guī)定的順序執(zhí)行,故保證機(jī)器按照順序執(zhí)行程序時(shí)程序規(guī)定的順序執(zhí)行,故保證機(jī)器按照順序執(zhí)行程序時(shí)CPU的首要任務(wù)。的首要任務(wù)。1.指令控制指令控制取指令取指令分析指令分析指令執(zhí)行指令(發(fā)出各種操作命令)執(zhí)行指令(發(fā)出各種操作命令)2.操作控制操作控制操作信號(hào)操作信號(hào)CPU分析指令分析指令相應(yīng)部件相應(yīng)部件產(chǎn)生產(chǎn)生控制控制3.時(shí)間控制時(shí)間控制4.數(shù)據(jù)加工數(shù)據(jù)
3、加工5.中斷處理中斷處理對(duì)各種操作順序及每一步操作順序都實(shí)施嚴(yán)格的控制。對(duì)各種操作順序及每一步操作順序都實(shí)施嚴(yán)格的控制。完成數(shù)據(jù)的加工處理是完成數(shù)據(jù)的加工處理是CPU的根本任務(wù)。的根本任務(wù)。8.1.2 CPU8.1.2 CPU的基本組成的基本組成寄存器寄存器ALU 中斷中斷 系統(tǒng)系統(tǒng)CUCPU控制總線控制總線數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線2. 控制器(控制器(CU) (控制和協(xié)調(diào)各部件工作,具體功能如下)(控制和協(xié)調(diào)各部件工作,具體功能如下)1. 運(yùn)算器(運(yùn)算器(ALU)實(shí)現(xiàn)算術(shù)運(yùn)算和邏輯運(yùn)算實(shí)現(xiàn)算術(shù)運(yùn)算和邏輯運(yùn)算取指令取指令分析指令分析指令執(zhí)行指令執(zhí)行指令從內(nèi)存中從內(nèi)存中提取指令提取指令
4、分析指令的分析指令的 操作類型及操作類型及操作數(shù)的來(lái)源操作數(shù)的來(lái)源發(fā)出控制發(fā)出控制信號(hào)序列信號(hào)序列CU產(chǎn)生全部指令的微操作命令序列產(chǎn)生全部指令的微操作命令序列組合邏輯設(shè)計(jì):組合邏輯設(shè)計(jì):硬連線邏輯硬連線邏輯微程序設(shè)計(jì):微程序設(shè)計(jì):存儲(chǔ)邏輯存儲(chǔ)邏輯 1. CPU 結(jié)構(gòu)結(jié)構(gòu)寄存器寄存器ALU 中斷中斷 系統(tǒng)系統(tǒng)CUCPU控制總線控制總線數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線3. 中斷系統(tǒng)(用于處理種類中斷中斷系統(tǒng)(用于處理種類中斷 )處理與中斷相關(guān)的處理與中斷相關(guān)的等相關(guān)功能等相關(guān)功能中斷判優(yōu)中斷判優(yōu)中斷轉(zhuǎn)換中斷轉(zhuǎn)換中斷屏蔽中斷屏蔽中斷的作用是為了響應(yīng)和處理外部設(shè)備請(qǐng)求或異常事件。中斷的作用是為了響應(yīng)和
5、處理外部設(shè)備請(qǐng)求或異常事件。常識(shí):常識(shí):在在CPU內(nèi)部設(shè)置中斷系統(tǒng)用以解決各種中斷的共性問(wèn)題;內(nèi)部設(shè)置中斷系統(tǒng)用以解決各種中斷的共性問(wèn)題;功能功能寄存器寄存器ALU 中斷中斷 系統(tǒng)系統(tǒng)CUCPU控制總線控制總線數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線 CPU 結(jié)構(gòu)結(jié)構(gòu)4.CPU 的寄存器的寄存器存放操作數(shù),存放操作數(shù),可作可作 某種尋址方式某種尋址方式 所需的所需的 專用寄存器。專用寄存器。(1) 通用寄存器:通用寄存器:存放操作數(shù)存放操作數(shù)(滿足各種數(shù)據(jù)類型)(滿足各種數(shù)據(jù)類型)(2) 數(shù)據(jù)寄存器:數(shù)據(jù)寄存器:存放地址存放地址,其位數(shù)應(yīng)滿足最大的地址范圍。,其位數(shù)應(yīng)滿足最大的地址范圍。用于特殊的尋址
6、方式用于特殊的尋址方式 段基值段基值 棧指針棧指針(3) 地址寄存器:地址寄存器:存放條件碼存放條件碼,可作程序分支的依據(jù),可作程序分支的依據(jù)(4) 條件碼寄存器:條件碼寄存器:(1)用戶可見(jiàn)寄存器)用戶可見(jiàn)寄存器寄存器寄存器ALU 中斷中斷 系統(tǒng)系統(tǒng)CUCPU控制總線控制總線數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線 CPU 結(jié)構(gòu)結(jié)構(gòu)4.CPU 的寄存器的寄存器PCMARMMDRIRMAR MDR IR 用戶不可見(jiàn)用戶不可見(jiàn) PC 用戶可見(jiàn)用戶可見(jiàn) 其中其中 狀態(tài)寄存器(反映程序的運(yùn)行狀態(tài))狀態(tài)寄存器(反映程序的運(yùn)行狀態(tài))狀態(tài)寄存器:狀態(tài)寄存器:存放條件碼存放條件碼PSW 寄存器:寄存器:存放程序狀態(tài)
7、字存放程序狀態(tài)字 控制寄存器(控制寄存器(CPU工作時(shí)所需的寄存器)工作時(shí)所需的寄存器)(控制(控制 CPU 操作)操作)(2)控制和狀態(tài)寄存器)控制和狀態(tài)寄存器2、CPU中運(yùn)算器的主要寄存器oAR (Address Register)地址寄存器 oDR (Data Register)數(shù)據(jù)緩沖寄存器 oAC (Accumulate Count)累加寄存器 oPSW (Program Status Word)程序狀態(tài)字地址寄存器地址寄存器(ARAR) 地址寄存器AR用來(lái)保存當(dāng)前CPU所訪問(wèn)的內(nèi)存單元的地址。由于在內(nèi)存和CPU之間存在著操作速度上的差別,所以必須使用地址寄存器來(lái)保持地址信息,直到對(duì)
8、內(nèi)存的讀/寫操作完成為止 。 當(dāng)CPU和內(nèi)存進(jìn)行信息交換,即CPU向內(nèi)存存/取數(shù)據(jù)或指令時(shí),都要使用地址寄存器AR和數(shù)據(jù)緩沖寄存器DR。此外,我們可以把外圍I/O設(shè)備的設(shè)備地址作為像內(nèi)存的地址單元那樣來(lái)進(jìn)行訪問(wèn),那么可知,當(dāng)CPU和外圍設(shè)備交換信息時(shí),同樣需要使用地址寄存器和數(shù)據(jù)緩沖寄存器。 地址寄存器的結(jié)構(gòu)和數(shù)據(jù)緩沖寄存器、指令寄存器一樣,通常使用單純的寄存器結(jié)構(gòu)。信息的存入一般采用電位-脈沖方式,即電位輸入端對(duì)應(yīng)數(shù)據(jù)信息位,脈沖輸入端對(duì)應(yīng)控制信號(hào),在控制信號(hào)clk的作用下,瞬時(shí)地將信息打入寄存器。NoImageCLAADD 30STA 40NOPJMP 21 000 006 000 004
9、20212223243040ALU指令譯碼器000 000程序計(jì)數(shù)器 PCAR地址寄存器 ARDR緩沖寄存器DRAC累加器 ACIR指令寄存器 IR操作控制器OC 時(shí)序產(chǎn)生器TG執(zhí)行指令控制地址總線 ABUS數(shù)據(jù)總線 DBUSPSWPSWCPU存儲(chǔ)器數(shù)據(jù)緩沖寄存器(存儲(chǔ)器數(shù)據(jù)緩沖寄存器(DRDR)存儲(chǔ)器數(shù)據(jù)緩沖寄存器MDR用來(lái)暫時(shí)存放由內(nèi)存讀出的一條指令或一個(gè)數(shù)據(jù)字;反之,當(dāng)向內(nèi)存存入一條指令或一個(gè)數(shù)據(jù)字時(shí),也先將它們送到存儲(chǔ)器數(shù)據(jù)緩沖寄存器MDR中,然后再寫入內(nèi)存。存儲(chǔ)器緩沖寄存器MDR的作用是 : (1)作為CPU和內(nèi)存及外部I/O設(shè)備之間信息傳送的中轉(zhuǎn)站; (2)用于補(bǔ)償CPU與內(nèi)存及外
10、圍設(shè)備之間在操作速度上的差別; (3)在單累加器結(jié)構(gòu)的運(yùn)算器中,存儲(chǔ)器數(shù)據(jù)緩沖寄存器還可兼作為操作數(shù)寄存器。NoImageCLAADD 30STA 40NOPJMP 21 000 006 000 00420212223243040ALU指令譯碼器000 000程序計(jì)數(shù)器 PCAR地址寄存器 ARDR緩沖寄存器DRAC累加器 ACIR指令寄存器 IR操作控制器OC 時(shí)序產(chǎn)生器TG執(zhí)行指令控制地址總線 ABUS數(shù)據(jù)總線 DBUSPSWPSWCPU累加寄存器累加寄存器(ACAC)累加寄存器AC通常簡(jiǎn)稱為累加器,它是一個(gè)通用寄存器。其功能是:當(dāng)運(yùn)算器需執(zhí)行算術(shù)或邏輯運(yùn)算時(shí),為ALU提供一個(gè)工作區(qū),它可
11、暫時(shí)存放ALU運(yùn)算的結(jié)果信息。顯然,運(yùn)算器中至少要有一個(gè)累加寄存器。目前CPU中的累加寄存器,多達(dá)16個(gè),32個(gè),甚至更多。當(dāng)使用多個(gè)累加器時(shí),就變成通用寄存器堆結(jié)構(gòu),其中任何一個(gè)可存放源操作數(shù),也可存放結(jié)果操作數(shù)。在這種情況下,需要在指令格式中對(duì)寄存器號(hào)加以編址。NoImageCLAADD 30STA 40NOPJMP 21 000 006 000 00420212223243040ALU指令譯碼器000 000程序計(jì)數(shù)器 PCAR地址寄存器 ARDR緩沖寄存器DRAC累加器 ACIR指令寄存器 IR操作控制器OC 時(shí)序產(chǎn)生器TG執(zhí)行指令控制地址總線 ABUS數(shù)據(jù)總線 DBUSPSWPSWC
12、PU狀態(tài)條件寄存器狀態(tài)條件寄存器(PSWPSW)狀態(tài)條件寄存器保存由算術(shù)指令和邏輯指令運(yùn)行或測(cè)試的結(jié)果建立的各種條件碼內(nèi)容,如運(yùn)算結(jié)果進(jìn)位標(biāo)志(C),運(yùn)算結(jié)果溢出標(biāo)志(V),運(yùn)算結(jié)果為零標(biāo) 志(Z),運(yùn)算結(jié)果為負(fù)標(biāo)志(N)等等。這些標(biāo)志位通常分別由1位觸發(fā)器保存。除此之外,狀態(tài)條件寄存器還保存中斷和系統(tǒng)工作狀態(tài)等信息,因此,狀態(tài)條件寄存器是一個(gè)由各種狀態(tài)條件標(biāo)志拼湊而成的寄存器。其作用是使CPU和系統(tǒng)能及時(shí)了解機(jī)器運(yùn)行狀態(tài)和程序運(yùn)行狀態(tài)。 NoImageCLAADD 30STA 40NOPJMP 21 000 006 000 00420212223243040ALU指令譯碼器000 000程序
13、計(jì)數(shù)器 PCAR地址寄存器 ARDR緩沖寄存器DRAC累加器 ACIR指令寄存器 IR操作控制器OC 時(shí)序產(chǎn)生器TG執(zhí)行指令控制地址總線 ABUS數(shù)據(jù)總線 DBUSPSWPSWCPU3、控制器基本組成oPC (Program Counter)程序計(jì)數(shù)器 oIR (Instruction Register)指令寄存器 oID (Instruction Decoder)指令譯碼器 oOC (Operate Controller)操作控制器 oTG (Timer Generator) 時(shí)序發(fā)生器程序計(jì)數(shù)器程序計(jì)數(shù)器(PCPC)為了保證程序能夠連續(xù)地執(zhí)行下去,為了保證程序能夠連續(xù)地執(zhí)行下去,CPUCP
14、U必須具有某些手段必須具有某些手段來(lái)自動(dòng)確定下一條指令的地址。而程序計(jì)數(shù)器來(lái)自動(dòng)確定下一條指令的地址。而程序計(jì)數(shù)器PCPC正是起到這正是起到這種作用的,所以種作用的,所以PCPC通常又稱為通常又稱為指令計(jì)數(shù)器指令計(jì)數(shù)器。 在程序開始執(zhí)行前,必須將該程序在內(nèi)存單元的起始地址,在程序開始執(zhí)行前,必須將該程序在內(nèi)存單元的起始地址,即第一條指令的地址送入即第一條指令的地址送入PCPC。當(dāng)執(zhí)行指令時(shí),。當(dāng)執(zhí)行指令時(shí),CPUCPU將自動(dòng)修改將自動(dòng)修改PCPC的內(nèi)容,使其保持的總是將下一條要執(zhí)行的指令的地址。的內(nèi)容,使其保持的總是將下一條要執(zhí)行的指令的地址。由于大多數(shù)指令都是按順序來(lái)執(zhí)行的,所以修改的過(guò)程通
15、常由于大多數(shù)指令都是按順序來(lái)執(zhí)行的,所以修改的過(guò)程通常只是簡(jiǎn)單的對(duì)只是簡(jiǎn)單的對(duì)PCPC自增即可。自增即可。當(dāng)遇到轉(zhuǎn)移指令(如當(dāng)遇到轉(zhuǎn)移指令(如JMPJMP指令)時(shí),由于后繼指令的地址指令)時(shí),由于后繼指令的地址(即(即PCPC的內(nèi)容的內(nèi)容) )必須從指令的地址段取得。在這種情況下,下必須從指令的地址段取得。在這種情況下,下一條指令的地址將由轉(zhuǎn)移指令來(lái)規(guī)定,而不是像通常一樣按一條指令的地址將由轉(zhuǎn)移指令來(lái)規(guī)定,而不是像通常一樣按順序來(lái)取得。因此程序計(jì)數(shù)器順序來(lái)取得。因此程序計(jì)數(shù)器PCPC的結(jié)構(gòu),應(yīng)當(dāng)是具有信息寄的結(jié)構(gòu),應(yīng)當(dāng)是具有信息寄存和計(jì)數(shù)兩種功能的結(jié)構(gòu)。存和計(jì)數(shù)兩種功能的結(jié)構(gòu)。NoImageC
16、LAADD 30STA 40NOPJMP 21 000 006 000 00420212223243040ALU指令譯碼器000 000程序計(jì)數(shù)器 PCAR地址寄存器 ARDR緩沖寄存器DRAC累加器 ACIR指令寄存器 IR操作控制器OC 時(shí)序產(chǎn)生器TG執(zhí)行指令控制地址總線 ABUS數(shù)據(jù)總線 DBUSPSWPSWCPU指令寄存器指令寄存器(IRIR)指令寄存器IR用來(lái)保存當(dāng)前正在執(zhí)行的一條指令。當(dāng)執(zhí)行一條指令時(shí),先把它從內(nèi)存取到緩沖寄存器中,然后再傳送至指令寄存器。 指令分為操作碼和地址碼字段,由二進(jìn)制數(shù)字組成。為了執(zhí)行任何給定的指令,必須對(duì)操作碼進(jìn)行測(cè)試,以便識(shí)別所要求的操作,指令譯碼器就
17、是完成這項(xiàng)工作的。指令寄存器中的操作碼字段被送入指令譯碼器中,操作碼一經(jīng)譯碼后,即可向操作控制器發(fā)出具體操作的特定信號(hào)。NoImageCLAADD 30STA 40NOPJMP 21 000 006 000 00420212223243040ALU指令譯碼器000 000程序計(jì)數(shù)器 PCAR地址寄存器 ARDR緩沖寄存器DRAC累加器 ACIR指令寄存器 IR操作控制器OC 時(shí)序產(chǎn)生器TG執(zhí)行指令控制地址總線 ABUS數(shù)據(jù)總線 DBUSPSWPSWCPU操作控制器o根據(jù)指令操作碼和地址碼,產(chǎn)生各種控制信號(hào)序列 ,建立正確的數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制。 n硬布線控制器 (時(shí)序邏輯型
18、) (硬件實(shí)現(xiàn)) n微程序控制器 (存儲(chǔ)程序型) (軟件實(shí)現(xiàn)) o數(shù)據(jù)通路-執(zhí)行部件間傳送信息的通路。NoImageCLAADD 30STA 40NOPJMP 21 000 006 000 00420212223243040ALU指令譯碼器000 000程序計(jì)數(shù)器 PCAR地址寄存器 ARDR緩沖寄存器DRAC累加器 ACIR指令寄存器 IR操作控制器OC 時(shí)序產(chǎn)生器TG執(zhí)行指令控制地址總線 ABUS數(shù)據(jù)總線 DBUSPSWPSWCPU時(shí)序產(chǎn)生器o產(chǎn)生各種時(shí)序信號(hào)(電位,脈沖); o對(duì)各種操作實(shí)施時(shí)間上的控制。 NoImageNoImageALU4、運(yùn)算器結(jié)構(gòu)PSWAXBXCXDXDR左路開關(guān)
19、選擇右路開關(guān)選擇數(shù)據(jù)總線DBUS移位器操作數(shù)X操作數(shù)YCLAADD 30STA 40NOPJMP 21 000 004 000 00620212223243040NoImageNoImageCLAADD 30STA 40NOPJMP 21 000 004 000 00620212223243040ALUADD AX,BXPSWAX=2BX=4CXDXDR左路開關(guān)選擇右路開關(guān)選擇數(shù)據(jù)總線DBUS移位器操作數(shù)X操作數(shù)YAX=6CPU基本結(jié)構(gòu)NoImageCLAADD 30STA 40NOPJMP 21 000 006 000 00420212223243040ALU指令譯碼器000 000程序計(jì)數(shù)
20、器 PCAR地址寄存器 ARDR緩沖寄存器DRAC累加器 ACIR指令寄存器 IR操作控制器OC 時(shí)序產(chǎn)生器TG執(zhí)行指令控制地址總線 ABUS數(shù)據(jù)總線 DBUSPSWPSWCPUo指令周期基本概念 oCLA指令周期 oADD指令周期 oSTA指令周期 oNOP指令周期 oJMP指令周期8.2 指令周期1、 指令周期的基本概念指令周期的基本概念1.CPU周期:周期:CPU從內(nèi)存中讀取一個(gè)指令字的最短時(shí)間。從內(nèi)存中讀取一個(gè)指令字的最短時(shí)間。 即一條指令的取出階段被定義為一個(gè)即一條指令的取出階段被定義為一個(gè)CPU周期時(shí)間。周期時(shí)間。3.指令周期:指令周期:CPU取出并執(zhí)行一條指令所需的全部時(shí)間。取出
21、并執(zhí)行一條指令所需的全部時(shí)間。 包括取指令周期和執(zhí)行指令周期。包括取指令周期和執(zhí)行指令周期。T1T2T3T42.時(shí)鐘周期:時(shí)鐘周期:CPU處理操作的最基本單位。一個(gè)處理操作的最基本單位。一個(gè)CPU周期由若干個(gè)時(shí)鐘周期構(gòu)周期由若干個(gè)時(shí)鐘周期構(gòu)成。又被叫做成。又被叫做 T周期或節(jié)拍脈沖。周期或節(jié)拍脈沖。CPU周期周期T 周期周期機(jī)器周期機(jī)器周期 指令周期的基本概念指令周期的基本概念取指令取指令分析指令分析指令執(zhí)行指令執(zhí)行指令取指周期取指周期執(zhí)行周期執(zhí)行周期(1)指令周期常用若干個(gè))指令周期常用若干個(gè)CPU 周期來(lái)表示。周期來(lái)表示。(2)不同的指令其指令周期由于功能不同,所以是不相同的。)不同的指令
22、其指令周期由于功能不同,所以是不相同的。注:注:指令周期指令周期CPU周期周期CPU周期周期CPU周期周期.時(shí)鐘周期時(shí)鐘周期1時(shí)鐘周期時(shí)鐘周期2時(shí)鐘周期時(shí)鐘周期N關(guān)系:關(guān)系:指令周期 基本概念o 取指令周期 o 取操作數(shù)周期 (可無(wú)) o 執(zhí)行周期 取指令 PC+1執(zhí)行指令開始2、CLA 指 令 周 期取指令 PC+1指令譯碼執(zhí)行指令取下條 指令PC+1取指令階段執(zhí)行指令階段1個(gè)CPU周期1個(gè)CPU周期開始NoImageNoImageDRCLAADD 30STA 40NOPJMP 21 000 006 000 00420212223243040ALUAC000 020ARCLAIR指令譯碼器操
23、作控制器 時(shí)序產(chǎn)生器程序計(jì)數(shù)器 PC地址寄存器 AR緩沖寄存器DR累加器 AC指令寄存器 IR執(zhí)行指令控制地址總線 ABUS數(shù)據(jù)總線 DBUS000 020CLA000000000CLA 指 令000 021+1PCARABUSRAM DBUSDRIR PC+1NoImage執(zhí)行過(guò)程的操作oPCAR oPC+1PC oAR ABUSRAMDBUSDR oDRIR o0AC AC 3、ADD 指 令 周 期取指令 PC+1指令譯碼送操作數(shù)取下條 指令PC+1取指令階段1個(gè)CPU周期1個(gè)CPU周期開始送操作數(shù) 地址執(zhí)行指令階段1個(gè)CPU周期執(zhí)行 寫存操作NoImageNoImageCLACLAAD
24、D 30STA 40NOPJMP 21 000 006 000 00420212223243040ALU000 021000 020ADD 30CLA指令譯碼器操作控制器 時(shí)序產(chǎn)生器程序計(jì)數(shù)器 PC地址寄存器 AR緩沖寄存器DR累加器 AC指令寄存器 IR執(zhí)行指令控制地址總線 ABUS數(shù)據(jù)總線 DBUS000 021ADD 300000000003、ADD 指 令000 022+1PCARABUSRAM DBUSDRIR PC+1NoImageNoImageCLACLAADD 30STA 40NOPJMP 21 000 006 000 00420212223243040ALU000 02100
25、0 021ADD 30CLA指令譯碼器操作控制器 時(shí)序產(chǎn)生器程序計(jì)數(shù)器 PC地址寄存器 AR緩沖寄存器DR累加器 AC指令寄存器 IR執(zhí)行指令控制地址總線 ABUS數(shù)據(jù)總線 DBUS000 030ADD 30000000000ADD 指 令000 022+1000 006IRARABUSRAM DBUSDRALU ALUAC006ADD執(zhí)行過(guò)程的操作oPCAR oPC+1PC oAR ABUSRAMDBUSDR oDRIR oIR(A)ARABUSRAM oDBUSDRALU oALUAC 4、STA 40 指 令 周 期取指令 PC+1指令譯碼送操作數(shù)取下條 指令PC+1取指令階段1個(gè)CPU
26、周期1個(gè)CPU周期開始送操作數(shù) 地址執(zhí)行指令階段1個(gè)CPU周期執(zhí)行 寫存操作NoImageNoImageCLACLAADD 30STA 40NOPJMP 21 000 006 000 00420212223243040ALU000 021000 030STA 40CLA指令譯碼器操作控制器 時(shí)序產(chǎn)生器程序計(jì)數(shù)器 PC地址寄存器 AR緩沖寄存器DR累加器 AC指令寄存器 IR執(zhí)行指令控制地址總線 ABUS數(shù)據(jù)總線 DBUS000 040STA 40STA 指 令000 023+1000 006000 006000 006IR(A)ARABUS ACDR DRDBUSRAM執(zhí)行過(guò)程的操作oPCAR
27、 oPC+1PC oAR ABUSRAMDBUSDR oDRIR oIR(A)ARABUS oACDR oDRDBUSRAM 5、NOP 指 令 周 期取指令 PC+1指令譯碼空操作 等待 一個(gè)周期取下條 指令PC+1取指令階段執(zhí)行指令階段1個(gè)CPU周期1個(gè)CPU周期開始6、JMP 21 指 令 周 期取指令 PC+1指令譯碼送 轉(zhuǎn)移地址取下條 指令PC+1取指令階段執(zhí)行指令階段1個(gè)CPU周期1個(gè)CPU周期開始NoImageNoImageCLAADD 30STA 40NOPJMP 21 000 006 000 00420212223243040ALU000 025000 024JMP 21CL
28、A指令譯碼器操作控制器 時(shí)序產(chǎn)生器程序計(jì)數(shù)器 PC地址寄存器 AR緩沖寄存器DR累加器 AC指令寄存器 IR執(zhí)行指令控制地址總線 ABUS數(shù)據(jù)總線 DBUS000 021JMP 21JMP 21 指 令000 021+1000 006000 006000 022IR(A)PC執(zhí)行過(guò)程中的操作oPCAR oPC+1PC oAR ABUSRAMDBUSDR oDRIR oIR(A)PC oNext command 五條指令的取指和執(zhí)行過(guò)程五條指令的取指和執(zhí)行過(guò)程 我們把前面的五條典型指令加以歸納,我們把前面的五條典型指令加以歸納,其取指和執(zhí)行過(guò)程請(qǐng)見(jiàn)其取指和執(zhí)行過(guò)程請(qǐng)見(jiàn)CAICAI演示演示。 8.
29、3 數(shù)據(jù)流指令周期期間,嚴(yán)格的事件序列取決于中央處理器的設(shè)計(jì),然而我們能以通常的方式取出什么事件必定發(fā)生。先假定一個(gè)中央處理器,它有存儲(chǔ)器地址寄存器(MAR)一個(gè)存儲(chǔ)器緩沖寄存器(MDR),一個(gè)程序計(jì)數(shù)器(PC),一個(gè)指令寄存器(IR)。在取指令周期期間,一條指令由存儲(chǔ)器讀入,圖8-6表示此期間的數(shù)據(jù)流動(dòng)。開始時(shí)PC內(nèi)容有待取的下一條指令的地址。這個(gè)地址被傳送到并放在地址總線上??刂破靼l(fā)生一次存儲(chǔ)讀,其結(jié)果放到數(shù)據(jù)總線上并被復(fù)制到MBR,然后傳送到IR。在此期間PC增1,為下次取指做好準(zhǔn)備。 1. 1. 取指周期數(shù)據(jù)流取指周期數(shù)據(jù)流指令周期的數(shù)據(jù)流指令周期的數(shù)據(jù)流MDRCUMARPCIR存儲(chǔ)器
30、存儲(chǔ)器CPU地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線控制總線控制總線IR+1 一旦經(jīng)歷取指周期,控制器檢查IR的內(nèi)容,以確定是否有一個(gè)使用間接尋址的操作數(shù)指定器。若是一個(gè)間址周期完成,如圖8-8所示,這是一個(gè)簡(jiǎn)單周期。MDR最右的N位是一個(gè)地址引用,被傳送到MAR。然后,控制器發(fā)一個(gè)存儲(chǔ)器讀信號(hào),得到所要求的操作數(shù)地址并送入MDR。 像取指和間址周期一樣,中斷周期是可預(yù)期的。圖8-9。PC的當(dāng)前內(nèi)容必須保存,以便在中斷之后中央處理器能恢復(fù)正常的工作。于是,PC的內(nèi)容傳送到MBR,將被寫入存儲(chǔ)器。為此目的,一個(gè)專門的存儲(chǔ)器位置內(nèi)控制器裝入,例如它可能是一個(gè)堆棧指針。年三月中斷子程序的地址裝入PC。結(jié)果是
31、,下一指令周期將以取此相應(yīng)的指令而開始。 間址周期數(shù)據(jù)流間址周期數(shù)據(jù)流MDRCUMARCPU地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線控制總線控制總線PCIR存儲(chǔ)器存儲(chǔ)器MDR執(zhí)行周期數(shù)據(jù)流執(zhí)行周期數(shù)據(jù)流中斷周期數(shù)據(jù)流中斷周期數(shù)據(jù)流不同指令的執(zhí)行周期數(shù)據(jù)流不同不同指令的執(zhí)行周期數(shù)據(jù)流不同MDRCUMARCPU地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線控制總線控制總線PC存儲(chǔ)器存儲(chǔ)器8.4 用指令流程圖表示指令周期 上述典型指令用指令流程圖描述NoImageNoImage方框圖表示0ACIR(A)ARIR(A)ARIR(A)PCARRAM ACDR DRDBUSCLAADDSTAJMPNOP取指令執(zhí)行指令下一條指令
32、譯碼測(cè)試公操作PCARRAM DBUSDRIR PC+1ARRAM DBUSDR DRALU ALUACNoImage公操作o一條指令執(zhí)行完后,CPU所進(jìn)行的一些操作。 o對(duì)外設(shè)請(qǐng)求的處理(中斷,通道) o若無(wú)外設(shè)請(qǐng)求的處理,CPU則轉(zhuǎn)而取下條指令。 o由于取指令是每條指令都有的,所以,取指令也是公操作。例題1: 某計(jì)算機(jī)的數(shù)據(jù)通路如下圖所示,其中M主存, MBR主存數(shù)據(jù)寄存器, MAR主存地址寄存器, R0-R3通用寄存器, IR指令寄存器, PC程序計(jì)數(shù)器(具有自增能力), C、D-暫存器, ALU算術(shù)邏輯單元(此處做加法器看待), 移位器左移、右移、直通傳送。所有雙向箭頭表示信息可以雙向
33、傳送。 IRPCCDR0R1R2R3MBRMARM移位器ALU+1+1請(qǐng)按數(shù)據(jù)通路圖畫出“ADD(R1),(R2)+”指令的指令周期流程圖。該指令的含義是兩個(gè)數(shù)進(jìn)行求和操作。其中源操作地址在寄存器R1中,目的操作數(shù)尋址方式為自增型寄存器間接尋址(先取地址后加1)。解:“ADD (R1),(R2)+”指令是SS型指令,兩個(gè)操作數(shù)均在主存中。其中源操作數(shù)地址在R1中,所以是R1間接尋址。目的操作數(shù)地址在R2中,由R2間接尋址,但R2的內(nèi)容在取出操作數(shù)以后要加1進(jìn)行修改。指令周期流程圖如圖所示:0IRPCCDR0R1R2R3MBRMARM移位器ALU+1+1PCMARMMBRIR,(PC)+1(R1
34、) MARMMBRC(R2) MARMMBRD(C)+(D) MBRMBRM,(R2) D(D)+1R2譯碼取指令取源操作數(shù)取目的操作數(shù)加存回修改課堂練習(xí)與思考:課堂練習(xí)與思考:1、運(yùn)行一條指令MOV(R0),R1,需經(jīng)過(guò)下述那幾個(gè)工作周期( )。(題型:多選) A. DMA周期 B.取指周期 C.執(zhí)行周期 D.源周期 B、C2、在指令周期的第一個(gè)CPU周期內(nèi),CPU中地址寄存器內(nèi)容是( )。(題型:單選) A.指令 B.指令地址 C.數(shù)據(jù) D.數(shù)據(jù)地址B3、假設(shè)某機(jī)設(shè)置了取指周期,取數(shù)周期,執(zhí)行周期,中斷周期和DMA周期,那么一條指令從取指令開始到指令執(zhí)行完畢最多可能經(jīng)歷( ) (題型:多選
35、) A. DMA周期 B.取指周期 C.取數(shù)周期 D.執(zhí)行周期 B、C、D課堂練習(xí)與思考:課堂練習(xí)與思考:4、 將指令周期劃分為幾個(gè)工作階段,每個(gè)工作階段所需時(shí)間稱為工作周期。下面有關(guān)工作周期的描述中正確的有( )。 (題型:多選) A.不同工作周期所占時(shí)間可以不同; B.不同指令的同一工作周期所需的時(shí)間可能不同; C.不同指令可以含有不同的幾個(gè)工作周期; D.工作周期可以在多級(jí)時(shí)序系統(tǒng)中作為獨(dú)立的一級(jí)時(shí)序 A、C、D5、請(qǐng)說(shuō)明指令周期、機(jī)器周期、時(shí)鐘周期之間的關(guān)系。 解答:指令周期是指取出并執(zhí)行一條指令的時(shí)間,指令周期常常用若干個(gè)CPU周期數(shù)來(lái)表示,CPU周期也稱為機(jī)器周期,而一個(gè)CPU周期
36、又包含若干個(gè)時(shí)鐘周期(也稱為節(jié)拍脈沖或T周期)。 8.58.5時(shí)序信號(hào)產(chǎn)生器時(shí)序信號(hào)產(chǎn)生器 微程序控制器中使用的時(shí)序信號(hào)產(chǎn)生器由微程序控制器中使用的時(shí)序信號(hào)產(chǎn)生器由時(shí)鐘時(shí)鐘源源、環(huán)形脈沖發(fā)生器環(huán)形脈沖發(fā)生器、節(jié)拍脈沖節(jié)拍脈沖和和讀寫時(shí)序譯碼邏讀寫時(shí)序譯碼邏輯輯、啟??刂七壿媶⑼?刂七壿嫷炔糠纸M成。等部分組成。 1. 1.時(shí)鐘源時(shí)鐘源時(shí)鐘源用來(lái)為環(huán)形脈沖發(fā)生器提供頻率穩(wěn)定、時(shí)鐘源用來(lái)為環(huán)形脈沖發(fā)生器提供頻率穩(wěn)定、且電平匹配的方波時(shí)鐘脈沖信號(hào)。它通常由石英晶且電平匹配的方波時(shí)鐘脈沖信號(hào)。它通常由石英晶體振蕩器和與非門組成的正反饋振蕩電路組成,其體振蕩器和與非門組成的正反饋振蕩電路組成,其輸出送至環(huán)
37、形脈沖發(fā)生器。輸出送至環(huán)形脈沖發(fā)生器。1、電位-脈沖制o時(shí)序信號(hào)最基本的體制是電位-脈沖制。 o當(dāng)實(shí)現(xiàn)寄存器之間的數(shù)據(jù)傳送時(shí),數(shù)據(jù)必須以電位形式加在觸發(fā)器的數(shù)據(jù)輸入端,而數(shù)據(jù)輸入的控制信號(hào)可選用脈沖。 o數(shù)據(jù)必須先送到觸發(fā)器的數(shù)據(jù)輸入端,并且表示數(shù)據(jù)的電位一定要保持在控制脈沖的作用下被觸發(fā)器記憶為止,這段時(shí)間較長(zhǎng),所以數(shù)據(jù)需要用電位表示。 o而輸入脈沖的時(shí)間寬度只需要保證數(shù)據(jù)從觸發(fā)器的輸入端穩(wěn)定在輸出端的時(shí)間。 2、時(shí)序產(chǎn)生器 啟??刂七壿?啟動(dòng) 節(jié)拍脈沖和讀 / 寫時(shí)序產(chǎn)生邏輯 脈沖發(fā)生器 時(shí)鐘源 停機(jī) RD WE T 1 T 2 T 3 T 4 RD WE RD 0 WE 0 T 1 0
38、T 2 0 T 3 0 T 4 0 NoImageNoImageNoImage3、啟??刂七壿?T 1 Q D C r Q R 啟動(dòng) 停機(jī) CLR & T 4 & T 4 0 T 1 0 RD & RD 0 T 3 & T 3 0 WE & WE 0 T 2 & T 2 0 T 4 0 & & NoImageNoImageLDAR RD M LDDR LDIR PC+1T1 T2 T3 T4 CPU周期 取指 執(zhí)行 CPU周期 時(shí)序圖狀態(tài)周期電位 節(jié)拍電位 節(jié)拍脈沖 8.68.6控制方式控制方式 控制方式: 即控制不同操作序列時(shí)序
39、信號(hào)的方法。常用的有同步控制、異步控制、聯(lián)合控制三種方式,其實(shí)質(zhì)反映了時(shí)序信號(hào)的定時(shí)方式。 1.同步控制方式在任何情況下,已定的指令在執(zhí)行時(shí)所需的CPU周期(機(jī)器周期)數(shù)和時(shí)鐘周期數(shù)都固定不變。根據(jù)不同情況,同步控制方式可選取如下方案:(1)采用完全統(tǒng)一的機(jī)器周期執(zhí)行各種不同的指令。(2)采用不定長(zhǎng)機(jī)器周期。(3)中央控制與局部控制結(jié)合。產(chǎn)生不同微操作命令序列所用的時(shí)序控制方式 同步控制方式任一微操作均由 統(tǒng)一基準(zhǔn)時(shí)標(biāo) 的時(shí)序信號(hào)控制CLK機(jī)器周期機(jī)器周期機(jī)器周期(取指令)(取有效地址)(執(zhí)行指令)指令周期T0T1T2T3T0T1T2T3T0T1T2T3(1) 采用 完全統(tǒng)一 的機(jī)器周期和節(jié)拍
40、以最長(zhǎng)的 微操作序列 和 最繁的微操作作為 標(biāo)準(zhǔn)(2) (2) 采用不同節(jié)拍的機(jī)器周期采用不同節(jié)拍的機(jī)器周期機(jī)器周期機(jī)器周期機(jī)器周期機(jī)器周期(取指令)(取指令)(執(zhí)行指令)(執(zhí)行指令)指令周期指令周期T0T1T2T3T0T1T2 節(jié)拍節(jié)拍( (狀態(tài)狀態(tài)) )機(jī)器周期機(jī)器周期機(jī)器周期機(jī)器周期(取指令)(取指令)(執(zhí)行指令)(執(zhí)行指令)T0T1T2T3T0T1T2T3TT延長(zhǎng)延長(zhǎng)(3) (3) 采用中央控制和局部控制相結(jié)合的方法采用中央控制和局部控制相結(jié)合的方法T0T1T2T3T0T1T2中央控制節(jié)拍中央控制節(jié)拍T*T*T*局部控制節(jié)拍局部控制節(jié)拍 T3T0T1中央控制節(jié)拍中央控制節(jié)拍機(jī)器周期機(jī)器
41、周期執(zhí)行周期執(zhí)行周期指令周期指令周期取指周期取指周期T0T1T2T3局部控制的節(jié)拍寬度與局部控制的節(jié)拍寬度與中央控制的節(jié)拍寬度一致中央控制的節(jié)拍寬度一致2.異步控制方式 其特點(diǎn)是:每條指令、每個(gè)操作控制信號(hào)需要多少時(shí)間就占用多少時(shí)間。這意味著每條指令的指令周期可由多少不等的機(jī)器周期數(shù)組成;也可以是當(dāng)控制器發(fā)出某一操作控制信號(hào)后,等待執(zhí)行部件完成操作后發(fā)“回答”信號(hào),再開始新的操作。顯然,用這種方式形成的操作控制序列沒(méi)有固定的CPU周期數(shù)(節(jié)拍電位)或嚴(yán)格的時(shí)鐘周期(節(jié)拍脈沖)與之同步。 3.3.聯(lián)合控制方式聯(lián)合控制方式 此為同步控制和異步控制相結(jié)合的方式。 情況(1): 大部分操作序列安排在固
42、定的機(jī)器周期中,對(duì)某些時(shí)間難以確定的操作則以執(zhí)行部件的“回答”信號(hào)作為本次操作的結(jié)束; 情況(2): 機(jī)器周期的節(jié)拍脈沖數(shù)固定,但是各條指令周期的機(jī)器周期數(shù)不固定。課堂練習(xí)與思考:課堂練習(xí)與思考:1、時(shí)序信號(hào)產(chǎn)生器提供機(jī)器所需的 時(shí)序信號(hào),在硬聯(lián)線控制器中,時(shí)序信號(hào)采用 三級(jí)體制,在微程序控制器中,一般采用 二級(jí)體制。 定時(shí)主狀態(tài)-節(jié)拍電位-節(jié)拍脈沖節(jié)拍電位-節(jié)拍脈沖2、CPU 從主存取出一條指令并執(zhí)行該指令的時(shí)間叫 ,它通常包含若干個(gè) ,而后者又包含若干個(gè) 。 組成多級(jí)時(shí)序系統(tǒng)。 指令周期 機(jī)器周期 節(jié)拍 3、在寄存器寄存器型,寄存器存儲(chǔ)器型和存儲(chǔ)器存儲(chǔ)器型三類指令中,哪類指令的執(zhí)行時(shí)間最長(zhǎng)
43、?哪類指令的執(zhí)行時(shí)間最短?為什么? 解答:寄存器-寄存器型執(zhí)行速度最快,存儲(chǔ)器-存儲(chǔ)器型執(zhí)行速度最慢。因?yàn)榍罢卟僮鲾?shù)在寄存器中,后者操作數(shù)在存儲(chǔ)器中,而訪問(wèn)一次存儲(chǔ)器所需的時(shí)間一般比訪問(wèn)一次寄存器所需時(shí)間長(zhǎng)。8.78.7中斷系統(tǒng)中斷系統(tǒng)8.7.1 8.7.1 概述概述1. 1. 引起中斷的各種因素引起中斷的各種因素(1) (1) 人為設(shè)置的中斷人為設(shè)置的中斷(2) (2) 程序性事故程序性事故如如 轉(zhuǎn)管指令轉(zhuǎn)管指令溢出、操作碼不能識(shí)別、除法非法溢出、操作碼不能識(shí)別、除法非法(5) (5) 外部事件外部事件(4) I/O (4) I/O 設(shè)備設(shè)備(3) (3) 硬件故障硬件故障用用 鍵盤中斷鍵盤
44、中斷 現(xiàn)行程序現(xiàn)行程序轉(zhuǎn)管指令轉(zhuǎn)管指令管理程序管理程序2. 2. 中斷系統(tǒng)需解決的問(wèn)題中斷系統(tǒng)需解決的問(wèn)題(1) (1) 各中斷源各中斷源 如何如何 向向 CPU CPU 提出請(qǐng)求提出請(qǐng)求 ?(2) (2) 各中斷源各中斷源 同時(shí)同時(shí) 提出提出 請(qǐng)求請(qǐng)求 怎么辦怎么辦 ?(5) (5) 如何如何 尋找入口地址尋找入口地址 ?(4) (4) 如何如何 保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng) ?(3) CPU (3) CPU 什么什么 條件條件、什么、什么 時(shí)間時(shí)間、以什么、以什么 方式方式 響應(yīng)中斷響應(yīng)中斷 ?(6) (6) 如何如何 恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng),如何,如何 返回返回 ?(7) (7) 處理中斷的過(guò)程中又處理中
45、斷的過(guò)程中又 出現(xiàn)新的中斷出現(xiàn)新的中斷 怎么辦怎么辦 ?硬件硬件 軟件軟件8.7.2 8.7.2 中斷請(qǐng)求標(biāo)記和中斷判優(yōu)邏輯中斷請(qǐng)求標(biāo)記和中斷判優(yōu)邏輯1. 1. 中斷請(qǐng)求標(biāo)記中斷請(qǐng)求標(biāo)記 INTRINTR一個(gè)請(qǐng)求源一個(gè)請(qǐng)求源 一個(gè)一個(gè) INTRINTR 中斷請(qǐng)求標(biāo)記觸發(fā)器中斷請(qǐng)求標(biāo)記觸發(fā)器多個(gè)多個(gè)INTRINTR 組成組成 中斷請(qǐng)求標(biāo)記寄存器中斷請(qǐng)求標(biāo)記寄存器INTR INTR 分散分散 在各個(gè)中斷源的在各個(gè)中斷源的 接口電路中接口電路中INTR INTR 集中集中 在在 CPU CPU 的中斷系統(tǒng)的中斷系統(tǒng) 內(nèi)內(nèi)1 12 23 34 45 5n n掉電掉電過(guò)熱過(guò)熱階上溢階上溢內(nèi)存讀寫校驗(yàn)錯(cuò)內(nèi)
46、存讀寫校驗(yàn)錯(cuò)非法除法非法除法鍵盤鍵盤打印機(jī)打印機(jī)2. 2. 中斷判優(yōu)邏輯中斷判優(yōu)邏輯 分散分散 在各個(gè)中斷源的在各個(gè)中斷源的 接口電路中接口電路中 鏈?zhǔn)脚抨?duì)器鏈?zhǔn)脚抨?duì)器 集中集中 在在 CPU CPU 內(nèi)內(nèi)(1) (1) 硬件實(shí)現(xiàn)(排隊(duì)器)硬件實(shí)現(xiàn)(排隊(duì)器) 1 1 1 1 1 1 & & 1 1 & & 1 1 & &INTRINTR1 1INTRINTR2 2INTRINTR3 3INTRINTR4 4INTRINTR1 1 、 INTRINTR2 2 、 INTRINTR3 3 、 INTRINTR4 4 優(yōu)先級(jí)優(yōu)先級(jí) 按按 降序降序 排列
47、排列INTPINTP1 1INTPINTP2 2INTPINTP3 3INTPINTP4 4A A、B B、C C 優(yōu)先級(jí)按優(yōu)先級(jí)按 降序降序 排列排列(2) (2) 軟件實(shí)現(xiàn)(程序查詢)軟件實(shí)現(xiàn)(程序查詢)否否是否是否A A請(qǐng)求?請(qǐng)求?是是 B B 請(qǐng)求?請(qǐng)求?是否是否C C請(qǐng)求?請(qǐng)求?轉(zhuǎn)轉(zhuǎn) A A 的服務(wù)程序的服務(wù)程序入口地址入口地址轉(zhuǎn)轉(zhuǎn) B B 的服務(wù)程序的服務(wù)程序入口地址入口地址轉(zhuǎn)轉(zhuǎn) C C 的服務(wù)程序的服務(wù)程序入口地址入口地址是是是是是是否否否否8.7.3 8.7.3 中斷服務(wù)程序入口地址的尋找中斷服務(wù)程序入口地址的尋找1. 1. 硬件向量法硬件向量法入口地址入口地址 200200入
48、口地址入口地址 300300入口地址入口地址 40040012 H12 H13 H13 H14 H14 H主存主存12 H12 H13 H13 H14 H14 HJMPJMP 200 200JMPJMP 300 300JMPJMP 400 400主存主存向量地址向量地址形成部件形成部件中斷向量中斷向量排隊(duì)器輸出排隊(duì)器輸出向量地址向量地址 12H12H、13H13H、14H14H入口地址入口地址 200200、 300300、 4004002. 2. 軟件查詢法軟件查詢法中斷識(shí)別程序中斷識(shí)別程序(入口地址(入口地址 M M)地地 址址說(shuō)說(shuō) 明明指指 令令 M M JMP 1 JMP 1# # S
49、RSR1 1# # D = 1 D = 1 轉(zhuǎn)轉(zhuǎn)1 1# # 服務(wù)程序服務(wù)程序 SKP SKP DZ 2 DZ 2# # JMP 2 JMP 2# # SRSR2 2# # D = 0D = 0 跳跳2 2# # D = 1 D = 1 轉(zhuǎn)轉(zhuǎn)2 2# # 服務(wù)程序服務(wù)程序 SKP SKP DZ 8 DZ 8# # JMP 8 JMP 8# # SRSR8 8# # D = 0 D = 0 跳跳8 8# # D = 1 D = 1 轉(zhuǎn)轉(zhuǎn)8 8# # 服務(wù)程序服務(wù)程序八個(gè)中斷源八個(gè)中斷源 1 1、2 2、 8 8 按按 降序降序 排列排列 SKPSKP DZ 1 DZ 1# #1 1# # D =
50、 0 D = 0 跳跳(D D為完成觸發(fā)器為完成觸發(fā)器)8.7.4 8.7.4 中斷響應(yīng)中斷響應(yīng)1. 1. 響應(yīng)中斷的響應(yīng)中斷的 條件條件允許中斷觸發(fā)器允許中斷觸發(fā)器 EINT = 1EINT = 12. 2. 響應(yīng)中斷的響應(yīng)中斷的 時(shí)間時(shí)間指令執(zhí)行周期結(jié)束時(shí)刻由指令執(zhí)行周期結(jié)束時(shí)刻由CPU CPU 發(fā)查詢信號(hào)發(fā)查詢信號(hào) CPUCPU中斷查詢中斷查詢INTRINTR1 1D DQ QINTRINTR2 2D DQ QINTRINTRn nD DQ Q中斷源中斷源 1 1中斷源中斷源 2 2中斷源中斷源 n n至排隊(duì)器至排隊(duì)器3. 3. 中斷隱指令中斷隱指令(1) (1) 保護(hù)程序斷點(diǎn)保護(hù)程序斷
51、點(diǎn)(2) (2) 尋找服務(wù)程序入口地址尋找服務(wù)程序入口地址(3) (3) 硬件硬件 關(guān)中斷關(guān)中斷向量地址向量地址形成部件形成部件INTINTS SQQR REINTEINTS SQQR RPCPC 1 1 & &11排隊(duì)器排隊(duì)器斷點(diǎn)存于斷點(diǎn)存于 特定地址特定地址( 0 0 號(hào)地址)號(hào)地址) 內(nèi)內(nèi)斷點(diǎn)斷點(diǎn) 進(jìn)棧進(jìn)棧INT INT 中斷標(biāo)記中斷標(biāo)記EINT EINT 允許中斷允許中斷R R S S 觸發(fā)器觸發(fā)器向量地址向量地址PCPC(硬件向量法)(硬件向量法)M MPCPC中斷識(shí)別程序中斷識(shí)別程序 入口地址入口地址(軟件查詢法軟件查詢法)8.7.5 8.7.5 保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)
52、保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)1. 1. 保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)2. 2. 恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)寄存器寄存器 內(nèi)容內(nèi)容斷點(diǎn)斷點(diǎn)保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)其他服務(wù)程序其他服務(wù)程序恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)中斷返回中斷返回PUSHPUSH視不同請(qǐng)求源而定視不同請(qǐng)求源而定POPPOP中斷服務(wù)程序中斷服務(wù)程序 完成完成中中斷斷服服務(wù)務(wù)程程序序中斷隱指令中斷隱指令 完成完成中斷服務(wù)程序中斷服務(wù)程序 完成完成IRETIRET1. 1. 多重中斷的概念多重中斷的概念k kl lmmk k +1+1l l +1+1mm +1+1第一次第一次 中斷中斷第二次第二次 中斷中斷第三次第三次 中斷中斷程序斷點(diǎn)程序斷點(diǎn) k k+1+1 , , l l+1+1
53、, , mm+1+18.7.6 8.7.6 中斷屏蔽技術(shù)中斷屏蔽技術(shù)2. 2. 實(shí)現(xiàn)多重中斷的條件實(shí)現(xiàn)多重中斷的條件B, CB, CA A中斷中斷請(qǐng)求請(qǐng)求主程序主程序(2) (2) 優(yōu)先級(jí)別高優(yōu)先級(jí)別高 的中斷源的中斷源 有權(quán)中斷優(yōu)先級(jí)別低有權(quán)中斷優(yōu)先級(jí)別低 的中斷源的中斷源(1) (1) 提前提前 設(shè)置設(shè)置 開中斷開中斷 指令指令A(yù) AB BC CD D中斷服務(wù)程序中斷服務(wù)程序( A A、B B、 C C、 D D 優(yōu)先級(jí)按優(yōu)先級(jí)按 降序降序 排列)排列)D D &3. 3. 屏蔽技術(shù)屏蔽技術(shù)(1) (1) 屏蔽觸發(fā)器的作用屏蔽觸發(fā)器的作用MASK = 0(未屏蔽未屏蔽)INTR 能
54、被置能被置 “1” 1 & & & 1 1 1 1INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4DQ 1 DINTR MASKQCPU查詢查詢MASKi = 1 (屏蔽)(屏蔽)INTPi = 0 (不能被排隊(duì)選中)(不能被排隊(duì)選中)(1) (1) 斷點(diǎn)進(jìn)棧斷點(diǎn)進(jìn)棧(2) (2) 斷點(diǎn)存入斷點(diǎn)存入“ “ 0 ” 0 ” 地址地址中斷隱指令中斷隱指令 完成完成中斷周期中斷周期命令存儲(chǔ)器寫命令存儲(chǔ)器寫0 MAR0 MARPC MDRPC MDR(MDR) (MDR) 存入存儲(chǔ)器存入存儲(chǔ)器三次中斷,三個(gè)
55、斷點(diǎn)都存入三次中斷,三個(gè)斷點(diǎn)都存入 “ “ 0 ” 0 ” 地址地址4. 4. 多重中斷的斷點(diǎn)保護(hù)多重中斷的斷點(diǎn)保護(hù)斷點(diǎn)斷點(diǎn) MDRMDR?如何保證斷點(diǎn)不丟失?如何保證斷點(diǎn)不丟失?中斷隱指令中斷隱指令 完成完成(3) (3) 程序斷點(diǎn)存入程序斷點(diǎn)存入 “ “ 0 ” 0 ” 地址的斷點(diǎn)保護(hù)地址的斷點(diǎn)保護(hù) 05JMP SERVE SAVE RETURNSTA SAVE0 0 地址內(nèi)容轉(zhuǎn)存地址內(nèi)容轉(zhuǎn)存其他服務(wù)內(nèi)容其他服務(wù)內(nèi)容地地 址址內(nèi)內(nèi) 容容說(shuō)說(shuō) 明明SERVELDA SAVEJMP RETURN存程序斷點(diǎn)存程序斷點(diǎn)5 5 為向量地址為向量地址保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)間址返回間址返回存放存放 ACC ACC 內(nèi)容內(nèi)容轉(zhuǎn)存轉(zhuǎn)存 0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能安防及弱電系統(tǒng)2025年度施工合同
- 2025年天津貨運(yùn)從業(yè)資格證題
- 2025年廊坊貨運(yùn)從業(yè)資格證在哪里練題
- 土石方裝卸作業(yè)2025年度物流服務(wù)合同3篇
- 二零二五年度出租房衛(wèi)生應(yīng)急預(yù)案與租戶安全協(xié)議4篇
- 二零二五版教育合同:國(guó)防獎(jiǎng)學(xué)金項(xiàng)目實(shí)施與管理協(xié)議6篇
- 事業(yè)單位市場(chǎng)營(yíng)銷合作協(xié)議(2024年修訂版)3篇
- 二零二五年高性能混凝土運(yùn)輸及安裝合同模板3篇
- 二零二五年度彩鋼瓦產(chǎn)品售后維修及保養(yǎng)協(xié)議3篇
- 2025年度窗簾行業(yè)人才培養(yǎng)與就業(yè)服務(wù)合同3篇
- 中國(guó)末端執(zhí)行器(靈巧手)行業(yè)市場(chǎng)發(fā)展態(tài)勢(shì)及前景戰(zhàn)略研判報(bào)告
- 北京離婚協(xié)議書(2篇)(2篇)
- 2025中國(guó)聯(lián)通北京市分公司春季校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- Samsung三星SMARTCAMERANX2000(20-50mm)中文說(shuō)明書200
- 2024年藥品質(zhì)量信息管理制度(2篇)
- 2024年安徽省高考地理試卷真題(含答案逐題解析)
- 廣東省廣州市2024年中考數(shù)學(xué)真題試卷(含答案)
- 高中學(xué)校開學(xué)典禮方案
- 內(nèi)審檢查表完整版本
- 3級(jí)人工智能訓(xùn)練師(高級(jí))國(guó)家職業(yè)技能鑒定考試題及答案
- 孤殘兒童護(hù)理員技能鑒定考試題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論