繁體
  • 简体中文
  • 繁體中文

熱門資訊> 正文

Jim Keller訪談:傳奇架構師的芯片之路

2025-02-15 15:50

本文來自微信公眾號「半導體行業觀察」(ID:icbank),作者:CHM,36氪經授權發佈。

Jim Keller,作為全球最著名的CPU架構師之一,在過去幾十年中為多個領先的處理器設計做出了卓越貢獻。他不僅在AMD、Intel、Broadcom、Apple、Tesla等世界頂尖科技公司中擔任過重要職務,還在SiByte、P.A. Semi等初創公司待過,后創辦了Tenstorrent AI芯片初創公司,深刻影響了現代計算機硬件的進步。

在去年與計算機博物館的一場訪談中,Jim Keller為我們回顧了他從一個普通家庭成長起來,逐漸加入半導體行業,輾轉多家知名半導體芯片公司,到躬身創辦RISC-V AI芯片公司Tenstorrent的歷程。他分享了自己的童年、家人的影響,以及在職業生涯中如何通過不懈努力和創新精神,面對一次次技術挑戰,突破自我、改變世界。

讓我們從這段訪談中,一起走進Jim Keller的傳奇人生,探尋這位CPU架構師背后的故事。

Jim Keller的家庭和成長背景

Fairbairn:我是 Doug Fairbairn,今天我們有幸採訪 Jim Keller,他是著名的 CPU 架構師,並且在過去幾十年中為許多處理器設計做出了貢獻,除此之外,他還有其他眾多貢獻和成就。Jim,歡迎你,非常高興能請到你。

Keller:好的,謝謝,很高興能來到這里。

Fairbairn:正如我所説的,讓我們從頭開始。告訴我你在哪里出生,是什麼時候出生的,你的早期家庭生活是怎樣的,你的父母是做什麼的?你成長時的家庭環境如何?

Keller:嗯,我出生在新澤西州,我的父親在 GE Aerospace 工作,他們有一個項目會把員工調動到不同的地方。所以他從印第安納州開始,然后是馬薩諸塞州的 Lynn,再到費城,最后他們在賓夕法尼亞州的 Valley Forge 建了一個大工廠。我們家離 GE Aerospace 的 Valley Forge 辦公室只有三分鍾車程。我是家里六個孩子中的第二個,我的父親是機械工程師,設計衞星。我母親是她大學的畢業生代表,她曾經接受過成為教師的培訓,她非常聰明,但在我小時候,大部分時間都在家里照顧我們六個孩子,她沒有工作。后來她成爲了一名治療師,並且在那方面非常成功。但是作為孩子時,她是全職媽媽,我在一個充滿孩子的家庭中長大,我們六個孩子的年齡相差不遠。

Fairbairn:你父親有工程背景,這對你有影響嗎?他和你一起做過項目嗎?你們有做過類似的事情嗎?

Keller:是的,我父親非常擅長描述和畫出任何東西。所以我是在一個這樣的家庭中長大的——他會下班回家,説:「哦,我看到了一座橋,來,我給你畫一下」,然后他會迅速畫出整座橋,告訴我它為什麼能工作,為什麼不能工作。我就這樣長大,認為這就是生活的常態。我的父母也都參加了讀書俱樂部,家里到處都是書,他們非常重視智力對話。總的來説,他們是非常聰明的人。他們還有一個家庭朋友在一次家庭旅行中和我聊天,當時我們交換了車,顯然我和他聊了好幾個小時。

我父親的朋友告訴他,我是他見過的最聰明的孩子之一。我提到這件事是因為,后來我被診斷為閲讀障礙,我直到三年級或四年級才真正學會閲讀,而我的父母從來不擔心我。所以他們認為,「哦,他沒事,只是按自己的方式理解而已。」我想在現代社會,這會引發恐慌。你的孩子在二年級仍然不會讀書。但這從來沒有影響我。在二年級的時候,我注意到我在那羣書本中拿的是字母特別大的書,而不是那些小字母的書,但這並沒有太大影響。后來,我偶爾會學會一些東西。我記得在三年級快結束時,我學會了讀書,突然間,我能夠讀書了,書本變得有趣起來,我開始讀了很多書。

Fairbairn:所以,雖然學讀書的過程對你來説比較慢,但你最終成爲了一個熱衷於閲讀的人。

Keller:我變成了一個讀者,但從來不是寫作者。我寫作總是很困難。我大多能滔滔不絕地説話,但如果能看到整頁的文字,我就能把它們寫下來。我想,也許在文本編輯和反覆修改的世界里,這樣會更好。但作為一個孩子,寫作總是很痛苦的。但是數學就不一樣——他們稱之為「情節學習」。我記得我們在學習長除法的時候,我一開始沒有理解,直到有一天我突然明白了,感覺就像是「哦,他們是在猜」,然后我就一下子懂了,接着代數也是一樣,「F(x) = 什麼。」我根本不知道他們在説什麼,我想我整整一年的代數課上都在想,「我不知道他們在説什麼。」然后它就變成了「哦,這是符號」,然后我就明白了。所以,我有這些瞬間的頓悟。但作為一個孩子,我總是在做自己的事情,學校對我來説只是從做其他事情中抽出的時間。

Fairbairn:那麼,你有五個兄弟姐妹。有人走上了技術的道路嗎?

Keller:我的姐姐是機械工程師,我的弟弟是計算機科學家,非常非常優秀,我的兄弟姐妹們都很聰明。不過,我們中還有一個治療師,一個社會學家,一個哲學教授——我們各自做了不同的事情。

Fairbairn:有趣的家庭。那麼,你在高中階段是怎麼發展的?有沒有什麼特別的老師,或者是其他什麼人,給你指引了方向或激發了興趣?

Keller:是的,我有幾位非常優秀的老師。我上的是位於費城地區的一個相當大的郊區高中。我們有一位教微積分的數學老師,他每次做特別演講時,都會穿上他的好西裝,戴上五彩斑斕的領帶,搞得很隆重。所以,積分學的基本定理就是一個盛大的事件。他會用多色粉筆,他是一個非常有個性的老師,而我們學校的其他一些老師就基本很差,我們幾乎什麼都沒學到。在我們的學校,我們基本上是放任自流的。考勤是自願的,我的朋友是學生會主席,我們班通過賣足球比賽的小吃賺了很多錢。我們覺得自己好像是在學校之外運作的。對一個孩子來説,那是一個非常狂野的地方。后來,校長被解僱了,我的弟弟説,「我上的是完全不同的高中。」

Fairbairn:這些學生得收拾一下了,是吧?

在賓夕法尼亞州立大學求學

Keller:是的。60年代末期這個國家經歷了相當動盪的時期,我長大后,常常通過電視瞭解我的叔叔們是否死於越南戰爭,這對我來説是相當創傷性的。然后70年代是那個時期的后果,我開始上高中,既有好的一面也有壞的一面。正如我所説,我遇到了幾位非常棒的老師——我的幾何老師就非常棒。我還有兩位化學老師,安娜·弗爾科夫人,我至今還記得她教我們化學計量學,她是一個了不起的老師,然而,其他一些老師就好像不關心我們。我們不去上課,似乎沒人注意到。我高中畢業時拿到了B,幾乎沒有什麼計劃,唯一的理由是我喜歡的一個女孩上街去上賓夕法尼亞州立大學。所以,我就申請了。

Fairbairn:啊,這就是你去賓夕法尼亞州立大學的原因,對吧?

Keller:嗯,確實有一個有趣的事件。高中最后一年,我被學生輔導員叫去了。當時,在高年級結束時,會有人注意到你是否要上大學,而現在,他們從小學開始就開始準備了。

Fairbairn:提前好幾年。

Keller:她説:「你是個非常聰明的孩子,你應該去麻省理工學院(MIT)。你聽説過MIT嗎?」我想我模糊地聽説過MIT。我當時想:「不,我不想搬到波士頓。」然后她給我了一份按薪水排序的工作清單。那個時候,大學畢業生薪水最高的是化學工程,其次是石油工程,然后是機械工程,最后是電氣工程。我覺得前兩者看起來很傻。所以,我在機械和電氣工程之間擲了一枚硬幣。但是我的祖父是電工,每次我們去看他時,他的家里總是充滿了電動機、洗衣機和各種各樣的雜物。我覺得那些東西很神奇,所以我隨機選擇了電氣工程,因為它薪水高。

我畫了一條線,把生物學、物理學、海洋學這些都放在了線的下面。如果你問我大學時想學什麼,所有的選擇都在那條線下面。但我覺得上大學不選一個能掙錢的專業會很傻,而我的祖父是電工,我覺得這挺有趣的。所以,我報了賓夕法尼亞州立大學,成功被電氣工程專業錄取了。我打電話告訴我祖父,他説:「注意你的功率因數。」 這指的是電動機中電流與電壓之間的角度。所以,這就是我走上工程道路的整個故事。

Fairbairn:就這樣走上了這條路。那麼,當你選修電氣工程時,重點是微電子學嗎?是電動機方面的嗎?

Keller:不是,不是。

Fairbairn:那你的教育重點是什麼?

Keller:我上過一門Fortran課程,上一門邏輯設計課。當時,賓夕法尼亞州立大學——1976年——有一個非常好的電氣工程系,大概有600到700名學生。

Fairbairn:很大。

Keller:是的,很大。他們開設了核心課程。你第一年學的是數學、物理和選修課程。我當時還雙修哲學,挺有趣的,數學課很棒。機械工程課程——那些是淘汰課程,我記得學到如何解加速旋轉參考系的題目時,我覺得太神奇了,我真的很喜歡大學生活。我覺得第一年花了一段時間纔跟上節奏。因為在高中,我們總是胡鬧,儘管我有很好的老師,但我們不需要認真學習。第一年我一開始成績不錯,但到學年結束時,我的成績已經很差了。我的父親説,如果我真打算在大學里掛科,那我應該在夏天好好考慮一下這個問題。因為比起浪費學費,他認為我可以去找個工作,而我當時想:「我纔不會在大學掛科呢。」 所以,剩下的時間我表現得很好。

Keller:嗯,我小時候讀了很多書,對各種思想非常感興趣。所以,我雙修了哲學專業。關於這個有個有趣的故事。在我大二時,電氣工程系收到了一封哲學系主任的信,説他們想見我。我挺興奮的,心想:「哇,系主任來找我了。」然后他跟我説:「我們從來沒有遇到過像你這樣的學生,真的是。哲學專業里根本沒有電氣工程(EE)的學生。我只是想給你看一件事。」然后他給我看了一篇哲學學生寫的論文。他説:「這是期中考試。」那篇文章大約五頁,寫得很漂亮,雙倍行距,兩面寫完。然后他拿出了我的考試成績,基本上就是半頁,里面有很多劃掉的部分。他説:「我根本看不懂,吉姆,我不知道你寫了什麼。」然后他説:「我們哲學專業的學生寫作很多,我去問了你的老師,他們都覺得你很棒。但我得告訴你,你永遠也無法從賓夕法尼亞州立大學獲得哲學學位。不過,你可以上任何你想上的課,你總是能拿B。」所以,我就被哲學系「開除」了,因為我在考試環境下寫不出一篇段落。這事挺好笑的。但我還是選修了很多哲學課,真的覺得那是個很有趣的經歷。

