0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

指令集架構(gòu)與開(kāi)源架構(gòu)

NJ90_gh_bee81f8 ? 來(lái)源:未知 ? 作者:工程師郭婷 ? 2018-07-16 10:05 ? 次閱讀

首先所有推崇RISC-V的文章都在說(shuō)RISC-V架構(gòu)簡(jiǎn)單,功耗面積低,這其實(shí)跟以前夸MIPS沒(méi)什么不同。在CPU設(shè)計(jì)里,指令集是其中最簡(jiǎn)單最基礎(chǔ)的一部分,可以說(shuō),采用RISC架構(gòu)的指令集都差不多,無(wú)非是在寄存器數(shù)目,分支跳轉(zhuǎn),數(shù)據(jù)存取等指令方面做一些取舍,達(dá)到某種平衡,滿足某些特定需要。

在學(xué)院派那兒PK的功耗面積,在工程派眼中離實(shí)用還遠(yuǎn)的很。做出一個(gè)demo和做出真正工程上能用的產(chǎn)品還隔著十萬(wàn)八千里,而工程上能用距離商業(yè)成功又隔了十萬(wàn)八千里。因?yàn)橐粋€(gè)指令集就把某種架構(gòu)夸上天實(shí)在沒(méi)必要。

開(kāi)源架構(gòu)受到追捧隱含的另一個(gè)意思是Arm等IP廠商授權(quán)太貴,所以總有人揭竿而起要革商業(yè)公司的命,用免費(fèi)打敗收費(fèi)。

第一個(gè)誤會(huì)是指令集架構(gòu)授權(quán)和CPU。

核的授權(quán)被刻意模糊了。Arm的CPU核授權(quán)門(mén)檻其實(shí)很低,甚至有DesignStart你們可以了解一下,基本可以免費(fèi)獲取Cortex-M0和Cortex-M3,一些媒體文章動(dòng)輒說(shuō)Arm授權(quán)費(fèi)要千萬(wàn)美金,錢(qián)真有那么好賺嗎?Arm被孫正義收購(gòu)的時(shí)候營(yíng)收一年也就10多億美金,這生意絕對(duì)說(shuō)不上大。架構(gòu)授權(quán)的客戶都是財(cái)大氣粗玩的起的主兒,如我大蘋(píng)果、大高通、大三星等,初創(chuàng)公司完全有很多很便宜的選擇,干嘛一上手就搞架構(gòu)授權(quán)?刻意強(qiáng)調(diào)千萬(wàn)美金授權(quán)不能不說(shuō)是有意誤導(dǎo)。

第二個(gè)誤會(huì)則是來(lái)自開(kāi)源社區(qū)。

很多人說(shuō)開(kāi)源架構(gòu)免費(fèi)多好呀,但我要說(shuō)從架構(gòu)定義到CPU核實(shí)現(xiàn)這中間有很長(zhǎng)的路要走,這一部分并不免費(fèi),像SiFive等公司都是要收錢(qián)的,與Arm的CPU核授權(quán)并無(wú)多少區(qū)別。把開(kāi)源解讀為免費(fèi)恐怕是一個(gè)中英文翻譯中的誤會(huì)。在開(kāi)源社區(qū)的概念剛剛被引入的時(shí)候就有人把Free Software翻譯為免費(fèi)軟件,但其實(shí)更準(zhǔn)確的翻譯是自由軟件或開(kāi)源軟件,開(kāi)源不等于免費(fèi),免費(fèi)也不等于開(kāi)源。開(kāi)源指的是源代碼公開(kāi),任何人可以免費(fèi)獲取自行編譯或重新開(kāi)發(fā),只是要遵循相應(yīng)的版權(quán)協(xié)議,像Linux遵循的是GPL協(xié)議,用GPL開(kāi)源協(xié)議的代碼重新開(kāi)發(fā)的軟件也必須開(kāi)源。免費(fèi)指的是軟件不收錢(qián),但是不一定開(kāi)源。大名鼎鼎的Redhat Linux是開(kāi)源的,但是也不影響Redhat公司靠服務(wù)費(fèi)收錢(qián)。在開(kāi)源架構(gòu)社區(qū)也是一樣,指令集是開(kāi)源的,遵循BSD協(xié)議,各家開(kāi)發(fā)的產(chǎn)品不是必須要開(kāi)源回饋給社區(qū)。各家公司在這個(gè)指令集基礎(chǔ)上開(kāi)發(fā)的自己的CPU核產(chǎn)品都是要收費(fèi)的,畢竟開(kāi)發(fā)CPU核產(chǎn)品也是要投入人力研發(fā)的啊。

