处理器总线时序和系统总线课件_第1页
处理器总线时序和系统总线课件_第2页
处理器总线时序和系统总线课件_第3页
处理器总线时序和系统总线课件_第4页
处理器总线时序和系统总线课件_第5页
已阅读5页,还剩67页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

處理器匯流排時序和系統匯流排

5.1處理器匯流排

5.1.1微處理器的引腳功能8086微處理器是一個雙列直插式、40個引腳的器件,它的引腳功能與系統的組態有關。1.8086CPU的兩種組態當8086CPU與記憶體和外設構成一個電腦的硬體系統時,根據所連的記憶體和外設的規模,8086可以有兩種不同的組態。

若利用8086構成一個較小的系統時,即所連的記憶體容量不大,晶片不多,所要連接的I/O端口也不多,則系統的地址匯流排可以由CPU的AD0~AD15、A16~A19通過地址鎖存器8282晶片構成;數據匯流排既可以直接由AD0~AD15供給,也可以通過發送/接收介面晶片8286供給以增大匯流排的驅動能力;系統的控制匯流排就直接由CPU的控制線供給。這種組態就稱為8086CPU的最小組態,如圖5-1所示。

若利用8086CPU構成的系統較大,要求有較強的驅動能力,這樣8086就要通過一組匯流排控制器8288來形成各種匯流排週期,系統的控制信號也由8288器件供給。這時,8086CPU就處在最大組態,如圖5-2所示。在這兩種組態下,8086引腳中的腳24至腳31具有不同的名稱和意義,所以需要有一個引腳MN/MX來規定8086處在哪一種組態。若把MN/MX引腳接至電源(+5V),則8086CPU處在最小組態;若把MN/MX引腳接地,則8086CPU處在最大組態。2.8086CPU的引線

8086微處理器的引線如圖5-3所示。AD15~AD0(輸入/輸出,三態)

這些地址/數據引線是多路開關的輸出。由於8086CPU只有40條引線,而它的地址線是20位,數據線是16位,因此40條引線的數量不能滿足要求,於是在CPU內部用一些多路開關,使數據線與低16位地址線公用,從時間上加以區分。通常當CPU訪問記憶體或外設時,先要給出所訪問單元(或端口)的地址(在T1狀態),然後才是讀寫所需的數據(T2、T3、TW狀態),它們在時間上是可區分的。只要在外部電路中有一個地址鎖存器,把在這16條線上先輸出的16位地址鎖存下來就可以了。在DMA方式時,這些線浮空。A19/S6、A18/S5、A17/S4、A16/S3(輸出,三態)

這些引線也是多路開關的輸出,在記憶體操作的匯流排週期的T1狀態時,這些線上是最高四位地址(也需要外部鎖存)。在I/O操作時,這些地址不用,故在T1狀態時全為低電平。在記憶體和I/O操作時,這些線又可以用來作為狀態資訊(在T2、T3、TW狀態時)。但S6始終為低;S5是標誌寄存器中中斷允許標誌的狀態位,它在每一個時鐘週期開始時被修改;S4和S3用以指示是哪一個段寄存器正在被使用。在DMA方式時,這些線浮空。RD#(輸出,三態)

讀選通信號,低電平有效。當其有效時,表示正在進行記憶體讀或I/O讀。在DMA方式時,此線浮空。READY(輸入)

準備就緒信號,這是從所尋址的記憶體或I/O設備來的回應信號,高電平有效。當其有效時,將完成數據傳送。CPU在T3週期的開始採樣READY線,若其為低,則在T3週期結束以後,插入TW週期,直至READY變為有效,則在此TW週期結束以後,進入T4週期,完成數據傳送。INTR(輸入)

可遮罩中斷請求信號,這是一個電平觸發輸入信號,高電平有效。CPU在每一個指令週期的最後一個T狀態採樣這條線,以決定是否進入中斷回應週期。這條線上的請求信號,可以用軟體複位內部的中斷允許位來加以遮罩。TEST#(輸入)

這個檢測輸入信號是由“Wait”指令來檢查的。若此輸入腳有效(低電平有效),則執行繼續,否則處理器就等待進入空轉狀態。這個信號在每一個時鐘週期的上升沿由內部同步。NMI(輸入)