Fairbairn:這個故事挺有趣的。那麼,你完成學業之后,有什麼想法嗎?你當時是怎麼打算的?

Keller:嗯,在賓夕法尼亞州立大學,我直到大二才真正開始學習電氣工程,因為當時課程安排是這樣的。我在電氣工程學科得了全A。事實上,在哲學教授之后,電氣工程系的主任打來電話,我當時想:「天啊,我是不是要被電氣工程系開除了?這不能發生第二次吧。」但他卻説:「我只是想見見你。我們學校沒有多少學生能拿到全A。」我説:「嗯,我確實很努力。」他説:「顯而易見。」我真正喜歡的方向是電磁場理論。但我的導師是喬·斯塔克博士,他是半導體小組的負責人。IBM曾捐贈給賓州大學一個2英寸的晶圓廠。所以,在我大四時,我上了一些非常有趣的半導體課程——我們在實驗室里製作晶體管,甚至是6微米的晶體管。我至今還記得關於氟化氫(HF)的安全簡報。我的大四課程主要集中在半導體上。當時我想自己會成為一個射頻(RF)工程師,但這真的很有趣。然后,我上了一門編程課程,我覺得那非常有趣。那時是打孔卡Fortran編程,我還上了一門邏輯設計課程,我覺得那也很有意思。

Fairbairn:有意思?

Keller:它沒有深入到很深的層次,但能從如此簡單的東西構建任何東西,真的是很驚人。電磁場理論很複雜,幾乎所有東西都變得幾乎不可計算。即使是相對簡單的天線和驅動設備,也變得非常難做了。如今,我們為這些東西建造了非常複雜的模擬器。所以,簡單的方程式很酷,但它們的應用很快就遇到了計算壁壘。而材料科學就更難了。這是我在賓夕法尼亞州立大學最喜歡的課程,因為教授很棒,材料科學的描述語言也非常精彩。但在書本里,所有的問題最終都變成了簡單方程的曲線擬合,因為氫原子以外的任何東西都是無法解決的,這對我來説是一個很有趣的哲學性科學基礎問題。然后就是邏輯設計,這從邏輯設計到應用的跨度非常小,基本上就是Karnaugh圖,這很簡單,但它背后實際上非常奇妙。

所以我並不完全確定自己要做什麼。然后我面試了很多工作,主要是在半導體公司——Fairchild、摩托羅拉。但我也隨機去佛羅里達州的哈里斯公司面試,我覺得我可以住在海灘上,去衝浪。他們有一個非常酷的計算機項目,是把光纖和高速數據寫入薄膜結合起來,他們需要一個邏輯設計師,所以我就接了這個工作。

Fairbairn:所以,環境和工作本身都讓你覺得這是個不錯的選擇。

Keller:是的。然后我的老闆是個讀書人,他有一書架的書,都是我小時候讀過的書,我們聊得非常愉快。后來,事實證明,他在我被僱用后不久就被解僱了。當我到達公司時,他們簡直不知道該讓我做什麼。他們問:「你來這里干什麼?」我拿出了一封信,上面寫着:「8月15日來上班。」他們説:「嗯,大學生都是6月開始工作的。」我就説:「是啊,但我從大洋彼岸開車過來了。」我和招聘人員談妥了這個事,他們也表示「不知道。」於是,他們給了我一個工牌和一個辦公桌,過了幾天,有人走過來説:「我們有一堆測試設備需要修理。」於是,我就花了一年半時間修東西,結果挺好的。

Fairbairn:所以你當時並沒有接觸到計算機設計?

Keller:他們確實有一些帶微處理器的電路板,但它們都壞了。他們還為佛羅里達電力公司設計了一個遙控器,也沒有做成。還有一些其他隨機項目,我就是個忙碌的年輕人。

Fairbairn:這些項目是別人設計過但還是沒弄成功的嗎?他們解決不了問題嗎?

Keller:是的,我被分配到一個小組,他們有很多基本的邏輯設計問題需要解決,我做了一些邏輯設計的工作,但大部分時間我都在修東西。我做過一塊高頻電路板,40MHz的STTL電路板,用於為光纖發射器編碼數據,但它也沒能成功。所以,這就是我第一份電氣工程的工作,我們需要修復地面平面,修復很多東西,才讓它正常工作。這份工作讓我后來被數字設備公司(DEC)錄用了。

Fairbairn:那麼,你是怎麼找到去數字設備公司(Digital Equipment)的機會的?你當時在佛羅里達衝浪...

入職第一家半導體公司Digital Equipment

Keller:有一天,我在《EE Times》上看到了一則招聘廣告。我想回到北方,我的家人在費城,波士頓也很近。於是,我就看到了這則廣告,招的是一名時鍾設計師,來自一個我從未聽説過的公司,叫做數字設備公司(Digital Equipment)。所以我在去之前一天去雷神公司(Raytheon)面試了一下,練習一下,因為我好久沒面試了,他們當場給了我一個offer,不過我拒絕了。他們為我的機票買單,所以他們挺生氣的。

Fairbairn:他們支付了你的差旅費用。

Keller:是的,這件事很有意思,然后他們問我:「你有打算在這里工作嗎?」我説:「如果你們不像現在這樣待我,我肯定會的。」這件事挺好笑的,后來我去了數字公司,他們當時需要一名高頻時鍾設計師,雖然很快他們發現我對這方面並不懂多少,但他們還是僱用了我,挺不錯的。

Fairbairn:那麼,他們把你分配到了哪個小組?

Keller:我在VAX 8800小組工作。組長是Bob Stewart,他曾是[PDP] 11/44、11/70、VAX 780和8800的架構師之一,所以他是數字公司最優秀的計算機架構師之一。我在一個做緩存子系統的團隊工作,做邏輯設計,嗯,我當時就...

Fairbairn:你當時根本不懂計算機架構或緩存之類的東西吧?

Keller:沒錯。於是一個朋友在我坐飛機之前給了我11/70和780的手冊,我就在飛機上讀了這些手冊。基本上,我進公司后跟每個和我聊的人説:「我有很多問題」,然后我就拿着這些手冊問他們:「你們為什麼要這樣做?這個是干什麼的?」我當時挺自信的,他們幾乎不知道該如何應對我,他們説:「我們從來沒見過像你這樣的人。」所以,我就得到了這份工作,工作了大約七年。

Fairbairn:你在[VAX] 8800上工作?

Keller:是的,8800之后有兩個后續型號,不幸的是這兩個型號因為政治原因和技術問題都被取消了。但我做得還不錯,做了很多邏輯設計和電路板設計。那時是ECL(發射極耦合邏輯)計算機,所以有電氣設計、電路板設計、邏輯設計,后來我開始思考計算機架構和CAD工具,自己在晚上寫了一個邏輯模擬器和時序驗證器,做了幾個較大的軟件項目,實際上那並不是我的工作。

Fairbairn:他們那時候有類似的東西嗎?

Keller:有的。我們買了一個來自硅谷的初創公司,叫做Valid,他們做了一個繪圖系統,並配有一個時序驗證器。這個系統還行,但使用起來挺麻煩。然后數字公司有一個模擬器小組,他們的模擬器很全面但速度很慢。有一次,我在和Bob Stewart、Jay Grady一起工作時,認識了一些人,比如Forest Baskett和Butler Lampson,我們在給Butler解釋邏輯模擬器是怎麼工作的時,他就站起來在白板上寫了:「你應該這樣做,如果這樣做的話會快很多。」於是我就按照他的方法寫了一個邏輯模擬器,打電話告訴他多快了,他説:「聽起來差不多,干得不錯。」

Fairbairn:那是 Butler。

Keller:是的。他——是的,我認為他沒有做很多實施工作,但他可以思考得非常快。

Fairbairn:不,他告訴所有人應該怎麼做,然后每個人都按照他説的去做。

Keller:是的。這完全就是發生的事情。我還遇到了 Chuck Thacker,他是另一位偉大的架構師,他們一直在關注我,因為我有點特別。但我在他們……的時候遇到了這些人。

Fairbairn:是的。當我在那里工作,研究 Alto 的時候,他們在 Xerox PARC。

Keller:是的。所以,Chuck 和 Butler 在 System Research Lab,然后 Jeremy Dion 和 Alan Eustace 以及我遇到的一羣人在 Western Research Lab,它們實際上就在街對面。但它們是 Digital 的兩個研究派系,我不知怎麼地認識了他們兩個。

Fairbairn:你和 Dan Dobberpuhl 一起工作過嗎?

Keller:是的。

Fairbairn:他是直接參與其中,還是你們的關係如何?

Keller:我在 Digital 大約工作了 15 年。前半部分是在一箇中檔系統組,做 ECL 設計,大型計算機,然后我在大約 89 或 90 年加入了半導體組。我在 Western Research Lab 工作了六個月,在那里我遇到了 Norm Jouppi,然后和 Alan Eustace 以及一些人一起研究 BIPS 計算機,它……

Fairbairn:在這里,在硅谷?

Keller:是的,在 Palo Alto,然后當我回去時,Pete Bannon 在半導體組找到了一份工作,他説「你應該來這里」,然后我們成爲了 EV5 的共同架構師,這是第二款 Alpha 芯片。所以,Dan 做了第一款 Alpha 芯片,EV4,我們做了后續產品,然后 Dan 在某個時候搬到了加利福尼亞,為 Digital 組建了 ARM 團隊,也就是 StrongARM 團隊。所以我很瞭解他。我們經常交談。但我沒有在 Digital 直接和他一起工作。

Fairbairn:他是我們非常努力想做口述歷史的對象之一,但在他去世前我們並未成功。所以,我很想知道你對他的回憶,他的...

Keller:是的,他確實很了不起。當第一代Alpha芯片推出時,它的頻率是166MHz茲,后來到200MHz茲,這個頻率比任何之前的處理器要快三到四倍。Dan的桌子總是這樣大,上面堆滿了電路圖,高得幾乎要遮住整個桌子,我就問他:「你怎麼找到需要的東西?」他説:「只要你不動它,我可以找到任何東西。」然后他會從一年前的電路圖中找出一張,説:「這是怎麼做的,那個是怎麼做的,」就這樣。

Fairbairn:那回到你最初在ECL-8800上的項目,你負責的最大項目是什麼?你是領導某個領域嗎?你的職責是什麼?

Keller:是的,在ECL-8800上,我實際上是一個電路板設計師和邏輯設計師。所以我做了總線接口,構建了別人給出的規格的邏輯設計。后來,我開始和其中一個團隊合作,做性能模型架構,因為Pete和我成了調試計算機的「專家」。

Fairbairn:Pete...

Keller:Pete Bannon。他是一個微編碼員,我是邏輯設計師。當我們在實驗室給機器通電時,很多人都在場,但我們基本上在實驗室住了一年,調試所有東西,運行所有軟件。隨着軟件逐步啟動,做性能建模的人也想要嘗試並運行一些東西。然后一些東西按預期工作,但有些東西明顯不行。Pete重新寫了很多固件,整個過程中,我學到了很多關於計算機是如何從頭到尾構建的。當做一個I/O板的那個人辭職時,他們需要人來接替,我就把整個電路圖集過了一遍,成了負責調試那部分的人。然后我們交付了公司內部的前十臺機器,安裝在操作系統小組中。當他們啟動軟件並開始加載時,機器開始崩潰,我們又去調試它。

