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

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

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

指令集是什么?ARM封殺對(duì)華為有什么影響

Wildesbeast ? 來(lái)源:今日頭條 ? 作者:朱祺QIQI ? 2020-02-07 15:49 ? 次閱讀

計(jì)算機(jī)語(yǔ)言經(jīng)過(guò)不斷發(fā)展分為三個(gè)層次,高級(jí)語(yǔ)言、匯編語(yǔ)言和機(jī)器語(yǔ)言。

1、機(jī)器語(yǔ)言

我們?nèi)祟愒谟?jì)算數(shù)字的時(shí)候習(xí)慣于用10進(jìn)制的表示方法,據(jù)說(shuō)是因?yàn)槿祟愑?0根手指的關(guān)系。但是對(duì)計(jì)算機(jī)來(lái)說(shuō)靠的是高低電平來(lái)表示所有的信息,在這個(gè)前提下要以10進(jìn)制的方式表示信息就比較復(fù)雜,最適合計(jì)算機(jī)的表示方式就是高電平代表1,低電平代表0,所有的信息都是以0和1的組合方式來(lái)表示,不管是簡(jiǎn)單的加法還是微信還是游戲,本質(zhì)上就是0和1組成的指令進(jìn)行計(jì)算的結(jié)果。因此以0和1組成的指令是計(jì)算機(jī)最底層的語(yǔ)言,事實(shí)上計(jì)算機(jī)也僅能理解這種溝通方式,這種語(yǔ)言叫機(jī)器語(yǔ)言。

2、匯編語(yǔ)言

機(jī)器語(yǔ)言的問題在于人類要傳遞給計(jì)算機(jī)任何信息都必須以0和1的組合序列表達(dá),不符合人類的溝通習(xí)慣,因此有了助記符的概念并在這個(gè)基礎(chǔ)上產(chǎn)生了匯編語(yǔ)言,通俗來(lái)說(shuō)我們需要將1+2這種信息表達(dá)為計(jì)算機(jī)可接受的0和1的組合,因?yàn)槿祟惛芙邮?+2這種表達(dá)方式,而計(jì)算機(jī)只能接受0和1的表達(dá)方式,匯編語(yǔ)言就是初步解決了人類和計(jì)算機(jī)的溝通難度,提高了溝通效率。

3、指令集的作用

以下以實(shí)際ARMv8指令集舉一個(gè)最簡(jiǎn)單的加法例子來(lái)說(shuō)明指令集的作用。

高級(jí)語(yǔ)言語(yǔ)句:1+2

匯編語(yǔ)言語(yǔ)句:ADD X9(存放1+2的結(jié)果),X10(存放1),X11(存放2)

在編譯成機(jī)器語(yǔ)言時(shí),需要解決幾個(gè)問題:

(1) 怎么讓計(jì)算機(jī)明白ADD是什么意思

(2) 怎么讓計(jì)算機(jī)以0和1的組合序列表達(dá)1+2這個(gè)計(jì)算指令

先解決第一個(gè)問題,芯片廠商定義一串序列表示加法,根據(jù)ARMv8指令集,1112(十進(jìn)制)代表加法,進(jìn)一步表示為二進(jìn)制為10001011000(二進(jìn)制)。

解決第二個(gè)問題分為兩個(gè)步驟,通俗來(lái)說(shuō)就是單詞和語(yǔ)法,單詞的翻譯結(jié)果為ADD=1112(十進(jìn)制)=10001011000(二進(jìn)制);X9寄存器=9(十進(jìn)制)=1001(二進(jìn)制);X10寄存器=10(十進(jìn)制)=1010(二進(jìn)制);X11寄存器=11(十進(jìn)制)=1011(二進(jìn)制)。之后是語(yǔ)法也就是按照什么順序讓計(jì)算機(jī)讀懂以及每個(gè)二進(jìn)制字段所占的位數(shù)。ARMv8指令集對(duì)于加法的指令格式如下:

這里忽略位移量這個(gè)參數(shù),按照指令格式將1+2填入此表:

最終根據(jù)ARMv8指令集,1+2的機(jī)器語(yǔ)言指令為10001011000010110000000101001001。

4、ARM封殺對(duì)華為的影響