以上這些都是老生常談。開(kāi)源架構(gòu)每過(guò)幾年就要來(lái)一輪,背后其實(shí)大家都懂,就是學(xué)院派總是要有點(diǎn)新的研究成果,“國(guó)外一開(kāi)源,我們就自主”的風(fēng)氣決定了,國(guó)外有什么新的指令集架構(gòu)開(kāi)源都會(huì)在國(guó)內(nèi)激起一陣躁動(dòng)。但學(xué)術(shù)不等于商業(yè)。CPU架構(gòu)從上世紀(jì)90年代的10多家到現(xiàn)在以X86和Arm為主,背后其實(shí)是更深刻的產(chǎn)業(yè)和商業(yè)規(guī)律在主導(dǎo)。在我看來(lái),有幾下幾個(gè)要素:

1.指令集架構(gòu)創(chuàng)新不具有革命性

有多篇論文分析過(guò)指令集架構(gòu)和性能功耗的關(guān)系,結(jié)論是指令集的差別與性能和能耗沒(méi)有關(guān)系,兩者性能的差異是由于需求的不同在硬件設(shè)計(jì)上的反映,例如指令發(fā)射速度、分支預(yù)測(cè)、亂序執(zhí)行等方面,提升這些方面的性能需要使用到大量的硬件,使得硬件設(shè)計(jì)變得更加復(fù)雜,并且?guī)?lái)了更多的能耗。正如吳軍在《浪潮之巔》中所說(shuō),“數(shù)量級(jí)是判斷一項(xiàng)新技術(shù)是革命性還是革新性的關(guān)鍵”。Arm處理器功耗相比于x86有了數(shù)量級(jí)的提升,手機(jī)市場(chǎng)又比PC市場(chǎng)出貨量要大一個(gè)數(shù)量級(jí),這才有了Arm在移動(dòng)互聯(lián)網(wǎng)市場(chǎng)占據(jù)了端側(cè)的優(yōu)勢(shì),取代了x86指令集,也讓架構(gòu)授權(quán)模式為更多玩家所認(rèn)可。在開(kāi)源架構(gòu)和Arm的PK中,沒(méi)有這種數(shù)量級(jí)上的差異。Arm和RISC-V都是RISC架構(gòu)的,只是指令集定義的不同,這就決定了不可能從指令集PK中獲得什么優(yōu)勢(shì),還是看具體的硬件實(shí)現(xiàn)和功能取舍。

2.技術(shù)先進(jìn)性不等于商業(yè)成功

每次有人強(qiáng)調(diào)新的指令集比原有的指令集要高效的時(shí)候我就笑了,大家想想鍵盤(pán)布局的故事?,F(xiàn)在的QWERT鍵盤(pán)布局雖然奇怪,但延續(xù)了這么多年,已經(jīng)有了強(qiáng)大的慣性,即使有人發(fā)明了更高效的鍵盤(pán)布局也無(wú)法得到廣泛支持。指令集上的故事也是類(lèi)似。Intel的x86指令集是CISC架構(gòu)的,曾被人Diss架構(gòu)臃腫。歷史上也有多次“x86革命”想取代x86架構(gòu),但都因?yàn)榈貌坏綇V泛的支持最終以失敗告終。巨大的商業(yè)利益和強(qiáng)勁的軟硬件的支持可以使得x86架構(gòu)難以撼動(dòng),這些都不是一個(gè)簡(jiǎn)單的技術(shù)問(wèn)題。

3.指令集架構(gòu)是一個(gè)昂貴的公共品。

