1. 程式人生 > >匯流排概述及常見匯流排

匯流排概述及常見匯流排

一. 匯流排概念

所謂匯流排(Bus),是指計算機裝置和裝置之間傳輸資訊的公共資料通道。匯流排是連線計算機硬體系統內多種裝置的通訊線路,它的一個重要特徵是由總線上的所有裝置共享,可以將計算機系統內的多種裝置連線到總線上。如果是某兩個裝置或裝置之間專用的訊號連線,就不能稱之為匯流排。系統匯流排架構圖如下所示:  

匯流排

微機中的匯流排分為資料匯流排、地址匯流排和控制匯流排3類。不同型號的CPU晶片,其資料匯流排、地址匯流排和控制匯流排的條數可能不同。

資料匯流排DB用來傳送資料資訊,是雙向的。CPU既可通過DB從記憶體或輸入裝置讀入資料,又可通過DB將內部資料送至記憶體或輸出裝置。DB的寬度決定了CPU和計算機其他裝置之間每次交換資料的位數。

地址匯流排AB用於傳送CPU發出的地址資訊,是單向的。傳送地址資訊的目的是指明與CPU交換資訊的記憶體單元或I/O裝置。儲存器是按地址訪問的,所以每個 儲存單元都有一個固定地址,要訪問1MB儲存器中的任一單元,需要給出1M個地址,即需要20位地址(220=1M)。因此,地址匯流排的寬度決定了CPU 的最大定址能力。

控制匯流排CB用來傳送控制訊號、時序訊號和狀態資訊等。其中有的是CPU向記憶體或外部裝置發出的資訊,有的是記憶體或外部裝置向CPU發出的資訊。顯然,CB中的每一條線的資訊傳送方向是一定的、單向的,但作為一個整體則是雙向的。所以,在各種結構框圖中,凡涉及到控制匯流排CB,均是以雙向線表示。

匯流排的效能直接影響到整機系統的效能,而且任何系統的研製和外圍模組的開發都必須依從所採用的匯流排規範。匯流排技術隨著微機結構的改進而不斷髮展與完善。

二. 常見匯流排

QPI匯流排

Intel的QuickPath Interconnect技術縮寫為QPI,譯為快速通道互聯, 用來實現處理器之間的直接互聯. QPI是一種基於包傳輸的序列式高速點對點連線協議,採用差分訊號與專門的時鐘進行傳輸。它的特點是:高速頻寬,低功耗,支援熱插拔。

Memory匯流排(記憶體匯流排)

用來實現處理器和記憶體的之間的連線.處理器裡整合的記憶體控制器負責通過記憶體匯流排和記憶體模組通訊,例如定址、讀寫等。目前記憶體匯流排所支援的記憶體模組有DDR2, DDR3, 將來還會支援DDR4。

JTAG介面

主要用於晶片或處理器內部測試和除錯的介面.通過連線偵錯程式, 可以對晶片或處理器的執行進行跟蹤和除錯。

DMI匯流排

DMI是指Direct Media Interface(直接媒體介面)。用來連線處理器和南橋的匯流排.它是基於PCIE匯流排,因此具有PCI-E匯流排的優勢,這個高速介面集成了高階優先服務,允許併發通訊和真正的同步傳輸能力。它的基本功能對於軟體是完全透明的,因此早期的軟體也可以正常操作。

USB匯流排

USB,是英文Universal Serial BUS(通用序列匯流排)的縮寫,而其中文簡稱為“通串線,是一個外部匯流排標準,用於規範電腦與外部裝置的連線和通訊。USB介面支援裝置的即插即用和熱插拔功能。USB匯流排會根據外設情況在兩種傳輸模式中自動地動態轉換。USB是基於令牌的匯流排。類似於令牌環網路或FDDI基於令牌的匯流排。USB主控制器廣播令牌,總線上裝置檢測令牌中的地址是否與自身相符,通過接收或傳送資料給主機來響應。USB通過支援懸掛/恢復操作來管理USB匯流排電源。USB系統採用級聯星型拓撲,該拓撲由三個基本部分組成:主機(Host),集線器(Hub)和功能裝置。

