如何跟ARM開發(fā)工程師愉快地聊天(一)

起因是一次內(nèi)部會(huì)議,大家在聊天的過(guò)程中發(fā)現(xiàn)雖然都是基于ARM平臺(tái)在做開發(fā)沼撕,但彼此之間不見得能很清楚的get到對(duì)方到底在說(shuō)些什么宋雏。所以我覺(jué)得可以寫一個(gè)聊天指南,大概的目的就是如何在十分鐘讓一個(gè)ARM開發(fā)工程師覺(jué)得你可以一聊务豺。有幾點(diǎn)說(shuō)明:

  1. 這不是一個(gè)技術(shù)手冊(cè)磨总,并不會(huì)討論太多的技術(shù)細(xì)節(jié);
  2. 不面向大神笼沥;
  3. 如果我比較勤奮蚪燕,那么這個(gè)系列或許還會(huì)涉及ARM一些基本概念,一點(diǎn)memory相關(guān)奔浅,或許還有一點(diǎn)Cache馆纳,一點(diǎn)Trustzone,一點(diǎn)Virtualization汹桦,以上統(tǒng)統(tǒng)都是以隨便聊聊為前提鲁驶,畢竟每個(gè)展開就是幾千頁(yè)的ARM手冊(cè)了。
  4. 水平能力有限营勤,錯(cuò)漏難免灵嫌,歡迎指正。

那么開始吧葛作。

隨便聊聊ARM是什么

做過(guò)ARM開發(fā)的人都知道ARM是款處理器寿羞,跟大部分PC都是 intel inside 類似,絕大部分移動(dòng)設(shè)備也都是 ARM inside赂蠢。學(xué)過(guò)微機(jī)原理的還會(huì)知道 ARM CPU 和 intel CPU 其中一個(gè)重要的區(qū)別就在于精簡(jiǎn)指令集(RISC)和復(fù)雜指令集(CISC)的區(qū)別绪穆,并由此帶來(lái)了指令集解碼器和制造工藝的差異,最直接的表現(xiàn)就是ARM CPU 和 intel CPU 在計(jì)算能力和功耗上的差異虱岂,ARM CPU 無(wú)法匹配 intel CPU 強(qiáng)大的計(jì)算能力玖院,但 intel CPU 也很難在低功耗上和ARM CPU一較高下,最直接的結(jié)果就是intel 占領(lǐng)了大部分桌面平臺(tái)第岖,而ARM則統(tǒng)治了移動(dòng)設(shè)備难菌。當(dāng)然這只是兩者之間最淺層的區(qū)別,畢竟如果只是聊天的話蔑滓,知道這些應(yīng)該就是可以開始了郊酒。另外這并不意味兩者絕對(duì)的分裂遇绞,畢竟 intel 也在默默的耕耘 atom 系列,希望可以搶占部分移動(dòng)設(shè)備市場(chǎng)燎窘。

芯片中總提到的Cortex是什么

