<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 基礎入門 >> 半導體技術 >> 正文

      CPU執行程序的原理(簡化過程)

      作者:佚名    文章來源:本站原創    點擊數:    更新時間:2018-10-27

      前言

      看了網上的一些描述CPU執行程序的過程,發現他們涉及到的內容太多了,恨不能把整個CPU的底層結構都拿出來說,這對計算機理論知識匱乏的新人甚至是一些老人都是非常不友好的。這個問題也是當初攔在我面前的一只大老虎,把這個原理寫出來也有助于我自己的深入理解。

      YouTube上的一個視頻How does CPU execute program,是一個很好的CPU執行程序原理的總結,英文水平還行的人建議看原視頻,就不用聽我瞎BB了。雖然沒有字幕,如果能看懂里面的PPT,就基本能理解了。

      以下內容主要是將視頻內容大致解釋一下,是寫給英文水平欠缺一點或者沒辦法看原視頻的人看的。如有錯誤,歡迎指正。

      相關術語

      RAM:指內存,斷電后內容無法保存,因此叫做易失性存儲;另一個相關的概念是ROM,一般指外存,例如硬盤。RAM的速度遠快于ROM,CPU與內存直接進行數據交換。

      CPU:計算機的所有計算操作都由它執行,只要先記住它是一塊有輸入和輸出的集成電路就行了。

      Instruction:指令,是CPU進行操作的基本單元,大致包含操作對象、操作對象的地址、對操作對象進行何種操作。

      RAM相關結構

      程序要想被CPU執行,首先要被編譯成CPU可以執行的指令操作,這里就不詳細介紹,本文就假設程序已經被編譯好了,放在了內存中。內存中存放的數據分為兩類,一類是指令;另一類是數據,不管是指令還是數據都有其對應的地址。

      下圖就是接下來我們將會涉及的內存結構,這是從視頻中直接截取下來的,大家將就著看。

      CPU程序執行過程

      在上圖中,現在已經存放了地址為100、104、108、112的一系列指令;地址為2000、2004、2008的一系列數據。

      CPU相關結構

      這里只放出CPU的執行指令時涉及的基本結構,真實的情況還會復雜很多。

      這里涉及到的結構有Program Counter(程序計數器)、Instruction Register(指令寄存器)、Data Register(數據寄存器)、ALU(算數邏輯單元),可以將計數器、寄存器都可以簡單理解為存放數據的器件。上述程序計數器用來存放指令的地址;指令寄存器用來存放指令(初學者可能會搞混數據和地址的區別,稍加區分就可以分辨);數據寄存器存放參與計算的數據,下圖中的A、B、C都是數據寄存器;ALU就是用于計算的器件。

      cpu程序執行過程

      執行過程

      本文內容為便于理解,僅涉及到CPU和內存間的數據交換。

      在了解了RAM和CPU相關結構之后,接下來就可以正式開始說明執行的過程,其實就是對以上敘述內容的一個組合。

      1. 程序計數器初始內容為100,指向內存中的某一項指令,注意100指的是地址;
      2. 指令寄存器根據程序計算器的指向地址,將內存中地址為100的指令抓取到自身,此時存放LOAD A,2000;
      3. CPU按照指令內容,將內存地址為2000的數據,上載到數據寄存器A中,此時CPU和RAM的狀態如下圖所示;cpu程序的執行過程
      4. 以上3步已完成一個指令的基本操作步驟。接下來程序計數器依次指向104指令地址、108指令地址、112指令地址,分別完成將2004地址的數據賦值給B數據寄存器;ALU將A、B內的數據相乘賦值給C數據寄存器;將C數據寄存器數據寫入內容地址2008中。
      5. 這樣就完成了50×0.1這個簡單程序的計算,最后CPU和RAM所處狀態如下圖所示。
      cpu程序的執行過程
      Tags:cpu,執行程序的原理  
      責任編輯:admin
    4. 上一個文章:
    5. 下一個文章: 沒有了
    6. 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 狠狠色丁香婷婷综合精品视频| 久久婷婷五月国产色综合| 亚洲AV综合色一区二区三区| 国产色婷婷精品综合在线| 久久综合日本熟妇| 色综合色综合色综合色欲| 四月婷婷七月婷婷综合| 激情综合色五月丁香六月亚洲| 久久综合久久综合九色| 国产综合无码一区二区色蜜蜜| 激情五月激情综合网| 久久综合AV免费观看| 久久综合亚洲鲁鲁五月天| 国产综合亚洲专区在线| 亚洲综合精品伊人久久| 国产亚洲综合色就色| 天堂无码久久综合东京热| 色综合色狠狠天天综合色| 亚洲精品第一国产综合精品99| 亚洲私人无码综合久久网| 香蕉蕉亚亚洲aav综合| 国产亚洲综合久久系列| 狠狠色丁香九九婷婷综合五月| 五月天婷亚洲天综合网精品偷| 亚洲狠狠久久综合一区77777| 色综合热无码热国产| 成人综合久久精品色婷婷| 亚洲国产综合人成综合网站00| 色欲色香天天天综合网站| 亚洲综合婷婷久久| 色成年激情久久综合| 亚洲狠狠色丁香婷婷综合| 国产精品天天影视久久综合网| 色综合久久中文色婷婷| 色狠狠成人综合色| 狠狠色综合TV久久久久久| 国产成人亚综合91精品首页| 亚洲欧洲国产综合AV无码久久| 亚洲综合欧美色五月俺也去| 国产成人综合久久精品下载| 女人和拘做受全程看视频日本综合a一区二区视频 |