“MIPS 豈是無情物,化為 RISC-V 更護芯”。
曾經(jīng)在 PC 時代與 X86、ARM 三分天下的 MIPS,幾經(jīng)輾轉(zhuǎn)之后,于近日迎來了命運的終章,正式加入同屬精簡指令集 RISC-V 的陣營。
在這個萬物互聯(lián)的 IoT 時代,基于精簡指令集的芯片在能耗、效率等方面擁有明顯的優(yōu)勢, 尤其在開源光環(huán)的加持下,RISC-V 近期的發(fā)展風聲水起,無往不利。相對比下,MIPS 作為入門 CPU 工作原理時必學的經(jīng)典架構(gòu),在這一片大好的形勢下黯然退場,著實令我們廣大程序員群體無限唏噓。
MIPS——曾經(jīng)獨自扛起 RISC 大旗的指令集
MIPS (Microprocessor without interlocked pipelined stages),即“無內(nèi)部互鎖流水級的微處理器”,其關(guān)鍵思想是盡量利用軟件辦法避免流水線中的問題,而不使用硬件鎖。
1981 年,斯坦福大學的第十任校長、馮諾依曼獎與圖靈獎的雙料得主約翰·軒尼詩教授做出了世界第一款 MIPS 架構(gòu)的處理器。這幾乎也是世界上第一款真正實踐了精簡指令思想的處理器。
而如今將 MIPS 收入麾下的 RISC-V,直到 30 年后的 2010 年才誕生,除此之外,與 MIPS 同場競技三十年的 ARM 系列,也是彼時的 4 年后才由 ARM 公司的前身 Acorn 設(shè)計出第一代原型產(chǎn)品。
不過在當時的那個年代 ARM 還沒有什么上臺面的機會,剛出生不久 ARM 就面對著各種動蕩與波折。在一手創(chuàng)辦出前兩代 ARM 芯片之后,有著“英國蘋果公司”之稱的 Acorn 后來轟然倒在了個人電腦時代到來之前,可以說在當時的很長一段時間內(nèi),MIPS 幾乎是以一己之力獨自扛起了 RISC 陣營的大旗。
精簡時代的天之驕子 MIPS
可謂 30 年河東,30 年河西。如今回看 MIPS,也曾一度輝煌。
眾所周知,在計算機中,讓 CPU 執(zhí)行某種運算、處理功能的命令稱為指令,是計算機運行的最小的功能單位。指令集是指芯片全部指令的集合,是計算機系統(tǒng)能提供的全部功能體現(xiàn),最關(guān)鍵的是指令集決定了指令的格式和機器的結(jié)構(gòu),因此指令集也常被稱作芯片架構(gòu),如果說芯片是計算機的核心,那么指令集就是芯片的核心。
在復雜指令集大行其道的上世紀 60 到 70 年代,計算機系統(tǒng)的內(nèi)存、存儲、 CPU 等等資源都非常匱乏,用戶對于性能的要求往往是第一位的,而且當時大型的軟件項目還不多,高級語言便于組織協(xié)同、提升工程效率的特點還無法顯現(xiàn),匯編語言做為性能保證在當時是擁有絕對的統(tǒng)治地位的,從某種意義上講匯編語言就是指令集的 API,因此當時的指令集往往傾向于提供更多的 API 指令,使程序員以更少的代碼,完成更多的工作。
但隨著時間的推移,指令的增加似乎沒有盡頭,據(jù)說當時一臺摩托羅拉大型機的匯編語言參考手冊相當于 5 本新華字典,一般資質(zhì)的程序員不折騰一年半載可能連個 HELLO WORLD 都寫不出來,甚至很多指令連芯片廠商的設(shè)計人員都只能機械式的從上個版本中繼承,卻不知道實際有何作用,天下苦復雜指令集久矣。
MIPS 是一出生就顯示出天選之子的氣象,正如上文所述,在當時那個年代精簡指令集對于復雜指令集有著碾壓式的優(yōu)勢,在這樣的大背景下,1984 年,約翰·軒尼詩教授離開斯坦福大學,正式創(chuàng)立 MIPS 科技公司。
1985 年,MIPS 科技設(shè)計出 R2000 芯片;
1988年,MIPS 將 R2000 升級為 R3000,不負眾望,R3000 一經(jīng)推出便風靡全球,即使現(xiàn)在年輕的讀者已經(jīng)完全沒聽過什么 R3000 芯片了,但相信你也一定知道索尼的游戲平臺 Play Station,這款首發(fā)于 1994 年的創(chuàng)世神機,搭載的就是 MIPS R3000A CPU。
Play Station 在 30 年前那個時代就帶來了令個 IT 界為之震撼的 3D 圖像效果,很快占據(jù)了家庭娛樂市場的 C 位,Play Station 的橫空出世也為 MIPS 做了一波最好的代言,R3000 這款芯片強到?jīng)]朋友。
?
MIPS VS Itanium 服務(wù)器雙雄,卻接連落幕
借 Play Station 成功上位之后,MIPS 又成功進軍服務(wù)器市場,先是在 1991 年登陸 SGI 的 Indigo 工作站。
隨后又在 1997 年,隨 NEC Cenju-4 超級計算機共同亮相,這臺超算極具劃時代意義,它最多可集成 1024 個 MIPS R10000 CPU,具有很多類似于同步廣播、多級網(wǎng)絡(luò)連接等超前的設(shè)計。
?
這兩款服務(wù)器產(chǎn)品,不但為 MIPS 帶來良好的業(yè)績,更在業(yè)界為 MIPS 贏得了極佳的口碑。
如果說 MIPS 僅僅用在游戲機上的話,那我想英特爾大概率會選擇忍耐,不過當戰(zhàn)火燒到了企業(yè)級的服務(wù)器市場,這塊兵家必爭之地時,英特爾這位芯片界的霸主就只能親身下場與 MIPS 展開決戰(zhàn)了。
為應(yīng)對 MIPS 系列芯片帶來的沖擊,20 年前的英特爾上來就甩了王炸,直接拋棄了 X86 架構(gòu),推出 Intel Architecture 64 架構(gòu)的安騰(Itanium)系列服務(wù)器級 CPU,我們知道由于歷史原因 X86 系列的 CPU 始終都要保持向后兼容,也就是為 286 編寫的程序,也要能完美運行在 486 上,不過 286 是 16 位而 486 卻是 32 位,讓兩個位長都不一樣的 CPU 運行同樣的程序,還不出問題,這可真是難為英特爾的程序員了,X86 系列 CPU 經(jīng)常要在各種保護模式、實模式之間來回橫跳,沒有過硬的技術(shù)功底,想弄明白 X86 的系統(tǒng)是如何加載引導的都十分困難。
Intel Architecture 64 架構(gòu)號稱真 64 位芯片,也就是說基于這種架構(gòu)的安騰 CPU 不需要在各種兼容模式下切換,不過這樣做的代價卻是要與 x86 決裂。
按理來說,同一廠商的 CPU 往往都要考慮相互兼容的問題,沒有哪個客戶能接受把 CPU 從 I3 升級成 I7 后,Word 都無法運行的后果,因此推出與 X86 說再見的安騰系列肯定是最后的無奈之舉了,但這也從側(cè)面讓我們能感受到當年 MIPS 正面硬剛英特爾這個芯片業(yè)老大時的不凡風范。
記得在多年前剛剛到金融行業(yè)工作時,第一次接觸小型機就是基于安騰系列芯片的,其性能、穩(wěn)定性等等方面表現(xiàn)都是很不錯的,當然彼時的小型機在去 IOE 風潮之下,現(xiàn)在已經(jīng)很難再見到了,安騰系列自從 2017 年 9700 系列也就停止了更新, 并在 2019 年被正式砍掉,歷史總是擁有對稱之美,2001 年時任英特爾 CTO 的帕特·基辛格親自發(fā)布了安騰 2,見證了安騰的從無到有。
而在現(xiàn)在帕特·基辛格回歸英特爾出任 CEO 時,又正值 MIPS 轟然倒下,這真可謂是世事難料,諸行無常。
MIPS 落幕!
十年前還經(jīng)?;燠E于 CSDN 論壇,擔任嵌入式大版的版主,當時 MIPS 架構(gòu)的應(yīng)用開發(fā)與移植,包括 WINCE、ucLinux 等各類式操作系統(tǒng)區(qū)的熱門話題,在當時的勢頭還很好。
不過與諾基亞一樣,MIPS 由于始終沒有搞定能耗的問題,而痛失移動時代的機遇,最終慢慢淡出大眾的視線,開始了漫長的告別。
2013-2014 年,擁有 PowerVR GP 的圖片處理芯片公司 Imagination,在一系列的復雜操作下收購了 MIPS 及 MIPS 所有的知識產(chǎn)權(quán),但是并入 Imagination 后 MIPS 繼續(xù)萎縮,后來又被 AI 數(shù)據(jù)流處理器的初創(chuàng)公司 Wave Computing 所收購,巧合的是 Wave Computing 與 RISC-V 一樣都是成立于 2010 年。
對于 Wave Computing 收購 MIPS 不知是否是出于情懷,畢竟彼時的 MIPS 一直耕耘的 CPU 領(lǐng)域其實與 AI 數(shù)據(jù)流處理器完全不同,CPU 本身是中央控制單元,所謂控制就是跳轉(zhuǎn),而且 CPU 進行的計算主要是將任務(wù)轉(zhuǎn)換成加法來進行的,比如減法是加一個有符合的負數(shù),乘法是多個數(shù)相加。
但是在 AI 的神經(jīng)網(wǎng)絡(luò)世界中,神經(jīng)元的工作可以抽象為對于輸入數(shù)據(jù)乘以權(quán)重以表示信號強度乘積加總,再由 ReLU、Sigmoid 等應(yīng)用激活函數(shù)調(diào)節(jié),本質(zhì)是將輸入數(shù)據(jù)與權(quán)重矩陣相乘,并輸入激活函數(shù),對于有三個輸入數(shù)據(jù)和兩個全連接神經(jīng)元的單層神經(jīng)網(wǎng)絡(luò)而言,需要把輸入和權(quán)重進行六次相乘,并得出兩組乘積之和。這實際上就是一個矩陣乘法運算。因此 AI 的運算中向量與矩陣的運算才是基礎(chǔ)。
在這其中,我們看到針對 AI 計算的特殊性,各大科技巨頭在勵精圖治后都給出了自己的獨門絕技。比如華為推出的“達芬奇架構(gòu)”,具體來說,達芬奇架構(gòu)采用 3D Cube 針對矩陣運算做加速,以 N*N 的矩陣乘法為例,3D Cube 技術(shù)通過優(yōu)化的運算單元,可以將運算復雜度直接降低冪級,這也造就了基于達芬奇架構(gòu)的昇騰 910 芯片成為地表算力最強的 AI 芯片。
另外谷歌 TPU 選擇了復雜指令集作為其架構(gòu)基礎(chǔ),谷歌創(chuàng)建了一個編譯器和軟件棧,將來自 TensorFlow 的 API 調(diào)用直接轉(zhuǎn)化成 TPU 指令,這也印證這樣一個邏輯,在 AI 的世界中幾乎所有的運算都需要對應(yīng)的指令與電路進行專門的優(yōu)化才能真正提升效率。
從這個角度上看從事 AI 處理器的 Wave Computing 還是選擇復雜指令集更為合理,收購 MIPS 似乎將注定是一次美麗的錯誤。
成也開源,敗也開源
MIPS 的回光返照發(fā)生于 2019 年,前 MIPS 授權(quán)許可業(yè)務(wù)總裁 Art Swift 正式接任 Wave Computing CEO 一職,并提出 MIPS OPEN 計劃,將 MIPS 架構(gòu)開源,以期通過像 RISC-V 那樣通過免費與開放戰(zhàn)略吸引到更多企業(yè)客戶與開發(fā)者。MIPS 開源的舉措,在當時被認為既向 ARM 示威,又向 RSIC-V 宣戰(zhàn),更為即將開始的 IoT 時代做好準備。
但選擇開源就要厚積薄發(fā)與時間為伴,我們看到像 Linux、RT-Thread、TiDB 等成功的開源項目,都有長時間的社區(qū)人氣積累與技術(shù)沉淀的加持,想要立竿見影的效果去急功近利的開源只能適得其反。
MIPS 開源后不久,Wave Computing 便陷入人事調(diào)整,剛剛指掌公司不到半年的 CEO Art Swift 宣布離任,這位 MIPS 鐵桿人物的出走也讓業(yè)界對 Wave Computing 及 MIPSOPEN 的發(fā)展打上了一個大大的問號,更使 MIPS 開源社區(qū)的士氣大受打擊。
今年 2 月 10 日,Wave Computing 正式宣告資產(chǎn)重組,在其最后的聲明中宣布 MIPS 正在開發(fā)基于 RISC-V 的“第八代標準體系結(jié)構(gòu)”。
3 月 8 日,MIPS 宣布將履行之前的 MIPS OPEN 計劃,并正式加入 RISC-V 陣營,至此 MIPS 與 RISC-V 正式官宣合體。
值得欣慰的是,MIPS 和 RISC-V 在中國發(fā)展得都還不錯,比如國內(nèi)的芯片廠商龍芯和芯聯(lián)芯都買斷了 MIPS 的知識產(chǎn)權(quán),尤其是龍芯在吸收 MIPS 精華之后,還推出了自主的 Loongarch 芯片指令集,并獨創(chuàng)了指令翻譯技術(shù),兼容其它平臺應(yīng)用。在去年的操作系統(tǒng)全國高校聯(lián)賽中,國產(chǎn)的開源操作系統(tǒng) RT-ThreadSmart 與國產(chǎn)全志 RISC-V 處理器的組合已經(jīng)成功登臺亮相,獲得組委會大獎,這一切似乎預示著開源與中國有源,最后祝愿 MIPS 能夠借助于 RISC-V 的開源理念再回巔峰,也愿 RISC-V 能夠助我國早日去除“芯”痛。
? ? ? ?責任編輯:tzh
評論