
网上的信息里使用的检测软件是Device Info HW,要探究这个问题,这就需要反编译Device Info HW这个检查软件,搞清楚它这个软件是如何检测手机信息的,以及查询ARM相关文档,linux源码,判断信息的含义是什么及是否可靠。
首先Device Info HW这个软件是如何检测手机的SOC是哪个厂商的:

可以看出来,它是通过获取Build.HARDWARE,即CPU型号,根据CPU型号的特征判断是哪个厂商的,如hi或kirin开头即为海思的CPU。
随后根据CPU型号从assets/cpu_hisilicon.json中加载此型号的一些已知信息:

海思相关CPU已知信息:

可以看到,kirin9000s会被识别为kirin9000系列的CPU,其中的tp代表的是此CPU的制程工艺,5即为5nm,所以其实Device Info HW显示的制程工艺,是根据其已知型号的制程工艺显示的,而9000s其实被识别为了9000的同类CPU,所以会被显示为跟9000一样的5nm,但是其实具体制程工艺是多少现在华为没公布的情况下是不知道的,故Device Info HW显示的5nm工艺是不准确的。
然后是关于架构信息里识别到的:
72_3330
72_3394
Cortex-A510

架构相关信息,是通过读取/proc/cpuinfo并解析得到的,而ARM中这个信息是由读取MIDR_EL1寄存器得到的,参考文章及ARM相关文档:
KevinZheng:Linux下获取ARMv8-A CPU详情的3种方法
“其中从低至高第0-3 bit表示revision
,代表固件版本的小版本号,如r1p3中的p3;
第4-15 bit表示part number(id)
,代表这款CPU在所在vendor
产品中定义的产品代码,如在HiSilicon
产品中,part_id=0xd01
代表Kunpeng-920
芯片;
第16-19 bit表示architecture
,即架构版本,0x8
即ARMv8;
第20-23 bit表示variant
,即固件版本的大版本号,如r1p3中的r1;
第24-31 bit表示implementer
,即vendor id
,如vendor_id=0x48
表示HiSilicon
。”
Device Info HW 同样是在资源文件中写好了已知代码的信息,从而识别架构信息,而对于未知的代码,其会显示为原始代码

Device Info HW显示的架构信息中,未识别的
72_3330
72_3394
十六进制应为
implementer 0x48 part 0xD02
implementer 0x48 part 0xD42
这两个未识别的代码究竟代表什么意思,参考华为openEuler开源项目中linux内核相关代码,implementer 0x48 代表的是厂商为海思:

https://gitee.com/openeuler/kernel/blob/openEuler-22.03-LTS-SP2/arch/arm64/include/asm/cputype.h#L61
而part 0xD02并定义为HISI_CPU_PART_TSV200和HISI_CPU_PART_LINXICORE9100相同的值,而part 0xD42被定义为ARM_CPU_PART_CORTEX_A78AE

而查询gitee的提交记录,HISI_CPU_PART_TSV200 的定义是于2021-09-29提交的:
https://gitee.com/openeuler/kernel/commit/f83abc3984dcc64e2d67fb94865b44df7d21b4d1
而HISI_CPU_PART_LINXICORE9100是于2023-06-21提交的:
https://gitee.com/openeuler/kernel/commit/e1e6661e064bd0ec1fae31c3ad31379493be8ac3
总结:由于Device Info HW显示工艺制成是根据已知型号的工艺制成来显示的,而9000S被其识别为了9000的同类,故其显示的5nm是不准确的,具体工艺制成是多少得等华为官宣或有条件的人拍Die shot分析一下。而架构信息中显示的几个未识别的代码,推测为0xD02即华为自研架构的延续,具体情况还是等华为官宣吧。