組成原理電子教案(第7章2)_第1頁
組成原理電子教案(第7章2)_第2頁
組成原理電子教案(第7章2)_第3頁
組成原理電子教案(第7章2)_第4頁
組成原理電子教案(第7章2)_第5頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、本章學(xué)習(xí)導(dǎo)讀:(1)總線的基本組成、分類與特性、裁決方式、定時方式。(2)典型總線接口標(biāo)準(zhǔn):ISA,EISA,VESA,PCI,SCSI,USB,IEEE1394。(3)計算機(jī)系統(tǒng)中多重總線的分級結(jié)構(gòu)。 第7章 總線及總線互連結(jié)構(gòu) 部件之間的兩種互連方式: 各部件之間通過單獨的連線互連,稱為分散連接方式。 各個部件連接到一組公共信息傳輸線上,稱為總線連接方式。 總線結(jié)構(gòu)的兩個主要優(yōu)點是靈活和成本低。 靈活性體現(xiàn)在新部件可以很容易地加到總線上,且部件可以在使用相同總線的計算機(jī)系統(tǒng)之間互換。 一組單獨的連線可被多個部件共享,所以總線的性價比高。 現(xiàn)代計算機(jī)普遍使用的是總線互連結(jié)構(gòu)。 總線的主要缺點

2、是它可能產(chǎn)生通信瓶頸。 本章著重介紹總線的基本概念、總線設(shè)計中的幾個因素、總線標(biāo)準(zhǔn)及其現(xiàn)代計算機(jī)的總線互連結(jié)構(gòu)。71 總線的基本概念 計算機(jī)內(nèi)部進(jìn)行信息交換,必須在部件之間構(gòu)筑通信線路,通常把連接各部件的通路的集合稱為互連結(jié)構(gòu)。 互連結(jié)構(gòu)從分散結(jié)構(gòu)發(fā)展到總線結(jié)構(gòu)。 總線是連接兩個或多個功能部件的一組共享的信息傳輸線,它的主要特征就是多個部件共享傳輸介質(zhì);一個部件發(fā)出的信號可以被連接到總線上的其他所有部件所接收。7.1.1 總線的特性和分類(1) 物理特性: 總線的物理特性是指總線在機(jī)械物理連接上的特性。包括:連線類型、數(shù)量、接插件的幾何尺寸和形狀以及引腳線的排列等。 從連線的類型來看,總線可分

3、為電纜式、主板式和底板式。 連線的數(shù)量來看,總線一般分為串行總線和并行總線。在并行傳輸總線中,按數(shù)據(jù)線的寬度分8位、16位、32位、64位總線等。 總線的特性(2) 電氣特性: 總線的電氣特性是指總線的每一條信號線的信號傳遞方向、信號的有效電平范圍。 總線的電平表示方式有兩種:單端方式和差分方式。 在單端電平方式中,用一條信號線和一條公共接地線來傳遞信號;采用正邏輯。 差分電平方式采用一條信號線和一個參考電壓比較來互補(bǔ)傳輸信號,一般采用負(fù)邏輯。 CPU發(fā)出的信號為輸出信號,送入CPU的信號為輸入信號。 一般串行總線用于長距離的數(shù)據(jù)傳送,并行總線用于短距離的高速數(shù)據(jù)傳送。(3) 功能特性: 總線

4、功能特性是指總線中每根傳輸線的功能。如地址線用來傳輸?shù)刂沸畔ⅲ瑪?shù)據(jù)線用來傳輸數(shù)據(jù)信息,控制線用來發(fā)出控制信息,不同的控制線其功能不同。(4) 時間特性: 總線時間特性是指總線中任一根傳輸線在什么時間內(nèi)有效,以及每根線產(chǎn)生的信號之間的時序關(guān)系。用信號時序圖來說明。 例如,串行總線接口標(biāo)準(zhǔn)RS-232C,采用差分電平方式。 根據(jù)所連接部件的不同,總線通常被分成三種類型(1) 內(nèi)部總線: 指芯片內(nèi)部連接各元件的總線。如CPU芯片內(nèi)部,在各個寄存器、ALU、指令部件等各元件之間也有總線相連。(2) 系統(tǒng)總線: 指連接CPU、存儲器和各種I/O模塊等主要部件的總線。有主板式和底板式總線。 主板式總線是一

5、種板級總線,主要連接主機(jī)系統(tǒng)印刷電路板中的CPU和主存等部件,也被稱為處理器-主存總線。 底板式總線通常用于連接系統(tǒng)中的各個功能模塊,實現(xiàn)系統(tǒng)中的各個電路板的連接。典型的有PCI總線、Multibus總線、VME總線等。(3) 通信總線: 這類總線用于主機(jī)和I/O設(shè)備之間或計算機(jī)系統(tǒng)之間的通信。 由于這類連接涉及到許多方面,包括:距離遠(yuǎn)近、速度快慢、工作方式等,差異很大,所以通信總線的種類很多。7.1.2 系統(tǒng)總線的組成 系統(tǒng)總線通常由一組控制線、一組數(shù)據(jù)線和一組地址線構(gòu)成;也有數(shù)據(jù)線和地址線復(fù)用。 數(shù)據(jù)線用來承載在源部件和目的部件之間傳輸?shù)男畔ⅲ@個信息可能是數(shù)據(jù)、命令、或地址(數(shù)據(jù)線和地址

6、線復(fù)用時)。如寫磁盤。 地址線用來給出源數(shù)據(jù)或目的數(shù)據(jù)所在的主存單元或I/O端口的地址。 控制線用來控制對數(shù)據(jù)線和地址線的訪問和使用;控制線用來傳輸定時信號和命令信息。 典型的控制信號包括: 時鐘(Clock):用于總線同步。 復(fù)位(Reset):初始化所有設(shè)備。 總線請求(Bus Request):表明發(fā)出該請求信號的設(shè)備要使用總線。 總線允許(Bus Grant):表明接收到該允許信號的設(shè)備可以使用總線。 中斷請求(Interrupt Request):表明某個中斷正在請求。 中斷回答(Interrupt Acknowledge):表明某個中斷請求已被接受。 存儲器讀(Memory Rea

7、d):從指定的主存單元中讀數(shù)據(jù)到數(shù)據(jù)總線上。 存儲器寫(Memory Write):將數(shù)據(jù)總線上的數(shù)據(jù)寫到指定的主存單元中。 I/O讀(I/O Read):從指定的I/O端口中讀數(shù)據(jù)到數(shù)據(jù)總線上。 I/O寫(I/O Write):將數(shù)據(jù)總線上的數(shù)據(jù)寫到指定的I/O端口中。 傳輸確認(rèn)(Transfer ACK):表示數(shù)據(jù)已被接收或已被送到總線上。7.1.3 總線的數(shù)據(jù)傳輸方式 計算機(jī)總線中,數(shù)據(jù)傳輸有兩種基本方式:串行傳輸、并行傳輸。1串行傳輸 串行總線的數(shù)據(jù)在數(shù)據(jù)線上按位進(jìn)行傳輸,只需要一根數(shù)據(jù)線,線路成本低,適合于遠(yuǎn)距離的數(shù)據(jù)傳輸。 在計算機(jī)中普遍使用串行通信總線連接慢速設(shè)備,象鍵盤、鼠標(biāo)和

8、終端設(shè)備等。近年來出現(xiàn)一些中高速的串行總線,可連接各種類型的外設(shè),可傳送多媒體信息,如P1394串行總線。 串行傳輸中的數(shù)據(jù)轉(zhuǎn)換 發(fā)送部件中并行數(shù)據(jù)到串行數(shù)據(jù)的轉(zhuǎn)換,稱為拆卸; 接收部件中串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),稱為裝配。 串行傳輸中的數(shù)據(jù)傳輸速率 在信息傳輸通道中,攜帶數(shù)據(jù)信息的信號單元叫碼元; 每秒鐘通過信道傳輸?shù)拇a元數(shù)稱為碼元傳輸速率,簡稱波特率。反映了每秒鐘傳輸數(shù)據(jù)的位數(shù)。 每秒鐘通過信道傳輸?shù)男畔⒘糠Q為位傳輸速率,簡稱比特率。反映了在傳輸介質(zhì)上每秒鐘傳輸?shù)乃行畔⑽粩?shù)。 波特率、比特率的單位都是位/秒(bps);比特率可以大于或等于波特率 串行傳輸方式有同步傳輸方式和異步傳輸方式兩種

