第二章 8086系統(tǒng)教材_第1頁(yè)
第二章 8086系統(tǒng)教材_第2頁(yè)
第二章 8086系統(tǒng)教材_第3頁(yè)
第二章 8086系統(tǒng)教材_第4頁(yè)
第二章 8086系統(tǒng)教材_第5頁(yè)
已閱讀5頁(yè),還剩68頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

通過(guò)本章的學(xué)習(xí),應(yīng)該掌握以下內(nèi)容:8086/8088微處理器的結(jié)構(gòu)及指令執(zhí)行的操作過(guò)程8086/8088微處理器的寄存器組織、存儲(chǔ)器組織、I/O組織、堆棧8086/8088在最小模式下引腳功能8086/8088微處理器在最小模式下的典型配置8086的操作時(shí)序1、8086CPU的內(nèi)部結(jié)構(gòu)2、8086的存儲(chǔ)器組織和I/O組織3、8086CPU的引腳及功能4、8086在最小模式下的典型配置5、8086的操作及總線時(shí)序6、8088CPU第二章8086/8088系統(tǒng)結(jié)構(gòu)

28086/8088微處理器8086:Intel系列的16位微處理器,16條數(shù)據(jù)線、20條地址線,可尋址地址范圍220=1MB,8086工作時(shí),只要一個(gè)5V電源和一個(gè)時(shí)鐘,時(shí)鐘頻率為5MHz

。8088:內(nèi)部與8086兼容,也是一個(gè)16位微處理器,只是外部數(shù)據(jù)總線為8位,所以稱為準(zhǔn)16位微處理器。它具有包括乘法和除法的16位運(yùn)算指令,所以能處理16位數(shù)據(jù),還能處理8位數(shù)據(jù)。8088有20根地址線,所以可尋址的地址空間達(dá)1M字節(jié)。2.18086CPU的內(nèi)部結(jié)構(gòu)AHALBHBLCHCLDHDL

SP

BP

DI

SI通用寄存器暫存寄存器ALU標(biāo)志執(zhí)行部分控制電路123456

CS

DS

SS

ES

IP內(nèi)部寄存器總線控制邏輯地址加法器隊(duì)列總線20位16位8位指令隊(duì)列寄存器外總線執(zhí)行部件EU總線接口部件BIU8086CPU結(jié)構(gòu)框圖內(nèi)部16位ALU數(shù)據(jù)總線段寄存器1、總線接口部件(BIU)功能:完成與存儲(chǔ)器或I/O設(shè)備之間的數(shù)據(jù)傳輸。(1)、從程序存儲(chǔ)器取指令送到指令隊(duì)列。(2)、CPU執(zhí)行指令時(shí),到指定的位置取操作數(shù),并將其送至要求的位置單元中??偩€接口部件的組成:(1)、四個(gè)段地址寄存器

CS,16位代碼段寄存器;

DS,16位數(shù)據(jù)段寄存器;

ES,16位附加段寄存器;

SS,16位堆棧段寄存器。(2)、16位指令指針寄存器IP(PC)。(3)、20位的地址加法器。(4)、六字節(jié)的指令隊(duì)列寄存器。說(shuō)明:(1)、指令隊(duì)列寄存器:在執(zhí)行指令的同時(shí),將取下一條指令,并放入指令隊(duì)列寄存器中。CPU執(zhí)行完一條指令后,可以指令下一條指令(流水線技術(shù))。提高CPU效率。(2)、地址加法器:產(chǎn)生20位地址。CPU內(nèi)無(wú)論是段地址寄存器還是偏移量都是16位的,通過(guò)地址加法器產(chǎn)生20位地址。2、執(zhí)行部件(EU)作用:(1)、從指令隊(duì)列中取出指令。(2)、對(duì)指令進(jìn)行譯碼,發(fā)出相應(yīng)的控制信號(hào)。(3)、進(jìn)行算術(shù)和邏輯運(yùn)算。(4)、當(dāng)指令要求訪問(wèn)存儲(chǔ)器或I/O接口時(shí),向BIU發(fā)出請(qǐng)求,由BIU完成相應(yīng)的操作。執(zhí)行部件的組成:(1)、四個(gè)通用寄存器AX、BX、CX、DX。

四個(gè)通用寄存器都是16位或作兩個(gè)8位來(lái)使用。(2)、專用寄存器SP------堆棧指針寄存器BP------基址指針寄存器DI-------目的變址寄存器SI-------源變址寄存器(3)、算術(shù)邏輯單元ALU

