微機原理與接口技術(shù)第5章_第1頁
微機原理與接口技術(shù)第5章_第2頁
微機原理與接口技術(shù)第5章_第3頁
微機原理與接口技術(shù)第5章_第4頁
微機原理與接口技術(shù)第5章_第5頁
已閱讀5頁,還剩163頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

01十二月2023第5章微處理器總線時序和系統(tǒng)總線5.1微處理器性能指標

5.2微處理器總線

5.38086微處理器的基本時序

5.4系統(tǒng)總線習(xí)題5

01十二月20235.1

微處理器性能指標

CPU(CentralProcessingUnit)即中央處理器,從雛形出現(xiàn)到發(fā)展壯大的今天,由于制造技術(shù)越來越先進,因此集成度越來越高,內(nèi)部的晶體管數(shù)已達到幾千萬個。雖然從最初的CPU發(fā)展到現(xiàn)在,其晶體管數(shù)增加了幾千倍,但是CPU的內(nèi)部結(jié)構(gòu)仍然可分為控制單元、邏輯單元和存儲單元三大部分。CPU的性能大致上反映了它所配置的微機的性能。CPU主要的性能指標有11項,下面分別介紹。01十二月2023

1.

字長

字長為處理器一次性加工運算二進制數(shù)的最大位數(shù)。字長是處理器性能指標的主要量度之一,它與計算機其他性能指標(如內(nèi)存最大容量、文件的最大長度、數(shù)據(jù)在計算機內(nèi)部的傳輸速度、計算機處理速度和精度等)有著十分密切的關(guān)系。字長是計算機系統(tǒng)體系結(jié)構(gòu)、操作系統(tǒng)結(jié)構(gòu)和應(yīng)用軟件設(shè)計的基礎(chǔ),也是決定計算機系統(tǒng)綜合性能的基礎(chǔ)。01十二月2023

2.

主頻

主頻也就是CPU的時鐘頻率,簡單地說就是CPU運算時的工作頻率。一般說來,主頻越高,一個時鐘周期里面完成的指令數(shù)也越多,當然CPU的速度也就越快。不過由于各種各樣的CPU的內(nèi)部結(jié)構(gòu)不盡相同,因此并非所有的時鐘頻率相同的CPU其性能都一樣。外頻是系統(tǒng)總線的工作頻率;倍頻則是指CPU外頻與主頻相差的倍數(shù)。三者有著十分密切的關(guān)系,即:主頻=外頻×倍頻。01十二月2023

3.

內(nèi)存總線速度與擴展總線

內(nèi)存總線速度(MemoryBusSpeed)一般等同于CPU的外頻。內(nèi)存總線的速度對整個系統(tǒng)性能來說很重要,由于內(nèi)存速度的發(fā)展滯后于CPU的發(fā)展速度,為了緩解內(nèi)存帶來的瓶頸,開發(fā)了二級(L2)緩存,來協(xié)調(diào)兩者之間的差異,內(nèi)存總線速度就是指CPU與二級高速緩存以及內(nèi)存之間的工作頻率。

擴展總線(ExpansionBus)指的是安裝在微機系統(tǒng)上的局部總線。如VESA或PCI總線,它們是CPU聯(lián)系外部設(shè)備的橋梁。01十二月2023

4.

工作電壓

工作電壓(SupplyVoltage)指的是CPU正常工作所需的電壓。早期CPU(286~486)的工作電壓為5

V,由于制造工藝相對落后,以致CPU發(fā)熱量大,壽命短。隨著CPU的制造工藝與主頻的提高,CPU的工作電壓逐步下降,到奔騰時代,電壓曾有過3.5V,后來又下降到3.3V,甚至降到了2.8V,Intel最新出品的Coppermine已經(jīng)采用1.6V的工作電壓了。

低電壓能解決耗電過大和發(fā)熱過高的問題,這對于筆記本電腦尤其重要。隨著CPU的制造工藝與主頻的提高,近年來各種CPU的工作電壓有逐步下降的趨勢。

01十二月2023

5.

地址總線寬度

地址總線寬度決定了CPU可以訪問存儲器的物理地址空間,簡單地說就是CPU到底能夠使用多大容量的內(nèi)存。地址線的寬度為20位的微機,最多可以直接訪問1MB的物理空間,但是對于386以上的微機系統(tǒng),地址線的寬度為32位,最多可以直接訪問4096MB(4GB)的物理空間。

6.

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

數(shù)據(jù)總線負責整個系統(tǒng)數(shù)據(jù)流量的大小,而數(shù)據(jù)總線寬度則決定了CPU與二級高速緩存、內(nèi)存以及輸入/輸出設(shè)備之間一次數(shù)據(jù)傳輸?shù)男畔⒘俊?1十二月2023

7.

協(xié)處理器

協(xié)處理器主要的功能就是負責浮點運算。在486以前的CPU里面,是沒有內(nèi)置協(xié)處理器的,主板上可以另外加一個外置協(xié)處理器,其目的就是增強浮點運算的功能。

486以后的CPU一般都內(nèi)置了協(xié)處理器,協(xié)處理器的功能也不再局限于增強浮點運算功能,含有內(nèi)置協(xié)處理器的CPU,可以加快特定類型的數(shù)值計算,某些需要進行復(fù)雜計算的軟件系統(tǒng)(如高版本的AutoCAD)就需要協(xié)處理器支持。01十二月2023

8.

流水線技術(shù)、超標量

流水線(PipeLine)是Intel首次在486芯片中開始使用的技術(shù)。流水線的工作方式就像工業(yè)生產(chǎn)上的裝配流水線。在CPU中由5~6個不同功能的電路單元組成一條指令處理流水線,然后將一條X86指令分成5~6步后再由這些電路單元分別執(zhí)行,這樣就能實現(xiàn)在一個CPU時鐘周期完成一條指令,因此提高了CPU的運算速度。

超流水線是指CPU內(nèi)部的流水線超過通常的5~6步以上,例如,PentiumPro的流水線就長達14步。將流水線的步(級)數(shù)設(shè)計得越多,其完成一條指令的速度就越快,因此才能適應(yīng)工作主頻更高的CPU。01十二月2023

超標量是指在一個時鐘周期內(nèi)CPU可以執(zhí)行一條以上的指令。只有Pentium級以上的CPU才具有這種超標量結(jié)構(gòu),這是因為現(xiàn)代的CPU越來越多地采用了RISC技術(shù)。486以下的CPU屬于低標量結(jié)構(gòu),即在這類CPU內(nèi)執(zhí)行一條指令至少需要一個或一個以上的時鐘周期。01十二月2023

9.

高速緩存高速緩存(Cache)分內(nèi)置和外置兩種,用來解決CPU與內(nèi)存之間傳輸速度的匹配。

內(nèi)置的高速緩存的容量和結(jié)構(gòu)對CPU的性能影響較大,容量越大,性能也就相對提高。不過高速緩沖存儲器均由靜態(tài)RAM組成,結(jié)構(gòu)較復(fù)雜,在CPU管芯面積不能太大的情況下,高速緩存的容量不可能做得太大。采用回寫(WriteBack)結(jié)構(gòu)的高速緩存,它對讀和寫操作均有效,速度較快。而采用寫通(WriteThrough)結(jié)構(gòu)的高速緩存,僅對讀操作有效。在486以上的計算機中基本采用了回寫式高速緩存。01十二月2023

10.

動態(tài)處理

動態(tài)處理是應(yīng)用在高性能奔騰處理器中的新技術(shù),創(chuàng)造性地把三項專為提高處理器對數(shù)據(jù)的操作效率而設(shè)計的技術(shù)融合在一起。這三項技術(shù)是多路分流預(yù)測、數(shù)據(jù)流量分析和猜測執(zhí)行。動態(tài)處理并不是簡單執(zhí)行一串指令,而是通過操作數(shù)據(jù)來提高處理器的工作效率。01十二月2023

1)

多路分流預(yù)測多路分流預(yù)測通過幾個分支對程序流向進行預(yù)測。采用多路分流預(yù)測算法后,處理器便可參與指令流向的跳轉(zhuǎn)。它預(yù)測下一條指令在內(nèi)存中位置的準確度可以高達90%以上。這是因為處理器在取指令時,還會在程序中尋找未來要執(zhí)行的指令。這個技術(shù)可加速向處理器傳送任務(wù)。01十二月2023

