如果把芯片比作一個(gè)人,CPU就相當(dāng)于人的大腦。 CPU在處理事務(wù)時(shí)是基于一定的邏輯進(jìn)行的。但CPU的設(shè)計(jì)者們對(duì)于事務(wù)處理的理解不同。 一類認(rèn)為應(yīng)該給予簡(jiǎn)單的命令,而讓CPU執(zhí)行復(fù)雜的操作。類似于發(fā)出“喝水”的命令,CPU會(huì)自行喝水(這個(gè)過程是通過在硬件中預(yù)先實(shí)現(xiàn)了復(fù)雜的功能)。設(shè)計(jì)者針對(duì)這種模式設(shè)計(jì)出一系列的指令集合。這就是復(fù)雜指令集(CISC)。 CISC:復(fù)雜指令集 另一類則認(rèn)為應(yīng)該給予富有邏輯性的命令,而讓CPU按部就班地簡(jiǎn)單執(zhí)行。比如發(fā)出“倒水,端起杯子,張嘴,喝水”等一系列命令。CPU只需要按命令的順序分別執(zhí)行簡(jiǎn)單的功能就可以完成喝水這一“復(fù)雜”的操作?;诖嗽O(shè)計(jì)出的一系列指令集合,就是精簡(jiǎn)指令集(RISC)。 RISC:精簡(jiǎn)指令集 在這兩種指令集的基礎(chǔ)上,誕生了很多不同的CPU架構(gòu)。基于CISC的X86、基于RISC的PowerPC、MIPS、ARM、Alpha等。但時(shí)至今日,IBM的PowerPC和DEC公司的Alpha架構(gòu)基本已經(jīng)被淘汰。大浪淘沙,只剩下X86、MIPS和ARM三分天下。 X86架構(gòu):固定終端領(lǐng)域1978年,X86架構(gòu)由Intel率先推出。國(guó)內(nèi)早期的286、386等其實(shí)是處理器型號(hào),但命名顯然受到了X86架構(gòu)的影響。 x86架構(gòu)讓Intel走上騰飛之路 1911年就成立的IBM對(duì)于當(dāng)時(shí)的Intel來說是舉足輕重的核心客戶。IBM考慮到如果Intel倒閉,供貨渠道就會(huì)出問題,于是要求Intel將X86架構(gòu)授權(quán)AMD使用。Intel被迫妥協(xié),于是AMD也就有了X86架構(gòu)技術(shù)。 X86架構(gòu)的指令集最初只設(shè)計(jì)到32位(一次處理數(shù)據(jù)的能力是32位,最多處理4個(gè)字節(jié)的數(shù)據(jù))。在這種架構(gòu)基礎(chǔ)上設(shè)計(jì)的CPU也被稱為32位CPU。 Intel被大家熟悉的32位CPU有賽揚(yáng)、奔騰系列。AMD同期是Athlon(速龍)系列CPU。 隨著科技的不斷發(fā)展,32位CPU已經(jīng)無法滿足實(shí)際需求。于是AMD在X86架構(gòu)基礎(chǔ)上進(jìn)行擴(kuò)展,最終形成了新的架構(gòu)AMD64(有時(shí)也稱為x64)。 AMD64是基于x86架構(gòu)擴(kuò)展而來,可以看做是x86架構(gòu)的更迭產(chǎn)品 與此同時(shí),Intel不愿意在原本X86架構(gòu)基礎(chǔ)上擴(kuò)展,搗鼓出了新的IA64架構(gòu)。 可惜IA64在實(shí)際運(yùn)用中不敵AMD64,最終被淘汰。Intel也被迫采用了AMD64的架構(gòu),設(shè)計(jì)64位CPU。 時(shí)至今日,基于X86架構(gòu)的CPU主要是Intel和AMD兩家廠商,主要占據(jù)個(gè)人電腦、工作站以及服務(wù)器市場(chǎng)。 ARM架構(gòu):移動(dòng)終端領(lǐng)域1985年,ARM架構(gòu)由Acorn電腦公司團(tuán)隊(duì)設(shè)計(jì)推出。后來Acorn公司沒落,處理器設(shè)計(jì)部門被分出來,組成了一家新公司,這就是ARM公司。 英國(guó)芯片設(shè)計(jì)公司,2016年被孫正義的日本軟銀收購(gòu) ARM公司最初也和Intel,AMD公司一樣自己生產(chǎn)處理器,但市場(chǎng)反響平平。由于資金問題,公司做出了一個(gè)十分大膽的決定:自己不制造CPU,只將CPU的設(shè)計(jì)方案授權(quán)給其他公司,由它們來生產(chǎn)。至此,ARM轉(zhuǎn)變?yōu)橹募夹g(shù)提供商,類似Google將Android系統(tǒng)授權(quán)其他移動(dòng)設(shè)備廠商使用一樣。 專注于技術(shù)領(lǐng)域,ARM架構(gòu)也因此經(jīng)歷多次產(chǎn)品更迭。由ARMv1架構(gòu)發(fā)展到現(xiàn)在的ARMv8架構(gòu)。ARMv8之前都是采用32位指令集,ARMv8采用了64位指令集。 ARM架構(gòu)的CPU主要覆蓋移動(dòng)終端、平板電腦和智能電視市場(chǎng)。 MIPS架構(gòu):其他嵌入式領(lǐng)域和新興領(lǐng)域1981年由MIPS科技公司開發(fā)的基于RISC指令集的架構(gòu)。1999年公布MIPS64。 MIPS架構(gòu)同樣基于RICS精簡(jiǎn)指令集 MIPS與ARM屬于直接競(jìng)爭(zhēng)關(guān)系。但由于ARM公司率先采用技術(shù)授權(quán)模式發(fā)展,并大獲成功。因此在移動(dòng)終端領(lǐng)域使用MIPS架構(gòu)的處理器并不多。于是MIPS轉(zhuǎn)到ARM暫時(shí)沒有涉足的領(lǐng)域。 目前基于MIPS架構(gòu)構(gòu)建的處理器在個(gè)人游戲設(shè)備、數(shù)碼相機(jī)、數(shù)字電視、寬帶設(shè)備、激光打印機(jī)這些領(lǐng)域上應(yīng)用非常廣泛。被我們大家所熟知的索尼PS2的處理器、中國(guó)龍芯處理器(早期)、佳能數(shù)碼相機(jī)的處理器等都是基于MIPS架構(gòu)。 MIPS和ARM都面向低功耗領(lǐng)域,這里對(duì)X86架構(gòu)與后兩者之間的區(qū)別進(jìn)行分析。 那么,X86架構(gòu)和ARM架構(gòu)和MIPS架構(gòu)的區(qū)別有哪些呢? 1、最本質(zhì)的區(qū)別就是X86采用CISC指令集,后兩者采用RISC指令集。 2、設(shè)計(jì)方向不同。 由于采用CISC指令集,X86架構(gòu)的目標(biāo)就是解決復(fù)雜的運(yùn)算,實(shí)現(xiàn)高性能。而后兩者的目標(biāo)首先是低功耗,因此在性能上無法與X86架構(gòu)相比。發(fā)展到今天,蘋果基于ARM架構(gòu)下的M1芯片性能已經(jīng)能與Inteli3/i5相媲美。但在高端CPU領(lǐng)域依然有所差距。 3、64位計(jì)算模式不同 X86架構(gòu)的64位計(jì)算是由AMD在X86基礎(chǔ)上擴(kuò)展而成的AMD64架構(gòu)完成。 ARM在64位計(jì)算上基于最新ARMv8架構(gòu)。這種架構(gòu)內(nèi)部執(zhí)行模式可以分為兩種:一種負(fù)責(zé)執(zhí)行32位運(yùn)算,一種負(fù)責(zé)執(zhí)行64位的運(yùn)算。這有點(diǎn)類似汽車的ECO(經(jīng)濟(jì))和SPORT(運(yùn)動(dòng))模式的區(qū)別。 從這點(diǎn)上看,ARM顯然要比X86更靈活。 4、效率差異 同樣是因?yàn)樵O(shè)計(jì)理念的不同,采用RISC指令集的ARM在處理富有邏輯的指令時(shí)效率比X86架構(gòu)更高。但在處理復(fù)雜亂序指令時(shí),效果就沒有采用CISC指令集的X86架構(gòu)強(qiáng)了。 5、面向市場(chǎng)不同 X86只考慮高性能,不考慮低功耗,因此主要用于一般的計(jì)算機(jī)處理系統(tǒng)。而后兩者主要面向?qū)暮涂臻g有很高要求的嵌入式系統(tǒng)領(lǐng)域。 可以看到,目前全球主流市場(chǎng)的CPU架構(gòu)完全被國(guó)外把持。那么中國(guó)有沒有自研的CPU架構(gòu)呢? 敬請(qǐng)關(guān)注《芯片有話說》系列,第二篇:中國(guó)CPU架構(gòu)的自研之路
|
|