完成8位或者16位二進(jìn)制算術(shù)和邏輯運(yùn)算,計(jì)算偏移量。(4)、暫存寄存器協(xié)助ALU完成運(yùn)算,暫存參加運(yùn)算的數(shù)據(jù)。(5)、執(zhí)行部件EU的控制電路從總線接口的指令隊(duì)列取出指令操作碼,通過(guò)譯碼電路分析,發(fā)出相應(yīng)的控制命令,控制ALU數(shù)據(jù)流向。3、8086/8088CPU執(zhí)行程序的操作過(guò)程(1)、20位地址的形成,并將此地址送至程序存儲(chǔ)器指定單元,從該單元取出指令字節(jié),依次放入指令隊(duì)列中。(2)、每當(dāng)8086的指令隊(duì)列中有2個(gè)空字節(jié),8088指令隊(duì)列中有1個(gè)空字節(jié)時(shí),總線接口部件就會(huì)自動(dòng)取指令至隊(duì)列中。(3)、執(zhí)行部件從總線接口的指令隊(duì)列首取出指令代碼,執(zhí)行該指令。(4)、當(dāng)隊(duì)列已滿,執(zhí)行部件又不使用總線時(shí),總線接口部件進(jìn)入空閑狀態(tài)。(5)、執(zhí)行轉(zhuǎn)移指令、調(diào)用指令、返回指令時(shí),先清空隊(duì)列內(nèi)容,再將要執(zhí)行的指令放入隊(duì)列中。4、寄存器組(1)、通用寄存器組16位寄存器AX、BX、CX、DX:暫存算術(shù)或邏輯運(yùn)算的操作數(shù)和中間結(jié)果、地址。8位寄存器低字節(jié)AL、BL、CL、DL;高字節(jié)AH、BH、CH、DH:存儲(chǔ)8位數(shù)據(jù)。特殊用法:累加器、基址寄存器、計(jì)數(shù)寄存器、數(shù)據(jù)寄存器(2)、指針和變址寄存器組堆棧指針寄存器SP在堆棧操作中存放存儲(chǔ)單元(棧頂)的偏移地址?;分羔樇拇嫫鰾P常用來(lái)存放訪問(wèn)內(nèi)存時(shí)的偏移地址,與SS配合使用。源變址寄存器SI、目的變址寄存器DI在字符串操作中用于存放源操作數(shù)和目的操作數(shù)的偏移地址。說(shuō)明:存放數(shù)據(jù),地址。常用于存放存儲(chǔ)單元的偏移地址。(3)、段寄存器組代碼段寄存器CS

數(shù)據(jù)段寄存器DS堆棧段寄存器SS

附加段寄存器ES存放存儲(chǔ)單元的段基址。(4)、指令指針寄存器IP總是指向下一條要執(zhí)行指令在現(xiàn)行代碼段中的偏移地址,用來(lái)控制指令序列的執(zhí)行流程。每取一條指令,BIU自動(dòng)修改,即IP自動(dòng)增量。8086程序不能直接訪問(wèn)IP,用戶也不可隨意改變其值,只有通過(guò)轉(zhuǎn)移類指令、調(diào)用及返回類指令指針才能修改其值。在用DEBUG程序時(shí)還可通過(guò)調(diào)試命令修改其值。(5)、標(biāo)志寄存器FLAG/PSW/FR16位寄存器,其中有7位未用。狀態(tài)標(biāo)志:反映CPU執(zhí)行所得結(jié)果的某些特征,這些特征將用來(lái)影響后續(xù)指令的執(zhí)行。控制標(biāo)志:用來(lái)控制CPU的某些操作。D15D0

OFDFIFTFSFZFAFPFCF進(jìn)借位標(biāo)志奇偶標(biāo)志輔助進(jìn)借位標(biāo)志零標(biāo)志符號(hào)標(biāo)志單步中斷中斷允許方向標(biāo)志溢出標(biāo)志1-有進(jìn)、借位0-無(wú)進(jìn)、借位1-低8位有偶數(shù)個(gè)10-低8位有奇數(shù)個(gè)11-低4位向高4位有進(jìn)、借位0-低4位向高4位無(wú)進(jìn)、借位1-結(jié)果為00-結(jié)果不為01-運(yùn)算結(jié)果超出允許范圍字節(jié)、字010100111001010010001000100000011101110000010101CF=0

