博客專欄

EEPW首頁 > 博客 > 超能課堂(273):電腦開機時都干了些什么

超能課堂(273):電腦開機時都干了些什么

發(fā)布人:超能網(wǎng) 時間:2021-05-30 來源:工程師 發(fā)布文章

如果你們的主板上有Debug LED等和簡易Debug燈的話,在開機的時候可以觀察一下,在顯示器有東西顯示之前這些Debug燈都會在一直跳動,如果卡在某個地方不動的話,恭喜你,有東西出問題了。

1.jpg

傳統(tǒng)的AMI BIOS自檢,圖片來源:wikipedia

電腦開機的必備步驟:上電自檢

你看到的這個過程其實就是電腦的上電自檢Power On Self Test,簡稱POST,這是計算機接通電源后系統(tǒng)進行的一個自我檢查的例行程序,其實許多電子設(shè)備都有這個自檢過程,當然我們這里只討論PC的,POST自檢是設(shè)備預引導序列的一部分,自檢成功的話結(jié)果會顯示在屏幕上,當自檢完成后BIOS就會進入下一個步驟,從硬盤、光盤、移動設(shè)備或網(wǎng)絡(luò)驅(qū)動器上尋找操作系統(tǒng)進行啟動,PC控制權(quán)會交給操作系統(tǒng)。

上電自檢是有BIOS所執(zhí)行的,當然有些外圍設(shè)備自帶BIOS的會讓他們自己檢查,比如顯卡和SCSI設(shè)備,這時你就會看到自檢過程中多了一兩個畫面。

2.jpg

現(xiàn)在主板的自檢界面已經(jīng)相當簡化

上電自檢期間主板BIOS的主要基本職責包括:

驗證CPU寄存器

驗證BIOS自身的完整性

驗證一些基本組件,例如DMA、計時器、中斷控制器

初始化、調(diào)整和驗證系統(tǒng)內(nèi)存

初始化BIOS

把控制器交給其他擴展卡的BIOS

識別與選擇可用于引導的設(shè)備

而現(xiàn)在設(shè)備的主板BIOS上,POST自檢還包括:

初始化芯片組

查找、初始化和分類所有系統(tǒng)總線與設(shè)備

提供用于系統(tǒng)配置的用戶界面

構(gòu)建目標操作系統(tǒng)所需要的系統(tǒng)環(huán)境

上電自檢的過程

當你按下電源鍵后,系統(tǒng)就會啟動上電自檢程序,在此期間系統(tǒng)的控制權(quán)在BIOS上。剛開機的時候電壓還不穩(wěn)定,主板就會通過芯片組向CPU發(fā)出一個RESET信號,此時CPU會初始化,同時會等待電源發(fā)出的POWER GOOD信號,這段時間其實只有短暫的瞬間,當電壓穩(wěn)定后就會撤去RESET信號。

隨后CPU就會從地址FFFF0H處執(zhí)行指令,而這個地址是在主板BIOS的范圍內(nèi)的,無論是什么哪種BIOS放在這里的都是一條跳轉(zhuǎn)指令,就是跳轉(zhuǎn)到BIOS的啟動代碼,而這個啟動代碼要做的第一個事情就是執(zhí)行上電自檢,檢查PC的硬件設(shè)備工作狀態(tài)是否正常。

上電自檢的大致過程為:Power——CPU——ROM——BIOS——System Clock——DMA——64KB RAM——IRQ——顯卡等非關(guān)鍵設(shè)備,I/O口、軟硬盤驅(qū)動器、鼠標鍵盤、即插即用設(shè)備以及CMOS設(shè)置等都排在顯卡的后面,通常顯卡通過測試后屏幕就會亮起,并且在屏幕上顯示各種信息。

3.jpg

主板上的DeBug LED

這個過程是逐一進行的,每個設(shè)備都有一個POST Code開機自我檢測代碼,在對某個設(shè)備進行檢查時就會把這個自我檢測代碼寫入診斷端口,檢測通過后就會送入另一個設(shè)備的代碼,如此重復。

