第2章 8086微處理器._第1頁
第2章 8086微處理器._第2頁
第2章 8086微處理器._第3頁
第2章 8086微處理器._第4頁
第2章 8086微處理器._第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 8086 8086是高性能的第三代微處理器,是是高性能的第三代微處理器,是IntelIntel系列的系列的1616位微位微處理器,它是采用處理器,它是采用HMOSHMOS工藝制造的,工藝制造的, 內(nèi)部包含約內(nèi)部包含約29,00029,000個晶體管。個晶體管。 80868086有有1616根數(shù)據(jù)線和根數(shù)據(jù)線和2020根地址線,因為可用根地址線,因為可用2020位地址,位地址, 所以所以可尋址的地址空間達可尋址的地址空間達2 22020即即1M1M字節(jié)字節(jié)。80868086工作時,只要工作時,只要一個一個 5V 5V 電源和一相時鐘,電源和一相時鐘, 時鐘頻率為時鐘頻率為5MHz5MHz。 后

2、來,后來,Intel Intel 公司推出的公司推出的8086-18086-1型微處理器時鐘頻型微處理器時鐘頻率高達率高達10MHz10MHz, 8086-28086-2型微處理器時鐘頻率達型微處理器時鐘頻率達8MHz8MHz。幾乎在推出幾乎在推出80868086微處理器的同時微處理器的同時,Intel ,Intel 公司還推公司還推出了一種準出了一種準1616位微處理器位微處理器80888088。 推出推出80888088的主要的主要目的是為了與當時已有的一整套目的是為了與當時已有的一整套 IntelIntel外圍設備接外圍設備接口芯片直接兼容??谛酒苯蛹嫒?。 80888088的內(nèi)部寄存器

3、、內(nèi)部運算的內(nèi)部寄存器、內(nèi)部運算部件以及內(nèi)部操作都是按部件以及內(nèi)部操作都是按1616位設計的,但對外的數(shù)位設計的,但對外的數(shù)據(jù)總線只有據(jù)總線只有8 8條。這兩種微處理器除了數(shù)據(jù)總線寬度條。這兩種微處理器除了數(shù)據(jù)總線寬度不同外,其他方面幾乎完全相同。不同外,其他方面幾乎完全相同。8086/80888086/8088的另的另一個突出特點是其多重處理的能力,它們都能極方一個突出特點是其多重處理的能力,它們都能極方便的和數(shù)值數(shù)據(jù)處理器(便的和數(shù)值數(shù)據(jù)處理器(NPXNPX)80878087,I/OI/O處理器處理器(IOPIOP)80898089或其他處理器組成多處理器系統(tǒng),從或其他處理器組成多處理器系

4、統(tǒng),從而極大地提高系統(tǒng)數(shù)據(jù)吞吐能力和數(shù)據(jù)處理能力。而極大地提高系統(tǒng)數(shù)據(jù)吞吐能力和數(shù)據(jù)處理能力。一、一、8086CPU8086CPU的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)1 1、1616位外部數(shù)據(jù)總線位外部數(shù)據(jù)總線2 2、1616位內(nèi)部體系結(jié)構(gòu),運算器、寄存器和內(nèi)部位內(nèi)部體系結(jié)構(gòu),運算器、寄存器和內(nèi)部數(shù)據(jù)總線均為數(shù)據(jù)總線均為1616位位3 3、多種尋址方式和較強的指令系統(tǒng)功能、多種尋址方式和較強的指令系統(tǒng)功能4 4、2020位地址線,尋址范圍為位地址線,尋址范圍為1M1M字節(jié)存儲空間字節(jié)存儲空間5 5、1616位位I/OI/O端口地址線,可尋址端口地址線,可尋址64K64K端口地址端口地址6 6、較強的中斷處理能

5、力、較強的中斷處理能力7 7、具有管理、具有管理DMADMA操作和多處理器的工作能力。操作和多處理器的工作能力。要掌握一個要掌握一個CPUCPU的工作性能和使用方法,首先應該了的工作性能和使用方法,首先應該了解它的編程結(jié)構(gòu)。解它的編程結(jié)構(gòu)。 所謂編程結(jié)構(gòu),就是指從程序員所謂編程結(jié)構(gòu),就是指從程序員和使用者的角度看到的結(jié)構(gòu),當然,這種結(jié)構(gòu)與和使用者的角度看到的結(jié)構(gòu),當然,這種結(jié)構(gòu)與CPUCPU內(nèi)部的物理結(jié)構(gòu)和實際布局是有區(qū)別的。內(nèi)部的物理結(jié)構(gòu)和實際布局是有區(qū)別的。在下圖中可以看到,從功能上,在下圖中可以看到,從功能上,80868086分為兩部分,分為兩部分, 即總線接口部件即總線接口部件BIU

6、(Bus Interface Unit) BIU (Bus Interface Unit) 和執(zhí)和執(zhí)行部件行部件EU (Execution Unit)EU (Execution Unit)。這兩個單元在。這兩個單元在CPUCPU內(nèi)內(nèi)部擔負著不同的任務。下圖即為部擔負著不同的任務。下圖即為80868086的編程結(jié)構(gòu)圖。的編程結(jié)構(gòu)圖。(1)EU(1)EU的功能:負責執(zhí)行指令,具體如下:的功能:負責執(zhí)行指令,具體如下: 1)1)從從BIUBIU指令隊列緩沖器中取出指令,由指令隊列緩沖器中取出指令,由EUEU控制電控制電路的指令譯碼器譯碼產(chǎn)生相應的操作控制信號給路的指令譯碼器譯碼產(chǎn)生相應的操作控制信號

7、給各部件。各部件。2)2)對操作數(shù)進行算術(shù)和邏輯運算,并將結(jié)果的狀對操作數(shù)進行算術(shù)和邏輯運算,并將結(jié)果的狀態(tài)特征保存到狀態(tài)寄存器態(tài)特征保存到狀態(tài)寄存器FRFR中。中。3 3)EUEU不直接與不直接與CPUCPU外部系統(tǒng)相連,當需要與主存外部系統(tǒng)相連,當需要與主存儲器或儲器或I/OI/O設備交換數(shù)據(jù)時,設備交換數(shù)據(jù)時,EUEU向向BIUBIU發(fā)出命令,發(fā)出命令,并提供給并提供給1616位有效地址及所需傳送的數(shù)據(jù)。位有效地址及所需傳送的數(shù)據(jù)。由算術(shù)邏輯運算單元由算術(shù)邏輯運算單元ALUALU、標志寄存器、標志寄存器FRFR、通用寄、通用寄存器組和存器組和EUEU控制器等四個部件組成控制器等四個部件組

