




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本章將對ARM技術進行全面論述,通過本章的學習,使大家對ARM技術有個全面的了解和掌握,建立起以ARM技術為基礎的嵌入式系統應用和以ARM核為基礎的嵌入式SoC芯片設計的技術基礎。第二章ARM技術概述本章將對ARM技術進行全面論述,通過本章的學習,使大家對AR
本章的主要內容為:
2.1ARM體系結構的發展歷史和技術特征2.2ARM體系結構不同版本的發展概述2.3Thumb技術介紹2.4ARM處理器工作狀態2.5ARM處理器工作模式2.6ARM寄存器組成2.7ARM異常中斷 本章的主要內容為:
2.1ARM體系結構的發展歷史2.8ARM組織結構簡介2.9ARM存儲器接口及存儲器層次2.10ARM協處理器2.11ARM片上總線AMBA2.12ARM的調試結構2.13ARM核綜述2.14基于ARM核的芯片選擇2.8ARM組織結構簡介2.1ARM體系結構的發展歷史和技術特征2.1.1ARM發展的歷程 2.1.2ARM體系結構的技術特征2.1ARM體系結構的發展歷史和技術特征最近10多年來ARM技術的突出成果表現在:使用“Thumb”的新型壓縮指令格式,使得應用系統開發可降低系統成本和功耗;ARM9、ARM10、Strong-ARM和ARM11等系列處理器的開發,顯著地提高了ARM的性能,使得ARM技術在面向高端數字音、視頻處理等多媒體產品的應用中更加廣泛;更好的軟件開發和調試環境,加快用戶產品開發;更為廣泛的產業聯盟使得基于ARM的嵌入式應用領域更加廣闊;嵌入在復雜SoC中、基于ARM核的調試系統代表著當今片上調試技術的前沿。 2.1.1ARM發展的歷程最近10多年來ARM技術的突出成果表現在: 2.1.1A第一片ARM處理器是1983年10月到1985年4月間在位于英國劍橋的AcornComputer公司開發。1990年,為廣泛推廣ARM技術而成立了獨立的公司。20世紀90年代,ARM快速進入世界市場。 ARM發展的歷程第一片ARM處理器是1983年10月到1985年4月間在位于在ARM的發展歷程中,從ARM7開始,ARM核被普遍認可和廣泛使用。1995年StrongARM問世。XScale是下一代StrongARM芯片的發展基礎。ARM10TDMI是ARM處理器核中的高端產品。ARM11是ARM家族中性能最強的一個系列。在ARM的發展歷程中,從ARM7開始,ARM核被普遍認可和廣ARM技術還將不斷發展。在嵌入式領域,ARM已取得了極大的成功,造就了IP核商業化、市場化的神話,迄今為止,還沒有任何商業化的IP核交易和使用達到ARM的規模。據最新統計,全球有103家巨型IT公司在采用ARM技術,20家最大的半導體廠商中有19家是ARM的用戶,包括德州儀器,意法半導體,Philips,Intel等。ARM系列芯片已經被廣泛的應用于移動電話、手持式計算機以及各種各樣的嵌入式應用領域,成為世界上銷量最大的32位微處理器。 ARM發展的歷程ARM技術還將不斷發展。在嵌入式領域,ARM已取得了極大的成ARM的體系結構采用了若干BerkeleyRISC處理器設計中的特征Load/store體系結構固定的32位指令地址指令格式也放棄了其它若干BerkeleyRISC特征寄存器窗口延遲轉移所有的指令單周期執行 2.2ARM體系結構的技術特征ARM的體系結構采用了若干BerkeleyRISC處理器設2.2.1ARM體系結構的基本版本 2.2.2ARM體系結構的演變 2.2.3ARM體系結構的命名規則2.2ARM體系結構不同版本的發展概述2.2.1ARM體系結構的基本版本 2.2ARM體系結構版本1,本版本包括下列指令:乘法指令之外的基本數據處理指令;基于字節,字和多字的存儲器訪問操作指令(Load/Store);子程序調用指令BL在內的跳轉指令;完成系統調用的軟件中斷指令SWI。2.2.1ARM體系結構的基本版本版本1,本版本包括下列指令:2.2.1ARM體系結構的基版本2,與版本1相比版本2(2a)增加了下列指令:乘和乘加指令;支持協處理器的指令;對于FIQ模式,提供了額外的影子寄存器;SWP指令及SWPB指令。 ARM體系結構的基本版本版本2,與版本1相比版本2(2a)增加了下列指令: ARM版本3較以前的版本發生了大的變化地址空間擴展到了32位,但除了版本3G外的其他版本是向前兼容的,也支持26位的地址空間;分開的當前程序狀態寄存器CPSR(CurrentProgramStatusRegister)和備份的程序狀態寄存器SPSR(SavedProgramStatusRegister),SPSR用于在程序異常中斷時保存被中斷的程序狀態;增加了兩種異常模式,使操作系統代碼可以方便地使用數據訪問中止異常、指令預取中止異常和未定義指令異常;增加了MRS指令和MSR指令用于完成對CPSR和SPSR寄存器的讀寫。修改了原來的從異常中返回的指令。ARM體系結構的基本版本版本3較以前的版本發生了大的變化ARM體系結構的基本版本版本4。與版本3相比,版本4增加了下列指令有符號、無符號的半字和有符號字節的load和store指令。增加了T變種,處理器可以工作于Thumb狀態,在該狀態下的指令集是16位的Thumb指令集。增加了處理器的特權模式。在該模式下,使用的是用戶模式下的寄存器。ARM體系結構的基本版本版本4。與版本3相比,版本4增加了下列指令ARM體系結構的基版本5主要由兩個變型版本5T、5TE組成相比與版本4,版本5的指令集有了如下的變化:提高了T變種中ARM/Thumb混合使用的效率。增加前導零記數(CLZ)指令,該指令可使整數除法和中斷優先級排隊操作更為有效;增加了BKPT(軟件斷點)指令;為協處理器設計提供了更多的可供選擇的指令;更加嚴格地定義了乘法指令對條件碼標志位的影響。ARM體系結構的基本版本版本5主要由兩個變型版本5T、5TE組成ARM體系結構的基ARM體系版本6是2001年發布的。新架構v6在降低耗電量的同時還強化了圖形處理性能。通過追加有效進行多媒體處理的SIMD功能,將語音及圖像的處理功能提高到了原機型的4倍。ARM體系版本6首先在2002年春季發布的ARM11處理器中使用。除此之外,v6還支持多微處理器內核。ARM體系結構的基本版本ARM體系版本6是2001年發布的。新架構v6在降低耗電量的ARM體系結構總結
核體系結構ARM1V1ARM2V2ARM2aS,ARM3V2aARM6,ARM600,ARM610V3ARM7,ARM700,ARM710V3ARM7TDMI,ARM710T,ARM720TARM740TV4TStrongARM,ARM8,ARM810V4ARM9TDMI,ARM920T,ARM940TV4TARM9E-SV5TEARM10TDMI,ARM1020EV5TEARM11,ARM1156T2-S,ARM1156T2F-S,ARM1176JZ-S,ARM11JZF-SV6ARM體系結構的基本版本ARM體系結構總結核體系結構ARM1V1ARM2V2ARM1)Thumb指令集(T變種)Thumb指令集是把32位的ARM指令集的一個子集重新編碼后而形成的一個特殊的16位的指令集2)長乘指令(M變種)長乘指令是一種生成64位相乘結果的乘法指令(此指令為ARM指令),M變種增加了兩條長乘指令2.2.2ARM體系結構的演變1)Thumb指令集(T變種)2.2.2ARM體系結構的3)增強型DSP指令(E變種)E變種的ARM體系增加了一些增強處理器對典型的DSP算法處理能力的附加指令。4)Java加速器Jazelle(J變種)
ARM的Jazelle技術是Java語言和先進的32位RISC芯片完美結合的產物。5)ARM媒體功能擴展(SIMD變種) ARM體系結構的演變3)增強型DSP指令(E變種) ARM體系結構的演變表示ARM/Thumb體系版本的命名格式的ARM/Thumb體系版本由下面幾部分組成的:基本字符串ARMv。基本字符串后為ARM指令集版本號,目前是1-6的數字字符。ARM指令集版本號后為表示所含變種的字符。由于在ARM體系版本4以后,M變種成為系統的標準部件,所以字符M通常也不單獨列出來。最后使用的字符x表示排除某種功能。2.2.3ARM體系結構的命名規則表示ARM/Thumb體系版本的命名格式的ARM/ThumbARM的RISC體系結構的發展中已經提供了低功耗、小體積、高性能的方案。而為了解決代碼長度的問題,ARM體系結構又增加了T變種,開發了一種新的指令體系,這就是Thumb指令集,它是ARM技術的一大特色。2.3.1Thumb的技術概述 2.3.2Thumb的技術實現 2.3.3Thumb技術的特點 2.3Thumb技術介紹ARM的RISC體系結構的發展中已經提供了低功耗、小體積、高Thumb是ARM體系結構的擴展。它有從標準32位ARM指令集抽出來的36條指令格式,可以重新編成16位的操作碼。這能帶來很高的代碼密度ARM7TDMI是第一個支持Thumb的核,支持Thumb的核僅僅是ARM體系結構的一種發展的擴展,所以編譯器既可以編譯Thumb代碼,又可以編譯ARM代碼支持Thumb的ARM體系結構的處理器狀態可以方便的切換、運行到Thumb狀態,在該狀態下指令集是16位的Thumb指令集。2.3.1Thumb的技術概述Thumb是ARM體系結構的擴展。它有從標準32位ARM指令在性能和代碼大小之間取得平衡,在需要較低的存儲代碼時采用Thumb指令系統,但有比純粹的16位系統有較高的實現性能,因為實際執行的是32位指令,用Thumb指令編寫最小代碼量的程序,卻取得以ARM代碼執行的最好性能2.3.2Thumb技術的特點在性能和代碼大小之間取得平衡,在需要較低的存儲代碼時采用Th與ARM指令集相比.Thumb指令集具有以下局限完成相同的操作,Thumb指令通常需要更多的指令,因此在對系統運行時間要求苛刻的應用場合ARM指令集更為適合;Thumb指令集沒有包含進行異常處理時需要的一些指令,因此在異常中斷時,還是需要使用ARM指令,這種限制決定了Thumb指令需要和ARM指令配合使用。Thumb技術的特點與ARM指令集相比.Thumb指令集具有以下局限ThumbARM處理器核可以工作在以下2種狀態1)ARM狀態32位,ARM狀態下執行字對準的32位ARM指令;2)Thumb狀態16位,Thumb狀態下執行半字對準的16位Thumb指令。在Thumb狀態下,程序計數器PC使用位1選擇另一個半字。2.4ARM處理器工作狀態ARM處理器核可以工作在以下2種狀態2.4ARM處理器工作在程序執行的過程中,處理器可以在兩種狀態下切換。ARM和Thumb之間狀態的切換不影響處理器的模式或寄存器的內容。ARM指令集和Thumb指令集都有相應的狀態切換命令。ARM處理器在開始執行代碼時,只能處于ARM狀態。ARM處理器工作狀態在程序執行的過程中,處理器可以在兩種狀態下切換。ARM處理ARM處理器在兩種工作狀態之間切換方法:進入Thumb狀態:當操作數寄存器Rm的狀態位bit[0]為1時,執行BXRm指令進入Thumb狀態(指令詳細介紹見第三章)。如果處理器在Thumb狀態進入異常,則當異常處理(IRQ,FIQ,Undef,Abort和SWI)返回時,自動切換到Thumb狀態。ARM處理器工作狀態ARM處理器在兩種工作狀態之間切換方法:ARM處理器工作狀態進入ARM狀態:當操作數寄存器Rm的狀態位bit[0]為0時,執行BXRm指令進入ARM狀態。如果處理器進行異常處理(IRQ,FIQ,Undef,Abort和SWI),在此情況下,把PC放入異常模式鏈接寄存器LR中,從異常向量地址開始執行也可以進入ARM狀態。進入ARM狀態:CPSR(當前程序狀態寄存器)的低5位用于定義當前操作模式,如圖示:2.5ARM處理器工作模式CPSR(當前程序狀態寄存器)的低5位用于定義當前操作模式除用戶模式外的其他6種模式稱為特權模式。特權模式中除系統模式以外的5種模式又稱為異常模式,即:FIQ(FastInterruptRequest)IRQ(InterruptReQuest)SVC(Supervisor)中止(Abort)未定義(Undefined)ARM處理器工作模式除用戶模式外的其他6種模式稱為特權模式。ARM處理器工作模2.6.1ARM寄存器組成概述 2.6.2ARM狀態下的寄存器組織 2.6.3Thumb狀態下的寄存器組織2.6ARM寄存器組成2.6ARM寄存器組成ARM處理器總共有37個寄存器,可以分為以下兩類寄存器:1)31個通用寄存器:R0~R15;R13_svc、R14_svc;R13_abt、R14_abt;R13_und、R14_und;R13_irq、R14_irq;R8_frq-R14_frq。2)6個狀態寄存器CPSR;SPSR_svc、SPSR_abt、SPSR_und、SPSR_irq和SPSR_fiq。2.6.1ARM寄存器組成概述ARM處理器總共有37個寄存器,可以分為以下兩類寄存器:1)ARM狀態的寄存器簡介:ARM狀態下的寄存器組織:2.6.2ARM狀態下的寄存器組織1)ARM狀態的寄存器簡介:2.6.2ARM狀態下的寄存器組2)ARM狀態的通用寄存器不分組寄存器(Theunbankedregisters) R0~R7分組寄存器(Thebankedregisters): R8~R14程序計數器:R15(PC)ARM狀態下的寄存器組織2)ARM狀態的通用寄存器ARM狀態下的寄存器組織不分組寄存器R0~R7R0~R7是不分組寄存器。這意味著在所有處理器模式下,它們每一個都訪問的是同一個物理寄存器。它們是真正并且在每種狀態下都統一的通用寄存器。未分組寄存器沒有被系統用于特別的用途,任何可采用通用寄存器的應用場合都可以使用未分組寄存器,但必須注意對同一寄存器在不同模式下使用時的數據保護。ARM狀態下的寄存器組織不分組寄存器R0~R7ARM狀態下的寄存器組織分組寄存器R8-R14:分組寄存器R8-R12:FIQ模式分組寄存器R8~R12。FIQ以外的分組寄存器R8~R12。分組寄存器R13、R14寄存器R13通常用做堆棧指針SP。寄存器R14用作子程序鏈接寄存器(LinkRegister-LR),也稱為LR。ARM狀態下的寄存器組織分組寄存器R8-R14:ARM狀態下的寄存器組織程序計數器R15:寄存器R15被用作程序計數器,也稱為PC。R15值的改變將引起程序執行順序的變化,這有可能引起程序執行中出現一些不可預料的結果。ARM處理器采用多級流水線技術,因此保存在R15的程序地址并不是當前指令的地址。一些指令對于R15的用法有一些特殊的要求。ARM狀態下的寄存器組織程序計數器R15:ARM狀態下的寄存器組織3)ARM程序狀態寄存器所有處理器模式下都可以訪問當前的程序狀態寄存器CPSR。CPSR包含條件碼標志、中斷禁止位、當前處理器模式以及其它狀態和控制信息。在每種異常模式下都有一個對應的物理寄存器——程序狀態保存寄存器SPSR。當異常出現時,SPSR用于保存CPSR的狀態,以便異常返回后恢復異常發生時的工作狀態。ARM狀態下的寄存器組織3)ARM程序狀態寄存器ARM狀態下的寄存器組織ARM狀態下的寄存器組織CPSR和SPSR的格式ARM狀態下的寄存器組織CPSR和SPSR的格式在ARM體系結構中,異常中斷用來處理軟件中斷、未定義指令陷阱(它不是真正的“意外”事件)及系統復位功能(它在邏輯上發生在程序執行前而不是在程序執行中,盡管處理器在運行中可能再次復位)和外部事件,這些“不正常”事件都被劃歸“異常”,因為在處理器的控制機制中,它們都使用同樣的流程進行異常處理。2.7ARM的異常中斷在ARM體系結構中,異常中斷用來處理軟件中斷、未定義指令陷阱ARM的異常中斷響應過程; 從異常中斷處理程序中返回 ;異常中斷向量表;異常中斷的優先級;ARM的異常中斷ARM的異常中斷響應過程; ARM的異常中斷ARM處理器對異常中斷的響應過程如下:將CPSR的內容保存到將要執行的異常中斷對應的SPSR中。設置當前狀態寄存器CPSR中的相應位將引起異常指令的下一條指令的地址保存到新的異常工作模式的R14。給程序計數器(PC)強制賦值。ARM的異常中斷響應過程ARM處理器對異常中斷的響應過程如下:ARM的異常中斷響應過每個異常模式對應有兩個寄存器R13_<mode>、R14_<mode>分別保存相應模式下的堆棧指針、返回地址;堆棧指針可用來定義一個存儲區域保存其它用戶寄存器,這樣異常處理程序就可以使用這些寄存器。FIQ模式還有額外的專用寄存器R8_fiq~R12_fiq,使用這些寄存器可以加快快速中斷的處理速度。ARM的異常中斷響應過程每個異常模式對應有兩個寄存器R13_<mode>、R14_<從異常中斷處理程序中返回時,需要執行以下四個基本操作:所有修改過的用戶寄存器必須從處理程序的保護堆棧中恢復(即出棧)。將SPSR_mode寄存器內容復制到CPSR中,使得CPSR從相應的SPSR中恢復,即恢復被中斷的程序工作狀態。根據異常類型將PC變回到用戶指令流中相應指令處。最后清除CPSR中的中斷禁止標志位I/F。從異常中斷處理程序中返回從異常中斷處理程序中返回時,需要執行從異常中斷處理程序中返回中斷向量表中指定了各異常中斷與其處理程序的對應關系。每個異常中斷對應的中斷向量表的4個字節的空間中存放一個跳轉指令或者一個向PC寄存器中賦值的數據訪問指令。存儲器的前8個字中除了地址0x00000014之外,全部被用作異常矢量地址。異常中斷向量表中斷向量表中指定了各異常中斷與其處理程序的對應關系。異常中當幾個異常中斷同時發生時,在ARM中通過給各異常中斷賦予一定的優先級來實現處理次序:復位(最高優先級);數據異常中止;FIQ;IRQ;預取指異常中止;SWI、,未定義指令(包括缺協處理器)。異常中斷的優先級當幾個異常中斷同時發生時,在ARM中通過給各異常中斷賦予一定2.8.1三級流水線ARM的組織 2.8.2五級流水線ARM的組織2.8ARM典型流水線技術簡介2.8.1三級流水線ARM的組織 2.8ARM典型流水線技1)ARM的3級流水線介紹到ARM7為止的ARM處理器使用的簡單3級流水線分別為:取指級;譯碼級;執行級; 2.8.1三級流水線ARM的組織1)ARM的3級流水線介紹 2.8.1三級流水線ARM的組2)ARM3級流水線下PC的行為在3級流水線的執行過程中,當通過R15寄存器直接訪問PC時,必須考慮到此時流水線的執行過程的真實情況三級流水線的PC行為三級流水線ARM的組織2)ARM3級流水線下PC的行為三級流水線的PC行為三級使用5級流水線的ARM處理器包含下面5個流水線級:取指譯碼執行緩沖\數據回寫2.8.2五級流水線ARM的組織使用5級流水線的ARM處理器包含下面5個流水線級:2.8.多級存儲器使它包括一個容量小但速度快的從存儲器和一個容量大但速度慢的主存儲器,根據典型程序的實驗統計,這個存儲器系統的外部行為在絕大部分時間象一個即大又快的存儲器。這個容量小但速度快的元件是Cache,它自動地保存處理器經常用到的指令和數據的拷貝。本節首先對ARM支持的存儲數據類型和處理器中數據存儲格式進行介紹,在此基礎上介紹了ARM存儲器的接口設計,主要包括存儲器接口、Cache、MMU和保護單元,建立起ARM處理器的整個存儲體系的概念和設計方法。2.9ARM存儲器接口及存儲器層次多級存儲器使它包括一個容量小但速度快的從存儲器和一個容量大但2.9.1ARM存儲數據類型和存儲格式 2.9.2ARM的存儲器層次簡介 2.9.3ARM存儲系統簡介ARM存儲器接口及存儲器層次ARM存儲器接口及存儲器層次ARM處理器支持以下6種數據類型:8位有符號和無符號字節。16位有符號和無符號半字,它們以兩字節的邊界定位。32位有符號和無符號字,它們以4字節的邊界定位。2.9.1ARM存儲數據類型和存儲格式ARM處理器支持以下6種數據類型:2.9.1ARM存儲數存儲器組織在以字節為單位尋址的存儲器中有“小端”和“大端”兩種方式存儲字,這兩種方式是根據最低有效字節與相鄰較高有效字節相比是存放在較低的還是較高的地址來劃分的,兩種存儲方式如圖所示。ARM存儲數據類型和存儲格式存儲器組織在以字節為單位尋址的存儲器中有“小端”和“大端”嵌入式ARM結構修正版第二章課件嵌入式ARM結構修正版第二章課件寄存器組片上RAM片上Cache主存儲器硬盤2.9.2ARM的存儲器層次簡介寄存器組2.9.2ARM的存儲器層次簡介ARM通過增加硬件協處理器來支持對其指令集的通用擴展,通過未定義指令陷阱支持這些協處理器的軟件仿真。簡單的ARM核提供板級協處理器接口,因此協處理器可以作為一個獨立的元件接入。最常使用的協處理器是用于控制片上功能的系統協處理器,例如控制ARM720上的高速緩存Cache和存儲器管理單元MMU等。ARM也開發了浮點協處理器,也可以支持其它的片上協處理器。ARM體系結構支持通過增加協處理器來擴展指令集的機制。2.10ARM協處理器ARM通過增加硬件協處理器來支持對其指令集的通用擴展,通過未先進的微控制器總線體系結構AMBA是ARM公司公布的總線標準AHB(AdvancedHigh-performanceBus):用于連接高性能系統模塊。它支持突發數據傳輸方式及單個數據傳輸方式,所有時序參考同一個時鐘沿。ASB(AdvancedSystemBus):用于連接高性能系統模塊,它支持突發數據傳輸模式。APB(AdvancePeripheralBus):是一個簡單接口支持低性能的外圍接口。2.11ARM片上總線AMBA先進的微控制器總線體系結構2.11ARM片上總線AMBA嵌入式調試調試處理器核ARM調試硬件EmbeddedICE2.12ARM的調試結構2.12ARM的調試結構在高性能的32位嵌入式SoC設計中,幾乎都是以ARM作為處理器核。ARM核已是現在嵌入式SoC系統芯片的核心,也是現代嵌入式系統發展的方向。
ARM處理器核作為基本處理單元,根據發展需求還集成了與處理器核密切相關的功能模塊,如Cache存儲器和存儲器管理MMU硬件,這些基于微處理器核并集成這些IP核的標準配置的ARM核都具有基本“CPU”的配置,這些內核稱為CPU核。2.13ARM核綜述在高性能的32位嵌入式SoC設計中,幾乎都是以ARM作為處理ARM處理器核當前有6個系列產品:ARM7ARM9ARM9EARM10E,SecurCoreARM11Intel公司推出的:StrongARMXScaleARM核綜述ARM處理器核當前有6個系列產品:ARM核綜述2.13.1ARM7系列核介紹 2.13.2ARM9系列核介紹 2.13.3ARM10系列核 2.13.4StrongARM和XScale系列核 2.13.5SecurCore系列核ARM核綜述2.13.1ARM7系列核介紹 ARM核綜述ARM7TDMI是ARM公司最早為業界普遍認可且得到了最為廣泛應用的處理器核,特別是在手機和PDA中,隨著ARM技術的發展,它已是目前最低端的ARM核。ARM7:32位ARM體系結構4T版本;T:“Thumb”16位壓縮指令集;D:支持片上Debug(調試),使處理器能夠停止以響應調試請求;M:增強型Multiplier,與前代相比具有較高的性能且產生64位的結果;I:“EmbeddedICE”硬件以支持片上斷點和觀察點。2.13.1ARM7系列核介紹ARM7TDMI是ARM公司最早為業界普遍認可且得到了最為廣1)ARM7TDMI組織結:ARM7TDMI重要的特性有實現ARM體系結構版本4T,支持64位結果的乘法,半字、有符號字節存取;支持Thumb指令集,可降低系統開銷;32×8DSP乘法器;32位尋址空間-4GB線性地址空間;它包含了EmbeddedICE模塊以支持嵌入式系統調試;調試硬件由JTAG測試訪問端口訪問,因此JTAG控制邏輯被認為是處理器核的一部分。廣泛的ARM和第三方支持,并與ARM9Thumb系列ARM10Thumb系列和StrongARM處理器相兼容。ARM7系列核介紹1)ARM7TDMI組織結:ARM7TDMI重要的特性有AR2)ARM7TDMI硬件接口按接口信號的功能劃分為存儲器接口、MMU接口、片上調試、JTAG邊界掃描擴展以及時鐘接口等十四類接口信號。各接口信號包括接口信號和接口控制信號ARM7TDMI核的外圍硬件接口信號圖ARM7系列核介紹2)ARM7TDMI硬件接口ARM7TDMI核的外圍硬件接3)綜合的ARM7TDMI-ARM7TDMI-SARM7TDMI-S是ARM7TDMI的一個可綜合的版本,它是以高級語言描述的“軟”IP核,可以根據用戶選擇的目標工藝的單元庫來進行邏輯綜合和物理實現,它比“硬”的IP核更易于轉移到新的工藝技術上實現。綜合出的整個核比“硬”核大50%,電源效率降低50%。同時ARM7TDMI-S在綜合過程中存在支持關于處理器核功能的選項,這些選項會導致綜合出處理器核較小而且的功能有所下降。ARM7系列核介紹3)綜合的ARM7TDMI-ARM7TDMI-SARM7系列4)ARM7TDMI應用ARM7TDMI處理器核在存儲器配置較簡單的系統中廣泛應用,最為成功的典型例子是手機、PDA,在此應用中,ARM7TDMI已成為用于控制和用戶接口功能的事實上的標準處理器。當需要實現高性能時,具有簡單存儲器系統單純的ARM7TDMI已不能滿足,系統的復雜程度必然要增加。往往是在ARM7TDMI上增加Cache存儲器、以ARMCPU核的形式增加軟件從片外存儲器讀、寫性能。ARM7系列核介紹4)ARM7TDMI應用ARM7系列核介紹ARM8核是從1993年到1996年開發的,并開發了具有片上Cache及存儲器管理單元高性能ARMCPU芯片以滿足比ARM7的3級流水線更高性能的ARM核的需求。ARM9TDMI將流水線的級數從ARM7TDMI的3級增加到5級,并使用分開的指令與數據存儲器的Harvard體系結構。ARM9TDMI的性能在相同工藝條件下近似達到ARM7TDMI兩倍2.13.2ARM9系列核介紹ARM8核是從1993年到1996年開發的,并開發了具有片上1)ARM9TDMI技術特點支持Thumb指令集;含有EmbeddedICE模塊支持片上調試;通過采用5級流水線以增加最高時鐘速率;分開的指令與數據存儲器端口以改善CPI,提高處理器性能。2.13.2ARM9系列核介紹1)ARM9TDMI技術特點2.13.2ARM9系列核介紹2)ARM9TDMI組織ARM9內核采用了與后面要講到的StrongARM相同的5級流水線。ARM9TDMI與StrongARM核的主要區別在于StrongARM有一個與寄存器讀出級并行操作的專用的轉移加法器進行轉移地址計算,而ARM9TDMI使用數據路徑中的ALU來計算轉移目標地址。ARM9系列核介紹2)ARM9TDMI組織ARM9系列核介紹3)ARM9TDMI的流水線操作ARM9內核采用了與后面要講到的StrongARM相同的5級流水線。ARM9TDMI與StrongARM核的主要區別在于StrongARM有一個與寄存器讀出級并行操作的專用的轉移加法器進行轉移地址計算,而ARM9TDMI使用數據路徑中的ALU來計算轉移目標地址。ARM9系列核介紹3)ARM9TDMI的流水線操作ARM9系列核介紹4)Thumb解碼和存儲器讀寫5)協處理器支持6)片上調試7)低電壓操作8)ARM9TDMI應用9)ARM9E-S及ARM946E-S和ARM966E-SARM9系列核介紹4)Thumb解碼和存儲器讀寫ARM9系列核介紹ARM10TDMI屬于ARM處理器核中的高端處理器核,ARM10TDMI的性能在相同工藝條件下近似達到也以ARM9TDMI的兩倍性能工作。ARM1020E/ARM10200是基于ARM10TDMI核設計的高性能CPU核。增加最高時鐘速率。2.13.3ARM10系列核ARM10TDMI屬于ARM處理器核中的高端處理器核,ARM1995年,ARM、Apple、DEC公司聯合聲明將開發一種應用于PDA的高性能、低功耗、基于ARM體系結構的StrongARM微處理器。StrongARM主要特點有:具有寄存器前推的5級流水線;除64位乘法、多寄存器傳送和存儲器/寄存器交換指令外,其它所有普通指令均是單周期指令;16KB、32路相聯的指令Cache,每行32字節;16KB、32路相聯的寫回式數據Cache,每行32字節;分開的32數據項的指令和數據地址變換后備緩沖器;2.13.4StrongARM和XScale系列核1995年,ARM、Apple、DEC公司聯合聲明將開發一種8數據項的寫緩沖器,每個數據項16個字節;低功耗的偽靜態操作。StrongARM的乘法部件很有特色。不論處理器的時鐘速率有多高,乘法器以每周期計算12位,用1~3個時鐘周期計算兩個32位操作數的乘積。對于數字信號處理性能要求很高的應用來說,StrongARM的高速乘法器有很大的潛力。微處理器使用系統控制協處理器CP15來管理片上MMU和Cache資源,并且集成了JTAG邊界掃描測試電路以支持印制板連接測試。(沒有實現器件內部電路測試的JTAG“in-test”指令)。StrongARM和XScale系列核8數據項的寫緩沖器,每個數據項16個字節;StrongARMStrongARM的五級流水線取指(從指令Cache)。指令譯碼及寄存器讀;轉移目標計算及執行。移位及ALU操作,包括數據傳送的存儲器地址計算。數據Cache訪問結果寫回到寄存器文件寄存器前推通路將中間結果傳給下一條指令,以避免讀后寫冒險引起的寄存器互鎖停頓。從下一條指令的取指級傳送PC+4的PC通路給出當前指令的PC+8,作為r15并用于轉移目標計算。StrongARM和XScale系列核StrongARM的五級流水線StrongARM和XScaStrongARM處理器流水線的特點要在一個周期內完成寄存器控制的移位和基址加變址尋址存儲操作,寄存器需要有三個讀端口。要在一個周期內完成自動變址的裝入(load)操作,寄存器需要兩個寫端口。執行級的地址增值器支持多裝入(load)/存儲(store)指令。有很多源可以產生下一個PC值。StrongARM和XScale系列核StrongARM處理器流水線的特點StrongARM和XSIntelXScale系列處理器核是基于ARMv5TE體系結構的,它提供了從手持互聯網設備到互聯網基礎設施產品全面解決方案,支持16位Thumb指令和DSP擴充。基于XScale技術開發的系列微處理器,由于超低功率與高性能的組合使IntelXScale適用于廣泛的互聯網接入設備StrongARM和XScale系列核IntelXScale系列處理器核是基于ARMv5TE體系SecurCore系列微處理器專為安全需要而設計,提供了完善的32位RISC技術的安全解決方案,因此,SecurCore系列微處理器除了具有ARM體系結構的低功耗、高性能的特點外,還具有其獨特的優勢,即提供了對安全解決方案的支持。帶有靈活的保護單元,以確保操作系統和應用數據的安全。采用軟內核技術,防止外部對其進行掃描探測。可集成用戶自己的安全特性和其他協處理器。2.13.5SecurCore系列核SecurCore系列微處理器專為安全需要而設計,提供了完善從應用的角度上ARM芯片選擇的一般原則:
MMU處理器速度內置存儲器容量USB接口GPIO數量中斷控制器IIS(IntegrateInterfaceofSound)音頻接口nWAIT信號2.14基于ARM核的芯片選擇從應用的角度上ARM芯片選擇的一般原則:2.14基于ARM從應用的角度上ARM芯片選擇的一般原則:RTC(RealTimeClock)LCD控制器PWM輸出基于ARM核的芯片選擇從應用的角度上ARM芯片選擇的一般原則:基于ARM核的芯片選填空題1.ARM可以用兩種方式存儲字節數據_____和_____.2.ARM體系結構所支持最大尋址空間______.3.異常中優先級最高的是_____.簡答題1.請列舉出37個通用寄存器?2.簡述Thumb和ARM兩種狀態之間轉化?3.簡述ARM7TDMI分別代表什么?4.簡述ARM中的7種運行模式?作業填空題作業課外補充計算機科學中的一個重要定律。描述:系統優化某部件所獲得的系統性能的改善程度,取決于該部件被使用的頻率,或所占總執行時間的比例。主要應用:改善“系統瓶頸”性能。Amdahl定律定義了加速比:加速比=采用改進措施后性能/未采用改進措施前=未采用改進措施前執行某任務時間/采用改進措施后執行某任務的時間
n個處理器加速因子S=n/[1+(n-1)f]:f為非平行百分比,n越大,S不能超過1/f課外補充計算機科學中的一個重要定律。設系統中某部件改進后運行速度提高了10倍,而該部件原運行時間占整個系統運行時間的40%,那么,采用改進措施后會對整個系統的性能提高多少?解:Fe=40%=0.4,Se=10根據Amdahl定律Sn=1/(1-Fe+Fe/Se)=1/(1-0.4+0.4/10)=1.5625即,采用改進措施后,整個系統的速度提高了1.5625倍設系統中某部件改進后運行速度提高了10倍,而該部件原運行時間本章將對ARM技術進行全面論述,通過本章的學習,使大家對ARM技術有個全面的了解和掌握,建立起以ARM技術為基礎的嵌入式系統應用和以ARM核為基礎的嵌入式SoC芯片設計的技術基礎。第二章ARM技術概述本章將對ARM技術進行全面論述,通過本章的學習,使大家對AR
本章的主要內容為:
2.1ARM體系結構的發展歷史和技術特征2.2ARM體系結構不同版本的發展概述2.3Thumb技術介紹2.4ARM處理器工作狀態2.5ARM處理器工作模式2.6ARM寄存器組成2.7ARM異常中斷 本章的主要內容為:
2.1ARM體系結構的發展歷史2.8ARM組織結構簡介2.9ARM存儲器接口及存儲器層次2.10ARM協處理器2.11ARM片上總線AMBA2.12ARM的調試結構2.13ARM核綜述2.14基于ARM核的芯片選擇2.8ARM組織結構簡介2.1ARM體系結構的發展歷史和技術特征2.1.1ARM發展的歷程 2.1.2ARM體系結構的技術特征2.1ARM體系結構的發展歷史和技術特征最近10多年來ARM技術的突出成果表現在:使用“Thumb”的新型壓縮指令格式,使得應用系統開發可降低系統成本和功耗;ARM9、ARM10、Strong-ARM和ARM11等系列處理器的開發,顯著地提高了ARM的性能,使得ARM技術在面向高端數字音、視頻處理等多媒體產品的應用中更加廣泛;更好的軟件開發和調試環境,加快用戶產品開發;更為廣泛的產業聯盟使得基于ARM的嵌入式應用領域更加廣闊;嵌入在復雜SoC中、基于ARM核的調試系統代表著當今片上調試技術的前沿。 2.1.1ARM發展的歷程最近10多年來ARM技術的突出成果表現在: 2.1.1A第一片ARM處理器是1983年10月到1985年4月間在位于英國劍橋的AcornComputer公司開發。1990年,為廣泛推廣ARM技術而成立了獨立的公司。20世紀90年代,ARM快速進入世界市場。 ARM發展的歷程第一片ARM處理器是1983年10月到1985年4月間在位于在ARM的發展歷程中,從ARM7開始,ARM核被普遍認可和廣泛使用。1995年StrongARM問世。XScale是下一代StrongARM芯片的發展基礎。ARM10TDMI是ARM處理器核中的高端產品。ARM11是ARM家族中性能最強的一個系列。在ARM的發展歷程中,從ARM7開始,ARM核被普遍認可和廣ARM技術還將不斷發展。在嵌入式領域,ARM已取得了極大的成功,造就了IP核商業化、市場化的神話,迄今為止,還沒有任何商業化的IP核交易和使用達到ARM的規模。據最新統計,全球有103家巨型IT公司在采用ARM技術,20家最大的半導體廠商中有19家是ARM的用戶,包括德州儀器,意法半導體,Philips,Intel等。ARM系列芯片已經被廣泛的應用于移動電話、手持式計算機以及各種各樣的嵌入式應用領域,成為世界上銷量最大的32位微處理器。 ARM發展的歷程ARM技術還將不斷發展。在嵌入式領域,ARM已取得了極大的成ARM的體系結構采用了若干BerkeleyRISC處理器設計中的特征Load/store體系結構固定的32位指令地址指令格式也放棄了其它若干BerkeleyRISC特征寄存器窗口延遲轉移所有的指令單周期執行 2.2ARM體系結構的技術特征ARM的體系結構采用了若干BerkeleyRISC處理器設2.2.1ARM體系結構的基本版本 2.2.2ARM體系結構的演變 2.2.3ARM體系結構的命名規則2.2ARM體系結構不同版本的發展概述2.2.1ARM體系結構的基本版本 2.2ARM體系結構版本1,本版本包括下列指令:乘法指令之外的基本數據處理指令;基于字節,字和多字的存儲器訪問操作指令(Load/Store);子程序調用指令BL在內的跳轉指令;完成系統調用的軟件中斷指令SWI。2.2.1ARM體系結構的基本版本版本1,本版本包括下列指令:2.2.1ARM體系結構的基版本2,與版本1相比版本2(2a)增加了下列指令:乘和乘加指令;支持協處理器的指令;對于FIQ模式,提供了額外的影子寄存器;SWP指令及SWPB指令。 ARM體系結構的基本版本版本2,與版本1相比版本2(2a)增加了下列指令: ARM版本3較以前的版本發生了大的變化地址空間擴展到了32位,但除了版本3G外的其他版本是向前兼容的,也支持26位的地址空間;分開的當前程序狀態寄存器CPSR(CurrentProgramStatusRegister)和備份的程序狀態寄存器SPSR(SavedProgramStatusRegister),SPSR用于在程序異常中斷時保存被中斷的程序狀態;增加了兩種異常模式,使操作系統代碼可以方便地使用數據訪問中止異常、指令預取中止異常和未定義指令異常;增加了MRS指令和MSR指令用于完成對CPSR和SPSR寄存器的讀寫。修改了原來的從異常中返回的指令。ARM體系結構的基本版本版本3較以前的版本發生了大的變化ARM體系結構的基本版本版本4。與版本3相比,版本4增加了下列指令有符號、無符號的半字和有符號字節的load和store指令。增加了T變種,處理器可以工作于Thumb狀態,在該狀態下的指令集是16位的Thumb指令集。增加了處理器的特權模式。在該模式下,使用的是用戶模式下的寄存器。ARM體系結構的基本版本版本4。與版本3相比,版本4增加了下列指令ARM體系結構的基版本5主要由兩個變型版本5T、5TE組成相比與版本4,版本5的指令集有了如下的變化:提高了T變種中ARM/Thumb混合使用的效率。增加前導零記數(CLZ)指令,該指令可使整數除法和中斷優先級排隊操作更為有效;增加了BKPT(軟件斷點)指令;為協處理器設計提供了更多的可供選擇的指令;更加嚴格地定義了乘法指令對條件碼標志位的影響。ARM體系結構的基本版本版本5主要由兩個變型版本5T、5TE組成ARM體系結構的基ARM體系版本6是2001年發布的。新架構v6在降低耗電量的同時還強化了圖形處理性能。通過追加有效進行多媒體處理的SIMD功能,將語音及圖像的處理功能提高到了原機型的4倍。ARM體系版本6首先在2002年春季發布的ARM11處理器中使用。除此之外,v6還支持多微處理器內核。ARM體系結構的基本版本ARM體系版本6是2001年發布的。新架構v6在降低耗電量的ARM體系結構總結
核體系結構ARM1V1ARM2V2ARM2aS,ARM3V2aARM6,ARM600,ARM610V3ARM7,ARM700,ARM710V3ARM7TDMI,ARM710T,ARM720TARM740TV4TStrongARM,ARM8,ARM810V4ARM9TDMI,ARM920T,ARM940TV4TARM9E-SV5TEARM10TDMI,ARM1020EV5TEARM11,ARM1156T2-S,ARM1156T2F-S,ARM1176JZ-S,ARM11JZF-SV6ARM體系結構的基本版本ARM體系結構總結核體系結構ARM1V1ARM2V2ARM1)Thumb指令集(T變種)Thumb指令集是把32位的ARM指令集的一個子集重新編碼后而形成的一個特殊的16位的指令集2)長乘指令(M變種)長乘指令是一種生成64位相乘結果的乘法指令(此指令為ARM指令),M變種增加了兩條長乘指令2.2.2ARM體系結構的演變1)Thumb指令集(T變種)2.2.2ARM體系結構的3)增強型DSP指令(E變種)E變種的ARM體系增加了一些增強處理器對典型的DSP算法處理能力的附加指令。4)Java加速器Jazelle(J變種)
ARM的Jazelle技術是Java語言和先進的32位RISC芯片完美結合的產物。5)ARM媒體功能擴展(SIMD變種) ARM體系結構的演變3)增強型DSP指令(E變種) ARM體系結構的演變表示ARM/Thumb體系版本的命名格式的ARM/Thumb體系版本由下面幾部分組成的:基本字符串ARMv。基本字符串后為ARM指令集版本號,目前是1-6的數字字符。ARM指令集版本號后為表示所含變種的字符。由于在ARM體系版本4以后,M變種成為系統的標準部件,所以字符M通常也不單獨列出來。最后使用的字符x表示排除某種功能。2.2.3ARM體系結構的命名規則表示ARM/Thumb體系版本的命名格式的ARM/ThumbARM的RISC體系結構的發展中已經提供了低功耗、小體積、高性能的方案。而為了解決代碼長度的問題,ARM體系結構又增加了T變種,開發了一種新的指令體系,這就是Thumb指令集,它是ARM技術的一大特色。2.3.1Thumb的技術概述 2.3.2Thumb的技術實現 2.3.3Thumb技術的特點 2.3Thumb技術介紹ARM的RISC體系結構的發展中已經提供了低功耗、小體積、高Thumb是ARM體系結構的擴展。它有從標準32位ARM指令集抽出來的36條指令格式,可以重新編成16位的操作碼。這能帶來很高的代碼密度ARM7TDMI是第一個支持Thumb的核,支持Thumb的核僅僅是ARM體系結構的一種發展的擴展,所以編譯器既可以編譯Thumb代碼,又可以編譯ARM代碼支持Thumb的ARM體系結構的處理器狀態可以方便的切換、運行到Thumb狀態,在該狀態下指令集是16位的Thumb指令集。2.3.1Thumb的技術概述Thumb是ARM體系結構的擴展。它有從標準32位ARM指令在性能和代碼大小之間取得平衡,在需要較低的存儲代碼時采用Thumb指令系統,但有比純粹的16位系統有較高的實現性能,因為實際執行的是32位指令,用Thumb指令編寫最小代碼量的程序,卻取得以ARM代碼執行的最好性能2.3.2Thumb技術的特點在性能和代碼大小之間取得平衡,在需要較低的存儲代碼時采用Th與ARM指令集相比.Thumb指令集具有以下局限完成相同的操作,Thumb指令通常需要更多的指令,因此在對系統運行時間要求苛刻的應用場合ARM指令集更為適合;Thumb指令集沒有包含進行異常處理時需要的一些指令,因此在異常中斷時,還是需要使用ARM指令,這種限制決定了Thumb指令需要和ARM指令配合使用。Thumb技術的特點與ARM指令集相比.Thumb指令集具有以下局限ThumbARM處理器核可以工作在以下2種狀態1)ARM狀態32位,ARM狀態下執行字對準的32位ARM指令;2)Thumb狀態16位,Thumb狀態下執行半字對準的16位Thumb指令。在Thumb狀態下,程序計數器PC使用位1選擇另一個半字。2.4ARM處理器工作狀態ARM處理器核可以工作在以下2種狀態2.4ARM處理器工作在程序執行的過程中,處理器可以在兩種狀態下切換。ARM和Thumb之間狀態的切換不影響處理器的模式或寄存器的內容。ARM指令集和Thumb指令集都有相應的狀態切換命令。ARM處理器在開始執行代碼時,只能處于ARM狀態。ARM處理器工作狀態在程序執行的過程中,處理器可以在兩種狀態下切換。ARM處理ARM處理器在兩種工作狀態之間切換方法:進入Thumb狀態:當操作數寄存器Rm的狀態位bit[0]為1時,執行BXRm指令進入Thumb狀態(指令詳細介紹見第三章)。如果處理器在Thumb狀態進入異常,則當異常處理(IRQ,FIQ,Undef,Abort和SWI)返回時,自動切換到Thumb狀態。ARM處理器工作狀態ARM處理器在兩種工作狀態之間切換方法:ARM處理器工作狀態進入ARM狀態:當操作數寄存器Rm的狀態位bit[0]為0時,執行BXRm指令進入ARM狀態。如果處理器進行異常處理(IRQ,FIQ,Undef,Abort和SWI),在此情況下,把PC放入異常模式鏈接寄存器LR中,從異常向量地址開始執行也可以進入ARM狀態。進入ARM狀態:CPSR(當前程序狀態寄存器)的低5位用于定義當前操作模式,如圖示:2.5ARM處理器工作模式CPSR(當前程序狀態寄存器)的低5位用于定義當前操作模式除用戶模式外的其他6種模式稱為特權模式。特權模式中除系統模式以外的5種模式又稱為異常模式,即:FIQ(FastInterruptRequest)IRQ(InterruptReQuest)SVC(Supervisor)中止(Abort)未定義(Undefined)ARM處理器工作模式除用戶模式外的其他6種模式稱為特權模式。ARM處理器工作模2.6.1ARM寄存器組成概述 2.6.2ARM狀態下的寄存器組織 2.6.3Thumb狀態下的寄存器組織2.6ARM寄存器組成2.6ARM寄存器組成ARM處理器總共有37個寄存器,可以分為以下兩類寄存器:1)31個通用寄存器:R0~R15;R13_svc、R14_svc;R13_abt、R14_abt;R13_und、R14_und;R13_irq、R14_irq;R8_frq-R14_frq。2)6個狀態寄存器CPSR;SPSR_svc、SPSR_abt、SPSR_und、SPSR_irq和SPSR_fiq。2.6.1ARM寄存器組成概述ARM處理器總共有37個寄存器,可以分為以下兩類寄存器:1)ARM狀態的寄存器簡介:ARM狀態下的寄存器組織:2.6.2ARM狀態下的寄存器組織1)ARM狀態的寄存器簡介:2.6.2ARM狀態下的寄存器組2)ARM狀態的通用寄存器不分組寄存器(Theunbankedregisters) R0~R7分組寄存器(Thebankedregisters): R8~R14程序計數器:R15(PC)ARM狀態下的寄存器組織2)ARM狀態的通用寄存器ARM狀態下的寄存器組織不分組寄存器R0~R7R0~R7是不分組寄存器。這意味著在所有處理器模式下,它們每一個都訪問的是同一個物理寄存器。它們是真正并且在每種狀態下都統一的通用寄存器。未分組寄存器沒有被系統用于特別的用途,任何可采用通用寄存器的應用場合都可以使用未分組寄存器,但必須注意對同一寄存器在不同模式下使用時的數據保護。ARM狀態下的寄存器組織不分組寄存器R0~R7ARM狀態下的寄存器組織分組寄存器R8-R14:分組寄存器R8-R12:FIQ模式分組寄存器R8~R12。FIQ以外的分組寄存器R8~R12。分組寄存器R13、R14寄存器R13通常用做堆棧指針SP。寄存器R14用作子程序鏈接寄存器(LinkRegister-LR),也稱為LR。ARM狀態下的寄存器組織分組寄存器R8-R14:ARM狀態下的寄存器組織程序計數器R15:寄存器R15被用作程序計數器,也稱為PC。R15值的改變將引起程序執行順序的變化,這有可能引起程序執行中出現一些不可預料的結果。ARM處理器采用多級流水線技術,因此保存在R15的程序地址并不是當前指令的地址。一些指令對于R15的用法有一些特殊的要求。ARM狀態下的寄存器組織程序計數器R15:ARM狀態下的寄存器組織3)ARM程序狀態寄存器所有處理器模式下都可以訪問當前的程序狀態寄存器CPSR。CPSR包含條件碼標志、中斷禁止位、當前處理器模式以及其它狀態和控制信息。在每種異常模式下都有一個對應的物理寄存器——程序狀態保存寄存器SPSR。當異常出現時,SPSR用于保存CPSR的狀態,以便異常返回后恢復異常發生時的工作狀態。ARM狀態下的寄存器組織3)ARM程序狀態寄存器ARM狀態下的寄存器組織ARM狀態下的寄存器組織CPSR和SPSR的格式ARM狀態下的寄存器組織CPSR和SPSR的格式在ARM體系結構中,異常中斷用來處理軟件中斷、未定義指令陷阱(它不是真正的“意外”事件)及系統復位功能(它在邏輯上發生在程序執行前而不是在程序執行中,盡管處理器在運行中可能再次復位)和外部事件,這些“不正常”事件都被劃歸“異常”,因為在處理器的控制機制中,它們都使用同樣的流程進行異常處理。2.7ARM的異常中斷在ARM體系結構中,異常中斷用來處理軟件中斷、未定義指令陷阱ARM的異常中斷響應過程; 從異常中斷處理程序中返回 ;異常中斷向量表;異常中斷的優先級;ARM的異常中斷ARM的異常中斷響應過程; ARM的異常中斷ARM處理器對異常中斷的響應過程如下:將CPSR的內容保存到將要執行的異常中斷對應的SPSR中。設置當前狀態寄存器CPSR中的相應位將引起異常指令的下一條指令的地址保存到新的異常工作模式的R14。給程序計數器(PC)強制賦值。ARM的異常中斷響應過程ARM處理器對異常中斷的響應過程如下:ARM的異常中斷響應過每個異常模式對應有兩個寄存器R13_<mode>、R14_<mode>分別保存相應模式下的堆棧指針、返回地址;堆棧指針可用來定義一個存儲區域保存其它用戶寄存器,這樣異常處理程序就可以使用這些寄存器。FIQ模式還有額外的專用寄存器R8_fiq~R12_fiq,使用這些寄存器可以加快快速中斷的處理速度。ARM的異常中斷響應過程每個異常模式對應有兩個寄存器R13_<mode>、R14_<從異常中斷處理程序中返回時,需要執行以下四個基本操作:所有修改過的用戶寄存器必須從處理程序的保護堆棧中恢復(即出棧)。將SPSR_mode寄存器內容復制到CPSR中,使得CPSR從相應的SPSR中恢復,即恢復被中斷的程序工作狀態。根據異常類型將PC變回到用戶指令流中相應指令處。最后清除CPSR中的中斷禁止標志位I/F。從異常中斷處理程序中返回從異常中斷處理程序中返回時,需要執行從異常中斷處理程序中返回中斷向量表中指定了各異常中斷與其處理程序的對應關系。每個異常中斷對應的中斷向量表的4個字節的空間中存放一個跳轉指令或者一個向PC寄存器中賦值的數據訪問指令。存儲器的前8個字中除了地址0x00000014之外,全部被用作異常矢量地址。異常中斷向量表中斷向量表中指定了各異常中斷與其處理程序的對應關系。異常中當幾個異常中斷同時發生時,在ARM中通過給各異常中斷賦予一定的優先級來實現處理次序:復位(最高優先級);數據異常中止;FIQ;IRQ;預取指異常中止;SWI、,未定義指令(包括缺協處理器)。異常中斷的優先級當幾個異常中斷同時發生時,在ARM中通過給各異常中斷賦予一定2.8.1三級流水線ARM的組織 2.8.2五級流水線ARM的組織2.8ARM典型流水線技術簡介2.8.1三級流水線ARM的組織 2.8ARM典型流水線技1)ARM的3級流水線介紹到ARM7為止的ARM處理器使用的簡單3級流水線分別為:取指級;譯碼級;執行級; 2.8.1三級流水線ARM的組織1)ARM的3級流水線介紹 2.8.1三級流水線ARM的組2)ARM3級流水線下PC的行為在3級流水線的執行過程中,當通過R15寄存器直接訪問PC時,必須考慮到此時流水線的執行過程的真實情況三級流水線的PC行為三級流水線ARM的組織2)ARM3級流水線下PC的行為三級流水線的PC行為三級使用5級流水線的ARM處理器包含下面5個流水線級:取指譯碼執行緩沖\數據回寫2.8.2五級流水線ARM的組織使用5級流水線的ARM處理器包含下面5個流水線級:2.8.多級存儲器使它包括一個容量小但速度快的從存儲器和一個容量大但速度慢的主存儲器,根據典型程序的實驗統計,這個存儲器系統的外部行為在絕大部分時間象一個即大又快的存儲器。這個容量小但速度快的元件是Cache,它自動地保存處理器經常用到的指令和數據的拷貝。本節首先對ARM支持的存儲數據類型和處理器中數據存儲格式進行介紹,在此基礎上介紹了ARM存儲器的接口設計,主要包括存儲器接口、Cache、MMU和保護單元,建立起ARM處理器的整個存儲體系的概念和設計方法。2.9ARM存儲器接口及存儲器層次多級存儲器使它包括一個容量小但速度快的從存儲器和一個容量大但2.9.1ARM存儲數據類型和存儲格式 2.9.2ARM的存儲器層次簡介 2.9.3ARM存儲系統簡介ARM存儲器接口及存儲器層次ARM存儲器接口及存儲器層次ARM處理器支持以下6種數據類型:8位有符號和無符號字節。16位有符號和無符號半字,它們以兩字節的邊界定位。32位有符號和無符號字,它們以4字節的邊界定位。2.9.1ARM存儲數據類型和存儲格式ARM處理器支持以下6種數據類型:2.9.1ARM存儲數存儲器組織在以字節為單位尋址的存儲器中有“小端”和“大端”兩種方式存儲字,這兩種方式是根據最低有效字節與相鄰較高有效字節相比是存放在較低的還是較高的地址來劃分的,兩種存儲方式如圖所示。ARM存儲數據類型和存儲格式存儲器組織在以字節為單位尋址的存儲器中有“小端”和“大端”嵌入式ARM結構修正版第二章課件嵌入式ARM結構修正版第二章課件寄存器組片上RAM片上Cache主存儲器硬盤2.9.2ARM的存儲器層次簡介寄存器組2.9.2ARM的存儲器層次簡介ARM通過增加硬件協處理器來支持對其指令集的通用擴展,通過未定義指令陷阱支持這些協處理器的軟件仿真。簡單的ARM核提供板級協處理器接口,因此協處理器可以作為一個獨立的元件接入。最常使用的協處理器是用于控制片上功能的系統協處理器,例如控制ARM720上的高速緩存Cache和存儲器管理單元MMU等。ARM也開發了浮點協處理器,也可以支持其它的片上協處理器。ARM體系結構支持通過增加協處理器來擴展指令集的機制。2.10ARM協處理器ARM通過增加硬件協處理器來支持對其指令集的通用擴展,通過未先進的微控制器總線體系結構AMBA是ARM公司公布的總線標準AHB(AdvancedHigh-performanceBus):用于連接高性能系統模塊。它支持突發數據傳輸方式及單個數據傳輸方式,所有時序參考同一個時鐘沿。ASB(AdvancedSystemBus):用于連接高性能系統模塊,它支持突發數據傳輸模式。APB(AdvancePeripheralBus):是一個簡單接口支持低性能的外圍接口。2.11ARM片上總線AMBA先進的微控制器總線體系結構2.11ARM片上總線AMBA嵌入式調試調試處理器核ARM調試硬件EmbeddedICE2.12ARM的調試結構2.12ARM的調試結構在高性能的32位嵌入式SoC設計中,幾乎都是以ARM作為處理器核。ARM核已是現在嵌入式SoC系統芯片的核心,也是現代嵌入式系統發展的方向。
ARM處理器核作為基本處理單元,根據發展需求還集成了與處理器核密切相關的功能模塊,如Cache存儲器和存儲器管理MMU硬件,這些基于微處理器核并集成這些IP核的標準配置的ARM核都具有基本“CPU”的配置,這些內核稱為CPU核。2.13ARM核綜述在高性能的32位嵌入式SoC設計中,幾乎都是以ARM作為處理ARM處理器核當前有6個系列產品:ARM7ARM9ARM9EARM10E,SecurCoreARM11Intel公司推出的:StrongARMXScaleARM核綜述ARM處理器核當前有6個系列產品:ARM核綜述2.13.1ARM7系列核介紹 2.13.2ARM9系列核介紹 2.13.3ARM10系列核 2.13.4StrongARM和XScale系列核 2.13.5SecurCore系列核ARM核綜述2.13.1ARM7系列核介紹 ARM核綜述ARM7TDMI是ARM公司最早為業界普遍認可且得到了最為廣泛應用的處理器核,特別是在手機和PDA中,隨著ARM技術的發展,它已是目前最低端的ARM核。ARM7:32位ARM體系結構4T版本;T:“Thumb”16位壓縮指令集;D:支持片上Debug(調試),使處理器能夠停止以響應調試請求;M:增強型Multiplier,與前代相比具有較高的性能且產生64位的結果;I:“EmbeddedICE”硬件以支持片上斷點和觀察點。2.13.1ARM7系列核介紹ARM7TDMI是ARM公司最早為業界普遍認可且得到了最為廣1)ARM7TDMI組
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關注行業發展熱點的2025年市場營銷理論考試試題及答案
- 2025年醫學專業執業考試試卷及答案
- 2025年心理測量與評估方法綜合考核試題及答案
- 2025年現代藝術與文化創新的考試試題及答案
- 2025年心理咨詢師資格考試試卷及答案
- 2025年水資源管理與保護課程考試卷及答案
- 2025年人工智能與機器學習基礎試卷及答案
- 北師大版(2024)七年級下冊英語期末復習:Unit1~6語法練習100題(含答案)
- 2025年建筑設計基礎知識測試卷及答案
- 2025年建筑經濟與管理綜合能力考試試卷及答案
- 水池深基坑開挖專項施工方案
- (整理)薩提亞溝通模式課件
- 水產品冷凍食品加工行業解決方案
- 茶知識與科學飲茶課件
- 手術通知單模板
- 2021年安康市中心醫院醫護人員招聘筆試試題及答案解析
- 醫院醫療精神科危險物品管理PPT課件講義
- 第二講:黔東南州優勢礦產資源
- 康復醫院的設計要點精選
- 10kv高壓架空電線防護方案概述
- 空調維保方案及報價(共3頁)
評論
0/150
提交評論