按下手机快门的一瞬间,整颗芯片已经开始协同工作。

图像传感器采集光线,ISP处理原始像素,NPU识别人脸与场景,GPU生成预览画面,CPU协调相机应用、存储和系统服务,DSP还可能参与降噪与多帧算法。用户看到的只是一次拍摄,系统内部却完成了多条计算流水线的衔接。

语音助手也采用相似的工作方式。DSP长期监听唤醒词,CPU启动相关服务,NPU执行语音识别和模型推理,网络模块按需连接云端,音频单元最终播放回答。一次看似简单的语音交互,可能穿过五六个硬件模块。

终端芯片已经从一位全科医生发展成一支专科团队。CPU、GPU、NPU、DSP和ISP各有所长,操作系统则逐步承担总调度角色。芯片参数提供计算潜力,软件栈决定这份潜力能够释放到什么程度。

图1 一次相机AI任务需要多类计算单元协作,CPU贯穿控制过程,内存、同步与热预算共同影响端到端体验

终端计算早已进入专业分工阶段

早期软件主要围绕CPU进程和线程组织。操作系统依据任务优先级、时间片、前后台状态和处理器负载安排执行顺序。显示、音频、基带和影像领域也长期使用专用模块,只是这些模块往往由各自的软件栈分别管理,跨单元协作的规模相对有限。

AI、计算摄影、实时图形与持续感知扩大了协作范围。一项功能会同时调用多个计算单元,还会频繁交换图像、音频、模型张量与控制信息。操作系统管理的对象也随之扩展,既包括CPU线程,也包括计算图、设备队列、共享缓冲区、同步信号、功耗预算和热余量。

这种变化源于硬件效率。通用处理器追求灵活性,专用计算单元则针对特定数据结构和计算模式优化电路。任务与硬件特征形成良好匹配时,专用单元可以提供更高吞吐和更好的单位能耗。

专业化同时带来了明确边界。每类单元拥有各自的指令体系、数据格式、队列模型和适用范围。系统首先要判断一项任务能否在某个单元上运行,随后才会比较速度、能耗和当前负载。

CPU依然承担整机控制中心

CPU擅长系统服务、程序控制、复杂分支、小规模计算和异常处理。应用启动、任务创建、内存申请、设备调用和结果回调通常都需要CPU参与。

即使模型主要运行在NPU上,CPU仍要准备计算图、描述符、输入数据和同步对象,还要向驱动提交命令。CPU提交速度若跟不上加速器执行节奏,NPU也会进入等待。

小模型、动态形状和分支密集任务有时也更适合CPU。此类任务的计算量较小,启动加速器所需的编译、唤醒和数据传输时间可能占据较大比例。CPU凭借较低的启动开销,反而能够获得更短的端到端时延。

因此,CPU继续承担通用计算与系统控制。异构架构拓展了它的协作范围,也提高了调度工作的复杂程度。

GPU同时服务图形与并行计算

GPU拥有大量并行计算单元,适合图形渲染、矩阵运算、卷积和结构规整的数据处理。它的编程生态相对成熟,算子覆盖范围通常也比较广。

移动GPU还经常采用分块渲染架构,利用片上存储处理局部图像,从而减少外部内存访问。游戏、界面动画、相机特效和部分AI模型都可能使用GPU。

这些任务会共享GPU队列、内存带宽和热预算。AI模型占用较多GPU时间时,界面渲染可能等待更久;大型游戏持续运行时,后台视觉任务也需要重新安排执行时机。

操作系统与图形运行时会依据队列优先级、同步关系和帧期限组织任务。Vulkan等接口允许应用通过命令缓冲区、信号量和栅栏表达执行顺序,驱动再将这些命令提交给硬件。

GPU由此既是高吞吐计算单元,也是用户界面的关键基础设施。系统需要在计算任务与显示流畅度之间维持稳定节奏。

NPU的价值取决于模型适配质量

NPU面向神经网络计算设计,擅长卷积、矩阵乘法和融合张量运算。适配良好的模型可以获得较高吞吐和较好的每瓦性能,端侧视觉、语音和生成式AI因此获得新的部署空间。