非遮罩中斷輸入信號(Non

Maskable

Interrut),這是一個邊沿觸發信號。這條線上的中斷請求信號不能用軟體來加以遮罩,所以這條線上由低到高的變化,就在當前指令結束以後引起中斷。RESET(輸入)

複位輸入信號,有效的複位信號引起處理器立即結束當前操作。這個信號必須保持有效(高電平)至少4個時鐘週期,以完成內部的複位過程。當其返回為低電平時,它重新啟動執行。CLK(輸入)

時鐘輸入信號,它提供了處理器和匯流排控制器的定時操作。8086的標準時鐘頻率為8MHz。VCC是5V±10%的電源腳。GND接地線。5.2IA-32微處理器的工作狀態IA-32微處理器發展到目前的第六代、第七代產品,內部集成有多達幾千萬個電晶體,工作時鐘已經超過1GHz,CPU晶片工作功耗達40瓦左右。晶片功耗的不斷增加,必將導致晶片工作溫度的進一步升高,而工作溫度的升高將直接影響晶片的正常工作,甚至使晶片永久損壞。因此,在晶片設計和應用時必須考慮這些問題。實際上,晶片生產廠商在生產晶片上已經採取了一些措施,如降低晶片的工作電壓(從5V→3.3V→2.4V→1.3V→更低)、外部安裝風扇降溫等,還有一個重要的措施也可以降低微處理器晶片一些不必要的功耗,這就是本節要介紹的時鐘控制。

對微處理器的工作時鐘進行必要的控制,可以降低微處理器一些不必要的功耗。系統邏輯通過啟用STPCLK#信號有效,引起處理器在完成當前正在進行的匯流排週期後,進入停止允許狀態(StopGrantState)。此時,處理器的內部時鐘CLK停止,隨後系統邏輯可以繼續使處理器進入到停止時鐘狀態(StopClockState),系統匯流排的工作時鐘BCLK停止。通過這種時鐘控制,可以使處理器暫時離開任何常規操作模式(實模式、保護模式,虛擬8086模式、系統管理模式SMM)或暫停狀態(HaltState),進入低功耗的停止時鐘狀態。

在有電源控制功能的微型電腦系統中,外部電源管理邏輯一直監視著地址匯流排和週期定義信號的活動狀態;並負責向微處理器驅動STPCLK#、CLK和SMI#信號。在通常情況下,在處理器初始進入SMM關閉一個或多個I/O設備的電源後的一段時間(用戶可設置)內,若被監視的信號依然處於非活動狀態,電源管理邏輯便再次啟用SMI#信號,SMM服務線程將獲得相關的資訊,並決定關閉處理器本身的電源。在進行相關操作(如保存狀態)之後,將這個決定通知到電源管理邏輯,電源管理邏輯向處理器啟用STPCLK#信號,停止向處理器驅動CLK和其他邏輯,從而使微處理器的功耗達到最低。

根據不同的時鐘控制,微處理器具有下列幾種時鐘控制工作狀態:

(1)常規狀態(NormalState):這種工作狀態是指處理器運行在實模式、虛擬8086模式、保護模式或系統管理模式SMM下的總稱。在此狀態下,系統各部件正常運轉,包括外部匯流排時鐘和處理器內部時鐘,處理器的所有特性與功能都是有效的。

(2)暫停狀態(HaltState):指處理器自身成功地執行一條HLT指令後所進入的一種低功耗狀態,在此狀態期間,處理器內部時鐘停止。 (3)停止允許狀態(StopGrantState):當處理器識別到來自外部邏輯的一次有效的STPCLK#信號後進入的一種低功耗狀態,在此狀態期間,處理器內部時鐘停止。

(4)停止允許窺探狀態(StopGrantSnoopState):當處理器處在暫停狀態或停止允許狀態時,若系統邏輯啟動一次針對Cache的查詢週期,導致處理器進入的另一種低功耗工作狀態。

