BIOS

出自Local Chinese Wikipedia
imported>Cewbot2025年11月8日 (六) 14:26的修訂 (清理跨語言連結鳳凰科技凤凰科技成為內部連結:編輯摘要的紅色連結經繁簡轉換後存在,非bot錯誤編輯 (本次機械人作業已完成8%))
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
跳至導覽 跳至搜尋

package.lua第80行Lua錯誤:module 'Module:CGroup/core' not found

頁面Module:Message box/mbox.css沒有內容。頁面Template:Ambox/style.css沒有內容。

Template:Infobox Hardware 腳本錯誤:沒有「Lang」這個模塊。(英文:腳本錯誤:沒有「Lang」這個模塊。),即基本輸入輸出系統,亦稱為ROM BIOS、System BIOS、PC BIOS,是在通電啟動階段執行硬件初始化,以及為作業系統提供運行時服務的韌體。BIOS最早隨着CP/M作業系統的推出在1975年出現。BIOS預安裝在個人電腦主機板上,是個人電腦啟動時加載的第一個軟件。

現在,BIOS的作用是初始化和測試硬件元件,以及從大容量儲存裝置(如硬碟)載入啟動程式,並由啟動程式載入作業系統;當載入作業系統後,BIOS通過系統管理模式作業系統提供硬件抽象。在DOS時代,BIOS為DOS作業系統提供鍵盤、顯示及其他I/O裝置的硬件抽象層

許多BIOS程式都只能在特定電腦型號或特定主機板型號上執行。早年,BIOS儲存於ROM晶片上;現在的BIOS多儲存於快閃記憶體晶片上,這方便了BIOS的更新。

1980年代,IBM發明了IBM PC,但最初BIOS是IBM PC上唯一不開放的元件,給IBM PC的複製(Clone)帶來了麻煩。隨後COMPAQ複製了IBM PC,Phoenix Technologies等公司亦複製了IBM PC的BIOS部件,可為當時的IBM PC相容機廠商提供BIOS。

統一可延伸韌體介面(UEFI)正在逐步取代舊式BIOS,但仍有很多產品支持兼容模式,通過Legacy選項,不過這種支持已經逐漸減少。目前,UEFI與兼容支持模式(UEFI+CSM)成為主流,但最新的產品已經不再支持兼容模式,僅支持UEFI。

操作[編輯]

系統啟動[編輯]

當電腦的電源開啟,BIOS就會從主機板上的ROM晶片執行,執行加電自檢(POST),測試和初始化CPURAM直接記憶體存取控制器、晶片組鍵盤軟碟硬碟等裝置。當所有的Option ROM被載入後,BIOS就試圖從啟動裝置(如硬碟軟碟光碟)載入啟動程式,由啟動程式載入作業系統。BIOS也可從網卡等裝置啟動。

設定畫面[編輯]

大約從80386 PC開始,個人電腦的BIOS ROM整合了設定程式(Setup)。主板的CMOS晶片用於儲存BIOS設定值及硬件偵測值。主板上的鈕扣電池用於讓CMOS儲存BIOS設定值,以及電腦在斷電時依然可以讓系統時鐘運作。

現代的BIOS可以讓使用者選擇由哪個啟動裝置啟動電腦,如光碟機硬碟軟碟隨身碟等等。現代大多數BIOS支持圖形化交互界面,有一些是廠商製作的,使用者可以用鼠標鍵盤完成操作。

BIOS韌體[編輯]

由於BIOS與硬件系統整合在一起(將BIOS程式指令燒錄在IC中),所以有時候也被稱為韌體。在大約1990年BIOS是保存在ROM唯讀記憶體)中而無法被修改。因為BIOS的大小和複雜程度隨時間不斷增加,而且硬件的更新速度加快,令BIOS也必須不斷更新以支援新硬件,於是BIOS就改為儲存在EEPROM或者快閃記憶體中,讓使用者可以輕易更新BIOS。然而,不適當的執行或是終止BIOS更新可能導致電腦無法使用。為了避免BIOS損壞,有些主機板有備份的BIOS(「雙BIOS」主機板)。現在的BIOS有「啟動區塊」(Boot Block),屬於BIOS ROM的一部份,一開機就會被執行。這個程式會在執行BIOS前,驗證BIOS其他部分是否正確無誤(經由核對和等等)。如果啟動區塊偵測到主要的BIOS已損壞,則可自動讀取USB隨身碟/光碟中的特定BIOS檔案並更新BIOS。主機板廠商/OEM經常發出BIOS升級來更新他們的產品和修正已知的問題。

