ARM 概述
ARM10E系列微處理器包含ARM1020E、ARM1022E和ARM1026EJ-S三種類型,以適用于不同的應(yīng)用場(chǎng)合。
1.3.5SecurCore微處理器系列
SecurCore系列微處理器專為安全需要而設(shè)計(jì),提供了完善的32位RISC技術(shù)的安全解決方案,因此,SecurCore系列微處理器除了具有ARM體系結(jié)構(gòu)的低功耗、高性能的特點(diǎn)外,還具有其獨(dú)特的優(yōu)勢(shì),即提供了對(duì)安全解決方案的支持。
SecurCore系列微處理器除了具有ARM體系結(jié)構(gòu)各種主要特點(diǎn)外,還在系統(tǒng)安全方面具有如下的特點(diǎn):
?。瓗в徐`活的保護(hù)單元,以確保操作系統(tǒng)和應(yīng)用數(shù)據(jù)的安全。
?。捎密泝?nèi)核技術(shù),防止外部對(duì)其進(jìn)行掃描探測(cè)。
?。杉捎脩糇约旱陌踩匦院推渌麉f(xié)處理器。
SecurCore系列微處理器主要應(yīng)用于一些對(duì)安全性要求較高的應(yīng)用產(chǎn)品及應(yīng)用系統(tǒng),如電子商務(wù)、電子政務(wù)、電子銀行業(yè)務(wù)、網(wǎng)絡(luò)和認(rèn)證系統(tǒng)等領(lǐng)域。
SecurCore系列微處理器包含SecurCoreSC100、SecurCoreSC110、SecurCoreSC200和SecurCoreSC210四種類型,以適用于不同的應(yīng)用場(chǎng)合。
1.3.6StrongARM微處理器系列
InterStrongARMSA-1100處理器是采用ARM體系結(jié)構(gòu)高度集成的32位RISC微處理器。它融合了Inter公司的設(shè)計(jì)和處理技術(shù)以及ARM體系結(jié)構(gòu)的電源效率,采用在軟件上兼容ARMv4體系結(jié)構(gòu)、同時(shí)采用具有Intel技術(shù)優(yōu)點(diǎn)的體系結(jié)構(gòu)。
IntelStrongARM處理器是便攜式通訊產(chǎn)品和消費(fèi)類電子產(chǎn)品的理想選擇,已成功應(yīng)用于多家公司的掌上電腦系列產(chǎn)品。
1.3.7Xscale處理器
Xscale處理器是基于ARMv5TE體系結(jié)構(gòu)的解決方案,是一款全性能、高性價(jià)比、低功耗的處理器。它支持16位的Thumb指令和DSP指令集,已使用在數(shù)字移動(dòng)電話、個(gè)人數(shù)字助理和網(wǎng)絡(luò)產(chǎn)品等場(chǎng)合。
Xscale處理器是Inter目前主要推廣的一款A(yù)RM微處理器。
1.4ARM微處理器結(jié)構(gòu)
1.4.1RISC體系結(jié)構(gòu)
傳統(tǒng)的CISC(ComplexInstructionSetComputer,復(fù)雜指令集計(jì)算機(jī))結(jié)構(gòu)有其固有的缺點(diǎn),即隨著計(jì)算機(jī)技術(shù)的發(fā)展而不斷引入新的復(fù)雜的指令集,為支持這些新增的指令,計(jì)算機(jī)的體系結(jié)構(gòu)會(huì)越來(lái)越復(fù)雜,然而,在CISC指令集的各種指令中,其使用頻率卻相差懸殊,大約有20%的指令會(huì)被反復(fù)使用,占整個(gè)程序代碼的80%。而余下的80%的指令卻不經(jīng)常使用,在程序設(shè)計(jì)中只占20%,顯然,這種結(jié)構(gòu)是不太合理的。
基于以上的不合理性,1979年美國(guó)加州大學(xué)伯克利分校提出了RISC(ReducedInstructionSetComputer,精簡(jiǎn)指令集計(jì)算機(jī))的概念,RISC并非只是簡(jiǎn)單地去減少指令,而是把著眼點(diǎn)放在了如何使計(jì)算機(jī)的結(jié)構(gòu)更加簡(jiǎn)單合理地提高運(yùn)算速度上。RISC結(jié)構(gòu)優(yōu)先選取使用頻最高的簡(jiǎn)單指令,避免復(fù)雜指令;將指令長(zhǎng)度固定,指令格式和尋地方式種類減少;以控制邏輯為主,不用或少用微碼控制等措施來(lái)達(dá)到上述目的。
到目前為止,RISC體系結(jié)構(gòu)也還沒(méi)有嚴(yán)格的定義,一般認(rèn)為,RISC體系結(jié)構(gòu)應(yīng)具有如下特點(diǎn):
?。捎霉潭ㄩL(zhǎng)度的指令格式,指令歸整、簡(jiǎn)單、基本尋址方式有2~3種。
?。褂脝沃芷谥噶?便于流水線操作執(zhí)行。
?。罅渴褂眉拇嫫?數(shù)據(jù)處理指令只對(duì)寄存器進(jìn)行操作,只有加載/存儲(chǔ)指令可以訪問(wèn)存儲(chǔ)器,以提高指令的執(zhí)行效率。
除此以外,ARM體系結(jié)構(gòu)還采用了一些特別的技術(shù),在保證高性能的前提下盡量縮小芯片的面積,并降低功耗:
-所有的指令都可根據(jù)前面的執(zhí)行結(jié)果決定是否被執(zhí)行,從而提高指令的執(zhí)行效率。
?。捎眉虞d/存儲(chǔ)指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率。
?。稍谝粭l數(shù)據(jù)處理指令中同時(shí)完成邏輯處理和移位處理。
?。谘h(huán)處理中使用地址的自動(dòng)增減來(lái)提高運(yùn)行效率。
當(dāng)然,和CISC架構(gòu)相比較,盡管RISC架構(gòu)有上述的優(yōu)點(diǎn),但決不能認(rèn)為RISC架構(gòu)就可以取代CISC架構(gòu),事實(shí)上,RISC和CISC各有優(yōu)勢(shì),而且界限并不那么明顯。現(xiàn)代的CPU往往采用CISC的外圍,內(nèi)部加入了RISC的特性,如超長(zhǎng)指令集CPU就是融合了RISC和CISC的優(yōu)勢(shì),成為未來(lái)的CPU發(fā)展方向之一。
1.4.2ARM微處理器的寄存器結(jié)構(gòu)
ARM處理器共有37個(gè)寄存器,被分為若干個(gè)組(BANK),這些寄存器包括:
-31個(gè)通用寄存器,包括程序計(jì)數(shù)器(PC指針),均為32位的寄存器。
-6個(gè)狀態(tài)寄存器,用以標(biāo)識(shí)CPU的工作狀態(tài)及程序的運(yùn)行狀態(tài),均為32位,目前只使用了其中的一部分。
同時(shí),ARM處理器又有7種不同的處理器模式,在每一種處理器模式下均有一組相應(yīng)的寄存器與之對(duì)應(yīng)。即在任意一種處理器模式下,可訪問(wèn)的寄存器包括15個(gè)通用寄存器(R0~R14)、一至二個(gè)狀態(tài)寄存器和程序計(jì)數(shù)器。在所有的寄存器中,有些是在7種處理器模式下共用的同一個(gè)物理寄存器,而有些寄存器則是在不同的處理器模式下有不同的物理寄存器。
關(guān)于ARM處理器的寄存器結(jié)構(gòu),在后面的相關(guān)章節(jié)將會(huì)詳細(xì)描述。
1.4.3ARM微處理器的指令結(jié)構(gòu)
ARM微處理器的在較新的體系結(jié)構(gòu)中支持兩種指令集:ARM指令集和Thumb指令集。其中,ARM指令為32位的長(zhǎng)度,Thumb指令為16位長(zhǎng)度。Thumb指令集為ARM指令集的功能子集,但與等價(jià)的ARM代碼相比較,可節(jié)省30%~40%以上的存儲(chǔ)空間,同時(shí)具備32位代碼的所有優(yōu)點(diǎn)。
關(guān)于ARM處理器的指令結(jié)構(gòu),在后面的相關(guān)章節(jié)將會(huì)詳細(xì)描述。
1.5ARM微處理器的應(yīng)用選型
鑒于ARM微處理器的眾多優(yōu)點(diǎn),隨著國(guó)內(nèi)外嵌入式應(yīng)用領(lǐng)域的逐步發(fā)展,ARM微處理器必然會(huì)獲得廣泛的重視和應(yīng)用。但是,由于ARM微處理器有多達(dá)十幾種的內(nèi)核結(jié)構(gòu),幾十個(gè)芯片生產(chǎn)廠家,以及千變?nèi)f化的內(nèi)部功能配置組合,給開(kāi)發(fā)人員在選擇方案時(shí)帶來(lái)一定的困難,所以,對(duì)ARM芯片做一些對(duì)比研究是十分必要的。
以下從應(yīng)用的角度出發(fā),對(duì)在選擇ARM微處理器時(shí)所應(yīng)考慮的主要問(wèn)題做一些簡(jiǎn)要的探討。
ARM微處理器內(nèi)核的選擇
從前面所介紹的內(nèi)容可知,ARM微處理器包含一系列的內(nèi)核結(jié)構(gòu),以適應(yīng)不同的應(yīng)用領(lǐng)域,用戶如果希望使用WinCE或標(biāo)準(zhǔn)Linux等操作系統(tǒng)以減少軟件開(kāi)發(fā)時(shí)間,就需要選擇ARM720T以上帶有MMU(MemoryManagementUnit)功能的ARM芯片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都帶有MMU功能。而ARM7TDMI則沒(méi)有MMU,不支持WindowsCE和標(biāo)準(zhǔn)Linux,但目前有uCLinux等不需要MMU支持的操作系統(tǒng)可運(yùn)行于ARM7TDMI硬件平臺(tái)之上。事實(shí)上,uCLinux已經(jīng)成功移植到多種不帶MMU的微處理器平臺(tái)上,并在穩(wěn)定性和其他方面都有上佳表現(xiàn)。
本書(shū)所討論的S3C4510B即為一款不帶MMU的ARM微處理器,可在其上運(yùn)行uCLinux操作系統(tǒng)。
系統(tǒng)的工作頻率
系統(tǒng)的工作頻率在很大程度上決定了ARM微處理器的處理能力。ARM7系列微處理器的典型處理速度為0.9MIPS/MHz,常見(jiàn)的ARM7芯片系統(tǒng)主時(shí)鐘為20MHz-133MHz,ARM9系列微處理器的典型處理速度為1.1MIPS/MHz,常見(jiàn)的ARM9的系統(tǒng)主時(shí)鐘頻率為100MHz-233MHz,ARM10最高可以達(dá)到700MHz。不同芯片對(duì)時(shí)鐘的處理不同,有的芯片只需要一個(gè)主時(shí)鐘頻率,有的芯片內(nèi)部時(shí)鐘控制器可以分別為ARM核和USB、UART、DSP、音頻等功能部件提供不同頻率的時(shí)鐘。
芯片內(nèi)存儲(chǔ)器的容量
大多數(shù)的ARM微處理器片內(nèi)存儲(chǔ)器的容量都不太大,需要用戶在設(shè)計(jì)系統(tǒng)時(shí)外擴(kuò)存儲(chǔ)器,但也有部分芯片具有相對(duì)較大的片內(nèi)存儲(chǔ)空間,如ATMEL的AT91F40162就具有高達(dá)2MB的片內(nèi)程序存儲(chǔ)空間,用戶在設(shè)計(jì)時(shí)可考慮選用這種類型,以簡(jiǎn)化系統(tǒng)的設(shè)計(jì)。
片內(nèi)外圍電路的選擇
除ARM微處理器核以外,幾乎所有的ARM芯片均根據(jù)各自不同的應(yīng)用領(lǐng)域,擴(kuò)展了相關(guān)功能模塊,并集成在芯片之中,我們稱之為片內(nèi)外圍電路,如USB接口、IIS接口、LCD控制器、鍵盤(pán)接口、RTC、ADC和DAC、DSP協(xié)處理器等,設(shè)計(jì)者應(yīng)分析系統(tǒng)的需求,盡可能采用片內(nèi)外圍電路完成所需的功能,這樣既可簡(jiǎn)化系統(tǒng)的設(shè)計(jì),同時(shí)提高系統(tǒng)的可靠性。
評(píng)論