0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英飞凌AURIX TC4x微控制器系列中的并行处理单元(PPU)简介

骏龙电子 来源:英飞凌汽车电子生态圈 2024-05-17 10:52 次阅读

并行处理单元(PPU)是集成在英飞凌AURIX TC4x微控制器系列中的协处理器PPU旨在卸载主CPU信号处理、滤波和其他数学运算,从而为要求严格的应用程序(例如实时控制、传感器信号处理和轨迹规划等)提供高计算能力和缩短执行时间,并且能支持实现简单的神经网络算法

本文将简要介绍PPU的内部结构、功能和应用领域。

1. PPU内部结构

12072d68-13f2-11ef-b74b-92fbcf53809c.png

图1. TC4x微控制器示意框图

图1是TC4x 微控制器示意框图,图中右上角是PPU的简化结构,由标量核(scalar core),向量核(vector core/SIMD core),一级缓存,及其它系统资源组成。

01

标量核(Scalar Core):标量核用于执行大量的标量运算,以及任务调度。标量核支持多种算术运算和逻辑运算,还支持硬件浮点运算,从而实现更高的计算效率。另外,标量核提供丰富的硬件功能安全机制,可以辅助实现高功能安全等级的任务。

02

向量核(Vector core/SIMD Core):向量核是 PPU 的另一个重要功能模块,专门用于执行向量运算。向量核支持多种向量算术运算、逻辑运算和专用信号处理,支持整型数和浮点运算,从而实现更高的计算效率。向量核还支持多级流水线和 SIMD(single instruction multiple data,单指令多数据)指令,对不同数据同时执行同样的操作,通过并行执行多个向量运算来提高效率。

03

一级缓存:一级缓存是PPU用于保存计算输入和输出数据的存储空间。由于结构上和运算核紧密耦合,该缓存可以在PPU 的执行过程中对状态进行快速读写,并且有EDC/ECC保护,从而实现更高的执行效率和更高的可靠性。

04

其它系统资源:包括用于快速数据搬运的DMA,共享内存区等等。

2. SIMD 和VLIW指令

2.1SIMD(Single Instruction Multiple Data)指令

SIMD(Single Instruction Multiple Data)指令是一种并行指令,可以同时对多个不同数据进行相同的操作。这种指令可以大幅提高计算效率,特别是在执行向量运算时效果更为明显。

PPU 的 SIMD 指令集包括多种运算指令,如数学运算、逻辑运算等。这些指令都是并行指令,可以同时对多个数据进行操作,从而大幅提高计算效率。例如,PPU 的 SIMD 加法指令可以一次性对多个数据进行加法运算,从而实现更高的计算速度。

下面是一个示例,假设有两个向量 A 和 B,每个向量包含 16 个 16 位整数 ,要计算 A 和 B 的和。如果使用不支持SIMD指令的标量核,代码示例如下,需要进行16次循环运算,将不同的A[i]、B[i] 数据依次顺序进行加法操作,相当费时。

123b980a-13f2-11ef-b74b-92fbcf53809c.png

而如果使用支持SIMD指令的 PPU进行运算,则可以一次完成,假设PPU位宽是256bit(=16*16bit):

124e682c-13f2-11ef-b74b-92fbcf53809c.png

由此可见,支持SIMD指令的PPU在进行向量运算时,通过降低同样运算的处理次数,从而有效节省运算时间,提高处理效率。

2.2VLIW(Very Long Instruction Word)指令

VLIW(Very Long Instruction Word)是一种处理器的并行架构,允许在单个时钟周期内,由处理器的不同部件同时执行多个操作。

例如,如果要执行两个复向量A和B的乘法 ,结果存储在向量C中。

126f574e-13f2-11ef-b74b-92fbcf53809c.png

C语言实现如下:

128561f6-13f2-11ef-b74b-92fbcf53809c.png

如果在标量核上运算,会顺序执行下列代码,并循环多次:

129a9bac-13f2-11ef-b74b-92fbcf53809c.png

PPU内的向量核有三个处理单元,包括两个浮点运算器,和一个读取/存储部件用于将RAM中的数据搬运到核内寄存器。这三个部件可以同时运行,形成指令层面的并行机制,从而实现VLIW指令。

上列代码由PPU处理,可以将第4和第5行的乘法运算分别分配给两个浮点运算器同时处理,如下红框所示。而在下个指令周期内,第7,8,9行的指令可以分配给三个部件同时处理,如下蓝框所示。从而将原先需要12条指令周期运行的代码缩短到9条(12-1-2=9)指令周期,提高执行效率。

12aefe94-13f2-11ef-b74b-92fbcf53809c.png

3. 应用场景

PPU适用于不同应用场景,图2 列出了三种较常见的算法。第一种是将时域信号转变为频域信号,以提取频率信息的快速傅里叶变换(FFT)。FFT 在数字信号处理中得到了广泛的应用,如音频信号处理、毫米波雷达信号处理等。

12cc6470-13f2-11ef-b74b-92fbcf53809c.png

