微機(jī)原理及接口技術(shù)課件第三章_第1頁
微機(jī)原理及接口技術(shù)課件第三章_第2頁
微機(jī)原理及接口技術(shù)課件第三章_第3頁
微機(jī)原理及接口技術(shù)課件第三章_第4頁
微機(jī)原理及接口技術(shù)課件第三章_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基本概念(總線、堆棧等)Intel8086微處理器的結(jié)構(gòu)Intel8088微處理器的結(jié)構(gòu)本章內(nèi)容了解三總線及堆棧的工作原理。掌握Intel8086系統(tǒng)的構(gòu)成和工作原理重點(diǎn)掌握Intel8086微處理器的結(jié)構(gòu)。學(xué)習(xí)目的3.18086微處理器的結(jié)構(gòu)一、總線1.總線的由來在計(jì)算機(jī)中,CPU與其他功能部件之間存在大量的信息交流,其間就需要使用通信線路連接起來,通信線的設(shè)置和連接可采用兩種方式。(1)專線式:將各個(gè)功能部件分別設(shè)置與其它部件通信的線路。優(yōu)點(diǎn):傳送速率高,它只受傳送線本身的限制,且控制簡單。

缺點(diǎn):機(jī)器所需要的信息傳送線數(shù)量大,增加了復(fù)雜性,不便于實(shí)現(xiàn)機(jī)器的模塊和積木化。(2)總線式:在多個(gè)功能部件之間設(shè)置公共的通信線即總線。圖中當(dāng)A和A'門打開時(shí),信息由A傳至A';A和C'門打開時(shí),信息便從A傳至C'。ABCA'

B'

C'

圖總線上能同時(shí)傳送二進(jìn)制信息的位數(shù)稱為總線寬度。見下圖。由于采用了分時(shí)傳送的總線結(jié)構(gòu)從而大大減少了機(jī)器中信息傳送線的數(shù)目。a.分時(shí)傳送:多個(gè)部件并聯(lián)在總線上,某一時(shí)刻,只允許一路信息在總線上傳送。b.控制復(fù)雜:總線的發(fā)送端及接收端均有三態(tài)門電路。打開三態(tài)門信息經(jīng)總線傳送到目的端。若不傳送信息,則使三態(tài)門處于高阻狀態(tài),相當(dāng)于此部件在邏輯上與總線脫離聯(lián)系。c.系統(tǒng)結(jié)構(gòu)簡單,便于擴(kuò)展。特點(diǎn):2.總線的分類

總線按信息傳送的方向可分為單向總線和雙向總線。

單向總線只能向一個(gè)方向發(fā)送信息。

雙向總線則可在兩個(gè)方向傳送。

總線按所傳信息的類別,通常分為數(shù)據(jù)總線、地址總線和控制總線。(1)數(shù)據(jù)總線(DataBus)是微處理器與存儲(chǔ)器和I/O電路間數(shù)據(jù)交換的通道,可雙向傳送。數(shù)據(jù)總線的寬度一般與微處器處理數(shù)據(jù)的字長相同,三狀態(tài)。(2)地址總線(AddressBus)是微處理器輸出地址用的總線,它將地址送到存儲(chǔ)器或I/O電路,用來確定存儲(chǔ)器中信息存放的地址或I/O電路的地址,AB一般為單向、三狀態(tài)。(3)控制總線(ControlBus)是用來傳送控制信號(hào),使各功能部件動(dòng)作同步。二、Intel8086微處理器的結(jié)構(gòu)8086是Intel系列的16bit微處理器,屬第三代。8086有16bit數(shù)據(jù)總線和20bit地址線,可尋址1M空間。8086采用單一+5V電源和單相時(shí)鐘,頻率為5MHZ。20位AH

ALBH

BLCHCLDHDLSPBPDISIALU運(yùn)算寄存器標(biāo)志執(zhí)行部件控制電路16位CSDSSSESIP

內(nèi)部暫存器8位123456執(zhí)行部件

(EU)

輸入/輸出控制電路16位

外部總線

