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

下載本文檔

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

文檔簡介

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

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

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

SP

BP

DI

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

CS

DS

SS

ES

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

CS,16位代碼段寄存器;

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

ES,16位附加段寄存器;

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

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

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

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

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

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

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

一個總線周期b.

對從偶地址單元開始存放的字,16位全有用。

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

2個總線周期先讀奇地址單元的數(shù)據(jù),偶地址單元8位被忽略。再讀偶地址單元的數(shù)據(jù),奇地址單元8位被忽略。對準字:從偶地址單元開始存儲的字。非對準字:從奇地址單元開始存儲的字。對準存放:從偶地址單元開始存放字數(shù)據(jù)的存放形式。非對準存放:從奇地址單元開始存放字數(shù)據(jù)的存放形式。

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

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

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

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

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

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

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

系統(tǒng)的最小模式:只有一8086/8088CPU。系統(tǒng)的最大模式:有兩個或兩個以上的CPU,一個為主CPU8086/8088,另一個為協(xié)CPU8087/8089。指令周期:執(zhí)行一條指令所需要的時間。總線周期(機器周期):CPU通過總線與存儲器或I/O接口進行一次數(shù)據(jù)傳輸所需的時間。T狀態(tài)(時鐘周期):CPU處理動作的最小單位。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ù)用,分時工作。T1,傳送地址,三態(tài)輸出T2-T4,傳送數(shù)據(jù),三態(tài)雙向輸入輸出中斷響應(yīng)及系統(tǒng)總線保持響應(yīng)周期,處于高阻狀態(tài)?地址數(shù)據(jù)總線復(fù)用,如何分開2、地址/狀態(tài)總線A19/S6-A16/S3A19/S6-A16/S3:地址/狀態(tài)總線復(fù)用引腳,輸出,三態(tài)。T1時刻,提供地址的高4位,訪問存儲器時,提供高4位地址A19-A16;訪問I/O端口時,保持0。總線保持期間:高阻T2-T4時刻,輸出CPU的工作狀態(tài)信息。S6:指示CPU當前是否與系統(tǒng)總線相連,S6=0(除T1外),表示8086/8088當前與總線相連。S5:表明中斷允許標志當前的設(shè)置。S5=0,禁止一切可屏蔽中斷源的中斷請求;S5=1,允許一切可屏蔽中斷源的中斷申請。S4、S3組合:指出當前使用段寄存器的情況。

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

S4S3段寄存器

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

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

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

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

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

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

QS1QS2含義

00無操作

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

10隊列已空

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

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

S2S1S0操作過程產(chǎn)生信號

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

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論