第2章8086 微處理器及其系統(tǒng)結(jié)構(gòu)_第1頁
第2章8086 微處理器及其系統(tǒng)結(jié)構(gòu)_第2頁
第2章8086 微處理器及其系統(tǒng)結(jié)構(gòu)_第3頁
第2章8086 微處理器及其系統(tǒng)結(jié)構(gòu)_第4頁
第2章8086 微處理器及其系統(tǒng)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩148頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第二章第二章 80868086微處微處理器及其系統(tǒng)結(jié)構(gòu)理器及其系統(tǒng)結(jié)構(gòu)p 80868086的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)p 80868086的寄存器組的寄存器組p 80868086微處理器引腳信號(hào)微處理器引腳信號(hào)p 80868086微處理器典型時(shí)序分析微處理器典型時(shí)序分析 8086 CPU 8086 CPU是是IntelIntel公司一種公司一種1616位微處理器位微處理器,是第三代微處理器的代表,是第三代微處理器的代表, ,是是80X8680X86的基本的基本型。它有型。它有1616根數(shù)據(jù)線和根數(shù)據(jù)線和2020根地址線,所以可根地址線,所以可尋址的地址空間是尋址的地址空間是2 220201MB1MB,

2、內(nèi)部總線和,內(nèi)部總線和ALUALU全部為全部為1616位,可以進(jìn)行位,可以進(jìn)行8 8位和位和1616位操作。以下位操作。以下是是8086CPU8086CPU實(shí)物圖。實(shí)物圖。 v80868086內(nèi)部結(jié)構(gòu)有兩個(gè)功能模塊,完成一條指內(nèi)部結(jié)構(gòu)有兩個(gè)功能模塊,完成一條指令的取指和執(zhí)行功能令的取指和執(zhí)行功能模塊之一:總線接口單元模塊之一:總線接口單元BIUBIU,主要負(fù)責(zé)讀,主要負(fù)責(zé)讀取指令和操作數(shù)取指令和操作數(shù)模塊之二:執(zhí)行單元模塊之二:執(zhí)行單元EU EU ,主要負(fù)責(zé)指令譯,主要負(fù)責(zé)指令譯碼和執(zhí)行碼和執(zhí)行80868086的功能結(jié)構(gòu)的功能結(jié)構(gòu)80868086內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)內(nèi)部暫存器內(nèi)部暫存器 IP ES

3、 SS DS CS總線控制總線控制電路電路外部總線外部總線執(zhí)行部分執(zhí)行部分控制電路控制電路1 2 3 4 5 6ALU標(biāo)志寄存器標(biāo)志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用寄存器通用寄存器地址加法器地址加法器指令隊(duì)列緩沖器指令隊(duì)列緩沖器執(zhí)行部件執(zhí)行部件 (EU)EU)總線接口部件總線接口部件 (BIU)BIU)1616位位20位位16位位8 8位位80888088的指令的指令隊(duì)列是隊(duì)列是4B4B暫存寄存器暫存寄存器 從功能上來看,從功能上來看,8086CPU8086CPU可分為可分為兩部分,即總線接口部件兩部分,即總線接口部件BIUBIU(Bus Bus

4、 Interface UnitInterface Unit)和執(zhí)行部件)和執(zhí)行部件EUEU(Execution UnitExecution Unit)。在執(zhí)行指令的)。在執(zhí)行指令的過程中,兩個(gè)部件形成了兩級(jí)流水線:過程中,兩個(gè)部件形成了兩級(jí)流水線:執(zhí)行部件執(zhí)行指令的同時(shí),總線接口執(zhí)行部件執(zhí)行指令的同時(shí),總線接口部件完成從主存中預(yù)取后繼續(xù)指令的部件完成從主存中預(yù)取后繼續(xù)指令的工作,使指令的讀取與執(zhí)行可以部分工作,使指令的讀取與執(zhí)行可以部分重疊。重疊。總線接口部件總線接口部件BIUBIU 功能:負(fù)責(zé)完成取指令送指令隊(duì)列,配合執(zhí)行功能:負(fù)責(zé)完成取指令送指令隊(duì)列,配合執(zhí)行部件的動(dòng)作,從內(nèi)存單元或部件的

5、動(dòng)作,從內(nèi)存單元或I/OI/O端口取操作數(shù),或端口取操作數(shù),或者將操作結(jié)果送內(nèi)存單元或者者將操作結(jié)果送內(nèi)存單元或者I/OI/O端口。端口。BIUBIU由以由以下部分組成。下部分組成。 地址加法器和段寄存器地址加法器和段寄存器 1 1個(gè)個(gè)2020位地址加法器、位地址加法器、4 4個(gè)個(gè)1616位段寄存器位段寄存器 ,地,地址加法器將址加法器將1616位的段寄存器內(nèi)容左移位的段寄存器內(nèi)容左移4 4位,與位,與1616位位偏移地址相加,形成偏移地址相加,形成2020位的物理地址。位的物理地址。 16 16位指令指針位指令指針I(yè)PIP 指令指針指令指針I(yè)PIP用來存放下一條要執(zhí)行指令在代碼用來存放下一條

6、要執(zhí)行指令在代碼段中的偏移地址。段中的偏移地址。 指令隊(duì)列緩沖器指令隊(duì)列緩沖器 當(dāng)當(dāng)EUEU正在執(zhí)行指令中,且不需占用總線時(shí),正在執(zhí)行指令中,且不需占用總線時(shí),BIUBIU會(huì)自動(dòng)地進(jìn)行預(yù)取指令操作,將所取得的指令會(huì)自動(dòng)地進(jìn)行預(yù)取指令操作,將所取得的指令按先后次序存入按先后次序存入1 1個(gè)個(gè)6 6字節(jié)的指令隊(duì)列寄存器,該字節(jié)的指令隊(duì)列寄存器,該隊(duì)列寄存器按隊(duì)列寄存器按“先進(jìn)先出先進(jìn)先出”的方式工作,并按順的方式工作,并按順序取到序取到EUEU中執(zhí)行。中執(zhí)行。 總線控制邏輯電路總線控制邏輯電路執(zhí)行部件執(zhí)行部件EUEUl功能:功能:負(fù)責(zé)進(jìn)行所有指令的解釋和執(zhí)行。由以負(fù)責(zé)進(jìn)行所有指令的解釋和執(zhí)行。由以

7、下部分組成:下部分組成: 算術(shù)邏輯運(yùn)算單元算術(shù)邏輯運(yùn)算單元 它是它是1 1個(gè)個(gè)1616位的運(yùn)算器,可用于位的運(yùn)算器,可用于8 8位、位、1616位位二進(jìn)制算術(shù)和邏輯運(yùn)算,也可按指令的尋址方二進(jìn)制算術(shù)和邏輯運(yùn)算,也可按指令的尋址方式計(jì)算尋址存儲(chǔ)器所需的式計(jì)算尋址存儲(chǔ)器所需的1616位偏移量。位偏移量。 通用寄存器組通用寄存器組 它包括它包括4 4個(gè)個(gè)1616位的數(shù)據(jù)寄存器位的數(shù)據(jù)寄存器AXAX、BXBX、CXCX、DXDX和和4 4個(gè)個(gè)1616位指針與變址寄存器位指針與變址寄存器SPSP、BPBP與與SISI、DIDI。 標(biāo)志寄存器標(biāo)志寄存器 它是它是1 1個(gè)個(gè)1616位的寄存器,用來反映位的寄

