主機板(Main Board)英文也有寫作Mother Board﹐意思就好像母親一樣﹐所有的部件有如是她的孩子﹐離開了她就根本就不會出世。這比喻足見主機板是何等重要的了。上面所介紹的輸入/輸出設備、CPU、記憶體、儲存設備、等等﹐其實都不能離開主機板而工作﹗
如果您有機會打開機器的箱子﹐您會發現裡面密密麻麻的電子零件都鑲嵌在一塊很大的電路板上面﹐那電路板就是主機板了。
主機板的晶片組
如果您留意到電腦廣告上面的主機板﹐通常都是以X結尾為型號的﹐如VX﹐HX﹐KX﹐LX﹐BX等等。究竟這型號怎麼來的呢﹖其實這型號是主機板上面的一塊總線控制晶片組(Bus Controler Chips)的型號﹐就好像我們稱呼CPU型號為電腦型號一樣。
不同的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 II 用的﹖而且不同類型的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 拿出來需要特殊的起子﹐否則很容易就把socket或CPU弄壞。到了Pentium II 推出的時候﹐使用的插槽改為 slot 1, 及Pentium II/III Xeon 使用的是 slot 2 了。
不過﹐我還是情鐘Socket7的形式﹐因為比較容易更換。
- 緩沖記憶體(cache)
- 這個恐怕要多花些時間解釋一下了。
因為電腦的任何設備都是依靠一定的時鐘頻率(Clock Rate)工作的﹐今天的CPU很明顯比其他任何的週邊都要快得多﹐就算是和它交往最密的RAM也最快只有100MHz而已(寫這篇文章的時候)﹐這樣就造成了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和PIII的因為躲懶﹐沒去找資料了﹐望諒 ^_^ )。
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的名字﹐它之所以比相同速度的 PII要便宜﹐其中一個很主要原因是少了cache (不過 Celeron A 系統則有256K)﹐而PII一般都自帶有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。混亂﹖哈哈﹐開始我也是給搞得糊里糊塗的啦~~~
不過現在好了﹐如果使用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傳輸速度最快只有每妙8MB:8MHz x 16bit = 128 megabit/每秒 = 16 megabyte(MB)/每秒 /2(cycles) = 8MB/每秒。
這裡還要一提的是Local Bus。剛開始時的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啦)。
和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控制器。相信現在容易理解了吧 ^_^
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﹐因為不用開箱子﹐同時﹐怎麼設定都可以在自己的控制範圍之內。(哈哈﹐也不是故意找辛苦的來做啦~~)