Board logo

標題: 〔分享〕主機板 [打印本頁]

作者: adsl730802     時間: 2006-5-6 05:12 PM    標題: 〔分享〕主機板

主機板(Main Board)英文也有寫作 Mother Board﹐意思就好像母親一樣﹐所有的部件有如是她的孩子﹐離開了她就根本就不會出世。這比喻足見主機板是何等重要的了。上面所介紹的輸入/輸出設備、CPU、記憶體、儲存設備、等等﹐其實都不能離開主機板而工作﹗

如果您有機會打開機器的箱子﹐您會發現裡面密密麻麻的電子零件都鑲嵌在一塊很大的電路板上面﹐那電路板就是主機板了。

主機板的晶片組

如果您留意到電腦廣告上面的主機板﹐通常都是以 X 結尾為型號的﹐如 VX、HX、KX、LX、BX、GX 等等。究竟這型號怎麼來的呢﹖其實這型號是主機板上面的一塊總線控制晶片組(Bus Controler Chips)的型號﹐就好像我們稱呼 CPU 型號為電腦型號一樣。同樣的,控制晶片組除了 Intel 生產的之外,還有許多其它廠商可供選則,例如 VIA、SiS 等等...

不同的 chips 其功能和服務對象也不同﹐比如 VX/HX 等是供 Pentium 機器使用﹔LX/BX 就給 Pentium II 使用。當然在速度上也很不同啦﹐比如 BX 就可以支持到 100MHz 的 BUS 速度﹐LX 卻不到這點﹐假如您使用 PC100 的 SDRAM 的話﹐選擇 BX 才能真正發揮到其作用。

這 chips 的功能可大了﹐它幾乎就是整個系統的信息交通指揮官。它負責將 I/O 和 RAM 的要求和資料傳送給 CPU ﹐也負責將 CPU 的命令和資料傳給它們。比如 CPU 要將信息傳給印表機﹐chips 就負責該把這信息送到正確位址了。注意﹐其實每一個設備都有自己位址的﹐比如列印口 LPT1 通常是 0x378﹔通訊口 COM1 通常是 0x3F8 等等。 CPU 只是給出位址﹐但怎麼傳達卻是 chips 負責。

如何選擇主機板﹖

除了 chips ﹐在選擇主機板的時候﹐有幾點是我們要考慮的﹕

處理器


當然是指這主機板支持的 CPU 類型了。比如此主機板是給 Pentium !!! 還是 Pentium 4 用的﹖而且不同類型的 CPU 使用的電壓也不同﹐比如有些是 2.8v﹐有些則是3.3v 或3.5v 等等的分別。有些主機板可以通過調整 jumper 來適合不同的 CPU 電壓要求。


處理器插槽


以前 Pentium 的 CPU 使用的插槽稱為 Socket 7(321孔)﹐更早期的用 socket 5 (320孔)﹐上面的插孔和 CPU 的小針一定是相對應的。其旁邊有一閘桿﹐可以將 socket 打開或關閉﹐如果要將 CPU 拿出來﹐拉起閘桿把 socket 打開就可以了﹔如果 CPU 已經放好﹐然後把閘桿往下面壓把 socket 關閉。以前的一些 486 CPU 的 socket3(237孔)﹐是沒有這設計的﹐要把 CPU 拿出來需要特殊的起子﹐否則很容易就把 socke t或 CPU 弄壞。到了 Pentium II 推出的時候﹐使用的插槽改為 slot 1, 及 Pentium II/III Xeon 使用的是 slot 2 了。

不過﹐我還是情鐘Socket7的形式﹐因為比較容易更換。可見,我是有建地的!看,P3 和 P4 又改回 socket 的形式了。現在您若要裝 P4 的話,很可能就是 socket 478 這款了。


緩沖記憶體(cache)


這個恐怕要多花些時間解釋一下了。