指令隊(duì)列緩沖器總線接口部件(BIU)通用寄存器地址加法器1.總體功能結(jié)構(gòu)8086CPU的結(jié)構(gòu)框圖8086從功能結(jié)構(gòu)來講,分為兩大部分,即總線接口部件BIU(BusInterfaceUnit)和執(zhí)行部件EU(ExecutionUnit)。(1)BIU部件由段寄存器、指令指針、地址加法器、指令隊(duì)列緩沖器和控制電路等部分組成。在執(zhí)行指令時(shí),如要取操作數(shù),則也由BIU從內(nèi)存或I/O接口指定區(qū)域取出,送給EU部件去執(zhí)行。BIU負(fù)責(zé)與存儲(chǔ)器、I/O接口電路傳送信息。BIU負(fù)責(zé)從指定內(nèi)存單元取出指令,送到指令隊(duì)列緩沖器中排隊(duì)。

指令隊(duì)列緩沖器是一個(gè)6個(gè)字節(jié)的RAM存儲(chǔ)器(8088為4個(gè)字節(jié)),隊(duì)列中最多可同時(shí)存放6個(gè)字節(jié)的指令,取來的指令是按字節(jié)順序存放的。當(dāng)隊(duì)列中有兩個(gè)以上的指令字節(jié)空的時(shí)候,BIU會(huì)自動(dòng)地執(zhí)行總線操作,繼續(xù)取指令。(2)EU部件

由ALU、通用寄存器、標(biāo)志寄存器和控制電路組成,負(fù)責(zé)指令的執(zhí)行。ALU、寄存器和數(shù)據(jù)傳輸通路均是16bit的。若執(zhí)行的是一條轉(zhuǎn)移指令,則存放在指令隊(duì)列緩沖器中的指令就沒有用了,應(yīng)到新的地址單元去取出。BIU新取出的第一條指令將直接送到EU中去執(zhí)行,隨后重新填充指令隊(duì)列緩沖器。EU從BIU中的指令隊(duì)列緩沖器中取得指令和數(shù)據(jù)。當(dāng)指令要求將數(shù)據(jù)寫到存儲(chǔ)器和I/O電路,或需從存儲(chǔ)器和I/O電路中讀取數(shù)據(jù)時(shí),EU向BIU發(fā)出請(qǐng)求,BIU自動(dòng)完成這些操作。(3)8086與傳統(tǒng)微處理器指令執(zhí)行過程比較取指3執(zhí)行3取指4

執(zhí)行2取指2執(zhí)行1取指1

傳統(tǒng)微處理器的執(zhí)行方式傳統(tǒng)微處理器取指與執(zhí)行串行進(jìn)行,CPU的工作效率低。取數(shù)據(jù)取指5

取指4取指3取指2取指1BIU執(zhí)行4

執(zhí)行3執(zhí)行2執(zhí)行1等待EU8086的指令執(zhí)行方式8086CPU取指與執(zhí)行并行進(jìn)行,大大減少了等待取指令所需時(shí)間,提高了CPU的工作效率。2.寄存器結(jié)構(gòu)8086CPU內(nèi)部寄存器DLDHCLCHBLBHALAH

通用寄存器AXBXCXDXSPBPSIDI數(shù)據(jù)寄存器CSDSSSESIPFLAG變址寄存器指針寄存器堆棧指針基數(shù)指針源變址目的變址指令指針狀態(tài)標(biāo)志代碼段數(shù)據(jù)段堆棧段附加段段寄存器控制寄存器(1)通用寄存器8個(gè)16bit通用寄存器。

SP—堆棧指針,存放堆棧棧頂?shù)默F(xiàn)行地址,與SS堆棧段寄存器一起方可確定堆棧的實(shí)際地址。

BP—基址指針

SI—源變址寄存器

AX,BX,CX,DX4個(gè)16bit的通用數(shù)據(jù)寄存器,它們的高8bitAH,BH,CH,DH與低8bitAL,BL,CL,DL又可分別看成8個(gè)8bit的寄存器。

DI—目的變址寄存器(2)控制寄存器IP(InstructionPointer)指令指針與PC類似,但有區(qū)別:a.PC是指向下一條即將要執(zhí)行的指令,而IP一般是指向下一次要取出的指令。b.在8086中IP要與CS代碼段寄存器的內(nèi)容一起,才能得到指令的實(shí)際地址。TFSFZF

AF

PF

OFDFIFCF

1514131211109876543210

標(biāo)志寄存器格式a.6個(gè)狀態(tài)標(biāo)志位,即CF、PF、AF、ZF、SF和OF。