目前采用發(fā)布于2011年的ARMv8指令集的公司有蘋果公司、高通、華為等,ARM本身是一家設(shè)計(jì)公司不生產(chǎn)芯片,采用不同等級(jí)的授權(quán)方式授權(quán)芯片制造廠根據(jù)其設(shè)計(jì)制造芯片,根據(jù)其授權(quán)生產(chǎn)的芯片就必須采用其指令集。根據(jù)以上例子,ARM架構(gòu)的芯片認(rèn)為操作碼1112代表加法,目前蘋果、高通、華為的芯片都認(rèn)為1112代表加法。封殺華為后,華為采用自己的芯片就有自己的指令集,在新的指令集下,1112未必代表加法并且同樣要表示1+2,指令結(jié)構(gòu)也就是語(yǔ)法也會(huì)不一樣。由于機(jī)器語(yǔ)言是最底層并且計(jì)算機(jī)唯一能讀懂的語(yǔ)言,指令集的改變就涉及所有的上層程序的重寫,重中之重就是操作系統(tǒng)。無(wú)法要求同一個(gè)操作系統(tǒng)適應(yīng)不同的指令集。所以相對(duì)技術(shù),芯片的市場(chǎng)占有率是指令集能否成為公認(rèn)標(biāo)準(zhǔn)的唯一指標(biāo),而ARM架構(gòu)的芯片在目前移動(dòng)端的市場(chǎng)占有率接近壟斷。中國(guó)移動(dòng)設(shè)備是一個(gè)巨大的市場(chǎng),客觀分析,并不是ARM封殺華為后華為就會(huì)倒掉,只要市場(chǎng)足夠大,采用華為芯片和指令集的設(shè)備足夠多,華為芯片就會(huì)打破ARM壟斷的格局成為和ARM并列的芯片設(shè)計(jì)方,甚至如果芯片性能能夠超越ARM架構(gòu)的芯片的情況下,華為芯片將會(huì)在移動(dòng)端市場(chǎng)與蘋果高通平分秋色。一切還是華為技術(shù)是否足夠強(qiáng)大,像其5G技術(shù)一樣位居世界前列并能讓市場(chǎng)接受和歡迎。

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

    關(guān)注

    134

    文章

    9137

    瀏覽量

    368269
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7525

    瀏覽量

    88328
  • 指令
    +關(guān)注

    關(guān)注

    1

    文章

    608

    瀏覽量

    35779
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    常用ARM指令集及匯編

    常用ARM指令集及匯編ARM處理器是基于精簡(jiǎn)指令集計(jì)算機(jī)(RISC)原理設(shè)計(jì)的,指令集和相關(guān)譯碼機(jī)制較為簡(jiǎn)單,
    發(fā)表于 11-23 09:38

    ARM指令集文章集合

    三、指令集如果你想要集中學(xué)習(xí)一下關(guān)于ARM指令集方面的知識(shí)(比如下面幾個(gè)知識(shí)點(diǎn)),可以看下下面的文章1、機(jī)器碼2、運(yùn)算指令3、控制指令4、匯
    發(fā)表于 09-07 22:06

    常用的ARM匯編指令集哪些?

    常用的ARM匯編指令集哪些?
    發(fā)表于 10-25 07:06

    ARM指令集的特點(diǎn)哪些呢

    1、ARM指令集ARM指令集格式ARM指令集ARM
    發(fā)表于 12-14 07:24

    ARM指令集和THUMB指令集分別在什么情況使用

    ARM7的來(lái):ARM指令集和THUMB指令集分別在什么情況使用,它們什么區(qū)別?通俗的解釋一下
    發(fā)表于 11-02 14:20

    ARM指令集下載 arm指令集參考手冊(cè)

    ARM指令集下載 arm指令集參考手冊(cè), ARM 指令集 寄存器和處理器模式(26-bi
    發(fā)表于 12-25 09:20 ?118次下載

    常用arm指令集及匯編

    常用arm指令集及匯編
    發(fā)表于 09-09 14:22 ?34次下載
    常用<b class='flag-5'>arm</b><b class='flag-5'>指令集</b>及匯編

    arm指令集(1)

    arm指令集(1)  ARM跳轉(zhuǎn)指令可以從當(dāng)前指令向前或向后的32MB地址空間跳轉(zhuǎn)。這類跳轉(zhuǎn)指令
    發(fā)表于 03-02 15:46 ?79次下載

    ARM指令集詳解

    ARM指令集詳解 內(nèi)容提要 ARM指令集 ARM指令集分類與
    發(fā)表于 03-09 09:39 ?263次下載
    <b class='flag-5'>ARM</b><b class='flag-5'>指令集</b>詳解

    ARM指令集介紹

    arm開發(fā)板 嵌入式開發(fā) 指令集 PDF文檔。
    發(fā)表于 05-03 16:42 ?5次下載

    常用的ARM指令集及匯編

    常用的ARM指令集及匯編
    發(fā)表于 10-30 10:07 ?24次下載
    常用的<b class='flag-5'>ARM</b><b class='flag-5'>指令集</b>及匯編

    thumb指令集是什么_thumb指令集arm指令集的區(qū)別

    thumb指令集arm指令集的一個(gè)子集,是針對(duì)代碼密度問題而提出的,它具有16位的代碼寬度。與等價(jià)的32位代碼相比較,thumb指令集在保留32位代碼優(yōu)勢(shì)的同時(shí),大大的節(jié)省了系統(tǒng)的存
    發(fā)表于 11-03 17:34 ?1.8w次閱讀
    thumb<b class='flag-5'>指令集</b>是什么_thumb<b class='flag-5'>指令集</b>與<b class='flag-5'>arm</b><b class='flag-5'>指令集</b>的區(qū)別

    ARM架構(gòu)及ARM指令集 Thumb指令集你了解多少?

    ARM架構(gòu)及ARM指令集、Thumb指令集你了解多少?
    的頭像 發(fā)表于 02-26 16:09 ?7185次閱讀

    華為為什么不研發(fā)新的指令集,而去買ARM的專利

    很多人都在討論,為什么華為公司不自己研發(fā)一套芯片指令集,要買ARM的專利,是沒能力研發(fā)嗎?
    的頭像 發(fā)表于 03-01 08:00 ?5977次閱讀

    ARM處理器的尋址方式和指令集介紹

    ARM處理器是基于精簡(jiǎn)指令集計(jì)算機(jī)(RISC原理設(shè)計(jì)的,指令集和相關(guān)嶧碼機(jī)制較為簡(jiǎn)單。ARM7TDM(S)具有32位ARM
    發(fā)表于 11-24 17:24 ?33次下載
    <b class='flag-5'>ARM</b>處理器的尋址方式和<b class='flag-5'>指令集</b>介紹