2)

數(shù)據(jù)流量分析

數(shù)據(jù)流量分析拋開原程序的順序,分析并重排指令,優(yōu)化執(zhí)行順序。處理器讀取經(jīng)過解碼的軟件指令,判斷該指令能否處理或是否需與其他指令一并處理。然后,處理器再決定如何優(yōu)化執(zhí)行順序以便高效地處理和執(zhí)行指令。01十二月2023

3)

猜測執(zhí)行

猜測執(zhí)行提前判斷并執(zhí)行有可能需要的程序指令,從而提高執(zhí)行速度。當處理器執(zhí)行指令時(每次五條),采用的是“猜測執(zhí)行”的方法。這樣可使PentiumⅡ處理器超級處理能力得到充分的發(fā)揮,從而提升軟件性能。被處理的軟件指令是建立在猜測分支基礎(chǔ)之上的,因此結(jié)果也就作為“預(yù)測結(jié)果”保留起來。一旦其最終狀態(tài)能被確定,指令便可返回到其正常順序并保持永久的機器狀態(tài)。01十二月2023

11.

制造工藝

PentiumCPU的制造工藝是0.35μm,PentiumⅡCPU可以達到0.25μm

,最新的CPU制造工藝可以達到0.18μm

,并且將采用銅配線技術(shù),可以極大地提高CPU的集成度和工作頻率。

Intel的幾種微處理器關(guān)鍵特性的比較如表5-1所示。01十二月2023表5-1Intel微處理器關(guān)鍵特性比較Intel處理器引入日期最大時鐘頻率晶體管數(shù)目寄存器尺寸外部數(shù)據(jù)總線尺寸最大外部地址空間Cache808619788MHz29K16GP161?MB

80286198216MHz134K16GP1616?MB

80386DX198540MHz275K32GP324?GB

80486DX1989100MHz1.2M32GP80FPU324?GBL1:8KBPentium1993166MHz3.1M32GP80FPU644?GBL1:16KBPentiumPro1995266MHz5.5M32GP80FPU6464?GBL1:16KBL2:256KBPentiumⅡ1997400MHz7M32GP80FPU64MMX6464?GBL1:32KBL2:256KBPentiumⅢ1999887MHz8.2M32GP80FPU64MMX128MMX6464?GBL1:32KBL2:512KB01十二月20235.2

微處理器總線5.2.1Intel8086微處理器的引腳功能

8086微處理器是Intel公司的第三代微處理器,它的字長是16位的,采用40條引腳的DIP(雙列直插)封裝。時鐘頻率有三種:5MHz(8086)、8MHz(8086-1)和10MHz(8086-2)。01十二月2023圖5.18086引腳8086的引腳如圖3.1所示。引腳信號定義見表5-2。8086的40條引腳信號按功能可分為四部分——地址總線、數(shù)據(jù)總線、控制總線以及其他(時鐘與電源)。01十二月2023

1.

地址總線和數(shù)據(jù)總線

(1)

數(shù)據(jù)總線用來在CPU與內(nèi)存儲器(或I/O設(shè)備)之間交換信息,為雙向、三態(tài)信號。地址總線由CPU發(fā)出,用來確定CPU要訪問的內(nèi)存單元(或I/O端口)的地址信號,為輸出、三態(tài)信號。

(2)AD15~AD0為地址/數(shù)據(jù)總線。這16條信號線是分時復(fù)用的雙重總線,在每個總線周期(T1)開始時,用作地址總線的16位(AD15~AD0)給出內(nèi)存單元(或I/O端口)的地址;其他時間為數(shù)據(jù)總線,用于數(shù)據(jù)傳輸。01十二月2023

(3)A19~A16/S6~S3為地址/狀態(tài)總線。這4條信號線也是分時復(fù)用的雙重總線,在每個總線周期(T1)開始時,用作地址總線的高4位(A19~A16),在存儲器操作中為高4位地址,在I/O操作中,這4位置“0”(低電平)。在總線周期的其余時間,這4條信號線指示CPU的狀態(tài)信息。在4位狀態(tài)信息中,S6恒為低電平;S5反映標志寄存器中中斷允許寄存器IF的當前值;S4、S3表示正在使用哪個段寄存器,其編碼見表5-3。01十二月2023表5-28086引腳信號定義名稱功能引腳號類型公用信號AD15~AD0地址/數(shù)據(jù)總線2~16,39雙向、三態(tài)A19/S6~A16/S3地址/狀態(tài)總線35~38輸出、三態(tài)/S7總線高允許/狀態(tài)34輸出、三態(tài)MN/最小/最大方式控制33輸入讀控制32輸出、三態(tài)等待測試控制23輸入READY等待狀態(tài)控制22輸入RESET系統(tǒng)復(fù)位21輸入NMI不可屏蔽中斷請求17輸入INTR可屏蔽中斷請求18輸入CLK系統(tǒng)時鐘19輸入VCC+5V電源40輸入GND接地1,20

01十二月2023表5-28086引腳信號定義最小方式信號(MN/=MX=VCC)HOLD保持請求31輸入HLDA保持響應(yīng)30輸出寫控制29輸出、三態(tài)M/IO存儲器/IO控制28輸出、三態(tài)DT/R數(shù)據(jù)發(fā)送/接收27輸出、三態(tài)數(shù)據(jù)允許26輸出、三態(tài)ALE地址鎖存允許25輸出中斷響應(yīng)24輸出01十二月2023表5-28086引腳信號定義最大方式信號(=GND)請求/允許總線訪問控制30,31雙向總線優(yōu)先權(quán)鎖定控制29輸出、三態(tài)總線周期狀態(tài)26~28輸出、三態(tài)QSl、QS0指令隊列狀態(tài)24,25輸出01十二月2023表5-3S4、S3的編碼表S4S3特性(所使用的段寄存器)00ES01SS10CS(或者不是寄存器操作)11DS01十二月2023

(4)8086的20條地址線訪問存儲器時可尋址1MB的內(nèi)存單元;訪問外部設(shè)備時,只用16條地址A15~A0,可尋址64K個I/O端口。

(5)BHE/S7為總線高允許/狀態(tài)S7信號(輸出三態(tài))。這也是分時復(fù)用的雙重總線,在總線周期開始的T1周期,作為16位總線高字節(jié)部分允許信號,低電平有效。當為低電平時,把讀/寫的8位數(shù)據(jù)與AD15~AD8連通。該信號與A0(地址信號最低位)結(jié)合以決定數(shù)據(jù)字是高字節(jié)工作還是低字節(jié)工作。在總線周期的其他T周期,該引腳輸出狀態(tài)信號S7。在DMA方式下,該引腳為高阻態(tài)。01十二月20238086的控制總線中有一條是MN/MX(33#引腳)線,即最小/最大方式控制線,用來控制8086的工作方式。當MN/MX接+5V時,8086處于最小方式,由8086提供系統(tǒng)所需的全部控制信號,構(gòu)成一個小型的單處理機系統(tǒng)。當MN/MX接地時,8086處于最大方式,系統(tǒng)的總線控制信號由專用的總線控制器8288提供,8086把指示當前操作的狀態(tài)信號(S2、S1、S0)送給8288,8288據(jù)此產(chǎn)生相應(yīng)的系統(tǒng)控制信號。最大方式用于多處理機和協(xié)處理機結(jié)構(gòu)中。2.

控制總線

控制總線是傳送控制信號的一組信號線,有些是輸出線,用來傳輸CPU送到其他部件的控制命令(如讀、寫命令,中斷響應(yīng)等);有的是輸入線,由外部向CPU輸入控制及請求信號(復(fù)位、中斷請求等)。01十二月2023

(1)S2、S1、S0——總線周期狀態(tài)信號(三態(tài)、輸出)。它們表示8086外部總線周期的操作類型,送到系統(tǒng)中的總線控制器為8288。8288根據(jù)這三個狀態(tài)信號,產(chǎn)生存儲器讀/寫命令、I/O端口讀/寫命令以及中斷響應(yīng)信號,S2、S1、S0的譯碼表如表5-4所示。

在8086的控制總線中,有一部分總線的功能與工作方式無關(guān),而另一部分總線的功能隨工作方式不同而不同(即一條信號線有兩種功能),現(xiàn)分別敘述。1)