進(jìn)位標(biāo)志CF(CarryFlag):

FLAG(標(biāo)志寄存器)為16bit,其中9位有定義當(dāng)結(jié)果的最高位(字節(jié)-D7,字-D15)產(chǎn)生進(jìn)位(加法運(yùn)算)或借位(減法運(yùn)算)時(shí),CF=1;否則,CF=0,移位和循環(huán)指令也影響CF。

奇偶標(biāo)志位PF(ParityFlag):

若結(jié)果中的低8位含有“1”的個(gè)數(shù)為偶數(shù),則PF=1;否則,PF=0。

輔助進(jìn)位標(biāo)志AF(AuxitiaryCarryFlag):

在低半字節(jié)向高半字節(jié)有進(jìn)位或借位時(shí)AF=1;否則,AF=0。

零標(biāo)志ZF(ZeroFlag):

當(dāng)運(yùn)算結(jié)果為0時(shí)ZF=1;否則,ZF=0。

符號(hào)標(biāo)志SF(SignFlag):SF等于最高位,對(duì)于帶符號(hào)數(shù),最高位為符號(hào)位,SF=1運(yùn)算結(jié)果為負(fù),SF=0為正。溢出標(biāo)志OF(OverflowFlag):

帶符號(hào)數(shù)運(yùn)算結(jié)果超出其表達(dá)范圍時(shí)(字節(jié)數(shù):-128~+127,字類型數(shù):-32768~+32767),

OF=1;否則,

OF=0。用表達(dá)式給出(字節(jié)運(yùn)算)(字運(yùn)算)例:①2345H+3219H

②6400H+7A3CHCF=0PF=0AF=0ZF=0SF=0OF=0CF=0PF=1AF=0ZF=0SF=1OF=1b.3個(gè)控制標(biāo)志位

追蹤標(biāo)志TF(TraceFlag):TF=1,處理器進(jìn)入單步方式,以便調(diào)試,CPU每執(zhí)行一條指令自動(dòng)產(chǎn)生一個(gè)內(nèi)部中斷以利于檢查指令的執(zhí)行情況;TF=0為連續(xù)工作方式。中斷允許標(biāo)志IF(Interrupt-enableFlag):IF=1,允許CPU響應(yīng)外部的可屏蔽中斷請(qǐng)求;IF=0則禁止響應(yīng)。IF對(duì)外部非屏蔽中斷及內(nèi)部中斷不起作用。

方向標(biāo)志DF(DirectionFlag):

在串操作指令中,DF=0時(shí),變址指針自動(dòng)增量,DF=1時(shí),則自動(dòng)減量。(3)段寄存器CS—代碼段寄存器,用于定義代碼段基地址,該段用于存放指令代碼。DS—數(shù)據(jù)段寄存器,用于定義數(shù)據(jù)段基地址,該段用于存放數(shù)據(jù)。有4個(gè)16bit的段寄存器SS—堆棧段寄存器,用于定義堆棧段基地址,該段作堆棧區(qū)使用。ES—附加數(shù)據(jù)段,用于定義附加段基地址,與DS類似。上述4個(gè)段在8086尋址的1MB空間內(nèi),其位置不受限制,可連續(xù)排列、分隔排列、部分重疊甚致全部重疊。三、

8086存儲(chǔ)器管理8086采用分段管理的辦法實(shí)現(xiàn)對(duì)1MB存儲(chǔ)空間的管理(物理地址00000H~FFFFFH),16bit的段寄存器存放了該段的段首址,那么它是怎樣產(chǎn)生20bit的物理地址的呢?我們通常采用在地址編號(hào)能被16整除的地方開始分段,此時(shí)地址的低4bit均為0,這時(shí)段寄存器只用來存放高16bit即可,以下有幾個(gè)概念。

段內(nèi)偏移量EA(EffectiveAddress):是指某存儲(chǔ)單元離開該段段首址的字節(jié)數(shù)。

邏輯地址(LogicalAddress):是一對(duì)地址,包含段寄存器的內(nèi)容和段內(nèi)偏移量,如某條指令的邏輯地址可表達(dá)為:CS:IP。

物理地址PA(PhysicalAddress):

