对程序员来说,CPU是什么?
- 程序是什么?
- 程序是由什么组成的?
- 什么是机器语言?
- 正在运行的程序存储在什么位置?
- 什么是内存地址?
- 计算机的构成元件中,负责程序的解释和运行的是哪个?
- 指示计算机每一步动作的一组指令
- 指令和数据
- CPU可以直接识别并使用的语言
- 内存
- 内存中,用来表示命令和数据存储位置的数值
- CPU
程序员需要理解CPU是如何运行的,特别是要弄清楚负责保存指令和数据的寄存器的机制
CPU的内部结构解析
CPU,由寄存器、控制器、运算器和时钟构成
寄存器,用来暂存指令、数据等处理对象,可看作为内存的一种。一个CPU内部会用20-100个寄存器;
控制器,负责把内存上的指令、数据等读入寄存器,并根据指令的执行结果来控制整个计算机;
运算器,负责运算从内存读入寄存器的数据;
时钟,负责发出CPU开始计时的时钟信号。有些计算机的时钟位于CPU的外部。

内存,main memory
通过控制芯片等与CPU相连,主要负责存储指令和数据。内存由可读写的元素构成,每个字节(1字节=8位)都带有一个地址编号。CPU通过该地址读取内存中的指令和数据,也可写入数据。
程序的运行机制

程序启动后,根据时钟信号,控制器会从内存中读取指令和数据;
通过对这些指令加以解释和运行,运算器就会对数据进行运算;
控制器根据该运算结果来控制(指数据输入输出的时机控制)计算机。
CPU是寄存器的集合体
eax和ebp是CPU内部的寄存器的名称。内存的存储场所通过地址编号来区分,而寄存器的种类则通过名字来区分。
机器语言级别的程序是通过寄存器来处理的。
使用高级语言编写的程序会在编译后转化成机器语言,然后再通过CPU内部的寄存器来处理。

对程序员来说,CPU是什么?
CPU是具有各种功能的寄存器的集合体。其中,程序计数器(决定着程序的流程)、累加寄存器、标志寄存器(负责存放溢出和奇偶校验的结果)、指令寄存器和栈寄存器都只有一个,其他的寄存一般有多个。
函数的调用机制
函数调用处理,通过把程序计数器的值设定成函数的存储地址来实现。
函数的调用需要在完成函数内部的处理后,处理流程再返回到函数调用点(函数调用指令的下一个地址)。
函数的调用原点和被调用函数之间的数据传递,可以通过内存或寄存器来实现。

CPU的处理其实很简单
