處理器的外部特性_第1頁
處理器的外部特性_第2頁
處理器的外部特性_第3頁
處理器的外部特性_第4頁
處理器的外部特性_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、處理器的外部特性教學(xué)提示:計算機的核心是CPU也就是微處理器,微處理器是如何工作的?微處理器在工作過程中,將發(fā)出什么樣的信號?又將接收什么樣的信號?各種信號之間的時序關(guān)系是怎樣的?微處理器與存儲器和I/O設(shè)備的電路連接是怎樣的?這些問題將在本章中得到解決。教學(xué)要求:在本章的學(xué)習(xí)過程中,讀者需要重點掌握CPU的操作時序關(guān)系,還要理解CPU引腳的作用,很好地掌握系統(tǒng)總線的形成。4.1 8086的引腳信號和總線形成CPU是微機的核心。Intel公司設(shè)計和生產(chǎn)的CPU一直占據(jù)市場主流。從8086 CPU開始Intel系列的CPU采用向下兼容的策略,每一種新的CPU都對原有的系列產(chǎn)品保持兼容,從而使此前

2、的軟件都能夠繼續(xù)運行。4.1.1 8086的指令周期、總線周期和時鐘周期在前面的章節(jié)中,我們知道8088/8086 CPU可以執(zhí)行很多指令,這些指令有的執(zhí)行時所需的時間比較長,比如MUL Word ptrBX指令;也有些指令執(zhí)行時間很短,比如INC AL指令。概念:我們把指令的執(zhí)行時間叫做指令周期。指令周期是包括取指令和執(zhí)行完該指令所需的全部時間。一個指令周期通常是由若干個總線周期構(gòu)成,這是因為在指令執(zhí)行過程中需要取得指令和傳送數(shù)據(jù)的協(xié)調(diào)工作,就需要CPU的總線接口部件執(zhí)行一個總線周期。概念:通過外部總線對存儲器或I/O端口進(jìn)行一次讀/寫操作的過程稱為總線周期。在8086中,一個最基本的總線周

3、期由4個時鐘周期組成,時鐘周期是CPU的基本時間計量單位,它由計算機主頻決定。如8086的主頻為10MHz,一個時鐘周期就是100ns。概念:時鐘周期是系統(tǒng)提供給CPU的時鐘信號的周期,它等于時鐘信號頻率的倒數(shù)。在一個最基本的總線周期中,常將4個時鐘周期分別稱為4個狀態(tài),即T1狀態(tài)、T2狀態(tài)、T3狀態(tài)、T4狀態(tài)。4.1.2 8088/8086的兩種組態(tài)模式為了盡可能適應(yīng)各種各樣的使用場合,在設(shè)計8088/8086 CPU芯片時,使它們可以在兩種模式下工作,即最小模式和最大模式。 概念:最小模式,就是在系統(tǒng)中只有8088/8086一個處理器,而所有的總線控制信號都由8088/8086直接產(chǎn)生,因

4、此系統(tǒng)中的總線控制電路被減到最少。 概念:最大模式,就是系統(tǒng)中有兩個或多個微處理器,其中有一個是主處理器8088/8086,其他的處理器稱為協(xié)處理器。這時系統(tǒng)需要的各種控制信號多數(shù)由8288芯片發(fā)出。 常用于和8088/8086配合的協(xié)處理器有兩個,一個是數(shù)值運算協(xié)處理器8087,一個是輸入/輸出協(xié)處理器8089。8087是一種專用于數(shù)值運算的處理器,它能實現(xiàn)多種類型的數(shù)值操作。8089有一套專門用于輸入操作的指令系統(tǒng),可以直接為輸入/輸出設(shè)備服務(wù),使8088/8086不再承擔(dān)這類工作。所以系統(tǒng)中增加協(xié)處理器8089后,會提高主處理器的效率,尤其是在輸入輸出頻繁的場合。8088/8086的工作

5、模式完全是由硬件決定的。8086的引腳信號圖如圖4.1所示(8088與之類似,在此就不特別介紹了)。圖4.1 8086引腳信號圖注:括號內(nèi)為最大模式時的引腳名。首先介紹一下與工作模式無關(guān)的相關(guān)引腳。1. AD15AD0(Address/Data):地址/數(shù)據(jù)復(fù)用引腳(雙向、三態(tài))采用分時的多路轉(zhuǎn)換方法來實現(xiàn)對地址線和數(shù)據(jù)線的復(fù)用。作為復(fù)用引腳,在總線周期的T1狀態(tài)用來輸出要訪問的存儲器或I/O端口地址,在其他狀態(tài),則用來傳送數(shù)據(jù)。在DMA方式時,這些引線被浮置為高阻狀態(tài)。2. A19/S6A16/S3(Address/Status):地址/狀態(tài)復(fù)用引腳(輸出、三態(tài))在總線周期的T1狀態(tài),這些引