是指某個(gè)存儲(chǔ)單元實(shí)際的20bit的地址,又稱絕對(duì)地址。由上面的定義可知:物理地址PA=對(duì)應(yīng)段寄存器×10H十段內(nèi)偏移量EA。物理地址的形成如下圖所示。物理地址的形成

段寄存器值0000

20位物理地址19

015

015

0偏移地址加法器16位4位

例如:若CS=FFFFH,IP=0000H,則指令所在存儲(chǔ)單元的物理地址為:PA=(CS)×10H+IP=FFFF0H

當(dāng)取指令時(shí),自動(dòng)選擇的段寄存器是CS,再加上IP所決定的16位偏移量,得到要取出指令具體的物理地址:

當(dāng)涉及到取一個(gè)堆棧操作數(shù)時(shí),自動(dòng)選擇的段寄存器是SS,再加上SP所決定的16位偏移量,得到堆棧操作所需要的20位物理地址。

當(dāng)涉及到取一個(gè)操作數(shù)時(shí),自動(dòng)選擇DS數(shù)據(jù)段寄存器或ES附加段寄存器,再加上16位偏移量,得到操作數(shù)的20位物理地址。16位偏移量取決于指令的尋址方式。如下圖所示:IPCSSI,DI或BXDSSP或BPSS代碼段數(shù)據(jù)段堆棧段3.28086的引腳信號(hào)及工作模式

最小模式:即由8086組成的單處理器系統(tǒng),所有的總線控制信號(hào)由8086直接產(chǎn)生,系統(tǒng)中的總線控制邏輯電路被減到最少。

最大模式:即由8086組成的中等規(guī)?;蛘叽笮偷南到y(tǒng)。包含兩個(gè)或多個(gè)微處理器,8086為主處理器,其它的為協(xié)處理器。一、8086的兩種工作模式8086采用雙列直插式封裝,有40個(gè)引腳(如右圖所示),但總線信號(hào)數(shù)量卻大于40,故8086采用了分時(shí)復(fù)用技術(shù),部分引腳傳送兩種總線信號(hào)。二、8086引腳圖12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/

S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET

8086CPU8086的引腳信號(hào)注:括號(hào)內(nèi)為該引腳在最大模式下的名稱1.最小模式下引腳信號(hào)及功能:(1)地址/數(shù)據(jù)總線AD15~AD0(雙向、三態(tài))在一個(gè)總線周期的第一個(gè)時(shí)鐘周期用于傳送低16bit地址信息,并用地址鎖存器鎖存以免丟失,其它時(shí)鐘周期可用于傳送數(shù)據(jù)信息,分時(shí)傳送。當(dāng)8086執(zhí)行中斷響應(yīng)周期、保持響應(yīng)周期時(shí),這些引腳處于高阻狀態(tài)。(2)地址/狀態(tài)信號(hào)線A19/S6~A16/S3(輸出、三態(tài))

在總線周期的第一個(gè)時(shí)鐘周期(T1)用于輸出地址信號(hào)的最高4bit并鎖存。

其它時(shí)鐘周期中用來輸出狀態(tài)信號(hào)S6~S3,其中:S6——低電平,表示8086當(dāng)前與總線相連。S5——表示標(biāo)志寄存器中“中斷允許位”的狀態(tài)(IF)。S4,

S3的組合指出了分段情況。如下表所示。S4和S3的組合提供的分段信息表

S4S3意

義00110101當(dāng)前正在使用ES附加段當(dāng)前正在使用SS堆棧段當(dāng)前正在使用CS或者未使用任何段寄存器當(dāng)前正在使用DS數(shù)據(jù)段

當(dāng)CPU處于“保持響應(yīng)”狀態(tài)時(shí),A19/S6~A16/S3置為高阻狀態(tài)。

若執(zhí)行I/O指令,則由于8086只訪問64K個(gè)端口,在T1周期這4個(gè)引腳為低電平。(3)BHE/S7高8bit數(shù)據(jù)總線允許/狀態(tài)線(輸出,三態(tài))

在T1狀態(tài),8086在BHE/S7引腳輸出BHE信號(hào),表示高8bit數(shù)據(jù)總線D15~D8上的數(shù)據(jù)有效,與地址線A0一起產(chǎn)生存儲(chǔ)器的選擇邏輯信號(hào)。

