AR9的體系結構_第1頁
AR9的體系結構_第2頁
AR9的體系結構_第3頁
AR9的體系結構_第4頁
AR9的體系結構_第5頁
已閱讀5頁,還剩106頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、嵌入式系統講義嵌入式系統講義第第2章章 arm9體系結構體系結構周國運周國運2007.3第第2章章 arm9體系結構體系結構主要內容主要內容2.1 arm處理器簡介處理器簡介2.2 arm9結構結構2.3 arm數據類型和存儲格式數據類型和存儲格式2.4 處理器狀態和工作模式處理器狀態和工作模式2.5 arm寄存器寄存器2.6 arm異常異常2.7 arm調試接口調試接口2.1 arm處理器簡介處理器簡介2.1.1 arm公司簡介公司簡介arm是是advance risc machine 的縮寫,的縮寫,既可以認為既可以認為是一個公司的名字,也可以認為是對一類微處理器的通稱,是一個公司的名字,

2、也可以認為是對一類微處理器的通稱,還可以認為是一種技術的名字。還可以認為是一種技術的名字。 arm公司于公司于1990年年11月在英國劍橋成立,前身為月在英國劍橋成立,前身為acorn計算機公司。計算機公司。 arm公司是全球領先的公司是全球領先的16/32位嵌入式位嵌入式risc微處理器解微處理器解決方案供應商。決方案供應商。 arm公司是知識產權(公司是知識產權(ip)公司,本身不生產芯片,靠)公司,本身不生產芯片,靠轉讓設計許可,由合作伙伴公司來生產各具特色的芯片。轉讓設計許可,由合作伙伴公司來生產各具特色的芯片。 目前,全世界有幾十家著名的半導體公司都使用目前,全世界有幾十家著名的半導

3、體公司都使用arm公公司的授權,其中包括司的授權,其中包括motorola、ibm、intel、 lg、 sony、nec、atmel等,從而保證了大量的開發工具和等,從而保證了大量的開發工具和豐富的第三方資源,它們共同保證了基于豐富的第三方資源,它們共同保證了基于arm處理器核的處理器核的設計可以很快投入市場。設計可以很快投入市場。arm公司已成為移動通信、手持設備、多媒體數字消費嵌入式解決方案的公司已成為移動通信、手持設備、多媒體數字消費嵌入式解決方案的risc標準。標準。2.1.2 arm體系結構的特點體系結構的特點 總體思想:總體思想:在不犧牲性能的同時,盡量在不犧牲性能的同時,盡量簡

4、化處理器。同時從體系結構的層面上簡化處理器。同時從體系結構的層面上靈活支持處理器擴展。這種簡化和開放靈活支持處理器擴展。這種簡化和開放的思路使得的思路使得arm處理器采用了很簡單的處理器采用了很簡單的結構來實現。結構來實現。 arm處理器是最先進的:處理器是最先進的:目前,目前,arm32位體系結構被公認為業界領先的位體系結構被公認為業界領先的32位嵌位嵌入式入式risc微處理器核,所有微處理器核,所有arm處理器處理器都共享這一體系結構。都共享這一體系結構。 2.1.2 arm體系結構的特點體系結構的特點(2) 一、一、risc型處理器結構型處理器結構arm采用采用risc結構結構,在簡化處

5、理器結構,減,在簡化處理器結構,減少復雜功能指令的同時,提高了處理器的速度。少復雜功能指令的同時,提高了處理器的速度。考慮到處理器與存儲器打交道的指令執行時間考慮到處理器與存儲器打交道的指令執行時間遠遠大于在寄存器內操作的指令執行時間,遠遠大于在寄存器內操作的指令執行時間,risc型處理器采用了型處理器采用了load/store(加載(加載/存儲)結構存儲)結構,即,即只有只有load/store指令可與存儲器打交道,其余指令指令可與存儲器打交道,其余指令都不允許進行存儲器操作。都不允許進行存儲器操作。同時,為了進一步提高指令和數據的存取速度,同時,為了進一步提高指令和數據的存取速度,risc

6、型處理器增加了指令高速緩沖型處理器增加了指令高速緩沖i-cache和數據和數據高速緩沖高速緩沖d-cache及多處理器結構及多處理器結構,使指令的操作,使指令的操作盡可能在寄存器之間進行。盡可能在寄存器之間進行。2.1.2 arm體系結構的特點體系結構的特點(3)只能對寄存器執行算術和邏輯只能對寄存器執行算術和邏輯操作,操作,load/storeload/store體系結構體系結構2.1.2 arm體系結構的特點體系結構的特點(4) 二、二、thumb指令集指令集雖然雖然arm處理器本身是處理器本身是32位設計,但考慮到位設計,但考慮到risc型處型處理器的指令功能相對較弱,新型的理器的指令功

7、能相對較弱,新型的arm體系結構中定義了體系結構中定義了16位的位的thumb指令集。指令集。thumb指令集比通常的指令集比通常的8/16位位cisc/risc處理器有更好處理器有更好的代碼密度,而芯片面積只增加的代碼密度,而芯片面積只增加6%,卻可以使程序存儲器更,卻可以使程序存儲器更小。小。三、多處理器狀態模式三、多處理器狀態模式arm體系結構定義了體系結構定義了7種處理器模式:用戶、種處理器模式:用戶、 快中斷、快中斷、中斷、管理、終止、未定義和系統模式,大大提高了中斷、管理、終止、未定義和系統模式,大大提高了arm處處理器的效率。理器的效率。四、兩種處理器工作狀態四、兩種處理器工作狀