6、線表示為最高4位的地址線,在總線周期的其他T狀態(tài),這些引腳用作提供狀態(tài)信息,同樣需要地址鎖存器對T1狀態(tài)出現(xiàn)的最高4位地址加以鎖存。狀態(tài)信息S6總是為低電平,S5反映當(dāng)前中斷允許標(biāo)志的狀態(tài)。S4與S3一起指示當(dāng)前那一個段寄存器被使用(具體內(nèi)容見表4-1)。在DMA方式時,這些引線被浮置為高阻。表4-1 S4與S3的代碼組合及對應(yīng)的含義S4S3含 義00當(dāng)前正在使用ES01當(dāng)前正在使用SS10當(dāng)前正在使用CS或未用任何段寄存器11當(dāng)前正在使用DS3. NMI(Non-Maskable Interrupt):非屏蔽中斷輸入信號非屏蔽中斷請求信號,為一個邊緣觸發(fā)信號,不能用軟件加以屏蔽。只要在NMI

7、線上出現(xiàn)由低到高的變化信號,則CPU就會在結(jié)束當(dāng)前指令后,執(zhí)行對應(yīng)于中斷類型號為2的非屏蔽中斷處理程序。4. INTR(Interrupt Request):可屏蔽中斷請求信號(輸入)高電平有效。CPU在執(zhí)行每條指令的最后一個T狀態(tài)時,去采樣INTR信號,若發(fā)現(xiàn)有效,而中斷允許標(biāo)志IF為1,則CPU在結(jié)束當(dāng)前指令周期后響應(yīng)中斷請求,執(zhí)行中斷處理程序。BHEBHEBHEBHEBHEBHEMX/S7(Bus High Enable/Status):高8位數(shù)據(jù)總線允許/狀態(tài)復(fù)用信號(輸出)在總線周期的第一個T狀態(tài),8086在/S7引腳輸出表示高8位數(shù)據(jù)線D15D8上的數(shù)據(jù)有效;在T2狀態(tài)、T3狀態(tài)、

8、T4狀態(tài)及TW狀態(tài),/S7引腳輸出狀態(tài)信號S7。 和 A0結(jié)合起來確定連接在總線上的存儲器和接口,當(dāng)前的數(shù)據(jù)在總線上將以何種格式出現(xiàn),見表4-2。表4-2 和A0的組合對應(yīng)的操作A0操 作所用的數(shù)據(jù)引腳00從偶地址單元開始讀寫一個字AD15AD001從奇地址單元或端口讀寫1個字節(jié)從奇地址開始讀寫1個字AD15AD810從偶地址單元或端口讀寫1個字節(jié)AD7AD011無效6. MN/ (輸入)為最小/最大模式信號,它決定8088的工作模式。將此引線接電源5V,則8086工作與最小模式,若此引線接地,則8086工作在最大模式。信號,BHERDMMTESTTEST7. (Read):讀信號(輸出)當(dāng)其

9、有效時表示正在對存儲器或I/O端口進(jìn)行讀操作。若/IO為低電平,表示讀取存儲器的數(shù)據(jù),若/IO為高電平,表示讀取I/O端口的數(shù)據(jù)。:測試信號(輸入)低電平有效。本信號是和等待指令WAIT結(jié)合起來使用的。當(dāng)CPU執(zhí)行WAIT指令時,CPU處于等待狀態(tài),一旦檢測到 信號為低,則結(jié)束等待狀態(tài),繼續(xù)執(zhí)行WAIT指令下面的指令。9. READY:準(zhǔn)備就緒信號(輸入)高電平有效,表示內(nèi)存或I/O設(shè)備準(zhǔn)備就緒,馬上可進(jìn)行一次數(shù)據(jù)傳輸。CPU在每個總線周期的T3狀態(tài)開始對READY信號進(jìn)行采樣。如果檢測到READY為低電平,則在T3狀態(tài)之后插入等待狀態(tài)TW。在TW狀態(tài),CPU也對READY進(jìn)行采樣,如READ