图2. PPU实现的算法

第二种是多层感知算法,它是一种基于人工神经网络的机器学习算法,可以用于分类、回归和模式识别等应用。MLP 由多个神经元组成,每个神经元都包含多个输入和一个输出。MLP 通过学习输入和输出之间的映射关系,从而实现对新数据的预测和分类。MLP 在机器学习和数据挖掘中得到了广泛的应用。除此之外,MLP 还可以用于控制和优化问题。例如,MLP 可以用于控制系统和过程控制,如传感器信号处理分类、辅助驾驶、自动驾驶等。

第三种是卡尔曼滤波,该算法是一种基于状态空间模型的滤波器,可以用于估计未知变量的状态和参数。卡尔曼滤波通过利用系统的动态模型和传感器的观测值,递归地对状态进行估计和预测,从而实现对系统的状态进行优化和控制。卡尔曼滤波在自动控制和信号处理中得到了广泛的应用,例如,卡尔曼滤波可以用于目标跟踪、路径规划算法等。

4. 开发工具

新思科技(Synopsys)为PPU提供了丰富的开发工具资源【1】,包括Metaware编译器及软件组件,下列表格列出了相关工具组件:

软件组件 描述
MetaWare开发工具包 该工具包包含支持内核和应用程序开发编程的C/C++和OpenCL C编译器。它还包括一个调试器和nSIM PPU模拟器,用于调试、分析和优化内核和应用程序。
Simulink基于模型设计的支持 MATLAB模型自动生成优化代码,以便在PPU上执行。
DSP和数学库 这些是为在PPU上执行而优化的库,包括矢量DSP和矢量线性代数库。
MetaWare神经网络SDK 该SDK包括一个神经网络编译器,用于编译和运行为PPU优化的人工智能模型。
AUTOSAR复杂设备驱动程序(CDD)和底层软件驱动(LLD) CDD为AUTOSAR应用程序的软件组件(SWC)提供PPU服务。
LLD是一个底层软件驱动,用于处理TriCore和PPU之间的通信
PPU分配器 这是用于在TriCore处理器核心之间进行通信的PPU的静态库。

表1. 新思科技提供的PPU工具组件

上述PPU开发工具链,除了新思科技可提供外,Hightec 在提供TC4x TriCore CPU编译器的同时,也集成了Metaware编译工具,及相关软件组件【2】,形成完整的TC4x开发环境工具链。该工具链符合ISO26262 ASIL D,能帮助客户实现快速、可靠、高功能安全等级的基于TC4x微处理器的汽车软件开发。

此外,Tasking也开发了PPU的编译器,并集成在新的SmartCode开发环境中。

5. 总结

总的来说,PPU是一个性能强大的处理器,内部包含标量核、向量核、一级缓存和其它系统资源 等,可以实现高速数字滤波、向量矩阵运算、浮点运算、简单的神经网络等,为要求严格的实时计算应用提供了显着的性能优势。PPU为Tricore 主核卸载了复杂的信号处理和数学运算,使得执行时间更快,而其高可配置性和专用硬件资源使其非常适用于各种应用程序。使用户有更多选择余地,使用不同核构架实施不同性质的运算。

审核编辑:刘清
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6893

    浏览量

    148648
  • 传感器
    +关注

    关注

    2536

    文章

    48838

    浏览量

    743478
  • 神经网络
    +关注

    关注

    42

    文章

    4597

    浏览量

    99462
  • 协处理器
    +关注

    关注

    0

    文章

    71

    浏览量

    18036
  • 傅里叶变换
    +关注

    关注

    5

    文章

    425

    浏览量

    42352

原文标题:AURIX™ TC4x 微控制器的并行处理单元(PPU)简介

