【转】麒麟9000s大中核规格对比、初步性能测试
【转】
麒麟9000s大中核规格对比、初步性能测试

麒麟9000s大中核规格对比、初步性能测试

JamesAslan
喜欢画画和摄影的硅工码农(滑稽)
目录
收起
前言
大核中核规格对比
性能预览
SPEC06
SPEC17
Coremark
Verilator
超线程(SMT)
测试平台
前言
鉴于许多人的询问和关心,我们提前放出了部分初步测试结果,用以详细刻画9000s使用的TSV new(?)微架构的技术细节。
大核中核规格对比
麒麟9000s的中核相较大核有一定程度的阉割降级。主要集中于最大频率、L2 Cache容量、浮点流水线规模、乱序队列规模方面。以下数据为初步probe结果,在手动细测后会有所变动,请注意。
从频率上来看,中核最大频率为~2GHz,大核最大频率为~2.61GHz。
流水级宽度TSV110TSV new(middle)TSV new(big)Cortex A78Fetch(ICache)4664Fetch(mop Cache)N/AN/AN/A6Decode4664Rename4666
从主流水线宽度上来看,大核中核是一致的,他们大概率是同源微架构。整个海思微架构家族没有使用mop cache的迹象,至少mop cache没有被用于提升供指带宽。
执行部件数量TSV110TSV new(middle)TSV new(big)Cortex A78ALU3444BRU2222MUL1222AGU(ld+st)2443AGU(ld)2223AGU(st)1222FPU2242FADD2222FMUL2242FMA2222
从执行单元规格上来看,中核阉割了浮点侧规格,属于意料之中。TSV new展现出了与前作TSV110完全不同的单元配置,整数侧ALU、MUL单元有所增长;浮点侧的宽度大幅增加,延迟大幅降低。TSV new也与A78完全不同,其AGU风格为intel式的load、store全分离,而非ARM惯用的组合式。
Cache容量TSV new(middle)TSV new(big)L1I64KB64KBL1D64KB64KBL2512KB1MBL3 (shared)4MB4MBSLC (shared)4MB4MB
从Cache规格上来看,中核缩小L2容量情理之中。9000s的L3容量过小是一大遗憾,会严重影响整数侧的性能表现,限制了TSV new发挥其全部潜力。
TSV110TSV new
(middle)TSV new
(big)Cortex A78Cortex X1ROB~92*n(coalesced ROB)~224~240~160~216PRF(integer)~140~160~192~160~184PRF(float)~96~160~192~92~152DispatchQ+IssueQ(fix)~36~64~72~56~64DispatchQ+IssueQ(float)~28~56~56~48~56LDQ~48~78~128~64~80STQ~32~54~72~48~60
从乱序队列规模上来看,中核有所缩减。不过TSV new相较前代有了大幅增长,规模更接近Cortex X系列。不过较为遗憾的是,TSV110上coalesced ROB的设计巧思似乎没有延续。由于暂时没有去探究TSV new是否真实启用了SMT以及SMT的具体策略,此处容量存在误差,仅供参考。LDQ与STQ容量均未减去相关发射队列容量。ISQ容量测试时默认使用了非intel风格的probe模式。话说回来,TSV new的LDQ容量大得惊人,可能使用了什么特殊的优化提升了等效容量。受限于本人精力,各种队列的准确容量和分布方式我们就留到以后再去探究吧。
性能预览
在这一部分我们使用SPEC06、SPEC17、Coremark以及Verilator对处理器进行测试。注意,我们并不执着于fine-tune以获得某一微架构的最高分数;而是以合理、统一的编译参数带来可比的分值数据。SPEC06、SPEC17等的分值受系统环境、编译器版本、编译参数、BIOS调教、频率稳定性、具体SKU的Cache配置、具体平台的内存参数等因素影响巨大,且无法通过任何简单线性缩放进行分数推演。
我们首先总览TSV new在各种微架构中的位置:
SPEC06
SPEC06是已经退役的SPEC测试集但是仍然被广泛使用;其负载特性与SPEC17并不相同,因此仍然具有相当的测试价值。
编译环境:GCC12.0 -Ofast -static
GLIBC 23.5-0
TSV new的fp成绩远高于int成绩。由于浮点程序访存行为较为容易预取,SPEC06int相较fp对L3容量更敏感,倘若能够增大L3 Cache(如16MB),个人估计同频下SPECint成绩能够提升15+%,其中受L3容量影响较大的子项应该是401、403、429、471、473、483。浮点侧受到的影响相对小,预计436、450、470、482受到了可观的负面影响。
TSV new在部分重访存代宽的子项中表现优秀,如462、410、433、434、437、447、450、459、470、481,表明了其配备了精细调节过的访存子系统(包括内存控制器和数据预取器等)。462.libquantum与470.lbm分数较高表明TSV new配备了较好的stream/stride预取器;而462.libquantum想要更进一步则需要更大的L3 Cache容量(如>20MB)。433.milc成绩离当前的第一梯队有一定距离,表明delta模式预取可能仍然存在进步空间。由于Cache容量过小,这些分析的噪声较大;如429.mcf受L3容量影响极大,我们无从剥离分析预取表现。483.xalancbmk相较TSV110提升寥寥,很可能是L3 Cache过小的缘故,但同样不能排除面对短流时预取器的无效操作过多。471.omnetpp的表现似乎表明TSV new没能克服激进预取带来的污染和拥塞问题。
总体而言TSV new取得了长足的进步。在本节我们同时列出了手机、PC平台的A78的表现,可见平台对微架构的性能的影响;因此TSV new在可能的鲲鹏930上才能发挥出其全部实力。
SPEC17
SPEC17是现役的SPEC测试集,被广泛用于微结构性能评估。
编译环境:GCC12.0 -O3 -static
GLIBC 23.5-0
总体而言中核相较大核性能衰减较大,但是这主要来自于频率的大幅下降,倘若我们计算IPC性能会发现中核的缩水较为有限。尽管频率处于劣势,但是中核仍然在总性能中超越了前代产品TSV110;如果有更好的下级memory system支持,中核恐怕也能够超越全规格的TSV110。尽管受限于有限的memory system规格,TSV new仍然保持着对A78的性能优势,这让我更为期待可能的满血版本了。
Coremark
由于其他测试耗时较长,我们首先放出coremark的成绩。Coremark是一款嵌入式基准测试程序,其受下级Cache子系统、内存等的影响极小,主要考察核内流水线以及L1 Cache的性能表现。
可见TSV new成功迈入了9分大关,符合我们对一款现代6发射处理器的基本期待,但是时至2023年,这样的成绩算不上优秀,6发射的上限远不止于此,期待后续产品的迭代。
Verilator
以上三款测试集对处理器的前端压力较小,仿真大规模设计的verilator则恰恰相反,海量的分支与数MB的代码足迹能够轻松压垮ICache、BTB等组件,导致巨大的性能下降。
由于手机环境的限制,我们完整仿真环境中的部分组件无法运行,裁切部分组件并削减仿真规模后得到了Verilator_lite测试。注意:
Verilator_lite测试的成绩与Verilator测试的结果不能直接比较。
我们也会在桌面平台上运行Verilator_lite测试以提供参照,请留意图表标题是Verilator_lite还是Verilator。
在同一图表中仅会出现Verilator_lite或Verilator成绩中的一种,不会有数据混杂。
TSV110表现过差不予展示(各位自行脑补一个突破天际的柱子)。TSV new在前端供指方面取得了长足的进步,这是部分服务器负载十分看重的性能指标,因此对于可能的鲲鹏930十分重要。尽管频率极低,TSV new仍然能保持与ARM公版最新的产品接近的成绩。可以预计倘若配备了2颗2.8GHz的TSV new,在verilator中它们的表现将超过A715。不过本人还在纠结TSV new到底有没有使用decoupled frontend设计,有没有大神知道其中的真相呢23333。
超线程(SMT)
在ubuntu中虽然我们可以调用额外的线程号,但是从core-to-core latency的测试来看并没有超线程迹象。这里有两种可能:
我们使用的ubuntu中的API没有真正成功绑定8-11号核,导致我们仍然在0-7号核上执行,致使没有观测到sibbling核间超低的脏数据交换延迟。那么我们只能等待其他大佬真正适配SMT了。
TSV new使用了特殊的设计,保证了sibbling线程间更强的数据一致性,使得所有数据交换都下探到了L3层级。
测试平台
Mate60Pro 12+512G版本。
好漂亮的手机555,就是好贵,我的A7C2副机灰飞烟灭了啊。
分析与测试:lyz、lxy
编辑于 2023-09-01 19:50・IP 属地北京
华为
麒麟9000s
中央处理器 (CPU)

