大家好,最近有朋友测试了两款基于armV8指令集的服务器处理器,结果差异显著,这充分展示了两家
大家好,最近有朋友测试了两款基于armV8指令集的服务器处理器,结果差异显著,这充分展示了两家公司在微架构设计上的差距。
今天cloud3来和大家探讨一下处理器的指令集和微架构。
指令集
指令集就是我们常说的架构,CPU在执行计算任务时需要遵循一定的规范,这种规范或语言就是指令集(ISA,Instruction Set Architecture)。它定义了处理器的操作,通过指令集来控制处理器实现相应功能。
常见的指令集包括x86、ARM、MIPS、Alpha、RISC-V和Power等。其中x86属于CISC指令体系,而其他都是RISC指令体系的指令集。
指令集可以被扩展,例如x86增加64位支持后就有了x86-64。厂商开发兼容某种指令集的CPU时,需要获得指令集专利持有者的授权,典型的例子是Intel授权AMD,使后者能够开发兼容x86指令集的CPU。
微架构
CPU核的实现方式被称为微架构(Microarchitecture),它是处理器的硬件架构,由一系列硬件电路组成,用于实现指令集所规定的操作和运算。
在相同指令集架构的规范下,不同的设计者会采用不同的硬件电路设计方法,因此设计出的微架构各不相同。
例如,AMD的x86指令架构是通过Intel授权获得的,尽管AMD使用的是x86指令集,但Intel并没有将硬件实现方法告知AMD。如果实现方式相同,那么两者的CPU就完全一样了。这就是指令集相同而微架构不同的原因。
总结来说,指令集是CPU选择的指令编码,而微架构是其具体的物理实现方式。
我们常说的Haswell、Cortex-A57、Cortex-A72、Kyro等都是指CPU的微架构。其中,Cortex系列是ARM公司的微架构,任何公司都可以购买,这种我们称之为公版架构。Kyro则是高通基于ARM指令集自行设计的微架构,是构建在ARM指令集生态上的微架构。
关于ARM授权
ARM公司拥有自主研发的ARM指令集,同时也研发了具体的微架构,如Cortex系列,并对外授权。ARM的授权分为两个层次:一种是指令集授权,一种是微架构授权。
如果是指令集授权,购买者仅获得ARM的架构/指令集(如ARMv8、ARMv9),然后自行研究兼容ARM指令集的微架构。例如,苹果公司可以基于ARM指令集设计自己的微架构,甚至可以对ARM指令集进行扩展,从而开发出苹果自己的“swift架构”。
如果是微架构授权,购买者只能在ARM微架构的基础上添加自己的外设,最终形成完整的SoC。
自主研发微架构才是IC设计实力的体现
最能体现CPU设计能力的是微架构的设计能力,微架构的研发也是IT产业技术含量最高的领域之一。业界认为,一个企业只有具备独立的微架构研发能力,才算真正具备了CPU研发能力。
因为CPU微架构的设计非常复杂,包括缓存管理、缓存设计、乱序执行、超标量、超流水线、内存控制、分支预测等众多极其复杂的电路,这些结构的效率直接决定了CPU的性能。因此,微架构才是决定处理器好坏的主要因素。
高通、苹果、华为、龙芯等公司都是自主设计这些电路,因此拥有自主的CPU微架构,只是使用了ARM的指令系统和寻址方式。微架构设计得最好的当属苹果,华为的鲲鹏920也是基于armV8指令集的自研微架构,我国的龙芯虽然使用了MIPS指令系统,但微架构也是自主设计的。
我们为什么不设计一套指令集?
需要明白的是,指令集与操作系统和编译器紧密相连。目前主流的移动操作系统有Android和iOS,它们是ARM的亲密战友,而x86指令集则有Windows这棵大树。
如果你设计一套新的指令集架构,生态系统将是一个大问题。所以你会看到华为、三星、高通都购买ARM的授权,实际上他们购买的是一种生态。
现在龙芯的LoongArch是国内第一套完全自研的指令集,这是龙芯从原来的授权+自主指令集模式的道路上走了一段时间后的突破。
我是cloud3
菜鸟下载发布此文仅为传递信息,不代表菜鸟下载认同其观点或证实其描述。
版权投诉请发邮件到 cn486com#outlook.com (把#改成@),我们会尽快处理
Copyright © 2019-2020 菜鸟下载(www.cn486.com).All Reserved | 备案号:湘ICP备2022003375号-1
本站资源均收集整理于互联网,其著作权归原作者所有,如有侵犯你的版权,请来信告知,我们将及时下架删除相应资源