受MN/MX影響的信號線(最大方式信號)01十二月2023表5-4S2、S1、S0譯碼表操作類型(CPU周期)000中斷響應(yīng)001讀I/O端口010寫I/O端口011暫停100取指101讀存儲器(數(shù)據(jù))110寫存儲器111無效(無總線周期)01十二月2023

在總線周期的T4期間,S2、S1、S0的任何變化,都指示一個總線周期的開始,而在T3期間(或Tw等待周期期間)返回無效狀態(tài),表示一個總線周期的結(jié)束。在DMA(直接存儲器存取)方式下,S2、S1、S0處于高阻狀態(tài)。

在最小方式下,

S2、S1、S0三引腳分別為M/IO、DT/R和DEN。M/IO是存儲器與輸入/輸出端口的控制信號(輸出、三態(tài)),用于區(qū)分CPU是訪問存儲器(M/IO=1),還是訪問I/O端口(M/IO=0)。DT/R為數(shù)據(jù)發(fā)送/接收信號(輸出、三態(tài)),用于指示CPU是進行寫操作(DT/R=1)還是讀操作(DT/R=0)。DEN為數(shù)據(jù)允許信號(輸出、三態(tài)),在CPU訪問存儲器或I/O端口的總線周期的后一段時間內(nèi),該信號有效,用作系統(tǒng)中總線收發(fā)器的允許控制信號。01十二月2023

(2)RQ/GT0、RQ/GT1——請求/允許總線訪問控制信號(雙向)。這兩種信號線是為多處理機應(yīng)用而設(shè)計的,用于對總線控制權(quán)的請求和應(yīng)答,其特點是請求和允許功能由一根信號線來實現(xiàn)。

總線訪問的請求/允許時序分為三個階段,即請求、允許和釋放。首先是協(xié)處理器向8086輸出RQ請求使用總線,然后在CPU(8086)的T4或下一個總線周期的T1時期,CPU輸出一個寬度為一個時鐘周期的脈沖信號GT給請求總線的協(xié)處理器,作為總線響應(yīng)信號,從下一個時鐘周期開始,CPU釋放總線。當協(xié)處理器使用總線結(jié)束時,再給出一個寬度為一個時鐘周期的脈沖信號RQ給CPU,表示總線使用結(jié)束,從下一個時鐘周期開始,CPU又控制總線。01十二月2023

兩條控制線可以同時接兩個協(xié)處理器,規(guī)定RQ/GT0的優(yōu)先級高。在最小方式下,RQ/GT0和RQ/GT0二引腳分別為HOLD和HLDA。

HOLD為保持請求信號(輸入),當外部邏輯把HOLD引腳置為高電平時,8086在完成當前總線周期以后進入HOLD(保持)狀態(tài),讓出總線控制權(quán)。

HLDA為保持響應(yīng)信號(輸出),這是CPU對HOLD信號的響應(yīng)信號,它對HOLD信號作出響應(yīng),使HLDA輸出高電平。當HLDA信號有效時,8086的三態(tài)信號線全部處于高阻態(tài)(即三態(tài)),使外部邏輯可以控制總線。01十二月2023

(3)QS1、QS0——指令隊列狀態(tài)信號(輸出)。用于指示8086內(nèi)部BIU中指令隊列的狀態(tài),以便讓外部協(xié)處理器進行跟蹤。QS1、QS0的編碼狀態(tài)如表5-5所示。表5-5QS1、QS0的編碼表QS1QS0指令隊列操作狀態(tài)00空操作,在最后一個時鐘周期內(nèi),從隊列中不取任何代碼01第一個字節(jié),從隊列中取出的字節(jié)是指令的第一個字節(jié)10隊列空,由于執(zhí)行傳送指令,隊列已重新初始化11后續(xù)字節(jié),從隊列中取出的字節(jié)是指令的后續(xù)字節(jié)01十二月2023

ALE為地址鎖存允許信號(輸出),這是8086CPU在總線周期的第一個時鐘周期內(nèi)發(fā)出的正脈沖信號,其下降沿用來把地址/數(shù)據(jù)總線(AD15~AD0)以及地址/狀態(tài)總線(A19~A16/S6~S3)中的地址信息鎖住并存入地址鎖存器中。

在最小方式下,QS1、QS0二引腳分別為INTA和ALE。

INTA為中斷響應(yīng)信號(輸出、三態(tài)),當8086CPU響應(yīng)來自INTR引腳的可屏蔽中斷請求時,在中斷響應(yīng)周期內(nèi),INTA變?yōu)榈碗娖健?1十二月2023

(4)LOCK——總線優(yōu)先權(quán)鎖定信號(輸出、三態(tài))。該信號用來封鎖外部處理器的總線請求,當輸出低電平時,外部處理器不能控制總線,LOCK信號是否有效,由指令在程序中設(shè)置。若一條指令加上前綴指令LOCK,則8086在執(zhí)行該指令期間,LOCK線輸出低電平并保持到指令執(zhí)行結(jié)束,以防止在這條指令在執(zhí)行過程中被外部處理器的總線請求所打斷。在保持響應(yīng)期間,LOCK線為高阻態(tài)。

在最小方式下,LOCK引腳為WR信號。WR為寫控制信號(輸出,三態(tài)),當8086CPU對存儲器或I/O端口進行寫操作時,WR為低電平。01十二月2023

(1)RD——讀控制信號(三態(tài)、輸出)。RD信號為低電平時,表示8086CPU執(zhí)行讀操作。在DMA方式時RD處于高阻態(tài)。

(2)READY——等待狀態(tài)控制信號,又稱準備就緒信號(輸入)。當被訪問的部件無法在8086CPU規(guī)定的時間內(nèi)完成數(shù)據(jù)傳送時,應(yīng)由該部件向8086CPU發(fā)出READY=0(低電平),使8086CPU處于等待狀態(tài),插入一個或幾個等待周期T,當被訪問的部件完成數(shù)據(jù)傳輸時,被訪問的部件將使READY=1(高電平),8086CPU繼續(xù)運行。2)不受MN/MX影響的控制總線(公共總線)下面這些控制信號是不受工作方式影響的公共總線。01十二月2023

(3)INTR——中斷請求信號(輸入)。該引腳提供可屏蔽中斷請求信號,為電平觸發(fā)信號。在每條指令的最后一個時鐘周期,8086CPU將采樣該引腳信號,若INTR為高電平,同時8086

CPU的IF(中斷允許標志)為“1”,則8086CPU將執(zhí)行中斷響應(yīng),并且把控制轉(zhuǎn)移到相應(yīng)的中斷服務(wù)程序。如果IF=“0”,則8086不響應(yīng)該中斷請求,繼續(xù)執(zhí)行下一條指令。INTR信號可由軟件將CPU內(nèi)部的IF復(fù)位而加以屏蔽。

(4)NMI——不可屏蔽中斷請求信號(輸入)。上升沿觸發(fā)信號,不能用軟件加以屏蔽。當NMI從低電平變?yōu)楦唠娖綍r,該信號有效,8086CPU在完成當前指令后,把控制轉(zhuǎn)移到不可屏蔽中斷服務(wù)程序。01十二月2023

(5)TEST——等待測試控制信號(輸入)。在WAIT(等待)指令期間,8086CPU每隔5個時鐘周期對TEST引腳采樣。若TEST為高電平,則8086CPU循環(huán)于等待狀態(tài),若TEST為低電平,則8086CPU脫離等待狀態(tài),繼續(xù)執(zhí)行后續(xù)指令。

*

(6)RESET——復(fù)位信號(輸入)。當RESET為高電平時,系統(tǒng)處于復(fù)位狀態(tài),8086CPU停止正在運行的操作,把內(nèi)部的標志寄存器FR、段寄存器、指令指針I(yè)P以及指令隊列復(fù)位到初始化狀態(tài)。注意,代碼段寄存器CS的初始化狀態(tài)為FFFFH。01十二月2023

