微機(jī)原理講稿 (2)_第1頁
微機(jī)原理講稿 (2)_第2頁
微機(jī)原理講稿 (2)_第3頁
微機(jī)原理講稿 (2)_第4頁
微機(jī)原理講稿 (2)_第5頁
已閱讀5頁,還剩52頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二章8086/8088微處理器1圖2.12.18086/8088CPU的結(jié)構(gòu)8086CPU從功能上可分為兩部分,即總線接口部件(businterfaceunit,縮寫為BIU)和執(zhí)行部件EU(executionunit)。8086的內(nèi)部結(jié)構(gòu)如圖2.1所示。2.1.1總線接口部件BIU總線接口部件的功能是負(fù)責(zé)與存儲器、I/O端口傳送數(shù)據(jù),即BIU管理在存儲器中存取程序和數(shù)據(jù)的實際處理過程。總線接口部件由下列各部分組成:(1)4個段地址寄存器,即CS——16位代碼段寄存器;DS——16位數(shù)據(jù)段寄存器;ES——16位附加段寄存器;SS——16位堆棧段寄存器。(2)16位指令指針寄存器IP。(3)20位的地址加法器。(4)6字節(jié)的指令隊列。8086/8088的BIU有如下特點:(1)8086的指令隊列為6個字節(jié),8088的指令隊列為4個字節(jié)。不管是8086還是8088,都會在執(zhí)行指令的同時,從內(nèi)存中取下一條指令或下幾條指令,取來的指令就放在指令隊列中。這樣,一般情況下,CPU執(zhí)行完一條指令就可以立即執(zhí)行下一條指令,而不需要像以往的計算機(jī)那樣,讓CPU輪番進(jìn)行取指令和執(zhí)行指令的操作,從而提高了CPU的效率。(2)地址加法器用來產(chǎn)生20位地址。上面已經(jīng)提到,8086可用20位地址尋址1M字節(jié)的內(nèi)存空間,但8086內(nèi)部所有的寄存器都是16位的,所以需要由一個附加的機(jī)構(gòu)來根據(jù)16位寄存器提供的信息計算出20位的物理地址,這個機(jī)構(gòu)就是20位的地址加法器??偩€接口部件和執(zhí)行部件并不是同步工作的,它們是按以下流水線技術(shù)原則管理:(1)每當(dāng)8086的指令隊列中有兩個空字節(jié),或者8088的指令隊列中有一個空字節(jié)時,總線接口部件就會自動把指令取到指令隊列中。(2)每當(dāng)執(zhí)行部件準(zhǔn)備執(zhí)行一條指令時,它會從總線接口部件的指令隊列前部取出指令的代碼,然后用幾個時鐘周期去執(zhí)行指令。在執(zhí)行指令的過程中,如果必須訪問存儲器或者輸入/輸出設(shè)備,那么,執(zhí)行部件就會請求總線接口部件,進(jìn)入總線周期,完成訪問內(nèi)存或者輸入/輸出端口的操作;如果此時總線接口部件正好處于空閑狀態(tài),那么,會立即響應(yīng)執(zhí)行部件的總線請求。但有時會遇到這樣的情況,執(zhí)行部件請求總線接口部件訪問總線時,總線接口部件正在將某個指令字節(jié)取到指令隊列中,此時總線接口部件將首先完成這個取指令的總線周期,然后再去響應(yīng)執(zhí)行部件發(fā)出的訪問總線的請求。(3)當(dāng)指令隊列已滿,而且執(zhí)行部件又沒有總線訪問時,總線接口部件便進(jìn)入空閑狀態(tài)。(4)在執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時,下面要執(zhí)行的指令就不是在程序中緊接著的那條指令了,而總線接口部件往指令隊列裝入指令時,總是按順序進(jìn)行的,這樣,指令隊列中已經(jīng)裝入的字節(jié)就沒有用了。遇到這種情況,指令隊列中的原有內(nèi)容被自動消除,總線接口部件會接著往指令隊列中裝入另一個程序段中的指令。2.1.2執(zhí)行部件執(zhí)行部件(EU)的功能就是負(fù)責(zé)指令的執(zhí)行。將指令譯碼并利用內(nèi)部的寄存器和ALU對數(shù)據(jù)進(jìn)行所需的處理。從結(jié)構(gòu)圖4.1中,可見到執(zhí)行部件由下列部分組成:(1)4個通用寄存器,即AX,BX,CX,DX;(2)4個專用寄存器,即基數(shù)指針寄存器BP,堆棧指針寄存器SP,源變址寄存器SI,目的變址寄存器DI;(3)標(biāo)志寄存器(FR);(4)算術(shù)邏輯部件(ALU)。8086/8088的EU有如下特點:(1)4個通用寄存器既可以作為16位寄存器使用,也可以作為8位寄存器使用。當(dāng)BX寄存器作為8位寄存器時,分為BH和BL,BH為高8位,BL為低8位。(2)AX寄存器也常稱為累加器,8086指令系統(tǒng)中有許多指令都是通過累加器的動作來執(zhí)行的。當(dāng)累加器作為16位來使用時,可以進(jìn)行按字乘操作、按字除操作、按字輸入/輸出和其他字傳送等;當(dāng)累加器作為8位來使用時,可以實現(xiàn)按字節(jié)乘操作、按字節(jié)除操作、按字節(jié)輸入/輸出和其他字節(jié)傳送,以及十進(jìn)制運(yùn)算等。(3)加法器是算術(shù)邏輯的主要部件,絕大部分指令的執(zhí)行都由加法器來完成。(4)標(biāo)志寄存器FR共有16位,其中7位未用,所用的各位含義如下:根據(jù)功能,8086的標(biāo)志可分為兩類:狀態(tài)標(biāo)志—它是操作在執(zhí)行后,決定算術(shù)邏輯部件ALU處在何種狀態(tài),這種狀態(tài)會影響后面的操作??刂茦?biāo)志—它是人為設(shè)置的,指令系統(tǒng)中有專門的指令用于控制標(biāo)志的設(shè)置和清除,每個控制標(biāo)志都對每一種特定的功能起控制作用。狀態(tài)標(biāo)志有6個,即SF,ZF,PF,CF,AF和OF。2.2存儲器組織結(jié)構(gòu)8086/8088系統(tǒng)中存儲器按字節(jié)編址,可尋址的存儲器空間為1MB,由于1MB為220,因此每個字節(jié)所對應(yīng)的地址應(yīng)是20位(二進(jìn)制數(shù)),這20位的地址稱為物理地址。2.2.1存儲器的分段20位的物理地址在CPU內(nèi)部就應(yīng)有20位的地址寄存器,而機(jī)內(nèi)的寄存器是16位的(16位機(jī)),16位寄存器只能尋址64KB。8086/8088系統(tǒng)中把1M存儲空間分成若干個邏輯段,每個邏輯段容量≤64KB,因此1M的存儲空間可分成16個邏輯段(0~15)。允許它們在整個存儲空間浮動,即段與段之間可以部分重疊、完全重疊、連續(xù)排列、斷續(xù)排列,非常靈活。在整個存儲空間中可設(shè)置若干個邏輯段,如圖2.2所示。圖2.2對于任何一個物理地址,可以惟一地被包含在一個邏輯段中,也可包含在多個相互重疊的邏輯段中,只要有段地址和段內(nèi)偏移地址就可以訪問到這個物理地址所對應(yīng)的存儲空間,如圖2.3所示。11圖2.312在8086/8088存儲空間中,把16字節(jié)的存儲空間稱作一節(jié)(paragraph)。為了簡化操作,要求各個邏輯段從節(jié)的整數(shù)邊界開始,也就是說段首地址低4位應(yīng)該是“0”,因此就把段首地址的高16位稱為“段基址”,存放在段寄存器DS或CS或SS或ES中,段內(nèi)的偏移地址存放在IP或SP中。若已知當(dāng)前有效的代碼段、數(shù)據(jù)段、附加段和堆棧段的段基址分別為1055H,250AH,8FFBH和EFF0H,那么它們在存儲器中的分布情況如圖2.4所示。13圖2.4142.2.2存儲器中的邏輯地址和物理地址任何一個20位物理地址,也稱為絕對地址,都是由兩部分組成。采用分段結(jié)構(gòu)的存儲器中,任何一個邏輯地址由段基址和偏移地址兩個部分構(gòu)成,它們都是無符號的16位二進(jìn)制數(shù)。任何一個存儲單元對應(yīng)一個20位的物理地址,也可稱為絕對地址,它是由邏輯地址變換得來的。當(dāng)CPU需要訪問存儲器時,必須完成如下的地址運(yùn)算:物理地址=段基址×16+偏移地址物理地址的形成如圖2.5所示,它是通過CPU的總線接口部件BIU的地址加法器來實現(xiàn)的。15圖2.516例如,代碼段寄存器CS=2000H,指令指針寄存器存放的是偏移地址IP=2200H,存儲器的物理地址為20000H+2200H=22200H。每一個存儲單元看成是具有兩種類型的地址:物理地址和邏輯地址。物理地址就是實際地址,它具有20位的地址值,并是唯一標(biāo)識1MB存儲空間的某一個字節(jié)的地址。邏輯地址由段基址和偏移地址組成。程序以邏輯地址編址,而不是用物理地址。4個段寄存器分別指向4個現(xiàn)行可尋址的分段的起始字節(jié)單元。一般指令程序存放在代碼段中,段地址來源于代碼段寄存器,偏移地址來源于指令指針I(yè)P。當(dāng)涉及到一個堆棧操作時,段地址寄存器為SS,17偏移地址來源于棧指針寄存器SP。當(dāng)涉及到一個操作數(shù)時,則由數(shù)據(jù)段寄存器DS或附加段寄存器ES作為段寄存器,而偏地址是由16位偏移量得到。16位偏移量可以是指令中的偏移量加上16位地址寄存器的值組成,取決于指令的尋址方式。182.3.18086/8088的引腳信號和功能8086和8088的引腳信號圖如圖2.8所示。1.AD15~AD0(addressdatabus)地址/數(shù)據(jù)復(fù)用引腳(雙向工作)在8088中,A8~A15并不作復(fù)用,它們只用來輸出地址,稱為A8~A15。作為復(fù)用引腳,在總線周期的T1狀態(tài)用來輸出要訪問的存儲器或I/O端口地址。T2~T3狀態(tài),對讀周期來說,處于浮空狀態(tài);對寫周期來說,則是傳輸數(shù)據(jù)。圖2.820在8086系統(tǒng)中,特別要注意,一般常將AD0信號作為低8位數(shù)據(jù)的選通信號,因為,每當(dāng)CPU和偶地址單元或偶地址端口交換數(shù)據(jù)時,在T1狀態(tài),AD0引腳傳送的地址信號必定為低電平;在其他狀態(tài),則用來傳送數(shù)據(jù)。而CPU的傳輸特性決定了只要是偶地址單元或偶地址端口交換數(shù)據(jù),那么,CPU必定通過總線低8位,即AD7~AD0傳輸數(shù)據(jù)??梢姡绻诳偩€周期的T1狀態(tài),AD0為低電平,實際上就指示了在這一總線周期的其余狀態(tài)中,CPU將用總線低8位和偶地址單元或偶地址端口交換數(shù)據(jù)。因此,AD0和下面講到的BHE類似,可以用來作為接于數(shù)據(jù)總線低8位上的8位外設(shè)接口芯片的選通信號。AD15~AD0在CPU響應(yīng)中斷,以及系統(tǒng)總線“保持響應(yīng)”時,都被浮置為高阻狀態(tài)。212.A19/S6~A16/S3(address/status)地址/狀態(tài)復(fù)用引腳(輸出)A19/S6~A16/S3在總線周期的T1狀態(tài),用來輸出地址的最高4位。在總線周期的T2,T3,TW和T4狀態(tài)時,用來輸出狀態(tài)信息。其中,S6為0,用來指示8086/8088當(dāng)前與總線相連,所以在T2,T3,TW和T4狀態(tài)時,8086/8088總是使S6等于0,以表示8086/8088當(dāng)前連在總線上。S5表明中斷允許標(biāo)志的當(dāng)前設(shè)置,若為1,表示當(dāng)前允許可屏蔽中斷請求;若為0,則禁止一切可屏蔽中斷。S4,S3合起來指出當(dāng)前正在使用哪段寄存器。223.BHE/S7(bushighenable/status)高8位數(shù)據(jù)總線允許/狀態(tài)復(fù)用引腳(輸出)在總線周期的T1狀態(tài),8086在BHE/S7引腳輸出BHE信號,表示高8位數(shù)據(jù)總線D15~D8上的數(shù)據(jù)有效。在T2,T3,TW和T4狀態(tài),BHE/S7引腳輸出狀態(tài)信號S7。不過,在當(dāng)前的芯片(8086,8086-1,8086-2)設(shè)計中,S7并未被賦予任何實際意義。在8088系統(tǒng)中,第34腳不是BHE7/S7,而是被賦予另外的信號。在最大模式時,此引腳恒為高電平;在最小模式中,則為SS0,它和DT/R,M/IO一起決定了8088芯片當(dāng)前總線周期的讀/寫動作。234.NMI(non-maskableinterrupt)非屏蔽中斷引腳(輸入)非屏蔽中斷信號是一個由低到高的上升沿。這類中斷不受中斷標(biāo)志IF的影響,也不能用軟件進(jìn)行屏蔽。每當(dāng)NMI端進(jìn)入一個正沿觸發(fā)信號時,CPU就會在結(jié)束當(dāng)前指令后,進(jìn)入對應(yīng)于中斷類型號為2的非屏蔽中斷處理程序。5.INTR(interruptrequest)可屏蔽中斷請求信號引腳(輸入)可屏蔽中斷請求信號為高電平有效,CPU在執(zhí)行每條指令的最后一個時鐘周期會對INTR信號進(jìn)行采樣,如果CPU中的中斷允許標(biāo)志為1,并且又接收到INTR信號,那么,CPU就會在結(jié)束當(dāng)前指令后,響應(yīng)中斷請求,進(jìn)入一個中斷處理子程序。246.RD(read)讀信號引腳(輸出)此信號指出將要執(zhí)行一個對內(nèi)存或I/O端口的讀操作。到底是讀取內(nèi)存單元中的數(shù)據(jù)還是I/O端口中的數(shù)據(jù),這決定于M/IO信號。在一個執(zhí)行讀操作的總線周期中,RD信號在T2,T3和TW狀態(tài)均為低電平。在系統(tǒng)總線進(jìn)入“保持響應(yīng)”期間,RD引腳被浮置為高阻狀態(tài)。7.CLK(clock)時鐘引腳(輸入)8086/8088要求時鐘信號的占空比為33%,即1/3周期為高電平,2/3周期為低電平。8086/8088的時鐘頻率要求為5MHz,8086-1的時鐘頻率為10MHz,8086-2的時鐘頻率則為8MHz,時鐘信號為CPU和總線控制邏輯電路提供定時手段。258.RESET(reset)復(fù)位信號引腳(輸入)復(fù)位信號為高電平有效。8086/8088要求復(fù)位信號至少維持4個時鐘周期的高電平才有效。復(fù)位信號來到后,CPU便結(jié)束當(dāng)前操作,并對處理器標(biāo)志寄存器、IP,DS,SS,ES及指令隊列清零,而將CS設(shè)置為FFFFH。當(dāng)復(fù)位信號變?yōu)榈碗娖綍r,CPU從FFFF0H開始執(zhí)行程序。9.READY(ready)“準(zhǔn)備好”信號引腳(輸入)“準(zhǔn)備好”信號實際上是由所訪問的存儲器或I/O設(shè)備發(fā)來的響應(yīng)信號,高電平有效。“準(zhǔn)備好”信號有效時,表示內(nèi)存或I/O設(shè)備準(zhǔn)備就緒,馬上就可進(jìn)行一次數(shù)據(jù)傳輸。CPU在每個總線周期的T3狀態(tài)開始對READY信號進(jìn)行采樣。如果檢測到READY為26低電平,則在T3狀態(tài)之后插入等待狀態(tài)TW,在TW狀態(tài),CPU也對READY進(jìn)行采樣,若READY仍為低電平,則會繼續(xù)插入TW,所以TW可以插入一個或多個。直到READY變?yōu)楦唠娖胶?,才進(jìn)入T4狀態(tài),完成數(shù)據(jù)傳送過程,從而結(jié)束當(dāng)前總線周期。10.TEST(test)測試信號引腳(輸入)測試信號為低電平有效。TEST信號是和指令WAIT結(jié)合起來使用的,在CPU執(zhí)行WAIT指令時,CPU處于空轉(zhuǎn)狀態(tài)進(jìn)行等待;當(dāng)8086的TEST信號有效時,等待狀態(tài)結(jié)束,CPU繼續(xù)往下執(zhí)行被暫停的指令。2711.MN/MX(minimum/maximummodecontrol)最?。畲竽J娇刂菩盘栆_(輸入)它是最大模式及最小模式的選擇控制端。此引腳固定接為+5V時,CPU處于最小模式;如果接地,則CPU處于最大模式。12.GND地和Vcc電源引腳8086/8088均用單一+5V電源。8086/8088CPU的第24腳~第31腳在最大模式和最小模式下有不同的名稱和定義。282.3.28086/8088CPU的工作模式為了盡可能適應(yīng)各種使用場合,在設(shè)計8086/8088CPU芯片時,就使得它們可以在兩種模式下工作,即最小模式和最大模式。所謂最小模式,就是在系統(tǒng)中只有8086/8088一個微處理器。在這種系統(tǒng)中,所有的總線控制信號都直接由8086/8088產(chǎn)生,因此,系統(tǒng)中的總線控制邏輯電路被減到最少。最大模式是相對最小模式而言,它用在中等規(guī)模的或者大型的8086/8088系統(tǒng)中。在此系統(tǒng)中,包含兩個或多個微處理器,其中一個主處理器就是8086/8088,其他的處理器稱為協(xié)處理器,它們是協(xié)助主處理器工作的。和8086/8088配合的協(xié)處理器有兩個,一個是數(shù)值運(yùn)算協(xié)處理器8087,一個是輸入/輸出協(xié)處理器8089。8087是一種專用于數(shù)值運(yùn)算的處理器,它能實現(xiàn)多種類型的數(shù)值操作。例如,高精度的整數(shù)和浮點運(yùn)算,也可以進(jìn)行超越函數(shù)(如:三角函數(shù)、對數(shù)函數(shù))的計算。由于在通常情況下,這些運(yùn)算往往通過軟件方法來實現(xiàn),而8087是用硬件方法來完成這些運(yùn)算的,所以在系統(tǒng)中加入?yún)f(xié)處理器8087之后,會提高系統(tǒng)的數(shù)值運(yùn)算速度。8089在原理上有點兒像帶有兩個DMA通道的處理器。它有一套專門用于輸入/輸出操作的指令系統(tǒng),但8089又和DMA的控制器不同,它可以直接為輸入/輸出設(shè)備服務(wù),使8086/8088不再承擔(dān)這類工作。所以在系統(tǒng)中增加協(xié)處理器8089后,會提高主處理器的效率,尤其是在輸入輸出頻繁的場合。8086/8088的工作模式完全是由硬件決定的。302.3.3最小工作模式當(dāng)8086/8088的第33腳MN/MX固定接到+5V時,就處于最小工作模式,最小模式下第24腳~第31腳的信號含義如下:1.INTA(interruptacknowledge)中斷響應(yīng)信號(輸出)在最小模式下,第24腳作為中斷響應(yīng)信號的輸出端,用來對外設(shè)的中斷請求作出響應(yīng)。對于8086/8088來講,INTA信號實際上是位于連續(xù)周期中的兩個負(fù)脈沖,在每個總線周期的T2,T3和TW狀態(tài),INTA端為低電平。第1個負(fù)脈沖通知外部設(shè)備的接口,它發(fā)出的中斷請求已經(jīng)得到允許;外設(shè)接口收到第2個負(fù)脈沖后,往數(shù)據(jù)總線上放中斷類型碼,從而CPU便得到了有關(guān)此中斷請求的詳盡信息。2.ALE(addresslatchenable)地址鎖存允許信號(輸出)第25腳在最小模式下為地址鎖存允許信號輸出端,這是8086/8088提供給地址鎖存器8282/8283的控制信號,高電平有效。在任何一個總線周期的T1狀態(tài),ALE輸出有效電平,以表示當(dāng)前在地址/數(shù)據(jù)復(fù)用總線上輸出的是地址信息,地址鎖存器將ALE作為鎖存信號,對地址進(jìn)行鎖存。要注意ALE端不能被浮空。3.DEN(dataenable)數(shù)據(jù)允許信號第26腳在最小模式下作為數(shù)據(jù)允許信號輸出端。在用8286/8287作為數(shù)據(jù)總線收發(fā)器時,DEN為收發(fā)器提供了一個控制信號,表示CPU當(dāng)前準(zhǔn)備發(fā)送或接受一個數(shù)據(jù)??偩€收發(fā)器將DEN作為輸出允許信號。32DEN信號的電平輸出情況如下:在每個存儲器訪問周期和I/O訪問周期為低電平,即有效電平;在中斷響應(yīng)周期,也為有效電平。不過,如果是讀周期或者是中斷響應(yīng)周期,DEN在T2狀態(tài)的中間開始有效,并且一直保持到T4狀態(tài)的中間。在DMA方式時,DEN被浮置為高阻狀態(tài)。4.DT/R(datatransmit/receive)數(shù)據(jù)收發(fā)(輸出)在使用8286/8287作為數(shù)據(jù)總線收發(fā)器時,DT/R信號用來控制8286/8287的數(shù)據(jù)傳送方向。如果DT/R為高電平,則進(jìn)行數(shù)據(jù)發(fā)送;如果DT/R為低電平,則進(jìn)行數(shù)據(jù)接收。在DMA方式時,DT/R被浮置為高阻狀態(tài)。335.M/IO(memory/inputandoutput)存儲器/輸入/輸出控制信號(輸出)此信號若為高電平,表示CPU和存儲器之間進(jìn)行數(shù)據(jù)傳輸;若為低電平,表示CPU和輸入/輸出設(shè)備之間進(jìn)行數(shù)據(jù)傳輸。一般在前一個總線周期的T4狀態(tài),M/IO就成為有效電平,然后開始一個新的總線周期。在此周期中,M/IO一直保持有效電平,直到本周期的T4狀態(tài)為止。在DMA方式時,M/IO被浮置為高阻狀態(tài)。6.WR(write)寫信號(輸出)此信號為低電平有效。WR有效時,表示CPU當(dāng)前正在進(jìn)行存儲器或I/O寫操作,具體到底為哪種寫操作,則由M/IO信號決定。對任何寫周期,WR只在T2,T3,TW期間有效。在DMA方式時,WR被浮置為高阻狀態(tài)。347.HOLD(holdrequest)總線保持請求信號(輸入)當(dāng)系統(tǒng)中CPU之外的另一個主模塊要求占用總線時,就在當(dāng)前總線周期完成時,于T4狀態(tài)從HLDA引腳發(fā)出一個回答信號,對剛才的HOLD請求作出響應(yīng)。同時,CPU使地址/數(shù)據(jù)總線和控制狀態(tài)線處于浮空狀態(tài)??偩€請求部件收到HLDA信號后,就獲得了總線控制權(quán),在此后一段時間,HOLD和HLDA都保持高電平。在總線占有部件用完總線之后,會把HOLD信號變?yōu)榈碗娖?,這樣,CPU又獲得了地址/數(shù)據(jù)總線和控制狀態(tài)線的占有權(quán)。8.HLDA(holdacknowledge)總線保持響應(yīng)信號(輸出)此信號為高電平有效。當(dāng)HLDA有效時,表示CPU對其他主部件的總線請求作出響應(yīng),與此同時,所有與三態(tài)門相接的CPU的引腳呈現(xiàn)高阻抗,從而讓出了總線。35在最小模式下,8088和8086的第34腳的信號定義不同。對8086來說,第34腳為BHE/S7,由于S7未被賦予實際意義,所以,此引腳就是用來提供高8位數(shù)據(jù)總線允許信號。對8088來說,對外只有8位數(shù)據(jù)總線,沒有高8位數(shù)據(jù)總線,因而也不需要BHE信號。所以,第34腳不再是BHE/S7,而叫SS0。SS0,M/IO(在8088中,第28腳上不是M/IO,而是/IO)和DT/R組合起來,決定了當(dāng)前總線周期的操作。關(guān)于無源狀態(tài)的含義要在“4.3.3最大工作模式”時再作說明。除了各引腳的信號名稱和含義以外,我們還要了解最小模式下系統(tǒng)是怎樣配置的。即除了CPU外,還需要哪些芯片來構(gòu)成一個按照最小模式工作的系統(tǒng)?這些芯片和CPU之間的主要連接關(guān)系是什么樣的?36圖2.15是8086在最小模式下的典型配置。由圖可看到,在8086的最小模式中,硬件包括:1片8284A,作為時鐘發(fā)生器;3片8282或74LS373,用來作為地址鎖存器;當(dāng)系統(tǒng)中所連的存儲器和外設(shè)較多時,需要增加數(shù)據(jù)總線的驅(qū)動能力,這時,要用兩片8286/8287作為總線收發(fā)器。37圖2.1538在總線周期的前一部分時間,CPU總是送出地址信號,為了告訴地址已經(jīng)準(zhǔn)備好,可以被鎖存,CPU此時會送出高電平的ALE信號,所以,ALE就是允許鎖存的信號。除了地址信號外,BHE信號也需要鎖存。在后面的時序圖上,將看到地址/數(shù)據(jù)總線是復(fù)用的,而BHE和S7(在當(dāng)前芯片設(shè)計中,S7未被賦予意義)也是復(fù)用的,所以在總線周期前一部分時間中輸出的是地址信號和BHE信號。在總線周期的后一部分時間中改變了含義,因為有了鎖存器對地址和BHE進(jìn)行鎖存,所以在總線周期的后半部分,地址和數(shù)據(jù)同時出現(xiàn)在系統(tǒng)的地址總線和數(shù)據(jù)總線上;同樣,此時BHE也在鎖存器輸出端呈現(xiàn)有效電平,于是,確保了CPU對鎖存器和I/O設(shè)備的正常讀/寫操作。398282是典型的鎖存器芯片,不過它是8位的,而8086/8088系統(tǒng)采用20位地址,加上BHE信號,所以,需要3片8282作為地址鎖存器。74LS373也可作為地址鎖存器,用法與8282相同。對于有些只配備64KB內(nèi)存的小系統(tǒng),只用16位地址就夠了,如果CPU又采用8088,這樣,就不存在BHE信號。所以,此時只需兩片8282做鎖存器。下面以8282為例簡要講述一下鎖存器的信號連接,具體連線圖如圖所示。40418282的選通信號輸入端STB和CPU的ALE端相連。以第1個鎖存器為例,8282的DI7~DI0接CPU的AD7~AD0,8282的輸出DO7~DO0就是系統(tǒng)地址總線的低8位。OE為輸出允許信號,當(dāng)OE為低電平時,8282的輸出信號DO7~DO0有效;而當(dāng)OE為高電平時,DO7~DO0變?yōu)楦咦杩?。在不帶DMA控制器的8086/8088單處理器系統(tǒng)中,將OE接地就行了。如果用74LS373作為鎖存器,使用方法和8282幾乎一樣。只是在74LS373中,芯片選通信號不用STB表示,而用LE表示,這實際上更符合鎖存功能的含義。當(dāng)一個系統(tǒng)中所含的外設(shè)接口較多時,數(shù)據(jù)總線上需要有發(fā)送器和接收器來增加驅(qū)動能力。發(fā)送器和接收器簡稱為收發(fā)器,也常常稱為總線驅(qū)動器。42Intel系統(tǒng)芯片的典型收發(fā)器為8286,是8位的。所以,在數(shù)據(jù)總線為8位的8088系統(tǒng)中,只用1片8286就可以構(gòu)成數(shù)據(jù)總線收發(fā)器,而在數(shù)據(jù)總線為16位的8086系統(tǒng)中,則要用兩片8286。從圖4.10中,可以看到8286具有兩組對稱的數(shù)據(jù)引線:A7~A0為輸入數(shù)據(jù)線,B7~B0為輸出數(shù)據(jù)線。當(dāng)然,由于在收發(fā)器中數(shù)據(jù)是雙向傳輸?shù)?,所以,實際上輸入線和輸出線也可以交換。用T表示的引腳信號就是用來控制數(shù)據(jù)傳輸方向的。當(dāng)T=1時,就使A7~A0為輸入線,B7~B0為輸出線;當(dāng)T=0時,則使B7~B0為輸入線。在系統(tǒng)中,T端和CPU和DT/R端相連,DT/R為數(shù)據(jù)收發(fā)信號。當(dāng)CPU進(jìn)行數(shù)據(jù)輸出時,DT/R為高電平,于是數(shù)據(jù)流由A7~A0輸入,從B7~B0輸出。當(dāng)CPU進(jìn)行數(shù)據(jù)輸入時,DT/R為低電平,于是數(shù)據(jù)流由B7~B0輸入,而從A7~A0輸出。43OE是輸出允許信號,此信號決定了是否允許數(shù)據(jù)通過8286。當(dāng)OE=1時,數(shù)據(jù)在兩個方向上都不能傳輸。只有當(dāng)OE=0時,并且T也為1,才使數(shù)據(jù)從A7~A0流向B7~B0;同樣,只有當(dāng)OE=0時,并且T也為0,才使數(shù)據(jù)從B7~B0流向A7~A0。在8086/8088系統(tǒng)中,OE端和CPU的DEN端相連,在介紹引腳信號時,我們講過,在CPU的存儲器訪問周期和I/O訪問周期中,DEN為低電平,在中斷響應(yīng)周期,DEN也為低電平。正是在這些總線周期中,需要8286開啟,以允許數(shù)據(jù)通過,從而完成了CPU和其他部件之間的數(shù)據(jù)傳輸。4445最小模式系統(tǒng)中,信號M/IO,RD和WR組合起來決定了系統(tǒng)中數(shù)據(jù)傳輸?shù)姆绞?。?086最小模式典型配置中,除上述8282及8286外,還有一個時鐘發(fā)生器8284A。它與CPU的連接如圖2.15所示。8284A的功能有3個:產(chǎn)生恒定的時鐘信號,對準(zhǔn)備信號(READY)及復(fù)位信號(RESET)進(jìn)行同步。由圖2.15可見,外界控制信號RDY及RES信號可以在任何時候到來,8284A能把它們同步在時鐘后沿(下降沿)時輸出READY及RESET信號到8086CPU。462.3.4最大工作模式8086/8088CPU為實現(xiàn)多處理器控制系統(tǒng)(多主控系統(tǒng))就要增設(shè)總線控制器8288和總線仲裁器8289。最大工作模式的典型配置如圖4.12所示。這時,8086/8088的MN/MX引腳接地。圖4.1248最大工作模式時,8086/8088的第24~31引腳的信號含義如下:1.QS1和QS0(instructionqueuestatus)指令隊列狀態(tài)信號(輸出)在最大工作模式時,第24引腳及第25引腳作為QS1及QS0信號輸出端,這兩個信號提供總線周期的前一個狀態(tài)中指令隊列的狀態(tài)。2.S2,S1及S0(buscyclestatus)總線周期狀態(tài)信號(輸出)在最大工作模式時,第26引腳,第27引腳及第28引腳為S0,S1及S2信號輸出端。它們提供當(dāng)前總線周期中所進(jìn)行的數(shù)據(jù)傳輸過程類型。由總線控制器8288根據(jù)這些信號對存儲器及I/O進(jìn)行控制。49總線周期狀態(tài)(S2,S1及S0)中至少應(yīng)有一個狀態(tài)為低電平,便可進(jìn)行一種總線操作。當(dāng)S2,S1及S0都為高電平時表明操作過程即將結(jié)束,而另一個新的總線周期尚未開始,這時稱為“無源狀態(tài)”。而在總線周期的最后一個狀態(tài)(即T4狀態(tài)),S2,S1及S0中只要有一個信號改變,就表明是下一個新的總線周期開始。3.LOCK(lock)總線封鎖信號(輸出)在最大工作模式時,第29引腳為總線封鎖信號輸出端。當(dāng)LOCK為低電平時,其它總線主控部件都不能占用總線。在DMA期間,LOCK端被浮空而處于高阻狀態(tài)。LOCK信號由指令前綴LOCK產(chǎn)生,在LOCK前綴后的一條指令執(zhí)行完后,便撤銷LOCK信號,為防止8086/8088中斷時總線被其他主控部件所占用,

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論