Fairbairn:那段時間你從8800項目中學到了什麼?從這段經歷中,你有沒有形成一些關於「這是正確的做法,那個是錯誤的做法,我們需要更好的工具」之類的看法?從那個項目中你有哪些收穫?

Keller:一開始,一切都像是一堆零件:「這里有一個部分,這里有一個部分,這里有一個部分。」但是后來,Bob Stewart基本上在CISC機器中早早就實現了一個RISC流水線。所以,我們有了解碼階段、指令獲取、解碼、寄存器讀取、執行、數據緩存查找和回寫。VAX-8800有一個相當簡潔的RISC流水線,前面有一兩個額外階段來解碼CISC指令,但它們作為微操作來執行。一開始我不明白這意味着什麼,但到項目結束時,我知道了流水線是什麼,知道了分支預測失敗的代價,因為那時候我們沒有分支預測器。所以,分支走錯了方向時,我們只好刷新流水線。知道了什麼是緩存。所以,基本上,這三年就像是架構101課程。到我結束這個項目時,我知道了緩存如何工作,分支如何工作,指令解碼器如何工作。VAX的架構有點複雜,因為我們有多個權限級別的架構,還需要處理中斷,有些重指令由微代碼執行。那部分工作都完成了。

然后是接下來的項目——Argonaut,基本架構加倍時鍾頻率。從中我學到的是,我們把時鍾頻率推得比技術本身能支持的更遠,結果讓構建變得非常困難,而且那時候的分析工具也非常差。於是我就開始參與寫CAD工具。最初是時序驗證器,后來是模擬器,我們在多個項目中都用到了這個工具。到最后,我雖然沒有寫性能模型,但我們做了一個性能項目:我們把VAX-8800的一個電路板改造,用來記錄所有微程序計數器地址和其他信息。然后Doug Clark寫了一篇論文,標題是《VAX計算機是如何花費時間的》,我為這項目貢獻了硬件,Pete寫了微代碼,Doug做了高層分析。這就像是將這些不斷變化的部分,轉化成一臺擁有流水線特性的計算機,最終變成一臺因為合理的時間分配而具備性能的計算機。當我加入Alpha團隊時,Pete和我從零開始為EV5寫了性能模型,這是我們第一次在計算機設計中,以架構規格和性能模型為基礎,轉化成芯片的經驗。

Fairbairn:這期間,編譯器組有參與嗎?

Keller:有的。編譯器組非常關注高質量的編譯。這里有一個有趣的過程。在CISC時代,大家會説:「我的計算機更好,因為我有更多的指令。」然后到了編譯器時代,人們會説:「我們的編譯器更好,因為它可靠,穩定,不會有內存泄漏。」之后,RISC派系出現,他們在系統研究實驗室(SRC)建立了Titan,那是一臺RISC機器,基本上是在VAX-8800項目的尾期出現的。Titan的板子是VAX-8800的一半,體積是它的四分之一,性能卻更好,而且它更簡單,沒有權限架構,也不是多處理器架構。它的設計理念是:「這台計算機非常簡單,建造編譯器更容易,而且編譯器也有助於性能。」這是一大轉折,因為直到那時,編譯器更多是在提供功能和質量,而不是在提供性能。當我們過渡到Alpha時,Alpha團隊有一個內部研究小組專門做編譯器性能工作,編譯器組有時候會從性能理念轉化到生產編譯器的過程,但這在數字公司花了幾年才實現,並且最終非常成功。

Fairbairn:所以你對Titan的觀察,以及由此得出的結果,后來影響了你自己的方向,你能看到兩者之間的不同嗎?

Keller:嗯,這個有點難説。Bob Stewart相信將硬件做得儘可能簡單,Titan確實朝着這個方向走。但當我們做EV時,比如説EV4是雙發射,今天我們會稱之為超流水線設計。

Fairbairn:EV4?

Keller:EV4是第一款Alpha芯片。

Fairbairn:哦,明白了。

Keller:然后EV5是四發射的,增加了更多的流水線,配備了多級片上緩存,這可能是一個錯誤。但要填滿四發射的順序機器,你真的需要編譯器的優化才行。這時,關於是編譯器帶來更多性能,還是硬件來實現性能的爭論開始了。

EV6是第三款Alpha芯片。Dirk Meyer和我一起設計了它,那是我們設計的第一款亂序機器。我們的設想是,軟件能提供一個基線性能,比如説1倍,隨着編譯器的改進,可以提高到1.5倍。有人説:「我們只要繼續提升編譯器。」但當時編譯器的搜索空間已經變得非常龐大。VLIW項目大多數都沒能成功,因為它們需要投入大量資源,而亂序設計則成爲了獲取高性能的方式。但當我們設計EV6時,仍然有爭論是否能構建出一臺高性能的亂序計算機並使其正常工作。雖然已經有一些簡單的亂序機器問世,但EV6是四發射、20條指令窗口、100條指令在飛行中的機器,超出了我們當時簡單思考的能力。現在來看,這種設計已經算是相對簡單的了。但那時,這是一個很大的轉變。到了1996年,我已經工作了16年。

Fairbairn:是的,你已經深深嵌入其中了...

Keller:是的,EV5是我第一次在架構設計上的大突破,我和Pete一起做的。我們學到了很多。完成后,它是有史以來最快的計算機,或者説最快的微處理器,但我也有些尷尬,因為它的缺點我清楚得很,幾乎不敢談論它。那是一個有趣的個人經歷,因為儘管它其實挺好,且參與其中的團隊也非常優秀,但我知道每一個出錯的地方。

所以,EV6時,我們從零開始重寫了性能模型的架構。Alan Eustace——我描述過我們寫的性能模型。那是30,000行代碼,包含了各種複雜的東西,他説:「Jim,我寫了一個只有1,000行代碼的性能模型。」我説:「什麼?為什麼代碼這麼少?你到底做錯了什麼?」那一刻,我感覺像是被重擊了一樣,「我怎麼搞砸得這麼嚴重?」所以,我重新寫了EV6的性能模型。它的第一版是1,100行代碼。之后,我幾乎一周不睡覺,最終把它壓縮到了1,000行,能夠解析Alpha架構、處理所有追蹤信息、運行亂序模型(不包括內存系統)並讓它工作。我給Alan打電話:「我做到了,1,000行代碼。」我説,「我還是不知道你是怎麼做到的。」他説:「看,Jim,我從來沒做過,但我知道你有多競爭心強。我覺得如果給你設定一個更高的目標,你可能會做得更好。」他説:「30,000行代碼對我來説簡直瘋了。」那真是挺好笑的。但這讓我重新思考了如何構建性能模型,真正深刻地去思考它。在此之前,我們寫模型是爲了探索一些想法,而不是把它當成一個有價值、能理解、能清晰使用的工具。然后Dirk和我互相討論,他會拿着模型説,「我要加這個加那個」,他就去重寫代碼,他編程的水平遠超我。

Fairbairn:那EV6是DEC的終結嗎?

Keller:是的。

Fairbairn:對你和公司來説,我想是吧。

加入AMD公司

Keller:是的。當我們把芯片流片時,Dirk去了AMD,最終領導了K7的開發併成爲了CEO。我一直待到Unix系統在多個芯片上運行起來,然后加入他一起做K8。之后他們做了一個后續項目叫EV7,它是EV6核心的一些調整,但主要加了使用Rambus的片上內存控制器。他們用EV7做了一臺128處理器的計算機。我記得這可能是在Compaq收購公司之后才完成的。大概在我加入AMD三個月后,Compaq收購了Digital Equipment。但Pete完成了EV7的開發,並且留在了那兒。

Fairbairn:那你去了AMD?你那時候的朋友已經在那里,招你來一起做下一代產品了?

Keller:對的。我當時是為Atiq Raza工作,他是COO。幾年前,AMD收購了NextGen,他們的586處理器變成了K6。AMD以前的286、386、486基本是Intel處理器的「掩模複製」。K5是AMD設計的第一款處理器,雖然它成功了,但也有很多困難。接着他們收購了NextGen,因為他們已經在生產586處理器,並把它改進成了K6。Dirk領導了K7項目,我參與了其中,之后我開始了K8項目。

Fairbairn:那K7和K8的目標是什麼?就是下一代x86處理器嗎?

Keller:是的,可以這麼説。K7在架構上和我們設計的EV6有些相似,但它有宏指令架構,用於拆解x86操作。當時我們認為必須這樣做——在RISC機器中,你有加載指令、存儲指令、加法指令和分支指令,它們是分開的。但在x86中,一條指令可能包含加載操作數、寄存器操作數、存儲操作數,然后某些指令會深入到微代碼中。當時有爭論,是不是應該獲取宏指令然后拆解,還是應該先拆解再發出微操作?K7在整數運算上採用了宏指令架構。但它的緩存系統和總線接口基本上是從Digital授權過來的,實際上就是EV6的總線設計。

到了K8,我們的設計目標是讓它更加偏向微操作架構,並且我們還決定支持64位。所以,我對這個架構的最大貢獻之一是作為x86-64規格、HyperTransport規格(無縫多處理器架構)的主要作者之一,並對芯片架構做了重大更新,最終它成爲了Opteron。后來,在1999年我離開了,加入了一些創業公司,正值創業熱潮。

在初創公司SiByte的經歷

Fairbairn:是的,那你在這段時間里是在為Atiq工作嗎?

Keller:是的,我當時是為Atiq工作,然后Atiq離開了,我也離開了,和一個朋友一起創辦了一家公司,資金由Atiq提供,但結果他不能繼續那個項目。所以后來我加入了Dan Dobberpuhl,在SiByte工作。

Fairbairn:那Atiq創辦的公司是什麼?

Keller:我甚至不知道它有沒有名字。Atiq當時正處於資助創業公司的狀態,我們本來打算開發一個網絡處理器並且開發一個CPU。我在AMD待了三年,我們確實完成了64位規格、HyperTransport規格,並且為所謂的多核芯片打下了基礎,那個時候我們做得還挺不錯的。

Fairbairn:然后你去了SiByte,Dan Dobberpuhl在那兒,是嗎?

Keller:對,他是CEO。

Fairbairn:所以他招你過去了。

Keller:是的,然后我就開始了...

Fairbairn:那是一個不同類型的處理器,對吧?

Keller:對。那是一個MIPS處理器,然后我們開發了一個網絡SoC。它包含千兆以太網控制器、內存控制器、處理器和一些加速功能。我們和成百上千的網絡公司進行了交流,那時我認識了Andy Bechtolsheim和Cisco的幾位人,他們幾乎直接在餐巾紙上畫出圖來告訴我們,「你們做出這個處理器,Cisco就會買。」我們最終做出了那個芯片,真的非常有趣。那是一個非常小的團隊,最后這家公司被Broadcom收購了。

Fairbairn:那里面有其他DEC的老同事嗎?

Keller:有的。團隊里有DEC的成員,也有一些Sun的人,還有一堆來自各個地方的貢獻者,Intel也有不少。

Fairbairn:那團隊有多大?

Keller:我想最鼎盛的時候有125到130人,然后我在SiByte待了一年半左右,之后加入Broadcom,整個過程我大概在那兒待了四到五年。