10、Y仍為低電平,則會繼續(xù)插入TW,直到READY變?yōu)楦唠娖胶?,才進(jìn)入T4狀態(tài),完成數(shù)據(jù)傳送過程,從而結(jié)束當(dāng)前總線周期。10. RESET(輸入)復(fù)位信號,高電平有效,復(fù)位時該信號要求維持高電平4個時鐘周期,若使初次加電,則高電平信號至少要保持50s,復(fù)位信號的到來,將立即結(jié)束CPU的當(dāng)前操作,內(nèi)部寄存器恢復(fù)到初始狀態(tài)。當(dāng)RESET信號從高電平回到低電平時,及復(fù)位后進(jìn)入重新啟動時,變質(zhì)型從內(nèi)存FFFF0H處帶式的指令,通常在FFFF0H存放一條無條件轉(zhuǎn)移指令,轉(zhuǎn)移到系統(tǒng)程序的實際入口處。這樣只要系統(tǒng)被復(fù)位啟動,就自動進(jìn)入系統(tǒng)程序。11. CLK(輸入)時鐘信號,它為CPU和總線控制電路提供基準(zhǔn)時鐘

11、,對時鐘信號要求:1/3周期為高電平,2/3周期為低電平。8088的標(biāo)準(zhǔn)時鐘頻率為5MHz。12. GND、VCC地線和電源VCC為電源引線,為+5V電源。引腳為1和20為兩條GND線,要求均要接地。8.INTAINTAINTADENRRRR4.1.3 最小組態(tài)的引腳定義1. (Interrupt Acknowledge):中斷響應(yīng)信號(輸出)CPU向外輸出的中斷響應(yīng)信號,用于對外部設(shè)備的中斷請求做出響應(yīng)。信號實際上是位于連續(xù)周期中的兩個負(fù)脈沖,在每個響應(yīng)周期的T2、T3和TW狀態(tài),均為有效。第一個負(fù)脈沖通知外設(shè)的接口,它發(fā)出的中斷請求已經(jīng)得到允許;外設(shè)接口收到第二個負(fù)脈沖后,往數(shù)據(jù)總線上放中

12、斷類型碼,從而CPU便得到了有關(guān)此中斷請求的詳細(xì)信息,根據(jù)中斷向量而轉(zhuǎn)向中斷處理程序。 2. ALE(Address Letch Enable):地址鎖存允許信號(輸出)高電平有效。在任何總線周期的T1狀態(tài),ALE輸出有效電平,以表示當(dāng)前在地址/數(shù)據(jù)復(fù)用總線上輸出的是地址信息,地址鎖存器將ALE作為鎖存信號,對地址進(jìn)行鎖存。 3. (Data Enable):數(shù)據(jù)允許信號(輸出)在使用8286/8287數(shù)據(jù)收發(fā)器的最小模式系統(tǒng)中,在存儲器訪問周期,I/O訪問周期或中斷響應(yīng)周期,此信號有效,用來作為8286/8287數(shù)據(jù)收發(fā)器的輸出允許信號,即允許收發(fā)器和系統(tǒng)數(shù)據(jù)總線進(jìn)行數(shù)據(jù)傳送。4. DT/(

13、Data Transmit/Receive):數(shù)據(jù)發(fā)送/接收控制信號(輸出)在使用8286/8287數(shù)據(jù)收發(fā)器的最小模式系統(tǒng)中,用DT/來控制數(shù)據(jù)傳送為高電平,進(jìn)行數(shù)據(jù)發(fā)送,及收發(fā)器把數(shù)據(jù)送系統(tǒng)數(shù)據(jù)總線;而當(dāng)DT/為低電平,進(jìn)行數(shù)據(jù)接收,及收發(fā)器把系統(tǒng)數(shù)據(jù)總線上的數(shù)據(jù)讀進(jìn)來了。當(dāng)CPU處與DMA方式時,此線浮空。/ 方向。DT/MMMWRM5. /IO(Memory/Input and Output):訪問存儲器或I/O端口的控制信號(輸出)若/IO為高電平,則訪問的是I/O端口;若(Write):寫信號(輸出)低電平有效。當(dāng)其有效時表示CPU正在對存儲器或I/O端口進(jìn)行寫操作,具體對誰進(jìn)行寫