8、態(執行執行32位位arm指令指令)arm狀態和狀態和thumb狀態。狀態。(執行執行16位位thumb指令指令)2.1.2 arm體系結構的特點體系結構的特點(5)五、嵌入式在線仿真調試五、嵌入式在線仿真調試arm體系結構的處理器芯片都嵌入了在線仿真體系結構的處理器芯片都嵌入了在線仿真ice-rt邏輯,便于通過邏輯,便于通過jtag來仿真調試芯片,省去來仿真調試芯片,省去了價格昂貴的在線仿真器。了價格昂貴的在線仿真器。六、靈活方便的接口六、靈活方便的接口arm體系結構具有協處理器接口,允許接體系結構具有協處理器接口,允許接16個協個協處理器。既可以使基本的處理器。既可以使基本的arm處理器內

9、核盡可能小,處理器內核盡可能小,方便地擴充方便地擴充arm指令集,也可以通過未定義指令來指令集,也可以通過未定義指令來支持協處理器的軟件仿真。支持協處理器的軟件仿真。七、低電壓功耗的設計七、低電壓功耗的設計考慮到考慮到arm處理器主要用于手持式嵌入式系統中,處理器主要用于手持式嵌入式系統中,在設計中就十分注意功耗的設計。在設計中就十分注意功耗的設計。2.1.3 arm指令系統版本指令系統版本arm公司從最初的開發到現在,公司從最初的開發到現在,arm指令集結構指令集結構有了巨大的改進,并在不斷完善和發展。為了清楚地有了巨大的改進,并在不斷完善和發展。為了清楚地表達每個表達每個arm內核所使用的

10、指令集,內核所使用的指令集,arm公司定義了公司定義了一系列的指令集體系結構版本,以一系列的指令集體系結構版本,以vx表示某種版本。表示某種版本。下面對版本下面對版本v1v5做一介紹。做一介紹。一、版本一、版本1(v1) v1在在arm1中使用,但從未商業化。中使用,但從未商業化。 26位尋址空位尋址空間,其指令主要有:間,其指令主要有: 基本的數據處理指令(無乘法指令)基本的數據處理指令(無乘法指令) 字、字節和半字存儲器訪問指令字、字節和半字存儲器訪問指令 分支指令(包括帶鏈接的分支指令)分支指令(包括帶鏈接的分支指令) 軟件中斷指令軟件中斷指令2.1.3 arm指令系統版本指令系統版本(

11、2)二、版本二、版本2(v2)仍是仍是26位尋址空間,在位尋址空間,在v1的基礎上增加的內容有:的基礎上增加的內容有: 乘法和乘法加指令乘法和乘法加指令 支持協處理器支持協處理器 快速中斷模式中的分組寄存器快速中斷模式中的分組寄存器 交換式加載交換式加載/存儲指令。存儲指令。三、版本三、版本3(v3)將尋址范圍擴展到將尋址范圍擴展到32位,但兼容位,但兼容26位尋址。在位尋址。在v2的基的基礎上增加的內容有:礎上增加的內容有: 設置了專用的當前程序狀態寄存器設置了專用的當前程序狀態寄存器cpsr、增加了程序狀態、增加了程序狀態保存寄存器保存寄存器 增加了中止異常和未定義指令異常兩種處理器模式增

12、加了中止異常和未定義指令異常兩種處理器模式 增加了訪問增加了訪問cpsr、spsr的指令的指令mrs和和msr 修改了異常返回指令的功能修改了異常返回指令的功能2.1.3 arm指令系統版本指令系統版本(3)四、版本四、版本4(v4)32位尋址方式,但不再兼容位尋址方式,但不再兼容26位尋址,在位尋址,在v3的基礎上增加的基礎上增加的內容有:的內容有: 半字加載半字加載/存儲指令存儲指令 在在t變量中轉換到變量中轉換到thumb狀態的指令狀態的指令 增加了在使用用戶模式寄存器的特權處理器模式增加了在使用用戶模式寄存器的特權處理器模式五、版本五、版本5(v5) 對對v4指令做了必要的修改和擴展,

13、并且增加了指令,具體指令做了必要的修改和擴展,并且增加了指令,具體變化為:變化為: 改進在改進在t變量中變量中arm/thumb狀態之間的切換效率狀態之間的切換效率 對于對于t和非和非t變量使用相同的代碼生成技術變量使用相同的代碼生成技術 增加了計數前導零指令增加了計數前導零指令 增加了軟件斷點指令增加了軟件斷點指令 對乘法指令設置標志做了嚴格定義。對乘法指令設置標志做了嚴格定義。 將流水線的級數從將流水線的級數從3級(如級(如arm7tdmi使用的)增加到使用的)增加到5級;級; 并改變存儲器接口來使用分開的指令與數據存儲器。并改變存儲器接口來使用分開的指令與數據存儲器。 2.1.3 arm

14、指令系統版本指令系統版本(4)六、版本六、版本6 (v6) 對對v5指令做了必要的修改和擴展,并且增指令做了必要的修改和擴展,并且增加了指令,加了指令, 2001年發布,首先在年發布,首先在arm11處理處理器中使用器中使用(2002年春季發布年春季發布),具體變化為:,具體變化為:farm體系版本體系版本6的新架構在降低耗電量的的新架構在降低耗電量的同時,還強化了圖形處理性能。同時,還強化了圖形處理性能。f增加了多媒體處理功能:通過追加有效進增加了多媒體處理功能:通過追加有效進行多媒體處理的行多媒體處理的simd功能,將語音及圖像的功能,將語音及圖像的處理功能提高到了原機型的處理功能提高到了

