-
總線的基本概念
總線連接:把計算機的五大部件連接到一組公共信息傳輸線上
總線:連接多個部件的信息傳輸線,是各部件共享的傳輸介質,實際上由許多傳輸線或者通路組成,每一條傳輸線可以一位一位的傳輸二進制代碼
-
總線的分類
按照傳輸方式:串行傳輸總線,並行傳輸總線
按照傳輸數據寬度:8,16,32,64位等
按照使用范圍:計算機總線,測控總線,網絡通訊總線
按照連接的部件不同來介紹總線:
-
片內總線
指芯片內部總線,如在CPU內部,連接寄存器和寄存器,寄存器和ALU單元
-
系統總線
指CPU,I/O設備,主存各大部件之間的信息傳輸線。
數據總線:傳輸各功能部件之間數據信息,雙向傳輸總線,位數和機器字長,儲存字長有關,數據總線位數稱為數據總線寬度,衡量系統性能的重要參數
地址總線:用來傳輸數據總線上源數據或目的數據所在的地址,地址信息由CPU單向輸出,儲存單元個數與地址線位數緊密相關。有20根地址線的主存有2^20個儲存單元
控制總線:數據總線和地址總線都是被掛在上面的部件共享的,控制總線上傳輸的控制信號,讓各部件在不同時刻對總線有控制權
-
通信總線
用於計算機系統之間和計算機系統和其他系統之間的通信。傳輸速率和傳輸距離成反比。並行傳輸的速率遠大於串行傳輸,但是並行傳輸的成本很高,所以在長距離的傳輸中,一般用串行傳輸
-
總線特性以及性能指標
機器特性:總線在機械連接方式上的特性
電氣特性:規定總線上每一條傳輸線上信號的傳遞方向和有效電平范圍。值得注意的是RS-232C的電平信號是反邏輯的,即低電平為1,高電壓為0
功能特性:指定每根傳輸線的功能,如地址線傳輸地址碼
時間特性:指總線上傳輸線的信號在什么時間內有效
-
總線結構
總線寬度:總線傳輸線根數
總線帶寬:每秒鍾傳輸的數據位數或者字節數。eg. 工作頻率為100MHz, 線寬為32位的總線,帶寬為:100M*32/8B/1s = 400MBps(兆字節每秒)
時鍾同步/異步:數據傳輸是否與時鍾信號同步
總線復用:一條總線上是否傳輸兩種信號。通常地址總線和數據總線是復用的,在不同的時間,總線傳遞不同的信號
信號線數:地址總線, 數據總線, 控制總線三者總線的線數之和
其他指標:如負載能力,電源電壓等。 總線的負載能力就是驅動能力,當總線接上負載后,總線的輸出邏輯電平是否能保持在額定范圍之內
-
總線標准
總線標准就是,系統和各模塊之間,模塊和模塊之間的一個相互連接的標准界面。這個界面對兩端的模塊都是透明的,即界面的任一方只需要根據總線的標准完成各自的接口功能需求,而無需知道對方接口與總線的連接需求,所以總線標准設計的接口可以視為通用接口
幾種常見的總線標准
ISA總線:(industrial standard architecture)工業標准構架總線,采用獨立於CPU的時鍾頻率,所以能采用比總線頻率更高的時鍾,有利於CPU性能提高,沒有支持總線仲裁的硬件邏輯,因而不支持多台主設備系統,且所有數據傳輸必須經過CPU或者DMA接口來管理,因此CPU花費大量時間來控制與外部設備交換數據。工作頻率為8MHz,數據線16位,地址線24位
PCI:由於帶寬的限制,ISA標准不適合在GUI和多媒體中應用。(peripheral component interconnect)外圍部件互連。
高性能:不依附於某個具體處理器的局部總線,為系統提供一個高速的數據傳輸通道,采用33MHz或者66Mhz的總線時鍾,數據線為32位,可以擴展到64位。支持突發工作,這種方式是指被傳輸的數據在主存中如果連續存放,訪問這些數據的時候,只需要給出第一個數據地址,占用一個時鍾周期,其后每個數據的傳送各占一個時鍾周期,不必每次給各個數據地址,從而提高傳輸速率
良好的兼容性:總線部件和插件接口相對於處理器是獨立的,支持所有現在和將來不同結構的處理器,有相對長的生命周期
支持即插即用(plug and play):任何擴展卡只要插入系統就可以工作
支持多設備能力,提供數據和地址奇偶校驗功能,支持兩種電壓,擴充性好,采用多路復用。。。
RS-232C:由美國電子工業協會(EIA)推薦的一種串行通信總線標准,用於串行二進制交換的數據終端設備和數據通訊設備。
USB總線:(universal serial bus)通用串行總線,基於通用連接技術,實現外設的簡單快速連接,達到方便用戶,降低成本,擴展PC外設的目的。具有真正的即插即用的特征,相信大家在日常生活中有這樣的感受;有很強的連接能力,一般的電腦可以連接127個外設,通過hub你可以在你的電腦上連接更多的外設;USB1.0,采用無屏蔽的雙絞線,傳輸速度達1.5Mbps,若采用屏蔽雙絞線,可以達到12Mbps,USB2.0的傳輸速度可達480Mbps;標准統一,usb標准的引入減輕了目前PC對所有標准接口的需求,我們日常用的鼠標,鍵盤,打印機都可以用usb標注接入系統,從而減少對PC插槽的需求;連接電纜輕巧,電源體積小。usb采用4芯電纜,兩條用於信號連接,兩條用於電源和接地,可以給外設提供5V的直流電流;生命力強,開放性的不具有專利版權的工業標准
以上幾種總線標准的詳細內容大家可以在網上做進一步了解
-
總線控制
總線判優控制:按照總線上的設備對總線是否有控制功能可以分為主設備和從設備兩種。主設備對總線有控制權,從設備只能響應主設備發來的的總線命令,對總線沒有控制權。總線上的信息的傳送是由主設備啟動的,如某一個主設備要和一個從設備通信,首先由主設備發出總線請求信號,若多個設備要同時使用總線,就由總線控制器的判優,仲裁邏輯按照一定的優先等級順序決定哪個主設備能使用總線,只有獲得總線使用權的主設備才能開始傳輸數據。常見的仲裁方式有一下幾種
- 鏈式查詢,控制總線有三根用於總線控制,分別為BS(總線忙),BR(總線請求),BG(總線同意),其中BG信號是串行的從一個IO設備從上一個傳輸到下一個,如果BG新到到達的接口有總線請求,BG信號就不再繼續向下傳送,以為該接口獲得使用權,並且建立BS信號,表示系統總線已經被占用。這種方式用很少的線就能實現,但是對電路故障很敏感,並且優先級低的設備很難獲得總線使用權
- 計數器定時查詢,總線控制部件接收到BR送來的請求后,在總線未被使用(BS=0)的情況下,總線控制部件中的計數器開化寺記數,並且通過設備地址線發出一組地址信號,當某個請求占用總線設備的地址和計數器的值一致的時候,獲得總線使用權。這種方式對電路故障的敏感不如鏈式查詢,但是控制線增多,控制更加復雜。
- 獨立請求方式,每一台設備都有一對BR和BG信號線。設備需要使用總線的時候就發出BR信號,總線控制部件中有排隊電路,根據優先次序確定響應那一台設備的請求。這種方式的響應速度快,優先次序控制靈活,但是控制線很多,總線控制復雜
鏈式查詢只需要2條線確定使用權屬於哪個設備,記數查詢中大概用log2n條線(近似地址線的條數,實際還有BR,BS),獨立請求方式需要2n條線,n是設備數 量
總線通訊控制:眾多部件共享總線,在爭奪總線使用權時,應按照各部件的優先級來解決。在通訊時間上,分時方式來處理,即以獲得使用權的先后順序分時占用總線,即哪一個部件獲得使用權,此時就由它傳送,下一部件獲得使用權,接着下一時刻傳送。通常完成一次總線操作的時間稱為總線周期,可以分為四個階段
- 申請分配階段:需要使用總線的主模塊提出請求,經總線仲裁決定下一傳輸周期的總線使用權屬於哪一個申請者
- 尋址階段:取得使用權的主模塊通過總線發出本次要訪問的從模塊的地址以及有關命令,啟動參與本次傳輸的從模塊
- 傳輸階段:主模塊和從模塊進行數據交換,數據由源模塊發出,經過總線流入目的模塊
- 結束階段:主模塊有關信息均從系統總線上撤除,讓出總線控制權
總線通信控制主要解決通信雙方如何獲知傳輸開始和傳輸結束,以及雙方如何配合。通常有四種通訊方式
- 同步通信:通信雙方由統一時標控制數據傳送,時標通常由CPU的總線控制部件發送到總線上所有的部件,也可以由部件各自的時序發生器發出,但必須由總線控制部件發出的時鍾信號對他們進行同步。一個同步通信周期包括四個時鍾信號T1,T2,T3,T4,總線傳輸周期是連接在總線上的兩個部件完成一次完整且可靠的傳輸時間。CPU在T1上升沿發出地址信息,T2上升沿發出讀命令,與地址信號相符合的輸入設備按命令進行一系列操作,T3上升沿來領之前將CPU所需要的數據送到數據總線上,T4上升沿撤銷讀命令,輸入設備不再送數據,撤銷其對總線的驅動。 寫操作,類似詳細過程可以看時序圖。同步通信的優點是規定明確統一,模塊間的配合簡單一致。缺點是主從模塊時間配合屬於強制性同步,必選在限定時間內完成規定要求,對於速度不同的部件來說,必須按照速度最慢的部件來設計公共時鍾,嚴重影響工作效率。同步通信一般用於總線長度短,各部件存取時間比較一致的場合
- 異步通信:允許各模塊速度不一致,給設計者靈活的選擇。采用應答方式,當主模塊發出請求時,一直等待從模塊反饋響應后,才開始通信。 異步通信分為不互鎖,半互鎖,全互鎖三種方式。 不互鎖方式:主模塊發出請求后,不要要等到從模塊的應答信號,而是經過一段時間后就撤銷請求信號。CPU向主存寫數據就常用這種方式; 半互鎖方式:主模塊發出請求后,必須等到從模塊的應答信號后再撤銷請求信號。但是從模塊再發出應答信號后,等一段時間就撤銷應帶信號。這種方式常用於多機系統中,CPU訪問共享內存,CPU在收到共享內存未被占用的信號后才能訪問內存; 全互鎖方式:主模塊發送請求后,必須收到從模塊的應答信號才能撤銷自己的請求信號,同樣從模塊在接受到主模塊對自己發出的應答信號的響應后才能撤銷自己的應答信號。這種方式常用於網絡通信中,比如TCP的握手協議。 因為異步通信沒有同步時鍾,為了區分一個數據幀,就必須在數據的首位加上標志來區分。常用的方式是在數據前加以為的信號的起始位,在數據尾部添加以為奇偶校驗位,以及1位,1.5位,或者2位高電平信號的終止位。還可以在終止位后面添加高電平的空閑位。因為數據的后面全是高電壓,當接受到一個低電平,即起始位,就可以標志有新的數據傳來。 異步通信的數據傳送速率是用波特率來衡量的。波特率是指單位時間內傳送二進制數據的位數,單位用bps來表示記作波特。比特率用來衡量串行通信的數據傳輸速率,即單位時間內傳送二進制有效數據位數,即不包括起始位,奇偶校驗位和終止位
- 半同步通信:這種方式具有同步通信和移步通信的特點。所有的地址,命令,數據幀的發出時間都嚴格參照系統時鍾的某個前沿開始,而接收方都采用系統時鍾后沿來進行判斷識別;同時又像異步通信那樣允許不聽速度的模塊和諧的工作,為此增加一條“等待”響應信號線,采用插入時鍾周期的措施來協調雙方的配合問題。以上面同步通信的輸入位例,T1,T2都和上面一樣,區別在T3時刻,如果從模塊工作速率較慢,無法在T3時刻提供數據,則必須在T3來領之前通知主模塊,給出“等待”信號。如果主模塊在T3來時刻測得“等待”信號為低電平,就插入一個等待周期Tw(寬度和時鍾周期一致),不立即從數據線上取數據。若下一個時鍾周期“等待”信號任然為低電平,重復上一步操作,直到“等待”信號為高電平,主模塊把此刻的下一個時鍾周期當做正常的T3周期。 半同步通信適用於系統工作速度不高但又包含了許多工作速度差異較大的各類設備組成的簡單系統。半同步通信控制方式比異步通信簡單,在全系統內各模塊又在統一的系統時鍾控制下工作,可靠性高,同步結構較方便。缺點是對系統時鍾頻率不能要求太高,所以整體上來看,系統的工作速度不是很高
- 分離式通信:以上三種方式都是從主模塊發出地址和讀命令開始,直到數據傳輸結束。在整個傳輸周期中,系統總線的使用權完全由占有使用權的主模塊和由他選中的從模塊占據。進一步分析讀命令傳輸周期,發現除了申請總線這一階段外,其余時間花費在如下三個方面。 1.主模塊通過總線向從模塊發送地址和命令 ; 2.從模塊按照命令進行讀數據的必要准備; 3:從模塊經數據總線向主模塊提供數據 由2可以發現,對系統的總線而言,該過程中沒有任何數據傳輸,總線屬於空閑等待。為了提高總線的利用率,基本思想是把一個傳輸周期分解為兩個子周期。在第一個周期中,主模塊獲得總線使用權后將命令,地址以及其他相關信息,包括該主模塊編號(當有多個主模塊的時候,這個編號很重要)發到系統總線上,經過總線傳輸后,從模塊把相關信息接收下來,主模塊向系統總線發布這些信息只占用總線很短的時間,一旦發送完,立即放棄總線使用權,以便其他模塊使用。在第二個子周期中,當從模塊收到主模塊的相關命令信息后,經過一系列的操作,將主模塊需要的數據准備好,從模塊申請總線使用權一旦獲准,從模塊就把主模塊的編號,從模塊地址,主模塊需要的數據等一系列信號送到總線上,供主模塊接受。很明顯上面的了兩個傳輸子周期都只有單向的信息流,每個模塊都成了主模塊。 這種通信方式的特點如下: 1.各模塊想占用主線使用權都必須提出申請; 2.在獲得總線使用權后,主模塊在限定時間內向對方傳送信息,采用同步方式傳送,不再等待對方的回答信號; 3.各模塊在准備數據的過程中都不占用總線,讓總線可以接受其他模塊請求; 4.總線被占用的時候都在做有效的工作,或者通過它發送命令,或者通過它傳送數據,不存在空閑等待時間,充分地利用了總線的有效占用,從而實現總線在多個組從模塊間進行信息交叉重疊並行傳送,這能有效的提高速率。但這種控制方式比較復雜,一般在普通計算機中很少使用
3.4總線結構沒有看,不過我覺得不是很重要
