除了超大核心Cortex-X2,ARM今天还带来了高性能大核心Cortex-A710、高能效小核心Cortex-A510,分别取代现在的A78、A55。之前猜测它们会命名为A79、A56,没想到ARM又开启了三位数字命名,越来越不按常理出牌了。
A710、A510也是基于ARMv9 64位指令集,架构上和X2是相通的,因此可以集成于同一颗SoC,但需要注意的是,X2、A510都是纯64位,不再兼容32位,A710则继续支持OL0 AArch32。
这是应中国客户要求特殊设计的,因为中国市场还有太多应用停留在32位。
先来看A710,前端和X2一样改进了分支预测,精度更高,一级指令缓存TLB也从32条增至48条,不过macro-OP缓存仍然是1.5K(X2 3K)。
macro-OP缓存、分支单元的宽度从6缩减到了5,主要是功耗、能效优化考虑,也是X、A系列的重要区分。
核心设计也大大强化了性能、能效,包括数据预取器的改进,并且优化了核心与DSU的联系,核心与三级缓存、内存之间的延迟更低。
IPC性能提升指标,4MB二级缓存、8MB三级缓存的情况下,官方号称可以达到10%,或者可以将功耗降低30%。
再看A510,继续使用3宽度的顺序执行架构,但也借鉴了X系列在分支预测、数据预取方面的一些技术,继续提升能效。
另外,它还引入了合并核心(merged-core)的新设计,可以将两个核心组合在一起,有点AMD推土机架构的意味。
但不同的是,AMD推土机架构两个核心共享前端、FP/SIMD后端,导致整体执行效率低下,A510每个核心则有自己完整的前端、核心、整数后端、一级缓存,只是共享了二级缓存(最大512KB)、FP/NEON/SVE流水线。
当然,如果客户喜欢,也可以继续使用独立核心,但是面积效率会低一些。
前端方面,具备128位预取流水线,每个时钟周期可以拾取4条指令,解码器宽度从2增加到3。
分支预测没有透露细节,只是说顶级的多级设计,另外一级缓存可以32KB或者64KB。
核心方面,可以设置2个64位流水线或者2个128位流水线,后者是A55的两倍。
尽管是顺序架构,后端依然加宽包括3个整数ALU单元、一个复杂MAC/DIV单元、一个分支派送端口。
载入存储方面,相比A55改进极大,从载入存储流水线,变成了载入、载入/存储流水线,每时钟周期可执行的载入数量翻了一番,另外流水线宽度也从64位翻番到128位,因此总的载入带宽是A55的四倍。
性能方面,A510 32KB一级缓存、256KB二级缓存、8MB三级缓存,对比A55 32KB一级缓存、128KB二级缓存、4MB三级缓存,提升幅度35-62%不等,是三个新核心变化最大的,不过,A55毕竟是四年前的老核心了。