SMBUS/I2C匯流排

I2C(Inter-Integrated Circuit)匯流排和SMBus (System Management Bus 的縮寫,譯為系統管理匯流排)是一種二線制序列匯流排,它主要應用的場合:不需要高速通訊,但希望通過一條廉價並且功能強大的匯流排(由兩條線組成),來控制主機板上的裝置並收集相應的資訊。SMBUS大部分基於I2C匯流排規範。和 I2C一樣,SMBus不需增加額外引腳,建立該匯流排主要是為了增加新的功能特性,但只工作在100kHz且專門面向智慧電池管理應用, 也被用來連線各種裝置,包括電源相關裝置,系統感測器,EEPROM等等。它工作在主/從模式:主器件提供時鐘,在其發起一次傳輸時提供一個起始位,在其終止一次傳輸時提供一個停止位;從器件擁有一個唯一的7或10位從器件地址。

SMBus與I2C匯流排之間在時序特性上存在一些差別。首先,SMBus需要一定資料保持時間,而 I2C匯流排則 是從內部延長資料保持時間。SMBus具有超時功能,因此當SCL太低而超過35 ms時,從器件將復位正在進行的通訊。相反,I2C採用硬體復位。SMBus具有一種警報響應地址(ARA),因此當從器件產生一箇中斷時,它不會馬上清 除中斷,而是一直保持到其收到一個由主器件傳送的含有其地址的ARA為止。SMBus只工作在從10kHz到最高100kHz。最低工作頻率10kHz是由SMBus超時功能決定的。

SPI匯流排

SPI(Serial Peripheral Interface--序列外設介面)匯流排系統是一種同步序列外設介面,它可以使南橋與各種外圍裝置以序列方式進行通訊以交換資訊。SPI介面主要應用在連線EEPROM、FLASH、實時時鐘、AD轉換器,還有數字訊號處理器和數字訊號解碼器之間。在Intel架構中放BIOS/UEFI韌體的Flash可以通過SPI匯流排和南橋連線。

LPC匯流排

LPC(Low Pin Count, 少引腳數)介面一個取代傳統ISA匯流排的一種新介面規範,主要用於和傳統的外圍裝置連線讓系統能向下相容。以往為了連線ISA擴充槽、介面卡、ROM BIOS晶片、Super I/O等介面,南橋晶片必須保留一個ISA匯流排,並且連通Super I/O晶片,以控制傳統的外圍裝置。傳統ISA 匯流排速率大約在7.159~8.33MHz,提供的理論尖峰傳輸值為16MB/s,但是ISA匯流排與傳統的PCI匯流排的電氣特性、訊號定義方式迥異,南橋晶片、Super I/O晶片得多浪費針腳來做處理,主機板的線路設計也顯得複雜。 intel所定義的LPC介面,將以往ISA BUS的地址/資料分離譯碼,改成類似PCI的地址/資料訊號線共享的譯碼方式,訊號線數量大幅降低,工作速率由PCI匯流排速率同步驅動,雖然改良過的LPC介面一樣維持最大傳輸值16MB/s,不過所需要的訊號腳位數大幅降低25~30個,以LPC介面設計的Super I/O晶片、Flash晶片都能享有腳位數減少、體積微縮的好處,主機板的設計也可以簡化,這也就是取名LPC——Low Pin Count的原因。

PS/2介面

PS/2 (Personal System 2, 個人系統2)介面主要用於連線輸入裝置,而不是傳輸介面。所以PS2口根本沒有傳輸速率的概念,只有掃描速率。PS/2介面裝置不支援熱插拔,強行帶電插拔有可能燒燬主機板。

RS-232介面

RS-232-C是美國電子工業協會EIA(Electronic Industry Association)制定的一種非同步傳輸序列物理介面標準。RS是英文“推薦標準”的縮寫,232為標識號,C表示修改次數。RS-232-C匯流排標準設有25條訊號線。一般個人計算機上會有兩組 RS-232 介面,分別稱為 COM1 和 COM2。