9、 在異步傳輸方式中,每個字符要用一位起始位和若干停止位作為字符傳輸?shù)拈_始和結(jié)束標(biāo)志,需占用一定的時間。 同步傳輸方式要求有時鐘來實現(xiàn)發(fā)送端和接收端的同步,傳輸速度較快;但接口的硬件較復(fù)雜。 數(shù)據(jù)塊傳輸時,只在數(shù)據(jù)塊的開始和結(jié)尾處用一個或若干個同步字符作標(biāo)志。這種傳輸方式稱為同步串行傳輸方式。2并行傳輸 并行總線的數(shù)據(jù)在數(shù)據(jù)線上同時有多位一起傳送,每一位要有一根數(shù)據(jù)線。并行傳輸比串行傳輸速度要快得多,但需要更多的傳輸線。 并行傳輸中的數(shù)據(jù)傳輸速率 衡量并行總線速度的指標(biāo)是最大數(shù)據(jù)傳輸率,即單位時間內(nèi)在總線上傳輸?shù)淖畲笮畔⒘?。一般用每秒多少兆字?jié)(MB/s)來表示。 總線的工作頻率為66MHz,總

10、線寬度為32位,則它的最大數(shù)據(jù)傳輸率為:66 32/8 = 264MB/s;這里1M=106 。 將并行方式和串行方式結(jié)合起來進(jìn)行數(shù)據(jù)傳輸。72 總線設(shè)計的要素總線設(shè)計時要考慮的基本要素包括:1)信號線類型:專用信號線 / 復(fù)用信號線2)仲裁方法:集中式裁決 / 分布式裁決3)定時方式:同步通信 / 異步通信4)事務(wù)類型:總線所支持的各種數(shù)據(jù)傳輸類型和其他總線操作類型5)總線帶寬:單位時間內(nèi)在總線上傳輸?shù)挠行?shù)據(jù)7.2.1 信號線類型 專用信號線就是指這種信號線專門用來傳送某一種信息。 采用數(shù)據(jù)和地址專用線,主存單元地址和數(shù)據(jù)可以同時送到總線上。 復(fù)用信號線就是指一種信號線在不同的時間傳輸不同

11、的信息。 信號線的分時復(fù)用,可以使用較少的線傳輸更多的信息,從而節(jié)省了空間和成本。 掛接的每個部件的電路變得更復(fù)雜了;還潛在地降低了性能。7.2.2 總線裁決 總線上連接的各個部件,根據(jù)其對總線有無控制能力被分為主控設(shè)備和從設(shè)備兩種。 從設(shè)備只能響應(yīng)主控設(shè)備發(fā)來的總線命令。 系統(tǒng)可以只有一個總線主控設(shè)備,所有總線操作都必須由處理器控制。 另一種選擇是采用多個總線主控設(shè)備,每個主控設(shè)備都能啟動數(shù)據(jù)傳送。 必須提供一種機(jī)制用來決定在某個時刻哪個設(shè)備具有總線使用權(quán)。 總線主控設(shè)備控制對總線的訪問,它能夠發(fā)起并控制所有總線請求。 決定哪個總線主控設(shè)備將在下次得到總線使用權(quán)的過程稱為總線裁決。 兩類總線

12、裁決方式:集中式和分布式 集中式裁決方式是將控制邏輯做在一個專門的總線控制器或總線裁決器中,將所有的總線請求集中起來,利用一個特定的裁決算法進(jìn)行裁決。 裁決方案: 一是“等級性”,即:每個主控設(shè)備有一個總線優(yōu)先級,具有最高優(yōu)先級的設(shè)備應(yīng)該先被服務(wù); 二是“公平性”,即:任何設(shè)備,即使是具有最低優(yōu)先權(quán)的設(shè)備也不能永遠(yuǎn)得不到總線使用權(quán)。 分布式的裁決方式,沒有專門的總線控制器,其控制邏輯分散在各個部件或設(shè)備中。1集中裁決方式(3種) (1) 菊花鏈查詢方式 優(yōu)先級由主控設(shè)備在總線上的位置來決定,要求擁有總線使用權(quán)的高優(yōu)先級設(shè)備簡單地攔截總線允許信號,不讓其更低級的設(shè)備收到該信號。圖7.1 菊花鏈查

13、詢方式 菊花鏈總線的優(yōu)點是簡單,只需很少幾根線就能按一定優(yōu)先次序?qū)崿F(xiàn)總線裁決,而且易擴(kuò)充設(shè)備。 缺點是不能保證公正性,也即一個低優(yōu)先級請求可能永遠(yuǎn)得不到允許; 對電路故障較敏感,一個設(shè)備的故障會影響到后面設(shè)備的操作; 菊花鏈的使用也限制了總線速度。 (2) 計數(shù)器定時查詢方式 此方案比菊花鏈查詢方式多了一組設(shè)備線,少了一根總線允許線BG。(圖7.2) 總線請求的設(shè)備號與計數(shù)值一致時,該設(shè)備便獲得總線使用權(quán),此時終止計數(shù)查詢,同時該設(shè)備建立總線忙BS信號。 設(shè)備的優(yōu)先級通過設(shè)置不同的計數(shù)初始值來改變 計數(shù)總是從0開始,此時設(shè)備的優(yōu)先次序是固定的; 計數(shù)的初值總是上次得到控制權(quán)設(shè)備的設(shè)備號,那么所

14、有設(shè)備的優(yōu)先級是相等的,是循環(huán)優(yōu)先級方式。圖 7.2 計數(shù)器定時查詢方式 計數(shù)器定時查詢方式具有靈活的優(yōu)先級,它對電路故障也不如菊花鏈查詢那樣敏感。 這種方式增加了一組設(shè)備線,每個設(shè)備要對設(shè)備線的信號進(jìn)行譯碼處理,因而控制也變復(fù)雜了。(3) 獨立請求方式 這種方案使用一個中心裁決器從請求總線的一組設(shè)備中選擇一個。(圖7.3) 每個設(shè)備都有一對總線請求線BRi和總線允許線BGi 總線控制器可以給各個請求線以固定的優(yōu)先級,也可以設(shè)置可編程的優(yōu)先級。 裁決算法由硬件來實現(xiàn),可采用固定的并行判優(yōu)算法、平等的循環(huán)菊花鏈算法、動態(tài)優(yōu)先級算法(如:最近最少用算法、先來先服務(wù)算法)等。 這種方法的優(yōu)缺點: 響

15、應(yīng)速度快,若是可編程的總線控制器,優(yōu)先級設(shè)置靈活。 圖7.3 獨立請求方式 控制邏輯很復(fù)雜,控制線數(shù)量多。 若n表示允許掛接的最大設(shè)備數(shù),三種裁決方式所需裁決線分別為:2根、log2n根、2n根。2分布式裁決方式(3種)(1) 自舉分布式裁決 使用多個請求線,不需要中心裁決器,每個設(shè)備獨立地決定自己是否是最高優(yōu)先級請求者。(圖7.4) BR0為總線忙信號線,BRi為設(shè)備i的總線請求線。圖7.4 自舉分布式裁決 一般優(yōu)先級是固定的 總線裁決期間每個設(shè)備將有關(guān)請求線上的信號合成后取回分析,根據(jù)這些請求信號確定自己能否擁有總線控制權(quán)。 這種方案需要較多的連線用于請求信號,所以,許多總線用數(shù)據(jù)線DB作

