课程
3036 字
约 9 分钟
大三上
chapter-notes
计算机体系结构notes·更新于 2026-09-15
CH01 计算机系统基础知识
- Amdahl定律
- 加速比
- CPU性能公式
- CPI,IC,比例
- 计算机组成和计算机体系结构等的区别
CH02 指令系统的设计
- 哈夫曼编码
- 平均码长,信息冗余量,熵(跟机器学习那个一样)
- 24,37编码
- MIPS指令
CH03 流水线技术
- 通过时间和排空时间的定义
- 流水线各段时间均等与不均等的计算性能
- 吞吐率,加速比,效率
- 五个阶段,三个相关
- 数据相关,名相关,控制相关
- 三种冲突
- RAW, WAR, WAW
- 解决方法
- 延迟槽,减少分支延迟,预测分支成功/失败
CH05 指令级并行及其开发-硬件方法
指令动态调度
- 相关概念
- Tomasulo算法基本原理、基本思想
- 算法的三个阶段(流出、执行、写回)
- 基于Tomasulo算法的MIPS处理器浮点部件的基本结构的工作原理及相应指令分析
- 保留站7个字段的含义及其对应指令的应用
动态分支预测技术
- 几种方法:采用分支历史表BHT、分支目标缓冲器BTB、基于硬件的前瞻执行
- 前瞻执行基本思想(ROB)与Tomasulo算法的联系与区别
- 前瞻执行基本思想(ROB)的4个阶段:流出、执行、写结果、确认
动态调度
-
指令乱序执行
-
实现多配置
-
每一条指令都要经过流水线的四段(流出、读数、执行、写回)
-
Tomasulo算法 保留站
- 流出阶段:通过寄存器换名解决名相关(WAR和WAW相关)
- 执行阶段:通过推迟方法解决RAW相关
-
前瞻执行
- 执行阶段检测RAW冲突
CH07 存储系统
- 注意减少不命中 开销 和 不命中 率 的区别
第一章:计算机系统基础知识
计算机系统的实质
- 确定计算机系统中软硬件的界面,界面之上是软件实现的功能,界面之下是硬件和固件实现的功能
- 指令集结构:用硬件实现的指令集,软硬件之间的主要界面;
计算机系统设计的4个定量原理:如何优化并提高计算机性能
- 以经常性事件为重点
- Amdahl定律(理解原理并能进行简单计算)
- CPU性能公式(三个参数:时钟周期时间、CPI、IC):理解不同方案性能的提高程度;
- 程序的局部性原理
第二章:指令系统的设计
了解指令系统结构三种类型:堆栈结构、累加器结构、通用寄存器结构
哈夫曼编码基本思想
- 缩短编码长度;
- 理解并掌握指令操作码的优化(计算案例)
掌握并能灵活应用常用的MIPS指令
- MIPS指令特点(浮点寄存器与整数寄存器)、数据寻址方式
- MIPS三种指令格式:I类指令、R类指令、J类指令
- MIPS指令操作分为四大类:Load、分支与跳转、…、…
第三章:流水线技术
流水线相关概念、分类
- 部件级、处理机级及处理机间流水线
- 单功能流水线与多功能流水线
- 静态流水线与动态流水线
- 线性流水线与非线性流水线
- 顺序流水线与乱序流水线
掌握并应用流水线的性能指标
- 各段时间均等与不均等的计算;
- 吞吐率、加速比、效率
- 静态与动态流水线分析举例
流水线的相关
- 经典流水线的5个阶段及其作用
- 相关的三种类型:数据相关、名相关、控制相关
流水线冲突
- 三种:结构冲突、数据冲突、控制冲突——基本概念
- 三种数据冲突:RAW、WAR、WAW
- 控制冲突的三种软件解决方法:减少分支延迟、预测分支失败/成功、延迟槽技术
第四章:向量处理机
向量处理机概念
向量处理机+流水线=向量处理机
向量处理机的两种方式(横向水平和纵向垂直两种方式);
- 二者的特点差别(数据相关、功能切换、适用场景)
提高向量处理的性能方法
- 连接技术:加快向量指令的执行;
- 两条向量指令占用功能流水线…寄存器的4种情况
- 指令相关、功能部件冲突、源寄存器冲突、结果寄存器冲突
- 在Cray-1是用连接技术进行…,如何分析是…情况的执行时间
- 两条向量指令占用功能流水线…寄存器的4种情况
第五章:指令级并行及其开发-硬件方法
指令级并行概念
- 开发ILP的两种途径(资源重复,流水线技术);
- 开发ILP的方法
- 基于硬件的动态开发方法,基于软件的静态开发方法:
流水线研究的并行技术以及所克服的停顿
- 流水线调度、循环展开、寄存器换名、指令动态调度、动态分支预测、瞻、多指令流出;
衡量流水线最高性能指标(CPI)
- 实际CPI和理想CPI的关系;
指令动态调度
- 相关概念
- Tomasulo算法基本原理、基本思想
- 算法的三个阶段(流出、执行、写回)
- 基于Tomasulo算法的MIPS处理器浮点部件的基本结构的工作原理及相应指令分析
- 保留站7个字段的含义及其对应指令的应用
动态分支预测技术
- 几种方法:采用分支历史表BHT、分支目标缓冲器BTB、基于硬件的前瞻执行
- 前瞻执行基本思想(ROB)与Tomasulo算法的联系与区别
- 前瞻执行基本思想(ROB)的4个阶段:流出、执行、写记过、确认
多指令流出技术
- 引入目的:提高CPI
- 常用的技术:超流水线、超长指令字VLIW
第6章:指令级并行及其开发-软件方法
软件的静态调度
- 循环展开的本质;
- 全局指令调度引入的原因、目标
- 分支结构的循环体需要在多个基本块间移动指令,称为“全局指令调度”
- 目标:在保持原有数据相关和控制相关不变的前提下(保证结果正确),尽可能的能地缩短包含分支结构的代码段的总执行时间。
- 全局指令调度基本思想:在循环体内的多个基本块间移动指令,扩大…频率较高的基本块的体积(放到延迟槽中)。优化执行效率高的…
- 全局指令调度:踪迹调度、超块调度
- 显示并行指令计算EPIC
- 条件传输指令与谓词执行的简单应用…指令含义)
第7章:存储系统
理解Cache三种映射方式;
- 两种并行查找算法:相联存储器和单体多字存储器+比较器;
写策略
- 写回与直达法的区别
评价系统性能的间接指标
- 平均访存指标,计算公式:平均访存时间=命中时间+不命中率×不命中开销
- 程序执行时间CPU时间=(CPU执行周期数+存储器停顿周期数)×时钟周期时间
不命中开销=不命中周期数(停顿)×时钟周期时间
存储器停顿时钟周期数=访存次数×不命中率×不命中开销
降低不命中率
- 三种类型的不命中
- 强制性不命中(增加块大小、预取)、容量不命中(增加容量)、冲突不命中(提高相联度)
- 8种降低不命中率优化策略
- 增加Cache块大小、增加Cache的容量、提高相联度、伪相联Cache(列相联Cache)、硬件预期、编译器控制的预取、编译器优化、“牺牲”Cache
减少Cache不命中开销-5种
- 采用二级Cache(增加一级Cache,常用的方法)
- 让读不命中优先于写
- 写缓冲合并
- 请求字处理技术
- 非阻塞Cache或非锁定Cache技术













