当前位置:网站首页 > 区块链与加密技术 > 正文

英特尔APX,终于等到你

这几年创业,我仔细学习了ARM,当我越深的了解ARM时,我越感觉到X86的不足。X86多年停滞不前,已经被ARM超越了很远。

最近,因为要准备9月份的纳秒级优化训练营,我不得不又把注意力转回到x86上,因为在纳秒级优化所针对的听众里,他们主要还是用x86的。

在更新这些文档时,我意外地发现了一份新文档,Intel® Advanced Performance Extensions (Intel® APX) Architecture Specification(《英特尔高级性能扩展(APX)架构规约》)。

6313c2b76cfc049471b98b38e6f4dd22.png

打开这份文档,读了几句后,我意识到这是个大动作(Big Thing),是我期待许久的。

c44c361b5b61041a6988b180a8a5bab9.png

APX把通用寄存器的数量从16个扩展为32个。

寄存器是CPU工作时可以快速访问到的临时空间,用图灵的话来说叫“

Quick reference temporary storage units (TS)”。

7b2d24c2087a654cc23a3eee6860b059.png

某种程度来说,影响CPU速度的关键因素是访问要计算的数据。当数据在寄存器中时,是最容易访问的。通用寄存器多,就可以让CPU把更多的数据放到寄存器里。

根据英特尔的官方资料,APX增加寄存器后对性能的改进是非常明显的。

Intel® APX doubles the number of general-purpose registers (GPRs) from 16 to 32. This allows the compiler to keep more values in registers; as a result, APX-compiled code contains 10% fewer loads and more than 20% fewer stores than the same code compiled for an Intel® 64 baseline.2 Register accesses are not only faster, but they also consume significantly less dynamic power than complex load and store operations.

除了通用寄存器,APX还引入了几个重磅特征:三操作数指令和谓词指令。

7a4ad6776811f631dcfb86c2d2bdb2a7.png

谓词指令是在指令中判断条件标志,可以减少分支语句,是消除分支的一种关键技术,在ARM上流行许久了。以前,x86曾引入cmov指令,但是太少了。APX做了一次彻底的升级,让很多指令都支持条件判断。

另外,APX还引入了成对保存和恢复寄存器的PUSH2和POP2指令,与ARM64的STP(Store Pair)和LDP(Load Pair)非常类似。

细看APX引入的变化,熟悉ARM的格友会觉得有很多ARMv8的影子,在我看来,也的确如此。但我觉得这是合理的。ARMv8里也有很多经典x86的影子。读ARMv8手册时我常有似曾相识的感觉,感觉到ARMv8的设计者们一定塾读过Intel 的SDM。

对于APX这样的改动,属于我开头说的“对经典x86特征的修改”,这样的修改涉及到软件接口(ABI)的变化,需要对上层建筑做较大的重构,包括编译器和操作系统。现在,已经可以搜索到一些关于APX的讨论,包括GCC的修改和支持。但是距离普通用户实际使用APX还要等待一段时间。

(写文章很辛苦,恳请各位读者点击“在看”,也欢迎转发)

正心诚意,格物致知,以人文情怀审视软件,以软件技术改变人生

扫描下方二维码或者在微信中搜索“盛格塾”小程序,可以阅读更多文章和有声读物

23c3a2714006dcfb533c65fa3f56f097.png

也欢迎关注格友公众号

6292609d66ffa9e3b420808b903c8b48.jpeg

到此这篇英特尔APX,终于等到你的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 第3篇 区块链技术的核心要素:共识机制、加密技术与分布式账本_区块链共识机制特点2024-11-27 08:09:10
  • 区块链核心技术:哈希与加密算法_区块链的加密算法 哈希函数2024-11-27 08:09:10
  • 智能合约与身份验证:区块链技术的创新应用2024-11-27 08:09:10
  • 区块链的加密技术2024-11-27 08:09:10
  • 区块链金融科技:技术融合与挑战应对【文末送书】2024-11-27 08:09:10
  • 区块链非对称加密技术过程简易图解2024-11-27 08:09:10
  • Go语言的区块链与加密货币实战_go语言 区块链2024-11-27 08:09:10
  • 学成在线官网首页完整版(含psd源文件)2024-11-27 08:09:10
  • 凯撒密码加密原理(凯撒密码是密码学中一种简单且广为人知的加密技术)2024-11-27 08:09:10
  • 消息认证码(消息认证码是使用分组密码加密技术以确保什么的方案)2024-11-27 08:09:10
  • 全屏图片