查看單個文章
舊 2005-02-07, 06:08 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 『菜鳥充電』什麼是帶寬?

在各類電子設備和元件器中,我們都可以接觸到帶寬的概念,例如我們熟知的顯示器的帶寬、記憶體的帶寬、總線的帶寬和網路的帶寬等等;對這些設備而言,帶寬是一個非常重要的指標。


不過容易讓人迷惑的是,在顯示器中它的服務機構是MHz,這是一個頻率的概念;而在總線和記憶體中的服務機構則是GB/s,相當於資料傳輸率的概念;而在通訊領域,帶寬的描述服務機構又變成了MHz、GHz……這兩種不同服務機構的帶寬表達的是同一個內涵麼?二者存在哪些方面的聯繫呢?本文就帶你走入精彩的帶寬世界。

一、 帶寬的兩種概念

  如果從電子電路角度出發,帶寬(Bandwidth)本意指的是電子電路中存在一個固有通頻帶,這個概念或許比較抽像,我們有必要作進一步解釋。



大家都知道,各類複雜的電子電路無一例外都存在電感、電容或相當功能的儲能元件,即使沒有採用現成的電感線圈或電容,導線自身就是一個電感,而導線與導線之間、導線與地之間便可以組成電容——這就是通常所說的雜散電容或分佈電容;不管是哪種檔案類型的電容、電感,都會對信號起著阻滯作用從而消耗信號能量,嚴重的話會影響信號品質。這種效應與交流電信號的頻率成正比關係,當頻率高到一定程度、令信號難以保持穩定時,整個電子電路自然就無法正常工作。



為此,電子學上就提出了「帶寬」的概念,它指的是電路可以保持穩定工作的頻率範圍。而屬於該體系的有顯示器帶寬、通訊/網路中的帶寬等等。

  而第二種帶寬的概念大家也許會更熟悉,它所指的其實是資料傳輸率,譬如記憶體帶寬、總線帶寬、網路帶寬等等,都是以「字元/秒」為服務機構。我們不清楚從什麼時候起這些資料傳輸率的概念被稱為「帶寬」,但因業界與公眾都接受了這種說法,代表資料傳輸率的帶寬概念非常流行,儘管它與電子電路中「帶寬」的本意相差很遠。

  對於電子電路中的帶寬,決定因素在於電路設計。它主要是由高頻放大部分元件的特性決定,而高頻電路的設計是比較困難的部分,成本也比普通電路要高很多。



這部分內容涉及到電路設計的知識,對此我們就不做深入的分析。而對於總線、記憶體中的帶寬,決定其數值的主要因素在於工作頻率和位寬,在這兩個領域,帶寬等於工作頻率與位寬的乘積,因此帶寬和工作頻率、位寬兩個指標成正比。


不過工作頻率或位寬並不能無限制提高,它們受到很多因素的制約,我們會在接下來的總線、記憶體部分對其作專門論述。


二、 總線中的帶寬

  在電腦系統中,總線的作用就好比是人體中的神經系統,它承擔的是所有資料傳輸的職責,而各個子系統間都必須籍由總線才能通訊,例如,CPU和北橋間有前端總線、北橋與顯示卡間為AGP總線、晶片組間有南北橋總線,各類增強設備通過PCI、PCI-X總線與系統連接;主機與外部設備的連接也是通過總線進行,如目前流行的USB 2.0、IEEE1394總線等等,一句話,在一部電腦系統內,所有資料交換的需求都必須通過總線來實現!

  按照工作模式不同,總線可分為兩種檔案類型,一種是並行總線,它在同一時刻可以傳輸多位資料,好比是一條允許多輛車並排開的寬敞道路,而且它還有雙向單向之分;另一種為串行總線,它在同一時刻只能傳輸一個資料,好比只容許一輛車行走的狹窄道路,資料必須一個接一個傳輸、看起來彷彿一個長長的資料串,故稱為「串行」。

  並行總線和串行總線的描述參數存在一定差別。對並行總線來說,描述的效能參數有以下三個:總線寬度、時鍾頻率、資料傳輸頻率。


其中,總線寬度就是該總線可同時傳輸資料的位數,好比是車道容許並排行走的車輛的數量;例如,16位總線在同一時刻傳輸的資料為16位,也就是2個字元;而32位總線可同時傳輸4個字元,64位總線可以同時傳輸8個字元......顯然,總線的寬度越大,它在同一時刻就能夠傳輸更多的資料。


不過總線的位寬無法無限制增加。時鍾頻率和資料傳輸頻率的概念在上一期的文章中有過詳細介紹,我們就不作贅述。

  總線的帶寬指的是這條總線在服務機構時間內可以傳輸的資料總量,它等於總線位寬與工作頻率的乘積。