在其它時(shí)鐘周期,輸出為狀態(tài)信號(hào)S7。但8086芯片,S7未定義。下面介紹引腳中的控制信號(hào)。(4)MN/MX最小/最大模式控制信息低電平—8086處于最大模式。高電平—8086處于最小模式。(5)RD讀信號(hào)(輸出,三態(tài))低電平有效。表示將對(duì)內(nèi)存或I/O端口讀操作。(6)M/IO,存儲(chǔ)器/輸入輸出控制信息(輸出,三態(tài))區(qū)分CPU進(jìn)行的是存儲(chǔ)器還是I/O訪問,見下表。RD

M/IO

作1000讀存儲(chǔ)器數(shù)據(jù)讀I/O端口數(shù)據(jù)RD與M/IO的組合及對(duì)應(yīng)的操作表(7)WR寫信號(hào)(輸出,三態(tài))1000CPU對(duì)存儲(chǔ)器進(jìn)行寫操作CPU對(duì)I/O端口進(jìn)行寫操作WR與M/IO的組合及對(duì)應(yīng)的操作表操

作WR

M/IO

低電平有效。WR與M/IO的組合對(duì)應(yīng)的操作如下表所示。(8)ALE地址鎖存允許信號(hào)(輸出)高電平有效,此信號(hào)在T1狀態(tài)有效,為地址碼鎖存的選通信號(hào),送地址鎖存器。(9)READY準(zhǔn)備就緒信號(hào)(輸入)高電平有效,是從所尋址的存儲(chǔ)器或I/O電路來的響應(yīng)信號(hào),用于解決CPU與慢速存儲(chǔ)器或I/O電路的同步問題。CPU在T3周期開始采樣READY線,若為低電平,則T3之后插入TW等待周期直到READY為高電平,進(jìn)入T4完成數(shù)據(jù)傳送。

(10)INTR可屏蔽中斷請(qǐng)求信號(hào)(輸入)

高電平有效,8086在每一個(gè)指令周期的最后一個(gè)T狀態(tài)采樣這條線,若為有效,且IF=1,則8086在執(zhí)行完當(dāng)前指令即響應(yīng)中斷。(11)INTA中斷響應(yīng)信號(hào)(輸出,三態(tài))低電平有效,CPU響應(yīng)外部可屏蔽中斷請(qǐng)求以后,便發(fā)出中斷響應(yīng)信號(hào),作為對(duì)中斷請(qǐng)求的回答。此信號(hào)在每一個(gè)中斷響應(yīng)周期的T2、T3和TW周期均有效,為中斷矢量的讀選通信號(hào)。(12)NMI非屏蔽中斷請(qǐng)求信號(hào)(輸入)邊沿觸發(fā),該線上的中斷請(qǐng)求信號(hào)不能用軟件屏蔽,電平由低到高,便在當(dāng)前指令結(jié)束后引起中斷。(13)RESET系統(tǒng)復(fù)位信號(hào)(輸入)高電平有效,8086要求此信號(hào)起碼維持4個(gè)時(shí)鐘周期;若初次加電復(fù)位,持續(xù)時(shí)間不小于50s。RESET為高電平時(shí),8086立即結(jié)束現(xiàn)行操作,進(jìn)入內(nèi)部復(fù)位狀態(tài),CPU各內(nèi)部寄存器被設(shè)置為初值:CS=FFFFH,F(xiàn)lag、IP、DS、ES、SS及其它寄存器均初始化為0000H。(14)DT/R數(shù)據(jù)收發(fā)控制信號(hào)(輸出、三態(tài))為增強(qiáng)數(shù)據(jù)總線的驅(qū)動(dòng)能力,8086可外接驅(qū)動(dòng)器8286,DT/R即為8086輸出給數(shù)據(jù)收發(fā)器8286的控制信號(hào)。DT/R—高電平,8086輸出的數(shù)據(jù)經(jīng)8286送到數(shù)據(jù)總線;DT/R—低電平,收發(fā)器8286則把數(shù)據(jù)總線上的數(shù)據(jù)傳送到8086。系統(tǒng)工作在DMA方式時(shí),DT/R為高阻狀態(tài)。高電平有效。系統(tǒng)中其他的總線主設(shè)備要獲得對(duì)總線的控制權(quán)時(shí),向8086發(fā)出高電平的HOLD信號(hào),8086在每個(gè)時(shí)鐘周期的上升沿對(duì)HOLD引腳信號(hào)進(jìn)行檢測(cè),若為高電平,則在當(dāng)前總線周期結(jié)束時(shí),予以響應(yīng)。(16)HOLD保持請(qǐng)求信號(hào)(輸入)(15)DEN數(shù)據(jù)允許信號(hào)(輸出,三態(tài))

