從程式的執行看硬碟 記憶體 CPU的關係

2021-07-27 11:57:24 字數 943 閱讀 2274

首先先看乙個程式執行大概的過程。

我們所看到的**是人可以閱讀的高階語言**,但是計算機無法識別。 當乙個程式被載入並執行執行的時候,檔案就會被編譯成計算機可讀取的二進位制檔案。

這時記憶體會去讀取硬碟上的資料和指令並儲存在記憶體中。

由於cpu無法直接讀取硬碟上的資料,大部分cpu的時間用於等待磁碟去讀取資料。

程式啟動後,cpu中的控制器會從記憶體中讀取資料和指令並進行解析,根據指令中的操作碼確定計算機將進行什麼樣的操作。執行器根據控制器發出的控制訊號對資料進行運算。最後通過控制器根據執行結果來控制計算機。運算器只會進行運算,而控制器操控著整個cpu的工作。

最後控制器操作將結果顯示在裝置上。

接下來介紹各個部分:

cpu是計算機的中樞,主要的作用是解釋和執行最終轉化成機器語言的程式內容。cpu主要由運算器和控制器兩大核心組成。

運算器: 對讀取的資料進行計算。

算術邏輯運算單元alu 主要作用是對二進位制的資料進行算數、邏輯還有位運算。通常我們常說的cpu多少位指的就是alu所能處理的位數。

浮點運算單元fpu 主要負責浮點和高位運算。

控制器: 從記憶體中讀取指令, 執行指令,控制著整個計算機的運作。

記憶體是與cpu溝通的橋梁,主要作用用於暫時存放cpu運算的資料以及和硬碟互動的資料,相當於是乙個資料中轉站。

程式的運算和執行都發生在記憶體中,執行結束後cpu將執行結果傳送出來。

硬碟是計算機中主要的儲存資料的部件。

指令是計算機工作的指示和命令。指令是一條由二進位制數碼表示的一條資料, 一般包括操作碼和運算元,操作碼表示要完成的操作,運算元指參加運算的資料以及它所在的位址。

程序 程式從編譯到執行 cpu對記憶體的操作

有問題請一定支援,歡迎討論 今天對幾個概念進行了統一,程序,程式從編譯到執行,指令執行,cpu對記憶體相關操作 大概流程 更多細節 待補充 首先明確幾個概念 程序 程式動態執行的過程 多層次儲存器結構 指令 cpu 程式從編譯到執行主要經過三個階段 編譯 鏈結裝入 不同文章書籍有不同劃分,大致就這幾...

CPU 記憶體與硬碟的關係

關於cpu 記憶體與硬碟 三者之間的關係與功能 先來看一下這三者的功能 cpu就是 處理器 英文名稱叫做 central processing unit 是一塊超大規模的積體電路,是一台計算機的運算核心和控制核心。它的功能主要是解釋計算機指令以及處理計算機軟體中的資料。cpu主要包括運算器 算術邏輯...

從JVM併發看CPU記憶體指令重排序

這兩天,我拜讀了 dennis byrne 寫的一片博文memory barriers and jvm concurrency 中譯文記憶體屏障與jvm併發 文中提到 對主存的一次訪問一般花費硬體的數百次時鐘週期。處理器通過快取 caching 能夠從數量級上降低記憶體延遲的成本這些快取為了效能重新...