【ARM】FPU,VFP,ASE,NEON,SVE...是什么意思?

这篇具有很好参考价值的文章主要介绍了【ARM】FPU,VFP,ASE,NEON,SVE...是什么意思?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【更多软件使用问题请点击亿道电子官方网站】

1、 文档目标

对执行浮点和SIMD操作的逻辑的各种名称的缩写词进行简要解释。

2、 问题场景

Arm处理器内核中有用于执行浮点和SIMD操作的逻辑,有各种名称。它们通常是一系列的缩写形式,因此本文旨在对每一个缩写词进行简要解释。

3、软硬件环境

   1  软件版本:不涉及

   2 电脑环境:不涉及

4、相关缩写

 FPU  (Floating-Point Unit) 浮点单元

        浮点单元是处理器核心中的一个模块,用于使用 浮点数 执行算术运算。并非所有处理器都需要这个模块,因此一些处理器可以选择进行配置。

       如果配置在内核中将定义FPU的工作方式及其支持的指令。

       如果配置 FPU,则通常仍然可以执行浮点运算,只是速度较慢,因为这些运算将需要使用软件子程序来执行。

不同的浮点单位支持不同大小的浮点数,因此对于某些处理器来说,无论它们只支持单精度值或是双精度值,这都是可配置的选项。

VFP (Vector Floating Point) 矢量浮点

      之所以被称为“矢量”浮点,是因为不仅对处理浮点数的支持,而且还支持将浮点数作为SIMD运算的矢量处理。在这种情况下“向量”是将多个数据项打包到一个更大的数据容器中(例如,连续存储在单个寄存器中的多个独立值)。这是Armv8之前Arm体系结构浮点扩展的名称。

在Armv7体系结构中,不推荐使用VFP扩展来处理矢量中的浮点数,因为此功能已被“高级SIMD”扩展所取代。有不同版本的VFP(VFPv1、VFPv2、VFPv3、VFPv4)引入了对新功能和数据类型的支持。VFPv2是Armv5和Armv6架构的扩展,VFPv3和VFPv4是Armv7架构的扩展。

ASE (Advanced SIMD Extension) 高级SIMD扩展

这是对Armv7体系结构的扩展,使用整数或浮点数的矢量来支持额外的SIMD操作。与VFP扩展类似,高级SIMD扩展也有几个版本(高级SIMDv1、半精度高级SIMD和高级SIMDv2),它们添加了额外的功能并支持更多的数据类型。

虽然体系结构扩展是“高级SIMD扩展”,但用于此功能的产品名称是NEON。这两个名字指的是同一件事。

对于Armv8A体系结构,矢量SIMD操作的处理包含在默认体系结构中,因此高级SIMD不再被视为扩展。它仍然被称为NEON,预计将出现在所有标准v8-A处理器内核中,尽管从架构上讲,内核可能不包括它。

NEON

“NEON”是Armv7和Armv8 Cortex-A和Cortex-R处理器的高级SIMD功能所使用的产品名称。

不同处理器上的NEON(/ASE)支持可以采取不同的形式。基本功能相同,即允许对整数或浮点数执行SIMD操作。所用矢量的大小、矢量的数量和支持的浮点数的类型都可能因所实现的内容而异。

MPE (Media Processing Engine) 媒体处理引擎

用于Armv7A处理器Cortex-A5、Cortex-A7和Cortex-A9上的高级SIMD逻辑的名称。它通常被称为“NEON媒体处理引擎”,它是处理器中实现ASE/NEON支持的部分的另一个名称。

SVE (Scalable Vector Extension) 可伸缩矢量扩展

SVE是Armv8-A体系结构的扩展,此扩展仅在AArch64模式中受支持,它添加了额外的寄存器以支持更大的矢量、额外的指令和其他功能。包括SVE要求处理器核心也包括对NEON的支持。

以前对SIMD操作的支持使用的向量对数据项具有固定大小——例如,Armv7-a Advanced SIMD使用十六个128位数据项或三十二个64位数据项。

