微架构更新提升IPC,Arm推出Cortex-A77处理器微架构
现在移动设备大都采用的是Arm架构或指令集的处理器,随着移动设备对性能需求越来越大,Arm也在不断提升公版架构的性能。所以时隔Cortex-A76处理器微架构发布一年之后,Arm公布了全新的Cortex-A77处理器微架构,通过增加解码宽度等方式提高处理器性能。
图片来自Arm
根据Anandtech的报道,Cortex-A77的代号为Deimos,实际上已经在此前Arm的产品路线图中公布了,而作为Cortex-A76的后继微架构,Cortex-A77在继承了前作很多优点的基础上通过增强微架构的一些方面提升其IPC。
在基础架构上,Cortex-A77依旧为13级流水线设计,在缓存容量上,Cortex-A77拥有64K的一级指令缓存及64K的一级数据缓存、同时可以配置256K或512K的核心私有二级缓存,而三级缓存最高为4MB。Cortex-A77也支持DynamIQ Shared Unit(DSU)技术,可以与Cortex-A55配合支持big.Little。
图片来自Anandtech,Cortex-A77总览
图片来自Anandtech,是Cortex-A76的继承
在具体的性能表现上,Arm称Cortex-A77微架构在单线程性能上相比Cortex-A76提升幅度明显,通过图表可以看到其平均提升幅度在20%以上。而这么大的提升幅度也是源于其Arm对微架构的优化设计。Cortex-A77在前端设计上改进了分支预测器、采用了更深的超前运行窗口以及全新的MOP缓存。具体来讲,Arm将Cortex-A77的超前指令运行窗口加倍到64B/每周期,提升分支预测带宽。其次提升了分支预测期的精度,同时提升了分支目标缓存(Branch Target Buffer,BTB)的容量。而最后就是引入了MOP(Macro-Op,宏操作)缓存。在实际架构中,MOP是作为L0指令缓存的,包含已经解码和融合的宏操作指令,同时其大小为1.5K。根据Arm的说法,其实际缓存命中率为85%。
性能提升明显
微架构解析
Cortex-A77前端分支预测设计
前端宏操作指令设计
解码器宽度方面,Arm将其增加到了6路解码,为了满足更多多路解码器,重排序缓冲区的大小也增加到了160个。
6路解码
具体的执行单元,Cortex-A77增加了50%的整数执行带宽、增添了一个能执行复杂操作的ALU单元等都能在维持核心效率的同时带来可观的性能提升。
缓存子系统方面Arm也提升了Load/Store宽度,以适配其更宽的前端设计。
Cortex-A77缓存子系统
不过在指令集方面Cortex-A77依然采用的是ARMV8.2,支持AArch32以及AArch64,所以这次的性能提升主要来源于微架构的改进而不是增添扩展指令。预计采用Cortex-A77微架构的处理器会在今年年底明年年初问世。