基于ARM的電子系統(tǒng)設(shè)計(jì)
一、引言
作為SOC(SystemOnChip)的典型應(yīng)用,和持電話、機(jī)頂盒、數(shù)碼像機(jī)、GPS、個(gè)為數(shù)字助理以及因特網(wǎng)設(shè)備等產(chǎn)品的市場(chǎng)需求越來越大。目前,基于arm的處理器以其高速度、低功耗等諸多優(yōu)異的性能而成為上述各類產(chǎn)品中選用較多的處理器。
二、arm內(nèi)核
ARM內(nèi)核分為ARM7、ARM9、ARM10以及Strongarm等幾類。其中每一類又根據(jù)其各自包含的功能模塊而分成多種構(gòu)成(見表1)
在arm內(nèi)核中有四個(gè)功能模塊可供生產(chǎn)廠商根據(jù)不同用戶的不同要求來配置生產(chǎn)。這四個(gè)模塊分別用T、D、M和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:表示EmbeddedICELogic,用于實(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+32KIDCaches+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è)版本(見表2)。
三、arm7系列開發(fā)工具及開發(fā)環(huán)境
1.軟件開發(fā)工具
GreenHillsTools:GreenHills的ARM軟件工具包能夠支持ARM6、ARM7、ARM7M、ARM7TM、ARM7TDMI、ARM7500FE、ARM8、ARM9、ARM10以及Strongarm等系列處理器。它由編譯器、交叉工具包、集成開發(fā)環(huán)境和調(diào)試接口等組成。
Compiler:高優(yōu)化性能的C/C++編譯器。
CrossToolChain:交叉開發(fā)工具。包括匯編器(Assembler)、連接器(Linker)、庫(kù)函數(shù)以及目標(biāo)代碼格式轉(zhuǎn)換器。
MULTI:集成開發(fā)環(huán)境。GreenHills的MULTI集成環(huán)境綜合了軟件開發(fā)和調(diào)試過程中要用到的各種工具,如源級(jí)調(diào)試器、工程管理器、版本控制器、文本編輯器、性能分析器、圖形瀏覽器。運(yùn)行出錯(cuò)檢測(cè)器、arm指令集仿真器以及底層調(diào)試接口等。用戶可方便地在MULTI環(huán)境中利用上述工具來開發(fā)應(yīng)用程序。
c++相關(guān)文章:c++教程
評(píng)論