第二章 8086系統(tǒng)結(jié)構(gòu)_第1頁(yè)
第二章 8086系統(tǒng)結(jié)構(gòu)_第2頁(yè)
第二章 8086系統(tǒng)結(jié)構(gòu)_第3頁(yè)
第二章 8086系統(tǒng)結(jié)構(gòu)_第4頁(yè)
第二章 8086系統(tǒng)結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩82頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)2.18086CPU的結(jié)構(gòu)2.28086的引腳和功能2.38086存儲(chǔ)器組織2.48086的工作模式和總線操作8086CPU的基本性能指標(biāo)

(1)16位微處理器;數(shù)據(jù)寬度(字長(zhǎng)):16位。(2)采用高速運(yùn)算性能的HMOS工藝制造,芯片上集成了2.9萬(wàn)只晶體;(3)使用單一的+5V電源,40條引腳雙列直插式封裝(DIP);(4)時(shí)鐘頻率為5MHz~10MHz,基本指令執(zhí)行時(shí)間為0.3ms~0.6ms。(5)16根數(shù)據(jù)線和20根地址線,尋址能力(或?qū)ぶ贩秶?為:220=1MB。(6)8086可以和浮點(diǎn)運(yùn)算器、輸入/輸出處理器或其他處理器組成多處理器系統(tǒng),從而極大地提高了系統(tǒng)的數(shù)據(jù)吞吐能力和數(shù)據(jù)處理能力。2.1.18086CPU的內(nèi)部結(jié)構(gòu)及工作過(guò)程

8086是Intel系列的16位微處理器,采用HMOS工藝。同時(shí),Intel還推出了準(zhǔn)16位微處理器8088(內(nèi)部數(shù)據(jù)總線16位,外部數(shù)據(jù)總線8位)。主要用于兼容當(dāng)時(shí)的外圍接口芯片。

8086CPU內(nèi)部結(jié)構(gòu)框圖如下頁(yè)圖所示。

8086CPU指令執(zhí)行部件EU總線接口部件BIU2.18086CPU的內(nèi)部結(jié)構(gòu)內(nèi)部暫存器

IPESSS

DS

CS輸入/輸出控制電路外部總線執(zhí)行部件控制電路123456∑ALU標(biāo)志寄存器

AHAL

BHBLCHCL

DHDL

SP

BP

SIDI通用AX寄存

BX器CX

DX地址加法器指令隊(duì)列緩沖器執(zhí)行部件(EU)總線接口部件(BIU)16位20位16位8位功能:

總線接口部件BIU是CPU與外部(存儲(chǔ)器和I/O口)的接口,它提供了16位雙向數(shù)據(jù)總線和20位地址總線,完成所有的外部總線操作。具有地址形成、取指令、指令排隊(duì)、讀/寫(xiě)操作數(shù)、總線控制等功能。組成:4個(gè)16位段地址寄存器(CS、DS、ES、SS)

16位指令指針寄存器IP20位物理地址加法器

6字節(jié)指令隊(duì)列總線控制器1.總線接口部件BIU(BusInterfaceUnit)

BIU的特點(diǎn):

8086的指令隊(duì)列為6個(gè)字節(jié),在EU執(zhí)行指令的同時(shí),BIU可從內(nèi)存中取出后續(xù)的指令代碼,放在指令隊(duì)列中,可以提高CPU的工作效率。

地址加法器用來(lái)產(chǎn)生20位物理地址。8086可用20位地址尋址1M字節(jié)的內(nèi)存空間,而CPU內(nèi)部的寄存器都是16位,因此需要由一個(gè)附加的機(jī)構(gòu)來(lái)計(jì)算出20位的物理地址,這個(gè)機(jī)構(gòu)就是20位的地址加法器。

例如:CS=FE00H,IP=0400H,則表示要取指令代碼的物理地址為FE400H。2.指令執(zhí)行部件EU(ExecutionUnit)功能:指令執(zhí)行部件EU完成指令譯碼和指令執(zhí)行的工作。組成:算術(shù)邏輯單元ALU

標(biāo)志寄存器flags

4個(gè)16位通用寄存器(AX、BX、CX、DX)

4個(gè)16位專(zhuān)用寄存器(BP、SP、SI、DI)

EU控制器

3.BIU與EU的動(dòng)作協(xié)調(diào)原則

總線接口部件(BIU)和執(zhí)行部件(EU)按流水線技術(shù)原則協(xié)調(diào)工作,共同完成所要求的信息處理任務(wù):

(1)每當(dāng)8086的指令隊(duì)列中有2個(gè)或2個(gè)以上空字節(jié)時(shí),BIU就會(huì)自動(dòng)把指令從存儲(chǔ)器取到指令隊(duì)列中。其取指的順序是按指令在程序中出現(xiàn)的前后順序(根據(jù)CS:IP指向的位置)。

3.BIU與EU的動(dòng)作協(xié)調(diào)原則(2)每當(dāng)EU準(zhǔn)備執(zhí)行一條指令時(shí),它會(huì)從BIU部件的指令隊(duì)列前部取出指令的代碼,然后用幾個(gè)時(shí)鐘周期去執(zhí)行指令。在執(zhí)行指令的過(guò)程中,如果必須訪問(wèn)存儲(chǔ)器或者I/O端口,那么EU就會(huì)將操作數(shù)的偏移地址送給BIU,進(jìn)入總線周期,完成訪問(wèn)內(nèi)存或者I/O端口的操作;如果此時(shí)BIU正好處于空閑狀態(tài),會(huì)立即響應(yīng)EU的總線請(qǐng)求。如BIU正將某個(gè)指令字節(jié)取到指令隊(duì)列中,則BIU將首先完成這個(gè)取指令的總線周期,然后再去響應(yīng)EU發(fā)出的訪問(wèn)總線的請(qǐng)求。BIU與EU兩者的工作是不同步的,8086可以在執(zhí)行指令的同時(shí),進(jìn)行取指令代碼的操作,即BIU與EU是一種并行工作方式,改變了以往計(jì)算機(jī)取指令→譯碼→執(zhí)行指令的串行工作方式,提高了總線的利用率,大大提高了工作效率。

(3)當(dāng)指令隊(duì)列已滿(mǎn),且EU又沒(méi)有總線訪問(wèn)請(qǐng)求時(shí),BIU便進(jìn)入空閑狀態(tài)。

(4)在執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時(shí),由于待執(zhí)行指令的順序(CS:IP)發(fā)生了變化,則指令隊(duì)列中已經(jīng)裝入的字節(jié)被自動(dòng)消除,BIU會(huì)接著往指令隊(duì)列裝入轉(zhuǎn)向的另一程序段中的指令代碼。等待取指1執(zhí)行1等待取指2執(zhí)行2等待取指3執(zhí)行3CPU總線忙閑忙閑忙閑傳統(tǒng)微處理器的指令執(zhí)行過(guò)程取指1取指2取指3取指4取指5取指6EU總線執(zhí)行1執(zhí)行2執(zhí)行3執(zhí)行4執(zhí)行5執(zhí)行6忙忙忙忙忙忙BIU8086CPU的指令執(zhí)行過(guò)程

