版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第4章16位微處理器,4.1 16位微處理器概述 4.2 8086/8088 CPU的結(jié)構(gòu) 4.3 8086/8088 CPU的引腳信號(hào)和工作模式 4.4 8086/8088的主要操作功能 習(xí)題,微處理器(microprocessor)是微型計(jì)算機(jī)的運(yùn)算及控制部件,也稱中央處理單元(CPU)。它本身不構(gòu)成獨(dú)立的工作系統(tǒng),因而它也不能獨(dú)立地執(zhí)行程序。通常,微處理器由算術(shù)邏輯部件(ALU)、控制部件、寄存器組和片內(nèi)總線等幾部分組成,這些都已在前面幾章中講過(guò)了。 第一代微處理器是1971年Intel公司推出的4040和8008。它們是采用PMOS工藝的4位及8位微處理器,只能進(jìn)行串行的十進(jìn)制運(yùn)算,集
2、成度達(dá)到2,000個(gè)晶體管片,用在各種類型的計(jì)算器中已經(jīng)完全能滿足要求。,4.1 16位微處理器概述,第二代微處理器是1974年推出的8080,M6800及Z-80等。它們是采用NMOS工藝的8位微處理器,集成度達(dá)到9,000個(gè)晶體管片。在許多要求不高的工業(yè)生產(chǎn)和科研開(kāi)發(fā)中已可運(yùn)用。這些8位微處理器構(gòu)成的計(jì)算機(jī)系統(tǒng)對(duì)許多算術(shù)運(yùn)算和其他操作都必須編制程序。例如,即使是乘法和除法這樣基本的運(yùn)算都必須用子程序來(lái)實(shí)現(xiàn)。由于每次只能處理8位數(shù)據(jù),處理大量數(shù)據(jù)就要分成許多個(gè)8位字節(jié)進(jìn)行操作,數(shù)值越大或越小,計(jì)算時(shí)間都很長(zhǎng),這對(duì)數(shù)量大的數(shù)據(jù)庫(kù)、文字處理或?qū)崟r(shí)控制等應(yīng)用來(lái)說(shuō)就太慢了。用提高時(shí)鐘頻率可彌補(bǔ)這一局
3、限,但也是很有限度的。此外,8位微處理器的尋址能力也有局限。典型8位微處理器有一條16位地址線,因此最多可尋址64K個(gè)存儲(chǔ)單元,對(duì)于具有大量數(shù)據(jù)的大型復(fù)雜程序都可能是不夠的。,20世紀(jì)70年代后期,超大規(guī)模集成電路(VLSI)投入使用,出現(xiàn)了第三代微處理器。Intel公司的80868088,Motorola公司的M68000和Zilog公司的Z8000等16位微處理器相繼問(wèn)世,它們的運(yùn)算速度比8位微處理器快25倍,采用HMOS高密度工藝,集成度達(dá)29 000個(gè)晶體管片,趕上或超過(guò)了20世紀(jì)70年代小型機(jī)的水平。從此,傳統(tǒng)的小型計(jì)算機(jī)受到嚴(yán)峻的挑戰(zhàn)。 20世紀(jì)80年代以來(lái),Intel公司又推出了
4、高性能的16位微處理器80186及80286。它們與80868088向上兼容。80286是為滿足多用戶和多任務(wù)系統(tǒng)的微處理器,速度比8086快56倍。處理器本身包含存儲(chǔ)器管理和保護(hù)部件,支持虛擬存儲(chǔ)體系。,1985年,第四代微處理器80386及M68020推出市場(chǎng),集成度達(dá)45萬(wàn)個(gè)晶體管片。它們是32位微處理器,時(shí)鐘頻率達(dá)40MHz,速度之快、性能之高,足以同高檔小型機(jī)相匹敵。 總之,20世紀(jì)70年代至今,微處理器的發(fā)展是其他許多技術(shù)領(lǐng)域望塵莫及的,如1989年推出了80486,1993年推出了Pentium及80586等更高性能的32位及64位微處理器,它也促進(jìn)了其他技術(shù)的進(jìn)步。 本章以講解
5、16位80868088微處理器為中心,第11章再介紹80386,80486及Pentium等芯片的原理。因?yàn)樗鼈兪钱?dāng)今許多流行的微型計(jì)算機(jī),如IBM PC及許多兼容機(jī)聯(lián)想,同方,COMPAQ等個(gè)人計(jì)算機(jī)的CPU。,8086和8088 CPU的內(nèi)部基本相同,但它們的外部性能是有區(qū)別的。8086是16位數(shù)據(jù)總線,而8088是8位數(shù)據(jù)總線,在處理一個(gè)16位數(shù)據(jù)字時(shí),8088需要兩步操作而8086只需要一步。 8086和8088 CPU的內(nèi)部都采用16位字進(jìn)行操作及存儲(chǔ)器尋址,兩者的軟件完全兼容,程序的執(zhí)行也完全相同。然而,由于8088要比8086有較多的外部存取操作,所以,對(duì)相同的程序,它將執(zhí)行得較
6、慢。這兩種微處理器都封裝在相同的40腳雙列直插組件(DIP)中。,圖4.1,4.2 80868088 CPU的結(jié)構(gòu),8086 CPU從功能上可分為兩部分,即總線接口部件(bus interface unit,縮寫(xiě)為BIU)和執(zhí)行部件EU(execution unit)。8086的內(nèi)部結(jié)構(gòu)如圖4.1所示。,4.2.1 執(zhí)行部件,執(zhí)行部件(EU)的功能就是負(fù)責(zé)指令的執(zhí)行。將指令譯碼并利用內(nèi)部的寄存器和ALU對(duì)數(shù)據(jù)進(jìn)行所需的處理。 從結(jié)構(gòu)圖4.1中,可見(jiàn)到執(zhí)行部件由下列部分組成: (1) 4個(gè)通用寄存器,即AX,BX,CX,DX; (2) 4個(gè)專用寄存器,即基數(shù)指針寄存器BP,堆棧指針寄存器SP,源
7、變址寄存器SI,目的變址寄存器DI; (3) 標(biāo)志寄存器(FR); (4) 算術(shù)邏輯部件(ALU)。 80868088的EU有如下特點(diǎn):,(1) 4個(gè)通用寄存器既可以作為16位寄存器使用,也可以作為8位寄存器使用。當(dāng)BX寄存器作為8位寄存器時(shí),分為BH和BL,BH為高8位,BL為低8位。 (2) AX寄存器也常稱為累加器,8086指令系統(tǒng)中有許多指令都是通過(guò)累加器的動(dòng)作來(lái)執(zhí)行的。當(dāng)累加器作為16位來(lái)使用時(shí),可以進(jìn)行按字乘操作、按字除操作、按字輸入輸出和其他字傳送等;當(dāng)累加器作為8位來(lái)使用時(shí),可以實(shí)現(xiàn)按字節(jié)乘操作、按字節(jié)除操作、按字節(jié)輸入輸出和其他字節(jié)傳送,以及十進(jìn)制運(yùn)算等。 (3) 加法器是算
8、術(shù)邏輯的主要部件,絕大部分指令的執(zhí)行都由加法器來(lái)完成。 (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)中有專門(mén)的指令用于控制標(biāo)志的設(shè)置和清除,每個(gè)控制標(biāo)志都對(duì)每一種特定的功能起控制作用。 狀態(tài)標(biāo)志有6個(gè),即SF,ZF,PF,CF,AF和OF。,4.2.2 總線接口部件BIU,總線接口部件的功能是負(fù)責(zé)與存儲(chǔ)器、IO端口傳送數(shù)據(jù),即BIU管理在存儲(chǔ)器中存取程序和數(shù)據(jù)的實(shí)際處理過(guò)程。 總線接口部件由下列各部分組成: (1)
9、 4個(gè)段地址寄存器,即 CS16位代碼段寄存器; DS16位數(shù)據(jù)段寄存器; ES16位附加段寄存器; SS16位堆棧段寄存器。 (2) 16位指令指針寄存器IP。 (3) 20位的地址加法器。 (4) 6字節(jié)的指令隊(duì)列。 80868088的BIU有如下特點(diǎn):,(1) 8086的指令隊(duì)列為6個(gè)字節(jié),8088的指令隊(duì)列為4個(gè)字節(jié)。不管是8086還是8088,都會(huì)在執(zhí)行指令的同時(shí),從內(nèi)存中取下一條指令或下幾條指令,取來(lái)的指令就放在指令隊(duì)列中。這樣,一般情況下,CPU執(zhí)行完一條指令就可以立即執(zhí)行下一條指令,而不需要像以往的計(jì)算機(jī)那樣,讓CPU輪番進(jìn)行取指令和執(zhí)行指令的操作,從而提高了CPU的效率。 (
10、2) 地址加法器用來(lái)產(chǎn)生20位地址。上面已經(jīng)提到,8086可用20位地址尋址1M字節(jié)的內(nèi)存空間,但8086內(nèi)部所有的寄存器都是16位的,所以需要由一個(gè)附加的機(jī)構(gòu)來(lái)根據(jù)16位寄存器提供的信息計(jì)算出20位的物理地址,這個(gè)機(jī)構(gòu)就是20位的地址加法器。,例如,一條指令的物理地址就是根據(jù)代碼段寄存器CS和指令指針寄存器IP的內(nèi)容得到的。具體計(jì)算時(shí),要將段寄存器的內(nèi)容左移4位,然后再與IP的內(nèi)容相加。假設(shè)CS=0FE00H,IP=0400H,此時(shí)指令的物理地址為0FE400H。 總線接口部件和執(zhí)行部件并不是同步工作的,它們是按以下流水線技術(shù)原則管理: (1) 每當(dāng)8086的指令隊(duì)列中有兩個(gè)空字節(jié),或者80
11、88的指令隊(duì)列中有一個(gè)空字節(jié)時(shí),總線接口部件就會(huì)自動(dòng)把指令取到指令隊(duì)列中。 (2) 每當(dāng)執(zhí)行部件準(zhǔn)備執(zhí)行一條指令時(shí),它會(huì)從總線接口部件的指令隊(duì)列前部取出指令的代碼,然后用幾個(gè)時(shí)鐘周期去執(zhí)行指令。在執(zhí)行指令的過(guò)程中,,如果必須訪問(wèn)存儲(chǔ)器或者輸入輸出設(shè)備,那么,執(zhí)行部件就會(huì)請(qǐng)求總線接口部件,進(jìn)入總線周期,完成訪問(wèn)內(nèi)存或者輸入輸出端口的操作;如果此時(shí)總線接口部件正好處于空閑狀態(tài),那么,會(huì)立即響應(yīng)執(zhí)行部件的總線請(qǐng)求。但有時(shí)會(huì)遇到這樣的情況,執(zhí)行部件請(qǐng)求總線接口部件訪問(wèn)總線時(shí),總線接口部件正在將某個(gè)指令字節(jié)取到指令隊(duì)列中,此時(shí)總線接口部件將首先完成這個(gè)取指令的總線周期,然后再去響應(yīng)執(zhí)行部件發(fā)出的訪問(wèn)總線
12、的請(qǐng)求。 (3) 當(dāng)指令隊(duì)列已滿,而且執(zhí)行部件又沒(méi)有總線訪問(wèn)時(shí),總線接口部件便進(jìn)入空閑狀態(tài)。 (4) 在執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時(shí),下面要執(zhí)行的指令就不是在程序中緊接著的那條指令了,,而總線接口部件往指令隊(duì)列裝入指令時(shí),總是按順序進(jìn)行的,這樣,指令隊(duì)列中已經(jīng)裝入的字節(jié)就沒(méi)有用了。遇到這種情況,指令隊(duì)列中的原有內(nèi)容被自動(dòng)消除,總線接口部件會(huì)接著往指令隊(duì)列中裝入另一個(gè)程序段中的指令。,4.2.3 存儲(chǔ)器結(jié)構(gòu),80868088系統(tǒng)中存儲(chǔ)器按字節(jié)編址,可尋址的存儲(chǔ)器空間為1MB,由于1MB為220,因此每個(gè)字節(jié)所對(duì)應(yīng)的地址應(yīng)是20位(二進(jìn)制數(shù)),這20位的地址稱為物理地址。 1. 存儲(chǔ)器的分段
13、 20位的物理地址在CPU內(nèi)部就應(yīng)有20位的地址寄存器,而機(jī)內(nèi)的寄存器是16位的(16位機(jī)),16位寄存器只能尋址64KB。80868088系統(tǒng)中把1M存儲(chǔ)空間分成若干個(gè)邏輯段,每個(gè)邏輯段容量64KB,因此1M的存儲(chǔ)空間可分成16個(gè)邏輯段(015)。允許它們?cè)谡麄€(gè)存儲(chǔ)空間浮動(dòng),即段與段之間可以部分重疊、完全重疊、連續(xù)排列、斷續(xù)排列,非常靈活。在整個(gè)存儲(chǔ)空間中可設(shè)置若干個(gè)邏輯段,如圖4.2所示。,圖4.2,對(duì)于任何一個(gè)物理地址,可以惟一地被包含在一個(gè)邏輯段中,也可包含在多個(gè)相互重疊的邏輯段中,只要有段地址和段內(nèi)偏移地址就可以訪問(wèn)到這個(gè)物理地址所對(duì)應(yīng)的存儲(chǔ)空間,如圖4.3所示。,圖4.3,在808
14、68088存儲(chǔ)空間中,把16字節(jié)的存儲(chǔ)空間稱作一節(jié)(paragraph)。為了簡(jiǎn)化操作,要求各個(gè)邏輯段從節(jié)的整數(shù)邊界開(kāi)始,也就是說(shuō)段首地址低4位應(yīng)該是“0”,因此就把段首地址的高16位稱為“段基址”,存放在段寄存器DS或CS或SS或ES中,段內(nèi)的偏移地址存放在IP或SP中。 若已知當(dāng)前有效的代碼段、數(shù)據(jù)段、附加段和堆棧段的段基址分別為1055H,250AH,8FFBH和EFF0H,那么它們?cè)诖鎯?chǔ)器中的分布情況如圖4.4所示。,圖4.4,2. 存儲(chǔ)器中的邏輯地址和物理地址 任何一個(gè)20位物理地址,也稱為絕對(duì)地址,都是由兩部分組成。 采用分段結(jié)構(gòu)的存儲(chǔ)器中,任何一個(gè)邏輯地址由段基址和偏移地址兩個(gè)部
15、分構(gòu)成,它們都是無(wú)符號(hào)的16位二進(jìn)制數(shù)。 任何一個(gè)存儲(chǔ)單元對(duì)應(yīng)一個(gè)20位的物理地址,也可稱為絕對(duì)地址,它是由邏輯地址變換得來(lái)的。當(dāng)CPU需要訪問(wèn)存儲(chǔ)器時(shí),必須完成如下的地址運(yùn)算: 物理地址=段基址16+偏移地址 物理地址的形成如圖4.5所示,它是通過(guò)CPU的總線接口部件BIU的地址加法器來(lái)實(shí)現(xiàn)的。,圖4.5,例如,代碼段寄存器CS=2000H,指令指針寄存器存放的是偏移地址IP=2200H,存儲(chǔ)器的物理地址為20000H+2200H=22200H。 我們可以把每一個(gè)存儲(chǔ)單元看成是具有兩種類型的地址:物理地址和邏輯地址。物理地址就是實(shí)際地址,它具有20位的地址值,并是惟一標(biāo)識(shí)1MB存儲(chǔ)空間的某一
16、個(gè)字節(jié)的地址。邏輯地址由段基址和偏移地址組成。程序以邏輯地址編址,而不是用物理地址。 4個(gè)段寄存器分別指向4個(gè)現(xiàn)行可尋址的分段的起始字節(jié)單元。一般指令程序存放在代碼段中,段地址來(lái)源于代碼段寄存器,偏移地址來(lái)源于指令指針I(yè)P。當(dāng)涉及到一個(gè)堆棧操作時(shí),段地址寄存器為SS,,偏移地址來(lái)源于棧指針寄存器SP。當(dāng)涉及到一個(gè)操作數(shù)時(shí),則由數(shù)據(jù)段寄存器DS或附加段寄存器ES作為段寄存器,而偏地址是由16位偏移量得到。16位偏移量可以是指令中的偏移量加上16位地址寄存器的值組成,取決于指令的尋址方式。,圖4.6,4.2.4 8086總線的工作周期,為了取得指令和傳送 數(shù)據(jù)的協(xié)調(diào)工作,就需要CPU的總線接口部件
17、執(zhí)行一個(gè)總線周期。在80868088中,一個(gè)最基本的總線周期由4個(gè)時(shí)鐘周期組成,時(shí)鐘周期是CPU的基本時(shí)間計(jì)量單位,它由計(jì)算機(jī)主頻決定。例如,8086的主頻為10MHz,一個(gè)時(shí)鐘周期就是100ns。在一個(gè)最基本的總線周期中,常將4個(gè)時(shí)鐘周期分別稱為4個(gè)狀態(tài),即T1狀態(tài)、T2狀態(tài)、T3狀態(tài)、T4狀態(tài)。典型的8086總線周期序列見(jiàn)圖4.6。,CPU往多路復(fù)用總線上發(fā)出地址信息,以指出要尋址的存儲(chǔ)單元或外設(shè)端口的地址。 CPU從總線上撤消地址,而使總線的低16位浮置成高阻狀態(tài),為傳輸數(shù)據(jù)做準(zhǔn)備??偩€的最高四位(A16A19)用來(lái)輸出本總線周期狀態(tài)信息。這些狀態(tài)信息用來(lái)表示中斷允許狀態(tài),當(dāng)前正在使用的
18、段寄存器名等。 多路總線的高4位繼續(xù)提供狀態(tài)信息,而多路總線的低16位(8088則為低8位)上出現(xiàn)由CPU寫(xiě)出的數(shù)據(jù)或者CPU從存儲(chǔ)器或端口讀入的數(shù)據(jù)。 在有些情況下,被寫(xiě)入數(shù)據(jù)或者被讀取數(shù)據(jù)的外設(shè)或存儲(chǔ)器不能及時(shí)地配合CPU傳送數(shù)據(jù)。這時(shí),外設(shè)或存儲(chǔ)器會(huì)通過(guò)“READY”信號(hào)線在T3狀態(tài)啟動(dòng),之前,向CPU發(fā)一個(gè)“數(shù)據(jù)未準(zhǔn)備好”信號(hào),于是CPU會(huì)在T3之后插入一個(gè)或多個(gè)附加的時(shí)鐘周期TW,TW也叫等待狀態(tài)。在TW狀態(tài),總線上的信息情況和T3狀態(tài)的信息情況一樣。當(dāng)指定的存儲(chǔ)器或外設(shè)完成數(shù)據(jù)傳送時(shí),便在“READY”線上發(fā)出“準(zhǔn)備好”信號(hào),CPU接收到這一信號(hào)后,會(huì)自動(dòng)脫離TW狀態(tài)而進(jìn)入T4狀態(tài)
19、。 只有在CPU和內(nèi)存或IO接口之間傳輸數(shù)據(jù),以及填充指令隊(duì)列時(shí),CPU才執(zhí)行總線周期??梢?jiàn),如果在一個(gè)總線周期之后,不立即執(zhí)行下一個(gè)總線周期,那么系統(tǒng)總線就處在空閑狀態(tài),此時(shí),執(zhí)行空閑周期。,在空閑周期中,可以包含一個(gè)或多個(gè)時(shí)鐘周期。在這期間,高4位上,CPU仍然驅(qū)動(dòng)前一個(gè)總線周期的狀態(tài)信息,而且,如果前一個(gè)總線周期為寫(xiě)周期,那么,CPU會(huì)在總線低16位上繼續(xù)驅(qū)動(dòng)數(shù)據(jù)信息;如果前一個(gè)總線周期為讀周期,則在空閑周期中,總線低16位處于高阻狀態(tài)。,4.3 80868088 CPU的引腳信號(hào)和工作模式,為了盡可能適應(yīng)各種使用場(chǎng)合,在設(shè)計(jì)80868088CPU芯片時(shí),就使得它們可以在兩種模式下工作,
20、即最小模式和最大模式。 所謂最小模式,就是在系統(tǒng)中只有80868088一個(gè)微處理器。在這種系統(tǒng)中,所有的總線控制信號(hào)都直接由80868088產(chǎn)生,因此,系統(tǒng)中的總線控制邏輯電路被減到最少。 最大模式是相對(duì)最小模式而言,它用在中等規(guī)模的或者大型的80868088系統(tǒng)中。在此系統(tǒng)中,包含兩個(gè)或多個(gè)微處理器,其中一個(gè)主處理器就是80868088,其他的處理器稱為協(xié)處理器,它們是協(xié)助主處理器工作的。和80868088配合的協(xié)處理器有兩個(gè),一個(gè)是數(shù)值運(yùn)算協(xié)處理器8087,一個(gè)是輸入輸出協(xié)處理器8089。,8087是一種專用于數(shù)值運(yùn)算的處理器,它能實(shí)現(xiàn)多種類型的數(shù)值操作。例如,高精度的整數(shù)和浮點(diǎn)運(yùn)算,也可
21、以進(jìn)行超越函數(shù)(如:三角函數(shù)、對(duì)數(shù)函數(shù))的計(jì)算。由于在通常情況下,這些運(yùn)算往往通過(guò)軟件方法來(lái)實(shí)現(xiàn),而8087是用硬件方法來(lái)完成這些運(yùn)算的,所以在系統(tǒng)中加入?yún)f(xié)處理器8087之后,會(huì)提高系統(tǒng)的數(shù)值運(yùn)算速度。 8089在原理上有點(diǎn)兒像帶有兩個(gè)DMA通道的處理器。它有一套專門(mén)用于輸入輸出操作的指令系統(tǒng),但8089又和DMA的控制器不同,它可以直接為輸入輸出設(shè)備服務(wù),使80868088不再承擔(dān)這類工作。所以在系統(tǒng)中增加協(xié)處理器8089后,會(huì)提高主處理器的效率,尤其是在輸入輸出頻繁的場(chǎng)合。 80868088的工作模式完全是由硬件決定的。,4.3.1 80868088的引腳信號(hào)和功能,8086和8088的引
22、腳信號(hào)圖如圖4.7所示。 1. AD15AD0(address data bus)地址數(shù)據(jù)復(fù)用引腳(雙向工作) 在8088中,A8A15并不作復(fù)用,它們只用來(lái)輸出地址,稱為A8A15。 作為復(fù)用引腳,在總線周期的T1狀態(tài)用來(lái)輸出要訪問(wèn)的存儲(chǔ)器或IO端口地址。T2T3狀態(tài),對(duì)讀周期來(lái)說(shuō),處于浮空狀態(tài);對(duì)寫(xiě)周期來(lái)說(shuō),則是傳輸數(shù)據(jù)。,圖4.7,在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),則用來(lái)傳送數(shù)據(jù)。而CPU的傳輸特性決定了只要是偶地址單元或偶地址端口交換
23、數(shù)據(jù),那么,CPU必定通過(guò)總線低8位,即AD7AD0傳輸數(shù)據(jù)??梢?jiàn),如果在總線周期的T1狀態(tài),AD0為低電平,實(shí)際上就指示了在這一總線周期的其余狀態(tài)中,CPU將用總線低8位和偶地址單元或偶地址端口交換數(shù)據(jù)。因此,AD0和下面講到的BHE類似,可以用來(lái)作為接于數(shù)據(jù)總線低8位上的8位外設(shè)接口芯片的選通信號(hào)。 AD15AD0在CPU響應(yīng)中斷,以及系統(tǒng)總線“保持響應(yīng)”時(shí),都被浮置為高阻狀態(tài)。,2. A19S6A16/S3(address/status)地址/狀態(tài)復(fù)用引腳(輸出) A19/S6A16/S3在總線周期的T1狀態(tài),用來(lái)輸出地址的最高4位。在總線周期的T2,T3,TW和T4狀態(tài)時(shí),用來(lái)輸出狀態(tài)
24、信息。其中,S6為0,用來(lái)指示80868088當(dāng)前與總線相連,所以在T2,T3,TW和T4狀態(tài)時(shí),80868088總是使S6等于0,以表示80868088當(dāng)前連在總線上。S5表明中斷允許標(biāo)志的當(dāng)前設(shè)置,若為1,表示當(dāng)前允許可屏蔽中斷請(qǐng)求;若為0,則禁止一切可屏蔽中斷。S4,S3合起來(lái)指出當(dāng)前正在使用哪段寄存器。,3. BHES7(bus high enable/status)高8位數(shù)據(jù)總線允許狀態(tài)復(fù)用引腳(輸出) 在總線周期的T1狀態(tài),8086在BHES7引腳輸出BHE信號(hào),表示高8位數(shù)據(jù)總線D15D8上的數(shù)據(jù)有效。在T2,T3,TW和T4狀態(tài),BHES7引腳輸出狀態(tài)信號(hào)S7。不過(guò),在當(dāng)前的芯
25、片(8086,8086-1,8086-2)設(shè)計(jì)中,S7并未被賦予任何實(shí)際意義。 在8088系統(tǒng)中,第34腳不是BHE7S7,而是被賦予另外的信號(hào)。在最大模式時(shí),此引腳恒為高電平;在最小模式中,則為SS0,它和DTR,MIO一起決定了8088芯片當(dāng)前總線周期的讀寫(xiě)動(dòng)作。,4. NMI(non-maskable interrupt)非屏蔽中斷引腳(輸入) 非屏蔽中斷信號(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(interrupt req
26、uest)可屏蔽中斷請(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è)中斷處理子程序。,6. RD(read)讀信號(hào)引腳(輸出) 此信號(hào)指出將要執(zhí)行一個(gè)對(duì)內(nèi)存或IO端口的讀操作。到底是讀取內(nèi)存單元中的數(shù)據(jù)還是IO端口中的數(shù)據(jù),這決定于MIO信號(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í)鐘引腳(輸入
27、) 80868088要求時(shí)鐘信號(hào)的占空比為33%,即13周期為高電平,23周期為低電平。80868088的時(shí)鐘頻率要求為5MHz,8086-1的時(shí)鐘頻率為10MHz,8086-2的時(shí)鐘頻率則為8MHz,時(shí)鐘信號(hào)為CPU和總線控制邏輯電路提供定時(shí)手段。,8. RESET(reset)復(fù)位信號(hào)引腳(輸入) 復(fù)位信號(hào)為高電平有效。80868088要求復(fù)位信號(hào)至少維持4個(gè)時(shí)鐘周期的高電平才有效。復(fù)位信號(hào)來(lái)到后,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開(kāi)始執(zhí)行程序。 9. READY(read
28、y)“準(zhǔn)備好”信號(hào)引腳(輸入) “準(zhǔn)備好”信號(hào)實(shí)際上是由所訪問(wèn)的存儲(chǔ)器或IO設(shè)備發(fā)來(lái)的響應(yīng)信號(hào),高電平有效。“準(zhǔn)備好”信號(hào)有效時(shí),表示內(nèi)存或IO設(shè)備準(zhǔn)備就緒,馬上就可進(jìn)行一次數(shù)據(jù)傳輸。CPU在每個(gè)總線周期的T3狀態(tài)開(kāi)始對(duì)READY信號(hào)進(jìn)行采樣。如果檢測(cè)到READY為,低電平,則在T3狀態(tài)之后插入等待狀態(tài)TW,在TW狀態(tài),CPU也對(duì)READY進(jìn)行采樣,若READY仍為低電平,則會(huì)繼續(xù)插入TW,所以TW可以插入一個(gè)或多個(gè)。直到READY變?yōu)楦唠娖胶?,才進(jìn)入T4狀態(tài),完成數(shù)據(jù)傳送過(guò)程,從而結(jié)束當(dāng)前總線周期。 10. TEST(test)測(cè)試信號(hào)引腳(輸入) 測(cè)試信號(hào)為低電平有效。TEST信號(hào)是和指令
29、WAIT結(jié)合起來(lái)使用的,在CPU執(zhí)行WAIT指令時(shí),CPU處于空轉(zhuǎn)狀態(tài)進(jìn)行等待;當(dāng)8086的TEST信號(hào)有效時(shí),等待狀態(tài)結(jié)束,CPU繼續(xù)往下執(zhí)行被暫停的指令。,11. MNMX(minimummaximum mode control)最小最大模式控制信號(hào)引腳(輸入) 它是最大模式及最小模式的選擇控制端。此引腳固定接為+5V時(shí),CPU處于最小模式;如果接地,則CPU處于最大模式。 12. GND地和Vcc電源引腳 80868088均用單一+5V電源。 80868088CPU的第24腳第31腳在最大模式和最小模式下有不同的名稱和定義。,4.3.2 最小工作模式,當(dāng)80868088的第33腳MNMX
30、固定接到+5V時(shí),就處于最小工作模式,最小模式下第24腳第31腳的信號(hào)含義如下: 1. INTA(interrupt acknowledge)中斷響應(yīng)信號(hào)(輸出) 在最小模式下,第24腳作為中斷響應(yīng)信號(hào)的輸出端,用來(lái)對(duì)外設(shè)的中斷請(qǐng)求作出響應(yīng)。對(duì)于80868088來(lái)講,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(address latch enable)地址鎖存
31、允許信號(hào)(輸出) 第25腳在最小模式下為地址鎖存允許信號(hào)輸出端,這是80868088提供給地址鎖存器82828283的控制信號(hào),高電平有效。在任何一個(gè)總線周期的T1狀態(tài),ALE輸出有效電平,以表示當(dāng)前在地址數(shù)據(jù)復(fù)用總線上輸出的是地址信息,地址鎖存器將ALE作為鎖存信號(hào),對(duì)地址進(jìn)行鎖存。要注意ALE端不能被浮空。 3. DEN(data enable)數(shù)據(jù)允許信號(hào) 第26腳在最小模式下作為數(shù)據(jù)允許信號(hào)輸出端。在用82868287作為數(shù)據(jù)總線收發(fā)器時(shí),DEN為收發(fā)器提供了一個(gè)控制信號(hào),表示CPU當(dāng)前準(zhǔn)備發(fā)送或接受一個(gè)數(shù)據(jù)??偩€收發(fā)器將DEN作為輸出允許信號(hào)。,DEN信號(hào)的電平輸出情況如下:在每個(gè)存
32、儲(chǔ)器訪問(wèn)周期和IO訪問(wèn)周期為低電平,即有效電平;在中斷響應(yīng)周期,也為有效電平。不過(guò),如果是讀周期或者是中斷響應(yīng)周期,DEN在T2狀態(tài)的中間開(kāi)始有效,并且一直保持到T4狀態(tài)的中間。在DMA方式時(shí),DEN被浮置為高阻狀態(tài)。 4. DTR(data transmitreceive)數(shù)據(jù)收發(fā)(輸出) 在使用82868287作為數(shù)據(jù)總線收發(fā)器時(shí),DTR信號(hào)用來(lái)控制82868287的數(shù)據(jù)傳送方向。如果DTR為高電平,則進(jìn)行數(shù)據(jù)發(fā)送;如果DTR為低電平,則進(jìn)行數(shù)據(jù)接收。在DMA方式時(shí),DTR被浮置為高阻狀態(tài)。,5. MIO(memory/input and output)存儲(chǔ)器輸入輸出控制信號(hào)(輸出) 此信
33、號(hào)若為高電平,表示CPU和存儲(chǔ)器之間進(jìn)行數(shù)據(jù)傳輸;若為低電平,表示CPU和輸入輸出設(shè)備之間進(jìn)行數(shù)據(jù)傳輸 。一般在前一個(gè)總線周期的T4狀態(tài),MIO就成為有效電平,然后開(kāi)始一個(gè)新的總線周期。在此周期中,MIO一直保持有效電平,直到本周期的T4狀態(tài)為止。在DMA方式時(shí),MIO被浮置為高阻狀態(tài)。 6. WR(write)寫(xiě)信號(hào)(輸出) 此信號(hào)為低電平有效。WR有效時(shí),表示CPU當(dāng)前正在進(jìn)行存儲(chǔ)器或IO寫(xiě)操作,具體到底為哪種寫(xiě)操作,則由MIO信號(hào)決定。對(duì)任何寫(xiě)周期,WR只在T2,T3,TW期間有效。在DMA方式時(shí),WR被浮置為高阻狀態(tài)。,7. HOLD(hold request)總線保持請(qǐng)求信號(hào)(輸入)
34、 當(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(hold acknowledge)總線保持響應(yīng)信號(hào)(輸出) 此信號(hào)為高電平有效。當(dāng)HLDA有效時(shí),表示CPU對(duì)其他主部件的總線請(qǐng)求作出響應(yīng),與此同時(shí),所有與三態(tài)門(mén)相接的CPU
35、的引腳呈現(xiàn)高阻抗,從而讓出了總線。,在最小模式下,8088和8086的第34腳的信號(hào)定義不同。對(duì)8086來(lái)說(shuō),第34腳為BHES7,由于S7未被賦予實(shí)際意義,所以,此引腳就是用來(lái)提供高8位數(shù)據(jù)總線允許信號(hào)。對(duì)8088來(lái)說(shuō),對(duì)外只有8位數(shù)據(jù)總線,沒(méi)有高8位數(shù)據(jù)總線,因而也不需要BHE信號(hào)。所以,第34腳不再是BHES7,而叫SS0。SS0,MIO(在8088中,第28腳上不是MIO,而是IO)和DTR組合起來(lái),決定了當(dāng)前總線周期的操作。 關(guān)于無(wú)源狀態(tài)的含義要在“4.3.3最大工作模式”時(shí)再作說(shuō)明。 除了各引腳的信號(hào)名稱和含義以外,我們還要了解最小模式下系統(tǒng)是怎樣配置的。即除了CPU外,,還需要哪
36、些芯片來(lái)構(gòu)成一個(gè)按照最小模式工作的系統(tǒng)?這些芯片和CPU之間的主要連接關(guān)系是什么樣的? 圖4.8是8086在最小模式下的典型配置。由圖4.8可看到,在8086的最小模式中,硬件包括:1片8284A,作為時(shí)鐘發(fā)生器;3片8282或74LS373,用來(lái)作為地址鎖存器;當(dāng)系統(tǒng)中所連的存儲(chǔ)器和外設(shè)較多時(shí),需要增加數(shù)據(jù)總線的驅(qū)動(dòng)能力,這時(shí),要用兩片82868287作為總線收發(fā)器。,圖4.8,在總線周期的前一部分時(shí)間,CPU總是送出地址信號(hào),為了告訴地址已經(jīng)準(zhǔn)備好,可以被鎖存,CPU此時(shí)會(huì)送出高電平的ALE信號(hào),所以,ALE就是允許鎖存的信號(hào)。 除了地址信號(hào)外,BHE信號(hào)也需要鎖存。在后面的時(shí)序圖上,將看
37、到地址數(shù)據(jù)總線是復(fù)用的,而B(niǎo)HE和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ì)鎖存器和IO設(shè)備的正常讀寫(xiě)操作。,8282是典型的鎖存器芯片,不過(guò)它是8位的,而80868088系統(tǒng)采用20位地址,加上BHE信號(hào),所以,需要3片8282作為地址鎖存器。74LS373也可作為地址鎖存器,用法與8282相同。 對(duì)于有些只配
38、備64KB內(nèi)存的小系統(tǒng),只用16位地址就夠了,如果CPU又采用8088,這樣,就不存在BHE信號(hào)。所以,此時(shí)只需兩片8282做鎖存器。 下面以8282為例簡(jiǎn)要講述一下鎖存器的信號(hào)連接,具體連線圖如圖4.9所示。,圖4.9,8282的選通信號(hào)輸入端STB和CPU的ALE端相連。以第1個(gè)鎖存器為例,8282的DI7DI0接CPU的AD7AD0,8282的輸出DO7DO0就是系統(tǒng)地址總線的低8位。OE為輸出允許信號(hào),當(dāng)OE為低電平時(shí),8282的輸出信號(hào)DO7DO0有效;而當(dāng)OE為高電平時(shí),DO7DO0變?yōu)楦咦杩埂T诓粠MA控制器的80868088單處理器系統(tǒng)中,將OE接地就行了。 如果用74LS3
39、73作為鎖存器,使用方法和8282幾乎一樣。只是在74LS373中,芯片選通信號(hào)不用STB表示,而用LE表示,這實(shí)際上更符合鎖存功能的含義。 當(dāng)一個(gè)系統(tǒng)中所含的外設(shè)接口較多時(shí),數(shù)據(jù)總線上需要有發(fā)送器和接收器來(lái)增加驅(qū)動(dòng)能力。發(fā)送器和接收器簡(jiǎn)稱為收發(fā)器,也常常稱為總線驅(qū)動(dòng)器。,Intel系統(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ù)引線:A7A0為輸入數(shù)據(jù)線,B7B0為輸出數(shù)據(jù)線。當(dāng)然,由于在收發(fā)器中數(shù)據(jù)是雙向傳
40、輸?shù)?,所以,?shí)際上輸入線和輸出線也可以交換。用T表示的引腳信號(hào)就是用來(lái)控制數(shù)據(jù)傳輸方向的。當(dāng)T=1時(shí),就使A7A0為輸入線,B7B0為輸出線;當(dāng)T=0時(shí),則使B7B0為輸入線。在系統(tǒng)中,T端和CPU和DTR端相連,DTR為數(shù)據(jù)收發(fā)信號(hào)。當(dāng)CPU進(jìn)行數(shù)據(jù)輸出時(shí),DTR為高電平,于是數(shù)據(jù)流由A7A0輸入,從B7B0輸出。當(dāng)CPU進(jìn)行數(shù)據(jù)輸入時(shí),DTR為低電平,于是數(shù)據(jù)流由B7B0輸入,而從A7A0輸出。,OE是輸出允許信號(hào),此信號(hào)決定了是否允許數(shù)據(jù)通過(guò)8286。當(dāng)OE=1時(shí),數(shù)據(jù)在兩個(gè)方向上都不能傳輸。只有當(dāng)OE=0時(shí),并且T也為1,才使數(shù)據(jù)從A7A0流向B7B0;同樣,只有當(dāng)OE=0時(shí),并且T也
41、為0,才使數(shù)據(jù)從B7B0流向A7A0。在80868088系統(tǒng)中,OE端和CPU的DEN端相連,在介紹引腳信號(hào)時(shí),我們講過(guò),在CPU的存儲(chǔ)器訪問(wèn)周期和IO訪問(wèn)周期中,DEN為低電平,在中斷響應(yīng)周期,DEN也為低電平。正是在這些總線周期中,需要8286開(kāi)啟,以允許數(shù)據(jù)通過(guò),從而完成了CPU和其他部件之間的數(shù)據(jù)傳輸。,圖4.10,需要提到的一點(diǎn)是,當(dāng)系統(tǒng)中CPU以外的總線主控部件對(duì)總線有請(qǐng)求,并且得到CPU允許時(shí),CPU的DEN和DTR端呈現(xiàn)高阻狀態(tài),從而使8286各輸出端也成為高阻狀態(tài)。 有時(shí)候,在設(shè)計(jì)系統(tǒng)總線時(shí),希望提供給各部件數(shù)據(jù)信號(hào)的相位正好和CPU的原始數(shù)據(jù)信號(hào)相反;反過(guò)來(lái)也一樣,也就是需
42、要將外部數(shù)據(jù)信號(hào)反一個(gè)相位再提供給CPU。為了滿足這種要求,Intel公司又提供了另一個(gè)功能和8286相仿的芯片8287。在這樣的系統(tǒng)中,一般對(duì)地址信號(hào)也要求反一個(gè)相位,這時(shí),地址鎖存器就不用8282,而是采用Intel公司的另一個(gè)芯片8283,其功能和8282相仿,但提供的輸出信號(hào)相位相反。,通常,在一個(gè)工作于最小模式的系統(tǒng)中,控制線并不需要用總線收發(fā)器進(jìn)行驅(qū)動(dòng)。當(dāng)然,如果系統(tǒng)中存儲(chǔ)器和外設(shè)接口芯片多,出于需要,也可以使用總線收發(fā)器。 最小模式系統(tǒng)中,信號(hào)MIO,RD和WR組合起來(lái)決定了系統(tǒng)中數(shù)據(jù)傳輸?shù)姆绞健?在8086最小模式典型配置中,除上述8282及8286外,還有一個(gè)時(shí)鐘發(fā)生器828
43、4A。它與CPU的連接如圖4.11所示。 8284A的功能有3個(gè):產(chǎn)生恒定的時(shí)鐘信號(hào),對(duì)準(zhǔn)備信號(hào)(READY)及復(fù)位信號(hào)(RESET)進(jìn)行同步。由圖4.8可見(jiàn) ,外界控制信號(hào)RDY及RES信號(hào)可以在任何時(shí)候到來(lái),8284A能把它們同步在時(shí)鐘后沿(下降沿)時(shí)輸出READY及RESET信號(hào)到8086CPU。,8284A的振蕩源一般采用晶體振蕩器,如圖4.11所示。但也可以用外接脈沖發(fā)生器作為振蕩源。此時(shí),8284A的F端應(yīng)接高電平。8284A輸出的時(shí)鐘頻率為振蕩源頻率的13。,圖4.11,4.3.3 最大工作模式,80868088CPU為實(shí)現(xiàn)多處理器控制系統(tǒng)(多主控系統(tǒng))就要增設(shè)總線控制器8288
44、和總線仲裁器8289。最大工作模式的典型配置如圖4.12所示。這時(shí),80868088的MNMX引腳接地。,圖4.12,最大工作模式時(shí),80868088的第2431引腳的信號(hào)含義如下: 1. QS1和QS0(instruction queue status)指令隊(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(bus cycle status)總線周期狀態(tài)信號(hào)(輸出) 在最大工作模式時(shí),第26引腳,第27引腳及第28引腳為S0,S1及S2信號(hào)輸出端。它們提供當(dāng)前總線周期中所進(jìn)行
45、的數(shù)據(jù)傳輸過(guò)程類型。由總線控制器8288根據(jù)這些信號(hào)對(duì)存儲(chǔ)器及IO進(jìn)行控制。,總線周期狀態(tài)(S2,S1及S0)中至少應(yīng)有一個(gè)狀態(tài)為低電平,便可進(jìn)行一種總線操作。當(dāng)S2,S1及S0都為高電平時(shí)表明操作過(guò)程即將結(jié)束,而另一個(gè)新的總線周期尚未開(kāi)始,這時(shí)稱為“無(wú)源狀態(tài)”。而在總線周期的最后一個(gè)狀態(tài)(即T4狀態(tài)),S2,S1及S0中只要有一個(gè)信號(hào)改變,就表明是下一個(gè)新的總線周期開(kāi)始。 3. LOCK(lock)總線封鎖信號(hào)(輸出) 在最大工作模式時(shí),第29引腳為總線封鎖信號(hào)輸出端。當(dāng)LOCK為低電平時(shí),其它總線主控部件都不能占用總線。在DMA期間,LOCK端被浮空而處于高阻狀態(tài)。 LOCK信號(hào)由指令前綴
46、LOCK產(chǎn)生,在LOCK前綴后的一條指令執(zhí)行完后,便撤銷(xiāo)LOCK信號(hào),為防,止80868088中斷時(shí)總線被其他主控部件所占用,因此在中斷過(guò)程中,LOCK信號(hào)也自動(dòng)變?yōu)榈碗娖健?4. RQGT1,RQGT0(requestgrant)總線請(qǐng)求信號(hào)(輸入)總線請(qǐng)求允許信號(hào)(輸出) 在最大工作模式時(shí),第30引腳及第31引腳分別為總線請(qǐng)求信號(hào)輸入端總線請(qǐng)求允許信號(hào)輸出端,可供CPU以外兩個(gè)協(xié)處理器用來(lái)發(fā)出使用總線請(qǐng)求和接收CPU對(duì)總線請(qǐng)求信號(hào)的回答信號(hào)。這兩個(gè)應(yīng)答信號(hào)都是雙向的。RQGT0的優(yōu)先級(jí)比RQGT1的高。 在最大工作模式下,8086的第34引腳為BHES7,而8088的第34引腳恒為高電平。
47、由于最大工作模式是以8086 CPU為中心的多處理器控制系統(tǒng),它們共,用一條外部總線,因而需要增加一個(gè)總線控制器及總線仲裁控制器來(lái)完成多處理器的分時(shí)控制,Intel公司為80868088系列生產(chǎn)8288芯片作為總線控制器,8289芯片作為總線仲裁控制器。 1. 總線控制器8288 8288總線控制器的內(nèi)部結(jié)構(gòu)及引腳排列如圖4.13所示。8288由狀態(tài)譯碼器、命令信號(hào)發(fā)生器,控制信號(hào)發(fā)生器及控制電路4部分組成。由80868088 CPU來(lái)的總線狀態(tài)信號(hào)S2,S1及S0經(jīng)8288的狀態(tài)譯碼器譯碼后,與輸入控制信號(hào)AEN,CEN和IOB相配合,便產(chǎn)生總線命令和控制信號(hào)。,圖4.13,8288產(chǎn)生的A
48、LE,DTR及DEN信號(hào)與最小模式工作方式時(shí)相同,但DEN信號(hào)的極性相反。8288產(chǎn)生的總線命令是由80868088的總線狀態(tài)信號(hào)S2,S1及S0所決定。 8288發(fā)出的總線命令信號(hào)具有以下功能: (1) MRDC: 相當(dāng)于最小模式時(shí)由80868088發(fā)出的RD和IOM兩信號(hào)的組合,此時(shí)IOM=0。 (2) IORC: 相當(dāng)于最小模式時(shí)由80868088發(fā)出的RD和IOM兩信號(hào)的組合,此時(shí)IOM=1。 (3) MWTC和AMWC: 相當(dāng)于最小模式時(shí)由80868088發(fā)出的WR和IOM兩信號(hào)的組合,此時(shí)IOM=0。但在最大工作模式時(shí)增加了一個(gè)“超前寫(xiě)存儲(chǔ)器信號(hào)”AMWC。它比MWTC提前一個(gè)時(shí)鐘
49、周期。,(4) IOWC和AIOWC: 相當(dāng)于最小模式時(shí)WR和IOM兩信號(hào)的組合,此時(shí)IOM=1。也增加了一個(gè)“超前寫(xiě)IO端口信號(hào)”AIOWC。它比IOWC提前一個(gè)時(shí)鐘周期。 (5) INTA: 中斷響應(yīng)信號(hào)INTA在最小模式時(shí)由CPU直接發(fā)出。 (6) CEN: 當(dāng)有多片8288協(xié)同工作時(shí)起片選作用。當(dāng)命令允許信號(hào)CEN為高電平時(shí),允許該8288發(fā)出全部控制信號(hào)。當(dāng)CEN為低電平時(shí),禁止該8288發(fā)出總線控制信號(hào),同時(shí)使DEW和PDEN呈高阻狀態(tài)。任何時(shí)候只有一片8288的CEN信號(hào)為高電平。 (7) AEN: 由總線仲裁器8289輸入,低電平有效。地址允許信號(hào)AEN是支持多總線結(jié)構(gòu)的同步控
50、制信號(hào)。,(8) MCEPDEN: 是一條雙功能的輸出控制線。當(dāng)8288工作于系統(tǒng)總線方式時(shí),作主控級(jí)聯(lián)允許信號(hào)MCE用,在中斷響應(yīng)周期的T1狀態(tài)時(shí)MCE有效,控制主8259A向從8259A輸出級(jí)聯(lián)地址。當(dāng)8288工作于IO總線方式時(shí),作外設(shè)數(shù)據(jù)允許信號(hào)PDEN用,控制外部設(shè)備通過(guò)IO總線傳送數(shù)據(jù)。 (9) IOB: 8288既可控制系統(tǒng)總線,又可控制IO總線。當(dāng)總線方式控制信號(hào)IOB=1時(shí),8288只用來(lái)控制IO總線;當(dāng)IOB=0時(shí),8288工作于系統(tǒng)總線工作方式。 2. 總線仲裁控制器8289 在8086多處理器系統(tǒng)中,除80868088CPU外還有輸入輸出處理器8089及數(shù)據(jù)數(shù)值處理器8
51、087,,它們也是采用分時(shí)方式來(lái)占用總線的。因此,在多處理器系統(tǒng)中必須采用總線仲裁器8289配合總線控制器8288來(lái)確定每一時(shí)刻的總線使用權(quán)賦給優(yōu)先級(jí)別較高的處理器使用。 8289芯片的內(nèi)部結(jié)構(gòu)框圖及引腳排列如圖4.14所示。8289由狀態(tài)譯碼器、仲裁電路、控制電路及總線接口等組成。,圖4.14,8289的IOB及RESB兩控制信號(hào)可組成總線仲裁器的4種工作方式如下: (1) 單一總線方式: 當(dāng)IOB=1及RESB=0時(shí),8289工作于單一總線方式。這時(shí)系統(tǒng)中只有一個(gè)處理器,8289隨時(shí)監(jiān)視著總線狀態(tài)。只要處理器不處于HALT狀態(tài),并且當(dāng)前BPRN有效及BUSY無(wú)效,則這個(gè)處理器就可使用總線。
52、 (2) IO總線方式: 當(dāng)IOB=0及RESB=0時(shí),8289工作于IO總線方法。這時(shí)系統(tǒng)中都有輸入輸出處理器8089。主處理器執(zhí)行系統(tǒng)存儲(chǔ)器中的主控程序,8089執(zhí)行駐留存儲(chǔ)器中的IO處理程序,兩者可并行操作。,(3) 駐留總線方式: 當(dāng)IOB=1及RESB=1時(shí),8289工作于駐留總線方式。在這種系統(tǒng)中,處理器可訪問(wèn)系統(tǒng)總線也可訪問(wèn)駐留總線。SYSBRESB=1時(shí),CPU為訪問(wèn)系統(tǒng)總線上的存儲(chǔ)器或IO設(shè)備,當(dāng)SYSBRESB=0時(shí),CPU為請(qǐng)求使用駐留總線。但兩條總線上各設(shè)一個(gè)總線控制器8288,分別來(lái)發(fā)出各條總線上的訪問(wèn)存儲(chǔ)器或IO端口命令。 (4) IO總線和駐留總線方式: 當(dāng)IOB
53、=0及RESB=1時(shí),8289上SYSBRESB=1,為CPU請(qǐng)求使用系統(tǒng)總線,只訪問(wèn)系統(tǒng)總線上的存儲(chǔ)器而不訪問(wèn)IO端口,若需訪IO端口時(shí)則可使用IO總線進(jìn)行。 除總線仲裁控制器有4種工作方式外,在多處理器系統(tǒng)中,8289還要進(jìn)行優(yōu)先級(jí)的裁決。在不同系統(tǒng),中可采用3種優(yōu)先權(quán)裁決方式,即并行優(yōu)先級(jí)裁決、串行優(yōu)先級(jí)裁決及循環(huán)優(yōu)先級(jí)裁決。 (1) 并行優(yōu)先級(jí)裁決。并行優(yōu)先級(jí)裁決的典型電路如圖4.15所示。所有8289的總線請(qǐng)求BREQ信號(hào)并行引入優(yōu)先級(jí)編碼器,它將當(dāng)前級(jí)別最高的BREQ的二進(jìn)制編碼向譯碼器輸出。譯碼器將相應(yīng)的總線優(yōu)先級(jí)輸入(BPRN)信號(hào)送至當(dāng)前級(jí)別最高的8289。若當(dāng)前BUSY為高
54、電平,則該8289可使用系統(tǒng)總線,并立即將BUSY置成低電平,來(lái)禁止其他8289再使用系統(tǒng)總線。,圖4.15,(2) 串行優(yōu)先級(jí)裁決方式。串行優(yōu)先級(jí)裁決的典型電路如圖4.16所示。圖中4個(gè)8289按優(yōu)先級(jí)的順序,把它們上一級(jí)的BPRO與下一級(jí)BPRN鏈接起來(lái),優(yōu)先級(jí)最高的8289的BPRN端接地。在總線空閑時(shí),所有的BPRO及BPRN端均為低電平。當(dāng)任何一個(gè)8289要求使用系統(tǒng)總線時(shí),只要它的BPRN=0,且當(dāng)前BUSY=1,即表示比它優(yōu)先級(jí)高的8289未申請(qǐng)使用總線,則它便可獲得系統(tǒng)總線使用權(quán)。當(dāng)這個(gè)8289使用總線后,即輸出BPRO為1,將比它低的所有8289的BPRN置成高電平,禁止它們
55、再使用總線,串行優(yōu)先級(jí)裁決方式不需要增加任何設(shè)備,但響應(yīng)速度受到限制。要求從最高優(yōu)先級(jí)的8289輸出BPRO到最低優(yōu)先級(jí)的BPRN輸入的延遲時(shí)間不超過(guò)一個(gè)總線時(shí)鐘周期。在BCLK頻率為10MHz時(shí),最多允許鏈接3片8289。,圖4.16,(3) 循環(huán)優(yōu)先級(jí)裁決方式。循環(huán)優(yōu)先級(jí)裁決電路與并行方式相似。當(dāng)該8289取得一次使用系統(tǒng)總線權(quán)后,就把最低優(yōu)先權(quán)賦給這一級(jí),把最高優(yōu)先級(jí)賦給原來(lái)比它低一級(jí)的8289。這種裁決方式能使各個(gè)8289具有平等使用總線的權(quán)利,因此稱做循環(huán)優(yōu)先級(jí)裁決。,4.4 80868088的主要操作功能,一個(gè)微型機(jī)系統(tǒng)要完成各種任務(wù),其中有一些操作是最基本的。本節(jié)講解以下幾項(xiàng)80
56、86的主要操作: 系統(tǒng)的復(fù)位和啟動(dòng)操作; 總線操作; 中斷操作; 最小工作模式下的總線請(qǐng)求; 最大工作模式下的讀寫(xiě)操作。,4.4.1 系統(tǒng)的復(fù)位和啟動(dòng)操作,80868088的復(fù)位和啟動(dòng)操作是在RESET引腳上加上觸發(fā)信號(hào)來(lái)執(zhí)行的,如圖4.17所示。 當(dāng)RESET引腳接受到高電平后的第1個(gè)時(shí)鐘周的正跳變,即圖4.17的時(shí),80868088進(jìn)入內(nèi)部RESET階段。再過(guò)一個(gè)時(shí)鐘周期,所有三態(tài)輸出線就被設(shè)置成高阻狀態(tài),并且一直維持高阻狀態(tài),直到RESET信號(hào)回到低電平。但在進(jìn)入高阻狀態(tài)的前半個(gè)時(shí)鐘周期,也就是在前一個(gè)時(shí)鐘周期的低電平期間(如圖4.17所示),這些三態(tài)輸出線被設(shè)置成無(wú)作用狀態(tài)。等到時(shí)鐘信
57、號(hào)又成為高電平時(shí),三態(tài)輸出線才進(jìn)入高阻狀態(tài)。,三態(tài)輸出線包括AD15AD0,A19/S6A16/S3,BHES7,MIO,DTR,DEN,WR,RD和INTA。還有幾條非三態(tài)輸出線,在復(fù)位之后會(huì)處于無(wú)效狀態(tài),但不浮空,它們是ALE,HLDA,RQGT0,RQGT1,QS0,QS1。 80868088要求復(fù)位信號(hào)(RESET)至少有4個(gè)時(shí)鐘周期的高電平,如果是初次加電的啟動(dòng),則要求有大于50s的高電平。當(dāng)80868088進(jìn)入內(nèi)部RESET時(shí),CPU就結(jié)束現(xiàn)行操作,維持在復(fù)位狀態(tài)。,在復(fù)位的時(shí)候,代碼段寄存器CS和指令指針寄存器IP分別初始化為FFFFH和0000H。所以,80868088在復(fù)位之
58、后再重新啟動(dòng)時(shí),便從內(nèi)存的FFFF0H處開(kāi)始執(zhí)行指令,使系統(tǒng)在啟動(dòng)時(shí),能自動(dòng)進(jìn)入系統(tǒng)程序。在復(fù)位時(shí),由于標(biāo)志寄存器被清零,即所有標(biāo)志位都被清除了,因而,系統(tǒng)程序在啟動(dòng)時(shí),總是要通過(guò)指令來(lái)設(shè)置各有關(guān)標(biāo)志。復(fù)位信號(hào)RESET從高電平到低電平的跳變會(huì)觸發(fā)CPU內(nèi)部的一個(gè)復(fù)位邏輯電路,經(jīng)過(guò)7個(gè)時(shí)鐘周期之后,CPU就被啟動(dòng)而恢復(fù)正常工作,即從FFFF0H處開(kāi)始執(zhí)行程序。,圖4.17,4.4.2 總線操作,80868088 CPU中各單元之間以及與外設(shè)的數(shù)據(jù)交換,都是通過(guò)總線來(lái)進(jìn)行的??偩€操作有兩種情況,即總線讀操作及總線寫(xiě)操作。總線讀操作指CPU從存儲(chǔ)器或外設(shè)端口讀取數(shù)據(jù)??偩€寫(xiě)操作指CPU把數(shù)據(jù)寫(xiě)入存
59、儲(chǔ)器或外設(shè)端口。 下面將講述80868088在最小工作模式下的總線讀及總線寫(xiě)操作。 1. 最小工作模式下的總線讀操作 80868088最小工作模式總線讀操作的時(shí)序如圖4.18(a)。,圖4.18,一個(gè)基本的讀操作周期包含4個(gè)狀態(tài),即T1,T2,T3和T4。在存儲(chǔ)器和外設(shè)速度較慢時(shí),要在T3之后插入一個(gè)或幾個(gè)等待狀態(tài)TW。 (1) T1狀態(tài): 為了從存儲(chǔ)器或IO端口讀出數(shù)據(jù),首先要用MIO信號(hào)指出CPU是要從內(nèi)存還是IO端口讀,所以,MIO信號(hào)在T1狀態(tài)成為有效(見(jiàn)圖4.18(a)中的)。如果是從存儲(chǔ)器讀數(shù)據(jù),則MIO為高;如果是從IO端口讀數(shù)據(jù),則MIO為低。MIO信號(hào)的有效電平一直保持到整個(gè)總線周期的結(jié)束即T4狀態(tài)。 此外,CPU要指出所讀取的存儲(chǔ)單元或IO端口的地址。8086的20位地址信號(hào)是通過(guò)多路復(fù)用總線輸出的,高4位地址通過(guò)地址狀態(tài)線A19/S6A16/S3,送出,低16位地址通過(guò)地址數(shù)據(jù)線AD15AD0送出。在T1狀態(tài)的開(kāi)始,20位地
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年黃埔海關(guān)國(guó)際旅行衛(wèi)生保健中心公開(kāi)招聘非占編聘用人員的備考題庫(kù)帶答案詳解
- 2026年衡陽(yáng)市第一人民醫(yī)院婦產(chǎn)科醫(yī)師招聘?jìng)淇碱}庫(kù)及1套參考答案詳解
- 2026年智鏈電磁材料(山東)有限公司招聘?jìng)淇碱}庫(kù)有答案詳解
- 2026年瀘州市部分企事業(yè)單位人才引進(jìn)88人備考題庫(kù)及參考答案詳解
- 2026年溫州市人民醫(yī)院(溫州市婦幼保健院)勞務(wù)派遣人員招聘?jìng)淇碱}庫(kù)(五)及一套參考答案詳解
- 養(yǎng)老院入住老人糾紛調(diào)解與處理制度
- 2026年首都醫(yī)學(xué)科學(xué)創(chuàng)新中心孫少聰實(shí)驗(yàn)室招聘生物備考題庫(kù)學(xué)分析科研助理及完整答案詳解一套
- 2026年黃石市消防救援支隊(duì)招聘政府專職消防員18人備考題庫(kù)及參考答案詳解
- 企業(yè)內(nèi)部保密協(xié)議簽訂制度
- 2025年檢疫機(jī)構(gòu)傳染病防控操作手冊(cè)
- 玻璃體積血的治療
- 腫瘤科護(hù)理組長(zhǎng)崗位競(jìng)爭(zhēng)
- 骨科質(zhì)控中心工作要求及??平ㄗh
- 縣域慢病管理中心建設(shè)項(xiàng)目
- 硫酸轉(zhuǎn)化10kta氯化銨生產(chǎn)硫酸銨中試裝置建設(shè)項(xiàng)目可行性研究報(bào)告
- 水平螺旋輸送機(jī)設(shè)計(jì)計(jì)算及參數(shù)表
- 2024版國(guó)開(kāi)電大法律事務(wù)??啤睹穹▽W(xué)2》期末考試總題庫(kù)
- 某排澇泵站工程初步設(shè)計(jì)報(bào)告
- 人教版六年級(jí)第一學(xué)期數(shù)學(xué)期末考試試題(含答案)
- 企業(yè)上市對(duì)人力資源管理的要求及目前人力資源部現(xiàn)狀分析
- 整流電路教案
評(píng)論
0/150
提交評(píng)論