文章出处:【微信号:骏龙电子,微信公众号:骏龙电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    英飞凌MCU AURIXTC4x特性概览 2024年下半年逐步量产

    为扩展其领先的 AURIX微控制器系列英飞凌推出了用于电动交通、ADAS 、汽车 E/E 架构和经济型人工智能 (AI) 应用的新一代AURI
    的头像 发表于 02-28 13:45 1522次阅读
    <b class='flag-5'>英飞凌</b>MCU <b class='flag-5'>AURIX</b>™ <b class='flag-5'>TC4x</b>特性概览 2024年下半年逐步量产

    英飞凌AURIX TC297微控制器简介

    AURIX™是英飞凌全新的微控制器系列。其创新的多核架构基于多达三个独立的32位TriCore CPU,旨在满足最高安全标准,同时显著提高性能。TC
    发表于 09-19 10:03 798次阅读
    <b class='flag-5'>英飞凌</b><b class='flag-5'>AURIX</b> <b class='flag-5'>TC</b>297<b class='flag-5'>微控制器</b><b class='flag-5'>简介</b>

    英飞凌TC3xx系列安全管理单元的使用

    本篇文档主要用来介绍英飞凌基于AURIX-2G TriCore 1.6.2架构的 TC3xx系列安全管理单元的使用。
    的头像 发表于 12-07 09:29 1255次阅读
    <b class='flag-5'>英飞凌</b><b class='flag-5'>TC</b>3xx<b class='flag-5'>系列</b>安全管理<b class='flag-5'>单元</b>的使用

    英飞凌推出新一代AURIX微控制器,加速汽车的电气化和数字化进程

    新产品系列英飞凌领先的AURIXTC3x 系列微控制器的基础上进行了升级,采用了新一代Tr
    发表于 01-17 16:09 1675次阅读
    <b class='flag-5'>英飞凌</b>推出新一代<b class='flag-5'>AURIX</b>™<b class='flag-5'>微控制器</b>,加速汽车的电气化和数字化进程

    如何在aurix TC333微控制器配置内存分区?

    谁能建议如何在 aurix TC333 微控制器配置内存分区。
    发表于 01-30 07:10

    Aurix TC399微控制器支持哪些TSN标准?

    您好,我想知道 Aurix TC399 微控制器支持哪些 TSN 标准?
    发表于 05-21 07:19

    如何在TC36x微控制器实现冗余闪存?

    我需要在英飞凌 TC36x 微控制器实现冗余闪存。 实施过程我需要做哪些事情?
    发表于 05-30 07:36

    赛普拉斯AURIX系列微控制器资料手册!

    本帖最后由 o_dream 于 2020-9-1 17:47 编辑 AURIX微控制器在一个硅芯片中结合了三项强大的技术,为嵌入式应用实现了新的功率,速度和经济性水平。 AURIX
    发表于 09-01 17:45

    英飞凌采用第二代AURIX多核心微控制器系列提升车辆通讯的资料安全性

    英飞凌科技股份携手ESCRYPT公司,共同开发汽车网络安全性,推出可加密车内通讯的解决方案,同时也将未来的安全需求纳入考量,更加提升安全性。该解决方案采用英飞凌第二代AURIXTC3
    发表于 01-06 09:11 1997次阅读

    英飞凌AURIXTC4x微控制器赋能TERAKI雷达检测软件,提高自动驾驶的安全性

    和算法来增强车辆对周围环境的感知能力,并将驾驶安全提升到一个新水平。边缘传感器处理领域的市场领导者TERAKI近日发布了最新雷达检测软件,该软件集成在英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)符合ASIL-D安全等级要求的
    发表于 10-19 13:49 437次阅读
    <b class='flag-5'>英飞凌</b><b class='flag-5'>AURIX</b>™ <b class='flag-5'>TC4x</b><b class='flag-5'>微控制器</b>赋能TERAKI雷达检测软件,提高自动驾驶的安全性

    英飞凌AURIX TC3xx和TRAVEO T2G系列微控制器介绍

    英飞凌市场领先的 AURIX TC3xx 和TRAVEO T2G 车用 MCU将率先支持Rust语言。虽然TRAVEO 使用的是 Rust 官方工具链和Arm Cortex-M 目标架构,但
    发表于 06-20 15:07 591次阅读
    <b class='flag-5'>英飞凌</b><b class='flag-5'>AURIX</b> <b class='flag-5'>TC</b>3xx和TRAVEO T2G<b class='flag-5'>系列</b><b class='flag-5'>微控制器</b>介绍

    英飞凌科技和Eatron合作推进汽车电池管理系统(BMS)

    英飞凌科技公司和Eatron Technologies合作,将复杂的机器学习算法和解决方案集成到AURIX TC4x微控制器(MCU)中。该合作伙伴关系旨在推进汽车电池管理系统(BMS
    的头像 发表于 11-02 16:48 896次阅读

    英飞凌和Eatron合作

    TC4x微控制器(MCU)。此次合作旨在推进汽车电池管理系统(BMS)。凭借具有集成并行处理单元P
    的头像 发表于 11-07 16:07 200次阅读
    <b class='flag-5'>英飞凌</b>和Eatron合作

    英飞凌与Eatron合作推进电池管理管理解决方案

    协议,将Eatron先进的机器学习解决方案和算法集成至英飞凌AURIXTC4x微控制器(MCU)中。此次合作旨在推进汽车电池管理系统(BMS)的发展。得益于MCU
    发表于 11-10 14:00 281次阅读
      <b class='flag-5'>英飞凌</b>与Eatron合作推进电池管理管理解决方案

    英飞凌最新的带神经加速的汽车MCU系列 AURIX TC4x微控制器

    问题,允许工程师将人工智能模型纳入安全关键应用,如汽车用例。 这篇文章进一步研究了AURIX TC4x系列汽车MCU与前几代相比。我们还将回顾MCU家族中的人工智能安全性和合规性,旨在将机器学习和人工智能性能引入更多应用。 确保
    的头像 发表于 04-24 11:53 543次阅读
    <b class='flag-5'>英飞凌</b>最新的带神经加速的汽车MCU<b class='flag-5'>系列</b> <b class='flag-5'>AURIX</b> <b class='flag-5'>TC4x</b><b class='flag-5'>微控制器</b>