




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