3.

其他信號

(1)CLK——時鐘信號(輸入)。該信號為8086CPU提供基本的定時脈沖,其占空比為1∶3(高電平持續(xù)時間:重復(fù)周期=1∶3),以提供最佳的內(nèi)部定時。

(2)VCC——電源(輸入)。要求接上正電壓(+5V±10%)。

(3)GND——地線。兩條接地線。01十二月2023

4.8088引腳與8086引腳的不同之處

8088微處理器是一種準16位處理器,其內(nèi)部結(jié)構(gòu)基本上與8086相同,且有著相同的內(nèi)部寄存器和指令系統(tǒng),在軟件上是完全兼容的。其引腳信號也與8086基本相同,只是如下引腳的功能有所不同。8088的引腳安排如圖5.2所示。

(1)8086

CPU的指令預(yù)取隊列為6個字節(jié),而8088CPU只有4個字節(jié)。

(2)8086CPU的AD15~AD0為地址/數(shù)據(jù)雙向分時復(fù)用的,而8088CPU只有AD7~AD0,為地址、數(shù)據(jù)雙向分時復(fù)用的,A15~A8僅用于輸出地址信號。在16位數(shù)據(jù)操作時,8086只需一個總線周期就可完成,8088則需要兩個總線周期來完成,因此8088的速度較8086要慢些。01十二月2023圖5.28088引腳01十二月2023

(3)8086的引腳28為M/IO,即CPU訪問內(nèi)存時該引腳輸出高電平,訪問接口時則輸出低電平。對于8088而言,該引腳的狀態(tài)正好相反,變?yōu)镮O/M。(4)8088中無BHE/S7信號,該引腳為SS0狀態(tài)信號線。該引腳在最大方式下保持高電平,在最小方式下等效于最大方式下S0的作用,SS0與IO/M、DT/R組合以確定當前的總線周期,IO/M、DT/R與SS0的編碼如表5-6所示。01十二月2023表5-6IO/M、DT/R、SS0編碼表IO/DT/SS0總線操作100中斷響應(yīng)101讀I/O端口110寫I/O端口111暫停000取指001讀存儲器010寫存儲器011無效01十二月20235.2.28086微處理器的系統(tǒng)配置

8086微處理器有兩種工作方式,下面討論在這兩種工作方式下系統(tǒng)的基本配置。

1.

最小方式下的系統(tǒng)配置

當8086CPU的MN/MX引腳接+5V電源時,8086CPU工作于最小方式,用于構(gòu)成小型的單處理機系統(tǒng),圖5.3為最小方式下8086系統(tǒng)配置圖。在圖5.3所示的8086系統(tǒng)中,除8086CPU、存儲器和I/O接口電路外,還有三部分支持系統(tǒng)工作的器件——時鐘發(fā)生器、地址鎖存器和數(shù)據(jù)收發(fā)器。01十二月2023圖5.3

最小方式下8086系統(tǒng)配置5401十二月20231)

時鐘發(fā)生器8284A

8284A是用于8086(或8088)系統(tǒng)的時鐘發(fā)生器/驅(qū)動器芯片,它為8086(或8088)以及其他外設(shè)芯片提供所需要的時鐘信號。8284A的結(jié)構(gòu)框圖及引腳圖如圖5.4所示。由圖可見,8284A由三部分電路組成。01十二月2023圖5.48284A的結(jié)構(gòu)框圖與引腳14.31818MHz4.77MHz2.3805MHz01十二月2023

(1)

時鐘信號發(fā)生器電路提供系統(tǒng)所需要的時鐘信號,有兩個來源:一個是在x1與x2引腳之間接上晶體,由晶體振蕩器產(chǎn)生時鐘信號;另一個是由EFI引腳加入的外接振蕩信號產(chǎn)生時鐘信號,兩者由F/C端信號控制。F/C=0時,表示由外接振蕩器產(chǎn)生。

如果晶體振蕩器的工作頻率為14.31818MHz,則該時鐘脈沖(OSC)經(jīng)3分頻后得到4.77MHz的時鐘脈沖CLK,即微處理器(如8086)所需的時鐘信號(占空比為1∶3)。CLK再經(jīng)2分頻后產(chǎn)生外設(shè)時鐘PCLK,其頻率為2.3805MHz(占空比為1∶2)。01十二月2023

(2)

復(fù)位生成電路是由一個施密特觸發(fā)器和一個同步觸發(fā)器組成,輸入信號RES在時鐘脈沖下降沿加入D門(同步觸發(fā)器)的D端,由CLK(8086的時鐘信號)同步產(chǎn)生RESET信號(高電平有效)。在PC/XT機中,RES由電源來的PWRGOOD信號經(jīng)8284延時和同步后產(chǎn)生系統(tǒng)復(fù)位信號,使系統(tǒng)初始化。01十二月2023

(3)

就緒控制電路有兩組輸入信號,每一組都有允許信號AEN和設(shè)備就緒信號RDY。AEN是低電平有效信號,用以控制其對應(yīng)的RDY信號是否有效,RDY信號為高電平時,表示已經(jīng)能正確地完成數(shù)據(jù)傳輸。ASYNC輸入端規(guī)定了就緒信號同步操作的兩種方法,當ASYNC為低電平時,對有效的RDY信號提供兩級同步,RDY信號變?yōu)楦唠娖胶?,首先在CLK的上升沿上同步到觸發(fā)器1,然后在CLK的下降沿上同步到觸發(fā)器2,使READY成為有效(高電平)。RDY信號變?yōu)榈碗娖綍r,將直接在CLK下降沿上同步到觸發(fā)器2,使READY輸出信號無效(低電平)。如果ASYNC為高電平,則RDY輸入信號直接與觸發(fā)器2同步在CLK下降沿上,這種工作方式用于能保證滿足RDY建立時間要求的同步設(shè)備中。01十二月20232)

總線鎖存器

系統(tǒng)配置圖中的三片總線鎖存器芯片用來鎖存地址/數(shù)據(jù)總線AD15~AD0中的地址信息、地址/狀態(tài)總線A19/S6~A16/S3中的地址信息以及BHE/S7中的BHE信息。因為這21位信息僅在總線周期的第一個時鐘周期T1出現(xiàn),所以必須將這些信息在整個總線周期期間保存起來,每片總線鎖存器芯片鎖存8位信息。常用的總線鎖存器芯片有74LS373、74LS273、Intel8282和8283等。

ALE接地

總線收發(fā)器

另外兩片總線收發(fā)器芯片用來對AD15~AD0中的數(shù)據(jù)信息進行緩沖和驅(qū)動,并控制數(shù)據(jù)發(fā)送和接收的方向。注意,該芯片必須在8086總線周期的第二個時鐘周期T2開始工作,因為T1周期時AD15~AD0上輸出的是地址信息。常用的總線收發(fā)器芯片有:74LS245、Intel8286和8287等。01十二月2023DENDT/R01十二月202301十二月2023

3)

需要說明的問題

在最小方式下,8086CPU直接產(chǎn)生全部總線控制信號(DT/R、DEN、ALE、M/IO)和命令輸出信號(RD、WR或INTA),并提供請求訪問總線的邏輯信號HLDA。當總線主設(shè)備(例如,DMA控制器Intel8257或8237)請求控制權(quán)時,通過HOLD請求邏輯使輸入到8086CPU的HOLD信號變?yōu)橛行?高電平)。

如果8086CPU響應(yīng)HOLD請求,則8086CPU輸出信號HLDA變?yōu)橛行?高電平),以此作為對總線主設(shè)備請求的回答。同時使8086CPU的地址總線、數(shù)據(jù)總線、BHE信號以及有關(guān)的總線控制信號和命令輸出信號處于高阻狀態(tài)。此外,地址鎖存器和數(shù)據(jù)收發(fā)器的輸出也處于高阻狀態(tài)。這樣,8086CPU不再控制總線,一直保持到HOLD信號變?yōu)闊o效(低電平),8086CPU重新獲得總線控制權(quán)。01十二月202301十二月202301十二月2023

2.

最大方式下的系統(tǒng)配置

