0%

计组

海明码:https://www.cnblogs.com/godoforange/p/12003676.html
https://www.bilibili.com/video/BV1t4411e7LH?p=38&spm_id_from=pageDriver&vd_source=603b67fa519e58ee792d9e969a3ad8a1

基本名词解释

PC 程序计数器
IR 指令寄存器,存放当前正在执行的指令,
MAR
CU 控制单元,为控制器的核心部件,其功能是产生微操作命令序列。
ALU:Arithmetic Logic Unit,算术逻辑运算单元,为运算器的核心部件,其功能是进行算术、逻辑运算。
ACC:Accumulator,累加器,是运算器中既能存放运算前的操作数,又能存放运算结果的寄存器。
MQ:Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。
MAR:Memory Address Register,存储器地址寄存器,在主存中用来存放欲访问的存储单元的地址。
MDR:Memory Data Register,存储器数据缓冲寄存器,在主存中用来存放从某单元读出、或要写入某存储单元的数据。
I/O:Input/Output equipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送。

MIPS:Million Instruction Per Second,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位。

CPI:执行一条指令所需的时钟周期(机器主频的倒数)。

FLOPS:浮点运算次数每秒。

主存储器

  • 汉明码
  1. 汉明码要添加 检测位要满足 2 ^k >= n + k +1 k位检测位 , n为总位数
  2. 检测位放在 2 ^i 次方处 i = 0 , 1 , ……

进制字母表示

十进制数用D表示,二进制用B表示,十六进制数用H表示,八进制用O表示。

Cache

命中率: 访问成功次数 / 总访问次数
命中率与Cache 的容量和块长有关
访问效率 = 访问Cache 的时间 / 平均访问时间 * 100 %
e 访问效率 , h 命中率, 访问Cache 时间为tc 访问主存时间为tm
则 e = tc / h * tc + ( 1 - h) * t * 100%
访问时间 / 命中的时间 + 未命中的时间

  • 读写操作
    • 写 : 1. 写直达法 : 写时同时写入Cache和主存
      1. 写回法: 只写入Cache 不写入内存,当Cache数据被替换出去的时候才写会主存,会导致Cache和主存的不一致
  • 地址映射
    1. 直接映射 Cache任意一块可以放在
    2. 全相联映射 主存任何一块可以放在Cache任意一块中

DMA

  1. DMA和 CPU交替访问
    CPU工作周期 C1 专供DMA访存,C2专攻CPU访存
  • 功能:
    1. 向CPU申请DMA传送
    2. 处理总线控制权的转交
    3. 管理系统总线,控制数据传输
    4. 确定数据传送的首地址和长度,修正传送过程中的数据和长度
    5. DMA传送结束时,给出操作完成的信号

浮点数: 阶码组成为 阶符 + 数值部分 尾数由数符和数值组成
阶码是用二进制来表示的比如
2 ^15
就是 2 ^1111
即可,所以要用四位二进制来表示

  • 规格化
    基数为
    2 要求尾数最高位为 1 2 ^1
    4 最高2位为1 2 ^2

8 最高3位为 1 2 ^3

左规,数据左移,尾数变大
小数转二进制,直接把分子写成二进制,然后根据分母是2的多少次方,移动小数点就行了

  • IEEE 754标准
    数符 + 阶码(含阶符) 尾数
    尾数使用规格化表示,非 0 的有效位最高位为1

  • 运算
    补码 左移时,后面加0 , 右移时前面加 1
    定点数运算:

  1. 补码加减运算,直接 A + B mod 2 ^n+1
  2. 小数 就mod 2

指令系统

  • 指令格式 : 操作码 + 地址码+寻址方式
    指令字长分为可变和固定字长
    RISC 精简指令系统
    长度可变的指令:操作码分散在指令字的不同字段中
  • 地址码
  1. 四地址 op + A1 + A2 + A3 + A4 分别是第一操作数地址,第二操作数地址,结果地址,下一条指令地址 (A1) OP(A2) –> A3
  2. 三地址 OP A1 A2 A3
  3. 二地址 OP A1 A2 (A1) OP (A2) –> A1 或者 (A1) OP(A2) -> A2
  4. 一地址 OP A1 (ACC) OP (A1) -> A1 ACC暂存
  5. 零地址,对ACC中的数据进行操作
    可以使用寄存器地址来替代指令地址字段,因为寄存器很少,占用的位数少
  • 指令寻址
    顺序 PC + 1 -> PC
    跳跃 由转移指令给出
    数据寻址: 操作码 + 寻址特征+ 形式地址A
    形式地址 是指令字中的地址,有效地址是操作数的真实地址
  1. 立即寻址: 形式地址A就是操作数,OP # A # 为立寻址标志 A 使用补码
  2. 直接寻址,EA = A 有效地址由形式地址给出,无偏移量
  3. 隐含寻址 间接寻址 有效地址由形式地址简介提供,A提供的是EA 的地址,需要去寻址,EA 的地址才是指向真实的数据
  4. 寄存器寻址,EA = Ri 有效地址为寄存器的编号
  5. 寄存器间接寻址: EA = (Ri) 有效地址在寄存器中
  • 基址寻址
    1. 使用专用寄存器作为基址寄存器
      EA = (BR) + A BR 为基址寄存器,也就是 物理地址 = 逻辑地址 + 基址地址

CPU 组成

  • 寄存器
    1. 通用寄存器 : 存放操作数,可作为某中寻址方式的专用寄存器
    2. 数据寄存器:存放操作数,两个寄存器拼接放双倍字长的数据
    3. 地址寄存器: 存放地址
    4. 条件码寄存器: 存放条件码,可作为程序分支的依据,正负,0,溢出等
    5. 控制和状态寄存器:
      • 控制寄存器 PC -> MAR -> M -> MDR -> IR
      • PC用户可见
      • 状态寄存器 存放条件码
      • PSW 存放程序状态字
  • 指令周期 : 取出并执行一条指令所需的全部时间
  • 包括 取指,分析 => 取指周期 执行=>执行周期

流水线

  • 吞吐率: 单位时间内流水线所完成执行或输出结果的数量
  • 最大吞吐率: Tpmax = 1 / Δt Δt为m段流水线各段时间
  • 加速比 :
    • 使用流水线的方式完成n条指令在m段流水线上共需 T = m * t + (n-1) * t
    • 使用等效的非流水线共需: T = nmt
    • 加速比等于 不使用 / 使用