ARM9

ARM9

嵌入式處理器
ARM9系列處理器是英國ARM公司設計的主流嵌入式處理器,主要包括ARM9TDMI和ARM9E-S等系列。ARM9采用哈佛體系結構,指令和數據分屬不同的總線,可以并行處理。ARM920T體系結構将存儲器看做是從零地址開始的字節的線性組合。ARM92OT體系結構可以用兩種方法存儲字數據,分别稱為大端格式和小端格式。ARM9一般是有MMU的,ARM9940T隻有MPU,不是一個完整的MMU。ARM920T的32位微處理器結構帶有一個5階管線,可以極低的功耗提供優異的性能。ARM9和ARM7的分枝指令周期是相同的。[1]
    中文名: 外文名: 别名: 英文名:ARM9 公司名稱:英國ARM公司設計

基本概述

ARM9采用哈佛體系結構,指令和數據分屬不同的總線,可以并行處理。在流水線上,ARM7是三級流水線,ARM9是五級流水線。由于結構不同,ARM7的執行效率低于ARM9。平時所說的ARM7、ARM9實際上指的是ARM7TDMI、ARM9TDMI軟核,這種處理器軟核并不帶有MMU和cache,不能夠運行諸如linux這樣的嵌入式操作系統。而ARM公司對這種架構進行了擴展,所以有了ARM710T、ARM720T、ARM920T、ARM922T等帶有MMU和cache的處理器内核。

主要特性編輯

融合了ARM920T™ ARM® Thumb®處理器

– 工作于180MHz時性能高達200MIPS,存儲器管理單元

– 16-K字節的數據緩存,16-K字節的指令緩存,寫緩沖器

– 含有調試信道的内部仿真器

– 中等規模的嵌入式宏單元結構(僅針對256 BGA封裝)

· 低功耗:VDDCORE電流為30.4 mA待機模式電流為3.1mA

· 附加的嵌入式存儲器

– SRAM為16K;ROM為128K

· 外部總線接口(EBI)

– 支持SDRAM,靜态存儲器,Burst Flash,無縫連接的CompactFlash®,

SmartMedia™及NAND Flash

· 提高性能而使用的系統外設:

– 增強的時鐘發生器與電源管理控制器

– 兩個有雙PLL的片上振蕩器

– 低速的時鐘操作模式與軟件功耗優化能力

– 四個可編程的外部時鐘信号

– 包括周期性中斷、看門狗及第二計數器的系統定時器

– 有報警中斷的實時時鐘

– 調試單元、兩線UART并支持調試信道

– 有8 個優先級的高級中斷控制器,獨立的可屏蔽中斷源,僞中斷保護

– 7個外部中斷源及1個快速中斷源

– 有122個可編程I/O口線的四個32位PIO控制器,各線均有輸入變化中斷及開漏能力

– 20通道的外設數據控制器(DMA)

· 10/100 Base-T型以太網卡接口

– 獨立的媒體接口(MII)或簡化的獨立媒體接口(RMII)

– 對于接收與發送有集成的28字節FIFO及專用的DMA通道

· USB 2.0 全速(12 M比特/秒)主機雙端口

– 雙片上收發器(208引腳PQFP封裝中僅為一個)

– 集成的FIFO及專用的DMA通道

· USB 2.0 全速(12 M比特/秒)器件端口

– 片上收發器,2-K字節可配置的集成FIFO

· 多媒體卡接口(MCI)

– 自動協議控制及快速自動數據傳輸

– 與MMC及SD存儲器卡兼容,支持兩個SD存儲器

· 3個同步串行控制器(SSC)

– 每個接收器與發送器有獨立的時鐘及幀同步信号

– 支持I2S模拟接口,時分複用

– 32比特的高速數據流傳輸能力

· 4個通用同步/異步接收/發送器(USART)

– 支持ISO7816 T0/T1 智能卡

– 硬軟件握手

– 支持RS485 及高達115 Kbps的IrDA 總線

– USART1為全調制解調控制線

· 主機/從機串行外設接口(SPI)

– 8~ 16 位可編程數據長度,可連接4個外設

· 兩個 3 通道16 位定時/計數器(TC)

– 3個外部時鐘輸入,每條通道有2 個多功能I/O引腳

– 雙PWM 産生器,捕獲/波形模式,上加/下減計數能力

· 兩線接口(TWI)

– 主機模式支持,所有兩線Atmel EEPROM 支持

· 所有數字引腳的IEEE 1149.1 JTAG邊界掃描

· 電源供應

– VDDCORE,VDDOSC及VDDPLL電壓為:1.65V ~1.95V

– VDDIOP (外設I/O) 及VDDIOM(存儲器I/O)電壓為:1.65V~ 3.6V

主要特性

TIOMAP730結構如圖5所示。其中ARM926TEJ處理器的主要特性包括:⑴最高頻率200MHz;⑵16KB指令高速緩存,8KB數據高速緩存;⑶硬件JAVA加速;⑷擴展多媒體指令集結構。

ARM微處理器是一種高性能、低功耗的32位微處器,它被廣泛應用于嵌入式系統中。ARM9代表了ARM公司主流的處理器,已經在手持電話、機頂盒、數碼相機、GPS、個人數字助理以及因特網設備等方面有了廣泛的應用。

