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

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

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

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

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

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

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

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

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

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

第二個(gè)誤會則是來自開源社區(qū)。

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

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

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

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

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

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

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

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

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

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

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

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

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

    關(guān)注

    68

    文章

    10772

    瀏覽量

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

    關(guān)注

    0

    文章

    221

    瀏覽量

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

    關(guān)注

    0

    文章

    8

    瀏覽量

    6948

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

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

    RISC-V和arm指令集的對比分析

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

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

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

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

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

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

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

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

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

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

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

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

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

    嵌入式系統(tǒng)的概念與范圍開發(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 ?594次閱讀
    嵌入式系統(tǒng)的概念與范圍開發(fā) <b class='flag-5'>指令集</b><b class='flag-5'>架構(gòu)</b>要怎么選才合適?

    RISC-V開源指令集全面指南與解析

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

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

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

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

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

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

    近日,翼輝信息發(fā)布了最新的 SylixOS V3.4.0 操作系統(tǒng)。在 SylixOS V3.4.0 中,已正式加入了對申威 SW64 自主指令集架構(gòu)的支持。
    的頭像 發(fā)表于 12-28 11:45 ?3434次閱讀
    翼輝信息已正式加入對申威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 ?3795次閱讀
    現(xiàn)代處理器的主要<b class='flag-5'>指令集</b><b class='flag-5'>架構(gòu)</b>