16、為總線請求線。 每個設(shè)備通過取回的合成信息能夠檢測出其他設(shè)備是否發(fā)出了總線請求。 NuBus是在MacintoshII 中的底板式總線,就采用該方案;SCSI總線也采用該方案。(2) 沖突檢測分布式裁決 這種方案中,每個設(shè)備獨立地請求總線,多個同時使用總線的設(shè)備會產(chǎn)生沖突,這時沖突被檢測到,按照某種策略在沖突的各方選擇一個設(shè)備。 當(dāng)沖突發(fā)生時,兩個設(shè)備都會停止傳輸,延遲一個隨機(jī)時間后再重新使用總線。 這種方案一般用在網(wǎng)絡(luò)通信總線上。(3) 并行競爭分布式裁決 需要使用總線的主控設(shè)備把自己的仲裁號發(fā)送到仲裁線上,每個設(shè)備根據(jù)并行競爭算法決定在一定時間以后占用總線還是撤銷仲裁號。圖7.5 并行競爭

17、分布式裁決 圖7.5是總線中有根仲裁線AB0AB7例子 兩個設(shè)備同時要求使用總線,仲裁號分別是00000101和00001010;最終留在仲裁線上的號為00001010。表7.1 并行競爭裁決邏輯舉例分析結(jié)果 并行競爭方式與自舉分布式裁決算法比較,它可以用很少的裁決線掛接大量的設(shè)備。 例如,假定是位仲裁號,自舉分布式裁決只能表示8個優(yōu)先級; 這種方式可以表示256個優(yōu)先級,仲裁號為255的設(shè)備優(yōu)先級最高,而最低。 Futurebus+總線標(biāo)準(zhǔn)使用這種裁決方案。 選擇不同裁決方案的因素包括: 總線在I/O設(shè)備的數(shù)量和總線長度的可擴(kuò)充性方面如何? 總線裁決應(yīng)該多快? 需要什么程度的公正性等。7.2

18、.3 定時方式 一個取得了總線控制權(quán)的設(shè)備如何控制總線進(jìn)行總線操作呢?即如何來定義總線事務(wù)中的每一步何時開始、何時結(jié)束呢?這就是總線通信的定時問題。 總線通信的定時方式有四種: 同步協(xié)議 異步協(xié)議 半同步協(xié)議 分離事務(wù)協(xié)議1同步協(xié)議方式 如果一個總線是同步的,它的控制線中就有一個時鐘信號線,掛接在總線上的所有設(shè)備都從這個公共的時鐘線上獲得定時信號。 一定頻率的時鐘信號線定義了等間隔的時間段,這個固定時間段為一個時鐘周期,也稱一個總線周期。 該時鐘信號有一個固定的通信協(xié)議。 圖7.6表示一個處理器-主存總線,執(zhí)行存儲器讀操作圖7.6 同步通信協(xié)議(讀操作) 同步總線有兩個缺點: 第一,在總線上的

19、每個設(shè)備必須以同樣的時鐘速率進(jìn)行工作; 這種類型的協(xié)議能夠很容易地用一個有限狀態(tài)機(jī)實現(xiàn),是預(yù)先確定的,只涉及到非常少的邏輯,所以這種總線非???,并且接口邏輯很少。 處理器-主存總線一般都是同步的,因為通信的設(shè)備靠得很近,而且數(shù)量又少。 第二,由于時鐘偏移問題,同步總線如果要快的話就不能很長。2. 異步協(xié)議方式 為了協(xié)調(diào)在發(fā)送和接收者之間的數(shù)據(jù)傳送,一個異步總線必須使用一種握手協(xié)議。 考慮一個設(shè)備請求從存儲器中讀一個字。 假定存在以下三個控制線。 異步總線是非時鐘定時,一個異步總線能夠連接帶寬范圍很大的各種設(shè)備。總線能夠加長而不用擔(dān)心時鐘偏移或同步問題。 握手協(xié)議由一系列步驟組成,在每一步中,只

20、有當(dāng)雙方都同意時,發(fā)送者或接收者才會進(jìn)入到下一步; 協(xié)議是通過一組附加的控制線來實現(xiàn)的。 (1) ReadReq(讀請求):用于指示一個讀請求,假定在送出該信號時,地址同時被放到地址線上; (3) Ack(回答):用于回答另一方送過來的ReadReq或Ready信號。 在一個I/O讀事務(wù)中,該信號將由I/O設(shè)備驅(qū)動有效,因為是I/O設(shè)備提供數(shù)據(jù)。 在一個存儲器讀事務(wù)中,該信號將由存儲器驅(qū)動有效,因為是存儲器提供數(shù)據(jù); (2) Ready(數(shù)據(jù)就緒):用于指示數(shù)據(jù)字已在數(shù)據(jù)線上準(zhǔn)備好。 圖7.7給出異步通信協(xié)議示意圖;主設(shè)備從存儲器中讀一個字。圖7.7 異步通信協(xié)議 存儲器接收到ReadReq信

21、號后,就從地址線上讀取地址信息,然后送出Ack信號,表示它已接受了讀請求和地址信息。 主設(shè)備收到Ack信號后,就釋放ReadReq信號和地址線。 存儲器發(fā)現(xiàn)ReadReq信號被釋放后,就跟著也降下Ack信號。一次握手過程結(jié)束 當(dāng)存儲器完成數(shù)據(jù)的讀出后,就將數(shù)據(jù)放到數(shù)據(jù)線上,并送出數(shù)據(jù)就緒信號Ready 。 主設(shè)備接收到存儲器送出的Ready信號后,就從數(shù)據(jù)線上開始讀,并送出回答信號Ack,告訴存儲器數(shù)據(jù)已經(jīng)被讀。 存儲器接收到Ack信號后,就得知數(shù)據(jù)已被成功地讀取。此時它就降下Ready信號,并釋放數(shù)據(jù)線。 主設(shè)備發(fā)現(xiàn)Ready線降下后,也就跟著降下回答信號Ack。 又一次握手過程完成。在這個

22、過程中完成了一次數(shù)據(jù)信息的交換 根據(jù)握手信號的相互作用方式,異步通信有非互鎖、半互鎖和全互鎖三種可能的方式。(圖7.8)圖7.8 異步通信的三種互鎖方式3. 半同步協(xié)議方式 所有事件都由時鐘定時,而信息的交換由就緒和應(yīng)答等信號控制的通信方式稱為半同步通信方式。圖7.9 半同步通信協(xié)議 半同步通信同時具有同步和異步通信的優(yōu)點,既保持了“所有信號都由時鐘定時”的同步總線的特點,又有“不同速度的設(shè)備共存”的異步總線的特點。 就緒和應(yīng)答等信號都在時鐘的上升沿有效,這樣信號的有效時間僅限制在時鐘到達(dá)的時刻,而不受其他時間的信號干擾。4. 分離事務(wù)協(xié)議方式 有多個總線主控設(shè)備在總線上存在時,增加有效總線帶

23、寬的另一個方法就是在總線事務(wù)執(zhí)行過程中,如果不需要使用總線時立即釋放總線,在其他設(shè)備獲得總線進(jìn)行數(shù)據(jù)傳輸?shù)耐瑫r,原來釋放總線的事務(wù)在做數(shù)據(jù)準(zhǔn)備等非總線數(shù)據(jù)傳輸?shù)牟僮?。這種類型的協(xié)議被稱為分離事務(wù)協(xié)議(Split transaction protocol)。 基本思想是將一個傳輸操作事務(wù)過程分成兩個子過程圖7.10 分離事務(wù)通信協(xié)議 分離通信方式的優(yōu)點: 通過在不傳送數(shù)據(jù)期間釋放總線,使得其他申請者能使用總線,實現(xiàn)一個總線為多個主從設(shè)備間進(jìn)行交叉并行式的信息傳送。這樣可改進(jìn)整個系統(tǒng)的總有效帶寬。 分離通信方式的不足: 事務(wù)的分離使得完成一個事務(wù)的時間可能會增加 請求者的身份必須被傳送并被從設(shè)備保

