这一些列文章的主要目的:理解程序如何执行,打好基础,很多东西是我们原来在学校中学过的内容,知道的就当复习加深影响,不知道的就当新的知识,总之,我们的目的达到就行。
cpu的主要组成是四部分:控制器,运算器,寄存器,时钟
对于程序员来说,我们只要了解寄存器即可,我们可以把cpu直接理解成各种寄存器的集合,程序的执行过程就是高级语言转换成机器语言,然后再通过cpu内部的寄存器来进行处理。
这里说明几种主要寄存器和功能:
- 累加寄存器:存储运算数据及运算后数据
- 标志寄存器:存储运算处理后的cpu的状态
- 程序计数器:存储下一条指令的所在内存的地址
- 指令寄存器:存储指令,cpu内部使用
- 栈寄存器:存储栈区域的起始地址
说完寄存器主要功能,我们来继续说函数的调用机制:
简单来说,程序计数器从起始位置开始一条一条的执行命令,当遇到函数调用时,使用call指令跳到函数入口地址,然后在继续执行,当执行完毕之后,再通过return指令调用栈寄存器中保存的下一条指令的地址来执行结束函数之后的下一条地址。
其实cpu的处理很简单,就是这几个步骤,当高级语言转换成机器语言后,就没有多少复杂的功能,这里再来说一下机器语言指令的几个主要类型和功能:
- 数据传输指令:寄存器和内存,和外围设备,内存和内存之间的读写操作
- 运算指令:用累加寄存器执行算术运算
- 跳转指令:实现条件分支,循环等
- call和return指令:函数的调用、返回调用前的地址
好了,第一章就这么多内容,理解一下感觉就是梳理了程序执行的流程。