對(duì)學(xué)院派來(lái)說(shuō),能運(yùn)行軟件跑成Demo發(fā)論文就是成功,對(duì)商業(yè)公司來(lái)說(shuō)則是要完成從指令集定義到CPU微架構(gòu)的設(shè)計(jì),到整個(gè)芯片的設(shè)計(jì)和相應(yīng)軟件,工具鏈的開(kāi)發(fā)和維護(hù),以及在上面運(yùn)行的操作系統(tǒng),豐富的函數(shù)庫(kù)以及應(yīng)用程序,還需要得到大量用戶認(rèn)可,這些都不是一朝一夕之功。設(shè)計(jì)指令集不難,讓一個(gè)指令集得到市場(chǎng)認(rèn)可很難,而一旦得到認(rèn)可,人們要遷移的成本也很高,這就是Intel能多年在PC和服務(wù)器市場(chǎng)稱(chēng)霸的原因。Intel也因?yàn)閤86指令集的成功獲得了巨大的商業(yè)利益。指令集架構(gòu)這一公共品是如此昂貴,無(wú)法通過(guò)社區(qū)自發(fā)成長(zhǎng)起來(lái),而必須結(jié)合商業(yè)公司的力量。Linux也是在Android采用以后才得到了大發(fā)展。

Arm通過(guò)授權(quán)模式讓眾多CPU廠商可以共享一套指令集和編譯工具,極大的降低了眾多CPU廠商的開(kāi)發(fā)門(mén)檻,其實(shí)相當(dāng)于眾多CPU廠商眾籌了一個(gè)Arm指令集,節(jié)省的是各家自己開(kāi)發(fā)并維護(hù)一套指令集的開(kāi)銷(xiāo)。也正因?yàn)檫@個(gè)原因,市場(chǎng)對(duì)CPU架構(gòu)的人員需求減少了,對(duì)應(yīng)用程序開(kāi)發(fā)者的需求增多了,Arm生態(tài)系統(tǒng)才有了今天的發(fā)展。

現(xiàn)在眾多廠商眾籌另一個(gè)指令集,然后呢?也一樣有巨大的生態(tài)開(kāi)發(fā)成本,從指令集定義到真正成熟得到廣泛應(yīng)用,沒(méi)有一二十年起不來(lái)。硬件不像軟件,有什么錯(cuò)誤可以發(fā)布新版本去修正,一旦流片了再修改就難了。一個(gè)IP要做好不是那么容易的事情,需要有客戶一起去趟早期開(kāi)發(fā)過(guò)程中的坑,稍有不慎出現(xiàn)一個(gè)Bug,前期投入就要打水漂。對(duì)商業(yè)公司來(lái)說(shuō)開(kāi)發(fā)成本損失還是小事,錯(cuò)失了市場(chǎng)機(jī)遇才是最大的損失。即使新指令集生態(tài)真能起來(lái),大多數(shù)公司要么維護(hù)自己的CPU核開(kāi)發(fā)團(tuán)隊(duì),要么從IP授權(quán)公司購(gòu)買(mǎi)相應(yīng)的架構(gòu)實(shí)現(xiàn),真的能省錢(qián)嗎?還是到時(shí)候再切換一次指令集,把這些坑再趟一遍?

另外,開(kāi)源架構(gòu)采用的指令集架構(gòu)開(kāi)源,各家可以自己設(shè)計(jì)自己的CPU核的方式從一開(kāi)始就埋下了碎片化的種子,各家IP公司自己設(shè)計(jì)自己的擴(kuò)展,并且不需要回饋社區(qū),其結(jié)果就是各自有一套自己的開(kāi)發(fā)工具和軟件庫(kù),重新走到了上世紀(jì)90年代有多家指令集架構(gòu)的局面,對(duì)芯片開(kāi)發(fā)公司來(lái)說(shuō)并沒(méi)有節(jié)省什么成本,反而因?yàn)楦髯晕⒓軜?gòu)的特殊性帶來(lái)操作系統(tǒng)和應(yīng)用程序的不兼容,這是與商業(yè)世界成本盡量降低相矛盾的。

指令集是越多人使用價(jià)值越大,指令集架構(gòu)也就更貴,而CPU核只是部分公司使用,相對(duì)于指令集架構(gòu)就便宜一些,這是Arm的商業(yè)模式,是目前經(jīng)受了實(shí)踐的檢驗(yàn)的一種模式。當(dāng)年MIPS指令集架構(gòu)授權(quán)很便宜,CPU核賣(mài)的貴,是從成本而不是用戶需求定價(jià),正好搞反了。結(jié)果就是各家都拿了指令集自己去設(shè)計(jì)MIPS核,造成碎片化和分裂?,F(xiàn)在開(kāi)源社區(qū)也是類(lèi)似的問(wèn)題。指令集開(kāi)源,準(zhǔn)入門(mén)檻很低,IP設(shè)計(jì)廠商各搞一攤。開(kāi)源社區(qū)沒(méi)有力量去維護(hù)各家實(shí)現(xiàn)的統(tǒng)一標(biāo)準(zhǔn),各家也只能通過(guò)低價(jià)來(lái)?yè)屖袌?chǎng),芯片設(shè)計(jì)廠商則需要面對(duì)不同IP廠商的CPU核實(shí)現(xiàn),不能發(fā)揮統(tǒng)一架構(gòu)的優(yōu)勢(shì),構(gòu)成惡性循環(huán)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10804

    瀏覽量

    210828
  • 指令集
    +關(guān)注

    關(guān)注

    0

    文章

    221

    瀏覽量

    23342
  • 開(kāi)源架構(gòu)
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    6948

