多核异构系统芯片如何实现高速通信、降低硬件成本?附实战方案

发布时间:2024-12-3 阅读量:789 来源: 我爱方案网 作者: bebop

摘要:多核异构系统是指在一个芯片上集成多种不同类型的处理器核心,这些核心可能采用不同的指令集架构(ISA),具备不同的性能特性和功耗要求。这些核心可以是高性能的通用处理器核心,也可以是专为特定任务设计的专用核心,如图形处理单元(GPU)、数字信号处理器(DSP)或神经网络处理器(NPU)等。


在实际应用中,嵌入式处理器和单片机之间需要进行大量且频繁的数据交换,如果采用低速串行接口,则数据传输效率低,这将严重影响产品的性能;而如果采用高速并口,则占用管脚多,硬件成本将会增加。
为解决这一痛点,各大芯片公司陆续推出了兼具A核和M核的多核异构处理器,如瑞芯微的RK3568、NXP的i.MX8系列、瑞萨的RZ/G2L系列以及TI的AM62x系列等等。虽然这些处理器的品牌及性能有所不同,但多核通信原理基本一致,都是基于寄存器和中断传递消息,基于共享内存传输数据。
下面为快包分析师收集整理的市面上支持多核异构系统的芯片产品:


扫码可免费申请样片及技术规格书

在多核异构系统中,通过合理的处理器核心、外设等资源划分,同一颗 SoC 芯片就能够独立运行 Linux 系统和实时系统。在满足系统软件功能和硬件外设的丰富性要求的同时,满足系统的实时性要求。



多核异构系统的特点主要体现在以下几个方面:

  • 性能提升:通过结合不同类型的处理器核心,异构多核系统能够充分发挥各核心的优势,实现计算性能的大幅提升。例如,高性能核心可以处理复杂的计算任务,而专用核心则可以加速特定类型的数据处理。

  • 能效优化:异构多核系统能够根据任务需求动态调整核心的使用,避免资源浪费和不必要的功耗。对于计算密集型任务,可以使用高性能核心;而对于数据密集型任务,则可以利用专用核心进行高效的数据处理,从而实现能效比的最大化。

  • 灵活性:异构多核系统能够适应多样化的应用场景,通过灵活的任务调度和核心分配,满足不同任务的需求。这使得系统能够同时处理多种类型的任务,提高整体计算效率。

  • 并行处理:不同类型的核心可以并行工作,实现任务级别的并行处理。这种并行性可以进一步提高系统的整体性能,缩短计算时间。

多核异构系统处理器实际应用案例介绍


以配电终端产品为例,多核异构系统处理器的A核负责通讯和显示等人机交互任务,M核负责采样和保护等对实时性要求较高的任务,双核间交互模拟量、开关量和录波文件等多种信息,A核+M核的方案既满足了传统采样保护功能,又支持多种接口通信及新增容器等功能,符合国家电网现行配电标准。


通信过程整体架构说明


扫地机器人场景也适用多核异构系统处理器。在扫地机器人中,既需要运行 Linux 系统,使用复杂外设,例如 WiFi 、Camera 、Audio 等,实现网络连接、地图存储、算法处理等功能。又需要运行实时系统,使用简单外设,例如 PWM 、SPI 、UART 、ADC 、GPIO 等,实现环境感知、运动控制、状况检测等功能。使用瑞芯微多核异构系统,将传统平台两套系统合二为一,省去外挂的 MCU ,实现上述所有功能。并且,使用 SoC 内部的这颗 MCU 作为实时处理器或协处理器,也能让 Linux 系统获得更完整的性能释放。


在电力继电保护装置中,既对系统的实时性有要求,例如对各种电气量进行实时采集和数据分析、对保护控制信号进行实时响应等。又对系统的丰富性有要求,需要使用复杂的软件功能和硬件外设,例如显示设备、USB 设备、以太网设备等。使用瑞芯微多核异构系统,将传统平台两套系统合二为一,一套板卡就能同时独立运行 Linux 系统和实时系统,实现上述所有功能并且,得益于 AP 的高性能特性,在用于实时系统处理任务时,也能获得运行更高效、算力更强劲的使用体验。



