随笔分类 - 程序是怎样跑起来的 / 第一章 对程序员来说CPU是什么?
摘要:CPU把基址寄存器+变址寄存器的值解释为实际查看的内存地址。变址寄存器的值就相当于高级编程语言程序中数组的索引功能。数组是指同样长度的数据在内存中进行连续排 列的数据构造。用一个数组名来表示全体数据,通过索引来区分数组的各个数据(元素)。例如,一10个元素的数组a,其中的各个 数组a数据就用 a[0
阅读全文
摘要:函数”调用处理是通过把程序计数器的值设定成函数的存储地址来实现的。不过,这和条件分支、循环的机制有所不同,因为单纯的跳转指令无法实现函数的调用。函数的调用需要在完成函数内部的处理后,处理流程再返回到函数调用点(函数调用指令的下一个地址)。因此,如果只是跳转到函数的入口地址,处理流程就不知道应该返回至
阅读全文
摘要:程序的流程分为顺序执行、条件分支和循环三种。 顺序执行是按照地址内容的顺序执行指令(每执行一个指令程序计数器的值就自动加1)。 条件分支是指根据条件执行任意地址的指令。 循环是指重复执行同一地址的指令。 若存在条件分支和循环,机器语言的指令就可以将程序计数器的值任意定为任意地址(不是+1)。 条件分
阅读全文
摘要:图1-4是程序起动时内存内容的模型。用户发出启动程序的指示后,Windows等操作系统会把硬盘中保存的程序复制到内存中,然后会将程序计数器(CPU寄存器的一种)设定为指定开始位置的地址,然后程序便开始运行。CPU每执行一个指令,程序计数器的值就会自动加1. 储存指令和数据的内存,是通过地址来划分的。
阅读全文
摘要:1.程序是把寄存器当作对象来描述的。 2.汇编语言采用助记符来编写程序。 3.机器语言是指CPU可以直接解释和执行的语言。 4.汇编语言和机器语言基本上是一一对应的。 通过上面这个代码例子可以看出:机器语言级别的程序是通过寄存器来处理的,也就是说在程序员看来CPU是寄存器的集合体 程序员眼中的CPU
阅读全文
摘要:CPU(中央处理器)相当于计算机的大脑,CPU和内存都是由许多晶体管组成的电子部件,通常称为IC(集成电路)。 CPU的内部是有寄存器,运算器,控制器,时钟组成的. CPU所负责的就是解释和运行最终转换成机器语言的程序内容 程序运行流程图:
阅读全文
浙公网安备 33010602011771号