8、存器,用來反映CPUCPU運(yùn)運(yùn)算的狀態(tài)特征和存放某些控制標(biāo)志。算的狀態(tài)特征和存放某些控制標(biāo)志。 數(shù)據(jù)暫它協(xié)助數(shù)據(jù)暫它協(xié)助ALUALU完成運(yùn)算,暫存參完成運(yùn)算,暫存參加運(yùn)算的數(shù)據(jù)。加運(yùn)算的數(shù)據(jù)。 EU EU控制電路控制電路 它負(fù)責(zé)從它負(fù)責(zé)從BIUBIU的指令隊(duì)列緩沖器中取指令,的指令隊(duì)列緩沖器中取指令,并對(duì)指令譯碼,根據(jù)指令要求向并對(duì)指令譯碼,根據(jù)指令要求向EUEU內(nèi)部各部?jī)?nèi)部各部件發(fā)出控制命令,以完成各條指令規(guī)定的功件發(fā)出控制命令,以完成各條指令規(guī)定的功能。能。 BIUBIU與與EUEU的動(dòng)作協(xié)調(diào)原則:的動(dòng)作協(xié)調(diào)原則: 總線接口部件總線接口部件(BIU)(BIU)和執(zhí)行部件和執(zhí)行部件(EU)(

9、EU)按按以下流水線技術(shù)原則協(xié)調(diào)工作,共同完成以下流水線技術(shù)原則協(xié)調(diào)工作,共同完成所要求的信息處理任務(wù)所要求的信息處理任務(wù). . 每當(dāng)每當(dāng)80868086的指令隊(duì)列中有兩個(gè)空字的指令隊(duì)列中有兩個(gè)空字節(jié),節(jié),BIUBIU就會(huì)自動(dòng)把指令取到指令隊(duì)列中就會(huì)自動(dòng)把指令取到指令隊(duì)列中。其取指的順序是按指令在程序中出現(xiàn)的。其取指的順序是按指令在程序中出現(xiàn)的前后順序。前后順序。 每當(dāng)每當(dāng)EUEU準(zhǔn)備執(zhí)行一條指令時(shí),它會(huì)從準(zhǔn)備執(zhí)行一條指令時(shí),它會(huì)從BIUBIU部件的指令隊(duì)列前部取出指令的代碼,然部件的指令隊(duì)列前部取出指令的代碼,然后用幾個(gè)時(shí)鐘周期去執(zhí)行指令。在執(zhí)行指令后用幾個(gè)時(shí)鐘周期去執(zhí)行指令。在執(zhí)行指令的過

10、程中,如果必須訪問存儲(chǔ)器或者的過程中,如果必須訪問存儲(chǔ)器或者I IO O端端口,那么口,那么EUEU就會(huì)請(qǐng)求就會(huì)請(qǐng)求BIUBIU,進(jìn)入總線周期,完,進(jìn)入總線周期,完成訪問內(nèi)存或者成訪問內(nèi)存或者I IO O端口的操作;如果此時(shí)端口的操作;如果此時(shí)BIUBIU正好處于空閑狀態(tài),會(huì)立即響應(yīng)正好處于空閑狀態(tài),會(huì)立即響應(yīng)EUEU的總線的總線請(qǐng)求。如請(qǐng)求。如BIUBIU正將某個(gè)指令字節(jié)取到指令隊(duì)列正將某個(gè)指令字節(jié)取到指令隊(duì)列中,則中,則BIUBIU將首先完成這個(gè)取指令的總線周期將首先完成這個(gè)取指令的總線周期,然后再去響應(yīng),然后再去響應(yīng)EUEU發(fā)出的訪問總線的請(qǐng)求。發(fā)出的訪問總線的請(qǐng)求。 當(dāng)指令隊(duì)列已滿,且

11、當(dāng)指令隊(duì)列已滿,且EUEU又沒有總線訪問又沒有總線訪問請(qǐng)求時(shí),請(qǐng)求時(shí),BIUBIU便進(jìn)入空閑狀態(tài)。便進(jìn)入空閑狀態(tài)。 在執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指在執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時(shí),由于待執(zhí)行指令的順序發(fā)生了變化,令時(shí),由于待執(zhí)行指令的順序發(fā)生了變化,則指令隊(duì)列中已經(jīng)裝入的字節(jié)被自動(dòng)消除,則指令隊(duì)列中已經(jīng)裝入的字節(jié)被自動(dòng)消除,BIUBIU會(huì)接著往指令隊(duì)列裝入轉(zhuǎn)向的另一程序會(huì)接著往指令隊(duì)列裝入轉(zhuǎn)向的另一程序段中的指令代碼。段中的指令代碼。 BIU BIU與與EUEU兩者的工作是不同步的,正是兩者的工作是不同步的,正是這種既相互獨(dú)立又相互配合的關(guān)系,使得這種既相互獨(dú)立又相互配合的關(guān)系,使得80

12、868086可以在執(zhí)行指令的同時(shí),進(jìn)行取指令代可以在執(zhí)行指令的同時(shí),進(jìn)行取指令代碼的操作,也就是說碼的操作,也就是說BIUBIU與與EUEU是一種并行工是一種并行工作方式,改變了以往計(jì)算機(jī)取指令作方式,改變了以往計(jì)算機(jī)取指令譯碼譯碼執(zhí)行指令的串行工作方式,實(shí)現(xiàn)流水線作業(yè)執(zhí)行指令的串行工作方式,實(shí)現(xiàn)流水線作業(yè),大大提高了工作效率。,大大提高了工作效率。小結(jié)小結(jié) CPU內(nèi)部組成及各完成的功能內(nèi)部組成及各完成的功能 v8086CPU8086CPU由總線接口部件由總線接口部件BIUBIU和執(zhí)行部件和執(zhí)行部件EUEU兩兩部分組成。部分組成。 總線接口部件負(fù)責(zé)與存儲(chǔ)器和總線接口部件負(fù)責(zé)與存儲(chǔ)器和I0I0端

13、口之端口之間傳送數(shù)據(jù)間傳送數(shù)據(jù), ,總線口部件主要包括:總線口部件主要包括:4 4個(gè)段地個(gè)段地址寄存器;一個(gè)指令指針寄存器址寄存器;一個(gè)指令指針寄存器IPIP;一個(gè);一個(gè)2020位地址加法器;位地址加法器;6 6字節(jié)指令隊(duì)列;內(nèi)部寄存器;字節(jié)指令隊(duì)列;內(nèi)部寄存器;總線控制電路??偩€控制電路。 執(zhí)行部件負(fù)責(zé)指令的執(zhí)行,主要包括:執(zhí)行部件負(fù)責(zé)指令的執(zhí)行,主要包括:8 8個(gè)個(gè)1616位通用寄存器;標(biāo)志寄存器;算術(shù)邏輯位通用寄存器;標(biāo)志寄存器;算術(shù)邏輯單元單元ALUALU和和EUEU控制電路。控制電路。第二章第二章 80868086微處微處理器及其系統(tǒng)結(jié)構(gòu)理器及其系統(tǒng)結(jié)構(gòu)p 80868086的功能結(jié)構(gòu)

14、的功能結(jié)構(gòu)p 80868086的寄存器組的寄存器組p 80868086微處理器引腳信號(hào)微處理器引腳信號(hào)p 80868086微處理器典型時(shí)序分析微處理器典型時(shí)序分析80868086的寄存器組的寄存器組執(zhí)行單元執(zhí)行單元EU 8EU 8個(gè)通用寄存器個(gè)通用寄存器(AX/BX/CX/DX (AX/BX/CX/DX SI/DI BP/SP)SI/DI BP/SP)1 1個(gè)標(biāo)志寄存器個(gè)標(biāo)志寄存器(FR)(FR)1 1個(gè)指令指針寄存器個(gè)指令指針寄存器(IP)(IP)4 4個(gè)段寄存器個(gè)段寄存器(CS/DS/ES/SS)(CS/DS/ES/SS)80868086的寄存器組的寄存器組v微處理器是微機(jī)的硬件核心微處理

