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、资源占用:级联模式时需要多个功能单元

相关推荐
龙文浩_8 小时前
Attention Mechanism: From Theory to Code
人工智能·深度学习·神经网络·学习·自然语言处理
守护安静星空9 小时前
esp32开发笔记-工程搭建
笔记·单片机·嵌入式硬件·物联网·visual studio code
ljt27249606619 小时前
Compose笔记(七十七)--视频录制
笔记·android jetpack
爱上好庆祝10 小时前
svg图片
前端·css·学习·html·css3
嵌入式小企鹅10 小时前
蓝牙学习系列(八):BLE L2CAP 协议详解
网络·学习·蓝牙·ble·协议栈·l2cap
周周不一样11 小时前
Andorid基础笔记2-jar&反射
笔记·pycharm·jar
jiayong2311 小时前
第 8 课:开始引入组合式函数
前端·javascript·学习
智者知已应修善业11 小时前
【51单片机单按键切换广告屏】2023-5-17
c++·经验分享·笔记·算法·51单片机
格鸰爱童话12 小时前
向AI学习项目技能(五)
java·学习
技术人生黄勇12 小时前
拆解 Hermes Agent:开源 Agent 里唯一的闭环学习系统
学习