作(zuò)者 | 不(bù)可(kě)說(shuō)
出品 | 汽車(chē)電(diàn)子(zǐ)與軟件λδ(jiàn)
#01 ARM處理(lǐ)器(qì)
當前,在衆多(duō)負責車(chē)輛(liàn™↕g)核心控制(zhì)功能(néng)的(de)控制(zhì)器(qì)中,其內(nèi)部所采用∏λλ(yòng)的(de)處理(lǐ)器(qì)有(yǒu)很(hěn←£)大(dà)一(yī)部分(fēn)均基于ARM架構∏♠。這(zhè)一(yī)架構憑借其出色的(de)能(néng)效比、廣泛的&±♣(de)生(shēng)态系統支持以及高(gāo)度的(de)靈活¶Ω性,在汽車(chē)電(diàn)子(zǐ)領域占據了(≈÷♦le)舉足輕重的(de)地(dì)位。鑒于此,本文(wén)旨在簡要(✘££yào)介紹ARM架構處理(lǐ)器(qì)的(de)特點,供大(dà)家(jiā)探♥™♦λ討(tǎo)交流。 δ↓♣ε &nα≤ε÷bsp;
ARM是(shì)英國(guó)的(de)一(yī)家(jiā)公司,設計(jì)了(l£♦e)低(dī)功耗成本的(de)第一(yī)款RIεβSC微(wēi)處理(lǐ)器(qì),即ARM處理(lǐ)器(qì)(Advancedπ&→ RISC Machines)。在經典處理(lǐ)器(qì)AR↑M11以後,ARM公司的(de)産品開(kāi)始₽ 改用(yòng)Cortex命名,并分(fēn)成A、R和(hé)M三類,旨在為(wèi&π±)各種不(bù)同的(de)市(shì)場(chǎng)提®™•φ供服務。Cortex系列屬于ARMv7架構,這(zhè)是(shì)ARM公α©←司在當時(shí)最新的(de)指令集架構。因此,可(kě)以說(shuō)Cortex是(sh짙£δ)ARM公司推出的(de)一(yī)個(gèεσ)系列處理(lǐ)器(qì)的(de)名稱,其起源可(kě)以追溯到(dào)ARM公¥₽→司的(de)處理(lǐ)器(qì)設計(jì)和(hé)發展曆程。
指令集可(kě)以分(fēn)為(wèi)多(duō✘↕)種類型,其中比較有(yǒu)名的(de)是(shì)複雜(zá)指¶★ 令集(CISC)和(hé)精簡指令集(RISC)。
- 複雜(zá)指令集(CISC):這(zhè)類指令集包含大(dà)量的(de)指令,且每條"∑指令的(de)功能(néng)較為(wèi)複雜(zá)。X86♠€φ¶指令集就(jiù)是(shì)一(yī)種典型的(de)CISC指令集。
- 精簡指令集(RISC):與CISC相(xiàng)對(duì),R€©♥ISC指令集包含的(de)指令數(shù)量較少(shǎo),且每條指令的(de)εβδ功能(néng)相(xiàng)對(duì)簡單。ARM指令集是(shì)RISC指令集®"×₹的(de)一(yī)個(gè)代表,它廣泛應用(yòng)于移動設備、嵌 ✔↓入式系統等領域。
我們還(hái)經常聽(tīng)見(jiàn)“ARM架構的(de)芯片”之類的(✘γ±de)詞彙,其實這(zhè)個(gè)架構指的(de)就(jiù)是(shì)某ε♣©一(yī)個(gè)處理(lǐ)器(qì)所使用(yòng)的€→π✘(de)具體(tǐ)指令集。目前市(shì)場(chǎng)上(shànσ∏εg)主流的(de)芯片架構有(yǒu) X86、ARM、RISC-V和(hé)MIPS四種。
在大(dà)部分(fēnσ♣λ₽)場(chǎng)合,架構等于指令集。例如(rú),如(rú)果一(yī ©∞<)個(gè)處理(lǐ)器(qì)是(shì)基于ARM ™v7架構的(de),那(nà)麽它就(jiù)使'≠ ™用(yòng)ARMv7指令集。指令集架構是(shì)計(jì)算®♠•(suàn)機(jī)體(tǐ)系架構的(de)一(yī)部分(fē£≈♣ n),它規定了(le)處理(lǐ)器(qì)能(nén♠&$♥g)夠識别并執行(xíng)的(de)指令集合。ARM架構還₹α€(hái)有(yǒu)v8、v9版本,v7是(shì)較早的(de)版ε¥本,也(yě)是(shì)目前廣泛應用(yòng)的(de)ARM架構版本之一$$♥(yī),從(cóng)ARMv7架構被分(fēn)為(wφΩφèi)A系列(Application Proce£$γssors,用(yòng)于高(gāo)性"σ能(néng)産品)、R系列(Real-time Processors,§↓用(yòng)于實時(shí)系統)和(hé)βδM系列(Microcontroller Processors,用(yòng)于微(w∏✘≈ēi)控制(zhì)器(qì));ARMv9是(shì)ARM架構的(de)最新版本,這 > ↔(zhè)三個(gè)版本指令集的(de)對(duì)®§÷比大(dà)緻如(rú)下(xià):
×♦♠ARMv7:
- 它引入了(le)新的(de)指令集,如(rú)Thumb-2,這(zhè § )是(shì)一(yī)種混合了(le)32位和(hé)16位指令的(d ♣↑e)新指令集,既能(néng)提供高(gāo)性能(néng),又(yò'↕Ωu)能(néng)節省存儲空(kōng)間(jiān)。
- ARMv7還(hái)支持硬件(jiàn'♦•)浮點運算(suàn)(VFPv3),提高(gāo)了(←↕le)處理(lǐ)器(qì)處理(lǐ)浮點數(shù)的(de)能(néng)力。
ARMv8:
- 這(zhè)是(shì)ARM首次引入的α₹♥(de)64位架構版本。
←★✘ - 它同時(shí)支持64位和(hé)32位應用(yòng),提供±←了(le)更大(dà)的(de)地(dì)址空(kōng)間(jiān)、更多(duō)寄存器(q±>ì)和(hé)增強的(de)安全特性。
£≥≈- ARMv8引入了(le)新的(de)指令集AArch64,用(yòng)于執行(xíng)64位操✔★φ作(zuò)。
≥™- 該架構還(hái)改進了(le)浮點和(hé)SIMD(單指令多(duō)數(shù)據)的(de)支持,包括新的(de)浮點運算(suàn)指令ε≥↓•和(hé)為(wèi)多(duō)媒體(tǐ)©β♦和(hé)數(shù)據處理(lǐ)優化(huà)的(de)新SIMD指令。
- ARMv8還(hái)引入了(le)硬件(jiàn)虛拟化(huà)支持,提高(gāo)了(l↔≈e)在虛拟環境中運行(xíng)應用(yòng)的(de)性能(n¶✘éng)。
ARMv9:
- ARMv9對(duì)之前的(de)版本進行(xíng)了(le)一"ε×®(yī)系列優化(huà)和(hé)改進,以提高(gāo)處理(lǐ)器(qì)的(de)性能←♥∞(néng)和(hé)效率。
- 它引入了(le)新的(de)SVE2(Scalable Vector ±φφExtension 2)技(jì)術(shù),這(z•₽☆hè)是(shì)一(yī)種向量運算(∑'©suàn)技(jì)術(shù),可(kě)以顯著提Ω€₽高(gāo)處理(lǐ)器(qì)處理(l®¥ ♦ǐ)機(jī)器(qì)學習(xí)和(hé)人(rén)工(gōng)智能(néng)©≤£任務的(de)能(néng)力。
- ARMv∞φγ"9還(hái)增強了(le)安全功能(néng),引α$入了(le)新的(de)Realm管理(lǐ)架構,以更δ"有(yǒu)效地(dì)防止各種網絡攻擊和(hé)數(shù)據洩露。
- 該架構對(duì)虛拟化(huà)支持進行(xíng)了(le∞αΩ)改進,使得(de)在雲計(jì)算(s♠''uàn)和(hé)其他(tā)高(gāo)性能(néng)計(jì)算(suà×™'✘n)應用(yòng)中的(de)虛拟化(huà)更加高(gāo)效。
直白(bái)的(de)來(lái)講,指令集是(shì)CPU與軟件(j ≠£iàn)之間(jiān)的(de)橋梁,使得(de)軟件(jiàn)能(nénαγg)夠正确地(dì)控制(zhì)CPU執行(xíng)各種操作(zuò)。同時←§÷♥(shí),指令集也(yě)決定了(le)CPU♥↓" 的(de)性能(néng)和(hé)功耗等關鍵指标。不(bù)同的(ε↓₽de)指令集具有(yǒu)不(bù)同的(de)特點和(hé∏ ₹∑)優勢,适用(yòng)于不(bù)同的(de)應用(yòng)場(chǎng♠™★)景。 €δ®
Cortex-A是(shì)面向移動計(jì)算(su£↑© àn)、智能(néng)手機(jī)和(hé)服務器(qì)等市(shì)場(chǎn ♣g)的(de)高(gāo)端處理(lǐ)器(qì),運行(xíng)頻(pín)率Ωλ高(gāo)(>1GHz),支持Linux、Android、Windows等操作(zuò)§€ε系統所需的(de)內(nèi)存管理(lǐ)∏φ↓單元。在車(chē)載領域可(kě)以用(σ≤yòng)于座艙芯片、智駕芯片、中央計(jì)算(suàn)平台芯片等。
Cortex-R用↓$(yòng)于實時(shí)應用(yòng),如(rú)車(c∞π↓↑hē)身(shēn)控制(zhì)器(qì)、汽車(chē)地(dì♠↑↑)盤系統和(hé)動力系統控制(zhì)等,不↑€(bù)支持內(nèi)存管理(lǐ)單元但(dàn)具備✔≤επ其他(tā)存儲器(qì)功能(néng),運行(xíng)頻(≈εpín)率較高(gāo)(200MHz到(dào)>1GHz),響應延遲低(™♥ dī),支持實時(shí)操作(zuò)÷∏系統而非完整Linux和(hé)Windows。
CoΩ ✘rtex-M設計(jì)小(xiǎo)巧¶ ✔且能(néng)效高(gāo),時(shí)鐘(zhōng₽≈₹)頻(pín)率較低(dī)但(dàn)部分(∏¥fēn)可(kě)達200Mhz以上(shàng),新的(☆Ω ♣de)Cortex-M系列易于使用(yòng),在單片機(jī)和☆®"(hé)深度嵌入式系統中廣受歡迎,也(yě)可(kě)以用(yònπβ±↔g)于車(chē)身(shēn)控制(zhì)等,隻是(shì)性能(n₽π€≥éng)較Cortex-R差一(yī)點。
不(bù)過芯弛推出的(de)主要(yào)÷♥↔✔用(yòng)于車(chē)控、域控的(de)芯片E3系列,沒有(yǒu¥'∞→)采用(yòng)Cortex-A,而是(shì)Cortex-♦φ•"R5及Cortex-R52+的(de)形式,這(zhè)是(shì)因為(wèi)E3 MC∏≈☆U是(shì)針對(duì)汽車(chē)安全相(xiàng)關應用(yòng♥Ω<)設計(jì)的(de)新一(yī)代高(g>₽φāo)性能(néng)微(wēi)控制(zhì)器(qì)産品,根據此需求并未選擇Cortex-↕←♥€A,而是(shì)實時(shí)性好(hǎo)、安全性高(gāo)的(de)Co ✘±×rtex-R系列處理(lǐ)器(qì)。 &nbsλλ₩p;
瑞薩δβΩ§的(de)R-Car H3e(-2G) 是(shì)一(yī)款€✔用(yòng)于高(gāo)端計(jì)算(suàn)的(de)汽車π↑£ (chē)SOC,核心處理(lǐ)器(qì)包含☆↑≤了(le)四個(gè)Cortex-A5☆₹≈7、四個(gè)Cortex-A53、雙核鎖步的(de)Cortex-R7,計(jì)算ק(suàn)性能(néng)非常強大(dà),可(k≈ě)準确實時(shí)地(dì)處理(lǐ)來(lái)自(zì)汽車(chē)傳感器(qì)的(∑•de)大(dà)量信息。它的(de)應用(yòng)非常廣泛,例如(rú)車(chē)載>£®♦娛樂(yuè)信息系統和(hé)集成駕駛艙。它符合 ISOΩ"© 26262(ASIL-B) 汽車(chē)功能(néng)安全标準和(hé)信息安全要(yγ₽ào)求。2GHz 運行(xíng)速度的(de) (H3e-2G) 在提高(gāo)處理(l©•φ¥ǐ)能(néng)力的(de)同時(shí)保持硬件(jià ✔•n)和(hé)軟件(jiàn)兼容性。
總的(de)來(lái)說(shuō↑§),ARM架構以其低(dī)功耗、高(gāo)性能(néng)和(hé)可(kěδ>←¶)定制(zhì)化(huà)的(de)特點,在汽車(chē)電(diàn)子(zǐ)領域發揮著←λ↑(zhe)重要(yào)作(zuò)用(yòng)。随著(zhe)技(jì)術(sh∞©ù)的(de)不(bù)斷發展和(hé)創新,ARM架構仍然有(yǒ£λ✘>u)著(zhe)巨大(dà)的(de)發展空(kōng)間(jiān)。通(tōn÷≤π≈g)過選擇合适的(de)核心、優化(huà)代碼、使用(yòng)硬件(jiàn)加速和(hé•♠)優化(huà)存儲器(qì)訪問(wèn)等策略,可(kě)以進一(y♣ ©ī)步提高(gāo)系統的(de)性能(néng)和(hé)功耗效率,滿足各種應用(yòng)場($∞•chǎng)景的(de)需求。