色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

寄存器通電后CPU是怎樣開始工作的

FPGA之家 ? 來源:編程技術宇宙 ? 作者:軒轅之風O ? 2022-07-25 08:52 ? 次閱讀

來到我所在的工作車間,提取指令的小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中配置的啟動順序,排在第一位的是硬盤兄弟。

a4d615c6-0bb3-11ed-ba43-dac502259ad0.png

于是我把硬盤老哥第0盤第0道第1扇區的內容讀取到了內存中的0x7C00位置,他們把這玩意叫做主引導記錄MBR,一共512個字節。

聽硬盤那哥們說,這是操作系統老大在安裝的時候,寫到他那里的。

他還告訴我,這個位置很重要,曾經就有病毒占據了這個位置,最后沒辦法只好重裝系統。

a4e4bd56-0bb3-11ed-ba43-dac502259ad0.png

MBR

讀取到了MBR后,還得檢查最后兩個字節必須是0x55和0xAA,看起來沒什么問題,是一個合法的MBR,我們又跳到了0x7C00的位置開始執行。

操作系統

終于來到操作系統的地盤兒了,在操作系統的指示下,我們切換了工作模式,開始在保護模式下工作了!

剛剛切換到保護模式下,MMU仍然沒法做地址翻譯工作,我們還是只有直接使用物理地址跟內存聯系,所以得趕緊把頁目錄和頁表準備妥當才行。

忙活了一陣子之后,總算把需要的東西都弄好了,我激動的打開了內存分頁的開關,通知MMU部門開始工作,現在我們可以使用虛擬地址訪問內存了,這感覺棒多了!

a4fcc4d2-0bb3-11ed-ba43-dac502259ad0.png

這時,一旁圍觀的二號車間、五號車間、八號車間那幾個家伙見狀趕緊遛了回去,因為他們知道,馬上就該他們工作了。

我們繼續執行操作系統的代碼,給咱們CPU其他所有核都準備好了數據和指令,創建了多個線程出來,把他們也叫起來一起工作,咱們這個八核CPU終于全面開動起來,一下子熱鬧了不少。

再后來,不知執行了多少指令,創建了多少線程,才把操作系統老大完整的運行了起來,成功完成了這一次的啟動。

這就是通電后,我們CPU開始工作的日常,我已經記不清這是第多少次啟動了,也不知道,我們還能啟動多少次···




審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電源
    +關注

    關注

    184

    文章

    17735

    瀏覽量

    250500
  • 寄存器
    +關注

    關注

    31

    文章

    5355

    瀏覽量

    120513
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10872

    瀏覽量

    211999
  • MMU
    MMU
    +關注

    關注

    0

    文章

    91

    瀏覽量

    18310