NPU的实际表现取决于多个条件。模型采用的算子、数据精度、张量布局、动态形状、片上存储容量和编译器融合能力都会影响执行效率。TOPS描述某类运算的理论峰值,真实体验还需要结合整条计算链路观察。

运行时会先查询NPU支持的算子,再将兼容部分组成连续子图。剩余节点可能交给CPU或GPU。子图边界越多,数据转换、队列同步和内存访问就越频繁。

Google LiteRT的Delegate机制也采用这类工作方式。运行时识别后端支持的节点,再将连续分区交给加速器执行。官方文档指出,多个零散分区会增加跨后端的数据传输与同步成本。LiteRT Delegate机制

因此,“模型运行在NPU上”通常是一种简化表达。真实路径可能包含CPU预处理、NPU主干计算、CPU后处理和GPU显示。模型结构与运行时分图质量共同决定NPU的实际价值。

DSP负责长期值守与流式处理

DSP擅长音频、滤波、传感器融合和连续信号处理。它通常拥有较好的低功耗特性,也适合处理固定节奏的数据流。

语音助手可以将唤醒词检测和语音活动识别部署在DSP上。DSP长期保持轻量运行,检测到用户声音后再唤醒CPU或NPU。这样的分层架构可以控制待机功耗,也能维持较快响应。

部分DSP运行独立固件或实时操作系统。Linux或Android通过驱动、远程调用、共享缓冲区和消息机制与其通信。Linux中的remoteproc负责远端处理器的启动和固件管理,rpmsg则提供跨处理器消息通道。

这套结构说明,异构计算有时还会跨越多个操作系统实例。主系统、DSP固件和硬件队列共同组成执行路径,跨域通信本身也需要时间和资源。

ISP守住影像流水线的实时期限

ISP围绕相机数据设计,通常负责坏点校正、去马赛克、降噪、颜色处理、缩放和曝光统计。它按照逐帧流水线运行,追求稳定吞吐和可预测时延。

拍照时,传感器先输出原始图像,ISP完成基础处理,NPU或DSP再执行场景识别、多帧融合和语义分割,GPU随后负责预览与显示。CPU贯穿整条链路,负责请求编排、元数据处理和设备控制。

ISP更接近固定功能流水线,任务范围主要围绕相机数据。Android Camera HAL向上层提供统一的相机管线模型,芯片厂商再将请求映射到具体的ISP、GPU、DSP和NPU组合。Android Camera HAL

由此可见,CPU、GPU、NPU、DSP和ISP更像一组专业岗位。每个岗位都拥有清晰专长,运行时和系统框架负责组织合作顺序。

算力丰富之后,协调成本随之上升

异构计算首先面临任务匹配。运行时需要读取算子类型、数据精度、张量形状、时延目标和硬件能力,再选择执行后端。部分任务拥有多条可行路径,部分任务则依赖特定单元。

后端选择还要考虑启动成本。短小任务留在CPU上可能更快,长时间并行任务更容易从GPU或NPU获得收益,持续感知任务通常适合DSP。系统需要综合任务规模、数据位置和当前队列状态作出判断。

接下来出现的成本来自数据移动。CPU、GPU、NPU和ISP经常共享同一片物理内存,这种架构可以减少独立显存之间的大规模复制。缓存维护、IOMMU映射、格式转换、张量布局调整和同步等待依然会消耗时间。

Linux的dma-buf机制支持多个驱动共享缓冲区,dma-fence和dma-resv负责表达异步访问状态。Linux dma-buf 共享缓冲区意味着多个设备可以访问同一份数据,系统仍需管理访问顺序、缓存一致性和数据格式。

一帧高分辨率图像可能同时交给ISP、NPU、GPU和显示模块。每增加一次YUV与RGB转换、缩放或CPU回读,内存带宽和功耗都会上升。芯片内部拥有很高的理论算力时,数据路径依然可能成为整机瓶颈。

算力单元之间很少存在通用替补关系

“闲置算力补位”适合描述同构CPU核心。异构单元拥有不同指令、算子和内存模型,任务迁移需要兼容实现。

