✅ 一、需求文档的制定背景
随着自动驾驶、智能座舱等高性能计算场景的发展,硬件加速器(如 GPU、FPGA、DSP) 在汽车 ECU 中越来越普遍。然而目前的问题存在如下:
- 当前缺乏统一标准,导致不同厂商的硬件加速器接口差异大,难以移植,需要针对特定硬件进行软件定制,不利于软件的通用性和维护性;
- 硬件加速器的使用涉及并行计算、异步执行、错误处理、资源释放 等复杂问题,安全性难以保障;
- Adaptive Application 需要一种标准化机制来安全、可控地使用硬件加速器。
因此,AUTOSAR 在 AP R25-11 中引入了 SHWA(Safe Hardware Acceleration)功能集群,制定本需求规范,作为未来实现标准化硬件加速接口的基础,从而达到安全,标准的目的。
✅ 二、需求规范主要内容概述
AUTOSAR Adaptive Platform(AP)中 Safe Hardware Acceleration(SHWA)功能集 的需求,其旨在:
- 提供一种标准化、可移植的方式 ,用于在 Adaptive Platform 中安全、高效地使用硬件加速器(如 GPU、FPGA、DSP);
- 支持 Adaptive Application 在运行时调用硬件加速器进行并行计算 ,并确保数据完整性、错误处理、资源管理等安全性要求;
- 为硬件加速器提供抽象接口,屏蔽底层硬件差异,实现跨平台兼容。
✅ 三、详细需求列表(逐条罗列)
AUTOSAR自适应平台的安全硬件加速(SHWA)为自适应应用程序及AUTOSAR自适应平台的其他功能集群提供应用程序编程接口(API)。该安全硬件加速(SHWA)负责处理与并行计算相关的事务,同时遵循自适应平台的安全规则与限制。
- 通过并行执行计算(在硬件加速器上进行同步多核计算),提升密集型计算的效率。
- 对在硬件加速器上执行的任务进行错误检测与修正。
- 监控硬件加速器的工作状态。
规范中所有功能性与非功能性需求的详细内容(按编号排序):
🔧 功能性需求(Functional Requirements)
| 编号 | 需求标题 | 描述 |
|---|---|---|
| RS_SHWA_00001 | SHWA Operations Execution on Hardware Accelerator | SHWA 应支持在硬件加速器上执行 Adaptive Application 所需的操作。 |
| RS_SHWA_00002 | SHWA Data Exchange with Hardware Accelerators | SHWA 应支持在同一 ECU 内,Adaptive Application 与硬件加速器之间的数据交换机制。 |
| RS_SHWA_00003 | SHWA Hardware Resources Restrictions | SHWA 应支持配置允许使用的硬件加速器资源的机制。 |
| RS_SHWA_00004 | Hardware Accelerator Runtime State Monitoring | SHWA 应支持在运行时监控硬件加速器的状态。 |
| RS_SHWA_00005 | Timeout-based Blocking Operations Cancellation Mechanism | SHWA 应提供基于超时的阻塞操作取消机制,防止线程无限期挂起。 |
| RS_SHWA_00006 | Hardware Accelerator Type Selection | SHWA 应支持选择主机上可用的硬件加速器类型(如 GPU、FPGA)。 |
| RS_SHWA_00007 | Synchronous Errors Handling Mechanism | SHWA 应提供同步错误处理机制(即函数调用后立即返回错误)。 |
| RS_SHWA_00008 | Asynchronous Error Handling Mechanism | SHWA 应提供异步错误处理机制(即硬件加速器在后台运行时出错)。 |
| RS_SHWA_00009 | Data Integrity Support | 若硬件加速器操作失败,SHWA 应确保应用数据未被破坏,或返回错误提示数据无效。 |
| RS_SHWA_00010 | Allocated Resources Clean Up | SHWA 应支持释放硬件加速器上分配的资源(如内存、句柄等)。 |
| RS_SHWA_00012 | Initialization and Shutdown | SHWA 应支持统一的初始化和关闭流程。 |
| RS_SHWA_00013 | Memory Allocation | SHWA 应支持在主机和硬件加速器上进行内存分配。 |
| RS_SHWA_00014 | Device Properties | SHWA 应支持查询所用设备的属性和能力(如计算单元数、内存大小)。 |
| RS_SHWA_00015 | Device Abstraction | SHWA 应提供对所用计算设备的抽象接口,屏蔽底层差异。 |
| RS_SHWA_00016 | Event-based Synchronization | SHWA 应支持基于事件的任务同步机制,在主机与硬件加速器之间协调执行。 |
| RS_SHWA_00017 | Data Access | SHWA 应支持对数据的读取与修改机制。 |
| RS_SHWA_00018 | Environment Information | SHWA 应支持获取软件与硬件环境信息(如驱动版本、设备型号)。 |
⚙️ 非功能性需求(Non-Functional Requirements)
| 编号 | 需求标题 | 描述 |
|---|---|---|
| RS_SHWA_00011 | SHWA multi-processing | SHWA 创建的对象应始终局限于一个进程内,不能跨进程共享。 |
✅ 四、版本演进摘要(R24-11 → R25-11)
| 类型 | 内容 |
|---|---|
| 新增需求(R25-11) | RS_SHWA_00011 ~ RS_SHWA_00018(共8条) |
| 修改需求(R25-11) | RS_SHWA_00001、00007、00009、00010(内容细化或对齐新架构) |
✅ 五、总结
AUTOSAR AP R25-11 中 SHWA(Safe Hardware Acceleration) 功能集群的需求基线 ,定义了如何安全、标准化地使用硬件加速器,为后续实现跨平台、可移植、可验证的硬件加速接口奠定基础。