買手機(jī)關(guān)注參數(shù)的人應(yīng)該對(duì)高通驍龍系列摹闽,華為麒麟系列什么的都很熟悉,數(shù)據(jù)控可能對(duì)每款芯片搭載什么CPU褐健,GPU付鹿,Modem等等了如指掌。先聊一波CPU的部分,以驍龍810舉個(gè)例子,這是一款八核芯片诡曙,處理器由四核ARM? Cortex-A57架構(gòu) CPU和四核ARM? Cortex-A53架構(gòu) CPU組成。那么說(shuō)到Cortex-A57纽匙,Cortex-A53的時(shí)候,到底在說(shuō)什么呢拍谐≈虻蓿回到臺(tái)式機(jī),大概很少有人分不清奔三奔四轩拨,酷睿i5践瓷,i7是什么,計(jì)算機(jī)專業(yè)古早時(shí)候?qū)W微機(jī)原理都是從intel 的 8086開始學(xué)起亡蓉,然后就是286晕翠,386等等等等漫長(zhǎng)的幾十年到現(xiàn)在。對(duì)于ARM來(lái)說(shuō)也是類似的過(guò)程砍濒,簡(jiǎn)單聊聊ARM的發(fā)展歷史淋肾,比較了解過(guò)去才能更好的掌握現(xiàn)在。
ARM公司的全稱是Advanced RISC Machines爸邢,1990年正式成立樊卓,前身是英國(guó) Acorn 公司,該公司在1985年推出了第一款商用 RISC 處理器:ARM1杠河,此后陸續(xù)推出了 ARM2碌尔,ARM3。90年ARM公司脫胎于Acorn正式成立之后券敌,在91年推出了 ARM6唾戚,之后又不斷推出ARM7,ARM8一直到ARM11待诅。ARM 11 之前統(tǒng)稱為Classic core叹坦,ARM11之后的系列正式更名為Cortex core系列,并逐漸細(xì)分出 Cortex-A卑雁,Cortex-R募书,Cortex-M 三大系列轧钓,面向不同的細(xì)分市場(chǎng)。Cortex-A系列锐膜,application processor,應(yīng)用型處理器弛房,簡(jiǎn)單說(shuō)就是面向操作系統(tǒng)和應(yīng)用程序開發(fā)道盏,主要應(yīng)用于手機(jī),數(shù)字電視等豐富應(yīng)用場(chǎng)景的設(shè)備文捶;Cortex-R系列荷逞,real-time processor,實(shí)時(shí)處理器粹排,最大的特點(diǎn)是實(shí)時(shí)響應(yīng)种远,可以簡(jiǎn)單理解為對(duì)指令的響應(yīng)最為及時(shí),因?yàn)闇?zhǔn)確和可靠顽耳,很多汽車控制平臺(tái)會(huì)采用這個(gè)系列坠敷;Cortex-M,Microcontroller Processors射富,微控制器處理器膝迎,M系列更加的低成本和低功耗,常常被應(yīng)用在工業(yè)控制領(lǐng)域胰耗。每個(gè)系列都有各自的衍生產(chǎn)品限次,如Cortex-A7,Cortex-R5柴灯,Cortex-M4等等等等卖漫。當(dāng)然這三個(gè)系列最本質(zhì)的差別在于硬件架構(gòu),有機(jī)會(huì)詳聊的時(shí)候再說(shuō)吧~ 總之現(xiàn)在聊天的時(shí)候赠群,我們大概知道Cortex就是和酷睿差不多的名詞了羊始。

ARM8 和 ARMv8 是一個(gè)意思嗎

繼續(xù)以驍龍810為例,更詳細(xì)的參數(shù)介紹會(huì)告訴你乎串,這款芯片是基于ARMv8指令集店枣。那么ARMv8又是什么,和剛剛提到的ARM8是一個(gè)東西嗎叹誉。直接了當(dāng)?shù)恼f(shuō)鸯两,ARM8和ARMv8是完全不同的概念,再進(jìn)一步說(shuō)长豁,ARM8是ARM產(chǎn)品其中一個(gè)系列钧唐,而ARMv8指的則是ARM的一代硬件架構(gòu)。ARM8這款產(chǎn)品事實(shí)上是ARMv4架構(gòu)匠襟,而真正使用ARMv8架構(gòu)的首發(fā)ARM產(chǎn)品是ARM Cortex-A53和Cortex-A57钝侠,是不是有點(diǎn)混亂该园,有個(gè)簡(jiǎn)單的對(duì)應(yīng)關(guān)系表:

ARM Architecture ARM Holdings
ARMv1 ARM1
ARMv2 ARM2,ARM250帅韧,ARM3
ARMv3 ARM6里初,ARM7
ARMv4 ARM8
ARMv4T ARM7TDMI,ARM9TDMI
ARMv5TE ARM7EJ忽舟,ARM9E双妨,ARM10E
ARMv6 ARM11
ARMv7-A Cortex-A5,Cortex-A7叮阅,Cortex-A8刁品,Cortex-A9,Cortex-A12浩姥,Cortex-A15挑随,Cortex-A17
ARMv8-A Cortex-A35,Cortex-A53勒叠,Cortex-A57兜挨,Cortex-A72,Cortex-A73