(5)睡眠狀態(SleepState):該狀態僅適應第六代處理器,當處理器處於停止允許狀態時,如果引腳SLP#有效,則處理器進入另一種低功耗狀態。 (6)停止時鐘狀態(StopClockState)或稱做深度睡眠狀態(DeepSleepState):當第五代以前的處理器處於停止允許狀態或第六代處理器處於睡眠狀態時,若使系統匯流排時鐘BCLK停止,則導致處理器進入的一種系統最低功耗狀態。圖5-5展示了這幾種狀態之間的相互轉換關係。5.3處理器時序

5.3.18086處理器時序時序的基本概念電腦的工作是在時鐘脈衝CLK的統一控制下,一個節拍一個節拍地實現的。在CPU執行某一個程式之前,先要把程式(已變為可執行的目標程式)放到記憶體的某個區域。在啟動執行後,CPU就發出讀指令的命令;記憶體接到這個命令後,從指定的地址(在8086中由碼段寄存器CS和指令指針IP給定)讀出指令,把它送至CPU的指令寄存器中;CPU對讀出指令經過解碼器分析之後,發出一系列控制信號,以執行指令規定的全部操作,控制各種資訊在機器(或系統)各部件之間傳送。8086微處理器每條指令的執行有取指、解碼、執行這樣的階段,但由於微處理器內有匯流排介面單元BIU和執行單元EU,所以在執行一條指令的同時(這在EU中操作),BIU就可以取下一條指令,它們在時鐘上是重疊的。所以,從總體上來說,似乎不存在取指階段,這種功能就稱為“流水線”功能。目前,在高檔微處理器中往往有多條流水線,使微處理器的許多內部操作“並行”進行,從而大大提高了微處理器的工作速度。

執行一條指令的一系列動作,都是在時鐘脈衝CLK的統一控制下一步一步進行的,它們都需要一定的時間(當然有些操作在時間上是重疊的)。如何確定執行一條指令所需要的時間呢?

執行一條指令所需要的時間稱為指令週期(InstructionCycle)。但是,8086中不同指令的指令週期是不等長的。因為,首先8086的指令是不等長的,最短的指令是一個位元組,大部分指令是兩個位元組,但由於各種不同尋址方式又可能要附加幾個位元組,8086中最長的指令可能要6個位元組。

指令的最短執行時間是兩個時鐘週期,一般的加、減、比較、邏輯操作是幾十個時鐘週期,最長的為16位數乘除法操作約需要200個時鐘週期。指令週期又分為一個個匯流排週期。每當CPU要從記憶體或I/O端口,讀寫一個位元組(或字)就是一個匯流排週期(BusCycle)。所以,對於多位元組指令,取指就需要若干個匯流排週期;在指令的執行階段,不同的指令也會有不同的匯流排週期,有的只需要一個匯流排週期,而有的可能需要若干個匯流排週期。一個基本的匯流排週期的時序如圖5-6所示。

每個匯流排週期通常包含4個T狀態(Tstate),即圖5-6中的T1、T2、T3、T4,每個T狀態是8086中處理動作的最小單位,它就是時鐘週期(ClockCycle)。早期的8086的時鐘頻率為8MHz,故時鐘週期或者一個T狀態為125ns。雖然各條指令的指令週期有很大差別,但它們仍然是由以下一些基本的匯流排週期組成的:

(1)記憶體讀或寫匯流排週期;

(2)輸入輸出端口的讀或寫匯流排週期;

(3)中斷回應週期。8086CPU的每條指令都有自己的固定的時序。例如從記憶體讀一個位元組(或字)的操作匯流排週期是由4個T狀態組成,如圖5-7所示。

CPU在T1狀態把地址資訊從地址線A19~A16、AD15~AD0上輸出,並且立即發出地址鎖存信號ALE,把在A19~A16上出現的高4位地址和在AD15~AD0上出現的低16位地址,在外部地址鎖存器上鎖存。這樣,20位地址資訊就送至記憶體。CPU也是在T1狀態發出區分是記憶體還是I/O操作的IO/M#信號。

在T2狀態,CPU發出讀命令信號(若使用介面晶片8286,還有相應的控制信號DT/R和DEN)。有了這些控制信號,記憶體就可以實現讀出。在這些信號發出後,CPU等待一段時間,到它的T4狀態的前沿(下降沿)採樣數據匯流排AD15~AD0以獲取數據,從而結束此匯流排週期。