14、操作,有在DMA方式時,此線被浮置為高阻。7. HOLD(Hold Request):總線保持請求信號(輸入)當(dāng)系統(tǒng)中CPU之外的總線主設(shè)備要求占用總線時,通過HOLD引線向CPU發(fā)出高電平的請求信號,如果CPU允許讓出總線,則在當(dāng)前周期的T1狀態(tài),向HLDA引線輸出一高電平信號作為相應(yīng)。同時使地址總線、數(shù)據(jù)總線和相應(yīng)的控制線處于浮空狀態(tài),則總線請求主設(shè)備取得了對總線的控制權(quán)。一旦總線使用完畢,總線請求主設(shè)備讓HOLD變?yōu)榈碗娖?。CPU檢測到HOLD為低后,把HLDA也置為低電平,CPU又奪得對總線的控制權(quán)。8. HLDA(Hold Acknowledge):總線保持相應(yīng)信號高電平有效。當(dāng)HL

15、DA有效時,表示CPU對總線請求主設(shè)備做出相應(yīng),用以讓出總線。/IO為低電平,則訪問的是存儲器。 /IO信號決定。本信號在總線周期的T2、T3。TW狀態(tài)有效。MXBHEBHEDENR4.1.4 最小組態(tài)的總線形成應(yīng)用于單一的微機處理系統(tǒng),CPU引腳MN/接Vcc,如圖4.2所示。 圖4.2中,3片8282鎖存20位地址信息和,之所以要鎖存是鑒于AD15AD0、A19A16/S6S3、/S7都是分時復(fù)用線,在T1狀態(tài)ALE作用下將這些信息鎖存以備用,還可以提高地址總線驅(qū)動能力。2片8286作為16位數(shù)據(jù)收發(fā)器,由CPU的控制信號 和DT/分別控制8286工作和數(shù)據(jù)傳送方向。 系統(tǒng)控制線由CPU直

16、接提供。 圖4.2 8086最小工作模式的典型配置MX4.1.5 最大組態(tài)的引腳定義把MN/引腳接地,則系統(tǒng)就出在最大模式下。此時引腳2431具有另外的功能含義,介紹如下。1. QS1、QS0(Instruction Queue Status):指令隊列狀態(tài)信號(輸出)QS1和QS0的組合提供了總線周期前一個T狀態(tài)中指令隊列的狀態(tài),允許外部設(shè)備跟蹤8086內(nèi)部指令隊列狀況。QS1和QS0的組合所對應(yīng)的含義見表4-3。表4-3 QS1,QS0的代碼組合和對應(yīng)的含義QS1QS0指令隊列狀態(tài)信號的含義00無操作01從指令隊列的第一個字節(jié)中取走代碼10隊列為空11從指令隊列的第一個字節(jié)及后續(xù)字節(jié)中取走

17、代碼(Bus Cycle Status):總線周期狀態(tài)信號(輸出)這3個狀態(tài)信號的組合用來指示:當(dāng)前總線周期所執(zhí)行的操作,屬于何種類型的數(shù)據(jù)傳輸。在最大模式系統(tǒng)中配置的總線控制器8288,正是利用這3個狀態(tài)信號來產(chǎn)生一系列控制信號,以實現(xiàn)對I/O端口的讀寫和對存儲器的讀寫等。的組合及其對應(yīng)的操作見表4-4。2S1S0S2S1S0SLOCKLOCKLOCK表4-4 總線周期狀態(tài)對應(yīng)的操作 操作過程000發(fā)中斷響應(yīng)信號001讀I/O端口010寫I/O端口011暫停100取指令101讀指令110寫內(nèi)存111無源狀態(tài)、都為高電平時表明操作過程即將結(jié)束,而另一個新的總線周期尚未開始,這時稱為“無源狀態(tài)”

18、。而在總線周期的最后一個狀態(tài),、3. (Lock)總線封鎖信號(輸出)當(dāng)本信號為低電平時有效,封鎖了系統(tǒng)中別的總線主設(shè)備對系統(tǒng)總線的占有。另外,在8086中斷響應(yīng)時,在兩個連續(xù)響應(yīng)周期之間,信號變?yōu)橛行?,以防止一個完整的中斷過程被外部主設(shè)備占用總線而破壞。在DMA操作時,引線端被浮空。中只要有一個信號改變,就表明是下一個新的總線周期開始。RQ0GTRQ1GTRQ0GTRQ1GTRQ0GTRQ1GTMXBHE/,/ (Request/Grant)總線請求/允許信號(輸出)除CPU之外的兩個協(xié)處理器通過這兩個引腳發(fā)出使用總線請求和接收CPU對總線請求信號的回答信號。類似于最小模式系統(tǒng)中的HOLD和