15、原機型的4倍。倍。fv6版本還支持多微處理器內核。版本還支持多微處理器內核。2.1.3 arm指令系統版本指令系統版本(5)arm核核體系結構體系結構arm1v1arm2v2arm2as,arm3v2aarm6,arm600,arm610v3arm7,arm700,arm710v3arm7tdmi,arm710t,arm720t arm740tv4tstrong arm,arm8,arm810v4arm9tdmi,arm920t,arm940tv4tarm9e-sv5tearm10tdmi,arm1020ev5tearm11,arm1156t2-s,arm1156t2f-s,arm1176jz

16、-s,arm11jzf-sv62.1.4 arm 體系結構的演變體系結構的演變 一、一、thumb指令集(指令集(t變種)變種) 支持支持thumb指令的指令的arm體系版本,一般加字符體系版本,一般加字符t來表來表示(如示(如v4t)。)。 目前目前thumb指令集有以下兩個版本:指令集有以下兩個版本:thumb 指令集版本指令集版本1,此版本作為,此版本作為arm體系版本體系版本4的的t變種;變種;thumb指令集版本指令集版本2,此版本作為,此版本作為arm體系版本體系版本5的的t變變種。種。 與版本與版本1相比,相比,thumb指令集的版本指令集的版本2具有以下特點:具有以下特點: 通

17、過增加新的指令和對已有指令的修改,來提高通過增加新的指令和對已有指令的修改,來提高arm指令指令和和thumb指令混合使用時的效率。指令混合使用時的效率。增加了軟件斷點(增加了軟件斷點(bkpt)指令和更嚴格地定義了)指令和更嚴格地定義了thumb乘法指令對條件碼標志位的影響。乘法指令對條件碼標志位的影響。2.1.4 arm 體系結構的演變體系結構的演變(2) 二、長乘指令(二、長乘指令(m變種)變種) m變種增加了兩條這樣的長乘指令:變種增加了兩條這樣的長乘指令:其中一條指令完成其中一條指令完成32位整數乘以位整數乘以32位整數,生成位整數,生成64位整位整數的長乘操作;數的長乘操作;另一條

18、指令完成另一條指令完成32位整數乘以位整數乘以32位整數,然后在加上一位整數,然后在加上一個個32位整數,生成位整數,生成64位整數的長乘加操作。這種長乘的位整數的長乘加操作。這種長乘的應用場合應用場合m變種很適合。變種很適合。2.1.4 arm 體系結構的演變體系結構的演變(3)三、增強型三、增強型dsp指令(指令(e變種)變種) e變種的變種的arm體系增加了一些增強處理器對典型體系增加了一些增強處理器對典型dsp算法處理能力的附加指令算法處理能力的附加指令 : 幾條新的完成幾條新的完成16位數據乘法和乘加操作的指令;位數據乘法和乘加操作的指令; 實現飽和的帶符號數的加減法操作的指令。實現

19、飽和的帶符號數的加減法操作的指令。 cache預取指令預取指令pld; e變種首先在變種首先在arm體系版本體系版本5t中使用,用字符中使用,用字符e表示。表示。 在早期的一些在早期的一些e變種中,未包含雙字讀取指令變種中,未包含雙字讀取指令ldrd,雙字寫入指令,雙字寫入指令strd,協處理器的寄存器,協處理器的寄存器傳輸指令傳輸指令mcrr/mrrc以及以及cache預取指令預取指令pld。這種這種e變種記作變種記作exp,其中,其中x表示缺少,表示缺少,p代表上述代表上述的幾種指令的幾種指令2.1.4 arm 體系結構的演變體系結構的演變(4)四、四、java加速器加速器jazelle(

20、j變種)變種)farm的的jazelle技術是技術是java語言和先進的語言和先進的32位位risc芯片完芯片完美結合的產物。美結合的產物。fjazelle技術使得技術使得java代碼的運行速度比普通的代碼的運行速度比普通的java虛擬機虛擬機提高了提高了8倍,這是因為倍,這是因為jazelle技術提供了技術提供了java加速功能,大加速功能,大幅的提高了機器的運行性能,而功耗反而降低了幅的提高了機器的運行性能,而功耗反而降低了80%。fjazelle技術使得在一個單獨的處理器上同時運行技術使得在一個單獨的處理器上同時運行java應用應用程序、已經建立好的操作系統和中間件以及其他的應用程程序、

21、已經建立好的操作系統和中間件以及其他的應用程序成為可能。序成為可能。fjazelle技術的誕生使得一些必須用到協處理器和雙處理器技術的誕生使得一些必須用到協處理器和雙處理器的場合可以用單處理器代替,這樣,既保證了機器的性能,的場合可以用單處理器代替,這樣,既保證了機器的性能,又降低了功耗和成本。又降低了功耗和成本。farm體系版本體系版本4tej是最早包含了是最早包含了j變種。用字符變種。用字符j表示表示j變變種種 2.1.4 arm 體系結構的演變體系結構的演變(5) 五、五、arm媒體功能擴展媒體功能擴展(simd變種變種)f arm的的simd媒體功能擴展為這些應用系媒體功能擴展為這些應

22、用系統提供了解決方案。它為包括音頻視頻處統提供了解決方案。它為包括音頻視頻處理在內的應用系統提供了優化功能。其主要理在內的應用系統提供了優化功能。其主要特點如下:特點如下: 使處理器的音頻視頻處理的性能提高了使處理器的音頻視頻處理的性能提高了24倍。倍。 可同時進行兩個可同時進行兩個16位操作數或者位操作數或者4個個8位操作數的位操作數的運算。運算。 用戶可以自定義飽和運算的模式。用戶可以自定義飽和運算的模式。 可進行兩個可進行兩個16位操作數的乘加乘減運算及位操作數的乘加乘減運算及32位位乘以乘以32位的小數乘加運算。位的小數乘加運算。 同時同時8位位/16位選擇操作。位選擇操作。2.1.4