總結(jié):BIU狀態(tài):(1)將指令按序取入指令隊(duì)列(指令隊(duì)列中只要有兩個(gè)字節(jié)以上的空,就往指令隊(duì)列中取指令);(2)響應(yīng)EU的總線周期,完成訪問(wèn)存儲(chǔ)器、I/O口;(3)空閑狀態(tài)(指令隊(duì)列不空,也無(wú)EU的總線的請(qǐng)求)。EU狀態(tài):(1)從BIU指令隊(duì)列前部取出指令,經(jīng)指令譯碼后,執(zhí)行指令;(2)需要訪問(wèn)存儲(chǔ)器、I/O口,向BIU提出總線周期申請(qǐng);(3)BIU指令隊(duì)列空時(shí),EU處于等待狀態(tài)。CPU的工作過(guò)程已知:DS=3000H,CS=1000H,當(dāng)前的IP=100H,執(zhí)行下面的指令:

MOVAL,[2000H];假設(shè)32000單元中的內(nèi)容為10ADDAL,02HEU和BIU的工作過(guò)程:2.1.28086CPU的寄存器DLDHCLCHBLBHALAH

AXBXCXDX通用寄存器

CSDSSSESIPflags變址寄存器指針寄存器堆棧指針基址指針源變址目的變址指令指針狀態(tài)標(biāo)志代碼段數(shù)據(jù)段堆棧段附加段段寄存器控制寄存器

SPBPSIDIAX(Accumulator):累加器,存放算術(shù)運(yùn)送操作數(shù)、結(jié)果;BX(Base):基址寄存器;CX(Count):計(jì)數(shù)器寄存器;DX(Data):數(shù)據(jù)寄存器。1.通用寄存器(見(jiàn)教材P26表2-1)

8086有4個(gè)16位的通用寄存器(AX、BX、CX、DX),可以存放16位的二進(jìn)制操作數(shù),也可做為8個(gè)相互獨(dú)立的8位寄存器(AL、AH;BL、BH;CL、CH;DL、DH)來(lái)使用。除了作為通用寄存器外,它們還有專(zhuān)門(mén)的用途:2.指針和變址寄存器(見(jiàn)教材P26表2-1)

8086有4個(gè)16位的指針或變址寄存器(SI、DI、SP、BP)。(1)指針寄存器系統(tǒng)中有兩個(gè)16位的指針寄存器SP和BP。

BP(BasePoint):基址指針寄存器。用于存放偏移量,通常和SS段寄存器配合使用,在間接尋址中用于定位堆棧段中的內(nèi)存單元。SP(StackPoint)堆棧指針寄存器,用于存放偏移量,只能和SS段寄存器配合使用,且始終指向堆棧的棧頂,在堆棧指令中隱含的使用它來(lái)定位棧頂數(shù)據(jù)。(2)變址寄存器(見(jiàn)教材P26表2-1)

系統(tǒng)中有兩個(gè)16位的變址寄存器SI和DI,用于指令的變址尋址方式。

SI(SourceIndex):源變址寄存器。用于存放偏移量或偏移量的一部分,通常和DS、ES這兩個(gè)段寄存器配合使用,用于定位數(shù)據(jù)段或附加段中的內(nèi)存單元。在字符串操作指令中,用于指明源串偏移量。也可同16位的通用寄存器一樣使用。

DI(DestinationIndex):目的變址寄存器。用于存放偏移量或偏移量的一部分,通常和DS、ES這兩個(gè)段寄存器配合使用,用于定位數(shù)據(jù)段或附加段中的內(nèi)存單元。在字符串操作指令中,用于指明目的串偏移量。也可同16位的通用寄存器一樣使用。

8086CPU共有4個(gè)16位的段寄存器,用來(lái)存放每一個(gè)邏輯段的段起始地址(段基址)。(1)代碼段寄存器CS(CodeSegment)

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

(StackSegment)(4)附加段寄存器ES(ExtraSegment)

3.段寄存器

8086CPU外部有20位地址總線,可以直接尋址1MB空間,但8086CPU內(nèi)部的寄存器都是16位的,只能直接尋址64KB,因此存儲(chǔ)器的訪問(wèn)必須采用分段技術(shù)。段:內(nèi)存中一段連續(xù)的空間,在程序中具有特定的用途。段基址:段在內(nèi)存中的起始地址=段基值×168086CPU系統(tǒng)中共有4個(gè)16位段寄存器,用于存放程序所要使用的4個(gè)存儲(chǔ)段的段基值,分別對(duì)應(yīng)于內(nèi)存中的四塊存儲(chǔ)區(qū)域,代碼段、堆棧段、數(shù)據(jù)段、附加段。功能:段寄存器的內(nèi)容與有效的地址偏移量一起,可確定內(nèi)存的物理地址。通常CS劃定并控制程序區(qū),DS和ES控制數(shù)據(jù)區(qū),SS控制堆棧區(qū)。

代碼段:用于存放程序的機(jī)器指令序列;堆棧段:用于存放程序使用堆棧指令所保存的數(shù)據(jù),自動(dòng)保存的斷點(diǎn)等信息;數(shù)據(jù)段:存放程序直接使用的數(shù)據(jù);附加段:其中的內(nèi)容不確定,可以由程序開(kāi)發(fā)人員根據(jù)實(shí)際需要自己決定。

每個(gè)程序都可能會(huì)使用這樣四個(gè)段,其中代碼段是必須的,實(shí)用的程序通常至少包含代碼段、堆棧段、數(shù)據(jù)段。

代碼段寄存器CS(CodeSegment)數(shù)據(jù)段寄存器DS(DataSegment)堆棧段寄存器SS(StackSegment)附加段寄存器ES(ExtraSegment)CS0000

IP代碼段DS或ES0000SI、DI或BXSS0000SP或BP數(shù)據(jù)段堆棧段存儲(chǔ)器段寄存器和偏移地址寄存器組合關(guān)系4.指令指針及標(biāo)志寄存器(1)指令指針寄存器IP

IP

用于控制CPU的指令執(zhí)行順序(只存放偏移量),只能和代碼段寄存器CS配合使用,可以確定當(dāng)前所要取的指令的內(nèi)存地址,且始終指向代碼段中下一條將要讀取到CPU指令隊(duì)列的那條指令。

順序執(zhí)行程序時(shí),CPU每取一個(gè)指令字節(jié),IP自動(dòng)加1,指向下一個(gè)要讀取的字節(jié);修改IP中內(nèi)容的操作是CPU在每讀取一條指令到指令隊(duì)列后自動(dòng)進(jìn)行的,使它指向要讀取的下一條指令。

