来了!来了!它带着知识走来了——计算机组成原理(四)
文章目录
一、计算机的指令系统
1.1机器指令的形式
- 机器指令主要由两部分组成:地址码、操作码。
- 操作码指明指令所要完成的动作
- 操作码的位数反映了机器操作的种类
- 地址码直接给出操作数或操作数的地址
- 地址码分为三地址指令、二地址指令、一地址指令
1.1.1零地址指令
- 在机器指令中无地址码
- 空操作、停机操作、中断返回操作等
1.2 机器指令的操作类型
1.2.1 数据传输
- 寄存器之间、寄存器与存储单元之间、存储单元之间传送
- 数据读写、交换地址数据、清零置一等操作
1.2.2 算数逻辑操作
- 操作数之间的加减乘除运算
- 操作数之间的与或非逻辑运算
1.2.3 移位操作
- 左移相当于乘以2,右移相当于除以2
- 完成数据在算数逻辑中的操作
1.2.4 控制指令
- 等待指令、空操作指令、停机指令、中断指令
1.3 机器指令的寻址操作
1.3.1指令寻址
- 顺序寻址
- 跳跃寻址
1.3.2 数据寻址
-
立即寻址
- 指令直接获得操作数
- 无需访问存储器
-
直接寻址
- 直接给出操作数在主存中的地址
- 寻找操作数简单,无需计算数据地址
-
间接寻址
- 指令地址码给出的是操作数地址的地址
- 需要访问一次或多次主存来获取操作数
二、计算机的控制器
- 控制器是协调和控制计算机运行的
2.1 程序计数器
- 用来存储下一条指令的地址
- 循环从计数器中拿出指令
- 当指令被拿出时,指向下一条数据
2.2 时序发生器
- 电气工程领域,用来发送时序脉冲
- CPU依据不同的时序脉冲有节奏的进行工作
2.3 指令译码器
- 是控制器的主要部件之一
- 计算机指令由操作码和地址码组成
- 翻译操作码对应的操作以及控制传输地址码的数据
2.4 指令寄存器
- 控制器的主要部件之一
- 从主存或告诉缓存取计算机的指令
2.5 主存地址寄存器
- 保存当前CPU正要访问的内存单元的地址
2.6 主存数据寄存器
- 保存当前CPU正要读或写的主存数据
2.7 通用寄存器
- 用于暂时存放或传送数据或指令
- 可保存ALU的运算的中间结果
- 容量一般比专用寄存器要大
三、计算机的运算器
- 运算器是计算机用来进行数据运算加工的
3.1 数据缓冲器
- 分为输入缓冲和输出缓冲
- 输入缓冲暂时存放外设输入过来的数据
- 输出缓冲暂时存放输出到外设的数据
3.2 ALU
- 算数逻辑单元,是运算器的主要组成部分
- 常见的位运算
- 算术运算
3.3 状态字寄存器
- 存放运算状态(条件码、进位、溢出、条件正负等)
- 存放运算控制信息(调试跟踪标记定位、中断定位等)
四、计算机指令执行的过程
4.1 指令执行过程
4.2 CPU的流水线设计
- 类似工厂的装配线
- 工厂的装配线可以使多个产品同时被加工
- 在同一时刻,不同产品均位于不同的加工时刻