當8086CPU的MN/MX引腳接地時,8086CPU工作于最大方式,用于構(gòu)成多處理機和協(xié)處理機系統(tǒng),圖5.5為最大方式下8086系統(tǒng)配置圖。同最小方式下8086系統(tǒng)配置圖相比較,最大方式系統(tǒng)增加了一片專用的總線控制器芯片8288。01十二月2023

1)

總線控制器8288

8288總線控制器是8086工作在最大方式下構(gòu)成系統(tǒng)時必不可少的支持芯片,它根據(jù)8086在執(zhí)行指令時提供的總線周期狀態(tài)信號S2、S1和S0建立控制時序,輸出讀/寫控制命令,可以提供靈活多變的系統(tǒng)配置,以實現(xiàn)最佳的系統(tǒng)性能。8288的結(jié)構(gòu)框圖和引腳信號如圖5.6所示。01十二月2023圖5.68288結(jié)構(gòu)框圖與引腳01十二月2023

(1)

狀態(tài)譯碼和命令輸出。8288根據(jù)8086的總線狀態(tài)信號S2、S1和S0確定8086執(zhí)行何種總線周期,發(fā)出相應(yīng)的命令信號去控制系統(tǒng)中的相關(guān)部件??偩€周期的狀態(tài)信號與輸出命令的關(guān)系見表5-7。01十二月2023表5-78288的命令輸出8086的總線周期8288的輸出命令000中斷響應(yīng)001讀I/O端口010寫I/O端口011暫停100取指101讀存儲器(數(shù)據(jù))110寫存儲器111無效(無總線周期)//

如果希望在一個系統(tǒng)中包含多個共享總線的處理器,即多處理器系統(tǒng),就必須對總線進行仲裁,以保證優(yōu)先級別高的處理器優(yōu)先使用總線,這就需要一種協(xié)調(diào)各處理器使用共享總線的方法??偩€仲裁器8289和總線控制器8288一起,為8086系統(tǒng)提供這種控制。首先,在多處理器系統(tǒng)中,每個處理器(通常指主控者)必須配備一個8288總線控制器和一個8289總線仲裁器。在總線上的每個處理器,都分配有不同的優(yōu)先權(quán)。當總線請求同時到來時,8289就解決爭用問題,經(jīng)過仲裁把總線使用權(quán)轉(zhuǎn)讓給具有較高優(yōu)先級的處理器。在解決總線爭用的問題上,8289采用3種不同的優(yōu)先權(quán)處理技術(shù):并行優(yōu)先權(quán)裁決方式、串行優(yōu)先權(quán)裁決方式和循環(huán)優(yōu)先權(quán)裁決方式(更詳細的內(nèi)容可查詢8289總線仲裁器手冊)。8289對多處理器系統(tǒng)中每個處理器而言是透明的,每個處理器好像自己獨占了總線一樣。01十二月202301十二月202301十二月2023圖5.5

最大方式下8086系統(tǒng)配置01十二月202301十二月202301十二月20235.3

8086微處理器的基本時序

1.

時序的基本概念計算機的工作是在時鐘脈沖CLK的統(tǒng)一控制下,一個節(jié)拍一個節(jié)拍地實現(xiàn)的。CPU執(zhí)行某一個程序之前,先要把程序(已變?yōu)榭蓤?zhí)行的目標程序)放到存儲器的某個區(qū)域。在啟動執(zhí)行后,CPU就發(fā)出讀指令的命令,存儲器接到這個命令后,從指定的地址(在8086中由代碼段寄存器CS和指令指針I(yè)P給定)讀出指令,把它送至CPU的指令寄存器中,然后CPU對讀出的指令經(jīng)過譯碼器分析之后,發(fā)出一系列控制信號,以執(zhí)行指令規(guī)定的全部操作,控制各種信息在系統(tǒng)各部件之間傳送。

每條指令的執(zhí)行由取指令、譯碼和執(zhí)行等操作組成,執(zhí)行一條指令所需要的時間稱為指令周期(InstructionCycle),不同指令的指令周期是不等長的。01十二月2023

執(zhí)行指令的一系列操作都是在時鐘脈沖CLK的統(tǒng)一控制下一步一步進行的,時鐘脈沖的重復(fù)周期稱為時鐘周期(ClockCycle)。時鐘周期是CPU的時間基準,由計算機的主頻決定。例如,8086的主頻為5MHz,則1個時鐘為200ns。

8086CPU與外部交換信息總是通過總線進行的。CPU的每一個這種信息輸入、輸出過程需要的時間稱為總線周期(BusCycle),每當CPU要從存儲器或輸入/輸出端口存取一個字節(jié)或字時,就需要一個總線周期。一個指令周期由一個或若干個總線周期組成。01十二月2023

8086CPU的總線周期至少由4個時鐘周期組成,分別以T1、T2、T3和T4表示,如圖5.8所示,T又稱為狀態(tài)(State)。

一個總線周期完成一次數(shù)據(jù)傳輸,至少要有傳送地址和傳送數(shù)據(jù)兩個過程。在第一個時鐘周期T1期間,由CPU輸出地址,在隨后的三個T周期(T2、T3和T4)用以傳送數(shù)據(jù)。換言之,數(shù)據(jù)傳送必須在T2~T4這三個周期內(nèi)完成,否則在T4周期后,總線將作另一次操作,開始下一個總線周期。圖5.88086CPU的總線周期01十二月2023

在實際應(yīng)用中,當一些慢速設(shè)備在三個T周期內(nèi)無法完成數(shù)據(jù)讀/寫時,那么在T4后總線就不能被它們所用,會造成系統(tǒng)讀/寫出錯。為此,在總線周期中允許插入等待周期Tw。當被選中進行數(shù)據(jù)讀/寫的存儲器或外設(shè)無法在三個T周期內(nèi)完成數(shù)據(jù)讀/寫時,就由其發(fā)出一個請求延長總線周期的信號到8086CPU的READY引腳,8086CPU收到該請求后,就在T3與T4之間插入一個等待周期Tw,加入Tw

的個數(shù)與外部請求信號的持續(xù)時間長短有關(guān),延長的時間Tw

也以時鐘周期T為單位,在Tw期間,總線上的狀態(tài)一直保持不變。01十二月2023

如果在一個總線周期后不立即執(zhí)行下一個總線周期,即總線上無數(shù)據(jù)傳輸操作,系統(tǒng)總線處于空閑狀態(tài),這時執(zhí)行空閑周期Ti,Ti也以時鐘周期T為單位,兩個總線周期之間插入幾個Ti與8086CPU執(zhí)行的指令有關(guān)。例如,在執(zhí)行一條乘法指令時,需用124個時鐘周期,而其中可能使用總線的時間極少,而且預(yù)取隊列的填充也不用太多的時間,則加入的Ti可能達到100多個。

在空閑周期期間,20條雙重總線的高4位A19/S6~A16/S3上,8086CPU仍驅(qū)動前一個總線周期的狀態(tài)信息,而且如果前一個總線周期為寫周期,CPU會在總線的低16位AD15~AD0上繼續(xù)驅(qū)動數(shù)據(jù)信息D15~D0;如果前一個總線周期為讀周期,則在空閑周期中,總線的低16位D15~D0處于高阻狀態(tài)。01十二月2023

2.

基本時序的分析

8086CPU的操作是在指令譯碼器輸出的電位和外面輸入的時鐘信號聯(lián)合作用而產(chǎn)生的各個命令控制下進行的,可分為內(nèi)操作與外操作兩種:

內(nèi)操作控制ALU(算術(shù)邏輯單元)進行算術(shù)運算,控制寄存器組進行寄存器選擇以及判斷是送往數(shù)據(jù)線還是地址線,進行讀操作還是寫操作等,所有這些操作都在CPU內(nèi)部進行,用戶可以不必關(guān)心。

CPU的外部操作是系統(tǒng)對CPU的控制或是CPU對系統(tǒng)的控制,用戶必須了解這些控制信號以便正確使用。01十二月2023

8086CPU的外部操作主要有如下幾種:①存儲器讀/寫;②I/O端口讀/寫;③中斷響應(yīng);④總線保持(最小方式);⑤總線請求/允許(最大方式);⑥