因為電腦的任何設備都是依靠一定的時鐘頻率(Clock Rate)工作的﹐今天的 CPU 很明顯比其他任何的週邊都要快得多﹐就算是和它交往最密的 RAM 也最快只有 333MHz而已(寫這篇文章的時候)﹐這樣就造成了CPU 和周邊的不協調了。Cache 的出現﹐就是為了解決這問題而來的。

前面提到的chips﹐它管轄著三種主要的Bus類型﹕

通往 CPU 的高速 Bus
通往其他 I/O 的低速 Bus
以及通往記憶體的高速 Bus

但記憶體 Bus 的速度和 CPU 的 Bus 速度還是有差別的。如果 CPU 處理好資料﹐要等其他設備來接走資料才可以進行下一個運算﹔或是其它設備要等 CPU 處理完才可以送下一個資料的話﹐這樣系統的效率就給拖慢了。那麼我們在 CPU 和 chips 之間的 Bus 增加一種靜態記憶體 SRAM(Static RAM)﹐其速度比普通的 RAM 要快得多﹐來做為 CPU 和 chips 之間的緩衝﹐將所有 CPU 輸出的資料先接下來﹐再等其他設備能反應過來再接走﹐這樣 CPU 就可以繼續其工作了﹔或先將週邊送來的資料接下來﹐等 CPU 有時間再運算。

我們稱這個 cahe 為 external cache 或 L2 (Level 2) cache﹐因為在 CPU 裡面本身就帶有一定數量的 internal cache 或稱 L1 (Level 1) cache ﹐只不過為數很少﹐比如 486DX 只有 8K 的 L1 cache ﹐Pentium 則有兩個獨立的 8K L1 cache﹐ ( PII 以後的因為偷懶﹐沒去找資料了﹐望諒 ^_^ )。

您或許不知道 cache 的緩衝模式還有兩種 : Write Through 和 Write Back。究竟它們的工作模式有什麼分別呢﹖前者是按順序的接一個資料就傳遞一個資料出去﹐而後者則是先將資料按一定數量接受下來﹐然後將相同位址的資料一次過整批送出。好比一部電梯﹐如果按先入先出的規矩﹐即在 write through 模式下﹐要是第一個客人去 3 樓﹐第二個去 2 樓﹐然後第三個也是去 3 樓的話﹐這電梯就得先到 3 樓﹐然後 2 樓﹐然後再去 3 樓﹔但如果在 write back 模式下﹐電梯先到 2 樓把第二個送出去﹐然後再到 3 樓把第一和第三送出去﹐效率顯然快多了。早期的 cache 只有 write through 模式﹐但現在的 cache 都使用 write back 模式了。

好了﹐明白到 cache 的工作以後﹐我們在選購主機板的時候就看上面有否 (L2)cache 和 cache 的數量多寡了。這在 Pentium 時代裡面尤其重要﹐因為 cache 的造價比 RAM 貴多了。以前額外加多 256K 的 cache 的假期幾乎可以加多好幾十 MB 的 RAM 了。不過﹐現在給 Pentium II 或 PIII 用的主機板好像已經沒有 cache 的了﹐因為 CPU 本身就自帶 了 L2 cache。或許您還會聽過 Celeron 的名字﹐它之所以比相同速度的 PI I要便宜﹐其中一個很主要原因是少了 cache (不過 Celeron A 系統則有 256K)﹐而 PI I一般都自帶有 512K 的cache。


記憶體插槽


如果您沒有忘記前面所述的有關記憶體的文章﹐相信您知道 SIMM 和 DIMM 的分別吧﹐也應該知道為什麼要電腦需要最少 1 個 Bank 的記憶體來工作﹐同時也知道怎樣計算 Bank 的大小了吧。

如果您手上有塊 TX 或 LX 主機板﹐您很有可能會同時看到 72pin 的 SIMM 和 168pin 的 DIMM 插槽。這時候如果您也有兩種 RAM 在手﹐安裝的時候就要格外小心了。因為對於 Pentium 和 P II 來說﹐需要兩條 SIMM 才可以夠一個 Bank﹐而用 DIMM 的話﹐則一條就夠了。在安裝時﹐第一個 Bank 可以是最前兩條 SIMM ﹐也可以是最前面的一條 DIMM ﹐但卻不可以同時分配給 SIMM 和 DIMM 使用(雖然它們的 socket 是不同的﹐但都屬於 Bank 1 )。

