详解智能座舱芯片算力评估
从表9 可以看到,新一代的智能座舱在使用场景上既增加了功能,又提升了性能。原有的座舱 SoC 算力是否能满足新的场景需求呢?让我们对使用场景进行分析。
根据表2的座舱算力分解数据来看,智能座舱在大部分使用场景中,CPU和GPU均是不可或缺的算力单元。在视觉呈现相关的任务上,借助DPU计算是必需的,而在处理多媒体音视频数据时,除了CPU和GPU外,还需要额外借助VPU的算力。此外,在涉及摄像头图像处理的任务时,ISP则成为必不可少的算力单元。因此,我们首先需要基于当前的硬件平台和应用软件层进行算力消耗情况的全面统计与分析。
6.2 座舱算力统计对比
下面我们以 SA8155 为座舱 SoC 核心的域控制器测算并统计各个座舱应用场景对 CPU 和 GPU 的具体算力需求。
1. CPU 测算
我们可以通过 Linux 系统下的 CPU 使用率统计命令 top 来进行 CPU 算力测试。图8 展示了在 Linux 的命令行调试环境中输入 top 命令之后显示的结果。
图8 Linux 命令行环境中的 top 命令运行结果
从图8中可以看到,Xorg应用对应的进程ID(PID)为 1428,它的CPU占用率为85.9%。因此,我们在智能座舱的应用场景运行的同一时间输入top命令,就可以得到该应用所占CPU的百分比。为了最大限度地模拟真实的智能座舱应用环境,我们还应该将多个场景进行并发执行。在经过实验之后,我们可以拿到当前的智能座舱SoC的CPU占用率。根据公开信息显示,高通SA8155的CPU算力为105kDMIPS。表10 列举了部分应用场景下,SA8155的CPU占用率测算结果和CPU算力消耗结果。
表10 SA8155 的 CPU 占用率和算力消耗
而针对新一代智能座舱的应用场景需求,我们可以根据 SA8155 的使用情况进行推算。 表11 总结了下一代智能座舱在功能和性能的需求升级以后对 CPU 算力消耗的估算情况。
表11 下一代智能座舱的 CPU 算力消耗估算
从表11 的数据可以看到,针对下一代智能座舱的使用场景,随着大型游戏和后排娱乐屏等功能的加入,对性能的需求也有了显著的提升。基于 SA8155 的实测数据,我们经过深入的分析和验证,得出下一代智能座舱部分应用场景的算力需求。这一需求是基于并发的应用场景进行的考量,尚未涵盖非并发的场景,但即便如此,这些场景下的总算力需求也已经高达 78.85k DMIPS。
那么,为什么在计算算力资源时,我们选择了 DMIPS作为参考依据,而不是使用SPEC CPU2017的结果呢?这主要是因为,我们是通过测量各应用场景下CPU的占用率来估算CPU 消耗的算力资源。当我们获得了CPU占用率之后,可以直接采用SoC厂家给出的DMIPS参考值来进行归一化的计算和对比。而SPECCPU2017 测试套件则更多地用于全面和客观地评估CPU的实际性能,通常用于SoC之间的对比评估。
在得到表12 中的估算值后,再考虑到还有诸多应用场景对 CPU 资源的额外消耗需求,显然 SA8155 已经无法满足下一代智能座舱的算力要求。因此,我们必须寻求具备更高性能的新的 SoC 解决方案。
2. GPU 测算
类似于测算各场景下 CPU 的占用率,我们同样需要测算各场景下 GPU 的占用率。经过查询资料,我们发现高通公司在其底层软件驱动中增加了统计 GPU 占用率的功能。通过配置相应命令,我们可以统计各进程的 GPU 占用率(每个应用场景通常由一个或多个进程来实现)。
在 SA8155 的开发板上,我们首先通过 busybox(Android 系统下的一个调试工具包)进入 SA8155 的 QNX 命令行交互界面。然后,我们输入以下命令,以启动 GPU 占用率统计功能。
// 设置 Log 层级,打开详细信息记录
echo gpu_set_log_level 4 > /dev/kgsl-control
// 统计每个应用的 GPU 占用率
echo gpu_per_process_busy 1000 > /dev/kgsl-control
在输入这些命令后,每个应用的 GPU占用率将通过系统日志(slog)进行输出。我们获取到这些GPU占用率数据后,会基于SA8155的GPU总算力资源(约为1142GFLOPS)来计算每个应用的具体消耗值。此外,我们还会根据应用场景的升级需求,以 SA8155的算力消耗为基准,进一步预测和计算下一代座舱所需的GPU算力值,并将这些数据总结在表12中。
表 12 SA8155 和下一代座舱的 GPU 占用率和算力消耗
在表12 所统计的算力需求中,我们特地将并发的应用与非并发的应用分开进行计算。 例如,在大型游戏的运行场景下,GPU的消耗相当高,可能达到 1000GFLOPS 的算力。然而, 考虑在行车途中玩游戏可能对用户的视力造成不良影响,甚至引发眩晕,我们将这类场景定义为仅在驻车模式下才允许启动。因此,在统计 GPU 的算力消耗时,这类场景的算力消耗不应计入最大并发场景的总体算力消耗中。
根据上述分析,我们认识到 SA8155 在 GPU 算力值上已无法满足下一代智能座舱的需求。在规划 GPU 的算力资源池时,我们不能仅局限于当前的应用场景需求,还必须充分考虑未来软件升级可能带来的 GPU 算力增长需求。这就要求我们在设计下一代座舱的算力系统时,必须预留出合理的算力升级空间,以应对未来可能的挑战。
6.3 其他组件性能评估
除了核心的 CPU 和 GPU 之外,座舱 SoC 还集成了多种算力子单元,每个子单元都拥有独特的功能和应用场景。在全面评估整个系统的算力时,我们必须充分考虑这些子单元的性能,确保它们能够满足各自的需求。接下来,我们将简要阐述 DPU、VPU 以及 ISP 的算力评估标准。
1. DPU 性能评估
DPU 主要负责将 GPU 渲染的图像数据传输到显示设备,因此它的性能评估标准应该是针对显示部分的各种处理能力。表13 列举了DPU的数据处理能力。
表 13 DPU 数据处理能力
DPU 的一项关键功能是协助 GPU 完成多图层合成(Overlay)的操作,这使得 Android 系统能够分别渲染多个图层,并将它们合成后统一输出到显示屏上。此外,由于座舱芯片需要支持单芯多屏的技术,因此 DPU 必须能够支持多个显示通道的输出。每个显示通道都对应着一块或多块屏幕,这就要求 DPU 能够支持多图层合成和多屏幕显示的功能,以实现多屏幕的高效处理。
2. VPU 性能评估
VPU 是专门用于处理视频数据的硬件编解码器。从本质上看,它是一个以空间换时间的硬件解决方案。在 SoC 设计之初,就需要明确所需支持的视频编解码类型及相应的处理能力,因为一旦设计确定,后期通常无法再对这些特性进行更改,除非重新设计整颗 SoC。
对于 VPU 的性能评估,关键指标包括它所支持的视频数据类型以及像素处理能力。值得注意的是,VPU 的编码和解码能力是需要分别进行设计的,以满足不同的应用需求。表14 简要列出了 SA8155 的 VPU 所支持的性能特性。
表14 SA8155 的 VPU 性能统计
3. ISP 性能评估
ISP 负责管理图像传感器的工作流程。它由一系列图像处理单元构成,这些单元在流水线中协同工作,本质上是一种通过增加硬件资源来优化处理速度的设计。在评估 ISP 的性能时,我们不仅要关注它能够连接多少个摄像头,还要着重考察其图像质量的解析能力。然而,由于 ISP 的图像质量解析能力涉及的内容广泛且复杂,在此不再详细展开,仅简要介绍 SA8155 在图像设备接入能力方面的表现。
表15 SA8155 的图像设备接入能力
#07本章小结
针对座舱系统的算力评估需求,本章进行了全面的探讨和分析。首先,我们列举了影响座舱 SoC 的主要算力单元,并针对座舱内的主要使用场景进行了算力需求的详细分解。
在进一步的分析中,我们重点关注了 CPU 、GPU 和 NPU 这三大核心算力单元。不仅深入介绍了它们的主要架构和工作原理,还提供了具体的性能评估公式。这些公式能够帮助读者更准确地量化CPU 、GPU 和 NPU的性能表现,从而为座舱系统的设计和优化提供有力的数据支持。
此外,我们还着重讨论了影响 SoC 性能的另一个关键因素——存储器性能。存储器的读写速度和带宽对 SoC 的整体性能有着显著影响。因此,在评估 SoC 算力时,必须充分考虑存储器的性能表现。
希望读者能够通过本章内容对 SoC 的算力评估有一个全面、深入的了解。这不仅有助于读者更好地理解和选择适合的 SoC,还能为座舱系统的设计、优化和升级提供有力的技术支持。
作者介绍:
张慧敏,蔚来汽车数字架构部智能座舱架构设计师、西安交通大学硕士。深耕嵌入式软件与智能手机芯片架构设计多年,已获专利授权15项。曾任紫光展锐芯片架构设计师,主导5G手机芯片及新能源汽车智能座舱系统架构设计,拥有丰富的实战经验。同时,他积极分享专业知识,于知乎平台开设“智能座舱架构与芯片”专栏,撰写多篇科技文章,广受业界好评。
-
汽车测试网V课堂
-
微信公众号
-
汽车测试网手机站
编辑推荐
最新资讯
-
【C-ICAP 成绩发布】理想L6
2025-01-05 14:07
-
HUD法规最新修订动向详解 区域1与区域2
2025-01-05 13:39
-
自动驾驶从小白到小强51~电磁兼容EMC(上
2025-01-05 13:38
-
自动驾驶从小白到小强52~电磁兼容EMC(下
2025-01-05 13:38
-
鱼眼相机在自动驾驶环境感知的应用和挑战
2025-01-05 12:42