當前位置:
首頁 > 最新 > 一文讀懂ARM技術架構

一文讀懂ARM技術架構

本文轉載自感測器技術,作者毛富利,謝謝。

據BBC報道稱,其最近獲得的內部文件顯示,英國晶元設計公司ARM已經告訴員工,必須暫停與華為的業務往來。在文件中,ARM指示員工暫停與華為及其子公司的「所有有效合同、支持津貼,以及任何尚未簽訂的合約」,以遵守美國最近的一項貿易限制措施。

一位分析師表示,如果這一行動長期執行下去,對於華為來說,將是一個「不可逾越」的打擊。

他說,這將極大地影響華為開發自己的晶元的能力。因為,華為旗下海思設計的許多晶元目前都是使用ARM的基礎技術製造的,並需要為此支付專利許可費用。

ARM的設計是全球大多數移動設備處理器的基礎。各大手機晶元,包括高通驍龍、Apple A系列、華為麒麟晶元、三星Exynos,等它們的底層均是ARM的技術。

1991 年ARM 公司成立於英國劍橋,在成立後的那幾年,ARM業績平平,工程師們也人心惶惶,害怕隨時都會失業。在這個情況下,ARM決定改變他們的產品策略——他們不再生產晶元,轉而以授權的方式,將晶元設計方案轉讓給其他公司,即「Partnership」開放模式。

沒想到正是這種模式,開創了屬於ARM的全新時代。

ARM所採取的是IP(Intellectual Property,知識產權)授權的商業模式,收取一次性技術授權費用和版稅提成。

具體來說,ARM有三種授權方式:處理器、POP以及架構授權。

處理器授權是指授權合作廠商使用ARM設計好的處理器,對方不能改變原有設計,但可以根據自己的需要調整產品的頻率、功耗等。

POP(processor optimization pack,處理器優化包)授權是處理器授權的高級形式, ARM出售優化後的處理器給授權合作廠商,方便其在特定工藝下設計、生產出性能有保證的處理器。

架構授權是ARM會授權合作廠商使用自己的架構,方便其根據自己的需要來設計處理器(例如後來高通的Krait架構和蘋果的Swift架構,就是在取得ARM的授權後設計完成的)。所以,授權費和版稅就成了ARM的主要收入來源。除此之外,就是軟體工具和技術支持服務的收入。

ARM 微處理器的應用領域及特點

ARM處理器市場覆蓋率最高、發展趨勢廣闊,基於ARM技術的32位微處理器,市場的佔有率目前已達到80%。絕大多數IC製造商都推出了自己的ARM結構晶元。我國的中興集成電路、大唐電訊、華為海思、中芯國際和上海華虹,以及國外的一些公司如德州儀器、意法半導體、Philips、Intel、Samsung等都推出了自己設計的基於ARM核的處理器。

工業控制領域:作為32 的RISC 架構,基於ARM 核的微控制器晶元不但佔據了高端微控制器市場的大部分市場份額,同時也逐漸向低端微控制器應用領域擴展,ARM 微控制器的低功耗、高性價比,向傳統的8 位/16 位微控制器提出了挑戰。

無線通訊領域:目前已有超過85%的無線通訊設備採用了ARM 技術, ARM 以其高性能和低成本,在該領域的地位日益鞏固。

網路設備:隨著寬頻技術的推廣,採用ARM 技術的ADSL 晶元正逐步獲得競爭優勢。此外,ARM 在語音及視頻處理上進行了優化,並獲得廣泛支持,也對DSP 的應用領域提出了挑戰。

消費類電子產品:ARM 技術在目前流行的數字音頻播放器、數字機頂盒和遊戲機中得到廣泛採用。

成像和安全產品:現在流行的數碼相機和印表機中絕大部分採用ARM 技術。手機中的32位SIM 智能卡也採用了ARM 技術。

ARM處理器的特點:

1、體積小、低功耗、低成本、高性能;

2、支持Thumb(16 位)/ARM(32 位)雙指令集,能很好的兼容8 位/16 位器件;

3、大量使用寄存器,指令執行速度更快;

4、大多數數據操作都在寄存器中完成;

5、定址方式靈活簡單,執行效率高;

6、指令長度固定;

ARM相關的幾個重要概念

馮·諾依曼體系

結構模型:

馮·諾依曼體系的特點:

1、數據與指令都存儲在同一存儲區中,取指令與取數據利用同一數據匯流排。

2、被早期大多數計算機所採用。

3、ARM7——馮諾依曼體系結構簡單,但速度較慢。取指不能同時取數據。

哈佛體系

結構模型:

結構特點:

