嵌入式定製開發選ARM7還是ARM9

2021-09-20 11:20:29 字數 1854 閱讀 2430

arm公司設計了許多處理器,它們可以根據使用的不同核心劃分到各個系列中。系列劃分是基於arm7、arm9、arm10、arm11和cortex核心。字尾數字7、9、10和11表示不同的核心設計。數字的公升序說明效能和複雜度的提高。嵌入式定製

arm7系列處理器是英國arm公司設計的主流嵌入式處理器arm7核心是0.9mips/mhz的**流水線和馮·諾伊曼結構;arm9核心是5級流水線,提供1.1mips/mhz的哈佛結構。arm7沒有mmu。

arm7系列包括arm7tdmi、arm7tdmi-s、帶有快取記憶體處理器巨集單元的arm720t。該系列處理器提供thumb16位壓縮指令集和embededice軟體除錯方式,適用於更大規模的soc設計中。arm7tdmi基於arm體系結構v4版本,是目前低端的arm核。

arm7tdmi處理器是arm通用32位微處理器家族的成員之一。它具有優異的效能,但功耗卻很低,使用門的數量也很少。它屬於精簡指令集計算機(risc),比複雜指令集計算機(cisc)要簡單得多。這樣的簡化實現了:高的指令吞吐量;出色的實時中斷響應;小的、高價效比的處理器巨集單元。**流水線:arm7tdmi處理器使用流水線來增加處理器指令流的速度。這樣可使幾個操作同時進行,並使處理和儲存器系統連續操作,能提供0.9mips/mhz的指令執行速度。arm7tdmi的流水線分3級,分別為:取指、解碼、執行。正常操作過程中,在執行一條指令的同時對下一條指令進行解碼,並將第三條指令從儲存器中取出。內同時有5個指令在執行。在同樣的加工工藝下,arm9tdmi處理器的時鐘頻率是arm7tdmi的1.8~2.2倍。

arm9系列處理器是英國arm公司設計的主流嵌入式處理器,主要包括arm9tdmi和arm9e-s等系列。

arm嵌入式定製.jpg

arm9採用哈佛體系結構,指令和資料分屬不同的匯流排,可以並行處理。在流水線上,arm7是**流水線,arm9是五級流水線。由於結構不同,arm7的執行效率低於arm9。平時所說的arm7、arm9實際上指的是arm7tdmi、arm9tdmi軟核,這種處理器軟核並不帶有mmu和cache,不能夠執行諸如linux這樣的嵌入式作業系統。而arm公司對這種架構進行了擴充套件,所以有了arm710t、arm720t、arm920t、arm922t等帶有mmu和cache的處理器核心。

arm7與arm9的區別

1.時鐘頻率的提高

雖然arm7和arm9核心架構相同,但arm7處理器採用3級流水線的馮·諾伊曼結構;,而arm9採用5級流水線的哈佛結構。增加的流水線設計提高了時鐘頻率和並行處理能力。5級流水線能夠將每乙個指令處理分配到5個時鐘週期內,在每乙個時鐘週期內同時有5個指令在執行。在常用的晶元生產工藝下,arm7一般執行在100mhz左右,而arm9則至少在200mhz以上。

2指令週期的改進

指令週期的改進對於處理器效能的提高有很大的幫助。效能提高的幅度依賴於**執行時指令的重疊,這實際上是程式本身的問題。對於採用最高端的語言,一般來說,效能的提高在30%左右。

3.mmu(記憶體管理單元)

arm7一般沒有mmu(記憶體管理單元),(arm720t有mmu)。arm9一般是有mmu的,arm9940t只有mpu,不是乙個完整的mmu。

這一條很重要,mmu單元是大型作業系統必需的硬體支援,如linux;wince等。這就是說,arm7一般只能執行小型的實時系統如ucos-ii,ecos等,而arm9無此限制,一般的作業系統都可以移植。其實即使arm720t能支援linux;wince等系統,也鮮有人用,因為以arm7的執行速度跑這種大型作業系統,實在有點吃力。再者兩者的應用領域明顯不同,也無此必要。

4.arm7比arm9提供了更好的效能-功耗比。它包含了thumb指令集快速乘法指令和ice除錯技術的核心。

5.在從arm7到arm9的平台轉變過程中,有一件事情是非常值得慶幸的,即arm9e能夠完全地向後相容arm7上的軟體;並且開發人員面對的程式設計模型和架構基礎也保持一致。

ARM7在嵌入式應用中啟動程式的實現

摘要 本文給出了基於arm7嵌入式系統的啟動程式的實現流程,並針對儲存器控制單元的使用以及目標檔案的分布裝載等技術難點進行詳細分析。關鍵字 嵌入式系統 啟動程式 arm7 嵌入式系統被定義為 以應用為中心 以計算機技術為基礎 軟體硬體可裁剪 適應應用系統對功能 可靠性 成本 體積 功耗嚴格要求的專用...

嵌入式arm開發學習

今天是學習arm的第二天.感覺又懂了一點.記錄下來,以便以後不時之需.今天先是看了一些linux應用開發的東西,由於之前自己對linux程式設計還算是有過了解,這部分看得很快,基本沒有什麼閱讀障礙.個人建議想學嵌入式linux的人,最好先把unix環境高階程式設計看一遍.你會發現一切都會順其自然.之...

基於ARM的Qt Creator嵌入式開發環境搭建

平台 ubnutu10.04 交叉編譯器 arm linux gcc 3.4.1 在qtqt everywhere opensource src 4.8.1.tar 解壓為3 份,可分別命名為 qt x11 qt x86 qt armqt x11版本可以產生 qt開發工具 designer qt介面...