Fairbairn:回到AMD,你現在已經工作過一種完全不同的指令集了,但你説你從DEC的架構中複製了一些經驗。那麼你從AMD學到了什麼?你之前提到過自己在以前的設計中犯了很多錯誤...

Keller:哦,是的,確實有很多錯誤。其實我曾在微處理器論壇上做過一場關於EV6的演講,那非常有趣,因為在我之前演講的分別是Power4的負責人、HP的PA RISC團隊的人,還有Sun的成員,而IBM的人特別搞笑,他説:「天啊,我得在你們之后發言,真不敢相信。我們的處理器太差了。」Power4的架構確實很酷,但它的頻率很低,而且是由多個芯片構成的。

Fairbairn:Power4是哪個公司的?

Keller:IBM。

Fairbairn:哦,明白了。

Keller:然后HP的芯片功耗非常高,架構也挺有意思的。我開始演講時説:「我來這里要談論的是世界上最快、最大、最強的芯片,但我發現它只是最快。」因為IBM的芯片超級大,而HP的芯片功耗極高。但在Digital,我們幾乎是從晶體管級別開始設計的。設計本身幾乎每個芯片都有150個原理圖,我們有一種叫做宏模塊的設計,它可以是一個晶體管的集合,你可以把它重複多次使用。我們有一個小型的單元庫,但有一次我們發現芯片里竟然有26種不同的觸發器,很多都是由人手工製作的,我們曾經開玩笑説我們的庫里有兩種東西,N型器件和NP型器件。

Fairbairn:所以你們在晶體管級別進行了優化。

Keller:對的,但事實證明這完全不可擴展。在AMD,他們有一套非常好的標準單元方法,可以編寫RTL代碼,然后將其轉化為門電路,並且以一種不會失去太多性能的方式佈置這些門電路,而且這些門電路是經過表徵的,這真是太了不起了。你可以想一想,在計算機設計中,有多少個抽象層次?因為最底層是原子,然后是晶體管,它們是摻雜的器件,再然后是金屬堆疊,而在Digital,我們就是在那個層級進行設計的。然后是標準單元,再往上是CAD工具來擺放單元,最后你纔有RTL和綜合。理解計算機設計是一個層層嵌套的抽象集合,每一層都很複雜,而且每一層都很重要,在某個層次上,每一層都會做一些權衡,但也能讓你做更大的事情。嗯,這是一次重大的事件。

Fairbairn:所以你發現了這個方法論。AMD有這些工具嗎?

Keller:一些工具做得相當不錯,然而有些工具就不那麼好了。他們自己寫了很多的佈局工具。我的一個朋友曾説,他感覺自己像個「人肉合成器」。也就是説,你得把RTL拿出來,然后真的得為所有關鍵的部分畫出門電路。現在我們總是讓合成工具來做這些工作。嗯,那真是一段很奇妙的旅程。

Fairbairn:那麼,回到SiByte,你們開發的處理器,DEC的經驗有直接應用嗎?你需要學習一些新的東西來進入面向網絡的處理器領域嗎?

Keller:在 SiByte,我們仍然——所以,DEC 的人仍然非常相信定製設計。它可能設計得過於定製化,但對晶體管非常友好。比如,我們真的自己製造……

Fairbairn:與……稱兄道弟。

Keller:是的。我們自己製造了 PCI Express PHY。比如,購買庫和 PHY 的想法在當時簡直是——就像,被認為是瘋狂的。但我們交付了產品,我認為我在 SiByte 學到的東西是,我與很多客户交談,看到了很多網絡設備,其中很多都有祕密。比如,他們正在做這種新的特殊網絡盒子,我會和他們談兩個小時,然后從他們説的話中逆向工程他們所做的一切。這給了我一種,可以説,對這類系統設計如何結合在一起的元理解,然后在某個時候我意識到有多聰明——比如,我們正在構建的芯片實際上部分是來自一些高層人員的直接指令,部分是與很多人交談,討論如何製造他們都想要的部件。嵌入式業務很奇怪,因為如果你把每個人都想要的東西都放進去,它就會太貴,沒人能負擔得起。但如果你錯過了重要的東西,沒人會買它,因為他們無法使用它。嵌入式世界的訣竅是在足夠多的東西使其成為一個很棒的部件,但又不是太多東西使其愚蠢地昂貴之間找到最佳點,這是一件非常奇怪的事情。這幾乎就像一個附帶項目——我們認為從 Digital 到 AMD,就像在處理器設計中一樣,這是一條路,而這就像另一種系統工程,但事實證明它對我來説非常有趣。所以,這非常有趣。

Fairbairn:所以,你學到了很多關於應用程序的知識。

Keller:是的,然后在 Broadcom,我遇到了 Henry Samueli。他也是一位天才,我曾經和他一起旅行,我們會去和新客户交談,我會做我的 SiByte 推銷,我也瞭解其他兩個產品,他會聽,大約到了第三天,他説「讓我來吧」,然后在他聽了三次之后,他對我們的部分進行了更好的演講,比我做的要好。他是個有點狂野的角色。

Fairbairn:所以,你在大公司工作過,DEC、AMD,現在 SiByte 基本上是一家初創公司,但是……

Keller:是的,然后 P.A. Semi 也是一家初創公司。

Fairbairn:對你來説有影響嗎?

Keller:嗯,VAX-8800項目和Alpha項目當時也是小團隊。雖然公司很大,但團隊只有100人左右,所以團隊的動態是非常特別的。我曾有一個理論和一些數據支持,認為大概需要400人四年,300人三年,200人兩年,100人一年半。但后來Itanium用了800人,最終還是完成了那個計算機項目。后來我發現,實際上有一部分人從管理層中脱離出來,最終完成了這個項目。也就是説,團隊太大時,管理層往往會對最終交付產生影響。

Fairbairn:那麼AMD的團隊比較大,是吧?或者説你回到AMD之后,第二輪的團隊規模才變大?

Keller:對的,回到AMD時,CPU團隊大約有500人,但他們負責多個項目,包括Bulldozer核心、Jaguar核心,還有一些團隊負責芯片縮小和將處理器用於遊戲主機部分,並且還有一個Fabric團隊。

在博通的工作經歷

Fairbairn:明白了。那麼,回到Broadcom,你在這個新的應用領域中學到了什麼?你開始接觸到全新的處理器應用空間,對吧?

Keller:是的。Henry Nicholas 相信真正擁有平臺。所以,你要製造一臺網絡計算機。有數據平面部分、控制平面部分,有 NIC。所有這些不同的部分組合在一起,一個接一個地,它們加不起來。它們不是真正的產品,但整個系統是一個產品,然后訣竅是如何構建它,才能讓多個人滿意?是的,細節如此之多,真的很有趣,當時的networking分為以太網世界和 SONET 世界。一個是廉價傳輸,一個是保證帶寬分配和保證延迟,然后隨着時間的推移,這些功能融合在一起,網絡也建立在抽象層上,即著名的七層網絡堆棧。是的,能和這些人在一起,並參與所有這些工作,真是一次偉大的工程之旅,然后還有這種關於物理的好奇之處。當我開始時,20 MHz,100 MHz是一個非常高的頻率,我仍然記得看到第一個 10 GHz示波器,我當時想「到底發生了什麼?我們怎麼會從 100 MHz很難到 10 GHz甚至可能?」現在,我們有 112 GHz的 SARD1,而且,同樣,有很多層因素促成了這種情況,我可以看到它們。

我知道封裝是如何工作的,引線鍵合和電感器。我曾經是一個電磁場方面的人,這簡直是個奇蹟,而且我親眼目睹了它隨着時間的推移而進化。我和 Henry Samueli 談過,比如,「我們什麼時候才能擁有千兆無線網絡?」他基本上做了計算。他真的只是坐在那里做了計算。「好吧,這是晶體管性能曲線的斜率,這是器件的尺寸和封裝的幾何形狀,這是投資。如果你想在這里做,那將花費一萬億美元。但如果你等五年,那將花費 1000 億美元,這是曲線的走向,我預測 5G 會在 2018 年出現」,而這實際上就是它發生的時間。對他來説,就像「好吧,這些都是形狀,推動帶寬——有模擬信號帶寬,但也有編碼符號帶寬」,這是一個空間。這是一個設計空間,然后它下面還有一些參數在移動,比如「這是半導體的發展方向。這是封裝的發展方向。這是編碼的工作方式。」他有一個計劃。就像「你在開玩笑吧。

Fairbairn:「這就是未來,這就是我們將要做的,這些是需要完成的步驟。」

Keller:嗯,你知道,著名的摩爾定律。當我們建造 VAX-8800 的時候,我們並不知道摩爾定律。在 Digital 內部,也許 Gordon Bell 知道,或者其他人知道。但我們製造的 VAX-8800 比 VAX-11/780 更快,因為客户想要更高的性能。但當時並沒有「這是摩爾定律預測的曲線,如果你在曲線之上,你就能賺錢,如果你在曲線之下,你就會賠錢」這樣的説法。80 年代並不是這樣,然后 RISC 就出現了……

Fairbairn:這是針對半導體行業的人説的,而不是針對系統行業的人説的。

Keller:是的。你可以設計一臺計算機。比如,VAX-8800 是由計算機架構師使用門陣列芯片和一些定製芯片作為組件設計的,以實現我們建造這台計算機的目標。而在 Alpha 團隊,他們製造了晶體管,真的需要用它們做一些事情,當時晶體管的任務是讓晶體管更小、更快,在芯片上放置更多的晶體管。然后 Dan 的天才觀察是,如果你正確地構建流水線、電路技術和時鍾網絡,你可以讓晶體管以基本全速運行,然后你不要在流水線上推得太遠,因為那樣邏輯設計就會崩潰。但如果你把時鍾、觸發器和鎖存器以及所有工具都做對了,你就可以在半微米技術中製造出 200 兆赫的處理器,當你回頭看時,你會覺得「發生了什麼?這太神奇了。」

在P.A. Semi的從業經歷

Fairbairn:那麼,我們來談談 P.A. Semi。從……過渡到那里是一個很大的轉變。

Keller:嗯,它最初是作為 SiByte 的重啟開始的。我們獲得了 PowerPC 的架構許可,這是一個漫長的過程。然后……

Fairbairn:其他創始人是誰?我是説,你是創始人嗎?是……

Keller:有來自 SiByte 的最初三位創始人,他們是高級創始人,然后還有我們另外五個人。

Fairbairn:包括 Dan 嗎?

Keller:是的,Dan Dobberpuhl、Amarjit Gill、Leo Joseph 是創始人,然后 Puneet Kumar、Mark Hader、我自己、Sribalan Santhanam 也算是創始人,但我認為我們並不是真正的高級創始人,或者像文檔中那樣……

Fairbairn:我明白了。

Keller: 可以説是有層次的。所以,最初的想法是「讓我們做一個類似的部分,但對一切進行升級。」比如,1GHz的處理器升級到10GHz,處理器性能也得到了提升。它是一個亂序的PowerPC核心,架構設計更加激進,以便我們能夠進行數據流操作。爲了使性能得以實現,你必須將數據從10GHz端口傳入,進入片上緩存或內存,進行處理而不需要訪問外部內存,然后再把它送回出去。所以,它在架構上是一個更為激進的設計。到了某個時候,它還被設計成一種方式,既有處理器區域,也有前瞻性切片、內存控制器、PCI Express和網絡相關的通用部分,然后還有網絡加速部分。我們設計了一個部件,可以有兩種流片方式。一種是作為網絡處理器,供思科(Cisco)等公司使用。但你也可以將它作為獨立部件進行構建,這個部件可以是蘋果的個人電腦部件。我們也與蘋果進行了不少討論……