24、存 從設(shè)備準(zhǔn)備數(shù)據(jù)的過程相當(dāng)復(fù)雜需要重疊多個事務(wù)時,效果更明顯。 這種方式控制相當(dāng)復(fù)雜,一般在大型計算機(jī)系統(tǒng)和高檔微機(jī)系統(tǒng)中使用,普通微機(jī)系統(tǒng)中很少使用。5. 同步和異步的性能比較 同步總線通常比異步總線要快。因為異步通信需要進(jìn)行握手,增加了開銷。 舉例:比較同步和異步總線的最大帶寬。 假定同步總線的時鐘周期為50ns,每次總線傳輸花1個時鐘周期,異步總線每次握手需要40ns,兩種總線的數(shù)據(jù)都是32位寬,存儲器的存儲周期為200ns。要求求出從該存儲器中讀出一個字時兩種總線的帶寬。 同步總線具有50ns的總線周期,其所需的步驟和時間為: (1)發(fā)送地址和讀命令到存儲器:50ns (2)存儲器讀

25、數(shù)據(jù):200ns (3)傳送數(shù)據(jù)到設(shè)備:50ns 總時間為300ns。最大總線帶寬為4B/300ns,即:13.3MB/s。 異步總線所需的步驟和時間為:(圖7.7) 第步為40ns; 第、步為Max(340ns,200ns)=200ns; 第、步為3 40ns=120ns。 總時間為360ns。故產(chǎn)生的最大帶寬為4B/360ns=11.1MB/s。 同步總線僅比異步快大約20%。 包括可以連到總線上的設(shè)備的個數(shù)與總線的物理距離; 異步總線能更好地適應(yīng)技術(shù)的改變,并能支持更大范圍內(nèi)的 響應(yīng)速度; 盡管異步總線增加了開銷,但I(xiàn)/O總線大都采用異步通信。 盡管同步總線可能更快一點,但是在同步和異步

26、之間進(jìn)行選擇時,要考慮的不僅是數(shù)據(jù)帶寬,而且要考慮I/O系統(tǒng)的能力。 “分離事務(wù)”協(xié)議方式,可按如下步驟進(jìn)行:(1)總線主控設(shè)備向存儲器發(fā)出信號,送出地址和請求類型。(2)當(dāng)存儲器回答完請求后,主控設(shè)備釋放所有控制線。(4)存儲器向主控設(shè)備發(fā)出信號表示數(shù)據(jù)已經(jīng)可用。(5)主控設(shè)備通過總線接收數(shù)據(jù),并向存儲器指示它已獲取數(shù)據(jù),所以存儲系統(tǒng)可以從總線上撤消信息。(3)存儲器訪問開始,總線被釋放為空閑以便在存儲器訪問期間其他總線主控設(shè)備能使用總線。7.2.4 總線事務(wù)類型 通常把在總線上一對設(shè)備之間的一次信息交換過程稱為一個“總線事務(wù)”; 把發(fā)出事務(wù)請求部件稱為主控設(shè)備,也稱請求代理; 另一個部件稱

27、為從設(shè)備,也稱響應(yīng)代理。 Pentium Pro處理器總線的事務(wù)類型有以下11種。 延遲回答:當(dāng)一個響應(yīng)代理需要花很長時間才能完成某個事務(wù)時,就通過發(fā)出該“延遲回答”事務(wù)以“分離事務(wù)”方式來處理該事務(wù)。 中斷響應(yīng):當(dāng)處理器響應(yīng)從8259中斷控制器送來的中斷請求而要去讀中斷向量時,處理器就發(fā)出該“中斷響應(yīng)”事務(wù)。 特殊事務(wù):當(dāng)處理器要廣播一條與某個內(nèi)部事件(如:shutdown、halt等)有關(guān)的消息時,就產(chǎn)生該“特殊事務(wù)”。 分支跟蹤消息:在指令執(zhí)行過程中當(dāng)一個轉(zhuǎn)移目標(biāo)的條件被滿足時,處理器就生成該“分支跟蹤消息”事務(wù)。它將送出轉(zhuǎn)移指令的地址和轉(zhuǎn)移到的目標(biāo)指令的地址。 存儲器讀并無效:處理器產(chǎn)

28、生該“存儲器讀并無效”事務(wù),主要是為了對一個Cache行進(jìn)行獨占訪問。 存儲器代碼讀:當(dāng)處理器要從存儲器中取指令時產(chǎn)生該“存儲器代碼讀”事務(wù)。 存儲器數(shù)據(jù)讀:當(dāng)執(zhí)行到某指令要從存儲器中取數(shù)據(jù)時,產(chǎn)生該“存儲器數(shù)據(jù)讀”事務(wù)。 I/O讀:當(dāng)處理器執(zhí)行IN或INS指令,要從某個I/O設(shè)備讀取數(shù)據(jù)或狀態(tài)時,處理器就發(fā)出該“I/O讀”事務(wù)。 I/O寫:當(dāng)處理器執(zhí)行OUT或OUTS指令,要將數(shù)據(jù)或命令寫到某個I/O設(shè)備上時,處理器就發(fā)出該“I/O寫”事務(wù)。 存儲器寫(不可重試):當(dāng)處理器要寫回一個更新的Cache行到存儲器(淘汰)以便為一個新行騰出空間時,由處理器發(fā)出該事務(wù)。 存儲器寫(可重試):當(dāng)處理器

29、執(zhí)行到某指令需寫數(shù)據(jù)到存儲器中去時,由處理器發(fā)出該事務(wù)。 Pentium Pro處理器每個總線事務(wù)包含五個操作階段 1)請求階段(地址階段) 2)檢錯階段 3)偵聽階段 4)響應(yīng)階段 5)數(shù)據(jù)階段 數(shù)據(jù)階段:送數(shù)據(jù)到數(shù)據(jù)總線上,或從數(shù)據(jù)總線上取數(shù)據(jù)。 請求階段:送出地址信息和事務(wù)類型信息、以及有關(guān)事務(wù)的其他信息。 檢錯階段:對請求階段送出的地址和請求信息所對應(yīng)的奇偶校驗信號進(jìn)行檢測。 偵聽階段:對請求階段送出地址中所對應(yīng)的數(shù)據(jù)檢查其在各個Cache中的命中狀態(tài),確定以后階段如何處理該事務(wù)。 響應(yīng)階段:根據(jù)請求的事務(wù)類型、檢錯和偵聽結(jié)果,確定如何響應(yīng)當(dāng)前事務(wù)。返回的響應(yīng)結(jié)果可以是重試事務(wù)、延遲事

30、務(wù)、硬件錯、無數(shù)據(jù)傳送事務(wù)、回寫(Writeback)事務(wù)或正常數(shù)據(jù)傳送事務(wù)等。對于前四種情況,事務(wù)在響應(yīng)階段就可結(jié)束。7.2.5 總線帶寬 影響總線帶寬的其他幾個因素有: (1) 數(shù)據(jù)總線寬度 增加數(shù)據(jù)總線的寬度可使總線一次傳輸更多數(shù)據(jù)位。 一個總線的帶寬主要由總線定時方式所用的協(xié)議決定的。 (2) 信號線是專用還是分時復(fù)用 將地址線和數(shù)據(jù)線單獨設(shè)置可使寫操作的性能更高,因為地址和數(shù)據(jù)可在同一個總線周期內(nèi)傳送出去。 (3) 是否允許大數(shù)據(jù)塊傳送 允許總線以背靠背總線周期連續(xù)傳送多個字而不發(fā)送地址信息或釋放總線,可以減少傳送一個大數(shù)據(jù)塊所需的時間,提高總線帶寬。這就是前面講的串并結(jié)合的方式,也

