版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
計算機原理與接口技術(shù)北京理工大學(xué)光電學(xué)院2013.92
本章以Intel的16位處理器8086/8088為對象介紹8086、8088微處理器的內(nèi)部結(jié)構(gòu)、引腳功能、總線周期和寄存器結(jié)構(gòu)8086/8088系統(tǒng)的最小/最大工作方式8086/8088系統(tǒng)的存儲器組織、分段、堆棧和尋址機制8086/8088的指令系統(tǒng)特點、指令格式和指令分類第3章8086/8088微處理器及其系統(tǒng)38086/8088微處理器及其系統(tǒng)3.18086/8088微處理器3.28086/8088系統(tǒng)的最小/最大工作方式3.38086/8088的存儲器3.48086/8088指令系統(tǒng)43.18086/8088微處理器8086是Intel系列的16位微處理器,是iAPX86/88系列微機的基礎(chǔ)。它采用高速運算性能的HMOS工藝制造,芯片上集成有2.9萬個晶體管,用單一的+5伏電源和40條引腳的雙列直插式封裝;時鐘頻率為5MHz~10MHz,133條指令,指令長度1~6字節(jié),最快的指令執(zhí)行時間為0.4μs
(平均0.5μs)。
8086有16根數(shù)據(jù)線和20根地址線,可以處理8位或16位數(shù)據(jù),尋址1MB的存儲單元和64KB的I/O端口(實際只使用1KBI/O端口)。 在推出8086之后不久,Intel公司還推出了準(zhǔn)16位微處理器8088。8088的內(nèi)部寄存器、運算器以及內(nèi)部數(shù)據(jù)總線都是按16位設(shè)計的,但外部數(shù)據(jù)總線只有8條。這樣設(shè)計的目的主要是為了與Intel原有的8位外圍接口芯片直接兼容。58086/8088處理器1978年:80861979年:80886系列機(處理器)具有相同體系結(jié)構(gòu),但具有不同組成和實現(xiàn)的一系列不同型號的計算機(處理器)兼容性要求所有處理器間能夠保持向上兼容和向后兼容向上兼容為某個檔次處理器編制的軟件能夠不加修改地運行在比它高檔的處理器上向下兼容為某個檔次處理器編制的軟件能夠不加修改地運行在比它低檔的處理器上向后兼容為某個時期生產(chǎn)的處理器編制的軟件能夠不加修改地運行在它之后生產(chǎn)的處理器上向前兼容為某個時期生產(chǎn)的處理器編制的軟件能夠不加修改地運行在它之前生產(chǎn)的處理器上7一、8086/8088CPU的內(nèi)部結(jié)構(gòu)CPU的功能:指令控制;操作控制;時序控制;數(shù)據(jù)加工從功能上講,8086CPU可分為兩個部分,即總線接口單元BIU(BusInterfaceUnit)和執(zhí)行單元EU(ExecutionUnit)8
1.總線接口單元(BIU)BIU的作用:負責(zé)與內(nèi)存或I/O端口傳送指令或數(shù)據(jù)BIU具體任務(wù):BIU從內(nèi)存取指令送到指令隊列當(dāng)EU執(zhí)行指令時,BIU要配合EU從指定的內(nèi)存單元或I/O端口中讀取數(shù)據(jù),或者把EU的操作結(jié)果送到指定的內(nèi)存單元或I/O端口去。
例如:①INAL,50H②ADDAL,[2035H]
BIU包括4個16位段寄存器1個16位指令指針I(yè)P6字節(jié)指令隊列緩沖器20位地址加法器總線控制電路
9(1)指令隊列緩沖器:8086的指令隊列為6個字節(jié),而8088的指令隊列為4個字節(jié)。在執(zhí)行指令的同時,從內(nèi)存中取下面1條或幾條指令,取來的指令依次放在指令隊列中。設(shè)置指令隊列緩沖器的好處采用“指令流水”來提高程序執(zhí)行的速度“指令流水”是一種實現(xiàn)多條指令重疊執(zhí)行的重要技術(shù)CPU執(zhí)行指令的過程,可具體分為如下六個步驟:取指(fetch)譯碼(decoding)計算有效地址(EA:EffectiveAddress)取操作數(shù)執(zhí)行存儲運算結(jié)果概括的說,可分為“取指令”和“執(zhí)行指令”兩個步驟10在CPU中把一條指令分解成多個可單獨處理的操作,這些操作稱為段(segment)或站(stage),每個段由一個輸入鎖存器和一個處理電路組成,時鐘信號同時送到各個段的輸入鎖存器
流水線使一條指令需要順序地經(jīng)過多個站的處理才能完成,但是前后相連的幾條指令可以依次流入流水線中,在多個站間重疊執(zhí)行,因此可以實現(xiàn)指令的并行處理S1L處理電路S2L處理電路SkL處理電路輸入輸出...時鐘流水線11流水線可見,3條指令共需8個時間單位,即可全部執(zhí)行完;如果完全串行執(zhí)行,則需3×6=18個時間單位。顯然,采用“流水線”技術(shù)可以顯著提高計算機的處理速度。012345678取指譯碼計算
取數(shù)執(zhí)行存結(jié)果第一條指令第二條指令第三條指令取指譯碼計算
取數(shù)執(zhí)行存結(jié)果取指譯碼計算
取數(shù)執(zhí)行存結(jié)果12BIU與EU的動作管理早期的計算機將這兩步采用先后輪流動作(串行),CPU效率較低在流水線方式下,BIU與EU同時動作(并行)完成指令周期,CPU效率高取指1取指2取指3執(zhí)行1執(zhí)行2執(zhí)行3取指1執(zhí)行1取指2取指3執(zhí)行2執(zhí)行3取指4????????????BIUEU13(2)段寄存器:(后面講)
(3)16位指令指針I(yè)P(InstructionPointer)
正常運行時,IP中含有BIU要取的下1條指令(字節(jié))的偏移地址。IP在程序運行中能自動加1修正,使之指向要執(zhí)行的下1條指令(字節(jié))。有些指令(如中斷服務(wù)子程序調(diào)用)能使IP值改變或使IP值壓進堆棧,或由堆棧彈出恢復(fù)原值。142.執(zhí)行單元EU
EU的功能負責(zé)執(zhí)行指令。執(zhí)行的指令從BIU的指令隊列緩沖器中取得,執(zhí)行指令的結(jié)果或執(zhí)行指令所需要的數(shù)據(jù),都由EU向BIU發(fā)出請求,再由BIU經(jīng)總線控制電路對存儲器或外設(shè)存取EU的組成16位算術(shù)邏輯單元(ALU)
用于進行算術(shù)、邏輯運算,也可以按指令的尋址方式計算出尋址單元的16位偏移量16位標(biāo)志寄存器F
用來反映CPU運算的狀態(tài)特征或存放控制標(biāo)志數(shù)據(jù)暫存寄存器
協(xié)助ALU完成運算,暫存參加運算的數(shù)據(jù)15通用寄存器組
包括4個16位數(shù)據(jù)寄存器AX、BX、CX、DX和4個16位指針與變址寄存器SP、BP與SI、DIEU控制電路
控制、定時與狀態(tài)邏輯電路,接收從BIU中指令隊列取來的指令,經(jīng)過指令譯碼形成各種定時控制信號,對EU的各個部件實現(xiàn)特定的定時操作。
EU中所有的寄存器和數(shù)據(jù)通道(除隊列總線為8位外)都是16位的寬度,可實現(xiàn)數(shù)據(jù)的快速傳送。168086/8088共有13個16位寄存器和1個只用了9位的標(biāo)志寄存器。二、8086/8088的寄存器結(jié)構(gòu)171.通用寄存器(1)數(shù)據(jù)寄存器構(gòu)成包括AX、BX、CX和DX等4個16位寄存器可做16位用,也可做2個8位獨立尋址(高/低字節(jié)H/L)作用通用用途:存放數(shù)據(jù)專用用途AX——累加器(存運算結(jié)果)BX——基址寄存器(查表時存放表起始地址)CX——在循環(huán)和串操作時做計數(shù)器DX——16位乘、除運算時,與AX組成32位字長(雙字),存結(jié)果;16位除法運算中存余數(shù)在I/O(輸入/輸出)指令中,DX存放I/O口地址18(2)指針寄存器和變址寄存器構(gòu)成包括SP、BP(P組)、SI、DI(I組)4個16位寄存器作用通用用途:存放數(shù)據(jù)專用用途(存放偏移地址)SP和BP:指示存取位于當(dāng)前堆棧段中的數(shù)據(jù)所在的地址。SP給出棧頂?shù)钠频刂?;BP是存放位于堆棧段中的一個數(shù)據(jù)區(qū)基地址的偏移地址SI和DI:存放數(shù)據(jù)段的偏移地址。SI存放源操作數(shù)的偏移地址,DI存放目的操作數(shù)的地址192.段寄存器:(專用)構(gòu)成CS(程序)、DS(數(shù)據(jù))、SS(堆棧)、ES(附加)共4個16位寄存器。作用指示段地址。(段的意義后面講)
203.標(biāo)志寄存器
8086/8088的16位標(biāo)志寄存器F只用了其中的9位作標(biāo)志位,即6個狀態(tài)標(biāo)志位,3個控制標(biāo)志位。1514131211109876543210OFDFIFTFSFZFAFPFCF狀態(tài)標(biāo)志方向標(biāo)志中斷允許標(biāo)志跟蹤(陷阱)標(biāo)志控制標(biāo)志進位標(biāo)志奇偶標(biāo)志半進位標(biāo)志零標(biāo)志符號標(biāo)志溢出標(biāo)志21狀態(tài)標(biāo)志(6個)表示前面的操作執(zhí)行后,算術(shù)邏輯部件處于怎樣一種狀態(tài)。如是否產(chǎn)生了進位,溢出等。程序可以通過對某個狀態(tài)標(biāo)志的測試,決定后面的程序走向及操作。例如
STATE:INAL,0DAH;TESTAL,02H;JZSTATE零標(biāo)志ZF(ZeroFlag):若運算結(jié)果為0,則ZF=1;否則ZF=0例1:MOVAL,4SUBAL,4;這兩條指令執(zhí)行后,ZF=1例2:XORAX,AX;執(zhí)行后,ZF也一定為122進位標(biāo)志CF(CarryFlag):加法時,最高位(字節(jié)操作時的D7位,字操作時的D15位)是否有進位產(chǎn)生減法時,最高位(字節(jié)操作時的D7位,字操作時的D15位)是否有借位產(chǎn)生。 例如:
MOVAL,3SUBAL,4;執(zhí)行后,CF=1。奇偶標(biāo)志PF(ParityFlag):若運算結(jié)果低8位中“1”的個數(shù)為偶數(shù),則PF=1;否則PF=0。 例:MOVAL,2ADDAL,1;
執(zhí)行后,PF位為1。23輔助進位標(biāo)志AF(AuxiliarycarrryFlag):也稱“半進位標(biāo)志”,它反映:加法時,第3位向第4位有進位;減法時,第3位向第4位有借位。溢出標(biāo)志OF(OverflowFlag):若有符號數(shù)運算過程中發(fā)生了“溢出”,則OF=1
如:做8位加法時將7FH加1,得到80H(-128),溢出了8位二進制補碼的最大整數(shù)范圍(+127),OF=1。符號標(biāo)志SF(SignFlag):保持算術(shù)或邏輯運算指令執(zhí)行后結(jié)果的算術(shù)符號。和運算結(jié)果的最高位相同控制標(biāo)志(3個)每一位控制標(biāo)志都對一種特定的功能起控制作用??梢酝ㄟ^專門的指令對其進行“置位”(Set)或“復(fù)位”(Reset)24中斷標(biāo)志IF(InterruptEnableFlag):如果IF置“1”,則CPU可以接受可屏蔽中斷請求;反之則CPU不能接受可屏蔽中斷請求。IF的狀態(tài)不影響非屏蔽中斷(NMI)請求,也不影響CPU響應(yīng)內(nèi)部的中斷請求。 指令系統(tǒng)中有兩條專門指令可以置“1”或置“0”IF位
STI;使IF置“1”,即開放中斷
CLI;使IF清“0”,即關(guān)閉中斷方向標(biāo)志DF(DirectionFlag):用于串操作指令中的地址增量修改(DF=0)還是減量修改(DF=1)。
同樣有兩條指令來修改DF位
STD;將DF置“1”,數(shù)據(jù)串操作中地址自動遞減CLD;將DF清“0”,數(shù)據(jù)串操作中地址自動遞增跟蹤標(biāo)志TF(TrapFlag):若TF=1,則CPU按跟蹤方式(單步方式)執(zhí)行程序,否則正常執(zhí)行程序。這是為了程序調(diào)試方便而設(shè)置的254.總線周期的概念
對任何一個微處理器來說,為了從存儲器中取得指令或與之傳送數(shù)據(jù),都需要它的總線接口單元執(zhí)行一個總線周期。在微機系統(tǒng)中,當(dāng)選擇一個存儲器或I/O設(shè)備與微處理器接口之前,也必須了解系統(tǒng)總線的所謂時序,而這些時序也是以總線周期為基準(zhǔn)來描述的。幾個基本概念時鐘周期 數(shù)字電路組合邏輯時序邏輯必須有時鐘才能工作26 8088的時鐘頻率約5MHz,周期T=200nsT T=1/ff:頻率總線復(fù)用 8088的主要復(fù)用線:A19~A16/S6~S3(地址/狀態(tài)復(fù)用)AD7~AD0(地址/數(shù)據(jù)復(fù)用) 目的:減少CPU的引腳數(shù)(8088→40腳DIP封裝)。 總線復(fù)用的優(yōu)點:CPU的引腳數(shù)少; 缺點:分時輸入/輸出,時間利用率低。27指令周期執(zhí)行一條指令所需要的時間。不同指令的指令周期不等長??偩€周期 CPU與片外存儲器、外設(shè)交換數(shù)據(jù)的周期。基本總線周期包括存儲器讀或?qū)懼芷谕庠O(shè)端口讀或?qū)懼芷谥袛囗憫?yīng)總線周期。
8086/8088CPU的一個最基本的總線周期由4個時鐘周期組成,在一個最基本的總線周期中,習(xí)慣上將4個時鐘周期分別稱為4個狀態(tài),即T1、T2、T3與T4這4個狀態(tài)。T1T2T3TwTwT4T1T2T4總線周期288086/8088CPU在4個狀態(tài)中的基本作用是:T1狀態(tài):CPU往多路復(fù)用總線上發(fā)送地址信息,以選中所要尋址的存儲單元或外設(shè)端口的地址T2狀態(tài):CPU從總線上撤消地址,并使總線的低16位浮置成高阻狀態(tài),為傳送數(shù)據(jù)做準(zhǔn)備。總線的高4位(A19~A16)用來輸出本總線周期狀態(tài)信息。T3狀態(tài):多路總線的高4位繼續(xù)提供狀態(tài)信息,而其低16位(對8088CPU則為低8位)上將出現(xiàn)由CPU寫出的數(shù)據(jù)或者CPU從存儲器或端口讀入的數(shù)據(jù)。29如果外設(shè)或存儲器的速度較慢,不能
及時配合CPU傳送數(shù)據(jù),外設(shè)或存儲器會通過“READY”信號線在T3狀態(tài)啟動之前向CPU發(fā)一個“數(shù)據(jù)未準(zhǔn)備好”信號,CPU會在T3之后自動插入1個或多個附加的時鐘周期Tw,即等待狀態(tài),表示此時CPU在總線上的信息情況和T3狀態(tài)時的信息情況一樣。只有在指定的存儲器或外設(shè)已經(jīng)完成數(shù)據(jù)傳送時,再通過“READY”的信號線向CPU發(fā)出一個“準(zhǔn)備好”信號,當(dāng)CPU接收到這一信號后,才會自動脫離Tw狀態(tài)而進入T4狀態(tài)。在T4狀態(tài),總線周期結(jié)束。30只有當(dāng)CPU和存儲器或I/O接口之間傳送數(shù)據(jù)時,或者它正在填充指令隊列緩沖器時,CPU才執(zhí)行總線周期。如果CPU在執(zhí)行一個總線周期之后,并不立即執(zhí)行下一個總線周期,系統(tǒng)總線就會處于空閑狀態(tài)。此時,CPU將執(zhí)行空閑周期。
在空閑周期中,可以包含1個或多個時鐘周期。在此期間,CPU在總線的高4位上仍將驅(qū)動前一個總線周期的狀態(tài)信息,如果前一個總線周期為寫周期,則CPU會在總線的低16位上繼續(xù)驅(qū)動數(shù)據(jù)信息;如果前一個總線周期為讀周期,則在空閑周期中,總線低16位會處于高阻狀態(tài)。31三、8086/8088的引腳信號和功能328088與8086的不同之處
8088的指令隊列長度為4個字節(jié),8086為6個字節(jié)8088的地址/數(shù)據(jù)復(fù)用線為8條,即AD7~AD0,8086為16條,即AD15~AD0
8088中的存儲器/IO控制線為IO/M(28腳),與8086相反8086的引腳BHE/S7在8088中為SS0(34腳),與DT/R(27腳)、IO/M(28腳)一起決定最小模式中的總線周期操作33(一)地址/數(shù)據(jù)總線AD15~AD0
是分時復(fù)用的存儲器或端口的地址和數(shù)據(jù)總線。傳送地址時為單向的三態(tài)輸出,而傳送數(shù)據(jù)時可雙向三態(tài)輸入/輸出。正是利用分時復(fù)用的方法才能使8086/8088用40條引腳實現(xiàn)20位地址、16位數(shù)據(jù)及眾多的控制信號和狀態(tài)信號的傳輸。在8088中,只有AD7~AD08條地址/數(shù)據(jù)線,A15~A8只用來輸出地址。作為復(fù)用引腳,在總線周期的T1狀態(tài)用來輸出要尋址的存儲器或I/O端口地址;在T2狀態(tài)浮置成高阻狀態(tài),為傳輸數(shù)據(jù)做準(zhǔn)備;在T3狀態(tài),用于傳輸數(shù)據(jù);T4狀態(tài)結(jié)束總線周期.當(dāng)CPU響應(yīng)中斷以及系統(tǒng)總線“保持響應(yīng)”時,復(fù)用線都被浮置為高阻狀態(tài)。34(二)地址/狀態(tài)總線A19/S6~A16/S3
地址/狀態(tài)總線為輸出、三態(tài)總線,采用分時輸出,即T1狀態(tài)輸出地址的最高4位,T2~T4狀態(tài)輸出狀態(tài)信息。當(dāng)訪問存儲器時,T1狀態(tài)時輸出的A19~A16送到鎖存器(8282)鎖存,與AD15~AD0組成20位的地址信號;而訪問I/O端口時,不使用這4條引線,A19~A16=0。狀態(tài)信息中的S6為0用來指示8086/8088當(dāng)前與總線相連,所以,在T2~T4狀態(tài),S6總等于0,以表示8086/8088當(dāng)前連在總線上。S5表明中斷允許標(biāo)志位IF的當(dāng)前設(shè)置。S4和S3用來指示當(dāng)前正在使用哪個段寄存器,如上表所示。35(三)控制總線1.
高8位數(shù)據(jù)總線允許/狀態(tài)復(fù)用引腳,三態(tài)、輸出.BHE在總線周期的T1狀態(tài)時輸出,S7在T2~T4時輸出。在8086中,當(dāng)BHE/S7引腳上輸出BHE信號時,表
示總線高8位AD15~AD8上的數(shù)據(jù)有效。在8088中,第
34引腳不是BHE/S7,而是被賦予另外的信號:在最小
方式時,它為SS0;在最大方式時,它恒為高電平。S7
在8086中未被賦予定義。362.
讀控制信號,三態(tài)、輸出。當(dāng)RD=0時,表示CPU將要執(zhí)行一個對存儲器或I/O端口的讀操作。對內(nèi)存單元還是對I/O端口讀取數(shù)據(jù),取決于M/IO(8086)或M/IO(8088)信號。在一個讀操作的總線周期中,RD信號在T2、T3和Tw狀態(tài)均為低電平,以保證CPU讀有效。在系統(tǒng)總線“保持響應(yīng)”期間,RD被浮空。373.
“準(zhǔn)備好”信號線,輸入。當(dāng)READY=1時,表示所尋址的內(nèi)存或I/O設(shè)備已準(zhǔn)備就緒,馬上就可進行一次數(shù)據(jù)傳輸。CPU在每個總線周期的T3狀態(tài)開始對READY信號采樣。到READY=0,表示存儲器或I/O設(shè)備尚未準(zhǔn)備就緒,則CPU在T3狀態(tài)之后自動插入一個或幾個等待狀態(tài)Tw,直到READY變?yōu)楦唠娖?,才進入T4狀態(tài),完成數(shù)據(jù)傳送過程,從而結(jié)束當(dāng)前總線周期。384.
等待測試信號,輸入。當(dāng)CPU執(zhí)行WAIT指令時,它就進入空轉(zhuǎn)的等待狀態(tài),并且每隔5個時鐘周期對該線的輸入進行一次測試;若TEST=1時,則CPU將停止取下條指令而繼續(xù)處于等待狀態(tài),重復(fù)執(zhí)行WAIT指令,直至TEST=0時,等待狀態(tài)結(jié)束,CPU才繼續(xù)往下執(zhí)行被暫停的指令。等待期間允許外部中斷。395.
可屏蔽中斷請求信號,輸入,高電平有效。當(dāng)INTR=1時,表示外設(shè)提出了中斷請求,8086/8088在每個指令周期的最后一個T狀態(tài)去采樣此信號。若IF=1,則CPU響應(yīng)中斷,停止執(zhí)行當(dāng)前的指令序列,并轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。6.
非屏蔽中斷請求信號,輸入,上升沿觸發(fā)。此請求不受IF狀態(tài)的影響,也不能用軟件屏蔽,只要此信號一出現(xiàn),CPU就會在現(xiàn)行指令結(jié)束后引起中斷。7.
復(fù)位信號,輸入,高電平有效。它與8284A(時鐘發(fā)生/驅(qū)動器)的復(fù)位輸出端相連,8086/8088要求復(fù)位脈沖寬度不得小于4個時鐘周期,而初次接通電源時所引起的復(fù)位,則要求維持的高電平不能小于50μs;復(fù)位后,CPU的主程序流程恢復(fù)到啟動時的循環(huán)待命初始狀態(tài)。40 標(biāo)志寄存器與指令隊列緩沖器的原有信息被清除,IP與DS、SS和ES也被清零,而CS被置為FFFFH。當(dāng)RESET信號變?yōu)榈碗娖綍r,CPU從FFFF0H開始執(zhí)行程序。在程序執(zhí)行時,RESET線保持低電平。8.系統(tǒng)時鐘,輸入。通常與8284A時鐘發(fā)生器的時鐘輸出端CLK相連,該時鐘信號的低/高之比常采用2∶1(占空度為1/3)。41(四)電源線Vcc和地線GND
電源線Vcc接入的電壓為+5V±10%,有兩條地線GND,均應(yīng)接地。(五)其他控制線(24~31引腳)
這些控制線的功能將根據(jù)方式控制線MN/MX所處的狀態(tài)而確定。8086/8088CPU引腳的主要特點是: 數(shù)據(jù)總線和地址總線的低16位AD15~AD0或低8位AD7~AD0采用分時復(fù)用技術(shù)。還有一些引腳也具有兩種功能,這由引腳33(MN/MX)來控制。當(dāng)MN/MX=1時,8086/8088工作于最小方式(MN),在此方式下,全部控制信號由CPU本身提供。當(dāng)MN/MX=0時,8086/8088工作于最大方式(MX)。這時系統(tǒng)的控制信號由8288總線控制器提供,而不是由8086/8088直接提供。42HOLD(Holdrequest):總線請求,輸入,高電平有效。HLDA(HoldAcknowledge):總線請求響應(yīng),輸出,高電平有效CPU在每個時鐘周期的上升沿采樣HOLD,如果允許讓出總線,就在當(dāng)前總線周期完成時(T4狀態(tài)),從HLDA引腳發(fā)出一個回答信號,對HOLD請求發(fā)出響應(yīng)。同時,CPU使地址/數(shù)據(jù)總線和有關(guān)控制信號線進入高阻狀態(tài)放棄總線控制權(quán)。總線請求部件(如DMAC)收到有效HLDA信號后就獲得了總線控制權(quán)。在此期間,HOLD和HLDA都保持高電平,在總線占有部件(當(dāng)前總線主)用完總線之后,將把HOLD信號變?yōu)榈碗娖剑硎粳F(xiàn)在放棄對總線的占用。CPU收到低電平的HOLD之后,它將HLDA變?yōu)榈碗娖?,CPU又獲得了總線控制權(quán)。T1T2T3T4CLKHOLDHODAAD15-AD0,A19/S6-A16/S3CPU放棄三態(tài)WR,RD,……總線控制權(quán)43ALE(AddresslatchEnable):地址鎖存允許信號,輸出,高電平有效。由于8086/8088的一部分地址線和數(shù)據(jù)線采用分時復(fù)用。在一個總線周期內(nèi)總線上先傳送地址,接著傳送數(shù)據(jù)。但在一般情況下,存儲器或I/O接口電路,要求在整個總線周期內(nèi)保持穩(wěn)定的地址信息。這就需要將這些地址信息保存起來。與8086/8088配套的鎖存器電路為8282/8283,用ALE做鎖存允許信號。DEN(DataEnable):數(shù)據(jù)允許,輸出,三態(tài),低電平有效。作為總線收發(fā)器(8286/8287—數(shù)據(jù)總線驅(qū)動器)的控制信號。DT/R(DataTransmit/Receive):數(shù)據(jù)發(fā)送/接收控制,輸出,三態(tài)。SS0:狀態(tài)信號,輸出,三態(tài)。注:SS0是對8080而言;而對于8086,這個引腳為BHE/S7;對于8088最小方式下,SS0和M/IO,DT/R的8種狀態(tài)編碼(000-111)輸出表示不同的總線周期狀態(tài)(中斷響應(yīng),讀I/O端口,寫I/O端口,讀內(nèi)存,寫內(nèi)存等)。443.28086/8088系統(tǒng)的最?。畲蠊ぷ鞣绞? 由8086/8088CPU構(gòu)成的微機系統(tǒng),有最小方式和最大方式兩種系統(tǒng)配置。一、最小方式 當(dāng)MN/MX接電源電壓時,系統(tǒng)工作于最小方式,即單處理器系統(tǒng)方式,它適合于較小規(guī)模的應(yīng)用。8086和8位微處理器系統(tǒng)類似,系統(tǒng)芯片可根據(jù)用戶需要接入。 這是最早8086/8088最小方式應(yīng)用系統(tǒng),其中8284A為時鐘發(fā)生/驅(qū)動器;8282為8位地址鎖存器;8282是典型的8位鎖存器;8286為具有三態(tài)輸出的8位數(shù)據(jù)總線收發(fā)器,用于需要增加驅(qū)動能力的系統(tǒng)。4546二、最大方式8086與8088也都可以按最大方式來配置系統(tǒng)。 當(dāng)MN/MX線接地,則系統(tǒng)就工作于最大方式了。最大方式系統(tǒng)與最小方式系統(tǒng)的主要區(qū)別是外加有8288總線控制器,通過它對CPU發(fā)出的控制信號進行變換和組合,以得到對存儲器和I/O端口的讀/寫信號和對鎖存器8282及對總線收發(fā)器8286的控制信號,使總線控制功能更加完善。通常,在最大方式系統(tǒng)中,一般包含2個或多個處理器,這樣就要解決主處理器和協(xié)處理器之間的協(xié)調(diào)工作問題以及對總線的共享控制問題,為此,要從軟件和硬件兩個方面去解決。8288總線控制器就是因此需要而加在最大方式系統(tǒng)中的。47最大方式48
比較兩種工作方式可以知道,在最小方式系統(tǒng)中,控制信號M/IO(或M/IO)、WR、INTA、ALE、DT/R和DEN是直接從CPU的第24~29腳送出的;而在最大方式系統(tǒng)中,則由狀態(tài)信號S2、S1、S0隱含了上面這些信息,使用8288后,系統(tǒng)就可以從S2、S1、S0狀態(tài)信息的組合中得到與這些控制信號功能相同的信息。49表中,前7種代碼組合都對應(yīng)了某一個總線操作過程,通常稱為有源狀態(tài),它們處于前一個總線周期的T4狀態(tài)或本總線周期的T1、T2狀態(tài)中,S2、S1、S0至少有一個信號為低電平.在總線周期的T3、Tw狀態(tài)并且READY信號為高電平時,S2、S1、S0都成為高電平,,此時,前一個總線操作過程就要結(jié)束,后一個新的總線周期尚未開始,通常稱為無源狀態(tài)。而在總線周期的最后一個狀態(tài)即T4狀態(tài),S2、S1、S0中任何一個或幾個信號的改變,都意味著下一個新的總線周期的開始。50幾個最大方式專用腳:QS1,QS0
提供了前一個時鐘周期中指令隊列狀態(tài),以便于外部(如8087)對8086/8088內(nèi)部指令隊列的動作跟蹤。LOCK為低時系統(tǒng)其它總線部件不能占有總線。RQ/GT1,RQ/GT0總線請求信號輸入/總線請求允許信號輸出。用來發(fā)出使用總線的請求信號和接收CPU對總線請求信號的回答信號。后者級別高于前者。51幾種基本時序1.讀總線周期地址A19---A0M/IO:在整個讀周期有效,
1=I/O讀,0=M讀;ALE:T1期間出現(xiàn)正脈沖,下降沿鎖存地址信息;RD:在T2-T3期間有效;DT/R:在整個總線周期為低電平,表示讀周期;DEN:在T2-T3期間為低電平,表示數(shù)據(jù)有效。存儲器讀時序522、T1上升沿ALE=0鎖存地址信號A19~A0,存儲器讀時序說明3、T2開始
RD=0,存儲器開始讀
DEN=0,DB上允許數(shù)據(jù)有效
4、T4開始
DB上數(shù)據(jù)穩(wěn)定。RD、DEN恢復(fù)為1,CPU獲得數(shù)據(jù)5、T4結(jié)束
DT/R=1,存儲器讀周期結(jié)束1、T1開始(T1下降沿)M/IO=1,存儲器操作20位地址信號輸出,BHE信號有效
ALE=1,DT/R=0允許CPU讀入53具有等待狀態(tài)的存儲器讀時序
8086在T3狀態(tài)的的前沿采樣READY線,若發(fā)現(xiàn)其為低,則在T3周期結(jié)束后,插入一個Tw狀態(tài)。以后在每個Tw周期的前沿采樣READY線,只有在發(fā)現(xiàn)它為高電平時,才在這個Tw結(jié)束后進入T4周期。具有等待狀態(tài)的存儲器讀時序542.存儲器寫周期存儲器寫時序AD15~AD0:在T2~T4期間CPU送上欲輸出的數(shù)據(jù),而無高阻態(tài);存儲器寫時序與存儲器讀時序相似,其不同點在于:WR:在T2~T4期間WR有效;DT/R:在整個總線周期內(nèi)為高,表示寫周期,在接有數(shù)據(jù)收發(fā)器的系統(tǒng)中,用來控制數(shù)據(jù)傳輸方向。55存儲器寫時序說明2、T1上升沿
ALE=0鎖存地址信號A19~A03、T2開始
WR=0,存儲器開始寫
DEN=0,DB上允許數(shù)據(jù)有效
4、T4開始數(shù)據(jù)已寫至存儲器
WR、DEN恢復(fù)為15、T4結(jié)束寫周期結(jié)束1、T1開始M/IO=1,存儲器操作
20位地址信號輸出,BHE信號有效
ALE=1,DT/R=1,CPU輸出56復(fù)位時序3.系統(tǒng)復(fù)位當(dāng)8086在RESET引線上檢測到一個脈沖的正沿時,停止正在進行的所有操作,處于初始化狀態(tài),直到RESET信號變低。系統(tǒng)復(fù)位,各寄存器的狀態(tài)573.38086/8088的存儲器一、存儲器組織
8086/8088有20條地址線,可尋址1MB的存儲空間。1、地址和內(nèi)容:存儲器:按字節(jié)為一個單元,每個字節(jié)只有惟一的一個地址。單字節(jié)數(shù)據(jù)存放規(guī)則:按順序存放;多字節(jié)數(shù)據(jù)存放規(guī)則:低位字節(jié)在前,高位字節(jié)在后。當(dāng)存放的是雙字形式(這種數(shù)一般作為指針),其低位字是被尋址地址的偏移量;高位字是被尋址地址所在的段地址。在8086/8088程序中,指令僅要求指出對某個字節(jié)或字進行訪問,而對存儲器訪問的方式不必說明,無論執(zhí)行哪種訪問,都是由處理器自動識別的。0000H例:0001H數(shù)據(jù)為字節(jié):(0001H)=78H,(0002H)=1AH0002H數(shù)據(jù)為字:(0001H)=1A78H(非規(guī)則字)0003H78H1AH588086系統(tǒng)中的存儲器采用奇、偶分體結(jié)構(gòu):將1M字節(jié)的存儲空間分成兩個512KB的存儲體,一個叫高位庫,一個叫低位庫。8088系統(tǒng)中1M字節(jié)的存儲空間同屬于一個單一的存儲器。每次訪問1次存儲器只讀寫1個字節(jié)信息。
D7-D0
D15-D8D15-D8高位庫
SELA19-A1D7-D0低位庫
SELA19-A1BHEA0A19-A159二、存儲器的分段
8086/8088CPU的指令指針I(yè)P和堆棧指針SP都是16位,故只能直接尋址64KB的地址空間。而8086/8088有20根地址線,它允許尋址1MB的存儲空間。如前所述,為了能尋址1MB存儲空間,引入了分段的新概念。601MB存儲空間被分為若
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版鋁合金模板工程安裝與環(huán)保評估合同4篇
- 2025年盆景市場推廣與銷售合作合同范本4篇
- 二零二五年度綠色建筑節(jié)能改造項目設(shè)計咨詢服務(wù)合同4篇
- 2025年移動通信網(wǎng)絡(luò)優(yōu)化服務(wù)合同范本
- 2025年度鋁扣板吊頂施工與維護一體化服務(wù)合同協(xié)議
- 2025游泳館會員卡年度健康體檢及運動康復(fù)服務(wù)協(xié)議3篇
- 2025年度凈身出戶離婚協(xié)議書模板與婚姻律師團隊全程支持服務(wù)協(xié)議3篇
- 上海建筑工地勞務(wù)合作協(xié)議樣書
- 2025年度個人物流運輸承包合同范本2篇
- 2025年度私立學(xué)校教師聘用合同范本(創(chuàng)新教育版)
- 眼的解剖結(jié)構(gòu)與生理功能課件
- 小學(xué)網(wǎng)管的工作總結(jié)
- 2024年銀行考試-興業(yè)銀行筆試參考題庫含答案
- 泵站運行管理現(xiàn)狀改善措施
- 2024屆武漢市部分學(xué)校中考一模數(shù)學(xué)試題含解析
- SYT 0447-2014《 埋地鋼制管道環(huán)氧煤瀝青防腐層技術(shù)標(biāo)準(zhǔn)》
- 浙教版七年級下冊科學(xué)全冊課件
- 弧度制及弧度制與角度制的換算
- 瓦楞紙箱計算公式測量方法
- DB32-T 4004-2021水質(zhì) 17種全氟化合物的測定 高效液相色譜串聯(lián)質(zhì)譜法-(高清現(xiàn)行)
- DB15T 2724-2022 羊糞污收集處理技術(shù)規(guī)范
評論
0/150
提交評論