日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

程序是怎样跑起来的:第一章-对程序员来说CPU是什么

發布時間:2025/3/15 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 程序是怎样跑起来的:第一章-对程序员来说CPU是什么 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一:CPU的內部結構解析
    • (1)CPU的作用
    • (2)CPU的構成
    • (3)簡單了解內存
    • (4)程序運行的簡單描述
  • 二:CPU是寄存器的集合體
    • (1)CPU是寄存器的集合體
    • (2)寄存器的分類
    • (3)程序員眼中的CPU

CPU是英文Central Processing Unit(中央處理器)的縮寫,也就是計算機的大腦,其內部由數以萬計的晶體管構成。這些都是大家耳熟能詳的,除此之外,程序員還需要理解CPU如何運行,特別是要弄清楚負責保存指令和數據的寄存器的機制。了解了寄存器,也就自然而然理解了程序運行機制。

一:CPU的內部結構解析

(1)CPU的作用

下面這一張圖是程序運行的流程,假設你用C語言編寫了一段程序

其中CPU所負責的就是解釋和運行最終轉換為機器語言的程序內容
CPU和內存是由許多晶體管組成的電子部件,通常稱為IC(Integrated Circuit集成電路)

(2)CPU的構成

CPU的四個構成部分如下

他們各自功能如下

(3)簡單了解內存

我們說的內存通常指的是計算機的主存儲器,也稱為主存。它通過控制芯片等與CPU相連,主要負責存儲指令和數據,主存由可讀寫的元素構成,每個字節(1個字節等于8個二進制位)都帶有一個地址編號,CPU可以通過改地址讀取內存中的指令和數據,當然也可以寫入數據。內存具有斷電易失性

(4)程序運行的簡單描述

啟動程序后,根據時鐘信號,控制器從內存中讀取指令和數據,通過對這些指令加以解釋和運行,運算器對數據進行運算,控制器根據運算結果控制計算機

二:CPU是寄存器的集合體

首先明確一點,CPU的四個部分中,我們只需重點關注寄存器即可
為什么寄存器這么重要呢,因為程序是把寄存器作為對象來描述的

(1)CPU是寄存器的集合體

首先請看下面用匯編語言編寫的一段程序

匯編語言采用助記符來編寫程序,助記符通常為一些具有某種指令功能的英語單詞的縮寫,比如數據的存儲(move)和相加(addition)。匯編語言和機器語言基本是對應的,這也是我們用匯編來說明CPU運行的原因,通常我們將匯編語言編寫的程序轉化為機器語言的過程稱為匯編,而相反過程則稱之為反匯編

從上述代碼中可以看出,機器語言級別的程序是通過寄存器處理的,也就是其直接操控寄存器,這也是為什么說“CPU是寄存器的集合體的原因”

eax和ebp都是寄存器的名稱,正如內存的存儲場所使用地址編號區分,寄存器的種類則是通過名字區分

上面的描述可能對于新手來說有點晦澀難懂,但不要擔心,你不需要了解的很深入。只需要明白,使用高級語言編寫的程序會在編譯后轉化為機器語言,然后再通過CPU內部的寄存器來處理

(2)寄存器的分類

不同類型的CPU,其內部寄存器的數量,種類以及寄存器的存儲的數值范圍都是不同的。根據功能,寄存器大致可以劃分為八類

  • 上述代碼中的eax和ebp分別就是累加寄存器和基址寄存器

(3)程序員眼中的CPU

程序員眼中的CPU是寄存器的集合體
程序計數器,累加寄存器,標志寄存器,指令寄存器和棧寄存器都只有一個;基址寄存器,變址寄存器和通用寄存器都不止一個

新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!

總結

以上是生活随笔為你收集整理的程序是怎样跑起来的:第一章-对程序员来说CPU是什么的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。