19、HLDA信號,但/引腳上傳送總線請求信號,然后傳送允許信號。/的優(yōu)先級比/4.1.6 最大組態(tài)的總線形成應(yīng)用于多處理器的微機系統(tǒng),通常以8086/8088 CPU為中心,增設(shè)總線控制器8288,一個總線仲裁器8289,還包含其他微處理器(如8287數(shù)值協(xié)處理器和8289I/O處理機),CPU引腳MN/接GND。如圖4.3所示。 1. 與最小模式系統(tǒng)相同處3片8282鎖存20位地址信息和2. 不同處用8288總線控制器,對CPU提供的狀態(tài)信號信號和控制信號,而不是由CPU提供控制信號,包括ALE、DT/8288總線控制器:8288產(chǎn)生的總線命令是由8086的總線狀態(tài)信號所決定的,這些信號所產(chǎn)生的

20、總線命令見表4-5。的高。都是雙向的,即在同一,2片8286作為16位數(shù)據(jù)收發(fā)器。 譯碼,產(chǎn)生各種命令和DEN均由8288提供。 圖4.3 8086最大工作模式的典型配置2S1S0SINTAIORCIOWCAIOWCMRDCMRDCMWTCAMWC表4-5 狀態(tài)信號與總線命令信號的對應(yīng)關(guān)系表,總線狀態(tài)信號CPU狀態(tài)8288命令000中斷狀態(tài)001讀I/O端口010寫I/O端口,超前寫I/O端口011暫停無100取指令101讀存儲器110寫存儲器,超前寫存儲器111無作用無MRDCIORCMWTCIOWCAMWCMWTCMWTCAIOWCIOWCIOWCINTAINTAR (1) 命令信號: (

21、Memory Read Command):讀存儲器命令,此命令有效時,把被選中的存儲單元之中的數(shù)據(jù)讀到DB上。 (I/O Read Command):讀I/O端口命令,此命令有效時,把被選中的I/O端口之中的數(shù)據(jù)輸入到DB上。 (Memory Write Command):寫存儲器命令,此命令有效時,把DB上的數(shù)據(jù)寫到所選中的存儲單元中。 (I/O Write Command):寫I/O端口命令,此命令有效時,把DB上的數(shù)據(jù)寫到所選中的I/O端口中。 (Advanced Memory Write Command):超前寫存儲器命令,功能與相同,只是提前一個T狀態(tài)出現(xiàn)。 (Advanced I/

22、O Write Command):超前寫I/O端口命令,功能與相同,只是提前一個T狀態(tài)出現(xiàn)。 :中斷響應(yīng)信號,與最小模式CPU提供的(2) 控制信號ALE、DT/、DEN:與最小模式中CPU發(fā)出的相同,僅DEN極性相反。相同。4.2 8086的總線時序所謂總線時序是分析在總線上的各種信號在時間的關(guān)系,要想深入學(xué)習(xí)CPU的工作特性,就需要掌握這部分知識,本節(jié)就介紹些內(nèi)容。4.2.1 最小組態(tài)的總線時序指令所執(zhí)行的操作,可以分為內(nèi)部操作和外部操作。不同的指令其內(nèi)、外部操作是不相同的,但這些操作可以分解為一個個總線操作。即總線操作的不同組合,就構(gòu)成了不同指令的不同操作。CPU為了與存儲器或I/O端口

23、進(jìn)行一個字節(jié)的數(shù)據(jù)交換,需要執(zhí)行一次總線操作,按數(shù)據(jù)傳輸?shù)姆较騺矸?,可將總線操作分為讀操作和寫操作兩種類型;按照讀/寫的不同對象,總線操作又可分為存儲器讀/寫與I/O讀/寫操作,下面我們就最小模式下的總線操作時序,來進(jìn)行具體分析。8086總線時序包括以下6個部分:(1) 存儲器讀周期。(2) 存儲器寫周期。(3) 輸入輸出周期。(4) 空轉(zhuǎn)周期。(5) 中斷響應(yīng)周期。(6) 系統(tǒng)復(fù)位。下面我們將分別介紹一下存儲器和I/O讀寫及中斷響應(yīng)周期。8086系統(tǒng)總線周期由四個時鐘組成(T1T4),需要時還要加入數(shù)量不定的等待周期(Tw)。若在完成一個總線周期后不發(fā)生任何總線操作,則填入空閑狀態(tài)時鐘周期(

24、Ti);若存儲器或I/O端口在數(shù)據(jù)傳送中不能以足夠快的速度做出響應(yīng),則在T3與T4間插入一個或若干個Tw。8086 CPU為了要與存儲器及外設(shè)端口交換數(shù)據(jù),需要執(zhí)行一個總線周期,這就是總線操作按照數(shù)據(jù)傳輸?shù)姆较騺矸郑偩€操作可以分為總線讀操作和寫操作??偩€讀操作就是指CPU從存儲器或外設(shè)端口讀取數(shù)據(jù),總線寫操作就是指CPU將數(shù)據(jù)寫入存儲器或外設(shè)端口。1. 存儲器讀周期一個基本的存儲器讀周期由4個T狀態(tài)組成,如圖4.4所示。圖4.4 典型的8086總線周期序列MMMBHEBHEBHERDRDDEN要從存儲器的指定區(qū)域讀出數(shù)據(jù),首先需要由/IO信號來確定是與存儲器通信/IO為高電平;當(dāng)進(jìn)行I/O端