Fairbairn: 所以,我以為P.A. Semi的一個主要目標是降低功耗。是這樣嗎——還是我記錯了?

Keller: Dan是做低功耗的,因為他參與了StrongARM項目,然后所有的網絡相關的同事,他們有很多箱子,散熱有限。25瓦的功耗,你可以把部件放在板上,直接吹風就行。50瓦的功耗,就需要加散熱片,把它放到合適的位置。功耗再高的話,事情就會迅速變得複雜起來。之后,我們有一些低功耗的電路設計技巧,團隊在時鍾門控和低功耗方面做得非常好,而且非常精確的時鍾分發,我認為這比行業標準還要好。按今天的標準來看,這個設計並不算低功耗,但在當時,它實際上是相當不錯的。

Fairbairn: 所以,目標是性能,但同時儘量降低功耗?

Keller: 是的。在網絡處理器領域,目標是性能,但同時還要達到某些功耗標準,這樣才能正確部署它,就像是一個系統工程問題一樣。PC領域的功耗優化已經變得更加精細。所以,桌面部件的功耗是95瓦,因為這很容易通過風扇來散熱。桌面領域的目標是儘可能快。移動領域一旦進入,就開始權衡封裝上的熱點和電池壽命,而當時的移動部件也開始變得可行。它們的功耗仍然是25瓦到35瓦。

Fairbairn: 那麼,P.A. Semi最終有沒有開始銷售部件,還是……

Keller: 這家公司被蘋果收購了。

Fairbairn: 在它實際開始銷售部件之前?

Keller: 我們流片出了一個能工作的部件,但公司被收購了。

加入蘋果公司

Fairbairn: 你是在P.A. Semi之前離開的,還是先去了蘋果,然后……

Keller: 是的,我們完成了那個部件,流片后我加入了蘋果,然后蘋果——接下來發生了一個有趣的情況,三星和蘋果合作,要打造一個1GHz的ARM處理器。我曾經和一個人一起工作過——三星和數字設備公司(Digital Equipment)合作,他們打造了叫做EV56和EV68的處理器,這些是蘋果芯片在三星代工廠的縮小版。負責這個項目的人打電話給我,尋求我的幫助來使這款1GHz的處理器工作,我説:「我已經在蘋果工作了,但你應該找丹(Dan),丹會幫你搞定這件事」,因為他們需要一個大客户,算是這樣吧。然后丹搞清楚了事情的真相。他打電話給史蒂夫·喬布斯(Steve Jobs),説:「為什麼我要幫助三星,你可以直接收購我的公司,我們可以直接為你們做。」於是蘋果收購了P.A. Semi。

Fairbairn: 那你是怎麼來到蘋果的?

Keller: 我在蘋果有一些朋友,他們在一個研究小組里,説:「你應該來做點有趣的事情。」我問:「我做什麼?」他們説:「我們不能告訴你。」然后有一段時間,我記得我走了很長一段路,穿過了三扇鎖着的門纔到我的辦公室,因為蘋果非常喜歡保密,部分是爲了戲劇性,部分是——史蒂夫不希望這個項目干擾到那個項目,就像是「你做你的事,你做你的事,你做你的事。」

Fairbairn: 那麼,拉你去蘋果的那些人,是從數字設備公司來的還是……

Keller: 對,我曾和Dave Conroy一起工作。他在數字設備公司(DEC)的系統研究實驗室工作,和Chuck Thacker一起合作,他后來加入了蘋果,成為他們的計算機大師之一。我還遇到了一些其他的人。我在想,除了Dave,我還認識誰呢?哦,Steve Polzin是另一個來自數字系統組的人,他在Mac工程部門工作。所以,我加入蘋果時,認識的基本上只有三個人。

Fairbairn: 那時蘋果的處理器設計狀況是怎樣的?我不太記得了——這是在……

Keller: 對,所以我加入了——第一個iPhone芯片。

Fairbairn: 2009年?

Keller: 是的,大概是那時候。是2009年嗎?

Fairbairn: 2008年?

Keller: 對。第一個iPhone已經開始發貨,他們實際上距離第二款芯片——內部叫做H2——的流片只有幾周時間……

Fairbairn: 那個芯片是——第一個芯片是基於ARM架構的……

Keller: 是的,基於ARM架構,ARM的IP。第一個芯片實際上——他自稱是架構師的人,給我看了架構文檔,實際上就是一份Excel表格,列出了他需要的所有IP。所以他説:「我需要這個CPU,這個內存控制器,這個總線……」就只是IP的一個列表。

Fairbairn: 所以他把一堆IP組合在一起,然后……

Keller: 對,然后他們把這個交給了三星,三星把它們組裝成一個芯片,結果是可行的。內存延迟很糟糕,性能也很弱,他們幾乎沒法讓軟件在上面運行,但軟件工程師們設法讓它工作了。他們做得非常棒,因為他們基本上把OS X縮小到可以在這個平臺上運行,通過這樣做,他們優化並最小化了軟件。所以后來當我們給他們更快的芯片時,軟件就可以真正地擴展了。有人説,iOS和Android之間最大的區別是,Android是在手機芯片已經相當不錯的時候被移植過去的,而且它從未像iOS那樣被精簡過,這可能是真的。

所以,我開始參與H2的工作,然后Tim Millet和我共同設計了H3,我們對其進行了大量優化,H4是我們首次在芯片中放入一個真正強大的圖形單元,而H5是P.A. Semi團隊交付的第一款處理器,叫做Swift,H6則是我和Gerard Williams設計的,實際上是蘋果自那時以來一直在構建的一個大規模亂序計算機。

Fairbairn: 那在之前,是否只是執行一些已經知道的架構之類的,只是把功耗降低並使其在這種環境下工作?

Keller: 嗯,最初的手機SSE(單指令流處理器)設計相當簡單。你可以這樣理解:你有一個無線接口,一個顯示接口,一個鍵盤接口,還有一個運行操作系統的處理器。還有一個小GPU來渲染屏幕。就像這些架構圖,紙上這一大塊,里面有一堆模塊和互聯連接。因此,手機芯片的架構自一開始以來大體上都很簡單。讓它們,嗯,可以説是「神奇」的地方,實際上是達成每瓦性能和功耗的平衡,而蘋果則非常積極地推出新技術。

所以,我們比任何人都先推出了64位技術。我們比任何人都先做了高分辨率顯示。我們在H4中加入了大量圖形性能。就像它完全超出了任何人之前做過的事情。如果你看這款芯片,GPU的尺寸比其他任何手機芯片中的GPU大五倍,而這其中有一部分是來自Steve Jobs和Mike Culbert的想法,Steve有個理念:要做出最好的技術,就需要最好的組件——要做出最好的產品,就需要最好的技術和最好的組件。然后蘋果的團隊,在他們真正開始投入觸摸屏和視覺應用時,極力推崇像高分辨率、大量圖形性能之類的技術。圖形性能是爲了計算機界面服務,而不是僅僅爲了遊戲服務。蘋果從來不是一家遊戲公司。

Fairbairn: 爲了實現這些目標,架構上有什麼獨特的方面嗎?還是説只是對現有架構進行優化和調整?

Keller: 是的,有一些。比如,我們為各種東西設計了硬件部件。蘋果的UI設計方式是多層次的。我們的顯示管道做了非常酷的合成。在較低的層次上,GPU、CPU和相機處理器的協同工作,在當時是相當新穎的。不過,大部分還是在於真正地看清目標並對準它,然后,蘋果通過設計自己的芯片,避免了支付那些中間商的利潤。我們直接從三星購買晶圓,后來是從臺積電,而不是通過高通或英偉達購買。那些公司是從臺積電買晶圓,然后還得加價。所以,蘋果能夠把額外的成本轉化為更多的晶體管,我們確實做到了。

Fairbairn: 所以,這實際上並不是簡單地提高了利潤率,而是你們能夠製造更大的芯片,並且更具成本效益……

Keller: 對。以同樣的成本,我們可以在蘋果手機的芯片中放入兩倍的晶體管。我們的一些競爭對手——然后軟件應用和處理器的共同演進也發生了變化。我們做出的優化選擇讓我們能夠做到一些事情——如果你説「嘿,大家都想要這個很棒的相機處理器嗎?」一個人説「是」,另一個人説「不」,那你就放一箇中等水平的相機處理器,因為你不能通過它賺錢。而蘋果一直都知道自己想要什麼,而且是專門設計的。

Fairbairn: 對。所以你們能真正優化設計。你們有更多的晶體管可以使用。那麼,工具、設計方法論方面,蘋果是否有一些獨特的東西,其他地方沒有?

Keller: 這是那種新團隊常常能做老團隊做不到的事情之一。所以,隨着蘋果設計團隊的成長,我們有來自各個地方的人——來自NVIDIA、Intel、AMD的小公司——然后在某個時候,當我們在做方法論的工作時,不再是迭代之前五年大家都在用的設計方法,而是「從不同方法論中選擇最好的特性」。有一段時間,我認為我們可能擁有行業中最好的設計方法論,因為它融合了來自不同地方不同思想的人,就像我喜歡説的,混合基因,這非常好。

Fairbairn: 那Steve Jobs是否一直在你們的工作中發揮作用,還是……

Keller: 不,他是一個隱形的存在。我和他交談過幾次。每個人都知道Steve第二天想要什麼,真是不可思議。我的老闆經常和他交談。

Fairbairn: 誰是你的老闆?

Keller: Mike Culbert,他是蘋果的非正式CTO。我們認為他是這樣的人,然后我們還和Bob一起工作——他是Mac工程的技術負責人,后來負責手機和芯片工程。他是我合作過的最出色的高級副總裁之一,看着這些人如何把Steve想要的東西轉化成現實,真是非常有趣。他們經常和他溝通,確保達成Steve的要求,整個公司基本上是以願景驅動的,有很多方向感,但並不是——Steve並不是一個微觀管理者。

Fairbairn: 不是如何做,而是……

Keller: 對,他不是如何做的。他是「這是我想要的,你們能做什麼?」「告訴我你們能做什麼,然后我們看看能從中做出什麼。」所以,是的,這真的是一次很瘋狂的經歷。

Fairbairn: 那你為什麼離開了?

重回AMD

Keller: Steve Jobs去世了,Mike也去世了。是的,我知道那將會是一個完全不同的地方,我去蘋果部分是爲了學習東西。蘋果是一個了不起的公司,我記得在那待了大約一年后,我想「我還是不太明白他們是怎麼做事的。」因為它不是那種我在數字設備公司、AMD以及和Dan一起做創業時所習慣的那種自下而上的工程文化。蘋果更多的是「我想做這個,我們會做一切來實現它,」而不是「我們是偉大的工程師,知道如何製造電腦。」

Fairbairn: 「我們告訴你你得到什麼。」

