第5章学习笔记:处理器怎样执行指令
课程笔记沿程序真实运行路径学习处理器怎样执行指令,始终区分抽象接口、实现状态和可观测证据。
关联:章节 第5章 处理器怎样执行指令
第5章笔记:处理器怎样执行指令
本章要解决的问题
沿程序真实运行路径学习处理器怎样执行指令,始终区分抽象接口、实现状态和可观测证据。 本章七课是一条连续推理链,不是七个标题。先确定上一课输出怎样成为下一课输入,再记录对象、事件、状态和证据。
七课连接
- 取指—译码—执行闭环:关系
PC\to IR\to state';练习为为《取指—译码—执行闭环》构造一条最短可运行轨迹,逐步记录输入状态、系统动作和输出状态,并用关系 PC\to IR\to state' 复算关键量;边界为不能把《取指—译码—执行闭环》在语言、ABI、ISA、微体系结构、内核或设备层的对象混成一个‘系统自动完成’,必须声明位宽、权限、时序和失败后的可见状态;连接说明:承接前一课的状态或契约;本节结果会进入《ALU、寄存器与控制信号》。 - ALU、寄存器与控制信号:关系
control\ selects\ datapath;练习为为《ALU、寄存器与控制信号》构造一条最短可运行轨迹,逐步记录输入状态、系统动作和输出状态,并用关系 control\ selects\ datapath 复算关键量;边界为不能把《ALU、寄存器与控制信号》在语言、ABI、ISA、微体系结构、内核或设备层的对象混成一个‘系统自动完成’,必须声明位宽、权限、时序和失败后的可见状态;连接说明:承接前一课的状态或契约;本节结果会进入《单周期与多周期》。 - 单周期与多周期:关系
latency=critical\ path;练习为为《单周期与多周期》构造一条最短可运行轨迹,逐步记录输入状态、系统动作和输出状态,并用关系 latency=critical\ path 复算关键量;边界为不能把《单周期与多周期》在语言、ABI、ISA、微体系结构、内核或设备层的对象混成一个‘系统自动完成’,必须声明位宽、权限、时序和失败后的可见状态;连接说明:承接前一课的状态或契约;本节结果会进入《流水线吞吐与延迟》。 - 流水线吞吐与延迟:关系
throughput\ne latency;练习为为《流水线吞吐与延迟》构造一条最短可运行轨迹,逐步记录输入状态、系统动作和输出状态,并用关系 throughput\ne latency 复算关键量;边界为不能把《流水线吞吐与延迟》在语言、ABI、ISA、微体系结构、内核或设备层的对象混成一个‘系统自动完成’,必须声明位宽、权限、时序和失败后的可见状态;连接说明:承接前一课的状态或契约;本节结果会进入《数据/控制冒险》。 - 数据/控制冒险:关系
RAW,WAR,WAW,control;练习为为《数据/控制冒险》构造一条最短可运行轨迹,逐步记录输入状态、系统动作和输出状态,并用关系 RAW,WAR,WAW,control 复算关键量;边界为不能把《数据/控制冒险》在语言、ABI、ISA、微体系结构、内核或设备层的对象混成一个‘系统自动完成’,必须声明位宽、权限、时序和失败后的可见状态;连接说明:承接前一课的状态或契约;本节结果会进入《预测、乱序与精确异常》。 - 预测、乱序与精确异常:关系
retire\ in\ order;练习为为《预测、乱序与精确异常》构造一条最短可运行轨迹,逐步记录输入状态、系统动作和输出状态,并用关系 retire\ in\ order 复算关键量;边界为不能把《预测、乱序与精确异常》在语言、ABI、ISA、微体系结构、内核或设备层的对象混成一个‘系统自动完成’,必须声明位宽、权限、时序和失败后的可见状态;连接说明:承接前一课的状态或契约;本节结果会进入《流水线轨迹实验》。 - 流水线轨迹实验:关系
cycles=ideal+stalls+flushes;练习为为《流水线轨迹实验》构造一条最短可运行轨迹,逐步记录输入状态、系统动作和输出状态,并用关系 cycles=ideal+stalls+flushes 复算关键量;边界为不能把《流水线轨迹实验》在语言、ABI、ISA、微体系结构、内核或设备层的对象混成一个‘系统自动完成’,必须声明位宽、权限、时序和失败后的可见状态;连接说明:承接前一课的状态或契约;本节结果会进入《局部性为什么有效》。
章内学习法
先闭卷画一条最短执行轨迹,再为每个箭头标主体和所属层;随后逐式复算,运行本章代码实验四组测试,并增加一个越界、权限、冲突、乱序或故障输入。只要实际值与模型不同,就保存首个偏差,不用后续噪声替代根因。
错题与复习
把错误归入分层混淆、位宽/单位、状态跳步、事件顺序、权限遗漏、并发交错、故障恢复或观察窗八类。一周后更换参数重做阶段卷;能向同学从现象讲到机制、公式、实验和边界,才算学会。