8、成 1)1) EUEU中的中的算術(shù)邏輯運算部件算術(shù)邏輯運算部件ALUALU完成完成1616位或位或8 8位二進制數(shù)的運算,運算結(jié)果一方面位二進制數(shù)的運算,運算結(jié)果一方面通過內(nèi)部總線送到通用寄存器組或通過內(nèi)部總線送到通用寄存器組或BIUBIU的內(nèi)部寄存的內(nèi)部寄存器中以等待寫到存儲器;另一方面影響狀態(tài)標志器中以等待寫到存儲器;另一方面影響狀態(tài)標志寄存器寄存器FRFR的狀態(tài)標志位。的狀態(tài)標志位。1616位暫存器用于暫時存位暫存器用于暫時存放參加運算的操作數(shù)。放參加運算的操作數(shù)。(2)EU(2)EU的組成的組成僅定義了僅定義了9 9位位,其中,其中6 6位位用作用作狀態(tài)標志狀態(tài)標志,3 3位位用作用作

9、控制標志控制標志。2)162)16位標志寄存器位標志寄存器FRFRa. a. 狀態(tài)標志位用來反映狀態(tài)標志位用來反映EUEU執(zhí)行算術(shù)或邏輯運算執(zhí)行算術(shù)或邏輯運算的結(jié)果特征,的結(jié)果特征,6個狀態(tài)位如下:個狀態(tài)位如下: 進位標志進位標志CF;輔助進位標志;輔助進位標志AF;奇偶校驗標志;奇偶校驗標志PF;零標志;零標志ZF;b. 控制標志位用來控制控制標志位用來控制CPU的操作的操作,3個標志位如個標志位如下下: 方向標志方向標志DF;中斷允許標志;中斷允許標志IF;單步陷阱標志;單步陷阱標志TF: 標志寄存器標志寄存器FRFR中的狀態(tài)標志中的狀態(tài)標志CF(Carry Flag):進位標志位:進位標

10、志位 CFl,表示本次運算中最高位,表示本次運算中最高位(D15或或D7)有進位有進位(加法運算時加法運算時)或有借位或有借位(減法運算時減法運算時)。CF標志可通過標志可通過STC指令置位,通過指令置位,通過CLC指令復位指令復位(清除進位標志清除進位標志),還可通過還可通過CMC指令將當前指令將當前CF標志取反。標志取反。PF(Parity Flag):奇偶校驗標志位:奇偶校驗標志位 PF1,表示本次運算結(jié)果中有偶數(shù)個,表示本次運算結(jié)果中有偶數(shù)個“l(fā)”,PF0,表示本次運算結(jié)果中有奇數(shù)個,表示本次運算結(jié)果中有奇數(shù)個“1”。AF(Auxiliary Carry Flag):輔助進位標志位。:

11、輔助進位標志位。AFl,表示運算結(jié)果的,表示運算結(jié)果的8位數(shù)據(jù)中,低位數(shù)據(jù)中,低4位向高位向高4位有進位位有進位(加法運算時加法運算時)或有借位或有借位(減法運算時減法運算時),這個標志位只在十進制運算中有用。這個標志位只在十進制運算中有用。ZF(Zero Flag):零標志位:零標志位 ZF1,表示本次運算結(jié)果為零,否則即運算,表示本次運算結(jié)果為零,否則即運算結(jié)果非零時,結(jié)果非零時,ZF0。SF(Sign Flag):符號標志:符號標志 SF1,表示本次運算結(jié)果的最高位,表示本次運算結(jié)果的最高位(第第7位或位或第第15位位)為為“l(fā)”,否則,否則SF0。OF(Overflow F1ag):溢

12、出標志:溢出標志 例如,在字節(jié)運算時:例如,在字節(jié)運算時:MOVAL, 64H ADD AL, 64H即即 01100100 + 01100100 11001000 D7位向前無進位,故位向前無進位,故運算后運算后CF = 0;但運;但運算算結(jié)果超過了結(jié)果超過了+127,此,此時,溢出標志位時,溢出標志位OF = 1。 在字節(jié)運算時:在字節(jié)運算時: MOV AL, 0ABHADD AL, 0FFB即即 10101011 + 11111111 10101010 D7位向前有進位,故位向前有進位,故運算后運算后CF = 1,但運,但運算的結(jié)果未小于算的結(jié)果未小于128,此時,溢出標志位此時,溢出標

13、志位OF = 0。0010 0011 0100 01010010 0011 0100 01010011 0010 0001 10010011 0010 0001 1001+)+)0101 0101 0101 11100101 0101 0101 1110SF=0SF=0最高位無進位最高位無進位,CF=0,CF=0運算結(jié)果有奇數(shù)個運算結(jié)果有奇數(shù)個1,PF=01,PF=0運算結(jié)果非運算結(jié)果非0,ZF=00,ZF=0D3D3D4D4無進位無進位,AF=0,AF=0最高位,次高位均無進位最高位,次高位均無進位,OF=0,OF=0FR寄存器的控制標志寄存器的控制標志 IF(Interrupt Flag)

14、:中斷標志位:中斷標志位 IF1,表示允許,表示允許CPU響應可屏蔽中斷。響應可屏蔽中斷。IF標志標志可通過可通過STI指令置位,也可通過指令置位,也可通過CLI指令復位。指令復位。DF(Direction Flag):方向標志位:方向標志位 在串操作指令中,若在串操作指令中,若DF0,表示串操作指令地,表示串操作指令地址指針自動增量;址指針自動增量;DF1,表示地址指針自動減量。,表示地址指針自動減量。DF標志位可通過標志位可通過STD指令置位,也可通過指令置位,也可通過CLD指令指令復位。復位。TF(Trap Flag):單步標志位:單步標志位單步執(zhí)行指令單步執(zhí)行指令處理器在處理器在每條指

15、令每條指令執(zhí)行結(jié)束執(zhí)行結(jié)束時,便產(chǎn)生一個編號為時,便產(chǎn)生一個編號為1 1的內(nèi)的內(nèi)部中斷。部中斷。這種內(nèi)部中斷稱為這種內(nèi)部中斷稱為單步中斷單步中斷,所以所以TFTF也稱為也稱為單步標志單步標志。利用單步中斷可對程序進行逐條利用單步中斷可對程序進行逐條指令的調(diào)試。指令的調(diào)試。這種逐條指令調(diào)試程序的方法就這種逐條指令調(diào)試程序的方法就是是單步調(diào)試單步調(diào)試。3 3)數(shù)據(jù)暫存寄存器)數(shù)據(jù)暫存寄存器協(xié)助協(xié)助ALUALU完成運算,完成運算,暫時存放運算的數(shù)據(jù)暫時存放運算的數(shù)據(jù) 80868086的的1616位通用寄存器是:位通用寄存器是:AXBXCXDXSIDIBPSP其中前其中前4 4個:個:累加器累加器AX