LPT介面

列印終端(line print terminal)介面,通常稱呼為LPT並口,是一種增強了的雙向並行傳輸介面,在USB接口出現以前是掃描器,印表機最常用的介面。其預設的中斷號是IRQ7,採用25腳的DB-25接頭。並口的工作模式主要有三種:1、SPP標準工作模式。SPP資料是半雙工單向傳輸,傳輸速率較慢,僅為15Kbps,但應用較為廣泛,一般設為預設的工作模式。2、EPP增強型工作模式。EPP採用雙向半雙工資料傳輸,其傳輸速率比SPP高很多,可達2Mbps,目前已有不少外設使用此工作模式。3、ECP擴充型工作模式。ECP採用雙向全雙工資料傳輸,傳輸速率比EPP還要高一些,但目前支援的裝置少。

前端匯流排

前端匯流排的英文名字是Front Side Bus,通常用FSB表示,是將CPU連線到北橋晶片的匯流排。選購主機板和 CPU時,要注意兩者搭配問題,一般來說,如果CPU不超頻,那麼前端匯流排是由CPU決定的,如果主機板不支援CPU所需要的前端匯流排,系統就無法工作。也 就是說,需要主機板和CPU都支援某個前端匯流排,系統才能工作,只不過一個CPU預設的前端匯流排是唯一的,因此看一個系統的前端匯流排主要看CPU就可以。北橋晶片負責聯絡記憶體、顯示卡等資料吞吐量最大的部件,並和南橋晶片連線。CPU就是通過前端匯流排(FSB)連線到北橋晶片,進而通過北橋晶片和記憶體、顯示卡交換資料。前端匯流排是CPU和外界交換資料的最主要通道,因此前端匯流排的資料傳輸能力對計算機整體效能作用很大,如果沒足夠快的前端匯流排,再強的CPU也不能明顯提高計算機整體速度。資料傳輸最大頻寬取決於所有同時傳輸的資料的寬度和傳輸頻率,即資料頻寬=(匯流排頻率×資料位寬)÷8。下圖為FSB示意圖。

PCI匯流排

Intel公司首先提出了PCI的概念,並聯合IBM、Compaq、AST、HP、DEC等100多家公司成立了PCI集團,其英文全稱為:Peripheral Component Interconnect Special Interest
Group(外圍部件互連專業組),簡稱PCISIG。PCI是一種先進的區域性匯流排,已成為區域性匯流排的新標準。

最早提出的PCI匯流排工作在33MHz頻率之下,傳輸頻寬達到132MB/s(33MHz * 32bit/8),基本上滿足了當時處理器的發展需要。隨著對更高效能的要求,後來又提出把PCI 匯流排的頻率提升到66MHz,傳輸頻寬能達到264MB/s。1993年又提出了64bit的PCI匯流排,稱為PCI-X,目前廣泛採用的是32-bit、33MHz或者32-bit、66MHz的PCI 匯流排,64bit的PCI-X插槽更多是應用於伺服器產品。和PCIE匯流排一樣,它用來外接擴充套件板卡,支援即插即用 (plug and play)。但和PCIE不同,PCI允許多路複用技術(分時複用),即允許一個以上的電子訊號同時存在於匯流排之上,但相對PCIE,它的頻寬和速度比較慢。

PCI匯流排是一種不依附於某個具體處理器的區域性匯流排。從結構上看,PCI是在CPU和原來的系統匯流排之間插入的一級匯流排,具體由一個橋接電路實現對這一層的管理,並實現上下之間的介面以協調資料的傳送。管理器提供了訊號緩衝,使之能支援10種外設,並能在高時鐘頻率下保持高效能。PCI匯流排也支援匯流排主控技術,允許智慧裝置在需要時取得匯流排控制權,以加速資料傳送。 PCI匯流排支援10臺外設 ,匯流排時鐘頻率33.3MHz/66MHz,最大資料傳輸速率133MB/s,時鐘同步方式 ,與CPU及時鐘頻率無關 ,匯流排寬度 32位(5V)/64位(3.3V),能自動識別外設 ,特別適合與Intel的CPU協同工作; 具有與處理器和儲存器子系統完全並行操作的能力,具有隱含的中央仲裁系統,採用多路複用方式(地址線和資料線)減少了引腳數,支援64位定址,完全的多匯流排主控能力,提供地址和資料的奇偶校驗,可以轉換5V和3.3V的訊號環境。