體系特點

結構特點

以ARM9E-S為例介紹ARM9處理器的主要結構及其特點。ARM9E-S的結構如圖4所示。其主要特點如下:

⑴32bit定點RISC處理器,改進型ARM/Thumb代碼交織,增強性乘法器設計。支持實時(real-time)調試;

⑵片内指令和數據SRAM,而且指令和數據的存儲器容量可調;

⑶片内指令和數據高速緩沖器(cache)容量從4K字節到1M字節;

⑷設置保護單元(protection unit),非常适合嵌入式應用中對存儲器進行分段和保護;

⑸采用AMBA AHB總線接口,為外設提供統一的地址和數據總線;

⑹支持外部協處理器,指令和數據總線有簡單的握手信令支持;

⑺支持标準基本邏輯單元掃描測試方法學,而且支持BIST(built-in-self-test);

⑻支持嵌入式跟蹤宏單元,支持實時跟蹤指令和數據。

ARM920T運行模式

ARM920T支持7種運行模式,分别為:

(1)用戶模式(usr),

ARM處理器正常的程序執行狀态;

(2)快速中斷模式(fiq),

用于高速數據傳輸或通道處理;

(3)外部中斷模式(irq),

用于通用的中斷處理;

(4)管理模式(svc),

操作系統使用的保護模式;

(5)數據訪問終止模式(abt),

當數據或指令預取終止時進入該模式,可用于虛拟存儲及存儲保護;

(6)系統模式(sys),

運行具有特權的操作系統任務;

(7)未定義指令中止模式(und)

當未定義的指令執行時進入該模式,可用于支持硬件協處理器的軟件仿真。

ARM微處理器的運行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。大多數的應用程序運行在用戶模式下,當處理器運行在用戶模式下時,某些被保護的系統資源是不能被訪問的。除用戶模式以外,其餘的6種模式稱為特權模式;其中除去用戶模式和系統模式以外的5種又稱為異常模式,常用于處理中斷或異常,以及訪問受保護的系統資源等情況。

ARM920T的工作狀态

從編程的角度看,ARM920T微處理器的工作狀态一般有兩種:

(1)ARM狀态,此時處理器執行32位的、字對齊的ARM指令;

(2)Thumb狀态,此時處理器執行16位的、半字對齊的Thumb指令。

ARM指令集和Thumb指令集均有切換處理器狀态的指令,在程序的執行過程中,微處理器可以随時在兩種工作狀态之間切換,并且,處理器的工作狀态的轉變并不影響處理器的工作模式和相應寄存器中的内容。但ARM微處理器在開始執行代碼時,應該處于ARM

狀态。

當操作數寄存器的狀态位(位0)為1時,可以采用執行BX指令的方法,使微處理器從

ARM狀态切換到Thumb狀态。此外,當處理器處于Thumb狀态時發生異常(如IRQ、FIQ、Undef、Abort、SWI等),當異常處理返回時,自動切換回Thumb狀态。當操作數寄存器的狀态位為0時,執行BX指令可以使微處理器從Thumb狀态切換到ARM狀态。此外,在處理器進行異常處理時,将PC指針放入異常模式鍊接寄存器中,并從異常向量地址開始執行程序,也可以使處理器切換到ARM狀态。

ARM920T體系結構的存儲器格式

ARM920T體系結構将存儲器看做是從零地址開始的字節的線性組合。從0字節到3字節放置第1個存儲的字數據,從第4個字節到第7個字節放置第2個存儲的字數據,依次排列。作為32位的微處理器,ARM92OT體系結構所支持的最大尋址空間為4GB。

ARM92OT體系結構可以用兩種方法存儲字數據,分别稱為大端格式和小端格式。大端格式中字數據的高字節存儲在低地址中,而字數據的低字節則存放在高地址中

以大端格式存儲數據

以小端格式存儲數據

優勢

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的運行速度跑這種大型操作系統,實在有點吃力。再者兩者的應用領域明顯不同,也無此必要。

存在優勢

·EP930x處理器EP9301/EP9302是CirrusLogic公司新近推出的系列arm9芯片中的一種極具價格優勢的處理器,它的高性能設計是許多消費和工業電子産品的理想選擇。EP9301擁有先進的166兆赫ARM920T處理器(Ep9302為200兆赫),66兆赫系統總線(EP9302為100兆赫系統總線)以及支持Linux、WindowsCE和其它許多嵌入式操作系統的存儲器管理器單元(MMU)。ARM920T的32位微處理器結構帶有一個5階管線,可以極低的功耗提供優異的性能。16K指令高速緩存和16K數據高速緩存可為現有的程序和數據提供零等待時間,或者也可被鎖定,以确保對關鍵指令和數據的無延遲存取。另外Ep9302具有MaverickCrunch協處理器。這一協處理器顯着提高了ARM920T的單/雙精度整數及浮點運算能力。當對數字音頻和視頻格式進行編碼、執行工業控制運算以及其它運算密集型計算和數據處理功能時,該協處理器可使EP9302具有高速精确計算能力。

