目录
1 系统的硬件组成概览
1.1 总线
- 总线是负责在各个部件之间传递信息的,信息的单位是字节。根据部件类别,可以把总线细分为I/O总线、内存总线,系统总线等。
- 例如CPU执行MOV指令,从内存传输1个字节的数据到寄存器,数据通过总线进行传递。
1.2 I/O设备
- I/O(输入/输出)设备是系统与系统外的联系通道。例如鼠标、键盘、显示器、磁盘。
- 控制器/适配器是I/O设备和I/O总线联系的通道
- 控制器是指I/O设备本身,或者主板上的芯片组; 适配器是指插在主板卡槽的卡
- (关于控制器和适配器,在后续章节会详细介绍)
1.3 主存
- 主存是一个临时存储设备,在处理器执行程序时,用来存放程序和程序处理的数据。
- 物理上,主存就是一组动态随机存储器(DRAM)芯片;逻辑上,主存是一个线性的字节数组,每个字节都有一个唯一的地址(数组索引),这些地址都是从零开始的。
- 磁盘的存储的数据可持久化,主存数据随系统关闭而丢失。
1.4 处理器
处理器:是执行存储在主存中指令的引擎。处理器全称叫中央处理单元(CPU)
程序计数器(PC):处理器通过程序计数器定位指令的地址并执行。在系统启动到关闭期间,处理器不断地执行程序计数器指向的指令,再更新程序计数器,使其指向下一条指令。
寄存器文件:它是CPU内部小的存储设备,由一些单个字长的寄存器组成。
CPU执行指令操作:
- 加载:从主存复制一个字节到寄存器,以覆盖寄存器的原来的内容
- 存储:从寄存器复制一个字节到主存的某个位置,以覆盖该位置上原来的内容
- 计算:把两个寄存器的内容复制到ALU(算术/逻辑运算单元),ALU对这两个字做算术运算,并将结果存在在另外一个寄存器中,以覆盖该寄存器原来的内容。
- 跳转:从指令本身抽取出一个字,并将这个字复制到程序计数器(PC),以覆盖PC中原来的值。
处理器的结构区分:
- 指令集架构:描述每条机器代码指令的效果
- 微体系架构:描述处理器实际上如何实现。