计算机的组成部分: 冯诺伊曼体系结构 , 包括 CPU(寄存器、控制单元、算术逻辑单元)、内存、IO设备
说说一些有助于理解的东西:
地址总线: 每增加一条, 速度就会翻倍。
如果只有 1 根, 就是有2种情况:0、1, 只能操作这 2 个内存地址。
如果有 10 根, 就是 2^10 种情况, 能操作 1024 个内存地址。
如果有 32 根, 就是 2^32 种情况, 能操作 4G 的内存地址。
CPU 位宽:
理论上, 1 位的 CPU ,可以操作无限的内存地址,
只是操作的时候很麻烦,比如 1 位CPU 操作 40 根地址总线 , 要分为 40 个步骤来操作,每次操作一根地址总线。
所以,CPU的位宽 和 地址总线的根数,没有本质的联系。 历史上还有32位CPU 操作 40根地址总线的情况。
程序的执行过程: 结合 上面那张图一起看。
- CPU 读取指令
- CPU 分析指令寄存器中的指令,确定指定的类型和参数。
- 运算: 计算类型指令 -> 算术逻辑运算单元; 存储类型指令 -> 控制单元。
- PC 指针自增, 获取下一条指令。
从 PC 指针的 读指令、 运行、 下一条指令,这个不断循环的过程,就是 CPU 的指令周期。
比如 a = 1 + 2 这个过程, 这是字符串, CPU 不能执行字符串, 只能执行 指令。
所以要用 编译器 , 把 我们写的高级语言, 转换成 CPU 认识的指令。
某种指令的组成结构: 左边6位 操作码 + 中间3位 寄存器编号 + 后面 22 位 要读取的地址。
CPU 是用 石英晶体产生的脉冲 转化为 时钟信号 来驱动的,每次 高低电平 的转换的就是一个 时钟周期。
CPU 的主频, 说的就是 时钟信号的频率。 一条指令,通常需要 2、4、6个时钟周期。