龍芯為什麼採用了mips指令集,而沒有使用arm指令集?
01-21
龍芯完全可以像高通那樣選擇兼容arm指令集,同時設計自己的微架構。是否當年立項時完全以高性能和桌面運算為主要目標?
不僅僅是MIPS的架構完整性 與授權較寬鬆問題 還有一個重要因素—程序鏈 雖然如今Arm吵得火,Arm V8(64bit)更火。但是ARM V8還是一個新生的指令集組合(2011年發布,數據來自維基百科)。相對應的系統內核,編譯器,支持庫方面還不太完整(當然,跟進速度很快)還需要一段時間才能完善。
而MIPS不同,正如@破布 所說 。MIPS來自上世紀90年代的微架構大混戰時期。 MIPS是世界上最早商業化的64位架構之一(雖然現在MIPS已經沒落,被收購)。但是作為歷史積累。MIPS64不僅僅有完善的微架構設計,而且還有較為完整的軟體鏈支持。
我記得沒錯的話,龍芯2B開始支持64位(2003年,數據來自維基百科)。而那時,ARM還僅有ARM 11架構,更不用說現在的ARM V8指令集組了。 我的看法:MIPS雖然已經衰弱,但,MIPS現在同樣還可以作為高通用性微架構使用。我感覺,龍芯選擇MIPS,依然是正確的。(以上僅代表我的個人意見)當年ARM性能完全是戰五渣吧?
龍芯是MIPS指令集兼容處理器,最早的版本開發時間如下:
- 龍芯1號於2002年開發完成。
- 龍芯2號版本B於2003開發完成。這是一款64bit,四發射,亂序執行的高性能處理器。
- ARM到2012年才發布了支持亂序執行的Context A15架構。
- ARM的64bit版本晶元到2013年才第一次由Apple應用在iPhone 5s上。
- MIPS是為高性能伺服器設計的處理器架構
- ARM是為嵌入式設備設計的處理器架構
別說2002年,即使是今天,ARM還不能成為合格的桌面處理器。
--------------------------------------------------------
但是,技術是一回事,市場是另外一回事。
授權的問題:
即使再2002年的時候ARM技術足夠好,龍芯也不會選擇ARM。因為「指令集授權」和「微架構授權」不是一回事。參見在CPU IP授權上,ARM 是怎樣戰勝MIPS的?龍芯3a2000和3b2000可以在硬體上運行arm和x86指令集了(通過loongBT translate),只是效果如何尚不清楚。貌似官方說這樣translate並不需要拿到指令集的license【?
說實話,就是擱當年,高性能mips也那麼回事吧
吹MIPS高性能伺服器的各位,好好查查alpha21064~21464好不?
還有sparc,各位總得知道SPEC CPU用來做參考的那幾台sparc吧?
另外power也不差呀
客觀點吧,那會兒百家爭鳴推薦閱讀:
※未來是屬於 Xcode 的還是 Visual Studio?屬於 Obj-C 還是屬於 C#、VC?
※造電腦需要什麼?
※為什麼大學要開設計算機專業?
※應該如何體驗商場里的蘋果電腦?
※設計師應該學編程嗎?設計師學編程的經歷和感受是怎樣的?