例如,對於64位、800MHz的前端總線,它的資料傳輸率就等於64bit×800MHz÷8(Byte)=6.4GB/s;32位、33MHz PCI總線的資料傳輸率就是32bit×33MHz÷8=133MB/s,等等,這項法則可以用於所有並行總線上面——看到這裡,讀者應該明白我們所說的總線帶寬指的就是它的資料傳輸率,其實「總線帶寬」的概念同「電路帶寬」的原始概念已經風馬牛不相及。



  對串行總線來說,帶寬和工作頻率的概念與並行總線完全相同,只是它改變了傳統意義上的總線位寬的概念。在頻率相同的情況下,並行總線比串行總線快得多,那麼,為什麼現在各類並行總線反而要被串行總線接替呢?原因在於並行總線雖然一次可以傳輸多位資料,但它存在並行傳輸信號間的干擾現象,頻率越高、位寬越大,干擾就越嚴重,因此要大幅提高現有並行總線的帶寬是非常困難的;而串行總線不存在這個問題,總線頻率可以大幅向上提升,這樣串行總線就可以憑借高頻率的優勢獲得高帶寬。


而為了彌補一次只能傳送一位資料的不足,串行總線常常採用多條管線(或通道)的做法實現更高的速度——管線之間各自獨立,多條管線組成一條總線系統,從表面看來它和並行總線很類似,但在內部它是以串行原理運作的。


對這類總線,帶寬的計算公式就等於「總線頻率×管線數」,這方面的例子有PCI Express和HyperTransport,前者有×1、×2、×4、×8、×16和×32多個版本,在第一代PCI Express技術當中,單通道的單向信號頻率可達2.5GHz,我們以×16舉例,這裡的16就代表16對雙向總線,一共64條線路,每4條線路組成一個通道,二條接收,二條傳送。



這樣我們可以換算出其總線的帶寬為2.5GHz×16/10=4GB/s(單向)。除10是因為每字元採用10位編碼。



三、 記憶體中的帶寬

  除總線之外,記憶體也存在類似的帶寬概念。其實所謂的記憶體帶寬,指的也就是記憶體總線所能提供的資料傳輸能力,但它決定於記憶體晶片和記憶體模組而非純粹的總線設計,加上地位重要,往往作為單獨的對象討論。

  SDRAM、DDR和DDRⅡ的總線位寬為64位,RDRAM的位寬為16位。而這兩者在結構上有很大區別:SDRAM、DDR和DDRⅡ的64位總線必須由多枚晶片共同實現,計算方法如下:記憶體模組位寬=記憶體晶片位寬×單面晶片數量(假定為單面單物理BANK);如果記憶體晶片的位寬為8位,那麼模組中必須、也只能有8顆晶片,多一枚、少一枚都是不允許的;如果晶片的位寬為4位,模組就必須有16顆晶片才行,顯然,為實現更高的模組容量,採用高位寬的晶片是一個好辦法。


而對RDRAM來說就不是如此,它的記憶體總線為串聯架構,總線位寬就等於記憶體晶片的位寬。



  和並行總線一樣,記憶體的帶寬等於位寬與資料傳輸頻率的乘積,例如,DDR400記憶體的資料傳輸頻率為400MHz,那麼單條模組就擁有64bit×400MHz÷8(Byte)=3.2GB/s的帶寬;PC 800標準RDRAM的頻率達到800MHz,單條模組帶寬為16bit×800MHz÷ 8=1.6GB/s。


為了實現更高的帶寬,在記憶體控制器中使用雙通道技術是一個理想的辦法,所謂雙通道就是讓兩組記憶體並行運作,記憶體的總位寬提高一倍,帶寬也隨之提高了一倍!

  帶寬可以說是記憶體效能最主要的標誌,業界也以記憶體帶寬作為主要的分類標準,但它並非決定效能的唯一要素,在實際套用中,記憶體延遲的影響並不亞於帶寬。如果延遲時間太長的話相當不利,此時即便帶寬再高也無濟於事。





四、 帶寬匹配的問題

  電腦系統中存在形形色色的總線,這不可避免帶來總線速度匹配問題,其中最常出問題的地方在於前端總線和記憶體、南北橋總線和PCI總線。



  前端總線與記憶體匹配與否對整套系統影響最大,最理想的情況是前端總線帶寬與記憶體帶寬相等,而且記憶體延遲要盡可能低。


