服务器 频道

专访龙芯总设计师胡伟武:产权没有问题

  【IT168评测中心】6月24日下午,龙芯(Loongson/Godson)总设计师胡伟武接受了IT168的专访,对外界流传的关于龙芯购买MIPS授权的质疑进行了回应,并回答了笔者感兴趣的一些关于处理器微架构的问题。胡伟武表示,购买MIPS结构授权是为了更好地开拓市场,龙芯没有知识产权问题。

  龙芯是中科院计算所(Institute of Computing Technology, Chinese Academy of Sciences)设计实现的基于MIPS(Microprocessor without Interlocked Piped Stages,无内部互锁流水级的微处理器)指令集的处理器,从2002年开始,龙芯已经推出了两代(龙芯三目前仍未出现市场)。目前最新的市售型号为龙芯2F,主频达到了1GHz。龙芯一开始的英文名叫做Godson,在06年11月,龙芯的英文名定为Loongson,在学术界则仍然使用Godson的名字。

  在2009年6月15日,中国科学院计算所(ICT),作为一个法人机构正式获得了MIPS公司的授权,位于美国硅谷的MIPS公司于6月15日发布了官方新闻稿,中科院计算所于6月22日发布了新闻稿。在之前的2007年,计算所通过为其制造生产的意法半导体STMicroelectronics公司间接购买获得MIPS的许可证,这次计算所通过与MIPS直接签约,购买了MIPS32和MIPS64的许可证。


合影:胡伟武(中)、笔者(右)、CCW韩勖(左)

  在这个消息发布之后,引起了业界的议论,其中不少人认为这意味着龙芯其实就不是具有自主产权的中国芯了。在24日下午的采访中,胡伟武对外界议论的焦点进行了详细的解答(关于官方的详细解答见最后页的附录),并回答了IT168评测中心记者的提问。

龙芯获得的授权是架构的授权,可以无限制的使用

  IT行业分工高度细化,一些企业越来越倾向于专注某一特定领域,这就是所谓的IP核(Intellectual Property,知识产权核,可不是Internet Protocol)供应商,如他们只设计出实现特定功能的一块电路,把这个设计方案卖给其它芯片厂商来构建完整的芯片产品。

解析:从Atom微处理器到通用处理器市场

  主要的处理器核供应商有英国的ARM和美国的MIPS,它们研发出通用的处理器核,其它芯片设计企业得到它的授权,把这个处理器核与专用的逻辑电路(例如通信协议处理、音视频处理、IO处理)等等,封到一块芯片里,就构成自己的SoC(片上系统),用于某些专业领域,例如手机、数字电视等等。在这个产业链模式下,SoC厂商通过出售芯片赚钱,处理器核提供商以授权费用的形式从中分成,你只能有偿使用,不能仿制,不能超过授权许可的范围,否则就会引起法律上的麻烦。


意法半导体生产的龙芯2E,处理器表面有Loongson、ST和ICT的标志

记者:龙芯获得的授权是哪一种授权?如果是核授权的话应该会花费多少呢?

胡伟武:如果我们直接买MIPS的核的话,那个十几二十万美元就够了,IP核授权很便宜。龙芯买的是结构的授权,你可以无限制的做。

记者:那么龙芯买这个授权花费了多少呢?比之前的500万美元要低吧?

胡伟武:由于结构授权可以无限制的做,所以这个比较贵。我们和MIPS有保密协议,具体价格我们不能讲,但肯定比这个价格低,500万美元是他们之前的要价。

记者:这个授权会不会有些方面限制住了龙芯的应用呢?如不能用于什么领域等?

胡伟武:没有,这个一个是地域,一个是领域,两个方面都没有限制。限制是限制在芯片方面。我们在这方面请了很多非常有经验的律师,做了一年。我们是永久性的授权。即使是以后MIPS被人收购了,对龙芯也不会有影响,这个在合同里面都是有体现的。


Sony PS2上的EmotionEngine内部就集成了MIPS处理器核

得到MIPS结构授权并非意味着创新失败

记者有人认为龙芯购买MIPS结构授权意味着自主创新失败,你怎么看?

胡伟武:有这方面的疑惑是因为对计算机的架构不了解,早期我们说计算机的架构就是说ISA(Instruction Set Architecture,指令集架构),这个ISA当中的A很具有迷惑性,ISA是指指令系统,这只是一种语言,负责处理器硬件与软件的沟通,现在说的Architecture已经发展到了软件、硬件都算了。处理器最核心的技术是指令集下面的微架构(Microarchitecture),这方面的创新空间很大。

胡伟武:ISA方面,MIPS基本指令只有300多条,我们自己增加了500多条。实际上MIPS是一个开放的架构,它有一部分是它定义好的,有一部分是允许用户自己定义的,它只是管它定义好的那部分,你不能瞎动。我们自己定义了500条指令,所以这方面的创新空间还是很多大的。


龙芯2微架构

及内部组件结构、物理布线等都自行研发实现