31、稱突發(fā)數(shù)據(jù)傳送方式。 提高上述三個方面總線性能需要 更多的總線條數(shù)、增加復(fù)雜性或當(dāng)一個長數(shù)據(jù)塊傳送發(fā)生時會因為等待而增加響應(yīng)時間。 快速總線訪問和高帶寬是相互矛盾的兩種設(shè)計要求 為了得到總線操作快速響應(yīng)時間,必須通過簡化通信路徑來使一次總線訪問的時間降到最小; 為了獲得較高的數(shù)據(jù)速率,又必須使總線帶寬最大化,總線帶寬可以通過使用更多的緩沖和通過傳送較大的數(shù)據(jù)塊兩種方式來提高,它們都會增加完成總線操作的時延。 要求支持大范圍內(nèi)具有不同等待時間和數(shù)據(jù)傳輸率的設(shè)備的需求也使總線設(shè)計面臨挑戰(zhàn)。73 總線接口單元 總線上的信號必須與連到總線上的各部件所產(chǎn)生的信號相協(xié)調(diào),起協(xié)調(diào)作用的控制邏輯就是總線接口,

32、 CPU、存儲器、I/O模塊中都有與系統(tǒng)總線或其他I/O總線的接口。 它是掛接在總線上的部件與總線之間的連接界面; 總線接口單元的基本功能是: (1) 定時和通信:在同步通信方式下,提供或接收時鐘信號,在時鐘信號的控制下驅(qū)動或采樣相應(yīng)的信號線。在異步方式下,按照握手協(xié)議對相應(yīng)的信號線進(jìn)行驅(qū)動、復(fù)位或采樣。 (2) 總線請求和仲裁:根據(jù)需要發(fā)出總線請求信號。有些部件的總線接口具有集中方式下的總線控制器,此時還要進(jìn)行總線裁決。對于分布式裁決,每個總線接口都要參與裁決過程。 (3) 控制操作:提供命令譯碼等控制邏輯,以根據(jù)總線傳送過來的命令啟動總線部件進(jìn)行相應(yīng)的操作。 (4) 提供數(shù)據(jù)緩沖:當(dāng)總線連

33、接的部件之間有速度差異時,可以在接口中設(shè)置一些數(shù)據(jù)緩沖寄存器,利用這些寄存器使不同速度的部件得到匹配。 (5) 數(shù)據(jù)格式轉(zhuǎn)換:當(dāng)總線連接的部件之間數(shù)據(jù)格式不同時,可以通過接口進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換。例如,串 并轉(zhuǎn)換、8位 32位轉(zhuǎn)換等。 (6) 記錄狀態(tài)信息:有些接口還必須能夠記錄接口本身以及它所掛接的設(shè)備的狀態(tài)。例如接口中數(shù)據(jù)緩沖的使用情況等。 (7) 數(shù)據(jù)傳送控制:有些接口還要對數(shù)據(jù)傳送過程進(jìn)行控制,例如,對傳輸過程中的字計數(shù)器進(jìn)行更新。 (8) 中斷請求和響應(yīng):根據(jù)需要發(fā)出中斷請求信號或接收中斷請求并給出響應(yīng)信號。例如,在外設(shè)的總線接口中,當(dāng)外設(shè)需要向處理器請求某種服務(wù)時,它通過總線接口向CP

34、U發(fā)中斷請求信號。而處理器的總線接口則接收中斷請求信號,并給出中斷回答信號。 根據(jù)總線的數(shù)據(jù)傳輸方式,總線接口單元分為串行總線接口和并行總線接口兩類。74 總線標(biāo)準(zhǔn) 主板上的“處理器-主存”總線經(jīng)常是特定的專用總線,而用于連接各種I/O模塊的I/O總線和底板式總線(通常是標(biāo)準(zhǔn)總線)可在不同的計算機(jī)中互用。 計算機(jī)工業(yè)界已經(jīng)開發(fā)出了各種總線標(biāo)準(zhǔn) 使機(jī)器的擴(kuò)充和新設(shè)備的連接更加方便 為計算機(jī)制造商和外圍設(shè)備制造商提供了一種規(guī)范 按照同樣的標(biāo)準(zhǔn)和規(guī)范生產(chǎn)各種不同功能的芯片、模塊和整機(jī) 這樣可使芯片級、模塊級、設(shè)備級等各級別的產(chǎn)品都具有兼容性和互換性 使整個計算機(jī)系統(tǒng)的可維護(hù)性和可擴(kuò)充性得到充分保證

35、總線標(biāo)準(zhǔn)的形成有多種途徑 第一種途徑是由流行而自然形成的標(biāo)準(zhǔn)。有些機(jī)器如此流行以致于它們的I/O總線最終變成了事實上的標(biāo)準(zhǔn)。例如:IBMPC-AT總線。 第二個途徑是為了解決共性問題而提出一種標(biāo)準(zhǔn),這種情況下,標(biāo)準(zhǔn)往往會由一個小組來制定。SCSI總線和Ethernet就是由多個制造商合作提出的標(biāo)準(zhǔn)總線的例子。 第三種途徑是通過標(biāo)準(zhǔn)化組織制定的。象ANSI或IEEE等組織會提出一些總線標(biāo)準(zhǔn)。PCI總線標(biāo)準(zhǔn)就是由Intel發(fā)起、后來由一個工業(yè)委員會發(fā)展起來的。 現(xiàn)在的標(biāo)準(zhǔn)總線規(guī)范越來越復(fù)雜 通常包含信號分類、數(shù)據(jù)寬度、地址空間、傳輸速率、總線仲裁、握手協(xié)議、總線定時、事務(wù)類型等內(nèi)容。7.4.1 I

36、SA總線 ISA(Industrial Standard Architecture)總線是IBM公司1984年為推出PC/AT機(jī)而建立的系統(tǒng)總線標(biāo)準(zhǔn)。所以也叫AT總線。 ISA總線的主要特點:(1)能支持64K I/O地址空間、16M主存地址空間的尋址,可進(jìn)行位或16位數(shù)據(jù)訪問,支持15級硬中斷、級DMA通道。(3)支持種總線事務(wù)類型:存儲器讀、存儲器寫、I/O讀、I/O寫、中斷響應(yīng)、DMA響應(yīng)、存儲器刷新、總線仲裁。(2)是一種簡單的多主控總線。除了CPU外,DMA控制器、DRAM刷新控制器和帶處理器的智能接口控制卡都可成為總線主控設(shè)備。7.4.2 EISA總線(5)使用獨立于CPU的總線時

37、鐘,因此CPU可以采用比總線頻率更高的時鐘。它的時鐘頻率為MHz;最大數(shù)據(jù)傳輸率為16MB/s。(4)具有分立的數(shù)據(jù)線和地址線。(6)ISA總線共有98根信號線,在原PC/XT總線的62根線的基礎(chǔ)上擴(kuò)充了36根線,與原PC/XT總線完全兼容。 它從CPU中分離出了總線控制權(quán),是一種具有智能化的總線,支持多總線主控和突發(fā)傳輸方式。 EISA(Extended Industrial Standerd Architecture)總線是一種在ISA總線基礎(chǔ)上擴(kuò)充的開放總線標(biāo)準(zhǔn)。(1)EISA總線的時鐘頻率為8.33MHz。 EISA總線的主要特點:(6)CPU或DMA控制器等這些主控設(shè)備能夠?qū)?G范圍

38、的主存地址空間進(jìn)行訪問。(5)地址線的寬度為32位,所以尋址能力達(dá)232。(4)數(shù)據(jù)線寬度為32位,具有8位、16位、32位數(shù)據(jù)傳輸能力,所以最大數(shù)據(jù)傳輸率為33MB/s。(3)具有分立的數(shù)據(jù)線和地址線。(2)EISA總線共有198根信號線,在原ISA總線的98根線的基礎(chǔ)上擴(kuò)充了100根線,與原ISA總線完全兼容。7.4.3 VL總線(VESA總線) VL(VESA Local Bus)總線是VESA(Video Electronic Standard Association視頻電子標(biāo)準(zhǔn)協(xié)會)與60余家公司聯(lián)合推出的一種通用的全開放局部總線標(biāo)準(zhǔn),也叫VESA總線。 它的推出為微機(jī)系統(tǒng)總線結(jié)構(gòu)的