SVE的优点是它有32个矢量寄存器,大小可达2048位,但所用矢量的大小可以通过软件控制。这就是为什么它是“可伸缩”矢量扩展——矢量的大小可以在运行时缩放到不同的大小,而不是由处理器的实现决定的。

以前版本的SIMD支持(例如NEON)要求处理的数据与处理器实现的向量的大小相对应。SVE允许在操作过程中更改矢量数据的大小,而无需重写或重新编译代码,从而更容易编写可以使用SIMD操作处理数据的软件。

SVE2是SVE的更新版本,主要区别在于支持附加指令。这是为了让它能够在更广泛的应用中加速更多的算法。

SME (Scalable Matrix Extension)  可伸缩矩阵扩展

SME是Armv9-A体系结构的扩展,该体系结构建立在可扩展向量扩展(SVE和SVE2)的基础上,以增加对矩阵处理的支持。这包括许多新指令以及处理器的新操作模式——矩阵运算。

CME (Compute Matrix Engine)  计算矩阵引擎

计算矩阵引擎是执行可扩展矩阵扩展(SME)操作逻辑的名称。CME的设计使得在多个处理元件(PE)上执行的指令可以共享功能,其中“PE”是我们通常称之为集群内核心的架构术语。

MVE ( M-profile Vector Extension) M-型矢量扩展

专门用于Armv8-M体系结构,它提供对各种SIMD操作的支持。类似于NEON作为A级高级SIMD扩展的产品名称,“Helium”是用于M-配置文件矢量扩展的产品名。

MVE有两种变体,MVE-I和MVE-F。MVE-I仅支持整数矢量,MVE-F支持浮点数矢量。在处理器核心中包含MVE-F还要求处理器支持MVE-I和浮点扩展。

VPU  (Vector Processing Unit) 矢量处理单元

对于Arm-v9A架构的处理器核心,VPU是处理器内部的单元,可以包含高级SIMD、浮点运算(单精度或双精度)、SVE和SVE2以及密码扩展的逻辑。VPU可以在两个处理器核心之间共享,这两个核心在一个更大的集群中共同形成一个双核“复合体”。

————————————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

关于亿道电子

亿道电子技术有限公司(www.emdoor.cn)是国内资深的研发工具软件提供商,公司成立于2002年,面向中国广大的制造业客户提供研发、设计、管理过程中使用的各种软件开发工具,致力于帮助客户提高研发管理效率、缩短产品设计周期,提升产品可靠性。

二十多年来,先后与ARM、Altium、Ansys、QT、Green Hills、Minitab、EPLAN、QA Systems、OpenText、SureSoft、Visu-IT、PLS、Ashling、MSC Software、Autodesk、Source Insight、IncrediBuild、Lauterbach、Adobe、TestPlant等多家全球知名公司建立战略合作伙伴关系,并作为他们在中国区的主要分销合作伙伴服务了数千家中国本土客户,为客户提供从芯片级开发工具、EDA设计工具、软件编译以及测试工具、结构设计工具、仿真工具、电气设计工具、以及嵌入式GUI工具等等。亿道电子凭借多年的经验积累,真正的帮助客户实现了让研发更简单、更可靠、更高效的目标。

arm vpu,ARM,arm开发

公众号:亿道电子

Bilibili:亿道电子

 视频号:亿道电子文章来源地址https://www.toymoban.com/news/detail-858253.html