PF=0ZF=0SF=1OF=0AF=0DC15H-23EBH例:已知AX=5394H,BX=-777FH,計(jì)算兩數(shù)相加的結(jié)果,并判斷6個(gè)狀態(tài)標(biāo)志。2.28086存儲(chǔ)器組織和I/O組織1、存儲(chǔ)器的分段8086有20根地址線,可訪問(wèn)1MB的存儲(chǔ)器地址空間,但內(nèi)部寄存器都是16位的,無(wú)法用寄存器直接對(duì)1MB的內(nèi)存空間進(jìn)行尋址。8086把1MB的存儲(chǔ)空間分成許多邏輯段,每個(gè)邏輯段的長(zhǎng)度≤64KB,段內(nèi)地址連續(xù),段與段之間相互獨(dú)立。每個(gè)邏輯段的起始位置必須能被16整除,即起始地址為XXXX0H。通常把該起始地址的高16位稱為該邏輯段的段基址。邏輯段之間的關(guān)系邏輯段的位置不受約束,段與段之間可以首尾相連,完全分離、部分重疊或完全重疊。8086CPU中有四段寄存器:CS,DS,SS和ES,這四個(gè)段寄存器存放了CPU當(dāng)前可以尋址的四個(gè)段的基址,也即可以從這四個(gè)段寄存器規(guī)定的邏輯段中存取指令代碼和數(shù)據(jù)。一旦這四個(gè)段寄存器的內(nèi)容被設(shè)定,就規(guī)定了CPU當(dāng)前可尋址的段。代碼段CS:存放程序代碼;數(shù)據(jù)DS、ES:存放數(shù)據(jù)和運(yùn)算結(jié)果;堆棧段SS:用來(lái)傳遞參數(shù),保存數(shù)據(jù)和狀態(tài)信息。CS0000IP代碼段DS或ES0000SI、DI或BXSS0000SP或BP數(shù)據(jù)段堆棧段存儲(chǔ)器段寄存器和偏移地址寄存器組合關(guān)系存儲(chǔ)器分段的好處(1)使指令系統(tǒng)中的大部分指令僅涉及16位偏移地址,減少了指令長(zhǎng)度,提高了程序的執(zhí)行速度。(2)為程序在內(nèi)存中的浮動(dòng)分配創(chuàng)造了條件。由于程序可以浮動(dòng)地裝配在內(nèi)存任何一個(gè)區(qū)域。這使得多道程序和多任務(wù)程序能充分使用現(xiàn)有的存儲(chǔ)器容量。2、物理地址和邏輯地址8086系統(tǒng)中的每個(gè)存儲(chǔ)單元在1M內(nèi)存空間中的位置可以用2個(gè)形式的地址來(lái)表示。物理地址(實(shí)際地址、絕對(duì)地址)和邏輯地址。物理地址:是用唯一的20位二進(jìn)制數(shù)所表示的地址,規(guī)定了1M字節(jié)存儲(chǔ)體中某個(gè)具體單元的地址。CPU與存儲(chǔ)器之間進(jìn)行信息交換都需要提供的地址,范圍00000H—FFFFFH。邏輯地址:分段概念引入,在程序編寫(xiě)時(shí)采用,不唯一。由兩部分組成:段基址和偏移地址,其表示方式為:段基址:偏移地址段基址邏輯段起始地址的高16位。偏移地址邏輯段內(nèi)某存儲(chǔ)單元相對(duì)于段起始地址的偏移量。3、物理地址和邏輯地址之間的關(guān)系物理地址=段基址*16+偏移地址例1:某單元邏輯地址為6000:0100H,其物理地址為60100H。例2:某單元邏輯地址為6010:0000H,其物理地址為60100H。說(shuō)明:物理地址唯一,邏輯地址不唯一。8086/8088CPU中有一個(gè)地址加法器,它將段寄存器提供的段地址自動(dòng)乘以10H即左移4位,然后與16位的偏移地址相加,并鎖存在物理地址鎖存器中。段基址:CS、DS、ES、SS。偏移地址:IP、DI、SI、BP、SP等。段寄存器值偏移量+物理地址16位4位16位20位存儲(chǔ)器物理地址的計(jì)算方法物理地址的形成當(dāng)CPU訪問(wèn)存儲(chǔ)器時(shí),將根據(jù)程序中給出的邏輯地址在BIU的地址物理地址加法器中形成存儲(chǔ)器的20位物理地址。4、邏輯地址的來(lái)源由于訪問(wèn)存儲(chǔ)器的操作類型不同,BIU所使用的邏輯地址來(lái)源也不同。操作類型默認(rèn)段地址替換段地址偏移地址來(lái)源取指令CSIP堆棧操作SSSPBP作基址尋址SSCS、DS、ES按尋址方式計(jì)算得到一般數(shù)據(jù)存取DSCS、SS、ES按尋址方式計(jì)算得到源字符串DSCS、ES、SSSI目的字符串ESDI5、8086存儲(chǔ)器的分體結(jié)構(gòu)由于訪問(wèn)存儲(chǔ)器的操作類型不同,BIU所使用的邏輯地址來(lái)源也不同。(1)存儲(chǔ)體512KB×8(位)奇地址存儲(chǔ)體(A0=1)512KB×8(位)偶地址存儲(chǔ)體(A0=0)15870000000000200004FFFFE000010000300005FFFFF(2)存儲(chǔ)體與總線的連接數(shù)據(jù)總線DB15-DB8數(shù)據(jù)總線DB7-DB0D7-D0奇地址存儲(chǔ)體SELA19-A1D7-D0偶地址存儲(chǔ)體SELA19-A1地址總線A19-A0A0BHE(3)存儲(chǔ)體小結(jié)A0=0,BHE=0時(shí),奇偶地址存儲(chǔ)體分別與低8、高8位數(shù)據(jù)總線相連,訪問(wèn)奇偶存儲(chǔ)體,讀寫(xiě)一個(gè)字。A0=1,BHE=0時(shí),奇地址存儲(chǔ)體分別與高8位數(shù)據(jù)總線相連,訪問(wèn)奇存儲(chǔ)體,從奇地址讀寫(xiě)一個(gè)字節(jié)。c.A0=0,BHE=1時(shí),偶地址存儲(chǔ)體分別與低8位數(shù)據(jù)總線相連,訪問(wèn)偶存儲(chǔ)體,從偶地址讀寫(xiě)一個(gè)字節(jié)。d.A0=1,BHE=1時(shí),無(wú)效(4)存儲(chǔ)單元、存儲(chǔ)內(nèi)容的表示形式表示形式(01000H)=34H8086/8088中的1MB的存儲(chǔ)空間是按字節(jié)編址的,但在實(shí)際操作中操作數(shù)卻可能是字節(jié)型、字型、雙字型。字節(jié)型數(shù)據(jù)可以置于偶地址、可以置于奇地址。(01000H)=34Hb.字型數(shù)據(jù)在存儲(chǔ)器中按相鄰的2個(gè)字節(jié)存放,存入時(shí)以數(shù)據(jù)低字節(jié)在低地址,高字節(jié)在高地址的次序存放。且字單元的地址以低位地址表示。(00100H)=1234H34H12H00100H00101H一個(gè)字可以從偶地址開(kāi)始存放,也可以從奇地址存放。c.雙字在存儲(chǔ)器中按相鄰4個(gè)字節(jié)連續(xù)存放,存入時(shí)數(shù)據(jù)低位在低地址存放,高位在高地址存放,雙字單元的地址以低位地址表示。(001000H)=56781234H34H12H78H56H00100H00101H00102H00103H(5)對(duì)準(zhǔn)字、非對(duì)準(zhǔn)字8086的讀寫(xiě)規(guī)則:8086CPU訪問(wèn)存儲(chǔ)器是以字為單位,并且總是從偶地址開(kāi)始。在字節(jié)操作時(shí),16位中僅有8位是有用的,其余8位被忽略。

