CPU的结构和功能
CPU的功能
控制器的功能
- 取指令
- 分析指令
- 执行指令,发出各种操作命令
- 控制程序输入及结果的输出
- 总线管理
- 处理异常情况和特殊请求
运算器的功能
- 实现算术运算和逻辑运算
指令流水
- 提高访存速度
高速芯片、Cache、多体并行 - 提高I/O和主机之间的传送速度
中断、DMA、通道、I/O处理机、多总线 - 提高运算器速度
高速芯片、改进算法、快速进位链 - 提高整机处理能力
高速器件、改进系统结构,开发系统的并行性
影响指令流水线性能的因素
结构相关
不同指令争用同一功能部件产生资源冲突
解决方案:
- 停顿
- 指令存储器和数据存储器分开
- 指令预取技术(适用于访存周期短的情况)
数据相关
不同指令因重叠操作,可能改变操作数的读/写访问顺序
解决办法:
- 后推法
- 采用旁路技术
控制相关
由转移指令引起
流水线性能
吞吐率
单位时间内流水线所完成指令或输出结果的数量
设$m$段的流水线各段时间为$\Delta t$,则:
最大吞吐率:
$$ T_{pmax}=\frac{1}{\Delta t} $$
实际吞吐率:
$$ T_p = \frac{n}{m\cdot \Delta t + (n-1) \cdot \Delta t} $$
加速比$S_p$
$m$段的流水线的速度与等功能的非流水线的速度之比
设流水线各段时间为$\Delta t$
完成$n$条指令在$m$段流水线上共需:
$$ T=m\cdot \Delta t + (n-1) \cdot \Delta\ t $$
完成n条指令在等效的非流水线上共需
$$ T'=nm \cdot \Delta t $$
则
$$ S_p = \frac{nm\cdot \Delta t}{m \cdot \Delta t + (n-1)\cdot \Delta t}=\frac{nm}{m+n-1} $$
效率
流水线各功能段的利用率
因为流水线有建立时间(就是一开始的时候)和排空时间(就是结束的时候),因此各功能段的设备不可能一直处于工作状态。

流水线效率,即流水线中各功能段的利用率
效率=流水线各段处于工作时间的时空区/流水线中各段总的时空区
$$ =\frac{mn\Delta t}{m(m+n-1)\Delta t} $$
控制单元的功能
操作命令的分析
- 取指周期
- 间址周期
- 执行周期
- 中断周期
Comments | NOTHING