常見問答:

⒈學習S3C2440有什麼意義?

答:原因一,S3C2440是目前網絡上資料、論壇最多的arm9處理器,對于學習或者開發者都能很便利的獲取資料。原因二,S3C2440能夠運行linux、wince等大型操作系統,構成非常典型的cpu+os嵌入式系統,嵌入式處理器種類繁多,不可能每一款都要去學習,一旦掌握了一個典型的cpu+os系統的開發就可以觸類旁通了。

⒉ARM9的學習應該如何着手?

答:對于基礎差的朋友,從單片機原理、c語言、操作系統原理下下工夫;對于學習過單片機的朋友,估計學arm最大的難點在于操作系統,重點熟悉下操作系統原理;對于基礎已經不錯的朋友,下工夫專研下嵌入式數據庫、驅動編程、通信協議編程、内核裁剪;對于不清楚自己層次的朋友,可以直接拿闆子跑,不懂的上網查資料,實踐多了自然理解;最後就是切忌浮躁了,有的朋友今天裝個ubuntu明天裝個debian,後天裝個fedroa...裝了七八個版本最後也沒搞明白怎麼做開發,建議練習好基本功,什麼技術都能很快掌握。

⒊嵌入式的職業前景如何?

答:硬說嵌入式比公務員前景還好,那是瞎說。對于沒有什麼背景,性格不太适合做銷售的人,學習嵌入式練就一技之長還是不錯的,嵌入式軟硬結合不容易遭遇職業瓶頸,入門門檻高,待遇也不錯,是個可持續發展的職業方向。

教程推薦:

經常有人讓我推薦幾本書,我覺得這幾本還不錯,但是我也很少看書,主要逛論壇下載電子資料。

《鳥哥的Linux私房菜基礎學習篇》鳥哥人民郵電出版社(不是講開發的,用于熟悉linux環境)

《Linux程序設計(第3版)》馬修人民郵電出版社(主要講linux開發的)

《ARM嵌入式Linux系統開發從入門到精通》李亞峰清華大學出版社(結合arm講linux開發的)

《ARM體系結構與編程》杜春雷清華大學出版社(講arm的好書)

《LINUX内核源代碼情景分析(上/下冊)》毛德操浙江大學出版社(高手必備,初學不建議購買)

《WindowsCE工程實踐完全解析(WindowsCE項目開發實踐叢書)》李大為中國電力出版社(講wince的好書)

《WindowsCE開發實例精粹(嵌入式技術與應用叢書)》張冬泉電子工業出版社(講wince的好書)

《μC/OS-2源碼公開的實時嵌入式操作系統》中國電力出版社邵貝貝(看完這本書再實驗下那5個例子,ucos就掌握了)

指令

⒈loads 指令與n stores指令

指令周期數的改進最明顯的是loads指令和stores指令。從ARM7到ARM9這兩條指令的執行時間減少了30%。指令周期的減少是由于ARM7和ARM9兩種處理器内的兩個基本的微處理結構不同所造成的。

⑴ARM9有獨立的指令和數據

存儲器接口,允許處理器同時進行取指和讀寫數據。這叫作改進型

哈佛結構。而ARM7隻有數據存儲器接口,它同時用來取指令和數據訪問。

⑵5級流水線引入了獨立的存儲器和寫回流水線,分别用來訪問存儲器和将結果寫回

寄存器。

以上兩點實現了一個周期完成loads指令和stores指令。

⒉互鎖(interlocks)技術

當指令需要的數據因為以前的指令沒有執行完而沒有準備好就會産生管道互鎖。當管道互鎖發生時,硬件會停止這個指令的執行,直到數據準備好為止。雖然這種技術會增加代碼執行時間,但是為初期的設計者提供了巨大的方便。編譯器以及彙編程序員可以通過重新設計代碼的順序或者其他方法來減少管道互鎖的數量。

⒊分枝指令

ARM9和ARM7的分枝指令周期是相同的。而且ARM9TDMI和ARM9E-S并沒有對分枝指令進行預測處理。

典型應用

TI公司的OMAP730是最新的無線通信基帶信号處理器。該處理器是TI的GPRS Class 12通信模塊與專用于應用處理的ARM926通用處理器(GPP)的集成。由于GPP的速度可達200MHz,因此OMAP730具有兩倍于上一代OMAP710處理器的應用處理性能。如同所有的OMAP處理器一樣,OMAP730可支持領先的移動

操作系統,其中包括Microsoft的智能電話與Pocket PC PhoneEdition、Symbian OS與Series 60、Palm OS以及Linux。

ARM9開發闆

ATMEL是ARM公司重要的合作夥伴,其基于ARM9系列AT91SAM9x5系列芯片應用非常廣泛,而作為ARM公司的中國區代理商,米爾科技開發了針對ARM9的全功能開發闆,其中有MDK例程,LINUX系統和android系統,開發闆詳情:

MYD-SAM9X25開發闆

MYD-SAM9X35開發闆

MYD-SAM9G15開發闆

MYD-SAM9G25開發闆

MYD-SAM9G35開發闆

相關詞條

相關搜索

其它詞條