程式是如何被計算機所執行的?

2021-07-22 04:59:07 字數 1730 閱讀 5596

一、電腦程式

要明白程式是如何被計算機所執行的,首先要明白什麼是程式?先看看一下幾個問題:

二、程式的執行過程

當我們輸入以下程式,編譯執行,計算機從螢幕輸出hello, world!。整個過程計算機都怎麼運作的呢?

#include 

void main()

計算機內部儲存的是0和1,計算機通過位資訊以及上下文來解讀這些0、1資訊的。

hellow,world是由0和1組成的序列,將這些程式**轉換成相應的文字字元,每8位表示乙個位元組,用來儲存乙個字元。

hellow,world的ascii碼表示

因為我們輸入的hellow,world是人可以閱讀和編寫的,但是機器並不能直接識別他們,我們需要把這些文字翻譯成機器可執行的二進位制檔案,這一部分的工作是由編譯系統完成的。編譯系統由預處理器、編譯器、彙編器、聯結器四部分組成。以hello, world程式為例,各部分共同完成將原始檔編譯成二進位制可執行檔案。各個部分完成的具體工作如下:

三、cpu的組成

cpu是由四大部分所構成的:暫存器、控制器、運算器、時鐘。

控制器

運算器

時鐘

cpu中的主要暫存器

累加暫存器(ac) :主要進行加法運算。

標誌暫存器(psw) :記錄狀態,做邏輯運算。

程式計數器(pc) :是用於存放下一條指令所在單元的位址的地方。

基質暫存器(bx) :儲存當前資料記憶體開始的位置。

變址暫存器 :儲存基質暫存器的相對位置。

通用暫存器(gprs) :支援有所的用法。

指令暫存器(ir) :cpu專用,儲存指令。

堆疊暫存器(sp) :記錄堆疊的起始位置。

暫存器暫存器是**處理器內主要組成結構成分,它是cpu當中有限存貯容量的高速存貯部件,它在工作時能將計算機指令資料進行暫時的儲存。

記憶體位址=基質+變址

處理器讀取並解釋儲存在儲存器中的指令

處理器的操作主要是圍繞程式計數器、算術/邏輯運算單元、主存來進行運作的。處理器首先從pc所指向的主存儲存單元讀取指令,解釋指令中的位,執行該指令指示的簡單操作,然後更新pc暫存器,使其指向下一條要執行的指令。cpu會執行的操作有:

hellow,world程式首先被載入,從磁碟中複製到暫存器中,暫存器將hwllow,world程式複製到主存中進行儲存。程式執行過程中,cpu執行hellow,world機器指令,指令的結果是將」hellow,world」字元由記憶體複製到暫存器,暫存器再將結果複製到顯示裝置上顯示出來。

計算機是怎樣執行的?

微機的工作過程就是不斷地從記憶體中取出指令並執行指令的過程!當開始執行程式時,首先應把第一條指令所在儲存單元的位址賦予程式計數器pc,然後機器就進入了取指階段。在取指階段,cpu從記憶體中讀取的內容必為指令。然後送往資料緩衝暫存器dr,經dr送往指令暫存器ir。之後由指令解碼器id對ir中的指令的操...

計算機是如何啟動的

感謝作者!從開啟電源到開始操作,計算機的啟動是乙個非常複雜的過程。我一直搞不清楚,這個過程到底是怎麼回事,只看見螢幕快速滾動各種提示.這幾天,我查了一些資料,試圖搞懂它。下面就是我整理的筆記。零 boot的含義 先問乙個問題,啟動 用英語怎麼說?回答是boot。可是,boot原來的意思是靴子,啟動 ...

計算機是如何啟動的?

從開啟電源到開始操作,計算機的啟動是乙個非常複雜的過程。我一直搞不清楚,這個過程到底是怎麼回事,只看見螢幕快速滾動各種提示.這幾天,我查了一些資料,試圖搞懂它。下面就是我整理的筆記。零 boot的含義 先問乙個問題,啟動 用英語怎麼說?回答是boot。可是,boot原來的意思是靴子,啟動 與靴子有什...