在Pentium4剛推出的時候,Intel採用RDRAM記憶體以達到同前端總線匹配,但RDRAM成本昂貴,嚴疊影響推廣工作,Intel曾推出搭配PC133 SDRAM的845晶片組,但SDRAM僅能提供1.06GB/s的帶寬,僅相當於400MHz前端總線帶寬的1/3,嚴重不匹配導致系統效能大幅度下降;後來,Intel推出支持DDR266的845D才勉強好轉,但仍未實現與前端總線匹配;接著,Intel將P4前端總線提升到533MHz、帶寬增長至5.4GB/s,雖然配套晶片組可支持DDR333記憶體,可也僅能滿足1/2而已;現在,P4的前端總線提升到800MHz,而配套的865/875P晶片組可支持雙通道DDR400——這個時候才實現匹配的理想狀態,當然,這個時候繼續提高記憶體帶寬意義就不是特別大,因為它超出了前端總線的接收能力。



  南北橋總線帶寬曾是一個尖銳的問題,早期的晶片組都是通過PCI總線來連接南北橋,而它所能提供的帶寬僅僅只有133MB/s,若南橋連接兩個ATA-100硬碟、100M網路、IEEE1394接頭......區區133MB/s帶寬勢必形成嚴重的瓶頸,為此,各晶片組廠商都發展出不同的南北橋總線方案,如Intel的Hub-Link、VIA的V-Link、SiS 的MuTIOL,還有AMD的 HyperTransport等等,目前它們的帶寬都大大超過了133MB/s,最高紀錄已超過1GB/s,瓶頸效應已不復存在。

  PCI總線帶寬不足還是比較大的矛盾,目前PC上使用的PCI總線均為32位、33MHz檔案類型,帶寬133MB/s,而這區區133MB/s必須滿足網路、硬碟控制卡(如果有的話)之類的增強需要,一旦使用千兆網路,瓶頸馬上出現,業界打算自2004年開始以PCI Express總線來全面取代PCI總線,屆時PCI帶寬不足的問題將成為歷史。




五、 顯示器中的帶寬

  以上我們所說的「帶寬」指的都是速度概念,但對CRT顯示器來說,它所指的帶寬則是頻率概念、屬於電路範疇,更符合「帶寬」本來的含義。

  要瞭解顯示器帶寬的真正含義,必須簡單介紹一下CRT顯示器的工作原理——由燈絲、陰極、控制柵組成的電子槍,向外發射電子流,這些電子流被擁有高電壓的加速器加速後獲得很高的速度,接著這些高速電子流經過透鏡聚焦成極細的電子束打在螢幕的熒光粉層上,而被電子束擊中的地方就會產生一個光點;光點的位置由偏轉線圈產生的磁場控制,而通過控制電子束的強弱和通斷狀態就可以在螢幕上形成不同顏色、不同灰度的光點——在某一個特定的時刻,整個螢幕上其實只有一個點可以被電子束擊中並發光。


為了實現滿螢幕顯示,這些電子束必須從左到右、從上到下一個一個像素點進行掃瞄,若要完成800×600解析度的畫面顯示,電子槍必須完成800×600=480000個點的順序掃瞄。



由於熒光粉受到電子束擊打後發光的時間很短,電子束在掃瞄完一個螢幕後必須立刻再從頭開始——這個程序其實十分短暫,在一秒鍾時間電子束往往都能完成超過85個完整畫面的掃瞄、螢幕畫面更新85次,人眼無法感知到如此小的時間差異會「誤以為」螢幕處於始終發亮的狀態。而每秒鍾螢幕畫面重新整理的次數就叫場頻,或稱為螢幕的垂直掃瞄頻率、以Hz(赫茲)為服務機構,也就是我們俗稱的「重新整理率」。


以800×600解析度、85Hz重新整理率計算,電子槍在一秒鍾至少要掃瞄800×600×85=40800000個點的顯示;如果將解析度提高到1024×768,將重新整理率提高到100Hz,電子槍要掃瞄的點數將大幅提高。

  按照業界公認的計算方法,顯示器帶寬指的就是顯示器的電子槍在一秒鍾內可掃瞄的最高點數總和,它等於「水準解析度×垂直解析度×場頻(畫面重新整理次數)」,服務機構為MHz(兆赫);由於顯像管電子束的掃瞄程序是非線性的,為避免信號在掃瞄邊緣出現衰減影響效果、保證圖像的清晰度,總是將邊緣掃瞄部分忽略掉,但在電路中它們依然是存在的。


因此,我們在計算顯示器帶寬的時候還應該除一個取值為0.6~0.8 的「有效掃瞄係數」,故得出帶寬計算公式如下:「帶寬=水準像素(行數)×垂直像素(列數)×場頻(重新整理頻率)÷掃瞄係數」。