PCI-E匯流排

PCI Express是新一代的匯流排介面。早在2001年的春季,英特爾公司就提出了要用新一代的技術取代PCI匯流排和多種晶片的內部連線,並稱之為第三代I/O匯流排技術。隨後在2001年底,包括Intel、AMD、DELL、IBM在內的20多家業界主導公司開始起草新技術的規範,並在2002年完成,對其正式命名為PCI Express。它採用了目前業內流行的點對點序列連線,比起PCI以及更早期的計算機匯流排的共享並行架構,每個裝置都有自己的專用連線,不需要向整個匯流排請求頻寬,而且可以把資料傳輸率提高到一個很高的頻率,達到PCI所不能提供的高頻寬。

PCI Express的介面根據匯流排位寬不同而有所差異,包括X1、X4、X8以及X16(X2模式將用於內部介面而非插槽模式)。較短的PCI Express卡可以插入較長的PCI Express插槽中使用。PCI Express介面能夠支援熱拔插,這也是個不小的飛躍。PCI Express卡支援的三種電壓分別為+3.3V、3.3Vaux以及+12V。用於取代AGP介面的PCI Express介面位寬為X16,將能夠提供5GB/s的頻寬,即便有編碼上的損耗但仍能夠提供4GB/s左右的實際頻寬,遠遠超過AGP 8X的2.1GB/s的頻寬。

PCI Express規格從1條通道連線到32條通道連線,有非常強的伸縮性,以滿足不同系統裝置對資料傳輸頻寬不同的需求。例如,PCI Express X1規格支援雙向資料傳輸,每向資料傳輸頻寬250MB/s,PCI Express X1已經可以滿足主流聲效晶片、網絡卡晶片和儲存裝置對資料傳輸頻寬的需求,但是遠遠無法滿足圖形晶片對資料傳輸頻寬的需求。因此,必須採用PCI Express X16,即16條點對點資料傳輸通道連線來取代傳統的AGP匯流排。PCI Express X16也支援雙向資料傳輸,每向資料傳輸頻寬高達4GB/s,雙向資料傳輸頻寬有8GB/s之多。

PCIe屬於高速序列點對點雙通道高頻寬傳輸,所連線的裝置分配獨享通道頻寬,不共享資源,主要支援主動電源管理,錯誤報告,端對端的可靠性傳輸,熱插拔以及服務質量(QOS)等功能。它主要用來和一些需要高速通訊的外部板卡裝置控制器連線,例如顯示卡,網絡卡,音效卡等, 相對於老的並行的PCI匯流排,它具有針腳少,速度快, 更好的電源管理等優點。

PCI-Express 3.0 規範

早在2007年上半年PCI-E 2.0版規範剛剛公佈的時候,PCI Express技術標準組織PCI-SIG就準備用兩年多的時間將其快速進化到第三代,但是誰也沒想到PCI-E 3.0的醞釀過程會如此一波三折,直到今天才終於修成正果。

PCI-SIG主席兼總裁幾乎淚流滿面:“PCI-SIG始終致力於I/O創新,我們也很驕傲
地向我們的成員釋出PCI-E 3.0規範。PCI-E 3.0架構從細節上對前兩代PCI-E規範進行了極大地改進,為我們的成員在各自領域繼續創新提供了所必需的效能和功能。”

在對可製造性、成本、功耗、複雜性、相容性等諸多方面進行綜合、平衡之後,PCI-E 3.0規範將資料傳輸率提升到8GHz|8GT/s(最初也預想過10GHz),並保持了對PCI-E 2.x/1.x的向下相容,繼續支援2.5GHz、5GHz訊號機制。基於此,PCI-E 3.0架構單通道(x1)單向頻寬即可接近1GB/s,十六通道(x16)雙向頻寬更是可達32GB/s。