收藏 人收藏

    評論

    相關推薦

    解析CPU中的寄存器

    8位寄存器在16位寄存器中,而16位寄存器在32位寄存器中。
    發表于 09-19 10:10 ?4170次閱讀

    移位寄存器的特點_移位寄存器工作原理

    目前移位寄存器在電路中已經得到普遍使用。本文以移位寄存器為中心。主要介紹了移位寄存器分類、移位寄存器的特點,以及詳細的說明了移位寄存器
    發表于 12-22 15:20 ?5w次閱讀
    移位<b class='flag-5'>寄存器</b>的特點_移位<b class='flag-5'>寄存器</b><b class='flag-5'>工作</b>原理

    CPU寄存器詳解

    計算機是一種數據處理設備,它由CPU和內存以及外部設備組成。CPU負責數據處理,內存負責存儲,外部設備負責數據的輸入和輸出,它們之間通過總線連接在一起。CPU內部主要由控制、運算
    發表于 06-04 20:32 ?1.2w次閱讀
    <b class='flag-5'>CPU</b><b class='flag-5'>寄存器</b>詳解

    主存和寄存器的區別介紹

    本文開始介紹了主存的概念和頻率及主存的大小,其次介紹了寄存器工作原理與寄存器用途,最后介紹了主存和寄存器的區別。
    發表于 04-11 14:27 ?2.3w次閱讀

    8086CPU有哪些寄存器_各有什么用途

    本文開始介紹了8086概念和8086CPU的編程結構,其次介紹了8086CPU的兩種工作模式,最后介紹了8086CPU
    發表于 04-16 14:08 ?7.4w次閱讀
    8086<b class='flag-5'>CPU</b>有哪些<b class='flag-5'>寄存器</b>_各有什么用途

    寄存器變量

    C語言中使用關鍵字register來聲明局部變量為寄存器變量。寄存器變量的值會被存放在CPU寄存器中,每當需要使用它們時,CPU就可以直接
    發表于 06-03 10:13 ?2388次閱讀

    CPU寄存器和內存單元的物理結構

    這個問題應該從cpu寄存器和內存單元的物理結構來看。
    的頭像 發表于 09-05 11:17 ?4295次閱讀

    寄存器工作原理

    寄存器工作原理 寄存器CPU內部用來存放數據的一些小型存儲區域,用來暫時存放參與運算的數據和運算結果。其實寄存器就是一種常用的時序邏輯電
    發表于 02-20 14:02 ?8622次閱讀

    cpu寄存器和存儲的區別

    cpu寄存器和存儲的區別 寄存器存在于CPU中,速度很快,數目有限;存儲是內存,速度稍慢,但
    發表于 03-21 15:12 ?1457次閱讀

    計算機寄存器和存儲

    存儲,CPU都在一個片內,所以寄存器是片內RAM的一部分。 存儲插在主板上,容量大,速度慢寄存器位于
    發表于 03-21 15:22 ?2094次閱讀

    怎樣通過改變寄存器中的內容實現對CPU的控制呢?

    寄存器CPU中程序員可以用指令讀寫的部件,通過改變寄存器中的內容實現對CPU的控制。
    的頭像 發表于 09-20 15:49 ?1368次閱讀
    <b class='flag-5'>怎樣</b>通過改變<b class='flag-5'>寄存器</b>中的內容實現對<b class='flag-5'>CPU</b>的控制呢?

    寄存器工作原理

    電子發燒友網站提供《寄存器工作原理.zip》資料免費下載
    發表于 11-20 14:57 ?2次下載
    <b class='flag-5'>寄存器</b>的<b class='flag-5'>工作</b>原理

    CPU的6個主要寄存器

    CPU寄存器是中央處理內的組成部分,是有限存貯容量的高速存貯部件。寄存器CPU內部的元件,包括通用
    的頭像 發表于 02-03 15:15 ?4411次閱讀

    寄存器的定義和功能 寄存器的分類和工作原理

    在計算機系統中,寄存器作為一種特殊的存儲設備,扮演著至關重要的角色。它是中央處理CPU)內部的重要組成部分,用于暫時存儲數據和指令,以便于CPU進行高速的運算和控制。本文將對
    的頭像 發表于 05-12 17:07 ?5662次閱讀

    寄存器分為基本寄存器和什么兩種

    寄存器是計算機中用于存儲數據的高速存儲單元,它們是CPU內部的重要組成部分。寄存器可以分為基本寄存器和擴展寄存器兩種類型。 一、基本
    的頭像 發表于 07-12 10:31 ?1432次閱讀
    主站蜘蛛池模板: 欧美精品一区二区蜜臀亚洲| 亚洲中文字幕永久在线| 97人人爽人人爽人人人片AV| 龙腾亚洲人成电影网站| 99热久久这里只有精品视频| 日产精品高潮呻吟AV久久| 国产精品第十页| 永久免费毛片| 欧美wwwvideos在线观看| 耽肉高h喷汁呻吟| 亚洲免费一区| 欧美丰满少妇久久无码精品| 国产黄A片在线观看永久免费麻豆 国产互换后人妻的疯狂VIDEO | 受坐在攻腿上H道具PLAY| 国产色精品VR一区二区| 亚洲精品影院久久久久久| 老头操美女| 国产精品资源网站在线观看| 在线亚洲中文精品第1页| 秋霞伦理机在线看片| 果冻传媒在线播放 免费观看| 99国产这里只有精品视频| 无修肉动漫在线观看影片| 免费看a视频| 国产一区二区不卡老阿姨| 99热久久视频只有精品6| 亚洲 欧美 国产 综合 在线| 捏揉舔水插按摩师| 簧片免费观看| 国产不卡无码高清视频| 52色擼99热99| 亚洲精品久久久久AV无码林星阑| 欧美性色生活片天天看99顶级| 解开美女胸衣2破解版| 大学生高潮无套内谢视频 | 中文字幕乱码亚洲无线三区| 偷拍国产精品在线播放| 欧美日韩另类在线专区| 久久精品国产欧美成人| 国产精品亚洲污污网站入口| xxxx18动漫|