1.2 背景知识
龙芯派作为一个卡片型的开发板,可以实现个人计算机上的很多功能,但是和我们日常使用的电子设备有些许不同。在进入龙芯派应用开发前,我们应该了解一些关于龙芯的基础知识。同时,我们也应该了解龙芯处理器是从何而来,为什么要从龙芯入门国产软硬件的开发。
1.2.1 LoongISA、ARM和X86
ARM和X86对于我们来说并不陌生。现在大部分智能手机里的中央处理器(CPU),如高通的骁龙系列、华为的麒麟系列、展讯的虎贲系列,都是基于ARM指令集进行设计的。而我们的个人计算机内的CPU,如Intel的酷睿系列和AMD的锐龙系列,则是基于X86指令集设计的。
龙芯处理器和上文提及的芯片不仅在工艺上不一样,使用的指令集架构也有很大区别。龙芯处理器使用的是由龙芯团队自主设计的LoongISA指令集,可以兼容MIPS指令集。
LoongISA指令集基于MIPS指令集做了很多扩展。龙芯的高性能处理器3A4000采用的LoongISA 2.0指令集架构,已经和现在的MIPS指令集走出了完全不同的一条路。
尽管LoongISA指令集和ARM、X86乃至于MIPS指令集都有所不同,但是龙芯完成了Linux以及系统层级之上的基础件、中间件等工作,所以开发者在使用龙芯处理器时,相较于基于ARM、X86指令集的处理器其实没有本质的区别。因此,自主指令集架构并不意味着是封闭系统,由于龙芯在软件上坚持开源和开放,开发者能够自由地进行软硬件开发,安全可控与自由开源在龙芯处理器上交相辉映。
1.2.2 龙芯处理器的起源和发展
龙芯处理器起源于中科院计算所的龙芯课题组。在龙芯课题组夙兴夜寐的奋战下(见图1.3),龙芯1号处理器在2001年完成设计,2002年流片成功,是首个由中国人自主设计的高性能CPU。在研发之初,按照中国“贱名好养活”的习俗,龙芯1号处理器的小名叫“狗剩”,英文名叫“Godson”。
图1.3 龙芯课题组成员把办公室当卧室,在艰苦条件中研制龙芯
截至目前,从“狗剩”出发,龙芯已经研发量产了几十款CPU,覆盖了高性能计算、终端和边缘计算、数据采集等从高到低的算力要求,如图1.4所示。龙芯派上搭载的龙芯2K1000处理器正是龙芯在高端嵌入式领域推出的高性能处理器。
图1.4 面向不同领域需求的龙芯处理器
在很多领域,如电视机、马路上的红绿灯、智能门锁、充电桩等都有龙芯的身影。龙芯处理器作为硬件本体安全的强力支撑,为普罗大众的生活默默提供保障。