23、 arm 體系結構的演變體系結構的演變(6)2.1.4 arm 體系結構的演變體系結構的演變(7)2.1.4 arm系列處理器簡介系列處理器簡介arm有以下系列處理器:有以下系列處理器:arm7系列系列arm9系列系列arm9e系列系列 arm10系列系列arm11系列系列securcore系列系列inter的的strongarm和和xscale系列系列 其中,其中,arm7、arm9、arm9e、arm10和和arm11為為5個通用處理器系列,每一個系列提供一套相對獨特的性能來個通用處理器系列,每一個系列提供一套相對獨特的性能來滿足不同應用領域的需求。滿足不同應用領域的需求。securcor

24、e系列專門為安全要求較系列專門為安全要求較高的應用而設計。高的應用而設計。2.1.4 arm系列處理器簡介系列處理器簡介(2)一、一、arm7系列系列 arm7采用馮采用馮諾依曼(諾依曼(von-neumann)結構,數據存儲器和結構,數據存儲器和程序存儲器使用同一存儲空間,用相同的指令訪問程序存儲器使用同一存儲空間,用相同的指令訪問 。此結構。此結構也被大多數計算機所采用。也被大多數計算機所采用。 arm7為三級流水線結構(取指,譯碼,執行),平均功耗為三級流水線結構(取指,譯碼,執行),平均功耗為為0.6mw/mhz,時鐘速度為,時鐘速度為66mhz,每條指令平均執行,每條指令平均執行1.

25、9個時鐘周期。個時鐘周期。 arm7系列微處理器包括如下幾種類型的核:系列微處理器包括如下幾種類型的核:arm7tdmi、arm7tdmi-s、 arm720t、arm7ej。 arm7tmdi是目前使用最廣泛的是目前使用最廣泛的32位嵌入式位嵌入式risc處理器,處理器,屬低端屬低端arm處理器核。處理器核。tdmi的基本含義為(對其它系列也的基本含義為(對其它系列也適用):適用): t: 支持支持16為壓縮指令集為壓縮指令集thumb,稱為,稱為t變種變種d: 支持片上支持片上debug,稱為,稱為d變種變種m:內嵌硬件乘法器:內嵌硬件乘法器 multiplier,稱為,稱為m變種變種i:

26、 嵌入式嵌入式ice,支持片上斷點和調試,稱為,支持片上斷點和調試,稱為i變種變種2.1.4 arm系列處理器簡介系列處理器簡介(3)表表2-1 arm7系列產品系列產品 項目項目 型號型號arm7tdmiarm7tdmi-sarm720tarm7ejcache(ins/data)nono8kbnomemorymgtnonommunobusahbahbahbahbthumbyesyesyesyesdspnononoyesjazellenononoyes指令指令版本版本v4tv4tv4tv5tej2.1.4 arm系列處理器簡介系列處理器簡介(4)二、二、arm9系列系列 arm7采用的采用的n

27、eumann結構,取指令和取操作數都是通過結構,取指令和取操作數都是通過一條總線分時進行,這樣,在高速運算時,不但不能同時一條總線分時進行,這樣,在高速運算時,不但不能同時取指令和取操作數,而且還會造成傳輸通道上的瓶頸現象。取指令和取操作數,而且還會造成傳輸通道上的瓶頸現象。 arm9采用哈佛(采用哈佛(harvard)結構,程序存儲器與數據存儲結構,程序存儲器與數據存儲器分開,提供了較大的存儲器帶寬。同時,大多數器分開,提供了較大的存儲器帶寬。同時,大多數dsp都都采用此結構。采用此結構。 arm9為五級流水(取指,譯碼,執行,緩沖為五級流水(取指,譯碼,執行,緩沖/數據,回數據,回寫),平

28、均功耗為寫),平均功耗為0.7mw/mhz。時鐘速度為。時鐘速度為120mhz-200mhz,每條指令平均執行,每條指令平均執行1.5個時鐘周期。個時鐘周期。 arm9系列微處理器包含系列微處理器包含arm920t、arm922t和和arm940t三種類型,主要應用在手持產品、視頻電話、三種類型,主要應用在手持產品、視頻電話、pda、數字消費產品、機頂盒、家用網關等方面。、數字消費產品、機頂盒、家用網關等方面。2.1.4 arm系列處理器簡介系列處理器簡介(5)表表2-2 arm9系列產品系列產品 項目項目 型號型號arm920tarm922tarm940tcache(ins/data)16k

29、b/16kb8kb/8kb4kb/4kbmemorymgtmmummummubusasbasbasbthumbyesyesyesdspnononojazellenonono指令指令版本版本v4tv4tv4t2.1.4 arm系列處理器簡介系列處理器簡介(6)三、三、arm9e系列系列 arm9e系列微處理器包括如下系列微處理器包括如下4種類型的核:種類型的核:arm926ej-s、arm946e-s和和arm966e-s,見表,見表2-3。 arm9e系列是一種包含有微控制器、系列是一種包含有微控制器、dsp、java功功能的綜合處理器,強化了數字信號處理能力,適用能的綜合處理器,強化了數字信

30、號處理能力,適用于需要于需要dsp和微控制器結合使用的情況,并且把和微控制器結合使用的情況,并且把thumb技術和技術和dsp都擴展到了都擴展到了arm指令中,并且具指令中,并且具有有embededice-rt邏輯,更好地適應了實時系統開邏輯,更好地適應了實時系統開發的需要。同時發的需要。同時arm9e使用了使用了jazelle增強技術,該增強技術,該技術支持一種新的技術支持一種新的java操作狀態,在硬件中執行操作狀態,在硬件中執行java字節碼。字節碼。2.1.4 arm系列處理器簡介系列處理器簡介(7)表表2-3 arm9e系列產品系列產品 項目項目 型號型號arm926ej-sarm9

31、46e-sarm966e-sarm968e-scache(ins/data)可變可變無無memorymgtmmumpu-dmabus2*ahbahbahbahbthumbyesyesyesyesdspyesyesyesyesjazelleyesnonono指令指令版本版本v5tejv5tev5tev5te2.1.4 arm系列處理器簡介系列處理器簡介(8)四、四、arm10系列系列 arm10系列微處理器包括:系列微處理器包括:arm1020e和和arm1022e等等型號,見表型號,見表2-4。 arm10系列采用了新的體系結構,其核心為使用了向量系列采用了新的體系結構,其核心為使用了向量浮點

32、單元,有強大的浮點運算能力,并且增加了浮點單元,有強大的浮點運算能力,并且增加了cache容量容量和總線寬度,并且具有低功耗的特點。和總線寬度,并且具有低功耗的特點。 arm10系列微處理系列微處理器主要應用于下一代無線設備、視頻消費品等。器主要應用于下一代無線設備、視頻消費品等。表表2-4 arm10系列產品系列產品 項目項目 型號型號arm1020earm1022earm1022ecache(ins/data)32kb/32kb16kb/16kb可變mpumemorymgtmmummummubus2*ahb2*ahb2*ahbthumbyesyesyesdspyesyesyesjazell

33、enonoyes指令指令版本版本v5tev5tev5tej2.1.4 arm系列處理器簡介系列處理器簡介(9)五、五、armstrong/xscale系列系列 strongarm是采用是采用arm體系結構高度集成的體系結構高度集成的32位位risc微處理器。它融合了微處理器。它融合了intrl公司的設計技術,公司的設計技術,以及以及arm體系結構的電源效率,其體系結構在軟件體系結構的電源效率,其體系結構在軟件上兼容上兼容armv4,同時又具有,同時又具有intel技術優點。技術優點。strongarm是是intrl公司為手持消費類電子和移公司為手持消費類電子和移動計算與通信設備生產的嵌入式處理

34、器。采用動計算與通信設備生產的嵌入式處理器。采用strongarm架構的處理器有:架構的處理器有:sa-1、sa-110、sa-1100、sa1110和和ixp1200。 xscale是基于是基于armv5體系結構的解決方案,是一體系結構的解決方案,是一款性能全、性價比高、功耗低的處理器,支持款性能全、性價比高、功耗低的處理器,支持16位位的的thumb和和dsp指令集,主要應用于數字移動電話、指令集,主要應用于數字移動電話、個人數字助理和網絡產品等。個人數字助理和網絡產品等。 xscale架構的處理器架構的處理器有:有:pxa250、pxa255和和pxa270等。等。2.1.4 arm系列

35、處理器簡介系列處理器簡介(10)六、六、arm微處理器應用微處理器應用1、工業控制領域:、工業控制領域:作為作為32的的risc架構,基于架構,基于arm核核的微控制器芯片不但占據了高端微控制器市場的大部分市的微控制器芯片不但占據了高端微控制器市場的大部分市場份額,同時也逐漸向低端微控制器應用領域擴展,場份額,同時也逐漸向低端微控制器應用領域擴展,arm微控制器的低功耗、高性價比,向傳統的微控制器的低功耗、高性價比,向傳統的8位位/16位微控制位微控制器提出了挑戰。器提出了挑戰。 2、無線通訊領域:、無線通訊領域:目前已有超過目前已有超過85%的無線通訊設備的無線通訊設備采用了采用了arm技術

36、,技術, arm以其高性能和低成本,在該領域以其高性能和低成本,在該領域的地位日益鞏固。的地位日益鞏固。 3、網絡應用:、網絡應用:隨著寬帶技術的推廣,采用隨著寬帶技術的推廣,采用arm技術技術的的adsl芯片正逐步獲得競爭優勢。此外,芯片正逐步獲得競爭優勢。此外,arm在語音及在語音及視頻處理上進行了優化,并獲得廣泛支持,也對視頻處理上進行了優化,并獲得廣泛支持,也對dsp的應的應用領域提出了挑戰。用領域提出了挑戰。adsl(非對稱數字用戶線路非對稱數字用戶線路) 4、消費類電子產品:、消費類電子產品:arm技術在目前流行的數字音技術在目前流行的數字音頻播放器、數字機頂盒和游戲機中得到廣泛采

37、用。頻播放器、數字機頂盒和游戲機中得到廣泛采用。 5、成像和安全產品:、成像和安全產品:現在流行的數碼相機和打印機中現在流行的數碼相機和打印機中絕大部分采用絕大部分采用arm技術。手機中的技術。手機中的32位位sim智能卡也采用智能卡也采用了了arm技術。技術。arm系列產品命名規則系列產品命名規則family number 7: arm7 9: arm910: arm1011: arm11memory system 2: cache, mmu, process id 4: cache, mpu 6: write buffer, no cachememory size 0: cache siz

38、e (4-128kb) 2: reduced cache size 6: tcmsynthesizableextensions e: dsp extension j: jazelle extension t: thumb support2.2 arm9體系結構體系結構2.2.1 arm9體系結構框圖體系結構框圖對于對于arm9系列,其基本內核是系列,其基本內核是arm9tdmi,下頁圖給出了下頁圖給出了arm9tdmi結構框圖。主要有結構框圖。主要有7部分部分構成。構成。比較最常用的是比較最常用的是arm920t內核,后頁圖給出了內核,后頁圖給出了arm920t結構框圖。結構框圖。arm920

39、t結構主要部分有:結構主要部分有:arm9tdmi內核內核cpu、mmu、cache、協處理器接口、運行跟蹤信、協處理器接口、運行跟蹤信息接口息接口(etm)、jtag調試接口、總線接口等調試接口、總線接口等7部分部分構成。構成。一、一、arm9tdmi體系結構框圖體系結構框圖arm9tdmi cpu指令接口指令接口數據地址數據地址接口接口跟蹤接口跟蹤接口數據接口數據接口jtag接口接口指令地址指令地址接口接口arm9tdmi結構結構框圖框圖二、二、arm920t體系結構框圖體系結構框圖二、二、arm920t體系結構框圖體系結構框圖arm9tdmi核性能核性能2.2.2 arm流水線結構流水線

40、結構一、流水線技術概述一、流水線技術概述 流水線方式:流水線方式:是把一個重復的過程分解為若干個是把一個重復的過程分解為若干個子過程,每個子過程可以與其他子過程同時進行。子過程,每個子過程可以與其他子過程同時進行。 由于這種工作方式與工廠中的生產流水線十分相似,由于這種工作方式與工廠中的生產流水線十分相似,因此,把它稱為流水線工作方式。因此,把它稱為流水線工作方式。 處理器按照一系列步驟來執行每一條指令。典型處理器按照一系列步驟來執行每一條指令。典型的步驟為:的步驟為: 1)從存儲器讀取指令()從存儲器讀取指令(fetch) 2)譯碼以鑒別它是哪一類指令()譯碼以鑒別它是哪一類指令(dec)