掃瞄係數一般取為0.744。例如,要獲得解析度1024×768、重新整理率85Hz的畫面,所需要的帶寬應該等於:1024×768×85÷0.744,結果大約是90MHz。

  不過,這個定義並不符合帶寬的原意,稱之為「像素掃瞄頻率」似乎更為貼切。帶寬的 最初概念確實也是電路中的問題——簡單點說就是:在「帶寬」這個頻率寬度之內,放大器可以處於良好的工作狀態,如果超出帶寬範圍,信號會很快出現衰減失真現象。從本質上說,顯示器的帶寬描述的也是控制電路的頻率範圍,帶寬高低直接決定顯示器所能達到的效能等級。


由於前文描述的「像素掃瞄頻率」與控制電路的「帶寬」基本是成正比關係,顯示器廠商就乾脆把它當作顯示器的「帶寬」——這種做法當然沒有什麼錯,只是容易讓人產生認識上的誤區。



當然,從用戶的角度考慮沒必要追究這麼多,畢竟以「像素掃瞄頻率」作為「帶寬」是很合乎人們習慣的,大家可方便使用公式計算出達到某種顯示狀態需要的最低帶寬數值。

  但是反過來說,「帶寬數值完全決定著螢幕的顯示狀態」是否也成立呢?答案是不完全成立,因為螢幕的顯示狀態除了與帶寬有關係之外,還與一個重要的概念相關——它就是「行頻」。


行頻又稱為「水準掃瞄頻率」,它指的是電子槍每秒在熒光屏上掃瞄過的水準線數量,計算公式為:「行頻=垂直解析度×場頻(畫面重新整理率)×1.07」,其中1.07為校正參數,因為顯示螢幕上下方都存在我們看不到的區域。


可見,行頻是一個綜合解析度和重新整理率的參數,行頻越大,顯示器就可以提供越高的解析度或者重新整理率。


例如,1台17寸顯示器要在1600×1200解析度下達到75Hz的重新整理率,那麼帶寬值至少需要221MHz,行頻則需要96KHz,兩項條件缺一不可;要達到這麼高的帶寬相對容易,而要達到如此高的行頻就相當困難,後者成為主要的制約因素,而出於商業因素考慮,顯示器廠商會突出帶寬而忽略行頻,這種宣傳其實是一種誤導。






六、 通訊中的帶寬

  在通訊和網路領域,帶寬的含義又與上述定義存在差異,它指的是網路信號可使用的最高頻率與最低頻率之差、或者說是「頻帶的寬度」,也就是所謂的「Bandwidth」、「信道帶寬」——這也是最嚴謹的技術定義。

  在100M乙太網之類的銅介質布線系統中,雙絞線的信道帶寬通常用MHz為服務機構,它指的是信噪比恆定的情況下允許的信道頻率範圍,不過,網路的信道帶寬與它的資料傳輸能力(服務機構Byte/s)存在一個穩定的基本關係。


我們也可以用高速公路來作比喻:在高速路上,它所能承受的最大交通流量就相當於網路的資料運輸能力,而這條高速路允許形成的寬度就相當於網路的帶寬。顯然,帶寬越高、資料傳輸可利用的資源就越多,因而能達到越高的速度;除此之外,我們還可以通過改善信號品質和消除瓶頸效應實現更高的傳輸速度。

  網路帶寬與資料傳輸能力的正比關係最早是由貝爾實驗室的工程師Claude Shannon所發現,因此這一規律也被稱為Shannon定律。而通俗起見普遍也將網路的資料傳輸能力與「網路帶寬」完全等同起來,這樣「網路帶寬」表面上看與「總線帶寬」形成概念上的統一,但這兩者本質上就不是一個意思、相差甚遠。

七、 總結:帶寬與效能

  對總線和記憶體來說,帶寬高低對系統效能有著舉足輕重的影響——倘若總線、記憶體的帶寬不夠高的話,處理器的工作頻率再高也無濟於事,因此帶寬可謂是與頻率並立的兩大效能決定要素。而對CRT顯示器而言,帶寬越高,往往可以獲得更高的解析度、顯示精度越高,不過現在CRT顯示器的帶寬都能夠滿足標準解析度下85Hz重新整理率或以上的顯示需要(相信沒有太多的朋友喜歡用非常高的解析度去執行程序或者遊戲),這樣帶寬高低就不是一個太敏感的參數了,當然,如果你追求高顯示品質那是另一回事了。
psac 目前離線  
送花文章: 3, 收花文章: 1630 篇, 收花: 3204 次