如果您的主機板上有 4 條 SIMM 和 2 條 DIMM 插槽﹐您可以全部只插 SIMM 或 DIMM﹔或者是﹕要麼用第一條 DIMM 加第三第四條 SIMM﹔要麼用第二條 DIMM 加第一第二條 SIMM。混亂﹖哈哈﹐開始我也是給搞得糊里糊塗的啦~~~ 不過,這還要看主機板啦,若有 AutoBank 功能的話,則不用傷那麼多腦筋。

不過現在好了﹐如果使用BX主機板的話﹐幾乎清一色是 DIMM﹐因為 SIMM 沒有可能上到 100MHz 的﹐加上去的話就等於給主機板降級了。


BUS 類型


嗯~~~ 恐怕這也不是個容易解說清楚的題目。簡單來說﹐一般 PC 使用的 Bus 有兩種類型: ISA (Industry Standard Architecture) 和 PCI (Peripheral Component Interconnect)。當然還有諸如 MCA、EISA、VESA、和 PCMCIA (Personal Computer Memory Card International Association﹐主要是給 notebook 電腦用的)、等等﹐但因為比較少碰到﹐這裡也不做說明了。

如果觀察主機板﹐ISA 通常都是黑色﹐較寬較長的插槽。再仔細點看的話﹐它應該會分為兩段﹐前面一段有 31 對接觸頭(contact)﹐後面一段則有 18 對接觸頭。如果您有一張卡只用到前面的那段﹐那麼它所使用的是 8bit 的 ISA 了﹔如果同時還用到後面那段﹐那麼﹐這應該是一張16bit 的 ISA 卡了。

以前的 ISA 運行於不同的速度上面: 4.77Mz、6 MHz和 8 MHz﹐不過後來一致公認的最快速度只能有 8.33MHz。而且﹐任何 ISA 都需要 2 周到 8 周時鐘運算(cycle)來傳送資料。那麼﹐理論上 ISA BUS 傳輸速度最快只有每妙 8 MB:8MHz x 16bit = 128 megabit/每秒 = 16 megabyte(MB)/每秒 /2(cycles) = 8MB/每秒。

這裡還要一提的是 Local Bus。最早期的 PC,其 I/O 和 CPU 速度差不多﹐但後來 CPU 的速度不斷提高﹐遠遠拋離 I/O 速度。然而 I/O (ISA) 還只能停留在原來的低速﹐因為實在太大數量的插卡和 ISA 設備只能工作在低速上面(想象一下您敲鍵盤的速度能有多快呢﹖)。這樣當 CPU 要和 IO 交換大量數據的時候就造成瓶頸了。這時候工程師們將一些較高速的 I/O 設備搬到高速的 Processor Bus 之上﹐這樣的安排就是所謂的 Local Bus 了。但原先的低速 ISA 設備﹐仍然是經過低速的 I/O Bus 然後連到 System Bus 和 CPU 交換資料﹐(當然也不能離開 Bus Controller Chips 啦)。

[ Last edited by TCG on 2006-5-8 at 10:26 AM ]
作者: adsl730802     時間: 2006-5-6 05:12 PM    標題: 主機板2

和 ISA 插槽並列的還有一些白色的較短的密密麻麻都是小接觸頭的插槽﹐就是 PCI 插槽了。 PCI 在傳統的 Bus 之上再增加了一層 PCI Local Bus 來繞過 I/O Bus 而直接連上 System Bus上面去。同時也使到 Bus 時鐘得以提昇﹐及可以完全發揮到 CPU 的資料路徑優點。

PCI 已經完全是 32bit 的並且運行於 33MHz 的頻率﹐其傳輸容量可以達到每秒 132MB﹐在 64bit PCI 上﹐可以提昇至 264MB 呢﹗