41、3)從寄存器組取得所需的操作數()從寄存器組取得所需的操作數(reg) 4)將操作數進行組合以得到結果或存儲器地址()將操作數進行組合以得到結果或存儲器地址(exe) 5)如果需要,則訪問存儲器存取數據()如果需要,則訪問存儲器存取數據(mem) 6)將結果回寫到寄存器組()將結果回寫到寄存器組(res)二、arm7的三級流水線 1取指:取指:從程序存儲器中取指令,放入指令流水線。從程序存儲器中取指令,放入指令流水線。(占用存儲器訪問操作占用存儲器訪問操作) 2譯碼:譯碼:指令譯碼。指令譯碼。(占用譯碼邏輯占用譯碼邏輯) 3執行:執行:執行指令執行指令/讀寫讀寫reg。(占用占用alu及數據路

42、徑及數據路徑)2.2.2 arm流水線結構流水線結構(2) 下圖為下圖為3個單周期指令在流水線上的情況。一條指令有個單周期指令在流水線上的情況。一條指令有3個個時鐘周期的執行時間,但吞吐量是每個周期時鐘周期的執行時間,但吞吐量是每個周期1條指令。條指令。取指取指譯碼譯碼執行執行取指取指譯碼譯碼執行執行取指取指譯碼譯碼執行執行t123pc值如何計算?值如何計算?pc 指向處于讀取級的指令地址,而不是處于執行級的指令地址指向處于讀取級的指令地址,而不是處于執行級的指令地址pc=當前執行指令地址當前執行指令地址+8arm單周期指令的單周期指令的3級流水線操作級流水線操作2.2.2 arm流水線結構流