記憶體從接收到地址信號,要經過地址解碼選擇,選中所需要的單元,I/O端口也如此。從接收到IO/M#信號和RD#信號(這些信號一般用作選通信號),到資訊從被選中的單元讀出送至數據匯流排也都是需要一定時間的,它是否能在T4週期的前沿之前完成,這完全取決於存儲電路或I/O端口本身。所以,在CPU的時序和記憶體或I/O端口的時序之間存在配合問題。CPU中設計了一條準備就緒——READY輸入線,這是由記憶體或I/O端口輸送給CPU的狀態信號線;在記憶體或I/O端口對數據的讀寫操作完成時,使READY線有效(即為高電平)。CPU在T3狀態的前沿(下降沿)採樣READY線,若其有效,則為正常週期,在T3狀態結束後進入T4狀態,且CPU在T4狀態的前沿採樣數據匯流排,完成一個讀寫週期;若CPU在T3狀態的前沿採樣到READY為無效(低電平),則在T3週期結束後,進入TW週期(等待週期),而且在TW週期的前沿採樣READY線,只要其為無效,就繼續進入下一個TW週期,直至在某一個TW週期的前沿採樣到READY為有效時,則在此TW週期結束時進入T4週期,在T4狀態的前沿採樣數據線,完成一個讀寫週期,其過程如圖5-8所示。

因此,在設計系統的硬體電路時,要根據CPU與所選的記憶體的讀寫速度,分析能否在時序上很好地配合,若需要插入TW週期,就要設計一個硬體電路來產生適當的READY信號。有了READY信號線,就可以使CPU與任何速度的記憶體相連接(當然記憶體的速度還是要由系統的要求來選定)。但是,這說明了當CPU與記憶體或I/O端口連接時,要考慮相互之間的時序配合問題。2.8086CPU的典型時序在最大組態下,8086的基本匯流排週期由4個T狀態組成。在T1狀態時,8086發出20位地址信號,同時送出狀態信號S0#、S1#、S2#給8288匯流排控制器。8288對S0#~S2#進行解碼,產生相應命令的輸出控制信號。首先,8288在T1期間送出地址鎖存允許信號ALE,將CPU輸出的地址資訊鎖存至地址鎖存器中,再輸出到系統地址匯流排上。在T2狀態,8086開始執行數據傳送操作。此時,8086內部的多路開關進行切換,將地址/數據線AD0~AD15上的地址撤銷,切換成數據匯流排,為讀寫數據作準備。8288發出數據匯流排允許信號和數據發送/接收控制信號DT/R#允許數據收發器工作,使數據匯流排與8086的數據線接通,並控制數據傳送的方向。同樣,把地址/狀態線A16/S3~A19/S6切換成與匯流排週期有關的狀態資訊,指示若干與週期有關的情況。在T3週期開始的時鐘下降沿上,8086採樣READY線。如果READY信號有效(高電平),則在T3狀態結束後進入T4狀態,在T4狀態開始的時鐘下降沿,把數據匯流排上的數據讀入CPU或寫進地址選中的單元。在T4狀態,結束匯流排週期。

如果訪問的是慢速記憶體或外設介面,則應該在T1狀態輸出的地址經過解碼選中某個單元或設備後,立即驅動READY信號到低電平。8086在T3狀態採樣到READY信號無效,就會插入等待週期TW,在TW狀態CPU繼續採樣READY信號;直至其變為有效後再進入T4狀態,完成數據傳送,結束匯流排週期。在T4狀態,8086完成數據傳送,狀態信號S0#~S2#變為無操作的過渡狀態。在此期間,8086結束匯流排週期,恢復各信號線的初態,準備執行下一個匯流排週期。 (1)記憶體讀週期和記憶體寫週期 記憶體讀寫週期由4個時鐘週期組成,即使用T1、T2、T3和T4四個狀態。

(2)I/O讀和I/O寫週期