復(fù)位和啟動;⑦

暫停。

1)

總線讀操作

當8086CPU進行存儲器或I/O端口讀操作時,總線進入讀周期,8086的讀周期時序如圖5.9所示?;镜淖x周期由4個T周期組成:T1、T2、T3和T4。當所選中的存儲器和外設(shè)的存取速度較慢時,則在T3和T4之間將插入一個或幾個等待周期Tw。01十二月2023圖5.98086讀周期時序①②③④⑤⑥⑦⑧01十二月2023

(1)M/IO在整個讀周期保持有效,當進行存儲器讀操作時,M/IO為高電平;當進行I/O端口讀操作時,M/IO為低電平。(3)BHE/S7在T1期間輸出BHE有效信號(BHE為低電平),表示高8位數(shù)據(jù)總線上的信息可以使用,BHE信號通常作為奇地址存儲體的選擇信號(偶地址存儲體的選擇信號是最低地址位A0)。T2~T4期間輸出高電平。(2)

A19/S6~A16/S3是在T1期間,輸出CPU要讀取的存儲單元的地址高4位。T2~T4期間輸出狀態(tài)信息S6~S3。在8086讀周期內(nèi),有關(guān)總線信號的變化如下:

01十二月2023

(4)ADl5~AD0在T1期間輸出CPU要讀取的存儲單元或I/O端口的地址A15~A0。T2期間為高阻態(tài),T3~T4期間,存儲單元或I/O端口將數(shù)據(jù)送上數(shù)據(jù)總線。CPU從ADl5~AD0上接收數(shù)據(jù)。

(6)RD在T2期間輸出低電平,送到被選中的存儲器或I/O接口。要注意的是,只有被地址信號選中的存儲單元或I/O端口,才會被RD信號從中讀出數(shù)據(jù)(數(shù)據(jù)送上數(shù)據(jù)總線ADl5~AD0)。(5)ALE:在T1期間地址鎖存有效信號,為一正脈沖,系統(tǒng)中的地址鎖存器正是利用該脈沖的下降沿來鎖存A19/S6~A16/S3,ADl5~AD0中的20位地址信息以及BHE。

01十二月2023

(7)DT/R在整個總線周期內(nèi)保持低電平,表示本總線周期為讀周期。在接有數(shù)據(jù)總線收發(fā)器的系統(tǒng)中,用來控制數(shù)據(jù)傳輸?shù)姆较颉?/p>

(8)DEN在T2~T3期間輸出有效低電平,表示數(shù)據(jù)有效。在接有數(shù)據(jù)總線收發(fā)器的系統(tǒng)中,用來實現(xiàn)數(shù)據(jù)的選通。01十二月2023插入等待周期RDY01十二月20232)

總線寫操作圖5.108086寫周期時序①②③01十二月2023

總線寫操作的時序與讀操作時序相似,其不同處在于:

(1)ADl5~AD0在T2~T4期間送上欲輸出的數(shù)據(jù),而無高阻態(tài)。

(3)DT/R在整個總線周期內(nèi)保持高電平,表示本總線周期為寫周期。在接有數(shù)據(jù)總線收發(fā)器的系統(tǒng)中,用來控制數(shù)據(jù)傳輸方向。(2)WR在T2~T4期間輸出有效低電平,該信號送到所有的存儲器和I/O接口。要注意的是,只有被地址信號選中的存儲單元或I/O端口才會被WR信號寫入數(shù)據(jù)。01十二月2023RDY01十二月2023

3)

中斷響應(yīng)操作

當8086CPU的INTR引腳上有一有效電平(高電平),且標志寄存器中IF=1,則8086CPU在執(zhí)行完當前的指令后,響應(yīng)中斷。在響應(yīng)中斷時CPU執(zhí)行兩個中斷響應(yīng)周期,如圖5.11所示。圖5.11

中斷響應(yīng)周期時序①②01十二月2023

每個中斷響應(yīng)周期由4個T周期組成。在第一個中斷響應(yīng)周期中,從T2~T4周期,INTA為有效(低電平),作為對中斷請求設(shè)備的響應(yīng);在第二個中斷響應(yīng)周期中,同樣從T2~T4周期,INTA為有效(低電平),該輸出信號通知中斷請求設(shè)備(通常是通過中斷控制器),把中斷類型號(決定中斷服務(wù)程序的入口地址)送到數(shù)據(jù)總線的低8位AD7~AD0(在T2~T4期間)。在兩個中斷響應(yīng)周期之間,有3個空閑周期(Ti)。01十二月2023

4)

總線保持與響應(yīng)

當系統(tǒng)中有其他的總線主設(shè)備請求總線時,向8086CPU發(fā)出請求信號HOLD,CPU接收到HOLD且為有效的信息后,在當前總線周期的T4或下一個總線周期的T1的后沿,輸出保持響應(yīng)信號HLDA,緊接著從下一個時鐘開始,8086CPU就讓出總線控制權(quán)。當外設(shè)的DMA傳送結(jié)束時,使HOLD信號變低,則在下一個時鐘的下降沿使HLDA信號變?yōu)闊o效(低電平)。8086的總線保持/響應(yīng)時序見圖5.12。01十二月2023圖5.12

總線保持/響應(yīng)時序01十二月2023

5)

系統(tǒng)復(fù)位

8086CPU的RESET引腳,可以用來啟動或再啟動系統(tǒng),當8086在RESET引腳上檢測到一個脈沖的上跳沿時,它停止正在進行的所有操作,處于初始化狀態(tài),直到RESET信號變低。復(fù)位時序如圖5.13所示。圖中RESET輸入是引腳信號,CPU內(nèi)部是用時鐘脈沖CLK來同步外部的復(fù)位信號的,所以內(nèi)部RESET是在外部引腳RESET信號有效后的時鐘上升沿有效的。復(fù)位時,8086CPU將使總線處于如下狀態(tài):地址線浮空(高阻態(tài)),直到8086

CPU脫離復(fù)位狀態(tài),開始從FFFF0H單元取指令;ALE、HLDA信號變?yōu)闊o效(低電平);其他控制信號線,先變高一段時間(相應(yīng)于時鐘脈沖低電平的寬度),然后浮空。另外,復(fù)位時CPU內(nèi)寄存器狀態(tài)為:標志寄存器、指令指針(IP)、DS、SS、ES清零;CS置FFFFH;指令隊列變空。01十二月2023圖5.13

復(fù)位時序復(fù)位時CPU內(nèi)寄存器狀態(tài)為:標志寄存器、指令指針(IP)、DS、SS、ES清零;CS置FFFFH;指令隊列變空。01十二月2023

在最大方式中,ALE、DEN(注意不是DEN)和DT/R由總線控制器8288發(fā)出,而最小方式中ALE、DEN和DT/R由8086CPU直接發(fā)出。同時數(shù)據(jù)允許信號極性相反,一個是高電平有效(DEN,最大方式),一個是低電平有效(DEN,最小方式)。3.最大方式時序與最小方式時序的區(qū)別最大方式下的總線時序基本上與最小方式相同,其區(qū)別有四點。

1)

控制信號ALE、DEN和DT/R01十二月2023

由于在最大方式下必須使用總線控制器8288,因此在其時序圖中必然出現(xiàn)訪問存儲器和I/O接口的命令信號:

MRDC、MWTC、AMWC、IORC、IOWC和AIOWC,隨之,最大方式下的總線周期狀態(tài)信號2、1和0也必然出現(xiàn)在時序圖中。最大方式下的總線讀時序和總線寫時序如圖5.14和圖5.15所示??偩€周期狀態(tài)信號S2、S1、S0在T1~T3保持規(guī)定狀態(tài)(由總線周期類型定),在T3~T4返回到無效狀態(tài)(S2=S1=S0=高電平)。2)

命令信號MRDC、MWTC、AMWC、IORC、IOWC和以及總線周期狀態(tài)信號S2、S1和S001十二月2023圖5.148086讀周期時序(最大方式)01十二月2023圖5.158086寫周期時序(最大方式)01十二月2023

3)

中斷響應(yīng)時序

