ARM內(nèi)核處理器介紹
一、引言
作為Soc(System On Chip)的典型應(yīng)用,和持電話、機頂盒、數(shù)碼像機、GPS、個為數(shù)字助理以及因特網(wǎng)設(shè)備等產(chǎn)品的市場需求越來越大。目前,基于ARM的處理器以其高速度、低功耗等諸多優(yōu)異的性能而成為上述各類產(chǎn)品中選用較多的處理器。
二、ARM內(nèi)核
ARM內(nèi)核分為ARM7、ARM9、ARM10以及StrongARM等幾類。其中每一類又根據(jù)其各自包含的功能模塊而分成多種構(gòu)成在ARM內(nèi)核中有四個功能模塊可供生產(chǎn)廠商根據(jù)不同用戶的不同要求來配置生產(chǎn)。這四個模塊分別用T、D、M和I來表示。
T:表示Thumb,該內(nèi)核可從16位指令集擴充到32位ARM指令集。
D:表示Debug,該內(nèi)核中放置了用于調(diào)試的結(jié)構(gòu),通常它為一個邊界掃描JTAG,可使CPU進入調(diào)試模式,從而可方便地進行斷點設(shè)置、單步調(diào)試。
M:表示Multiplier,是8位乘法器。
I:表示EmbeddedICE Logic,用于實現(xiàn)斷點觀測及變量觀測的邏輯電路部分,其中的TAP控制器可接入到邊界掃描鏈。
ARM7
ARM7 采用ARMV4T(Newman)結(jié)構(gòu),分為三級流水,空間統(tǒng)一的指令與數(shù)據(jù)Cache,平均功耗為0.6mW/MHz,時鐘速度為66MHz,每條指令平均執(zhí)行1.9個時鐘周期。其中的ARM710,ARM720和ARM740為內(nèi)帶Cache的ARM核。
ARM9
ARM9 采用ARMV4T(Harvard)結(jié)構(gòu),五級流水處理以及分離的Cache結(jié)構(gòu),平均功耗為0.7mW/MHz。時鐘速度為120MHz- 200MHz,每條指令平均執(zhí)行1.5個時鐘周期。與ARM7系列相似,其中的ARM920、ARM940和ARM9E為含Cache的CPU核。性能為132MIPS(120MHz時鐘,3.3V供)或220MIPS(200MHz時鐘)。
ARM10
ARM10采用ARMV5T結(jié)構(gòu),六級流水處理,指令與數(shù)據(jù)分離的Cache結(jié)構(gòu)。平均功耗為1000mW,時鐘速度為300MHz,每條指令平均執(zhí)行1.2個周期,其中ARM1020為帶Cache的版本。
ARM10TDMI:與所有ARM核在二進制級代碼兼容,內(nèi)帶高速32X16MAC,預(yù)留DSP協(xié)處理器接口。其中的VFP10(矢量浮點單元)為七級流水結(jié)構(gòu)。
ARM1020T: ARM10TDMI+32KI&D Caches+MMU結(jié)構(gòu),300MHz時鐘,功耗為1W(2.0V供電)或00mW(1.5V供電)。指令 Cache和數(shù)據(jù)Cache分別為32K,寬度為64bits。能夠技術(shù)多種商用操作系統(tǒng)。適用于下一代高性能手持式因特網(wǎng)設(shè)備及數(shù)字式消費類應(yīng)用。
StrongARM
StrongARM處理器采用ARMV4T的五級流水結(jié)構(gòu)。目前有SA110、SA1100以及SA1110等三個版本。
三、ARM7系列開發(fā)工具及開發(fā)環(huán)境
1.軟件開發(fā)工具
Green Hills Tools: Green Hills的ARM軟件工具包能夠支持ARM6、ARM7、ARM7M、ARM7TM、ARM7TDMI、ARM7500FE、ARM8、 ARM9、ARM10以及StrongARM等系列處理器。它由編譯器、交叉工具包、集成開發(fā)環(huán)境和調(diào)試接口等組成。
Compiler:高優(yōu)化性能的C/C++編譯器。
Cross Tool Chain:交叉開發(fā)工具。包括匯編器(Assembler)、連接器(Linker)、庫函數(shù)以及目標(biāo)代碼格式轉(zhuǎn)換器。
MULTI:集成開發(fā)環(huán)境。Green Hills的MULTI集成環(huán)境綜合了軟件開發(fā)和調(diào)試過程中要用到的各種工具,如源級調(diào)試器、工程管理器、版本控制器、文本編輯器、性能分析器、圖形瀏覽器。運行出錯檢測器、ARM指令集仿真器以及底層調(diào)試接口等。用戶可方便地在MULTI環(huán)境中利用上述工具來開發(fā)應(yīng)用程序。
Servers:底層調(diào)試接口。Green Hills的Servers提供兩類調(diào)試接口供用戶選擇使用。一類用于Angel監(jiān)控器、在線仿真器以及EPI公司的JEENI JTAFG仿真器等;另一類則用于商用操作系統(tǒng)及用戶自己編寫的操作系統(tǒng)。
ASDT2.5:SDT2.5是ARM公司提供的一大套由C編譯器、連接定位器、C語言調(diào)試器和Angel監(jiān)控器組成的開發(fā)軟件包。由于價格比較適中而應(yīng)用比較廣泛。
2.硬件開發(fā)工具
ARM 的硬件開發(fā)工具主要包括兩類仿真器,一是JTAG仿真器,二是全功能在線仿真器。前者是利用ARM處理器中的調(diào)試模塊的功能,通過其JTAG邊界掃描口來與仿真器連接。這種方式的仿真器比較便宜,連接比較方便。但由于僅通過十幾條線來調(diào)試,因而功能有局限。目前ARM處理器的JTAG仿真器在市場上比較流行的是EPI公司的JEENI和MAJIC,著名的德國Lauterbach公司有一款通用JTAG/BDM/ONCE仿真器TRACE32-ICD也能夠很好的支持ARM系列處理器。對于全功能在線仿真器來說,由于其信真頭完全取代目標(biāo)板上的CPU,因而功能非常強大。但這類仿真器為了能夠全速仿真時鐘速度高于100MHz的處理器,通常必須采用極其復(fù)雜的設(shè)計和工藝,因而其價格比較昂貴。Lauterbach公司的TRACE32-Fire就是這類產(chǎn)品的佼佼者。
JEENI仿真器:這是一種價位較低的JTAG仿真器。它能夠很好地與SDT2.5工具連接。用戶可使用其編譯器和調(diào)試界面。
MAJIC仿真器:與JEENI相比,MAJIC能夠通過100base-T以太網(wǎng)與主機相連,支持多處理器和低電壓I/O。
TRACE32 -ICD:這是一種通用JTAG/BDM/ONCE仿真器,既能夠支持Motorola系列的68K、ColdFire、MPC5XX/8XX、 MPC82XX,又能夠通過更換模塊來支持ARM7系列CPU.同時也能夠支持SIEMENS的ONCE方式,如TriCore、C166等。另外, TRACE32-ICD提供獨特的RISC邏輯追蹤功能。
TRACE32Fire:這是全功能ICE,提供強大的調(diào)試和偵錯功能。
四、支持ARM7的RTOS及其系統(tǒng)開發(fā)
目前在國內(nèi),ARM7的應(yīng)用較多,ARM9、ARM10的使用尚未開始。在引,我們以ARM7的應(yīng)用來例來說明ARM7系統(tǒng)的構(gòu)成及其OS的應(yīng)用。
ARM7 處理的生產(chǎn)廠商很多,他們僅須向ARM公司購買ARM7核的License便可進行生產(chǎn)。目前常用到的ARM7芯片有tmel公司的 AT91M40400、Cirrus Logic公司的CL-PS7500FE/EP7211等、Hyundai公司的GMS30C7201、 Linkup公司的L
7200、Samsung公司的KS32C4100/50100等等。另外,TI公司、LSI Logic、NS公司、NEC公司以及Philips公司也生產(chǎn)相應(yīng)的ARM7芯片。雖然眾多的廠商提供多種瑾的處理器,但是除外部一些功能模塊外,它們的內(nèi)核是相同的,因而在軟件編程有調(diào)試上是相同的。
在多種商用RTOS(實時多任務(wù)操作系統(tǒng))中,Nucleus PLUS實時多任務(wù)操作系統(tǒng)是一種帶源代碼的 OS,目前非常流行。在國內(nèi)也擁有大量的實際應(yīng)用。Nucleus是最早支持ARM系列CPU的操作系統(tǒng)之一,它提供內(nèi)核、圖形界而模塊、通訊協(xié)議模塊、文件系統(tǒng)以及嵌入式網(wǎng)上瀏覽器等等完整的解決方案。國內(nèi)許多著名的公司均已選用Nucleus在ARM平臺上實現(xiàn)PDA、STB、DVD、POS、 GPS、手機以及智能終端等。
五、基于ARM7的PDA方案
ARM7系列芯片具有高速、低功耗、集成度高等特點,非常適合用于開發(fā)PDA設(shè)備。在此介紹一個韓國現(xiàn)代電子提供的以GMS30C7201芯片為核心的PDA方案。
*操作系統(tǒng):NUCLEUS PLUS;
*編譯器:ARM SDT / GREEN HILL;
*仿真器:JENNI / TRACE32-ICD。
在這一平臺上,我們選用ATI公司的NUCLEUS操作系統(tǒng)及相應(yīng)的文件系統(tǒng)、圖形軟件包、網(wǎng)絡(luò)模塊和瀏覽器來實現(xiàn)PDA的各種功能?,F(xiàn)在已經(jīng)完成了大部分的軟件移植工作:MUCLEUS內(nèi)核、文件系統(tǒng)、圖形軟件包、TCP/IP網(wǎng)絡(luò)模塊(使用PPP拔號上網(wǎng))以及各種片上設(shè)備的驅(qū)動、瀏覽器的移植也即將完成。