跳轉(zhuǎn)指令可以隱含的修改IP寄存器中的內(nèi)容。(2)標(biāo)志寄存器flags

標(biāo)志寄存器flags用于存放CPU在工作過(guò)程中的狀態(tài)。

flags為16位寄存器,其中共有9個(gè)標(biāo)志位,可分成兩類(lèi):一類(lèi)為狀態(tài)標(biāo)志,一類(lèi)為控制標(biāo)志。

狀態(tài)標(biāo)志:表示前一條指令(如加、減等)執(zhí)行以后,ALU所處的狀態(tài),后續(xù)操作可以根據(jù)這些狀態(tài)標(biāo)志進(jìn)行判斷,實(shí)現(xiàn)轉(zhuǎn)移;

控制標(biāo)志:可以通過(guò)指令人為設(shè)置,用以對(duì)某一種特定的功能起控制作用(如中斷屏蔽等),反映了人們對(duì)微機(jī)系統(tǒng)工作方式的可控制性。

PSW中各標(biāo)志位的安排如下表所示。

1514131211109876543210

OF

DFIFTF

SFZFAFPF CFD15進(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-低4位向高4位有進(jìn)、借位0-低4位向高4位無(wú)進(jìn)、借位1-低8位有偶數(shù)個(gè)10-低8位有奇數(shù)個(gè)11-結(jié)果為00-結(jié)果不為0D0OFDFIFTFSFZFAFPFCF16位寄存器,其中有7位未用。

PSW是按位操作的??梢酝ㄟ^(guò)轉(zhuǎn)移指令來(lái)判斷標(biāo)志位的變化,從而實(shí)現(xiàn)程序中的分支結(jié)構(gòu)或者循環(huán)結(jié)構(gòu)。

PSW中各標(biāo)志位含義如下:①狀態(tài)標(biāo)志:6個(gè)

CF—進(jìn)位標(biāo)志位,實(shí)現(xiàn)加法(或減法)時(shí),當(dāng)最高位出現(xiàn)進(jìn)位(或借位),CF位自動(dòng)置1,反之置0。

PF—奇偶標(biāo)志位,當(dāng)運(yùn)算結(jié)果的低8位中l(wèi)的個(gè)數(shù)為偶數(shù)時(shí),則PF位自動(dòng)置1,反之為0。AF—半進(jìn)位標(biāo)志位,實(shí)現(xiàn)加法(或減法)時(shí),當(dāng)?shù)退奈幌蚋咚奈挥羞M(jìn)位(或借位),AF位自動(dòng)置1。通常用于對(duì)BCD算術(shù)運(yùn)算結(jié)果的調(diào)整。例如:11011000+10101110=110000110其中AF=1,CF=1ZF—零標(biāo)志位,運(yùn)算結(jié)果為0時(shí),ZF位自動(dòng)置1,否則清0。

SF—符號(hào)標(biāo)志位,當(dāng)運(yùn)算結(jié)果的最高位為1,SF自動(dòng)位置1,否則清0。即與運(yùn)算結(jié)果的最高位相同。OF—溢出標(biāo)志位,OF溢出的判斷方法如下:加法運(yùn)算:

若兩個(gè)加數(shù)的最高位為0,而和的最高位為1,則產(chǎn)生溢出;若兩個(gè)加數(shù)的最高位為1,而和的最高位為0,則產(chǎn)生溢出;兩個(gè)加數(shù)的最高位不相同時(shí),不可能產(chǎn)生溢出。減法運(yùn)算:

若被減數(shù)的最高位為0,減數(shù)的最高位為1,而差的最高位為1,則產(chǎn)生溢出;若被減數(shù)的最高位為1,減數(shù)的最高位為0,而差的最高位為0,則產(chǎn)生溢出;被減數(shù)及減數(shù)的最高位相同時(shí),按兩數(shù)的大小判斷溢出。如果所進(jìn)行的運(yùn)算是帶符號(hào)數(shù)的運(yùn)算,則溢出標(biāo)志恰好能夠反映運(yùn)算結(jié)果是否超出了8位或16位帶符號(hào)數(shù)所能表達(dá)的范圍,即字節(jié)運(yùn)算大于+127或小于-128時(shí),字運(yùn)算大于十32767或小于-32768時(shí),該位置1,反之為0。例如:

01010100 00111001

+0100010101101010 1001100110100011

CF=0、AF=1、PF=1、ZF=0、SF=1、OF=1(兩正數(shù)相加結(jié)果為負(fù))

一般來(lái)講,不是每次運(yùn)算后所有的標(biāo)志都改變,只是在某些操作之后,才對(duì)其中某個(gè)標(biāo)志進(jìn)行檢查。②控制標(biāo)志:3個(gè)

TF—單步標(biāo)志位。當(dāng)TF位置1時(shí),將使8086/8088進(jìn)入單步工作方式,通常用于程序的調(diào)試。

IF—中斷允許標(biāo)志位,若IF位置1,則處理器可以響應(yīng)可屏蔽中斷,否則就不能響應(yīng)可屏蔽中斷。

DF—方向標(biāo)志位,若DF位置1,則串操作指令的地址修改為自動(dòng)減量方向,反之,為自動(dòng)增量方向。2.28086的引腳信號(hào)和功能

如下頁(yè)圖所示,是8086/8088CPU的外部結(jié)構(gòu),即引腳信號(hào)圖。

8086/8088CPU芯片是40引腳雙列直插式(DIP40)封裝的集成電路芯片,其中32個(gè)引腳在兩種工作模式(最小模式和最大模式)下的名稱(chēng)和功能是相同的,還有8個(gè)引腳(24----31)在不同的工作模式下,具有不同的名稱(chēng)和功能。

最小模式最大模式最小模式最大模式系統(tǒng)的最小模式:只有8086/8088CPU。系統(tǒng)的最大模式:有兩個(gè)或兩個(gè)以上的CPU,一個(gè)為主CPU8086/8088,另一個(gè)為協(xié)CPU8087/8089。1.兩種模式下,名稱(chēng)和功能相同的32個(gè)引腳(1)VCC、GND:電源、接地引腳,8088/8086CPU采用單一的+5V電源,但有兩個(gè)接地引腳。(2)AD15—AD0(AddressDataBus)(雙向、三態(tài)):低16位地址/數(shù)據(jù)分時(shí)復(fù)用信號(hào)輸入/輸出引腳(16條)。在傳送地址信號(hào)時(shí)為單向,傳送數(shù)據(jù)信號(hào)時(shí)為雙向。T1狀態(tài)傳地址,T2~T4狀態(tài)傳數(shù)據(jù)。(3)A19/s6—A16/s3(AddressStatusBus)(輸出、三態(tài)):高4位地址/狀態(tài)分時(shí)復(fù)用信號(hào)輸出引腳(4條)。訪問(wèn)存儲(chǔ)器時(shí)T1狀態(tài)輸出高四位地址,訪問(wèn)I/O口時(shí)四位為0。T2~T4輸出狀態(tài)。

