來到我所在的工作車間,提取指令的小A、分析指令的小胖和負責結果回寫的老K都已經到了,就差執行指令的我了。
我們幾個各就各位,做起了準備工作。
“小A,報告一下各個寄存器的值”,我囑咐小A,這是我們每天開始工作前必做的檢查項。
每次一通電,咱們的電路就會啟動自檢工作,把所有的寄存器全部重置,如果哪里有異常的話,就會把錯誤記錄到EAX寄存器中,如果發現EAX的值不是0,那可就大事不好了。
“報告,寄存器已確認:”
EAX,EBX, ECX, ESI, EDI, EBP, ESP: 0x00000000
EFLAGS: 0x00000002
CS: 0xF000
EIP: 0xFFF0
······
看起來沒什么問題,尤其是CS和IP這兩個寄存器,決定著一會兒該從哪里開始執行代碼呢。
我們是一個64位的CPU,平時都是工作在保護模式下,使用虛擬地址來訪問內存,由廠里的內存管理單元MMU負責給轉換成真實的物理地址。
不過在剛剛開機的這會兒功夫,虛擬地址翻譯所需要的頁目錄、頁表這些信息都還沒準備好,MMU還沒法工作,這時候我們只能使用16位的寄存器,工作在實地址模式下,使用段+基址的方式來跟內存打交道,最多只能使用1MB的內存空間,實在是有點局促。
開始執行“大家都準備好了嗎,打起精神來,要準備開始今天的工作了哦!”
“Q哥,這剛剛通電,內存條那家伙應該還是一片空白吧,咱們要去執行哪里的指令啊?”,小A問到。
“這你不用擔心,在主板上,咱們CPU隔壁不遠處有個叫BIOS的伙計,是一個ROM芯片,咱們已經跟他約定好了,一通電他就映射到地址空間中,你盡管按照CS:IP(0xF000:0xFFF0)指向的地方開始取指令就對了,他會安排好的”
“原來是這樣”,小A點了點頭,似懂非懂的樣子。
正式開始干活了,小A熟練的從F000:FFF0處,也就是0xFFFF0處取到了第一條指令:jmp xxxx
好家伙,上來就是一個大跳轉,我們一下來到了BIOS那家伙地盤的中央,開始執行他準備的程序了。
接下來執行的這一堆指令我已經做過無數次了,對主板上各單位進行檢測,看看有沒有異常情況,還有初始化我們工作需要的中斷向量表等等,我早已經輕車熟路了。
“哥幾個忙著吶”,我們正忙的熱火朝天,發現有人在門口圍觀,回頭看去,原來是隔壁二號車間、五號車間、八號車間的幾個家伙。
“你們幾個這么閑,要不來幫我們干會兒活?”
“哎,你想得美,你們一號核是引導處理器(BSP),待遇比我們好,這開機啟動的活兒我們怎么能搶呢?”,二號車間的虎子陰陽怪氣的說到。
真是羨慕他們,比我們1號車間上班時間晚,每次都可以多睡會兒。
MBR我繼續執行BIOS中的代碼,一切檢查完畢,沒什么異常,要準備啟動操作系統大佬了。
接下來,我檢查了BIOS中配置的啟動順序,排在第一位的是硬盤兄弟。
于是我把硬盤老哥第0盤第0道第1扇區的內容讀取到了內存中的0x7C00位置,他們把這玩意叫做主引導記錄MBR,一共512個字節。
聽硬盤那哥們說,這是操作系統老大在安裝的時候,寫到他那里的。
他還告訴我,這個位置很重要,曾經就有病毒占據了這個位置,最后沒辦法只好重裝系統。
MBR
讀取到了MBR后,還得檢查最后兩個字節必須是0x55和0xAA,看起來沒什么問題,是一個合法的MBR,我們又跳到了0x7C00的位置開始執行。
操作系統終于來到操作系統的地盤兒了,在操作系統的指示下,我們切換了工作模式,開始在保護模式下工作了!
剛剛切換到保護模式下,MMU仍然沒法做地址翻譯工作,我們還是只有直接使用物理地址跟內存聯系,所以得趕緊把頁目錄和頁表準備妥當才行。
忙活了一陣子之后,總算把需要的東西都弄好了,我激動的打開了內存分頁的開關,通知MMU部門開始工作,現在我們可以使用虛擬地址訪問內存了,這感覺棒多了!
這時,一旁圍觀的二號車間、五號車間、八號車間那幾個家伙見狀趕緊遛了回去,因為他們知道,馬上就該他們工作了。
我們繼續執行操作系統的代碼,給咱們CPU其他所有核都準備好了數據和指令,創建了多個線程出來,把他們也叫起來一起工作,咱們這個八核CPU終于全面開動起來,一下子熱鬧了不少。
再后來,不知執行了多少指令,創建了多少線程,才把操作系統老大完整的運行了起來,成功完成了這一次的啟動。
這就是通電后,我們CPU開始工作的日常,我已經記不清這是第多少次啟動了,也不知道,我們還能啟動多少次···
原文標題:按下電源后的幾秒鐘,CPU在干嘛?
文章出處:【微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
電路
+關注
關注
172文章
5905瀏覽量
172155 -
cpu
+關注
關注
68文章
10855瀏覽量
211606
原文標題:按下電源后的幾秒鐘,CPU在干嘛?
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論