到了这里,关于【ARM】FPU,VFP,ASE,NEON,SVE...是什么意思?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 什么是ARM?为什么ARM是未来的主流?

    目录 1.ARM背景介绍 2.ARM处理器架构 3.ARM内核与外设 4.未来主流的关键优势         目前,世界上有超过1300亿台设备使用ARM处理器控制。这一切的起源,要从上世纪70年代说起。世界上超过95%的智能手机和平板电脑都采用ARM架构。 1975年 ,比尔盖茨和保罗盖伦开始创业,随后

    2024年03月11日
    浏览(39)
  • 安装包 amd,amd64, arm,arm64 都有什么区别

    现在的安装包也不省心,有各种版本都不知道怎么选。 根据你安装的环境配置。 amd: 32位X86 amd64: 64位X86 arm: 32位ARM arm64: 64位ARM amd64是X86架构的CPU,64位版。amd64又叫X86_64。主流的桌面PC,笔记本电脑,服务器(包括虚拟机)都在用X86_64的CPU。 arm64是ARM架构的CPU,64位版。

    2024年02月05日
    浏览(37)
  • ARM 架构是什么?

    ARM(Advanced RISC Machines)架构是一种处理器架构,它是一种精简指令集计算机(RISC)架构。ARM架构最初由ARM Holdings(现在是SoftBank Group的子公司)开发,并在1980年代末和1990年代初开始广泛应用。 我这里刚好有嵌入式、单片机、plc的资料需要可以私我或在评论区扣个6 ARM架构的

    2024年02月17日
    浏览(39)
  • 什么是ARM,STM32?

    🙌秋名山码民的主页 😂oi退役选手,Java、大数据、单片机、IoT均有所涉猎,热爱技术,技术无罪 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 获取源码,添加WX STM32是意法半导体公司推出的32位ARM Cortex-M系列微控制器(MCU)的一种品牌。这些MCU功能丰富、性能卓越、功耗低、价格

    2024年02月03日
    浏览(26)
  • 服务器基础知识:aarch64 arm64 arm x86有什么区别

    aarch64 和 arm64 是指基于ARM架构的64位处理器,而 arm 是指基于ARM架构的32位处理器。 x86 则是指基于x86架构的处理器。 架构: aarch64 、 arm64 和 arm 都属于ARM架构,而 x86 属于x86架构。 位数: aarch64 和 arm64 是64位处理器架构,能够使用64位的寄存器和指令集。 arm 是32位处理器架构

    2024年02月08日
    浏览(40)
  • ARM处理器有哪些工作模式和寄存器?各寄存器作用是什么?ARM异常中断处理流程?

    快速学习嵌入式开发其他基础知识? 返回专栏总目录 《嵌入式工程师自我修养/C语言》 Tip📌:鼠标悬停双虚线/句,可获得更详细的描述   ARM处理器有多种工作模式,如下表所示。应用程序正常运行时,ARM处理器工作在 用户模式(User mode) ,当程序运行出错或有中

    2024年02月21日
    浏览(43)
  • 【ARM 裸机】开发环境搭建

    使用过程中,要频繁进行 Ubuntu 和 Windows 的文件互传,需要使用 FTP 服务; 1.1、开启 Ubuntu 下的 FTP 服务 修改结果,保证这两行命令前面没有 # ,保存退出; 重启 FTP 服务; 1.2、Windows 下安装 FTP 客户端 FileZilla 安装好 FileZilla 客户端之后,点击文件选项进入站点管理器,编号4输

    2024年04月10日
    浏览(35)
  • ARM开发---基础认识

    本文适合初次接触ARM的的初学者,主要以基础知识点和科普为主. 提起ARM,没有接触过的朋友可能第一反应是英语单词arm(手臂),事实上,ARM确实如同手臂对于人类一般,在我们生活中有着举足轻重的地位,本文会对ARM进行基础知识的讲解及科普,为大家介绍ARM。 学习arm重

    2024年02月04日
    浏览(29)
  • ARM裸机开发-串口通信

    一、在使用EXYNOS4412的串口发送和接收的时候,首先要对EXYNOS4412的串口进行配置,我们使用轮询方式时的配置有哪些? 1、配置GPIO,使对应管脚作为串口的发送和接收管脚   GPA0CON寄存器[7:4][3:0] 0x22    GPA0PUD寄存器[3:0] 0 禁止上下拉电阻 2、配置串口单元本身寄存器    

    2024年02月11日
    浏览(33)
  • ARM开发基础知识

    概念:寄存器是处理器内部的存储器,没有地址 作用:一般用于暂时存储参与运算的数据和运算结果 分类: 通用寄存器、专用寄存器、 状态 寄存器 注意:有标签(带三角光标)的是独有的寄存器 总结: ARM7,9,11 有37个寄存器 30 个通用寄存器 1 个用作PC( program counter) 1个

    2024年02月02日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包