S6:保持“0”用以指示8086/8088CPU當(dāng)前與總線連通;

S5:為狀態(tài)寄存器中斷允許標(biāo)志的狀態(tài)。若S5=1,當(dāng)前允許可屏蔽中斷;若S5=0,則禁止一切可屏蔽中斷。

S4S3

含義

00當(dāng)前正在使用ES01當(dāng)前正在使用SS10當(dāng)前正在使用CS,或者未用任何段寄存器

11當(dāng)前正在使用DSS4、S3:共有四個(gè)組態(tài),用以指明當(dāng)前使用的段寄存器,如下表所示。(4)NMI(Non-MaskableInterrupt)、INTR(InterruptRequest)

NMI為不可屏蔽中斷請(qǐng)求信號(hào)輸入引腳,上升沿觸發(fā),CPU必須在當(dāng)前指令結(jié)束后響應(yīng)該中斷,不受可屏蔽中斷允許標(biāo)志IF的限制,不能用軟件屏蔽。中斷類(lèi)型號(hào)為2。

INTR為可屏蔽中斷請(qǐng)求信號(hào)輸入引腳,電平(或邊沿)觸發(fā),高電平(上升沿)有效,CPU在指令的最后一個(gè)周期采樣INTR,在當(dāng)前指令結(jié)束后響應(yīng)該中斷,可用軟件通過(guò)復(fù)位內(nèi)部中斷允許標(biāo)志IF來(lái)屏蔽INTR信號(hào)的中斷請(qǐng)求。(5)RD(Read):讀控制信號(hào)輸出引腳,低電平有效,用以指明要執(zhí)行一個(gè)對(duì)內(nèi)存單元或I/O端口的讀操作,具體是讀內(nèi)存單元,還是讀I/O端口,取決于控制信號(hào)。(6)CLK(Clock)(輸入):系統(tǒng)時(shí)鐘信號(hào)輸入引腳,時(shí)鐘信號(hào)為方波信號(hào),占空比約為33%,即1/3周期為高電平,2/3周期為低電平,8088/8086的時(shí)鐘頻率(又稱(chēng)為主頻)為5MHz,即從該引腳輸入的時(shí)鐘信號(hào)的頻率為5MHz。8086-1時(shí)鐘頻率為10MHz,8086-2時(shí)鐘頻率為8MHz。(7)RESET(Reset)(輸入):復(fù)位信號(hào)輸入引腳,高電平有效。8088/8086CPU要求復(fù)位信號(hào)至少維持4個(gè)時(shí)鐘周期才能起到復(fù)位的效果,復(fù)位信號(hào)輸入之后,CPU結(jié)束當(dāng)前操作,進(jìn)行復(fù)位操作,并對(duì)微處理器的標(biāo)志寄存器PSW、IP、DS、SS、ES寄存器及指令隊(duì)列進(jìn)行清零操作,而將CS設(shè)置為FFFFH。當(dāng)此引腳變?yōu)榈碗娖綍r(shí),CPU執(zhí)行重啟過(guò)程,從存儲(chǔ)器地址FFFF0H單元開(kāi)始執(zhí)行指令。(8)READY(Ready):“準(zhǔn)備好”狀態(tài)信號(hào)輸入引腳,高電平有效,“Ready”輸入引腳接收來(lái)自于內(nèi)存單元或I/O端口向CPU發(fā)來(lái)的“準(zhǔn)備好”狀態(tài)信號(hào),表明內(nèi)存單元或I/O端口已經(jīng)準(zhǔn)備好進(jìn)行讀/寫(xiě)操作。該信號(hào)是協(xié)調(diào)CPU與內(nèi)存單元或I/O端口之間進(jìn)行信息傳送的聯(lián)絡(luò)信號(hào)。

CPU在T3(或TW

)狀態(tài)采樣Ready信號(hào),當(dāng)Ready=0(無(wú)效),則在T3(或TW

)狀態(tài)結(jié)束后插入TW狀態(tài)(等待周期),當(dāng)Ready=1(有效),進(jìn)入T4狀態(tài),完成數(shù)據(jù)傳送。(9)TEST(Test):測(cè)試信號(hào)輸入引腳,低電平有效,TEST信號(hào)與WAIT指令結(jié)合起來(lái)使用,CPU執(zhí)行WAIT指令后,處于等待狀態(tài),只有當(dāng)TEST引腳輸入低電平時(shí),系統(tǒng)才脫離等待狀態(tài),繼續(xù)執(zhí)行被暫停執(zhí)行的指令。否則CPU繼續(xù)等待。(10)MN/MX(Minimum/MaximumModelControl):最小/最大模式設(shè)置信號(hào)輸入引腳,該輸入引腳電平的高、低決定了CPU工作在最小模式還是最大模式,當(dāng)該引腳接+5V時(shí),CPU工作于最小模式下,當(dāng)該引腳接地時(shí),CPU工作于最大模式下。(11)BHE/S7(BusHighEnable/Status)(輸出、三態(tài)):高8位數(shù)據(jù)總線允許/狀態(tài)復(fù)用信號(hào)復(fù)用輸出引腳。分時(shí)輸出BHE有效信號(hào)(T1狀態(tài),表示高8為數(shù)據(jù)線D15—D8上的數(shù)據(jù)有效)和S7狀態(tài)信號(hào),但S7未定義任何實(shí)際意義。

BHE信號(hào)與A0信號(hào)配合,控制數(shù)據(jù)傳送時(shí)的字、字節(jié)方式。具體規(guī)定如下表所示。BHEA0操作所用DB總線引腳

00從偶地址開(kāi)始傳送1個(gè)字(低字節(jié)在偶地址)AD15----AD001從奇地址開(kāi)始傳送1個(gè)字節(jié)(高位字節(jié))AD15----AD810從偶地址開(kāi)始傳送1個(gè)字節(jié)(低位字節(jié))AD7----AD011無(wú)效表BHE和A0的代碼組合和對(duì)應(yīng)的操作(1)M/IO(Memory/InputandOutput):存儲(chǔ)器/IO端口控制輸出信號(hào),是CPU區(qū)分進(jìn)行存儲(chǔ)器訪問(wèn)還是I/O訪問(wèn)的輸出控制信號(hào)。

M/IO=1,選擇訪問(wèn)存儲(chǔ)器(表示CPU與存儲(chǔ)器之間進(jìn)行傳送數(shù)據(jù));

