我们已有2大100%自主芯片指令集,不用依赖国外了?

2024-05-15

1. 我们已有2大100%自主芯片指令集,不用依赖国外了?

说起芯片指令集,大家肯定会提X86、ARM、RISC-V、MIPS、Alpha这些,因为这些指令集,目前国产CPU都有在用。
  
 但大家可能并不清楚,这些指令集都是国外的,所以一直以来,大家都希望能够有100%自研的自主指令集,这样我们就不用依赖国外了。
     
 当然,也许很多人对指令集、微架构等搞不清楚,那我再解释一下。
  
 指令集是CPU与操作系统之间的翻译官,程序被执行前要翻译成CPU理解的语言,这个就是指令集,像X86、ARM这些就是指令集。
  
 在CPU中有一种微架构,那是指 CPU的基本组成单元,也称之为核心,类似于ARM推出的Cortex-A78这些才是是微架构,与指令集是不一样的。 
     
 那么国内真的没有自主指令集么?其实并不是的,指令集的技术难度并不高,目前国内已经有两大完全自主的指令集,并不是大家认为的没有。
  
 第一个是申威CPU用使用的SW64。申威在早期获得了Alpha指令集的授权,使用的是Alpha指令集,但后来申威推出了100%自研的SW64指令集,放弃了原有的Alpha指令集。
  
 第二个是龙芯,龙芯最早期是获得了MIPS的授权,后来又 在MIPS的基础上扩展形成了LoongISA,但到最近发布的3A5000后,龙芯放弃了MIPS指令集和LoongISA指令集,采用了100%自研的LoongArch指令集。 
     
 但很明显,由于目前PC领域的主流指令集是X86,因为它与windows是匹配的,而移动芯片的主流指令集是ARM,它是与安卓对应的。
  
 所以就算国内已经有两大完全自主的指令集SW64和 LoongArch,但由于龙芯、申威都不是当前主流芯片,所以我们还是无法摆脱对国外指令集的依赖。 
  
 可见指令集的技术难度没有想象中的高,与指令集对应的操作系统才是关键,而操作系统本身也并不难,难的是操作系统背后的生态,这些是一环套一环的。

我们已有2大100%自主芯片指令集,不用依赖国外了?

2. 目前国产芯片使用的指令集主要有哪些

目前国产芯片使用的指令集主要有:3DNow、Professional、SSE5。
顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。其实它是英特尔生产的x86系列CPU及其兼容CPU,如AMD、VIA的。即使是现在新起的X86-64(也被成AMD64)都是属于CISC的范畴。

嵌入式芯片星光系列:
“星光系列”数字影像芯片项目由北京中星微电子有限公司邓中翰等完成。该成果全面地分析数字多媒体芯片技术的共性,提出了个完全的从多媒体数据结构、多媒体处理算法、直到多媒体芯片架构、高速低功耗超大规模集成电路以及嵌入式系统软件技术的整体多媒体芯片技术体系。
可重构CPU架构技术、深亚微米超大规模芯片设计技术、高品质图像处理及动态无损压缩算法技术、CMOS模数混合电路技术、超低功耗低振幅电路技术、单晶成像嵌入系统技术。

