近日,開源指令集RISC-V得到了越來越多的重視。RISC-V是加州大學伯克利分校的開源指令集,由計算機體系架構的宗師級人物David Patterson領銜打造,通過將核心指令集以及其他關鍵IP開源,意圖大大改變半導體的設計生態。隨著西部數據、Nvidia等業界巨頭以及大量初創公司宣布開始使用RISC-V,ARM想必也感到了壓力。
ARM上線了質疑risc-v的網站riscv-basics.com – 24小時后又下線了
北京時間7月10日,細心的網友在發現在Google搜索RISC-V時,得到的第一個結果是一個購買了Google AdWord(即競價排名)的搜索結果,即riscv-basics.com。
點進該網站后,可以看到該網站列舉了對RISC-V的幾大質疑,包括:
-成本:雖然RISC-V是開源ISA,但是ISA僅僅是處理器芯片的一小部分,因此RISC-V的免費ISA對于整體處理器的成本影響并不大。
-生態系統:RISC-V生態系統不夠完整,無法提供完整的(包括硬件到軟件)設計支持。
-碎片化風險:RISC-V生態中每個項目都可能會做自己的私有指令集擴展,導致軟件兼容性不好,即碎片化問題。
-安全性問題:之前由大廠出品的x86和ARM許多處理器都遇到了安全性問題(Spectre漏洞),而由一個尚處于起步階段組織或初創公司發布的RISC-V處理器遇到安全性問題的可能性更大。
-設計驗證:RISC-V雖然是開源指令集可以自行改動指令集,但是改動指令集會需要大量設計驗證,所以如果設計驗證完整度不夠的情況下自行修改指令集反而容易出錯。
riscv-basics.com的網站截圖
ARM網站上質疑RISC-V架構的圖片
五點質疑是否有效
雖然網站已經下線,但是圍繞該網站的討論并沒有結束。我們不禁要問,該網站上列舉的五大質疑是否有道理呢?
首先, 生態確實是目前RISC-V的短板。目前RISC-V社區還處于起步階段,在這一階段不太可能擁有完整的生態,因為生態建設需要時間。目前RISC-V由RISC-V基金會牽頭的生態建設勢頭還不錯,如果這樣的勢頭保持下去未來我們可望看到非常完整的生態,甚至因為RISC-V的開源特性,每個感興趣的個人或者團隊都可以做出自己的貢獻并且其靈活的特性和授權,我們可能會看到RISC-V在未來會擁有比起ARM來說更活躍的生態。
對于成本的質疑則顯得缺乏根據,RISC-V的開源模式其實是其最大的優勢,類似“指令集僅僅是處理器的一小部分因此指令集成本并沒有太大意義”這樣的說法并不合適。指令集確實只是處理器的一小部分,但是卻是最核心的部分,ARM對其定價也非常高。這也是為什么ARM的授權中,如果客戶需要修改指令集,在ARM的基礎上加以定制優化以形成自己獨特的設計,則需要花大價錢去獲取“架構授權”(目前全球花大代價獲得ARM架構授權的公司并不多,都是例如蘋果、高通等巨頭),而相反如果只是從ARM授權一個IP硬核,其授權費用就要低得多。
換句話說,如果你真的從ARM處想要獲得指令集授權,那么指令集授權費很可能會構成你SoC芯片設計成本的大頭!這樣看來,RISC-V將指令集完全開源,任何公司和個人都可以自由使用、修改與定制的模式將會帶來很大的成本優勢,另外這樣的開源舉措會大大降低指令集修改和定制的進入門檻,使更多人有機會探索并定制個性化指令集,從而使RISC-V生態更加生機勃勃,而不只是有錢人才能玩的游戲。
對于指令集碎片化的質疑,則確實是不少設計者所關心的。為了引入更多設計靈活性,碎片化似乎是不得不面對的問題。事實上,RISC-V基金會主席(同時也是RISC-V在加州大學伯克利分校的主要開發者)Krste Asanovic曾經在專訪中回答過關于碎片化的問題。Asanovic指出,RISC-V基金會制定了一系列規范來保證兼容性,RISC-V分為基礎指令集和拓展集兩部分,所有的RISC-V處理器都會支持40條基礎指令集,這是兼容性的首要保證。
此外,每個擴展指令集處理器往往只是面對一個細分市場場景,而不會想做成通用場景處理器,因此碎片化并不是問題;最后,如果某一細分場景逐漸變得流行,則RISC-V基金會會推動針對該場景的拓展指令集進行標準化。應該說碎片化問題有可能是RISC-V未來面臨的一個挑戰,這個問題和前面的生態建設息息相關,如果生態建設地好則指令集分散化反而會成為RISC-V的優勢。
最后,對于安全和設計驗證方面的指責則顯得有點牽強。就安全方面來說,之前的Spectre和Meltdown漏洞中,Intel、AMD和ARM的大多數處理器都出現了問題,這是由于計算機架構(如亂序執行、TLB等)沿用已久的經典設計在出現的時候壓根就沒有考慮到會有這類問題,相反使用較新架構的RISC-V處理器(例如Rocket系列)卻在這次漏洞事件中表現出了更好的安全性,因此網站責難說RISC-V處理器安全性存在問題反倒顯得有一些諷刺意味。
對于設計驗證,“改動指令集會需要大量設計驗證,所以如果設計驗證完整度不夠的情況下自行修改指令集反而容易出錯”這樣的觀點幾乎就等同于是因噎廢食,首先RISC-V基礎和主流擴展指令集目前已經有大量的芯片以及FPGA原型在跑,驗證度已經很高,其次每一家負責任的公司都會仔細掂量修改指令集的難度,如果超過自己的能力范圍自然會轉而選擇成熟的經大量驗證的指令集版本,但是以“指令集修改需要大量驗證,我不讓你改還主要是為了你好”為理由剝奪大部分公司修改指令集的自由則無疑是荒唐的。
未來ARM和RISC-V的競爭將會何去何從?
目前ARM占據了以移動設備為代表的處理器IP的絕大部分市場,而RISC-V則是后起之秀。那么,未來會何去何從呢?
目前的ARM和RISC-V讓我想起了上世紀末的Windows和Linux之爭。當時的計算機主流設備是PC,而Windows則當仁不讓是PC端的絕對主流操作系統,Linux則主要是小眾極客的選擇。隨著時代的推移,計算設備的潮流逐漸轉向了移動設備,到了今天又轉到了云端數據中心高性能計算。
我們看到之前的操作系統霸主Windows在移動設備和高性能計算領域都沒有獲得很多份額,這一方面是因為Windows本來就是為了PC設計,其核心代碼比較復雜,不便于移植;另一方面其商業軟件非開源的特性也讓Windows的開發限定在了微軟公司內部。
Linux則完全不同,其核心代碼很輕,而且沒有兼容性等歷史包袱,因此移植起來比較容易,此外其開源的特性讓社區中的愛好者程序員可以參與Linux開發,他們針對Linux本身的移植、改良和開發以及各種Linux平臺上的程序形成了Linux生態中的重要部分。對于愛好者來說,Linux開源項目的開發雖然沒有金錢回報,但是這些開發經歷被業界認可,可以成為簡歷上的重要一部分。這樣,Linux開源社區和愛好者互惠互利,形成了良性互動。到了今天,Linux已經成為了云端數據中心高性能計算的主流操作系統之一,在移動端的主流操作系統Android也是基于Linux的內核開發。
ARM和RISC-V的未來競爭格局也可能類似。首先幾乎可以肯定的是,在ARM的傳統優勢領域,即手機領域,RISC-V基本沒有機會,因為手機經過十年迭代后不太會徹底改變處理器內核了,這也和目前Windows經過二十多年風雨仍然是PC市場操作系統龍頭老大一樣。
但是,在新興的領域,RISC-V和ARM都處于同一起跑線上,而RISC-V憑著指令集開源等特性很有可能可以擊敗ARM,或者至少能夠占據可觀的市場份額。目前這樣的新興市場主要是物聯網市場。物聯網市場有長尾化的特性,擁有眾多細分市場,同時對于功耗有很高的要求,因此對于可以針對不同應用靈活修改指令集和芯片架構設計的RISC-V有優勢,相比之下使用ARM往往只能做一個標準化設計,很難實現差異化。
此外,物聯網市場對于成本較敏感,RISC-V免費授權的特點對于芯片廠商也很重要。在RISC-V基金會名單中,我們可以看到高通、聯發科這樣重點布局物聯網的企業。而在目前很火的AI芯片市場,ARM和RISC-V則尚看不出明顯的優劣。這是因為高性能AI芯片中無論是使用ARM還是RISC-V的核,主要都是作為控制器來使用,最主要的也是最核心的計算單元往往是電路設計師自行設計而不會使用IP;另一方面AI芯片的利潤空間往往較大,因此RISC-V的免費的特點并沒有帶來特別大的優勢。
-
處理器
+關注
關注
68文章
19399瀏覽量
230725 -
電路設計
+關注
關注
6678文章
2462瀏覽量
205073 -
物聯網
+關注
關注
2912文章
44889瀏覽量
375756
發布評論請先 登錄
相關推薦
評論