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