為什麼我國自主設計的CPU基本上都是精簡指令集,複雜指令集是要過時了嗎?

松鼠小問


精簡指令集(RISC)的代表ARM確實佔領了手機等移動市場,但沒必要把它捧上天,複雜指令集(CISC)的代表英特爾和AMD的CPU也並非一無是處,僅在性能和兼容性上的兩大優勢,就是ARM的處理器無法替代的。所以現在斷言複雜指令集(CISC)過時,有點言之過早。

打個比方,複雜指令集(CISC)的代表英特爾處理器相當於三國演義中的曹操,佔據最有利的地形,兵強馬壯(PC領域和服務器領域絕對的王者);

精簡指令集(RISC)的代表ARM處理器相當於東吳,實力也不弱,曾擊退曹操百萬大軍(在移動領域打敗英特爾);

而精簡指令集(RISC)陣營的另一代表是MIPS處理器,相當於蜀漢。三者關係詳見下圖:

“曹操”英特爾能混到今天的地位,靠的是什麼?靠的是強大的性能和良好的兼容性。

先說性能。

沒錯,複雜指令集(CISC)的缺點是指令集臃腫,但這個缺點也是它的優點,因為指令多意味著能完成的功能也多,性能也強大。英特爾處理器近幾年增加了幾百條MMX、SSE指令,提高了執行多媒體程序和其它特殊程序的性能,所以成為工作站、服務器、遊戲機等高性能CPU的絕對首選。

在這些對計算性能要求高的場所,打醬油都是同為複雜指令集(CISC)的AMD處理器(服務器市場份額為5%),ARM的份額基本等於零。

此外,英特爾處理器在1995年讓複雜指令集(CISC)這棵老樹發出了新芽,發佈的Pentium Pro處理器採用著名的P6微架構,成為教科書式的一代經典。其經典之處在於,X86指令集(屬於CISC)先解碼成類似精簡指令集(RISC)的微操作(microoperations),然後採用RISC內核執行。這句話讀起來太專業晦澀?不要緊,記住這句話就行:現在的英特爾處理器,相當於用複雜指令集(CISC)這張餃子皮,包著精簡指令集(RISC)的餡兒。

P6架構雖然複雜,但提升了性能,不僅讓複雜指令集(CISC)這顆老樹成功發芽,還開花結果,越來越繁盛,20多年來不僅統治PC市場,還在服務器領域將精簡指令集(RISC)CPU碾成渣渣,逼得其代表ARM只能向低功耗和嵌入式方向發展,最後遇上手機崛起,才由衰轉盛,和黴運說拜拜。

和英特爾硬抗到底、不願撤退的Power處理器,現在墳頭樹已經有合抱粗了。

精簡指令集(RISC)CPU敗給英特爾,主要就栽在了兼容這道坎上。

IBM最先提出RISC思想,開發的Power處理器性能強過CISC指令集的老大英特爾處理器,還拉來蘋果、摩托羅拉、SUN公司、微軟等成立軟硬件聯盟,但最終結果是,英特爾憑藉良好的兼容性,打敗了Power處理器,蘋果也轉投英特爾懷抱。這就是兼容的威力。


性能和兼容是兩大指令集交鋒的重點,其中兼容又是決定性因素,因為它牽涉到生態問題。現在CISC指令集CPU主要集中在PC和服務器領域,RISC指令集CPU主要佔據移動和嵌入式設備,井水不犯河水,就是因為兩大陣營都建立了各自強大的生態系統,想犯也沒有用。

至於以後,RISC指令集中的ARM處理器是否會一統天下,CISC指令集中的英特爾處理器是否會因此被淘汰,這個誰也不好說,但在可見的未來,兩大指令集系統還是會保持互不侵犯的狀態。

說過CISC指令集並不過時、生命力依然旺盛後,現在可以回答題主問題了。我國自主設計的CPU基本採用RISC指令集,主要因為它是一個開放的生態,花錢可以買指令集授權,買IP核搞集成設計,總之可以隨意買買買。而CISC指令集是一個封閉的生態,代表是英特爾處理器,目前僅授權AMD,給錢人家也不賣。


魔鐵的世界


從學術界的研究來說,複雜指令集確實過時了。Intel還有cisc的主要目的在於兼容之前的“遠古”代碼。(其實Intel巴不得複雜指令集當場暴斃,為了擺脫這個歷史包袱Intel已經掙扎了了好幾次了,可惜市場不允許Intel拋棄cisc)


魔音幻影


直接一句話道出根本原因:想用複雜指令集但得不到授權,沒辦法,只能使用精簡指令集。吹精簡指令集屬於自欺欺人。


銀河渡口一釣翁5ifeng


RISC才是王道




從量子到電子


這麼說吧精簡指令集是進化版本,是沒有歷史包袱的,英特爾AMDCPU是是在拋不開,沒辦法,可不要認為精簡就是複雜的閹割版哦,多的不說,就看遊戲的電腦版和手機版有區別嗎


青木信徒


說了都是科技起步慢,人家比我們領先一百多年。特別是高科技人才流失嚴重留不住人才。


cjfxgkchkc


隨著手機等移動設備功能越來越強大,傳統桌面電腦市場越來越萎縮,尤其精簡指令架構開始進入服務器市場。複雜指令架構應用會越來越少的。能耗和封閉性會慢慢侵蝕它的生命。


算了太懶了


我們面對的不僅僅是編一套指令集,我們還要與CPU屆的巨無霸爭客戶(主要體現在架構上),並且還得繞過別人的知識產權保護,相對於這三點來說,編一套指令集相對容易。


終結三炮


指令集對應的是累加器的控制邏輯,還有指令流水線結構邏輯。個人認為,主要是專利權問題。次要的是複雜指令集邏輯結構如果沒有範本,還是比較難以實現的。


在矛與盾之間徘徊


這……曾經有人說如果用精簡指令集,目前軟件效率起碼提升25%——這好像是智能手機剛流行時候說的。

我覺得吧,有可能……

但是反正陰特爾用商業手段擊敗了所有對手……


分享到:


相關文章: