2020-05-07 10:40:47分類:硬件開發(fā)13510
眾所周知,一個(gè)嵌入式系統(tǒng)裝置一般都由嵌入式計(jì)算機(jī)系統(tǒng)和執(zhí)行裝置組成, 嵌入式圖標(biāo) 嵌入式計(jì)算機(jī)系統(tǒng)是整個(gè)嵌入式系統(tǒng)的核心,由硬件層、中間層、系統(tǒng)軟件層和應(yīng)用軟件層組成。執(zhí)行裝置也稱為被控對象,它可以接受嵌入式計(jì)算機(jī)系統(tǒng)發(fā)出的控制命令,執(zhí)行所規(guī)定的操作或任務(wù)。
ARM公司設(shè)計(jì)了許多處理器,它們可以根據(jù)使用的不同內(nèi)核劃分到各個(gè)系列中。系列劃分是基于ARM7、ARM9、ARM10、ARM11和Cortex內(nèi)核。后綴數(shù)字7、9、10和11表示不同的內(nèi)核設(shè)計(jì)。數(shù)字的升序說明性能和復(fù)雜度的提高。嵌入式定制
ARM7系列處理器是英國ARM公司設(shè)計(jì)的主流嵌入式處理器ARM7內(nèi)核是0.9MIPS/MHz的三級(jí)流水線和馮·諾伊曼結(jié)構(gòu);ARM9內(nèi)核是5級(jí)流水線,提供1.1MIPS/MHz的哈佛結(jié)構(gòu)。ARM7沒有MMU。
ARM7系列包括ARM7TDMI、ARM7TDMI-S、帶有高速緩存處理器宏單元的ARM720T。該系列處理器提供Thumb16位壓縮指令集和EmbededICE軟件調(diào)試方式,適用于更大規(guī)模的SoC設(shè)計(jì)中。ARM7TDMI基于ARM體系結(jié)構(gòu)V4版本,是目前低端的ARM核。
ARM7TDMI處理器是ARM通用32位微處理器家族的成員之一。它具有優(yōu)異的性能,但功耗卻很低,使用門的數(shù)量也很少。它屬于精簡指令集計(jì)算機(jī)(RISC),比復(fù)雜指令集計(jì)算機(jī)(CISC)要簡單得多。這樣的簡化實(shí)現(xiàn)了:高的指令吞吐量;出色的實(shí)時(shí)中斷響應(yīng);小的、高性價(jià)比的處理器宏單元。三級(jí)流水線:ARM7TDMI處理器使用流水線來增加處理器指令流的速度。這樣可使幾個(gè)操作同時(shí)進(jìn)行,并使處理和存儲(chǔ)器系統(tǒng)連續(xù)操作,能提供0.9MIPS/MHz的指令執(zhí)行速度。ARM7TDMI的流水線分3級(jí),分別為:取指、?譯碼、?執(zhí)行。正常操作過程中,在執(zhí)行一條指令的同時(shí)對下一條指令進(jìn)行譯碼,并將第三條指令從存儲(chǔ)器中取出。內(nèi)同時(shí)有5個(gè)指令在執(zhí)行。在同樣的加工工藝下,ARM9TDMI處理器的時(shí)鐘頻率是ARM7TDMI的1.8~2.2倍。
ARM9系列處理器是英國ARM公司設(shè)計(jì)的主流嵌入式處理器,主要包括ARM9TDMI和ARM9E-S等系列。
ARM9采用哈佛體系結(jié)構(gòu),指令和數(shù)據(jù)分屬不同的總線,可以并行處理。在流水線上,ARM7是三級(jí)流水線,ARM9是五級(jí)流水線。由于結(jié)構(gòu)不同,ARM7的執(zhí)行效率低于ARM9。平時(shí)所說的ARM7、ARM9實(shí)際上指的是ARM7TDMI、ARM9TDMI軟核,這種處理器軟核并不帶有MMU和cache,不能夠運(yùn)行諸如linux這樣的嵌入式操作系統(tǒng)。而ARM公司對這種架構(gòu)進(jìn)行了擴(kuò)展,所以有了ARM710T、ARM720T、ARM920T、ARM922T等帶有MMU和cache的處理器內(nèi)核。
ARM7與ARM9的區(qū)別
1.時(shí)鐘頻率的提高
雖然ARM7和ARM9內(nèi)核架構(gòu)相同,但ARM7處理器采用3級(jí)流水線的馮·諾伊曼結(jié)構(gòu);,而ARM9采用5級(jí)流水線的哈佛結(jié)構(gòu)。增加的流水線設(shè)計(jì)提高了時(shí)鐘頻率和并行處理能力。5級(jí)流水線能夠?qū)⒚恳粋€(gè)指令處理分配到5個(gè)時(shí)鐘周期內(nèi),在每一個(gè)時(shí)鐘周期內(nèi)同時(shí)有5個(gè)指令在執(zhí)行。在常用的芯片生產(chǎn)工藝下,ARM7一般運(yùn)行在100MHz左右,而ARM9則至少在200MHz以上。
2指令周期的改進(jìn)
指令周期的改進(jìn)對于處理器性能的提高有很大的幫助。性能提高的幅度依賴于代碼執(zhí)行時(shí)指令的重疊,這實(shí)際上是程序本身的問題。對于采用最高級(jí)的語言,一般來說,性能的提高在30%左右。
3.MMU(內(nèi)存管理單元)
ARM7一般沒有MMU(內(nèi)存管理單元),(ARM720T有MMU)。ARM9一般是有MMU的,ARM9940T只有MPU,不是一個(gè)完整的MMU。
這一條很重要,MMU單元是大型操作系統(tǒng)必需的硬件支持,如linux;WINCE等。這就是說,ARM7一般只能運(yùn)行小型的實(shí)時(shí)系統(tǒng)如UCOS-II,eCOS等,而ARM9無此限制,一般的操作系統(tǒng)都可以移植。其實(shí)即使ARM720T能支持LINUX;WINCE等系統(tǒng),也鮮有人用,因?yàn)橐訟RM7的運(yùn)行速度跑這種大型操作系統(tǒng),實(shí)在有點(diǎn)吃力。再者兩者的應(yīng)用領(lǐng)域明顯不同,也無此必要。
4.ARM7比ARM9提供了更好的性能-功耗比。它包含了THUMB指令集快速乘法指令和ICE調(diào)試技術(shù)的內(nèi)核。
5.在從ARM7到ARM9的平臺(tái)轉(zhuǎn)變過程中,有一件事情是非常值得慶幸的,即ARM9E能夠完全地向后兼容ARM7上的軟件;并且開發(fā)人員面對的編程模型和架構(gòu)基礎(chǔ)也保持一致。
如果是一般性控制系統(tǒng)或僅僅用來替換8獲16位機(jī),ARM7顯然是首選;但如果用在網(wǎng)絡(luò)通信或大型的音視頻處理等,則ARM9較合適。