PCI-E 3.0同時還特別增加了128b/130b解碼機制,可以確保幾乎100%的傳輸效率,相比此前版本的8b/10b機制提升了25%,從而促成了傳輸頻寬的翻番,延續了PCI-E規範的一貫傳統。

新規範在訊號和軟體層的其他增強之處還有資料複用指示、原子操作、動態電源調整機制、延遲容許報告、寬鬆傳輸排序、基地址暫存器(BAR)大小調整、I/O頁面錯誤等等,從而全方位提升平臺效率、軟體模型彈性、架構伸縮性。

PCI-E 3.0規範完整文件現已向PCI-SIG組織成員公佈其中詳細描述了PCI-E架構、互聯屬性、結構管理、程式設計介面等等,但沒有公開發表。另外,intel X79高階晶片組經已完整支援pci-e 3.0規格,AMD最新架構旗艦顯示卡AMD Radeon 7970,以及其他採用pci-e 3.0規格的顯示卡將於2012年陸續釋出。

PCI Express匯流排的特點和長處

PCI Express匯流排是一種完全不同於過去PCI匯流排的一種全新匯流排規範,與PCI匯流排共享並行架構相比,PCI Express匯流排是一種點對點序列連線的裝置連線方式,點對點意味著每一個PCI Express裝置都擁有自己獨立的資料連線,各個裝置之間併發的資料傳輸互不影響,而對於過去PCI那種共享匯流排方式,PCI總線上只能有一個裝置進行通訊,一旦PCI總線上掛接的裝置增多,每個裝置的實際傳輸速率就會下降,效能得不到保證。現在,PCI Express以點對點的方式處理通訊,每個裝置在要求傳輸資料的時候各自建立自己的傳輸通道,對於其他裝置這個通道是封閉的,這樣的操作保證了通道的專有性,避免其他裝置的干擾。

在傳輸速率方面,PCI Express匯流排利用序列的連線特點將能輕鬆將資料傳輸速度提 到一個很高的頻率,達到遠超出PCI匯流排的傳輸速率。PCI Express的介面根據匯流排位寬不同而有所差異,包括x1、x4、x8以及x16(x2模式將用於內部介面而非插槽模式),其中X1的傳輸速度為 250MB/s,而X16就是等於16倍於X1的速度,即是4GB/s。與此同時,PCI Express匯流排支援雙向傳輸模式,還可以執行全雙工模式,它的雙單工連線能提供更高的傳輸速率和質量,它們之間的差異跟半雙工和全雙工類似。因此連線的每個裝置都可以使用最大頻寬,PCI Express介面裝置將有著比PCI裝置優越的多的資源可用。

模式

雙向傳輸模式

資料傳輸模式

PCI Express x1

500MB/s

250MB/s

PCI Express x2

1GB/s

500MB/s

PCI Express x4

2GB/s

1GB/s

PCI Express x8

4GB/s

2GB/s

PCI Express x16

8GB/s

4GB/s

PCI Express x32

16GB/s

8GB/s

除了這些,PCI Express裝置能夠支援熱拔插以及熱交換特性,支援的三種電壓分別為+3.3V、3.3Vaux以及+12V。考慮到現在顯示卡功耗的日益上漲,PCI Express而後在規範中改善了直接從插槽中取電的功率限制,16x的最大提供功率達到了70W,比AGP 8X介面有了很大的提高。基本可以滿足未來中高階顯示卡的需求。這一點可以從AGP、PCI Express兩個不同版本的6600GT上就能明顯地看到,後者並不需要外接電源。

PCI Express

可以看到PCI Express只是南橋的擴充套件匯流排,它與作業系統無關,所以也保證了它與原有PCI的相容性,也就是說在很長一段時間內在主機板上PCI Express介面將和PCI介面共存,這也給使用者的升級帶來了方便。由此可見,PCI Express最大的意義在於它的通用性,不僅可以讓它用於南橋和其他裝置的連線,也可以延伸到晶片組間的連線,甚至也可以用於連線圖形晶片,這樣,整個I/O系統將重新統一起來,將更進一步簡化計算機系統,增加計算機的可移植性和模組化。PCI Express已經為PC的未來發展重新鋪設好了路基,下面就要看PCI Express產品的應用情況了。