16、AX、基址寄存器、基址寄存器BXBX、計數(shù)寄存、計數(shù)寄存器器CXCX、數(shù)據(jù)寄存器、數(shù)據(jù)寄存器DXDX,每個數(shù)據(jù)寄存器可存放,每個數(shù)據(jù)寄存器可存放1616位操作數(shù),也可拆成兩個位操作數(shù),也可拆成兩個 8 8位寄存器,用來存放位寄存器,用來存放8 8位操作數(shù),位操作數(shù),對其中某對其中某8 8位的操作,并不影響另外對位的操作,并不影響另外對應應8 8位的數(shù)據(jù)。位的數(shù)據(jù)。8086的的8位通用寄存器是:位通用寄存器是: AH BH CHDH AL BL CLDL后后4 4個指針和變址寄存器:堆棧指針個指針和變址寄存器:堆棧指針SPSP、基址、基址指針指針BPBP、源變址寄存器、源變址寄存器SISI、目的

17、變址寄存器、目的變址寄存器DIDI,可用來存放數(shù)據(jù)和地址,一般用來存放,可用來存放數(shù)據(jù)和地址,一般用來存放地址的偏移量,只能按地址的偏移量,只能按1616位進行存取操作。位進行存取操作。 變址寄存器(變址寄存器(I I組)常用于存儲器尋址時提組)常用于存儲器尋址時提供地址供地址SISI是源變址寄存器是源變址寄存器DIDI是目的變址寄存器是目的變址寄存器串操作類指令中,串操作類指令中,SISI和和DIDI具有特別的功能具有特別的功能指針寄存器(指針寄存器(P P組)用于尋址內(nèi)存組)用于尋址內(nèi)存堆棧堆棧內(nèi)內(nèi)的數(shù)據(jù)的數(shù)據(jù)SPSP為堆棧指針寄存器,指示棧頂?shù)钠频貫槎褩V羔樇拇嫫?,指示棧頂?shù)钠频刂分?/p>

18、SPSP不能再用于其他目的,具有專用目的不能再用于其他目的,具有專用目的BPBP為基址指針寄存器,表示數(shù)據(jù)在堆棧段為基址指針寄存器,表示數(shù)據(jù)在堆棧段中的基地址中的基地址SPSP和和BPBP寄存器與寄存器與SSSS段寄存器聯(lián)合使用以確段寄存器聯(lián)合使用以確定堆棧段中的存儲單元地址定堆棧段中的存儲單元地址u通用寄存器通用寄存器AX(Accumulator Register) 累加器一般用來存放參加運算的數(shù)據(jù)和結(jié)果,累加器一般用來存放參加運算的數(shù)據(jù)和結(jié)果,在乘、除法運算、在乘、除法運算、I/O操作、操作、BCD數(shù)運算中有數(shù)運算中有不可替代的作用。不可替代的作用。BX(Base Register) 基址

19、寄存器除可作數(shù)據(jù)寄存器外,還可放內(nèi)存基址寄存器除可作數(shù)據(jù)寄存器外,還可放內(nèi)存的邏輯偏移地址,而的邏輯偏移地址,而AX,CX,DX則不能。則不能。CX(Counter) 將它稱作計數(shù)寄存器,是因為它既可作數(shù)將它稱作計數(shù)寄存器,是因為它既可作數(shù)據(jù)寄存器,又可在串指令和移位指令中作計據(jù)寄存器,又可在串指令和移位指令中作計數(shù)用。數(shù)用。DX(Data Register) DX除可作通用數(shù)據(jù)寄存器外,還在乘、除除可作通用數(shù)據(jù)寄存器外,還在乘、除法運算、帶符號數(shù)的擴展指令中有特殊用途。法運算、帶符號數(shù)的擴展指令中有特殊用途。 SI(Source Index) 源變址寄存器多用于存放內(nèi)存的邏輯偏移源變址寄存器

20、多用于存放內(nèi)存的邏輯偏移地址,隱含的邏輯段地址在地址,隱含的邏輯段地址在DS寄存器中,寄存器中,也可放數(shù)據(jù)。也可放數(shù)據(jù)。DI(Destination Index) 目標變址寄存器多用于存放內(nèi)存的邏輯偏目標變址寄存器多用于存放內(nèi)存的邏輯偏移地址,隱含的邏輯段地址在移地址,隱含的邏輯段地址在DS寄存器中寄存器中也可放數(shù)據(jù)。也可放數(shù)據(jù)。BP(Base Pointer) 基址指針用于存放內(nèi)存的邏輯偏移地址,基址指針用于存放內(nèi)存的邏輯偏移地址,隱含的邏輯段地址在隱含的邏輯段地址在SS寄存器中。寄存器中。SP(Stack Pointer ) 堆棧指針用于存放棧頂?shù)倪壿嬈频刂?,堆棧指針用于存放棧頂?shù)倪壿嬈?/p>

21、移地址,隱含的邏輯段地址在隱含的邏輯段地址在SS寄存器中。寄存器中。u寄存器的特殊用途和隱含性質(zhì)寄存器的特殊用途和隱含性質(zhì)在指令中沒有明顯的標出,而這些寄存器參在指令中沒有明顯的標出,而這些寄存器參加操作,稱之為加操作,稱之為“隱含尋址隱含尋址”。 具體的:在某類指令中,某些通用寄存器具體的:在某類指令中,某些通用寄存器有指定的特殊用法,編程時需遵循這些規(guī)定,有指定的特殊用法,編程時需遵循這些規(guī)定,將某些特殊數(shù)據(jù)放在特定的寄存器中,這樣才將某些特殊數(shù)據(jù)放在特定的寄存器中,這樣才能正確的執(zhí)行這些指令。采用能正確的執(zhí)行這些指令。采用“隱含隱含”的方式,的方式,能有效地縮短指令代碼的長度。能有效地縮

22、短指令代碼的長度。寄寄存存器器名名 特特殊殊用用途途 隱隱含含性性質(zhì)質(zhì) 在在輸輸入入輸輸出出指指令令中中作作數(shù)數(shù)據(jù)據(jù)寄寄存存器器用用 不不能能隱隱含含 AX, AL 在在乘乘法法指指令令中中存存放放被被乘乘數(shù)數(shù)或或乘乘積積,在在除除法法指指令令中中存存放放被被除除數(shù)數(shù)或或商商 隱隱 含含 AH 在在LAHF指指令令中中,作作目目標標寄寄存存器器用用 隱隱 含含 在在十十進進制制運運算算指指令令中中作作累累加加器器用用 隱隱 含含 AL 在在XLAT指指令令中中作作累累加加器器用用 隱隱 含含 在在間間接接尋尋址址中中作作基基址址寄寄存存器器用用 不不能能隱隱含含 BX 在在XLAT指指令令中中

