




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二章8086微處
理器及其系統(tǒng)結(jié)構(gòu)
8086的內(nèi)部結(jié)構(gòu)
8086的寄存器組
8086微處理器引腳信號(hào)
8086微處理器典型時(shí)序分析
8086CPU是Intel公司一種16位微處理器,是第三代微處理器的代表,是80X86的基本型。它有16根數(shù)據(jù)線(xiàn)和20根地址線(xiàn),所以可尋址的地址空間是220=1MB,內(nèi)部總線(xiàn)和ALU全部為16位,可以進(jìn)行8位和16位操作。以下是8086CPU實(shí)物圖。8086內(nèi)部結(jié)構(gòu)有兩個(gè)功能模塊,完成一條指令的取指和執(zhí)行功能模塊之一:總線(xiàn)接口單元BIU,主要負(fù)責(zé)讀取指令和操作數(shù)模塊之二:執(zhí)行單元EU,主要負(fù)責(zé)指令譯碼和執(zhí)行8086的功能結(jié)構(gòu)8086內(nèi)部結(jié)構(gòu)內(nèi)部暫存器
IP
ES
SSDSCS總線(xiàn)控制電路外部總線(xiàn)執(zhí)行部分控制電路123456∑ALU標(biāo)志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令隊(duì)列緩沖器執(zhí)行部件(EU)總線(xiàn)接口部件(BIU)16位20位16位8位8088的指令隊(duì)列是4B暫存寄存器從功能上來(lái)看,8086CPU可分為兩部分,即總線(xiàn)接口部件BIU(BusInterfaceUnit)和執(zhí)行部件EU(ExecutionUnit)。在執(zhí)行指令的過(guò)程中,兩個(gè)部件形成了兩級(jí)流水線(xiàn):執(zhí)行部件執(zhí)行指令的同時(shí),總線(xiàn)接口部件完成從主存中預(yù)取后繼續(xù)指令的工作,使指令的讀取與執(zhí)行可以部分重疊??偩€(xiàn)接口部件BIU●功能:負(fù)責(zé)完成取指令送指令隊(duì)列,配合執(zhí)行部件的動(dòng)作,從內(nèi)存單元或I/O端口取操作數(shù),或者將操作結(jié)果送內(nèi)存單元或者I/O端口。BIU由以下部分組成。①地址加法器和段寄存器
1個(gè)20位地址加法器、4個(gè)16位段寄存器,地址加法器將16位的段寄存器內(nèi)容左移4位,與16位偏移地址相加,形成20位的物理地址。②16位指令指針I(yè)P
指令指針I(yè)P用來(lái)存放下一條要執(zhí)行指令在代碼段中的偏移地址。
③指令隊(duì)列緩沖器當(dāng)EU正在執(zhí)行指令中,且不需占用總線(xiàn)時(shí),BIU會(huì)自動(dòng)地進(jìn)行預(yù)取指令操作,將所取得的指令按先后次序存入1個(gè)6字節(jié)的指令隊(duì)列寄存器,該隊(duì)列寄存器按“先進(jìn)先出”的方式工作,并按順序取到EU中執(zhí)行。④總線(xiàn)控制邏輯電路執(zhí)行部件EU功能:負(fù)責(zé)進(jìn)行所有指令的解釋和執(zhí)行。由以下部分組成:①算術(shù)邏輯運(yùn)算單元它是1個(gè)16位的運(yùn)算器,可用于8位、16位二進(jìn)制算術(shù)和邏輯運(yùn)算,也可按指令的尋址方式計(jì)算尋址存儲(chǔ)器所需的16位偏移量。②通用寄存器組它包括4個(gè)16位的數(shù)據(jù)寄存器AX、BX、CX、DX和4個(gè)16位指針與變址寄存器SP、BP與SI、DI。③標(biāo)志寄存器它是1個(gè)16位的寄存器,用來(lái)反映CPU運(yùn)算的狀態(tài)特征和存放某些控制標(biāo)志。
④數(shù)據(jù)暫它協(xié)助ALU完成運(yùn)算,暫存參加運(yùn)算的數(shù)據(jù)。
⑤EU控制電路它負(fù)責(zé)從BIU的指令隊(duì)列緩沖器中取指令,并對(duì)指令譯碼,根據(jù)指令要求向EU內(nèi)部各部件發(fā)出控制命令,以完成各條指令規(guī)定的功能。
BIU與EU的動(dòng)作協(xié)調(diào)原則:總線(xiàn)接口部件(BIU)和執(zhí)行部件(EU)按以下流水線(xiàn)技術(shù)原則協(xié)調(diào)工作,共同完成所要求的信息處理任務(wù).①每當(dāng)8086的指令隊(duì)列中有兩個(gè)空字節(jié),BIU就會(huì)自動(dòng)把指令取到指令隊(duì)列中。其取指的順序是按指令在程序中出現(xiàn)的前后順序。②每當(dāng)EU準(zhǔn)備執(zhí)行一條指令時(shí),它會(huì)從BIU部件的指令隊(duì)列前部取出指令的代碼,然后用幾個(gè)時(shí)鐘周期去執(zhí)行指令。在執(zhí)行指令的過(guò)程中,如果必須訪(fǎng)問(wèn)存儲(chǔ)器或者I/O端口,那么EU就會(huì)請(qǐng)求BIU,進(jìn)入總線(xiàn)周期,完成訪(fǎng)問(wèn)內(nèi)存或者I/O端口的操作;如果此時(shí)BIU正好處于空閑狀態(tài),會(huì)立即響應(yīng)EU的總線(xiàn)請(qǐng)求。如BIU正將某個(gè)指令字節(jié)取到指令隊(duì)列中,則BIU將首先完成這個(gè)取指令的總線(xiàn)周期,然后再去響應(yīng)EU發(fā)出的訪(fǎng)問(wèn)總線(xiàn)的請(qǐng)求。③當(dāng)指令隊(duì)列已滿(mǎn),且EU又沒(méi)有總線(xiàn)訪(fǎng)問(wèn)請(qǐng)求時(shí),BIU便進(jìn)入空閑狀態(tài)。④在執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時(shí),由于待執(zhí)行指令的順序發(fā)生了變化,則指令隊(duì)列中已經(jīng)裝入的字節(jié)被自動(dòng)消除,BIU會(huì)接著往指令隊(duì)列裝入轉(zhuǎn)向的另一程序段中的指令代碼。
BIU與EU兩者的工作是不同步的,正是這種既相互獨(dú)立又相互配合的關(guān)系,使得8086可以在執(zhí)行指令的同時(shí),進(jìn)行取指令代碼的操作,也就是說(shuō)BIU與EU是一種并行工作方式,改變了以往計(jì)算機(jī)取指令→譯碼→執(zhí)行指令的串行工作方式,實(shí)現(xiàn)流水線(xiàn)作業(yè),大大提高了工作效率。小結(jié)CPU內(nèi)部組成及各完成的功能
8086CPU由總線(xiàn)接口部件BIU和執(zhí)行部件EU兩部分組成??偩€(xiàn)接口部件負(fù)責(zé)與存儲(chǔ)器和I0端口之間傳送數(shù)據(jù),總線(xiàn)口部件主要包括:4個(gè)段地址寄存器;一個(gè)指令指針寄存器IP;一個(gè)20位地址加法器;6字節(jié)指令隊(duì)列;內(nèi)部寄存器;總線(xiàn)控制電路。執(zhí)行部件負(fù)責(zé)指令的執(zhí)行,主要包括:8個(gè)16位通用寄存器;標(biāo)志寄存器;算術(shù)邏輯單元ALU和EU控制電路。第二章8086微處
理器及其系統(tǒng)結(jié)構(gòu)
8086的功能結(jié)構(gòu)
8086的寄存器組
8086微處理器引腳信號(hào)
8086微處理器典型時(shí)序分析8086的寄存器組執(zhí)行單元EU8個(gè)通用寄存器(AX/BX/CX/DXSI/DIBP/SP)1個(gè)標(biāo)志寄存器(FR)1個(gè)指令指針寄存器(IP)4個(gè)段寄存器(CS/DS/ES/SS)8086的寄存器組微處理器是微機(jī)的硬件核心,主要包含指令執(zhí)行的運(yùn)算和控制部件,還有多種寄存器,對(duì)匯編語(yǔ)言程序員來(lái)說(shuō),8086內(nèi)部結(jié)構(gòu)就是可編程的寄存器組執(zhí)行單元EU8個(gè)通用寄存器(AX/BX/CX/DXSI/DIBP/SP)1個(gè)標(biāo)志寄存器(FR)1個(gè)指令指針寄存器(IP)4個(gè)段寄存器(CS/DS/ES/SS)8086CPU內(nèi)部寄存器如圖所示。
數(shù)據(jù)寄存器數(shù)據(jù)寄存器用來(lái)存放計(jì)算的結(jié)果和操作數(shù)每個(gè)寄存器又有它們各自的專(zhuān)用目的:AX——16位累加器,使用頻度最高,用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息等;AL為8位累加器。BX——基址寄存器,常用來(lái)做基址指針,指向一批連續(xù)存放操作數(shù)的基地址。CX——計(jì)數(shù)器,作為循環(huán)和串操作等指令中的隱含計(jì)數(shù)器。DX——數(shù)據(jù)寄存器,用來(lái)存放外設(shè)端口的16位地址,或雙字長(zhǎng)數(shù)據(jù)的高16位。變址寄存器變址寄存器常用于存儲(chǔ)器尋址時(shí)提供地址SI是源變址寄存器DI是目的變址寄存器在串操作類(lèi)指令中,SI和DI具有特別的功能指針寄存器指針寄存器用于尋址內(nèi)存堆棧內(nèi)的數(shù)據(jù)SP為堆棧指針寄存器,指示棧頂?shù)钠频刂?。SP不能再用于其他目的,具有專(zhuān)用性BP為基址指針寄存器,表示數(shù)據(jù)在堆棧段中的基地址SP/BP寄存器與SS段寄存器聯(lián)合使用以確定堆棧段中的存儲(chǔ)單元地址堆棧(Stack)堆棧是主存中一個(gè)特殊的區(qū)域它采用先進(jìn)后出FILO(FirstInLastOut)或后進(jìn)先出LIFO(LastInFirstOut)的原則進(jìn)行存取操作,而不是隨機(jī)存取操作方式。堆棧通常由處理器自動(dòng)維持。在8086中,由堆棧段寄存器SS和堆棧指針寄存器SP共同指示
8086CPU是Intel公司一種16位微處理器,是第三代微處理器的代表,是80X86的基本型。它有16根數(shù)據(jù)線(xiàn)和20根地址線(xiàn),所以可尋址的地址空間是220=1MB,內(nèi)部總線(xiàn)和ALU全部為16位,可以進(jìn)行8位和16位操作。以下是8086CPU實(shí)物圖。8086內(nèi)部結(jié)構(gòu)內(nèi)部暫存器
IP
ES
SSDSCS總線(xiàn)控制電路外部總線(xiàn)執(zhí)行部分控制電路123456∑ALU標(biāo)志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令隊(duì)列緩沖器執(zhí)行部件(EU)總線(xiàn)接口部件(BIU)16位20位16位8位8088的指令隊(duì)列是4B暫存寄存器8086的寄存器組對(duì)匯編語(yǔ)言程序員來(lái)說(shuō),8086內(nèi)部結(jié)構(gòu)就是可編程的寄存器組執(zhí)行單元EU8個(gè)通用寄存器
1個(gè)標(biāo)志寄存器
1個(gè)指令指針寄存器
4個(gè)段寄存器標(biāo)志寄存器標(biāo)志(Flag)用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式8086處理器的各種標(biāo)志形成了一個(gè)16位的標(biāo)志寄存器FROF111512DF10IF9TF8SF7ZF65AF43PF21CF0進(jìn)位標(biāo)志CF(CarryFlag)當(dāng)運(yùn)算結(jié)果的最高有效位有進(jìn)位(加法)或借位(減法)時(shí),進(jìn)位標(biāo)志置1,即CF=1;否則CF=0。0AAH+7CH=(1)26H,有進(jìn)位:CF=13AH+7CH=,CF=0B6H0零標(biāo)志ZF(ZeroFlag)若運(yùn)算結(jié)果為0,則ZF=1;否則ZF=03AH+7CH=0B6H,結(jié)果不是零:ZF=084H+7CH=00,結(jié)果為零:ZF=1注意:ZF為1表示的結(jié)果是0符號(hào)標(biāo)志SF(SignFlag)運(yùn)算結(jié)果最高位為1,則SF=1;否則SF=03AH+7CH=0B6H,最高位D7=1:SF=184H+7CH=(1)00H,最高位D7=0:SF=0奇偶標(biāo)志PF(ParityFlag)當(dāng)運(yùn)算結(jié)果最低字節(jié)中“1”的個(gè)數(shù)為零或偶數(shù)時(shí),PF=1;否則PF=0。例如:3AH+7CH=B6H=10110110B,結(jié)果中有5個(gè)1,是奇數(shù),則PF=0
注意:PF標(biāo)志僅反映最低8位中“1”的個(gè)數(shù)是偶或奇,即使是進(jìn)行16位字操作。溢出標(biāo)志OF(OverflowFlag)若算術(shù)運(yùn)算的結(jié)果有溢出,則OF=1;否則OF=0。例如:3AH+7CH=B6H 產(chǎn)生溢出:OF=1AAH+7CH=26H 沒(méi)有溢出:OF=0問(wèn)題:什么是溢出?溢出和進(jìn)位有什么區(qū)別?處理器怎么處理,程序員如何運(yùn)用?如何判斷是否溢出?溢出標(biāo)志OF(OverflowFlag)若算術(shù)運(yùn)算的結(jié)果有溢出,則OF=1;否則OF=0。問(wèn)題:什么是溢出?溢出和進(jìn)位有什么區(qū)別?程序員如何運(yùn)用?什么是溢出處理器內(nèi)部以補(bǔ)碼表示有符號(hào)數(shù)8位表達(dá)的整數(shù)范圍是:+127~-12816位表達(dá)的范圍是:+32767~-32768如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出有溢出,說(shuō)明有符號(hào)數(shù)的運(yùn)算結(jié)果不正確什么是溢出處理器內(nèi)部以補(bǔ)碼表示有符號(hào)數(shù)8位表達(dá)的整數(shù)范圍是:+127~-12816位表達(dá)的范圍是:+32767~-32768如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出有溢出,說(shuō)明有符號(hào)數(shù)的運(yùn)算結(jié)果不正確3AH+7CH=0B6H,就是58+124=182,已經(jīng)超出-128~+127范圍,產(chǎn)生溢出,故OF=1;什么是溢出處理器內(nèi)部以補(bǔ)碼表示有符號(hào)數(shù)8位表達(dá)的整數(shù)范圍是:+127~-12816位表達(dá)的范圍是:+32767~-32768如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出有溢出,說(shuō)明有符號(hào)數(shù)的運(yùn)算結(jié)果不正確3AH+7CH=0B6H,就是58+124=182,已經(jīng)超出-128~+127范圍,產(chǎn)生溢出,故OF=1;例:96=01100000
+65=01000001161=10100001CF=0無(wú)進(jìn)位
OF=1有溢出例:
10000001
+
0000001110000100
OF=0無(wú)溢出例:96=01100000
+65=01000001161=10100001CF=0無(wú)進(jìn)位
OF=1有溢出CF=0無(wú)進(jìn)位
7.有符號(hào)數(shù)的擴(kuò)展運(yùn)算CBW
[+96]補(bǔ)=0000000001100000+[+65]補(bǔ)=0000000001000001[+161]補(bǔ)=0000000010100001OF=0(無(wú)溢出,結(jié)果對(duì))
7.有符號(hào)數(shù)的擴(kuò)展運(yùn)算CBW(續(xù))
[+46]補(bǔ)=00101110B,[-46]補(bǔ)=11010010B,從8位擴(kuò)展到16位[+46]補(bǔ)=0000000000101110B=002EH[-46]補(bǔ)=1111111111010010B=0FFD2H
什么是溢出處理器內(nèi)部以補(bǔ)碼表示有符號(hào)數(shù)8位表達(dá)的整數(shù)范圍是:+127~-12816位表達(dá)的范圍是:+32767~-32768如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出有溢出,說(shuō)明有符號(hào)數(shù)的運(yùn)算結(jié)果不正確3AH+7CH=0B6H,就是58+124=182,已經(jīng)超出-128~+127范圍,產(chǎn)生溢出,故OF=1;另一方面,補(bǔ)碼0B6H表達(dá)真值是-74,顯然運(yùn)算結(jié)果也不正確溢出和進(jìn)位的區(qū)別溢出標(biāo)志OF和進(jìn)位標(biāo)志CF是兩個(gè)意義不同的標(biāo)志進(jìn)位標(biāo)志表示無(wú)符號(hào)數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果仍然正確;溢出標(biāo)志表示有符號(hào)數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果已經(jīng)不正確。請(qǐng)看例子溢出和進(jìn)位的對(duì)比例1:3AH+7CH=0B6H無(wú)符號(hào)數(shù)運(yùn)算:58+124=182
范圍內(nèi),無(wú)進(jìn)位有符號(hào)數(shù)運(yùn)算:58+124=182
范圍外,有溢出例2:0AAH+7CH=(1)26H無(wú)符號(hào)數(shù)運(yùn)算: 170+124=294
范圍外,有進(jìn)位有符號(hào)數(shù)運(yùn)算: -86+124=28
范圍內(nèi),無(wú)溢出如何運(yùn)用溢出和進(jìn)位處理器對(duì)兩個(gè)操作數(shù)進(jìn)行運(yùn)算時(shí),按照無(wú)符號(hào)數(shù)求得結(jié)果,并相應(yīng)設(shè)置進(jìn)位標(biāo)志CF;同時(shí),根據(jù)是否超出有符號(hào)數(shù)的范圍設(shè)置溢出標(biāo)志OF。應(yīng)該利用哪個(gè)標(biāo)志,則由程序員來(lái)決定。也就是說(shuō),如果將參加運(yùn)算的操作數(shù)認(rèn)為是無(wú)符號(hào)數(shù),就應(yīng)該關(guān)心進(jìn)位;認(rèn)為是有符號(hào)數(shù),則要注意是否溢出。溢出的判斷判斷運(yùn)算結(jié)果是否溢出有一個(gè)簡(jiǎn)單的規(guī)則:只有當(dāng)兩個(gè)相同符號(hào)數(shù)相加(包括不同符號(hào)數(shù)相減),而運(yùn)算結(jié)果的符號(hào)與原數(shù)據(jù)符號(hào)相反時(shí),產(chǎn)生溢出;因?yàn)?,此時(shí)的運(yùn)算結(jié)果顯然不正確其他情況下,則不會(huì)產(chǎn)生溢出輔助進(jìn)位標(biāo)志AF(AuxiliaryCarryFlag)運(yùn)算時(shí)D3位(低半字節(jié))有進(jìn)位或借位時(shí),AF=1;否則AF=0。例如:3AH+7CH=B6H D3向前有進(jìn)位:AF=1
這個(gè)標(biāo)志主要由處理器內(nèi)部使用,用于十進(jìn)制算術(shù)運(yùn)算的調(diào)整,用戶(hù)一般不必關(guān)心。方向標(biāo)志DF(DirectionFlag)用于串操作指令中,控制地址的變化方向:設(shè)置DF=0,串操作后存儲(chǔ)器地址自動(dòng)增量(增址);設(shè)置DF=1,串操作后存儲(chǔ)器地址自動(dòng)減量(減址)。方向標(biāo)志DF(DirectionFlag)用于串操作指令中,控制地址的變化方向:設(shè)置DF=0,串操作后存儲(chǔ)器地址自動(dòng)增量(增址);設(shè)置DF=1,串操作后存儲(chǔ)器地址自動(dòng)減量(減址)。CLD指令復(fù)位方向標(biāo)志:DF=0STD指令置位方向標(biāo)志:DF=1中斷允許標(biāo)志IF(Interrupt-enableFlag)用于控制外部可屏蔽中斷是否可以被處理器響應(yīng):設(shè)置IF=1,則允許中斷;設(shè)置IF=0,則禁止中斷。中斷允許標(biāo)志IF(Interrupt-enableFlag)用于控制外部可屏蔽中斷是否可以被處理器響應(yīng):設(shè)置IF=1,則允許中斷;設(shè)置IF=0,則禁止中斷。CLI指令復(fù)位中斷標(biāo)志:IF=0STI指令置位中斷標(biāo)志:IF=1中斷允許標(biāo)志IF(Interrupt-enableFlag)用于控制外部可屏蔽中斷是否可以被處理器響應(yīng):設(shè)置IF=1,則允許中斷;設(shè)置IF=0,則禁止中斷。CLI指令復(fù)位中斷標(biāo)志:IF=0STI指令置位中斷標(biāo)志:IF=1
要注意的是,由于在復(fù)位操作時(shí),標(biāo)志寄存器被清0,因此其中的中斷標(biāo)志IF也被清0,這樣就阻止了所有的可屏蔽中斷請(qǐng)求,都不能響應(yīng),即復(fù)位以后,若需要必需用開(kāi)中斷指令來(lái)重新設(shè)置IF標(biāo)志。陷阱標(biāo)志TF(TrapFlag)用于控制處理器是否進(jìn)入單步執(zhí)行方式:設(shè)置TF=0,處理器正常工作;設(shè)置TF=1,處理器每執(zhí)行一條指令就中斷一次,中斷編號(hào)為1(稱(chēng)單步中斷)TF也被稱(chēng)為單步標(biāo)志。單步執(zhí)行和單步調(diào)試?yán)脝尾街袛嗫蓪?duì)程序進(jìn)行逐條指令的調(diào)試。這種逐條指令調(diào)試程序的方法就是單步調(diào)試。標(biāo)志的分類(lèi)指令的執(zhí)行與標(biāo)志有很大關(guān)系。標(biāo)志分成兩類(lèi):狀態(tài)標(biāo)志——用來(lái)記錄程序運(yùn)行結(jié)果的狀態(tài)信息,許多指令的執(zhí)行都將自動(dòng)地改變它。
CF
OF
AF
SF
ZF
PF控制標(biāo)志——可由用戶(hù)根據(jù)需要用指令進(jìn)行設(shè)置,用于控制處理器的具體工作方式。
DF
IF
TF8086的寄存器組對(duì)匯編語(yǔ)言程序員來(lái)說(shuō),8086內(nèi)部結(jié)構(gòu)就是可編程的寄存器組執(zhí)行單元EU8個(gè)通用寄存器
1個(gè)標(biāo)志寄存器
1個(gè)指令指針寄存器
4個(gè)段寄存器指令指針寄存器IP指令指針寄存器IP,指示代碼段中指令的偏移地址它與代碼段寄存器CS聯(lián)用,確定下一條指令的物理地址計(jì)算機(jī)通過(guò)CS:IP寄存器來(lái)取指,從而控制指令序列的執(zhí)行流程IP寄存器是一個(gè)專(zhuān)用寄存器,用戶(hù)不能直接訪(fǎng)問(wèn)。
順序執(zhí)行程序時(shí),CPU每取一個(gè)指令字節(jié),IP自動(dòng)加,指向下一個(gè)要讀取的字節(jié);當(dāng)IP單獨(dú)改變時(shí)或當(dāng)CS和IP同時(shí)改變時(shí),會(huì)發(fā)生程序轉(zhuǎn)移。
順序執(zhí)行程序時(shí),CPU每取一個(gè)指令字節(jié),IP自動(dòng)加1,指向下一個(gè)要讀取的字節(jié);當(dāng)IP單獨(dú)改變時(shí),會(huì)發(fā)生段內(nèi)的程序轉(zhuǎn)移;當(dāng)CS和IP同時(shí)改變時(shí),會(huì)產(chǎn)生段間的程序轉(zhuǎn)移。8086的寄存器組對(duì)匯編語(yǔ)言程序員來(lái)說(shuō),8086內(nèi)部結(jié)構(gòu)就是可編程的寄存器組執(zhí)行單元EU8個(gè)通用寄存器
1個(gè)標(biāo)志寄存器
1個(gè)指令指針寄存器
4個(gè)段寄存器在對(duì)存儲(chǔ)器進(jìn)行操作時(shí),內(nèi)存一般可分成4個(gè)段,分別稱(chēng)為代碼段、數(shù)據(jù)段、堆棧段和附加數(shù)據(jù)段,每個(gè)段存放不同性質(zhì)的數(shù)據(jù),進(jìn)行不同的操作。代碼段CS:存放指令。
堆棧段SS:程序的堆棧區(qū)(子程序調(diào)用、系統(tǒng)功能調(diào)用、中斷處理等操作使用)或作為臨時(shí)數(shù)據(jù)存儲(chǔ)區(qū)。段寄存器
4個(gè)邏輯段的段基址分別放在相應(yīng)的代碼段寄存器CS、數(shù)據(jù)段寄存器DS、堆棧段寄存器SS和附加段寄存器ES中,由這4個(gè)段寄存器來(lái)指明每個(gè)段在內(nèi)存中的起始地址。
數(shù)據(jù)段DS:存放程序所使用的數(shù)據(jù)。
附加數(shù)據(jù)段ES:輔助的數(shù)據(jù)區(qū)(串操作指令使用)。第二章8086微處
理器及其系統(tǒng)結(jié)構(gòu)
8086的功能結(jié)構(gòu)
8086的寄存器組
8086微處理器引腳信號(hào)
8086微處理器典型時(shí)序分析學(xué)習(xí)外部特性,首先了解其引腳信號(hào),關(guān)注以下幾個(gè)方面:引腳的功能信號(hào)的流向有效電平三態(tài)能力輸出正常的低電平、高電平外,還可以輸出高阻的第三態(tài)8086CPU引腳功能8086與8088CPU引腳區(qū)別:8086有16位數(shù)據(jù)線(xiàn),與地址線(xiàn)A0-A15兼用;20位地址線(xiàn),尋址空間達(dá)到1MB;8088有8位數(shù)據(jù)線(xiàn),與地址線(xiàn)A0-A7兼用;8086與8088CPU引腳28信號(hào)相反(M/IO,M/IO)引腳34信號(hào),8086與8088CPU功能稍有不同。8086CPU引腳功能8086與8088CPU引腳區(qū)別:8086有16位數(shù)據(jù)線(xiàn),與地址線(xiàn)A0-A15兼用;20位地址線(xiàn),尋址空間達(dá)到1MB;8088有8位數(shù)據(jù)線(xiàn),與地址線(xiàn)A0-A7兼用;8086與8088CPU引腳28信號(hào)相反(M/IO,M/IO)引腳34信號(hào),8086與8088CPU功能稍有不同。什么是分時(shí)復(fù)用?分時(shí)復(fù)用就是一個(gè)引腳在不同的時(shí)刻具有兩個(gè)甚至多個(gè)作用最常見(jiàn)的總線(xiàn)復(fù)用是數(shù)據(jù)和地址引腳復(fù)用總線(xiàn)復(fù)用的目的是為了減少對(duì)外引腳個(gè)數(shù)8086CPU的數(shù)據(jù)地址線(xiàn)采用了總線(xiàn)復(fù)用方法什么是分時(shí)復(fù)用?分時(shí)復(fù)用就是一個(gè)引腳在不同的時(shí)刻具有兩個(gè)甚至多個(gè)作用最常見(jiàn)的總線(xiàn)復(fù)用是數(shù)據(jù)和地址引腳復(fù)用總線(xiàn)復(fù)用的目的是為了減少對(duì)外引腳個(gè)數(shù)8088/8086CPU的數(shù)據(jù)地址線(xiàn)采用了總線(xiàn)復(fù)用方法最小模式下的系統(tǒng)典型配置地址/數(shù)據(jù)線(xiàn)地址/狀態(tài)線(xiàn)非屏蔽中斷可屏蔽中斷請(qǐng)求最小最大模式控制MN/MX=1,最小模式MN/MX=0,最大模式讀信號(hào)總線(xiàn)保持請(qǐng)求信號(hào)總線(xiàn)保持相應(yīng)信號(hào)寫(xiě)信號(hào)存儲(chǔ)器/IO控制信號(hào)M/IO=1,選中存儲(chǔ)器M/IO=0,選中IO接口數(shù)據(jù)發(fā)送/接收信號(hào)DT/R=1,發(fā)送DT/R=0,接收數(shù)據(jù)允許信號(hào)地址允許信號(hào)中斷響應(yīng)信號(hào)測(cè)試信號(hào):執(zhí)行WAIT指令,CPU處于空轉(zhuǎn)等待;TEST有效時(shí),結(jié)束等待狀態(tài)。準(zhǔn)備好信號(hào):表示內(nèi)存或I/O設(shè)備準(zhǔn)備好,可以進(jìn)行數(shù)據(jù)傳輸。復(fù)位信號(hào)8086CPU引腳功能8086內(nèi)部結(jié)構(gòu)內(nèi)部暫存器
IP
ES
SSDSCS總線(xiàn)控制電路外部總線(xiàn)執(zhí)行部分控制電路123456∑ALU標(biāo)志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令隊(duì)列緩沖器執(zhí)行部件(EU)總線(xiàn)接口部件(BIU)16位20位16位8位8088的指令隊(duì)列是4B暫存寄存器地址/數(shù)據(jù)線(xiàn)地址/狀態(tài)線(xiàn)非屏蔽中斷可屏蔽中斷請(qǐng)求最小最大模式控制MN/MX=1,最小模式MN/MX=0,最大模式讀信號(hào)總線(xiàn)保持請(qǐng)求信號(hào)總線(xiàn)保持相應(yīng)信號(hào)寫(xiě)信號(hào)存儲(chǔ)器/IO控制信號(hào)M/IO=1,選中存儲(chǔ)器M/IO=0,選中IO接口數(shù)據(jù)發(fā)送/接收信號(hào)DT/R=1,發(fā)送DT/R=0,接收數(shù)據(jù)允許信號(hào)地址允許信號(hào)中斷響應(yīng)信號(hào)測(cè)試信號(hào):執(zhí)行WAIT指令,CPU處于空轉(zhuǎn)等待;TEST有效時(shí),結(jié)束等待狀態(tài)。準(zhǔn)備好信號(hào):表示內(nèi)存或I/O設(shè)備準(zhǔn)備好,可以進(jìn)行數(shù)據(jù)傳輸。復(fù)位信號(hào)8086CPU引腳功能學(xué)習(xí)外部特性,首先了解其引腳信號(hào),關(guān)注以下幾個(gè)方面:引腳的功能信號(hào)的流向有效電平三態(tài)能力輸出正常的低電平、高電平外,還可以輸出高阻的第三態(tài)“引腳”小結(jié)8086CPU可分成三類(lèi)信號(hào):16位數(shù)據(jù)線(xiàn):引腳D0~D1520位地址線(xiàn):A0~A19控制線(xiàn):ALE、M/IO、WR*、RD*、READYBHE*、MN/MX、TEST*、DT/R、DEN*INTR、INTA*、NMI,HOLD、HLDARESET、CLK、Vcc、GND最小模式下的系統(tǒng)典型配置“引腳”小結(jié)8086CPU可分成三類(lèi)信號(hào):16位數(shù)據(jù)線(xiàn):引腳D0~D1520位地址線(xiàn):A0~A19控制線(xiàn):ALE、M/IO、WR*、RD*、READYBHE*、MN/MX、TEST*、DT/R、DEN*INTR、INTA*、NMI,HOLD、HLDARESET、CLK、Vcc、GND“引腳”小結(jié)8086CPU可分成三類(lèi)信號(hào):16位數(shù)據(jù)線(xiàn):引腳D0~D1520位地址線(xiàn):A0~A19控制線(xiàn):ALE*、M/IO*、WR*、RD、READYBHE、MN/MX、TEST、DT/R*、DEN*INTR、INTA*、NMI,HOLD*、HLDA*RESET、CLK、Vcc、GND
8086CPU可以在兩種模式下工作,即最大模式和最小模式。當(dāng)CPU處于不同工作模式時(shí),其部分引腳的功能是不同的,圖中帶有括號(hào)的引腳為最大模式時(shí)的引腳名稱(chēng)。(1)兩種工作方式功能相同的引腳●AD15~AD0(39腳、2腳~16腳):地址/數(shù)據(jù)總線(xiàn),雙向,三態(tài)。是采用分時(shí)工作方式傳送地址或數(shù)據(jù)的復(fù)用引腳。根據(jù)不同時(shí)鐘周期的要求,決定當(dāng)前是傳送要訪(fǎng)問(wèn)的存儲(chǔ)單元或I/O端口的低16位地址,還是傳送16位數(shù)據(jù),或是處于高阻狀態(tài)。●A19/S6~A16/S3(35腳~38腳):地址/狀態(tài)總線(xiàn),輸出,三態(tài)。是采用分時(shí)工作方式傳送地址或狀態(tài)的復(fù)用引腳,其中A19~A16為20位地址總線(xiàn)的高4位地址,S6~S3是狀態(tài)信號(hào)。S6:指示8086當(dāng)前是否與總線(xiàn)相連,當(dāng)S6=0表示8086當(dāng)前與總線(xiàn)相連。S5:表明中斷允許標(biāo)志當(dāng)前的設(shè)置。S5=0,表示CPU中斷是關(guān)閉的,禁止一切可屏蔽中斷的中斷請(qǐng)求;S5=1表示CPU中斷是開(kāi)放的,允許一切可屏蔽中斷的中斷申請(qǐng)。S4和S3:組合起來(lái)指出當(dāng)前使用的段寄存器的情況。●BHE/S7(34腳):高8位數(shù)據(jù)總線(xiàn)允許/狀態(tài)信號(hào),輸出,三態(tài)。高8位數(shù)據(jù)總線(xiàn)允許信號(hào),當(dāng)?shù)碗娖接行r(shí),表明在高8位數(shù)據(jù)總線(xiàn)D15~D8上傳送1個(gè)字節(jié)的數(shù)據(jù);S7為設(shè)備的狀態(tài)信號(hào)。
●RD(32腳):讀信號(hào),輸出,三態(tài),低電平有效。當(dāng)信號(hào)為低電平時(shí),表示CPU正在進(jìn)行讀存儲(chǔ)器或讀I/O端口的操作。08H01H存儲(chǔ)器00H02H00H03H04H00H00000000
0000
00000000FFFFFFFF
FFFF
FFFFFFFD地扯線(xiàn)A19~A000000000
0000
0000000100000000
0000
0000001000000000
0000
0000001100000000
0000
00000100FFFFFFFF
FFFF
FFFFFFFEFFFFFFFF
FFFF
FFFF
FFFF存儲(chǔ)單元個(gè)數(shù):220=1M每個(gè)存儲(chǔ)單元存8位二進(jìn)制數(shù)08H01H存儲(chǔ)器00H02H00H03H00H04H00HXXXXXXXXXXXXXXXX0000XXXXXXXX
XXXX
XXXX0001XXXXXXXX
XXXX
XXXX0010XXXXXXXX
XXXX
XXXX0011XXXXXXXX
XXXX
XXXX0100XXXXXXXX
XXXX
XXXX0101地扯線(xiàn)數(shù)據(jù)線(xiàn)D7~D0D7~D0D7~D0D15~D8D15~D8D15~D8A19~A0XXXXXXXX
XXXX
XXXX0110XXXXXXXX
XXXX
XXXX0111D15~D8D7~D016位微機(jī)系統(tǒng)中的典型存儲(chǔ)器接口●READY(22腳):準(zhǔn)備就緒信號(hào),輸入,高電平有效。當(dāng)READY=1時(shí),表示CPU訪(fǎng)問(wèn)的存儲(chǔ)器或I/O端口已準(zhǔn)備好傳送數(shù)據(jù)。若CPU在總線(xiàn)周期T3狀態(tài)檢測(cè)到READY信號(hào)為低電平,表示存儲(chǔ)器或I/O設(shè)備尚未準(zhǔn)備就緒,CPU自動(dòng)插入一個(gè)或多個(gè)等待狀態(tài)TW,直到READY信號(hào)變?yōu)楦唠娖綖橹埂!馡NTR(18腳):可屏蔽請(qǐng)求信號(hào),輸入,電平觸發(fā),高電平有效。當(dāng)INTR=1時(shí),表示外設(shè)向CPU發(fā)出中斷請(qǐng)求,CPU在當(dāng)前指令周期的最后一個(gè)T狀態(tài)去采樣該信號(hào),若此時(shí)IF=1,則CPU響應(yīng)中斷,停止執(zhí)行原指令序列,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序?!馧MI(17腳):非屏蔽中斷請(qǐng)求信號(hào),輸入,上升沿有效。當(dāng)NMI引腳上有一個(gè)上升沿有效的觸發(fā)信號(hào)時(shí),表明CPU內(nèi)部或I/O設(shè)備提出了非屏蔽的中斷請(qǐng)求,CPU會(huì)在結(jié)束當(dāng)前所執(zhí)行的指令后,立即響應(yīng)中斷請(qǐng)求?!馮EST(23腳):測(cè)試信號(hào),輸入,低電平有效。當(dāng)CPU執(zhí)行WAIT指令時(shí),每隔5個(gè)時(shí)鐘周期對(duì)進(jìn)行一次測(cè)試,若測(cè)到無(wú)效,CPU繼續(xù)處于等待狀態(tài),直到檢測(cè)到為低電平。●RESET(21腳):復(fù)位信號(hào),輸入,高電平有效。RESET信號(hào)至少要保持4個(gè)時(shí)鐘周期。CPU接到RESET信號(hào)后,停止進(jìn)行操作,并將標(biāo)志寄存器、IP、DS、SS、ES及指令隊(duì)列清零,將CS設(shè)置為FFFFH。當(dāng)復(fù)位信號(hào)為低電平時(shí),CPU從FFFF0H開(kāi)始執(zhí)行程序?!馛LK(19腳):主時(shí)鐘信號(hào),輸入。8086要求時(shí)鐘信號(hào)的占空比為33%,即1/3周期為高電平,2/3周期為低電平。8086的時(shí)鐘頻率要求為5MHz,8086-1的時(shí)鐘頻率為10MHz,8086-2的時(shí)鐘頻率為8MHz。不同型號(hào)的芯片使用的時(shí)鐘頻率不同?!馟ND(1、20腳):接地引腳?!馦N/MX(33腳):最小/最大模式輸入控制信號(hào)。引腳用來(lái)設(shè)置8086CPU的工作模式。當(dāng)為高電平(接+5V)時(shí),CPU工作在最小模式;當(dāng)為低電平(接地)時(shí),CPU工作在最大模式。●VCC(40腳):電源輸入引腳。8086CPU采用單一+5V電源供電。(2)工作于最小模式時(shí)使用的引腳當(dāng)MN/MX引腳接高電平時(shí),CPU工作于最小模式。此時(shí),引腳24~31的含義及其功能如下所示?!馦/IO(28腳):存儲(chǔ)器或I/O端口訪(fǎng)問(wèn)信號(hào),三態(tài)輸出。M/IO=1時(shí),表示CPU當(dāng)前正在訪(fǎng)問(wèn)存儲(chǔ)器;M/IO=0時(shí),表示CPU當(dāng)前正在訪(fǎng)問(wèn)I/O端口?!馱R(29腳):寫(xiě)信號(hào),三態(tài)輸出,低電平有效。WR=0時(shí),表示當(dāng)前CPU正在對(duì)存儲(chǔ)器或I/O端口進(jìn)行寫(xiě)操作?!馡NTA(24腳):可屏蔽中斷響應(yīng)信號(hào),輸出,低電平有效。為低電平時(shí),表示CPU已經(jīng)響應(yīng)外設(shè)的中斷請(qǐng)求,即將執(zhí)行中斷服務(wù)程序。●ALE(25腳):地址鎖存允許信號(hào),輸出,高電平有效。用來(lái)做地址鎖存器8282的片選信號(hào),使由AD15~AD0分時(shí)發(fā)出的地址信息和數(shù)據(jù)信息分開(kāi)?!馜T/R(27腳):數(shù)據(jù)發(fā)送/接收信號(hào),輸出,三態(tài)。DT/R信號(hào)用來(lái)控制數(shù)據(jù)傳送的方向。DT/R=1時(shí),CPU發(fā)送數(shù)據(jù)到存儲(chǔ)器或I/O端口;DT/R=0時(shí),CPU接收來(lái)自存儲(chǔ)器或I/O端口的數(shù)據(jù)?!馜EN(26腳):數(shù)據(jù)允許控制信號(hào),輸出,三態(tài),低電平有效。信號(hào)用作總線(xiàn)收發(fā)器的選通控制信號(hào)。當(dāng)為低電平時(shí),表明CPU進(jìn)行數(shù)據(jù)的讀/寫(xiě)操作?!馠OLD(31腳):總線(xiàn)保持請(qǐng)求信號(hào),輸入,高電平有效。在DMA數(shù)據(jù)傳送方式中,由總線(xiàn)控制器8237A發(fā)出一個(gè)高電平有效的總線(xiàn)請(qǐng)求信號(hào),通過(guò)HOLD引腳輸入到CPU,請(qǐng)求CPU讓出總線(xiàn)控制權(quán)?!馠LDA(30腳):總線(xiàn)保持響應(yīng)信號(hào),輸出,高電平有效。HLDA是與HOLD配合使用的聯(lián)絡(luò)信號(hào)。在HLDA有效期間,HLDA引腳輸出一個(gè)高電平有效的響應(yīng)信號(hào),同時(shí)總線(xiàn)將處于浮空狀態(tài),CPU讓出對(duì)總線(xiàn)的控制權(quán),將其交付給申請(qǐng)使用總線(xiàn)的8237A控制器使用,總線(xiàn)使用完后,會(huì)使HOLD信號(hào)變?yōu)榈碗娖?,CPU又重新獲得對(duì)總線(xiàn)的控制權(quán)。(3)工作于最大模式時(shí)使用的引腳當(dāng)引腳MN/MX接低電平時(shí),CPU工作于最大模式。此時(shí),引腳24~31的含義及其功能如下所示。●S2、S1、S0(28腳~26腳):總線(xiàn)周期狀態(tài)信號(hào),三態(tài),輸出,低電平有效。它們表明當(dāng)前總線(xiàn)周期所進(jìn)行的操作類(lèi)型。
S2、S1、S0
:輸出(28、27、26引腳)
000中斷響應(yīng)
001讀I/O口
010寫(xiě)I/O口
011暫存
100取指令
101讀存儲(chǔ)器
110寫(xiě)存儲(chǔ)器
111無(wú)源狀態(tài)●RQ/GT1、RQ/GT0(30、31腳):總線(xiàn)請(qǐng)求信號(hào)(輸入)/總線(xiàn)請(qǐng)求允許信號(hào)(輸出),雙向,低電平有效。這兩個(gè)信號(hào)端可供CPU以外的2個(gè)處理器用來(lái)發(fā)出使用總線(xiàn)的請(qǐng)求信號(hào)和接收CPU對(duì)總線(xiàn)請(qǐng)求信號(hào)的回答信號(hào)?!馤OCK(29腳):總線(xiàn)封鎖信號(hào),三態(tài)輸出,低電平有效。有效時(shí),表示CPU不允許其他總線(xiàn)主控部件占用總線(xiàn)。信號(hào)是由指令“LOCK”使其有效,并維持到下一條指令執(zhí)行完畢為止。●QS1,QS0(24腳、25腳):指令隊(duì)列狀態(tài)信號(hào),輸出。QS1和QS0信號(hào)的組合可以指示總線(xiàn)接口部件BIU中指令隊(duì)列的狀態(tài),以便其他處理器監(jiān)視、跟蹤指令隊(duì)列的狀態(tài)。8086CPU的最大模式QS1、QS2(25、24引腳):隊(duì)列狀態(tài)信號(hào)。
00無(wú)操作
01取走指令隊(duì)列第一個(gè)字節(jié)
10隊(duì)列空
11取走指令隊(duì)列后續(xù)字節(jié)代碼
小結(jié)
8086CPU有20根地址線(xiàn);16根數(shù)據(jù)線(xiàn);它最大直接尋址范圍1MB;一次對(duì)外數(shù)據(jù)傳送16位二進(jìn)制數(shù)。8086CPU的兩種模式最小模式MN/MX接+5V構(gòu)成小規(guī)模的應(yīng)用系統(tǒng),只有8086一個(gè)微處理器。最大模式MN/MX接地。用于大型(中型)8086/8088系統(tǒng)中,系統(tǒng)總是包含有兩個(gè)或多個(gè)微處理器。8086在最小模式下的典型配置1、MN/MX接+5V2、一片8284A,作為時(shí)鐘發(fā)生器3、三片8282或74LS373,作地址鎖存器4、二片8286或74LS245,作總線(xiàn)收發(fā)器1、MN/MX接地;2、一片8284,作系統(tǒng)時(shí)鐘3、三片8282或74LS373,作鎖存器4、二片8286/8287或74LS245
,作數(shù)據(jù)收發(fā)器5、一片8288,作總線(xiàn)控制器6、一片8259(可選)8086CPU的最大模式的典型配置8086CPU引腳功能08H01H存儲(chǔ)器00H02H00H03H04H00H00000000
0000
00000000FFFFFFFF
FFFF
FFFFFFFD地扯線(xiàn)A19~A000000000
0000
0000000100000000
0000
0000001000000000
0000
0000001100000000
0000
00000100FFFFFFFF
FFFF
FFFFFFFEFFFFFFFF
FFFF
FFFF
FFFF存儲(chǔ)單元個(gè)數(shù):220=1M每個(gè)存儲(chǔ)單元存8位二進(jìn)制數(shù)08H01H存儲(chǔ)器00H02H00H03H00H04H00HXXXXXXXXXXXXXXXX0000XXXXXXXX
XXXX
XXXX0001XXXXXXXX
XXXX
XXXX0010XXXXXXXX
XXXX
XXXX0011XXXXXXXX
XXXX
XXXX0100XXXXXXXX
XXXX
XXXX0101地扯線(xiàn)數(shù)據(jù)線(xiàn)D7~D0D7~D0D7~D0D15~D8D15~D8D15~D8A19~A0XXXXXXXX
XXXX
XXXX0110XXXXXXXX
XXXX
XXXX0111D15~D8D7~D016位微機(jī)系統(tǒng)中的典型存儲(chǔ)器接口補(bǔ)充:三態(tài)門(mén)和D觸發(fā)器三態(tài)門(mén)和以D觸發(fā)器形成的鎖存器是微機(jī)接口電路中常用的兩類(lèi)邏輯電路三態(tài)門(mén):功率放大、導(dǎo)通開(kāi)關(guān)器件共用總線(xiàn)時(shí),一般使用三態(tài)電路:需要使用總線(xiàn)的時(shí)候打開(kāi)三態(tài)門(mén);不使用的時(shí)候關(guān)閉三態(tài)門(mén),使之處于高阻D觸發(fā)器:信號(hào)保持,也可用作導(dǎo)通開(kāi)關(guān)數(shù)字電路符號(hào)表示
數(shù)字邏輯電路的兩種國(guó)標(biāo)符號(hào)對(duì)照
三態(tài)緩沖器三態(tài)門(mén)具有單向?qū)ê腿龖B(tài)的特性T為低平時(shí):輸出為高阻抗(三態(tài))T為高電平時(shí):輸出為輸入的反相TAF表示反相或低電平有效TAFTAFTAFD觸發(fā)器DQCQ電平鎖存DQCQ上升沿鎖存電平鎖存:高電平通過(guò),低電平鎖存上升沿鎖存:通常用負(fù)脈沖觸發(fā)鎖存負(fù)脈沖的上升沿8282內(nèi)部邏輯符號(hào)圖常見(jiàn)鎖存器8282DI0-DI7:數(shù)據(jù)輸入引腳;DO0-DO7:數(shù)據(jù)輸出引腳;VCC、GND:電源與地線(xiàn);STB:數(shù)據(jù)選通信號(hào),當(dāng)有一個(gè)地址鎖存控制信號(hào)送到該端時(shí),8282即完成對(duì)輸入數(shù)據(jù)的鎖存任務(wù);OE:輸出允許信號(hào),該端接低電平時(shí),8282就將鎖存的內(nèi)容傳送到輸出引腳上。74LS373具有三態(tài)輸出的TTL電平鎖存器LE電平鎖存引腳OE輸出允許引腳雙向三態(tài)緩沖器三態(tài)門(mén)具有雙向?qū)ê腿龖B(tài)的特性ABTOE
OE=0,導(dǎo)通
T=1A→BT=0A←BOE=1,不導(dǎo)通8286內(nèi)部邏輯符號(hào)圖A0-
A7、B0-B7:兩個(gè)8位雙向輸入/輸出數(shù)據(jù)線(xiàn);VCC、GND:電源與地線(xiàn);T:數(shù)據(jù)傳送方向控制線(xiàn)控制8286中的數(shù)據(jù)傳送方向;OE:輸出允許信號(hào),控制8286何時(shí)傳送數(shù)據(jù)。雙向8位三態(tài)緩沖器828674LS2458位雙向緩沖器控制端連接在一起,低電平有效可以雙向?qū)ㄝ敵雠c輸入同相
E=0,導(dǎo)通
DIR=1A→BDIR=0A←BE=1,不導(dǎo)通8282鎖存器與8086的連接T=1,發(fā)送;T=0,接收8086在最小模式下的典型配置最小模式下的系統(tǒng)典型配置8086最大模式最大模式下的系統(tǒng)典型配置第二章8086微處
理器及其系統(tǒng)結(jié)構(gòu)
8086的功能結(jié)構(gòu)
8086的寄存器組
8086微處理器引腳信號(hào)
8086微處理器典型時(shí)序分析最小模式下的系統(tǒng)典型配置時(shí)序的基本概念微機(jī)系統(tǒng)的工作,必須嚴(yán)格按照一定的時(shí)間關(guān)系來(lái)進(jìn)行,CPU定時(shí)所用的周期有三種,即時(shí)鐘周期、總線(xiàn)周期和指令周期。雖然,每條指令的功能及長(zhǎng)度不同,所需要進(jìn)行的操作也不同。指令由一些基本的操作組合而成的。如存儲(chǔ)器讀/寫(xiě)操作、I/O端口讀/寫(xiě)操作、中斷響應(yīng)、總線(xiàn)保持與響應(yīng)操作、系統(tǒng)復(fù)位操作、暫停操作。1.時(shí)鐘周期
時(shí)鐘周期是微機(jī)系統(tǒng)工作的最小時(shí)間單元,它取決于系統(tǒng)的主頻率,系統(tǒng)完成任何操作所需要的時(shí)間,均是時(shí)鐘周期的整數(shù)倍。時(shí)鐘周期又稱(chēng)為T(mén)狀態(tài)?;径〞r(shí)脈沖是由外部振蕩器產(chǎn)生的,通過(guò)CPU的CLK輸入端輸入,基本定時(shí)脈沖的頻率,稱(chēng)為系統(tǒng)的主頻率。例如8086CPU的主頻率是5MHz,其時(shí)鐘周期為200ns(1/fOSC)。最小模式下的系統(tǒng)典型配置2.總線(xiàn)周期
CPU通過(guò)總線(xiàn)與內(nèi)存或I/O端口之間,進(jìn)行一個(gè)字或字節(jié)數(shù)據(jù)交換所進(jìn)行的操作,稱(chēng)為一次總線(xiàn)操作,相應(yīng)于某個(gè)總線(xiàn)操作的時(shí)間即為總線(xiàn)周期,一個(gè)最基本的總線(xiàn)周期是由4個(gè)時(shí)鐘周期(T狀態(tài))組成,也稱(chēng)為4個(gè)狀態(tài),即T1、T2、T3和T4,在每個(gè)T狀態(tài)下,CPU完成不同的動(dòng)作。3.指令周期
指令周期是執(zhí)行一條指令所需的時(shí)間。一個(gè)指令周期由一個(gè)或幾個(gè)總線(xiàn)周期組成。
指令不同,所需的總線(xiàn)周期數(shù)也不同。對(duì)于一些簡(jiǎn)單的單字節(jié)指令,在取指令周期中,指令取出到指令寄存器后,立即譯碼執(zhí)行,不再需要其它的總線(xiàn)周期。對(duì)于一些比較復(fù)雜的指令,則需要兩個(gè)或者兩個(gè)以上的總線(xiàn)周期。8086CPU的操作時(shí)序8086的主要操作有:1、總線(xiàn)操作(存貯器讀及寫(xiě),I/O讀及寫(xiě))。2、總線(xiàn)保持與響應(yīng)操作。3、中斷響應(yīng)操作。4、系統(tǒng)的復(fù)位操作。5、暫停操作。1.存貯器讀總線(xiàn)周期時(shí)序例:MOVAL,[1001H]
;M/IO=1T1狀態(tài):A19~A0上是地址信息,出現(xiàn)ALE信號(hào)后,將地址鎖存到地址鎖存器(8282)。T2狀態(tài):地址信息消失,A19-A16從地址信息變?yōu)闋顟B(tài)信息S6-S3。數(shù)據(jù)允許信號(hào)DEN在T2狀態(tài)有效。T3狀態(tài):AD0~AD15上出現(xiàn)數(shù)據(jù),
RD信號(hào)有效。TW狀態(tài):若存儲(chǔ)器式外設(shè)的工作速度較慢,不能滿(mǎn)足基本時(shí)序要求,使用一個(gè)產(chǎn)生READY的電路,以使在T3狀態(tài)之后,插入一個(gè)等待周期TW。T4狀態(tài):CPU采樣數(shù)據(jù),結(jié)束一個(gè)總線(xiàn)周期。最小模式下的系統(tǒng)典型配置2.存儲(chǔ)器寫(xiě)總線(xiàn)周期時(shí)序例:MOV[1001H],AL;M/IO=1T1狀態(tài):A19~A0上是地址信息,出現(xiàn)ALE信號(hào)后,將地址鎖存到地址鎖存器(8282)。T2狀態(tài):地址信息消失,A19-A16從地址信息變?yōu)闋顟B(tài)信息S6-S3。T3狀態(tài):AD0~
AD15上出現(xiàn)數(shù)據(jù),
WR信號(hào)有效。TW狀態(tài):若存儲(chǔ)器式外設(shè)的工作速度較慢,不能滿(mǎn)足基本時(shí)序要求,使用一個(gè)產(chǎn)生READY的電路,以使在T3狀態(tài)之后,插入一個(gè)等待周期TW。T4狀態(tài):CPU認(rèn)為數(shù)據(jù)已寫(xiě)入存儲(chǔ)器,結(jié)束一個(gè)總線(xiàn)周期。最小模式下的系統(tǒng)典型配置小結(jié):總線(xiàn)周期
CPU對(duì)存儲(chǔ)單元或
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 杭州高層居住區(qū)TOD規(guī)劃設(shè)計(jì)方案
- 以舊換新銷(xiāo)售合同標(biāo)準(zhǔn)文本
- 共享店鋪合同標(biāo)準(zhǔn)文本
- 代理制 合同標(biāo)準(zhǔn)文本
- 共享汽車(chē)廣告合同范例
- 與司機(jī)貨運(yùn)合同標(biāo)準(zhǔn)文本
- 假肢裝配采購(gòu)合同標(biāo)準(zhǔn)文本
- 住宅倉(cāng)庫(kù)轉(zhuǎn)讓合同標(biāo)準(zhǔn)文本
- 健康教育保護(hù)環(huán)境
- 散文主題探索與獨(dú)特表達(dá)形式試題及答案
- 利用DeepSeek提升教育質(zhì)量和學(xué)習(xí)效率
- 2025健身房租賃合同范本模板
- 邢臺(tái)2025年河北邢臺(tái)學(xué)院高層次人才引進(jìn)100人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年長(zhǎng)春職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫(kù)匯編
- 中考政治復(fù)習(xí)方案第二單元法律與秩序考點(diǎn)16違法犯罪教材梳理
- 《重大火災(zāi)隱患判定方法》知識(shí)培訓(xùn)
- 2025年臺(tái)州職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 加油站臺(tái)賬記錄模板
- 2025年江蘇蘇州市(12345)便民服務(wù)中心招聘座席代表人員高頻重點(diǎn)提升(共500題)附帶答案詳解
- Unit6Topic2SectionB公開(kāi)課課件仁愛(ài)英語(yǔ)八年級(jí)下冊(cè)
- DB4501T 0008-2023 化妝品行業(yè)放心消費(fèi)單位創(chuàng)建規(guī)范
評(píng)論
0/150
提交評(píng)論