世
界上生产处理器芯片的厂家有无数,但他们生产的芯片绝大部分都属于以上几种架构,只有少数厂家设计生产一些自成体系的处理器,他们有自己的指令集、编译连
接器、调试器、集成开发环境,有的甚至还有自己的小型操作系统,但他们的这些处理器基本都是自产自销,专用于他们自己的某些产品中,而且这些处理器都是比
较低端的,针对性强,应用也比较窄,同时也正是因为他们所有都是“自己造”,导致技术比较封闭,公开资源少,了解的人不多,开发的人自然就少,所以它们根
本不可能形成主流,当然这些公司并非靠生产芯片挣钱,而是靠卖产品发财,所以严格来说,这些公司算不上是专门的芯片生产商,而是某个产品(如照相机)的生
产商,一旦他们的产品滞销,他们“自己造”的芯片也将随之退市。
不同架构处理器之间最根本的区别是指令集而不是其他,也可以说指令集是区分不同架构处理器之间的标志;指令集最本质的含义在我看来应该是指汇编指令与二
进制机器码的对应关系,汇编指令又可以叫做指令的名字,综合起来,指令集就是指令名字与二进制机器码的对应关系;各种处理器架构之间的不同就表现在它们各
自使用不同的指令集,但事实上,不同处理器架构的指令种类基本都是相同的,只是设计它们的公司并没有考虑相互融合与统一的问题,所以这些指令被人为冠以不
同的名字与不同的二进制代码,尽管它们表达的意思是相同的;每一种指令集都必须有自己的将指令名字翻译成二进制机器码的编译器,指令集的不同使得各种处理
器架构必须使用各自不同的编译器;从世界大同的角度来考虑,这其实是一种人为制造的壁垒和障碍,也是一种重复用工、浪费资源的现象;假如在不同架构处理器
上使用相同的名字与二进制机器码来实现相同的功能,那么,不同的处理器架构就可以使用相同的编译器,而这从技术上是完全可以实现的,关键是在人的因素。
处理器的核心技术并非指令集,指令集属于软件范
畴,而处理器芯片本身属于硬件范畴;处理器的真正核心技术体现在芯片内部实现每条指令的效率以及所支持指令的种类和数量上;不同级别的处理器所支持的指令
种类和数量可能是不一致的,性能越强、功能越多的处理器支持的指令种类和数量越多,执行指令的效率也越高,这一点对所有处理器架构来说都是相同的;由此看
来,如果我们想自主设计一款处理器,我们根本没必要只是为了一个没有太多实际意义和技术含量的概念而标新立异地去设计一套全新的指令集(其实就是给指令起
一个不同的名字而已),就像我们自主设计一个操作系统并不必要首先另行设计一种类似C的编程语言一样,我们完全可以选择一套目前最全、最完善的指令集,然
后用自己的思想和方式来实现这些指令,这样我们就可以借用这套指令集现成的编译器和开发环境,减少了芯片设计成功之后配套软件的开发需求,也就缩短了芯片
上市周期,一旦芯片设计成功立即可以走向市场,应用到实际产品当中去;如果我们自己独创一套全新的指令集,那么我们就必须开发一套全新的编译器,还有其他
配套调试仿真软件,那样的话,即使芯片设计成功了也可能因为后续配套软件跟不上而无法使用,这是大家想看到的吗?
前面提到的所有处理器架构中,我除X86用得多(电脑天天用)却没做过开发之外,其它的处理器架构我都在上面做过开发,有的架构甚至在多款芯片上做过开
发,比如ARM架构处理器我开发过的芯片型号有:S3C4510、S3C44B0、CS89712、AT40800、S3C2440、
IXP425,PowerPC架构处理器我开发过的芯片型号有:PPC860、PPC8260、PPC405DP、PPC440EP;X86处理器的指令
集属于CISC,总体来说效率比较低,而嵌入式处理器的指令集大多是RISC,执行效率比较高,所以现在Intel新出的处理器也开始渐渐向RISC方向
转变;在嵌入式处理器中,目前做得最好、性能最强的就是MIPS架构处理器,我在2005年用美国BroadCom公司的BCM1250处理器设计了国内
第一款嵌入式服务器,BCM1250芯片是MIPS(64)架构,双核,最高频率可达800MHz,当时通过性能测试比较是与Intel的Xeon高端服
务器整体性能相当在某些方面略强的,不久我又从美国另一家公司RMI了解到,他们已经设计出了8核MIPS(64)处理器,最高频率可达1.2GHz,而
且每个核都是硬件双线程,这款芯片的软件与BCM1250的软件完全兼容;而其他处理器据我了解目前能做到多核的极少,至少我目前还没听说也没实际用到
过,并且它们的频率都达不到上述MIPS处理器的频率高度;由此,我认为MIPS处理器目前至少是嵌入式处理器中性能最强、最高端的处理器,相应的
MIPS处理器的指令集也是最全、最完善的,那么,如果让你在这些处理器架构指令集中选择其中的一套来设计一款高端处理器芯片,你会作何选择?我相信,英
雄们都会选择MIPS的J!
事实上,从互联网上的一些信息我们可以看到,MIPS公司本身从来没有自行向“龙芯”提出任何侵权指控或诉讼,因为他们自己心里非常清楚有没有把他们自
己实现MIPS指令的核心技术传授或转让给了“龙芯”人,如果有,那我想就不是指控“龙芯”侵权,而是直接追讨违约金了;当然MIPS指令集是公开的,即
使不公开,从编译器源代码中也是可以读出来的;所以,我们可以想象:“龙芯”团队的设计师们埋头先从公开的资料中整理了一套完整的MIPS指令集,然后搭
起了巨型逻辑电路,凭借自己的思路和方法,使用枯燥的硬件描述语言,经过无数个不眠之夜,克服重重困难,付出无数心血和汗水,最终一步一步实现了所有这些
指令集;而后流片,设计全功能开发板,调试,最后做成系列产品,并且拿到实际生活中去检验测试;而一旦所有这些都取得成功之后,“龙芯”又尊重事实,与
MIPS公司签署购买其MIPS32和MIPS64架构指令集专利的合约,这何尝不是我们对国外优秀文化与先进技术的一种尊重和包容、一种负责任态度!这不正体现了“龙芯”团队成功之后的潇洒与从容吗!我们向来不吝啬把自己优秀的东西传播出去,我们也从不拒绝接纳国外优秀的东西,只要他们真心实意给我们!
什么是MIPS结构授权
龙芯处理器选择MIPS指令系统的重要的原因是出于市场考虑。MIPS结构是一个开放的架构,MIPS公司不同于Intel、SUN和IBM,它不是
IDM公司,自己并不生产销售芯片,而是以卖License和服务为营业范围,它不但不像Intel公司那样反对别人做兼容芯片,而是支持其他厂家做
MIPS兼容芯片。世界上许多大公司,如CISCO、SONY、AMD、ATI、NEC、LSI、IDT和ITE等在内的上百家公司都购买了MIPS的
License。上世纪90年代SGI公司曾采用MIPS芯片做高档工作站与服务器,目前MIPS芯片是国际上主流的高档嵌入式CPU之一,2008年
MIPS芯片销售量超过4亿片,都是MIPS的授权客户销售的。
MIPS的License分为处理器核授权(Core License)和结构授权(Architecture
License)两类。处理器核授权是购买由MIPS公司设计的MIPS兼容的处理器核,分为软核和硬核,这是由MIPS公司设计的处理器核。购买结构授
权主要是为了使用MIPS兼容的品牌以及通过加入MIPS兼容联盟共享知识产权,购买结构授权后需要自主设计处理器核。计算所购买的是MIPS公司的结构
授权。
结构授权的核心是指令系统兼容,指令系统就是计算机硬件提供给软件的编程语言。例如,“六十六”和“66”表达的是相同的意思,但后者全世界都可以看懂,
而前者只有懂汉语的人能够看懂。指令系统也是如此,就是一个编码,一种计算机的语言。采用MIPS兼容的指令系统可以运行很多现有的系统软件和应用软件。
包括Linux、Vxworks以及WinCE在内的操作系统都支持MIPS指令系统;MIPS的应用软件也非常丰富,例如MIPS公司已经把
Google公司的操作系统Android移植到MIPS构架上,这样使得基于MIPS的设备能运行Android,MIPS兼容授权意味着龙芯的芯片能
支持Android的平台,以及利用Android平台的应用和资源。因此,购买MIPS兼容授权可以缩短龙芯芯片进入市场的时间。
计算所已经完成对MIPS指令系统的专利分析,在中国实现完全的MIPS指令系统不侵犯MIPS公司保护四条特殊指令的专利。这次结构授权也不是购买
MIPS专利授权。但如果没有MIPS公司的结构授权,就得不到MIPS公司的有关服务,龙芯处理器产品就不能使用“MIPS兼容(MIPS
Compatible)”的标志,不利于龙芯处理器的推广。因此购买MIPS的结构授权,主要是基于扩大市场的考虑,并不影响龙芯CPU的自主性。
阅读(1712) | 评论(0) | 转发(0) |