15、器是微機(jī)的硬件核心, ,主要包含指令執(zhí)主要包含指令執(zhí)行的運(yùn)算和控制部件,還有多種寄存器,對(duì)行的運(yùn)算和控制部件,還有多種寄存器,對(duì)匯編語言程序員來說,匯編語言程序員來說,80868086內(nèi)部結(jié)構(gòu)就是可內(nèi)部結(jié)構(gòu)就是可編程的寄存器組編程的寄存器組執(zhí)行單元執(zhí)行單元EU 8EU 8個(gè)通用寄存器個(gè)通用寄存器(AX/BX/CX/DX (AX/BX/CX/DX SI/DI BP/SP)SI/DI BP/SP)1 1個(gè)標(biāo)志寄存器個(gè)標(biāo)志寄存器(FR)(FR)1 1個(gè)指令指針寄存器個(gè)指令指針寄存器(IP)(IP)4 4個(gè)段寄存器個(gè)段寄存器(CS/DS/ES/SS)(CS/DS/ES/SS)8086 CPU8086

16、CPU內(nèi)部寄存器如圖所示。內(nèi)部寄存器如圖所示。 數(shù)據(jù)寄存器數(shù)據(jù)寄存器v數(shù)據(jù)寄存器用來存放計(jì)算的結(jié)果和操作數(shù)數(shù)據(jù)寄存器用來存放計(jì)算的結(jié)果和操作數(shù)v每個(gè)寄存器又有它們各自的專用目的:每個(gè)寄存器又有它們各自的專用目的:AX16AX16位累加器,使用頻度最高,用位累加器,使用頻度最高,用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息等;等;ALAL為為8 8位累加器。位累加器。BXBX基址寄存器,常用來做基址指針,基址寄存器,常用來做基址指針,指向一批連續(xù)存放操作數(shù)的基地址。指向一批連續(xù)存放操作數(shù)的基地址。CXCX計(jì)數(shù)器,作為循環(huán)和串操作等指計(jì)數(shù)器,作為循環(huán)和串操作等指令中的隱含

17、計(jì)數(shù)器。令中的隱含計(jì)數(shù)器。DXDX數(shù)據(jù)寄存器,用來存放外設(shè)端口數(shù)據(jù)寄存器,用來存放外設(shè)端口的的1616位地址,或雙字長(zhǎng)數(shù)據(jù)的高位地址,或雙字長(zhǎng)數(shù)據(jù)的高1616位。位。變址寄存器變址寄存器v變址寄存器常用于存儲(chǔ)器尋址時(shí)提供地址變址寄存器常用于存儲(chǔ)器尋址時(shí)提供地址vSISI是源變址寄存器是源變址寄存器vDIDI是目的變址寄存器是目的變址寄存器v在串操作類指令中,在串操作類指令中,SISI和和DIDI具有特別的功具有特別的功能能指針寄存器指針寄存器v指針寄存器用于尋址內(nèi)存堆棧內(nèi)的數(shù)據(jù)指針寄存器用于尋址內(nèi)存堆棧內(nèi)的數(shù)據(jù)vSPSP為堆棧指針寄存器,指示棧頂?shù)钠频貫槎褩V羔樇拇嫫?,指示棧頂?shù)钠频刂?。?/p>

18、。SPSP不能再用于其他目的,具有專用性不能再用于其他目的,具有專用性vBPBP為基址指針寄存器,表示數(shù)據(jù)在堆棧段為基址指針寄存器,表示數(shù)據(jù)在堆棧段中的基地址中的基地址vSP/BPSP/BP寄存器與寄存器與SSSS段寄存器聯(lián)合使用以確段寄存器聯(lián)合使用以確定堆棧段中的存儲(chǔ)單元地址定堆棧段中的存儲(chǔ)單元地址堆棧(堆棧(StackStack)v堆棧是主存中一個(gè)特殊的區(qū)域堆棧是主存中一個(gè)特殊的區(qū)域v它采用它采用(First In Last OutFirst In Last Out)或后進(jìn)先出或后進(jìn)先出LIFOLIFO(Last In First OutLast In First Out)的)的原則進(jìn)行存

19、取操作,而不是隨機(jī)存取操作方原則進(jìn)行存取操作,而不是隨機(jī)存取操作方式。式。v堆棧通常由處理器自動(dòng)維持。在堆棧通常由處理器自動(dòng)維持。在80868086中,由中,由堆棧段寄存器堆棧段寄存器SSSS和堆棧指針寄存器和堆棧指針寄存器SPSP共同指共同指示示 8086 CPU 8086 CPU是是IntelIntel公司一種公司一種1616位微處理器位微處理器,是第三代微處理器的代表,是第三代微處理器的代表, ,是是80X8680X86的基本的基本型。它有型。它有1616根數(shù)據(jù)線和根數(shù)據(jù)線和2020根地址線,所以可根地址線,所以可尋址的地址空間是尋址的地址空間是2 220201MB1MB,內(nèi)部總線和,內(nèi)

20、部總線和ALUALU全部為全部為1616位,可以進(jìn)行位,可以進(jìn)行8 8位和位和1616位操作。以下位操作。以下是是8086CPU8086CPU實(shí)物圖。實(shí)物圖。 80868086內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)內(nèi)部暫存器內(nèi)部暫存器 IP ES SS DS CS總線控制總線控制電路電路外部總線外部總線執(zhí)行部分執(zhí)行部分控制電路控制電路1 2 3 4 5 6ALU標(biāo)志寄存器標(biāo)志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用寄存器通用寄存器地址加法器地址加法器指令隊(duì)列緩沖器指令隊(duì)列緩沖器執(zhí)行部件執(zhí)行部件 (EU)EU)總線接口部件總線接口部件 (BIU)BIU)1616位位20位位16

21、位位8 8位位80888088的指令的指令隊(duì)列是隊(duì)列是4B4B暫存寄存器暫存寄存器80868086的寄存器組的寄存器組v對(duì)匯編語言程序員來說,對(duì)匯編語言程序員來說,80868086內(nèi)部結(jié)構(gòu)就是內(nèi)部結(jié)構(gòu)就是可編程的寄存器組可編程的寄存器組 執(zhí)行單元執(zhí)行單元EU 8EU 8個(gè)通用寄存器個(gè)通用寄存器 1 1個(gè)標(biāo)志寄存器個(gè)標(biāo)志寄存器 1 1個(gè)指令指針寄存器個(gè)指令指針寄存器 4 4個(gè)段寄存器個(gè)段寄存器標(biāo)志寄存器標(biāo)志寄存器v標(biāo)志(標(biāo)志(FlagFlag)用于反映指令執(zhí)行結(jié)果或控制)用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式指令執(zhí)行形式v80868086處理器的各種標(biāo)志形成了一個(gè)處理器的各種標(biāo)志形成了一個(gè)161

22、6位的標(biāo)位的標(biāo)志寄存器志寄存器FRFROF1115 12DF10IF9TF8SF7ZF65AF43PF21CF0進(jìn)位標(biāo)志進(jìn)位標(biāo)志CFCF(Carry FlagCarry Flag)v當(dāng)運(yùn)算結(jié)果的最高有效位有進(jìn)位(加法)或當(dāng)運(yùn)算結(jié)果的最高有效位有進(jìn)位(加法)或借位(減法)時(shí),進(jìn)位標(biāo)志置借位(減法)時(shí),進(jìn)位標(biāo)志置1 1,即,即CF = 1CF = 1;否則否則CF = 0CF = 0。0AAH + 7CH0AAH + 7CH(1 1)26H26H,有進(jìn)位:,有進(jìn)位:CF = 1CF = 13AH + 7CH3AH + 7CH , CF =, CF =0B6H0B6H0零標(biāo)志零標(biāo)志ZFZF(Zero

23、 FlagZero Flag)v若運(yùn)算結(jié)果為若運(yùn)算結(jié)果為0 0,則,則ZF = 1ZF = 1;否則否則ZF = 0ZF = 03AH + 7CH3AH + 7CH0B6H0B6H,結(jié)果不是零:,結(jié)果不是零:ZF = 0ZF = 084H + 7CH84H + 7CH00 00 ,結(jié)果為零,結(jié)果為零 :ZF =1ZF =1 注意:注意:ZFZF為為1 1表示的結(jié)果是表示的結(jié)果是0 0符號(hào)標(biāo)志符號(hào)標(biāo)志SFSF(Sign FlagSign Flag)v運(yùn)算結(jié)果最高位為運(yùn)算結(jié)果最高位為1 1,則,則SF = 1SF = 1;否則;否則SF = 0SF = 03AH + 7CH3AH + 7CH0B6

