鏈接計算機系統各個功能部件的信息傳輸線。是各個部件共享數據及信息的傳輸介質,用來鏈接計算機系統各功能部件而構成一個完整系統。算法
其實是一組信號線。編程
廣義地講,任何鏈接兩個以上電子元器件的導線均可以稱爲總線。網絡
各部件之間使用單獨的連線鏈接起來,數量龐大,系統難以擴展,結構複雜。架構
將各部件鏈接到一組公共信息傳輸線上。併發
總線其實是由許多傳輸線或通路組成的,每條線可一位一位地傳輸二進制代碼,一串二進制代碼可在一段時間內逐一傳輸完成。若干條傳輸線能夠同時傳輸若干位二進制代碼。異步
串行:每條線一位接一位的傳輸二進制代碼,一串二進制代碼可在一段時間內逐一傳輸完成。分佈式
並行:若干條傳輸線能夠同時傳輸若干位二進制代碼,如,16條傳輸線組成的總線可同時傳輸16位二進制代碼。ide
總線是鏈接多個部件的信息傳輸線,是各部件共享的傳輸介質。性能
在某一時刻,只容許有一個部件向總線發送信息,而多個部件能夠同時從總線上接收相同的信息。spa
總線由總線控制器管理,總線控制器的主要功能有總線系統的資源管理、總線系統的定時及總線的仲裁和鏈接。
單總線結構將 CPU、主存、I/O 設備(經過 I/O 接口)都掛到一組總線上,容許 I/O 設備之間、I/O 設備與主存之間直接交換信息。
特色:
I/O設備與內存交換信息時,須要佔用CPU,所以會影響CPU的工做效率。
特色:
保留了內存與I/O設備間傳輸信息不通過CPU的特色,既提升了內存與I/O設備間的傳輸速率,減輕了系統總線的負擔。
現代計算機系統大多采用此類總線結構。
用於集成電路芯片內部各部分的鏈接。
如CPU內部寄存器與寄存器之間、寄存器與算術邏輯單元ALU之間都由片內總線鏈接。
用於計算機各組成部分(CPU、內存、I\O接口等)之間的信息傳輸。
CPU經過系統總線對存儲器的內容進行讀寫,一樣通過系統總線,實現將CPU內數據寫入外設,或由外設讀入CPU。
用於一塊電路板內各元器件的鏈接。
用於計算機與外設或計算機與計算機之間的鏈接或通訊。
所傳輸的信息 | 傳輸方向 | 說明 | |
數據總線 | 傳輸各功能部件之間的數據信息。 | 雙向傳輸 | 其位數稱爲數據總線寬度,與機器字長、存儲字長有關,通常爲 8 位、16 位或 32 位。 |
地址總線 | 用於指出數據總線上的源數據或目的數據在主存單元的地址或 I/O設備的地址, 也就是說地址總線上的代碼用來指明 CPU 欲訪問的存儲單元或I/O端口的地址。 |
由CPU輸出,單向傳輸。 |
地址總線的位數與存儲單元的個數有關,如地址線爲 20 根,則對應的存儲單元個數爲 220個。 |
控制總線 | 用於發出各類控制信號,控制各部件動做。 | 一般對任一控制線而言,它的傳輸是單向的,如存儲器讀/寫命令都是由 CPU 發出的; 但對控制總線整體而言,又可認爲是雙向的, 如當某設備準備就緒時,即可經過控制總線向 CPU 發送中斷請求。 |
經常使用的控制信號有: 時鐘:同來同步各類操做。 復位:初始化全部部件。 總線請求:表示某部件需得到總線使用權。 總線容許:表示須要得到總線使用權的部件已得到了控制權。 中斷請求:表示某部件提出中斷請求。 中斷響應:表示中斷請求已被接收。 存儲器寫:將數據總線上的數據寫入存儲器的指定存儲單元中。 存儲器讀:將指定存儲單元中的數據讀到數據總線上。 I/O讀:從指定的I/O端口將數據讀到數據總線上。 I/O寫:將數據總線上的數據輸出到指定的I/O端口。 傳輸響應:表示數據已被接收,或已將數據送至數據總線上。 |
機械特性是指總線在機械鏈接方式上的一些特性,如插頭與插座使用的標準,幾何尺寸、形狀、引腳交個數、排列順序、接頭處可靠接觸等。
一般是指數據總線的根數,用 bit(位)表示,如 8 位(8 根)、16 位(16根)、32 位(32 根)、64 位(64 根)等。
可理解爲總線的數據傳輸率,即單位時間內總線上傳輸數據的位數,一般用每秒傳輸信息的字節數來衡量,單位可用 MBps(兆字節每秒)表示。
總線帶寬 = 總線工做頻率×(總線寬度/8),如總線工做頻率爲33MHz,總線寬度爲 32 位(4B),則總線帶寬 = 33×(32÷8) = 132MBps。
總線上各類操做的頻率,等於總線週期的倒數,即總線工做頻率=1/總線週期。其實是指一秒鐘內傳輸幾回數據。
是指一次總線操做所需的時間(包括申請階段、尋址階段、傳送階段和結束階段)。
總線週期一般由若干個總線時鐘週期構成。而總線時鐘週期就是機器的時鐘週期。
指機器的時鐘頻率,總線時鐘頻率=1/總線時鐘週期。
Example-1:
設某系統總線在一個總線週期中並行傳送 6 字節信息,總線時鐘頻率爲20MHz,一個總線週期佔用 2 個時鐘週期,求該總線帶寬。
解:
總線時鐘頻率爲 20MHz,一個總線週期佔用 2 個時鐘週期;
因此總線工做頻率 = 20MHz/2 = 10MHz,總線的寬度 = 6×8 位;
因此總線帶寬=總線工做頻率×(總線寬度/8) = 10MHz×6B = 60MB/s。
總線上的數據與時鐘同步工做的總線稱爲同步總線,與時鐘不一樣步工做的總線稱爲異步總線。
一條信號線上分時傳送兩種信號稱爲總線複用。
例如,在一組物理線路上可分時傳輸地址信號和數據信號。
地址總線、數據總線和控制總線三種總線數的總和稱爲信號線數。
總線控制方式有突發工做、自動配置、仲裁方式、邏輯方式和計數方式等。
所謂總線標準,可視爲系統與各模塊、模塊與模塊之間的一個互連的標準界面。這個界面兩端的任一方只須根據總線標準的要求完成自身接口的功能要求,而無須瞭解對方接口與總線的鏈接要求。所以,按總線標準設計的接口可視爲通用接口。制定總線標準的目的是便於靈活組成系統。
經常使用的總線標準以下。
ISA(Industry Standard Architecture,工業標準體系結構),又稱 AT 總線。
ISA總線是具備開放式結構的總線。ISA總線爲62+36線,數據線16,地址線14。採用 24 位地址線(可直接尋址的內存容量爲 16MB),沒有支持仲裁的硬件邏輯,不能支持多臺主設備系統。ISA 屬系統總線標準。
EISA(Extended IndustryStandard Architecture,擴展工業標準體系結構是一種在 ISA基礎上擴充開放的總線標準。支持多個總線主控器和突發方式(總線上可進行成塊的數據傳輸)的傳輸。地址總線爲 32 位,數據總線爲 32 位,屬於系統總線標準。
VESA 總線是由 VESA(Video Electronic Standard Association,視頻電子標準協會)提出來的局部總線標準,也稱爲 VL-BUS 總線。所謂局部總線,是指在系統外爲兩個以上設備提供的高速傳輸信息通道,VESA配有局部控制器,將高速設備直接掛在 CPU 的總線上,實現CPU 與高速外設之間的高速數據交換。數據總線爲 32 位,屬於系統總線標準。
PCI(Peripheral Component Interconnect),即外部設備互連總線,它提供 32/64 位數據總線,總線時鐘頻率爲 33MHz。與 ISA、EISA 都可兼容,支持即插即用、多層結構,提供數據和地址奇偶校驗功能。採用同步時序協議和集中式仲裁方式,屬於系統總線標準。
PCI Express 總線是一種徹底不一樣於過去 PCI 總線的一種全新總線規範,與 PCI 總線共享並行架構相比,PCI Express 總線是一種點對點串行鏈接的設備鏈接方式,點對點意味着每個 PCI Express 設備都擁有本身獨立的數據鏈接,各個設備之間併發的數據傳輸互不影響,而對於過去 PCI 那種共享總線方式,PCI 總線上只能有一個設備進行通訊,一旦 PCI總線上掛接的設備增多,每一個設備的實際傳輸速率就會降低,性能得不到保證。如今,PCI Express 以點對點的方式處理通訊,每一個設備在要求傳輸數據的時候各自創建本身的傳輸通道,對於其餘設備而言這個通道是封閉的,這樣的操做保證了通道的專有性,從而避免其餘設備的干擾。
AGP(Accelerated GraphicsPort,加速圖形接口)是專爲提升視頻帶寬而設計的總線規範。它採用點對點鏈接,鏈接控制芯片組和 AGP 顯示卡,所以嚴格來講 AGP 不能稱爲總線,而是一種接口標準。AGP 屬於設備總線標準。
RS-232C(Recommended Standard,232 爲標識號,C 表示修改次數)是由美國電子工業協會 EIA 提出的一種串行通訊總線標準,它是應用於串行二進制交換的數據終端設備和數據通訊設備之間的標準接口。RS-232C 屬於設備總線標準。
SCSI(Small Computer SystemInterface,小型計算機系統接口)總線主要用於光驅、音頻設備、掃描儀、打印機以及像硬盤驅動器這樣的大容量存儲設備等的鏈接,是一種直接鏈接外設的並行 I/O 總線,屬於設備總線標準。
USB(Universal Serial Bus——通用串行總線)是一種鏈接外圍設備的 I/O 總線,屬於設備總線標準。USB 由 Intel 公司提出,帶寬爲 12Mbps,與傳統接口總線相比,主要優勢有三個:①具備即插即用功能(USB 提供機箱外的即插即用鏈接,鏈接外設時沒必要再打開機箱,也沒必要關閉主機電源);②USB採用「級聯」方式鏈接各個外部設備(每一個 USB 設備用一個USB 插頭鏈接到前一個外設的 USB 插座上,而其自己又提供一個 USB 插座,以供下一個 USB 外設鏈接,可鏈接多達 127 個外設,兩個外設間的線纜長度可達 5 米);③適用於低速外設鏈接(USB 的傳送速度可達 12Mb/s,可與鍵盤、鼠標、Modem 等常見外設鏈接,還能夠與 ISDN、電話系統、數字音響、打印機/掃描儀等低速外設鏈接)。
在 USB 總線上,數據的傳送是以幀(Frame)爲單位進行的,即發送方須要按照必定的格式對要傳送的數據進行組織;接收方按照一樣的格式來接收和理解幀。
信息以串行方式傳送時,只有一條傳輸線,且採用脈衝傳送,即數據 0 或 1 按位順序傳送(以脈衝信號「有或無」的形式傳送),每拍(次)傳一位。
其特色是線路成本低,傳送速度慢。適用場合:主機與低速外設間的傳送、遠距離通訊總線的數據傳送、系統之間的數據傳送。
串行傳輸信息的速率一般用波特率和比特率來表示。
每秒鐘傳送的數據位數。
每秒鐘傳送的有效數據位數。
Example-1:
利用串行方式傳送字符,假設數據傳送速率是 120 個字符/秒,每個字符格式規定包含 10 個數據位(起始位、中止位、8 個數據位),問傳送的波特率是多少?每一個數據位佔用的時間是多少?比特率又是多少?
解:
波特率=10 位×120/秒=1200。
每一個數據位佔用的時間 Td是波特率的倒數,因此 Td=1/1200=0.833×10-3s=0.833ms。
每一個字符對應的 10 個數據位中只有 8 個有效數據位。
因此比特率=8 位×120/秒=960。
利用並行方式傳輸二進制信息時,每位數據都須要單獨一條傳輸線,從而使得多位二進制數碼在同一時刻同時進行傳送。
並行傳輸通常採用電位傳送。因爲全部的位同時被傳送,因此並行數據傳送比串行數據傳送快得多。
特色是線路成本高,傳送速度快。適用場合:短距離的高速數據傳輸。
在不一樣的時間間隔中,總線能夠分別完成傳送地址和傳送數據的任務,或者當多部件共享總線時,各部件根據控制命令,分時使用總線來完成本身的數據傳送任務。也就是說,複合傳輸方式有兩個概念:
單總線結構將CPU、主存、I/O設備(經過I/O接口)都掛在一組總線上,容許I/O設備與CPU間、I/O設備與主存間、I/O設備與I/O設備間直接交換信息。
結構簡單,便於擴充。
全部的傳送信息都通過這條共享總線,總線負荷太高。
不容許兩個及以上的部件同時向總線傳輸信息,嚴重製約系統工做效率。因此,這種結構的總線多被小型計算機和微型機採用。
將傳輸速度較低的I/O從單總線上分離出來,造成主存總線和I/O總線分開的結構。
通道是一個具備特殊功能的處理器,CPU將一部分功能下放給通道,使其具備對I/O設備統一管理的功能。以完成外部設備與主存儲器之間的數據傳輸。
系統的吞吐能力至關大,系統工做效率明顯提高。這種結構大多用於大中型計算機系統。
將傳輸速度不一樣的I/O設備進行分類,並將其鏈接到不一樣的通道上,主存總線用於主存與CPU的信息傳輸,I/O總線用於I/O設備與CPU的信息傳輸,DMA總線用於高速I/O設備(磁盤、磁帶等)與主存間的信息傳輸。
計算機系統工做效率獲得提升、
某一時刻只能使用一種總線,主存總線和DMA總線不能同時對主存進行讀取;I/O總線只有在CPU執行I/O指令時才能用到。
局部總線將CPU與Cache或與更多的局部設備鏈接。
Cache的控制結構不只將Cache鏈接到局部總線上,並且還直接連到系統總線上,這樣Cache就可經過系統總線與主存直接傳輸信息。
I/O設備與主存之間的信息傳輸也沒必要通過CPU。
擴展總線將局域網和小型計算機接口(SCSI)、調制解調器(Modem)以及串行接口都鏈接起來,而且經過這些接口又可與各種I/O設備相連,所以它可支持至關多的I/O設備。
與此同時,擴展總線又經過擴展總線接口與系統總線相連,由此即可實現這兩種總線之間的信息傳輸。
系統的工做效率明顯提升。
增長了一條高速總線,高速總線上掛接了一些高速I/O設備,如高速局域網、圖形工做站、多媒體、SCSI等,它們經過Cache控制結構中的高速總線橋或高速緩衝器與系統總線和局部總線相連,使得這些高速設備與CPU更密切。
而一些較低速度的設備如圖文傳真FAX、調制解調器(Modem)、串行接口仍然掛在擴展總線上,並由擴展總線接口與高速總線相連。
這種結構對於高速設備而言,其自身的工做能夠不多依賴CPU,同時它們又比擴展總線上的設備更貼近CPU,對於高性能設備和CPU來講,各自的效率獲得很大提升。
不管是高速局域網、高性能圖形仍是低速的FAX、Modem都掛載在ISA或EISA總線上。並經過ISA或EISA總線控制器與系統總線相連。
會出現總線數據傳輸的瓶頸。
爲了改變總線結構來提升數據傳輸速率,需將高速、高性能的外設(如高速局域網、高性能圖形卡)儘可能靠近CPU自己的總線,博並與CPU同步或準同步。出現了VL-BUS局部總線結構。
將高速、高性能的高速局域網卡、多媒體卡、高性能圖形卡從ISA總線上卸下來,掛載到VL-BUS總線上。
局部總線 VL-BUS 就至關於在CPU與高速I/O設備之間架設了高速通道,使CPU與高性能外設的功能獲得充分發揮。
PCI總線經過PCI橋(包括PCI控制器和PCI加速器)與CPU總線相連。並將數據傳輸效率高的設備掛載在PCI總線上,如多媒體卡、高速局域網適配器、高性能圖形卡等。
低速的設備仍然掛在ISA或EISA總線上,如FAX、Modem、打印機等。
使CPU總線與CPI總線相互隔離,具備更高的靈活性,能夠支持更多的高速設備。
當PCI總線驅動能力不足時,可採用多層結構。
總線上所鏈接的各種設備(部件,CPU、I/O設備,內存等),按其對總線有無控制功能可分爲主設備和從設備。
主設備是指得到總線控制權的設備,它對總線有控制權;
從設備是指被主設備訪問的設備,它對總線沒有控制權,只能響應從主設備發來的總線命令。
總線上信息的傳輸是由主設備啓動的,如某個主設備要與另外一個設備(從設備)進行通訊時,首先由主設備發出總線請求信號,若多個主設備同時要使用總線時,爲保證在同一時間內只有一個設備得到總線使用權,須要設置總線判優控制機構。
總線判優控制機構按照申請者的優先權,決定哪一個總線主控設備將在下次獲得總線使用權的過程稱爲總線裁決(仲裁)。
只有得到了總線使用權的設備或部件,才能開始數據傳送。
總線裁決方式能夠分爲集中式裁決和分佈式裁決兩種。
集中式裁決方式是將控制邏輯作在一個專門的總線控制器或總線裁決器中,將全部的總線請求集中起來,利用一個特定的裁決算法進行裁決。
集中裁決方式有三種:鏈式查詢方式、計數器定時查詢方式和獨立請求方式。
鏈式查詢方式也稱菊花鏈方式,如圖所示。設備的優先級由主設備在總線上的位置來決定,離總線控制器最近的設備具備最高的優先級,要求擁有總線使用權的高優先級設備簡單地攔截總線容許信號,不讓更低級的設備收到該信號。
此方案比菊花鏈查詢方式多了一組設備計數線,少了一根總線容許線 BG,如圖所示。
總線請求的設備號與計數值一致時,該設備便得到總線使用權,此時終止計數查詢,同時該設備創建總線忙 BS 信號。
設備的優先級經過設置不一樣的計數初始值來改變:
計數老是從 0 開始,此時設備的優先次序是固定的。
計數的初值老是上次獲得控制權設備的設備號,那麼全部設備的優先級是相等的,是循環優先級方式。
每一個設備都有一對總線請求線 BRi 和總線容許線 BGi,如圖所示。
這種方案使用一箇中心裁決器從請求總線的一組設備中選擇一個。總線控制器能夠給各個請求線一個固定的優先級,也能夠設置可編程的優先級。裁決算法由硬件來實現,可採用固定的並行判優算法、平等的循環菊花鏈算法、動態優先級算法(如最近最少用算法、先來先服務算法)等。
分佈式仲裁是每一個潛在的主模塊都有本身的仲裁號和仲裁器,不須要中央仲裁器。當它們有總線請求時,把它們惟一的仲裁號發到共享的仲裁總線上,以優先級策略爲基礎,獲勝者的仲裁號保留在仲裁線上。如圖所示。
分佈式的裁決方式,沒有專門的總線控制器,其控制邏輯分散在各個部件或設備中。
一般將完成一次總線操做的時間稱爲總線週期,可分爲如下 4 個階段:
① 申請分配階段。由須要使用總線的主設備(主模塊)向總線仲裁機構提出總線使用申請,總線仲裁機構決定下一傳輸週期的總線使用權並將其授予某一申請者。
② 尋址階段。取得了總線使用權的主設備(主模塊)發出本次要訪問的從設備(或從模塊)的地址及有關命令,該從設備(模塊)被選中並啓動。
③ 數據傳送階段。主模塊和從模塊間使用數據總線進行雙(單)向數據傳送。
④ 結束階段。主、從設備均撤出總線,讓出總線使用權。
總線通訊控制方式一般有同步通訊、異步通訊、半同步通訊和分離式通訊四種。
總線上的部件經過總線進行信息傳送時,用一個由CPU 的總線控制部件發出的公共的時鐘信號進行同步,這種方式稱爲同步通訊。
時鐘信號一般由CPU的總線控制器發出,送到總線上的全部部件;也能夠由每一個部件各自的時序發生器發出,但必須由總線控制器發出的時鐘信號對它們進行同步。
因爲採用統一的時鐘,每一個部件或設備發送信息或接收信息都在固定的總線傳送週期中,一個總線傳送週期結束,開始下一個總線傳送週期。
在異步通訊方式中利用數據發送部件和數據接收部件之間的相互「握手」信號(應答方式)來實現數據傳送,即當主設備發出請求信號時,一直等到從從設備反饋回來的響應信號後纔開始通訊,因此主、從設備之間增長兩條應答線。
異步通訊的應答方式又分爲如下三種類型:
☆ 不互鎖方式。主設備發請求後,間隔固定時間,認爲從設備已經收到,沒必要等待接到從設備的回答信號而可撤銷其請求信號;從設備發回答後,間隔固定時間,認爲主設備也收到回答信號,便自動撤銷回答信號。如圖 9.8(a)所示。
☆ 半互鎖方式。主設備發請求後,等待從設備的回答,必須在接到從設備的回答信號後才撤銷其請求信號;從設備發回答後,則沒必要獲知主設備的請求信號已經撤銷,而是隔一段時間後自動撤銷其回答信號。如圖 9.8(b)所示。
☆ 全互鎖方式。主從設備相互等待,即主設備發出請求信號後,必須等待從設備回答後再撤銷其請求信號,從設備發出回答信號,必須待獲知主設備請求信號已撤銷後,再撤銷其回答信號。雙方存在互鎖關係。如圖 9.8(c)所示。
異步通訊方式的優缺點以下。
☆ 優勢:便於實現不一樣傳輸速率部件之間的數據傳送,並且對總線長度也沒有嚴格要求,還能實現數據的有效性檢驗。
☆ 缺點:速度通常不如同步通訊方式高,並且總線控制邏輯也相對複雜一些。
半同步通訊方式既保留了同步通訊的基本特色,如全部的地址、命令、數據信號的發出時間,都嚴格參照系統時鐘的某個前沿開始,而接收方都採用系統時鐘後沿時刻來進行判斷識別;同時又像異步通訊那樣,容許不一樣速度的設備和諧地工做。爲此增設一條等待響應信號線,採用插入時鐘(等待)週期的措施來協調通訊雙方的配合問題。
半同步通訊方式的優缺點以下。
☆ 優勢:比異步通訊簡單,在全系統內各模塊又在統一的系統時鐘控制下同步工做,可靠性較高。
☆ 缺點:從總體上看,系統工做的速度還不是很高。
其基本思想是將一個傳輸週期(或總線週期)分解爲兩個子週期。
在第一個子週期中,主模塊 A 在得到總線使用權後將命令、地址以及其餘有關信息,包括主模塊編號(當有多個主模塊時,此編號尤其重要)發到系統總線上,通過總線傳輸後,由有關的從模塊 B 接收下來。主模塊 A 向系統總線發佈這些信息只佔用總線很短的時間,一旦發送完成,當即放棄總線使用權,以便其餘模塊使用。在第二個子週期中,當 B 模塊接收到 A 模塊發來的有關命令信號後,通過選擇、譯碼、讀取等一系列內部操做,將 A 模塊所需的數據準備好,便由 B 模塊申請總線使用權,一旦獲准,B 模塊便將 A 模塊的編號、B 模塊的地址、A 模塊所需的數據等一系列信息送到總線上,供 A 模塊接收。很顯然,上述兩個子週期都只有單方向的信息流,每一個模塊都變成了主模塊。