硬碟的匯流排

一般有SCSI、ATA、SATA等幾種。

SCSI(Small Computer System Interface),一種用於計算機和智慧裝置之間(硬碟、軟碟機、光碟機、印表機、掃描器等)系統級介面的獨立處理器標準。 SCSI是一種智慧的通用介面標準。它是各種計算機與外部裝置之間的介面標準。SCSI具有以下特點:SCSI可支援多個裝置;SCSI還允許在對一個裝置傳輸資料的同時,另一個裝置對其進行資料查詢,SCSI佔用CPU極低;SCSI裝置還具有智慧化,SCSI卡自己可對CPU指令進行排隊;最快的SCSI匯流排有160MB/s的頻寬。

ATA技術是一個關於IDE(Integrated Device Electronics)的技術規範族。最初,IDE只是一項企圖把控制器與盤體整合在一起為主要意圖的硬碟介面技術。 隨著IDE/EIDE得到的日益廣泛的應用,全球標準化協議將該介面自誕生以來使用的技術規範歸納成為全球硬碟標準,這樣就產生了ATA(Advanced Technology Attachment)。

SATA全稱是Serial Advanced Technology Attachment(序列高階技術附件,一種基於行業標準的序列硬體驅動器介面),由Intel、IBM、Dell、APT、Maxtor和Seagate公司共同提出的硬碟介面規範,主要用來後硬碟等大容量儲存器的連線。它具有支援熱插拔,傳輸速度快,執行效率高等優點。Serial ATA採用序列連線方式,序列ATA匯流排使用嵌入式時鐘訊號,具備了更強的糾錯能力,與以往相比其最大的區別在於能對傳輸指令(不僅僅是資料)進行檢查,如果發現錯誤會自動矯正,這在很大程度上提高了資料傳輸的可靠性。序列介面還具有結構簡單、支援熱插拔的優點。 串列埠硬碟是一種完全不同於並行ATA的新型硬碟介面型別,由於採用序列方式傳輸資料而知名。相對於並行ATA來說,就具有很多的優勢。首先,Serial ATA以連續序列的方式傳送資料,一次只會傳送1位資料。這樣能減少SATA介面的針腳數目,使連線電纜數目變少,效率也會更高。實際上,Serial ATA 僅用四支針腳就能完成所有的工作,分別用於連線電纜、連線地線、傳送資料和接收資料,同時這樣的架構還能降低系統能耗和減小系統複雜性。

小型計算機系統介面(SCSI)

小型計算機系統介面是一套用於在計算機與外圍裝置之間進行物理連線和資料傳輸的標準。

SCSI

序列ATA(SATA)

磁碟、光碟機 EIDE 的替代品

SATA 1.0 速度為 150 MB/s

序列(1 位資料路徑),點到點專用鏈路

薄型,1 米電纜長度

每根電纜一臺裝置

支援固定連線或熱插拔

序列連線SCSI (SAS)

SAS 支援小尺寸、更長的佈線距離、更好的定址能力,併兼容 SCSI

SAS 1.0 在SCSI 和 RAID 控制器中替換 Ultra320 SCSI

全雙工、雙口、點到點連線

更高的頻寬

Ultra320
- 每通道 320 MBps

SAS
– 8 埠,每個埠支援高達 3 Gbps 的速率

寬埠(4 口) – 12 Gbps

兩個寬埠(8 口)– 24 Gbps

受到PCI-X/PCI 匯流排速度的限制

更大的驅動支援

基於 SCSI 的產品 - 每通道 14 個驅動器

基於 SAS 的產品 - 每四個埠 72 個驅動器

轉載自http://wangboxyk.cn/post/Zongxian-Bus-QPI-Memory.html
http://wangboxyk.cn/post/Zongxian-Bus-QPI-Memory.html