M/IO=0,選擇訪問(wèn)IO端口(表示CPU與之間IO端口進(jìn)行傳送數(shù)據(jù))。2.最小模式下的24--31引腳

當(dāng)8088/8086CPU的MN/MX

引腳固定接+5V時(shí),CPU處于最小模式下,這時(shí)候剩余的24—31共8個(gè)引腳的名稱(chēng)及功能如下:(2)INTA(InterruptAcknowledge)(輸出):中斷響應(yīng)信號(hào)輸出引腳,低電平有效,該引腳是CPU響應(yīng)中斷請(qǐng)求后,向中斷源發(fā)出的認(rèn)可信號(hào),用以通知中斷源,以便提供中斷類(lèi)型碼。該信號(hào)為兩個(gè)連續(xù)的負(fù)脈沖,在每個(gè)總線周期的T2、T3(TW)狀態(tài)INTA有效。第一個(gè)負(fù)脈沖:通知I/O接口,它發(fā)出的中斷請(qǐng)求已得到允許。第二個(gè)負(fù)脈沖:I/O接口收到第二個(gè)負(fù)脈沖后,往數(shù)據(jù)總線上送自己的中斷類(lèi)型碼,從而CPU得到有關(guān)此中斷源的詳細(xì)信息。(3)ALE(AddressLockEnable)(輸出):地址鎖存允許輸出信號(hào)引腳,高電平有效,在任何一個(gè)總線周期的T1狀態(tài),ALE有效。CPU通過(guò)該引腳向地址鎖存器8282發(fā)出地址鎖存允許信號(hào),把當(dāng)前地址/數(shù)據(jù)復(fù)用總線上輸出的地址信息鎖存到地址鎖存器8282中去。(4)DEN(DataEnable)(輸出、三態(tài)):數(shù)據(jù)允許信號(hào)輸出引腳,低電平有效,當(dāng)AD15----AD0作為數(shù)據(jù)總線使用時(shí),DEN作為外部數(shù)據(jù)發(fā)送器8286的選通信號(hào),表示CPU當(dāng)前準(zhǔn)備發(fā)送或接收一個(gè)數(shù)據(jù)。在訪問(wèn)存儲(chǔ)器、I/O端口或中斷響應(yīng)周期時(shí)DEN有效。(5)DT/R(DataTransmit/Receive)(輸出、三態(tài)):數(shù)據(jù)收發(fā)控制信號(hào)輸出引腳,CPU通過(guò)該引腳發(fā)出控制數(shù)據(jù)傳送方向的控制信號(hào),在使用8286/8287作為數(shù)據(jù)總線收發(fā)器時(shí),DT/R信號(hào)用以控制數(shù)據(jù)傳送的方向,DT/R=1,表示發(fā)送(數(shù)據(jù)由CPU經(jīng)總線收發(fā)器8286/8287輸出);

DT/R=0

,表示接收(數(shù)據(jù)由外設(shè)經(jīng)總線收發(fā)器8286/8287輸入到CPU)。(6)WR(Write)(輸出、三態(tài)):寫(xiě)控制信號(hào)輸出引腳,低電平有效,與M/IO配合實(shí)現(xiàn)對(duì)存儲(chǔ)單元、I/O端口進(jìn)行寫(xiě)操作的控制。注:讀RD、寫(xiě)WR信號(hào)不會(huì)同時(shí)有效。(7)HOLD(HoldRequest)(輸入):

總線保持請(qǐng)求信號(hào)輸入引腳。當(dāng)系統(tǒng)中的其它總線部件要求占用總線時(shí),向CPU發(fā)出總線請(qǐng)求信號(hào)HOLD=1,要求直接與存儲(chǔ)器傳送數(shù)據(jù)。(8)HLDA(HoldAcknowledge)(輸出):總線保持響應(yīng)信號(hào)輸出引腳,高電平有效。當(dāng)CPU監(jiān)測(cè)到HOLD有效時(shí),就在當(dāng)前總線周期T4狀態(tài)從HLDA引腳向外設(shè)發(fā)出應(yīng)答信(HLDA=1),同時(shí)使CPU與AB、DB、CB總線浮空,總線請(qǐng)求部件收到HLDA信號(hào)后,獲得總線控制權(quán)(HOLD=1,HLDA=1)。在總線占有部件用完總線后,置HOLD=0無(wú)效,CPU檢測(cè)到HOLD=0后,使HLDA=0,CPU又重新獲得AB、DB、CB總線控制權(quán)。3.最大模式下的24--31引腳

當(dāng)8088/8086CPU的引腳MN/MX接地時(shí),CPU處于最大模式下,這時(shí)候剩余的24—31共8個(gè)引腳的名稱(chēng)及功能如下:

(1)

QS1、QS0(InstructionQueueStatus)(輸出):指令隊(duì)列狀態(tài)信號(hào)輸出引腳,這兩個(gè)信號(hào)的組合給出了前一個(gè)T狀態(tài)中指令隊(duì)列的狀態(tài),以便于外部對(duì)8086CPU內(nèi)部指令隊(duì)列的動(dòng)作跟蹤,如下表所示:QS1QS0含義無(wú)操作

00011011從指令隊(duì)列的第一個(gè)字節(jié)取走代碼

指令隊(duì)列為空

除第一個(gè)字節(jié)外,還取走了后續(xù)字節(jié)中的代碼(2)S2、S1、S0(Buscyclestatus)(輸出):總線周期狀態(tài)信號(hào)輸出引腳,低電平有效,這些信號(hào)組合起來(lái),可以指出當(dāng)前總線周期中,所進(jìn)行數(shù)據(jù)傳輸過(guò)程的類(lèi)型,總線控制器8288利用這些信號(hào)來(lái)產(chǎn)生對(duì)存儲(chǔ)單元、I/O端口的控制信號(hào)。S2、S1、S0與具體物理過(guò)程之間的對(duì)應(yīng)關(guān)系,如下表所示。

S2S1S08086總線周期8288命令000

001

010011100101

110111中斷響應(yīng)

I/O端口讀I/O端口寫(xiě)暫停

取指令碼存儲(chǔ)器讀存儲(chǔ)器寫(xiě)無(wú)源狀態(tài)

INTAIORCIOWCAIOWC無(wú)MRDCMRDCMWTCAMWC無(wú)效有源狀態(tài):對(duì)于S2、S1、S0的組合來(lái)說(shuō),在前一個(gè)總線周期的T4狀態(tài)和本總線周期的T1和T2狀態(tài)中,至少有一個(gè)信號(hào)為0(低電平),每種組合都對(duì)應(yīng)一個(gè)具體的總線操作,稱(chēng)為有源狀態(tài)。無(wú)源狀態(tài):在總線周期的T3和TW狀態(tài)且READY=1時(shí),S2S1S0=111(全為高電平),此時(shí)一個(gè)總線操作即將結(jié)束,另一個(gè)總線周期還未開(kāi)始,稱(chēng)為無(wú)源狀態(tài)。在無(wú)源狀態(tài)時(shí),若S2、S1、S0其中任一信號(hào)的改變,都意味著一個(gè)新的總線周期的開(kāi)始。(3)LOCK(Lock)(輸出、三態(tài)):總線封鎖輸出信號(hào)引腳,低電平有效。當(dāng)該引腳輸出低電平時(shí),系統(tǒng)中其它總線部件不能占用系統(tǒng)總線。