Keller: 「我們告訴你你得到什麼。」是的。我想去一個能夠通過意圖從無到有創造東西的地方,那是一個瘋狂的工作環境,也很棒。但我覺得我學到了很多,我也想試一試其他的東西。所以,我去了AMD,那時候它正處於困境中。

Fairbairn: 那是誰把你帶回到AMD的?

Keller: Rory Read。

Fairbairn: 他那時是CEO嗎?

Keller: 對。我認識Mark Papermaster。在P.A. Semi做PowerPC談判時我就認識了Mark,然后我們大概重疊了一年左右,當時他來負責手機部門,后來Steve因為天線門事件把他炒了。但Mark是個很好的人。所以,當我在尋找新機會時,我給Mark打了個電話,接着和Rory聊了很多,我挺喜歡Rory的,然后我為Mark工作。Rory説:「我負責業務,你負責技術。我會確保我們不缺錢,但我需要這顆芯片。」

Fairbairn: 那時候AMD的目標是什麼——當時AMD狀況不好,對吧?

Keller: 是的,情況很糟糕。

Fairbairn: 那目標就是設計一款芯片。是從零開始設計的嗎?

Keller: 對,沒錯。

Fairbairn: 在這個行業中,什麼都不算是完全從零開始,但……

Keller: 嗯,Rory給我展示了一張圖。AMD的服務器,Opteron最初從零開始,市場份額從35%降到了大約4%。他説:「Jim,發生了什麼?」我説:「嗯,產品很糟糕,所以沒人買。」他回答說:「看起來好像沒人關心。」結果是,Bulldozer並不是一個好的架構,而且它當時還在開發中。

Fairbairn: Bulldozer是Opteron的架構嗎?

Keller: 是的。嗯,不,Bulldozer是在后來的架構。K6的團隊提出了一個很棒的基於單元的方法論,我們在此基礎上開發了K7和K8,也就是Opteron。然后他們想要進一步提升頻率,邁上一個新臺階,結果他們實際上帶回了很多定製設計,加入了一些有爭議的架構特性。那兩件事沒有實現他們的頻率目標,而架構特性也不好。所以,這就造成了一個不具競爭力的產品,而AMD當時還在與代工廠鬥爭,最終將其剝離,成立了Global Foundries。於是他們揹負了一個二流代工廠和一個二流架構。我被帶進來當Zen架構的設計師,並負責重建這一切。

Fairbairn: 那當時是否很清楚需要做什麼?

Keller: 哦,是的,完全清楚。方法論不好,團隊組織不好,架構不好。然后團隊會跟我説:「Jim,我們無法與Intel競爭,因為我們的工藝落后。」我就説:「其實,Intel的IPC是我們的兩倍,我告訴你,如果我們能追上他們的IPC,我能幫我們找到一個匹配的工藝。但如果IPC不好,你就不能怪工藝。」

Fairbairn: IPC是……

Keller: 每個時鍾周期的指令數。

Fairbairn: 每個時鍾周期。

Keller: 所以,有一個架構方面的因素,還有一個工藝方面的因素。在某種程度上,工藝是推動一切的。所以,IPC就是你架構的好壞,然后架構與工藝性能結合,最終決定了產品的性能。而我們在這兩方面都存在問題。至於怎麼獲得一個好的工藝,我當時沒有頭緒。Mark是關鍵人物,他們和三星14nm的Global Foundries談判達成了交叉許可,這有效果。后來,Rory的合同中提到,AMD將繼續在Global Foundries生產,只要Global Foundries能夠提供具有競爭力的領先工藝。然后,Global Foundries宣佈他們不會做七納米工藝了。

Fairbairn: 對,他們確實在這方面后退了,是吧?

Keller: 是的,AMD當時最終可以轉到臺積電去生產,但確實是一個巨大的挑戰。於是,我給Rory打了電話,説:「你介意我取消所有當前的項目嗎?」這也算是解開了Zen的束縛。他們有一個Bulldozer路線圖,還有一個Jaguar路線圖,分別是大核心和小核心,但它們都沒有競爭力。Jaguar其實做得不錯,但沒人購買那類產品。Bulldozer和Jaguar這些處理器在很多方面都不具競爭力,Rory當時説:「Jim,沒人關心我們是競爭對手的50%還是53%,他們只是因為可憐我們纔買。」於是,他基本上對我説,「做你想做的事。」然后他會打電話給我:「需要多久?」我説:「四年。」他説:「我沒那麼多時間,」然后董事會也沒有再支持他,最后他離開了。

但是,這個過程非常有趣,部分原因是架構上的調整。從架構上講,有很多大方向的決定——比如,我們有一份表格,寫明瞭「你需要多少個每時鍾周期的指令,什麼樣的分支預測器,什麼樣的頻率。」我們設定了一個邊界框,團隊不斷嘗試重新談判這些限制。我給出的要求是10平方毫米,5瓦功耗,3.5GHz頻率,但他們會回來告訴我:「我們可以做到10毫米,但只能做到3GHz。」我就説:「沒門。」

這個任務的核心是把問題轉化為我們可以解決的差距,而不是一些無法完成的任務,最終大部分都實現了。后來我們還做了一個ARM處理器,作為架構上的配套,因為當時有一個信念認為ARM服務器會成為主流。我認為這有可能是真的,但在當時,ARM在服務器領域還是有點早。然后我們交付了幾個其他產品,包括一個Xbox芯片和一個索尼遊戲主機芯片。

Fairbairn: 那你説四年太長了,最后你們做了多久?

Keller: 是的,最終確實花了四年。

Fairbairn: 四年。那麼,Lisa Su是在這段過程中作為CEO加入的嗎?

Keller: 是的。當時她負責一個業務單元,主要是ARM服務器和半定製業務。在我在那里時,她大部分時間都在做這個工作,而她並沒有參與Zen項目。

Fairbairn: 那麼你決定離開是什麼時候?是項目完成或接近完成的時候嗎?

Keller: 大部分都完成了,但可以説當時有一些管理上的困難。我其實並不想離開,但……

Fairbairn: 你是什麼原因決定離開的?

Keller:我其實並不想離開,但不是所有事情都會如你所願。我算是一個比較直率的人,喜歡事情按照我希望的方式進行——很難説清楚。我當時正處於一個階段,我知道怎麼去構建一切,事情變得非常明確。

Fairbairn:那就去Intel了嗎?

Keller:不是,去了Tesla。

加入Tesla

Fairbairn:Tesla,嗯。

Keller:嗯,Doug Field 曾在蘋果的 Mac 團隊工作,后來去了 Tesla,我和他聊過。然后,Raj Singh 和另一個曾為 Doug 工作的人,他們説:「你應該來這里。」我當時問:「我能做什麼?你們是造車的。」他説:「不不,車會變成一個計算平臺,未來一切都會有計算機。」我當時覺得「太搞笑了」,然后我開始做研究——像是,Tesla 當時已經有了自動駕駛的計劃,而且顯然 Elon 那時就已經有些名氣了。所以,我去找 Doug 和一幫人聊了下,大家説:「來吧,你也可以做做電子方面的工作。」

於是,我們需要升級自動駕駛硬件,做一些事情,我當時想「天哪,我們可以為這個做一顆芯片。」他們當時用的芯片不好,沒能達到預期目標。接着,他們安排了和 Elon 的面試。我飛到洛杉磯去見他,在 SpaceX,他帶我路過一個會議室,是一個 Landsat 會議室。我父親曾是 Landsat 項目的首席工程師,那個項目是一個衞星,后來還有火箭發射。我小時候見過一次 Saturn V 火箭的發射,所以,Elon 和我聊起了 Saturn V 火箭和 Landsat,我們聊得挺愉快的。我告訴他,我可以在18個月內做出一顆能驅動汽車的計算機芯片,他基本上説:「好的。」

Fairbairn: 18個月?

Keller: 對,18個月。

Fairbairn: 18個月?

Keller: 是的,18個月,我們做到了,簡直是世界紀錄。

Fairbairn: 那是——你們用的是TSMC的技術嗎?

Keller: 其實我們用的是三星的技術。於是,我就接受了這個工作,沒告訴任何人。離開AMD的塵埃還沒完全落定。然后有一天,我的朋友Pete Bannon給我打電話,是聖誕節前或聖誕節后打的,他説:「嘿,我聽説你要去特斯拉?」我問他:「你怎麼知道的?」他説:「你老婆在你寄給朋友的聖誕信里寫的。」我説:「我大概是1月5號左右開始。」他就説:「那好吧,我們聊聊吧。」然后他那天晚上就來找我聊了兩個小時,他當時還在蘋果,特別對他們的AI方向感到失望。於是我就加入了特斯拉,沒過三天,Pete就和Elon面試了,Elon説:「Pete很棒。」然后我僱了Keith Witek,他是個律師,因為我們要在18個月內做出這顆芯片,我需要執行大約35項IP合同、供應協議,各種各樣的事。於是,我給我在蘋果時合作過的三星朋友打電話,説:「我要做這顆芯片,明年我們得完成Tape Out。」他們説:「這太難了。」

最終花了 14 個月完成流片,4 個月在工廠,2 個月啟動軟件,然后我們就開上了車。Pete 對 AI 引擎有一個非常酷的想法。當時,一個流行的框架叫做 CAFE,它輸出一個 op、data、data、data 的列表,然后人們拿着它構建一個編譯器,在其上編寫一個向量化編譯器,Pete 説「如果我們只是按原樣執行 op 和 data 呢?」我們製造了一個基本上將 CAFE 指令作為指令執行的芯片。數據可能是三乘三的卷積數據源或其他什麼,它有很多有趣的方式來遍歷它,我們構建了一個內存子系統來調整數據,以匹配 CAFE 認為它正在執行的內容,這使得編譯器非常簡單。所以,世界上每個人都在僱傭數百人來編寫 AI 編譯器,而 Pete 自己編寫了編譯器,因為從 CAFE 輸出到指令輸出的轉換,可以説,相對簡單。最終還有一些更詳細的內容。這給了我們一個架構定義,然后我從各個地方僱傭了一些朋友來構建引擎,然后三星製造了芯片。

Fairbairn:在 14 個月內完成它的關鍵是什麼,完成 IP 合同,以及每一步都進行優化?

Keller:每一步都進行優化。就像並行執行。到那時,我已經非常擅長——我告訴人們我是 100% 的人。所以,你有一個——有一個 AI 引擎,一個與之配套的編譯器,還有 IP 合同。我們有一個非常好的 SoC [片上系統] 架構師,David Glasco。Dan Bailey 從 AMD 加入了我,他是地球上最好的芯片專家之一。三星的執行團隊,我認識那些人。我們很快就把他們組織起來了。我們很快就做出了決定,比如安全架構、安全架構、總線架構。我們花了一點時間在攝像頭處理上。當時,AI 圖像都由攝像頭處理器處理,但我們不確定這是一個好答案。我們對一些軟件堆棧組件不確定。我們不得不導入一堆東西。所以,我們使用了我們自己的 GPU。

Fairbairn:那麼,特斯拉仍然使用相同的架構嗎?

Keller:所以,Hardware 3 大約在九個月前停止發貨。他們發貨了近五年。它是地球上最好的自動駕駛芯片,持續了五年。現在,他們正在發貨 Hardware 4,這是一個升級版。它們有架構上的相似之處。當我還在特斯拉時,我們就開始了那個項目,但我不知道它最終的細節。