最大方式下的中斷響應(yīng)時序見圖5.16。最大方式下的中斷響應(yīng)時序增加了一個控制信號——LOCK。在第一個中斷響應(yīng)周期T2到第二個中斷響應(yīng)周期的T2保持為有效(低電平),以保證在中斷響應(yīng)過程中禁止其他主CPU占有總線控制權(quán),從而使中斷過程不受外界的影響。01十二月2023圖5.16

中斷響應(yīng)周期時序(最大方式)①01十二月2023圖5.17

總線請求/允許時序(最大方式)4)

總線請求和允許時序最大方式下有一種總線請求和允許時序,如圖5.17所示。01十二月2023

(1)

該時序是通過RQ/GT0或RQ/GT1引腳來控制的;

該時序同最小方式中的總線保持/響應(yīng)時序的不同處是:(2)

在最大方式中,總線請求由其他的CPU(數(shù)學(xué)協(xié)處理器8087或I/O處理器8089等)發(fā)出;而最小方式中總線保持請求由系統(tǒng)主控者(如DMAC-DMA控制器)發(fā)出。01十二月20235.4

系統(tǒng)總線5.4.1

概述

總線是用來連接各部件的一組通信線,換言之,總線是一種在多于兩個模塊(設(shè)備或子系統(tǒng))間傳送信息的公共通路。為在各模塊之間實現(xiàn)信息共享和交換,總線由傳送信息的物理介質(zhì)以及一套管理信息傳輸?shù)膮f(xié)議所構(gòu)成。

采用總線結(jié)構(gòu)有兩個優(yōu)點:一是各部件可通過總線交換信息,相互之間不必直接連線,減少了傳輸線的根數(shù),從而提高了微機的可靠性;二是在擴展微機功能時,只需把要擴展的部件接到總線上即可,使功能擴展十分方便。01十二月2023

總線按其功能可分為系統(tǒng)總線(內(nèi)總線)和通信總線(外總線)。

內(nèi)總線指微機系統(tǒng)內(nèi)部模塊或插件板間進行通信聯(lián)系的總線,如S-100總線、PC總線、STD總線、MULTIBUS等。

外總線指把不同微機系統(tǒng)連接起來的通信線路。按信號傳輸方式,通信線路可分為串行總線和并行總線。

串行總線(如RS-232、RS-422等)是按位串行方式傳送信息;

并行總線(如IEEE-488)其信息以并行方式同時傳送。各種標準總線都在信號系統(tǒng)、電氣特性、機械特性及模板結(jié)構(gòu)等多方面做了規(guī)范定義。01十二月2023

微機總線可分為三類:

(1)

片總線:又稱芯片總線,或元件級總線,是在集成電路芯片內(nèi)部,用來連接各功能單元的信息通路。例如,CPU芯片中的內(nèi)部總線,它是ALU寄存器和控制器之間的信息通路。

(2)

內(nèi)總線:又稱系統(tǒng)總線,或板級總線、微機總線,是用于微機系統(tǒng)中各插件之間信息傳輸?shù)耐贰?/p>

(3)

外總線:又稱通信總線,是微機系統(tǒng)之間或微機系統(tǒng)與其他系統(tǒng)之間信息傳輸?shù)耐贰?1十二月2023

內(nèi)總線一般由三部分組成:

(1)

數(shù)據(jù)總線:一般是三態(tài)邏輯控制的若干位(如8、16等)數(shù)據(jù)線寬的雙向數(shù)據(jù)總線,用以實現(xiàn)微處理器、存儲器及I/O接口間的數(shù)據(jù)交換。

(2)

地址總線:用于微處理器輸出地址,以確定存儲器單元地址及I/O接口部件地址。一般都是三態(tài)邏輯控制的若干位(如16、24等)線寬的單向傳送地址總線。01十二月2023

(3)

控制總線:用來傳送保證計算機同步和協(xié)調(diào)的定時、控制信號,使微機各部件協(xié)調(diào)動作,從而保證正確地通過數(shù)據(jù)總線傳送各項信息的操作。其中有些控制信號由微處理器向其他部件輸出,如讀/寫等信號;另一些控制信號則由其他部件輸入到微處理器中,如中斷請求、復(fù)位等信號。控制總線不需用三態(tài)邏輯。01十二月2023

總線完成一次數(shù)據(jù)傳輸要經(jīng)歷四個階段:

(1)

申請(Arbitration)占用總線階段:需要使用總線的主控模塊(如CPU或DMAC)向總線仲裁機構(gòu)提出占有總線控制權(quán)的申請。由總線仲裁機構(gòu)判別確定,把下一個總線傳輸周期的總線控制權(quán)授給申請者。

(2)

尋址(Addressing)階段:獲得總線控制權(quán)的主模塊,通過地址總線發(fā)出本次打算訪問的從屬模塊。如存儲器或I/O接口的地址,通過譯碼使被訪問的從屬模塊被選中,從而開始啟動。01十二月2023

(3)

傳數(shù)(DataTransfering)階段:主模塊和從屬模塊進行數(shù)據(jù)交換。數(shù)據(jù)由源模塊發(fā)出經(jīng)數(shù)據(jù)總線流入目的模塊。對于讀傳送,源模塊是存儲器或I/O接口,而目的模塊是總線主控者CPU;對于寫傳送,源模塊是總線主控者,如CPU,而目的模塊是存儲器或I/O接口。

(4)

結(jié)束(Ending)階段:主、從模塊的有關(guān)信息均從總線上撤除,讓出總線,以便其他模塊能繼續(xù)使用。

對于只有一個總線主控設(shè)備的簡單系統(tǒng),對總線無需申請、分配和撤除。而對于多CPU或含有DMA的系統(tǒng),就要有總線仲裁機構(gòu)來授理申請和分配總線控制權(quán)。

總線上的主、從模塊通常采用以下三種方式之一,實現(xiàn)總線傳輸?shù)目刂啤?1十二月2023

1)

同步傳輸

同步傳輸是采用精確穩(wěn)定的系統(tǒng)時鐘,作為各模塊動作的基準時間。模塊間通過總線完成一次數(shù)據(jù)傳輸(即一個總線周期),時間是固定的,每次傳輸一旦開始,主、從模塊都必須按嚴格的時間規(guī)定完成相應(yīng)的動作。例如,IBM-PC/XT機的存儲器讀/寫的總線周期就是一種同步傳輸方式。CPU作為主模塊,存儲器是從屬模塊。一個讀總線周期長為T1~T4,具體動作如下:T1的前沿CPU向地址總線發(fā)出訪問從屬模塊(存儲器單元)的地址;T2內(nèi)CPU發(fā)出讀命令(RD有效);T3內(nèi)被選中的存儲器單元提供數(shù)據(jù)到數(shù)據(jù)總線上;T4內(nèi)存儲器撤除數(shù)據(jù)、CPU撤除地址和讀命令。01十二月2023

同步傳輸?shù)奶攸c是要求主模塊按嚴格的時間標準發(fā)出地址、產(chǎn)生命令,也要求從屬模塊按嚴格時間標準讀出數(shù)據(jù)或完成寫入動作。統(tǒng)一的時間標準就是系統(tǒng)時鐘。模塊之間的配合簡單,但它對所有模塊都強求在同一時限完成動作,使系統(tǒng)的組成缺乏靈活性。01十二月2023

2)

異步傳輸

同步傳輸要求總線上的各模塊速度要嚴格匹配,為了能使不同速度的模塊組成系統(tǒng),因此采用異步傳輸控制數(shù)據(jù)傳輸。異步傳輸設(shè)置一對握手(Handshaking)線,即請求(Request)和響應(yīng)(Acknowledge)信號線。當主模塊打算由從屬模塊指定單元讀出數(shù)據(jù)時,要經(jīng)過如下的握手聯(lián)絡(luò)過程:

(1)

主模塊將指定單元地址驅(qū)動到地址總線上;01十二月2023

(3)

數(shù)據(jù)送到數(shù)據(jù)總線上之后,該從屬模塊立即將響應(yīng)線ACK由高電平降為有效低電平,表示已將主模塊所需要的數(shù)據(jù)提供在數(shù)據(jù)總線上,并一直穩(wěn)定地維持著;

(2)

