创龙带您解密TI、Xilinx异构多核SoC处理器核间通讯

一、什么是异构多核SoC处理器

顾名思义,单颗芯片内集成多个不同架构处理单元核心的SoC处理器,我们称之为异构多核SoC处理器,比如:

  1. TI的OMAP-L138(DSP C674x + ARM9)、AM5708(DSP C66x + ARM Cortex-A15)SoC处理器等;
  2. Xilinx的ZYNQ(ARM Cortex-A9 + Artix-7/Kintex-7可编程逻辑架构)SoC处理器等。

二、异构多核SoC处理器有什么优势

相对于单核处理器,异构多核SoC处理器能带来性能、成本、功耗、尺寸等更多的组合优势,不同架构间各司其职,各自发挥原本架构独特的优势。比如:

  1. ARM廉价、耗能低,擅长进行控制操作和多媒体显示;
  2. DSP天生为数字信号处理而生,擅长进行专用算法运算;
  3. FPGA擅长高速、多通道数据采集和信号传输。

同时,异构多核SoC处理器核间通过各种通信方式,快速进行数据的传输和共享,可完美实现1+1>2的效果。

三、常见核间通信方式

要充分发挥异构多核SoC处理器的性能,除开半导体厂家对芯片的硬件封装外,关键点还在于核间通信的软硬件机制设计,下面介绍几种在TI、Xilinx异构多核SoC处理器上常见的核间通信方式。

  1. OpenCL

OpenCL(全称Open Computing Language,开放运算语言)是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员编写高效轻便的代码,而且广泛适用于多核心处理器(CPU)、图形处理器(GPU)、Cell类型架构以及数字信号处理器(DSP)等其他并行处理器,在能源电力、轨道交通、工业自动化、医疗、通信、军工等应用领域都有广阔的发展前景。

在异构多核SoC处理器上,OpenCL将其中一个可编程内核视为主机,将其他内核视为设备。在主机上运行的应用程序(即主机程序)管理设备上的代码(内核)的执行,并且还负责使数据可用于设备。设备由一个或多个计算单元组成。比如,在TI AM5728异构多核SoC处理器中,每个C66x DSP都是一个计算单元。

OpenCL运行时,一般包含如下两个组件:

  1. 主机程序创建和提交内核以供执行的API。
  2. 用于表达内核的跨平台语言。

2.DCE

DCE(Distributed Codec Engine)分布式编解码器引擎,是TI基于AM57x异构多核SoC处理器的视频处理框架,提供的完整Gstreamer插件框架。

DCE由三部分硬件模块组成,分别为MPU核心、IPU2核心以及IVA-HD硬件加速器,其主要功能如下:

MPU:基于ARM用户空间Gstreamer应用,控制libdce模块。libdce模块在ARM RPMSG框架上实现与IPU2的IPC通信。

IPU2:构建DCE server,基于RPMSG框架与ARM实现通信,使用编解码器引擎和帧组件控制IVA-HD加速器。

IVA-HD:实现视频/图像编解码的硬件加速器。

3.IPC

IPC(Inter-Processor Communication)是一组旨在促进进程间通信的模块。通信包括消息传递、流和链接列表。这些模块提供的服务和功能可用于异构多核SoC处理器中ARM和DSP核心之间的通信。

如下为TI异构多核SoC处理器常用的核间通信方式的优缺点比较:

 

方式

优点

缺点

OpenCL

  1. 易于在设备之间移植
  2. 无需了解内存架构
  • 4
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值