女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

來到我所在的工作車間,提取指令的小A、分析指令的小胖和負(fù)責(zé)結(jié)果回寫的老K都已經(jīng)到了,就差執(zhí)行指令的我了。

我們幾個(gè)各就各位,做起了準(zhǔn)備工作。

“小A,報(bào)告一下各個(gè)寄存器的值”,我囑咐小A,這是我們每天開始工作前必做的檢查項(xiàng)。

每次一通電,咱們的電路就會(huì)啟動(dòng)自檢工作,把所有的寄存器全部重置,如果哪里有異常的話,就會(huì)把錯(cuò)誤記錄到EAX寄存器中,如果發(fā)現(xiàn)EAX的值不是0,那可就大事不好了。

“報(bào)告,寄存器已確認(rèn):”

EAX,EBX, ECX, ESI, EDI, EBP, ESP: 0x00000000

EFLAGS: 0x00000002

CS: 0xF000

EIP: 0xFFF0

······

看起來沒什么問題,尤其是CS和IP這兩個(gè)寄存器,決定著一會(huì)兒該從哪里開始執(zhí)行代碼呢。

我們是一個(gè)64位的CPU,平時(shí)都是工作在保護(hù)模式下,使用虛擬地址來訪問內(nèi)存,由廠里的內(nèi)存管理單元MMU負(fù)責(zé)給轉(zhuǎn)換成真實(shí)的物理地址。

不過在剛剛開機(jī)的這會(huì)兒功夫,虛擬地址翻譯所需要的頁(yè)目錄、頁(yè)表這些信息都還沒準(zhǔn)備好,MMU還沒法工作,這時(shí)候我們只能使用16位的寄存器,工作在實(shí)地址模式下,使用段+基址的方式來跟內(nèi)存打交道,最多只能使用1MB的內(nèi)存空間,實(shí)在是有點(diǎn)局促。

開始執(zhí)行

“大家都準(zhǔn)備好了嗎,打起精神來,要準(zhǔn)備開始今天的工作了哦!”

“Q哥,這剛剛通電,內(nèi)存條那家伙應(yīng)該還是一片空白吧,咱們要去執(zhí)行哪里的指令?。俊?,小A問到。

“這你不用擔(dān)心,在主板上,咱們CPU隔壁不遠(yuǎn)處有個(gè)叫BIOS的伙計(jì),是一個(gè)ROM芯片,咱們已經(jīng)跟他約定好了,一通電他就映射到地址空間中,你盡管按照CS:IP(0xF000:0xFFF0)指向的地方開始取指令就對(duì)了,他會(huì)安排好的”

“原來是這樣”,小A點(diǎn)了點(diǎn)頭,似懂非懂的樣子。

正式開始干活了,小A熟練的從F000:FFF0處,也就是0xFFFF0處取到了第一條指令:jmp xxxx

好家伙,上來就是一個(gè)大跳轉(zhuǎn),我們一下來到了BIOS那家伙地盤的中央,開始執(zhí)行他準(zhǔn)備的程序了。

接下來執(zhí)行的這一堆指令我已經(jīng)做過無數(shù)次了,對(duì)主板上各單位進(jìn)行檢測(cè),看看有沒有異常情況,還有初始化我們工作需要的中斷向量表等等,我早已經(jīng)輕車熟路了。

“哥幾個(gè)忙著吶”,我們正忙的熱火朝天,發(fā)現(xiàn)有人在門口圍觀,回頭看去,原來是隔壁二號(hào)車間、五號(hào)車間、八號(hào)車間的幾個(gè)家伙。

“你們幾個(gè)這么閑,要不來幫我們干會(huì)兒活?”

“哎,你想得美,你們一號(hào)核是引導(dǎo)處理器(BSP),待遇比我們好,這開機(jī)啟動(dòng)的活兒我們?cè)趺茨軗屇??”,二?hào)車間的虎子陰陽(yáng)怪氣的說到。

真是羨慕他們,比我們1號(hào)車間上班時(shí)間晚,每次都可以多睡會(huì)兒。

MBR

我繼續(xù)執(zhí)行BIOS中的代碼,一切檢查完畢,沒什么異常,要準(zhǔn)備啟動(dòng)操作系統(tǒng)大佬了。

接下來,我檢查了BIOS中配置的啟動(dòng)順序,排在第一位的是硬盤兄弟。

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

于是我把硬盤老哥第0盤第0道第1扇區(qū)的內(nèi)容讀取到了內(nèi)存中的0x7C00位置,他們把這玩意叫做主引導(dǎo)記錄MBR,一共512個(gè)字節(jié)。

聽硬盤那哥們說,這是操作系統(tǒng)老大在安裝的時(shí)候,寫到他那里的。

他還告訴我,這個(gè)位置很重要,曾經(jīng)就有病毒占據(jù)了這個(gè)位置,最后沒辦法只好重裝系統(tǒng)。

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

MBR

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