接下来小编将以瑞芯微多核异构系统为例,介绍大致的通信实现流程以及实测效果

硬件通信


在瑞芯微多核异构系统中, AP + MCU 系统架构为 Linux + MCU RTOS / Bare-metal 。运行 Linux 的 AP处理器核心作为主核( Master Core )。运行 RTOS / Bare-metal 的 MCU 处理器核心作为从核( RemoteCore )。主核负责整个多核异构系统中共享资源的划分和管理,并运行主站服务程序。


RPMsg 协议方案


瑞芯微为多核异构系统提供了 RPMsg 协议标准框架方案,Linux Kernel 适配 RPMsg,RTOS 和 Bare-metal 适配 RPMsg-Lite。它定义了 AMP 系统中核与核之间进行通信时所使用的标准二进制接口。


RPMsg 是在 VirtIo 上实现的一个消息传递机制,VirtIo 是一种用来实现虚拟化 IO 的通用架构,类似的虚拟网卡,虚拟磁盘等都是用这种技术。VritIo 中基于 VirtIo-Ring,通过共享内存实现数据的发送/接收,vring 是单向的,一个 vring 专用于发送数据到 Remote Core,另一个 vring 用于从 Remote Core 接收数据。

通信流程


在 RPMsg 中,主-从核心通过中断和共享内存的方式进行通信,内存的管理由主核负责,在每个通信方向上都有 USED 和 AVAIL 两个缓冲区,这两个缓冲区可以按照 RPMsg 的消息格式分成一块一块,由这些内存块可以链接成一个环。


因此当主核(Master Core)和从核(Reomte Core)进行通信时:
1. Master Core 发送时,从 vring0(USED) 中取得一块 buffer,再将消息按照 RPMsg 协议填充
2. 将处理好的内存 buffer 链接到 ving1(AVAIL)
3. 触发中断通知 Remote Core 有数据处理待处理

类似的,当从核需要和主核进行通信时:

1. 从核根据队列从 vring1(AVAIL) 中取得一块 buffer,再将消息按照 RPMsg 协议填充

2. 将处理好的内存 buffer 链接到 ving0(USED)

3. 触发中断通知 Master Core 有数据处理待处理


完成消息传递后,释放使用的 buffer,并等待下一笔数据发送。从核发送时,与主核发送流程相反。通信过程中的共享数据放在 vdev buffer 中。RPMsg 每次发送的最大数据长度取决于 payload 长度,这个长度在SDK中默认为 512 Bytes,由于 RPMsg还带有16 Bytes的数据头,因此一次性传输的最大数据量为 496 Bytes。

实际使用效果


通过程序实测,主核和从核可以批量传输大数据。同样以配电产品为例——128点采样的录波文件大约为43K,若通过传统的串行总线传输方式,需要数秒才可完成传输


使用瑞芯微的双核异构通信方案,只需要不到0.5秒即可传输完成,数据传输效率提升数十倍!同时还避免了串行总线易受EMC干扰的问题,提高了数据传输稳定性,简化了应用编程,可满足用户快速开发的需求。


扫码可免费申请样片及技术规格书


相关资讯
开年大展,CⅠTE2025“圳”聚创新

“AI+”智能可穿戴、智能家居、机器人、汽车等智能硬件产品和应用在今年的CES大放异彩

LDO电源管理芯片在工业控制、便携式电子设备中的应用案例与选型推荐

LDO电源管理芯片具有良好的降压稳压作用。当输入变化很大时,输出基本保持稳定。

电动车、无人机、eVTOL应用如何选择合适的电机驱动方案

无刷直流电机具有较低的重量和噪音,而且维护成本较低,适合无人机的飞行要求

FPGA方案在医疗设备控制和药物研发中的实战案例

在医疗设备方面,FPGA方案以灵活、低风险的方式成功实施系统设计,同时提供了最佳的成本效率和增值的差异化功能,延长了医疗保健应用的生命周期,包括诊断成像、电子医疗、治疗和生命科学与医院设备。

边缘计算方案在工业控制、能源管理领域中的典型应用

边缘计算是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务,具有低延迟、安全、节约成本、高可靠性五大优势