當?shù)刂吩诘刂房偩€上穩(wěn)定之后,主模塊將請求線RD(相應(yīng)于讀命令READ)降為有效低電平,以此表示一次新的傳輸周期開始,從屬模塊在收到地址和請求信號之后,各自進行譯碼,被選中的從屬模塊從被選中的惟一單元中送出數(shù)據(jù),并將該數(shù)據(jù)驅(qū)動到數(shù)據(jù)總線上;

(4)主模塊在采樣到ACK為有效低電平之后,就可以從數(shù)據(jù)總線上讀取數(shù)據(jù),然后主模塊將請求信號RD變?yōu)闊o效高電平;01十二月2023

異步傳輸?shù)恼埱驲EQ信號和響應(yīng)ACK信號的呼應(yīng)是完全互鎖的關(guān)系,即開始傳輸數(shù)據(jù)前RD和ACK必須都處于無效高電平狀態(tài),只有前一傳輸周期完全結(jié)束后,才能開始一個新的傳輸周期。當RD變?yōu)橛行У碗娖胶螅煌俣鹊膹膶倌K按照各自的可能響應(yīng)速度確定發(fā)出ACK有效低電平的時間,速度快的從屬模塊會立即響應(yīng);而速度慢的從屬模塊則要經(jīng)過足夠長的時間,在能滿足主模塊要求之后,才將它的ACK下降為有效低電平。異步傳輸是由主模塊提出要求后,由被選中的從屬模塊來決定響應(yīng)速度。因此,不同速度的模塊可以存在于同一系統(tǒng)中,都能以各自最佳的速度互相傳輸數(shù)據(jù)。

(5)

從屬模塊采樣到請求線為無效高電平后,將放到數(shù)據(jù)總線上的數(shù)據(jù)撤除,同時將ACK信號變?yōu)闊o效高電平,表示本次總線傳輸周期結(jié)束。01十二月2023

3)

半同步傳輸

半同步傳輸是綜合同步和異步傳輸?shù)膬?yōu)點而設(shè)計出來的混合式傳輸。半同步傳輸保留了同步傳輸?shù)幕咎攸c,即地址、命令和數(shù)據(jù)等信號的發(fā)出時間都嚴格參照系統(tǒng)時鐘的某個前沿時刻,而對方接收判斷它時,又都采用在系統(tǒng)時鐘脈沖的后沿時刻來識別。也就是說,保證總線上的一切操作都被時鐘“同步”了。半同步傳輸方式為了能像異步傳輸那樣,能允許用不同速度的模塊組成系統(tǒng),而設(shè)置了一條“等待”(WAIT)或“準備就緒”(READY)信號線。因此,在半同步傳輸系統(tǒng)中,對于快速模塊,就像同步傳輸一樣,按嚴格時鐘沿一步步地傳輸?shù)刂?、命令和?shù)據(jù);而對于慢速設(shè)備,則要借助READY線,強制使主模塊延遲整數(shù)個系統(tǒng)時鐘間隔。01十二月20235.4.2PC總線

IBM-PC及XT使用的總線稱為PC總線,它是為配置外部I/O適配器和擴充存儲器專門設(shè)計的一組I/O總線,又稱為I/O通道,共有62條引線,全部引到系統(tǒng)板上8個62芯總線的擴展槽J1~J8上,可插入不同功能的插件板,用以擴展系統(tǒng)功能,如圖5.18所示。

半同步傳輸方式適合于系統(tǒng)速度不高但系統(tǒng)中又包含有速度差異較大的設(shè)備的情況。8086CPU可以插入等待狀態(tài)TW的總線周期,就是半同步傳輸?shù)囊粋€實例。01十二月2023圖5.18PC總線01十二月2023

1.

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

D7~D0共8條,是雙向數(shù)據(jù)傳送線,為CPU、存儲器及I/O設(shè)備間提供信息傳送通道。

2.

地址總線

A19~A0共20條,用來選定存儲器地址或I/O設(shè)備地址。當選定I/O設(shè)備地址時,A19~A16無效。這些信號一般由CPU產(chǎn)生,也可以由DMA控制器產(chǎn)生。20位地址線允許訪問1MB存儲空間,16位地址線允許訪問64KB的I/O設(shè)備空間。62根總線按功能可分為四類:第一類,電源線8根(+5V的2根、-5V的1根、+12V的1根、-12V的1根及地線3根);第二類,數(shù)據(jù)傳送總線8根;第三類,地址總線20根;第四類,控制總線26根。01十二月2023

3.

控制總線

控制總線共26條,可大致分為三類。

1)

純控制線(21根)

ALE:(輸出)地址鎖存允許,由總線控制器8288提供。ALE有效時,在ALE下降沿鎖存來自CPU的地址。目前地址總線有效,可開始執(zhí)行總線工作周期。

IRQ2~IRQ7:(輸入)中斷請求。

IOR:(輸出、低電平有效)I/O讀命令,由CPU或DMA控制器產(chǎn)生。信號有效時,把選中的I/O設(shè)備接口中數(shù)據(jù)讀到數(shù)據(jù)總線。01十二月2023

LOW:(輸出、低電平有效)I/O寫命令,由CPU或DMA控制器產(chǎn)生,用來控制將數(shù)據(jù)總線上的數(shù)據(jù)寫到所選中的I/O設(shè)備接口中。

MEMW:(輸出、低電平有效)存儲器寫命令,由CPU或DMA控制器產(chǎn)生,把數(shù)據(jù)總線上的數(shù)據(jù)寫入所選中的存儲單元。MEMR:(輸出、低電平有效)存儲器讀命令,由CPU或DMA控制器產(chǎn)生,用來控制把選中的存儲單元數(shù)據(jù)讀到數(shù)據(jù)總線。01十二月2023

DRQl~DRQ3:(輸入)DMA(直接數(shù)據(jù)傳送)控制器8273A的通道1~3的DMA請求,是由外設(shè)接口發(fā)出的,DRQl優(yōu)先級最高。當有DMA請求時,對應(yīng)的DRQX為高電平,一直保持到相應(yīng)的DACK為低電平為止。

DACK0~DACK3:(輸出、低電平有效)DMA通道0~3的響應(yīng)信號,由DMA控制器送往外設(shè)接口,低電平有效。DACK0用來響應(yīng)外設(shè)的DMA請求或?qū)崿F(xiàn)動態(tài)RAM刷新。01十二月2023

AEN:(輸出)地址允許信號,由8237A發(fā)出,此信號用來切斷CPU控制,以允許DMA傳送。AEN為高電平有效,此時由DMA控制器8237A來控制地址總線、數(shù)據(jù)總線以及對存儲器和I/O設(shè)備的讀/寫命令線。在制作接口電路中的I/O地址譯碼器時,必須包括這個控制信號。

T/C:(輸出)計數(shù)結(jié)束,當DMA通道計數(shù)結(jié)束時,T/C線上出現(xiàn)高電平脈沖。

RESETDRV:(輸出)系統(tǒng)總清,此信號使系統(tǒng)各部件復(fù)位。01十二月2023

2)

狀態(tài)線(2根)

I/OCHCK:(輸入,低電平有效)I/O通道奇偶校驗信號。此信號向CPU提供關(guān)于I/O通道上的設(shè)備或存儲器的奇/偶校驗信息。當I/OCHCK為低電平時,表示校驗有錯。

I/OCHRDY:(輸入)I/O通道準備好,用于延長總線周期。一些速度較慢的設(shè)備可通過使I/OCHRDY為低電平,而令CPU或DMA控制器插入等待周期,來達到延長總線的I/O或存儲周期。不過此信號時間不宜過長,以免影響DRAM刷新。01十二月2023

3)

輔助線(3根)

OSC:(輸出)晶振信號,其周期為70ns(14.31818Hz),占空比50%。若將此信號除以4,可得到3.58MHz的設(shè)計彩顯接口所必須用的控制信號。

CLK:(輸出)系統(tǒng)時鐘信號,由OSC三分頻得到,頻率為4.77MHz(周期210ns),占空比為33%。

CARDSLCTD:(輸出、低電平有效)插件板選中信號,此信號有效時,表示擴展槽J8

溫馨提示

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

評論

0/150

提交評論