程序从源代码到运行的完整流程
💡 核心概念:程序运行是一个从高级语言到硬件执行的层层转换过程。
源代码经过编译/解释,变成机器能理解的指令,最终由CPU执行。
准备开始...
点击"开始演示"按钮,观看程序从源代码到执行的完整过程。
CPU指令执行周期(取指-解码-执行)
💡 核心概念:CPU通过不断的"取指-解码-执行"循环来运行程序。
程序计数器(PC)指向下一条要执行的指令,每条指令都要经过这几个阶段。
当前状态
准备中...
PC (程序计数器): 0x0000
指令: -
寄存器状态:
-
指令执行周期:
1. 取指(Fetch): 从内存读取指令到IR(指令寄存器)
2. 解码(Decode): 解析指令,确定操作类型
3. 执行(Execute): 执行指令对应的操作
4. 写回(Writeback): 将结果写回寄存器
5. 更新PC: PC指向下一条指令
内存层次结构与数据流动
💡 核心概念:计算机采用分层存储结构,从最快最小的寄存器到最慢最大的硬盘。
程序运行时,数据在不同层级间移动,CPU优先访问速度快的存储层。
存储层次(从上到下,速度递减,容量递增):
1. 寄存器: CPU内部,最快,容量极小(<1KB)
2. L1缓存: CPU内部,极快,约32-64KB
3. L2缓存: CPU内部,很快,约256KB-1MB
4. L3缓存: 多核共享,快,约4-30MB
5. RAM(内存): 主板上,较快,几GB到几十GB
6. SSD/硬盘: 外部存储,慢,几百GB到几TB
💡 局部性原理:程序倾向于访问最近访问过的数据附近的数据,
所以数据会以"块"为单位在层次间移动(如缓存行64KB)。