操作系統(tǒng)

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

剛剛切換到保護(hù)模式下,MMU仍然沒法做地址翻譯工作,我們還是只有直接使用物理地址跟內(nèi)存聯(lián)系,所以得趕緊把頁(yè)目錄和頁(yè)表準(zhǔn)備妥當(dāng)才行。

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

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

這時(shí),一旁圍觀的二號(hào)車間、五號(hào)車間、八號(hào)車間那幾個(gè)家伙見狀趕緊遛了回去,因?yàn)樗麄冎?,馬上就該他們工作了。

我們繼續(xù)執(zhí)行操作系統(tǒng)的代碼,給咱們CPU其他所有核都準(zhǔn)備好了數(shù)據(jù)和指令,創(chuàng)建了多個(gè)線程出來,把他們也叫起來一起工作,咱們這個(gè)八核CPU終于全面開動(dòng)起來,一下子熱鬧了不少。

再后來,不知執(zhí)行了多少指令,創(chuàng)建了多少線程,才把操作系統(tǒng)老大完整的運(yùn)行了起來,成功完成了這一次的啟動(dòng)。

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




審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 電源
    +關(guān)注

    關(guān)注

    185

    文章

    18272

    瀏覽量

    254996
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5421

    瀏覽量

    123328
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11033

    瀏覽量

    215997
  • MMU
    MMU
    +關(guān)注

    關(guān)注

    0

    文章

    92

    瀏覽量

    18639
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    解析CPU中的寄存器

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

    移位寄存器的特點(diǎn)_移位寄存器工作原理

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

    CPU寄存器詳解

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

    主存和寄存器的區(qū)別介紹

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

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

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

    寄存器變量

    C語(yǔ)言中使用關(guān)鍵字register來聲明局部變量為寄存器變量。寄存器變量的值會(huì)被存放在CPU寄存器中,每當(dāng)需要使用它們時(shí),CPU就可以直接
    發(fā)表于 06-03 10:13 ?2568次閱讀

    CPU、寄存器和內(nèi)存單元的物理結(jié)構(gòu)

    這個(gè)問題應(yīng)該從cpu、寄存器和內(nèi)存單元的物理結(jié)構(gòu)來看。
    的頭像 發(fā)表于 09-05 11:17 ?4812次閱讀

    寄存器工作原理

    寄存器工作原理 寄存器CPU內(nèi)部用來存放數(shù)據(jù)的一些小型存儲(chǔ)區(qū)域,用來暫時(shí)存放參與運(yùn)算的數(shù)據(jù)和運(yùn)算結(jié)果。其實(shí)寄存器就是一種常用的時(shí)序邏輯電
    發(fā)表于 02-20 14:02 ?9109次閱讀

    cpu寄存器和存儲(chǔ)的區(qū)別

    cpu寄存器和存儲(chǔ)的區(qū)別 寄存器存在于CPU中,速度很快,數(shù)目有限;存儲(chǔ)是內(nèi)存,速度稍慢,但
    發(fā)表于 03-21 15:12 ?1758次閱讀

    計(jì)算機(jī)寄存器和存儲(chǔ)

    存儲(chǔ),CPU都在一個(gè)片內(nèi),所以寄存器是片內(nèi)RAM的一部分。 存儲(chǔ)插在主板上,容量大,速度慢寄存器位于
    發(fā)表于 03-21 15:22 ?2422次閱讀

    怎樣通過改變寄存器中的內(nèi)容實(shí)現(xiàn)對(duì)CPU的控制呢?

    寄存器CPU中程序員可以用指令讀寫的部件,通過改變寄存器中的內(nèi)容實(shí)現(xiàn)對(duì)CPU的控制。
    的頭像 發(fā)表于 09-20 15:49 ?1614次閱讀
    <b class='flag-5'>怎樣</b>通過改變<b class='flag-5'>寄存器</b>中的內(nèi)容實(shí)現(xiàn)對(duì)<b class='flag-5'>CPU</b>的控制呢?

    寄存器工作原理

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

    CPU的6個(gè)主要寄存器

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

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

    在計(jì)算機(jī)系統(tǒng)中,寄存器作為一種特殊的存儲(chǔ)設(shè)備,扮演著至關(guān)重要的角色。它是中央處理CPU)內(nèi)部的重要組成部分,用于暫時(shí)存儲(chǔ)數(shù)據(jù)和指令,以便于CPU進(jìn)行高速的運(yùn)算和控制。本文將對(duì)
    的頭像 發(fā)表于 05-12 17:07 ?7488次閱讀

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

    寄存器是計(jì)算機(jī)中用于存儲(chǔ)數(shù)據(jù)的高速存儲(chǔ)單元,它們是CPU內(nèi)部的重要組成部分。寄存器可以分為基本寄存器和擴(kuò)展寄存器兩種類型。 一、基本
    的頭像 發(fā)表于 07-12 10:31 ?2062次閱讀