![第2章80868088微處理器及其體系_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/7/4dc8e5c8-46e7-4393-867c-3a7ed550f407/4dc8e5c8-46e7-4393-867c-3a7ed550f4071.gif)
![第2章80868088微處理器及其體系_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/7/4dc8e5c8-46e7-4393-867c-3a7ed550f407/4dc8e5c8-46e7-4393-867c-3a7ed550f4072.gif)
![第2章80868088微處理器及其體系_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/7/4dc8e5c8-46e7-4393-867c-3a7ed550f407/4dc8e5c8-46e7-4393-867c-3a7ed550f4073.gif)
![第2章80868088微處理器及其體系_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/7/4dc8e5c8-46e7-4393-867c-3a7ed550f407/4dc8e5c8-46e7-4393-867c-3a7ed550f4074.gif)
![第2章80868088微處理器及其體系_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/7/4dc8e5c8-46e7-4393-867c-3a7ed550f407/4dc8e5c8-46e7-4393-867c-3a7ed550f4075.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、微機(jī)原理及應(yīng)用第2章 8086 8088微處理器及其體系結(jié)構(gòu)F本章先介紹IBM PC/XT的Intel 8086/8088 CPU的編程結(jié)構(gòu)再介紹Intel 8086/8088的信號(hào)引腳功能和體系結(jié)構(gòu)最后介紹CPU的幾種工作狀態(tài)和典型的總線操作時(shí)序。2-1微機(jī)原理及應(yīng)用2.1 8086/8088 的編程結(jié)構(gòu)F2.1.1 8086/8088 的內(nèi)部結(jié)構(gòu)8086、8088的內(nèi)部結(jié)構(gòu)基本相同,均由兩個(gè)獨(dú)立的工作部件組成,一個(gè)稱為執(zhí)行部件EU(Execution Unit),一個(gè)稱為總路線接口部件BIU(Bus Interface Unit)。8086和8088的執(zhí)行部件完全相同,但總路線接口部件有些
2、差別。8086的外部數(shù)據(jù)總路線為16位,指令隊(duì)列6字節(jié);而8088的外部數(shù)據(jù)總路線為8位,指令隊(duì)列4個(gè)字節(jié)。2-2 8086CPU的內(nèi)部結(jié)構(gòu)框圖2-3微機(jī)原理及應(yīng)用執(zhí)行部分執(zhí)行部分控制電路控制電路ALU標(biāo)志寄存器標(biāo)志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用通用寄存器寄存器16位位1 2 3 4 內(nèi)部暫存器內(nèi)部暫存器 IP ES SS DS CS輸入輸入/輸出輸出控制電路控制電路外部總線外部總線地址地址加法加法器器指令隊(duì)列指令隊(duì)列總線接口部件總線接口部件 (BIU)20位位8位位8位位執(zhí)行部件執(zhí)行部件 (EU)8088CPU的內(nèi)部結(jié)構(gòu)框圖2-4微機(jī)原理及應(yīng)
3、用F1、執(zhí)行部件EU包括:ALU、暫存寄存器、標(biāo)志寄存器、通用寄存器組和EU控制器。任務(wù):執(zhí)行指令,與外界的聯(lián)系通過(guò)總路線接口部件。具體是:具體是:從BIU的指令隊(duì)列中取指令對(duì)指令譯碼根據(jù)指令要求向EU內(nèi)部各部件發(fā)出控制命令以完成各條指令的功能。2-5微機(jī)原理及應(yīng)用F2、總路線接口部件BIU包括:4個(gè)段寄存器、指令指針I(yè)P寄存器、指令隊(duì)列緩沖器、完成與EU通信的內(nèi)部寄存器、20位的地址加法器以及總路線控制電路等。任務(wù):根據(jù)EU請(qǐng)求完成CPU與存儲(chǔ)器、CPU與I/O設(shè)備之間的信息傳送。具體的:從存儲(chǔ)器指定地址取指令送入指令隊(duì)列排隊(duì);執(zhí)行指令時(shí),根據(jù)EU命令對(duì)指定存儲(chǔ)單元或I/O端口存取數(shù)據(jù)。2-
4、6微機(jī)原理及應(yīng)用CPU內(nèi)部工作過(guò)程FEU部件從BIU部件的指令隊(duì)列前部取出指令的代碼和數(shù)據(jù)對(duì)指令代碼進(jìn)行譯碼并執(zhí)行指令規(guī)定的操作。在執(zhí)行指令的過(guò)程中:如果必須訪問(wèn)存儲(chǔ)器或者I/O設(shè)備,那么,執(zhí)行部件就會(huì)請(qǐng)求總路線接口部件,進(jìn)入總路線周期,完成要求的操作。2-7微機(jī)原理及應(yīng)用FEU完成兩類操作:一是:算術(shù)和邏輯運(yùn)算一是:按指令的尋址方式計(jì)算16位的偏移地址并將它送到BIU中形成20位的實(shí)際地址。FEU的指令來(lái)源:EU執(zhí)行完一條指令后就再到BIU指令隊(duì)列前部取出BIU預(yù)先讀入的指令代碼,若此時(shí)指令隊(duì)列是空的,EU就處于等待狀態(tài)。一旦指令隊(duì)列中有一條指令,EU立即取出執(zhí)行。2-8微機(jī)原理及應(yīng)用FBI
5、U的指令隊(duì)列中指令的來(lái)源:當(dāng)BIU的指令隊(duì)列中出現(xiàn)兩個(gè)空字節(jié)(對(duì)于8088是一個(gè)),且EU沒(méi)有命令BIU對(duì)存儲(chǔ)器或I/O訪問(wèn),則BIU將自動(dòng)執(zhí)行總路線操作,讀出指令并填入指令隊(duì)列中,直到滿為止。當(dāng)EU執(zhí)行完轉(zhuǎn)移,調(diào)用和返回指令時(shí),BIU將清除原隊(duì)列中的內(nèi)容并從新的地址重新開始取指令,新取的第一條指令將直接送到EU去執(zhí)行,隨后取來(lái)的指令填入指令隊(duì)列。當(dāng)BIU中指令隊(duì)列滿,且EU未訪問(wèn)存儲(chǔ)器或I/O端口,BIU進(jìn)入空閑狀態(tài)。2-9微機(jī)原理及應(yīng)用F8086/8088的EU和BIU是分開的,它們可以按并行方式重疊操作,即EU取指令、執(zhí)行指令和BIU補(bǔ)充指令隊(duì)列的工作是同時(shí)進(jìn)行的。這提高了CPU的利用率
6、,也降低了CPU對(duì)存儲(chǔ)器速度的要求。2-10微機(jī)原理及應(yīng)用2-11微機(jī)原理及應(yīng)用2.1.28086/8088寄存器結(jié)構(gòu)F8086/8088內(nèi)部有14個(gè)16位寄存器(標(biāo)志寄存器只用了9位)。這些寄存器都可供編程使用。SPBPSIDIIPFLAGSCSDSSSESAHALBHBLCHCLDHDL15 8 7 0AXBXCXDX累加器基址寄存器計(jì)數(shù)寄存器數(shù)據(jù)寄存器堆棧指針基址指針源變址寄存器目的變址寄存器指令指針標(biāo)志寄存器代碼段寄存器數(shù)據(jù)段寄存器堆棧段寄存器附加段寄存器數(shù)據(jù)寄存器地址指針和變址寄存器通用寄存器組控制寄存器組段寄存器組8086CPU寄存器結(jié)構(gòu)2-12微機(jī)原理及應(yīng)用1、通用寄存器F(1)
7、數(shù)據(jù)寄存器包括AX、BX、CX、DX.通常用來(lái)存放16位的數(shù)據(jù)和地址。每一個(gè)又可分為高字節(jié)H和低字節(jié)L,用來(lái)存放8位數(shù)據(jù),它們均可獨(dú)立尋址,獨(dú)立使用。F(2)指針寄存器和變址寄存器包括SP、BP、SI和DI。都是16位寄存器,可以存放數(shù)據(jù),但通常用來(lái)存放邏輯地址的偏移量,是形成20位物理地的其中一部分,在任何情況下,它們都不能獨(dú)立地形成訪問(wèn)內(nèi)存的地址碼。2-13微機(jī)原理及應(yīng)用FSP(Stack Pointer)堆棧指針用于存放操作(壓入或彈出)時(shí),存儲(chǔ)單元地址的段內(nèi)偏移地址。其段基址由段寄存器SS提供。FBP(Base Pointer)基址指針存放僅次于堆棧段中的一個(gè)數(shù)據(jù)區(qū)基址的偏移地址。與S
8、P的區(qū)別在于SP是存放堆棧棧頂?shù)钠屏俊7彩呛蠦P的尋址方式中,都是堆棧區(qū)的存儲(chǔ)單元尋址的,因此其段地址由段寄存器SS提供。2-14微機(jī)原理及應(yīng)用FSI(Source Index)和DI(Destination Index)稱為變址寄存器用來(lái)存放當(dāng)前數(shù)據(jù)段的偏移地址源操作數(shù)的偏移量存放于SI中,所以又稱SI為源變址寄存器目的操作數(shù)的偏移量存放于DI中,所以又稱DI為目的變址寄存器。2-15微機(jī)原理及應(yīng)用2、段寄存器組F8086/8088CPU可尋址1MB存儲(chǔ)空間,但指令中給出的地址碼僅有16位,指針寄存器也只有16位長(zhǎng),不不不能直接尋址能直接尋址能直接尋址1 1 1MBMBMB空間空間空間。
9、F8086/8088采用段地址、段內(nèi)偏移地址兩級(jí)存儲(chǔ)器尋址方式,段地址和段內(nèi)偏移地址均為16位。F采用段地址尋址優(yōu)點(diǎn):解決了16位寄存器訪問(wèn)大于64K內(nèi)存空間的問(wèn)題;可以實(shí)現(xiàn)程序重定位,即一個(gè)小于64KB的程序可通過(guò)改變段寄存器的內(nèi)容放到1MB空間中任意段位置,從而為同時(shí)運(yùn)行多道程序提供了方便。2-16微機(jī)原理及應(yīng)用4個(gè)段寄存器F代碼段寄存器CS(Code Segment )存放當(dāng)前執(zhí)行程序所在段的段基址;F數(shù)據(jù)段寄存器DS(Data Segment)存放當(dāng)前使用的數(shù)據(jù)段的段基址,通常數(shù)據(jù)段用來(lái)存放數(shù)據(jù)和變量;2-17微機(jī)原理及應(yīng)用F堆棧段寄存器SS(Stack Segment)存放當(dāng)前堆棧段
10、的段基址;堆棧段是內(nèi)存中一個(gè)特別的存儲(chǔ)區(qū),主要用于在調(diào)用子程序或中斷時(shí),保留返回主程序地地址和保存進(jìn)入子程序?qū)⒁淖兤渲档募拇嫫鞯膬?nèi)容。F附加段寄存器ES(Extra Segment)存放附加數(shù)據(jù)段的段基址;附加段是在進(jìn)行字符操作時(shí)作為目的地址使用的。FDS和ES的初值都要由用戶用程序設(shè)置,若二者相同,則數(shù)據(jù)段和附加段重合2-18微機(jī)原理及應(yīng)用3、控制寄存器組F(1)指令指針I(yè)P(Instruction Pointer)存放下一次要取出指令的偏移地址。通常由BIU自動(dòng)修改,某些指令如轉(zhuǎn)移指令,過(guò)程調(diào)用指令和返回指令等將改變其內(nèi)容。F(2)標(biāo)志寄存器(Flags),又名PSW(Program S
11、tatus Word)程序狀態(tài)字寄存器16位只用了9位。其中,6位用來(lái)反應(yīng)前一次涉及ALU操作結(jié)果的狀態(tài)標(biāo)志,其余3個(gè)是控制CPU操作特征標(biāo)志2-19微機(jī)原理及應(yīng)用標(biāo)志寄存器(Flags)D15D0 OF DF IF TF SF ZF AF PF CF符符號(hào)號(hào)標(biāo)標(biāo)志志單單步步中中斷斷中中斷斷允允許許方方向向標(biāo)標(biāo)志志溢溢出出標(biāo)標(biāo)志志進(jìn)進(jìn)借借位位標(biāo)標(biāo)志志1-有進(jìn)、借位有進(jìn)、借位0-無(wú)進(jìn)、借位無(wú)進(jìn)、借位半半進(jìn)進(jìn)借借位位標(biāo)標(biāo)志志1-低低4位向高位向高4位有進(jìn)、借位位有進(jìn)、借位0-低低4位向高位向高4位無(wú)進(jìn)、借位位無(wú)進(jìn)、借位奇奇偶偶標(biāo)標(biāo)志志1-低低8位有偶數(shù)個(gè)位有偶數(shù)個(gè)10-低低8位有奇數(shù)個(gè)位有奇數(shù)個(gè)1
12、1-結(jié)果為結(jié)果為00-結(jié)果不為結(jié)果不為0零零標(biāo)標(biāo)志志2-20微機(jī)原理及應(yīng)用F6個(gè)狀態(tài)標(biāo)志CF(Carry Flag)進(jìn)位標(biāo)志:最高位(D7或D15)在加法時(shí)產(chǎn)生進(jìn)位或減法時(shí)產(chǎn)生借位,則CF=1,否則CF=0AF(Auxiliary Carry Flag)輔助進(jìn)位標(biāo)志:只供BCD碼算術(shù)運(yùn)算時(shí)使用。D3加法時(shí)產(chǎn)生進(jìn)位或減法時(shí)產(chǎn)生借位,則AF=1,否則AF=02-21微機(jī)原理及應(yīng)用OF(Overflow Flag)溢出標(biāo)志:帶符號(hào)數(shù)在進(jìn)行算術(shù)運(yùn)算時(shí),其結(jié)果超出8位或16位帶符號(hào)數(shù)所能表示的數(shù)值范圍,產(chǎn)生溢出,則OF=1,否則OF=0ZF(Zero Flag)零標(biāo)志:運(yùn)算結(jié)果各位都為零,則ZF=1,否
13、則ZF=0SF(Sign Flag)符號(hào)標(biāo)志:運(yùn)算結(jié)果為負(fù)數(shù)即結(jié)果的最高位為1,則SF=1,否則SF=0PF(Parity Flag)奇偶標(biāo)志:操作結(jié)果的低8位中含偶數(shù)個(gè)1,則PF=1,否則PF=02-22微機(jī)原理及應(yīng)用F3個(gè)控制標(biāo)志位DF(Direction Flag)方向標(biāo)志:用來(lái)控制數(shù)據(jù)串操作指令的步進(jìn)方向。DF=1時(shí),數(shù)據(jù)串指令將以地址的遞減順序?qū)?shù)據(jù)串中的數(shù)據(jù)進(jìn)行處理;DF=0時(shí)數(shù)據(jù)串指令則從低位地址到高位地址作自動(dòng)遞增處理IF(Interrupt-Enable Flag)中斷允許標(biāo)志:IF=1時(shí)為開中斷,CPU可響應(yīng)可屏蔽中斷請(qǐng)求;IF=0時(shí)為關(guān)中斷,CPU不響應(yīng)可屏蔽中斷請(qǐng)求TF
14、(Trap Flag)陷阱標(biāo)志:為方便程序調(diào)試而設(shè)。當(dāng)TF=1時(shí),CPU處于單步執(zhí)行指令方式,每執(zhí)行一個(gè)指令就自動(dòng)產(chǎn)生一個(gè)內(nèi)部中斷,轉(zhuǎn)為執(zhí)行一個(gè)中斷服務(wù)程序,使操作者能夠逐條指令地檢查一個(gè)程序的執(zhí)行情況。當(dāng)TF=0時(shí),CPU正常執(zhí)行程序。2-23微機(jī)原理及應(yīng)用舉例F1) MOVAX,2345H ADDAX,3219HF執(zhí)行后,標(biāo)志寄存器的狀態(tài)標(biāo)志位變化為:OF0,SF0,ZF0,AF0,PF0,CF0F2) MOVAX,5439HADDAX,456AH F執(zhí)行后,標(biāo)志寄存器的狀態(tài)標(biāo)志位怎樣變化?2-24微機(jī)原理及應(yīng)用2.28086/8088的存儲(chǔ)組織F2.2.1存儲(chǔ)器組織F8086/8088C
15、PU具有20條地址線,所以可尋址的存儲(chǔ)究竟為220(1M) B。F每個(gè)字節(jié)對(duì)應(yīng)唯一物理地址F用16位進(jìn)制數(shù)表示的存儲(chǔ)地址范圍為00000HFFFFFH2-25微機(jī)原理及應(yīng)用數(shù)在存儲(chǔ)器中的存放規(guī)則F當(dāng)存儲(chǔ)器存放一個(gè)字節(jié)時(shí),按順序存放;存放一個(gè)字時(shí),其低位字節(jié)放低地址中,高位字節(jié)放高地址中,字的地址指向低字節(jié)地址。F存放的字允許從任何地址開始。F字地址是偶數(shù)時(shí),稱這個(gè)字為規(guī)則字;字地址為奇數(shù)時(shí),稱為非規(guī)則字。2-26微機(jī)原理及應(yīng)用存儲(chǔ)器與8086CPU的連接F存儲(chǔ)器與8086CPU連接時(shí),1MB的空間分成兩個(gè)512KB的存儲(chǔ)庫(kù)。如右圖,A19A1可同時(shí)對(duì)兩個(gè)庫(kù)的存儲(chǔ)單元尋址,A0和BHE用于庫(kù)的選
16、擇當(dāng)A0=0,BHE=1時(shí),選中偶地址;當(dāng)A0=1,BHE=0時(shí),選中奇地址;當(dāng)A0=0,BHE=0時(shí),同時(shí)選中高低庫(kù);2-27微機(jī)原理及應(yīng)用SEL A19A1高位(奇數(shù))庫(kù)(512KB)8D15D8SEL A19A1低位(偶數(shù))庫(kù)(512KB)8D7D0A19A1A0BHED15D8D7D0存儲(chǔ)器與8086CPU的連接表表2-3 2-3 BHEBHE和和ADAD0 0的不同組合狀態(tài)的不同組合狀態(tài) 操操 作作 BHE ABHE A0 0 使用的數(shù)據(jù)引腳使用的數(shù)據(jù)引腳 讀或?qū)懪嫉刂返囊粋€(gè)字讀或?qū)懪嫉刂返囊粋€(gè)字 0 0 0 0 D15D15D0 D0 讀或?qū)懪嫉刂返囊粋€(gè)字節(jié)讀或?qū)懪嫉刂返囊粋€(gè)字節(jié)
17、1 0 1 0 D7D7D0 D0 讀或?qū)懫娴刂返囊粋€(gè)字節(jié)讀或?qū)懫娴刂返囊粋€(gè)字節(jié) 0 1 0 1 D15D15D8 D8 2-28微機(jī)原理及應(yīng)用2.2.2 存儲(chǔ)器的分段和物理地址的形成F1、存儲(chǔ)器的分段由于CPU內(nèi)部寄存器是16位,只能尋址64KB,故把1MB存儲(chǔ)空間劃分為四個(gè)邏輯段邏輯段彼此獨(dú)立,但可相連,可重疊,在1MB存儲(chǔ)空間浮動(dòng),僅需改變段寄存器內(nèi)容。一般把存儲(chǔ)器劃分為:程序區(qū)、數(shù)據(jù)區(qū)、堆棧區(qū)和附加段。程序量或數(shù)據(jù)量很大,超過(guò)64KB,可定義多個(gè)代碼段、數(shù)據(jù)段、附加段和堆棧段,l 段地址:每個(gè)邏輯段起始地址的高16位,即段寄存器的內(nèi)容,無(wú)符號(hào)數(shù) l 段基地址:每個(gè)邏輯段起始地址; l
18、邏輯地址:段地址:偏移地址,在程序中使用; l 物理地址:存儲(chǔ)單元的實(shí)際地址,物理地址=段地址*16+偏移地址; l 偏移地址:相對(duì)段基地址的偏移量,無(wú)符號(hào)數(shù),也稱有效地址EA2-29微機(jī)原理及應(yīng)用F段的位置可以連續(xù)、分開、部分重疊或完全重疊。在整個(gè)存儲(chǔ)空間可設(shè)置若干個(gè)邏輯段。.0000H邏輯段1起點(diǎn)邏輯段2起點(diǎn)邏輯段3起點(diǎn)邏輯段4、5起點(diǎn)FFFFFH邏輯段164KB邏輯段264KB邏輯段364KB邏輯段4、564KB存儲(chǔ)器的邏輯段2-30微機(jī)原理及應(yīng)用F段的基址由段寄存器CS、DS、SS和ES提供,程序可以從這四個(gè)段寄存器規(guī)定的邏輯段中存儲(chǔ)指令代碼和數(shù)據(jù)。F如果CPU要從別的段存取信息,那么
19、用程序首先改變對(duì)應(yīng)程序段寄存器中的內(nèi)容,將其設(shè)置成所要存取段的基址。2-31微機(jī)原理及應(yīng)用F若已知當(dāng)前有效的代碼段、數(shù)據(jù)段、堆棧段和附加段的段基址分別是0600H、3000H、B000H和BC00H,當(dāng)前可尋址段在存儲(chǔ)器中的分布情況如圖:0600CS3000DSB000SSBC00ES06000H15FFFH30000H3FFFFHB0000HBC000HBFFFFHCBFFFHFFFFFH64KB64KB64KB64KB當(dāng)前可尋址段在存儲(chǔ)器中的分布情況2-32微機(jī)原理及應(yīng)用2、物理地址的形成F存儲(chǔ)器中存儲(chǔ)單元對(duì)應(yīng)的實(shí)際地址又稱為物理地址(20位)。邏輯地址(16位)是在程序中使用的地址,它由
20、兩部分組成:段基址和偏移量。邏輯地址的表示格式為:段基址:偏移地址2-33微機(jī)原理及應(yīng)用F物理地址由邏輯地址變換而來(lái),當(dāng)CPU訪問(wèn)存儲(chǔ)器時(shí),必須完成如下運(yùn)算:物理地址段基址16+偏移地址F如:2000H:3300H,段基址為2000H,偏移地址為3300H,則對(duì)應(yīng)物理地址為:F23300H。2-34微機(jī)原理及應(yīng)用20位物理地址的形成F通過(guò)CPU的總路線接口部件BIU的地址加法器來(lái)實(shí)現(xiàn)。如右圖。F數(shù)據(jù)段附加段: (DSES)16+(SIDIBX)F代碼段: (CS)16+(IP)F堆棧段:(SS)16+(SPBP)偏移地址段地址000020位物理地址20位物理地址的形成1501901502-35
21、微機(jī)原理及應(yīng)用2.3 8086/8088的I/O組織FI/O設(shè)備與CPU必須通過(guò)接口芯片連接來(lái)進(jìn)行通信,原因在于:I/O設(shè)備復(fù)雜多樣,工作速度遠(yuǎn)遠(yuǎn)低于CPU。F每個(gè)I/O接口芯片都有一個(gè)或多個(gè)端口,一個(gè)端口往往對(duì)應(yīng)于芯片上的一個(gè)或一組寄存器,一個(gè)I/O端口有唯一的I/O地址與之對(duì)應(yīng),就像存儲(chǔ)單元地址一樣。2-36微機(jī)原理及應(yīng)用FCPU對(duì)I/O端口訪問(wèn)使用指令I(lǐng)N:輸入OUT:輸出F8086/8088CPU使用低端的16位地址線來(lái)訪問(wèn)8位的I/O端口,最多可達(dá)64K個(gè)16位的I/O端口,最多可達(dá)32K個(gè)F任何兩個(gè)相鄰的8位端口可以組成一個(gè)16位的端口;8086訪問(wèn)奇數(shù)地址的16位端口必須訪問(wèn)兩次
22、;8088訪問(wèn)16位端口問(wèn)題兩次。F端口的尋址不用分段,因而不用寄存器,端口地址仍為20位,高4位總是為02-37微機(jī)原理及應(yīng)用2.48086/8088CPU的引腳功能和工作方式8088CPU最小模式(最大模式)引腳01020304050607080910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCC(5V)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MX
23、RDHOLD(RQ/GT0) HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET80868088CPU2-38微機(jī)原理及應(yīng)用F2.4.1 8086/8088CPU兩種工作方式公用引腳功能F8086/8088CPU的40個(gè)引腳中,引腳19CLK:為時(shí)鐘信號(hào)輸入端,通常與8284A時(shí)鐘發(fā)生器輸出端CLK相連接,該時(shí)鐘信號(hào)占空度為1/3, 8086/8088CPU時(shí)鐘頻率為5MHz;1和20GND為接地端;40Vcc為電源輸入端,電源電壓為5(10) V2-39微機(jī)原理及應(yīng)用其余36個(gè)引腳個(gè)分為F1、地
24、址、地址/數(shù)據(jù)總線數(shù)據(jù)總線AD15AD0(雙向、三態(tài)雙向、三態(tài))對(duì)于8086,為分時(shí)復(fù)用地址/數(shù)據(jù)總線??偩€周期的T1狀態(tài),用來(lái)輸出要訪問(wèn)的存儲(chǔ)器地址或I/O端口地址AD15AD0 ;在其他T狀態(tài)作為雙向數(shù)據(jù)總線D15D0。在8088中,因數(shù)據(jù)總路線只有8條,所以與8086中引腳AD15AD8 對(duì)應(yīng)的是A15A8 ,僅用于輸出地址。2-40微機(jī)原理及應(yīng)用F2、地址、地址/狀態(tài)總線狀態(tài)總線A19/S6A16/S3(輸出,三態(tài))在總線周期的T1狀態(tài)輸出地址的高4位A19A16在其他T狀態(tài)用來(lái)輸出狀態(tài)信息,狀態(tài)信號(hào)中:a、S6始終為0,指示當(dāng)前與總線相連;b、S5指示中斷允許標(biāo)志的IF的狀態(tài);c、S
25、4和S3指示當(dāng)前使用哪個(gè)段寄存器,其含義如表DMA方式時(shí),這些引腳被置高阻態(tài)S4S3含義00當(dāng)前正使用ES01當(dāng)前正使用SS10當(dāng)前正使用CS(或I/O,中斷響應(yīng))11當(dāng)前正使用DSS4和S3的含義2-41微機(jī)原理及應(yīng)用7SBHEF3、控制總線、控制總線(1) 高8位數(shù)據(jù)總線允許/狀態(tài)信號(hào)線(輸出、三態(tài))是一條分時(shí)復(fù)用總線,在8086中, 在總線周期的T1狀態(tài)輸出低電平,表示使用高8位數(shù)據(jù)線AD15AD8,如輸出高電平,表示只使用低8位數(shù)據(jù)線; 在其他T狀態(tài),輸出狀態(tài)S7(目前還沒(méi)有意義)BHE2-42微機(jī)原理及應(yīng)用RD(2) 讀控制(輸出,低電平有效)低電平時(shí)表示CPU的操作為存儲(chǔ)器讀或I/
26、O端口輸入,在DMA方式時(shí)浮空。(3)READY準(zhǔn)備好信號(hào)(輸入,高電平有效)由所訪問(wèn)的存儲(chǔ)器或I/O設(shè)備發(fā)來(lái)的響應(yīng)信號(hào),高電平表示數(shù)據(jù)已準(zhǔn)備就緒,馬上可進(jìn)行一次數(shù)據(jù)傳送。2-43微機(jī)原理及應(yīng)用TEST(4)測(cè)試信號(hào)(輸入,低電平有效)當(dāng)CPU執(zhí)行WAIT時(shí),每隔5個(gè)時(shí)鐘周期對(duì) 引腳進(jìn)行一次測(cè)試,當(dāng)為高電平時(shí),CPU繼續(xù)處于等待狀態(tài),直到出現(xiàn)低電平,CPU才執(zhí)行下一條指令(5)INTR中斷請(qǐng)求(輸入,高電平有效)可屏蔽中斷信號(hào)。為高電平時(shí),外設(shè)提出中斷請(qǐng)求。CPU在每一條指令的最后一個(gè)時(shí)鐘周期對(duì)INTR進(jìn)行測(cè)試。若INTR為高電平,且中斷允許標(biāo)志為1,則在該指令執(zhí)行完后,響應(yīng)中斷請(qǐng)求。TEST
27、2-44微機(jī)原理及應(yīng)用(6)NMI非屏蔽中斷請(qǐng)求(輸入,上升沿觸發(fā))當(dāng)該引腳輸入一個(gè)由低電平變高電平的信號(hào)時(shí),CPU會(huì)在執(zhí)行完現(xiàn)行指令后,響應(yīng)中斷請(qǐng)求。這類中斷不受IF的影響,不能用指令加以屏蔽。(7)RESET復(fù)位信號(hào)(輸入,高電平有效)復(fù)位信號(hào)必須保持4個(gè)時(shí)鐘周期以上的高電平才有效。有效時(shí),CPU將標(biāo)志寄存器、IP、DS、SS、ES以及指令隊(duì)列清零清零,并將CS置為FFFFH。RESET為低電平時(shí),CPU從FFFF0H開始執(zhí)行程序。系統(tǒng)加電(50s)或進(jìn)行RESET操作時(shí)產(chǎn)生RESET信號(hào)。2-45微機(jī)原理及應(yīng)用MXMN(8)最小/最大方式控制信號(hào)(輸入)8086/8088CPU與存儲(chǔ)器和
28、外設(shè)構(gòu)成一個(gè)計(jì)算機(jī)系統(tǒng)時(shí),根據(jù)所連接存儲(chǔ)器和外設(shè)規(guī)模,可以有兩種不同的工作方式。當(dāng)引腳接+5V時(shí),處于最小方式;接地時(shí),CPU處于最大方式。F4、其他控制線:、其他控制線:2431引腳在兩種工作方式下定義的功能不同MXMN2-46微機(jī)原理及應(yīng)用2.4.2最小工作方式F最小工作方式:就是系統(tǒng)中只有一個(gè)微處理器8086或8088。在這種系統(tǒng)中,所有的總線控制都直接由8086或8088產(chǎn)生,系統(tǒng)中總線控制邏輯電路被減小到最小,這種方式適合于較小規(guī)模的應(yīng)用。此時(shí)引腳 接到+5V。MXMN2-47微機(jī)原理及應(yīng)用INTAINTA1、最小方式下,2431引腳功能F(1)中斷響應(yīng)信號(hào)(輸出,低電平有效)是CP
29、U對(duì)外設(shè)的中斷請(qǐng)求的回答信號(hào)。信號(hào)位于連續(xù)周期中的兩個(gè)負(fù)脈沖,在中斷響應(yīng)周期的T2、T3和Tw狀態(tài)時(shí),為低電平。第一個(gè)負(fù)脈沖通知外圍設(shè)備的接口,它發(fā)出的中斷請(qǐng)求已經(jīng)得到允許;外設(shè)接口接收到第二個(gè)負(fù)脈沖后,將中斷類型碼送往數(shù)據(jù)總線。2-48微機(jī)原理及應(yīng)用F(2)ALE地址鎖存允許信號(hào)(輸出,高電平有效)ALE是CPU在每個(gè)總線周期的T1狀態(tài)發(fā)出的,其有效電平表示當(dāng)前在地址/數(shù)據(jù)復(fù)用線上輸出的是地址信息,利用它的下降沿把地址信號(hào)和信號(hào)鎖存在8282地址鎖存器中。ALE不能被浮置。BHE2-49微機(jī)原理及應(yīng)用DENRDTF(3) 數(shù)據(jù)允許信號(hào)(輸出,低電平有效,三態(tài))有效表示CPU準(zhǔn)備好接收和發(fā)送數(shù)
30、據(jù),是CPU提供雙向數(shù)據(jù)收發(fā)器8286的信號(hào),在每個(gè)訪問(wèn)存儲(chǔ)器或訪問(wèn)I/O周期,或中斷響應(yīng)周期均有效。在DMA下,浮置為高陰狀態(tài)。F(4)數(shù)據(jù)收發(fā)信號(hào)(輸出,三態(tài))在系統(tǒng)使用雙向數(shù)據(jù)收發(fā)器8286時(shí),用其控制數(shù)據(jù)的傳送方向。如果為高電平,則進(jìn)行數(shù)據(jù)發(fā)送,如果為低電平,則進(jìn)行數(shù)據(jù)接收。在DMA下,浮置為高陰狀態(tài)。2-50微機(jī)原理及應(yīng)用F(5) 存儲(chǔ)器/IO控制信號(hào)(輸出,三態(tài))用于區(qū)分是訪問(wèn)存儲(chǔ)器(高電平),還是訪問(wèn)I/O(低電平),通常被接至存儲(chǔ)器或接口芯片的片選端。在DMA下,浮置為高阻狀態(tài)。 注:8088中,此信號(hào)為,極性與8086相反。F(6)寫信號(hào)(輸出,低電平有效,三態(tài))有效時(shí),表示
31、CPU正在執(zhí)行存儲(chǔ)器或I/O的寫操作。在任何寫周期,只在T2、T3和Tw有效。在DMA下,浮置為高阻狀態(tài)。IOMCSIOMWRWR2-51微機(jī)原理及應(yīng)用F(7)HOLD總線保持請(qǐng)求信號(hào)(輸入,高電平有效) 它是系統(tǒng)中的其他總線主控部件向CPU發(fā)出的請(qǐng)求占用總線的申請(qǐng)信號(hào)。F(8)HLDA總線保持響應(yīng)信號(hào)(輸出,高電平有效)是CPU對(duì)系統(tǒng)中其他總線主控部件向其請(qǐng)求總路線使用權(quán)的響應(yīng)信號(hào)。2-52微機(jī)原理及應(yīng)用FHOLD和HLDA是兩個(gè)應(yīng)答信號(hào)。應(yīng)答過(guò)程:申請(qǐng):系統(tǒng)中某一總線主控部件要求占用總線向CPU的HOLD引腳發(fā)出一個(gè)高電平的請(qǐng)求信號(hào)如果CPU允許讓出總路線的控制權(quán),就在當(dāng)前總線周期的T4狀
32、態(tài),從HLDA引腳上發(fā)出一個(gè)高電平的應(yīng)答信號(hào),且同時(shí)使具有三態(tài)功能的地址/數(shù)據(jù)總線和控制總線處于浮空總線請(qǐng)求部件收到HLDA后,獲得總線控制權(quán)。保持:在總線請(qǐng)求部件占有總線期間,HOLD和HLDA都保持高。放棄:當(dāng)總線請(qǐng)求部件用完總線之后,把HOLD信號(hào)變?yōu)榈碗娖?,CPU收到HOLD的無(wú)效信號(hào)后,也將HLDA變?yōu)榈碗娖剑@時(shí)CPU再度獲得地址/數(shù)據(jù)總線和控制總線的占有權(quán)。2-53微機(jī)原理及應(yīng)用F注意:最小方式下,8086/8088CPU的第34引腳功能含義不同8086前面已經(jīng)介紹過(guò)8088為(系統(tǒng)狀態(tài)信號(hào)),它與、的組合,決定了當(dāng)前總線周期的操作。具體如下:SSOIOMRDT無(wú)源狀態(tài)110暫停
33、111寫內(nèi)存010寫I/O端口011讀內(nèi)存100讀I/O端口101取指令000發(fā)中斷響應(yīng)信號(hào)001操作操作IOMRDTSSOIOMRDTSSO2-54微機(jī)原理及應(yīng)用2、最小方式的典型系統(tǒng)結(jié)構(gòu)F構(gòu)成最小方式系統(tǒng)要求:系統(tǒng)中的存儲(chǔ)器容量不大,I/O端口不多。F這時(shí)系統(tǒng)的地址總線,由AD15AD0,A19A16通過(guò)地址鎖存器構(gòu)成,數(shù)據(jù)總線可以直接由AD15AD0(AD7AD0)供給,也可以通過(guò)收發(fā)器增大驅(qū)動(dòng)能力后供給,系統(tǒng)的控制總線則直接由CPU供給。如下頁(yè)圖或書2-10(P28)2-55微機(jī)原理及應(yīng)用最小模式系統(tǒng)總線的形成:最小模式系統(tǒng)總線的形成:應(yīng)用于單一的微機(jī)處理系統(tǒng),應(yīng)用于單一的微機(jī)處理系統(tǒng)
34、,3 3片片82828282鎖存鎖存2020位地址信息和位地址信息和BHEBHE ,2 2片片82868286作為作為1616位數(shù)據(jù)收發(fā)器位數(shù)據(jù)收發(fā)器 MN/MX RD WR CLK READY M/IORESET ALE A19-A16 BHE AD15-AD08086CPU DT/R DEN8286 8286 或或8287 8287 T TOEOE82848284RES RES 時(shí)鐘時(shí)鐘 發(fā)生器發(fā)生器存儲(chǔ)器 DATAI/O外設(shè)DATA數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線地址總線地址總線地址地址/ /數(shù)據(jù)數(shù)據(jù)V VCCCCV VCCCCSTBSTB鎖存器鎖存器82828282OEOEBHEBHE
35、2-56微機(jī)原理及應(yīng)用2.4.3最大工作方式F當(dāng)把8086/8088CPU的引腳引腳接地時(shí),CPU就處于最大工作方式。F最大工作方式用在需要利用8086/8088CPU構(gòu)成中等或較大(相對(duì)于最小方式)系統(tǒng)時(shí)。F在最大方式下,可以有11個(gè)微處理器,其他處理器作為后援處理器。MXMN2-57微機(jī)原理及應(yīng)用1、最大方式下,2431引腳功能F這8個(gè)控制引腳功能:F(1)QS1和QS0指令隊(duì)列狀態(tài)信號(hào)(輸出)組合起來(lái)提供總線周期的前一個(gè)狀態(tài)中指令隊(duì)列的狀態(tài),以便于外部對(duì)8086/8088BIU的指令隊(duì)列的動(dòng)作跟蹤。見(jiàn)表2-6(P30)QS1QS0隊(duì)列狀態(tài)隊(duì)列狀態(tài)QS1QS0隊(duì)列狀態(tài)隊(duì)列狀態(tài)00無(wú)操作無(wú)操
36、作10隊(duì)列空隊(duì)列空01從指令隊(duì)列中取出當(dāng)前從指令隊(duì)列中取出當(dāng)前指令第一字節(jié)指令第一字節(jié)11從指令隊(duì)列中取出當(dāng)前從指令隊(duì)列中取出當(dāng)前指令后續(xù)字節(jié)指令后續(xù)字節(jié)2-58微機(jī)原理及應(yīng)用F(2)、總線周期狀態(tài)信號(hào)(輸出,三態(tài))組合起來(lái)表示當(dāng)前總線周期操作類型。8288總線控制器根據(jù)其狀態(tài)來(lái)訪問(wèn)存儲(chǔ)器和I/O端口的控制命令。見(jiàn)表2-7(P30)2S1S0SMRDC讀存儲(chǔ)器1 0 1IORC讀I/O端口0 0 1MWTC,AMWC寫存儲(chǔ)器1 1 0IOWC,AIOWC讀I/O端口0 1 0無(wú)無(wú)源狀態(tài)1 1 1無(wú)暫停0 1 1MRDC取指令1 0 0INTA中斷響應(yīng)0 0 08288產(chǎn)生的信號(hào)操作類型S2 S
37、1 S08288產(chǎn)生的信號(hào)操作類型S2 S1 S02-59微機(jī)原理及應(yīng)用F(3)總線封鎖信號(hào)(輸出,三態(tài))此信號(hào)低電平時(shí),表示CPU獨(dú)占總線使用權(quán)。它由指令前綴LOCK產(chǎn)生,當(dāng)LOCK前綴后面的一條指令執(zhí)行完后,信號(hào)便撤消,此信號(hào)是為了避免多個(gè)處理器使用共有資源時(shí)產(chǎn)生沖突而設(shè)置的。為防止8086/8088中斷時(shí)總線被其他主控部件所占用,因此在兩個(gè)中斷響應(yīng)脈沖之間,信號(hào)自動(dòng)變?yōu)榈碗娖?。在DMA期間,端被設(shè)置浮置為高阻狀態(tài)。LOCKLOCKLOCKLOCK2-60微機(jī)原理及應(yīng)用F(4)、總線請(qǐng)求(輸入)/總線請(qǐng)求允許(輸出)信號(hào)(雙向)這兩個(gè)引腳可供CPU以外的兩個(gè)處理器用來(lái)發(fā)出使用總線的請(qǐng)求信號(hào)
38、和接收CPU對(duì)總線請(qǐng)求信號(hào)的回答信號(hào),它們都是雙向。的優(yōu)先級(jí)比高。1GTRQ0GTRQ1GTRQ0GTRQ2-61微機(jī)原理及應(yīng)用2、最大方式的系統(tǒng)基本結(jié)構(gòu)F系統(tǒng)中增加了總線控制器8288,使控制總線的驅(qū)動(dòng)能力更強(qiáng)、功能更加完善。F8288用來(lái)代替CPU提供總線控制和命令信號(hào)總線控制器。F8288的引腳信號(hào)分為:輸入狀態(tài)信號(hào)、控制信號(hào)、輸出總線命令信號(hào)和輸出總線控制信號(hào)。2-62微機(jī)原理及應(yīng)用最大模式系統(tǒng)總線的形成最大模式系統(tǒng)總線的形成:應(yīng)用于多微機(jī)處理系統(tǒng),增設(shè)總線控制器應(yīng)用于多微機(jī)處理系統(tǒng),增設(shè)總線控制器82888288 CLK READY RESET A19-A16 BHE AD15-AD
39、08086CPU MN/MX STB 8282 8282 或或8283828382848284RES RES 時(shí)鐘時(shí)鐘 發(fā)生器發(fā)生器存儲(chǔ)器 DATAI/O外設(shè)DATA數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線地址總線地址總線地址地址/ /數(shù)據(jù)數(shù)據(jù)V VCCCCS0S1s2 CLK 8288 DT/R s0 s1 s2 ALE DENIOWCIORCMWTCMRDCBHEBHE8286 8286 或或8287 8287 T T OE OE2-63微機(jī)原理及應(yīng)用3、多處理器系統(tǒng)F多處理器系統(tǒng)改進(jìn)系統(tǒng)的性能和增加了系統(tǒng)的吞量。F多個(gè)處理器掛在同一總線上,必須解決的問(wèn)題是:總線的爭(zhēng)用處理器間通信2-64微機(jī)原理
40、及應(yīng)用F最大工作方式提供的多道處理性能適應(yīng)于三種基本配置:協(xié)處理器配置、緊耦合配置和松耦合配置前兩種配置:處理器共享存儲(chǔ)器和I/O設(shè)備,而且共享總線控制邏輯和時(shí)鐘發(fā)生器。后援處理器需使用總線時(shí)需通過(guò)或向CPU申請(qǐng)。緊耦合配置中,后援處理器可獨(dú)立工作,協(xié)處理配置中,后援處理器不能獨(dú)立工作,必須與CPU直接通信。這兩種配置中,后援處理器不能是8086/8088CPU.CPU只提供兩條請(qǐng)求/請(qǐng)求允許信號(hào)線,所以共享總線的后援處理器數(shù)目有限。1GTRQ0GTRQ2-65微機(jī)原理及應(yīng)用松耦合配置用于中型和大型系統(tǒng)中,系統(tǒng)中可包含多個(gè)共享總線的主控者。每一個(gè)主控者必須配置一個(gè)8288總線控制器和一個(gè)828
41、9總線仲裁器。當(dāng)多個(gè)主控者同時(shí)要求使用總線時(shí),由8289將總線賦給優(yōu)先級(jí)別高的主控者。2-66微機(jī)原理及應(yīng)用2.58086/8088的操作及其時(shí)序F2.5.1總線周期、T狀態(tài)和操作時(shí)序由外部的8284A芯片提供主頻為5MHz的時(shí)鐘信號(hào),其時(shí)鐘周期為200ns。CPU在執(zhí)行指令過(guò)程中,凡需執(zhí)行訪問(wèn)存儲(chǔ)器或訪問(wèn)I/O端口的操作都統(tǒng)一交給BIU的外部總線完成,進(jìn)行一次訪問(wèn)(存取一個(gè)字節(jié))所需的時(shí)間稱為一個(gè)總線周期。一個(gè)總線周期由4個(gè)時(shí)鐘周期組成,一個(gè)時(shí)鐘周期稱為一個(gè)T狀態(tài),因此基本總線周期用T1、T2、T3、T4表示。CPU執(zhí)行數(shù)據(jù)輸入操作,稱為總線“讀”周期;CPU執(zhí)行數(shù)據(jù)輸出操作,稱為總線“寫”
42、周。2-67微機(jī)原理及應(yīng)用F考慮到存儲(chǔ)器或外設(shè)速度不如CPU,在基本總線周期T3、T4之間插入一個(gè)或多個(gè)附加時(shí)鐘周期Tw的功能,Tw又叫等待狀態(tài)。F總線周期只用于CPU與存儲(chǔ)器或I/O端口之間傳送數(shù)據(jù)和填充指令隊(duì)列,如果在一個(gè)總線周期之后,不立即執(zhí)行下一個(gè)總線周期,那么,系統(tǒng)總線就處于空閑狀態(tài),或稱T1空閑周期。F空閑狀態(tài)可以包含一到多個(gè)時(shí)鐘周期。2-68微機(jī)原理及應(yīng)用F一個(gè)微機(jī)系統(tǒng)要完成各種任務(wù),需要在時(shí)鐘同步下執(zhí)行許多操作,這就構(gòu)成了CPU的操作時(shí)序。8086的主要操作包括:系統(tǒng)的復(fù)位和啟動(dòng)操作總線操作中斷操作暫停操作總線保持或總線請(qǐng)求/允許操作2-69微機(jī)原理及應(yīng)用2.5.2系統(tǒng)的復(fù)位和
43、啟動(dòng)操作F8086/8088的復(fù)位和啟動(dòng)操作是8284A時(shí)鐘發(fā)生器向其RESET引腳上加上觸發(fā)信號(hào)而執(zhí)行的。F8086/8088要求此復(fù)位信號(hào)至少有4個(gè)時(shí)鐘周期的高電平,如果是初次加電引起復(fù)位(冷啟動(dòng)),則要求有大于50ns的高電平。2-70微機(jī)原理及應(yīng)用F當(dāng)RESET引腳接受到第一時(shí)鐘周期的正跳變后,8086/8088進(jìn)入內(nèi)部RESET階段。再過(guò)一個(gè)時(shí)鐘周期,所有三態(tài)輸出線,都被置成浮空狀態(tài),直到RESET回到低電平,結(jié)束復(fù)位操作為止。CLKRESET輸入內(nèi)部RESET所有三態(tài)輸出線不作用狀態(tài)浮空系統(tǒng)復(fù)位時(shí)序2-71微機(jī)原理及應(yīng)用F當(dāng)8086/8088進(jìn)入內(nèi)部RESET時(shí),CPU就結(jié)束現(xiàn)行操
44、作,進(jìn)入復(fù)位狀態(tài)。 CPU將標(biāo)志寄存器、IP、DS、SS、ES以及指令隊(duì)列清零清零,并將CS置為FFFFH。RESET為低電平時(shí),CPU從FFFF0H開始執(zhí)行程序。復(fù)位重啟時(shí),從內(nèi)存的FFFF0H(=CS16+IP)開始執(zhí)行。這樣一旦啟動(dòng)就自動(dòng)進(jìn)入系統(tǒng)程序。2-72微機(jī)原理及應(yīng)用2.5.3總線操作F總線操作包括CPU從存儲(chǔ)器或I/O端口讀和寫操作,即總線讀操作和總線操作。F1、最小方式下的總線讀操作F(1)T1狀態(tài)1)訪問(wèn)存儲(chǔ)器,則為低電平;訪問(wèn)I/O端口,則為高電平。信號(hào)持續(xù)整個(gè)周期。2) 20位地址信號(hào)通過(guò)A19/S6A16/S3、AD15AD0輸出。此信號(hào)在T1狀態(tài)開始送出持續(xù)一個(gè)狀態(tài),
45、需即時(shí)鎖存。IOMIOM2-73微機(jī)原理及應(yīng)用總線讀周期總線讀周期80868086的基本工作時(shí)序的基本工作時(shí)序: :T1T2T3TWT4T1T2T3TWT4(1 1)T1T1狀態(tài)狀態(tài) M/IOM/IO信號(hào):從存儲(chǔ)器讀還是從信號(hào):從存儲(chǔ)器讀還是從I/OI/O設(shè)備中讀數(shù)據(jù)。持續(xù)整個(gè)周期。設(shè)備中讀數(shù)據(jù)。持續(xù)整個(gè)周期。 AD15-AD0AD15-AD0、A19/S7-A16/S3A19/S7-A16/S3:確確定定2020位地址。位地址。 BHEBHE和和A0A0:對(duì)奇、偶地址存儲(chǔ)體對(duì)奇、偶地址存儲(chǔ)體選擇。選擇。 ALEALE:地址鎖存信號(hào),以使地址地址鎖存信號(hào),以使地址/ /數(shù)據(jù)線分開。數(shù)據(jù)線分開。
46、 DT/RDT/R變?yōu)榈碗娖剑優(yōu)榈碗娖?,? 2)T2T2狀態(tài)狀態(tài) A19/S6-A16/S3A19/S6-A16/S3:出現(xiàn)出現(xiàn)S6-S3S6-S3狀態(tài)狀態(tài)信號(hào)。決定信號(hào)。決定80868086CPUCPU是否連在總線是否連在總線上、上、IFIF狀態(tài)、段寄存器。狀態(tài)、段寄存器。 AD15-AD0AD15-AD0:高阻狀態(tài)。高阻狀態(tài)。 RDRD:由高電平變?yōu)榈碗娖?,開始由高電平變?yōu)榈碗娖?,開始進(jìn)行讀操作。進(jìn)行讀操作。 DENDEN:變低電平,啟動(dòng)收發(fā)器變低電平,啟動(dòng)收發(fā)器82688268,做好接收數(shù)據(jù)的準(zhǔn)備。,做好接收數(shù)據(jù)的準(zhǔn)備。(3 3)T3T3狀態(tài)狀態(tài) 若存儲(chǔ)器或若存儲(chǔ)器或I/OI/O端口
47、已做好發(fā)送端口已做好發(fā)送數(shù)據(jù)準(zhǔn)備,則在數(shù)據(jù)準(zhǔn)備,則在T3T3狀態(tài)期間將數(shù)狀態(tài)期間將數(shù)據(jù)放到數(shù)據(jù)總線上,在據(jù)放到數(shù)據(jù)總線上,在T3T3結(jié)束時(shí),結(jié)束時(shí),CPUCPU從從AD15-AD0AD15-AD0上讀取數(shù)據(jù)。上讀取數(shù)據(jù)。 若沒(méi)有準(zhǔn)備好,則進(jìn)入若沒(méi)有準(zhǔn)備好,則進(jìn)入TWTW狀態(tài)狀態(tài)(4 4)TWTW狀態(tài)狀態(tài) 在在T3T3的前沿(下降沿),的前沿(下降沿),CPUCPU對(duì)對(duì)READYREADY進(jìn)行采樣,如果存儲(chǔ)器或外進(jìn)行采樣,如果存儲(chǔ)器或外設(shè)沒(méi)有準(zhǔn)備好數(shù)據(jù),則設(shè)沒(méi)有準(zhǔn)備好數(shù)據(jù),則READY=0READY=0,則則CPUCPU在在T3T3和和T4T4之間插入一個(gè)或多之間插入一個(gè)或多個(gè)個(gè)TWTW狀態(tài),直
48、到數(shù)據(jù)準(zhǔn)備好,狀態(tài),直到數(shù)據(jù)準(zhǔn)備好,READY=1READY=1為止。為止。 TWTW狀態(tài)時(shí)總線的動(dòng)作與狀態(tài)時(shí)總線的動(dòng)作與T3T3時(shí)相同時(shí)相同。(5 5)T4T4狀態(tài)狀態(tài)在在T4T4和前一個(gè)狀態(tài)交界的下降沿和前一個(gè)狀態(tài)交界的下降沿處,處,CPUCPU對(duì)數(shù)據(jù)總線進(jìn)行采樣,讀對(duì)數(shù)據(jù)總線進(jìn)行采樣,讀出數(shù)據(jù)。出數(shù)據(jù)。 其時(shí)序見(jiàn)右圖所示其時(shí)序見(jiàn)右圖所示最小方式下的總線讀操作2-74微機(jī)原理及應(yīng)用3)T1狀態(tài)ALE引腳上輸出一個(gè)正脈沖作地址鎖存器8282的地址鎖存信號(hào)。ALE利用下降沿進(jìn)行地址鎖存。4)信號(hào)也在T1狀態(tài)通過(guò)引腳送出,和地址A0分別用來(lái)對(duì)奇、偶地址庫(kù)進(jìn)行尋址。5)使變?yōu)榈碗娖?,控制?shù)據(jù)總線收
49、發(fā)器8286接收數(shù)據(jù)狀態(tài)。BHE7SBHEBHERDT2-75微機(jī)原理及應(yīng)用F(2)T2狀態(tài)1) 及A19/S6A16/S3引腳上輸出狀態(tài)信息S7S3。2)AD15AD0轉(zhuǎn)為高阻態(tài),為讀數(shù)據(jù)做準(zhǔn)備。3)變?yōu)橛行?,允許將被地址信息選中的存儲(chǔ)單元或I/O端口中的數(shù)據(jù)讀出。4)和變?yōu)榈碗娖?,以選通8286,并使其處于接收狀態(tài)。7SBHERDDENRDT2-76微機(jī)原理及應(yīng)用F(3)T3狀態(tài)被選中的存儲(chǔ)單元或I/O端口把數(shù)據(jù)送到數(shù)據(jù)總線,以備CPU讀取。F(4)Tw狀態(tài)由于存儲(chǔ)器或外設(shè)速度慢,往往不能用最基本的總線周期執(zhí)行讀操作,系統(tǒng)中8284A時(shí)鐘發(fā)生READY信號(hào)給CPU。CPU在下降沿采樣REA
50、DY。READY為低時(shí),就在T3和T4之間插入等待狀態(tài)Tw。2-77微機(jī)原理及應(yīng)用Tw可以是一個(gè)或多個(gè)。CPU在每個(gè)Tw的前下降沿采樣READY,直到為高電平,在本Tw狀態(tài)結(jié)束后進(jìn)入T4狀態(tài)。 Tw狀態(tài),各信號(hào)維持不變。F(4)T4狀態(tài)在T4狀態(tài)和前一個(gè)狀態(tài)交界的下降沿處,CPU讀取數(shù)據(jù)總線上的數(shù)據(jù)。2-78微機(jī)原理及應(yīng)用2.最小方式下的總線寫操作F基本操作周期也包括4個(gè)T狀態(tài)T1、T2、T3、T4,當(dāng)存儲(chǔ)器或外設(shè)速度較慢時(shí),在T3或T4之間插入1個(gè)或多個(gè)Tw。F(1)T1狀態(tài)與讀操作一樣,在線上發(fā)有效電平,確定是訪問(wèn)存儲(chǔ)器還是I/O端口,同時(shí)將20位地址和輸出,ALE引腳上的正脈沖的下降沿把
51、20位地址及狀態(tài)鎖存到8282鎖存器中,為高電平。IOMBHERDTBHE2-79微機(jī)原理及應(yīng)用總線寫周期總線寫周期80868086的基本工作時(shí)序的基本工作時(shí)序: :T1T2T3TWT4T1T2T3TWT4(1 1)T1T1狀態(tài)狀態(tài) M/IOM/IO信號(hào):對(duì)存儲(chǔ)器寫還是信號(hào):對(duì)存儲(chǔ)器寫還是對(duì)對(duì)I/OI/O設(shè)備中寫數(shù)據(jù)。設(shè)備中寫數(shù)據(jù)。 AD15-AD0AD15-AD0、A19/S7-A16/S3A19/S7-A16/S3:確定確定2020位地址。位地址。 BHEBHE和和A0A0:對(duì)奇、偶地址存對(duì)奇、偶地址存儲(chǔ)體的選擇。儲(chǔ)體的選擇。 ALEALE:地址鎖存信號(hào),以使地址鎖存信號(hào),以使地址地址/
52、/數(shù)據(jù)線分開。數(shù)據(jù)線分開。 DT/RDT/R:為高電平,指示收發(fā)為高電平,指示收發(fā)器器82868286發(fā)送數(shù)據(jù),寫操作。發(fā)送數(shù)據(jù),寫操作。(2 2)T2T2狀態(tài)狀態(tài) A19/S6-A16/S3A19/S6-A16/S3:出現(xiàn)出現(xiàn)S6-S6-S3S3狀態(tài)信號(hào)。決定狀態(tài)信號(hào)。決定80868086CPUCPU是否連在總線上、是否連在總線上、IFIF狀態(tài)、狀態(tài)、段寄存器。段寄存器。 AD15-AD0:AD15-AD0:發(fā)發(fā)1616位數(shù)據(jù)。位數(shù)據(jù)。 WRWR:由高電平變?yōu)榈碗娖?,由高電平變?yōu)榈碗娖?,開始進(jìn)行寫操作。開始進(jìn)行寫操作。 DENDEN:變低電平,啟動(dòng)收發(fā)變低電平,啟動(dòng)收發(fā)器器82688268,
53、做好發(fā)送數(shù)據(jù)的準(zhǔn),做好發(fā)送數(shù)據(jù)的準(zhǔn)備備 (3 3)T3T3狀態(tài)狀態(tài) 存儲(chǔ)器或存儲(chǔ)器或I/OI/O端口做好接收端口做好接收準(zhǔn)備,則在準(zhǔn)備,則在T3T3期間將數(shù)據(jù)放期間將數(shù)據(jù)放DBDB上,在上,在T3T3結(jié)束時(shí),結(jié)束時(shí),CPUCPU將將AD15-AD0AD15-AD0上數(shù)據(jù)寫入到存儲(chǔ)上數(shù)據(jù)寫入到存儲(chǔ)器或器或I/OI/O設(shè)備中設(shè)備中 (4 4)TWTW狀態(tài)狀態(tài) 在在T3T3狀態(tài),存儲(chǔ)器或外設(shè)沒(méi)狀態(tài),存儲(chǔ)器或外設(shè)沒(méi)有 準(zhǔn) 備 好 接 收 數(shù) 據(jù) , 使有 準(zhǔn) 備 好 接 收 數(shù) 據(jù) , 使READY=0READY=0,則則CPUCPU在在T3T3和和T4T4之之間插入一個(gè)或幾個(gè)間插入一個(gè)或幾個(gè)TWTW
54、狀態(tài)狀態(tài)直到設(shè)備準(zhǔn)備好直到設(shè)備準(zhǔn)備好READY=1READY=1為止為止。(5 5)T4T4狀態(tài)狀態(tài)數(shù)據(jù)從數(shù)據(jù)從DBDB上被撤除,各種控上被撤除,各種控制信號(hào)和狀態(tài)信號(hào)進(jìn)入無(wú)效制信號(hào)和狀態(tài)信號(hào)進(jìn)入無(wú)效狀態(tài),狀態(tài),CPUCPU完成了對(duì)存儲(chǔ)器或完成了對(duì)存儲(chǔ)器或I/OI/O設(shè)備的寫操作設(shè)備的寫操作 其時(shí)序如右圖示其時(shí)序如右圖示最小方式下的總線寫操作2-80微機(jī)原理及應(yīng)用F(2)T2狀態(tài)為低電平,并在AD線上撤去地址信號(hào)后,立即將數(shù)據(jù)輸出到AD15AD9上,不需像讀周期一樣要維持一個(gè)狀態(tài)的浮空以作緩沖。維持高電平,變?yōu)榈碗娖剑?286處于發(fā)送狀態(tài),A19/S6A16/S3及變?yōu)闋顟B(tài)輸出。WRRDTDE
55、N7SBHE2-81微機(jī)原理及應(yīng)用F(3)T3狀態(tài)各信號(hào)維持T2時(shí)的狀態(tài)不變,與讀周期一樣,在T3的前下降沿采樣READY,若需要插入Tw狀態(tài)則產(chǎn)生Tw從而進(jìn)入等待狀,否則轉(zhuǎn)入T4狀態(tài)。Tw狀態(tài),各信號(hào)維持不變。F(4)T4狀態(tài)在T4狀態(tài)前期,變無(wú)效并撤除數(shù)據(jù)總線上的數(shù)據(jù);在T4后期,也變無(wú)效。此時(shí)也變?yōu)楦唠娖剑瑥亩P(guān)閉8286收發(fā)器。WRIOMDEN2-82微機(jī)原理及應(yīng)用3.8088的總線讀/寫操作F與8086最小方式下基本相似,有以下幾點(diǎn)不同:1)AD15AD8為A15A8,不是分時(shí)復(fù)用線而是僅用于輸出地址。因此,這些信號(hào)在整個(gè)讀/寫周期中保持2)分時(shí)復(fù)用線只有AD7AD0 ,其操作時(shí)序與
56、8086的AD15AD0相同。3)8088中,為,為,且與同時(shí)開始變化,即從T1開始線上就送出有效電平且一直維持到T4狀態(tài)。IOMIOM7SBHESSOIOMSSO2-83微機(jī)原理及應(yīng)用2.5.4中斷響應(yīng)總線周期操作F8086/8088可以處理256種不同類型的中斷,每種中斷對(duì)應(yīng)一個(gè)類型碼。其響應(yīng)時(shí)序如圖:T1T2T3T4T1T1T1T1T2T3T4中斷類型碼NCLKALEAD7AD0INTA圖2-21 8086中斷響應(yīng)周期時(shí)序第一個(gè)中斷響應(yīng)周期三個(gè)空閑狀態(tài)第二個(gè)中斷響應(yīng)周期2-84微機(jī)原理及應(yīng)用F中斷響應(yīng)條件:IF(中斷允許標(biāo)志)=1。F外部中斷源通過(guò)INTR引腳發(fā)出中斷請(qǐng)求,CPU執(zhí)行完當(dāng)
57、前指令后,響應(yīng)中斷而進(jìn)入中斷響應(yīng)周期。F中斷響應(yīng)周期占用兩個(gè)連續(xù)的總線周期。2-85微機(jī)原理及應(yīng)用F兩個(gè)總線周期中各從引腳輸出一個(gè)負(fù)脈沖,每個(gè)脈沖從T2持續(xù)到T4狀態(tài)。F第一個(gè)負(fù)脈沖表明其中斷申請(qǐng)已得到允許,然后插入3個(gè)空閑狀態(tài)T1(對(duì)8088不需要插入空閑周期)。F在外設(shè)端口收到第二個(gè)負(fù)脈沖后,立即就把中斷類型碼存到數(shù)據(jù)總線的低8位AD7AD0并傳給CPU。INTA2-86微機(jī)原理及應(yīng)用F在兩個(gè)總線周期的其余時(shí)序,AD7AD0處于浮空,同時(shí) 、A19/S6A16/S3也處于浮空,處于低電平,而ALE引腳在每個(gè)總線周期都輸出一個(gè)正脈沖作為地址鎖存信號(hào)。F注意:8086工作在最小方式下,中斷響應(yīng)
58、信號(hào)直接從CPU引腳發(fā)出;在最大方式下,信號(hào)是通過(guò)總線控制器8288的引腳發(fā)出的。此外,軟件中斷和NMI的響應(yīng)總線周期與圖2-21所示時(shí)序不同。7SBHEIOMINTAINTAINTAINTA2-87微機(jī)原理及應(yīng)用2.5.5暫停操作FCPU執(zhí)行暫停指令HLT時(shí),就停止一切操作,進(jìn)入暫停狀態(tài)。暫停狀態(tài)一直保持到發(fā)生中斷或系統(tǒng)進(jìn)行復(fù)位為止。F暫停狀態(tài)下,CPU可接收HOLD線上(最小方式下)或 (最大方式下)線上的保持請(qǐng)求。當(dāng)保持請(qǐng)求消失后,CPU回到暫停狀態(tài)。GTRQ2-88微機(jī)原理及應(yīng)用2.5.6最小方式下的總線保持請(qǐng)求/保持響應(yīng)操作F當(dāng)系統(tǒng)中CPU之外的總線主設(shè)備需要占用總線時(shí),就向CPU發(fā)
59、出一個(gè)有效的總線保持請(qǐng)求信號(hào)HOLD,這個(gè)信號(hào)可能與時(shí)鐘信號(hào)不同步,當(dāng)CPU在每個(gè)時(shí)鐘周期的上升沿檢測(cè)到該信號(hào)時(shí),在當(dāng)前總線周期的T4后或下一個(gè)總線周期的T1后,CPU發(fā)出一個(gè)有效的保持響應(yīng)信號(hào)HLDA,并讓出總線。2-89微機(jī)原理及應(yīng)用F在外部設(shè)備DMA傳送結(jié)束后,使HOLD變?yōu)榈碗娖綍r(shí),下一個(gè)時(shí)鐘上升沿檢測(cè)到后,在緊接的下降沿使HLDA也變?yōu)榈碗娖剑珻PU收回總線控制權(quán)。HOLDHLDA總線CLKT1或T4總線保持請(qǐng)求與保持響應(yīng)的時(shí)序2-90微機(jī)原理及應(yīng)用總線保持請(qǐng)求/保持響應(yīng)操作需要注意的幾點(diǎn):F(1)當(dāng)某一總線主模塊向CPU發(fā)來(lái)HOLD信號(hào)變?yōu)楦唠娖胶螅珻PU將在下一個(gè)時(shí)鐘周期的上升沿
60、檢測(cè)到,若隨后的時(shí)鐘周期正好為T4或?yàn)門1,則在其下降沿處將HLDA變?yōu)楦唠娖?;若檢測(cè)到HOLD后不是T4或T1,則可能會(huì)延遲幾個(gè)時(shí)鐘周期,等到下一個(gè)T4或T1出現(xiàn)時(shí),才發(fā)出HLDA信號(hào)。2-91微機(jī)原理及應(yīng)用F(2)在總線保持請(qǐng)求/響應(yīng)周期中,因三態(tài)輸出線處于高阻狀態(tài),這將直接影響8086的BIU部件的工作,但是執(zhí)行部件EU將繼續(xù)執(zhí)行指令隊(duì)列中的指令,直到遇到一條需要使用總線的指令時(shí),EU才停止工作,或者把指令隊(duì)列中指令執(zhí)行完,也會(huì)停止工作。由此可見(jiàn),CPU和獲得總線控制的其他主模塊之間,在操作上有一段小小的重疊。2-92微機(jī)原理及應(yīng)用F(3)當(dāng)HOLD變?yōu)闊o(wú)效后,CPU也接著HLDA變?yōu)榈?/p>
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- idc租賃服務(wù)合同范例
- 存貨質(zhì)押合同范本
- 企業(yè)員工招聘合同范本
- 農(nóng)村安裝路燈合同范例
- 兼職配音協(xié)議合同范本
- 照明燈具采購(gòu)合同范本
- 工業(yè)固體廢物處置合同范本
- 冰箱保養(yǎng)合同范本
- 天籟侗歌苗寨傳
- 2025年度國(guó)際知識(shí)產(chǎn)權(quán)轉(zhuǎn)讓合同范本(含專利保護(hù))
- 施工周報(bào)表(標(biāo)準(zhǔn)模版)
- 4.5MWp分布式光伏項(xiàng)目主要設(shè)備材料清單(建筑工程安裝工程)
- von frey絲K值表完整版
- 云南省普通初中學(xué)生成長(zhǎng)記錄模板-好ok
- SB/T 10415-2007雞粉調(diào)味料
- 考古繪圖基礎(chǔ)
- GB/T 32574-2016抽水蓄能電站檢修導(dǎo)則
- 《社會(huì)主義市場(chǎng)經(jīng)濟(jì)理論(第三版)》第十三章社會(huì)主義市場(chǎng)經(jīng)濟(jì)標(biāo)準(zhǔn)論
- 變更索賠案例分析
- 過(guò)敏性休克的急救及處理流程教材課件(28張)
- 《花婆婆》兒童繪本故事
評(píng)論
0/150
提交評(píng)論