低電平有效,也是8086控制外接的數(shù)據(jù)收發(fā)器,低電平時(shí)開啟收發(fā)器,傳送數(shù)據(jù)有效;高電平時(shí),則禁止傳送。(17)HLDA保持響應(yīng)信號(hào)(輸出)高電平有效。當(dāng)CPU響應(yīng)保持請(qǐng)求HOLD時(shí),便發(fā)出HLDA高電平的應(yīng)答信號(hào),從而將總線控制權(quán)讓給發(fā)出保持請(qǐng)求的設(shè)備,直到該設(shè)備又將HOLD信號(hào)變?yōu)榈碗娖?,CPU才收回總線控制權(quán),將HLDA信號(hào)置為低電平。低電平有效。與WAIT等待指令結(jié)合使用,當(dāng)CPU執(zhí)行WAIT指令時(shí),CPU處于空轉(zhuǎn)狀態(tài)進(jìn)行等待直到檢測(cè)到TEST信號(hào)有效時(shí)結(jié)束,CPU繼續(xù)往下執(zhí)行指令。(18)TEST測(cè)試信號(hào)(輸入)(19)CLK系統(tǒng)時(shí)鐘輸入信號(hào)時(shí)鐘信號(hào)為CPU和總線控制邏輯電路提供定時(shí)基準(zhǔn)。常用INTEL8284A時(shí)鐘發(fā)生器提供CLK信號(hào)。工作在最小模式下8086的典型配置如右圖所示。8086地址鎖存器STB(8286×2)OE(選用)數(shù)據(jù)總線地址總線(8282×3)READYRESETMN/MXALEBHEA19~A16AD15~AD0

DENDT/RM/IOWRRDHOLDHLDAINTRINTA

(8284A)X1X2CLKREADYRESET+5VBHEA19~A0D15~D02.最大模式下引腳信號(hào)及功能若將8086的MN/MX引腳接地便工作在最大模式。此時(shí)僅24—31引腳信號(hào)與最小模式不同,如下表所示。引腳編號(hào)最小模式最大模式2425262728293031QS1QS0S0S1S2LOCKRQ/GT1RQ/GT0INTAALEDENDT/RM/IOWRHLDAHOLD兩種模式下8086的24~31引腳信號(hào)表(1)QS1和QS0指令隊(duì)列狀態(tài)信號(hào)(輸出)QS1和QS0編碼與隊(duì)列狀態(tài)表QS1 QS0

隊(duì)列狀態(tài)00110101空操作取走指令的第一個(gè)字節(jié)隊(duì)列空從隊(duì)列里取出的字節(jié)是指令的后續(xù)字節(jié)兩信號(hào)編碼和對(duì)應(yīng)的隊(duì)列狀態(tài)如下表所示。

這三個(gè)狀態(tài)信號(hào)組成的編碼表示了當(dāng)前總線周期是何種操作周期,如下表所示。

2,1和0編碼與總線周期表發(fā)中斷響應(yīng)信號(hào)讀I/O端口寫I/O端口暫停取指令讀存儲(chǔ)器寫存儲(chǔ)器

無源狀態(tài)010101010000111100110011S

總線周期2

S

1

0

S

(2)S2,S1和S0總線周期狀態(tài)信號(hào)(輸出,三態(tài))(3)LOCK總線封鎖信號(hào)(輸出,三態(tài))低電平有效。此信號(hào)有效時(shí),系統(tǒng)中其他總線主部件不能占有總線。此信號(hào)由前綴指令LOCK使其有效,并保持到LOCK前綴后的一條指令執(zhí)行完畢。另外8086在兩個(gè)中斷響應(yīng)周期之間,LOCK信號(hào)也自動(dòng)變?yōu)橛行щ娖?,以防其它部件占有總線。

