- 程序是怎樣跑起來的(第3版)
- (日)矢澤久雄
- 747字
- 2023-06-20 18:13:09
1.1 看一看CPU的內部構造
大家編寫的程序在運行時需要經歷圖1-1所示的流程。這張圖是了解程序運行原理所必備的基礎知識。詳細內容筆者接下來會進行講解,這里希望大家先有一個大概的印象。CPU是負責對最終轉換為機器語言的程序內容進行解釋和執行的設備。

圖1-1 程序運行的圖示
CPU和內存本質上都是名為集成電路(Integrated Circuit,IC)的電子部件,由大量晶體管構成。從功能上來說,如圖1-2所示,CPU內部是由寄存器、控制器(control unit)、運算器(arithmetic unit)和時鐘(clock)四個部分組成的,它們之間通過電流信號相互連通。寄存器是用來存放指令、數據這些操作對象的空間。一個CPU內部通常有幾個到幾十個不等的寄存器。控制器負責將內存中的指令和數據讀入寄存器,并根據指令的執行結果對計算機進行控制。運算器負責運算從內存中讀入寄存器的數據。時鐘負責產生控制CPU工作節律的時鐘信號,也有一些計算機將時鐘放在CPU的外部。

圖1-2 構成CPU的四個部分
下面來簡單介紹一下內存。在計算機中我們通常所說的內存指的是主存儲器(main memory),簡稱主存。它通過一些控制電路與CPU相連,用于存儲指令和數據。內存由一些可讀寫的存儲元件構成,每個字節(1字節8比特)都分配了一個被稱為地址的編號。CPU通過地址就可以讀取存放在內存中的指令和數據,也可以將數據寫入內存。關閉計算機電源后,內存中存儲的指令和數據就會消失。
弄清楚CPU的構造之后,大家是不是對程序運行的原理有一點概念了呢?當程序啟動時,CPU中的控制器會根據時鐘信號從內存中讀取指令和數據。通過對指令進行解釋和執行,運算器會對數據進行運算,控制器根據運算結果控制計算機進行指定的操作。“控制”這個詞可能有點讓人難以理解,其實它指的就是除運算之外的操作(主要是數據輸入輸出的時機控制)。內存和磁盤的輸入輸出、鍵盤和鼠標的輸入,以及顯示器和打印機的輸出等操作,都屬于控制。
- Learning Scala Programming
- Node.js+Webpack開發實戰
- ASP.NET Core 5.0開發入門與實戰
- C++面向對象程序設計(微課版)
- PyTorch Artificial Intelligence Fundamentals
- SharePoint Development with the SharePoint Framework
- Elasticsearch for Hadoop
- FPGA Verilog開發實戰指南:基于Intel Cyclone IV(進階篇)
- Java程序員面試筆試寶典(第2版)
- 軟件測試教程
- Spring 5 Design Patterns
- Moodle 3 Administration(Third Edition)
- 現代CPU性能分析與優化
- Neo4j 3.x入門經典
- Tableau Dashboard Cookbook