23、作作基基址址寄寄存存器器用用 隱隱 含含 CX 在在串串操操作作指指令令和和LOOP指指令令中中作作計計數(shù)數(shù)器器用用 隱隱 含含 CL 在在移移位位/循循環(huán)環(huán)移移位位指指令令中中作作移移位位次次數(shù)數(shù)計計數(shù)數(shù)器器用用 不不能能隱隱含含 在在字字乘乘法法/除除法法指指令令中中存存放放乘乘積積高高位位或或被被除除數(shù)數(shù)高高位位或或余余數(shù)數(shù) 隱隱 含含 DX 在在間間接接尋尋址址的的輸輸入入輸輸出出指指令令中中作作地地址址寄寄存存器器用用 不不能能隱隱含含 在在字字符符串串運運算算指指令令中中作作源源變變址址寄寄存存器器用用 隱隱 含含 SI 在在間間接接尋尋址址中中作作變變址址寄寄存存器器用用 不不能

24、能隱隱含含 在在字字符符串串運運算算指指令令中中作作目目標標變變址址寄寄存存器器用用 隱隱 含含 DI 在在間間接接尋尋址址中中作作變變址址寄寄存存器器用用 不不能能隱隱含含 BP 在在間間接接尋尋址址中中作作基基址址指指針針用用 不不能能隱隱含含 SP 在在堆堆棧棧操操作作中中作作堆堆棧棧指指針針用用 隱隱 含含 它是控制、定時及狀態(tài)邏輯電路,負責它是控制、定時及狀態(tài)邏輯電路,負責從從BIUBIU的指令隊列緩沖器中取指令、分析的指令隊列緩沖器中取指令、分析指令(即對指令譯碼),然后根據(jù)譯碼指令(即對指令譯碼),然后根據(jù)譯碼結(jié)果向結(jié)果向EUEU內(nèi)部各部件發(fā)出控制命令以完內(nèi)部各部件發(fā)出控制命令以

25、完成指令的功能。成指令的功能。5 5)EUEU控制電路控制電路(1)BIU(1)BIU的功能:負責完成的功能:負責完成CPUCPU與存儲器或與存儲器或I/OI/O設備設備之間的數(shù)據(jù)傳遞,具體如下:之間的數(shù)據(jù)傳遞,具體如下: 1)1) BIUBIU從主存取指令送到指令隊列緩沖器從主存取指令送到指令隊列緩沖器2)2) CPUCPU執(zhí)行指令時,配合執(zhí)行指令時,配合EUEU從指定的主存單元或外從指定的主存單元或外設端口中取數(shù)據(jù)送給設端口中取數(shù)據(jù)送給EUEU或把或把EUEU的操作結(jié)果傳給的操作結(jié)果傳給指定的主存或外設端口中指定的主存或外設端口中3 3)計算并形成訪問存儲器的)計算并形成訪問存儲器的202

26、0位物理地址位物理地址(2)BIU(2)BIU的組成的組成總線接口部件總線接口部件BIUBIU主要有主要有4 4個個1616位段寄存器位段寄存器、1616位位指令指針寄存器、指令指針寄存器、2020位物理地址加法器、位物理地址加法器、6 6字節(jié)指字節(jié)指令隊列緩沖器令隊列緩沖器以及以及總線控制電路總線控制電路。 1 1)段地址寄存器)段地址寄存器4 4個個 80868086內(nèi)部數(shù)據(jù)結(jié)構(gòu)是內(nèi)部數(shù)據(jù)結(jié)構(gòu)是1616位,即所有的寄存器都位,即所有的寄存器都是是1616位的,而外部尋址空間位位的,而外部尋址空間位1MB1MB,即需,即需2020位地址位地址線。為了能用內(nèi)部寄存器中的線。為了能用內(nèi)部寄存器中

27、的1616位地址來尋址位地址來尋址1MB1MB空間,空間,80868086將將1MB1MB空間以空間以1616字節(jié)為一個內(nèi)存節(jié),字節(jié)為一個內(nèi)存節(jié),共分成共分成64K64K個節(jié)。個節(jié)。節(jié)的起始地址稱為段基址。分別為:節(jié)的起始地址稱為段基址。分別為:000000000 0H H 000100010 0H H FFFFFFFF0 0H H,因后,因后4 4為均為為均為0 0所以只需記住所以只需記住高高1616位地址即可,位地址即可,0000H 0001H 0002H 0000H 0001H 0002H . . FFFFHFFFFH,稱為節(jié)的段地址。用于存放段地址的寄存,稱為節(jié)的段地址。用于存放段地址

28、的寄存器稱為段寄存器。按用途分:器稱為段寄存器。按用途分:代碼段寄存器代碼段寄存器CSCS:用于存放當前代碼段的段地址;:用于存放當前代碼段的段地址; 數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器DSDS:用于存放當前數(shù)據(jù)段的段地址;:用于存放當前數(shù)據(jù)段的段地址; 附加段寄存器附加段寄存器ESES:用于存放當前附加段的段地址;:用于存放當前附加段的段地址; 堆棧段寄存器堆棧段寄存器SSSS:用于存放當前堆棧段的段地址。:用于存放當前堆棧段的段地址。用于產(chǎn)生用于產(chǎn)生2020位物理地址。將來自于段寄存器的位物理地址。將來自于段寄存器的1616位位地址段首地址左移地址段首地址左移4 4位后與來自于位后與來自于IPIP寄

29、存器或寄存器或 EUEU提提供的供的1616位偏移地址相加(通常將位偏移地址相加(通常將“段首地址:偏移段首地址:偏移地址地址”稱為稱為邏輯地址邏輯地址),形成一個),形成一個2020位的實際地址位的實際地址(又稱為(又稱為物理地址物理地址),以對),以對1MB1MB的存儲空間進行尋的存儲空間進行尋址。具體講:當址。具體講:當CPUCPU執(zhí)行指令時,執(zhí)行指令時,BIUBIU根據(jù)指令的尋根據(jù)指令的尋址方式通過地址加法器形成指令在存儲器中的物理址方式通過地址加法器形成指令在存儲器中的物理地址,然后訪問該物理地址所對應的存儲單元,從地址,然后訪問該物理地址所對應的存儲單元,從中取出指令代碼送到指令隊

30、列緩沖器中等待執(zhí)行。中取出指令代碼送到指令隊列緩沖器中等待執(zhí)行。2)202)20位地址加法器位地址加法器偏移地址寄存器偏移地址寄存器段寄存器段寄存器 00002020位物理地址位物理地址地址加法器地址加法器訪問存儲器的方式訪問存儲器的方式默認的段寄存器默認的段寄存器可超越的段寄存器可超越的段寄存器 偏移地址偏移地址取指令取指令CSCS無無IPIP堆棧操作堆棧操作SSSS無無SPSP一般數(shù)據(jù)訪問一般數(shù)據(jù)訪問DSDSCSCS、ESES、SSSS有效地址有效地址EAEA(下列除外)(下列除外)串操作的源操作數(shù)串操作的源操作數(shù)DSDSCSCS、ESES、SSSSSISI串操作的目的操作數(shù)串操作的目的操