LOCK信號(hào)是由指令前綴LOCK產(chǎn)生的,在LOCK前綴后面的一條指令執(zhí)行完畢之后,便撤消LOCK信號(hào)。此外,在8086的2個(gè)中斷響應(yīng)脈沖之間

LOCK信號(hào)也自動(dòng)變?yōu)橛行У牡碗娖?,以防止其它總線部件在中斷響應(yīng)過(guò)程中,占有總線而使一個(gè)完整的中斷響應(yīng)過(guò)程被中斷。(4)RQ/GT0、RQ/GT1(Request/Grant)(雙向):總線請(qǐng)求信號(hào)輸入/總線允許信號(hào)輸出引腳。輸入時(shí),表示其他主控者向CPU請(qǐng)求使用總線;輸出時(shí),表示CPU對(duì)總線請(qǐng)求的響應(yīng)信號(hào)。這兩個(gè)信號(hào)端可供CPU以外的兩個(gè)處理器,用來(lái)發(fā)出使用總線的請(qǐng)求信號(hào)和接收CPU對(duì)總線請(qǐng)求信號(hào)的應(yīng)答。這兩個(gè)引腳都是雙向的,請(qǐng)求與應(yīng)答信號(hào)在同一引腳上分時(shí)傳輸,方向相反。其中RQ/GT0比RQ/GT1的優(yōu)先級(jí)高。

4.8086/8088CPU的引腳分類(lèi)

(1)數(shù)據(jù)/地址復(fù)用線、地址/狀態(tài)復(fù)用線:AD0~AD7、AD8~AD15、A16/S3~A19/S6(2)電源、地:VCC、GND(2個(gè))(3)最小模式下與地址總線有關(guān)的控制信號(hào):ALE(4)最小模式下與數(shù)據(jù)總線有關(guān)的信號(hào):DEN、DT/R、BHE/S7

(5)最小模式下與CPU有關(guān)的控制信號(hào):RESET、CLK、TEST、READY、HOLD、HLDA(6)最小模式下與存儲(chǔ)器、I/O操作有關(guān)的信號(hào):M/IO、RD、WR(7)最小模式下與中斷有關(guān)的信號(hào):NMI、INTR、INTA(8)最小/最大模式選擇信號(hào):MN/MX(9)最大模式下總線周期狀態(tài)信號(hào):S2、S1、S0(10)最大模式下指令隊(duì)列狀態(tài)信號(hào):QS1、QS0(11)最大模式下總線請(qǐng)求信號(hào)/總線請(qǐng)求允許信號(hào):RQ/GT1、RQ/GT0(12)總線封鎖信號(hào):LOCK8088CPU注意與8086的不同

最小模式最大模式最小模式最大模式VCCA152.38086存儲(chǔ)器組織2.3.1段地址和偏移地址1.存儲(chǔ)器地址的分段

由于CPU內(nèi)部的寄存器都是16位的,為了能夠提供20位的物理地址,8086系統(tǒng)中采用了存儲(chǔ)器分段的方法,每個(gè)段為64KB,由段寄存器來(lái)確定存儲(chǔ)單元的段地址,由指令提供該單元相對(duì)于相應(yīng)段起始地址的16位偏移量。這樣,系統(tǒng)的整個(gè)存儲(chǔ)空間可分為16個(gè)互不重疊的邏輯段。如右圖所示。

存儲(chǔ)器的每個(gè)段的容量為64KB,并允許在整個(gè)存儲(chǔ)空間內(nèi)浮動(dòng),即段與段之間可以部分重疊、完全重疊、連續(xù)排列,非常靈活,如右圖所示。2.存儲(chǔ)容量

8086系統(tǒng)有20根地址總線,因此,它可以直接尋址的存儲(chǔ)器單元數(shù)為220=1MB,這1MB的存儲(chǔ)器單元按照00000~FFFFFH來(lái)編址。

3.邏輯地址(LA)和物理地址(PA)

物理地址:

8086可直接尋址1MB的存儲(chǔ)空間,其地址區(qū)域?yàn)?0000H~FFFFFH,是與存儲(chǔ)單元一一對(duì)應(yīng)的20位地址,我們稱(chēng)之為存儲(chǔ)單元的物理地址。就是存儲(chǔ)器的實(shí)際地址,它是指CPU和存儲(chǔ)器進(jìn)行數(shù)據(jù)交換時(shí)所使用的地址(20位)。

邏輯地址:是在程序中使用的地址,它由段地址和偏移地址兩部分組成(都是16位)。邏輯地址的表示形式為“段地址:偏移地址”。

物理地址是由段地址與偏移地址共同決定的,段地址來(lái)自于段寄存器(CS、DS、ES、SS),是十六位地址,由段地址及偏移地址計(jì)算物理地址的表達(dá)式為:

物理地址=段地址×16+偏移地址

例如:系統(tǒng)啟動(dòng)后,指令的物理地址由CS的內(nèi)容與IP的內(nèi)容共同決定,由于系統(tǒng)啟動(dòng)的CS=FFFFH,IP=0000H,所以初始指令的物理地址為FFFF0H,我們可以在FFFF0H單元開(kāi)始的幾個(gè)單元中,固化一條無(wú)條件轉(zhuǎn)移指令的代碼,即轉(zhuǎn)移到系統(tǒng)初始化程序部分所在存儲(chǔ)器的地址位置處。注意:物理地址與邏輯地址并不是一一對(duì)應(yīng)的,舉例:6830H:12A0H和6840H:11A0H,物理地址都為695A0H。20位物理地址是由段地址與偏移地址共同決定

4.偏移地址

偏移地址是某存儲(chǔ)單元相對(duì)其所在段起始位置的偏移字節(jié)數(shù),或簡(jiǎn)稱(chēng)偏移量。它是一個(gè)16位的地址,根據(jù)指令的不同,它可以來(lái)自于CPU中不同的16位寄存器(IP、SP、BP、SI、DI、BX等)或是一個(gè)直接在程序中給出的地址偏移量。5.20位物理地址的形成代碼段:物理地址=CS×16+IP數(shù)據(jù)段:物理地址=DS×16+(SI、DI等)附加段:物理地址=ES×16+(BP、BX等)堆棧段:物理地址=SS×16+(SP、BP等)2.3.28086存儲(chǔ)器的分體結(jié)構(gòu)(P34)

