mlir 编译器学习笔记之四 -- 调度

1、指令的活跃区间 LiveRange [startTime, endTime]

startTime: 节点开始执行的时间(指令被发射到功能单元)

endTime: 节点结果就绪的时间(指令执行完成,结果可用)

前驱指令P: R1 = R2 + R3 // LiveRange: [10, 12]

当前指令C: R4 = R1 * 2 // 什么时候可以开始?==> R1 就绪,即endTime

2、普通调度 (严格顺序)& 硬件循环(允许重叠)的原因

复制代码
T1 = max(preStart + hardware_switch_overhead,preEnd + loop_iteration_period - latency)

普通调度OOO:可以提前发射,但会在流水线中等待

硬件循环:可以更早开始执行,因为有数据转发 (专有硬件,不竞争通用资源)

3、资源占用:级联模式时需要多个功能单元

相关推荐
EveryPossible5 小时前
穿透iframe
学习
木木木一5 小时前
Rust学习记录--C7 Package, Crate, Module
开发语言·学习·rust
落羽凉笙12 小时前
Python学习笔记(3)|数据类型、变量与运算符:夯实基础,从入门到避坑(附图解+代码)
笔记·python·学习
Quintus五等升12 小时前
深度学习①|线性回归的实现
人工智能·python·深度学习·学习·机器学习·回归·线性回归
jz_ddk13 小时前
[学习] 卫星导航的码相位与载波相位计算
学习·算法·gps·gnss·北斗
华清远见成都中心14 小时前
人工智能要学习的课程有哪些?
人工智能·学习
hssfscv14 小时前
Javaweb学习笔记——后端实战2_部门管理
java·笔记·学习
白帽子黑客罗哥14 小时前
不同就业方向(如AI、网络安全、前端开发)的具体学习路径和技能要求是什么?
人工智能·学习·web安全
于越海15 小时前
材料电子理论核心四个基本模型的python编程学习
开发语言·笔记·python·学习·学习方法
我命由我1234515 小时前
开发中的英语积累 P26:Recursive、Parser、Pair、Matrix、Inset、Appropriate
经验分享·笔记·学习·职场和发展·求职招聘·职场发展·学习方法