通信總線
取地址,雖然是地址,但是cpu在取的時候只是數兒而已,所以是用數據總線
usb主要是通信功能,數據功能,通電……不至于
總線就是機器、部件、機器部件彼此通信的通道
分為串行通訊(單條1位寬,一位一位按照順序分時傳送)、并行通訊(比如八條線)
并行通訊適用于近距離的,前者是遠距離,都是距離越遠效率越低,短距離內并行數據速率高
系統總線(數據總線)可以傳輸:指令、操作數(其實是一回事兒)
進入cpu的只能是數據線
中斷類型號:從外設到cpu,還是從數據總線進去的,轉中斷處理
握手信號:控制總線來管理(層次更低)
tcp有鏈接,必須握手
udp無連接
cpu插板
引腳(就是一個通道或者說是接口吧)(連接主線的接入點)
主存插板(內存條)
總線特性
io插板
bus就在pcd板內,線路板的作用歸結集成到一起
很多已經直接將對應的芯片安裝在主板上,很多插卡已經做成了專用芯片,減少了插槽,使其結構更加合理
機械特性
1.機械連接方式
電氣特性
2.每一根線上傳輸信號的方向和有效電平范圍,cpu發出的是輸出,送入的輸入,地址總線是單向輸出線,數據總線是雙向傳輸線,高電平是1,低電平是0,控制總線都是單向,有輸入和輸出
功能特性
3.每根傳輸線的功能,地址總線指出地址碼,數據總線傳遞數據,控制總線發出控制信號(向或是從cpu發出的)
時間特性
4.總線中的一根什么時間內有效,有效時序
總線性能指標:
總線寬度:數據線的根數
總線帶寬:單位時間總線上傳輸的數據的位數,也即是每秒傳輸信息的字節數
標準傳輸率:每秒傳輸的最大字節數
時鐘同步/異步:同步或者不同步(與時鐘)
總線復用:分時復用地址線和數據線(地址接收,數據接收,數據發送)(歸根結底是因為接收發送的借口復雜)(也就是地址線和數據線用一組物理線路)
信號線數:地址線、數據線和控制線的總和
總線控制方式:并發、自動、仲裁(處理同時請求)、邏輯、計數
負載能力:可以連接的擴增電路板的數量
pcie、usb、agp、rs232是常見的總線
總線標準
crt顯示器
usb:即插即用,帶電操作,熱插拔
級聯方式連接多臺外設,一轉多
通信總線,連接不同外設
同時只能傳輸一位數據(因為是串行的)
存儲總線可支持突發傳送方式(運用局部性訪問一部分地域,快于隨機訪問(只是一個字節))(burst)
總線之間通過橋接器相連(控制器)
pci是串行
總線控制
多個部件同時提出總線請求——總線判優控制——仲裁
bg——總線同意
br——總線請求
bs——總線忙
有無控制功能可以分為主設備和從設備
總線判優控制分為集中式和分布式,前者將控制邏輯集中在一處,后者將控制邏輯分散在與總線連接的各個部件設備上
1鏈式查詢中距離控制部件最近的設備具有最高的優先級,只需幾根線就能實現優先次序,容易擴充設備,但對電路設備敏感,優先級別低的設備很難獲得請求
2計時器定時查詢,br總線請求,總線控制部件接收到br請求信號后,其計數器開始計數,通過地址線向設備發出地址信號,當某個請求占用總線的設備地址與計數值一致時就獲得總線使用權,計數可以從0開始,優先次序被固定就不變,也可以從上一次終點開始,即循環方法,此時設備使用總線的優先級相等,初始值也可以從程序設置,對故障容錯高
3獨立請求方式
設備請求時就發送信號,總線控制部件中有一排電路,可根據優先次序確定響應設備請求,響應速度快,優先次序控制靈活,但是控制線數量多,復雜
總而言之是鏈式是兩根,計數器查詢是 logn(允許接納的最大設備數),獨立請求是 2n
總線通信控制
先發送地址,然后是讀取允許的命令,然后是讀數據(這些都是發起),最后有結束時刻
發送地址,把數據放在總線上,開始讀取,但是要維持數據,寫就是向低速設備上寫
連續的時候只發起一個地址,其他就是讀的操作(操作要分開)
眾多部件爭奪總線使用權的時候就應該是按照優先等級來解決,在通信時間上就應該按照分時方式來處理,就是獲得使用權的先后順序
一次總線操作的時間就稱之為總線操作,分為幾個階段
1.申請分配階段,由需要使用的模塊提出申請,然后總線的仲裁機構決定
2.尋址階段,取得了使用權的模塊通過總線發出本次要訪問的地址和有關命令,啟動從模塊(也就是目標)
3.傳數階段,主模塊和從模塊進行數據交換,這個是經由數據總線
4.結束階段,所有的主模塊信息從系統總線上撤除,也就讓出了總線使用權
解決問題:如何讓雙方獲知傳輸開始結束,通信雙方如何協調配合,
1.同步通信
通信雙方由統一時標控制數據傳送稱為同步通信,所謂時標,由cpu的總線控制部件來發出,送到總線的所有部件上,也可以由各自的時序發生器來發出,但是必須由總線控制部件發出的時鐘信號對其進行同步
cpu在t1上升沿發出了地址信息,在t2上升沿發出了讀命令(與地址信號相符合的輸入設備按照命令進行一系列內部操作,且必須在t3上升沿到來之前將cpu所需數據發送到數據總線上);t3周期內將數據線上的信息送到其內部寄存器中,t4上升沿撤銷讀命令(輸入設備不再傳送數據,并且撤銷對數據總線的驅動)
t1:主模塊發地址
t2:主模塊發讀命令(提供數據)
t3:從模塊提供數據(主模塊提出寫命令,從模塊在規定時間內將數據總線上的數據寫到地址總線所指明的單元中)
t4:主模塊撤銷命令,從模塊撤銷數據(主模塊撤銷數據和命令)
優點是規定明確、統一,配合簡單一致,缺點是主從指甲你強制性同步,且必須在限定時間內完成規定的要求,不同速度必須遷就慢速度,影響工作效率
同步通信一般用于總線長度較短,各部件存取時間一致的場合
這種總線系統中,傳輸周期越短,數據線位數直接影響傳輸率
2.異步通信
克服了同步通信的缺點也就是它允許各個模塊的速度不一致,沒有公共的時鐘標準,不要求所有的部件嚴格的統一操作時間,采用應答方式(握手),主模塊發出請求信號時要等待從模塊反饋回來的響應信號,再開始通信,但是需要在主從之間加上應答線
(1)不互鎖方式
主模塊發出請求信號后,不必等待接收從模塊的回答信號,而是經過一段時間,確認從模塊已經收到請求信號后,便撤銷請求信號;從模塊接收到了請求信號之后,在條件允許的時候發送回答信號,并且經過一段時間(這段時間隨設備的不同而不同)確認主模塊已經收到了回答信號之后,自動撤銷回答信號,也就是沒有互鎖關系
比如cpu向著主存寫信息需要先后給出地址信號、寫命令、寫入數據就是這種方式
(2)
主模塊發出請求信號,必須等待接到從模塊的回答信號之后再撤銷請求信號,有互鎖關系,從模塊在接收到了請求信號之后發出回答信號,但是不必等待獲知主模塊的請求信號已經撤銷,而是隔一段時間之后自動撤銷其回答信號,沒有互鎖關系,也就是說主模塊受到從模塊的鎖定而后者不必受到前者的鎖定,就稱為是半互鎖方式
比如多機系統中某個cpu需要訪問共享存儲器(供所有的cpu訪問的存儲器),cpu發出訪存命令之后必須收到來自于存儲器未被占用的回答信號才能真正進行訪存操作(但是共享存儲器因為比較屌就不需要)
(3)
主模塊發出請求信號,必須等從模塊的回答再撤銷,后者也是,這即是全互鎖,在網絡通信中,通信雙方采用的就是這種方式。
異步通信可以用于并行傳送和串行傳送
半同步通信
保留了同步通信的基本特點,地址命令數據信號的發出時間都嚴格參照系統時鐘的某個前沿開始,接收方都采用系統時鐘后沿來進行判斷識別,也像異步通信一樣允許不同速度的模塊和諧工作,就增設了一條wait響應信號線,采用插入時鐘等待周期的措施來協調通信雙方的配合問題
主模塊:t1地址,t2命令,t3傳輸數據,t4結束傳輸,
但是從模塊速度慢無法在t3提供數據,就必須在t3之前通知主模塊給出低電平信號,插入一個等待周期tw(與時鐘周期同寬度),不立即從數據線上取數,若是還是低就再插,
t1:主模塊發出地址信息
t2:主模塊發出命令
t3w:低電平進入等待
t3:從模塊提供數據
t4:主模塊撤銷讀命令,從模塊撤銷數據
適用于系統工作速度不高但是又包含了許多工作速度差異較大的設備組成的簡單系統,比起異步通信簡單,在全系統內各模塊在統一的系統時鐘控制下同步工作,可靠性高,同步結構較為方便,缺點是對于系統時鐘頻率要求不能太高,所以整體速度慢
忙碌是所有靈感和可能性的敵人,身為一個健全健康的人,我們應該允許自己賦予自己以“空閑”的權利,否則的話,我們就跟慌不擇路的行尸走肉沒有任何區別
4.分離式通信
以上三種通信方式都是從主模塊發出地址和讀寫命令開始,直到數據傳輸結束,在整個傳輸周期中,系統總線的使用權完全由占有使用權的主模塊和由它所選定的從模塊占據,進一步分析讀命令傳輸周期,發現除了申請總線這一階段,其余時間主要花費在3方面
1.主模塊通過傳輸總線向從模塊發送地址和命令
2.從模塊按照命令進行命令進行讀數據的必要準備
3.從模塊經過數據總線向著主模塊提供數據
由2可見,對于系統總線,從模塊內部讀數據過程沒有實質性的信息傳輸,總線是空閑的,為了克服利用,在大型計算機系統中,總線的負載已處于飽和狀態,充分挖掘系統總線每個瞬間的潛力,對于提高系統性能能夠起到極大的作用,為此人們又提出了分離式的通信方式,使一個傳輸周期分解為兩個子周期,第一個周期中,主模塊a在獲得總線使用權后將命令地址和其他相關信息包括編號發布到系統總線上(當有多個主模塊的時候這個編號就很重要了),經過總線傳輸之后,就由相關的模塊b接收下來,這個發布信息只占用很短的時間,發送之后立即放棄總線使用權,以便其他模塊使用,在第二周期中,b模塊收到相關信號后,選擇譯碼讀取,將所需數據準備好,申請總線使用權,獲準之后就將a的編號,b的地址,a所需的數據等送到總線上,由a接收,兩個周期都是單向的信息流,每個模塊都是主模塊
特點
1.各模塊都需要提出申請
2.得到總線使用權之后必須在限定的時間內向著對方發送信息,采用同步方式,不再等待對方的回答信號
3.準備數據的過程中都不占用總線,可以接受其他模塊的請求。
4.占用的時候都在做有效工作,發送命令或者是數據,沒有等待,充分利用了占用,實現了總線在多個主、從模塊間進行信息交叉重疊并行式傳送
終于到了這里了,話說令我震驚的是一節課的內容我竟然花了足足有三四天的時間來整理筆記,但是同時我也能夠明顯地感覺到,現在對于知識的學習效率要比起以前高得多,以前總是要不做要不不做,總是沒有模糊的時候,但是現在,卻是能夠放慢自己的節奏,以前覺得自己每一天活完了之后都看不到第二天的太陽,現在卻不再抱有恐懼
《狐妖小紅娘》中南國皇帝說過一句話:“年輕人不喜歡吃苦,只會拼命”
我想背后的意思就是,接受沒有奇跡的生活吧,只有接受暫且茍且的現在,未來才有期望的價值。
今天來復習最后一點知識也就是關于總線結構的地方。
通常分為單總線結構和多總線結構
1.單總線結構
將cpu、主存、io設備都掛在一組總線上,允許彼此之間直接交換信息,也便于擴充,所有的傳送都通過這組,極易形成計算機瓶頸,也不允許兩個以上部件同時傳輸信息,會影響工作效率的提高
被小型微型計算機使用
在外部設備隨著種類數量變多而對數據傳輸數量和速度要求變高的時候,如果仍然采用單總線結構,總線發出的控制信號依次到達很多個設備延遲時間就會影響工作效率,在數據傳輸量和速度要求不高的情況下,增加總線寬度和提高傳輸速率來解決,但是要求高的時候只能使用多總線結構
2.多總線結構
雙總線結構,將io設備分離出來,通過通道與總線相連,cpu將一部分功能給通道,具有管理功能,完成外部設備與主存間的數據傳送,用于大中型計算機將io設備分類,主存總線用于cpu和主存之間傳輸,io總線供應cpu和io設備傳遞信息,dma用于高速io設備,任意時刻只能使用一種總線,主存和dma不能同時對主存進行存取,io總線只有cpu執行io指令時用到
或者:
處理器與cache之間有局部總線,將兩者與設備連接(局部io控制器),cache也直接連接到系統總線上,就可以直接與主存交換信息,io設備與主存也不必通過cpu,而是擴展總線,通過擴展總線上的各類接口與io設備相連,可以支持兩種總線之間的信息傳遞,效率提高
四總線結構(反正你要玩兒死我是吧?。?br> 增加了一條高速總線,掛接了一些高速io設備,通過cache控制機構中的高速總線或是高速緩沖器與系統總線和局部總線連接,使得這些高速設備與cpu更密切,而低速依然是擴展總線,并且由控制之下與高速總線相連,高速設備可以很少依賴又更貼近cpu,各自的效率提高,cpu、高速總線、各自信號線定義可以完全不同,改變結構也不會影響高速總線的工作