3. 突破封锁!国产芯片终于有了自己的指令集

   在半导体芯片领域,     指令系统是一切软硬件生态的起点    。 
     以大家最熟悉的ARM和X86为例,它们就分别隶属于RISC精简指令集和CISC复杂指令集。  
     随着物联网、5G、AI新兴领域的兴起,RISC-V和MIPS两大精简指令集架构也频繁出现在我们的视野内。  
        所谓芯片,其实都是由半导体堆出来的硬件电路,晶体管越多往往代表性能和功能越强。但无论是超级计算机还是智能手环,     它们搭载的处理器都只能识别二进制数据    。 
        想让这些芯片正常运行,处理复杂的应用场景,首先就要教会它们学会类似九九乘法表的“算法口诀”和“数学公式”,     而这些算法口诀/公式其实就是所谓的“指令集”    。 
     换句话说,     指令集的功能和效率(算法口诀/公式的类型),在很大程度上就决定了各类芯片的成就和算力的上限    。 
     虽然海思麒麟、龙芯、兆芯、海光、紫光、澎湃等国产芯片都在各自领域取得了不俗的成绩,但无论是它们,还是其他采用X86、ARM、MIPS、RISC-V、Alpha和Power,选择封闭、授权还是开源的国产芯片项目,其底层的指令集根基都掌握在别人手里。  
     因此,     只有从指令系统的根源上实现自主,才能打破软件生态发展受制于人的枷锁    。 
     好消息是,日前龙芯中科就正式发布了自主指令系统架构“Loongson Architecture”,简称为“龙芯架构”或者“LoongArch”。它包括基础架构部分,以及向量扩展LSX、高级向量扩展LASX、虚拟化LVZ、二进制翻译LBT等扩展部分,总共接近2000条指令。同时不包含龙芯此前使用的MIPS指令系统,     并具有完全自主、技术先进、兼容生态三个方面的特点    。 
        目前,采用LoongArch的龙芯3A5000处理器芯片已经流片成功,完整操作系统也已稳定运行,它能对多种国际主流指令系统的高效二进制翻译链,并成功演示了运行基于其它主流指令系统的复杂应用程序。  
        LoongArch对MIPS指令的翻译效率是100%性能,对ARM指令翻译的效率是90%性能,对x86的翻译效率是80%性能。  
        此外,龙芯中科还在联合产业链伙伴在适当的时间建立开放指令系统联盟,在联盟成员内免费共享LoongArch及有关龙芯IP核。  
     所谓IP核,我们可以理解为ARM旗下的Cortex-A78和Cortex-A55等,后置都是基于ARMv8指令集打造的核心IP架构,并授权给了高通、三星、联发科等芯片商开发SoC移动平台。  
        目前,ARM刚刚发布了ARMv9指令集,如果不出意外将在下半年发布的Cortex-A79和Cortex-X2架构就将采用这套指令集。  
        近10年来32位手机处理器都是基于ARMv7指令集打造,在A75之前的处理器则是基于ARMv8-A设计,随后都是ARMv8.2-A一统江湖  
        ARM指令集可以细分为Cortex-A(ARMv-A)、Cortex-R(ARMv-R)和Cortex-M(ARMv-M),分别适用于不同类型的芯片  
        比如车载芯片使用的就是Cortex-R(ARMv-R)核心IP  
     总之,     设计出一个纯国产的自主指令集只是万里长征的第一步    ,关键是后续要做出懂这个指令集的CPU(已经有了龙芯3A5000),再往后还需要让和人类交互的“翻译家”——编译器懂这个指令集。也就是需要不断完善软硬件生态,让我们熟悉的系统、办公、 娱乐 和 游戏 程序都能运行在这套指令集打造的芯片之上。如果做不到这一步,国产指令集和相关芯片也只是空中楼阁而已、 
        作为国人,我们真心希望LoongArch这种国产指令集可以取得成功,今后无论手机、电脑、车载还是其他半导体芯片都能以使用国产指令集为荣,并走向世界。  
      扩展小知识   
     那么,指令集又是如何影响芯片执行效率的?  
     我们以RISC和CISC,让它们分别执行“清洁地面”的命令为例,看看其背后的指令逻辑差异。  
        逻辑上,“清洁地面”的大概思路是先拿起扫帚,扫地;拿起簸箕,用扫帚把垃圾扫进簸箕;放下扫帚和簸箕,润湿墩布;再用墩布擦地,直至清洁地面完成。  
     对CISC复杂指令集而言,很容易理解“清洁地面”这套逻辑,下达“清洁地面”命令后,就能按照规则和顺序,一步步自动完成。  
     对于RISC精简指令集而言,它一下子可理解不了如此复杂的逻辑,必须将复杂的逻辑顺序拆分,然后按照一项项简单的命令去完成复杂的操作。  
     比如,想让RISC精简指令集完成“清洁地面”命令,就必须依次下达“拿起扫帚”、“扫地”、“拿起簸箕”、“把垃圾扫进簸箕”、“放下扫帚和簸箕”、“润湿墩布”、“墩地”……  
     看起来CISC复杂指令集方便又强大?没错,如果要同时清洁无数房间地面,你只要对着不同的房屋说“清洁地面”、“清洁地面”、“清洁地面”……即可。  
     而对RISC精简指令集,你需要对着每个房间都重复一整套复杂的命令,如果下达指令的人嘴巴不够快(带宽不够大),那清洁地面的效率自然受到影响,难以和CISC复杂指令集抗衡。  
     但是,     现实生活中,并非所有房间的地面都需要一整套的清洁流程,比如你只需要墩地一个步骤。   
     对RISC精简指令集而言,你只需对着需要清洁的房间说“墩地”、“墩地”、“墩地”即可。而由于CISC复杂指令集没有单独的“墩地”动作,操作起来就要麻烦许多,完成相同的墩地操作会消耗更多资源,翻译过来就是发热更高更费电。  
     这就是RISC和CISC的本质区别。     说不上谁好谁坏,只能说它们所擅长的领域各不相同。   
     以ARM架构为代表的RISC精简指令集,最适合针对常用的命令进行优化,赋予它更简洁和高效的执行环境,对不常用的功能则通过各种精简指令组合起来完成。  
     RISC是将复杂度交给了编译器,牺牲了程序大小和指令带宽,从而换取了简单和低功耗的硬件实现。  
     对以X86架构为代表的CISC复杂指令集,则适合更加复杂的应用环境。  
     CISC是以增加处理器本身复杂度作为代价,以牺牲功耗为代价去换取更高的性能。不过,X86架构则可通过对新型指令集的支持(如SSE4.1、AVX-512等),在一定程度上提高指定任务的执行效率和降低功耗。  
     现在芯片领域是RISC攻,CISC守的格局。以苹果M1为代表的ARM架构RISC指令集芯片正在染指传统的X86 PC市场,而且大概率会取得成功。虽然以英特尔为代表的X86阵营曾多次试图反击Android生态(如早期的Atom芯片),但最终却都以失败告终。ARM最新发布的ARMv9指令集,就给了ARM芯片入侵X86 PC大本营更多弹药,也许用不了多久Windows ARM版PC也将成为一个更加重要的PC品类。  

突破封锁!国产芯片终于有了自己的指令集