24、H0B6H,最高位,最高位D D7 71 1:SF = 1SF = 184H + 7CH84H + 7CH(1 1)00H00H,最高位,最高位D D7 70 0:SF = 0SF = 0奇偶標(biāo)志奇偶標(biāo)志PF(Parity Flag)v當(dāng)運(yùn)算結(jié)果最低字節(jié)中當(dāng)運(yùn)算結(jié)果最低字節(jié)中“1”的個(gè)數(shù)為零或偶的個(gè)數(shù)為零或偶數(shù)時(shí),數(shù)時(shí),PF=1;否則;否則PF=0。例如:例如:3AH + 7CHB6H10110110B,結(jié)果中有結(jié)果中有5個(gè)個(gè)1,是奇數(shù),則,是奇數(shù),則 PF=0注意:注意:PF標(biāo)志僅反映最低標(biāo)志僅反映最低8位中位中“1”的個(gè)數(shù)的個(gè)數(shù)是偶或奇,即使是進(jìn)行是偶或奇,即使是進(jìn)行16位字操作。位字操作

25、。溢出標(biāo)志溢出標(biāo)志OFOF(Overflow FlagOverflow Flag)v若算術(shù)運(yùn)算的結(jié)果有溢出,則若算術(shù)運(yùn)算的結(jié)果有溢出,則OF=1OF=1;否則;否則 OFOF0 0。例如:。例如:3AH + 7CH3AH + 7CHB6HB6H產(chǎn)生溢出:產(chǎn)生溢出:OF=1OF=1AAH + 7CHAAH + 7CH26H26H沒有溢出:沒有溢出:OF=0OF=0問題:?jiǎn)栴}:什么是溢出?什么是溢出?溢出和進(jìn)位有什么區(qū)別?溢出和進(jìn)位有什么區(qū)別?處理器怎么處理,程序員如何運(yùn)用?處理器怎么處理,程序員如何運(yùn)用?如何判斷是否溢出?如何判斷是否溢出?溢出標(biāo)志溢出標(biāo)志OFOF(Overflow FlagOv

26、erflow Flag)v若算術(shù)運(yùn)算的結(jié)果有溢出,則若算術(shù)運(yùn)算的結(jié)果有溢出,則OF=1OF=1;否則;否則 OFOF0 0。v問題:?jiǎn)栴}:什么是溢出?什么是溢出?溢出和進(jìn)位有什么區(qū)別?溢出和進(jìn)位有什么區(qū)別?程序員如何運(yùn)用?程序員如何運(yùn)用?什么是溢出什么是溢出v處理器內(nèi)部以補(bǔ)碼表示有符號(hào)數(shù)處理器內(nèi)部以補(bǔ)碼表示有符號(hào)數(shù)v8 8位表達(dá)的整數(shù)范圍是:位表達(dá)的整數(shù)范圍是:127127128128v1616位表達(dá)的范圍是:位表達(dá)的范圍是:32767327673276832768v如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出v有溢出,說明有符號(hào)數(shù)的運(yùn)算結(jié)果不正確有溢出,說明有

27、符號(hào)數(shù)的運(yùn)算結(jié)果不正確什么是溢出什么是溢出v處理器內(nèi)部以補(bǔ)碼表示有符號(hào)數(shù)處理器內(nèi)部以補(bǔ)碼表示有符號(hào)數(shù)v8 8位表達(dá)的整數(shù)范圍是:位表達(dá)的整數(shù)范圍是:127127128128v1616位表達(dá)的范圍是:位表達(dá)的范圍是:32767327673276832768v如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出v有溢出,說明有符號(hào)數(shù)的運(yùn)算結(jié)果不正確有溢出,說明有符號(hào)數(shù)的運(yùn)算結(jié)果不正確3AH3AH7CH7CH0B6H0B6H,就是,就是5858124124182182,已經(jīng)超出已經(jīng)超出-128-128+127+127范圍,產(chǎn)生溢出,故范圍,產(chǎn)生溢出,故OFOF1 1;什么是溢

28、出什么是溢出v處理器內(nèi)部以補(bǔ)碼表示有符號(hào)數(shù)處理器內(nèi)部以補(bǔ)碼表示有符號(hào)數(shù)v8 8位表達(dá)的整數(shù)范圍是:位表達(dá)的整數(shù)范圍是:127127128128v1616位表達(dá)的范圍是:位表達(dá)的范圍是:32767327673276832768v如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出v有溢出,說明有符號(hào)數(shù)的運(yùn)算結(jié)果不正確有溢出,說明有符號(hào)數(shù)的運(yùn)算結(jié)果不正確3AH3AH7CH7CH0B6H0B6H,就是,就是5858124124182182,已經(jīng)超出已經(jīng)超出-128-128+127+127范圍,產(chǎn)生溢出,故范圍,產(chǎn)生溢出,故OFOF1 1;例:例: 96= 01100000 6

29、5= 01000001 161= 10100001 CF=0 無進(jìn)位無進(jìn)位 OF=1 有溢出有溢出例:例: 10000001 00000011 10000100 OF= 0 無溢出無溢出例:例: 96= 01100000 65= 01000001 161= 10100001 CF=0 無進(jìn)位無進(jìn)位 OF= 1 有溢出有溢出CF=0 無進(jìn)位無進(jìn)位 7.有符號(hào)數(shù)的擴(kuò)展運(yùn)算有符號(hào)數(shù)的擴(kuò)展運(yùn)算CBW 96補(bǔ)補(bǔ)= 00000000 01100000 +65補(bǔ)補(bǔ)= 00000000 01000001 +161補(bǔ)補(bǔ)= 00000000 10100001 OF=0(無溢出,結(jié)果對(duì))(無溢出,結(jié)果對(duì)) 7.有符

30、號(hào)數(shù)的擴(kuò)展運(yùn)算有符號(hào)數(shù)的擴(kuò)展運(yùn)算CBW(續(xù))(續(xù)) 4646補(bǔ)補(bǔ)=00101110B=00101110B, 4646補(bǔ)補(bǔ)=11010010B=11010010B,從從8 8位擴(kuò)展到位擴(kuò)展到1616位位 4646補(bǔ)補(bǔ)= =0000 00000000 0000 0010 1110B=002EH 0010 1110B=002EH 4646補(bǔ)補(bǔ)= =1111 11111111 1111 1101 0010B=0FFD2H 1101 0010B=0FFD2H 什么是溢出什么是溢出v處理器內(nèi)部以補(bǔ)碼表示有符號(hào)數(shù)處理器內(nèi)部以補(bǔ)碼表示有符號(hào)數(shù)v8 8位表達(dá)的整數(shù)范圍是:位表達(dá)的整數(shù)范圍是:1271271281

31、28v1616位表達(dá)的范圍是:位表達(dá)的范圍是:32767327673276832768v如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出v有溢出,說明有符號(hào)數(shù)的運(yùn)算結(jié)果不正確有溢出,說明有符號(hào)數(shù)的運(yùn)算結(jié)果不正確3AH3AH7CH7CH0B6H0B6H,就是,就是5858124124182182,已經(jīng)超出已經(jīng)超出-128-128+127+127范圍,產(chǎn)生溢出,故范圍,產(chǎn)生溢出,故OFOF1 1;另一方面,補(bǔ)碼另一方面,補(bǔ)碼0B6H0B6H表達(dá)真值是表達(dá)真值是-74-74,顯然運(yùn)算結(jié)果也不正確顯然運(yùn)算結(jié)果也不正確溢出和進(jìn)位的區(qū)別溢出和進(jìn)位的區(qū)別v溢出標(biāo)志溢出標(biāo)志OFOF