一個(gè)總線周期b.

對(duì)從偶地址單元開(kāi)始存放的字,16位全有用。

一個(gè)總線周期c.對(duì)從奇地址單元開(kāi)始存放的字操作時(shí),就必須對(duì)2個(gè)連續(xù)的偶地址單元用2個(gè)存儲(chǔ)器訪問(wèn)周期完成,丟掉不需要的一半,然后再做字節(jié)變換才能得到所需要的信息。

2個(gè)總線周期先讀奇地址單元的數(shù)據(jù),偶地址單元8位被忽略。再讀偶地址單元的數(shù)據(jù),奇地址單元8位被忽略。對(duì)準(zhǔn)字:從偶地址單元開(kāi)始存儲(chǔ)的字。非對(duì)準(zhǔn)字:從奇地址單元開(kāi)始存儲(chǔ)的字。對(duì)準(zhǔn)存放:從偶地址單元開(kāi)始存放字?jǐn)?shù)據(jù)的存放形式。非對(duì)準(zhǔn)存放:從奇地址單元開(kāi)始存放字?jǐn)?shù)據(jù)的存放形式。

6、8086輸入輸出組織(1)概述8086系統(tǒng)和外部設(shè)備都是一通過(guò)I/O接口電路來(lái)聯(lián)系的,每個(gè)I/O接口電路都有一個(gè)或幾個(gè)端口。通常每個(gè)端口對(duì)應(yīng)著該接口電路內(nèi)部的一個(gè)或多個(gè)寄存器,分別存儲(chǔ)不同的信息。微機(jī)系統(tǒng)為每個(gè)端口分配了一個(gè)端口地址,即端口地址。(2)尋址8086CPU用AB的低16位作為8位I/O端口的尋址線,允許訪問(wèn)65536個(gè)8位的I/O端口。2個(gè)地址相鄰的8位端口可組合成一個(gè)16位端口。用16位AB對(duì)I/O端口尋址,故I/O端口地址是不分段的。

當(dāng)I/O端口與CPU進(jìn)行數(shù)據(jù)傳送時(shí),8位的I/O端口即可連接數(shù)據(jù)總線的高8位(此I/O端口地址均為奇地址),亦可連接數(shù)據(jù)總線的低8位(此I/O端口地址均為偶地址)。(3)相關(guān)指令指令系統(tǒng)中有訪問(wèn)8位、16為端口的輸入輸出指令。CPU在執(zhí)行訪問(wèn)I/O端口的指令I(lǐng)N/OUT,從硬件上會(huì)產(chǎn)生有效的RD/WR信號(hào),同時(shí)使M/IO信號(hào)處于低電平,通過(guò)外部邏輯電路的組合產(chǎn)生對(duì)I/O端口的讀信號(hào)或?qū)懶盘?hào)。6、堆棧堆棧主要用于暫存數(shù)據(jù)和在過(guò)程調(diào)用或處理中斷時(shí)暫存斷點(diǎn)信息。(1)堆棧的概念堆棧是在存儲(chǔ)器中開(kāi)辟的一片數(shù)據(jù)存儲(chǔ)區(qū),這片存儲(chǔ)區(qū)的一端固定,另一端活動(dòng),且只允許數(shù)據(jù)從活動(dòng)端進(jìn)出。采用“先進(jìn)后出”的規(guī)則

。段基址:SS棧頂偏移地址:SP,指向棧頂單元,或棧頂上的一個(gè)空單元。堆棧操作時(shí),SP的變化由CPU自動(dòng)管理。堆棧組織堆棧指示器SP,他總是指向堆棧的棧頂堆棧的伸展方向既可以從大地址向小地址,也可以從小地址向大地址。8086/8088的堆棧的伸展方向是從大地址向小地址。