31、作數(shù) ESES無無DIDIBPBP基址的尋址方式基址的尋址方式SSSSCSCS、DSDS、ESES有效地址有效地址EAEA用來存放當前將要執(zhí)行的指令的有效地址,用來存放當前將要執(zhí)行的指令的有效地址,每取出一條指令每取出一條指令I(lǐng)PIP自動增量。程序不能直自動增量。程序不能直接訪問接訪問IPIP,在程序運行過程中,在程序運行過程中,BIUBIU可修改可修改IPIP中內(nèi)容。中內(nèi)容。3 3)1616位指令指針位指令指針I(yè)PIP(程序計數(shù)器)(程序計數(shù)器)是一個與是一個與CPUCPU速度匹配的高速緩沖寄存器。速度匹配的高速緩沖寄存器。指令隊列一共指令隊列一共6 6個個字節(jié)(字節(jié)(80888088的指令

32、隊列的指令隊列為為4 4個字節(jié)),一旦指令隊列中空出個字節(jié)),一旦指令隊列中空出2 2個個(80868086中)或一個(中)或一個(80888088中)字節(jié),中)字節(jié),BIUBIU將自動進入讀指令操作以填滿指令隊列;將自動進入讀指令操作以填滿指令隊列;遇到轉(zhuǎn)移類指令時,遇到轉(zhuǎn)移類指令時,BIUBIU將指令隊列中的將指令隊列中的已有指令作廢,重新從新的目標地址中已有指令作廢,重新從新的目標地址中取指令送到指令隊列中。取指令送到指令隊列中。4)指令隊列緩沖器)指令隊列緩沖器將將CPUCPU的內(nèi)部總線與外部總線相連,是的內(nèi)部總線與外部總線相連,是CPUCPU與外與外部交換數(shù)據(jù)的通路。對于部交換數(shù)據(jù)的

33、通路。對于80868086而言,而言,BIUBIU的總線的總線控制電路包括控制電路包括1616條數(shù)據(jù)總線、條數(shù)據(jù)總線、2020條地址總線和條地址總線和若干條控制總線若干條控制總線而而80888088的總線控制電路與外部交換數(shù)據(jù)的總線的總線控制電路與外部交換數(shù)據(jù)的總線寬度是寬度是8 8位,總線控制電路與通用寄存器組之間位,總線控制電路與通用寄存器組之間的數(shù)據(jù)總線寬度也是的數(shù)據(jù)總線寬度也是8 8位,而位,而EUEU內(nèi)部總線仍是內(nèi)部總線仍是1616位,這也是將位,這也是將80888088稱為準稱為準1616位的微處理器的原位的微處理器的原因。因。5 5)總線控制電路)總線控制電路總線接口部件總線接口

34、部件BIU和執(zhí)行部件和執(zhí)行部件EU并不是同步工作并不是同步工作的,兩者的動作管理遵循如下原則:的,兩者的動作管理遵循如下原則: 每當每當8086的指令隊列中有的指令隊列中有2個空字節(jié),個空字節(jié),BIU就會自就會自動啟動總線周期,取指填充指令隊列。直至隊列滿,動啟動總線周期,取指填充指令隊列。直至隊列滿,進入空閑狀態(tài)。進入空閑狀態(tài)。 而同時而同時EU按按“先進先出先進先出”原則從指令隊列取出一原則從指令隊列取出一條指令,并用幾個時鐘周期去分析、執(zhí)行指令。系條指令,并用幾個時鐘周期去分析、執(zhí)行指令。系統(tǒng)初始化后,指令隊列為空,統(tǒng)初始化后,指令隊列為空,EU等待等待BIU從內(nèi)存從內(nèi)存取指,填充指令隊

35、列。取指,填充指令隊列?!傲魉€流水線”結(jié)構(gòu)結(jié)構(gòu)l l EU取得指令,譯碼并執(zhí)行指令。若指令需要取取得指令,譯碼并執(zhí)行指令。若指令需要取操作數(shù)或存操作結(jié)果,需訪問存儲器或操作數(shù)或存操作結(jié)果,需訪問存儲器或I/O,EU向向BIU發(fā)出訪問總線請求。發(fā)出訪問總線請求。l l 當當BIU接到接到EU的總線請求,若正忙(正在執(zhí)行的總線請求,若正忙(正在執(zhí)行取指總線周期),則必須等待取指總線周期),則必須等待BIU執(zhí)行完當前的執(zhí)行完當前的總線周期,方能響應總線周期,方能響應EU請求;若請求;若BIU空閑,則立空閑,則立即執(zhí)行即執(zhí)行EU申請總線的請求。申請總線的請求。l l 當指令隊列已滿,而且當指令隊列已

36、滿,而且EU對對BIU又無總線訪問又無總線訪問請求時,請求時,BIU便進入空閑狀態(tài)。便進入空閑狀態(tài)。l l EU執(zhí)行轉(zhuǎn)移、調(diào)用和返回指令時,若下一條執(zhí)行轉(zhuǎn)移、調(diào)用和返回指令時,若下一條指令不在指令隊列中,則隊列被自動清除,指令不在指令隊列中,則隊列被自動清除,BIU根據(jù)本條指令執(zhí)行情況重新取指和填充指令隊列。根據(jù)本條指令執(zhí)行情況重新取指和填充指令隊列。2.2 80862.2 8086工作方式及引腳信號工作方式及引腳信號1 1、80868086工作模式工作模式為了盡可能適應各種各樣的使用場合,在設計為了盡可能適應各種各樣的使用場合,在設計8086 CPU芯片時,芯片時, 使它們可以在兩種模式下工

37、作,使它們可以在兩種模式下工作,即最小模式和最大模式。即最小模式和最大模式。 所謂最小模式,就是在系統(tǒng)中只有所謂最小模式,就是在系統(tǒng)中只有8086一個一個CPU, 而所有的總線控制信號都由而所有的總線控制信號都由8086直接產(chǎn)生,因此直接產(chǎn)生,因此系統(tǒng)中的總線控制電路被減到最少。系統(tǒng)中的總線控制電路被減到最少。而最大模式是相對最小模式而言的,而最大模式是相對最小模式而言的, 此時系統(tǒng)中有此時系統(tǒng)中有兩個或多個微處理器,兩個或多個微處理器, 其中有一個是主處理器其中有一個是主處理器8086,其它的處理器稱為協(xié)處理器,它們協(xié)助主,其它的處理器稱為協(xié)處理器,它們協(xié)助主處理器工作。處理器工作。(1)最