39、革新奠定了基礎(chǔ);有效解決總線傳輸速率這一瓶頸問題。在此之前,PC系列機(jī)一直采用單一慢速的系統(tǒng)總線體系結(jié)構(gòu)。 VL總線作為一種局部總線,它不是一個單獨使用的總線體系結(jié)構(gòu),而是對ISA、EISA等系統(tǒng)I/O總線的補(bǔ)充,它需要和其他總線共存于一個系統(tǒng)中,形成ISA/VL或EISA/VL等總線體系結(jié)構(gòu)。 VESA總線的主要特點:(1)VL總線的主要設(shè)計目標(biāo)是支持CPU直接與高速視頻控制器掛接;(2)其他外設(shè)如硬盤控制器、LAN控制卡以及其他高速接口所連的外設(shè),也可使用VL總線;(3)它直接采用CPU的時鐘,最高主頻可達(dá)66MHz(實際上受制于VL總線擴(kuò)充槽的性能,不能超過40MHz),一般為33MHz

40、;(4)數(shù)據(jù)總線的寬度為32位,可擴(kuò)展到64位;(5)當(dāng)使用雙倍時鐘的CPU(如386類CPU)時,必須將CPU時鐘分頻才能驅(qū)動VL總線時鐘。因此最大數(shù)據(jù)傳輸率為132MB/s;(6)VL總線擴(kuò)充槽是一種標(biāo)準(zhǔn)的16位微通道型擴(kuò)充槽。圖7.11 VL總線物理布局7.4.4 PCI總線 PCI(Peripheral Component Interconnect)總線是繼VL總線之后推出的又一種高性能的32位局部總線。 PCI規(guī)范是公開的,它受到許多微處理器和外圍設(shè)備生產(chǎn)商的支持,因此不同廠家生產(chǎn)的PCI產(chǎn)品是相互兼容的。 PCI是一種高帶寬、獨立于處理器的總線。主要用于高速外設(shè)的I/O接口和主機(jī)相

41、連;如:圖形顯示適配器、網(wǎng)絡(luò)接口控制卡、磁盤控制器等。 PCI總線的主要特點:(3)它比VL總線的速度更快。 第一,它支持無限突發(fā)傳輸方式;而VL 僅支持有限的突發(fā)數(shù)據(jù)傳送,所以VL總線速度不如PCI總線。 第二,PCI總線支持并發(fā)工作,即掛接在PCI總線上的外設(shè)能與CPU并發(fā)工作。(1)它與CPU的時鐘頻率無關(guān),采用自身33MHz的總線頻率,(2)數(shù)據(jù)線寬度為32位,可擴(kuò)充到64位;所以數(shù)據(jù)傳輸率可達(dá)132MB/s264 MB/s。(4)一個或多個PCI總線通過PCI橋(PCI控制器)和處理器總線相連;而處理器總線只連接處理器/Cache、主存儲器和PCI橋。(5) PCI橋的使用使PCI總

42、線獨立于處理器,并且PCI橋提供了數(shù)據(jù)緩沖功能。(6)高速的PCI總線和低速的E(ISA)總線之間通過PCI橋相連接,使得系統(tǒng)中的高速設(shè)備掛接在PCI總線上,而低速設(shè)備仍然通過ISA、EISA等這些低速I/O總線支持。(7)可以有多個PCI總線,PCI總線之間也是用相應(yīng)的PCI橋連接。 PCI總線支持廣泛的基于微處理器的配置 PCI總線可以用在單處理器系統(tǒng)中,也可用于多處理器系統(tǒng)中。 圖7.12(a)和7.12(b)分別給出了在一個單處理器系統(tǒng)和多處理器系統(tǒng)中使用PCI總線的典型例子。圖7.12 (a) 型典的單處理器系統(tǒng)圖7.12 (b) 典型的多處理器系統(tǒng) PCI總線的信號線系統(tǒng)信號CLK

43、 in (1) 定時用的時鐘信號,在時鐘信號的上升沿每個設(shè)備對相應(yīng)的輸入信號進(jìn)行采樣。其最大時鐘頻率為33MHz。RST# in (1) 復(fù)位信號。使總線上的所有PCI專用的寄存器、定序器和信號轉(zhuǎn)為初始化狀態(tài)。地址和數(shù)據(jù)信號A/D310 t/s (32) 復(fù)用的地址和數(shù)據(jù)線。C/BE30# t/s (4) 復(fù)用的總線命令線和字節(jié)允許線。地址階段表示總線命令;數(shù)據(jù)階段表示數(shù)據(jù)線上4個字節(jié)中對應(yīng)的那個字節(jié)是否有效。PAR t/s (1) 32根A/D線和4根C/BE線的偶校驗信號線。地址階段和寫數(shù)據(jù)階段由主設(shè)備驅(qū)動PAR信號線;在讀數(shù)據(jù)階段則由目標(biāo)設(shè)備驅(qū)動PAR信號線。接口控制信號FRAME# s

44、/t/s (1) 由主設(shè)備驅(qū)動,表示一次總線傳輸已開始并在持續(xù)進(jìn)行中。在總線傳輸?shù)拈_始(即:地址階段之初)使該信號有效,而在進(jìn)行總線傳輸?shù)淖詈笠粋€數(shù)據(jù)交換之前撤消該信號。IRDY# s/t/s (1)發(fā)送端就緒信號,由主設(shè)備驅(qū)動。讀操作中表示主設(shè)備準(zhǔn)備好接受數(shù)據(jù);寫操作中表示主設(shè)備已把有效數(shù)據(jù)放到A/D線上。TRDY# s/t/s (1)接受端就緒信號,由從設(shè)備驅(qū)動。寫操作中表示從設(shè)備準(zhǔn)備好接受數(shù)據(jù);讀操作中表示從設(shè)備已把有效數(shù)據(jù)放到A/D線上。STOP# s/t/s (1)由從設(shè)備驅(qū)動。表示希望主設(shè)備停止當(dāng)前的總線傳輸操作。LOCK# s/t/s(1) 表示正在進(jìn)行的總線操作不可被打斷。即鎖

45、定總線。IDSEL in(1) 設(shè)備選擇初始化信號。在配置讀和配置寫事務(wù)中用作片選信號。DELSEL# in(1) 設(shè)備選擇信號。如果某個目標(biāo)識別出地址線上給定的是自己的地址的話,那么該設(shè)備就使這根線有效。主控設(shè)備接受到該信號后就知道已由設(shè)備被選中。仲裁線REQ# t/s (1) 總線請求線。由需要申請總線使用權(quán)的主控設(shè)備發(fā)出。這是一根與設(shè)備有關(guān)的點對點信號線。GNT# t/s (1) 總線允許線。接受到該信號的設(shè)備將獲得總線使用權(quán)。這也是一根與設(shè)備有關(guān)的點對點信號線。錯誤報告信號PERR# s/t/s (1)奇偶校驗錯。表示一個目標(biāo)在寫數(shù)據(jù)階段或一個主控設(shè)備在讀數(shù)據(jù)階段檢測到一個奇偶校驗錯。

