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

发布时间:2024-12-3 阅读量:1267 来源: 我爱方案网 作者: 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干扰的问题,提高了数据传输稳定性,简化了应用编程,可满足用户快速开发的需求。


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


相关资讯
待机功耗<10μA:国产超低功耗智能表计方案合集

基于智能表计的场景要求,主控芯片的超低功耗是必须的。低功耗不仅能提高智能表计的效率,还能大幅减少电池磨损和维护成本。

基于多普勒雷达的高灵敏度人体微动感知方案,适用于智能灯具,宠物设备等场景

人体感应雷达模组的工作原理是基于多普勒效应和目标反射原理,通过发射毫米波信号并接收反射信号来检测人体的存在、运动状态和位置信息。

全新低成本EtherCAT步进马达方案上市!全套设计资料+代码可交付

在变频器、伺服、PLC及远程IO等通用工控场景中,其所用的电机组群多为分散且距离较远,为了能够保证设备达到预期效果,系统同步性能直接影响产品的价值。

59.9元起!瑞芯微超高性价比星闪核心板/开发板上市!

我爱方案网合作伙伴触觉智能RK3506+星闪全国产方案炸裂上市,以核心板59元+开发板188元含税的颠覆性定价,搭载星闪三模技术,结合全国产化与工业级-40~85℃宽温性能

高性能国产芯片开发的热敏打印机方案合集

热敏打印机由于具备低耗材需求、便携轻巧、后期维护成本低等特点而备受市场关注