GPU可以承担部分AI计算,NPU也可以运行受支持的视觉模型,ISP则主要处理相机流水线。一个闲置ISP通常缺少通用语言模型的执行能力,一个空闲DSP也需要匹配的算子库和内存条件。

运行时可以在兼容后端之间重新放置可迁移子图。例如,某段计算同时拥有CPU、GPU和NPU实现,系统便可以比较队列负载、能耗和数据搬运成本。运行时还可以调整模型精度、并发数量、处理帧率和端云路径。

这种调度更接近“有条件的路径选择”。系统追求整条任务链的完成效率,而非单个计算单元的利用率。

资源竞争往往发生在共享部分

CPU、GPU、NPU和ISP虽然拥有各自的执行单元,却共同使用内存控制器、片上互联、电源轨和散热空间。多类单元同时高负载运行时,共享资源会迅速承压。

以相机实时翻译为例。ISP持续输出图像,NPU执行文字识别和翻译模型,GPU叠加字幕,CPU处理相机与网络逻辑。几条流水线会共同占用内存带宽,芯片封装功耗也会同步上升。

NPU任务还会消耗CPU提交线程、驱动中断和共享缓存。竞争通过这些路径传导到界面、音频和通信业务。用户感受到的卡顿,有时来自CPU占用,有时来自内存带宽拥塞,也可能来自同步栅栏等待或热管理降频。

操作系统需要保护交互、音频、电话和基础服务的响应余量。系统可以配置任务优先级、资源下限、带宽预算和并发上限,使后台AI与影像任务按照期限进入相应队列。

现代系统采用多层嵌套调度

现代终端已经具备成熟的CPU调度能力。Linux会参考任务利用率、核心容量和处理器拓扑安排线程,Energy Aware Scheduling还会结合能耗模型选择CPU核心。Linux EAS

Android通过cgroup和task profiles为前台应用、后台任务与系统服务配置资源策略。Android cgroup抽象层 uclamp可以为任务设置性能范围,schedutil则根据调度信号请求CPU频率。

这些机制主要覆盖CPU线程与相关资源。GPU、NPU、DSP和ISP通常拥有各自的驱动、固件、命令队列和同步机制。运行时负责拆分计算图,驱动负责提交任务,固件管理设备内部执行,系统服务协调业务等级,电源与热管理模块统筹整机预算。

因此,现代异构调度更像一组嵌套控制环。

图2 异构调度由应用、运行时、系统服务、驱动与硬件共同完成,任务目标向下传递,执行状态持续向上反馈

CPU调度器安排线程,设备驱动管理命令队列,运行时选择计算后端,系统框架控制生命周期和优先级,热管理模块决定整机可以维持多少性能。各层通过性能提示、共享缓冲区、同步栅栏、遥测数据和硬件抽象接口交换信息。

“统一调度中枢”更适合指这种系统级编排能力。它负责协调已有子系统,同时保留各类硬件的专业调度机制。

操作系统需要掌握五项编排能力

系统首先需要理解任务目标。应用、模型框架或多媒体服务会提供任务类型、响应期限、精度需求和用户可见性。运行时再结合算子支持、数据位置和设备状态选择执行路径。

随后,运行时需要形成高质量的计算分区。连续的大子图更容易发挥NPU或GPU优势,也能减少跨设备同步。模型编译、算子融合和张量布局优化将在这一阶段直接影响性能。

数据流管理紧接着进入执行过程。系统通过共享缓冲区、内存映射、预加载和缓存复用降低搬运成本,同时管理格式转换与同步关系。内存优化的目标从“复制次数”进一步扩展到带宽、延迟和单位任务能耗。

多任务并发则需要服务等级。触控、通话、音频和安全服务拥有明确的时延保障,前台AI任务依据交互期限获得资源,后台分析任务则根据电量与温度选择运行窗口。

最后,系统还要统筹功耗和热量。各计算单元可以拥有独立的频率档位,整机仍共享封装功耗、电池供电能力和机身散热空间。操作系统需要在短时响应与持续性能之间选择合适工作点。