存儲(chǔ)器是按字節(jié)進(jìn)行組織的,兩個(gè)相鄰的字節(jié)被稱(chēng)為一個(gè)“字”。存放的信息若是以字節(jié)(8位)為單位的,將在存儲(chǔ)器中按順序排列存放;若存放的數(shù)據(jù)為一個(gè)字(16位)時(shí),則將每一個(gè)字的低字節(jié)(低8位)存放在低地址中,高字節(jié)(高8位)存放在高地址中,并以低地址作為該字的地址。在組成與8086CPU連接的存儲(chǔ)器時(shí),1M字節(jié)的存儲(chǔ)空間實(shí)際上被分成兩個(gè)512K字節(jié)的存儲(chǔ)體,分別叫奇地址存儲(chǔ)體和偶地址存儲(chǔ)體。奇地址存儲(chǔ)體(高字節(jié)存儲(chǔ)體):與8086CPU的高8位數(shù)據(jù)線D15~D8相連,地址均為奇地址,由BHE引腳選通。偶地址存儲(chǔ)體(低字節(jié)存儲(chǔ)體):與8086CPU的低8位數(shù)據(jù)線D7~D0相連,地址均為偶地址,由最低位地址線A0選通。

1MB的存儲(chǔ)器單元的地址分為奇地址和偶地址,由BHE和A0控制讀寫(xiě)順序。BHE=0(有效),從奇地址傳送高8位數(shù)據(jù);A0=0,從偶地址傳送低8位數(shù)據(jù)。BHE與A0的組合及對(duì)應(yīng)的操作如下表所示。

BHEA0操作所用DB總線引腳

00從偶地址開(kāi)始傳送1個(gè)字(低字節(jié)在偶地址)AD15----AD001從奇地址開(kāi)始傳送1個(gè)字節(jié)(高位字節(jié))AD15----AD810從偶地址開(kāi)始傳送1個(gè)字節(jié)(低位字節(jié))AD7----AD011無(wú)效

如果一個(gè)16位數(shù)據(jù),高8位數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器的奇地址單元中,低8位數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器的偶地址單元中,則讀寫(xiě)該數(shù)據(jù)需要一個(gè)總線周期。

如果一個(gè)16位數(shù)據(jù),高8位數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器的偶地址單元中,低8位數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器的奇地址單元中,則讀寫(xiě)該數(shù)據(jù)需要兩個(gè)總線周期。第一個(gè)總線周期用于在奇地址中完成低8位數(shù)據(jù)的傳送;第二個(gè)總線周期用于在偶地址中完成高8位數(shù)據(jù)的傳送;這些都是8086自動(dòng)完成的。所以,這種情況下,除增加一個(gè)總線周期外,其余與從偶地址開(kāi)始的16位數(shù)據(jù)的操作是一樣的。但編程時(shí)盡量“對(duì)準(zhǔn)存放”,以縮短程序執(zhí)行的時(shí)間。8086與8088存儲(chǔ)器的區(qū)別(P36)2.3.3堆棧的概念(P33)堆棧:在存儲(chǔ)器中開(kāi)辟一段區(qū)域,用于存儲(chǔ)一些暫時(shí)需要保護(hù)而以后還要用到的數(shù)據(jù)(如中斷現(xiàn)場(chǎng)的保護(hù)與恢復(fù)、子程序現(xiàn)場(chǎng)的保護(hù)與恢復(fù)等),這個(gè)區(qū)域稱(chēng)為堆棧。堆棧的特點(diǎn):

(1)堆棧存儲(chǔ)數(shù)據(jù)的原則為后進(jìn)先出。

(2)堆棧單元在存儲(chǔ)器中的位置由SS:SP確定。(3)堆棧指針SP在8086系統(tǒng)中始終指向棧的頂部,即:始終指向最后壓入棧中的數(shù)據(jù)的地址。(4)8086系統(tǒng)中棧的操作是以字為單位的。執(zhí)行一次入棧操作,自動(dòng)使SP-2然后數(shù)據(jù)入棧,直至SP=0棧滿(mǎn)為止。執(zhí)行一次出棧操作,數(shù)據(jù)出棧然后自動(dòng)使SP+2。

(5)PUSH和POP指令要成對(duì)出現(xiàn)。功能:主要用于保護(hù)中間數(shù)據(jù),子程序、中斷程序的現(xiàn)場(chǎng)等。AX=3322H,BX=1100H,CX=6655HSS=C000H,SP=1000H

堆棧主要用于中斷和子程序調(diào)用時(shí)的斷點(diǎn)和現(xiàn)場(chǎng)保護(hù),中斷或調(diào)用結(jié)束后還要恢復(fù)斷點(diǎn)和現(xiàn)場(chǎng)。PUSH和POP指令要成對(duì)出現(xiàn),而且要先入后出,才能正確恢復(fù)斷點(diǎn)和現(xiàn)場(chǎng)。2.48086工作模式和總線操作8088/8086CPU工作在兩種模式下:最小模式(最小工作方式):?jiǎn)挝⑻幚砥飨到y(tǒng)(系統(tǒng)中只有一個(gè)8086微處理器),所有的總線控制信號(hào),都是直接由8086CPU產(chǎn)生的,適用于規(guī)模較小的微機(jī)應(yīng)用系統(tǒng)。當(dāng)把8086的33腳MN/MX接+5V時(shí),8086CPU就處于最小工作方式。

最大模式(最大工作方式):多微處理器系統(tǒng)(包含有兩個(gè)或多個(gè)微處理器,一個(gè)主處理器8086CPU,其他的處理器稱(chēng)為協(xié)處理器它們是協(xié)助主處理器工作的。),主要用在中等或大規(guī)模的8086系統(tǒng)中。當(dāng)把8086的33腳MN/MX接地時(shí),8086CPU就處于最大模式。2.4.1最小模式系統(tǒng)74LS37374LS24582841.數(shù)據(jù)總線緩沖器74LS244和74LS245(1)單向數(shù)據(jù)總線緩沖器74LS244

P38

圖2.11兩個(gè)控制信號(hào):

使能控制信號(hào)1G

使能控制信號(hào)2G1G=0,1A11A4端的信號(hào)被傳送到1Y11Y4;

2G=0,2A12A4端的信號(hào)被傳送到2Y1~2Y4;當(dāng)1G和2G=1時(shí),輸出呈高阻態(tài)。常把1G和2G連起來(lái),由1個(gè)片選信號(hào)控制8位。(2)雙向數(shù)據(jù)總線緩沖器74LS245(或Intel8286/8287

)P38

圖2.12兩個(gè)控制信號(hào):

使能控制信號(hào)G

方向控制DIR

只有G=0,數(shù)據(jù)才能傳輸,AB或AB;