43、水線結構(3) 優秀的流水線結構優秀的流水線結構 operationcycle 1 2 3 45 6 add sub mov and orr eor cmp rsbfetchdecodeexecutefetchdecodeexecutefetchdecodeexecutefetchdecodeexecutefetchdecodeexecutedecodeexecutefetchdecodefetchfetch本例中本例中 6 個時鐘周期內一共完成了個時鐘周期內一共完成了 ? 條指令條指令全部對寄存器進行操作全部對寄存器進行操作 (單周期執行)(單周期執行)指令周期數指令周期數 (cpi) =

44、12.2.2 arm流水線結構流水線結構(4)多周期指令的多周期指令的3級流水線操作級流水線操作取指取指譯碼譯碼執行執行取指取指譯碼譯碼地址地址計算計算數據數據傳送傳送取指取指 取指取指譯碼譯碼執行執行譯碼譯碼執行執行取指取指 譯碼譯碼 執行執行 1 2 3 4 5 6 7 81 add2 stb3 add4 add5 add指令流水線出現了中斷指令流水線出現了中斷 2.2.2 arm流水線結構流水線結構(5) t4周期周期: 指令指令2地址計算產生地址計算產生下一周期數據路下一周期數據路 徑需要的徑需要的控制信號控制信號。 指令指令3譯碼產生譯碼產生下一周期數據路徑需要下一周期數據路徑需要

45、的的控制信號控制信號。 二者都產生二者都產生下一周期數據路徑控制信號,數據路徑控制下一周期數據路徑控制信號,數據路徑控制沖突,因此斷流沖突,因此斷流。 t5周期周期: 指令指令2 stb訪問數據訪問數據存儲器存儲器 指令指令5取指訪問程序取指訪問程序存儲器存儲器 二者都訪問存儲器,造成訪問存儲器沖突,在此斷流。二者都訪問存儲器,造成訪問存儲器沖突,在此斷流。 指令指令3譯碼譯碼 指令指令4的譯碼則不得不推遲一個周期。的譯碼則不得不推遲一個周期。2.2.2 arm流水線結構流水線結構(6)三、三、arm9tdmi的五級流水線的五級流水線arm7tdmi與與arm9tdmi流水線比較流水線比較2.