25、口讀操作時,在T1狀態(tài),AD15AD0、A19/S6A16/S3輸出CPU要讀取的存儲單元或I/O端口的地址A15A0和地址高位。并在體選信號。在此時8086產(chǎn)生一個地址鎖存信號ALE,啟動鎖存器8282,在ALE信號下降沿將20位地址和在T2狀態(tài),A19/S6A16/S3上的地址信號消失,而出現(xiàn)S6S3狀態(tài)信號。狀態(tài)S4、S3用來指明哪個段寄存器被使用,這個狀態(tài)在T3、T4(前半個周期)保持不變。AD15AD0處于高阻狀態(tài),為讀入數(shù)據(jù)做準(zhǔn)備。在T2期間輸出低電平送到選中的存儲器或I/O接口。這里要注意,只有被地址信號選中的存儲單元或I/O端口,才會被RD信號從中讀出數(shù)據(jù)。與同時CPU在T3狀

26、態(tài)期間將數(shù)據(jù)放到數(shù)據(jù)總線上,在T3結(jié)束時,CPU從AD15AD0上讀取數(shù)據(jù)。還是與外設(shè)通信。當(dāng)進(jìn)行存儲器讀操作時,/IO為低電平。在整個周期,這兩個信號邏輯電平不變。/S7引腳上輸出信號,作為奇地址存儲器的信號鎖存,從而把地址信息和狀態(tài)信息分開。變成低電平,允許8086數(shù)據(jù)通過數(shù)據(jù)收發(fā)器8286。若使用的存儲器或外設(shè)的工作速度較慢,不能滿足上述基本時序的要求,則可用一個產(chǎn)生READY信號的電路,使8086在T3狀態(tài)和T4狀態(tài)之間插入一個或多個TW狀態(tài)來等待存儲器或I/O端口的數(shù)據(jù),如圖4.5所示。8086CPU在T3狀態(tài)開始測試READY引腳信號,若發(fā)現(xiàn)READY信號有效,則表示存儲器或I/O

27、端口能按時將數(shù)據(jù)送到數(shù)據(jù)總線上,T3狀態(tài)結(jié)束后進(jìn)入T4狀態(tài);若測試到READY信號為低電平,則在T3狀態(tài)結(jié)束后,不進(jìn)入T4狀態(tài)而插入一個或多個TW狀態(tài),在每個TW狀態(tài)開始,CPU都測試READY引線,只有發(fā)現(xiàn)READY為高電平后,才能進(jìn)入T4狀態(tài)。在T3和T4狀態(tài)期間,8086讀入總線上的數(shù)據(jù),此后在T4狀態(tài)要從存儲器的指定區(qū)域讀出數(shù)據(jù)。2. 存儲器寫周期當(dāng)8086 CPU進(jìn)行存儲器或I/O端口寫操作時,總線進(jìn)入寫操作,也包括4個狀態(tài)組成,如圖4.6所示。圖4.5 8086小模式總線讀操作時序圖4.6 8086小模式總線寫操作時序MWRRM總線寫操作的時序與總線讀操作時序相似,首先也是要由寫操

