计算机组成原理复习大纲

2025-06-19

任课老师:Zhang


第一章 计算机系统概述

  • 冯·诺依曼机的基本工作方式是控制流驱动方式
  • 高级程序语言转换为可执行目标文件的主要流程是 预处理-> 编译->汇编->链接

    计算机性能的主要指标

  • 机器字长: 定点整数运算能力的大小
  • 数据通路带宽: 外部数据总线宽度,可能与cpu内部总线宽度不同
  • 指令字长: 指令集中每条指令的长度
  • 存储字长: 存储器中每一个存储单元的大小
  • 运算速度
    • 吞吐量:单位时间内相应处理的数量
    • 响应时间:系统作出相应的反应所需的时间
    • 主频:cpu时钟频率 单位 个时钟/s
    • CPI: 一条指令所需的时钟周期数 单位 个时钟/个指令
    • MIPS: 1秒可以执行几百万条指令 主频/CPI*10^-6 百万指令/秒
    • FLOPS :每秒浮点运算次数 科学计算 m-6 g-9 t-12 p-15 e-18 z-21
    • CPU运行时间: 指令条数*CPI/主频
    • 指令平均运行时间 :CPI/主频
  • CPU寄存器当中指令寄存器对用户是完全透明的
  • 从用户观点看,综合评价计算机系统性能的综合参数是吞吐率
  • 设计高性能计算机的主要途径是采用并行处理技术

第二章 数据的表示和运算

原码有符号位

定点补码一位除法,乘法,要照着ppt上的例题做一遍

移位运算

  • 逻辑移位: 无符号数左右移。溢出:左移时高位的1移出
  • 算数移位: 左移与逻辑左移相同,右移高位补符号位。溢出: 移位前后符号位发生改变

    模4补码

  • 存储时需要存储1个符号位,运算时需要两个符号位

IEEE 754标准

  • 尾数整数部分的1不存储在数字当中,使用原码表示
  • 阶码范围:
    • 单精度: 1-254
    • 双精度: 1-2046
  • 单精度和双精度的偏置值分别为127和1023,与通常使用的2的幂不同
  • 特殊意义:
    • inf : 符号位0,阶码全1,尾数全0
    • -inf : 符号位1,阶码全1,尾数全0
  • 最大值与最小值
    • 单精度 $\pm 2^{127}(2-2^{-23}) 2^{-126}$
    • 双精度 $\pm 2^{1023}(2-2^{-52}) 2^{-1022}$
  • 非规格化浮点数 阶码为0,尾数为非零数
  • 规格化数是为了提高数据表示精度

    浮点数运算

  • 对阶过程当中,只有阶数增大的过程
  • 基数为$2^n$ 原码就需要小数点后有n-1位的0
  • 舍入:
    • 阶码舍入
    • 右规舍入
    • 舍入不一定产生误差

      第三章 存储系统

      存储器层次结构

  • 主存: 随机访问存储器 RAM
  • 缓存: 高速缓冲存储器 Cache
  • 磁盘: 直接存取存储器 DAM
  • 外存: 非易失性存储器 NVM

    多体交叉存储器

    在一个读取周期内,轮流从不同的存储模块当中读出数据

    存储速度

  • 存取时间: 启动到完成所经历的时间,分为读出时间和写入时间
  • 存取周期: 两次独立访问存储器的最小时间间隔

相联存储器

ram

SRAM 比 DRAM 快,一般用于高速数据缓冲器
对于DRAM ,一次完整的刷新需要占用一个周期,每隔一定时间,需要根据原存内容重新写入一遍 default r=c 分散刷新没有死时间

单体多字存储器

一次并行的读出m个字,每个存储单元存储m个字,总线宽度也为m个字