46、2.2 arm流水線結構流水線結構(7)四、四、arm7和和arm9流水線比較流水線比較 5級流水線的級流水線的arm9內核是內核是哈佛架構哈佛架構,擁有,擁有獨立的指令和數據總線;指令和數據的讀取獨立的指令和數據總線;指令和數據的讀取可以在同一周期進行;可以在同一周期進行; 3級流水的級流水的arm7內核是指令和數據總線復內核是指令和數據總線復用的用的馮馮.諾依曼架構諾依曼架構,指令和數據的讀取不能,指令和數據的讀取不能在同一周期進行;在同一周期進行; 5級流水線設計把寄存器讀取、邏輯運算、級流水線設計把寄存器讀取、邏輯運算、結果回寫分散在不同的流水當中,結果回寫分散在不同的流水當中, 每一

47、級流每一級流水的操作簡潔,提升了處理器的主頻。水的操作簡潔,提升了處理器的主頻。2.2.2 arm流水線結構流水線結構(8)2.2.2 arm流水線結構流水線結構(9) 隨著流水線深度(級數)的增加,每一段隨著流水線深度(級數)的增加,每一段的工作量被削減了,這使得處理器可以工作的工作量被削減了,這使得處理器可以工作在更高的頻率,同時改進了處理器的性能;在更高的頻率,同時改進了處理器的性能; 負面作用是增加了系統的延時,即內核在負面作用是增加了系統的延時,即內核在執行一條指令前,需要更多的周期來填充流執行一條指令前,需要更多的周期來填充流水線;水線; 流水線級數的增加也意味著在某些段之間流水線

48、級數的增加也意味著在某些段之間會產生數據相關。會產生數據相關。2.2.2 arm流水線結構流水線結構(10)arm處理器性能比較處理器性能比較2.2.3 arm總線結構總線結構arm微控制器使用的是微控制器使用的是amba總線體系結構總線體系結構amba(advanced microcontroller bus architecture)是)是arm公司公布的總線標準,先進公司公布的總線標準,先進的的amba規范定義了三種總線:規范定義了三種總線: ahb總線總線(advanced high-performance bus):):用于連接高性能系統模塊。它支持突發數據傳輸方用于連接高性能系統模

49、塊。它支持突發數據傳輸方式及單個數據傳輸方式,所有時序式及單個數據傳輸方式,所有時序 參考同一個時參考同一個時鐘沿。鐘沿。 asb總線總線(advanced system bus):):用于連接用于連接高性能系統模塊,它支持突發數據傳輸模式。高性能系統模塊,它支持突發數據傳輸模式。 apb總線總線(advance peripheral bus):):是一個是一個簡單接口支持低性能的外圍接口。簡單接口支持低性能的外圍接口。 本節主要內容本節主要內容1、數據類型、數據類型2、存儲器組織、存儲器組織3、存儲器層次、存儲器層次 2.3 arm存儲結構存儲結構2.3.1 arm存儲數據類型存儲數據類型

50、arm處理器支持以下處理器支持以下6種數據類型:種數據類型: 8位位有符號和無符號字節有符號和無符號字節(byte)。 16位位有符號和無符號半字有符號和無符號半字(halfword) 它們必須以兩字節的邊界對齊它們必須以兩字節的邊界對齊(半字對齊半字對齊)。 32位位有符號和無符號字有符號和無符號字(word) 它們必須以它們必須以4字節的邊界對齊字節的邊界對齊(字對齊字對齊)。 字對齊字對齊:字單元地址的低兩位:字單元地址的低兩位 a1a0=0b00。即地。即地址末位為址末位為0 x0, 0 x4, 0 x8, 0 xc。 半字對齊半字對齊:半字單元地址的最低位:半字單元地址的最低位 a0

51、=0b0 (地址地址末位為末位為0 x0,0 x2,0 x4,0 x6,0 x8,0 xa,0 xc,0 xe)。2.3 arm存儲結構存儲結構 對于指令對于指令,arm指令系統分為指令系統分為32位位arm指令集指令集和和16位的位的thumb指令集指令集,在存儲時分別以,在存儲時分別以32位和位和16位的兩種不同長度存儲。位的兩種不同長度存儲。 對于數據對于數據,arm支持對支持對32位字數據,位字數據,16位半字數位半字數據,據,8位字節數據位字節數據操作。因此數據存儲器可以存儲操作。因此數據存儲器可以存儲32位,位,16位,位,8位三種不同長度數據。位三種不同長度數據。 在在arm內部

52、,所有操作都面向內部,所有操作都面向32位的操作數,只位的操作數,只有數據傳送指令支持較短的字節和半字的數據類型。有數據傳送指令支持較短的字節和半字的數據類型。當從存儲器讀入一個字節或半字時,根據其數據類當從存儲器讀入一個字節或半字時,根據其數據類型將其擴展到型將其擴展到32位。位。2.3 arm存儲結構存儲結構(2)2.3.2 arm存儲器組織存儲器組織 arm存儲器以存儲器以8位為一個單元存儲數據位為一個單元存儲數據(一個字節一個字節),每個,每個存儲單元分配一個存儲地址。存儲單元分配一個存儲地址。 arm將存儲器看作是從零地址開始的字節的線性組合。將存儲器看作是從零地址開始的字節的線性組

53、合。作為作為32位的微處理器,位的微處理器,arm體系結構所支持的最大尋址空體系結構所支持的最大尋址空間為間為4gb(232字節)。字節)。 從零字節到三字節放置第一個存儲的從零字節到三字節放置第一個存儲的字字數據,從第四個字數據,從第四個字節到第七個字節放置第二個存儲的節到第七個字節放置第二個存儲的字字數據,依次排列。數據,依次排列。 32位的字數據要使用位的字數據要使用4個地址單元,個地址單元,16位半數據要使用位半數據要使用2個地個地址單元。址單元。 這樣,就存在一個所存儲的字或半字數據的排列順序問題。這樣,就存在一個所存儲的字或半字數據的排列順序問題。arm體系結構可以用兩種方法存儲字