Fairbairn:那麼,你和 Elon 一路上有很多互動嗎,或者根本沒有?

Keller:是的。他每周有兩天在那里,我們一直和他談話。然后我負責自動駕駛硬件,在某個時候,Doug 要求我負責低壓電子設備,然后自動駕駛軟件人員時不時地向我匯報,這取決於最近誰被僱傭或解僱。所以,可以説,這很戲劇化。

Fairbairn:Elon 是否想插入他自己關於事情應該如何做的想法,或者理解架構,以及……

Keller:是的。在某種程度上,他不是一個芯片專家。他寫過軟件。他非常擅長物理、機械工程和可視化事物。關於很多芯片方面的東西,我會向他解釋。他會非常感興趣,但他沒有很多關於這方面的想法。但是關於整個事情如何運作以及為什麼,是的,他真的很有興趣,向他解釋這些很有趣。我學到——在很多地方,你從「這是問題陳述,這是數據」開始,然后引導人們完成你的旅程。Elon 是一個先解決問題的人。「我們將要做這件事。那是因為我們遇到了這個問題。其他一切都是支持。」有一天,我們向他展示。「這是我們晚上拍攝的圖像。這是正在發生的事情。這就是為什麼它們很難……」他簡直要瘋了,就像「你們在説什麼?」「好吧,我們馬上就要講到解決方案了。」「好吧,解決方案是什麼?」「在第 18 頁。」「好吧,從第 18 頁開始。你們怎麼了?」就像「這是舊照片。這是新照片。」他説「太棒了。新照片好多了。為什麼更好?」「哦,我們倒着講一遍吧。」他的直率很棒。就像,當他談論第一性原理時,我以前説過。就像,你認為你是一個堅持第一性原理的人,然后你和 Elon 談話,你會覺得,不,不,他指的是原子。就像,第一性原理是完全另一個層次的。

Fairbairn:是的。那麼,是什麼讓你離開那里的?

Keller:我們完成了 Hardware 3,開始了 Dojo,但我很清楚,這還需要一段時間……所以,Elon 是一個大步前進的人,可以説芯片工程師,有一個節奏和持續改進的路線圖,我想——我不確定在流片之前我要做什麼兩三年。所以,Hardware 3 到 Hardware 4,你可以從論文中讀到。你可以在論文中讀到。它們相隔四到五年。就我而言,我們計劃在 Hardware 3 之后一年流片 Hardware 4,並進行穩步改進。但像 Elon 更像是一個「邁出一大步。充分利用它,邁出一大步」,這也有道理。但我認為「嗯,我想要一些新的刺激。」然后我收到了 Intel 的高級副總裁的 offer,負責他們的芯片工程團隊,我認為這會很瘋狂,因為 Intel 擁有最好的工廠、最好的 CPU 技術、最好的——他們有 cross-point 內存,他們有很多東西。我認為我們可以去開發下一代高端服務器。但任何——這一切都沒有發生,但這是一份非常有趣的工作。

Fairbairn:是什麼讓它變得有趣?

Keller:當我離開 AMD 時,團隊有 2500 人。特斯拉有 400 或 500 人。我加入了 AMD,我的團隊有 10000 人。

Fairbairn:你加入了 Intel?

加入英特爾公司

Keller:是的,Intel 有 10000 人,它的範圍非常大——客户端部件、服務器部件和網絡部件,然后我慢慢發現,很多 Intel 技術都很棒,但很多都停留在舊的 CAD 工具、舊的設計流程上,而且……

Fairbairn:是的。Intel 的設計工具確實陷入了困境,不是嗎?

Keller:是的。所以,就像「我們如何重新設計一個如此龐大的組織,使其正確地定位?」他們做了一些事情,比如——他們過去製造集成的客户端部件。所以,CPU 團隊、內存控制器團隊、PCI Express 團隊,他們都為同一個人工作,他們都一起工作,他們製造了一個部件。然后 EVP Murthy [Renduchintala] 説「我們需要有 IP 團隊、SOC 團隊和 CPU 團隊」,然后他把他們分開了。但它從未真正重構。比如,IP 團隊並不是真正的 IP。IP 只是一個設計組,負責向 SoC 交付東西,然后進行測試。所以,他們有所有這些像半過渡的東西,挑戰是「你如何重新設計它並修復 CAD 工具?」我接到了 Aart de Geus 的電話,他説「以色列團隊正在使用我們的新 CAD 工具。你們是怎麼做到的?」我説,「經過了很多爭鬥。」但這很有趣。那些人很棒。他們創造了地球上最好的設計流程,並使用了 25 年。很難説世界已經改變,變革即將到來,就像「這會怎麼發生?」有些人會説「嘿,我們準備好了」,有些人顯然,它是——人們非常情緒化。比如,工程師們一生都在建造東西。

Fairbairn:Intel 仍然有一個龐大的內部 CAD 團隊,對吧?

Keller:是的,1200 人,其中很多人只是在工具周圍構建包裝器。所以,我們引入了我們稱為裸機流程的東西,即如何為所有 CAD 工具構建低級接口?我們如何改變我們對 CAD 工具的看法?其中一些效果相當不錯。

創辦Tenstorrent AI公司

Fairbairn:Tenstorrent。

Keller:是的。所以,Tenstorrent 是一家 AI 公司。

Fairbairn:那麼,你是如何——你在 Intel 的 10000 人團隊中筋疲力盡了嗎,或者是什麼……

Keller:不。在高層面上。我認為公司和工程團隊需要,可以説,比 CEO 做的更大的重置,我非常喜歡 Bob Swan。我們是同事,但他對需要做什麼的願景和我的願景相差甚遠。我沒有筋疲力盡。我是……

Fairbairn:你無法完成你想完成的事情?

Keller:這非常困難,我瞭解到你需要與——CEO 經營一家公司,你不能去開會説「我們需要這樣做」,然后他們會説「CEO 說了相反的話」,他有他的理由。他負責公司的財務管理,而我則關注一大堆需要相當大的改進的關鍵工程技術。這比你能做的要多,比如説,只是順便做一下。在 AMD,和 Rory 以及我,就像「我們需要從頭開始徹底改造它」,他説「太棒了,去吧,因為現在發生的事情不起作用。」所以,這效果很好。在 Intel,效果不太好。所以,我想去一家初創公司工作。我想過創辦一家公司。我一直是 Tenstorrent 的天使投資人。我喜歡特斯拉的 AI 技術。我有機會看到所有 AI……

Fairbairn:特斯拉是你第一次真正接觸到 AI 技術的內部嗎?

Keller:是的。即使在那里,我也不是 AI 引擎的架構師。Pete 是。我設計了構建自動駕駛芯片的計劃,而且,我認為我非常擅長跨職能邊界工作,使事情能夠結合在一起。我認為我可以幫助 Tenstorrent 發佈產品,並構建下一代產品。此外,Tenstorrent 的 AI 技術建立在 RISC-V 處理器之上,我們使用多個 RISC-V 處理器來實現這一點,從非常小的到中等的再到大的。所以,我們籌集了投資,組建了一個高端 CPU 團隊,以構建一個基本上是核心的 RISC-V 處理器。

Fairbairn:基本上是什麼?

Keller:核心。所以,RISC-V 起源於伯克利。質量驚人。BOOM Core 和 Rocket Core 是開源 RISC-V 處理器。然后 SiFive、Andes——Ventana 構建了,我認為是更多面向產品的、中檔的處理器,但沒有人構建過寬的、亂序的、高端的 RISC-V 處理器。在 CPU 領域,人們希望從非常低端到高端。ARM 的 IP 計劃的天才之處在於——像很多 CPU 公司一樣,他們每次構建一個更好的,就會放棄舊的,而 ARM 就像他們有 M-class、R-class、A-class、服務器級。所以,RISC-V 需要擴展這條線。所以我認為構建基於 RISC-V 計算機的 A-5 在底層會非常有趣,同時也在 RISC-V 中構建協處理器,將它們放在一起。

Fairbairn:所有這些都必須在你如何處理不斷變化的 AI 模型和算法的背景下完成,對吧?

Keller:是的。事實證明,AI 堆棧從上到下都非常複雜。它不像一個人有一個想法,然后編寫一個 C 程序,通過編譯器運行到芯片上。它有大約四五個層次的翻譯。比如,PyTorch 程序運行非常慢,像 100 千赫。所以,你需要一段時間才能理解它。所以,你會在一臺運行速度為 100 千赫的計算機程序上放置一個 petaflop 的計算能力,因為它正在解析操作,而操作非常大,然后從 PyTorch 級別進行翻譯,即程序員認為他正在做的事情,一直到軟件堆棧。然后你需要以一種靈活且能夠適應他們在高層提出的新想法的方式來構建它,但要將其轉換為低層的高性能計算,這就是 Tenstorrent 正在努力解決的智力上的 AI 挑戰。

Fairbairn:那麼,Tenstorrent 是否開始構建處理器,構建——最初是什麼……

Keller:構建一個 AI 引擎。

Fairbairn:構建一個用於什麼應用的 AI 引擎?

Keller:通用 AI 計算。比如,基本引擎是……

Fairbairn:數據中心級別還是……

Keller:是的。基本引擎是一個張量處理器。通常有三種計算機——標量、向量和張量。所以,AI 是張量對張量的張量運算,它們是多維數據數組,其核心是由 RISC-V 處理器提供支持的張量處理器,RISC-V 處理器解釋,可以説,軟件堆棧的一層,並將操作提供給該處理器,然后在處理器之間移動數據。所以,是的,我們的使命是製造真正通用的計算,可以從上到下訪問。所以,每一層都有人類參與的方式,或者軟件可以處理它。

Fairbairn:那麼,在你任職期間,首先是作為 CTO,然后是作為 CEO,使命、方向或其他什麼是如何演變的?

Keller:是的。初創公司會經歷不同的階段。我意識到這是——這似乎很明顯。有研發階段,「這是個大創意。」好吧,還有個瘋狂階段,即「我有這個大創意,我不得不籌集資金。」然后你去進行研發,以構建一些值得做的事情,然后你過渡到工程階段,比如讓其中的每一部分都非常好,然后你過渡到產品階段,「我有一個可以出售給別人的產品」,然后你努力成為以客户為中心,最終大型半導體公司以生產為中心,可以説。所以,我加入是爲了幫助從創始團隊擅長的研發階段過渡到,可以説,端到端的卓越工程階段,今年,我們開始交付產品,成為一家產品公司,並適當地完成每個階段的旅程。

Fairbairn:但是客户是誰隨着時間的推移而演變的,對吧?

Keller:這很有趣。一般來説,在 AI 應用層面的軟件變得稍微簡單了一些。最初的 Inception ResNet 是相當複雜的計算圖。現代的像 Falcon、Llama、Mistral 是更簡單的 transformer 模型。它們在所做的操作中仍然很複雜。它們主要變得更大,訓練集更大,訓練時間更長。人們希望能夠根據應用程序從單個芯片快速擴展到多個芯片。我想説,它仍然在高層不斷變化,尤其是與傳統的計算服務器客户端世界相比。但它朝着,可以説,可以理解的方向發展。

Fairbairn:你把公司描述為一家設計公司。