作業系統服務[編輯]

File:Overclock.jpg
AMD Athlon XP 處理器的BIOS的設定畫面,圖中為超頻而更改頻率。

BIOS可通過BIOS中斷呼叫MS-DOS作業系統及MS-DOS程式提供磁碟、鍵盤、顯示等標準服務。通過BIOS中斷呼叫存取視訊硬件非常緩慢,因此,有些DOS程式(尤其是遊戲)通過直接存取視訊硬件提高效率。

現代作業系統僅在啟動時使用BIOS中斷呼叫[1]

微代碼更新[編輯]

P6微架構開始,Intel處理器支援可重新編程的微碼。自K7微架構開始,AMD處理器支援可重新編程的微碼。BIOS包含處理器微代碼更新。微代碼被載入到處理器的SRAM中,所以微代碼更新並不是持久的,需要在每次系統啟動時更新處理器微代碼。作業系統也可以更新主處理器的微代碼[2][3]

其他韌體[編輯]

現代BIOS包括英特爾管理引擎[4]AMD平台安全處理器和板載Video BIOS韌體

超頻[編輯]

一些BIOS支援超頻

現代用途[編輯]

BIOS以16位元真實模式執行。現代作業系統以保護模式長模式執行,因為使用BIOS的16位元真實模式服務(如BIOS中斷呼叫)是低效的。在1990年代,BIOS為作業系統提供APMpackage.lua第80行Lua錯誤:module 'Module:Ilh/data' not foundpackage.lua第80行Lua錯誤:module 'Module:Ilh/data' not found功能;在2000年代至今,BIOS則為作業系統提供ACPIpackage.lua第80行Lua錯誤:module 'Module:Ilh/data' not found功能[5][6][7]

CMOS的聯繫和區別[編輯]

BIOS與CMOS的關係[編輯]

CMOS是計算機上另一個重要的存儲器。之所以提到它,是因為BIOS程序的設定值、硬件參數偵測值就保存在CMOS中。而且,在BIOS程式啟動計算機時,需要載入CMOS中的設定值。CMOS通常被整合在南橋晶片組中。UEFI系統則多用NVRAM儲存設定。

BIOS與CMOS的區別[編輯]

二者的區別是,BIOS是儲存在只讀存儲器EEPROM快閃記憶體),而CMOS為隨機存儲器(RAM);BIOS中存儲的是程序,而CMOS中存儲的是普通信息。

CMOS的內容在斷電會消失。所以,把主機板的電池拆出,便可重置其內容。另外,拆出電池也會重設時間

擴充程式(Option ROM)[編輯]

擴充卡硬碟控制器顯示卡網卡可能包含BIOS擴充程式(即Option ROM),為BIOS提供附加的功能。在BIOS啟動作業系統前,Option ROM被BIOS執行。部分內建於主板的裝置(如板載RAID),其Option ROM可能包含在主機板BIOS中。Option ROM通過package.lua第80行Lua錯誤:module 'Module:Ilh/data' not found擴充BIOS的啟動功能。

系統初始化[編輯]

系統在加電自檢(POST)階段,尋找並執行Option ROM。Option ROM通過BIOS中斷呼叫對硬件進行測試、初始化,並顯示診斷資訊或顯示設定畫面。

供應商[編輯]

目前全球只有四家獨立BIOS供應商(IBV),曾經的package.lua第80行Lua錯誤:module 'Module:Ilh/data' not foundpackage.lua第80行Lua錯誤:module 'Module:Ilh/data' not found、Microid均被鳳凰科技收購,package.lua第80行Lua錯誤:module 'Module:Ilh/data' not foundInsyde Software收購。

取代[編輯]

英特爾2000年開發出可擴展固件接口(Extensible Firmware Interface),隨後,由業界多家著名公司共同成立統一可擴展固件接口論壇(UEFI Forum),EFI被更名為UEFI,且由UEFI論壇制定新的UEFI規範。

現UEFI正在取代傳統BIOS,且Intel已經於2020年棄用傳統BIOS介面,屆時Intel產品不再支援基於16位真實模式的UEFI CSM(UEFI相容性支援模組)[8]

參見[編輯]

外部連結[編輯]

  1. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  2. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  3. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  4. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  5. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  6. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  7. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  8. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found