32、和進(jìn)位標(biāo)志和進(jìn)位標(biāo)志CFCF是兩個(gè)意義不同的是兩個(gè)意義不同的標(biāo)志標(biāo)志v進(jìn)位標(biāo)志表示無符號(hào)數(shù)運(yùn)算結(jié)果是否超出范進(jìn)位標(biāo)志表示無符號(hào)數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果仍然正確;圍,運(yùn)算結(jié)果仍然正確;v溢出標(biāo)志表示有符號(hào)數(shù)運(yùn)算結(jié)果是否超出范溢出標(biāo)志表示有符號(hào)數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果已經(jīng)不正確。圍,運(yùn)算結(jié)果已經(jīng)不正確。溢出和進(jìn)位的對(duì)比溢出和進(jìn)位的對(duì)比例例1 1:3AH + 7CH3AH + 7CH0B6H0B6H無符號(hào)數(shù)運(yùn)算:無符號(hào)數(shù)運(yùn)算: 5858124124182182范圍內(nèi),無進(jìn)位范圍內(nèi),無進(jìn)位有符號(hào)數(shù)運(yùn)算:有符號(hào)數(shù)運(yùn)算: 5858124124182182范圍外,有溢出范圍外,有溢出例例2

33、2:0AAH + 7CH0AAH + 7CH(1 1)26H26H無符號(hào)數(shù)運(yùn)算:無符號(hào)數(shù)運(yùn)算:170170124124294294范圍外,有進(jìn)位范圍外,有進(jìn)位有符號(hào)數(shù)運(yùn)算:有符號(hào)數(shù)運(yùn)算:86861241242828范圍內(nèi),無溢出范圍內(nèi),無溢出如何運(yùn)用溢出和進(jìn)位如何運(yùn)用溢出和進(jìn)位v處理器對(duì)兩個(gè)操作數(shù)進(jìn)行運(yùn)算時(shí),按照無符處理器對(duì)兩個(gè)操作數(shù)進(jìn)行運(yùn)算時(shí),按照無符號(hào)數(shù)求得結(jié)果,并相應(yīng)設(shè)置進(jìn)位標(biāo)志號(hào)數(shù)求得結(jié)果,并相應(yīng)設(shè)置進(jìn)位標(biāo)志CFCF;同;同時(shí),根據(jù)是否超出有符號(hào)數(shù)的范圍設(shè)置溢出時(shí),根據(jù)是否超出有符號(hào)數(shù)的范圍設(shè)置溢出標(biāo)志標(biāo)志OFOF。v應(yīng)該利用哪個(gè)標(biāo)志,則由程序員來決定。也應(yīng)該利用哪個(gè)標(biāo)志,則由程序員來

34、決定。也就是說,如果將參加運(yùn)算的操作數(shù)認(rèn)為是無就是說,如果將參加運(yùn)算的操作數(shù)認(rèn)為是無符號(hào)數(shù),就應(yīng)該關(guān)心進(jìn)位;認(rèn)為是有符號(hào)數(shù),符號(hào)數(shù),就應(yīng)該關(guān)心進(jìn)位;認(rèn)為是有符號(hào)數(shù),則要注意是否溢出。則要注意是否溢出。溢出的判斷溢出的判斷v判斷運(yùn)算結(jié)果是否溢出有一個(gè)簡(jiǎn)單的規(guī)則:判斷運(yùn)算結(jié)果是否溢出有一個(gè)簡(jiǎn)單的規(guī)則:v只有當(dāng)兩個(gè)相同符號(hào)數(shù)相加(包括不同符號(hào)只有當(dāng)兩個(gè)相同符號(hào)數(shù)相加(包括不同符號(hào)數(shù)相減),而運(yùn)算結(jié)果的符號(hào)與原數(shù)據(jù)符號(hào)數(shù)相減),而運(yùn)算結(jié)果的符號(hào)與原數(shù)據(jù)符號(hào)相反時(shí),產(chǎn)生溢出;因?yàn)椋藭r(shí)的運(yùn)算結(jié)果相反時(shí),產(chǎn)生溢出;因?yàn)?,此時(shí)的運(yùn)算結(jié)果顯然不正確顯然不正確v其他情況下,則不會(huì)產(chǎn)生溢出其他情況下,則不會(huì)產(chǎn)生溢

35、出輔助進(jìn)位標(biāo)志輔助進(jìn)位標(biāo)志AFAF(Auxiliary Carry FlagAuxiliary Carry Flag)v運(yùn)算時(shí)運(yùn)算時(shí)D D3 3位(低半字節(jié))有進(jìn)位或借位時(shí),位(低半字節(jié))有進(jìn)位或借位時(shí),AF=1AF=1;否則;否則AF=0AF=0。例如:例如:3AH + 7CH3AH + 7CHB6HB6H D D3 3向前有進(jìn)位:向前有進(jìn)位:AF=1AF=1這個(gè)標(biāo)志主要由處理器內(nèi)部使用,用于十進(jìn)這個(gè)標(biāo)志主要由處理器內(nèi)部使用,用于十進(jìn)制算術(shù)運(yùn)算的調(diào)整,用戶一般不必關(guān)心。制算術(shù)運(yùn)算的調(diào)整,用戶一般不必關(guān)心。方向標(biāo)志方向標(biāo)志DFDF(Direction FlagDirection Flag)v用

36、于串操作指令中,控制地址的變化方向:用于串操作指令中,控制地址的變化方向:設(shè)置設(shè)置DFDF0 0,串操作后存儲(chǔ)器地址自動(dòng)增量,串操作后存儲(chǔ)器地址自動(dòng)增量(增址);(增址);設(shè)置設(shè)置DFDF1 1,串操作后存儲(chǔ)器地址自動(dòng)減量,串操作后存儲(chǔ)器地址自動(dòng)減量(減址)。(減址)。方向標(biāo)志方向標(biāo)志DFDF(Direction FlagDirection Flag)v用于串操作指令中,控制地址的變化方向:用于串操作指令中,控制地址的變化方向:設(shè)置設(shè)置DFDF0 0,串操作后存儲(chǔ)器地址自動(dòng)增量,串操作后存儲(chǔ)器地址自動(dòng)增量(增址);(增址);設(shè)置設(shè)置DFDF1 1,串操作后存儲(chǔ)器地址自動(dòng)減量,串操作后存儲(chǔ)器地址

37、自動(dòng)減量(減址)。(減址)。vCLD CLD 指令復(fù)位方向標(biāo)志:指令復(fù)位方向標(biāo)志:DFDF0 0vSTD STD 指令置位方向標(biāo)志:指令置位方向標(biāo)志:DFDF1 1中斷允許標(biāo)志中斷允許標(biāo)志IF(Interrupt-enable Flag)IF(Interrupt-enable Flag)v用于控制外部可屏蔽中斷是否可以被處理器響應(yīng):用于控制外部可屏蔽中斷是否可以被處理器響應(yīng):設(shè)置設(shè)置IFIF1 1,則允許中斷;,則允許中斷;設(shè)置設(shè)置IFIF0 0,則禁止中斷。,則禁止中斷。中斷允許標(biāo)志中斷允許標(biāo)志IF(Interrupt-enable Flag)IF(Interrupt-enable Flag

38、)v用于控制外部可屏蔽中斷是否可以被處理器響應(yīng):用于控制外部可屏蔽中斷是否可以被處理器響應(yīng):設(shè)置設(shè)置IFIF1 1,則允許中斷;,則允許中斷;設(shè)置設(shè)置IFIF0 0,則禁止中斷。,則禁止中斷。vCLI CLI 指令復(fù)位中斷標(biāo)志:指令復(fù)位中斷標(biāo)志:IFIF0 0vSTI STI 指令置位中斷標(biāo)志:指令置位中斷標(biāo)志:IFIF1 1中斷允許標(biāo)志中斷允許標(biāo)志IF(Interrupt-enable Flag)IF(Interrupt-enable Flag)v用于控制外部可屏蔽中斷是否可以被處理器響應(yīng):用于控制外部可屏蔽中斷是否可以被處理器響應(yīng):設(shè)置設(shè)置IFIF1 1,則允許中斷;,則允許中斷;設(shè)置設(shè)置