其實現在 ISA 的設備也越來越少了﹐除了一些聲卡﹐內置 MODEM 等還是 ISA 類型﹐一般都已經是 PCI 了。現在 PII 的主機板還會多了一個 AGP (Accelarated Graphic Port)﹐那是專門給更快的顯示卡使用的 Bus 插槽﹐運行於 64bit 的 bus 之上﹐(聞說要成為標準的 AGP4 會運行 256bit 呢﹐因為沒去考證過﹐所以還不確定啦)。


BIOS (Basic Input Output System)


在電腦剛啟動的時候﹐BIOS 必須比作業系統(OS)先工作起來。顧名思義﹐Basic Input Output System 管理的就是最基本的電腦 I/O 設備了﹐包括系統日期、顯示模式、軟碟驅動裝置、硬碟類型、周邊設施(如通訊埠、列印埠等)、以及一些 RAM 和 cache 的設置。如果這些數據設定錯誤﹐系統有可能開不起來或會造成不穩定。因為不同的機器其硬體配置都不一樣﹐BIOS 的作用就是將參差不齊的硬體界面整合﹐從非標準中提取出一個標準的界面給系統使用。

現在的 BIOS 還多了一些 PnP (Plug and Play)、APM (Advanced Power Management)、以及 USB (Universal Serial Bus) 等較新的設定。

一般我們使用的 BIOS 主要來自 AMI、Aword 和 Phoenix 等廠家。您夠細心的話﹐應該不難在開機的時候看到其廠牌和型號等資料﹐但必須眼快哦。其實各種廠家的 BIOS 設定都大同小異﹐或許操作方式和按鍵不同而已﹐比如 AMI 一般都可以用鼠標操作﹐Award 的 F10 也很方便。


內置界面


在 486 的時候﹐一張主機板真的很陽春﹕通訊口、列印口、軟碟/硬碟控制卡這些東西都是插卡的﹐還得弄一堆的 jumper 來調整 I/O 和 IRQ 等等﹐煩都煩死了。現在可好﹐這些都已經包括在主機板上面了﹐有些主機板還帶有顯示卡、音效卡、網路卡、甚至 SCSI 控制器等等。這些東西是否需要則見人見智﹐但對價錢卻有影響的。


文件手冊


記著一點﹕千萬不要買沒有手冊的主機板﹗

除非主機板上面印製得比較清楚詳細﹐否則﹐離開手冊去設定主機板就如老鼠拉龜 --- 無從下手了。一般主機板上都有教您如何設定 Bus 速度、CPU 倍數、RAM 配置表、以及一些 CMOS 的設定、等等。這些設定要是丟失了﹐將來換東西的話可頭痛死了﹐光一堆 jumper 和 switch 就令人望而卻步了。

不過﹐有時候手冊要是印錯了﹐也害人不淺。我就曾經因為手冊的一個 jumper 數字印錯了而耗費了大半天才讓機器跑動起來﹐ 唉~~~


IO 和 IRQ

在這裡﹐我還想講講 IO 和 IRQ (不是ICQ哦~~)。

正如前面講 chips 的時候﹐已經提到過每個設備都有自己的 IO 位址。就好像自家的門牌一樣﹐只能是唯一的﹐否則郵差就不知道該送給誰了。別忘了電腦是個很蠢的機器﹐一就是一﹐零就零﹐一點都不懂得變通﹐稍有混亂就會發呆不工作了。所以沒有兩個裝置會是相同 IO的﹐且通常設定 IO 的時候會和 IRQ 一起設。準確來說﹐IO 位址是一個範圍﹐如 0x378-0x37F ﹐但設定的時候取前面一個值就可以了﹐但後面的那個數值也不能忽略﹐當您需要手動去更改其它 IO 的時候﹐這個 IO 範圍之內的數值都不可再用了哦﹐否則就會造成 IO 衝突。

