英特尔为后续芯片添加新的x86与向量指令

英特尔最新公布x86指令集架构的两组扩展,其中一组用于提高通用代码性能,另一组则为后续芯片提供通用向量指令集。

重大变化正在我们身边悄然发生。

英特尔为后续芯片添加新的x86与向量指令

英特尔最新公布x86指令集架构的两组扩展,其中一组用于提高通用代码性能,另一组则为后续芯片提供通用向量指令集。

英特尔开发者网站上披露相关细节,其中展示的高级性能扩展(Intel APX)进一步充实了x86指令集,可以访问更多寄存器和其他用于提高通用性能的功能。与此同时,高级向量扩展10(即Intel AVX 10)则被描述为“现代向量指令集架构”,并将在未来的英特尔处理器上得到支持。

APX代表英特尔对其未来架构的重大规模性举措。其主要特点是将通用寄存器的数量从16个增加到32个。寄存器数量的增加,意味着各种值的往来移动次数更少,英特尔称这种方式能够提高性能表现。

具体来说,它允许编译器将更多值保存在寄存器内,因此与现有指令集相比,在编译相同代码时使用APX的代码能将内存加载次数减少10%,存储需求则有望降低20%。

换言之,CPU可以把更多时间用于计算,而非处理数据移动。而寄存器访问也摆脱了以往复杂的加载和存储操作,在提升速度的同时降低功耗。

英特尔解释称,新的通用寄存器将支持XSAVE,就是说它们能够在上下文切换期间通过XSAVE/XRSTOR序列自动保存和恢复。由于寄存器能够利用之前配合现被弃用的Intel MPX扩展的寄存器分配空间,因此不再需要额外的XSAVE区域。

APX还新增了加载、存储和比较/测试指令的条件形式,用于应用软件应用因条件分支预测错误而造成的性能损失。这些是通过对旧有指令添加EVEX前缀扩展来实现的。

根据英特尔的介绍,开发人员可以重新编译代码来使用APX,而且预计无需对源代码做出修改。

外媒已经询问英特尔将何时在处理器芯片中引入新的APX指令,在得到答复后将第一时间带来更新。

英特尔还指出,AVX10是自AVX-512推出以来,首次重大向量指令集更新。其作用是为全部英特尔架构提供通用的聚合向量指令集,因此将在所有后续处理器上得到支持,包括性能核心(P核心)与能效核心(E核心)。

AVX10基于英特尔AVX-512功能集,支持所有指令向量长度(128、256及512),以及标量和opmask指令。

AVX 10的特别之处,在于其“聚合”版本似乎将在所有英特尔处理器间通用,且最大向量长度为256位并具有32位opmask寄存器。此版本也被称为英特尔AVX10/256。

部分P核处理器将继续提供对512位向量和64位opmask寄存器的支持,“适用于可利用额外向量长度的高强度向量计算类应用场景”,此版本被称为英特尔AVX10/512。

虽然听起来有点乱,但英特尔似乎打算把这项新功能推广到所有芯片,借此为能够受益的应用场景(例如AI处理)提供基准性能提升,同时简化开发者对向量指令的支持。

为此,AVX10还引入了对应各版本的指令集枚举。这是一种奇特的表述,指具有给定AVX10版本号的所有英特尔芯片都将支持相同的功能和指令。

根据英特尔的说法,开发者只需要在关注三个字段:指示AVX10支持的CPUID功能位、AVX10版本号以及最大向量支持长度。

英特尔还提到,明年推出的Granite Rapids服务器芯片将作为AVX-512到AVX10之间的过渡产品。其将采用AVX10版本1,其中不包括新的256位向量指令。

AVX10版本2将包含256位指令形式,同时涵盖新的AI数据类型和转换、数据移动优化,以及对额外指令的标准化支持。

来源:至顶网计算频道

0赞

好文章,需要你的鼓励

2023

07/27

14:41

分享

点赞

邮件订阅