38、小工作模式特點)最小工作模式特點1.1. MN/MXMN/MX端接端接+5V+5V,決定了,決定了80868086工作在最小模式。工作在最小模式。 2.2.系統(tǒng)控制總線信號由系統(tǒng)控制總線信號由CPUCPU直接提供。直接提供。 3.3. 支持單處理器系統(tǒng)支持單處理器系統(tǒng) (2)最大工作模式特點)最大工作模式特點1.1. MN/MXMN/MX端接地,決定了端接地,決定了80868086工作在最大模式。工作在最大模式。 2.2.系統(tǒng)控制總線信號由總線控制器提供。系統(tǒng)控制總線信號由總線控制器提供。 3.3. 支持多處理器系統(tǒng)支持多處理器系統(tǒng) 2 2、80868086引腳信號和功能引腳信號和功能 808

39、6/8088 CPU 8086/8088 CPU具有具有4040條引腳,雙列直插式封條引腳,雙列直插式封裝,采用分時復用地址裝,采用分時復用地址數(shù) 據(jù) 總 線 , 從 而 使數(shù) 據(jù) 總 線 , 從 而 使8086/8088 CPU8086/8088 CPU用用4040條條引腳實現(xiàn)引腳實現(xiàn)2020位地址、位地址、1616位數(shù)據(jù)、控制信號及狀位數(shù)據(jù)、控制信號及狀態(tài)信號的傳輸。即在不態(tài)信號的傳輸。即在不同時鐘周期內(nèi),引腳的同時鐘周期內(nèi),引腳的作用不同。作用不同。引腳的特性從三個方面描述:引腳的特性從三個方面描述:1、引腳的功能、引腳的功能2、引腳信號的傳送方向、引腳信號的傳送方向3、信號的邏輯狀態(tài)、

40、信號的邏輯狀態(tài)MN/MXMN/MX:用于確定配置方式,輸入,如該引腳接用于確定配置方式,輸入,如該引腳接+5V,+5V,則工作于最小模式;如該引腳接地,則工作則工作于最小模式;如該引腳接地,則工作于最大模式。于最大模式。V VCCCC、GNDGND:電源、地,輸入:電源、地,輸入最小模式下的引腳功能:最小模式下的引腳功能:CLKCLK:時鐘輸入引腳,它提供了處理器和總線控制:時鐘輸入引腳,它提供了處理器和總線控制器的定時操作,要求時鐘占空比為器的定時操作,要求時鐘占空比為1/31/3 AD0AD0AD15AD15(Address/Data BusAddress/Data Bus):分時復用的地