那麼 IRQ 又是什麼東東啊﹖IRQ 其實是英文 Interrupt Request 的縮寫﹐interrupt 就是中斷的意思﹐這好像不好理解。不過如果想像一下﹕不管您忙個半死或是在發呆﹐要是忽然有電話進來找您做事情﹐就是 interrupt 了﹐因為“中斷”了目前的狀況。有了這個概念之後﹐下面就跟您講一個電腦故事(純屬虛構)﹕

話說 CPU 在剛開始的時候很神氣﹐自以為精力旺盛﹐每隔一定時間到處問其它的周邊設備﹕“您有工作要我處理嗎﹖”。一個一個的輪著問下去﹐周而復始。如果週邊有東西要處理﹐就回答﹕“啊~~您來得正好﹐這些都是孝敬您老人家的啦﹗”﹔要是沒有東西要處理﹐就回說﹕“您老真是忙﹐最好不要增加您負擔啦﹐您還是問問下一位吧 ^_^ ”。

這樣的情形是﹕CPU 一天到晚都沒有空(雖然它也最怕閑)﹐不過要是數據一多起來﹐CPU 既要處理運算又要到處問周邊﹐也實在應付不來。周邊們也就開始投訴﹕“您這老頭怎麼這麼慢啊﹖害我等這麼久﹐我還有一大堆東西等著呢﹗”於是矛盾就產生了。

俗話說路不轉人轉嘛﹐大家於是坐下來商量一個法子來解決這個矛盾。CPU 首先發難﹕“以後我只處理運算好了﹐再也不去求您們、看您們的臉色啦﹐我忙都忙死了還要受您們氣哦﹖﹗”說完翹起二郎腿抽煙去了。這下周邊們可就緊張了﹐都過去求 CPU 老人家給條生路﹐否則它們的飯碗也難保了耶。最先是系統時鐘求說﹕“ CPU 老哥﹐行行好吧﹐我也知道您老很忙﹐以後也就不要勞動您老來找我啦﹐我有事情自會登們拜訪的啦。不過﹐您得給個通道我才行啊﹐要不怎麼找您啊﹖”CPU 白了它一眼說﹕“憑什麼要給您開這後後門啊﹖”系統時鐘就說﹕“哎呀﹐您老也不是不知道啊﹐如果沒有我﹐大家都不知道時間﹐也都不會幹活啦﹐所以我是一定要這麼一個通道的﹐要不然還是您來找我好了~~”也一副耍賴樣子。CPU 想想也倒有道理﹐就說﹕“好吧﹐不過也不用您親自送來啦﹐我開一條專線給您﹐就像克林頓和江澤民那種﹐只要這電話一響﹐我就知道是您了。然後等我有空就過去拿好了﹐您這麼慢吞吞的我也受不了啦。”於是CPU給系統時鐘開了第一條專線﹐號碼為“0”。

哎呀這下其餘的周邊都忙著討好 CPU、紛紛要專線號碼。鍵盤是第二個發言的﹐因為輸入指令都要靠它嘛。CPU 也就把第二條專線給了它﹐號碼為“1”。然後其它的也一窩蜂的湧來要號碼﹐CPU 一時也應接不暇﹐胡亂的塞給它們一個號碼﹐結果一號通訊口(COM1)得到了號碼 4﹐COM2 得到了 3﹐硬碟得到了 5﹐軟碟得到了 6﹐列印口得到了 7。同時 CPU 也公佈了游戲規則:如果專線同時響的話﹐越小號碼的越優先處理。

因為參加這次的會議也只有這麼多﹐於是皆大歡喜散會了。