46、SERR# 0/d (1)系統(tǒng)錯誤??捎扇魏我粋€設(shè)備發(fā)出。用以報告地址校驗錯或除校驗錯以外的其他嚴(yán)重錯誤。 PCI命令;通過分時復(fù)用的總線命令/字節(jié)允許信號線C/BE發(fā)出總線命令; 中斷響應(yīng):它是一條讀取中斷向量的命令。用于對PCI總線上的中斷控制器提出的中斷請求進(jìn)行響應(yīng)。在該事務(wù)的地址周期地址線不起作用。而在數(shù)據(jù)周期,則從中斷控制器讀取一個中斷向量,此時C/BE信號線用于表示讀取的中斷向量的長度。 特殊周期:用于一個總線主控設(shè)備向一個或多個目標(biāo)廣播一條消息。 I/O讀和I/O寫:I/O讀寫命令,用于在事務(wù)發(fā)起者和一個I/O控制器之間進(jìn)行數(shù)據(jù)傳送。 雙地址周期:由一個事務(wù)發(fā)起者用來表明它將使用

47、64位地址來尋址。 存儲器讀:突發(fā)傳送半個或不到一個Cache行(支持Cache的內(nèi)存)突發(fā)傳送兩個數(shù)據(jù)周期或更少(不支持Cache的內(nèi)存) 存儲器寫、存儲器寫并無效:用于總線主控設(shè)備向存儲器寫數(shù)據(jù),它們將占用一個或多個數(shù)據(jù)周期。其中存儲器寫并無效命令用于回寫一個Cache行到存儲器,所以它必須保證至少有一個Cache行被寫回。 配置讀、配置寫:用于一個總線主控設(shè)備對連接到PCI總線上的設(shè)備中的配置參數(shù)進(jìn)行讀或更新。每個PCI設(shè)備都有一個寄存器組(最多可有256個寄存器),這個寄存器用于系統(tǒng)初始化時對本設(shè)備進(jìn)行配置。 存儲器行讀:突發(fā)傳送半個以上到3個Cache行(支持Cache的內(nèi)存)突發(fā)傳

48、送3個到12個數(shù)據(jù)周期(不支持Cache的內(nèi)存) 存儲器多行讀:突發(fā)傳送3個以上Cache行(支持Cache的內(nèi)存)突發(fā)傳送12個以上數(shù)據(jù)周期(不支持Cache的內(nèi)存) 數(shù)據(jù)傳送過程 PCI總線上的數(shù)據(jù)傳送由一個地址周期和一個或多個數(shù)據(jù)周期組成。 圖7.13顯示了一個讀操作的時序。寫操作的過程與讀操作類似。 所有事件在時鐘下降沿同步,即在時鐘周期的中間;總線設(shè)備在一個時鐘周期開始的上升沿采樣總線信號。圖7.13 PCI讀操作過程 總線裁決 PCI采用獨立請求式的集中總線裁決方式。每個總線主設(shè)備都有兩個獨立的請求線REQ和允許線GNT。 PCI總線規(guī)范沒有規(guī)定具體的仲裁算法??偩€仲裁器可以使用靜

49、態(tài)的固定優(yōu)先級法、循環(huán)優(yōu)先級法或先來先服務(wù)法等仲裁算法。 PCI必須為它的每個總線事務(wù)進(jìn)行仲裁。 PCI可以在總線進(jìn)行數(shù)據(jù)傳送的時候進(jìn)行總線仲裁,所以仲裁不會浪費總線周期。這種方式稱為隱式仲裁。 圖7.14給出兩個設(shè)備A和B在PCI上進(jìn)行總線仲裁時序圖7.14 PCI總線裁決作過程7.4.5 SCSI總線 SCSI(Small Computer System Interface小型計算機(jī)系統(tǒng)接口)總線從1984年開始廣泛用在Macintosh機(jī)上,目前已非常普遍地用在了IBM PC兼容系統(tǒng)和許多工作站上。 SCSI總線主要用于光驅(qū)、音頻設(shè)備、掃描儀、打印機(jī)、以及象硬盤驅(qū)動器這樣的大容量存儲設(shè)備

50、等的連接。 是一種直接連接外設(shè)的并行I/O總線,掛接在SCSI總線上的設(shè)備以菊花鏈的方式相連。每個SCSI設(shè)備有兩個連接器,一個用于輸入,一個用于輸出。 若干設(shè)備連接在一起,一端用一個終結(jié)器連接,另一端通過一塊SCSI卡連到主機(jī)上。圖7.15 SCSI設(shè)備的配置 SCSI設(shè)備的配置(圖7.15) SCSI總線事務(wù)中經(jīng)歷的階段有: 總線空閑階段:表示沒有設(shè)備使用總線,總線可用。 仲裁階段:用來使一個設(shè)備獲得總線使用權(quán)。 命令階段:傳送命令信息。使目標(biāo)設(shè)備從請求方得到命令。 數(shù)據(jù)階段:目標(biāo)設(shè)備請求數(shù)據(jù)傳送。在該階段可以進(jìn)行數(shù)據(jù)輸入(目標(biāo)方到請求方)或數(shù)據(jù)輸出(請求方到目標(biāo)方)操作。 狀態(tài)階段:目標(biāo)

51、設(shè)備向請求方發(fā)送狀態(tài)信息。 選擇階段:用來讓一個請求方選擇一個目標(biāo)設(shè)備來執(zhí)行某個功能。 重新選擇階段:允許目標(biāo)設(shè)備重新連接請求方,以恢復(fù)原先由請求方啟動而被目標(biāo)掛起的操作。 消息階段:目標(biāo)設(shè)備請求傳送一個或多個消息。在該階段可以進(jìn)行消息輸入(目標(biāo)方到請求方)或消息輸出(請求方到目標(biāo)方)。 SCSI總線階段狀態(tài)轉(zhuǎn)換(圖7.16)圖7.16 SCSI總線階段狀態(tài)轉(zhuǎn)換圖 最早的SCSI規(guī)范SCSI-1只提供位數(shù)據(jù)線,采用異步通信或MHz的同步通信,最多允許個設(shè)備以菊花鏈方式連接到主機(jī)上。 SCSI規(guī)范及發(fā)展 1991年出版了修改后的規(guī)范SCSI-2,數(shù)據(jù)線可選擇擴(kuò)展到16位或32位,采用同步通信,時

52、鐘速度增加到10MHz,所以最大數(shù)據(jù)傳輸率為20MB/s或40MB/s。 正在開發(fā)中的SCSI-3將支持更高的速度。 SCSI-1規(guī)范規(guī)定了總線的信號系統(tǒng)共有50條信號線,采用50針扁平電纜或雙絞線,稱為SCSI A電纜。 其中有條數(shù)據(jù)線(8條數(shù)據(jù)和一條奇偶校驗)和條控制線,其余為地線或電源線。 SCSI-1規(guī)范的9根控制信號線及含義BSY:由使用總線的設(shè)備來設(shè)置,表示自己使總線處于忙狀態(tài)。SEL:發(fā)起者選擇目標(biāo)時設(shè)置,或目標(biāo)重新選擇發(fā)起者時設(shè)置。C/D:目標(biāo)用來標(biāo)識數(shù)據(jù)線上是控制信息(命令、狀態(tài)或消息)還是數(shù)據(jù)信息。I/O:目標(biāo)用來標(biāo)識數(shù)據(jù)傳送的方向。MSG:目標(biāo)用來標(biāo)識正在向發(fā)起者傳送的是

53、消息。REQ:目標(biāo)用來請求數(shù)據(jù)傳送。此時,發(fā)起者將接受來自總線的數(shù)據(jù)(數(shù)據(jù)輸入階段),或把數(shù)據(jù)傳送到總線(數(shù)據(jù)輸出階段)。ACK:發(fā)起者用來應(yīng)答目標(biāo)的REQ請求。表示正在進(jìn)行相應(yīng)的數(shù)據(jù)傳送操作。ATN:發(fā)起者用來通知目標(biāo),它將有消息可傳送。RST:使總線復(fù)位。 SCSI-2增加了24位數(shù)據(jù)線和相應(yīng)的3個奇偶校驗信號線,以及其他控制線和地線及電源線,因而SCSI-2在SCSI A電纜的基礎(chǔ)上增加了68針B電纜。 總線通過相應(yīng)的控制線來區(qū)別數(shù)據(jù)線上傳輸?shù)男畔㈩愋汀F涠x如下:階段 C/DI/O MSG DB7-0,P 傳送方向數(shù)據(jù)輸出000 數(shù)據(jù) 發(fā)起者=目標(biāo)數(shù)據(jù)輸入010 數(shù)據(jù) 發(fā)起者目標(biāo)狀態(tài)

