近半年來不斷有基于ARM的MacBook Pro筆記本電腦的消息。傳言指出,蘋果將推出一系列升級(jí)的系統(tǒng),比如基于“M2”的CPU,即去年首次亮相的M1的放大版。據(jù)報(bào)道,M2可能有八個(gè)高性能內(nèi)核和兩個(gè)高效內(nèi)核,高于現(xiàn)有M1的4+4配置。
隨著基于ARM的M1的推出,出現(xiàn)了大量的x86與ARM的比較,以及對(duì)新架構(gòu)進(jìn)行比較和對(duì)比的討論。在這些討論中,你會(huì)經(jīng)??吹紺ISC和RISC。ARM與x86的比較和CISC與RISC的比較之間的聯(lián)系非常強(qiáng)烈。
這種聯(lián)系會(huì)導(dǎo)致錯(cuò)誤的聯(lián)想,認(rèn)為x86與ARM可以被整齊地對(duì)應(yīng)為CISC與RISC,x86是CISC,ARM是RISC。三十年前,確實(shí)是這樣的,今天的情況卻不是這樣了。關(guān)于如何將x86 CPU與其他公司制造的處理器進(jìn)行比較是個(gè)老生常談的話題,因?yàn)閤86在近20年里沒有一個(gè)有意義的對(duì)手。ARM可能會(huì)突出地將自己定位為一家RISC CPU公司,但今天這些術(shù)語對(duì)x86和ARM CPU狀態(tài)的掩蓋和澄清一樣多。
行業(yè)共識(shí)
RISC是David Patterson和David Ditzel在他們1981年的論文“The Case for a Reduced Instruction Set Computer”中創(chuàng)造的一個(gè)術(shù)語。二人根據(jù)1970年代末觀察到的趨勢和當(dāng)時(shí)的CPU遇到的擴(kuò)展問題,提出了一種新的半導(dǎo)體設(shè)計(jì)方法。他們提出了“CISC”一詞(復(fù)雜指令集計(jì)算機(jī))來描述許多已經(jīng)存在的、不遵循RISC原則的各種CPU架構(gòu)。
由于限制CPU性能的瓶頸發(fā)生了變化,這種對(duì)CPU設(shè)計(jì)的新方法的需求也隨之而來。所謂的CISC設(shè)計(jì),包括最初的8086,是通過將復(fù)雜性轉(zhuǎn)移到硬件中來處理內(nèi)存的高成本問題。他們強(qiáng)調(diào)代碼密度,一些指令在一個(gè)變量上依次執(zhí)行多個(gè)操作。作為一種設(shè)計(jì)理念,CISC試圖通過最大限度地減少CPU在執(zhí)行特定任務(wù)時(shí)必須執(zhí)行的指令數(shù)量來提高性能。CISC指令集架構(gòu)通常提供廣泛的特定指令。
到20世紀(jì)70年代末,CISC CPU有一些缺點(diǎn)。由于當(dāng)時(shí)的VLSI(超大規(guī)模集成)技術(shù)無法將所有必要的組件裝入一個(gè)單一的封裝中,它們通常必須在多個(gè)芯片上實(shí)現(xiàn)。實(shí)施復(fù)雜的指令集架構(gòu),支持大量很少使用的指令,消耗了芯片空間,降低了可實(shí)現(xiàn)的最大時(shí)鐘速度。同時(shí),內(nèi)存的成本在穩(wěn)步下降,使得對(duì)代碼大小的強(qiáng)調(diào)變得不再重要。
Patterson和Ditzel認(rèn)為,CISC CPU仍然在試圖解決從未完全實(shí)現(xiàn)的代碼膨脹問題。他們提出了一個(gè)根本不同的處理器設(shè)計(jì)方法。意識(shí)到絕大多數(shù)CISC指令沒有被使用(可以認(rèn)為這是帕累托原則或80/20規(guī)則的應(yīng)用),作者提出了一套更小的固定長度的指令,所有這些指令將在一個(gè)時(shí)鐘周期內(nèi)完成。雖然這將導(dǎo)致RISC CPU每條指令的執(zhí)行量比CISC對(duì)應(yīng)的指令少,但芯片設(shè)計(jì)者將通過簡化他們的處理器來彌補(bǔ)這一缺陷。
這種簡化將允許晶體管預(yù)算用于其他功能,如額外的寄存器。1981年考慮的未來功能包括“片上緩存、更大更快的晶體管,甚至是pipelining”。RISC CPU的目標(biāo)是盡可能快地執(zhí)行接近一個(gè)IPC(每時(shí)鐘周期的指令,衡量CPU效率的一個(gè)標(biāo)準(zhǔn))。以這種方式重新分配資源,其最終結(jié)果將超過任何可比的CISC設(shè)計(jì)。
沒過多久,這些設(shè)計(jì)原則就證明了它的價(jià)值。MIPS公司在1985年推出的R2000,在某些情況下能夠維持接近1的IPC。早期的RISC CPU系列如SPARC和惠普的PA-RISC系列也創(chuàng)造了性能記錄。在20世紀(jì)80年代末和90年代初,經(jīng)常聽到有人說,像x86這樣基于CISC的架構(gòu)已經(jīng)成為過去,也許對(duì)家庭計(jì)算來說已經(jīng)足夠好了,但如果你想用真正的CPU工作,你要買一個(gè)RISC芯片。數(shù)據(jù)中心、工作站和HPC是RISC CPU最成功的地方,如下圖所示。
這張英特爾的圖片很有用,但需要一點(diǎn)背景。“英特爾架構(gòu)”似乎只指x86 CPU,而不是像8080這樣的芯片,后者在早期計(jì)算機(jī)市場上很受歡迎。同樣,英特爾在2000年有一些“RISC”類別的超級(jí)計(jì)算機(jī)。具體來說,是x86機(jī)器獲得了市場份額。
考慮一下這張圖片對(duì)1990年CPU市場狀況的描述。到1990年,x86將非x86的CPU限制在個(gè)人電腦市場的20%,但在數(shù)據(jù)中心幾乎沒有x86的份額,在HPC也沒有。當(dāng)蘋果想在下一代CPU設(shè)計(jì)上下注時(shí),它在1991年選擇了PowerPC,因?yàn)樗嘈虐凑誖ISC原則構(gòu)建的高性能CPU是計(jì)算的未來。
關(guān)于CISC與RISC的共同歷史的協(xié)議在20世紀(jì)90年代初就停止了。英特爾的x86架構(gòu)后來主導(dǎo)了個(gè)人電腦、數(shù)據(jù)中心和HPC領(lǐng)域,這一點(diǎn)是無可爭議的。有爭議的是,英特爾和AMD是否通過采用RISC設(shè)計(jì)的某些原則實(shí)現(xiàn)了這一目標(biāo),還是他們聲稱那樣做是謊言。
不同的聲音像RISC和CISC這樣的術(shù)語之所以不好理解,其中一個(gè)原因是對(duì)某些CPU發(fā)展的意義和性質(zhì)存在著長期的分歧。
首先,這是來自RealWorldTech的Paul DeMone在“RISC vs. CISC Still Matters”中所說的:
隨著現(xiàn)代x86處理器的實(shí)現(xiàn),采用固定長度的控制字來操作無序執(zhí)行數(shù)據(jù)路徑,混淆RISC和CISC之間的明確區(qū)別的運(yùn)動(dòng)進(jìn)入了高潮……“RISC和CISC正在融合”的觀點(diǎn)是一個(gè)根本上有缺陷的概念,可以追溯到1992年i486的發(fā)布,其根源是對(duì)指令集架構(gòu)和物理處理器實(shí)現(xiàn)細(xì)節(jié)之間的區(qū)別的普遍無知。
相比之下,Jon“Hannibal”Stokes在“RISC vs. CISC: the Post-RISC Era”中寫道:
現(xiàn)在,應(yīng)該很明顯,RISC和CISC這兩個(gè)縮寫詞掩蓋了這樣一個(gè)事實(shí),即這兩種設(shè)計(jì)理念所處理的不僅僅是指令集的簡單性或復(fù)雜性……根據(jù)對(duì)RISC和CISC的歷史發(fā)展的了解,以及他們各自試圖解決的問題,現(xiàn)在應(yīng)該很明顯,這兩個(gè)術(shù)語會(huì)變成無稽之談……無論如何RISC和CISC的爭論早已結(jié)束,現(xiàn)在必須進(jìn)行更細(xì)微、更有趣的討論,將每個(gè)平臺(tái),硬件和軟件、ISA和實(shí)現(xiàn)放在其自身的優(yōu)點(diǎn)上。
這些文章都不是新的。Stokes的文章寫于1999年,DeMone的文章寫于2000年。我引用了他們的話來證明RISC和CISC的區(qū)別是否與現(xiàn)代計(jì)算有關(guān),這個(gè)問題實(shí)際上已經(jīng)有20多年的歷史了。Jon Stokes非常專業(yè),很顯然不會(huì)掉進(jìn)DeMone所說的“無知”陷阱。
實(shí)施與ISA
談?wù)揅ISC與RISC有兩種不同觀點(diǎn)。一種觀點(diǎn)與ARM或蘋果今天的觀點(diǎn)大致相似。這被稱為以ISA為中心的立場。
另一種觀點(diǎn)是過去幾十年來在PC媒體中普遍占主導(dǎo)地位的觀點(diǎn)。我們稱其為以實(shí)施為中心的立場。我使用“實(shí)施(Implementation)”這個(gè)詞是因?yàn)樗谏舷挛闹屑瓤梢灾窩PU的微架構(gòu),也可以指用于制造物理芯片的工藝節(jié)點(diǎn)。這兩個(gè)因素都與我們的討論有關(guān)。
根據(jù)以ISA為中心的立場,RISC指令集有一些先天的特點(diǎn),使這些架構(gòu)比它們的x86表親更有效率,包括使用固定長度的指令和加載/存儲(chǔ)設(shè)計(jì)。雖然CISC和RISC之間的一些原始差異不再有意義,但以ISA為中心的觀點(diǎn)認(rèn)為,就x86和ARM之間的性能和功率效率而言,剩余的差異仍然是決定性的,提供了一個(gè)蘋果對(duì)蘋果的比較。
這種以ISA為中心的觀點(diǎn)認(rèn)為,英特爾、AMD和x86勝過MIPS、SPARC和POWER/PowerPC有三個(gè)原因。英特爾卓越的工藝制造,隨著時(shí)間的推移,英特爾卓越的制造使所謂的“CISC稅”逐漸減少,以及二進(jìn)制兼容性使x86隨著其安裝基礎(chǔ)的增長而更有價(jià)值,無論它是否是最好的ISA。
以實(shí)施為中心的觀點(diǎn)認(rèn)為,自從RISC和CISC這樣的術(shù)語被發(fā)明以來,現(xiàn)代CPU已經(jīng)發(fā)生了變化,并認(rèn)為我們正在使用一對(duì)完全過時(shí)的類別。
這里有一個(gè)例子。今天,x86和高端ARM CPU都使用失序執(zhí)行來提高CPU性能。使用硅片在中重新排序指令以提高執(zhí)行效率,這與RISC最初的設(shè)計(jì)理念完全相悖。有人主張采用能夠以更高的時(shí)鐘速度運(yùn)行的不太復(fù)雜的CPU。現(xiàn)代ARM CPU的其他共同特征,如SIMD執(zhí)行單元和分支預(yù)測,在1981年也不存在。RISC的最初目標(biāo)是讓所有指令在一個(gè)周期內(nèi)執(zhí)行,大多數(shù)ARM指令符合這一規(guī)則,但ARMv8和ARMv9 ISA包含需要一個(gè)以上時(shí)鐘周期才能執(zhí)行的指令。現(xiàn)代x86 CPU也是如此。
以實(shí)施為中心的觀點(diǎn)認(rèn)為,工藝節(jié)點(diǎn)的改進(jìn)和微架構(gòu)的增強(qiáng)相結(jié)合,使x86很早就縮小了與RISC CPU的差距,在非常低的功率范圍內(nèi),ISA級(jí)別的差異是不相關(guān)的。這是2014年一項(xiàng)關(guān)于ISA效率的研究所支持的觀點(diǎn),這也是英特爾和AMD普遍支持的觀點(diǎn)。
但這是對(duì)的嗎?
RISC和CISC的發(fā)展是否趨同?
以實(shí)施為中心的觀點(diǎn)是,幾十年來,CISC和RISC CPU一直在向?qū)Ψ窖葸M(jìn),從1990年代中期x86 CPU采用新的“類RISC”解碼方法開始。
常見的解釋是這樣的。在20世紀(jì)90年代初,英特爾和其他x86 CPU制造商意識(shí)到,在未來提高CPU性能需要的不僅僅是更大的緩存或更快的時(shí)鐘。多家公司決定投資于x86 CPU微架構(gòu),這些微架構(gòu)將在飛行中重新排列自己的指令流以提高性能。作為該過程的一部分,本地x86指令被送入x86解碼器,并在執(zhí)行前被翻譯成“類RISC”的微操作。
這已經(jīng)是二十多年來的傳統(tǒng)智慧,但最近它又受到了挑戰(zhàn)。早在2020年,Erik Engheim在Medium上發(fā)表的一篇文章中寫道:“x86芯片中沒有RISC內(nèi)部結(jié)構(gòu)。這只是一種營銷策略。”他同時(shí)指出了DeMone的故事和P6微架構(gòu)背后的首席架構(gòu)師Bob Colwell的一段話。
P6微架構(gòu)是英特爾第一個(gè)實(shí)現(xiàn)失序執(zhí)行和原生x86-micro-op解碼引擎的微架構(gòu)。P6是作為奔騰Pro出貨的,它演變成了奔騰II、奔騰3,以及更多。它是現(xiàn)代x86 CPU的祖先。
英特爾的x86處理器在“引擎”下沒有一個(gè)RISC引擎。他們通過解碼/執(zhí)行方案實(shí)現(xiàn)x86指令集架構(gòu),該方案依賴于將x86指令映射為機(jī)器操作,或復(fù)雜指令的機(jī)器操作序列,然后這些操作在微架構(gòu)中找到自己的方式,遵守關(guān)于數(shù)據(jù)依賴性的各種規(guī)則,并最終確定時(shí)間順序。
完成這一壯舉的“微操作”有100多比特,攜帶各種奇怪的信息,不能由編譯器直接生成,不一定是單周期。但最重要的是,它們是一種微架構(gòu)的假象……微操作的想法不是“受RISC啟發(fā)”,“類RISC”,或與RISC完全有關(guān)。這是設(shè)計(jì)團(tuán)隊(duì)找到了一種方法來打破一個(gè)非常復(fù)雜的指令集的復(fù)雜性,使其脫離了競爭性微處理器中的微架構(gòu)機(jī)會(huì)和限制。
到此應(yīng)該可以結(jié)案了吧,對(duì)嗎?
并非如此。
英特爾并不是第一個(gè)將x86前端解碼器與聲稱是“RISC風(fēng)格”的后端相結(jié)合的x86 CPU制造商。后來被AMD收購的NexGen公司就是這樣。NexGen 5×86 CPU于1994年3月首次亮相,而Pentium Pro直到1995年11月才推出。以下是NexGen對(duì)其CPU的描述。“Nx586處理器是NexGen的創(chuàng)新和專利RISC86微架構(gòu)的第一個(gè)實(shí)現(xiàn)。”后來,該公司又給出了一些細(xì)節(jié)。“創(chuàng)新的RISC86方法動(dòng)態(tài)地將x86指令轉(zhuǎn)換為RISC86指令。如下圖所示,Nx586利用了RISC的性能原理。由于RISC86的環(huán)境,每個(gè)執(zhí)行單元更小,更緊湊。”
仍然可以說這是營銷言論,僅此而已,所以讓我們提前到1996年和AMD的K5。K5通常被描述為與AMD從其32位RISC微控制器Am29000借來的執(zhí)行后端結(jié)和的x86前端。在我們查看它的框圖之前,我想把它與最初的英特爾奔騰進(jìn)行比較。奔騰可以說是CISC x86進(jìn)化的頂峰,因?yàn)樗趚86 CPU中同時(shí)實(shí)現(xiàn)了流水線和超大規(guī)模,但沒有將x86指令轉(zhuǎn)化為微操作,也缺乏失序執(zhí)行引擎。
如果花時(shí)間看微處理器框圖,K5應(yīng)該看起來很熟悉,而奔騰則不一樣。AMD在Nx586推出后收購了NexGen。K5是AMD的自主設(shè)計(jì),但K6最初是NexGen的產(chǎn)品。從這一點(diǎn)來看,CPU開始看起來更像我們今天熟悉的芯片。而根據(jù)設(shè)計(jì)這些芯片的工程師們的說法,這些相似之處不只停留在表面。
AMD公司的David Christie早在1996年就在IEEE Micro上發(fā)表了一篇關(guān)于K5的文章,談到了它如何將RISC和CISC混合在一起。
我們開發(fā)了一個(gè)松散地基于29000指令集的微型ISA。一些額外的控制字段將微指令的大小擴(kuò)大到59位。其中一些簡化了超標(biāo)量控制邏輯并提高了其速度。其他的則提供了x86特有的功能,這些功能對(duì)于用微指令序列合成來說性能太關(guān)鍵了。但是,這些微指令仍然堅(jiān)持基本的RISC原則:簡單的寄存器到寄存器的操作,對(duì)寄存器指定符和其他字段進(jìn)行固定位置編碼,每次操作不超過一個(gè)內(nèi)存引用。由于這個(gè)原因,我們稱它們?yōu)镽ISC操作,或簡稱為ROP(發(fā)音為R-ops)。它們簡單、通用的性質(zhì)給了我們很大的靈活性來實(shí)現(xiàn)更復(fù)雜的x86操作,有助于保持執(zhí)行邏輯相對(duì)簡單。
然而,RISC微架構(gòu)最重要的方面是,x86指令集的復(fù)雜性在解碼器處停止,對(duì)失序執(zhí)行核心基本透明。這種方法除了投機(jī)性失序RISC執(zhí)行所需的控制復(fù)雜性外,幾乎不需要額外的控制復(fù)雜性來實(shí)現(xiàn)投機(jī)性失序x86執(zhí)行。一個(gè)任務(wù)切換的ROP序列看起來并不比一串簡單指令的復(fù)雜。執(zhí)行核心的復(fù)雜性實(shí)際上是與架構(gòu)的復(fù)雜性隔離開來的,而不是被它所復(fù)合。
Christie并沒有混淆ISA和CPU物理實(shí)現(xiàn)的細(xì)節(jié)之間的區(qū)別。他認(rèn)為,物理實(shí)現(xiàn)本身在重要的方面是“類似于RISC”。
K5重新使用了AMD為其Am29000系列RISC CPU開發(fā)的部分執(zhí)行后端,它實(shí)現(xiàn)的內(nèi)部指令集比本地x86 ISA更像RISC。NexGen和AMD在此期間提到的RISC風(fēng)格的技術(shù)參考了數(shù)據(jù)緩存、流水線和超標(biāo)量架構(gòu)等概念。這些概念沒有一個(gè)是嚴(yán)格意義上的RISC,但它們都首先在RISC CPU中亮相,而且在K5還是新的時(shí)候,它們是與RISC CPU相關(guān)的優(yōu)勢。將這些功能作為“類RISC”來推銷是有意義的,這與那個(gè)時(shí)代的OEM廠商將他們的PC描述為“IBM兼容”是有意義的。
這些功能在多大程度上是RISC,以及x86 CPU是否能解碼RISC風(fēng)格的指令,取決于你選擇的問題框架標(biāo)準(zhǔn)。這個(gè)爭論比奔騰Pro更大,即使P6是與失序執(zhí)行引擎等技術(shù)的發(fā)展最相關(guān)的微架構(gòu)。不同公司的不同工程師有他們自己的觀點(diǎn)。
x86 CPU在現(xiàn)代有多大的局限性?
現(xiàn)在是時(shí)候把這個(gè)討論拉到現(xiàn)代,并考慮這種RISC與CISC的比較對(duì)今天實(shí)際出貨的ARM和x86 CPU有什么影響。當(dāng)我們將AMD和英特爾的CPU與蘋果的M1和未來的M2進(jìn)行比較時(shí),我們真正要問的問題是,是否存在歷史上的x86瓶頸,使x86無法與蘋果和高通等公司的未來ARM芯片進(jìn)行有效競爭?
根據(jù)AMD和英特爾的說法。根據(jù)ARM的說法:不。是的。由于所有相關(guān)公司都有明顯的利益沖突,可以參考Agner Fog的回答。
Agner Fog是一位丹麥進(jìn)化人類學(xué)家和計(jì)算機(jī)科學(xué)家,因其在x86架構(gòu)方面的大量資源而聞名。如果你想了解各種英特爾和AMD CPU的底層行為,他的微架構(gòu)手冊幾乎是必讀的。
ISA并不是無關(guān)緊要的。x86 ISA是非常復(fù)雜的,因?yàn)殚L期以來,小的增量變化和補(bǔ)丁給ISA增加了更多的功能,而這個(gè)ISA確實(shí)沒有空間容納這些新功能……
復(fù)雜的x86 ISA使解碼成為瓶頸。一條x86指令可以有從1到15個(gè)字節(jié)的任何長度,而計(jì)算長度是相當(dāng)復(fù)雜的。而且你需要知道一條指令的長度,然后才能開始解碼下一條指令。如果你想在每個(gè)時(shí)鐘周期解碼4條或6條指令,這當(dāng)然是個(gè)問題!英特爾和AMD現(xiàn)在都在不斷增加更大的微操作緩存來克服這個(gè)瓶頸。ARM有固定大小的指令,所以這個(gè)瓶頸不存在,也不需要微操作緩存。
x86的另一個(gè)問題是,它需要一個(gè)長的流水線來處理復(fù)雜問題。分支錯(cuò)誤預(yù)測的懲罰等于管道的長度。因此,他們正在增加越來越復(fù)雜的分支預(yù)測機(jī)制,包括大型分支歷史表和分支目標(biāo)緩沖器。當(dāng)然,所有這些都需要更多的硅空間和更多的功率消耗。
盡管有這些負(fù)擔(dān),X86 ISA還是相當(dāng)成功。這是因?yàn)樗梢詾槊織l指令做更多的工作。例如,具有32位指令的RISC ISA不能在一條指令中加載一個(gè)內(nèi)存操作數(shù),如果它需要32位的內(nèi)存地址。
Agner在他的微架構(gòu)手冊中還寫道,最近AMD和英特爾CPU設(shè)計(jì)的趨勢又回到了CISC原則,以更好地利用有限的代碼緩存,增加流水線帶寬,并通過在流水線上保留更少的微操作來降低功耗。這些改進(jìn)代表了微架構(gòu)的偏移,改善了x86的整體性能和功率效率。
在這里,我們終于來到了問題的核心?,F(xiàn)代AMD和英特爾CPU為x86兼容性付出了多大的代價(jià)?
Agner在上面提到的解碼瓶頸、分支預(yù)測和流水線的復(fù)雜性是ARM認(rèn)為x86所承擔(dān)的“CISC稅”的一部分。過去,英特爾和AMD曾告訴我們解碼功率在芯片總功耗中只占一位數(shù)。但是,如果CPU為了彌補(bǔ)解碼帶寬的不足而燒掉微操作緩存或復(fù)雜的分支預(yù)測器的功率,這就沒有什么意義了。微操作緩存的功耗和分支預(yù)測的功耗都是由CPU的微架構(gòu)和其制造工藝節(jié)點(diǎn)決定的。RISC與CISC并不能充分體現(xiàn)這三個(gè)變量之間關(guān)系的復(fù)雜性。
我們還需要幾年時(shí)間才能知道蘋果的M1和高通公司未來的CPU是否代表了市場的巨大變化,或者AMD和英特爾將迎接的下一個(gè)挑戰(zhàn)。維持x86兼容性是否是現(xiàn)代CPU的負(fù)擔(dān),既是一個(gè)新問題,也是一個(gè)非常古老的問題。新,是因?yàn)樵贛1推出之前,沒有任何有意義的比較。舊,因?yàn)檫@個(gè)話題曾經(jīng)有相當(dāng)多的討論,那時(shí)還有非x86的CPU在個(gè)人電腦中使用。
AMD繼續(xù)以每年1.15-1.2倍的速度改進(jìn)Zen。我們知道英特爾的Alder Lake也將使用低功耗的x86 CPU內(nèi)核來改善空閑功耗。這兩家x86制造商都在繼續(xù)發(fā)展他們的性能方法。我們需要時(shí)間來觀察這些內(nèi)核以及它們的后繼者是如何與未來的蘋果產(chǎn)品相抗衡的,x86并沒有退出這場戰(zhàn)斗。
為什么RISC與CISC是比較x86、ARM CPU的錯(cuò)誤方式?
當(dāng)Patterson和Ditzel創(chuàng)造了RISC和CISC時(shí),他們打算澄清CPU設(shè)計(jì)的兩種不同策略。40年過去了,這兩個(gè)術(shù)語在澄清的同時(shí)也模糊了許多。RISC和CISC并非毫無意義,但這兩個(gè)術(shù)語的含義和適用性已經(jīng)變得高度相關(guān)。
[參考文章]
RISC vs. CISC Is the Wrong Lens for Comparing Modern x86, ARM CPUs — Joel Hruska