BIOS英文Basic Input/outputSystem的縮寫,意思是“基本輸入/輸出系統(tǒng)”。以前,我們只是從書本上了解到它是操作系統(tǒng)和硬件之間連接的橋梁,負責在電腦開啟時檢測、初始化系統(tǒng)設(shè)備、裝入操作系統(tǒng)并調(diào)度操作系統(tǒng)向硬件發(fā)出的指令,是一個高深莫測的系統(tǒng)模塊。在486以及以前的時代,BIOS總是默默地躲在操作系統(tǒng)的背后,不為人重視。直到計算機進入586時代之后,大量主板開始采用FlashROM這一全新的芯片做系統(tǒng)BIOS,少數(shù)電腦DIYer才在刷新BIOS的過程中第一次對它有了一個比較直觀的認識。而當臺灣人陳盈豪將CIH病毒及其毀滅性的破壞能力“無私奉獻”給我們后,幾乎所有的計算機使用者都對BIOS的功能和其重要性有了一個無法磨滅的認識。只可惜,這個認識太慘痛,太“血腥”了。現(xiàn)在,到了該全面了解BIOS的時候了。
談到BIOS,不能不先說說Firmeare(固件)和ROM(Read OnlyMemory,只讀存儲器)芯片。Firmeare是軟件,但與普通的軟件完全不同,它是固化在集成電路內(nèi)部的程序代碼,集成電路的功能就是由這些程序決定的。ROM是一種可在一次性寫入Firmware(這就是“固化”過程)后,多次讀取的集成電路塊。由此可見,ROM僅僅只是Firmware的載體,而我們通常所說的BIOS正是固化了系統(tǒng)主板Firmware的ROM芯片。
最初的主板BIOS芯片采用的是ROM,它的Firmware代碼是在芯片生產(chǎn)過程中固化的,并且永遠無法修改。后來,電腦中又采用了一種可重復寫入的ROM作為系統(tǒng)BIOS芯片,這就是EPROM(Erasable Programmable ROM,可擦除可編程ROM)。EPROM有兩種,見圖1:
左邊的一種不帶窗口,只能寫一次,如寫錯了就報廢。一般顯卡、MODEM上的ROM上多采用這種EPROM,它的價格相對較低。右邊一種是帶窗口的EPROM芯片,這種EPROM可以用紫外線來擦除原有的Firmware,并用專用的讀寫器更新它的Firmware。但這一過程需要特殊的器材,技術(shù)要求也比較專業(yè),因此操作方法鮮為人知。
現(xiàn)在的主板BIOS幾乎都采用FlashROM(快閃ROM),它其實就是一種可快速讀寫的EEPROM(Electrically Erasable ProgrammableROM),顧名思義,它是一種在一定的電壓、電流條件下,可對其Firmware進行更新的集成電路塊。兼容機和國產(chǎn)品牌機BIOS大多采用AWARD或AMI公司的Firmware,國外的品牌電腦的BIOS則幾乎全部采用Phoenix公司的Firmware。不管BIOS軟件代碼有何區(qū)別,它們的硬件部分(FlashROM芯片)是大致相同的,BIOS芯片大多位于主板的ISA和PCI插槽交匯處的上方(也有部分主板將BIOS芯片安排在主板的左下方位置),芯片表面一般貼有BIOS Firmware提供商的激光防偽標貼。一般不是直接焊在主板上,而是插在一個專用的插槽上,見圖三。
FlashROM芯片有兩種不同的芯片封裝形式,前面我們看到的是采用長方形封裝形式的芯片,圖四是另外一種接近正方形的、面積更小巧的封裝形式的FlashROM芯片,這種小型的封裝形式可以減少占用主板空間,從而可提高主板的集成度、縮小主板的尺寸。但同時,它又因為具有與眾不同的封裝形式,如果一旦升級BIOS失敗,或者BIOS被病毒破壞,將很難修復。這一點后面將談到。
有很多芯片廠商都在生產(chǎn)FlashROM芯片,我們在主板上常見的有Winbond、SST、Intel、MXIC、ATMEL等品牌的產(chǎn)品,這些廠商又提供了很多種型號的芯片,型號不同,芯片的存儲容量和讀寫電壓也不同。Flash ROM芯片大致分為28、29兩大系列28系列的FlashROM芯片是雙電壓設(shè)計的,它可以在5V的電壓的條件下讀取,而寫入則必須提供12V的電壓。采用這種芯片的主板在升級時,會給普通的電腦用戶造成不小的麻煩---要開機箱、改跳線設(shè)置,太麻煩了。29系列的FlashROM芯片則相對簡單,由于其采用單電壓設(shè)計,讀寫都采用5V電壓,因此只動用軟件就可以完成讀寫Firmware的操作。在主板說明書中,主板廠商還列出了Flash ROM芯片的容量,其中有1M和2M兩種容量的型號。這里,“M”的單位是指“Mbit”,1M的FlashROM芯片實際能存儲的容量為1Mbit=8*128Kbyte(1Byte=8bit),2M的芯片為256K。以上這些技術(shù)參數(shù)都可以通過芯片正面的編號來區(qū)分,這個編號是嚴格遵循集成電路編號規(guī)則來標注的,如:臺灣Winbond(華邦)公司的FlashROM芯片,芯片編號為“29C020”。前兩位“29”表明這是一塊5V電壓讀寫的FlashROM芯片,后面的“020”代表容量為2Mbit。如Intel生產(chǎn)的FlashROM芯片,它的芯片編號為“28F010”,由此可知該芯片是5V讀、12V寫,容量為1Mbit的Flash ROM芯片。
FlashROM芯片最誘人的特性,是它的Firmware更新操作可以只使用計算機軟件來完成。這一特性和運用,使原本深藏在計算機內(nèi)部不為人知的BIOS,一下子“暴露”在了我們面前,并為我們免費獲得對新硬件的支持、修正BIOS代碼錯誤成為可能。當然,正是由于這個提供給我們方便的特性,也為CIH病毒提供了便利,使其能對采用單電壓讀寫的FlashROM芯片進行惡意的破壞。但是不用擔心,CIH病毒破壞的只是固化在芯片中的Firmware,它并不能對Flash ROM芯片本身造成物理損壞。
以上我們談的都是系統(tǒng)主板的BIOS。現(xiàn)在,越來越多的電腦部伯開始采用Flash ROM來固化硬件的底層控制代碼,許多廠商也將這些控制代碼和承載這些代碼的芯片稱之為BIOS。這些可以更新“BIOS“的硬件包括顯示卡、MODEM、網(wǎng)卡、CDR驅(qū)動器、數(shù)字相機甚至一些硬盤等等。這些電腦板卡或周邊調(diào)和設(shè)備使用的Flash ROM芯片,也與主板BIOS芯片大同小異。
BIOS的Firmware代碼決定了系統(tǒng)對硬件支持、協(xié)調(diào)的能力。現(xiàn)在新硬件層出不窮,BIOS不可能預(yù)先具備對如此繁多的硬件的支持,這依賴于對BIOS Firmware的更新來完善。比如使B X主板“認識”PIII、讓i740顯卡在非Intel芯片組的主板上正常工作等,都需要升級主板BIOS才能實現(xiàn)。另外,任何一種硬件都有可能因設(shè)計上的不足或BUG(錯誤),而和系統(tǒng)發(fā)生各種各樣的沖突甚至使電腦不能穩(wěn)定工作。這些問題也可以通過升級BIOS來解決,而且這時就有兩個途徑來解決問題,一是升級主板BIOS,一是升級具體硬件的BIOS(如果它的BIOS具有升級能力的話)。