ARMv9的SVE/SVE2入门教程 (1)

本文介绍了SVE(可扩展矢量指令集)作为ARM64架构的高级SIMD指令集,其特点是支持可变矢量长度编程模型,允许芯片设计者根据需求选择合适的矢量长度。SVE2是SVE的增强版,包含更多指令。文章还解释了矢量计算的概念,对比了SISD和SIMD的区别,并详细描述了SVE的寄存器组和指令语法。
摘要由CSDN通过智能技术生成

什么是SVE

NEON指令集是ARM64架构的单指令多数据流(SIMD)的标准实现。SVE(可扩展矢量指令Scalable Vector Extension)是针对高性能计算(HPC)和机器学习等领域开发的一套全新的矢量指令集,它是下一代SIMD指令集实现,而不是NEON指令集的简单扩展。SVE指令集中有很多概念与NEON指令集类似,例如矢量、通道、数据元素等。SVE指令集也提出了一个全新的概念:可变矢量长度编程模型(VectorLength Agnostic,VLA)。

传统的SIMD指令集采用固定大小的向量寄存器,例如NEON指令集采用固定的128位长度的矢量寄存器。而支持VLA编程模型的SVE指令集则支持可变长度的矢量寄存器。这样允许芯片设计者根据负载和成本来选择一个合适的矢量长度。SVE指令集的矢量寄存器的长度最小支持128位,最大可以支持2048位,以128位为增量。SVE设计确保同一个应用程序可以在支持不同矢量长度的SVE指令机器上运行,而不需要重新编译代码,这是VLA编程模型的精髓。

    SVE指令集是在A64指令集的基础上新增的一组指令集,而SVE2是在ARMv9架构上发布的,它是SVE指令集的一个超集和扩充。

  SVE指令集包含了几百条指令,它们可以分成如下几大类。

Ø 加载存储指令以及预取指令

Ø 向量移动指令

Ø 整数运算指令

Ø 位操作指令

Ø 浮点数运算指令

Ø 预测操作指令

Ø 数据元素操作指令

SVE2指令集在SVE指令集的基础进一步扩充和完善,新增了部分指令和扩展。本节不对每条指令做详细的介绍,有兴趣的读者可以阅读ARMv9指令集文档:《Arm A64 Instruction SetArchitecture,Armv9, for Armv9-A architectureprofile》。

什么是矢量计算?

SIMD,全称Single Instruction Multiple Data,一条指令操作多个数据,提供小数据并行处理能力。ARM从ARMv7架构开始加入NEON指令集扩展,矢量化并行计算,用于图像处理、音视频处理、视频编解码等场景。

SISD(Single Instruction Single Data)指的是单指令单数据。大多数ARM64指令是单指令单数据(SISD)。每条指令在单个数据源上执行其指定的操作,所以,处理多个数据项需要多个指令。例如

【学习对象】[行业]:汽车电子、手机、服务器、云计算、物联网、人工智能;[人群]:本科/研究生/博士、初级工程师、中级工程师、资深工程师、行业大佬,即适合小白入门,也适合大佬查缺补漏;[方向]:电子/计算机专业、芯片架构设计、芯片底层软件、芯片验证、BSP软件开发、内核驱动开发、固件开发、bootrom/bootloader开发、安全、虚拟化、大系统开发等;[行业链]:主机厂、OEM、OEM、tier1、SOC厂家、各级供应商;【课程特色】1、全网最全最新,真正的Armv8和Armv9架构(注:这不是25年前的ARM9, 这也不是15年前的A9, 这里也不讲汇编,这里讲的是架构/架构/架构);2、这里不读PPT,70%的原创彩色框架图。3、批判性:指出各种互联网中司空见惯的错误。(如FIQ不是快速中断,是转发中断,F是Forward;VIVT根本没人再用...);4、实事求是:有理有据,尽量不瞎说,不编造,一切有源头可查,有文档可参考;5、白话、通俗易懂。课堂不参水分。 【学员收益】1、知道我学习什么,我要怎么去学习,从此之后有了一个明确的学习路线。2、认识一些共同目标的人,相互讨论问题,共同进步。勤学、共学、助学。3、ARM不再神秘,SOC不在神秘,让您短期内就能cover住全局4、熟悉ARM Architecture架构知识5、熟悉SOC架构知识6、熟悉主流的系统软件框架7、熟悉各项硬件原理和机制,如异常中断、MMU、cache、TLB、VMSA、Trustzone6、深入了解当前的系统架构、软硬件架构,能够看懂这些大家,将来也能够自己设计。7、熟悉系统的启动流程、Secureboot等8、熟悉各类标准和规范9、能够进入芯片厂商干活、能够在非芯片产生成为技术担当。10、全体系的掌握ARMv8/ARMv9的核心知识点(ARM基础、异常中断GIC、MMU/Cache、architecture、SOC架构、Trustzone、虚拟化...);11、掌握ARM架构、掌握SOC架构、掌握常规IP(gic、smmu、timer、AXI/ACE/CHI、TZC400、CCI/CMN...);12、快速熟悉常规系统软件(bootrom、spl、ATF、TEE、bootloader、kernel...), Secureboot安全启动...13、扎实自己的基础知识,技术水平提升N个level, 掌握快速的学习方法;课程大纲本课程大纲如下所示,总时长约63小时,持续更新中。课程Roadmap(强烈建议购买VIP,花更少的钱,买更多的课程。)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值