胡伟武:今天说的架构和以往的架构已经是两回事了,龙芯使用MIPS架构不是说就已经定死了,关键的微架构,是得自己设计的,例如加法器怎么实现、乘法器怎么实现的,这些对处理器来说都是很关键的。

胡伟武:龙芯经过8年的研发,这方面已经申请了近百项专利,比MIPS在中国的专利要多得多,我们拥有完全的自主性。


到龙芯2D1为止的发展过程

龙芯可能会成立一个公司

记者最近听到你和李所长说过关于龙芯会成立一个大公司的形式来运行,这个结构授权是直接由它来继承吗?

胡伟武:计算所是一个国立科研机构,原则上是不做芯片的买卖,那肯定是计算所下属的做龙芯业务的企业来继承这个授权,这个是在合同里面说的很清楚的。

技术问题


Godson-2 Microarchitecture (Godson-2E)

记者龙芯三号流片成功了么?

胡伟武:龙芯3A、3B都有了,但是还没有返回来。

  龙芯2E运算单元介绍,基于2005年的文档:
  ALU1:执行整数加/减,逻辑/移位,比较/陷阱以及分支指令,所有的指令都能在1个时钟周期内完成。
  ALU2:执行整数加/减/乘/除,逻辑/移位/比较,整数乘使用全流水线设计,执行需要4个时钟周期;整数除使用了非全流水线设计的SRT(以斯维尼、罗伯逊、托克尔三个独立提出算法的人命名)迭代算法,执行延迟从4个到37个时钟周期不等。
  FALU1:执行浮点加/减/绝对值/反值/转换/比较以及分支,加/减/转换指令需要4个时钟周期,其它的指令需要2个时钟周期。
  FALU2:执行浮点乘/除以及平方根,浮点乘采用了全流水线两位Booth编码Wallace树算法,执行需要5个时钟周期。浮点除和平方根都使用非全流水线的SRT算法(和ALU中的一样),执行延迟是4-10个时钟周期(单精度浮点除)或者4-17个时钟周期(双精度浮点除)、4-16个时钟周期(单精度浮点平方根)或4-31个时钟周期(双精度浮点平方根)。

记者龙芯2E运算单元的除法、平方根运算现在能完全流水线设计了么?后续型号的运算单元相比变化大吗?

胡伟武:后继型号的运算单元和以前的差不多,没什么变化。不过龙芯三号实现了向量部件,8个1024 x 64位的向量运算可以并行进行。

记者如ALU这样的运算单元的数量会继续增加吗?

胡伟武:ALU的数量没有增加,但是向量单元也可以作定点计算(注:整数计算)和浮点计算。

记者龙芯2的Load/Store单元似乎有点少(一个),它会继续增加么?

胡伟武:在有了向量单元之后存取确实是一个问题,我们后继型号作了很多创新,申请了很多专利。你说的没错,我们的处理器核里面的Load/Store部件是有点少,我们在龙芯3A和龙芯2G里面都增加了。

  龙芯2具有64个GPR,每个64位。x86处理器具有8个32位GPR,x86-64处理器则具有16个64位GPR。

记者GPR(General Purpose Register,通用寄存器)的数量会增加吗?

胡伟武:我们的向量计算部件实现了128个256bit的寄存器,这个做的非常大。

记者听说龙芯2G和龙芯3支持x86指令,是真的吗?

胡伟武:严格来说不是这样,这个是类似于Transmete的二次编译技术,一个“软”的x86核,当然做法上我们和全美达不同。

记者龙芯采用解码器将指令解码为内部指令是基于一种什么思想?

胡伟武:做CPU的人都希望CPU搞定一切,譬如说最近在做的高清编解码,无论什么格式增加的指令都可以用同一个处理器来完成。Intel也是这样做的。

龙芯2/Nehalem处理器架构深度对比分析

关于MIPS结构授权与龙芯自主性等问题

1. 得到MIPS结构授权是不是意味着非自主创新?
答:这个问题要看大家对“结构”或“架构”两个字的理解。计算机架构的发展经历的不同的阶段,在六、七十年代,指令系统就是架构,因为那时候晶体管资源比较有限,所有的实现都是按照最简单的来。指令系统对结构是有影响的,例如,如果指令系统中有乘法指令,结构上就要实现乘法指令。而现在,计算机架构已经远远超出了指令系统的范围。
  在计算机中,指令系统就是一种语言,就像我们用的汉语和英语一样。比如说我们要写一本小说,用中文写还是用英文写对小说肯定是有很大影响的,但关键是小说的内容本身。指令系统也一样,就是计算机中软件和硬件之间的一种语言。为什么要采用MIPS指令系统而不是自己定义一个新的指令系统呢?例如“六十六”和“66”表示的是相同的意思,但前者只有懂中文的人才明白,后者全世界都明白。
  另外,指令系统对CPU架构虽然有一定的影响,但影响不大。MIPS指令系统只有300多条,大龙芯已经在此基础上新增加了500多条,因为MIPS指令系统是可以扩充的。
  在CPU领域,架构不是指令系统,而是指“微体系结构”(microarchitecture),就像盖房子一样,房子的结构得自己设计。以MIPS为例,同样的指令系统,也可以让一个研究生就设计出一个简单的CPU;也可以让一个国际一流的团队设计出有市场竞争力的CPU,都是运行MIPS指令系统的。
  因此,指令系统对架构有影响,但不是架构的关键。龙芯在过去8年中,在架构上是有很深的积累的,并已经申请了近百项专利。