1、程序存儲器與數據存儲器分開.

2、提供了較大的存儲器帶寬,各自有自己的匯流排。

3、適合於數字信號處理.

4、大多數DSP都是哈佛結構.

5、ARM9是哈佛結構,取指和取數在同一周期進行,提高速度,改進哈佛體系結構分成三個存儲區:程序、數據、程序和數據共用。

CISC複雜指令集(Complex Instruction Set Computer)

特點:

1、具有大量的指令和定址方式

2、8/2原則:80%的程序只使用20%的指令

3、大多數程序只使用少量的指令就能夠運行。

4、CISC CPU 包含有豐富的單元電路,因而功能強、面積大、功耗大。

RISC精簡指令集(Reduced Instruction Set Computer)

特點:

1、在通道中只包含最有用的指令,只提供簡單的操作。

2、確保數據通道快速執行每一條指令。

3、Load-store結構—— 處理器只處理寄存器中的數據,load-store指令用來完成數據在寄存器和外部存儲器之間的傳送。

4、使CPU硬體結構設計變得更為簡單, RISC CPU包含較少的單元電路,因而面積小、功耗低。

RISC與CISC主要差別

1、寄存器方面

RISC指令集:擁有更多的通用寄存器,每個可以存放數據和地址,寄存器為所有的數據操作提供快速的存儲訪問。

CISC指令集:多用於特定目的的專用寄存器。

2、LOAD –STORE結構方面

RISC結構:Cpu 僅處理寄存器中的數據,採用獨立的、專用的LOAD –STORE 指令來完成數據在寄存器和外存之間的傳送。(訪存費時,處理和存儲分開,可以反覆的使用保存在寄存器中的數據,而避免多次訪問外存)。

CISC結構:能直接處理存儲器中的數據。

ARM存儲格式

ARM存儲器以8位為一個單元存儲數據(一個位元組),每個存儲單元分配一個存儲地址。

ARM將存儲器看作是從零地址開始的位元組的線性組合。作為32位的微處理器,ARM體系結構所支持的最大定址空間為4GB(232位元組)。從零位元組到三位元組放置第一個存儲的字數據,從第四個位元組到第七個位元組放置第二個存儲的字數據,依次排列。32位的字數據要使用4個地址單元,16位半數據要使用2個地址單元。這樣,就存在一個所存儲的字或半字數據的排列順序問題。ARM體系結構可以用兩種方法存儲字數據,稱為大端格式和小端格式。

大端格式(big-endian):字數據的高位元組存儲在低地址中,而字數據的低位元組則存放在高地址中。

小端格式(low-endian):與大端存儲格式相反。低地址中存放的是字數據的低位元組,高地址存放的是字數據的高位元組。預設設置為小端格式。

ARM體系結構

ARM系列產品表示

ARM處理器的分類

基於指令集體系結構的分類:v1,v2,v5,v5TEJ,v6等

基於處理器內核的分類:ARM7,ARM9,ARM10,ARM11,StrongARM,XScale等

ARM體系結構版本

ARM架構自誕生至今,已經發生了很大的演變,至今已定義的版本有: V1版架構、V2版架構、V3版架構、V4版架構、V5版架構、V6版架構。

V1版架構

該版架構只在原型機ARM1出現過,其基本性能:

1、基本的數據處理指令(無乘法)

2、位元組、半字和字的LOAD/STORE指令

3、轉移指令,包括子程序調用及鏈接指令

4、軟體中斷指令

5、定址空間:64M位元組(26)

V2版架構

該版架構對V1版進行了擴展,如ARM2架構,增加了以下功能:

1、乘法和乘加指令

2、支持協處理器操作指令

3、快速中斷模式

4、SWP/SWPB基本存儲器與寄存器交換指令

5、定址空間:64M位元組

V3版架構

1、把定址空間增至32位(4G位元組),

2、增加了當前程序狀態寄存器CPSR和程序狀態保存寄存器SPSR以便於異常的處理。

3、增加了中止和未定義二種處理器模式。

4、ARM6就採用該版架構。

5、指令集變化:增加了MRS/MSR指令,以訪問新增的CPSR/SPSR寄存器;增加了從異常處理返回的指令功能。

V4版架構

V4版架構是目前應用最廣的ARM體系結構,對V3版架構進行了進一步擴充,有的還引進了16位的Thumb指令集,使ARM使用更加靈活。ARM7、ARM8、ARM9和StrongARM都採用該版架構。

指令集中增加了以下功能:

1、有符號、無符號的半字和有符號位元組的Load/Store指令。

2、增加了16位Thumb指令集