(2)堆棧的工作方式先進(jìn)后出、后進(jìn)先出的原則堆棧操作以字單位進(jìn)行操作。堆棧中的數(shù)據(jù)以低字節(jié)在偶地址單元、高字節(jié)在奇地址單元,保證訪問(wèn)一次堆棧就能壓入/彈出一個(gè)字。壓棧操作SPSP-2,SP-1高字節(jié),SP

低字節(jié)彈棧操作SP低字節(jié),SP+1高字節(jié),SP

SP+2例;3322H、1100H、6655H壓入堆棧,棧頂指針的變化,堆棧中的內(nèi)容變化,棧頂變化?彈棧?2.3

8086CPU引腳及功能根據(jù)所連的存儲(chǔ)器和外設(shè)規(guī)模的不同,使它們可以在兩種模式下工作:

系統(tǒng)的最小模式:只有一8086/8088CPU。系統(tǒng)的最大模式:有兩個(gè)或兩個(gè)以上的CPU,一個(gè)為主CPU8086/8088,另一個(gè)為協(xié)CPU8087/8089。指令周期:執(zhí)行一條指令所需要的時(shí)間??偩€周期(機(jī)器周期):CPU通過(guò)總線與存儲(chǔ)器或I/O接口進(jìn)行一次數(shù)據(jù)傳輸所需的時(shí)間。T狀態(tài)(時(shí)鐘周期):CPU處理動(dòng)作的最小單位。T1T2T3TWT4總線周期01020304050607080910111213141516171819204039383736353433323130292827262524232221GNDAD14/A14AD13/A13AD12/A12AD11/A11AD10/A10AD9/A9AD8/A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCC(5V)AD15/A15A16/S3A17/S4A18/S5A19/S6/BHE/S7

HIGH(SSO)MN//MX/RDHOLD(/RQ//GT0)HLDA(/RQ//GT1)/WR(/LOCK)M//IO(/S2)DT//R(/S1)/DEN(/S0)ALE(QS0)/INTA(QS1)/TESTREADYRESET8086/808840引腳的DIP封裝1、地址/數(shù)據(jù)總線AD15-AD0:地址/數(shù)據(jù)復(fù)用引腳,雙向,三態(tài)。地址/數(shù)據(jù)總線復(fù)用,分時(shí)工作。T1,傳送地址,三態(tài)輸出T2-T4,傳送數(shù)據(jù),三態(tài)雙向輸入輸出中斷響應(yīng)及系統(tǒng)總線保持響應(yīng)周期,處于高阻狀態(tài)?地址數(shù)據(jù)總線復(fù)用,如何分開(kāi)2、地址/狀態(tài)總線A19/S6-A16/S3A19/S6-A16/S3:地址/狀態(tài)總線復(fù)用引腳,輸出,三態(tài)。T1時(shí)刻,提供地址的高4位,訪問(wèn)存儲(chǔ)器時(shí),提供高4位地址A19-A16;訪問(wèn)I/O端口時(shí),保持0。總線保持期間:高阻T2-T4時(shí)刻,輸出CPU的工作狀態(tài)信息。S6:指示CPU當(dāng)前是否與系統(tǒng)總線相連,S6=0(除T1外),表示8086/8088當(dāng)前與總線相連。S5:表明中斷允許標(biāo)志當(dāng)前的設(shè)置。S5=0,禁止一切可屏蔽中斷源的中斷請(qǐng)求;S5=1,允許一切可屏蔽中斷源的中斷申請(qǐng)。S4、S3組合:指出當(dāng)前使用段寄存器的情況。

S4、S3組合所對(duì)應(yīng)的段寄存器情況

S4S3段寄存器

00當(dāng)前正在使用ES01當(dāng)前正在使用SS10當(dāng)前正在使用CS11當(dāng)前正在使用DS3、控制總線(1)、MN//MX:工作模式選擇信號(hào),輸入。1(+5V),表示CPU工作于最小模式;0(地),表示CPU工作在于最大模式。(2)、ALE:地址鎖存允許信號(hào),輸出,高電平有效。背景:為了使地址信息在整個(gè)總線周期中都有效,必須設(shè)置地址鎖存器對(duì)20位地址進(jìn)行鎖存。ALE作為地址鎖存器的片選信號(hào),用來(lái)鎖存地址信號(hào)A15-A0,分時(shí)使用AD15-AD0地址/數(shù)據(jù)總線。373AD0-7T1時(shí)刻,ALE有效,表明當(dāng)前在地址/數(shù)據(jù)復(fù)用總線上輸出的是地址信息,并將其鎖存到地址鎖存器中AB和DB分時(shí)復(fù)用,ALE端不能浮空。ALEDB0-7AB0-7(3)BHE/S7:高8位數(shù)據(jù)總線允許/狀態(tài)復(fù)用引腳。T1狀態(tài),輸出BHE信號(hào),表示高8位數(shù)據(jù)線D15-D8上的數(shù)據(jù)有效。T2-T4狀態(tài),輸出S7狀態(tài)信號(hào),無(wú)效。BHE、A0組合共同控制連接在總線上的存儲(chǔ)器或端口與CPU進(jìn)行數(shù)據(jù)傳輸?shù)母袷剑築HEA0總線使用情況

