他毕业于斯坦福大学,在70年代末加入了在微处理器领域刚刚崭露头脚的intel,并参与了intel最尖端微处理器的研发,随后,在攻读斯坦福大学电气工程博士学位期间参与了RISC架构的开发,帮助创建了MIPS公司并担任MIPS微处理器开发副总裁,之后他加入了EDA巨头Synopsys公司,负责产品定义和以及IP复用战略,在产业里打拼了近20年后,1997年,他终于有了自己的公司,他尝试用一种新的产品来改变负责SoC的设计,如今,他的这个新产品已经应用到DoCoMo的4G手机、三星的3D蓝光播放机、任天堂的游戏机、ATI的显卡、HP的激光打印机等各种电子产品上。
这个富有传奇色彩的微处理器领军人物就是Tensilica公司现任CTO Chris Rowen博士,他发明的可配置处理器可以算是应用最广泛的通用处理器了。
现在很多本土IC都在开发“中国芯”,但是目前为止我们没有一款真正自主架构的通用微处理器,大名鼎鼎的龙芯采用的MIPS架构,其他一些所谓的中国芯处理器采用的要么是ARM架构,要么就是一个DSP器件,真正的通用微处理器从原理上解释很简单:就是一个执行存储器中指令的有限状态机,每条指令都规定了总状态变化的特定方式以及指定随后该执行哪条指令。看看,通用处理器原理就这么简单,但是要开发一个真正的通用处理器难度却是很大的。
难在哪里?指令集的定义,这个指令集要支持对程序员有用的功能,同时它的实现要尽可能有效,此外,这个指令集还应使以后更复杂的实现也有同样的效率。所以,就连大名鼎鼎的苹果也是购买了ARM的指令集后,才开发出了支持iPad的A4处理器。
可能很多人说,“我有能力开发指令集!”如果真是有能力那真是太好了,中国的微处理器未来就寄托在你的身上了,不过,设计处理器难点在于指令集设计,但掌握了指令集设计并不意味就能设计出一个处理器来,设计处理器还牵涉到时序、寄存器、流水线、I/O、开发工具等等非常多的环节,也不是一两个人可以搞定的事情。
那是不是就没办法开发自己的处理器了,答案当然是“no”!先让我们从 Chris Rowen博士的经历看看开发处理器要具备什么样的关键因素和条件吧。
一、热情
这是做好所有工作的基础,据说Chris Rowen博士在哈佛大学读物理学专业的时候就对创新很有热情,所以,70年代末他毕业就加盟了intel公司,当时英特尔公司没有今天的名气,还属于初创公司,开发出的8086处理器销量也不好,Rowen Chris加入intel后就负责尖端处理器的开发,在那里,他了解到了处理器几何尺寸按比例缩小(geometrical scaling)的规律,促使他考虑处理器背后深层次的因素,也促使他在80年代初期离开intel进入斯坦福大学学习更多有关电子器件的知识。
二、机遇
机遇可以让你发现通往目标的一个捷径,当然可以让你少走很多弯路,不过从来都是给有准备的人,没有在intel的工作和自己的思考,Chris Rowen也不会有这么的好的机遇,什么机遇?他在斯坦福大学遇到了一个年轻的助教--John Hennessy,他当时正领导一个小组研究处理器架构,这个John Hennessy,简直太牛了,他后来当了斯坦福大学校长,并是IEEE和ACM院士,还是美国国家工程研究院院士及美国科学艺术研究院院士。他因为在RISC技术方面做出了突出贡献而荣获2001年的Eckert-Mauchly奖章,他也是2001年Seymour Cray计算机工程奖得主,并且和本书另外一位作者David A.Patterson分享了2000年John von Neumann奖。
就是下面照片上的这位先生。
跟着这样牛人你不牛起来都不好意思,所以很自然地,Chris成为其RISC研究团队的一员,正是他们发明了精简指令集(RISC)的概念并沿用到今,现在名气很大的ARM处理器采用的也是精简指令集!
在这个研究项目的基础上,这群精英成立一家公司,叫Microprocessor without Interlocked Pipeline Stages公司,大家可能不是很熟悉,但是都知道缩写后的这个公司,就是MIPS公司,当时这是很牛的公司,曾经开发出了全球第一个64位处理器!引领了高端处理器的发展,Chris在这个公司负责逻辑综合,后来升任研发VP,1992年,MIPS被欧洲SGI公司收购,让Chris在欧洲接触到很多强人,在欧洲他参与了超级计算和互联网的项目。
三、坚持
就是对自己的理想一直坚持,终究你会有回报的。
由于对处理器情有独钟,1996年,Chris再次从欧洲回到加州,加盟了大名鼎鼎的 Synopsys 公司,负责设计复用,这次的工作离的最后理想已经很近了,在这里,他领导了对大规模IP模块复用的定义,让他领悟到目前EDA工具的缺陷和嵌入式SoC设计的不足。
传统上,IC设计包含两部分:芯片设计和开发环境的支持。
在IC开发完成后,应用工程师用开发工具来定义cache大小、总线位宽、FPU单元、 DSP引擎、算法、中断数量等让处理器变成一个针对特定应用的产品,Chris认为可以把后续的工作移到内核开发上,先定义这些,然后把这些需求融入到内核开发中,让开发出的内核直接支持特定应用!
这实际上是一个让人人可以开发出不同处理器的愿景!他称这个是“可配置处理器”,他相信这个处理器可以大大提升传统SoC的设计效率!一个完整的可配置处理器工具集包括一个预先定义好的处理器核和一个设计工具环境,这个设计工具环境允许设计人员对基本处理器核进行大幅度修改以满足特殊应用的需求。典型的配置形式包括添加、删除和更新存储器、外部总线宽度、总线握手协议以及公共的处理器外设部件。
1997年,承载他这个想法的公司终于诞生了,就是Tensilica公司,关于公司名字解释起来很简单,‘Silica’指‘硅’,‘Ten’指‘Tensile’,即可延展,二者联合,刚好构成了Tensilica初创时的理想——设计一款灵活、可扩展的硅。
从诞生到现在,Tensilica的产品已经发展到第三代,也逐渐更适应产业的需求,其可配置处理器已经应用到从游戏设备到家庭娱乐甚至PC、通信等各个领域,如今在嵌入式领域,用ARM+tensilica可配置处理器已经成为很多高性能处理器的标配,例如思科的一款芯片就用了200多个Tensilica可配置处理器,在Docomo的4G手机基带芯片中也用了很多Tensilica的可配置处理器,可配置处理器在高性能芯片日益爆棚的今天终于找到了用武之地。
任天堂的游戏机也用到了Tensilica的可配置处理器
三星的全球首款支持3D的蓝光播放机也采用了Tensilica的可配置处理器
我们相信Chris博士传奇的经历一定给很多本土IC设计工程师以启发,在电子产品日益追求差异化的今天,我们如何让自己的处理器与众不同,如何用最合理的架构来解决性能与功耗的矛盾?也许从Chris博士的经历和他的产品上我们就可以找到答案,令人高兴的是,Chris博士将于5月26日来到中国,亲临上海浦东Tensilica技术研讨会,与中国工程师互动!欢迎大家了解研讨会的细节并积极报名,与微处理器传奇人物零距离接触!