arm7

arm7

ARM7系列處理器是英國ARM公司設計的主流嵌入式處理器 ARM7核心是0.9MIPS/MHz的三級流水線和馮·諾伊曼結構; ARM9核心是5級流水線,提供1.1MIPS/MHz的哈佛結構。 ARM7沒有MMU。

概述

ARM7系列包括ARM7TDMI、ARM7TDMI-S、帶有高速快取處理器宏單元的ARM720T。該系列處理器提供Thumb 16位壓縮指令集和EmbededICE軟體調試方式,適用於更大規模的SoC設計中。ARM7TDMI基於ARM體系結構V4版本,是目前低端的ARM核。

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

內同時有5個指令在執行。在同樣的加工工藝下,ARM9TDMI處理器的時鐘頻率是ARM7TDMI的1.8~2.2倍。

指令周期

指令周期的改進:

loads指令和stores指令

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

(1)ARM9有獨立的指令和數據存儲器接口,允許處理器同時進行取指和讀寫數據。這叫作改進型哈佛結構。而ARM7隻有數據存儲器接口,它同時用來取指令和數據訪問。

(2)5級流水線引入了獨立的存儲器和寫回流水線,分別用來訪問存儲器和將結果寫回暫存器。

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

互鎖技術

互鎖(interlocks)技術

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

arm7 arm7

中斷

ARM7TDMI核心CPU在回響中斷後會切換到異常模式下:FIQ中斷是進入快中斷模式,IRQ中斷時進入中斷模式(ARM7TDMI核心有7種模式:用戶模式,系統模式,快中斷模式,中斷模式,管理模式,中止模式和未定義模式,其中後5種被稱為異常模式。

中斷處理過程,ARM7進入及退出快中斷模式和中斷模式的過程(中斷回響過程)如下:

① 將下一條指令的地址複製到LR(R14)中(在ARM狀態下)。

② 將CPSR複製到適當的SPSR(各種模式處CPSR是共用一個的,而SPSR在不同異常模式下是不同的)。

③ 根據異常將CPSR模式強制設為快中斷模式或中斷模式。

④ 強制PC從相關的異常向量處取指。(到此完成進入中斷服務程式的動作)

⑤ 執行異常服務程式。

⑥ 將LR中的值減去偏移量後移入PC。ARM狀態快中斷模式和中斷模式下這個偏移量為4,因為LR保存的是由於FIQ或IRQ占先面沒有被執行的指令的地址。

⑦ 將SPSR的值複製回CPSR中。

⑧ 清零在入口置位的中斷禁止標誌。

一旦產生IRQ中斷,微控制器會切換到IRQ模式,並且跳轉到向量表0x0000018地址處執行程式。而一旦產生FIQ中斷,微控制器會切換到FIQ模式,並且跳轉到向量表0x000001C地址處執行程式。所示,在0x00000080處和0x0000001C處必須各有一條跳轉指令,分別跳轉的IRQ和FIQ中斷處理的代碼處。在0x00000000處的一般向量表稱為異常向量表。

ARM7的中斷向量表的前8箇中斷向量中,最後兩個是IRQ和FIQ。可以從這兩個中斷向量跳轉到相應的中斷服務函式中去。在ARM7中,IRQ中斷用的比較多。當產生一個IRQ中斷之後,首先要保存當前工作狀態的環境,然後將中斷服務函式地址賦給PC,跳轉到中斷服務函式。執行完中斷服務函式之後,再恢復中斷前的工作狀態環境,返回正常的工作模式。

基本介紹

ARM提供一系列核心、體系擴展、微處理器和系統晶片方案。由於所有產品均採用一個通用的軟體體系,所以相同的軟體可在所有產品中運行(理論上如此)。典型的產品如下。

體系擴展

Thumb 是ARM體系結構的T變種,是一種新的指令體系,它是ARM技術的一大特色。 它有從標準32位ARM指令集抽出來的36條指令格式,可以重新編成16位的操作碼。這能帶來很高的代碼密度 。 ARM7TDMI是第一個支持Thumb的核,支持Thumb的核僅僅是ARM體系結構的一種發展的擴展,所以編譯器既可以編譯Thumb代碼,又可以編譯ARM代碼 支持Thumb的ARM體系結構的處理器狀態可以方便的切換到Thumb狀態,並在該狀態下運行,在該狀態下指令集是16位的。 與ARM指令集相比.Thumb指令集具有以下局限 完成相同的操作,Thumb指令通常需要更多的指令,因此在對系統運行時間要求苛刻的套用場合ARM指令集更為適合; Thumb指令集沒有包含進行異常處理時需要的一些指令,因此在異常中斷時,還是需使用ARM指令,這種限制決定了Thumb指令需要和ARM指令配合使用。

ICE技術

由於集成了類似於ICE的CPU核心調試技術,所以原型設計和系統晶片的調試得到了極大的簡化。

微處理器

--- ARM7:小型、快速、低能耗、集成式RISC核心,用於移動通信。

--ARM7TDMI(Thumb):這是公司授權用戶最多的一項產品,將ARM7指令集同Thumb擴展組合在一起,以減少記憶體容量和系統成本。同時,它還利用嵌入式ICE調試技術來簡化系統設計,並用一個DSP增強擴展來改進性能。該產品的典型用途是數字蜂窩電話和硬碟驅動器。

ARM710系列,包括ARM710、ARM710T、ARM720T和ARM740T:低價、低能耗、封裝式常規系統微型處理器,配有高速快取(Cache)、記憶體管理、寫緩衝和JTAG。廣泛套用於手持式計算、數據通信和消費類多媒體。

--ARM940T、920T系列:低價、低能耗、高性能系統微處理器,配有Cache、記憶體管理和寫緩衝。套用於高級引擎管理、保全系統、頂置盒(STB)、便攜計算機和高檔印表機。

--StrongARM:性能很高、同時滿足常規套用需要的一種微處理器技術,與DEC聯合研製,後來授權給Intel

SA110處理器、SA1100PDA系統晶片和SA1500多媒體處理器晶片均採用了這一技術。

--ARM7500和ARM7500FE:高度集成的單晶片RISC計算機,基於一個快取式ARM7 32位核心,擁有記憶體和I/O控制器、3個DMA通道、片上視頻控制器和調色板以及立體聲連線埠;ARM7500FE則增加了一個浮點運算單元以及對EDODRAM的支持。特別適合電視頂置盒和網路計算機(NC)。

相關詞條

相關搜尋

熱門詞條

聯絡我們