39、IFIF0 0,則禁止中斷。,則禁止中斷。vCLI CLI 指令復(fù)位中斷標(biāo)志:指令復(fù)位中斷標(biāo)志:IFIF0 0vSTI STI 指令置位中斷標(biāo)志:指令置位中斷標(biāo)志:IFIF1 1 要注意的是,由于在復(fù)位操作時(shí),標(biāo)志寄存器被要注意的是,由于在復(fù)位操作時(shí),標(biāo)志寄存器被清清0 0,因此其中的中斷標(biāo)志,因此其中的中斷標(biāo)志IFIF也被清也被清0 0,這樣就阻止了,這樣就阻止了所有的可屏蔽中斷請(qǐng)求,都不能響應(yīng),即復(fù)位以后,所有的可屏蔽中斷請(qǐng)求,都不能響應(yīng),即復(fù)位以后,若需要必需用開中斷指令來重新設(shè)置若需要必需用開中斷指令來重新設(shè)置IFIF標(biāo)志。標(biāo)志。陷阱標(biāo)志陷阱標(biāo)志TFTF(Trap FlagTrap F

40、lag)v用于控制處理器是否進(jìn)入單步執(zhí)行方式:用于控制處理器是否進(jìn)入單步執(zhí)行方式:設(shè)置設(shè)置TFTF0 0,處理器正常工作;,處理器正常工作;設(shè)置設(shè)置TFTF1 1,處理器每執(zhí)行一條指令就中斷,處理器每執(zhí)行一條指令就中斷一次,中斷編號(hào)為一次,中斷編號(hào)為 1 1 (稱單步中斷)(稱單步中斷) TF TF 也被稱為單步標(biāo)志。也被稱為單步標(biāo)志。v單步執(zhí)行和單步調(diào)試單步執(zhí)行和單步調(diào)試?yán)脝尾街袛嗫蓪?duì)程序進(jìn)行逐條指令的調(diào)試。利用單步中斷可對(duì)程序進(jìn)行逐條指令的調(diào)試。這種逐條指令調(diào)試程序的方法就是單步調(diào)試。這種逐條指令調(diào)試程序的方法就是單步調(diào)試。標(biāo)志的分類標(biāo)志的分類指令的執(zhí)行與標(biāo)志有很大關(guān)系。指令的執(zhí)行與標(biāo)志

41、有很大關(guān)系。標(biāo)志分成兩類:標(biāo)志分成兩類:v狀態(tài)標(biāo)志狀態(tài)標(biāo)志用來記錄程序運(yùn)行結(jié)果的狀態(tài)用來記錄程序運(yùn)行結(jié)果的狀態(tài)信息,許多指令的執(zhí)行都將自動(dòng)地改變它信息,許多指令的執(zhí)行都將自動(dòng)地改變它。CF OF AF SF ZF PFv控制標(biāo)志控制標(biāo)志可由用戶根據(jù)需要用指令進(jìn)行可由用戶根據(jù)需要用指令進(jìn)行設(shè)置,用于控制處理器的具體工作方式。設(shè)置,用于控制處理器的具體工作方式。DF IF TF80868086的寄存器組的寄存器組v對(duì)匯編語言程序員來說,對(duì)匯編語言程序員來說,80868086內(nèi)部結(jié)構(gòu)就是內(nèi)部結(jié)構(gòu)就是可編程的寄存器組可編程的寄存器組 執(zhí)行單元執(zhí)行單元EU 8EU 8個(gè)通用寄存器個(gè)通用寄存器 1 1個(gè)標(biāo)

42、志寄存器個(gè)標(biāo)志寄存器 1 1個(gè)指令指針寄存器個(gè)指令指針寄存器 4 4個(gè)段寄存器個(gè)段寄存器指令指針寄存器指令指針寄存器IPIPv指令指針寄存器指令指針寄存器IPIP,指示代碼段中指令的偏,指示代碼段中指令的偏移地址移地址v它與代碼段寄存器它與代碼段寄存器CSCS聯(lián)用,確定下一條指令聯(lián)用,確定下一條指令的物理地址的物理地址v計(jì)算機(jī)通過計(jì)算機(jī)通過CS : IPCS : IP寄存器來取指,從而控寄存器來取指,從而控制指令序列的執(zhí)行流程制指令序列的執(zhí)行流程vIPIP寄存器是一個(gè)專用寄存器,用戶不能直接寄存器是一個(gè)專用寄存器,用戶不能直接訪問。訪問。 順序執(zhí)行程序時(shí),順序執(zhí)行程序時(shí),CPUCPU每取一個(gè)指

43、令每取一個(gè)指令字節(jié),字節(jié),IPIP自動(dòng)加,指向下一個(gè)要讀取的字自動(dòng)加,指向下一個(gè)要讀取的字節(jié);當(dāng)節(jié);當(dāng)IPIP單獨(dú)改變時(shí)或當(dāng)單獨(dú)改變時(shí)或當(dāng)CSCS和和IPIP同時(shí)改變同時(shí)改變時(shí),會(huì)發(fā)生程序轉(zhuǎn)移。時(shí),會(huì)發(fā)生程序轉(zhuǎn)移。 順序執(zhí)行程序時(shí),順序執(zhí)行程序時(shí),CPUCPU每取一個(gè)指令每取一個(gè)指令字節(jié),字節(jié),IPIP自動(dòng)加自動(dòng)加1 1,指向下一個(gè)要讀取的,指向下一個(gè)要讀取的字節(jié);當(dāng)字節(jié);當(dāng)IPIP單獨(dú)改變時(shí),會(huì)發(fā)生段內(nèi)的程單獨(dú)改變時(shí),會(huì)發(fā)生段內(nèi)的程序轉(zhuǎn)移;當(dāng)序轉(zhuǎn)移;當(dāng)CSCS和和IPIP同時(shí)改變時(shí),會(huì)產(chǎn)生段同時(shí)改變時(shí),會(huì)產(chǎn)生段間的程序轉(zhuǎn)移。間的程序轉(zhuǎn)移。80868086的寄存器組的寄存器組v對(duì)匯編語言程序員

44、來說,對(duì)匯編語言程序員來說,80868086內(nèi)部結(jié)構(gòu)就是內(nèi)部結(jié)構(gòu)就是可編程的寄存器組可編程的寄存器組 執(zhí)行單元執(zhí)行單元EU 8EU 8個(gè)通用寄存器個(gè)通用寄存器 1 1個(gè)標(biāo)志寄存器個(gè)標(biāo)志寄存器 1 1個(gè)指令指針寄存器個(gè)指令指針寄存器 4 4個(gè)段寄存器個(gè)段寄存器 在對(duì)存儲(chǔ)器進(jìn)行操作時(shí),內(nèi)存一般可分成在對(duì)存儲(chǔ)器進(jìn)行操作時(shí),內(nèi)存一般可分成4 4個(gè)段,分別稱為代碼段、數(shù)據(jù)段、堆棧段和個(gè)段,分別稱為代碼段、數(shù)據(jù)段、堆棧段和附加數(shù)據(jù)段,每個(gè)段存放不同性質(zhì)的數(shù)據(jù),附加數(shù)據(jù)段,每個(gè)段存放不同性質(zhì)的數(shù)據(jù),進(jìn)行不同的操作。進(jìn)行不同的操作。代碼段代碼段CSCS:存放指令。:存放指令。 堆棧段堆棧段SSSS:程序的堆棧