41、址數(shù)據(jù)):分時復用的地址數(shù)據(jù)線。雙向、三態(tài)。線。雙向、三態(tài)。 下面講解下面講解AD15AD15AD0AD0的具體分時復用的問題:(的具體分時復用的問題:(80888088只只有有AD7AD7AD0AD0) 在在T1T1期間作地址線期間作地址線A15A15A0A0用,此時是輸出的(是存儲用,此時是輸出的(是存儲單元的低十六位地址或單元的低十六位地址或I/OI/O端口的十六位地址)端口的十六位地址);系統(tǒng)必須在系統(tǒng)必須在T1狀態(tài)將有效的地址信號及時鎖存起來,才能狀態(tài)將有效的地址信號及時鎖存起來,才能在整個總線周期內(nèi)保持地址有效。在整個總線周期內(nèi)保持地址有效。 在在T2T2T4T4期間作數(shù)據(jù)線期間作

42、數(shù)據(jù)線D15D15D0D0用,此時是雙向、三態(tài)用,此時是雙向、三態(tài)的。在的。在 T2T3T2T3狀態(tài),若為總線讀周期則先將總線浮空,然狀態(tài),若為總線讀周期則先將總線浮空,然后接收從內(nèi)存或外設讀入的數(shù)據(jù),若為總線寫周期,則總后接收從內(nèi)存或外設讀入的數(shù)據(jù),若為總線寫周期,則總線上為寫出的數(shù)據(jù)。線上為寫出的數(shù)據(jù)。A19/S6A19/S6A16/S3A16/S3:地址:地址/ /狀態(tài)分時復用,輸出引腳、狀態(tài)分時復用,輸出引腳、三態(tài)。三態(tài)。 在在T1T1期間,作地址線期間,作地址線A19A19A16A16用,對存儲單元進用,對存儲單元進行讀寫時,高四位地址線由行讀寫時,高四位地址線由A19A19A16A

43、16給出;給出; 在在T2T2T4T4期間作為期間作為S6S6S3S3狀態(tài)線用,輸出狀態(tài)信狀態(tài)線用,輸出狀態(tài)信息息 S5S5:用來表示中斷允許狀態(tài)位:用來表示中斷允許狀態(tài)位IFIF的當前設置。若的當前設置。若IF=1IF=1允許可屏蔽中斷,則允許可屏蔽中斷,則S5=1S5=1反之為反之為0 0S6S6:恒為:恒為“0 0”,以表示,以表示CPUCPU當前連在總線上。當前連在總線上。 S3,S4S3,S4指明正在使用的段寄存器指明正在使用的段寄存器. . /S7/S7:三態(tài)輸出,高:三態(tài)輸出,高8 8位數(shù)據(jù)總線有效位數(shù)據(jù)總線有效/ /狀態(tài)狀態(tài)復用引腳。復用引腳。在在T1T1狀態(tài):作狀態(tài):作 用,

44、該引腳為用,該引腳為0 0時,表示高時,表示高8 8位數(shù)據(jù)線上的數(shù)據(jù)有效;位數(shù)據(jù)線上的數(shù)據(jù)有效; 在在T2T2T4T4狀態(tài):輸出狀態(tài)信號狀態(tài):輸出狀態(tài)信號S7S7,未定義。,未定義。與與A0A0合起來可向總線上存儲器接口傳送信息。合起來可向總線上存儲器接口傳送信息。(這與后面將要介紹的(這與后面將要介紹的存儲器分組存儲器分組有關(guān),由這有關(guān),由這兩種的組合來選擇存儲體)兩種的組合來選擇存儲體) :讀,三態(tài)輸出,低電平有效。在:讀,三態(tài)輸出,低電平有效。在CPUCPU執(zhí)行執(zhí)行讀操作時,在讀操作時,在T2T2、T3T3、TwTw期間有效。當期間有效。當 =0=0時,時,表示表示CPUCPU當前正在讀

45、存儲器或當前正在讀存儲器或I/OI/O接口。接口。 是讀存儲是讀存儲器還是讀器還是讀I/OI/O端口,還決定于端口,還決定于M/IOM/IO,若為高則讀存,若為高則讀存儲器,若為低則讀儲器,若為低則讀I/OI/O端口。端口。READYREADY:準備就緒,輸入、高電平有效。當:準備就緒,輸入、高電平有效。當CPUCPU要訪問的存儲器或要訪問的存儲器或I/OI/O端口已準備好傳送數(shù)據(jù)時,端口已準備好傳送數(shù)據(jù)時,存儲器或存儲器或I/OI/O端口置端口置READY=1READY=1,否則置,否則置READY=0READY=0,CPUCPU在在T3T3狀態(tài)采樣狀態(tài)采樣READYREADY,若,若REA

46、DY=0READY=0,則插入,則插入TwTw,然后在插入然后在插入TwTw狀態(tài)繼續(xù)采樣狀態(tài)繼續(xù)采樣READYREADY(在(在TwTw前沿繼前沿繼續(xù)查詢續(xù)查詢READYREADY),直至),直至READY=1READY=1為止,才進入為止,才進入T4T4,完成數(shù)據(jù)傳送過程。完成數(shù)據(jù)傳送過程。 WR (Write) 寫信號,三態(tài)輸出,低電平有效,表示當前寫信號,三態(tài)輸出,低電平有效,表示當前CPUCPU正正在寫存儲器或在寫存儲器或I IO O端口。用來選通對方的數(shù)據(jù)輸入端口。用來選通對方的數(shù)據(jù)輸入結(jié)構(gòu)結(jié)構(gòu)MIO (MemoryIO ) 存儲器或存儲器或I IO O端口訪問信號。三態(tài)輸出,端口訪

47、問信號。三態(tài)輸出,M MIOIO為為高電平時,表示當前高電平時,表示當前CPUCPU正在訪問存儲器,正在訪問存儲器,M MIO IO 為低電平時,表示當前為低電平時,表示當前CPUCPU正在訪問正在訪問I IO O端口端口。 ALE(Address Latch Enable) 地址鎖存使能信號,三態(tài)地址鎖存使能信號,三態(tài),輸出,高電平有效。當輸出,高電平有效。當復用地址線正在傳送地址時復用地址線正在傳送地址時,該信號為有效電平該信號為有效電平.所以所以,用來作為外接地址鎖存器的選通信號。一般接時鐘控用來作為外接地址鎖存器的選通信號。一般接時鐘控制端制端CLK.DEN (Data Enable)

48、 數(shù)據(jù)使能信號,輸出,三態(tài),低電平有效。有效時數(shù)據(jù)使能信號,輸出,三態(tài),低電平有效。有效時表示數(shù)據(jù)總線正在傳輸數(shù)據(jù)表示數(shù)據(jù)總線正在傳輸數(shù)據(jù),用于數(shù)據(jù)總線驅(qū)動器用于數(shù)據(jù)總線驅(qū)動器(收收發(fā)器發(fā)器)的控制信號。的控制信號。 :輸入,測試信號,低電平有效。:輸入,測試信號,低電平有效。當當CPUCPU執(zhí)行執(zhí)行WAITWAIT指令時,指令時,CPUCPU每隔每隔5 5個個T T對對TESTTEST進行一次測試,當測試到進行一次測試,當測試到 =1=1,則,則CPUCPU重復執(zhí)行重復執(zhí)行WAITWAIT指令,即指令,即CPUCPU處于空閑處于空閑等待狀態(tài),直到測試到等待狀態(tài),直到測試到 =0=0時,等待狀

49、態(tài)時,等待狀態(tài)結(jié)束,結(jié)束,CPUCPU繼續(xù)執(zhí)行后續(xù)指令。繼續(xù)執(zhí)行后續(xù)指令。 與與WAITWAIT配合,可以實現(xiàn)配合,可以實現(xiàn)CPUCPU與外設同步工作與外設同步工作。 INTR( Interrupt Request) 可屏蔽中斷請求信號,由外部輸入,電平觸發(fā),高電可屏蔽中斷請求信號,由外部輸入,電平觸發(fā),高電平有效。平有效。INTRINTR有效時,表示外部設備向有效時,表示外部設備向CPUCPU發(fā)出中斷發(fā)出中斷請求,請求,CPUCPU在每條指令的最后一個時鐘周期(在每條指令的最后一個時鐘周期(T T狀態(tài))狀態(tài))對對INTRINTR進行測試,一旦測試到有中斷請求,并且當中進行測試,一旦測試到有中

50、斷請求,并且當中斷允許標志斷允許標志IFIF1 1時,則暫停執(zhí)行下條指令轉(zhuǎn)入中斷時,則暫停執(zhí)行下條指令轉(zhuǎn)入中斷響應周期。響應周期。借助軟件復位或置位中斷允許標志借助軟件復位或置位中斷允許標志IFIF,可禁止或開放,可禁止或開放INTRINTR上的中斷請求。上的中斷請求。NMINMI:輸入,非可屏蔽中斷請求,上升沿有效。輸入,非可屏蔽中斷請求,上升沿有效。只要只要CPUCPU采樣到采樣到NMINMI由低電平到高電平的跳變,不由低電平到高電平的跳變,不管管IFIF的狀態(tài)如何,的狀態(tài)如何,CPUCPU都會響應。都會響應。 (不受中斷允(不受中斷允許標志許標志IFIF的影響)的影響)INTRINTR:

51、輸入,可屏蔽中斷請求,高電平有效,:輸入,可屏蔽中斷請求,高電平有效,CPU CPU 在每條指令的最后一個時鐘脈沖對在每條指令的最后一個時鐘脈沖對INTRINTR信號信號進行采樣,當進行采樣,當INTRINTR為高電平時,如果為高電平時,如果CPUCPU的中斷的中斷允許標志允許標志IF=1IF=1,則在當前指令結(jié)束后即響應中斷,則在當前指令結(jié)束后即響應中斷請求,進入中斷處理。(當外設向請求,進入中斷處理。(當外設向CPUCPU提出中斷提出中斷請求時,置請求時,置INTR=1INTR=1,若此時,若此時IF=1IF=1,則,則CPUCPU響應中響應中斷。)斷。) RESETRESET:輸入,復位

52、、高電平有效。該引腳保持:輸入,復位、高電平有效。該引腳保持4T4T狀態(tài)以上時間高電平,則可復位(以完成狀態(tài)以上時間高電平,則可復位(以完成CPUCPU內(nèi)部內(nèi)部寄存器的復位),復位后,寄存器的復位),復位后,CPUCPU停止當前操作,且停止當前操作,且對對FRFR、IPIP、DSDS、SSSS、ESES及指令隊列緩沖器清零,而及指令隊列緩沖器清零,而CSCS置為置為FFFFHFFFFH。復位后,(當復位信號降為低電平。復位后,(當復位信號降為低電平后)后)CPUCPU從從FFFF0HFFFF0H開始執(zhí)行程序。開始執(zhí)行程序。 DT/R(Data Transmit/Receive) DT/R(Da

53、ta Transmit/Receive): 數(shù)據(jù)驅(qū)動器數(shù)據(jù)流向控制信號,輸出,三態(tài)。該數(shù)據(jù)驅(qū)動器數(shù)據(jù)流向控制信號,輸出,三態(tài)。該信號指示當前總線上數(shù)據(jù)流動的方向。高電平說明數(shù)信號指示當前總線上數(shù)據(jù)流動的方向。高電平說明數(shù)據(jù)自據(jù)自CPUCPU輸出輸出, ,相反則表示流向相反則表示流向CPUCPU。一般接數(shù)據(jù)收發(fā)。一般接數(shù)據(jù)收發(fā)器的方向控制端器的方向控制端, ,用來控制其內(nèi)部數(shù)據(jù)的方向。用來控制其內(nèi)部數(shù)據(jù)的方向。 在在80868086系統(tǒng)中,通常采用系統(tǒng)中,通常采用82868286或或82878287作為數(shù)據(jù)總線作為數(shù)據(jù)總線的驅(qū)動器,用的驅(qū)動器,用DT/RDT/R信號來控制數(shù)據(jù)驅(qū)動器的數(shù)據(jù)傳送信號

54、來控制數(shù)據(jù)驅(qū)動器的數(shù)據(jù)傳送方向。當方向。當DT/RDT/R1 1時,進行數(shù)據(jù)發(fā)送;時,進行數(shù)據(jù)發(fā)送;DT/RDT/R0時,進時,進行數(shù)據(jù)接收。行數(shù)據(jù)接收。HOLD(Hold Request) 總線請求信號,輸入,高電平有效。最小模式系統(tǒng)中的總線請總線請求信號,輸入,高電平有效。最小模式系統(tǒng)中的總線請求設備控制總線時,通過此引腳申請,且在其總線占有期間始求設備控制總線時,通過此引腳申請,且在其總線占有期間始終保持有效電平,直到對總線的使用結(jié)束,恢復低電平。終保持有效電平,直到對總線的使用結(jié)束,恢復低電平。HLDA(Hold Acknowledge) 總線請求響應信號。向外部輸出,高電平有效。當總

55、線請求響應信號。向外部輸出,高電平有效。當CPUCPU響應響應HOLDHOLD信號時,便在當前總線周期的信號時,便在當前總線周期的T4T4狀態(tài),輸出狀態(tài),輸出HLDAHLDA有效信號,同有效信號,同時時CPUCPU的三態(tài)總線全面呈現(xiàn)高阻狀態(tài),讓出總線,交給總線請求的三態(tài)總線全面呈現(xiàn)高阻狀態(tài),讓出總線,交給總線請求設備接管。直到設備接管。直到HOLDHOLD變低,才將變低,才將HLDAHLDA置成無效,并且收回對總置成無效,并且收回對總線的使用權(quán),繼續(xù)自己的操作。線的使用權(quán),繼續(xù)自己的操作。80868086的存儲體結(jié)構(gòu)的存儲體結(jié)構(gòu) 1MB存儲空間分成兩個存儲空間分成兩個512KB存儲器,用存儲器

56、,用A0位位來區(qū)分兩個存儲體。對任一個存儲體的訪問只需來區(qū)分兩個存儲體。對任一個存儲體的訪問只需要要19位地址碼,用位地址碼,用 和和A0的組合來選擇存儲體的組合來選擇存儲體 。偶地址存儲器:(偶地址存儲器:(A0=0A0=0),其數(shù)據(jù)線與),其數(shù)據(jù)線與8086CPU8086CPU系統(tǒng)的系統(tǒng)的D7D7D0D0相連,相連,A0=0A0=0用于片選;用于片選; 奇地址存儲器:(奇地址存儲器:(A0=1A0=1),其數(shù)據(jù)線與),其數(shù)據(jù)線與8086CPU8086CPU系統(tǒng)的系統(tǒng)的D15D15D8D8相連,相連, =0=0用于片選;用于片選; BHEBHE80868086奇偶存儲體的連接如下圖所示奇偶存

57、儲體的連接如下圖所示A18-A0A18-A0操操 作作 AD0 使用的數(shù)據(jù)引腳使用的數(shù)據(jù)引腳 讀或?qū)懪嫉刂返囊粋€讀或?qū)懪嫉刂返囊粋€字字 (存取規(guī)則字)(存取規(guī)則字) 0 0 AD15AD0 讀或?qū)懪嫉刂返囊粋€讀或?qū)懪嫉刂返囊粋€字節(jié)字節(jié) 1 0 AD7AD0 讀或?qū)懫娴刂返囊粋€讀或?qū)懫娴刂返囊粋€字節(jié)字節(jié) 0 1 AD15AD8 讀或?qū)懫娴刂返囊粋€讀或?qū)懫娴刂返囊粋€字(存取非規(guī)則字)字(存取非規(guī)則字) 0 1 1 0 AD15AD8(第一個總線周(第一個總線周期放低位數(shù)據(jù)字節(jié))期放低位數(shù)據(jù)字節(jié)) AD7AD0(第二個總線周(第二個總線周期放高位數(shù)據(jù)字節(jié))期放高位數(shù)據(jù)字節(jié)) 四、堆棧段的使用四、堆棧

