在SoC中实现的计算单元
当前的自动驾驶/先进驾驶辅助系统片上系统(SoC)通过集成不同计算特性的计算元件构建了计算组件,以实现对不同应用最有效的处理。为此,如下表所示,选择了具有不同计算特性的计算元件,如通用CPU、SIMD DSP、GPGPU和专用加速器等。
计算元件特性
•通用CPU适合运行顺序代码和有限的数据并行。
•SIMD DSP处理更数据密集的任务。
•GPGPU也可以处理高数据量和控制顺序灵活的任务。
•专用加速器针对特定操作实现最高执行效率,但需在SoC设计初期确定。
计算元件的特性及适配性分析
为分析上述计算元件,首先从某些正交的计算特性对其进行分类。SIMD类型计算元件适合运行处理大量独立数据的应用。因此,可以归纳出下表所示的正交计算特性。
正交计算特性
• 数据并行性:在并行处理不同的数据
• 任务并行性:在并行处理不同的任务
• 引用局部性:提供数据的访问时间局部性和空间局部性(数据局部性)
每个“数据并行性”和‘引用局部性(数据局部性)’的分配数据模式的例子如下,任务并行与数据并行非常相似,区别在于数据局部性和上下文处理。
“数据并行性”、“引用局部性”和“计算元件”之间的关系表如表所示。
数据并行性、引用局部性和计算元件的关系表
“任务并行性”和“计算元件”之间的关系表如下表所示。
任务并行性和计算元件的关系表
综合上述计算特性,可以定义用于SoC中高效执行AD/ADAS应用所需的典型运算类型。
运算类型及匹配的计算元件