原文標(biāo)題:“中國(guó)芯”的“新曙光”?它會(huì)革掉ARM的命嗎?

文章出處:【微信號(hào):gh_bee81f890fc1,微信公眾號(hào):面包板社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    指令集架構(gòu)與微架構(gòu)的區(qū)別

    指令集架構(gòu)(Instruction Set Architecture,ISA)與微架構(gòu)(Microarchitecture)是計(jì)算機(jī)體系結(jié)構(gòu)中的兩個(gè)重要概念,它們?cè)谔幚砥鞯脑O(shè)計(jì)和實(shí)現(xiàn)中扮演著不同的角色。以下是對(duì)兩者區(qū)別的詳細(xì)闡述
    的頭像 發(fā)表于 10-05 15:10 ?371次閱讀

    簡(jiǎn)述微處理器的指令集架構(gòu)

    微處理器的指令集架構(gòu)(Instruction Set Architecture,ISA)是計(jì)算機(jī)體系結(jié)構(gòu)中的核心組成部分,它定義了計(jì)算機(jī)能夠執(zhí)行的指令集合、數(shù)據(jù)類(lèi)型、寄存器、內(nèi)存訪問(wèn)方式等,是連接
    的頭像 發(fā)表于 10-05 14:59 ?261次閱讀

    RISC-V和arm指令集的對(duì)比分析

    、開(kāi)放性 RISC-V :RISC-V指令集架構(gòu)規(guī)范公開(kāi),可以免費(fèi)使用。任何人都可以基于RISC-V架構(gòu)設(shè)計(jì)、制造和銷(xiāo)售處理器,這種開(kāi)放性使得RISC-V架構(gòu)在學(xué)術(shù)界和
    發(fā)表于 09-28 11:05

    國(guó)產(chǎn)主流8位單片機(jī)-RISC架構(gòu)精簡(jiǎn)指令集單片機(jī)

    在當(dāng)前的電子產(chǎn)品開(kāi)發(fā)領(lǐng)域,8位單片機(jī)仍然占據(jù)著重要的地位,尤其是在嵌入式系統(tǒng)和低功耗應(yīng)用中。RISC(簡(jiǎn)化指令集計(jì)算)架構(gòu)以其高效性和簡(jiǎn)單性,成為了國(guó)產(chǎn)主流8位單片機(jī)。RISC架構(gòu)通過(guò)減少指令
    發(fā)表于 09-27 10:15

    RISC-V指令集的特點(diǎn)總結(jié)

    開(kāi)源 定義:RISC-V 是完全開(kāi)源指令集架構(gòu)(ISA),意味著任何人都可以查看、使用、修改以及分發(fā)其設(shè)計(jì),而無(wú)需支付版權(quán)費(fèi)用。 優(yōu)勢(shì):這種開(kāi)源
    發(fā)表于 08-30 22:05

    復(fù)雜指令集和精簡(jiǎn)指令集有什么區(qū)別

    的兩種主要指令集架構(gòu),它們?cè)诙鄠€(gè)方面存在顯著的差異。以下是對(duì)這兩種指令集架構(gòu)的詳細(xì)比較,涵蓋設(shè)計(jì)理念、指令復(fù)雜性、尋址方式、實(shí)現(xiàn)方式、性能特
    的頭像 發(fā)表于 08-22 11:00 ?2411次閱讀

    微處理器的指令集架構(gòu)介紹

    微處理器的指令集架構(gòu)(Instruction Set Architecture,ISA)是計(jì)算機(jī)體系結(jié)構(gòu)中至關(guān)重要的部分,它定義了微處理器能夠執(zhí)行的操作和指令的集合,以及這些指令如何被
    的頭像 發(fā)表于 08-22 10:53 ?841次閱讀

    CISC(復(fù)雜指令集)與RISC(精簡(jiǎn)指令集)的區(qū)別  

    Instruction Set Computers,復(fù)雜指令集計(jì)算)和RISC(Reduced Instruction Set Computers)是兩大類(lèi) 主流的CPU指令集類(lèi)型,其中CISC以Intel,AMD
    發(fā)表于 07-30 17:21

    RISC--V架構(gòu)的特點(diǎn)

    。RISC-V 指令集完全開(kāi)源,設(shè)計(jì)簡(jiǎn)單,易于移植Unix系統(tǒng),模塊化設(shè)計(jì),完整工具鏈,同時(shí)有大量的開(kāi)源實(shí)現(xiàn)和流片案例,得到很多芯片公司的認(rèn)可。RISC-V 架構(gòu)的起步相對(duì)較晚,但發(fā)展
    發(fā)表于 05-24 08:01

    嵌入式系統(tǒng)的概念與范圍開(kāi)發(fā) 指令集架構(gòu)要怎么選才合適?

    想要搭建一套嵌入式系統(tǒng),首先得確認(rèn)想要采用的指令集架構(gòu)(Instruction Set Architectures, ISA),各家的指令集架構(gòu)各有其優(yōu)缺點(diǎn)與擁護(hù)者,本文將為您大致介紹
    的頭像 發(fā)表于 03-28 09:35 ?678次閱讀
    嵌入式系統(tǒng)的概念與范圍開(kāi)發(fā) <b class='flag-5'>指令集</b><b class='flag-5'>架構(gòu)</b>要怎么選才合適?

    RISC-V開(kāi)源指令集全面指南與解析

    它應(yīng)該是穩(wěn)定的,基礎(chǔ)的指令集架構(gòu)不應(yīng)該改變。更重要的是,它不能像以前的專(zhuān)有指令集架構(gòu)一樣被棄用,例如AMD Am29000、Digital Alpha、Digital VAX、Hewl
    的頭像 發(fā)表于 03-13 09:41 ?658次閱讀
    RISC-V<b class='flag-5'>開(kāi)源</b><b class='flag-5'>指令集</b>全面指南與解析

    什么是RISC-V?RISC-V指令集的優(yōu)勢(shì)

    CPU 支持的所有指令指令的字節(jié)級(jí)編碼就是這個(gè) CPU 的指令集架構(gòu)(Instruction Set Architecture,ISA),指令集
    發(fā)表于 03-05 10:31 ?687次閱讀
    什么是RISC-V?RISC-V<b class='flag-5'>指令集</b>的優(yōu)勢(shì)

    【RISC-V開(kāi)放架構(gòu)設(shè)計(jì)之道|閱讀體驗(yàn)】匯編語(yǔ)言和擴(kuò)展指令集

    【RISC-V開(kāi)放架構(gòu)設(shè)計(jì)之道|閱讀體驗(yàn)】匯編語(yǔ)言和擴(kuò)展指令集 匯編語(yǔ)言 將C語(yǔ)言翻譯成可執(zhí)行的機(jī)器語(yǔ)言的重要步驟包括編譯過(guò)程,匯編過(guò)程,鏈接過(guò)程。 函數(shù)調(diào)用約定過(guò)程分為六個(gè)階段: 1)將參數(shù)存放
    發(fā)表于 02-03 13:29

    翼輝信息已正式加入對(duì)申威SW64自主指令集架構(gòu)的支持

    近日,翼輝信息發(fā)布了最新的 SylixOS V3.4.0 操作系統(tǒng)。在 SylixOS V3.4.0 中,已正式加入了對(duì)申威 SW64 自主指令集架構(gòu)的支持。
    的頭像 發(fā)表于 12-28 11:45 ?3593次閱讀
    翼輝信息已正式加入對(duì)申威SW64自主<b class='flag-5'>指令集</b><b class='flag-5'>架構(gòu)</b>的支持

    現(xiàn)代處理器的主要指令集架構(gòu)

    ? ?現(xiàn)代處理器的主要指令集架構(gòu)(ISA)包括:x86指令集架構(gòu)、RISC指令集架構(gòu)。
    的頭像 發(fā)表于 12-11 09:55 ?4156次閱讀
    現(xiàn)代處理器的主要<b class='flag-5'>指令集</b><b class='flag-5'>架構(gòu)</b>