这五项能力形成一条完整链路。系统识别任务,运行时选择后端,内存框架组织数据,调度机制管理并发,能效策略控制持续运行。

峰值性能与持续体验属于两个层面

多类计算单元同时进入高性能状态,可以缩短相机快门、首帧渲染或AI首Token时间。这种爆发性能适合交互启动阶段。

连续游戏、视频增强和长文本生成会逐步消耗热余量。温度升高后,系统需要调整CPU、GPU、NPU和内存频率,任务吞吐也会进入稳定工作区间。

Android Thermal API允许应用读取热状态和thermal headroom,并根据剩余热空间调整负载。Android热管理 AI应用可以改变模型规模、输出长度和推理频率,游戏可以调整画质与帧率,相机可以改变算法复杂度。

高性能终端因此需要同时优化两类体验。启动阶段关注响应速度,持续阶段关注稳态吞吐、温度和电量。峰值参数展现硬件潜力,持续体验体现软硬件协同水平。

软件生态决定硬件能力的覆盖范围

异构计算需要一条完整软件链。应用通过API表达任务,编译器和运行时拆分计算图,系统服务管理优先级与生命周期,HAL连接统一接口与厂商实现,驱动负责地址空间、队列、时钟和故障恢复,固件则管理设备内部执行。

任何一层都可能影响最终结果。模型中的算子需要运行时支持,运行时需要匹配驱动能力,驱动需要适配固件版本,固件还要正确管理硬件队列与内存。

同样标称TOPS的两款设备,实际AI速度可能出现较大差异。编译器融合、片上存储、内存带宽、驱动质量、散热设计和运行时策略都会参与结果。

LiteRT通过Delegate连接GPU、DSP与NPU,ONNX Runtime通过Execution Provider连接不同硬件后端,Vulkan和OpenCL则为图形与通用并行计算提供接口。统一API可以降低上层适配成本,平台调优仍需深入具体芯片。

这种生态关系也解释了操作系统厂商的长期投入方向。稳定的硬件抽象、成熟的驱动、完善的性能工具和清晰的开发接口,往往比单项跑分更能积累平台价值。

异构计算扩大了测试范围

传统性能测试常关注CPU占用、应用启动时间和平均帧率。异构终端还需要记录端到端时延、队列等待、数据搬运、内存带宽和热稳定性。

AI任务可以观察模型冷启动、热启动、首Token时间、持续吞吐和算子回退比例。图形任务可以观察P95与P99帧时、GPU队列长度和显示期限。影像任务可以记录逐帧延迟、缓冲区积压和多帧算法耗时。

功耗测试则需要覆盖单位任务能耗、峰值温度、稳态温度和热降频后的性能保持率。多任务场景还应同步观察通话、音频、触控和消息服务的稳定性。

数据路径同样需要量化。团队可以记录跨单元缓冲区传递次数、格式转换次数、CPU回读量和同步等待时间。很多系统瓶颈会在这些指标中显现。

整机体验来自整条链路。单个计算单元拥有较高利用率,只说明局部处于忙碌状态;任务能否按期完成,才更接近用户感受到的性能。

操作系统正在成为整颗芯片的编排者

CPU仍会承担系统控制与通用计算,各类专用单元也会继续扩展。未来终端可能同时拥有图形、AI、影像、音频、安全和传感计算模块,算力结构将进一步专业化。

操作系统的职责也会持续向外延伸。它需要理解任务意图,匹配执行后端,组织共享数据,管理设备队列,保护关键服务,并在统一功耗与热预算下维持稳定体验。

这一演进更接近跨层协作。CPU调度器、系统服务、AI运行时、图形框架、多媒体管线、驱动和固件共同参与,每一层都提供部分决策信息。

终端性能竞争也将采用新的评价尺度。峰值算力说明芯片具备多少潜力,端到端时延、持续吞吐、单位能耗和多任务稳定性则说明系统兑现了多少潜力。

当一部手机拥有越来越多计算单元,真正稀缺的能力将集中在组织与协同。下一代操作系统的技术价值,正体现在它能否指挥这支计算团队按时完成任务,同时维持流畅、稳定与可持续的整机体验。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