应用场景
只要中断处理程序属于某个不被信任、不能获得内核特权的软件组件,而它的截止时间 又很硬,DULI 就有意义。
运动控制与脉冲串输出
PLC、伺服驱动或机器人关节在中断里计算下一个脉冲间隔并翻转引脚。控制环通常 需要 20 kHz 以上,抖动会直接转化成位置误差。
- 处理程序留在组件自己的保护域里。
- DULI 在另一个进程同时运行时,仍可稳定输出接近 300 kHz,100 kHz 下抖动 低于 5%。
- 10 kHz 时抖动低于 0.5%,约为内核转发方案的 1/60。
这正是推动这项设计的场景:处理程序是安全关键的,但它由组件提供,不能当作内核 代码来信任。
无人机与飞控整合
现代飞控同时运行遥控链路、传感器融合、姿态控制、日志和遥测。遥控与控制环是 硬实时,其余是尽力而为。把它们整合到一颗核心上可以降低成本和重量——前提是 实时任务不会继承内核的延迟。
控制环
用户级处理程序在 15 个周期内响应 IMU 中断,拥有自己的 PMP 域与硬件预算。 死循环会被终止。
链路与日志
UART、遥测以及尽力而为的视觉或日志任务继续运行。DULI 的快速返回避免 高频中断侵蚀它们的吞吐。
第三方模块
带有远程攻击面的网络或视觉组件可以整体隔离为进程——包括它的中断 处理程序。
工业通信 + 边缘推理
域控制器同时运行每字节一次中断的 Modbus-RTU 栈和图像识别负载。内核转发会在 高波特率下拖垮后台吞吐,纯软件快路径也会损失一半以上。
DULI 让实时前台稳定工作在 2 Mbps,1 Mbps 时 V5 的 FPS 损失低于 17% (V1 为 24%)。在常见的 115.2 kbps 下,损失最多 5 FPS,约为内核转发方案的 1/10。
这也是机器内部的“云式整合”:一个延迟敏感的租户和一个吞吐型租户共享一颗核心, 中间是硬件强制执行的隔离。
安全域控制器
汽车和医疗系统越来越多地整合来自不同供应商的组件。一个组件的故障或失陷, 不能变成进入系统其余部分的跳板。
DULI 对这件事的贡献很窄,但很关键:中断路径不再是隔离模型的例外。如果组件 的处理程序读了域外内存或超预算,硬件会立即从它返回;内核不被重入,系统其余 部分的时序保持不变。
什么时候不需要 DULI
- 只有一个完全可信的应用。 内核级处理程序本来就快,额外的域机制没有收益。
- 只有一个进程需要加速。 如果单个受信任域就能覆盖场景,SBI 式 TrustZone 方案更简单。
- 目标是平均吞吐。 UINTR 式机制就是为此设计的;DULI 优化最坏情况,刻意 不做尾链等平均情况优化。
- 多核整合。 目前只支持单核;多核路由属于未来工作。
选型路径
| 你的核心 | 推荐 | 结果 |
|---|---|---|
| 带 TCM 的 RISC-V | V2 | 29 周期,核心面积 +27%,不增加 SRAM 总量 |
| 总线接口固定 | V1 | 37 周期,+23% 面积,即插即用 |
| 延迟高于一切 | V5 | 实测 15 周期,+66% 面积 |
| 已有微内核 | 任意变体 | 内核源码 +2%,API 不变 |