54、數據,稱為體系結構可以用兩種方法存儲字數據,稱為大端格式大端格式和和小端格式小端格式 。2.3 arm存儲結構存儲結構(3)2.3 arm存儲結構存儲結構(4) 大端格式大端格式(big-endian):字數據的高字節存儲在低地址中,字數據的高字節存儲在低地址中,而字數據的低字節則存放在高地址中。而字數據的低字節則存放在高地址中。 小端格式小端格式(low-endian):與大端存儲格式相反。低地址中與大端存儲格式相反。低地址中存放的是字數據的低字節,高地址存放的是字數據的高字存放的是字數據的低字節,高地址存放的是字數據的高字節。節。缺省設置為小端格式。缺省設置為小端格式。2.3.3 arm存

55、儲器層次存儲器層次 微處理器希望微處理器希望存儲器容量大、速度快。但容量存儲器容量大、速度快。但容量大者速度慢;速度快者容量小。解決方法是大者速度慢;速度快者容量小。解決方法是構建一構建一個由多級存儲器組成的復合存儲器系統。個由多級存儲器組成的復合存儲器系統。 兩級存儲器方案兩級存儲器方案一般包括:一般包括:一個容量小但速度快的一個容量小但速度快的從存儲器從存儲器一個容量大但速度慢的一個容量大但速度慢的主存儲器主存儲器宏觀上看這個存儲器系統像一個即大又快的存儲宏觀上看這個存儲器系統像一個即大又快的存儲器。這個容量小但速度快的元件是器。這個容量小但速度快的元件是cache,它自動,它自動地保存處

56、理器經常用到的指令和數據的拷貝。地保存處理器經常用到的指令和數據的拷貝。2.3 arm存儲結構存儲結構(5)多級存儲器系統多級存儲器系統寄存器組寄存器組 訪問時間約為幾個訪問時間約為幾個ns。片上片上ram 與片外與片外ram比速度快、功耗小、比速度快、功耗小、 容量小。讀寫時間約為幾個容量小。讀寫時間約為幾個ns。片上片上cache 832kb,訪問時間約為十幾個訪問時間約為十幾個ns。主存儲器主存儲器 一般為幾兆字節一般為幾兆字節1gb 的動態存的動態存 儲器,訪問時間約儲器,訪問時間約 50ns。2.3 arm存儲結構存儲結構(6)cpu寄存器組寄存器組片上片上ram片上片上cache主

57、存儲器主存儲器硬盤硬盤2.4 arm處理器的工作狀態和模式處理器的工作狀態和模式為了能夠體現為了能夠體現arm的特點和性能,的特點和性能,arm處理處理器有兩種工作狀態和器有兩種工作狀態和7種工作模式。種工作模式。2.4.1 arm處理器的工作狀態處理器的工作狀態 有兩種工作狀態:有兩種工作狀態: arm狀態:狀態:處理器執行處理器執行32位的字對齊的位的字對齊的arm指指令;令; thumb狀態:狀態:處理器執行處理器執行16位的半字對齊的位的半字對齊的thumb指令。指令。 兩種狀態可以切換兩種狀態可以切換。程序執行過程中,通過執。程序執行過程中,通過執行行帶狀態切換的分支指令帶狀態切換的

58、分支指令bx,隨時在兩種工作狀,隨時在兩種工作狀態之間進行切換。并且,處理器工作狀態的轉變,態之間進行切換。并且,處理器工作狀態的轉變,并不影響處理器的工作模式和相應寄存器中的內容。并不影響處理器的工作模式和相應寄存器中的內容。2.4 arm處理器的工作狀態和模式處理器的工作狀態和模式(2)從從arm狀態切換到狀態切換到thumb狀態狀態有兩種情況有兩種情況arm處理器自動切換到處理器自動切換到thumb狀態。狀態。 (1)執行)執行bx指令,當操作數寄存器的位指令,當操作數寄存器的位0為為1時,則微時,則微處理器從處理器從arm狀態切換到狀態切換到thumb狀態。此為主動切換。狀態。此為主動

59、切換。 (2)當處理器處于)當處理器處于thumb狀態時發生異常(如狀態時發生異常(如irq、fiq、undef等),處理完異常后,在異常處理返回時,自等),處理完異常后,在異常處理返回時,自動切換到動切換到thumb狀態。此為自動切換。狀態。此為自動切換。從從thumb狀態切換到狀態切換到arm狀態狀態有兩種情況有兩種情況arm處理器自動切換到處理器自動切換到thumb狀態。狀態。 (1)執行)執行bx指令,當操作數寄存器的位指令,當操作數寄存器的位0為為0時,則微時,則微處理器從處理器從thumb狀態切換到狀態切換到arm狀態。狀態。 (2)當處理器在)當處理器在thumb狀態時發生異常(

60、如狀態時發生異常(如irq、fiq、undef等),則處理器從等),則處理器從thumb狀態自動切換到狀態自動切換到arm狀態狀態進行異常處理進行異常處理2.4 arm處理器的工作狀態和模式處理器的工作狀態和模式(3)例例3.1 狀態切換程序狀態切換程序;從從arm狀態切換到狀態切換到thumb狀態狀態ldrr0,=lable+1bxr0;從從thumb狀態切換到狀態切換到arm狀態狀態ldrr0,=lablebxr0注意:注意: arm和和thumb之間狀態的切換不影響處理器的之間狀態的切換不影響處理器的模式或寄存器的內容。模式或寄存器的內容。 arm處理器在開始執行代碼時,只能處于處理器在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論