<程序是怎样跑起来的>读书笔记

cpu、寄存器相关概念

CPU

什么是程序,程序由什么组成?

程序是指示计算机每一步动作的一组指令,由指令和数据组成。

cpu主要由寄存器(暂存指令和数据)、控制器(将内存上的指令、数据读入寄存器)、运算器(运算寄存器上的数据)、时钟(负责cpu的计时)。

程序启动后,根据时钟信号,控制器会从内存中读取指令和数据,暂存到寄存器中。通过对这些指令加以解释和运行,运算器会对数据进行运算,控制器根据该运算结果来控制计算器。(所谓的控制就是指数据运算以外的处理,主要是数据输入输出的时机控制,比如内存、磁盘、键盘、鼠标等等)

编译是指将高级编程语言编写的程序转换为机器语言的过程,其中用于转换的程序被称为编译器。

寄存器

种类 功能
累加寄存器(accumulator register) 存储执行运算的数据和运算后的数据
标志寄存器(flag reigster) 存储运算处理后的cpu的状态
程序计数器(program counter) 存储下一条指令所在的内存的地址
基址寄存器(base register) 存储数据内存的起始地址
变址寄存器(index register) 存储基址寄存器的相对地址
通用寄存器(general purpose register) 存储任意数据
指令寄存器(instruction register) 存储指令。cpu内存使用,程序员无法通过程序对该寄存器进行读写操作
栈寄存器(stack register) 存储栈区域的起始地址