发布一条带图评论吧
34 条评论
默认
最新

冰糖葫芦娃
虽然看不懂,但是很厉害的样子

3 小时前 · IP 属地河南

小筑
感谢A7C2副机对本文做出的贡献

3 小时前 · IP 属地山东

张景源
看不懂咋办...笔者能写一篇通俗一点的吗

3 小时前 · IP 属地北京

雷你到死
+10086
1 小时前 · IP 属地辽宁

求知者
牛哇,2017拉爆a715了
2 小时前 · IP 属地上海
蟋蟀777
很好,谢谢。字都认识。。。。在结尾不能做个简单的总结吗?
1 小时前 · IP 属地福建
maomaobear
测个7zip吧,对比一下龙芯芯3a6000,我一直认为龙芯的spec2006成绩离谱。
3 小时前 · IP 属地山东
飛飛
手机上超线程,华为牛逼
3 小时前 · IP 属地北京
滑稽一世
自信
当年x86丢手机上做过超线程。但x86下的超线程没啥增益。arm移动端超线程华子是第一个
1 小时前 · IP 属地浙江
薄荷奶糖
自信
英特尔有手机芯片?
1 小时前 · IP 属地河南
时间
这个spec06单核分数是真高
2 小时前 · IP 属地宁夏
凤兮凤兮
媲美a715,这么强?
1 小时前 · IP 属地浙江
大白猫
结论就是,设计能力极其牛批,已经快赶上苹果A系列,目前由于制程拖累,无法发挥出这个新架构的全部性能。
16 分钟前 · IP 属地安徽
一共28年
说个结论吧
57 分钟前 · IP 属地河南