45、區(qū)(子程序調(diào)用、系統(tǒng):程序的堆棧區(qū)(子程序調(diào)用、系統(tǒng)功能調(diào)用、中斷處理等操作使用)或作為臨時(shí)功能調(diào)用、中斷處理等操作使用)或作為臨時(shí)數(shù)據(jù)存儲(chǔ)區(qū)。數(shù)據(jù)存儲(chǔ)區(qū)。段寄存器段寄存器 4 4個(gè)邏輯段的段基址分別放在相應(yīng)的代個(gè)邏輯段的段基址分別放在相應(yīng)的代碼段寄存器碼段寄存器CSCS、數(shù)據(jù)段寄存器、數(shù)據(jù)段寄存器DSDS、堆棧段寄、堆棧段寄存器存器SSSS和附加段寄存器和附加段寄存器ESES中,由這中,由這4 4個(gè)段寄個(gè)段寄存器來指明每個(gè)段在內(nèi)存中的起始地址。存器來指明每個(gè)段在內(nèi)存中的起始地址。 數(shù)據(jù)段數(shù)據(jù)段DSDS:存放程序所使用的數(shù)據(jù)。:存放程序所使用的數(shù)據(jù)。 附加數(shù)據(jù)段附加數(shù)據(jù)段ESES:輔助的數(shù)據(jù)區(qū)

46、(串操作指令:輔助的數(shù)據(jù)區(qū)(串操作指令使用)。使用)。第二章第二章 80868086微處微處理器及其系統(tǒng)結(jié)構(gòu)理器及其系統(tǒng)結(jié)構(gòu)p 80868086的功能結(jié)構(gòu)的功能結(jié)構(gòu)p 80868086的寄存器組的寄存器組p 80868086微處理器引腳信號(hào)微處理器引腳信號(hào)p 80868086微處理器典型時(shí)序分析微處理器典型時(shí)序分析v學(xué)習(xí)外部特性學(xué)習(xí)外部特性, ,首先了解其引腳信號(hào),關(guān)首先了解其引腳信號(hào),關(guān)注以下幾個(gè)方面:注以下幾個(gè)方面:引腳的功能引腳的功能信號(hào)的流向信號(hào)的流向有效電平有效電平三態(tài)能力三態(tài)能力輸出正常的低電平、輸出正常的低電平、高電平外,還可以高電平外,還可以輸出高阻的第三態(tài)輸出高阻的第三態(tài)80

47、86CPU8086CPU引腳功能引腳功能v80868086與與8088CPU8088CPU引腳區(qū)別:引腳區(qū)別:80868086有有1616位數(shù)據(jù)線,與地址線位數(shù)據(jù)線,與地址線A0-A15A0-A15兼兼用;用;2020位地址線位地址線, ,尋址空間達(dá)到尋址空間達(dá)到1MB1MB;80888088有有8 8位數(shù)據(jù)線,與地址線位數(shù)據(jù)線,與地址線A0-A7A0-A7兼用;兼用;80868086與與8088CPU8088CPU引腳引腳2828信號(hào)相反信號(hào)相反(M/IO, (M/IO, M/IO)M/IO)引腳引腳3434信號(hào),信號(hào), 80868086與與8088CPU8088CPU功能稍有功能稍有不同。

48、不同。8086CPU8086CPU引腳功能引腳功能v80868086與與8088CPU8088CPU引腳區(qū)別:引腳區(qū)別:80868086有有1616位數(shù)據(jù)線,與地址線位數(shù)據(jù)線,與地址線A0-A15A0-A15兼兼用;用;2020位地址線位地址線, ,尋址空間達(dá)到尋址空間達(dá)到1MB1MB;80888088有有8 8位數(shù)據(jù)線,與地址線位數(shù)據(jù)線,與地址線A0-A7A0-A7兼用;兼用;80868086與與8088CPU8088CPU引腳引腳2828信號(hào)相反信號(hào)相反(M/IO, (M/IO, M/IO)M/IO)引腳引腳3434信號(hào),信號(hào), 80868086與與8088CPU8088CPU功能稍有功能

49、稍有不同。不同。什么是分時(shí)復(fù)用?什么是分時(shí)復(fù)用?v分時(shí)復(fù)用就是一個(gè)引腳在不同的時(shí)分時(shí)復(fù)用就是一個(gè)引腳在不同的時(shí)刻具有兩個(gè)甚至多個(gè)作用刻具有兩個(gè)甚至多個(gè)作用v最常見的總線復(fù)用是數(shù)據(jù)和地址引最常見的總線復(fù)用是數(shù)據(jù)和地址引腳復(fù)用腳復(fù)用 v總線復(fù)用的目的是為了減少對(duì)外引總線復(fù)用的目的是為了減少對(duì)外引腳個(gè)數(shù)腳個(gè)數(shù)v8086CPU8086CPU的數(shù)據(jù)地址線采用了總線復(fù)的數(shù)據(jù)地址線采用了總線復(fù)用方法用方法什么是分時(shí)復(fù)用?什么是分時(shí)復(fù)用?v分時(shí)復(fù)用就是一個(gè)引腳在不同的時(shí)分時(shí)復(fù)用就是一個(gè)引腳在不同的時(shí)刻具有兩個(gè)甚至多個(gè)作用刻具有兩個(gè)甚至多個(gè)作用v最常見的總線復(fù)用是數(shù)據(jù)和地址引最常見的總線復(fù)用是數(shù)據(jù)和地址引腳復(fù)用

50、腳復(fù)用 v總線復(fù)用的目的是為了減少對(duì)外引總線復(fù)用的目的是為了減少對(duì)外引腳個(gè)數(shù)腳個(gè)數(shù)v8088 /8086CPU8088 /8086CPU的數(shù)據(jù)地址線采用了的數(shù)據(jù)地址線采用了總線復(fù)用方法總線復(fù)用方法最小模式下的系統(tǒng)典型配置最小模式下的系統(tǒng)典型配置GND INTRNMICLKGND19INTA( QS1)TESTREADYRESET 2 39 1 403 384 375 366 357 348 339 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21AD14 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3

51、 AD2 AD1 AD0 RDMN/MXHOLD( RQ/GT0)BHE/S76AA17/S4A18/S5/SA16/S3AD15 )VCC(+5VM/IO( S2)WR(LOCK)HLDA(RQ/GT1)DT/R( S1)DEN( S0)ALE( QS0) AD12 13 AD 地址地址/數(shù)據(jù)線數(shù)據(jù)線地址地址/狀態(tài)線狀態(tài)線非屏蔽中斷非屏蔽中斷可屏蔽中斷請(qǐng)求可屏蔽中斷請(qǐng)求最小最大模式控制最小最大模式控制MN/MX=1,最小模式最小模式MN/MX=0,最大模式最大模式讀信號(hào)讀信號(hào)總線保持請(qǐng)求信號(hào)總線保持請(qǐng)求信號(hào)總線保持相應(yīng)信號(hào)總線保持相應(yīng)信號(hào)寫信號(hào)寫信號(hào)存儲(chǔ)器存儲(chǔ)器/IO控制信號(hào)控制信號(hào)M/IO

52、=1,選中存儲(chǔ)器選中存儲(chǔ)器M/IO=0,選中選中IO接口接口數(shù)據(jù)發(fā)送數(shù)據(jù)發(fā)送/接收信號(hào)接收信號(hào)DT/R=1,發(fā)送發(fā)送DT/R=0,接收接收數(shù)據(jù)允許信號(hào)數(shù)據(jù)允許信號(hào)地址允許信號(hào)地址允許信號(hào)中斷響應(yīng)信號(hào)中斷響應(yīng)信號(hào)測(cè)試信號(hào)測(cè)試信號(hào):執(zhí)行執(zhí)行WAIT指令,指令,CPU處于空轉(zhuǎn)等待處于空轉(zhuǎn)等待; TEST有效時(shí)有效時(shí),結(jié)束等待狀態(tài)。結(jié)束等待狀態(tài)。準(zhǔn)備好信號(hào)準(zhǔn)備好信號(hào):表示內(nèi)存表示內(nèi)存或或I/O設(shè)備準(zhǔn)備好,設(shè)備準(zhǔn)備好,可以進(jìn)行數(shù)據(jù)傳輸。可以進(jìn)行數(shù)據(jù)傳輸。復(fù)位信號(hào)復(fù)位信號(hào)8086CPU引腳功能引腳功能80868086內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)內(nèi)部暫存器內(nèi)部暫存器 IP ES SS DS CS總線控制總線控制電路電路