8086微處理器的基本I/O讀寫匯流排週期時序與記憶體讀寫週期時序是類似的。但通常I/O介面電路的工作速度較慢,往往要插入等待狀態。即基本的I/O操作是由T1、T2、T3、TW、T4組成,佔用5個時鐘週期。 (3)空轉週期 若CPU不執行機器週期,即不進行記憶體或I/O操作,則匯流排介面執行空轉週期(一系列的T1狀態)。在這些空轉週期,CPU在高位地址線上仍然驅動上一個機器週期的狀態資訊。若上一個機器週期是寫週期,則在空轉狀態,CPU在AD15~AD0上仍輸出上一個機器週期要寫的數據,直至下一個機器週期的開始。 在這些空轉週期,CPU進行內部操作。

(4)中斷回應週期 當外部中斷源通過INTR或NMI引線向CPU發出中斷請求信號時,若是INTR引線上的信號,則只有在標誌位I=1(即CPU處在開中斷)的條件下,CPU才會回應。CPU在當前指令執行完以後,回應中斷。在回應中斷時,CPU執行兩個連續的中斷回應週期,如圖5-12所示。 在每一個中斷回應的機器週期,CPU都輸出中斷回應信號INTA#。在第一個機器週期,CPU使AD15~AD0浮空。在第二個機器週期,被回應的外設(或介面晶片)應向數據匯流排輸送一個位元組的中斷向量號,CPU讀入中斷向量號後,就可以在中斷向量表上找到該設備服務程式的入口地址,轉入中斷服務。 (5)系統複位

8086的RESET引線,可以用來啟動或再啟動系統。 當8086在RESET引線上檢測到一個脈衝的正沿,便終結所有的操作,直至RESET信號變低。這時,寄存器被初始化到複位狀態。 在複位的時候,碼段寄存器和指令指針分別被初始化為0FFFFH和0。因此,8086在複位後執行的第一條指令,在內存的絕對地址0FFFF0H處。在正常情況下,從0FFFF0H單元開始,存放一條段交叉直接JMP指令,以轉移到系統程式的實際開始處。 在複位時,由於把標誌位全清除了,所以系統對INTR引線上的請求是遮罩的。因此,系統軟體在系統初始化時,就應立即用指令來開放中斷(即用STI指令)。 (6)CPU進入和退出保持狀態的時序 當系統中有別的匯流排主設備請求匯流排時,匯流排主設備向CPU輸送請求信號HOLD,HOLD信號與時鐘非同步,則在下一個時鐘的上升沿同步HOLD信號。CPU接收同步的HOLD信號後,在當前匯流排週期的T4,或下一個匯流排週期的T1的後沿輸出保持回應信號HLDA,緊接著從下一個時鐘開始CPU就讓出匯流排。當外設的DMA傳送結束,使HOLD信號變低,HOLD信號也是與時鐘非同步,則在下一個時鐘的上升沿同步,在緊接著的下降沿使HLDA信號變為無效,其時序如圖5-14所示。5.4系統總線

微型電腦系統大都採用匯流排結構。這種結構的特點是採用一組公共的信號線作為微型電腦各部件之間的通信線,這種公共信號線就稱為匯流排。 小系統單板電腦各晶片之間,組成微型電腦的插件板之間,微型電腦系統之間,都有各自的匯流排。這些匯流排把各部件組織起來,組成一個能彼此傳遞資訊和對資訊進行加工處理的整體。因此匯流排是各部件聯繫的紐帶,在介面技術中扮演著重要的角色。隨著微型電腦硬體的發展,匯流排也不斷地發展與更換。5.4.1概述1.

匯流排的分類 根據所處的位置不同,匯流排可以分為:

(1)片內匯流排 片內匯流排位於微處理器晶片的內部,用於算術邏輯單元ALU與各種寄存器或者其他功能單元之間的相互連接。

(2)片匯流排 片匯流排又稱元件級匯流排或局部匯流排,是一臺單板電腦或一個插件板的板內匯流排,用於各晶片之間的連接。它是微型機系統內的重要匯流排,在連接介面晶片與CPU時就涉及這樣的匯流排。片匯流排一般是CPU晶片引腳的延伸,往往需要增加鎖存、驅動等電路,以提高CPU引腳的驅動能力。 (3)內匯流排 內匯流排又稱為微型電腦匯流排或板級匯流排,一般稱為系統匯流排,用於微型電腦系統各插件板之間的連接,是微型電腦系統的最重要的一種匯流排。一般談到微型電腦匯流排,指的就是這種匯流排。 目前,通用的微型電腦系統有一塊標準化的主板,板上安裝了CPU、記憶體(數十兆位元組至數百兆位元組)和I/O設備的介面,通過主板上的插口槽上所插的插件板與各種I/O設備相連。例如,通過插件板與各種顯示器相連;提供一部分串行、並行的I/O口;通過網路適配器卡連接各種網路;……。