00從偶地址單元開(kāi)始,在16位數(shù)據(jù)總線上進(jìn)行字傳送

01從奇地址單元開(kāi)始,在高8位數(shù)據(jù)總線上進(jìn)行字節(jié)傳送

10從偶地址單元開(kāi)始,在低8位數(shù)據(jù)總線上進(jìn)行字節(jié)傳送

11無(wú)效(4)M//IO:存儲(chǔ)器或IO端口訪問(wèn)信號(hào),三態(tài)輸出。1,表示CPU正在訪問(wèn)存儲(chǔ)器;0,表示CPU正在訪問(wèn)IO端口。(5)RD:讀信號(hào),三態(tài)輸出,低電平有效。0,表示CPU將要執(zhí)行M或I/O端口的讀操作。(6)WR:寫(xiě)信號(hào),三態(tài)輸出,低電平有效。0,表示CPU將要執(zhí)行M或I/O端口的寫(xiě)操作。M/IORDIORDM/IOWRIOWR(7)READY:準(zhǔn)備就緒信號(hào),輸入,高電平有效。由所訪問(wèn)的M、I/O發(fā)來(lái)的響應(yīng)信號(hào),READY=1,表示CPU訪問(wèn)的存儲(chǔ)器或IO端口已準(zhǔn)備就緒,馬上就可進(jìn)行一次數(shù)據(jù)傳輸。若CPU在總線周期T3狀態(tài)檢測(cè)到READY=0,表示未準(zhǔn)備好,CPU自動(dòng)插入一個(gè)或多個(gè)等待狀態(tài)TW,直到READY=1為止。(8)DEN:數(shù)據(jù)允許信號(hào),三態(tài)輸出,低電平有效。作為數(shù)據(jù)總線上收發(fā)器8286的選通信號(hào)。(9)DT/R:數(shù)據(jù)發(fā)送/接收控制信號(hào),三態(tài)輸出。此信號(hào)控制數(shù)據(jù)總線上的收發(fā)器8286的數(shù)據(jù)傳送方向。

1,發(fā)送數(shù)據(jù)--寫(xiě)操作0,接收數(shù)據(jù)--讀操作(10)INTR:可屏蔽中斷請(qǐng)求信號(hào),輸入,高電平有效。當(dāng)INTR=1,表示外設(shè)向CPU發(fā)出中斷請(qǐng)求,CPU在當(dāng)前指令周期的最后一個(gè)T狀態(tài)去采樣該信號(hào),若此時(shí),IF=1,CPU響應(yīng)中斷,執(zhí)行中斷服務(wù)程序。(11)INTA:中斷響應(yīng)信號(hào),輸出,低電平有效。是CPU響應(yīng)對(duì)外設(shè)發(fā)來(lái)的中斷申請(qǐng)信號(hào)INTR作出的響應(yīng)。(12)NMI:不可屏蔽中斷請(qǐng)求信號(hào),輸入,上升沿觸發(fā)。該請(qǐng)求信號(hào)不受IF狀態(tài)的影響,也不能用軟件屏蔽,一旦該信號(hào)有效,則執(zhí)行完當(dāng)前指令后立即響應(yīng)中斷。(13)TEST:測(cè)試信號(hào),輸入,低電平有效。當(dāng)CPU執(zhí)行WAIT指令時(shí),每隔5個(gè)時(shí)鐘周期對(duì)TEST進(jìn)行一次測(cè)試,若TEST=1,繼續(xù)等待,直到TEST=0。(14)HOLD:總線請(qǐng)求信號(hào),輸入,高電平有效。當(dāng)系統(tǒng)中CPU之外的另一個(gè)控制器要求使用總線時(shí),通過(guò)它向CPU發(fā)一高電平的請(qǐng)求信號(hào)。(15)HLDA:總線請(qǐng)求響應(yīng)信號(hào),輸出,高電平有效。當(dāng)HLDA有效時(shí),表示CPU對(duì)其它控制器的總線請(qǐng)求作出響應(yīng),與此同時(shí),所有與三總線相接的CPU的線腳呈現(xiàn)高阻抗?fàn)顟B(tài),從而讓出總線。(16)RESET:復(fù)位信號(hào),輸入,高電平有效。RESET信號(hào)至少要保持4個(gè)時(shí)鐘周期。復(fù)位時(shí):標(biāo)志寄存器、IP、DS、SS、ES為0,CS=FFFFH,復(fù)位后CPU從FFFF0H處開(kāi)始執(zhí)行。(17)CLK:主時(shí)鐘信號(hào),輸入。為CPU和總線控制邏輯提供定時(shí)手段。占空比33%4、電源線和地線8086/8088采用單+5V,1、20引腳為地線。5、最大模式下的有關(guān)引腳(1)QS1、QS2:指令隊(duì)列狀態(tài)信號(hào),輸出。

QS1QS2含義

00無(wú)操作

01從指令隊(duì)列中取走第一個(gè)字節(jié)

10隊(duì)列已空

11指令隊(duì)列中取走后續(xù)字節(jié)(2)、S2、S1、S0:總線周期狀態(tài)信號(hào),三態(tài)輸出。

S2、S1、S0狀態(tài)信號(hào)的編碼

