胡伟武关于龙芯二号的一些说明和希望
zt 发表于 2005/07/28 09:18 一品 百草园 (www.ywpw.com)
胡伟武关于龙芯二号的一些说明和希望
胡伟武 2005.07.27
1. 龙芯的知识产权问题
计算所在设计龙芯处理器之初就非常重视知识产权问题。由于采用了部分MIPS指令系统中的指令,因此对MIPS公司的有关专利进行了深入的检索和分析。根据我们的检索和分析结果,到目前为止,龙芯处理器的所有设计,不存在对MIPS公司专利的侵权问题。
与MIPS 的知识产权纠纷最常见的是MIPS指令系统中的几条(32位模式为4条,64位模式为8条)访存地址不对齐(Unaligned Memory Access)的指令。MIPS公司为这几条指令的的实现方法在美国、日本、韩国、加拿大、澳大利亚申请了专利。而且以这几条专利为武器对MIPS公司的知识产权进行了正当的保护。过去就有美国公司由于这几条指令的陷入与MIPS公司的知识产权纠纷。但龙芯不存在对这几条指令的侵权问题。(1)到目前为止,在市场上销售的所有龙芯处理器和龙芯IP都没有实现这几条指令。
(2) MIPS公司没有在中国申请与这几条指令有关的专利,因此尤其是在中国市场,不存在对这几条指令侵权的问题。
此外,MIPS公司申请与这几条指令的时间为1986年,美国专利法对该专利的保护期限是20年。
MIPS还有其他一些专利,如关于媒体指令的专利以及关于大尾段(Big Endian)和小尾段(Little Endian)切换的专利。不过,这些专利一般不会有人去用。如龙芯2号中实现了完全自己定义的100条左右的媒体指令,只实现了小尾段的数据格式。
值得指出的是,MIPS公司与计算所一直以来都在进行密切的联系,双方领导人已经进行多次友好的互访(其中包括计算所所长和MIPS的CEO)并进行了友好协商。MIPS公司希望计算所取得“MIPS兼容”的许可权,计算所也希望最后从MIPS公司取得与MIPS兼容的授权。取得授权的主要目的是:(1)实现上述几条指令并在全球范围内合法销售。(2)充分利用MIPS兼容的品牌优势。(3)取得MIPS许可权后,同时取得MIPS公司在设计、验证等方面的全面技术支持。
为了避免不必要的麻烦,计算所希望借这个机会明确表示,以后计算所在描述龙芯2号处理器的指令系统时,不再用象“MIPS -like”或“类 MIPS”这种容易引起歧义的词语,将明确指明龙芯处理器使用“龙芯指令系统”。目前的龙芯指令系统主要由以下四个部分组成。(1)MIPS III指令集中不涉及MIPS专利的部分指令;(2)龙芯1号或龙芯2号自己独有的普通用户态指令,如乘累加指令(MIPS IV中定义了乘加指令,但龙芯2号没有采用)等;(3)部分与处理器结构紧密相关的核心态指令,如对Cache或TLB操作的指令(这些指令一般随结构的不同而不同,即使在MIPS的不同处理器中也是如此)以及在未来的龙芯3号中进行多核之间同步和通信的指令等;(4)龙芯独有的媒体指令。随着龙芯处理器的发展,龙芯指令系统还会进一步增加新指令。对于龙芯1号的产品手册,计算所和龙芯公司也将逐步更正。
同时,计算所将继续和MIPS公司协商关于龙芯实现“MIPS兼容”的授权问题。如果最后龙芯取得MIPS的指令系统授权,计算所将进一步实现MIPS指令系统的其他有关指令,并在通过MIPS公司的完整技术测试和许可后,在龙芯指令系统的基础上,说明“MIPS兼容”。
最近,部分国外媒体以危言耸听的语气,不负责任地指责龙芯存在侵权的可能,这种做法是极其不负责的。到目前为止,计算所没有从MIPS公司收到任何关于龙芯侵犯MIPS知识产权的通知。
2. 龙芯的“架构”问题
最近,美国In-Stat公司发表在《Microprocessor Report》发表了一篇论文,对龙芯2号进行了详细介绍。
In -Stat公司的报告的主要依据是龙芯课题组发表在计算所主办的《Journal of Computer Science and Technology》2005年第2期上的一篇介绍龙芯2号结构设计的学术论文。In-Stat公司在该报告中明确指出,龙芯2号没有实现MIPS公司申请专利的那几条指令。此外,龙芯2号实现了自己定义的媒体指令,没有实现MIPS公司定义并申请专利的媒体指令。
In-Stat公司的报告指出,由于龙芯2号只是没有实现MIPS公司申请专利的部分指令,因此龙芯2号的指令系统是95%与MIPS兼容的(95% MIPS Compatible)。因此,部分媒体很不负责任地说龙芯2号的架构与MIPS R10000有95%的相似之处,可能构成对MIPS的侵权。对龙芯的品牌和产业化造成了很坏的影响。
从高层概念性的“架构”(专业名词为architecture或体系结构)的角度,目前所有的RISC处理器都是95%甚至以上类似的。例如现在全世界所有的处理器都采用冯诺依曼结构(好多人做研究想突破这个结构,做了几十年没有成功),从这个意义上来说,所有处理器是100%架构相同的。又如,在 RISC处理器中,从64位、四发射、有关功能部件的设置、有关队列(如发射队列,Reorder Buffer,访存队列)的设置、指令和数据Cache的设置这些方面来看,在这些概念性的“架构”方面,MIPS处理器、IBM的处理器、SUN的处理器、HP的处理器、DEC的处理器等等,都是95%以上类似的。打个比方来说,我们不能根据两套住房都是三室一厅,都有两个房间朝南就认为这两套住房 95%是一样的。
但从与实现相关的微体系结构(Microarchitecture)的角度,则不同的设计师各显神通。龙芯2号作为完全独立设计的处理器也是如此。例如, MIPS R10000是5-7级流水线,而龙芯2号是9级流水线;MIPS R10000的媒体指令与龙芯2号的媒体指令完全不同;MIPS R10000在发射指令时把指令分成定点指令、浮点指令、和访存指令三组,而龙芯2号在发射指令时把指令分成定点(包括访存)以及浮点两组;龙芯2号实现了可执行保护以防止黑客或病毒的缓冲区溢出攻击而MIPS R10000没有;MIPS R10000和龙芯2号的转移取消机制很不一样,等等。可以说,在涉及具体实现的微体系结构方面,龙芯2号和MIPS R10000很难找到相同的地方。这点,在In-Stat的报告中也进行了充分的阐述。
在In-stat的报告中,对龙芯2号和MIPS R10000的一些结构参数进行了比较,得出龙芯2号在处理能力上与MIPS R10000类似甚至超过的结论。有些媒体就说龙芯2号的“架构”与MIPS R10000有95%类似,是很无知的、很不负责任的、很可笑的,其基本错误在于混淆了表示象指令系统、多发射、RISC这些概念的“架构”和表示具体实现的“架构”的关系。这种行为,使人误认为中国人自己没有能力设计自己的处理器,需要通过抄袭别人的结构来实现。事实上,到目前为止,运行(部分) MIPS指令的最高性能的处理器正是正在实现中的龙芯。
值得指出的是,计算所很注意用知识产权的武器保护自己,在龙芯1号和龙芯2号的设计过程中,已经申请了20多条与龙芯处理器体系结构相关的专利。其中部分已经得到了授权。
3. 几点感受和希望
应该说In-stat公司给《Microprocessor Report》写的报告除了有点作为美国企业的危机感对龙芯2号的某些内容有一定程度的夸大以外,基本上还是比较客观的。他们站在美国的角度宣扬一下龙芯威胁论,是可以理解的,我已经看到过好几篇这样的文章。但是国外有少数人,尤其是一些霸权主义者,杀了我们的同胞,烧了我们的圆明园,他们不觉得侵犯了中国人的权利;占领我们的钓鱼岛,他们不觉得侵犯了中国人的权利;最近在伦敦有一个中国元代的青花瓷罐拍卖了2.67亿元人民币的价钱,他们一边数钱一边乐,也不去问有没有侵犯中国的知识产权。我们做的东西稍微跟他们挨点边,他们就死了亲爹似地叫,自己当强盗,还要贼喊抓贼。不过我们也是不怕的,毛主席说得好,你打你的,我打我的。我就不信,共产党的天下,人民的政权,帝国主义们、霸权主义们(以及部分走狗们)能够颠倒黑白,翻得了天。
可是我们自己不能跟着起哄,为着自己一时利益或逞一时之快,帮着贼喊抓贼,做一些亲者痛仇者快的事情。更不能一听洋鬼子说龙芯可能侵犯人家的知识产权的谣言,就如获至宝地跳出来信谣传谣。龙芯还是个孩子,需要大家来关心才能长大。我们做龙芯不容易,尤其是核心技术,产业链很长,虽然我们在技术上取得了一些突破,但真正要在市场上取得成功,还有很长的路要走。龙芯课题组很多人都每周工作七、八十个小时,常常连续一周不回家,春节也在实验室里过,再苦再累再烦也咬牙忍着,辛苦一年只能挣到自己的大学同学在国外一个月的工资,为的就是让中国拥有自己的核心技术,让中国的国家安全更有保障,让我们的孩子不再用八亿件衬衫换一架飞机。
可以肯定的是,不管遇到多大的困难,计算所尤其是龙芯课题组都会一如既往地为龙芯的研发和产业化的最后胜利而努力拼搏奋斗。毛主席曾经说过,我们的同志,在困难的时候,要看到成绩,要看到希望。这句话我们是牢记在心的。不管是人为设置的还是工作中碰到的困难,我们将一如既往地克服;不管是多么强大的对手,我们将一如既往地战胜。我相信,凭着中华民族的伟大智慧,依靠全中国人民的努力,总有一天,我们的子孙后代能够让美国人拿8亿条牛仔裤来换我们的一架飞机。毛主席说过,中国人民已经站起来了,是不好惹的;惹翻了,是不好办的。
最后,我要请求媒体的朋友和网友,多多支持龙芯,对龙芯要多些宽容,不要跟着洋鬼子一起谩骂。以后见到类似的情况,转载或发表关于龙芯的新闻,首先想一想,会不会对龙芯有害,会不会对我们国家的自主创新有害。最好是跟我们沟通交流一下。谢谢。