1 超标量CPU结构
前端(Frontend)
前端负责从程序中提取指令,并将其转换为微操作送入CPU的流水线中。
1)取指单元:从指令缓存或内存中提取指令,并将其送入流水线。
2)分支预测单元:负责预测分支指令的执行路径,以提前加载正确的指令,减少分支带来的流水线停顿。
3)译码器:将获取到的指令解码成CPU内部理解的格式,以便后续阶段的执行。
4)寄存器重命名:将逻辑寄存器重命名为物理寄存器,以解决数据依赖关系,避免数据冒险,并提高指令级并行度。
5)分发和发射:将已经译码并重命名的指令发送到相应的执行单元,并在需要时进行缓存或排队。在发射阶段,指令被提交给调度器进行后续处理。
6)调度器:负责根据指令的依赖关系和可用资源,将指令调度到可用的执行单元中,包括确定指令的执行顺序,管理执行单元的利用率,并确保指令的正确执行。调度器还负责管理处理器的资源,包括执行单元、寄存器文件等,它会跟踪资源的使用情况,以确保所有指令都能够得到充分利用,同时避免资源冲突和竞争。
后端(Backend)
后端负责实际执行指令和处理数据。