当前位置: 代码迷 >> 综合 >> 计算机组成原理知识点总结(第3篇 第7章 指令系统 第8章 CPU的结构和功能)
  详细解决方案

计算机组成原理知识点总结(第3篇 第7章 指令系统 第8章 CPU的结构和功能)

热度:31   发布时间:2023-12-29 16:10:17.0

基于计算机组成原理(第2版)唐朔飞编著

第7章 指令系统

全部机器指令的集合称为机器的指令系统

指令由操作码和地址码两部分组成

操作码的长度可以是固定的,也可以是变化的。通常采用扩展操作码技术,使操作码的长度随地址数的减少而增加,不同地址数的指令可以具有不同长度的操作码,从而在满足需要的前提下,有效的缩短指令字长。
在这里插入图片描述
地址码:
(1)四地址指令
在这里插入图片描述
其中OP为操作码;A1为第一操作数地址;A2为第二操作数地址;A3为结果地址;A4为下一条指令的地址。

(2)三地址指令
在这里插入图片描述
(3)二地址指令
在这里插入图片描述
(4)一地址指令
在这里插入图片描述
(5)零地址指令

指令字长取决于操作码的长度、操作数地址的长度和操作数地址的个数。

机器中常见的操作数类型有地址、数字、字符、逻辑数据等。

通常计算机中的数据存放在存储器或寄存器中,而寄存器的位数便可反映机器字长。一般机器字长取字节的1、2、4、8倍,便于字符处理。

操作类型:

  • 数据传送
  • 算术逻辑操作
  • 移位
  • 转移
  • 输入输出
  • 其它

寻址方式

寻址方式分为指令寻址和数据寻址两大类

指令寻址分为顺序寻址和跳跃寻址

数据寻址:

  1. 立即寻址
    在这里插入图片描述

  2. 直接寻址
    EA=A
    在这里插入图片描述

  3. 隐含寻址
    在这里插入图片描述

  4. 间接寻址
    EA=(A)
    在这里插入图片描述

  5. 寄存器寻址
    EA=Ri
    在这里插入图片描述
    其操作数在由Ri所指的寄存器内。由于操作数不在主存中,故寄存器寻址在指令执行阶段无须访存,减少了执行时间。由于地址字段只需指明寄存器编号(计算机中寄存器数有限),故指令字较短,节省了存储空间。因此在计算机中得到广泛应用。

  6. 寄存器间接寻址
    EA=(Ri)
    在这里插入图片描述

  7. 基址寻址
    EA=A+(BR)
    在这里插入图片描述

  8. 变址寻址
    EA=A+(IX)
    在这里插入图片描述

  9. 相对寻址
    EA=(PC)+A
    在这里插入图片描述

  10. 堆栈寻址
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

RISC 精简指令集计算机
CISC 复杂指令集计算机

第8章 CPU的结构和功能

CPU实质包括运算器和控制器两大部分

控制器的基本功能为:取指令、分析指令、执行指令

CPU必须具有控制程序的顺序执行(指令控制),产生完成每条指令所需的控制命令(操作控制),对各种操作加以时间上的控制(时间控制),对数据进行算术运算和逻辑运算(数据加工)以及处理中断等功能。

CPU中寄存器大之可分两类,一类属于用户可见寄存器,用户可对这类寄存器编程,以及通过优化使CPU因使用这类寄存器而减少对主存的访问次数;另一类属于控制和状态寄存器,用户不可对这类寄存器编程。

  • 用户可见的寄存器:
    (1)通用寄存器
    (2)数据寄存器
    (3)地址寄存器
    (4)条件码寄存器
  • 控制和状态寄存器
    ①MAR:存储器地址寄存器
    ②MDR:存储器数据寄存器
    ③PC:程序计数器,存放现行指令的地址
    ④IR:指令寄存器,存放当前欲执行的指令

控制单元CU是提供完成计算机全部指令操作的微操作命令序列部件。

CPU每取出并执行一条指令所需的全部时间称为指令周期。
在这里插入图片描述
五级流水线:取指(IF)、译码(ID)、执行(EX)、访存(MEM)、写回(WB)

相关:

  • 结构相关
    指令在重叠执行的过程中,不同指令争用同一功能部件产生资源冲突
  • 数据相关
    流水线中的各条指令因重叠操作,可能改变对操作数的读写的访问顺序
    数据相关冲突可分为写后读相关、读后写相关和写后写相关
  • 控制相关
    控制相关主要由转移指令引起。

流水线
性能通常用吞吐率、加速比和效率3项指标来衡量。

  • 吞吐率
    最大吞吐率:Tpmax=1△tT_pmax=\frac{1}{△t}Tp?max=t1?
    实际吞吐率:Tp=Tpmax1+(m?1)/nT_p=\frac{T_pmax}{1+(m-1)/n}Tp?=1+(m?1)/nTp?max?
    仅当n>>m时,才会有TpT_pTp?TpmaxT_pmaxTp?max
  • 加速比
    Sp=m1+(m?1)/nS_p=\frac{m}{1+(m-1)/n}Sp?=1+(m?1)/nm?
    当流水线各段时间相等时,其最大加速比等于流水线的段数
  • 效率
    E=Spm=Tp△tE=\frac{S_p}{m}=T_p△tE=mSp??=Tp?t
    在这里插入图片描述
中断

引起中断的各种因素:

  1. 人为设置的中断
  2. 程序性事故
  3. 硬件故障
  4. I/O设备
  5. 外部事件

中断服务程序入口地址的寻找:硬件向量法和软件查询法

中断隐指令:
CPU响应中断后即进入中断周期。在中断周期内,CPU要自动完成一系列操作:
(1)保护程序断点
(2)寻找中断服务程序的入口地址
(3)关中断
上述操作都是在中断周期内由一条中断隐指令完成的。所谓中断隐指令,即在机器指令系统中没有的指令,它是CPU在中断周期内由硬件自动完成的一条指令。