還有ARMv6-M眯分,ARMv7-R暑劝,ARMv7-M,ARMv8-R颗搂,ARMv8-M就不再列出來(lái)了担猛。

64位是不是比32位厲害一點(diǎn)

終于講到一個(gè)宏大的命題了,32位與64位丢氢。要講清楚32位處理器和64位處理器的區(qū)別所在傅联,真的是個(gè)很大的話題。從表面看似乎只是四車道變成了八車道疚察,CPU處理的數(shù)據(jù)量由 32bit 提升到了 64bit蒸走,然而隨之而來(lái)的硬件架構(gòu)的調(diào)整可以寫上幾千頁(yè)的文檔。這里我們先簡(jiǎn)單的開個(gè)頭吧貌嫡。
首先我們可以聊聊為什么需要64位處理器比驻。首當(dāng)其沖當(dāng)然是為了解決大內(nèi)存問(wèn)題。我們都知道岛抄,32位處理器能訪問(wèn)的最大虛擬內(nèi)存是2的32次方個(gè)bit别惦,也就是4G。隨著軟件的迅速發(fā)展夫椭,如果某個(gè)應(yīng)用需要超過(guò)4G的虛擬內(nèi)存怎么辦掸掸。在ARMv7的基礎(chǔ)上,ARM提出了一種LPAE(Large Physical Address Extensions)技術(shù),將內(nèi)存尋址擴(kuò)大到了40 bits扰付。而隨著桌面系統(tǒng)64位處理器漸成主流堤撵,移動(dòng)設(shè)備也漸漸對(duì)ARM處理器提出了更高的需求。終于在2011年ARM給出了一份關(guān)于ARMv8的白皮書羽莺,在這份白皮書里ARM解釋了為什么在移動(dòng)設(shè)備端對(duì)64位應(yīng)用的需求還不是那么強(qiáng)烈的時(shí)候实昨,ARM選擇推出一種全新的64位架構(gòu):Because of Trends。 :)

希望在以后的系列中盐固,我們可以繼續(xù)聊一聊32位和64位ARM處理器在架構(gòu)上究竟有哪些不同屠橄。
希望我足夠勤奮~ :P

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市闰挡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌礁哄,老刑警劉巖长酗,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異桐绒,居然都是意外死亡夺脾,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門茉继,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)咧叭,“玉大人,你說(shuō)我怎么就攤上這事烁竭》撇纾” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵派撕,是天一觀的道長(zhǎng)婉弹。 經(jīng)常有香客問(wèn)我,道長(zhǎng)终吼,這世上最難降的妖魔是什么镀赌? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮际跪,結(jié)果婚禮上商佛,老公的妹妹穿的比我還像新娘。我一直安慰自己姆打,他們只是感情好良姆,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著幔戏,像睡著了一般歇盼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上评抚,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天豹缀,我揣著相機(jī)與錄音伯复,去河邊找鬼。 笑死邢笙,一個(gè)胖子當(dāng)著我的面吹牛啸如,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播氮惯,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼叮雳,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了妇汗?” 一聲冷哼從身側(cè)響起帘不,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎杨箭,沒(méi)想到半個(gè)月后寞焙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡互婿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年捣郊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慈参。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡呛牲,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出驮配,到底是詐尸還是另有隱情娘扩,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布壮锻,位于F島的核電站畜侦,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏躯保。R本人自食惡果不足惜旋膳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望途事。 院中可真熱鬧验懊,春花似錦、人聲如沸尸变。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)召烂。三九已至碱工,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背怕篷。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工历筝, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人廊谓。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓梳猪,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蒸痹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子春弥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容