他畢業于斯坦福大學,在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的可配置處理器,可配置處理器在高性能芯片日益爆棚的今天終于找到了用武之地。 我們相信Chris博士傳奇的經歷一定給很多本土IC設計工程師以啟發,在電子產品日益追求差異化的今天,我們如何讓自己的處理器與眾不同,如何用最合理的架構來解決性能與功耗的矛盾?也許從Chris博士的經歷和他的產品上我們就可以找到答案。 |