DIR=1,AB;

DIR=0,AB。(2)雙向數(shù)據(jù)總線收發(fā)器74LS24574LS245是典型的8位總線收發(fā)器,8位輸入(A1----A8),8位輸出(B1----B8)。只有G=0,數(shù)據(jù)才能傳輸。

DIR為控制數(shù)據(jù)傳送方向信號(hào),DIR=1時(shí),A1----A8為輸入,B1----B8為輸出;DIR=0時(shí),B1----B8為輸入,A1----A8

為輸出。門(mén)控信號(hào)G(低電平有效)。

74LS245與8086連接時(shí),作為8086外部總線收發(fā)器,8086有16條數(shù)據(jù)線,需要2片74LS245

。74LS245的輸入與8086的地址線AD15----AD0相連,輸出即為8086系統(tǒng)的數(shù)據(jù)總線;74LS245的DIR接8086(或8288)的DT/R,74LS245的G接8086(或8288)的DEN。2.鎖存器74LS373(或Intel8282/8283)兩個(gè)控制端:

輸入使能端G

允許輸出端OEG=1,直通;G=0,鎖存,D端變化不影響輸出。

OE=0,Q經(jīng)三態(tài)門(mén)反相后,傳到輸出端O;OE=1,則G控制無(wú)效,輸出呈高阻態(tài),與總線斷開(kāi)。2.鎖存器74LS373(或Intel8282)

P39圖2.1374LS373是典型的8位鎖存器,8位輸入(1D----8D),8位輸出(1O----8O),輸入使能信號(hào)(鎖存輸入信號(hào))G,輸出數(shù)據(jù)允許信號(hào)OE(低電平有效)。8282作為鎖存器,其用法與74LS373完全一樣。

74LS373與8086連接時(shí),作為8086外部地址鎖存器,8086有20條地址線,加上高8位數(shù)據(jù)允許引腳BHE,共21條線,需要3片74LS373。74LS373的輸入與8086的地址線A19----A16、AD15----AD0、BHE相連,輸出即為8086系統(tǒng)的地址線和BHE;74LS373的G接8086的ALE,74LS373的OE接地,直接數(shù)據(jù)輸出允許。3.時(shí)鐘發(fā)生器8284

P40

圖2.14

(1)輸入晶振與復(fù)位晶振接8284的X1、X2引腳(F/C接低電平,選擇外界晶振產(chǎn)生時(shí)鐘),外部復(fù)位接RST引腳。

(2)輸出

CLK(系統(tǒng)時(shí)鐘);RESET(復(fù)位)

READY(準(zhǔn)備好);PCLK(輔助時(shí)鐘)(3)外部復(fù)位的接法

常用的有上電復(fù)位和按鍵復(fù)位兩種方法,如下圖所示。

8284低電平復(fù)位。

上電復(fù)位按鍵復(fù)位8284與8086的連接8086最小模式系統(tǒng)配置8086最小模式下的典型配置

1.MN/MX端接+5V,決定了CPU的工作模式;2.需要一片8284A,作為時(shí)鐘信號(hào)發(fā)生器;3.需要三片74LS273或8282,用來(lái)作為地址信號(hào)的鎖存器;4.當(dāng)系統(tǒng)中所連的存儲(chǔ)器和外設(shè)端口較多時(shí),需要增加數(shù)據(jù)總線的驅(qū)動(dòng)能力,這時(shí),需用2片74LS245作為總線收發(fā)器。

取指令進(jìn)入指令隊(duì)列和訪問(wèn)存儲(chǔ)器、I/O端口時(shí)均需BIU執(zhí)行一個(gè)總線周期。

1.時(shí)鐘周期:CPU時(shí)鐘頻率的倒數(shù)稱(chēng)為時(shí)鐘周期,也稱(chēng)T狀態(tài),是8086操作的最小時(shí)間狀態(tài)。

2.總線周期:BIU完成一次訪問(wèn)存儲(chǔ)器或I/O端口操作所需要的時(shí)間稱(chēng)為總線周期。一個(gè)基本的總線周期是由4個(gè)(或4個(gè)以上)時(shí)鐘周期組成的。

3.指令周期:執(zhí)行一條指令所需要的時(shí)間稱(chēng)為指令周期,不同指令的指令周期的長(zhǎng)短是不同的。一個(gè)指令周期是由幾個(gè)總線周期組成的。

時(shí)序:時(shí)序是計(jì)算機(jī)操作運(yùn)行的時(shí)間順序。2.4.3總線操作時(shí)序4.一個(gè)基本的總線周期的4個(gè)T狀態(tài):

T1:CPU向多路復(fù)用總線發(fā)出地址信息,指出要尋址的存儲(chǔ)單元或I/O端口。

T2:低16位地址信號(hào)從總線上撤銷(xiāo),呈高阻。高4位地址總線輸出狀態(tài)信息

T3:高4位總線仍然輸出狀態(tài)信息,低16位總線上出現(xiàn)的是數(shù)據(jù)信號(hào)。讀----存儲(chǔ)器或I/O端口的數(shù)據(jù)送到總線上,寫(xiě)----CPU的數(shù)據(jù)送到總線上。注:當(dāng)被寫(xiě)入(或讀出)數(shù)據(jù)的存儲(chǔ)器或I/O端口不能及時(shí)配合CPU傳送數(shù)據(jù)的情況下,存儲(chǔ)器或I/O端口向CPU發(fā)出數(shù)據(jù)未準(zhǔn)備好信號(hào)(READY),則CPU會(huì)在T3之后插入一個(gè)或多個(gè)附加的時(shí)鐘周期TW(等待狀態(tài)),直至存儲(chǔ)器或I/O端口準(zhǔn)備好傳送數(shù)據(jù)為止。

T4:總線周期結(jié)束。8086微機(jī)系統(tǒng)的主要操作

8086/8088微機(jī)系統(tǒng),能夠完成的操作有下列幾種主要類(lèi)型:系統(tǒng)的復(fù)位與啟動(dòng)操作;暫停操作;總線操作(I/O讀、I/O寫(xiě)、存儲(chǔ)器讀、存儲(chǔ)器寫(xiě));中斷操作;最小模式下的總線保持;最大模式下的總線請(qǐng)求/允許。

系統(tǒng)的復(fù)位和啟動(dòng)操作

8086/8088的復(fù)位和啟動(dòng)操作,對(duì)最大小模式都一樣的,是通過(guò)RESET引腳上的觸發(fā)信號(hào)來(lái)執(zhí)行的,當(dāng)RESET引腳上至少維持有4個(gè)時(shí)鐘周期的高電平時(shí),CPU就結(jié)束當(dāng)前操作,進(jìn)入初始化(復(fù)位)過(guò)程。包括把各內(nèi)部寄存器(除了CS)清0

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論