不過好景不長﹐因為後來加入的周邊越來越多﹐專線明顯不夠用﹐但專線總機就只有這麼8條線﹐沒法子﹐增加多一台總機﹗剛好專線 2 還閒著﹐就用來接第二台總機好了﹐另一頭在第二台總機那邊接到 9 號去了(其實應是 1 號﹐因為號碼是從 0 開始而且是延續第一總機的﹐所以就變成 9 了)。這樣一來﹐按照前面定的規矩﹐從第二總機進來的(因為 2 號線都會響)就比 3 號以上的號碼更加優先了。考慮到硬碟越來越忙(既要裝作業系統、又要裝檔案、又要當虛擬記憶體...)﹐於是把硬碟從 5號接到 14 號去﹐另外還預留了 15 號給第二個 IDE (還記得IDE 硬碟怎麼連接嗎﹖)。同時﹐也給一些新用戶分配了號碼﹕系統即時鐘用了 8 號、數值資料處理器用了 13 號。這樣 5、9、10、11、12、(有時15)暫時都空著﹐等有需要的時候看情況分配給周邊設備。但這裡有點巧妙的是﹕2 號和 9 號其實都是同一個號碼﹐您不能分別把 2 號給 A 然後 9 號給 B﹐這樣是不能工作的﹐也就是所謂的 IRQ 衝突了﹔要是同時把 3 號都給 COM2 和網卡﹐更明顯是衝突的﹐要麼把網卡改到其它還閒著的號碼去﹐要麼乾脆把 COM2 關掉才可以解決這問題。

從那時候各自也相安無事﹐誰要有東西要處理﹐就撥通專線通知 CPU 有資料傳送﹐然後 CPU 就把資料拿來處理。這裡的專線請求就是 IRQ 了﹐專線號碼就是 IRQ 號碼﹐專線總機就是 IRQ 控制器。相信現在容易理解了吧 ^_^

現在的週邊,若是遇到 IRQ 資源不足的情況下,還可以透過 IRQ Sharing 的方法公同使用同一個 IRQ 來取得 CPU 的連係。

DMA 和 Bus Mastering

如果您玩過音效卡﹐或許您還知道一個設定叫 DMA ﹐那又是什麼東東呢﹖

如果知道 IRQ 的功能就是為了減輕 CPU 負擔的話﹐用相同的理念來了解 DMA (Direct Memoy Access) 也就正確了。在不引入 DMA 之前﹐周邊要是有什麼東西需要傳給 RAM 的話﹐都得請求 CPU 來幫忙。這個工作由內建於 CPU 裡面的 PIO (Programbable Input Output) 來處理﹐但畢竟還要將 CPU 從運算中抽時間來處理。

有見及此﹐在 80 年代中期﹐在主機板上加入了一個 DMA chips﹐如果周邊設備需要將資料運送到 RAM ﹐會先發一個 IRQ 給 CPU ﹐然後 CPU 只需將這請求轉發給 DMA ﹐那麼運送工作就由 DMA 來處理了﹐CPU 則可以繼續其運算﹔然後等 DMA 完成了搬運﹐再報告給 CPU 工作完成則可。和 IRQ 相似的是: DMA 也有各自的通道(channel) 來給周邊設備使用。有些插卡﹐還會用到兩個通道來運送資料呢。

或許您還聽過 Bus Mastering 這名字。其實 Bus Mastering 可以說是 DMA 的延伸技術。只不過 DMA 的 chips 是直接安裝在設備上面﹐而且是自己就可以處理資料的運送﹐所以稱 mastering 就是這意思了。

PnP

在以前的 Jumper 時代﹐IO、IRQ、DMA 等都要把插卡拿在手上調整 jumper 或 switch 來設定。 後來有了 Soft Switch 技術﹕通過程式就可以改變它們的設定數值﹐而無需開箱子找鉗子了。現在更方便﹕Plug and Play (PnP)﹐意思是說只要插上去就可以玩了﹐無需設定。不過﹐現在的 PnP 也不是 100% 能工作哦﹐要是有問題起來﹐而您又懂得怎麼設定 IO 和 IRQ 等﹐寧願使用 jumper 了。

我自己而言﹐就比較喜歡用 Soft Switch ﹐因為不用開箱子﹐同時﹐怎麼設定都可以在自己的控制範圍之內。(哈哈﹐也不是故意找辛苦的來做啦~~)




歡迎光臨 網際論壇 (http://centurys.net/) Powered by Discuz! 2.5