BIOS的自檢原理和其重要性

主板上電後整個主板和其上的芯片/總線控制器就構成了一幅地圖,該地圖表示某某設備在哪一個地方放着,而後BIOS自檢就開始了。須要注意的是,萬事開頭難,bios是怎麼開始運行的呢?它的指令代碼如何開始執行的呢?這無須咱們關心,是標準強制的,好比bios佔據地址總線上發出地址a到b這個區間,而後主板地圖創建好(電壓穩定)以後,cpu從地址a到b之中的某個特定的位置c開始執行,這個過程十分簡單,cpu將從c取指令,將地址c發到地址總線,北橋根據標準將之路由到bios芯片,而後bios芯片將指令經過數據總線發回cpu,cpu執行,這樣就開始了執行bios指令,bios基本就是自檢,而後跳轉到別的地方,至於跳到什麼地方,cpu和主板的設計者就無論了,全由bios決定,反正這時候整個板子已經開始工做了,你想跳轉到磁盤分區中的代碼,你就要先將磁盤中的代碼載入內存,這又是一個發送地址到地址總線,取指令執行的過程。
     那麼bios自檢的原理是什麼呢?在主板上電且電壓穩定以後,其上全部的設備芯片電壓都會穩定,而且每一種芯片都會處在reset狀態,也就是說這些芯片都遵循各自標準,電路處在一種穩定狀態,各個芯片的穩定電路都有本身的標準,好比芯片X的穩定標準爲,給它的第1個和第3個引腳發射一個高電平,那麼若是從其第5個引腳能獲得一個高電平,就說明該芯片正常,而後從其第10到20個引腳會獲得一個10位的電平序列,好比是:高-高-低-高-低-高-低-低-高-低,二進制就是1101010010,該二進制數字就是此芯片X的相關信息,再好比檢測ram容量,可能就是依次往ram的每個存儲芯片某些引腳發送電平信號序列,而後從其另外一些引腳讀取該芯片的容量,這樣就會在屏幕上最終顯示出ram的總大小,正如咱們看到的電腦開機時ram容量從0跳變到最大值同樣的效果。bios經過相似的方式探測到全部設備的特性。那麼bios是如何找到特定設備的呢?前面的文章說過,bios內部要麼保存着一張拓撲圖要麼在開始運行時第一步先初始化一張該拓撲圖(具體如何進行初始化,不外乎根據標準針對特定的芯片引腳發送電平序列信號,注意,仍是根據標準),該拓撲圖記載了主板上各個芯片或者設備總線的地址信息和其它的元信息,有了這個拓撲圖,主板地圖上的芯片/設備/總線就有了各自的地址了,bios此時是總管,若是把主板當成一座城市的話,bios此時就是城市主管,記錄着每家每戶的地址信息,而後挨家挨戶慰問如今一切安好!這就是自檢的過程。
     注意,通常而言,主板芯片或者設備總線的地址信息是硬存儲在bios芯片內部的,然而大多數的芯片特性卻不保存在bios芯片內部,而是在自檢的時候從對應地址動態讀取到的,讀取的方式無非就是根據地址信息獲得設備標準,而後根據標準往設備的某些引腳發送一些電平序列,而後獲得設備特性信息,這些特性信息被保存在芯片或者設備內存的小芯片中,或者叫設備控制器或者叫設備bios。
     LinuxBIOS,如今的Coreboot,它實現了一個開源的bios,而且使用了大量的linux內核源碼,它至關於一個高度精簡的linux操做系統,除了自檢以外,它還能作不少事情,由於控制權在交給其它代碼以前一直在linuxbios手中,且它又是基於linux的,所以它完成的功能更多。bios咱們平時接觸很少,然而卻能控制整個計算機,好比計算機有多少內存可用,操做系統是直接求於bios的,若是bios告訴操做系統只有30M的內存,那麼操做系統只能使用30M,若是bios告訴操做系統雖然有4G的ram,而後有2.7G都爲設備保留,那麼你除了抗議以外沒有任何辦法。現在所謂的IT從業者都關注於頂層的應用,而專一於底層機制的人均可以被視爲機修工了,CIH那樣的病毒也愈來愈少了,然而一旦再次出現,我想不多有人能應付。
     前面提到過BIOS裏面的地址拓撲圖,這幅圖能夠存儲在cmos芯片裏面,也能夠動態檢測,這也就構造了兩種bios自檢的辦法,第一種是cmos中已經存儲了地址拓撲圖,bios直接根據拓撲圖中的地址和屬性信息來檢測設備,好比cmos中有下面一個條目:位於地址A處的是PCI設備,那麼bios就根據PCI設備的標準像地址A處發送電平信號,而後讀取回復;第二種方式就是探測法,bios從地址0開始,一直探測到最大的地址處,在每個地址處,雖然bios不知道是什麼設備,可是須要每個設備都要提供一個探測接口,好比這個接口是寫入10110,那麼bios往每個地址都寫入10110,而後獲得的回覆便是設備的類型,而後再根據第一種方式進行自檢。熟悉LinuxBIOS的可能對此比較熟悉,bios自檢徹底是基於主板設計的,所以bios的開發技術一直都被主板廠商把持着,一種板子對應一個bios,這就是道理!bios仍是把持着一切,主板和應用軟件之間有一個接口,那就是bios。linux

相關文章
相關標籤/搜索