當1982年影響深遠的RISC架構開始浮出水面時,研究人員分析了UNIX,以找出多用戶指令代碼實際上採用了哪些技術,然後設計了一種新的指令集和執行流水線以實現更好的性能。更少的指令意味著更少的晶體管,從而功率消耗更少-儘管伯克利大學公佈其首款RISC時,當時還沒有“watts”這個詞兒。甚至在ARM的早期開發階段,更低的功耗完全也不在考慮之列。
隨著移動SoC從1992年起開始逐漸興起,更少的晶體管、更小的矽片面積以及更低的功耗的優勢日益凸顯起來。業界呼喚新技術的開發,當時,無論是通過硬件乘法器、SIMD指令增強技術還是高效的DSP核,都必須實現GSM信號處理所需的低功耗數字信號處理能力。代碼密度的擴張帶來了BOM成本的壓力,從而引發了ARM Thumb指令集的問世。而高效的Java執行則促進了ARM的Jazelle的誕生。
到了2002年,業界開始在智能手機上發力。從而湧現瞭如ARM11等更快的處理器。同時需要改善的還有圖形處理能力,導致瞭如Imagination PowerVR MBX Lite等移動GPU核的出現,和後來OpenGL ES的不斷發展。操作系統也開始發生變化,Symbian、Palm和Microsoft開始走入歷史的墳墓。當時,安迪?魯賓剛開始鼓搗Android,而蘋果實施了嚴格保密的Purple項目,開始試驗多點觸控。
這些歷史階段都見證了我們認為關於芯片製造所知的一切。並行處理能力始終推動著性能更強、尺寸更小的晶體管的發展,而這些都來自於個人電腦以及後來的消費電子設備對成本的要求。這促進了更大的晶圓、更精細的製程、FinFET、FD-SOI、大容量FPGA和多核處理器的產生。
現在是2015年,已經到了互聯網時代。我們應該討論芯片設計和製造方式怎麼針對物聯網進行根本性的改變。但是,我們並沒有真的進行這種探討,因為物聯網目前仍沒有得到大規模的應用。
誠然,我們有數十種微控制器架構,並且有幾十億顆芯片運行在各個角落。但是,我們設計的這些僅僅是讓終端節點變得智能化而已-控制一些按鍵、點亮一些LED、讓電機旋轉、讀取傳感器數據。一些汽車和工業應用將一些簡單的總線比如CAN放進系統中。先行者們也開始在芯片上嵌入如802.15.4或ISM頻段等射頻單元,集成如zigbee、藍牙和Thread等協議棧。像愛特梅爾、Microchip、恩智浦(飛思卡爾的新東家)、Silicon Labs、TI和其它公司都在物聯網應用上取得了實質性的進展。但是,至少從目前來看,這些都算不上我們在上面回顧的歷史中提到的那些里程碑那樣革命性的突破。
近期一次高管峰會上安排了討論“大數據”的兩個會議,一個是從EDA產業行為分析和設計收斂的角度,一個是從連通性權衡的角度。我們都知道,連接性標準雖然太多了,但涉及到物聯網時,在數據層面的互操作性上卻一直是個軟肋。
儘管如此,我們談論的話題對物聯網仍有些跑題。我認為我們所討論的只是“物聯網的粉飾工作”,所有人都在他們的網站和展位上掛上物聯網以吸引流量。當然,我也無意貶低任何人,這個行業裡有實打實的好東西,也有華而不實的噱頭。ARM集中於物聯網上,正在取得很大的進展,Mentor在SoC和嵌入式軟件設計上都非常專業,Synopsys則擁有自家架構的ARC核和虛擬原型。
我們需要在物聯網上取得更多實際進展,當今的芯片製造商至少忽略了五樣東西:
1 工藝。在14nm FinFET和130nm BCD工藝之間,有一代工藝特別適合物聯網。我們知道,到了28nm以下時生產混合信號芯片和嵌入式Flash變得相當困難。而MEMS也面臨著成本的一些挑戰。大談萬億級別體量的芯片和虛而不實的論斷會讓大多數芯片廠商瞌睡連天的-這些畢竟還遠未發生,坦白來講,這也根本不是適用於大多數企業的可持續發展模式,特別是那些在14nm先期投入了數十億美金的公司需要更高的平均價格才能回收成本。哪個節點才是專用於物聯網、可同時兼顧工藝和商業模式的黃金工藝?(提示,ARM宣布和聯電、台積電推行55納米ULP解決方案);
2 亞閾值。MCU廠商們都深諳超低功耗技術,對uA/MHz等度量值和從catnapping到comatose等各種模式如數家珍。自上世紀80年代以來,除了功耗指標變得更低了以外,這個行業的大局基本沒有太大的變化。將要發生的根本性的變化是亞閾值邏輯或者類似的技術,Ambiq和PsiKick 都是這個領域的公司。還有ARM孵化並於近期購回的Sunrise Micro Devices,也是從事亞閾值技術的新秀,該技術被用於ARM Cordio產品線中;
3 混合信號。當我試著製作無人機時(那時我們的叫法是遙控飛行器),當時用了很多LM148和Siliconix的模擬開關器件。混合信號是我的心頭之好。
業界已經將混合信號集成在各種MCU上。我需要使用參數搜索,以期望能在上千種型號中找到分辨率、通道數、管腳數都能精確地滿足我的要求的器件。這裡有Cypress的PSoC、Triad的VCA和美信的MAX11300,他們的可配置性都不是很好。另一種相反的思路是,在一個專用的SoC設計中放一個集成的IP模塊,如果你資金充足,這個方法也能奏效。當能夠很容易地用CPLD創建混合信號器件時,那時就方便多了;
4 優化。在服務器設計中,針對工作負載優化的處理器獨領風騷,非常流行,對物聯網也可能如此。現在,人們對物聯網的關注都在終端節點上,但是在網關和基礎設施層面上的優化也同樣存在著大量的機會。網絡芯片讓MCU架構更像SoC。
我們需要調整思路,不再將物聯網上的通信視為一堆數據包的簡單堆積,而要以線程的形式看待它,並找出能讓通信變得更快的方法。“物聯網帶寬很低。”我總能聽到這個調調,對終端設備上的某個特殊的傳感器而言可能確實如此-但是將1萬個傳感器混合在一起,進行實時預測分析,想想吧,需要多大的帶寬呢?工作負載優化對RISC是一種行之有效的方式,物聯網器件同樣也需要這種技術;
5 編程。ARM正在構建自己的生態,包括mBed OS、優化的Cortex-M IP。還有,Google的物聯網操作系統Brillo怎麼優化,是不是有的應用能更好地實施MQTT或DDS協議?在這裡,真正地理解物聯網軟件,可能蘊藏著最大的機會。
芯片製造商需要注意的另外一個變化是,並不是所有的軟件都是用C語言或者Java開發的,它們是當今世界上最流行的兩種語言。當在Unix環境下工作,並且能到位一級編程硬件時,C語言表現特別優秀。現在,在物聯網領域,很多其他語言正在出現(有些是基於C的)。今天的程序員正在學習使用Python-嵌入式正統主義者需要停止對這個語言只是個解釋器的吐槽。分佈式數據分析用Lua語言,安全並發線程,使用Rust,它剛剛推出了首個穩定版本。這是一個全新的世界,C編譯器和調試器不再是唯一的選擇了,甚至不是最正確的那個。
面對物聯網時,我們依然在舊的芯片技術基礎上盲目用功。正如史蒂夫•喬布斯在2007年推出iPhone時引用艾凱倫的話說:“真正關心軟件的人必須製造自己的硬件。”我們看到蘋果接下來的一系列動作,它製造了自己的芯片,可以更好地運行自己的軟件。
物聯網實際上就是軟件,現在是時候只針對它開發專有的芯片了。
Source:OFweek
留言列表