下圖給出了8086在最大模式下的典型配置。(4)RQ/GT1和RQ/GT0總線請(qǐng)求/允許信號(hào)(雙向)供CPU以外的兩個(gè)處理器用以發(fā)出使用總線的請(qǐng)求信號(hào)和接收CPU對(duì)總線請(qǐng)求信號(hào)的回答信號(hào),請(qǐng)求與允許信號(hào)在同一引腳上傳輸,但方向相反。其中RQ/GT0優(yōu)先級(jí)較高。

8086在最大模式下的典型配置8086CPU時(shí)鐘發(fā)生器(8284A)8288

CLK

DEN

ALE

MN/MX

STB

OE

OE

T

IORC

IOWC

數(shù)據(jù)總線

MRDC

MWTC

BHE8282×38286×2CLKREADYRESETBHES0S1S2S0S1S2DT/R

A19~A0D15~D0INTA

A19~A16AD15~AD01READY

RESET

總線控制器地址總線

由圖可以看出:8086在最大與最小模式下的主要區(qū)別是增加了一個(gè)8288總線控制器。8288接受8086CPU的狀態(tài)信號(hào)S2、S1和S0,經(jīng)過變換和組合,由8288發(fā)出對(duì)存儲(chǔ)器和I/O端口的讀/寫信號(hào),對(duì)鎖存器8282及對(duì)總線收發(fā)器8286的控制信號(hào)。三、8086系統(tǒng)中的堆棧用作數(shù)據(jù)暫時(shí)存儲(chǔ)的一組寄存器或存儲(chǔ)單元稱為堆棧。堆棧操作有兩種:壓入(PUSH)和彈出(POP),而SP始終指向堆棧棧頂?shù)男挛恢谩?.堆棧的定義堆棧中數(shù)據(jù)按“后進(jìn)先出”的結(jié)構(gòu)方式進(jìn)行處理,即新入棧的依次堆放在原來數(shù)據(jù)之上,存放信息的最后一個(gè)單元叫做棧頂,用堆棧指針SP(StackPointer)指示。2.堆棧編址結(jié)構(gòu)的兩種形式(1)向上生成該結(jié)構(gòu)中,每壓入一個(gè)數(shù)據(jù),堆棧指示器SP按增量修改;每彈出一個(gè)數(shù)據(jù),SP按減量修改。(2)向下生成該結(jié)構(gòu)中,每壓入一個(gè)數(shù)據(jù),SP按減量修改;每彈出一個(gè)數(shù)據(jù),SP按增量修改。3.構(gòu)成堆棧的兩種形式

一種是使用微處理器內(nèi)部的一組寄存器作為堆棧。

優(yōu)點(diǎn):訪問速度快。

缺點(diǎn):寄存器數(shù)量有限。

另一種形式是在隨機(jī)存儲(chǔ)器RAM中開辟一個(gè)區(qū)間供堆棧使用,較為普遍;若編址采用向下生成,其堆棧操作如下圖所示。

堆棧操作示意圖(向下生成)M-3M-2M-1MXSP(a)M-3M-2M-1MXSP(b)AM-3M-2M-1MXSP(c)ABSPASPBSPC當(dāng)前棧頂?shù)刂窞镸,存內(nèi)容X信息B進(jìn)棧:SPSP-1,SP指定的地址B信息A進(jìn)棧分兩步操作:SPSP-1,SP指定的地址單元A

堆棧操作示意圖(向下生成)MM-3M-2M-1XSP(d)ABCM-3M-2M-1MXSP(f)ABCM-3M-2M-1MXSP(e)ACBSPDSPCSPB信息C進(jìn)棧信息C出棧分兩步操作:指定的目的地C,SPSP+1信息B出棧:指定目的地B,SPSP+1

堆棧操作示意圖(向下生成)MM-3M-2M-1XSP(g)ADCM-3M-2M-1MXSP(i)ADCM-3M-2M-1MXSP(h)ACDSPDSPA信息D進(jìn)棧:SPSP-1,SP指定的地址D信息D出棧信息A出棧,棧頂?shù)刂啡詾镸

由上圖中可以看出,出棧操作并不會(huì)從堆棧中去掉信息,也不擦除它們,只是因SP的自動(dòng)修改而改變了堆棧的棧頂。

堆棧主要用于中斷控制,子程序調(diào)用以及數(shù)據(jù)暫時(shí)存儲(chǔ)。3.38088微處理器8088是

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論