計(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)接受和歡迎。
-
ARM
+關(guān)注
關(guān)注
134文章
9137瀏覽量
368269 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7525瀏覽量
88328 -
指令
+關(guān)注
關(guān)注
1文章
608瀏覽量
35779
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論