如果某個設(shè)備檢測沒有通過,它的POST Code就會在檢測端口保留下來,而檢測程序也會終止,并會發(fā)出警報,看到這里你應(yīng)該已經(jīng)明白DeBug卡上面的兩個數(shù)字是怎么來的了,如果你有接蜂鳴器的話還能聽到警報聲,通過DeBug卡或者蜂鳴器的聲音就能比較快速的找到問題的所在位置,并進行修理。

其實在早期的電腦上,上電自檢其實是會對所有設(shè)備進行全面的測試的,包括完整的內(nèi)存測試。這其實是繼承了IBM在大型機上的設(shè)計,不過隨著PC逐漸發(fā)展為一種個人的消費級設(shè)備,大多數(shù)產(chǎn)品都放棄了這種高可靠性功能,內(nèi)存的奇偶校驗和全面檢測被放棄了,因為這一過程非常的長,而且隨著內(nèi)存容量的指數(shù)膨脹,這時間只會逐漸讓人無法接受。

最初的IBM PC最少內(nèi)存容量只有16KB,而通常的產(chǎn)品容量是在64到640KB之間,當時使用的8088 CPU頻率只有4.77MHz,完成上電自檢大概耗時5秒到一分半鐘,而且無法跳過內(nèi)存掃描,從IBM XT開始上電自檢期間會顯示內(nèi)存計數(shù)器,而不是之前的空白屏幕。在上世紀80年代人們開始關(guān)注啟動時間,光內(nèi)存自檢就要30到60秒其實是很讓人不爽的,所以從哪個時候開始,兼容機的BIOS里面就多了個設(shè)置,運行用戶通過按一個按鍵跳過內(nèi)存自檢。

而現(xiàn)在的電腦基本都不會進行內(nèi)存自檢了,現(xiàn)在的內(nèi)存比以前可靠多,除非BIOS里面有著設(shè)置而且你還把它打開了。此外現(xiàn)在的BIOS在執(zhí)行上電自檢前會確定其執(zhí)行原因,如果是冷啟動的話就可能執(zhí)行全部操作,但如果是休眠喚醒或者開啟了快速啟動的話,就會跳過標準的上電自檢程序,直接從預設(shè)的系統(tǒng)設(shè)備列表中加載設(shè)備即可。

為什么不同主板的自檢時間有差異

用過HEDT平臺的朋友應(yīng)該都有體驗,就是X99/X299這類主板啟動速度明顯是要比普通Z字頭或者B字頭主板要慢的,原因嘛,其實就是HEDT平臺的可擴展能力更強,上面的東西更多所以需要自檢的時間更長罷了,其實如果把主板的RAID功能開啟,或者安裝RAID卡,或安裝某些PCI-E SSD的話,自檢速度會更慢。

此外AMD平臺啟動要比Intel平臺慢這個估計也有許多人發(fā)現(xiàn)了,其實在AMD主板上BIOS啟動前還有個叫AGESA的東西,在AGESA 1.0.0.4之前開機自檢時間確實非常的長,這也導致了大家對AMD平臺啟動慢的印象,當然現(xiàn)在新版的啟動時間已經(jīng)大幅縮短,不比Intel平臺慢多少。

現(xiàn)在的平臺開機上電自檢時間已經(jīng)非常短,如果BIOS設(shè)置與上次啟動是一致的話自檢時間是非常快的,再加上現(xiàn)在基本上廠家都用開機Logo替換了自檢界面,不把這東西關(guān)掉的話根本看不到自檢報告畫面,這一過程已經(jīng)逐漸被大家忽略了它的存在,但它每次開機都在默默的運行。

當然如果你感覺到某次自檢特別慢,如果你沒加任何硬件的話,那多數(shù)是什么地方出問題了,比如莫名的超頻失敗CMOS重置,或者是什么地方松了導致開機卡住,這些時候就就會感覺到上電自檢的存在。

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: 消費電子

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