54、110 狀態(tài) 發(fā)起者目標(biāo)消息輸入111 消息 發(fā)起者=目標(biāo) SCSI總線的裁決采用自舉分布式方案 需要使用總線的設(shè)備在仲裁階段啟動一根與該設(shè)備的ID對應(yīng)的數(shù)據(jù)線,每個設(shè)備通過查看相關(guān)的數(shù)據(jù)線來確定是否將獲得總線的使用權(quán);標(biāo)識號ID就是設(shè)備對應(yīng)的優(yōu)先級。 圖7.17給出了一個常用的SCSI總線時序。它描述了從目標(biāo)設(shè)備讀取數(shù)據(jù)到發(fā)起設(shè)備的總線事務(wù)過程。圖7.17 SCSI時序舉例 開始時,總線處于空閑狀態(tài); 仲裁階段:要求使用總線的設(shè)備在相應(yīng)的數(shù)據(jù)線上置請求信號。各設(shè)備通過查看有無優(yōu)先級比自己高的設(shè)備的請求,確定自己是否能占用總線。 選擇階段:使自己和目標(biāo)對應(yīng)的數(shù)據(jù)線上ID有效,并在一定延遲后,使

55、BSY信號無效。當(dāng)目標(biāo)檢測到SEL信號有效,而BSY 和I/O無效,并識別ID以后,它使BSY信號有效。當(dāng)發(fā)起者檢測到BSY信號時,釋放數(shù)據(jù)線,并取消SEL信號。 命令階段:目標(biāo)通過啟動C/D線有效,表示已進(jìn)入命令階段。命令用REQ/ACK握手信號來傳送。 數(shù)據(jù)輸入(出)階段:目標(biāo)接收和解釋命令后,取消C/D信號,使進(jìn)入數(shù)據(jù)輸入(出)階段,數(shù)據(jù)傳送的方向由信號I/O標(biāo)識。通過REQ/ACK握手信號進(jìn)行數(shù)據(jù)傳送。 狀態(tài)階段:目標(biāo)使C/D信號有效,結(jié)束數(shù)據(jù)階段而進(jìn)入狀態(tài)階段(此時,I/O信號有效)。 消息階段:目標(biāo)使MSG線有效,以進(jìn)入消息階段。 SCSI總線的通信定時方式, 缺省為異步方式,即:

56、每個字節(jié)的傳送都由REQACK 握手信號定時。 可設(shè)置為同步方式,僅用于數(shù)據(jù)輸入階段和數(shù)據(jù)輸出階段。 通過“同步數(shù)據(jù)傳送 (SDTR)”消息來設(shè)置是否采用同步方式。如表7.5:表7.5 SDTR消息的格式7.4.6 EIA-232-D總線 一個廣泛使用的串行總線標(biāo)準(zhǔn) 美國電子工業(yè)協(xié)會(EIA)1987年制定的EIA-232-D標(biāo)準(zhǔn),它的前身是EIA在1969年制定的推薦標(biāo)準(zhǔn)RS-232-C。 EIA-232-D接口由25條信號線構(gòu)成,其中有一條數(shù)據(jù)發(fā)送線,一條數(shù)據(jù)接收線,在接口對接時,這兩條線交叉連接。 標(biāo)準(zhǔn)提供主要幾條控制線是: 定義了按位串行傳輸?shù)臄?shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通信設(shè)備(DC

57、E)之間的接口信息。 當(dāng)計算機(jī)和通信設(shè)備(如MODEM和數(shù)字傳真機(jī))連接時,計算機(jī)的串行接口地位等同于數(shù)據(jù)終端設(shè)備。 (1) 請求發(fā)送RTS(Request To Send) 當(dāng)發(fā)送方準(zhǔn)備發(fā)送數(shù)據(jù)時,向?qū)Ψ桨l(fā)出一個RTS信號,以詢問接收方是否準(zhǔn)備好。 (2) 允許發(fā)送CTS(Clear To Send) 當(dāng)接收方收到發(fā)送方送來的RTS信號時,如果接收方已準(zhǔn)備好接收數(shù)據(jù),則向發(fā)送方回送一個CTS信號作為回答。 (3) 數(shù)據(jù)終端準(zhǔn)備好DTR(Data Terminal Ready) 接收方做好了接收數(shù)據(jù)的準(zhǔn)備后,就主動向發(fā)送方發(fā)送一個DTR信號,以通知發(fā)送方進(jìn)行數(shù)據(jù)發(fā)送。 (4) 數(shù)據(jù)集就緒DSR

58、(Data Set Ready) 發(fā)送方收到接收方送來的DTR信號后,如果作好了發(fā)送準(zhǔn)備,就向接收方送出一個DSR信號作為回答。 (5) 載波檢測CD(Carry Detect) 用于檢測是否建立了連接。7.4.7 USB通用串行總線 1USB的由來通用串行總線USB(Universal Serial Bus)是由Compag,Digital,Intel,Microsoft,NEC,IBM和北方電訊等7家公司聯(lián)合推出的新一代標(biāo)準(zhǔn)接口總線。它是一種PC機(jī)外掛總線,目的是解決PC機(jī)外圍設(shè)備的擁擠和提高設(shè)備傳輸速率問題。由于USB總線具有使用方便靈活、速率高等優(yōu)點,已受到用戶的廣泛歡迎。目前,它可以

59、連接多種不同速率、不同要求的外設(shè),包括鍵盤、鼠標(biāo)、掃描儀、打印機(jī)、光驅(qū)、移動盤、數(shù)碼相機(jī)等。 2USB總線的特點 連接靈活、使用方便。 速度快。 低成本電纜(和Hub)連接。 3USB總線的系統(tǒng)結(jié)構(gòu)USB系統(tǒng)中的設(shè)備與主機(jī)的連接方式采用星形結(jié)構(gòu),其總線的拓?fù)浣Y(jié)構(gòu)如圖所示。 USB上所掛接的外設(shè)通過由主機(jī)調(diào)度的、基于令牌的協(xié)議來共享USB帶寬。主機(jī)與設(shè)備端點之間的USB數(shù)據(jù)傳輸模型稱為管道。管道有兩種類型:消息(具有USB定義的結(jié)構(gòu))和流(沒有USB定義的結(jié)構(gòu))。管道和數(shù)據(jù)帶寬、傳輸服務(wù)類型(有控制傳輸、塊傳輸、中斷傳輸和等時傳輸4種類型)、端點特點(如方向性、緩沖區(qū)大?。┯嘘P(guān)。當(dāng)USB設(shè)備配置

60、時,大多數(shù)管道已形成。一旦設(shè)備加電,總是形成一個被稱為默認(rèn)控制管道的消息管道,以便提供對設(shè)備配置、狀態(tài)和控制信息的訪問。4USB通信USB設(shè)備不直接消耗資源,USB設(shè)備不映射到內(nèi)存或I/O地址空間,也不使用IRQ或DMA通道。所有的事務(wù)處理都是由主機(jī)系統(tǒng)完成的,USB系統(tǒng)需要的系統(tǒng)資源僅僅是給出一定的內(nèi)存緩沖區(qū)。7.4.8 IEEE 1394總線 1IEEE 1394總線的由來IEEE 1394高性能串行總線由Apple公司于1993年首先提出,用以取代SCSI的高速串行總線“Firewire”。但是,直到1995年SONY公司推出的數(shù)碼攝像機(jī)加上了IEEE 1394接口以后,才真正引起人們的

溫馨提示

  • 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

提交評論