




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第二章ARM技術概述
本章將對ARM技術進行全面論述,通過本章的學習,使大家對ARM技術有個全面的了解和掌握。
ARM發展的歷程最近10多年來ARM技術的突出成果表現在:使用“Thumb”的新型壓縮指令格式,使得應用系統開發可降低系統成本和功耗;ARM9、ARM10、Strong-ARM和ARM11等系列處理器的開發,顯著地提高了ARM的性能,使得ARM技術在面向高端數字音、視頻處理等多媒體產品的應用中更加廣泛;更好的軟件開發和調試環境,加快用戶產品開發;更為廣泛的產業聯盟使得基于ARM的嵌入式應用領域更加廣闊;嵌入在復雜SoC中、基于ARM核的調試系統代表著當今片上調試技術的前沿。
ARM發展的歷程第一片ARM處理器是1983年10月到1985年4月間在位于英國劍橋的AcornComputer公司開發1990年,為廣泛推廣ARM技術而成立了獨立的公司(ARM公司)
20世紀90年代,ARM快速進入世界市場,處在半導體產業鏈上游的上游,采用Chipless和Fabless的生產模式ARM發展的歷程在ARM的發展歷程中,從ARM7開始,ARM核被普遍認可和廣泛使用1995年StrongARM
問世XScale是下一代StrongARM芯片的發展基礎ARM10TDMI是ARM處理器核中的高端產品ARM11是ARM家族中性能較強的一個系列CORTEX
CORTEXARMCortex-A9MPCore處理器,將用于其下一代高性能多服務網絡系統平臺;該平臺將支持在有線和無線網絡上的語音和數據服務,上網本(MID),IPhone中用的都是CortexA系列處理器ContexR和M系列的特點是:smallerandpowerefficient。ARM發展的歷程2009年第一季度ARM各類型處理器license總體情況Processor
FamilyLicensesCortexTM61ARM11TM70ARM9TM249ARM7TM171Cortex系列內各個小型號的統計情況ProcessorLicensesPublicLicenseesCortex-A98NECElectronics,
nVIDIA,
STMicroelectronics,
TexasInstruments,
Toshiba,
MindspeedTechnologiesCortex-A89BroadcomCorporation,
FreescaleSemiconductor,Matsushita,
SamsungElectronics,STMicroelectronics,
TexasInstruments,PMC-SierraCortex-R4(F)14BroadcomCorporation,
TexasInstruments,ToshibaCortex-M328AccentSrl,ActelCorporation,
BroadcomCorporation,Ember,EnergyMicro,
LuminaryMicro,
NXP,
STMicroelectronics,
TexasInstruments,
Toshiba,Zilog,
Cortex-M01NXP,
TriadSemiconductorARM發展的歷程據最新統計,全球有103家巨型IT公司在采用ARM技術,20家最大的半導體廠商中有19家是ARM的用戶,包括德州儀器,意法半導體,Philips,Intel等。ARM系列芯片已經被廣泛的應用于移動電話、手持式計算機以及各種各樣的嵌入式應用領域,成為世界上銷量最大的32位微處理器。ARM發展的歷程目前ARM全球年出貨量為40億,只要是數碼產品,無論是手機、數碼相機,還是游戲機、導航系統,很有可能其中的1/4都含有ARM的處理器。第一個100億片出貨量,ARM用了17年時間來完成,接下來的100億片,ARM打算用3年的時間實現。ARM體系結構的技術特征ARM的體系結構采用了若干BerkeleyRISC處理器設計中的特征
Load/store體系結構固定的32位指令3地址指令格式
也放棄了其它若干BerkeleyRISC特征寄存器窗口延遲轉移所有的指令單周期執行ARM體系結構的基本版本ARM體系結構總結核體系結構ARM1V1ARM2V2ARM2aS,ARM3V2aARM6,ARM600,ARM610V3ARM7,ARM700,ARM710V3ARM7TDMI,ARM710T,ARM720TARM740TV4TStrongARM,ARM8,ARM810V4ARM9TDMI,ARM920T,ARM940TV4TARM9E-SV5TEARM10TDMI,ARM1020EV5TEARM11,ARM1156T2-S,ARM1156T2F-S,ARM1176JZ-S,ARM11JZF-SV6
V7Cortex-M1,SC300,Cortex-M3,Cortex-R4,Cortex-R4F,Cortex-A8,Cortex-A9,ARM體系結構的演變1)Thumb指令集(T變種)
Thumb指令集是把32位的ARM指令集的一個子集重新編碼后而形成的一個特殊的16位的指令集
2)長乘指令(M變種)長乘指令是一種生成64位相乘結果的乘法指令(此指令為ARM指令),M變種增加了兩條長乘指令ARM體系結構的演變3)增強型DSP指令(E變種)
E變種的ARM體系增加了一些增強處理器對典型的DSP算法處理能力的附加指令
4)Java加速器Jazelle(J變種)
ARM的Jazelle技術是Java語言和先進的32位RISC芯片完美結合的產物
5)ARM媒體功能擴展(SIMD變種)
ARM體系結構的命名規則基本字符串ARMv。基本字符串后為ARM指令集版本號,目前是1-7的數字字符。ARM指令集版本號后為表示所含變種的字符。最后使用的字符x表示排除某種功能。ARM7TDMIARM732位ARM體系結構4T版本TThumb16位壓縮指令集D支持片上DebugM增強型MultiplierIEmbeddedICE硬件,支持片上斷點和觀察點Thumb技術介紹為了解決代碼長度的問題,ARM體系結構增加了T變種,開發了一種新的指令體系,這就是Thumb指令集。Thumb是ARM體系結構的擴展。它從標準32位ARM指令集抽出來的36條指令格式,可以重新編成16位的操作碼。這能帶來很高的代碼密度。在性能和代碼大小之間取得平衡。Thumb的技術概述ARM7TDMI是第一個支持Thumb的核支持Thumb的ARM體系結構的處理器狀態可以方便的切換、運行到Thumb狀態,在該狀態下指令集是16位的Thumb指令集。ARM處理器工作狀態
ARM狀態32位,ARM狀態下執行字對準的32位ARM指令;Thumb狀態16位,Thumb狀態下執行半字對準的16位Thumb指令。ARM處理器工作狀態
在程序執行的過程中,處理器可以在兩種狀態下切換:
ARM和Thumb之間狀態的切換不影響處理器的模式或寄存器的內容。ARM指令集和Thumb指令集都有相應的狀態切換命令。ARM處理器在開始執行代碼時,只能處于ARM狀態。ARM處理器工作狀態
進入Thumb狀態當操作數寄存器Rm的狀態位bit[0]為1時,執行BXRm指令進入Thumb狀態。如果處理器在Thumb狀態進入異常,則當異常處理返回時,自動切換到Thumb狀態。進入ARM狀態當操作數寄存器Rm的狀態位bit[0]為0時,執行BXRm指令進入ARM狀態。如果處理器進行異常處理,在此情況下,把PC放入異常模式鏈接寄存器LR中,從異常向量地址開始執行也可以進入ARM狀態。ARM處理器工作模式
CPSR(當前程序狀態寄存器)的低5位用于定義當前操作模式,如圖示ARM處理器工作模式
除用戶模式外的其他6種模式稱為特權模式
特權模式中除系統模式以外的5種模式又稱為異常模式,即
FIQ(FastInterruptRequest)IRQ(Interrupt
ReQuest)SVC(Supervisor)中止(Abort)未定義(Undefined)ARM寄存器組成概述ARM處理器總共有37個寄存器,可以分為以下兩類寄存器
31個通用寄存器
R0~R15;R13_svc、R14_svc;R13_abt、R14_abt;R13_und、R14_und;R13_irq、R14_irq;R8_frq-R14_frq。
6個狀態寄存器
CPSR;SPSR_svc、SPSR_abt、SPSR_und、SPSR_irq和SPSR_fiq
ARM狀態下的寄存器組織1)ARM狀態的寄存器簡介
ARM狀態下的寄存器組織ARM狀態下的寄存器組織2)ARM狀態的通用寄存器
不分組寄存器(Theunbankedregisters):R0~R7分組寄存器(Thebankedregisters):R8~R14程序計數器:R15(PC)
ARM狀態下的寄存器組織不分組寄存器R0~R7
R0~R7是不分組寄存器。是真正并且在每種狀態下都統一的通用寄存器。
未分組寄存器沒有被系統用于特別的用途,任何可采用通用寄存器的應用場合都可以使用未分組寄存器,但必須注意對同一寄存器在不同模式下使用時的數據保護
ARM狀態下的寄存器組織分組寄存器R8-R12FIQ模式分組寄存器R8_fiq~R12_fiqFIQ以外的分組寄存器R8~R12
ARM狀態下的寄存器組織分組寄存器R13、R14異常模式下的R13、R14R13_<mode>R14_<mode><mode>從svc、abt、und、irq和fiq中選取ARM狀態下的寄存器組織寄存器R13通常用做堆棧指針SP
寄存器R14用作子程序鏈接寄存器(LinkRegister-LR),也稱為LR子程序入口:STMFDSP!,{<registers>,LR}子程序返回:LDMFDSP!,{<registers>,PC}MOVPC,LRBXLR
ARM狀態下的寄存器組織程序計數器R15寄存器R15被用作程序計數器,也稱為PC。
R15值的改變將引起程序執行順序的變化,這有可能引起程序執行中出現一些不可預料的結果。
ARM處理器采用多級流水線技術,因此保存在R15的程序地址并不是當前指令的地址。ARM狀態下的寄存器組織3)ARM程序狀態寄存器當前的程序狀態寄存器CPSR。CPSR包含條件碼標志、中斷禁止位、當前處理器模式以及其它狀態和控制信息。在每種異常模式下都有程序狀態保存寄存器SPSR。當異常出現時,SPSR用于保存CPSR的狀態,以便異常返回后恢復異常發生時的工作狀態。ARM狀態下的寄存器組織CPSR和SPSR的格式Thumb狀態下的寄存器組織Thumb狀態下的寄存器集是ARM狀態下寄存器集的子集。包括8個通用的寄存器(R0~R7),程序計數器PC、堆棧指針SP、鏈接寄存器LR和當前狀態寄存器CPSR。每一種特權模式都各有一組SP,LR和SPSR。
ARM的異常中斷在ARM體系結構中,異常中斷用來處理軟件中斷、未定義指令陷阱及系統復位功能和外部事件,這些“不正常”事件都被劃歸“異常”,因為在處理器的控制機制中,它們都使用同樣的流程進行異常處理。
ARM的異常中斷ARM的異常中斷響應過程 從異常中斷處理程序中返回 異常中斷向量表 異常中斷的優先級
ARM的異常中斷響應過程ARM處理器對異常中斷的響應過程如下
CPSRSPSR_mode設置CPSR中的相應位
將引起異常指令的下一條指令的地址保存到R14_mode中給程序計數器(PC)強制賦值,從相應的矢量地址開始執行中斷處理程序
ARM的異常中斷響應過程R14_<exception_mode>=returnlinkSPSR_<exception_mode>=CPSRCPSR[4:0]=exceptionmodenumberCPSR[5]=0CPSR[7]=1if<exception_mode>=ResetorFIQthenCPSR[6]=1PC=exceptionvectoraddress從異常中斷處理程序中返回從異常中斷處理程序中返回時,需要執行以下四個基本操作
所有修改過的用戶寄存器必須從處理程序的保護堆棧中恢復(即出棧)。SPSR_modeCPSR根據異常類型將PC變回到用戶指令流中相應指令處
MOVSPC,R14(SWI或未定義指令陷阱)SUBSPC,R14,#4(IRQ,FIQ或預取值中止)SUBSPC,R14,#8(數據中止返回)最后清除CPSR中的中斷禁止標志位I/F。
異常中斷向量表中斷向量表中指定了各異常中斷與其處理程序的對應關系
每個異常中斷對應的中斷向量表的4個字節的空間中存放一個跳轉指令或者一個向PC寄存器中賦值的數據訪問指令
存儲器的前8個字中除了地址0x00000014之外,全部被用作異常矢量地址
異常中斷的優先級當幾個異常中斷同時發生時,在ARM中通過給各異常中斷賦予一定的優先級來實現處理次序
復位(最高優先級);數據異常中止;FIQ;IRQ;預取指異常中止;SWI,未定義指令(包括缺協處理器)。
ARM典型流水線技術簡介
三級流水線ARM的組織 五級流水線ARM的組織
流水線模擬
Ann,Brian,Cathy,Dave
各有一袋衣服需要洗滌Washertakes30minutesDryertakes30minutesFoldertakes30minutesPackingtakes30minutesABCD順序執行的結果30TaskOrderTimeA30303030B303030C30303030D303030306PM78910111212AM耗時:8小時122AM6PM78910111Time30ACDB303030303030TaskOrder流水線執行結果耗時:3.5小時流水線操作關鍵思想:將一個完整的任務分解成可順序執行的子任務模塊
給每個模塊分配一個流水線寄存器1ns200ps200ps200ps200ps200psPipelineRegister流水線操作為什么要進行流水線操作?可加快重復運算的速度!1nsNon-pipelined:1operationfinishesevery1ns200ps200ps200ps200ps200psPipelined:1operationfinishesevery200ps執行時間:1ns吞吐率:200ps一條指令三級流水線ARM的組織1)ARM的3級流水線介紹
到ARM7為止的ARM處理器使用的簡單3級流水線分別為
取指級
譯碼級
執行級
五級流水線ARM的組織執行程序時間的計算公式提高時鐘頻率。減少每條指令的平均時鐘周期數CPI使用5級流水線具有分開的指令和數據存儲器。五級流水線ARM的組織使用5級流水線的ARM處理器包含下面5個流水線級
取指
譯碼
執行
緩沖\數據
回寫
3級流水線下PC的行為在3級流水線的執行過程中,當通過R15寄存器直接訪問PC時,必須考慮到此時流水線的執行過程的真實情況
三級流水線的PC行為ARM存儲器接口及存儲器層次
容量大速度高2級存儲器包括一個容量小但速度快的從存儲器(Cache)和一個容量大但速度慢的主存儲器。2級存儲器多級存儲器
(Cache、主存、硬盤)ARM的存儲器層次簡介寄存器組——存儲器層次的頂層,訪問時間幾個ns片上RAM——具有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2019-2025年二級注冊建筑師之法律法規經濟與施工題庫檢測試卷A卷附答案
- 鄉村庭院收購合同樣本
- 內勤聘任合同樣本
- 如何與家人溝通財務問題計劃
- 公司車貸合同樣本
- 推廣綠色醫院建設的計劃
- 隧道涂裝鋼管架施工方案
- 產權車位定金合同標準文本
- 價格保護合同樣本
- 2025年鋼材購銷(訂貨)合同范文
- 2025至2030年石榴養生酒項目投資價值分析報告
- 2025-2030MicroLED顯示器行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025年中國螺旋埋弧焊管行業發展前景預測及投資戰略咨詢報告
- 長沙2025年湖南長沙縣招聘機關事業單位工作人員26人筆試歷年參考題庫附帶答案詳解
- 七年級數學新北師大版(2024)下冊第一章《整式的乘除》單元檢測習題(含簡單答案)
- 《冠心病》課件(完整版)
- DZ/T 0462.3-2023 礦產資源“三率”指標要求 第3部分:鐵、錳、鉻、釩、鈦(正式版)
- 創傷護四項技術
- dse7320軟件操作手冊
- 超分子課件第2部分
- 煤礦機電質量標準化執行標準(2015)
評論
0/150
提交評論