53、外部總線外部總線執(zhí)行部分執(zhí)行部分控制電路控制電路1 2 3 4 5 6ALU標(biāo)志寄存器標(biāo)志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用寄存器通用寄存器地址加法器地址加法器指令隊(duì)列緩沖器指令隊(duì)列緩沖器執(zhí)行部件執(zhí)行部件 (EU)EU)總線接口部件總線接口部件 (BIU)BIU)1616位位20位位16位位8 8位位80888088的指令的指令隊(duì)列是隊(duì)列是4B4B暫存寄存器暫存寄存器地址地址/數(shù)據(jù)線數(shù)據(jù)線地址地址/狀態(tài)線狀態(tài)線非屏蔽中斷非屏蔽中斷可屏蔽中斷請(qǐng)求可屏蔽中斷請(qǐng)求最小最大模式控制最小最大模式控制MN/MX=1,最小模式最小模式MN/MX=0,最大模式最大

54、模式讀信號(hào)讀信號(hào)總線保持請(qǐng)求信號(hào)總線保持請(qǐng)求信號(hào)總線保持相應(yīng)信號(hào)總線保持相應(yīng)信號(hào)寫信號(hào)寫信號(hào)存儲(chǔ)器存儲(chǔ)器/IO控制信號(hào)控制信號(hào)M/IO=1,選中存儲(chǔ)器選中存儲(chǔ)器M/IO=0,選中選中IO接口接口數(shù)據(jù)發(fā)送數(shù)據(jù)發(fā)送/接收信號(hào)接收信號(hào)DT/R=1,發(fā)送發(fā)送DT/R=0,接收接收數(shù)據(jù)允許信號(hào)數(shù)據(jù)允許信號(hào)地址允許信號(hào)地址允許信號(hào)中斷響應(yīng)信號(hào)中斷響應(yīng)信號(hào)測(cè)試信號(hào)測(cè)試信號(hào):執(zhí)行執(zhí)行WAIT指令,指令,CPU處于空轉(zhuǎn)等待處于空轉(zhuǎn)等待; TEST有效時(shí)有效時(shí),結(jié)束等待狀態(tài)。結(jié)束等待狀態(tài)。準(zhǔn)備好信號(hào)準(zhǔn)備好信號(hào):表示內(nèi)存表示內(nèi)存或或I/O設(shè)備準(zhǔn)備好,設(shè)備準(zhǔn)備好,可以進(jìn)行數(shù)據(jù)傳輸??梢赃M(jìn)行數(shù)據(jù)傳輸。復(fù)位信號(hào)復(fù)位信號(hào)8

55、086CPU引腳功能引腳功能v學(xué)習(xí)外部特性學(xué)習(xí)外部特性, ,首先了解其引腳信號(hào),關(guān)首先了解其引腳信號(hào),關(guān)注以下幾個(gè)方面:注以下幾個(gè)方面:引腳的功能引腳的功能信號(hào)的流向信號(hào)的流向有效電平有效電平三態(tài)能力三態(tài)能力輸出正常的低電平、輸出正常的低電平、高電平外,還可以高電平外,還可以輸出高阻的第三態(tài)輸出高阻的第三態(tài)“引腳引腳”小結(jié)小結(jié)8086CPU8086CPU可分成三類信號(hào):可分成三類信號(hào):v1616位數(shù)據(jù)線:引腳位數(shù)據(jù)線:引腳D D0 0D D1515v2020位地址線:位地址線:A A0 0A A1919v控制線:控制線:ALEALE、 M/IOM/IO、WRWR* *、RDRD* *、READ

56、YREADYBHEBHE* *、MN/MXMN/MX、TESTTEST* *、DT/RDT/R、DENDEN* *INTRINTR、INTAINTA* *、NMINMI,HOLDHOLD、HLDAHLDARESETRESET、CLKCLK、VccVcc、GNDGND最小模式下的系統(tǒng)典型配置最小模式下的系統(tǒng)典型配置“引腳引腳”小結(jié)小結(jié)8086CPU8086CPU可分成三類信號(hào):可分成三類信號(hào):v1616位數(shù)據(jù)線:引腳位數(shù)據(jù)線:引腳D D0 0D D1515v2020位地址線:位地址線:A A0 0A A1919v控制線:控制線:ALEALE、 M/IOM/IO、WRWR* *、RDRD* *、R

57、EADYREADYBHEBHE* *、MN/MXMN/MX、TESTTEST* *、DT/RDT/R、DENDEN* *INTRINTR、INTAINTA* *、NMINMI,HOLDHOLD、HLDAHLDARESETRESET、CLKCLK、VccVcc、GNDGND“引腳引腳”小結(jié)小結(jié)8086CPU8086CPU可分成三類信號(hào):可分成三類信號(hào):v1616位數(shù)據(jù)線:引腳位數(shù)據(jù)線:引腳D D0 0D D1515v2020位地址線:位地址線:A A0 0A A1919v控制線:控制線:ALEALE* *、M/IOM/IO* *、WRWR* *、RDRD、READYREADYBHEBHE、MN/

58、MXMN/MX、TESTTEST、DT/RDT/R* *、DENDEN* *INTRINTR、INTAINTA* *、NMINMI,HOLDHOLD* *、HLDAHLDA* *RESETRESET、CLKCLK、VccVcc、GNDGND 8086 CPU8086 CPU可以在兩種模式下工作,即最可以在兩種模式下工作,即最大模式和最小模式。當(dāng)大模式和最小模式。當(dāng)CPUCPU處于不同工作模式處于不同工作模式時(shí),其部分引腳的功能是不同的,圖中帶有時(shí),其部分引腳的功能是不同的,圖中帶有括號(hào)的引腳為最大模式時(shí)的引腳名稱。括號(hào)的引腳為最大模式時(shí)的引腳名稱。(1 1)兩種工作方式功能相同的引腳)兩種工作

59、方式功能相同的引腳 AD15 AD15 AD0AD0(3939腳、腳、2 2腳腳1616腳):腳):地址地址/ /數(shù)數(shù)據(jù)總線,雙向,三態(tài)。是采用分時(shí)工作方式傳據(jù)總線,雙向,三態(tài)。是采用分時(shí)工作方式傳送地址或數(shù)據(jù)的復(fù)用引腳。根據(jù)不同時(shí)鐘周期送地址或數(shù)據(jù)的復(fù)用引腳。根據(jù)不同時(shí)鐘周期的要求,決定當(dāng)前是傳送要訪問的存儲(chǔ)單元或的要求,決定當(dāng)前是傳送要訪問的存儲(chǔ)單元或I/OI/O端口的低端口的低1616位地址,還是傳送位地址,還是傳送1616位數(shù)據(jù),或位數(shù)據(jù),或是處于高阻狀態(tài)。是處于高阻狀態(tài)。A19/S6A19/S6A16/S3A16/S3(3535腳腳3838腳):地址腳):地址/ /狀狀態(tài)總線,輸出,

60、三態(tài)。是采用分時(shí)工作方式態(tài)總線,輸出,三態(tài)。是采用分時(shí)工作方式傳送地址或狀態(tài)的復(fù)用引腳,其中傳送地址或狀態(tài)的復(fù)用引腳,其中A19A19A16A16為為2020位地址總線的高位地址總線的高4 4位地址,位地址,S6S6S3S3是狀態(tài)是狀態(tài)信號(hào)。信號(hào)。S6S6:指示:指示80868086當(dāng)前是否與總線相連,當(dāng)當(dāng)前是否與總線相連,當(dāng)S6=0S6=0表示表示80868086當(dāng)前與總線相連。當(dāng)前與總線相連。S5S5:表明中斷允許標(biāo)志當(dāng)前的設(shè)置。:表明中斷允許標(biāo)志當(dāng)前的設(shè)置。S5=0S5=0,表示表示CPUCPU中斷是關(guān)閉的,禁止一切可屏蔽中斷中斷是關(guān)閉的,禁止一切可屏蔽中斷的中斷請(qǐng)求;的中斷請(qǐng)求;S5=

溫馨提示

  • 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)論