28、作還是I/O端口寫操作。其次也是要寫入單元地址以及ALE信號。不同的就是寫入存儲器的數(shù)據(jù),在T2狀態(tài),AD15AD0發(fā)出將要寫到存儲單元或I/O端口的16位數(shù)據(jù),此數(shù)據(jù)一直保持到T4狀態(tài)而無高阻狀態(tài)。從T2T4,引腳輸出有效低電平,該信號送到被選中的存儲器或I/O接口。DT/數(shù)據(jù)總線收發(fā)器的系統(tǒng)中,將用來控制數(shù)據(jù)傳輸方向。如果存儲器或I/O端口來不及接收數(shù)據(jù),這時候也可以利用READY信號,在T3和T4狀態(tài)之間插入一個或多個等待周期TW,以保證時間配合,具有TW狀態(tài)的寫入時序和讀時序類似,我們不再贅述。3. 輸入輸出周期8086與外設(shè)通信,也即從外設(shè)輸入數(shù)據(jù),或把數(shù)據(jù)輸出給外設(shè)的時序,與CPU

29、同存儲器之間的通信時序,幾乎完全相同,只是4. 空轉(zhuǎn)周期8086只有在CPU于存儲器或外設(shè)要傳送指令或操作時,才能執(zhí)行如上所述的總線周期,若CPU不執(zhí)行總線周期,則總線接口執(zhí)行空轉(zhuǎn)操作。在這些空轉(zhuǎn)周期,CPU在高位地址線上仍然驅(qū)動上一個機器周期的狀態(tài)信息。在這些空轉(zhuǎn)周期,CPU對總線進(jìn)行空操作,但是CPU內(nèi)部仍然進(jìn)行有效地操作。5. 中斷響應(yīng)周期在CPU完成一條指令執(zhí)行完之后,當(dāng)外部中斷源通過INTR引線向CPU發(fā)出中斷請求信號時,而且標(biāo)志寄存器中IF=1時,即CPU處于中斷狀態(tài),則CPU將響應(yīng)中斷,執(zhí)行中斷程序。CPU對中斷響應(yīng)執(zhí)行兩個連續(xù)的中斷響應(yīng)總線周期,如圖4.7所示為中斷響應(yīng)時序。/

30、IO信號來表示進(jìn)行存儲器在整個總線周期內(nèi)保持高電平,表示本總線周期為寫周期,在接有/IO信號應(yīng)為高電平。所以我們就不贅述。圖4.7 中斷響應(yīng)時序從8086的中斷響應(yīng)總線周期圖中可見,8086的中斷響應(yīng)要用兩個總線周期。如果在前一個總線周期中,CPU接收到外界的中斷請求信號,而中斷允許標(biāo)志IF正好為1,并且正好一條指令執(zhí)行完畢,那么,CPU會在當(dāng)前總線周期和下一個總線周期中,從INTA維持到T4狀態(tài)的開始。外設(shè)接口(一般是中斷控制器)收到第二個負(fù)脈沖以后,立即把中斷類型碼送到數(shù)據(jù)總線的低8位上,通過CPU的地址/數(shù)據(jù)引腳AD7AD0傳輸給CPU。在這兩個總線期的其他時間,AD7AD0是浮空的。6

31、. 總線保持與響應(yīng)當(dāng)系統(tǒng)中有其他的總線主設(shè)備請求總線時,向8086 CPU輸送請求信號HOLD,HOLD信號若與時鐘異步,則在下一個時鐘的上升沿同步HOLD信號。如圖4.8所示,CPU接收同步的HOLD信號并且允許讓出總線,在當(dāng)前總線周期的T4或空閑狀態(tài)的T1之后的下一個時鐘周期,CPU會發(fā)出HLDA信號,從而CPU便將總線讓給發(fā)出總線保持請求的設(shè)備,直到此后這個發(fā)出總線保持請求的設(shè)備又將HOLD信號變?yōu)榈碗娖剑珻PU才又收回總線控制權(quán)。引腳上往外設(shè)接口各發(fā)一個負(fù)脈沖。這兩個負(fù)脈沖都將從T2一直圖4.8 總線保持請求/保持響應(yīng)時序RDWRINTAMDENR8086 CPU一旦讓出總線控制權(quán),便

32、使地址/數(shù)據(jù)引腳、地址/狀態(tài)引腳以及控制信號引腳、/IO、及DT/地址總線以及上述控制信號之間就暫時沒有關(guān)系了,不過,ALE信號引腳不浮空。都處于浮空狀態(tài),這樣,CPU和數(shù)據(jù)總線、7. 系統(tǒng)復(fù)位8086/8088 CPU的RESET引腳,可以用來啟動或復(fù)位。當(dāng)8086在RESET引腳上檢測到一個脈沖的正沿,它中止所有的操作,直到RESET引腳信號變低。在這時寄存器被初始化到復(fù)位狀態(tài),即標(biāo)志寄存器、指令寄存器、段寄存器清零,CS為FFFFH。復(fù)位時序如圖4.9所示。圖4.9 8086的復(fù)位時序2S0SR圖中RESET引腳是輸入信號,CPU內(nèi)部是用時鐘脈沖來同步外部的復(fù)位信號的,所以CPU內(nèi)部的R