S2S1S0操作過(guò)程產(chǎn)生信號(hào)

000發(fā)中斷響應(yīng)信號(hào)/INTA001讀I/O端口IORC010寫(xiě)I/O端口IOWC011暫停無(wú)

100取指令/MRDC101讀存儲(chǔ)器/MRDC110寫(xiě)存儲(chǔ)器/AMWC111無(wú)作用無(wú)(3)RQ/GT0、RQ/GT1:總線請(qǐng)求信號(hào)(輸入)/總線請(qǐng)求允許信號(hào)(輸出),雙向,低電平有效。(4)LOCK:總線封鎖信號(hào),三態(tài)輸出,低電平有效。LOCK=0,CPU不允許其它控制器占用總線。2.48086在最小模式下的典型配置1、地址鎖存器373、8282把地址和數(shù)據(jù)、地址狀態(tài)信號(hào)分開(kāi)2、總線驅(qū)動(dòng)器8286增加總線的驅(qū)動(dòng)能力3、時(shí)鐘發(fā)生器提供時(shí)鐘信號(hào),并對(duì)復(fù)位信號(hào)、準(zhǔn)備就緒信號(hào)進(jìn)行同步4、CPU828282828282828682868284ARDYRSTX1X2CLKREADYRESETDENDT/ROETOETAD0-AD7ALEAD8-AD15A16/S6-A19/S3BHE/S7M/IOWRRDHDLAHOLDINTAINTRMN/MX+5VSTBSTBSTB地BHEA16-A19A8-A15A0-A7D0-D7D8-D15數(shù)據(jù)總線地址總線控制總線8086CPU2.58086的操作及總線時(shí)序在微機(jī)系統(tǒng)中,CPU是在時(shí)鐘信號(hào)CLK控制下,按節(jié)拍有序地執(zhí)行指令序列。從取指令開(kāi)始,經(jīng)過(guò)分析指令、對(duì)操作數(shù)尋址,然后執(zhí)行指令、保存操作結(jié)果,這個(gè)過(guò)程稱為指令執(zhí)行周期。

