2021秋计组理论复习

sdjasj

CPI(Clock cycle Per Instruction)表示每条计算机指令执行所需的时钟周期

Cache

主存地址结构:TIO

CPU发出的主存地址 Tag(剩余位数) Index(位数由cache块数决定) Offset(位数由块大小决定)

直接映射cache的容量

❑ 一个cache块不仅包含数据,还包含tag、valid等

❑ 数据位:8× $2^O$ 位

❑ Tag位:主存地址位数–Index位数–Offset位数
❑ Valid位:1位,指示cache块是否包含有效数据
❑ Cache总容量 = cache块数×(数据位 + Tag位数 + Valid位数)
= $2^{Index}$ ×(8×$2^{Offset}$ +Tag+1)位

Cache效率参数:最大化命中,最小化缺失

◆ 命中率(Hit Rate,HR)

对于一段程序,命中次数占总存储访问次数的比例

◆ 缺失率(Miss Rate,MR)

对于一段程序,缺失次数占总存储访问次数的比例

❑ HR与MR恒满足𝐻𝑅 + 𝑀𝑅 =1

Cache延迟参数

◆ 命中时间(Hit time,HT)

访问cache的时间(包含了tag比较时间)

◆ 缺失代价(Miss penalty,MP)

从下一层存储器读入一个cache块的时间

Cache命中—写命中(D$)

◆ 1)写通(Write-Through):总是同时写cache与主存

⚫ cache与主存总是一致的

⚫ 慢!写的性能就是主存的性能

⚫ 改善措施:可以与cache平行部署一个Write Buffer

2)写回(Write-Back):只写cache,当cache块需要被替换时再更新主存

⚫ 这意味着cache与主存之间是可以不一致的

⚫ 命中在同一cache块的多个写被收集起来了,提高了写的效率

⚫ Dirty位:每个cache块需要增加一个dirty为,用于记录是否被写入过,即在替换时需要写回到主存

写缺失(D$)

◆ 写分配(write allocate): 流水线暂停;

从主存读入block;

写入cache;

执行写命中

⚫ 无论写通还是写回,写分配均有效

⚫ 可以确保在写缺失后,cache有最新数据

◆ 非写分配(No-write allocate):不写cache而直接写主存

⚫ cache不包含最新数据

⚫ 但主存包含最新数据

Cache的AMAT

平均存储器访问时间(Average Memory Access Time,AMAT):综合考虑命中和缺失后的存储器访问的平均延迟

平均存储器访问时间 = 命中时间 + 缺失率×缺失代价 (缩写:AMAT = HT + MR × MP)

Cache对CPI的影响

❑ CPU性能

𝐶𝑃𝑈时间 = 指令数 × CPI × 时钟周期时间

❑ 考虑存储器访问延迟的CPI

𝐶𝑃𝐼stall = 𝐶𝑃𝐼base+ 平均存储延迟周期

❑ 存储延迟周期

存储延迟周期 = $\frac{访存次数}{指令}$ × 𝑀𝑅 × 𝑀P

多级cache的AMAT(平均存储器访问时间 )

❑ AMAT = L1 HT + L1 MR × L1 MP

◆ 现在L1 MP依赖于L2的性能

❑ L1 MP = L2 HT + L2 MR × L2 MP

◆ 如果有更多层次,则继续迭代

MPi = HTi+1 + MRi+1 × MPi+1

◆ 最后一层就是主存的访问时间

❑ 对于2级cache

AMAT = L1 HT + L1 MR × (L2 HT + L2 MR × L2 MP)

局部缺失率 vs. 全局缺失率

❑ 局部缺失率(Local miss rate):对于某层cache的访问而产生的

缺失比例

◆ 例如:L2$局部缺失率 = L2$缺失次数/L1$缺失次数

❑ 全局缺失率(Global miss rate):对于所有各级cache的访问而产生的缺失比例

◆ 这事实上是整个存储层次的总体性能参数

❑ 对于N级cache来说,全局缺失率有两种计算方法:

◆ 方法1: 全局缺失率 = $\prod{Li}$ 局部缺失率

◆ 方法2:全局缺失率 = Ln缺失次数/L1访问次数

❑ 根据定义可知,全局MR ≤ 任意的局部MR

更全面的性能计算公式

❑ 对于2级cache,我们知道:

MRglobal = L1 MR × L2 MR

❑ AMAT:

AMAT = L1 HT + L1 MR × (L2 HT + L2 MR × L2 MP)

AMAT = L1 HT + L1 MR × L2 HT + MRglobal × L2 MP

❑ CPI:

𝐶𝑃𝐼stall = 𝐶𝑃𝐼𝑏𝑎𝑠𝑒 + 访存 指令/次数 × 𝐿1𝑀𝑅 × (𝐿2 HT + 𝐿2 𝑀𝑅 × 𝐿2 𝑀𝑃)

