版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 8086 8086是高性能的第三代微處理器,是是高性能的第三代微處理器,是IntelIntel系列的系列的1616位微位微處理器,它是采用處理器,它是采用HMOSHMOS工藝制造的,工藝制造的, 內(nèi)部包含約內(nèi)部包含約29,00029,000個(gè)晶體管。個(gè)晶體管。 80868086有有1616根數(shù)據(jù)線和根數(shù)據(jù)線和2020根地址線,因?yàn)榭捎酶刂肪€,因?yàn)榭捎?020位地址,位地址, 所以所以可尋址的地址空間達(dá)可尋址的地址空間達(dá)2 22020即即1M1M字節(jié)字節(jié)。80868086工作時(shí),只要工作時(shí),只要一個(gè)一個(gè) 5V 5V 電源和一相時(shí)鐘,電源和一相時(shí)鐘, 時(shí)鐘頻率為時(shí)鐘頻率為5MHz5MHz。 后
2、來,后來,Intel Intel 公司推出的公司推出的8086-18086-1型微處理器時(shí)鐘頻型微處理器時(shí)鐘頻率高達(dá)率高達(dá)10MHz10MHz, 8086-28086-2型微處理器時(shí)鐘頻率達(dá)型微處理器時(shí)鐘頻率達(dá)8MHz8MHz。幾乎在推出幾乎在推出80868086微處理器的同時(shí)微處理器的同時(shí),Intel ,Intel 公司還推公司還推出了一種準(zhǔn)出了一種準(zhǔn)1616位微處理器位微處理器80888088。 推出推出80888088的主要的主要目的是為了與當(dāng)時(shí)已有的一整套目的是為了與當(dāng)時(shí)已有的一整套 IntelIntel外圍設(shè)備接外圍設(shè)備接口芯片直接兼容??谛酒苯蛹嫒?。 80888088的內(nèi)部寄存器
3、、內(nèi)部運(yùn)算的內(nèi)部寄存器、內(nèi)部運(yùn)算部件以及內(nèi)部操作都是按部件以及內(nèi)部操作都是按1616位設(shè)計(jì)的,但對(duì)外的數(shù)位設(shè)計(jì)的,但對(duì)外的數(shù)據(jù)總線只有據(jù)總線只有8 8條。這兩種微處理器除了數(shù)據(jù)總線寬度條。這兩種微處理器除了數(shù)據(jù)總線寬度不同外,其他方面幾乎完全相同。不同外,其他方面幾乎完全相同。8086/80888086/8088的另的另一個(gè)突出特點(diǎn)是其多重處理的能力,它們都能極方一個(gè)突出特點(diǎn)是其多重處理的能力,它們都能極方便的和數(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),運(yùn)算器、寄存器和內(nèi)部位內(nèi)部體系結(jié)構(gòu),運(yùn)算器、寄存器和內(nèi)部數(shù)據(jù)總線均為數(shù)據(jù)總線均為1616位位3 3、多種尋址方式和較強(qiáng)的指令系統(tǒng)功能、多種尋址方式和較強(qiáng)的指令系統(tǒng)功能4 4、2020位地址線,尋址范圍為位地址線,尋址范圍為1M1M字節(jié)存儲(chǔ)空間字節(jié)存儲(chǔ)空間5 5、1616位位I/OI/O端口地址線,可尋址端口地址線,可尋址64K64K端口地址端口地址6 6、較強(qiáng)的中斷處理能
5、力、較強(qiáng)的中斷處理能力7 7、具有管理、具有管理DMADMA操作和多處理器的工作能力。操作和多處理器的工作能力。要掌握一個(gè)要掌握一個(gè)CPUCPU的工作性能和使用方法,首先應(yīng)該了的工作性能和使用方法,首先應(yīng)該了解它的編程結(jié)構(gòu)。解它的編程結(jié)構(gòu)。 所謂編程結(jié)構(gòu),就是指從程序員所謂編程結(jié)構(gòu),就是指從程序員和使用者的角度看到的結(jié)構(gòu),當(dāng)然,這種結(jié)構(gòu)與和使用者的角度看到的結(jié)構(gòu),當(dāng)然,這種結(jié)構(gòu)與CPUCPU內(nèi)部的物理結(jié)構(gòu)和實(shí)際布局是有區(qū)別的。內(nèi)部的物理結(jié)構(gòu)和實(shí)際布局是有區(qū)別的。在下圖中可以看到,從功能上,在下圖中可以看到,從功能上,80868086分為兩部分,分為兩部分, 即總線接口部件即總線接口部件BIU
6、(Bus Interface Unit) BIU (Bus Interface Unit) 和執(zhí)和執(zhí)行部件行部件EU (Execution Unit)EU (Execution Unit)。這兩個(gè)單元在。這兩個(gè)單元在CPUCPU內(nèi)內(nèi)部擔(dān)負(fù)著不同的任務(wù)。下圖即為部擔(dān)負(fù)著不同的任務(wù)。下圖即為80868086的編程結(jié)構(gòu)圖。的編程結(jié)構(gòu)圖。(1)EU(1)EU的功能:負(fù)責(zé)執(zhí)行指令,具體如下:的功能:負(fù)責(zé)執(zhí)行指令,具體如下: 1)1)從從BIUBIU指令隊(duì)列緩沖器中取出指令,由指令隊(duì)列緩沖器中取出指令,由EUEU控制電控制電路的指令譯碼器譯碼產(chǎn)生相應(yīng)的操作控制信號(hào)給路的指令譯碼器譯碼產(chǎn)生相應(yīng)的操作控制信號(hào)
7、給各部件。各部件。2)2)對(duì)操作數(shù)進(jìn)行算術(shù)和邏輯運(yùn)算,并將結(jié)果的狀對(duì)操作數(shù)進(jìn)行算術(shù)和邏輯運(yùn)算,并將結(jié)果的狀態(tài)特征保存到狀態(tài)寄存器態(tài)特征保存到狀態(tài)寄存器FRFR中。中。3 3)EUEU不直接與不直接與CPUCPU外部系統(tǒng)相連,當(dāng)需要與主存外部系統(tǒng)相連,當(dāng)需要與主存儲(chǔ)器或儲(chǔ)器或I/OI/O設(shè)備交換數(shù)據(jù)時(shí),設(shè)備交換數(shù)據(jù)時(shí),EUEU向向BIUBIU發(fā)出命令,發(fā)出命令,并提供給并提供給1616位有效地址及所需傳送的數(shù)據(jù)。位有效地址及所需傳送的數(shù)據(jù)。由算術(shù)邏輯運(yùn)算單元由算術(shù)邏輯運(yùn)算單元ALUALU、標(biāo)志寄存器、標(biāo)志寄存器FRFR、通用寄、通用寄存器組和存器組和EUEU控制器等四個(gè)部件組成控制器等四個(gè)部件組
8、成 1)1) EUEU中的中的算術(shù)邏輯運(yùn)算部件算術(shù)邏輯運(yùn)算部件ALUALU完成完成1616位或位或8 8位二進(jìn)制數(shù)的運(yùn)算,運(yùn)算結(jié)果一方面位二進(jìn)制數(shù)的運(yùn)算,運(yùn)算結(jié)果一方面通過內(nèi)部總線送到通用寄存器組或通過內(nèi)部總線送到通用寄存器組或BIUBIU的內(nèi)部寄存的內(nèi)部寄存器中以等待寫到存儲(chǔ)器;另一方面影響狀態(tài)標(biāo)志器中以等待寫到存儲(chǔ)器;另一方面影響狀態(tài)標(biāo)志寄存器寄存器FRFR的狀態(tài)標(biāo)志位。的狀態(tài)標(biāo)志位。1616位暫存器用于暫時(shí)存位暫存器用于暫時(shí)存放參加運(yùn)算的操作數(shù)。放參加運(yùn)算的操作數(shù)。(2)EU(2)EU的組成的組成僅定義了僅定義了9 9位位,其中,其中6 6位位用作用作狀態(tài)標(biāo)志狀態(tài)標(biāo)志,3 3位位用作用作
9、控制標(biāo)志控制標(biāo)志。2)162)16位標(biāo)志寄存器位標(biāo)志寄存器FRFRa. a. 狀態(tài)標(biāo)志位用來反映狀態(tài)標(biāo)志位用來反映EUEU執(zhí)行算術(shù)或邏輯運(yùn)算執(zhí)行算術(shù)或邏輯運(yùn)算的結(jié)果特征,的結(jié)果特征,6個(gè)狀態(tài)位如下:個(gè)狀態(tài)位如下: 進(jìn)位標(biāo)志進(jìn)位標(biāo)志CF;輔助進(jìn)位標(biāo)志;輔助進(jìn)位標(biāo)志AF;奇偶校驗(yàn)標(biāo)志;奇偶校驗(yàn)標(biāo)志PF;零標(biāo)志;零標(biāo)志ZF;b. 控制標(biāo)志位用來控制控制標(biāo)志位用來控制CPU的操作的操作,3個(gè)標(biāo)志位如個(gè)標(biāo)志位如下下: 方向標(biāo)志方向標(biāo)志DF;中斷允許標(biāo)志;中斷允許標(biāo)志IF;單步陷阱標(biāo)志;單步陷阱標(biāo)志TF: 標(biāo)志寄存器標(biāo)志寄存器FRFR中的狀態(tài)標(biāo)志中的狀態(tài)標(biāo)志CF(Carry Flag):進(jìn)位標(biāo)志位:進(jìn)位標(biāo)
10、志位 CFl,表示本次運(yùn)算中最高位,表示本次運(yùn)算中最高位(D15或或D7)有進(jìn)位有進(jìn)位(加法運(yùn)算時(shí)加法運(yùn)算時(shí))或有借位或有借位(減法運(yùn)算時(shí)減法運(yùn)算時(shí))。CF標(biāo)志可通過標(biāo)志可通過STC指令置位,通過指令置位,通過CLC指令復(fù)位指令復(fù)位(清除進(jìn)位標(biāo)志清除進(jìn)位標(biāo)志),還可通過還可通過CMC指令將當(dāng)前指令將當(dāng)前CF標(biāo)志取反。標(biāo)志取反。PF(Parity Flag):奇偶校驗(yàn)標(biāo)志位:奇偶校驗(yàn)標(biāo)志位 PF1,表示本次運(yùn)算結(jié)果中有偶數(shù)個(gè),表示本次運(yùn)算結(jié)果中有偶數(shù)個(gè)“l(fā)”,PF0,表示本次運(yùn)算結(jié)果中有奇數(shù)個(gè),表示本次運(yùn)算結(jié)果中有奇數(shù)個(gè)“1”。AF(Auxiliary Carry Flag):輔助進(jìn)位標(biāo)志位。:
11、輔助進(jìn)位標(biāo)志位。AFl,表示運(yùn)算結(jié)果的,表示運(yùn)算結(jié)果的8位數(shù)據(jù)中,低位數(shù)據(jù)中,低4位向高位向高4位有進(jìn)位位有進(jìn)位(加法運(yùn)算時(shí)加法運(yùn)算時(shí))或有借位或有借位(減法運(yùn)算時(shí)減法運(yùn)算時(shí)),這個(gè)標(biāo)志位只在十進(jìn)制運(yùn)算中有用。這個(gè)標(biāo)志位只在十進(jìn)制運(yùn)算中有用。ZF(Zero Flag):零標(biāo)志位:零標(biāo)志位 ZF1,表示本次運(yùn)算結(jié)果為零,否則即運(yùn)算,表示本次運(yùn)算結(jié)果為零,否則即運(yùn)算結(jié)果非零時(shí),結(jié)果非零時(shí),ZF0。SF(Sign Flag):符號(hào)標(biāo)志:符號(hào)標(biāo)志 SF1,表示本次運(yùn)算結(jié)果的最高位,表示本次運(yùn)算結(jié)果的最高位(第第7位或位或第第15位位)為為“l(fā)”,否則,否則SF0。OF(Overflow F1ag):溢
12、出標(biāo)志:溢出標(biāo)志 例如,在字節(jié)運(yùn)算時(shí):例如,在字節(jié)運(yùn)算時(shí):MOVAL, 64H ADD AL, 64H即即 01100100 + 01100100 11001000 D7位向前無進(jìn)位,故位向前無進(jìn)位,故運(yùn)算后運(yùn)算后CF = 0;但運(yùn);但運(yùn)算算結(jié)果超過了結(jié)果超過了+127,此,此時(shí),溢出標(biāo)志位時(shí),溢出標(biāo)志位OF = 1。 在字節(jié)運(yùn)算時(shí):在字節(jié)運(yùn)算時(shí): MOV AL, 0ABHADD AL, 0FFB即即 10101011 + 11111111 10101010 D7位向前有進(jìn)位,故位向前有進(jìn)位,故運(yùn)算后運(yùn)算后CF = 1,但運(yùn),但運(yùn)算的結(jié)果未小于算的結(jié)果未小于128,此時(shí),溢出標(biāo)志位此時(shí),溢出標(biāo)
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最高位無進(jìn)位最高位無進(jìn)位,CF=0,CF=0運(yùn)算結(jié)果有奇數(shù)個(gè)運(yùn)算結(jié)果有奇數(shù)個(gè)1,PF=01,PF=0運(yùn)算結(jié)果非運(yùn)算結(jié)果非0,ZF=00,ZF=0D3D3D4D4無進(jìn)位無進(jìn)位,AF=0,AF=0最高位,次高位均無進(jìn)位最高位,次高位均無進(jìn)位,OF=0,OF=0FR寄存器的控制標(biāo)志寄存器的控制標(biāo)志 IF(Interrupt Flag)
14、:中斷標(biāo)志位:中斷標(biāo)志位 IF1,表示允許,表示允許CPU響應(yīng)可屏蔽中斷。響應(yīng)可屏蔽中斷。IF標(biāo)志標(biāo)志可通過可通過STI指令置位,也可通過指令置位,也可通過CLI指令復(fù)位。指令復(fù)位。DF(Direction Flag):方向標(biāo)志位:方向標(biāo)志位 在串操作指令中,若在串操作指令中,若DF0,表示串操作指令地,表示串操作指令地址指針自動(dòng)增量;址指針自動(dòng)增量;DF1,表示地址指針自動(dòng)減量。,表示地址指針自動(dòng)減量。DF標(biāo)志位可通過標(biāo)志位可通過STD指令置位,也可通過指令置位,也可通過CLD指令指令復(fù)位。復(fù)位。TF(Trap Flag):?jiǎn)尾綐?biāo)志位:?jiǎn)尾綐?biāo)志位單步執(zhí)行指令單步執(zhí)行指令處理器在處理器在每條指
15、令每條指令執(zhí)行結(jié)束執(zhí)行結(jié)束時(shí),便產(chǎn)生一個(gè)編號(hào)為時(shí),便產(chǎn)生一個(gè)編號(hào)為1 1的內(nèi)的內(nèi)部中斷。部中斷。這種內(nèi)部中斷稱為這種內(nèi)部中斷稱為單步中斷單步中斷,所以所以TFTF也稱為也稱為單步標(biāo)志單步標(biāo)志。利用單步中斷可對(duì)程序進(jìn)行逐條利用單步中斷可對(duì)程序進(jìn)行逐條指令的調(diào)試。指令的調(diào)試。這種逐條指令調(diào)試程序的方法就這種逐條指令調(diào)試程序的方法就是是單步調(diào)試單步調(diào)試。3 3)數(shù)據(jù)暫存寄存器)數(shù)據(jù)暫存寄存器協(xié)助協(xié)助ALUALU完成運(yùn)算,完成運(yùn)算,暫時(shí)存放運(yùn)算的數(shù)據(jù)暫時(shí)存放運(yùn)算的數(shù)據(jù) 80868086的的1616位通用寄存器是:位通用寄存器是:AXBXCXDXSIDIBPSP其中前其中前4 4個(gè):個(gè):累加器累加器AX
16、AX、基址寄存器、基址寄存器BXBX、計(jì)數(shù)寄存、計(jì)數(shù)寄存器器CXCX、數(shù)據(jù)寄存器、數(shù)據(jù)寄存器DXDX,每個(gè)數(shù)據(jù)寄存器可存放,每個(gè)數(shù)據(jù)寄存器可存放1616位操作數(shù),也可拆成兩個(gè)位操作數(shù),也可拆成兩個(gè) 8 8位寄存器,用來存放位寄存器,用來存放8 8位操作數(shù),位操作數(shù),對(duì)其中某對(duì)其中某8 8位的操作,并不影響另外對(duì)位的操作,并不影響另外對(duì)應(yīng)應(yīng)8 8位的數(shù)據(jù)。位的數(shù)據(jù)。8086的的8位通用寄存器是:位通用寄存器是: AH BH CHDH AL BL CLDL后后4 4個(gè)指針和變址寄存器:堆棧指針個(gè)指針和變址寄存器:堆棧指針SPSP、基址、基址指針指針BPBP、源變址寄存器、源變址寄存器SISI、目的
17、變址寄存器、目的變址寄存器DIDI,可用來存放數(shù)據(jù)和地址,一般用來存放,可用來存放數(shù)據(jù)和地址,一般用來存放地址的偏移量,只能按地址的偏移量,只能按1616位進(jìn)行存取操作。位進(jìn)行存取操作。 變址寄存器(變址寄存器(I I組)常用于存儲(chǔ)器尋址時(shí)提組)常用于存儲(chǔ)器尋址時(shí)提供地址供地址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)合使用以確定堆棧段中的存儲(chǔ)單元地址定堆棧段中的存儲(chǔ)單元地址u通用寄存器通用寄存器AX(Accumulator Register) 累加器一般用來存放參加運(yùn)算的數(shù)據(jù)和結(jié)果,累加器一般用來存放參加運(yùn)算的數(shù)據(jù)和結(jié)果,在乘、除法運(yùn)算、在乘、除法運(yùn)算、I/O操作、操作、BCD數(shù)運(yùn)算中有數(shù)運(yùn)算中有不可替代的作用。不可替代的作用。BX(Base Register) 基址
19、寄存器除可作數(shù)據(jù)寄存器外,還可放內(nèi)存基址寄存器除可作數(shù)據(jù)寄存器外,還可放內(nèi)存的邏輯偏移地址,而的邏輯偏移地址,而AX,CX,DX則不能。則不能。CX(Counter) 將它稱作計(jì)數(shù)寄存器,是因?yàn)樗瓤勺鲾?shù)將它稱作計(jì)數(shù)寄存器,是因?yàn)樗瓤勺鲾?shù)據(jù)寄存器,又可在串指令和移位指令中作計(jì)據(jù)寄存器,又可在串指令和移位指令中作計(jì)數(shù)用。數(shù)用。DX(Data Register) DX除可作通用數(shù)據(jù)寄存器外,還在乘、除除可作通用數(shù)據(jù)寄存器外,還在乘、除法運(yùn)算、帶符號(hào)數(shù)的擴(kuò)展指令中有特殊用途。法運(yùn)算、帶符號(hào)數(shù)的擴(kuò)展指令中有特殊用途。 SI(Source Index) 源變址寄存器多用于存放內(nèi)存的邏輯偏移源變址寄存器
20、多用于存放內(nèi)存的邏輯偏移地址,隱含的邏輯段地址在地址,隱含的邏輯段地址在DS寄存器中,寄存器中,也可放數(shù)據(jù)。也可放數(shù)據(jù)。DI(Destination Index) 目標(biāo)變址寄存器多用于存放內(nèi)存的邏輯偏目標(biāo)變址寄存器多用于存放內(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ì)在指令中沒有明顯的標(biāo)出,而這些寄存器參在指令中沒有明顯的標(biāo)出,而這些寄存器參加操作,稱之為加操作,稱之為“隱含尋址隱含尋址”。 具體的:在某類指令中,某些通用寄存器具體的:在某類指令中,某些通用寄存器有指定的特殊用法,編程時(shí)需遵循這些規(guī)定,有指定的特殊用法,編程時(shí)需遵循這些規(guī)定,將某些特殊數(shù)據(jù)放在特定的寄存器中,這樣才將某些特殊數(shù)據(jù)放在特定的寄存器中,這樣才能正確的執(zhí)行這些指令。采用能正確的執(zhí)行這些指令。采用“隱含隱含”的方式,的方式,能有效地縮短指令代碼的長(zhǎng)度。能有效地縮
22、短指令代碼的長(zhǎng)度。寄寄存存器器名名 特特殊殊用用途途 隱隱含含性性質(zhì)質(zhì) 在在輸輸入入輸輸出出指指令令中中作作數(shù)數(shù)據(jù)據(jù)寄寄存存器器用用 不不能能隱隱含含 AX, AL 在在乘乘法法指指令令中中存存放放被被乘乘數(shù)數(shù)或或乘乘積積,在在除除法法指指令令中中存存放放被被除除數(shù)數(shù)或或商商 隱隱 含含 AH 在在LAHF指指令令中中,作作目目標(biāo)標(biāo)寄寄存存器器用用 隱隱 含含 在在十十進(jìn)進(jìn)制制運(yùn)運(yùn)算算指指令令中中作作累累加加器器用用 隱隱 含含 AL 在在XLAT指指令令中中作作累累加加器器用用 隱隱 含含 在在間間接接尋尋址址中中作作基基址址寄寄存存器器用用 不不能能隱隱含含 BX 在在XLAT指指令令中中
23、作作基基址址寄寄存存器器用用 隱隱 含含 CX 在在串串操操作作指指令令和和LOOP指指令令中中作作計(jì)計(jì)數(shù)數(shù)器器用用 隱隱 含含 CL 在在移移位位/循循環(huán)環(huán)移移位位指指令令中中作作移移位位次次數(shù)數(shù)計(jì)計(jì)數(shù)數(shù)器器用用 不不能能隱隱含含 在在字字乘乘法法/除除法法指指令令中中存存放放乘乘積積高高位位或或被被除除數(shù)數(shù)高高位位或或余余數(shù)數(shù) 隱隱 含含 DX 在在間間接接尋尋址址的的輸輸入入輸輸出出指指令令中中作作地地址址寄寄存存器器用用 不不能能隱隱含含 在在字字符符串串運(yùn)運(yùn)算算指指令令中中作作源源變變址址寄寄存存器器用用 隱隱 含含 SI 在在間間接接尋尋址址中中作作變變址址寄寄存存器器用用 不不能
24、能隱隱含含 在在字字符符串串運(yùn)運(yùn)算算指指令令中中作作目目標(biāo)標(biāo)變變址址寄寄存存器器用用 隱隱 含含 DI 在在間間接接尋尋址址中中作作變變址址寄寄存存器器用用 不不能能隱隱含含 BP 在在間間接接尋尋址址中中作作基基址址指指針針用用 不不能能隱隱含含 SP 在在堆堆棧棧操操作作中中作作堆堆棧棧指指針針用用 隱隱 含含 它是控制、定時(shí)及狀態(tài)邏輯電路,負(fù)責(zé)它是控制、定時(shí)及狀態(tài)邏輯電路,負(fù)責(zé)從從BIUBIU的指令隊(duì)列緩沖器中取指令、分析的指令隊(duì)列緩沖器中取指令、分析指令(即對(duì)指令譯碼),然后根據(jù)譯碼指令(即對(duì)指令譯碼),然后根據(jù)譯碼結(jié)果向結(jié)果向EUEU內(nèi)部各部件發(fā)出控制命令以完內(nèi)部各部件發(fā)出控制命令以
25、完成指令的功能。成指令的功能。5 5)EUEU控制電路控制電路(1)BIU(1)BIU的功能:負(fù)責(zé)完成的功能:負(fù)責(zé)完成CPUCPU與存儲(chǔ)器或與存儲(chǔ)器或I/OI/O設(shè)備設(shè)備之間的數(shù)據(jù)傳遞,具體如下:之間的數(shù)據(jù)傳遞,具體如下: 1)1) BIUBIU從主存取指令送到指令隊(duì)列緩沖器從主存取指令送到指令隊(duì)列緩沖器2)2) CPUCPU執(zhí)行指令時(shí),配合執(zhí)行指令時(shí),配合EUEU從指定的主存單元或外從指定的主存單元或外設(shè)端口中取數(shù)據(jù)送給設(shè)端口中取數(shù)據(jù)送給EUEU或把或把EUEU的操作結(jié)果傳給的操作結(jié)果傳給指定的主存或外設(shè)端口中指定的主存或外設(shè)端口中3 3)計(jì)算并形成訪問存儲(chǔ)器的)計(jì)算并形成訪問存儲(chǔ)器的202
26、0位物理地址位物理地址(2)BIU(2)BIU的組成的組成總線接口部件總線接口部件BIUBIU主要有主要有4 4個(gè)個(gè)1616位段寄存器位段寄存器、1616位位指令指針寄存器、指令指針寄存器、2020位物理地址加法器、位物理地址加法器、6 6字節(jié)指字節(jié)指令隊(duì)列緩沖器令隊(duì)列緩沖器以及以及總線控制電路總線控制電路。 1 1)段地址寄存器)段地址寄存器4 4個(gè)個(gè) 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é)為一個(gè)內(nèi)存節(jié),字節(jié)為一個(gè)內(nèi)存節(jié),共分成共分成64K64K個(gè)節(jié)。個(gè)節(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:用于存放當(dāng)前代碼段的段地址;:用于存放當(dāng)前代碼段的段地址; 數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器DSDS:用于存放當(dāng)前數(shù)據(jù)段的段地址;:用于存放當(dāng)前數(shù)據(jù)段的段地址; 附加段寄存器附加段寄存器ESES:用于存放當(dāng)前附加段的段地址;:用于存放當(dāng)前附加段的段地址; 堆棧段寄存器堆棧段寄存器SSSS:用于存放當(dāng)前堆棧段的段地址。:用于存放當(dāng)前堆棧段的段地址。用于產(chǎn)生用于產(chǎn)生2020位物理地址。將來自于段寄存器的位物理地址。將來自于段寄存器的1616位位地址段首地址左移地址段首地址左移4 4位后與來自于位后與來自于IPIP寄
29、存器或寄存器或 EUEU提提供的供的1616位偏移地址相加(通常將位偏移地址相加(通常將“段首地址:偏移段首地址:偏移地址地址”稱為稱為邏輯地址邏輯地址),形成一個(gè)),形成一個(gè)2020位的實(shí)際地址位的實(shí)際地址(又稱為(又稱為物理地址物理地址),以對(duì)),以對(duì)1MB1MB的存儲(chǔ)空間進(jìn)行尋的存儲(chǔ)空間進(jìn)行尋址。具體講:當(dāng)址。具體講:當(dāng)CPUCPU執(zhí)行指令時(shí),執(zhí)行指令時(shí),BIUBIU根據(jù)指令的尋根據(jù)指令的尋址方式通過地址加法器形成指令在存儲(chǔ)器中的物理址方式通過地址加法器形成指令在存儲(chǔ)器中的物理地址,然后訪問該物理地址所對(duì)應(yīng)的存儲(chǔ)單元,從地址,然后訪問該物理地址所對(duì)應(yīng)的存儲(chǔ)單元,從中取出指令代碼送到指令隊(duì)
30、列緩沖器中等待執(zhí)行。中取出指令代碼送到指令隊(duì)列緩沖器中等待執(zhí)行。2)202)20位地址加法器位地址加法器偏移地址寄存器偏移地址寄存器段寄存器段寄存器 00002020位物理地址位物理地址地址加法器地址加法器訪問存儲(chǔ)器的方式訪問存儲(chǔ)器的方式默認(rèn)的段寄存器默認(rèn)的段寄存器可超越的段寄存器可超越的段寄存器 偏移地址偏移地址取指令取指令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用來存放當(dāng)前將要執(zhí)行的指令的有效地址,用來存放當(dāng)前將要執(zhí)行的指令的有效地址,每取出一條指令每取出一條指令I(lǐng)PIP自動(dòng)增量。程序不能直自動(dòng)增量。程序不能直接訪問接訪問IPIP,在程序運(yùn)行過程中,在程序運(yùn)行過程中,BIUBIU可修改可修改IPIP中內(nèi)容。中內(nèi)容。3 3)1616位指令指針位指令指針I(yè)PIP(程序計(jì)數(shù)器)(程序計(jì)數(shù)器)是一個(gè)與是一個(gè)與CPUCPU速度匹配的高速緩沖寄存器。速度匹配的高速緩沖寄存器。指令隊(duì)列一共指令隊(duì)列一共6 6個(gè)個(gè)字節(jié)(字節(jié)(80888088的指令
32、隊(duì)列的指令隊(duì)列為為4 4個(gè)字節(jié)),一旦指令隊(duì)列中空出個(gè)字節(jié)),一旦指令隊(duì)列中空出2 2個(gè)個(gè)(80868086中)或一個(gè)(中)或一個(gè)(80888088中)字節(jié),中)字節(jié),BIUBIU將自動(dòng)進(jìn)入讀指令操作以填滿指令隊(duì)列;將自動(dòng)進(jìn)入讀指令操作以填滿指令隊(duì)列;遇到轉(zhuǎn)移類指令時(shí),遇到轉(zhuǎn)移類指令時(shí),BIUBIU將指令隊(duì)列中的將指令隊(duì)列中的已有指令作廢,重新從新的目標(biāo)地址中已有指令作廢,重新從新的目標(biāo)地址中取指令送到指令隊(duì)列中。取指令送到指令隊(duì)列中。4)指令隊(duì)列緩沖器)指令隊(duì)列緩沖器將將CPUCPU的內(nèi)部總線與外部總線相連,是的內(nèi)部總線與外部總線相連,是CPUCPU與外與外部交換數(shù)據(jù)的通路。對(duì)于部交換數(shù)據(jù)的
33、通路。對(duì)于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稱為準(zhǔn)稱為準(zhǔn)1616位的微處理器的原位的微處理器的原因。因。5 5)總線控制電路)總線控制電路總線接口部件總線接口
34、部件BIU和執(zhí)行部件和執(zhí)行部件EU并不是同步工作并不是同步工作的,兩者的動(dòng)作管理遵循如下原則:的,兩者的動(dòng)作管理遵循如下原則: 每當(dāng)每當(dāng)8086的指令隊(duì)列中有的指令隊(duì)列中有2個(gè)空字節(jié),個(gè)空字節(jié),BIU就會(huì)自就會(huì)自動(dòng)啟動(dòng)總線周期,取指填充指令隊(duì)列。直至隊(duì)列滿,動(dòng)啟動(dòng)總線周期,取指填充指令隊(duì)列。直至隊(duì)列滿,進(jìn)入空閑狀態(tài)。進(jìn)入空閑狀態(tài)。 而同時(shí)而同時(shí)EU按按“先進(jìn)先出先進(jìn)先出”原則從指令隊(duì)列取出一原則從指令隊(duì)列取出一條指令,并用幾個(gè)時(shí)鐘周期去分析、執(zhí)行指令。系條指令,并用幾個(gè)時(shí)鐘周期去分析、執(zhí)行指令。系統(tǒng)初始化后,指令隊(duì)列為空,統(tǒng)初始化后,指令隊(duì)列為空,EU等待等待BIU從內(nèi)存從內(nèi)存取指,填充指令隊(duì)
35、列。取指,填充指令隊(duì)列?!傲魉€流水線”結(jié)構(gòu)結(jié)構(gòu)l l EU取得指令,譯碼并執(zhí)行指令。若指令需要取取得指令,譯碼并執(zhí)行指令。若指令需要取操作數(shù)或存操作結(jié)果,需訪問存儲(chǔ)器或操作數(shù)或存操作結(jié)果,需訪問存儲(chǔ)器或I/O,EU向向BIU發(fā)出訪問總線請(qǐng)求。發(fā)出訪問總線請(qǐng)求。l l 當(dāng)當(dāng)BIU接到接到EU的總線請(qǐng)求,若正忙(正在執(zhí)行的總線請(qǐng)求,若正忙(正在執(zhí)行取指總線周期),則必須等待取指總線周期),則必須等待BIU執(zhí)行完當(dāng)前的執(zhí)行完當(dāng)前的總線周期,方能響應(yīng)總線周期,方能響應(yīng)EU請(qǐng)求;若請(qǐng)求;若BIU空閑,則立空閑,則立即執(zhí)行即執(zhí)行EU申請(qǐng)總線的請(qǐng)求。申請(qǐng)總線的請(qǐng)求。l l 當(dāng)指令隊(duì)列已滿,而且當(dāng)指令隊(duì)列已
36、滿,而且EU對(duì)對(duì)BIU又無總線訪問又無總線訪問請(qǐng)求時(shí),請(qǐng)求時(shí),BIU便進(jìn)入空閑狀態(tài)。便進(jìn)入空閑狀態(tài)。l l EU執(zhí)行轉(zhuǎn)移、調(diào)用和返回指令時(shí),若下一條執(zhí)行轉(zhuǎn)移、調(diào)用和返回指令時(shí),若下一條指令不在指令隊(duì)列中,則隊(duì)列被自動(dòng)清除,指令不在指令隊(duì)列中,則隊(duì)列被自動(dòng)清除,BIU根據(jù)本條指令執(zhí)行情況重新取指和填充指令隊(duì)列。根據(jù)本條指令執(zhí)行情況重新取指和填充指令隊(duì)列。2.2 80862.2 8086工作方式及引腳信號(hào)工作方式及引腳信號(hào)1 1、80868086工作模式工作模式為了盡可能適應(yīng)各種各樣的使用場(chǎng)合,在設(shè)計(jì)為了盡可能適應(yīng)各種各樣的使用場(chǎng)合,在設(shè)計(jì)8086 CPU芯片時(shí),芯片時(shí), 使它們可以在兩種模式下工
37、作,使它們可以在兩種模式下工作,即最小模式和最大模式。即最小模式和最大模式。 所謂最小模式,就是在系統(tǒng)中只有所謂最小模式,就是在系統(tǒng)中只有8086一個(gè)一個(gè)CPU, 而所有的總線控制信號(hào)都由而所有的總線控制信號(hào)都由8086直接產(chǎn)生,因此直接產(chǎn)生,因此系統(tǒng)中的總線控制電路被減到最少。系統(tǒng)中的總線控制電路被減到最少。而最大模式是相對(duì)最小模式而言的,而最大模式是相對(duì)最小模式而言的, 此時(shí)系統(tǒng)中有此時(shí)系統(tǒng)中有兩個(gè)或多個(gè)微處理器,兩個(gè)或多個(gè)微處理器, 其中有一個(gè)是主處理器其中有一個(gè)是主處理器8086,其它的處理器稱為協(xié)處理器,它們協(xié)助主,其它的處理器稱為協(xié)處理器,它們協(xié)助主處理器工作。處理器工作。(1)最
38、小工作模式特點(diǎn))最小工作模式特點(diǎn)1.1. MN/MXMN/MX端接端接+5V+5V,決定了,決定了80868086工作在最小模式。工作在最小模式。 2.2.系統(tǒng)控制總線信號(hào)由系統(tǒng)控制總線信號(hào)由CPUCPU直接提供。直接提供。 3.3. 支持單處理器系統(tǒng)支持單處理器系統(tǒng) (2)最大工作模式特點(diǎn))最大工作模式特點(diǎn)1.1. MN/MXMN/MX端接地,決定了端接地,決定了80868086工作在最大模式。工作在最大模式。 2.2.系統(tǒng)控制總線信號(hào)由總線控制器提供。系統(tǒng)控制總線信號(hào)由總線控制器提供。 3.3. 支持多處理器系統(tǒng)支持多處理器系統(tǒng) 2 2、80868086引腳信號(hào)和功能引腳信號(hào)和功能 808
39、6/8088 CPU 8086/8088 CPU具有具有4040條引腳,雙列直插式封條引腳,雙列直插式封裝,采用分時(shí)復(fù)用地址裝,采用分時(shí)復(fù)用地址數(shù) 據(jù) 總 線 , 從 而 使數(shù) 據(jù) 總 線 , 從 而 使8086/8088 CPU8086/8088 CPU用用4040條條引腳實(shí)現(xiàn)引腳實(shí)現(xiàn)2020位地址、位地址、1616位數(shù)據(jù)、控制信號(hào)及狀位數(shù)據(jù)、控制信號(hào)及狀態(tài)信號(hào)的傳輸。即在不態(tài)信號(hào)的傳輸。即在不同時(shí)鐘周期內(nèi),引腳的同時(shí)鐘周期內(nèi),引腳的作用不同。作用不同。引腳的特性從三個(gè)方面描述:引腳的特性從三個(gè)方面描述:1、引腳的功能、引腳的功能2、引腳信號(hào)的傳送方向、引腳信號(hào)的傳送方向3、信號(hào)的邏輯狀態(tài)、
40、信號(hào)的邏輯狀態(tài)MN/MXMN/MX:用于確定配置方式,輸入,如該引腳接用于確定配置方式,輸入,如該引腳接+5V,+5V,則工作于最小模式;如該引腳接地,則工作則工作于最小模式;如該引腳接地,則工作于最大模式。于最大模式。V VCCCC、GNDGND:電源、地,輸入:電源、地,輸入最小模式下的引腳功能:最小模式下的引腳功能:CLKCLK:時(shí)鐘輸入引腳,它提供了處理器和總線控制:時(shí)鐘輸入引腳,它提供了處理器和總線控制器的定時(shí)操作,要求時(shí)鐘占空比為器的定時(shí)操作,要求時(shí)鐘占空比為1/31/3 AD0AD0AD15AD15(Address/Data BusAddress/Data Bus):分時(shí)復(fù)用的地
41、址數(shù)據(jù)):分時(shí)復(fù)用的地址數(shù)據(jù)線。雙向、三態(tài)。線。雙向、三態(tài)。 下面講解下面講解AD15AD15AD0AD0的具體分時(shí)復(fù)用的問題:(的具體分時(shí)復(fù)用的問題:(80888088只只有有AD7AD7AD0AD0) 在在T1T1期間作地址線期間作地址線A15A15A0A0用,此時(shí)是輸出的(是存儲(chǔ)用,此時(shí)是輸出的(是存儲(chǔ)單元的低十六位地址或單元的低十六位地址或I/OI/O端口的十六位地址)端口的十六位地址);系統(tǒng)必須在系統(tǒng)必須在T1狀態(tài)將有效的地址信號(hào)及時(shí)鎖存起來,才能狀態(tài)將有效的地址信號(hào)及時(shí)鎖存起來,才能在整個(gè)總線周期內(nèi)保持地址有效。在整個(gè)總線周期內(nèi)保持地址有效。 在在T2T2T4T4期間作數(shù)據(jù)線期間作
42、數(shù)據(jù)線D15D15D0D0用,此時(shí)是雙向、三態(tài)用,此時(shí)是雙向、三態(tài)的。在的。在 T2T3T2T3狀態(tài),若為總線讀周期則先將總線浮空,然狀態(tài),若為總線讀周期則先將總線浮空,然后接收從內(nèi)存或外設(shè)讀入的數(shù)據(jù),若為總線寫周期,則總后接收從內(nèi)存或外設(shè)讀入的數(shù)據(jù),若為總線寫周期,則總線上為寫出的數(shù)據(jù)。線上為寫出的數(shù)據(jù)。A19/S6A19/S6A16/S3A16/S3:地址:地址/ /狀態(tài)分時(shí)復(fù)用,輸出引腳、狀態(tài)分時(shí)復(fù)用,輸出引腳、三態(tài)。三態(tài)。 在在T1T1期間,作地址線期間,作地址線A19A19A16A16用,對(duì)存儲(chǔ)單元進(jìn)用,對(duì)存儲(chǔ)單元進(jìn)行讀寫時(shí),高四位地址線由行讀寫時(shí),高四位地址線由A19A19A16A
43、16給出;給出; 在在T2T2T4T4期間作為期間作為S6S6S3S3狀態(tài)線用,輸出狀態(tài)信狀態(tài)線用,輸出狀態(tài)信息息 S5S5:用來表示中斷允許狀態(tài)位:用來表示中斷允許狀態(tài)位IFIF的當(dāng)前設(shè)置。若的當(dāng)前設(shè)置。若IF=1IF=1允許可屏蔽中斷,則允許可屏蔽中斷,則S5=1S5=1反之為反之為0 0S6S6:恒為:恒為“0 0”,以表示,以表示CPUCPU當(dāng)前連在總線上。當(dāng)前連在總線上。 S3,S4S3,S4指明正在使用的段寄存器指明正在使用的段寄存器. . /S7/S7:三態(tài)輸出,高:三態(tài)輸出,高8 8位數(shù)據(jù)總線有效位數(shù)據(jù)總線有效/ /狀態(tài)狀態(tài)復(fù)用引腳。復(fù)用引腳。在在T1T1狀態(tài):作狀態(tài):作 用,
44、該引腳為用,該引腳為0 0時(shí),表示高時(shí),表示高8 8位數(shù)據(jù)線上的數(shù)據(jù)有效;位數(shù)據(jù)線上的數(shù)據(jù)有效; 在在T2T2T4T4狀態(tài):輸出狀態(tài)信號(hào)狀態(tài):輸出狀態(tài)信號(hào)S7S7,未定義。,未定義。與與A0A0合起來可向總線上存儲(chǔ)器接口傳送信息。合起來可向總線上存儲(chǔ)器接口傳送信息。(這與后面將要介紹的(這與后面將要介紹的存儲(chǔ)器分組存儲(chǔ)器分組有關(guān),由這有關(guān),由這兩種的組合來選擇存儲(chǔ)體)兩種的組合來選擇存儲(chǔ)體) :讀,三態(tài)輸出,低電平有效。在:讀,三態(tài)輸出,低電平有效。在CPUCPU執(zhí)行執(zhí)行讀操作時(shí),在讀操作時(shí),在T2T2、T3T3、TwTw期間有效。當(dāng)期間有效。當(dāng) =0=0時(shí),時(shí),表示表示CPUCPU當(dāng)前正在讀
45、存儲(chǔ)器或當(dāng)前正在讀存儲(chǔ)器或I/OI/O接口。接口。 是讀存儲(chǔ)是讀存儲(chǔ)器還是讀器還是讀I/OI/O端口,還決定于端口,還決定于M/IOM/IO,若為高則讀存,若為高則讀存儲(chǔ)器,若為低則讀儲(chǔ)器,若為低則讀I/OI/O端口。端口。READYREADY:準(zhǔn)備就緒,輸入、高電平有效。當(dāng):準(zhǔn)備就緒,輸入、高電平有效。當(dāng)CPUCPU要訪問的存儲(chǔ)器或要訪問的存儲(chǔ)器或I/OI/O端口已準(zhǔn)備好傳送數(shù)據(jù)時(shí),端口已準(zhǔn)備好傳送數(shù)據(jù)時(shí),存儲(chǔ)器或存儲(chǔ)器或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為止,才進(jìn)入為止,才進(jìn)入T4T4,完成數(shù)據(jù)傳送過程。完成數(shù)據(jù)傳送過程。 WR (Write) 寫信號(hào),三態(tài)輸出,低電平有效,表示當(dāng)前寫信號(hào),三態(tài)輸出,低電平有效,表示當(dāng)前CPUCPU正正在寫存儲(chǔ)器或在寫存儲(chǔ)器或I IO O端口。用來選通對(duì)方的數(shù)據(jù)輸入端口。用來選通對(duì)方的數(shù)據(jù)輸入結(jié)構(gòu)結(jié)構(gòu)MIO (MemoryIO ) 存儲(chǔ)器或存儲(chǔ)器或I IO O端口訪問信號(hào)。三態(tài)輸出,端口訪
47、問信號(hào)。三態(tài)輸出,M MIOIO為為高電平時(shí),表示當(dāng)前高電平時(shí),表示當(dāng)前CPUCPU正在訪問存儲(chǔ)器,正在訪問存儲(chǔ)器,M MIO IO 為低電平時(shí),表示當(dāng)前為低電平時(shí),表示當(dāng)前CPUCPU正在訪問正在訪問I IO O端口端口。 ALE(Address Latch Enable) 地址鎖存使能信號(hào),三態(tài)地址鎖存使能信號(hào),三態(tài),輸出,高電平有效。當(dāng)輸出,高電平有效。當(dāng)復(fù)用地址線正在傳送地址時(shí)復(fù)用地址線正在傳送地址時(shí),該信號(hào)為有效電平該信號(hào)為有效電平.所以所以,用來作為外接地址鎖存器的選通信號(hào)。一般接時(shí)鐘控用來作為外接地址鎖存器的選通信號(hào)。一般接時(shí)鐘控制端制端CLK.DEN (Data Enable)
48、 數(shù)據(jù)使能信號(hào),輸出,三態(tài),低電平有效。有效時(shí)數(shù)據(jù)使能信號(hào),輸出,三態(tài),低電平有效。有效時(shí)表示數(shù)據(jù)總線正在傳輸數(shù)據(jù)表示數(shù)據(jù)總線正在傳輸數(shù)據(jù),用于數(shù)據(jù)總線驅(qū)動(dòng)器用于數(shù)據(jù)總線驅(qū)動(dòng)器(收收發(fā)器發(fā)器)的控制信號(hào)。的控制信號(hào)。 :輸入,測(cè)試信號(hào),低電平有效。:輸入,測(cè)試信號(hào),低電平有效。當(dāng)當(dāng)CPUCPU執(zhí)行執(zhí)行WAITWAIT指令時(shí),指令時(shí),CPUCPU每隔每隔5 5個(gè)個(gè)T T對(duì)對(duì)TESTTEST進(jìn)行一次測(cè)試,當(dāng)測(cè)試到進(jìn)行一次測(cè)試,當(dāng)測(cè)試到 =1=1,則,則CPUCPU重復(fù)執(zhí)行重復(fù)執(zhí)行WAITWAIT指令,即指令,即CPUCPU處于空閑處于空閑等待狀態(tài),直到測(cè)試到等待狀態(tài),直到測(cè)試到 =0=0時(shí),等待狀
49、態(tài)時(shí),等待狀態(tài)結(jié)束,結(jié)束,CPUCPU繼續(xù)執(zhí)行后續(xù)指令。繼續(xù)執(zhí)行后續(xù)指令。 與與WAITWAIT配合,可以實(shí)現(xiàn)配合,可以實(shí)現(xiàn)CPUCPU與外設(shè)同步工作與外設(shè)同步工作。 INTR( Interrupt Request) 可屏蔽中斷請(qǐng)求信號(hào),由外部輸入,電平觸發(fā),高電可屏蔽中斷請(qǐng)求信號(hào),由外部輸入,電平觸發(fā),高電平有效。平有效。INTRINTR有效時(shí),表示外部設(shè)備向有效時(shí),表示外部設(shè)備向CPUCPU發(fā)出中斷發(fā)出中斷請(qǐng)求,請(qǐng)求,CPUCPU在每條指令的最后一個(gè)時(shí)鐘周期(在每條指令的最后一個(gè)時(shí)鐘周期(T T狀態(tài))狀態(tài))對(duì)對(duì)INTRINTR進(jìn)行測(cè)試,一旦測(cè)試到有中斷請(qǐng)求,并且當(dāng)中進(jìn)行測(cè)試,一旦測(cè)試到有中
50、斷請(qǐng)求,并且當(dāng)中斷允許標(biāo)志斷允許標(biāo)志IFIF1 1時(shí),則暫停執(zhí)行下條指令轉(zhuǎn)入中斷時(shí),則暫停執(zhí)行下條指令轉(zhuǎn)入中斷響應(yīng)周期。響應(yīng)周期。借助軟件復(fù)位或置位中斷允許標(biāo)志借助軟件復(fù)位或置位中斷允許標(biāo)志IFIF,可禁止或開放,可禁止或開放INTRINTR上的中斷請(qǐng)求。上的中斷請(qǐng)求。NMINMI:輸入,非可屏蔽中斷請(qǐng)求,上升沿有效。輸入,非可屏蔽中斷請(qǐng)求,上升沿有效。只要只要CPUCPU采樣到采樣到NMINMI由低電平到高電平的跳變,不由低電平到高電平的跳變,不管管IFIF的狀態(tài)如何,的狀態(tài)如何,CPUCPU都會(huì)響應(yīng)。都會(huì)響應(yīng)。 (不受中斷允(不受中斷允許標(biāo)志許標(biāo)志IFIF的影響)的影響)INTRINTR:
51、輸入,可屏蔽中斷請(qǐng)求,高電平有效,:輸入,可屏蔽中斷請(qǐng)求,高電平有效,CPU CPU 在每條指令的最后一個(gè)時(shí)鐘脈沖對(duì)在每條指令的最后一個(gè)時(shí)鐘脈沖對(duì)INTRINTR信號(hào)信號(hào)進(jìn)行采樣,當(dāng)進(jìn)行采樣,當(dāng)INTRINTR為高電平時(shí),如果為高電平時(shí),如果CPUCPU的中斷的中斷允許標(biāo)志允許標(biāo)志IF=1IF=1,則在當(dāng)前指令結(jié)束后即響應(yīng)中斷,則在當(dāng)前指令結(jié)束后即響應(yīng)中斷請(qǐng)求,進(jìn)入中斷處理。(當(dāng)外設(shè)向請(qǐng)求,進(jìn)入中斷處理。(當(dāng)外設(shè)向CPUCPU提出中斷提出中斷請(qǐng)求時(shí),置請(qǐng)求時(shí),置INTR=1INTR=1,若此時(shí),若此時(shí)IF=1IF=1,則,則CPUCPU響應(yīng)中響應(yīng)中斷。)斷。) RESETRESET:輸入,復(fù)位
52、、高電平有效。該引腳保持:輸入,復(fù)位、高電平有效。該引腳保持4T4T狀態(tài)以上時(shí)間高電平,則可復(fù)位(以完成狀態(tài)以上時(shí)間高電平,則可復(fù)位(以完成CPUCPU內(nèi)部?jī)?nèi)部寄存器的復(fù)位),復(fù)位后,寄存器的復(fù)位),復(fù)位后,CPUCPU停止當(dāng)前操作,且停止當(dāng)前操作,且對(duì)對(duì)FRFR、IPIP、DSDS、SSSS、ESES及指令隊(duì)列緩沖器清零,而及指令隊(duì)列緩沖器清零,而CSCS置為置為FFFFHFFFFH。復(fù)位后,(當(dāng)復(fù)位信號(hào)降為低電平。復(fù)位后,(當(dāng)復(fù)位信號(hào)降為低電平后)后)CPUCPU從從FFFF0HFFFF0H開始執(zhí)行程序。開始執(zhí)行程序。 DT/R(Data Transmit/Receive) DT/R(Da
53、ta Transmit/Receive): 數(shù)據(jù)驅(qū)動(dòng)器數(shù)據(jù)流向控制信號(hào),輸出,三態(tài)。該數(shù)據(jù)驅(qū)動(dòng)器數(shù)據(jù)流向控制信號(hào),輸出,三態(tài)。該信號(hào)指示當(dāng)前總線上數(shù)據(jù)流動(dòng)的方向。高電平說明數(shù)信號(hào)指示當(dāng)前總線上數(shù)據(jù)流動(dòng)的方向。高電平說明數(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ū)動(dòng)器,用的驅(qū)動(dòng)器,用DT/RDT/R信號(hào)來控制數(shù)據(jù)驅(qū)動(dòng)器的數(shù)據(jù)傳送信號(hào)
54、來控制數(shù)據(jù)驅(qū)動(dòng)器的數(shù)據(jù)傳送方向。當(dāng)方向。當(dāng)DT/RDT/R1 1時(shí),進(jìn)行數(shù)據(jù)發(fā)送;時(shí),進(jìn)行數(shù)據(jù)發(fā)送;DT/RDT/R0時(shí),進(jìn)時(shí),進(jìn)行數(shù)據(jù)接收。行數(shù)據(jù)接收。HOLD(Hold Request) 總線請(qǐng)求信號(hào),輸入,高電平有效。最小模式系統(tǒng)中的總線請(qǐng)總線請(qǐng)求信號(hào),輸入,高電平有效。最小模式系統(tǒng)中的總線請(qǐng)求設(shè)備控制總線時(shí),通過此引腳申請(qǐng),且在其總線占有期間始求設(shè)備控制總線時(shí),通過此引腳申請(qǐng),且在其總線占有期間始終保持有效電平,直到對(duì)總線的使用結(jié)束,恢復(fù)低電平。終保持有效電平,直到對(duì)總線的使用結(jié)束,恢復(fù)低電平。HLDA(Hold Acknowledge) 總線請(qǐng)求響應(yīng)信號(hào)。向外部輸出,高電平有效。當(dāng)總
55、線請(qǐng)求響應(yīng)信號(hào)。向外部輸出,高電平有效。當(dāng)CPUCPU響應(yīng)響應(yīng)HOLDHOLD信號(hào)時(shí),便在當(dāng)前總線周期的信號(hào)時(shí),便在當(dāng)前總線周期的T4T4狀態(tài),輸出狀態(tài),輸出HLDAHLDA有效信號(hào),同有效信號(hào),同時(shí)時(shí)CPUCPU的三態(tài)總線全面呈現(xiàn)高阻狀態(tài),讓出總線,交給總線請(qǐng)求的三態(tài)總線全面呈現(xiàn)高阻狀態(tài),讓出總線,交給總線請(qǐng)求設(shè)備接管。直到設(shè)備接管。直到HOLDHOLD變低,才將變低,才將HLDAHLDA置成無效,并且收回對(duì)總置成無效,并且收回對(duì)總線的使用權(quán),繼續(xù)自己的操作。線的使用權(quán),繼續(xù)自己的操作。80868086的存儲(chǔ)體結(jié)構(gòu)的存儲(chǔ)體結(jié)構(gòu) 1MB存儲(chǔ)空間分成兩個(gè)存儲(chǔ)空間分成兩個(gè)512KB存儲(chǔ)器,用存儲(chǔ)器
56、,用A0位位來區(qū)分兩個(gè)存儲(chǔ)體。對(duì)任一個(gè)存儲(chǔ)體的訪問只需來區(qū)分兩個(gè)存儲(chǔ)體。對(duì)任一個(gè)存儲(chǔ)體的訪問只需要要19位地址碼,用位地址碼,用 和和A0的組合來選擇存儲(chǔ)體的組合來選擇存儲(chǔ)體 。偶地址存儲(chǔ)器:(偶地址存儲(chǔ)器:(A0=0A0=0),其數(shù)據(jù)線與),其數(shù)據(jù)線與8086CPU8086CPU系統(tǒng)的系統(tǒng)的D7D7D0D0相連,相連,A0=0A0=0用于片選;用于片選; 奇地址存儲(chǔ)器:(奇地址存儲(chǔ)器:(A0=1A0=1),其數(shù)據(jù)線與),其數(shù)據(jù)線與8086CPU8086CPU系統(tǒng)的系統(tǒng)的D15D15D8D8相連,相連, =0=0用于片選;用于片選; BHEBHE80868086奇偶存儲(chǔ)體的連接如下圖所示奇偶存
57、儲(chǔ)體的連接如下圖所示A18-A0A18-A0操操 作作 AD0 使用的數(shù)據(jù)引腳使用的數(shù)據(jù)引腳 讀或?qū)懪嫉刂返囊粋€(gè)讀或?qū)懪嫉刂返囊粋€(gè)字字 (存取規(guī)則字)(存取規(guī)則字) 0 0 AD15AD0 讀或?qū)懪嫉刂返囊粋€(gè)讀或?qū)懪嫉刂返囊粋€(gè)字節(jié)字節(jié) 1 0 AD7AD0 讀或?qū)懫娴刂返囊粋€(gè)讀或?qū)懫娴刂返囊粋€(gè)字節(jié)字節(jié) 0 1 AD15AD8 讀或?qū)懫娴刂返囊粋€(gè)讀或?qū)懫娴刂返囊粋€(gè)字(存取非規(guī)則字)字(存取非規(guī)則字) 0 1 1 0 AD15AD8(第一個(gè)總線周(第一個(gè)總線周期放低位數(shù)據(jù)字節(jié))期放低位數(shù)據(jù)字節(jié)) AD7AD0(第二個(gè)總線周(第二個(gè)總線周期放高位數(shù)據(jù)字節(jié))期放高位數(shù)據(jù)字節(jié)) 四、堆棧段的使用四、堆棧
58、段的使用 所謂堆棧是在存儲(chǔ)器中開辟一個(gè)區(qū)域,用來存所謂堆棧是在存儲(chǔ)器中開辟一個(gè)區(qū)域,用來存放需要暫時(shí)保存的數(shù)據(jù),其工作方式是放需要暫時(shí)保存的數(shù)據(jù),其工作方式是“先進(jìn)后先進(jìn)后出出”或或“后進(jìn)先出后進(jìn)先出”的方式。的方式。 8086系統(tǒng)中的堆棧段是由段定義語句在存儲(chǔ)系統(tǒng)中的堆棧段是由段定義語句在存儲(chǔ)器中定義的一個(gè)段,堆棧段容量小于等于器中定義的一個(gè)段,堆棧段容量小于等于64K字字節(jié)。段基址由堆棧寄存器節(jié)。段基址由堆棧寄存器SS指定,棧頂由堆棧指指定,棧頂由堆棧指針針SP指定,堆棧地址由高向低增長(zhǎng),棧底設(shè)在存指定,堆棧地址由高向低增長(zhǎng),棧底設(shè)在存儲(chǔ)器的高地址區(qū)。儲(chǔ)器的高地址區(qū)。 8086堆棧是遞減型
59、的堆棧是遞減型的“滿滿”堆棧。堆棧。2.2.2 8086的輸入輸出結(jié)構(gòu)的輸入輸出結(jié)構(gòu)在在8086微機(jī)系統(tǒng)中,配置了一定數(shù)量的輸入微機(jī)系統(tǒng)中,配置了一定數(shù)量的輸入/輸出設(shè)備,輸出設(shè)備,而這些設(shè)備必須通過輸入而這些設(shè)備必須通過輸入/輸出,即輸出,即I/O接口芯片與接口芯片與CPU相連接。每個(gè)相連接。每個(gè)I/O接口芯片都有一個(gè)或幾個(gè)接口芯片都有一個(gè)或幾個(gè)I/O端端口,像存儲(chǔ)器一樣,每個(gè)口,像存儲(chǔ)器一樣,每個(gè)I/O端口都有一個(gè)惟一的端口端口都有一個(gè)惟一的端口地址,以供地址,以供CPU訪問。訪問??梢詥为?dú)編址,也可以與存儲(chǔ)器一起編址(或者說是作可以單獨(dú)編址,也可以與存儲(chǔ)器一起編址(或者說是作為存儲(chǔ)器的一部分),這兩種方式各有利弊。為存儲(chǔ)器的一部分),這兩種方式各有利弊。由于由于8086用地址總線的低用地址
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游酒店業(yè)智慧酒店預(yù)訂與服務(wù)質(zhì)量提升方案
- 2024年版城市中心停車場(chǎng)租賃合同一
- 二零二五年度房地產(chǎn)項(xiàng)目場(chǎng)地風(fēng)險(xiǎn)評(píng)估與治理方案設(shè)計(jì)合同3篇
- 2025年度環(huán)保型消防設(shè)施供應(yīng)協(xié)議3篇
- 2024版委托代持房產(chǎn)合同
- 2024年貨物運(yùn)輸中介服務(wù)協(xié)議版
- 企業(yè)資源整合合作協(xié)議
- 2024虛擬現(xiàn)實(shí)技術(shù)研發(fā)與授權(quán)許可合同
- 基于人工智能的金融產(chǎn)品創(chuàng)新合作協(xié)議
- 2025年度離婚協(xié)議中子女撫養(yǎng)費(fèi)及教育費(fèi)協(xié)議范本3篇
- 工程力學(xué)課后習(xí)題答案1
- 6S視覺管理之定置劃線顏色管理及標(biāo)準(zhǔn)樣式
- 四年級(jí)數(shù)學(xué)(除數(shù)是兩位數(shù))計(jì)算題專項(xiàng)練習(xí)及答案
- 中考字音字形練習(xí)題(含答案)-字音字形專項(xiàng)訓(xùn)練
- 社區(qū)矯正個(gè)別教育記錄內(nèi)容范文
- 常見婦科三大惡性腫瘤的流行及疾病負(fù)擔(dān)研究現(xiàn)狀
- CTD申報(bào)資料撰寫模板:模塊三之3.2.S.4原料藥的質(zhì)量控制
- (正式版)JTT 1482-2023 道路運(yùn)輸安全監(jiān)督檢查規(guī)范
- 圍手術(shù)期血糖的管理
- 2024年度醫(yī)療器械監(jiān)督管理?xiàng)l例培訓(xùn)課件
- 100以內(nèi)不進(jìn)位不退位加減法練習(xí)題
評(píng)論
0/150
提交評(píng)論