- 嵌入式系統設計與實踐:Linux篇
- 季江民
- 2434字
- 2020-04-03 09:21:43
2.2 ARM微處理器概述
ARM(Advanced RISC Machines),既可以認為是一個公司的名字,也可以認為是對一類微處理器的通稱,還可以認為是一種技術的名字。
采用RISC架構的ARM微處理器一般具有如下特點:
(1)體積小、低功耗、低成本、高性能;
(2)支持Thumb(16位)/ARM(32位)雙指令集,能很好地兼容8位/16位器件;
(3)大量使用寄存器,指令執行速度更快;
(4)大多數數據操作都在寄存器中完成,寄存器與內存打交道的唯一機會是通過Load/Store的體系結構在兩者間傳遞數據;
(5)尋址方式靈活簡單,執行效率高;
(6)指令長度固定。
ARM微處理器目前包括下面幾個系列,以及其他廠商基于ARM體系結構的處理器系列,除了具有ARM體系結構的共同特點以外,每一個系列的ARM微處理器都有各自的特點和應用領域。
● ARM7系列
● ARM9系列
● ARM9E系列
● ARM10E系列
● ARM11系列
● SecurCore系列
● Inter的Xscale系列
● Inter的StrongARM系列
其中,ARM7、ARM9、ARM9E和ARM10E為4個通用處理器系列,每一個系列提供一套相對獨特的性能來滿足不同應用領域的需求。SecurCore系列專門為安全要求較高的應用而設計。如圖2.4所示是ARM系統的流水線結構示意圖。

圖2.4 ARM系統流水線結構
當前在嵌入式領域中,ARM(Advanced RISC Machines)處理器被廣泛應用于各種嵌入式設備中。由于ARM嵌入式體系結構類似并且具有通用的外圍電路,同時ARM內核的嵌入式最小系統的設計原則及方法基本相同,這使得對嵌入式最小系統的研究在整個系統的開發中具有至關重要的意義。到目前為止,ARM微處理器及技術的應用幾乎已經深入到各個領域:
(1)工業控制領域:作為32位的RISC架構,基于ARM核的微控制器芯片不但占據了高端微控制器市場的大部分市場份額,同時也逐漸向低端微控制器應用領域擴展,ARM微控制器的低功耗、高性價比,向傳統的8位/16位微控制器提出了挑戰。
(2)無線通信領域:目前已有超過85%的無線通信設備采用了ARM技術,ARM以其高性能和低成本,在該領域的地位日益鞏固。
(3)網絡應用:隨著寬帶技術的推廣,采用ARM技術的ADSL芯片正逐步獲得競爭優勢。此外,ARM在語音及視頻處理上行了優化,并獲得廣泛支持,也對DSP的應用領域提出了挑戰。
(4)消費類電子產品:ARM技術在目前流行的數字音頻播放器、數字機頂盒和游戲機中得到廣泛采用。
(5)成像和安全產品:現在流行的數碼相機和打印機中絕大部分采用ARM技術。手機中的32位SIM智能卡也采用了ARM技術。
目前在嵌入式系統開發的過程中,開發者往往把大量精力投入到嵌入式微處理器MPU(Micro Processing Unit)與眾多外設的連接方式以及應用代碼的開發之中,而忽視了對嵌入式系統最基本、最核心部分的研究。
2.2.1 ARM9微處理器特點
ARM9系列微處理器在高性能和低功耗特性方面提供最佳的體驗。具有以下特點:
● 5級整數流水線,指令執行效率更高。
● 提供1.1MIPS/MHz的哈佛結構。
● 支持32位ARM指令集和16位Thumb指令集。
● 支持32位的高速AMBA總線接口。
● 全性能的MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統。
● MPU支持實時操作系統。
● 支持數據Cache和指令Cache,具有更高的指令和數據處理能力。
ARM9系列微處理器主要應用于無線設備、儀器儀表、安全系統、機頂盒、高端打印機、數字照相機和數字攝像機等。
ARM9系列微處理器包含ARM920T、ARM922T和ARM940T三種類型,以適用于不同的應用場合。其中ARM體系結構的命名規則如表2.1所示。
表2.1 ARM體系結構的命名規則