Keller:是的。我們設計 AI 處理器、AI 軟件和 CPU,我希望在所有方面都做得非常好,從上到下。我們設計芯片,我們設計系統。我們有點像一家端到端的公司。比如,有一兩家初創公司變成了「我們將把我們的 AI 放在雲端,或者半導體很難。」但不是,我們是一家設計公司。我們對軟件設計、芯片設計、架構設計、系統設計都很友好,我希望在所有方面都做得非常好。

Fairbairn:你們有銷售團隊嗎?

Keller:是的。

Fairbairn:他們拜訪的是誰?

Keller:嗯,它遍佈各處。所有 AI 初創公司都犯了一個錯誤,他們説「我們要構建這個芯片,然后我們要賣給 AWS,對吧?」它必須在第一天就運行所有東西。事實證明,有數千人購買 AI。他們把它放在設備中。他們把它放在小型數據中心。他們把它放在研究實驗室。人們想購買 AI 並將其放入他們自己的芯片中。客户的多樣性非常高。現在,華爾街的人專注於為數據中心提供 1000 億美元的高端計算。但實際上,到處都有數十億美元的業務,通常是新的進入者。你可以敲開現有企業的教堂大門,或者你可以找到正在做新的、不同的事情的新客户,而大公司無法專注於小客户。NVIDIA 不會尋找另一個一百萬美元的客户。但我肯定會。

Fairbairn:一百萬美元的客户負擔不起一百萬美元的系統。所以,你必須有分層系統,對吧?

Keller:是的。你必須有不同的價格點,而且,我們的銷售人員會——你得到 10 個一百萬美元的客户,那就是 1000 萬美元的銷售額,這是真的。比如,我會為此感到興奮,我以前也這樣做過。你也無法挑選贏家。當我們為 SiByte 設計部件時,我們一度獲得了 100 個設計訂單,其中一些對 Broadcom 來説變得相當大,而且並不明顯哪些是哪些。所以我認為下一代 AI 將遍及各處,我希望成為一家擁有可用的 AI、軟件的公司——我們開源了我們的軟件堆棧。事實證明,這是一個很棒的招聘工具,因為很多人都想編寫軟件併發布它,他們在我們僱用他們之前會審查我們的代碼。這真是一種瘋狂的體驗,因為我們不是現有企業,我們不是專有的,我們是開放的,我們可以接觸到現有企業無法接觸到的各種各樣的人。

Fairbairn:Apple 會在某個時候成為客户嗎?

Keller:是的,也許吧。但他們有 5000 人從事芯片工作,他們是專家,我確信他們正在做自己的事情。

Fairbairn:其他處理器供應商呢?

Keller:有可能。是的。我經歷過多次這樣的轉型。當我們構建 Opteron 和 K8 時,沒有人想要它。每個人都知道服務器有背板,對吧?我們製造了一臺沒有背板的計算機。現在,20 年過去了,它已經成為Server的主要架構。

Fairbairn:那麼,如果有人今天想從你那里購買東西,他們可以買什麼?你今天可以交付什麼?

Keller:是的。我們正在銷售我們的 Grayskull 芯片,我們即將宣佈我們的下一個芯片,它將連接在一起,我們將能夠將單個芯片連接到 100 個芯片。

Fairbairn:所以,你的 Grayskull 芯片是單個的……

Keller:單芯片。它安裝在 PCI Express 設備上,然后 Wormhole 有 1600 個千兆以太網端口,我們將它們連接在一起,今年年底,我們的第三個芯片 Blackhole 將準備就緒,它就像一個縮小版,帶有一堆性能優化。

Fairbairn:人們也可以從你們那里授權 IP 嗎?

Keller:是的。與人們交談真的很有趣,因為有些人想購買芯片來試用。但他們真的想構建自己的產品,他們想授權 IP,顯然,NVIDIA 不會將其 IP 授權給你,以構建他們認為與其競爭的產品。

Fairbairn:所以,你想試用它,以芯片形式驗證性能和其他一切,然后在下一代中,將該 IP 嵌入到他們自己的一些專有產品中?

Keller:RISC-V 也在做同樣的事情。人們將 RISC-V 處理器用於各種各樣的小東西,但我們將在今年年底流片一款具有我們大型 RISC-V 處理器的芯片,因此人們可以試用它,然后要麼在他們的產品中使用該芯片,要麼授權 IP 以放入他們的產品中。

Fairbairn:該 RISC 處理器可以用於 AI 功能以外的其他功能嗎,或者它是……

Keller:當然可以。

Fairbairn:它不是那麼專業化,或者……

Keller:不,它是——所以我想要 RISC-V 技術,這樣當我構建 AI 時,我就擁有所有部件,我可以按照我想要的方式修改它。但它也是一個相當通用的[處理器],我們可以用它做幾乎任何事情。

Fairbairn:那麼,你喜歡當 CEO 還是 CTO,或者兩者都喜歡?

Keller:是的。做這件事真的很有趣。CEO 有點瘋狂,因為你對一切都負責。

Fairbairn:是的,可以説是。

Keller:事實證明——公司的規模比 Intel、AMD 或特斯拉要小得多。但就像我説的,它的廣度更高。

Fairbairn:你們現在有多大了?

Keller:五百人。

Fairbairn:你們在辦公室工作還是虛擬工作,或者兩者都有?

Keller:都有。是的。我們在各地都有辦公室。所以,我在辦公室,我在家。很多時候,電話會議很早就開始。所以我早上七點開始在餐桌旁打電話,然后……

Fairbairn:你是否在意人們是否在辦公室?

Keller:有點在意。人們無論在哪里都能完成這麼多工作,這給我留下了深刻的印象。對一些人來説,靈活性改變了他們的生活。人們有很多需求,家庭、照顧父母。他們住得很遠。有各種各樣的理由這樣做。我認為每個人定期在辦公室聚在一起真的很健康。他們喜歡這樣。偶爾,辦公室里人滿為患,每個人都在不停地交談。我認為每周兩天或三天對人類來説真的很好。但是靈活性,比如他們送女兒上學,或者接他們的母親,或者他們有醫生預約,而且只是安排在日程中,沒有人關心——這似乎也很健康。

Fairbairn:那麼,讓我們花幾分鍾時間來了解 Jim 這個人。我聽説過,你在某個時候有一位妻子,她寄出的聖誕賀卡泄露了專有信息。

Keller:是的,她寄了。這隻對我來説是專有的。

Fairbairn:你結婚了。你有孩子嗎?

Keller:我結婚 20 年了。我有兩個孩子。他們今年將滿 19 歲和 20 歲。

Fairbairn:那麼,他們都上大學了嗎?

Keller:一個上大學兩年了,一個秋天開始在 Cal Poly 上學。

Fairbairn:他們倆都在做什麼?

Keller:做他們想做的任何事。但是的,他們似乎都很聰明和機警,是的,我們拭目以待。

Fairbairn:在你忙碌的職業生涯中,你在哪里遇到你妻子的?

Keller:她是朋友的妹妹。我在一個 40 歲生日派對上遇到了 Bonnie,不知怎麼的,我們一見如故。

Fairbairn:二十年了,是嗎?

Keller:是的,20、21 年,也許,今年。

Fairbairn:就在那里。

Keller:是的。一直都很棒。

Fairbairn:當你不在招聘、籌集資金、參與會議時,你會做什麼?

Keller:我一直都喜歡積極參與體育鍛煉。

Fairbairn:看起來你的身材保持得很好。

Keller:我的身材還不錯,是的。我開始變得有點老了。但我玩帆板、滑雪和舉重。我不得不停止跑步,因為我的一個膝蓋開始困擾我,我和兩個 85 歲的老人談過,他們都告訴我,他們希望自己能早點停止跑步。我説「好吧,你們什麼時候停止跑步的?」其中一個人説「八十歲。如果我重新來過,我會在你這個年齡就停止跑步」,因為膝蓋會磨損,而膝蓋置換手術很難。

Fairbairn:我妻子做了膝蓋置換手術,並希望她能早點做。

Keller:是的,大多數情況下效果都很好。但就像我説的,我一生中大部分時間都相當活躍。

Fairbairn:你讀很多書嗎?

Keller:時斷時續。有時我覺得我一直在閲讀。過去是每周讀幾本書,現在,有博客、有互聯網、有文章、有這個。有無窮無盡的資源,人們真的傾注了他們的——他們仍然傾注了他們的心血。我告訴人們要多讀書。有趣的是,人們總是問我「好吧,我應該讀哪本書?」我認為「所有書都應該讀。」問題是,即使這是一本非常好的書,這本書在 100 本其他書的語境中,也比單獨一本書要好得多。作為一個年輕人,也許你讀的書不多,但我最近一個月遇到了幾個人,我認為「天哪,如果他們讀 10 本書,他們的人生就會完全不同。那里真的有解決問題的方法」,而且不僅僅是書的方式——我推薦的書並不總是贊同其中的觀點,但其中的思考和替代方案——比如,有很多東西需要了解和思考。所以是的,我仍然讀很多書。

Fairbairn:考慮到你還是 CEO 這個職位的新手,你過去有機會觀察很多 CEO。你現在有和誰一起工作,或者誰是你的好導師,你有依賴的人給你建議嗎,或者……

Keller:嗯,我和非常不同的人一起工作過。和不同的人一起工作,學習你能學到的東西,這真的很好。但你必須按照自己的方式去做,然后自己去弄清楚。當我加入 AMD 時,我認為「好吧,我要嘗試這個、這個、這個和這個。」我實際上僱了一位顧問,因為我要從一個非常小的團隊擴展到一個非常大的團隊。一些實驗很棒,一些管理書籍——我問 AMD 的一些朋友「你們讀過多少本管理書籍?」平均數量是零,而我讀過 20 本。我讀過的書比——比如,一個人説一本,我讀過的書比他多了 19 本。我當時想「哇,我從書中學到的管理知識真的更多」,而且並不是説書是完美的,但世界上排名前 20 的管理書籍,你只需去亞馬遜,開始在谷歌上搜索管理書籍,然后閲讀評論,其中一些非常棒。其中一些書是由有 40 年經驗的人寫的,他們對此充滿熱情,並傾注了他們的心血,你可以讀它,然后嘗試它,你會發現它起作用的頻率令人驚訝。即使你不知道為什麼,但你可以從中學習。

所以,我不知道我是否有最喜歡的。我真的很喜歡很多人工作的方式。比如,和 Doug Fields 一起工作很棒。我喜歡他管理人的方式,以及他如何關心他們,他非常認真地思考這個問題。但 Bob Mansfield 非常聰明,他總是知道什麼時候出了問題。他總是知道什麼時候有人在編造東西。他是怎麼做到的?他有非常清晰的風格,這和他們完全不同。我真的很喜歡和 Elon 一起工作。我從那個人身上學到了很多,這太神奇了。但我的管理風格完全不同。我像一個賦能者、一個填補空白的人,而 Elon 就像一股自然之力。所以,我不知道能從中學習什麼,除了我學到了很多,並且我改變了很多。

風險及免責提示:以上內容僅代表作者的個人立場和觀點,不代表華盛的任何立場,華盛亦無法證實上述內容的真實性、準確性和原創性。投資者在做出任何投資決定前,應結合自身情況,考慮投資產品的風險。必要時,請諮詢專業投資顧問的意見。華盛不提供任何投資建議,對此亦不做任何承諾和保證。