1. ARM7、ARM9、ARM11、ARM-Cortex的關(guān)系 ARM7:ARMv4架構(gòu),ARM9:ARMv5架構(gòu),ARM11:ARMv6架構(gòu),ARM-Cortex系列:ARMv7架構(gòu)ARM7沒有MMU(內(nèi)存管理單元),只能叫做MCU(微控制器),不能運行諸如Linux、WinCE等這些現(xiàn)代的多用戶多進程操作系統(tǒng),因為運行這些系統(tǒng)需要MMU,才能給每個用戶進程分配進程自己獨立的地址空間。ucOS、ucLinux這些精簡實時的RTOS不需要MMU,當(dāng)然可以在ARM7上運行。ARM9、ARM11,是嵌入式CPU(處理器),帶有MMU,可以運行諸如Linux等多用戶多進程的操作系統(tǒng),應(yīng)用場合也不同于ARM7。到了ARMv7架構(gòu)的時候開始以Cortex來命名,并分成Cortex-A、Cortex-R、Cortex-M三個系列。三大系列分工明確:“A”系列面向尖端的基于虛擬內(nèi)存的操作系統(tǒng)和用戶應(yīng)用;“R”系列針對實時系統(tǒng);“M”系列對微控制器。簡單的說Cortex-A系列是用于移動領(lǐng)域的CPU,Cortex-R和Cortex-M系列是用于實時控制領(lǐng)域的MCU。所以看上去ARM7跟Cortex-M很像,因為他們都是MCU,但確是不同代不同架構(gòu)的MCU(Cortex-M比ARM7高了三代!),所以性能也有很大的差距。此外,Cortex-M系列還細(xì)分為M0、M3、M4和超低功耗的M0+,用戶依據(jù)成本、性能、功耗等因素來選擇芯片。想必樓主現(xiàn)在肯定知道了ARM7、Cortex-M的區(qū)別,不過還是花了點時間整理在此,可以幫助后來的初學(xué)者搞明白這些基本的概念性問題
2. ARM7,ARM9,cortex-m3,cortex-m4,cortex-a8的區(qū)別
arm系列從arm11開始,以后的就命名為cortex,并且性能上大幅度提升。
從cortex開始,分為三個系列,a系列,r系列,m系列。
m系列與arm7相似,不能跑操作系統(tǒng)(只能跑ucos2),偏向于控制方面,說白了就是一個高級的單片機。
a系列主要應(yīng)用在人機互動要求較高的場合,比如pda,手機,平板電腦等。a系列類似于cpu,與arm9和arm11相對應(yīng),都是可以跑草錯系統(tǒng)的。linux等。
r系列,是實時控制。主要應(yīng)用在對實時性要求高的場合。
arm7和m3,m4是同一類型。這三個里面,arm7是最早的arm產(chǎn)品。m3是cortexm系列的過渡品,其低端市場被cortexm0的高端替代,其高端市場又被cortexm4的低端取代?,F(xiàn)在m系列,是m4內(nèi)核的。典型的芯片是st公司和飛思卡爾公司的。
arm9和cortexa8是一個類型的,都是跑操作系統(tǒng)的,現(xiàn)在的高端手機,三星,htc等智能手機,就是用的cortexa8,cortexa9內(nèi)核的芯片作為cpu。
(1)ARM7,ARM9屬于v4T或v5E架構(gòu)
(2)ARM11屬于v6架構(gòu)
(3)Contex屬于v7架構(gòu)
ARM7,ARM9的區(qū)別在于是否有MMU(存儲器管理單元)或MPU(存儲器保護單元)
架構(gòu)上v5E相比v4T則是在于v5E新加入的增強型DSP(數(shù)字信號處理)指令,v4T則是Thumb指令集的加入,v6架構(gòu)則是開始支持SIMD以及Thumb2的問世.
評論