C内存2:程序是如何运行的

由内存1的讲解我们知道,内存仅仅是一个存放指令和数据的地方,要完成计算功能需要将其读取到CPU内部。

然而CPU内部又包含很多个小零件,它是一个复杂的计算机部件。

上图中的运算单元相当于CPU的大脑功能,负责各种运算工作,而且每种运算工作都有对应的电路支持,速度很快。

寄存器(Register)是CPU内部一个非常小非常快速的存储部件,但是它的容量是有限的。我们经常说到的多少位的CPU其实指的就是寄存器的位数,对于32位的CPU,每个寄存器一般能存储32位(4个字节,一个字节是8位)的数据,对于64位的CPU每个寄存器一般能存储64位(8个字节)的数据。为了实现程序中复杂的功能,现在的CPU都内置了几十个甚至上百个寄存器,(嵌入式的功能单一,寄存器数量较少)。

寄存器在程序的执行过程中至关重要,不可或缺,它们可以用来完成数学运算、控制循环次数、控制程序的执行流程、标记CPU运行状态等,CPU就是用它来记录程序的运行状态,然后根据他的值再决定下一步的操作。例如,EIP(Extern Instruction Pointer )寄存器的值是下一条指令的地址,CPU执行完当前指令后,会根据 EIP 的值找到下一条指令,改变 EIP 的值,就会改变程序的执行流程;CR3 寄存器保存着当前进程页目录的物理地址ÿ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Upupup6

写手不易请留下你的打赏鼓励谢谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值