例如:ARM7微處理器ARM7TDMI中的T表示支持壓縮指令集Thumb、D表示支持片上Debug、M支持內核硬件乘法器、I表示支持片上斷點與調試點。
選擇ARM處理器,主要考慮的因素有:ARM微處理器內核、系統的工作頻率、晶片內部存儲器的容量、引導系統。
ARM微處理器有以下7種運行模式。
● 用戶模式(usr):ARM處理器正常的程序執行狀態。
● 快速中斷模式(fiq):用于高速數據傳輸或通道處理。
● 外部中斷模式(irq):用于通常的中斷處理。
● 管理模式(svc):操作系統使用的保護模式。
● 數據訪問終止模式(abt):當數據或指令預取終止時進入該模式,可用于虛擬存儲及存儲保護。
● 系統模式(sys):運行具有特權的操作系統任務。
● 未定義指令中止模式(und):當未定義的指令執行時進入該模式,可用于支持硬件協處理器的軟件仿真。
注意:
ARM7TDMI不支持對MMU的管理。
2.2.2 ARM選型原則
鑒于ARM微處理器的眾多優點,隨著國內外嵌入式應用領域的逐步發展,ARM微處理器必然會獲得廣泛的重視和應用。但是,由于ARM微處理器有多達十幾種的內核結構,幾十個芯片生產廠家,以及千變萬化的內部功能配置組合,給開發人員在選擇方案時帶來一定的困難,所以,對ARM芯片做一些對比研究是十分必要的。以下從應用的角度出發,對在選擇ARM微處理器時所應考慮的主要問題做一些簡要的探討。
1. ARM微處理器內核的選擇
從前面所介紹的內容可知,ARM微處理器包含一系列的內核結構,以適應不同的應用領域,用戶如果希望使用WinCE或標準Linux等操作系統以減少軟件開發時間,就需要選擇ARM720T以上,帶有MMU(Memory Management Unit)功能的ARM芯片,例如ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都帶有MMU功能。
本書所討論的S3C2410基于ARM920T內核,它帶有MMU,因此支持Windows CE和標準Linux,并且在穩定性和其他方面也都有上佳表現。
2.系統的工作頻率
系統的工作頻率在很大程度上決定了ARM微處理器的處理能力。ARM7系列微處理器的典型處理速度為0.9MIPS/MHz, ARM9系列微處理器的典型處理速度為1.1MIPS/MHz,常見的ARM9的系統主時鐘頻率為100MHz-233MHz, ARM10最高可以達到700MHz。不同芯片對時鐘的處理不同,有的芯片只需要一個主時鐘頻率,有的芯片內部時鐘控制器可以分別為ARM核和USB、UART、DSP、音頻等功能部件提供不同頻率的時鐘。
本書所討論的S3C2410時鐘頻率為200MHz以上,若更換成S3C2440時鐘頻率最高可達到500MHz。
3.芯片內存儲器的容量
大多數的ARM微處理器片內存儲器的容量都不大,需要用戶在設計系統時外擴存儲器,但也有部分芯片具有相對較大的片內存儲空間,如ATMEL的AT91F40162就具有高達2MB的片內程序存儲空間,用戶在設計時可考慮選用這種類型,以簡化系統的設計。
4.片內外圍電路的選擇
除ARM微處理器核以外,幾乎所有的ARM芯片均根據各自不同的應用領域,擴展了相關功能模塊,并集成在芯片之中,稱之為片內外圍電路,如USB接口、IIC接口、IIS接口、LCD控制器、鍵盤接口、RTC、ADC和DAC、DSP協處理器等,設計者應分析系統的需求,盡可能采用片內外圍電路完成所需的功能,這樣既可簡化系統的設計,同時提高系統的可靠性。