𝐶𝑃𝐼stall = 𝐶𝑃𝐼𝑏𝑎𝑠𝑒 + 访存次数/指令 × (𝐿1𝑀𝑅 × 𝐿2 HT + 𝑀𝑅𝐺lobal × 𝐿2 𝑀𝑃)

页表项(page table entry)
虚页号(virtural page number,VPN)
物理页号(physical page number,PPN)
页表(page table,PT)

虚存系统的重要概念:页表项扩展

❑ 由于引入了硬盘,因此一个虚页面可能存储在磁盘上,也可能已经装载到主存(某个物理页面)

❑ 因此,PTE不仅需要记录PPN,也需要记录相应的磁盘地址

◆ 这里用DPx代表存储在硬盘上的页面x的磁盘地址

页表在主存中的起始地址保存在 页表基地址寄存器

VA地址分割为 虚页号(virtural page number,VPN),页内偏移(page offset)

PA地址分割为 物理页号(physical page number,PPN),页内偏移(page offset)

VA利用虚页号寻址页表

存放系统程序或者各类常数使用ROM芯片,存放用户程序选用RAM芯片

存储容量 = 末地址+1-首地址

部分译码即只用高位地址的一部分参与译码,而另一部分高位地址与译码电路无关,因此出现一个存储单元对应多个地址的现象,这种现象称为地址重叠(如00111和01111,前两位不参与译码,导致一个存储单元对应多个地址)

所有DRAM芯片同时刷新,由刷新计数器自动计数,按行刷新(只需行地址),对CPU透明。(所有芯片一起刷新,只和单个芯片多少行有关)

读/写行地址和刷新行地址被送到一个多路选择器,由内部控制电路选择哪个地址被送到行译码器

刷新就是读。按行刷新,每次刷新1行

刷新地址计数器位数 = 行地址位数

刷新间隔 = 刷新周期

DRAM芯片封装的特殊:行列地址管脚复用,因此行列地址线为存储单元log2的一半

JK触发器的通用特性方程:1

MIPS

形式地址与有效地址

Ø 形式地址:指令中直接给出的地址编码

Ø 有效地址:根据形式地址和寻址方式计算出来的操作数在内存单元

中的地址

Ø 寻址方式:根据形式地址计算到操作数的有效地址的方式(算法)

寻址方式:立即寻址(addi)、寄存器寻址(add)、基址寻址(lw)、PC相对寻址(beq)、伪直接寻址(j)

流水线

流水线加速比

2

  • 潜在加速比 = 流水线级数 (假设单周期数据通路切分为P段,且各段延迟均相等,则流水线性能是单周期的P倍! )

  • 流水段执行时间不平衡,则加速比下降

  • 填充流水线和排放流水线,导致加速比下降

  • 流水线不改善单条指令执行周期数

  • 流水线改善的是吞吐率

  • 理论上,当流水线充满后,每个时钟周期可以执行完一条指令

  • 流水线时钟频率受限于最慢的流水段

流水线冒险(流水线相近指令 出现某些关联,下一个时钟周期不能执行下一条指令,指令流水线必须出现停顿)

结构冒险(structural hazard):需要的资源被占用

硬件不支持多条指令在同一个时钟周期执行。若系统只有一个存储器部件, 就会带来结构冒险问题,例如:lw/sw指令执行需要访问存储器,指令取指阶段需要访问存储器,将出现存储器使用冲突

数据冒险(data hazard):指令之间存在数据依赖

指令执行所需的数据暂时不可用,后继指令需要等待前序指令执行结束,从而造成的指令执行停顿,数据冒险一般发生在相近指令共用一个存储单元或寄存器时

控制冒险(control hazard):也称为分支冒险(branch hazard)

指令流的方向选择依赖于前序指令执行结果,必须根据前一条指令的执行结果才能确定下一条真正要执行的指令,此时流水线中取得的可能不是真正要执行的指令

3

I/O

  • 外部设备并不直接挂接在系统总线上,而是通过I/O接口为桥梁实现与系统总线的连接

DMA(Direct Memory Access)

  • CPU对总线的控制被临时禁止。DMA控制器接管总线控制权,控制数据直接在存储器与外设之间高速交换

  • CPU不再介入具体的I/O操作,由DMA控制器来负责提供存储器地址信号、读写控制信号等。

  • CPU与I/O设备在更大的程度上并行工作,效率更高。

  • DMA方式适合高速批量的数据传输,如视频显示刷新、磁盘存储系统的读写,存储器到存储器的传输等

  • CPU仅在开始DMA操作之前和完成DMA操作之后参与I/O处理,在DMA过程中,CPU可以运行原来的程序
  • 標題: 2021秋计组理论复习
  • 作者: sdjasj
  • 撰寫于: 2022-02-07 17:37:49
  • 更新于: 2022-07-18 09:31:24
  • 連結: https://redefine.ohevan.com/2022/02/07/2021秋计组理论复习/
  • 版權宣告: 本作品采用 CC BY-NC-SA 4.0 进行许可。
 留言