58、段的使用 所謂堆棧是在存儲器中開辟一個區(qū)域,用來存所謂堆棧是在存儲器中開辟一個區(qū)域,用來存放需要暫時保存的數(shù)據(jù),其工作方式是放需要暫時保存的數(shù)據(jù),其工作方式是“先進后先進后出出”或或“后進先出后進先出”的方式。的方式。 8086系統(tǒng)中的堆棧段是由段定義語句在存儲系統(tǒng)中的堆棧段是由段定義語句在存儲器中定義的一個段,堆棧段容量小于等于器中定義的一個段,堆棧段容量小于等于64K字字節(jié)。段基址由堆棧寄存器節(jié)。段基址由堆棧寄存器SS指定,棧頂由堆棧指指定,棧頂由堆棧指針針SP指定,堆棧地址由高向低增長,棧底設在存指定,堆棧地址由高向低增長,棧底設在存儲器的高地址區(qū)。儲器的高地址區(qū)。 8086堆棧是遞減型

59、的堆棧是遞減型的“滿滿”堆棧。堆棧。2.2.2 8086的輸入輸出結(jié)構(gòu)的輸入輸出結(jié)構(gòu)在在8086微機系統(tǒng)中,配置了一定數(shù)量的輸入微機系統(tǒng)中,配置了一定數(shù)量的輸入/輸出設備,輸出設備,而這些設備必須通過輸入而這些設備必須通過輸入/輸出,即輸出,即I/O接口芯片與接口芯片與CPU相連接。每個相連接。每個I/O接口芯片都有一個或幾個接口芯片都有一個或幾個I/O端端口,像存儲器一樣,每個口,像存儲器一樣,每個I/O端口都有一個惟一的端口端口都有一個惟一的端口地址,以供地址,以供CPU訪問。訪問??梢詥为毦幹?,也可以與存儲器一起編址(或者說是作可以單獨編址,也可以與存儲器一起編址(或者說是作為存儲器的一部分),這兩種方式各有利弊。為存儲器的一部分),這兩種方式各有利弊。由于由于8086用地址總線的低用地址

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論