努力加油上镜
然而,到底是几分?
44 分钟前 · IP 属地福建

瞎看看

夏core的作品好强
1 小时前 · IP 属地广东

远余烬
我虽然不懂,但是大为震撼

53 分钟前 · IP 属地云南

weakleilei
下降有限

3 小时前 · IP 属地广东

hikariat
alu数量是怎么检测的
3 小时前 · IP 属地上海

秋元明

A78级别,很不错了,考虑到咱有个X1+A78的K9000,2020年,华子21年能搞出这个很不错
12 分钟前 · IP 属地广东

凤兮凤兮
17超过a715,是说明和a系一样更善于跑复杂情况吧

1 小时前 · IP 属地浙江

起起起起起风了
围观

3 小时前 · IP 属地福建

麦克斯韦

nbnb

回头用这个和核同事交流交流
1 小时前 · IP 属地上海
发布了想法2023-08-31 17:44

JamesAslan
喜欢画画和摄影的硅工码农(滑稽)
可惜了,L3Cache太小了啊
9000S超大核的SPECfp比int高那么多,因为int受L3影响相对更大。目前只有4MB,感觉加到16MB的话单核SPEC06int应该至少能提升15%吧
生活可能总会伴随着Can be better吧

发布于 2023-08-31 17:44

发布一条带图评论吧
30 条评论
默认
最新
LITTERTREE66
目前diesize都111.28,Big Cache不得干炸size
08-31 · IP 属地陕西
传说中的胖子
我关注的人
林zh
AMD演示过了堆叠cache考验散热,估计手机也就这样了,下一个悬念是桌面会不会叠。
10 小时前 · IP 属地广东
林zh
能不能用堆叠技术。
15 小时前 · IP 属地海南
叶清逸
目前k9000s的电镜扫描显示面积>老k9k了,还是工艺太差(密度低),面积太大导致良率不理想,没法再堆料了。期待迭代吧,慢慢打磨工艺/架构。
08-31 · IP 属地浙江
码腚內shi
电镜显示在哪里?求消息源出处。
9 小时前 · IP 属地广东
Sazo
可能良率不理想,布置太大的L3成本爆炸?
或者大l3的版本给了传说中的9100?
08-31 · IP 属地北京
Sazo
林zh
chiplet延迟爆炸,L3再大都没意义。而且封装的空间也不太允许加更多的die
4 小时前 · IP 属地北京
林zh
chiplet分开搞是不是可以。
15 小时前 · IP 属地海南
瞎看看
密度问题,面积不够应该
08-31 · IP 属地广东
我在东北玩泥巴
16m l3也太夸张了吧。。。麒麟9000才4m
08-31 · IP 属地河北
OTHB-radar
A16有16+4MB的L2再配上24MB的系统缓存
手机SOC论堆缓存还得看苹果
08-31 · IP 属地河南
WhitePawn
A厂:一般🤪
08-31 · IP 属地福建
Amaterasu
没事,可以期待一下下一代翻倍
7 小时前 · IP 属地北京
万得
因为内核逻辑单元设计太差导致缓存不够了,懂吗?谁不想大缓存啊。
1 小时前 · IP 属地福建
JamesAslan
作者
930人呢,

08-31 · IP 属地北京

WhitePawn
叶清逸
晶哥啥也不会说,他拿出来的板子还是闲鱼买的

08-31 · IP 属地福建

Cheerx
叶清逸
他是鲲鹏的架构师
11 小时前 · IP 属地陕西

蒋三水
如果15%,那是不是接近888的x1水平了吧?
08-31 · IP 属地北京

传说中的胖子
我关注的人
现在2.62GHz的GB分数接近888的2.84GHz,加这15%就有意思了
10 小时前 · IP 属地广东

天御
频率太低了

才2.6 华为加把劲干到3.2就好了
08-31 · IP 属地广东

Sylas

浮点容易做spatial预取
08-31 · IP 属地北京

阿丘今天不吃饭
看了一眼P是64/1024/4096+4096KB SLC的组合,SMIC的SRAM density比较捉急,如果做8+8M搞不好要到120+ mm2.
08-31 · IP 属地上海

阿丘今天不吃饭
JamesAslan
是的,中核心才是512。
08-31 · IP 属地上海

JamesAslan
作者

我还在游移到底L2是512还是1024,第一次跑出的曲线跳变太不明显了,原来真是1024么
08-31 · IP 属地北京