多体并行存储器

  • 高位交叉编址 顺序编址,按照高位来区分不同的存储体
  • 低位交叉编址 交叉存储,找低位来查找不同的存储体,读取时将每个低位的数字轮流输出拼接成完整的数据,每次读取必须完成一整个周期,体冲突发生于相邻一个周期内的m次访问中出现相同的体时,会出现体冲突,需要延迟(m-1)个间隔才能再访问。如果一个周期内已经出现过另一个体冲突,那么这个体冲突会被上一次体冲突而消弭。

    Cache

  • 标记包括 有效位,脏位,替换位,标记

    杂项

  • 地址复用技术可以让 地址线除以2
  • ROM和RAM可以统一编址
  • u盘属于只读存储器
  • 计算机操作系统存储在RAM和ROM当中
  • Dram 的行缓冲器采用Sram实现,缓存指定行中每一列的数据
  • 时间局部性指的是同一个存储体被重复利用,空间局部性指的是同一时间段内访问的存储体是连续的

    第四章 指令系统

    ISA

    内容包括:

  • 指令格式,指令寻址方式,操作类型,操作对应的操作数
  • 操作数的格式,操作数寻址方式,大端还是小端
  • 程序可访问的寄存器编号,个数和位数,存储空间的大小和编址方式
  • 指令执行过程的控制方式

    寻址方式

    A 是指令当中给出的地址,EA是实际地址

  • 隐含寻址
    第二个操作数由累加器ACC提供
    有利于缩短指令字长,缺点是需要增加存储操作数或者隐含地址的硬件
  • 立即寻址
    第二个操作数直接在指令中给出
    优点是简单,缺点是操作数必须在指令中给出,不利于程序的可移植性
  • 直接寻址
    A=EA
    第二个操作数在存储器中给出,地址由指令中的操作数给出
    优点是操作数可以是变量,缺点是指令字长太长,不利于缩短
  • 间接寻址
    EA=(A) D=(EA)=((A))
  • 寄存器寻址
    EA=R(A)
  • 寄存器间接寻址
    EA=E(R(A))
  • 相对寻址
    EA=(PC)+A
    广泛用于转移指令,基于下一条地址
  • 基址寻址
    EA=(BR)+A
    可以扩大寻址范围,但是A的位数较少
  • 变址寻址
    EA=(IX)+A
    用于数组

杂项

  • 堆栈计算机(零地址操作数)的两个操作数都从栈顶出栈,及栈顶元素和次栈顶元素
  • 单地址指令可以有两个操作数,另一个操作数允许使用隐含寻址
  • 程序控制类指令包括:无条件转移,有条件转移,子程序调用和返回指令,循环指令
  • 寄存器堆栈称为硬堆栈,主存堆栈称为软堆栈
  • RISC 一定采用流水线技术 指令功能简单

    第五章 中央处理器

    控制器

    控制器由程序计数器PC,指令寄存器IR,存储器地址寄存器MAR,存储器数据寄存器MDR,指令姨妈期,时序电路和微操作信号发生器组成

    数据通路的构成

  • 组合逻辑元件(操作元件)
    • 加法器,ALU,译码器,多路选择器,三态门
  • 时序逻辑元件(状态元件)
    • 各类寄存器

      微指令形成方式

  • 由微指令的下地址字段指出(断定方式)
  • 机器指令操作码
  • 增量计数法μPC+1->μPC
  • 根据标志位确定下一条指令的地址
  • 由硬件直接产生

    中断

  • 关中断:禁止中断发生
  • 保存断点和程序状态:保存当前程序状态,包括程序计数器,寄存器,内存,I/O设备等
  • 识别异常和中断并转到相应的处理程序

    流水线

    取值 -> 译码 -> 执行 -> 写回

    杂项

  • 指令寄存器对用户是无法修改的,因此对用户是透明的
  • 指令总计根据程序计数器从主存储器当中读出
  • 间指周期指的是取操作数地址的过程
  • 程序员可见的只有PC寄存器
  • DMA 传输每传送一个数据就要占用一个周期
  • 指令周期是CPU从主存去除一条指令加上执行这条指令的时间
  • CPU区分指令和数据的依据是指令周期的不同阶段
  • 总线允许一个元件发信息,多个原件接受信息
  • 一条微指令控制单元的位数为m,则只接受$2^m-1$个微指令
  • 垂直型指令的特点是采用微操作码
  • 微程序-> 微指令 -> 微命令
  • 控制部件包括 指令寄存器、程序计数器和操作控制器