2. MIPS指令系统是不是在市场上边缘化了,不适用于电脑?龙芯采用MIPS指令系统是不是只能应用于低端应用?
答:技术跟市场不能混为一谈。X86的成功,主要是市场的成功,学术界都知道其结构上不如当年已经死掉的DEC的Alpha;同样,微软的成功也主要是市场成功。
  目前山寨手机的成功主要也是商业模式的成功。
  指令系统跟低端或者高端没有关系。90年代的时候世界上最快的500台计算机中有300多台是MIPS指令系统兼容的。
  LINUX是肯定能发展起来的。在服务器市场,Linux占有80%的份额。在国外桌面使用 LINUX的也很多。我们国家是使用LINUX最不普及的,巴西、委内瑞拉、越南、俄罗斯等政府办公和教育都是LINUX为主。
  目前,龙芯的服务器、个人终端、嵌入式三个系列的定位已经完备。技术已经有竞争力。以服务器市场来说,今年曙光5000A使用8000颗AMD的CPU达到了200万亿次,而明年曙光6000将使用8000颗龙芯3号达到1000万亿次。龙芯决不是低端的东西。

3 采用MIPS架构是不是有安全性的问题?
答:指令系统就是一个编码。是公开的,不涉及任何安全问题。指令系统说穿了就是如何用数字表示加、减、乘、除这些操作。我们可以用1、2、3、4四个数字分别表示加、减、乘、除四个操作,也可以用5、6、7、8来分别表示加、减、乘、除(当然实际情况会稍微复杂一点),这些都是公开的。关键是人家用1、2、3、4表示加、减、乘、除大家已经习惯了而我们如果非要用5、6、7、8来表示,大多数人就看不明白。
  龙芯购买MIPS授权,不是购买MIPS公司已经完成的设计,而是取得MIPS兼容这个标志,主要是市场行为。
  MIPS公司的授权客户有很多,包括AMD、SONY、NEC等等。

4. 既然是自主的,为什么要购买MIPS的架构?
答:指令系统不能申请专利,MIPS曾经有四条指令的实现方法上于1986年申请了专利,但这些专利已经于2006年到期。因此龙芯购买 MIPS授权不是因为这几条指令。
  我们在MIPS的指令系统的创新方面已经远远超过了MIPS公司。购买MIPS授权主要是减少市场过程中的麻烦,包括有利于拓展海外市场。
  龙芯在关键技术上不依赖MIPS。但做到跟MIPS兼容可以充分利用该阵营的力量。
  知识产权问题,本质上是市场问题,不是法律问题。例如,Transmeta公司本来市场很好,但Intel起诉它,打了两年官司,最后Intel输了,但两年过程中没有人敢跟Transmeta做生意,最后Transmeta被拖垮了。
  MIPS指令系统是大学和研究生教育的教科书上用的指令系统,被誉为“CPU中的LINUX”。就像我在背景材料中说的一样,龙芯没有侵MIPS的专利权,但我们在产品销售过程中不能打“MIPS兼容”的商标,否则会侵MIPS的商标权。另外,我们提供给客户的指令手册中不能直接翻译MIPS的指令手册,否则就会侵犯copyright。龙芯现在是“有罪假设”,小企业跟龙芯合作没有太多的考虑,但大企业跟龙芯合作,一定会考虑龙芯的可持续发展问题。
  关键是龙芯购买MIPS授权有很大的好处。最近很多国外的大企业纷纷找我们合作,就是因为我们购买的MIPS的授权,大家认为龙芯是一个中规中矩的组织。还有很多合作伙伴(包括微软的WinCE、Adobe、风河等)开始把软件往龙芯上移植,也主要是看好龙芯。最近还有不少美国人到龙芯找工作。我们做自主创新,一定要做统一战线,要团结很多人,包括美国人。我们购买了MIPS的结构授权,就会有很多美国人支持龙芯,巴不得龙芯越大越好。 最后,我们购买MIPS结构授权的代价极小,充分利用了金融危机。

5. 为什么在这时候购买,不是早些时候或者晚些时候?
答:一方面,龙芯经过8年的积累,技术上已经具备较强的市场竞争力,产业化方面经过多年的探索也具备了很好的基础。在此基础上,准备以企业为主体正式进行龙芯的研制和推广。 另一方面,在这时候购买可以利用金融危机的时机降低购买费用。龙芯在MIPS授权方面的费用远小于每年花在EDA工具方面的费用。

龙芯2/Nehalem处理器架构深度对比分析

0
相关文章