8. 计算机组成与体系结构
编码及浮点数运算
浮点数运算
- 浮点数表示
- N=尾数∗基数指数N=尾数*基数^{指数}N=尾数∗基数指数
- 运算过程
- 对阶->尾数计算->结果格式化
- 特点
- 一般尾数用补码,阶码用移码
- 阶码的位数决定数的表示范围,位数越多范围越大
- 尾数的位数决定数的有效精度,位数越多精度越高
- 对阶时,小数向大数看齐
- 对阶是通过较小数的尾数右移实现的
Flynn分类法
CISC与RISC
流水线
概念
- 相关参考计算
- 流水线执行时间计算
- 流水线吞吐率
- 流水线加速比
- 流水线效率
- 流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度
流水线计算
- 流水线周期为执行时间最长的一段
- 流水线计算公式为
- 1条指令执行时间+(指令条数-1)*流水线周期
- 理论公式:(t1+t2+..+tk)+(n−1)∗Δt(t_1+t_2+..+t_k)+(n-1)*Δt(t1+t2+..+tk)+(n−1)∗Δt
- 实践公式:k∗Δt+(n−1)∗Δtk*Δt+(n-1)*Δtk∗Δt+(n−1)∗Δt
超标量流水线
- 度为2的超标量流水线
- 同时由2组处理系统
流水线吞吐率计算
- 流水线的吞吐率是指在单位时间内流水线所完成的任务数量或输出的结果数量
- 基本公式计算
- TP=指令条数流水线执行时间TP={指令条数\over 流水线执行时间}TP=流水线执行时间指令条数
- 流水线最大吞吐率
- TPmax=limn→∞n(k+n−1)Δt=1ΔtTP_{max} = \lim_{n \to \infty}{n \over (k+n-1)Δt}={1 \over Δt}TPmax=limn→∞(k+n−1)Δtn=Δt1
流水线加速比计算
完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比。
流水线加速比=不适用流水线执行时间使用流水线执行时间流水线加速比={不适用流水线执行时间 \over 使用流水线执行时间}流水线加速比=使用流水线执行时间不适用流水线执行时间
存储系统
层次化存储结构
Cache
概念
- Cache的功能
- 提高CPU数据输入输出的速率,突破冯诺依曼瓶颈,即CPU与存储系统间数据传送带宽限制
- 在计算机的存储系统系统中,Cache是访问速度最快的层次
- 使用Cache改善系统性能的依据是程序的局部性原理
局部性原理
- 时间局部性
- 指程序中的某条指令一旦执行,不久以后该指令可能再次执行,典型原因是由于程序中存在着大量的循环操作
- 空间局部性
- 指一旦程序访问了某个存储单元,不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型情况是程序顺序执行
- 工作集理论
- 工作集是进程运行时被频繁访问的页面集合
Cache页面淘汰
映像方式
- 全相联映像
- 将主存和Cache都划分为相同大小的页,也成为块
- 直接相联映像
- 将主存和Cache划分为大小相同的区域进行分区,并将区域分成相同大小的区与cache一一对应
- 组相联映像
磁盘结构与参数
- 存取时间=寻道时间+等待时间(平均定位时间+转动延迟)
- 注意:寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用时间;若所需访问地址已经经过,则再次访问需要再转一圈
总线
一条总线同一时刻仅运行一个设备发送,但允许多个设备接受
总线的分类
- 数据总线
- 在CPU与RAM之间来回传送需要处理或是需要储存的数据
- 地址总线
- 用来指定在RAM之中存储的数据的地址
- 控制总线
- 将微处理器控制单元的信号,传送到周边设备,一般常见的为USB Bus和1394 Bus
校验码
- 码字
- 合法的编码
- 码距
- 一个编码系统的码距是整个编码系统中任意两个码字的最小距离
- 模2除法
- 不计其进位的除法
嵌入式系统
系统可靠性计算
可靠性指标
- 平均无故障时间(MTTF)
- (MTTF)=1/失效率
- 平均故障修复时间(MTTR)
- (MTTR)=1/修复率
- 平均故障间隔时间(MTBF)
- (MTBF)=MTTR+MTTF
- 系统可用性
- MTTF/(MTTR+MTTF)*100%