3、完善了軟體中斷SWI指令的功能

4、增加了處理器的特權模式。

V5版架構

這是最近幾年推出ARM架構,在V4版基本上增加了一些新的指令,ARM10和XScale都採用該版架構,這些新增指令有:

1、帶有鏈接和交換的轉移BLX指令

2、計數前導零CLZ指令

3、BKPT軟體斷點指令

4、增加了信號處理指令

5、為協處理器增加更多可選擇的指令

v6版架構

1、適合使用電池供電的攜帶型設備

2、增加了 SIMD功能擴展,提高了嵌入式應用系統的音頻、視頻處理能力。

ARM晶元選擇的一般原則

從應用的角度,對在選擇ARM晶元時所應考慮的主要因素有:

1、ARM芯核:如果希望使用WinCE或Linux等操作系統以減少軟體開發時間,就需要選擇ARM720T以上帶有MMU功能的ARM晶元.

2、系統時鐘控制器:系統時鐘決定了ARM晶元的處理速度。ARM7的處理速度為0.9MIPS/MHz,常見的ARM7晶元系統主時鐘為20MHz-133MHz,ARM9的處理速度為1.1MIPS/MHz,常見的ARM9的系統主時鐘為100MHz-233MHz, ARM10最高可以達到700MHz。

3、內部存儲器容量:在不需要大容量存儲器時,可以考慮選用有內置存儲器的ARM晶元。

4、GPIO數量:在某些晶元供應商提供的說明書中,往往申明的是最大可能的GPIO數量,但是有許多引腳是和地址線、數據線、串口線等引腳復用的。這樣在系統設計時需要計算實際可以使用的GPIO數量。

5、USB介面:許多ARM晶元內置有USB控制器,有些晶元甚至同時有USB Host和USB Slave控制器。

6、中斷控制器:ARM內核只提供快速中斷(FIQ)和標準中斷(IRQ)兩個中斷向量。但各個半導體廠家在設計晶元時加入了自己不同的中斷控制器,以便支持諸如串列口、外部中斷、時鐘中斷等硬體中斷。外部中斷控制是選擇晶元必須考慮的重要因素,合理的外部中斷設計可以很大程度的減少任務調度的工作量。

7、LCD控制器:些ARM晶元內置LCD控制器,有的甚至內置64K彩色TFT LCD控制器。在設計PDA和手持式顯示記錄設備時,選用內置LCD控制器的ARM晶元較為適宜。

8、擴展匯流排:大部分ARM晶元具有外部SDRAM和SRAM擴展介面,不同的ARM晶元可以擴展的晶元數量即片選線數量不同,外部數據匯流排有8位、16位或32位。某些特殊應用的ARM晶元如德國Micronas的PUC3030A沒有外部擴展功能。

9、封裝:主要的封裝有QFP、TQFP、PQFP、LQFP、BGA、LBGA等形式,BGA封裝具有晶元面積小的特點,可以減少PCB板的面積,但是需要專用的焊接設備,無法手工焊接。另外一般BGA封裝的ARM晶元無法用雙面板完成PCB布線,需要多層PCB板布線。

Thumb技術

ARM的RISC體系結構的發展中已經提供了低功耗、小體積、高性能的方案。而為了解決代碼長度的問題,ARM體系結構又增加了T變種,開發了一種新的指令體系,這就是Thumb指令集,它是ARM技術的一大特色。

Thumb是ARM體系結構的擴展。它有從標準32位ARM指令集抽出來的36條指令格式,可以重新編成16位的操作碼。這能帶來很高的代碼密度。

支持Thumb的ARM體系結構的處理器狀態可以方便的切換、運行到Thumb狀態,在該狀態下指令集是16位的Thumb指令集。

與ARM指令集相比.Thumb指令集具有以下局限:

1、完成相同的操作,Thumb指令通常需要更多的指令,因此在對系統運行時間要求苛刻的應用場合ARM指令集更為適合;

2、Thumb指令集沒有包含進行異常處理時需要的一些指令,因此在異常中斷時,還是需要使用ARM指令,這種限制決定了Thumb指令需要和ARM指令配合使用。

END

探索訪談

從蘇州開始,TechSugar編輯部計划走訪上百家電子半導體公司,貼近企業一線,探索產業真相,為大家帶來更真實、更接地氣的報道,給本土企業一個發聲的機會。歡迎企業留言或私信接洽採訪事宜。

探索訪談

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 TechSugar 的精彩文章:

2019Q1智能手機銷量疲軟,華為逆勢增長44.5%︱每周產業數據匯總
MEMS發展與應用

TAG:TechSugar |