當然也有一種趨勢,把上述這些最基本的外設的介面或適配器集成到主板上。但是,一個系統總是有可能要擴展的,一種微機系統有可能應用在各種領域,每種領域都會有自己的特殊需求。所以,目前的微機系統的主板上,總是留有插槽,用於插件板與微機系統相連。插件板與主板的連接,就是內匯流排或稱為系統匯流排。

(4)外匯流排 外匯流排又稱通信匯流排,用於系統之間的連接,如微機系統之間,微機系統與儀器、儀錶或其他設備之間的連接。常用的外匯流排有RS

232C、IEEE

488、VXI等匯流排。 上述各級匯流排的示意圖,如圖5-25所示。

匯流排必須在以下幾方面做出規定:

(1)物理特性:物理特性指的是匯流排物理連接的方式。包括匯流排的根數、匯流排的插頭、插座是什麼形狀的、引腳是如何排列的等。例如,IBM

PC/XT的匯流排共62根線,分兩列編號。

(2)功能特性:功能特性描寫的是這一組匯流排中,每一根線的功能是什麼。從功能上劃分,匯流排分為三組(即三匯流排):地址匯流排、數據匯流排和控制匯流排。 (3)電氣特性:電氣特性定義每一根線上信號的傳送方向、有效電平範圍。一般規定送入CPU的信號稱作輸入信號(IN),從CPU送出的信號稱作輸出信號(OUT)。

(4)時間特性:時間特性定義了每根線在什麼時間有效,也就是每根線的時序。 匯流排大體可以分成以下幾種主要類型: (1)地址匯流排 地址匯流排是微型電腦用來傳送地址的信號線。地址線的數目決定了直接尋址的範圍。8088(8086)CPU有20根地址線,可尋址1MB。80286有24根地址線,可尋址16MB。80386CPU以上的晶片有32根地址線可尋址4GB。P6以上處理器有36根地址線,可尋址64GB。目前,正在開發64位CPU,其尋址範圍就更大了。地址匯流排均為單向、三態匯流排,即信號只有一個傳送方向,三態是指除了可輸出高電平或低電平外,還可處於斷開(高阻)狀態。 (2)數據匯流排 數據匯流排是傳送數據和代碼的匯流排,一般為雙向信號線,既可輸入也可輸出。數據匯流排也採用三態邏輯。 數據匯流排已由8條、16條、32條,擴展為64條。

(3)控制匯流排 控制匯流排是傳送控制信號的匯流排。用來實現命令、狀態的傳送,中斷、直接記憶體傳送的請求與控制信號的傳送,以及提供系統使用的時鐘和複位信號等。

根據不同的使用條件,控制匯流排有的為單向、有的為雙向,有的為三態,有的為非三態。控制匯流排是一組很重要的信號線,它決定了匯流排功能的強弱和適應性的好壞。好的控制匯流排功能強、時序簡單且使用方便。

(4)電源線和地線 電源線和地線決定了匯流排使用的電源種類以及地線的分佈和用法。

(5)備用線 備用線留作功能擴充和用戶的特殊要求使用。

系統匯流排一般都做成多個插槽的形式,各插槽相同的引腳都連在一起,匯流排就連到這些引腳上。 為了工業化生產和能實現相容,匯流排實行了標準化。匯流排介面引腳的定義、傳輸速率的設定、驅動能力的限制、信號電平的規定、時序的安排以及資訊格式的約定等,都有統一的標準。外匯流排則使用標準的介面插頭,其結構和通信約定也都是標準的。2.匯流排的操作過程 系統匯流排上的數據傳輸是在主控模組的控制下進行的,主控模組是有控制匯流排能力的模組,例如CPU、DMA控制器。匯流排從屬模組則沒有控制匯流排的能力,它可以對匯流排上傳來的信號進行地址解碼,並且接受和執行匯流排主控模組的命令信號。匯流排完成一次數據傳輸週期,一般分為以下四個階段: (1)申請階段 當系統匯流排上有多個主控模組時,需要使用匯流排的主控模組提出申請,由匯流排仲裁部件確定把下一傳輸週期的匯流排使用權授給哪個模組。若系統匯流排上只有一個主控模組,就無需這一階段。