指令周期:執(zhí)行一條指令所需要的時(shí)間。總線周期(機(jī)器周期):CPU通過(guò)總線與存儲(chǔ)器或I/O接口進(jìn)行一次數(shù)據(jù)傳輸所需的時(shí)間。T狀態(tài)(時(shí)鐘周期):CPU處理動(dòng)作的最小單位。T1T2T3TWT4總線周期8086的操作包括:(1)系統(tǒng)復(fù)位和啟動(dòng)操作(2)總線操作(3)暫停操作(4)中斷操作(5)最小模式下的總線保持與響應(yīng)操作(6)最大模式下的總線請(qǐng)求/允許操作1、系統(tǒng)復(fù)位產(chǎn)生:RESET端上的高電平維持4個(gè)時(shí)鐘周期,可使CPU復(fù)位。CPU復(fù)位:PSW、DS、ES、SS、IP等寄存器,指令隊(duì)列被清零。CS寄存器設(shè)置為FFFFH。注:由于復(fù)位后,IF=0,處關(guān)中斷狀態(tài),所以在初始化程序中應(yīng)開(kāi)中斷,使CPU可響應(yīng)中斷請(qǐng)求。當(dāng)RESET由高電平變低電平7個(gè)機(jī)器周期后,CPU開(kāi)始從FFFF0處執(zhí)行程序。8086的復(fù)位時(shí)序:CLKRESET輸入RESET內(nèi)部三態(tài)門浮空8086CPU復(fù)位后總線信號(hào):AD15-AD0:A19/S6-A16/S3:/BHE/S7:S2、S1、S0:/LOCK、/RD、/INTA:ALE、HLDA、QS0、QS1:/RQ/GT0:/RQ/GT1:高阻狀態(tài)低電平高電平2、總線操作:與存儲(chǔ)器、外設(shè)交換數(shù)據(jù)總線讀操作:CPU從存儲(chǔ)器或外設(shè)讀取數(shù)據(jù)??偩€寫(xiě)操作:CPU將數(shù)據(jù)寫(xiě)入存儲(chǔ)器或外設(shè)。(1)存儲(chǔ)器讀周期總線周期包括:T1、T2、T3、(TW)、T4機(jī)器周期。T1周期M//IO信號(hào):從存儲(chǔ)器讀還是從I/O設(shè)備中讀數(shù)據(jù);AD15-AD0、A19/S7-A16/S3:確定20位地址;/BHE:選擇奇地址存儲(chǔ)體選擇。ALE:地址鎖存信號(hào),以使地址/數(shù)據(jù)線分開(kāi)。T2狀態(tài)A19/S6-A16/S3:出現(xiàn)S6-S3狀態(tài)信號(hào)。決定段寄存器、IF狀態(tài)、8086CPU是否連在總線上。AD15-AD0:高阻狀態(tài)。/RD:由高電平變?yōu)榈碗娖?,開(kāi)始進(jìn)行讀操作。/DEN:變低電平,啟動(dòng)收發(fā)器8286,做好接收數(shù)據(jù)的準(zhǔn)備。T3狀態(tài)若存儲(chǔ)器或I/O端口已做好發(fā)送數(shù)據(jù)準(zhǔn)備,則在T3狀態(tài)期間將數(shù)據(jù)放到數(shù)據(jù)總線上,在T3結(jié)束時(shí),CPU從AD15-AD0上讀取數(shù)據(jù)。TW狀態(tài)在T3狀態(tài),存儲(chǔ)器或外設(shè)沒(méi)有準(zhǔn)備好數(shù)據(jù),不能在T3狀態(tài)將數(shù)據(jù)放到總線上,使READY=0,則CPU在T3和T4之間插入一個(gè)或幾個(gè)TW狀態(tài),直到數(shù)據(jù)準(zhǔn)備好READY=1為止。TW狀態(tài)時(shí)總線的動(dòng)作與T3時(shí)相同。T4狀態(tài)CPU對(duì)數(shù)據(jù)總線進(jìn)行采樣,讀出數(shù)據(jù)。CPU從存儲(chǔ)器或I/O設(shè)備讀數(shù)據(jù)的時(shí)序如下頁(yè)所示:CLKT1T2T3、TWT4M//IOA19/S6-A16/S3A19-A16/BHE/S7/BHES7-S3ALEREADYAD15-AD0地址輸出數(shù)據(jù)輸出/RDDT//R/DENCPU從存儲(chǔ)器或I/O端口讀取數(shù)據(jù)的時(shí)序(2)存儲(chǔ)器寫(xiě)周期T1狀態(tài)M//IO信號(hào):對(duì)存儲(chǔ)器寫(xiě)還是對(duì)I/O設(shè)備中寫(xiě)數(shù)據(jù);AD15-AD0、A19/S7-A16/S3:確定20位地址;/BHE:選擇奇地址存儲(chǔ)體選擇。ALE:地址鎖存信號(hào),以使地址/數(shù)據(jù)線分開(kāi)。DT//R:為高電平,指示收發(fā)器8286發(fā)送數(shù)據(jù),寫(xiě)操作。T2狀態(tài)A19/S6-A16/S3:出現(xiàn)S6-S3狀態(tài)信號(hào)。決定段寄存器、IF狀態(tài)、8086CPU不否連在總線上。AD15-AD0:發(fā)出16位數(shù)據(jù)。/WR:由高電平變?yōu)榈碗娖?,開(kāi)始進(jìn)行寫(xiě)操作。/DEN:變低電平,啟動(dòng)收發(fā)器8268,做好發(fā)送數(shù)據(jù)的準(zhǔn)備。T3狀態(tài)若存儲(chǔ)器或I/O端口已做好接收數(shù)據(jù)準(zhǔn)備,則在T3狀態(tài)期間將數(shù)據(jù)放到數(shù)據(jù)總線上,在T3結(jié)束時(shí),CPU將AD15-AD0上數(shù)據(jù)寫(xiě)入到存儲(chǔ)器或I/O設(shè)備中。TW狀態(tài)在T3狀態(tài),存儲(chǔ)器或外設(shè)沒(méi)有準(zhǔn)備好接收數(shù)據(jù),使READY=0,則CPU在T3和T4之間插入一個(gè)或幾個(gè)TW狀態(tài),直到設(shè)備準(zhǔn)備好READY=1為止。T4狀態(tài)在T4狀態(tài),數(shù)據(jù)從數(shù)據(jù)總線上被撤除,各種控制信號(hào)和狀態(tài)信號(hào)進(jìn)入無(wú)效狀態(tài),CPU完成了對(duì)存儲(chǔ)器或I/O設(shè)備的寫(xiě)操作??臻e周期8086只有在CPU于存儲(chǔ)器或外設(shè)要傳送指令或操作時(shí),才能執(zhí)行如上所述的總線周期,若CPU不執(zhí)行總線周期,則總線接口執(zhí)行空轉(zhuǎn)操作。CPU往存儲(chǔ)器或I/O設(shè)備寫(xiě)數(shù)據(jù)的時(shí)序如下頁(yè)所示:CLKT1T2T3、TWT4M//IOA19/S6-A16/S3A19-A16/BHE/S7/BHES7-S3ALEREADYAD15-AD0地址輸出數(shù)據(jù)輸出/WRDT//R/DENCPU往存儲(chǔ)器或I/O端口寫(xiě)數(shù)據(jù)的時(shí)序3、暫停操作當(dāng)CPU執(zhí)行暫停指令時(shí),就停止一切操作,進(jìn)入暫停狀態(tài)。當(dāng)發(fā)生中斷或?qū)ο到y(tǒng)進(jìn)行復(fù)位時(shí),退出暫停操作。在暫停狀態(tài)下,CPU可接收總線保持請(qǐng)求信號(hào),當(dāng)收回總線控制權(quán)后,CPU仍將回到暫停狀態(tài)。4、中斷操作中斷響應(yīng)周期:從CPU中止現(xiàn)行程序轉(zhuǎn)中斷服務(wù)程序這一過(guò)程。中斷響應(yīng)周期要用兩個(gè)總線周期。第一個(gè)響應(yīng)周期:使AD15-AD0、/BHE/S7、A

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論