33、ESET信號是在外部RESET信號有效后的時鐘上升沿有效的。在復(fù)位的時候,代碼段寄存器和指令指針分別初始化為FFFFH和0000H,因此8086復(fù)位后,重新啟動執(zhí)行的第一條指令,在內(nèi)存的物理地址為FFFFH*16+0000H=FFFF0H。在復(fù)位后,由于標(biāo)志寄存器置0,使IF=0,處于關(guān)中斷狀態(tài),8086 CPU不能響應(yīng)可屏蔽的中斷請求。因而在系統(tǒng)程序的初始化時,用指令STI使IF=1,以使CPU能夠響應(yīng)可屏蔽中斷請求。4.2.2 最大組態(tài)的總線時序由于目前微機系統(tǒng)的CPU通常工作在最大組態(tài)。這里針對存儲器的讀寫周期來介紹一下關(guān)于最大模式的總線時序。1. 讀周期讀周期由4個周期組成,T1、T2

34、、T3、T4,時序如圖4.10所示。圖中帶星的信號是由總線控制器發(fā)出的。過程如下所述。(1) T1時,CPU發(fā)出20位地址信息和。8288進(jìn)行譯碼,發(fā)出ALE信號,地址鎖存,同時輸出低電平表示讀操作。DT/圖4.10 8086大模式總線讀操作時序2S0SMRDCIORC2S0SMMRDCMWTC (2) T2時,CPU輸出狀態(tài)信號S7S3;總線控制器在T2狀態(tài)的時鐘上升沿處,使DEN信號有效,于是,總線收發(fā)器啟動;總線控制器還根據(jù)的值發(fā)出讀信號或者(3) T3時,采樣READY,當(dāng)READY有效時,表示所讀取的存儲器或者外設(shè)速度足夠快,則在T3狀態(tài)已經(jīng)把數(shù)據(jù)送到數(shù)據(jù)總線上,于是CPU就可以獲得

35、數(shù)據(jù)。(4) T4時,各信號恢復(fù)初態(tài),數(shù)據(jù)從總線上消失,狀態(tài)信號引腳S7S3進(jìn)入高阻狀態(tài),而則按照下一個總線周期的操作類型產(chǎn)生電平變化。和最小模式下的總線讀操作類似,如果存儲器和外設(shè)得慢,則需要使用READY信號。在T3狀態(tài)和T4狀態(tài)之間插入1個或幾個TW狀態(tài)。2. 寫周期當(dāng)8086 CPU進(jìn)行存儲器或I/O端口寫操作時,總線進(jìn)入寫操作,也包括4個狀態(tài)組成,如圖4.11所示??偩€寫操作的時序與總線讀操作時序相似,首先也是要由IO/寫操作還是I/O端口寫操作。其次也是要寫入單元地址以及ALE信號,但讀命令換為寫?;蛘咻斎胼敵鲈O(shè)備端口,去執(zhí)行存儲讀操作或者輸入輸出端口讀操作。,送到存儲器信號來表示

36、進(jìn)行存儲器圖4.11 8086大模式總線寫操作時序4.3 微機系統(tǒng)的總線總線是將計算機系統(tǒng)中各個部件連接起來的信息傳輸通道,通過總線可以傳輸數(shù)據(jù)信息、地址信息、各種控制信息和狀態(tài)信息。一個系統(tǒng)中常常包含了多種類型的總線,按照傳輸信息的不同可分為數(shù)據(jù)總線、地址總線和控制總線??偩€按照布局范圍,總線可分為內(nèi)部總線、局部總線、系統(tǒng)總線、外部總線。其中內(nèi)部總線位于CPU內(nèi)部、用來連接片內(nèi)運算器和寄存器等各個部件的總線。局部總線位于主板上,連接主板上各個主要部件,且通過擴展槽連接各種適配器。外部總線是微機與外設(shè)之間或微機系統(tǒng)之間的通信總線。系統(tǒng)總線是指CPU、主存、I/O(通過I/O接口)設(shè)備各大部件的信息傳輸線。這些部件通常安

溫馨提示

  • 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

提交評論