(2)尋址階段 取得匯流排使用權的主控模組通過匯流排發出本次打算訪問的從屬模組的地址及有關命令,以啟動參與本次傳輸的從屬模組。 (3)傳數階段 主控模組和從屬模組之間進行數據傳輸,數據由源模組發出經數據匯流排流入目的模組。

(4)結束階段 主控模組的有關資訊均從系統匯流排上撤除,讓出匯流排。3.匯流排的數據傳輸方式 主控模組和從屬模組之間的數據傳送有以下幾種傳輸方式: (1)同步式傳輸 此方式用“系統時鐘”作為控制數據傳送的時間標準。主設備與從設備進行一次傳送所需要的時間(稱為傳輸週期或匯流排週期)是固定的,其中每一個步驟的起止時刻,也都有嚴格的規定,都以系統時鐘來統一步伐。 同步傳輸要求主模組嚴格地按系統時鐘規定的時刻發出地址、命令,也要求從模組嚴格地按系統時鐘的規定讀出數據或完成寫入操作。主模組和從模組之間的時間配合是強制同步的。 同步傳輸動作簡單,但要解決各種速率的模組的時間匹配。當把一個慢速設備連接至同步系統上,就要求降低時鐘速率來遷就此慢速設備。 (2)非同步式傳輸 非同步式傳輸採用“應答式”傳輸技術。用“請求REQ(Request)”和“應答ACK(Acknowledge)”兩條信號線來協調傳輸過程,而不依賴於公共時鐘信號。它可以根據模組的速率自動調整回應的時間,介面任何類型的週邊設備都不需要考慮該設備的速度,從而避免同步式傳輸的上述缺點。 非同步式讀、寫操作的時序如圖5-27所示。

非同步式傳輸,利用REQ和ACK的呼應關係來控制傳輸過程,其主要特點是:

①應答關係完全互鎖,即REQ和ACK之間有確定的制約關係,主設備的請求REQ有效,由從設備的ACK來回應;ACK有效,允許主設備撤銷REQ;只有REQ已撤銷,才最後撤銷ACK;只有ACK已撤銷,才允許下一個傳輸週期的開始。這就保證了數據傳輸的可靠進行。

②數據傳送的速度不是固定不變的,它取決於從模組的存取速度。因而同一個系統中可以容納不同存取速度的模組,每個模組都能以其最佳可能的速度來配合數據的傳輸。 非同步傳輸的缺點是不管從模組存取時間的快、慢,每次都要經過4個步驟:請求、回應、撤銷請求、撤銷回應。因此影響效率。 (3)半同步式傳輸 此種方式是前兩種方式的折衷。從總體上看,它是一個同步系統,仍用系統時鐘來定時,利用某一時鐘脈衝的前沿或後沿判斷某一信號的狀態,或控制某一信號的產生或消失,使傳輸操作與時鐘同步。但是,它又不像同步傳輸那樣傳輸週期固定。對於慢速的從模組,其傳輸週期可延長時鐘脈衝週期的整數倍。其方法是增加一條信號線(WAIT或READY)。READY信號線無效時,表示選中的從設備尚未準備好數據傳輸(寫時,未作好接收數據的準備;讀時,數據未放至數據匯流排上)。系統用一適當的狀態時鐘檢測此線,若READY為無效,系統就自動地將傳輸週期延長一個時鐘週期(通過插入等待週期來實現),強制主模組等待。在延長的時鐘週期中繼續進行檢測,重複上述過程,直至檢測到READY信號有效,才不再延長傳輸週期。這個檢測過程又像非同步傳輸那樣視從設備的速度而異,允許不同速度的模組協調地一起工作。但READY信號不是互鎖的,只是單方面的狀態傳輸。

半同步傳輸方式,對能按預

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论