微處理器大師講SoC設計的來龍去脈
發布時間:2010/6/24 14:46:52 訪問次數:700
在整個ic行業,像chris rowen博士這般愛談技術,同時又可以講得如此深入淺出的,著實罕見。他可以一邊舉起手中的iphone做各種演示,也可以拿起隨手拾見的小紙條寫寫畫畫來加強語氣。他咬字無比清晰準確(尤其在諸如interestingly或者particularly這類副詞的時候會讀得緩慢甚而產生了某種韻律感),似乎是在運用一種類似于詩人誦詩,抑或冒險家在眾人面前娓娓道來諸多奇跡的情緒和語氣,來描述那些soc設計的理念。很神奇。
- 51電子網公益庫存:
- AIC1084-1.8
- AMS1505CMA
- AP01N60H
- AP9575J
- AP98T06GP
- BDT64C
- BDT65F
- BDT93
- BT151-500R
- BT152-650R
- BTA06-200A
- BTA06-200GP
- BTA06-600C
而更加奇妙的是,他幾乎經歷過微處理器的所有起起伏,前世今生。他是risc架構的奠基人之一,分別參與了intel和mips公司的大躍進時代,如今,又帶著一種全新soc架構的理念,在或多或少地改變著我們的數字時代。所以,與其說是采訪,還不如說是在聽一個傳奇(而且這個傳奇也不過是翩翩中年哦!)講故事。
power density、parallel、multi-core、fpga、risc、soc,這些詞于談笑間輾轉騰挪,有一瞬間,我差點覺得對面坐著的是 wes anderson,那個拍出過《了不起的狐貍爸爸》(fantastic mr. fox)的我最中意的好萊塢導演。不避世也不趨世。獨辟蹊徑,信手拈來。關鍵都還挺帥的。
1、我看過您2004年寫的“復雜soc設計”,非常喜歡的第8章(chris rowen :“soc設計的未來”哈哈)。恩您還記得。因為你的所有預言都應驗了,這非常有趣。所以我的問題是,您如何看待再6年之后的soc設計,或者說和soc 設計有關的那些技術趨勢? (chris rowen :哇,這個問題還不賴!)
chris rowen :我認為這個市場的大方向還是相當清楚的。看看市場層面的基本趨勢,再看看技術層面的基本趨勢,你就可以看到他們在哪里重合。就技術而言,你會發現摩爾定律(moore’s law)作為經濟驅動力的事實。但是摩爾定律真正有趣的部分在于,第一,是“集成度(density)持續提高”。每隔2年半或者3年,硅密度就要提高一倍,這意味著近一倍成本的降低,讓射頻產品中的數字模塊集成度越來越高。這也意味著,各種系統都在規模(scale)上變得越來越小。所以無論是電腦亦或消費電子設備,每一個系統的目的都是集成于同一塊芯片。這就變得有趣起來。因為在過去,你可以生產通用(generic)存儲器,通用處理器,通用射頻,諸如此類,然后一股腦兒放在一塊兒,建一個非常牛逼的專用(specific)系統。但是在今天,事情都顛過來了。你更希望把一坨不同的功能集合到一塊芯片上。當然在這個意義上,你還是得搞出一塊專用芯片。但是挑戰變大了,因為芯片本身需要更加專注于某一個特殊應用,而應用處理器、內部總線等等其他玩意兒,也要變得更小更強更快!
另一件吊詭的事就是,摩爾定律并沒有在晶體管層面帶來太多的功率改進。在過去,當東西變小了,功率自然就降低了,所以工程師也壓根不需要操心什么芯片架構(architecture)。而現在,如果工程師想要優化功耗,首先就要優化架構。他得考慮我怎么著才能更有效地完成這個計算?譬如用更少的晶體管門或者運算周期,甚至在這個任務不運行的時候關閉掉相應子系統。總之,這活兒變智能(intelligent)了。
所以舉個例子啊,比如你想做個手機,就必須要注意區分不同的使用場景,譬如聽音樂、看youtube視頻、發短信、上網,或者煲電話,這些都是完全不同的情景。你得關掉所有沒用的子系統。更細心,更積極。因此對于芯片設計師(chip architect)或者系統設計師來說,這是最好的時代。因為有這么多的事兒可做。但對于一個晶體管工人(transistor guy)而言,這可真是最壞的時代啊!一切都已經上升,已經上升到系統或者應用的級別。這就是技術領域正在發生的大事件。
2、未來幾年市場方面的變化呢?
chris rowen :說到市場。我認為最大的趨勢是一切都已經移動起來,因為人們的生活方式已經徹底改變了。當你可以隨身攜帶那么多的設備,就會希望能夠持續地連接到互聯網 上。這種影響不僅表現在設備上,還表現在無線基礎設施,以及云計算上。而且經濟層面的機會,將會隨之變得非常,非常深遠。因為你會看到,譬如在這種設備 (chris拿起手里的iphone開始演示)的層面,無線連接的帶寬起碼還要提高30倍。為了獲得足夠豐富的娛樂體驗,我們或許需要幾十甚至幾百兆比特 的帶寬。在世界每一個地區,高端用戶越來越多。中國就是一個鮮活的例子。不光如此。在印度、南美、非洲、加勒比海地區,人人都希望持續不斷地連接到互聯網。
所以,你必須很好地設定人們日益增長的期望值。現在有10倍的寬帶人口增長每個人都有30倍的寬帶需求,因此就有了300倍的寬帶要求。而系統的每個層面都需要滿足這種需求。對于無線基礎設施制造商來說,他們的機會是巨大的。譬如華為。但是制造商是沒可能贏得300倍收入的。有可能獲得更多的收入, 但不是三百倍以上。因此,他們必須在得到大幅增加帶寬的同時,大幅降低資金成本(capital cost)和經營成本(operate cost)。
3、那么接下來在soc設計上會有什么事情發生?
chris rowen :你可以看下無線基站作為例子。傳統意義而言,它們是昂貴的。你可以找些通用芯片、通用dsp、通用fpga。可是今天,為了滿足對帶寬的要求,您需要更 多的高度定制的soc,芯片平臺和軟件的需求也上升很快。所以這將使集成度更高,每塊芯片上集成更多的dsp,而每塊dsp上嵌入更多的軟件程序,甚至是 軟件內容的爆炸性發展。
有趣的是,每部分網絡基礎設施(network infrastructure)的功耗都是巨大的。那么即便為綠色節能考慮,減少為更加緊密集成的系統都是異常重要的。基站將明顯變小,這意味著整個基站 都可變成塔頂的一個小盒子,而不是……裝在塔頂可是簡單很多。
當然在系統層面,你一旦降低成本以后降低功耗也就水到渠成。所以這兩者之間是一個非常良性的關系。關鍵是硅晶圓的集成。這也是tensilica會 如此迅速成長成為世界領先的dsp內核供應商之一的原因。
甚至可以看到這種變化體現到了云計算上。因為現在你需要300倍的帶寬,也就相應地對視頻服務、視頻壓縮、互聯網數據庫搜索、社會網絡,如此等等, 都提出了更高的需求。而所有這些事情,真的都是很復雜的應用程序呢。
不過有趣的是,他們都是些并行的應用程序。這是個好消息。因為在計算機業已經發生的一件事情便是,單個微處理器的速度已經很難再提高了。intel 在1990年,戲劇性地發現了單處理器性能呈指數增長的改善。但是他們也旋即發現當處理器頻率達到約3.5到4ghz的時候,功率密度(power density)遇到了瓶頸。于是,他們開始嘗試多核技術。
還好人民群眾想做的事,基本都是天然就可以并行處理的。所以,你在做互聯網數據庫檢索(internet database search)的時候,確實可以設置多內核、多芯片,甚至多系統。因為你的查詢請求通常將被發往多個地點。所以在互聯網云計算的領域,運用多核的機會無比 廣闊。
而且確實存在是一個問題,就是你如何在有效的mips指令內獲得足夠低的功耗。或者說,如何在設計電池壽命最長的移動設備,和最可擴展的服務器之間 取得關聯?因為所有都和功耗有關,而非峰值的性能。
4、那么tensilica是如何來克服在功耗上的挑戰的?和競爭對手比起來又有何區別?
chris rowen :舉個例子。tensilica贊同為特定的任務去優化處理器。優化流水線(pipeline),優化接口,優化設計層面,然后把多個內核放在一起,以建 立一個多核系統。這種優化的能力將產生巨大的影響。我會在今天下午的會上談到這個稱作turbo解碼器的專用(specialized)處理器。 turbo是一種特殊的算法,可以從嘈雜的噪聲中提取有用信息,在一個工作循環(cycle)內,這個解碼器可以執行大約3萬次,哦對的沒錯3萬次 risk指令。是的,通用的壓縮(compression)處理器只能執行一次指令,而這個專用處理器可以執行3萬次。當然這是一個極端的例子,只是想表明當你知道你的問題在哪里,你就可以做出很多令人難以置信的事情。并行,并因此難以置信的高效率。
同樣的原則可以適用于各個層面,適用于各種其他門類的專用dsp、無線接收器,適用于基帶和音頻的通用dsp,也適用于客戶意欲進行視頻處理或其他 圖形壓縮、安全操作、網絡協議處理,以及廣泛應用于射頻的深嵌入式控制(deeply embedded control)。
tensilica特別集中精力于那些能夠專門優化的能力,以及真正方便使用多核的能力。而因此,我們從那些傳統的cpu老家伙們中區別了出來。譬如intel、arm、mips,或者其他什么人。他們都面臨一個相同的物理問題,摩爾定律在給了他們更多的晶體管之后,卻沒有給他們更好的功率控制,對 不對?
他們很少去考慮并行的問題。而與之相反,我們在應用層面非常努力地工作,以期尋找到解決方案。在云計算那段,我們確實可以將任務分割成很多子任務,但是當我在這里玩游戲(chris又一次拿起手里iphone開始演示),我真的被限制了。你看,一個手指只能玩一樣東西哈。因此在應用處理器的層面,你 真的無法得到啥好處。mips、arm,甚至還有intel,都面對著這樣一個無法在當前硅科技下有效完成多任務的問題。而那是我們擅長的。
我們看到這個市場在迅速增長,去年的出貨量增長了大約70%。然后我們會試圖進入所有的dpp(data-plane processor)領域,包括dsp、音頻視頻、安全,以及深嵌入式控制,這其實和應用處理器的范疇離得很遠。所以啊,我們常常會發現自己和mips、 arm或intel出現在同一塊芯片上。你知道吧,其實我們就是工廠的工人啊(chris突然哈哈大笑)!因為有這么多不同的處理器,在date- plane里又有這么多不同的任務,那些小而高效的處理器會有很多機會,很多接口(socket)。
這種對于應用處理器或者接口的互補性,甚至于可以讓應用處理器在執行類似于信號處理這種實時任務的時候,也完全關閉。或者比如多媒體應用,應用處理器當然可以去做,但是如果我們優化專用音頻dsp的話,將獲得4到5倍的效率。尺寸更小,單位時間內的吞吐量卻更大。而且可以用如此多的音視頻處理器夠你 選擇。所以幾乎任何時刻,系統設計師或者soc設計師都可以通過區別應用場景的方式,來決定卸載(off load)哪個處理器。
這也是為什么我認為我們可以在音頻方面取得這么大的成功。當你正在設計一個手機,或者閱讀顯示器,或者機頂盒,或者數字電視,或者數碼相機,你會 說,啊,這里有一種場景需要我做大量音頻的工作。于是,把那種卸載很自然地就被設計到基本構架里去了。
而且,我們可以為應用層面的處理器自動生成軟硬件,尤其是基于音頻和基帶的非常全面的軟件庫(software libraries)。因此,不管是老手還是菜鳥,在我們的店鋪里都能找到他們所有需要的軟硬件解決方案,以幫助他們最快地進入市場。集成音頻、集成基 帶,或者其他各種功能。
5、那么tensilica有什么具體的應用嗎?
chris rowen :今天下午,我將討論一下移動電話。這是一個巨大的市場,一個可以滿足之前所說帶寬需求的市場。特別是從當前正從3g向4g升級,大家都聚焦在lte身 上。不僅因為lte看上去很像是最后標準的勝者,也因為它非常像wimax。我們已經能夠提供參考設計,幫助客戶建立他們自己定義的多核lte手機,在市 場中搶得先機。這只是一個我們進入領域的實例。
我們也在做一個很類似的數字電視解調器。因為有人希望既為移動應用又為起居室設計一種通用的數字電視接收器。這里有個很大的問題,就是全世界在視頻 領域有好多不同的標準和概念,而每個人都真心希望擁有一塊可以解決一切的視頻芯片。我們準備來設計一塊。其實應用一樣的原理,就是找些dsp和專用核,優 化最密集的任務,并充分利用我們最重要的能力——生成處理器的功率效率非常小,以及和世上最穩定的通用dsp一樣易于編程的軟件工具。昨天晚上客戶還和我 們說,dsp如此招人待見的最主要原因就是可編程。譬如ti的那些dsp。我們同樣在努力使編譯器更強大,使程序模型簡單,使程序員更不操心。我們還微處理器的流水線設計上增強了視覺效果。這種架構下要還能生成不正確的代碼,也怪難的。
因此,我們擁有一個非常高效的處理器。但是效率(efficiency)這個詞值得商榷。傳統意義上而言,效率就是指最少的門數、最小的功耗,巴拉 巴拉。但效率也是將產品推向市場的時間。需要多少工程師才能部署好這個系統?每行代碼的成本是多少?每個工程師小時(engineer hour)所能帶來的收入?除了硅片層面的效率以外,這些同樣是測量效率的重要參數。我認為我們在這兩面都推動得很好。剛才討論的那種架構,也特別適合在大量出貨的領域。移動設備、客廳設備、數碼相機,這些都是我們做得非常好的地方。這幾個領域四大廠商中的三位,十大廠商中的六個都是我們的客戶。
我們主要是在dpp方面擁有很強的知識積累,但同樣的影響也已經開始在云計算上面出現。當然,現在云計算的變化還比較慢,部分原因是它并非對功耗如 此敏感,但我認為整體上還是會有影響的。
6、您會在很多其他領域譬如數字電視和有線通信,使用這種結構?
chris rowen :當然。那些可以為不同應用優化處理器的架構是很重要的。而且我們也發現,即使在一個新的水平,很多需求也是 相似的。因此同樣的hi-fi工具,同樣的音頻dsp,即可部署在世界最好的智能手機上,也同樣可以部署在最好的數字電視、藍光(blue ray)影碟機上。因為它是非常小而快的。這方面的要求是相同的。
同樣,如果你看下altas lte的內部架構,其主要構造模塊bbe16或許是世界上最快的dsp核。而它同樣也在數字電視解調子系統中使用。同樣再一次因為它的快速、易編程,以及 節約功耗。所以,我們可以看到在手機和客廳之間,在這兩個媒體處理器和基帶處理器之間,都有著共同的需求。
7、我看到您說,芯片的整合將集中在射頻、存儲和數字電路。那么您覺得它們三者還有可能合并成一個嗎?
chris rowen :嗯。如果你從半導體工藝(semiconductor process)技術的角度來看,我認為在晶體管和器件優化的層面將會有些事情發生。因此在某些情況下,你可以作出權衡。特別是,我們正與很多客戶一起工 作,以簡化射頻電路。通過盡量多的數字處理器,你可以部分程度地脫離射頻和數字間的邊界。由于相比射頻而言,數字會有更加陡峭的生產成本曲線(cost production curve),我們也就有更大的動力去做。因此,我們會越來越依賴于數字方面的有效解決方案。
同樣的事情發生在存儲器。人們偶爾也會使它們結合在一起,但不是一個簡單的組合,內存的加工設備(fabrication facility)與一般的優化有所不同。所以我相信,多芯片封裝(multi-chip packaging)將越來越重要。尤其當你將芯片組(die)一塊又一塊摞起來的時候。所以,你可以在數字芯片組上面摞存儲芯片組,然后上面再摞射頻芯 片組。這有可能在成本上是最劃算的。然后也可能有一種折衷的工藝技術,把它們所有三個都放在一塊硅片上。這取決于你的應用程序,比如需要一些存儲單元,又 或者需要一些射頻的單元。
但最終,我想我們還會堅持三套不同的加工工藝,然后依靠封裝技術來整合在一起。不過這并不意味著,只要你能想辦法把它們三個捏一塊兒,你就得到一個 系統(system)了。因為還有物理屬性的要求,比如要多加塊電池什么的。但總的來說你要知道,物理尺寸是會越來越小了。
但你要知道還有個巨大的挑戰,就是人們的手指不能變小,眼睛也不能變小。 (eetrend:尤其是男生,哈哈!)對,所以所謂得到“小尺寸”的設備,我們還是有實際限制的。我們在元器件層面的小,其實是對應于我們自己可以接受 多小的屏幕和按鈕。所以說到最后,這事兒還是更和成本相關。
8、在書里您還預測了fpga的未來。而幾天之前,xilinx宣布嵌入arm 的cortex a9核。您覺得這是否是一種新趨勢?是否與tensilica的 dpu形成競爭呢?
chris rowen :其實……并沒啥。我的意思是這種往處理器里一股腦嵌入fpga的活兒,大概已經折騰了快10年了。 altera宣布他們與arm互相嵌的時候,讓我想想啊,也是8年前了吧? (larry:沒錯!)
所以,這就跟任何一個系統想要找塊芯片,或者三塊芯片一塊兒呆著,沒啥區別。當然,偶爾你也會碰巧搞出一塊啥都囊括了的數字芯片。話說回來,fpga兄弟們有一個根本性的挑戰,那就是fpga的通用性非常高,可以做的事兒也賊多。但禍福相倚,要是讓它專注做一件事的話,也就不是那么有效率 了。所以,如果你想真正有效地利用處理器,我估計你情愿在處理器里隨便嵌一個稍微穩定點的東西,而不是fpga。
我認為這是非常自然的一步。xlinx以前也搭過power pc,對吧?這其實是一碼事。它壓根沒有改變任何原有的架構,也沒有在cpu和fpga的功能之間取得任何邏輯上的合并(merge)。部分是因為他們沒 有任何合并的工具軟件模式。
當然,fpga是很容易配置的,而且價格也便宜。因此,他們占據了一部分的市場,尤其是那些量低而開發成本又低的。因此,我們在市面上看到大量的 fpga設計。但是基于fpga的設計總量是很小的。它其實是一個利基(niche)市場。極端地說,即便有很多工程師在使用它,但幾乎所有都是低產量 的。
所以我的意思是,fpga很重要,但不是tensilica公司關注的。我們專注于高產量,并且幫助那些試圖在設計上節約幾納米硅片的兄弟 們。(eetrend:完全兩個不同的群體咯?)是啊,他們離得是遠了點兒。當然他們偶爾也會重疊。譬如基站。以前有很多基站是采用altera的儲存方 案的。挺重的。慢慢地我們看到越來越多因為容量、成本和功耗的要求,從fpga轉向了更加高集成度的芯片解決方案。
9、我在ieee的設計與測試(design & test)上看到一篇您的談話。您說,如果我們想要進入嵌入式系統設計的大規模并行領域,可配置的多核處理器soc就有一些問題必須得到解決。幾年前,您 還提到過,intel最大的問題是怎樣為通用計算應用配置多核處理器。您現在還覺得多核處理器遭遇困境嗎?
chris rowen :這個……其實是分開的兩碼事。對于多核應用層面而言,確實存在著重大考驗。就是如何找到足夠多的線程 (thread)來運行。但它不是intel單獨遇到的問題。這是一個涉及到應用程序是如何被調用,以及在當下如此小型的設備上如何架構的問題。即便打開 我自己的筆記本電腦,當我想看看到底有多少個線程準備在跑,它基本上都是很少的。通常情況下,操作系統、用戶界面和應用程序開發等等所調用的方式,都完全 沒有最大化利用線程的數量。
所以,我認為你在基本的架構層面可以做的,就是提供更多的線程運行,并且充分地利用到并行。當然在應用層面也會有很多層級限制。你知道現在很方便就 去搞個四核八核十六核的,但是在pc這一端,相對于服務器,只有相對較少的條件可以讓我們找到這些線程。于是一大現象便是操作系統和應用程序的逐步重組 (restructuring)。
另一個同樣重要的現象是,確定哪些任務可以被放進數據層(data plane)。讓我們來想想哪些東西通常是可以被放進數據處理器的,譬如在無線信道這類的通訊子系統,譬如存儲系統,比如你怎么分發數據,或者你知道的, 安全冗余,也可能是針對壓縮流(packing stream)的特殊網絡處理器,它可以是視頻也可以是音頻。這些東西其實是更本質(inherently)的并行處理。
所以吧,我覺得這里有兩種并行重組。其一是所謂的,去各地兒找更多的線程應用。另一種是為了維持整體系統中卸載(off loading)并行部分的最大值,并讓之進入數據層。實際上我認為,在數據層提取并行是更容易操作的。因此,在數據層有效使用多核的數量,遠大于單單在 應用層面使用的多核。這也就是為啥我們認為自己正走在康莊大道上。關注于數據層,可以使我們在多核方面的成長速度大大超過那些只盯著應用層面的兄弟。
10、時間不早了,最后一個問題吧。您當年在斯坦福參與奠基了risc 架構,后來也曾是mips的共同創始人。那么,請問您如何看待risc架構的未來?依舊是arm和mips之間的戰爭,抑或會發生一些新的大事件?
chris rowen :這個……在科學上,理想架構已經完全改變了。這場關于cisc和risc架構的爭論,其實就是通用 (general purpose)架構甲跟通用架構乙之間的競爭罷了。risc贏得了一職半銜,是因為在某個特定時期內它手下有好幾十項半導體技術。但在這場戰爭中,摩爾 定律一下給出了這么多的晶體管,以至于你隨便搞個簡單的解碼或者流水線,都能奢侈地愛用多少就用多少。沒人管。所以一個risc解碼器可能要一萬門,而 cisc解碼器需要五萬門。其實也差不多了多少。
11、所以在手機上就不是個問題咯?
chris rowen :恩可以這么說。這變得相當容易,讓我們舉一個lte基帶(baseband)的例子吧。我們的atlas平 臺可以弄出七或八核,取決于你想怎么用。docomo和他的合作伙伴,nec、富士通以及松下,已經宣布并且詳細描述了他們lte基帶架構。第一代是8到 10核。另一個叫做blue wonder communication的合作伙伴也推出了他們的8至10核的lte基帶。因此,現在就有三種不同的lte基帶,而這三種都使用了約8個核。在這個層 面上是可以有大量的并行解決方案的。
再看看下一代的lte,大概有六點性能方面的因素需要考慮。其中一些是單核怎樣可以更快,但更大部分和多核有關。所以我們很容易找到那些有效應用而 20核甚至更多核于單一功能譬如基帶的案例。和那些圍觀應用處理器的哥們比起來,他們如果感覺好,就整兩個核玩玩;如果還很爽,那就再整四個。我覺得在數據層和應用層上,多核是有完全不同的機會的。(e:太清楚了!)
因此對于我來說,計算的未來不是產生新的通用架構,而是特殊用途架構的集合。譬如一個音頻子系統、視頻子系統,一個基帶子系統、存儲子系統,哦對, 還有應用處理器子系統。其中只有一個需要通用的結構(construction),其他里面都將是特殊的架構。在科學上,摩爾定律帶來多核,多核又將帶來 特殊架構的解決方案。異型多核(heterogenic multi-core)就是一種新架構。而且我覺得會成為主流。intel、arm、mips這些公司當然還會有很大的市場,但只限于應用處理器領域。其 實在科學上,通用目的(general purpose)最終就會變成某一個特殊目的(specific purpose)。
不過我覺得除了通用架構之間互掐以外,還有一場更加深遠的革命。我們現在來比較通用架構和一大家子的特殊用途(special purpose)架構,怎么樣?幾乎任何時候你都可以說,如果一個產品是圍繞某種特定的需求來設計,那么特殊用途架構鐵定勝出。 risc扁了cisc一段時間,因為它的效率高出2倍以上。那么為具體應用特殊定制的架構,就比所有通用架構都高效5至10倍以上了。
因此,這個世界不能再簡單分成我的通用架構,和你的通用架構。當然對于那些非常分散(defused)并且普適(generic)的應用程序,就好 比在筆記本上用的那些,我們還是需要通用架構的。因為一會兒你要看視頻,一會兒又要運行word或(e:打游戲),對,或者excel工作表。這是非常多 樣的。所以你需要一個德智體全面發展的處理器。不能太特別。
但總之,你不得不面對一個世界,那里有各種各樣不同的任務,而每樣任務都是獨特的。而且更為重要的是,當你因為摩爾定律而在芯片上集成的片上系統越多,你越會發覺有足夠多的處理器適用于各種特定的應用子系統。
在整個ic行業,像chris rowen博士這般愛談技術,同時又可以講得如此深入淺出的,著實罕見。他可以一邊舉起手中的iphone做各種演示,也可以拿起隨手拾見的小紙條寫寫畫畫來加強語氣。他咬字無比清晰準確(尤其在諸如interestingly或者particularly這類副詞的時候會讀得緩慢甚而產生了某種韻律感),似乎是在運用一種類似于詩人誦詩,抑或冒險家在眾人面前娓娓道來諸多奇跡的情緒和語氣,來描述那些soc設計的理念。很神奇。
- 51電子網公益庫存:
- AIC1084-1.8
- AMS1505CMA
- AP01N60H
- AP9575J
- AP98T06GP
- BDT64C
- BDT65F
- BDT93
- BT151-500R
- BT152-650R
- BTA06-200A
- BTA06-200GP
- BTA06-600C
而更加奇妙的是,他幾乎經歷過微處理器的所有起起伏,前世今生。他是risc架構的奠基人之一,分別參與了intel和mips公司的大躍進時代,如今,又帶著一種全新soc架構的理念,在或多或少地改變著我們的數字時代。所以,與其說是采訪,還不如說是在聽一個傳奇(而且這個傳奇也不過是翩翩中年哦!)講故事。
power density、parallel、multi-core、fpga、risc、soc,這些詞于談笑間輾轉騰挪,有一瞬間,我差點覺得對面坐著的是 wes anderson,那個拍出過《了不起的狐貍爸爸》(fantastic mr. fox)的我最中意的好萊塢導演。不避世也不趨世。獨辟蹊徑,信手拈來。關鍵都還挺帥的。
1、我看過您2004年寫的“復雜soc設計”,非常喜歡的第8章(chris rowen :“soc設計的未來”哈哈)。恩您還記得。因為你的所有預言都應驗了,這非常有趣。所以我的問題是,您如何看待再6年之后的soc設計,或者說和soc 設計有關的那些技術趨勢? (chris rowen :哇,這個問題還不賴!)
chris rowen :我認為這個市場的大方向還是相當清楚的。看看市場層面的基本趨勢,再看看技術層面的基本趨勢,你就可以看到他們在哪里重合。就技術而言,你會發現摩爾定律(moore’s law)作為經濟驅動力的事實。但是摩爾定律真正有趣的部分在于,第一,是“集成度(density)持續提高”。每隔2年半或者3年,硅密度就要提高一倍,這意味著近一倍成本的降低,讓射頻產品中的數字模塊集成度越來越高。這也意味著,各種系統都在規模(scale)上變得越來越小。所以無論是電腦亦或消費電子設備,每一個系統的目的都是集成于同一塊芯片。這就變得有趣起來。因為在過去,你可以生產通用(generic)存儲器,通用處理器,通用射頻,諸如此類,然后一股腦兒放在一塊兒,建一個非常牛逼的專用(specific)系統。但是在今天,事情都顛過來了。你更希望把一坨不同的功能集合到一塊芯片上。當然在這個意義上,你還是得搞出一塊專用芯片。但是挑戰變大了,因為芯片本身需要更加專注于某一個特殊應用,而應用處理器、內部總線等等其他玩意兒,也要變得更小更強更快!
另一件吊詭的事就是,摩爾定律并沒有在晶體管層面帶來太多的功率改進。在過去,當東西變小了,功率自然就降低了,所以工程師也壓根不需要操心什么芯片架構(architecture)。而現在,如果工程師想要優化功耗,首先就要優化架構。他得考慮我怎么著才能更有效地完成這個計算?譬如用更少的晶體管門或者運算周期,甚至在這個任務不運行的時候關閉掉相應子系統。總之,這活兒變智能(intelligent)了。
所以舉個例子啊,比如你想做個手機,就必須要注意區分不同的使用場景,譬如聽音樂、看youtube視頻、發短信、上網,或者煲電話,這些都是完全不同的情景。你得關掉所有沒用的子系統。更細心,更積極。因此對于芯片設計師(chip architect)或者系統設計師來說,這是最好的時代。因為有這么多的事兒可做。但對于一個晶體管工人(transistor guy)而言,這可真是最壞的時代啊!一切都已經上升,已經上升到系統或者應用的級別。這就是技術領域正在發生的大事件。
2、未來幾年市場方面的變化呢?
chris rowen :說到市場。我認為最大的趨勢是一切都已經移動起來,因為人們的生活方式已經徹底改變了。當你可以隨身攜帶那么多的設備,就會希望能夠持續地連接到互聯網 上。這種影響不僅表現在設備上,還表現在無線基礎設施,以及云計算上。而且經濟層面的機會,將會隨之變得非常,非常深遠。因為你會看到,譬如在這種設備 (chris拿起手里的iphone開始演示)的層面,無線連接的帶寬起碼還要提高30倍。為了獲得足夠豐富的娛樂體驗,我們或許需要幾十甚至幾百兆比特 的帶寬。在世界每一個地區,高端用戶越來越多。中國就是一個鮮活的例子。不光如此。在印度、南美、非洲、加勒比海地區,人人都希望持續不斷地連接到互聯網。
所以,你必須很好地設定人們日益增長的期望值。現在有10倍的寬帶人口增長每個人都有30倍的寬帶需求,因此就有了300倍的寬帶要求。而系統的每個層面都需要滿足這種需求。對于無線基礎設施制造商來說,他們的機會是巨大的。譬如華為。但是制造商是沒可能贏得300倍收入的。有可能獲得更多的收入, 但不是三百倍以上。因此,他們必須在得到大幅增加帶寬的同時,大幅降低資金成本(capital cost)和經營成本(operate cost)。
3、那么接下來在soc設計上會有什么事情發生?
chris rowen :你可以看下無線基站作為例子。傳統意義而言,它們是昂貴的。你可以找些通用芯片、通用dsp、通用fpga。可是今天,為了滿足對帶寬的要求,您需要更 多的高度定制的soc,芯片平臺和軟件的需求也上升很快。所以這將使集成度更高,每塊芯片上集成更多的dsp,而每塊dsp上嵌入更多的軟件程序,甚至是 軟件內容的爆炸性發展。
有趣的是,每部分網絡基礎設施(network infrastructure)的功耗都是巨大的。那么即便為綠色節能考慮,減少為更加緊密集成的系統都是異常重要的。基站將明顯變小,這意味著整個基站 都可變成塔頂的一個小盒子,而不是……裝在塔頂可是簡單很多。
當然在系統層面,你一旦降低成本以后降低功耗也就水到渠成。所以這兩者之間是一個非常良性的關系。關鍵是硅晶圓的集成。這也是tensilica會 如此迅速成長成為世界領先的dsp內核供應商之一的原因。
甚至可以看到這種變化體現到了云計算上。因為現在你需要300倍的帶寬,也就相應地對視頻服務、視頻壓縮、互聯網數據庫搜索、社會網絡,如此等等, 都提出了更高的需求。而所有這些事情,真的都是很復雜的應用程序呢。
不過有趣的是,他們都是些并行的應用程序。這是個好消息。因為在計算機業已經發生的一件事情便是,單個微處理器的速度已經很難再提高了。intel 在1990年,戲劇性地發現了單處理器性能呈指數增長的改善。但是他們也旋即發現當處理器頻率達到約3.5到4ghz的時候,功率密度(power density)遇到了瓶頸。于是,他們開始嘗試多核技術。
還好人民群眾想做的事,基本都是天然就可以并行處理的。所以,你在做互聯網數據庫檢索(internet database search)的時候,確實可以設置多內核、多芯片,甚至多系統。因為你的查詢請求通常將被發往多個地點。所以在互聯網云計算的領域,運用多核的機會無比 廣闊。
而且確實存在是一個問題,就是你如何在有效的mips指令內獲得足夠低的功耗。或者說,如何在設計電池壽命最長的移動設備,和最可擴展的服務器之間 取得關聯?因為所有都和功耗有關,而非峰值的性能。
4、那么tensilica是如何來克服在功耗上的挑戰的?和競爭對手比起來又有何區別?
chris rowen :舉個例子。tensilica贊同為特定的任務去優化處理器。優化流水線(pipeline),優化接口,優化設計層面,然后把多個內核放在一起,以建 立一個多核系統。這種優化的能力將產生巨大的影響。我會在今天下午的會上談到這個稱作turbo解碼器的專用(specialized)處理器。 turbo是一種特殊的算法,可以從嘈雜的噪聲中提取有用信息,在一個工作循環(cycle)內,這個解碼器可以執行大約3萬次,哦對的沒錯3萬次 risk指令。是的,通用的壓縮(compression)處理器只能執行一次指令,而這個專用處理器可以執行3萬次。當然這是一個極端的例子,只是想表明當你知道你的問題在哪里,你就可以做出很多令人難以置信的事情。并行,并因此難以置信的高效率。
同樣的原則可以適用于各個層面,適用于各種其他門類的專用dsp、無線接收器,適用于基帶和音頻的通用dsp,也適用于客戶意欲進行視頻處理或其他 圖形壓縮、安全操作、網絡協議處理,以及廣泛應用于射頻的深嵌入式控制(deeply embedded control)。
tensilica特別集中精力于那些能夠專門優化的能力,以及真正方便使用多核的能力。而因此,我們從那些傳統的cpu老家伙們中區別了出來。譬如intel、arm、mips,或者其他什么人。他們都面臨一個相同的物理問題,摩爾定律在給了他們更多的晶體管之后,卻沒有給他們更好的功率控制,對 不對?
他們很少去考慮并行的問題。而與之相反,我們在應用層面非常努力地工作,以期尋找到解決方案。在云計算那段,我們確實可以將任務分割成很多子任務,但是當我在這里玩游戲(chris又一次拿起手里iphone開始演示),我真的被限制了。你看,一個手指只能玩一樣東西哈。因此在應用處理器的層面,你 真的無法得到啥好處。mips、arm,甚至還有intel,都面對著這樣一個無法在當前硅科技下有效完成多任務的問題。而那是我們擅長的。
我們看到這個市場在迅速增長,去年的出貨量增長了大約70%。然后我們會試圖進入所有的dpp(data-plane processor)領域,包括dsp、音頻視頻、安全,以及深嵌入式控制,這其實和應用處理器的范疇離得很遠。所以啊,我們常常會發現自己和mips、 arm或intel出現在同一塊芯片上。你知道吧,其實我們就是工廠的工人啊(chris突然哈哈大笑)!因為有這么多不同的處理器,在date- plane里又有這么多不同的任務,那些小而高效的處理器會有很多機會,很多接口(socket)。
這種對于應用處理器或者接口的互補性,甚至于可以讓應用處理器在執行類似于信號處理這種實時任務的時候,也完全關閉。或者比如多媒體應用,應用處理器當然可以去做,但是如果我們優化專用音頻dsp的話,將獲得4到5倍的效率。尺寸更小,單位時間內的吞吐量卻更大。而且可以用如此多的音視頻處理器夠你 選擇。所以幾乎任何時刻,系統設計師或者soc設計師都可以通過區別應用場景的方式,來決定卸載(off load)哪個處理器。
這也是為什么我認為我們可以在音頻方面取得這么大的成功。當你正在設計一個手機,或者閱讀顯示器,或者機頂盒,或者數字電視,或者數碼相機,你會 說,啊,這里有一種場景需要我做大量音頻的工作。于是,把那種卸載很自然地就被設計到基本構架里去了。
而且,我們可以為應用層面的處理器自動生成軟硬件,尤其是基于音頻和基帶的非常全面的軟件庫(software libraries)。因此,不管是老手還是菜鳥,在我們的店鋪里都能找到他們所有需要的軟硬件解決方案,以幫助他們最快地進入市場。集成音頻、集成基 帶,或者其他各種功能。
5、那么tensilica有什么具體的應用嗎?
chris rowen :今天下午,我將討論一下移動電話。這是一個巨大的市場,一個可以滿足之前所說帶寬需求的市場。特別是從當前正從3g向4g升級,大家都聚焦在lte身 上。不僅因為lte看上去很像是最后標準的勝者,也因為它非常像wimax。我們已經能夠提供參考設計,幫助客戶建立他們自己定義的多核lte手機,在市 場中搶得先機。這只是一個我們進入領域的實例。
我們也在做一個很類似的數字電視解調器。因為有人希望既為移動應用又為起居室設計一種通用的數字電視接收器。這里有個很大的問題,就是全世界在視頻 領域有好多不同的標準和概念,而每個人都真心希望擁有一塊可以解決一切的視頻芯片。我們準備來設計一塊。其實應用一樣的原理,就是找些dsp和專用核,優 化最密集的任務,并充分利用我們最重要的能力——生成處理器的功率效率非常小,以及和世上最穩定的通用dsp一樣易于編程的軟件工具。昨天晚上客戶還和我 們說,dsp如此招人待見的最主要原因就是可編程。譬如ti的那些dsp。我們同樣在努力使編譯器更強大,使程序模型簡單,使程序員更不操心。我們還微處理器的流水線設計上增強了視覺效果。這種架構下要還能生成不正確的代碼,也怪難的。
因此,我們擁有一個非常高效的處理器。但是效率(efficiency)這個詞值得商榷。傳統意義上而言,效率就是指最少的門數、最小的功耗,巴拉 巴拉。但效率也是將產品推向市場的時間。需要多少工程師才能部署好這個系統?每行代碼的成本是多少?每個工程師小時(engineer hour)所能帶來的收入?除了硅片層面的效率以外,這些同樣是測量效率的重要參數。我認為我們在這兩面都推動得很好。剛才討論的那種架構,也特別適合在大量出貨的領域。移動設備、客廳設備、數碼相機,這些都是我們做得非常好的地方。這幾個領域四大廠商中的三位,十大廠商中的六個都是我們的客戶。
我們主要是在dpp方面擁有很強的知識積累,但同樣的影響也已經開始在云計算上面出現。當然,現在云計算的變化還比較慢,部分原因是它并非對功耗如 此敏感,但我認為整體上還是會有影響的。
6、您會在很多其他領域譬如數字電視和有線通信,使用這種結構?
chris rowen :當然。那些可以為不同應用優化處理器的架構是很重要的。而且我們也發現,即使在一個新的水平,很多需求也是 相似的。因此同樣的hi-fi工具,同樣的音頻dsp,即可部署在世界最好的智能手機上,也同樣可以部署在最好的數字電視、藍光(blue ray)影碟機上。因為它是非常小而快的。這方面的要求是相同的。
同樣,如果你看下altas lte的內部架構,其主要構造模塊bbe16或許是世界上最快的dsp核。而它同樣也在數字電視解調子系統中使用。同樣再一次因為它的快速、易編程,以及 節約功耗。所以,我們可以看到在手機和客廳之間,在這兩個媒體處理器和基帶處理器之間,都有著共同的需求。
7、我看到您說,芯片的整合將集中在射頻、存儲和數字電路。那么您覺得它們三者還有可能合并成一個嗎?
chris rowen :嗯。如果你從半導體工藝(semiconductor process)技術的角度來看,我認為在晶體管和器件優化的層面將會有些事情發生。因此在某些情況下,你可以作出權衡。特別是,我們正與很多客戶一起工 作,以簡化射頻電路。通過盡量多的數字處理器,你可以部分程度地脫離射頻和數字間的邊界。由于相比射頻而言,數字會有更加陡峭的生產成本曲線(cost production curve),我們也就有更大的動力去做。因此,我們會越來越依賴于數字方面的有效解決方案。
同樣的事情發生在存儲器。人們偶爾也會使它們結合在一起,但不是一個簡單的組合,內存的加工設備(fabrication facility)與一般的優化有所不同。所以我相信,多芯片封裝(multi-chip packaging)將越來越重要。尤其當你將芯片組(die)一塊又一塊摞起來的時候。所以,你可以在數字芯片組上面摞存儲芯片組,然后上面再摞射頻芯 片組。這有可能在成本上是最劃算的。然后也可能有一種折衷的工藝技術,把它們所有三個都放在一塊硅片上。這取決于你的應用程序,比如需要一些存儲單元,又 或者需要一些射頻的單元。
但最終,我想我們還會堅持三套不同的加工工藝,然后依靠封裝技術來整合在一起。不過這并不意味著,只要你能想辦法把它們三個捏一塊兒,你就得到一個 系統(system)了。因為還有物理屬性的要求,比如要多加塊電池什么的。但總的來說你要知道,物理尺寸是會越來越小了。
但你要知道還有個巨大的挑戰,就是人們的手指不能變小,眼睛也不能變小。 (eetrend:尤其是男生,哈哈!)對,所以所謂得到“小尺寸”的設備,我們還是有實際限制的。我們在元器件層面的小,其實是對應于我們自己可以接受 多小的屏幕和按鈕。所以說到最后,這事兒還是更和成本相關。
8、在書里您還預測了fpga的未來。而幾天之前,xilinx宣布嵌入arm 的cortex a9核。您覺得這是否是一種新趨勢?是否與tensilica的 dpu形成競爭呢?
chris rowen :其實……并沒啥。我的意思是這種往處理器里一股腦嵌入fpga的活兒,大概已經折騰了快10年了。 altera宣布他們與arm互相嵌的時候,讓我想想啊,也是8年前了吧? (larry:沒錯!)
所以,這就跟任何一個系統想要找塊芯片,或者三塊芯片一塊兒呆著,沒啥區別。當然,偶爾你也會碰巧搞出一塊啥都囊括了的數字芯片。話說回來,fpga兄弟們有一個根本性的挑戰,那就是fpga的通用性非常高,可以做的事兒也賊多。但禍福相倚,要是讓它專注做一件事的話,也就不是那么有效率 了。所以,如果你想真正有效地利用處理器,我估計你情愿在處理器里隨便嵌一個稍微穩定點的東西,而不是fpga。
我認為這是非常自然的一步。xlinx以前也搭過power pc,對吧?這其實是一碼事。它壓根沒有改變任何原有的架構,也沒有在cpu和fpga的功能之間取得任何邏輯上的合并(merge)。部分是因為他們沒 有任何合并的工具軟件模式。
當然,fpga是很容易配置的,而且價格也便宜。因此,他們占據了一部分的市場,尤其是那些量低而開發成本又低的。因此,我們在市面上看到大量的 fpga設計。但是基于fpga的設計總量是很小的。它其實是一個利基(niche)市場。極端地說,即便有很多工程師在使用它,但幾乎所有都是低產量 的。
所以我的意思是,fpga很重要,但不是tensilica公司關注的。我們專注于高產量,并且幫助那些試圖在設計上節約幾納米硅片的兄弟 們。(eetrend:完全兩個不同的群體咯?)是啊,他們離得是遠了點兒。當然他們偶爾也會重疊。譬如基站。以前有很多基站是采用altera的儲存方 案的。挺重的。慢慢地我們看到越來越多因為容量、成本和功耗的要求,從fpga轉向了更加高集成度的芯片解決方案。
9、我在ieee的設計與測試(design & test)上看到一篇您的談話。您說,如果我們想要進入嵌入式系統設計的大規模并行領域,可配置的多核處理器soc就有一些問題必須得到解決。幾年前,您 還提到過,intel最大的問題是怎樣為通用計算應用配置多核處理器。您現在還覺得多核處理器遭遇困境嗎?
chris rowen :這個……其實是分開的兩碼事。對于多核應用層面而言,確實存在著重大考驗。就是如何找到足夠多的線程 (thread)來運行。但它不是intel單獨遇到的問題。這是一個涉及到應用程序是如何被調用,以及在當下如此小型的設備上如何架構的問題。即便打開 我自己的筆記本電腦,當我想看看到底有多少個線程準備在跑,它基本上都是很少的。通常情況下,操作系統、用戶界面和應用程序開發等等所調用的方式,都完全 沒有最大化利用線程的數量。
所以,我認為你在基本的架構層面可以做的,就是提供更多的線程運行,并且充分地利用到并行。當然在應用層面也會有很多層級限制。你知道現在很方便就 去搞個四核八核十六核的,但是在pc這一端,相對于服務器,只有相對較少的條件可以讓我們找到這些線程。于是一大現象便是操作系統和應用程序的逐步重組 (restructuring)。
另一個同樣重要的現象是,確定哪些任務可以被放進數據層(data plane)。讓我們來想想哪些東西通常是可以被放進數據處理器的,譬如在無線信道這類的通訊子系統,譬如存儲系統,比如你怎么分發數據,或者你知道的, 安全冗余,也可能是針對壓縮流(packing stream)的特殊網絡處理器,它可以是視頻也可以是音頻。這些東西其實是更本質(inherently)的并行處理。
所以吧,我覺得這里有兩種并行重組。其一是所謂的,去各地兒找更多的線程應用。另一種是為了維持整體系統中卸載(off loading)并行部分的最大值,并讓之進入數據層。實際上我認為,在數據層提取并行是更容易操作的。因此,在數據層有效使用多核的數量,遠大于單單在 應用層面使用的多核。這也就是為啥我們認為自己正走在康莊大道上。關注于數據層,可以使我們在多核方面的成長速度大大超過那些只盯著應用層面的兄弟。
10、時間不早了,最后一個問題吧。您當年在斯坦福參與奠基了risc 架構,后來也曾是mips的共同創始人。那么,請問您如何看待risc架構的未來?依舊是arm和mips之間的戰爭,抑或會發生一些新的大事件?
chris rowen :這個……在科學上,理想架構已經完全改變了。這場關于cisc和risc架構的爭論,其實就是通用 (general purpose)架構甲跟通用架構乙之間的競爭罷了。risc贏得了一職半銜,是因為在某個特定時期內它手下有好幾十項半導體技術。但在這場戰爭中,摩爾 定律一下給出了這么多的晶體管,以至于你隨便搞個簡單的解碼或者流水線,都能奢侈地愛用多少就用多少。沒人管。所以一個risc解碼器可能要一萬門,而 cisc解碼器需要五萬門。其實也差不多了多少。
11、所以在手機上就不是個問題咯?
chris rowen :恩可以這么說。這變得相當容易,讓我們舉一個lte基帶(baseband)的例子吧。我們的atlas平 臺可以弄出七或八核,取決于你想怎么用。docomo和他的合作伙伴,nec、富士通以及松下,已經宣布并且詳細描述了他們lte基帶架構。第一代是8到 10核。另一個叫做blue wonder communication的合作伙伴也推出了他們的8至10核的lte基帶。因此,現在就有三種不同的lte基帶,而這三種都使用了約8個核。在這個層 面上是可以有大量的并行解決方案的。
再看看下一代的lte,大概有六點性能方面的因素需要考慮。其中一些是單核怎樣可以更快,但更大部分和多核有關。所以我們很容易找到那些有效應用而 20核甚至更多核于單一功能譬如基帶的案例。和那些圍觀應用處理器的哥們比起來,他們如果感覺好,就整兩個核玩玩;如果還很爽,那就再整四個。我覺得在數據層和應用層上,多核是有完全不同的機會的。(e:太清楚了!)
因此對于我來說,計算的未來不是產生新的通用架構,而是特殊用途架構的集合。譬如一個音頻子系統、視頻子系統,一個基帶子系統、存儲子系統,哦對, 還有應用處理器子系統。其中只有一個需要通用的結構(construction),其他里面都將是特殊的架構。在科學上,摩爾定律帶來多核,多核又將帶來 特殊架構的解決方案。異型多核(heterogenic multi-core)就是一種新架構。而且我覺得會成為主流。intel、arm、mips這些公司當然還會有很大的市場,但只限于應用處理器領域。其 實在科學上,通用目的(general purpose)最終就會變成某一個特殊目的(specific purpose)。
不過我覺得除了通用架構之間互掐以外,還有一場更加深遠的革命。我們現在來比較通用架構和一大家子的特殊用途(special purpose)架構,怎么樣?幾乎任何時候你都可以說,如果一個產品是圍繞某種特定的需求來設計,那么特殊用途架構鐵定勝出。 risc扁了cisc一段時間,因為它的效率高出2倍以上。那么為具體應用特殊定制的架構,就比所有通用架構都高效5至10倍以上了。
因此,這個世界不能再簡單分成我的通用架構,和你的通用架構。當然對于那些非常分散(defused)并且普適(generic)的應用程序,就好 比在筆記本上用的那些,我們還是需要通用架構的。因為一會兒你要看視頻,一會兒又要運行word或(e:打游戲),對,或者excel工作表。這是非常多 樣的。所以你需要一個德智體全面發展的處理器。不能太特別。
但總之,你不得不面對一個世界,那里有各種各樣不同的任務,而每樣任務都是獨特的。而且更為重要的是,當你因為摩爾定律而在芯片上集成的片上系統越多,你越會發覺有足夠多的處理器適用于各種特定的應用子系統。