嵌入式ARM結(jié)構(gòu)修正版第二章_第1頁
嵌入式ARM結(jié)構(gòu)修正版第二章_第2頁
嵌入式ARM結(jié)構(gòu)修正版第二章_第3頁
嵌入式ARM結(jié)構(gòu)修正版第二章_第4頁
嵌入式ARM結(jié)構(gòu)修正版第二章_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

本章將對ARM技術(shù)進行全面論述,通過本章的學(xué)習(xí),使大家對ARM技術(shù)有個全面的了解和掌握,建立起以ARM技術(shù)為基礎(chǔ)的嵌入式系統(tǒng)應(yīng)用和以ARM核為基礎(chǔ)的嵌入式SoC芯片設(shè)計的技術(shù)基礎(chǔ)。第二章ARM技術(shù)概述

第一頁,共八十六頁。

本章的主要內(nèi)容為:

2.1ARM體系結(jié)構(gòu)的發(fā)展歷史和技術(shù)特征2.2ARM體系結(jié)構(gòu)不同版本的發(fā)展概述2.3Thumb技術(shù)介紹2.4ARM處理器工作狀態(tài)2.5ARM處理器工作模式2.6ARM寄存器組成2.7ARM異常中斷第二頁,共八十六頁。2.8ARM組織結(jié)構(gòu)簡介2.9ARM存儲器接口及存儲器層次2.10ARM協(xié)處理器2.11ARM片上總線AMBA2.12ARM的調(diào)試結(jié)構(gòu)2.13ARM核綜述2.14基于ARM核的芯片選擇

第三頁,共八十六頁。2.1ARM體系結(jié)構(gòu)的發(fā)展歷史和技術(shù)特征2.1.1ARM發(fā)展的歷程 2.1.2ARM體系結(jié)構(gòu)的技術(shù)特征第四頁,共八十六頁。最近10多年來ARM技術(shù)的突出成果表現(xiàn)在:使用“Thumb”的新型壓縮指令格式,使得應(yīng)用系統(tǒng)開發(fā)可降低系統(tǒng)成本和功耗;ARM9、ARM10、Strong-ARM和ARM11等系列處理器的開發(fā),顯著地提高了ARM的性能,使得ARM技術(shù)在面向高端數(shù)字音、視頻處理等多媒體產(chǎn)品的應(yīng)用中更加廣泛;更好的軟件開發(fā)和調(diào)試環(huán)境,加快用戶產(chǎn)品開發(fā);更為廣泛的產(chǎn)業(yè)聯(lián)盟使得基于ARM的嵌入式應(yīng)用領(lǐng)域更加廣闊;嵌入在復(fù)雜SoC中、基于ARM核的調(diào)試系統(tǒng)代表著當(dāng)今片上調(diào)試技術(shù)的前沿。 2.1.1ARM發(fā)展的歷程第五頁,共八十六頁。第一片ARM處理器是1983年10月到1985年4月間在位于英國劍橋的AcornComputer公司開發(fā)。1990年,為廣泛推廣ARM技術(shù)而成立了獨立的公司。20世紀(jì)90年代,ARM快速進入世界市場。 ARM發(fā)展的歷程第六頁,共八十六頁。在ARM的發(fā)展歷程中,從ARM7開始,ARM核被普遍認(rèn)可和廣泛使用。1995年StrongARM問世。XScale是下一代StrongARM芯片的發(fā)展基礎(chǔ)。ARM10TDMI是ARM處理器核中的高端產(chǎn)品。ARM11是ARM家族中性能最強的一個系列。第七頁,共八十六頁。ARM技術(shù)還將不斷發(fā)展。在嵌入式領(lǐng)域,ARM已取得了極大的成功,造就了IP核商業(yè)化、市場化的神話,迄今為止,還沒有任何商業(yè)化的IP核交易和使用達到ARM的規(guī)模。據(jù)最新統(tǒng)計,全球有103家巨型IT公司在采用ARM技術(shù),20家最大的半導(dǎo)體廠商中有19家是ARM的用戶,包括德州儀器,意法半導(dǎo)體,Philips,Intel等。ARM系列芯片已經(jīng)被廣泛的應(yīng)用于移動電話、手持式計算機以及各種各樣的嵌入式應(yīng)用領(lǐng)域,成為世界上銷量最大的32位微處理器。 ARM發(fā)展的歷程第八頁,共八十六頁。ARM的體系結(jié)構(gòu)采用了若干BerkeleyRISC處理器設(shè)計中的特征Load/store體系結(jié)構(gòu)固定的32位指令地址指令格式也放棄了其它若干BerkeleyRISC特征寄存器窗口延遲轉(zhuǎn)移所有的指令單周期執(zhí)行 2.2ARM體系結(jié)構(gòu)的技術(shù)特征第九頁,共八十六頁。2.2.1ARM體系結(jié)構(gòu)的基本版本 2.2.2ARM體系結(jié)構(gòu)的演變 2.2.3ARM體系結(jié)構(gòu)的命名規(guī)則

2.2ARM體系結(jié)構(gòu)不同版本的發(fā)展概述第十頁,共八十六頁。版本1,本版本包括下列指令:乘法指令之外的基本數(shù)據(jù)處理指令;基于字節(jié),字和多字的存儲器訪問操作指令(Load/Store);子程序調(diào)用指令BL在內(nèi)的跳轉(zhuǎn)指令;完成系統(tǒng)調(diào)用的軟件中斷指令SWI。2.2.1ARM體系結(jié)構(gòu)的基本版本第十一頁,共八十六頁。版本2,與版本1相比版本2(2a)增加了下列指令:乘和乘加指令;支持協(xié)處理器的指令;對于FIQ模式,提供了額外的影子寄存器;SWP指令及SWPB指令。 ARM體系結(jié)構(gòu)的基本版本第十二頁,共八十六頁。版本3較以前的版本發(fā)生了大的變化地址空間擴展到了32位,但除了版本3G外的其他版本是向前兼容的,也支持26位的地址空間;分開的當(dāng)前程序狀態(tài)寄存器CPSR(CurrentProgramStatusRegister)和備份的程序狀態(tài)寄存器SPSR(SavedProgramStatusRegister),SPSR用于在程序異常中斷時保存被中斷的程序狀態(tài);增加了兩種異常模式,使操作系統(tǒng)代碼可以方便地使用數(shù)據(jù)訪問中止異常、指令預(yù)取中止異常和未定義指令異常;增加了MRS指令和MSR指令用于完成對CPSR和SPSR寄存器的讀寫。修改了原來的從異常中返回的指令。ARM體系結(jié)構(gòu)的基本版本第十三頁,共八十六頁。版本4。與版本3相比,版本4增加了下列指令有符號、無符號的半字和有符號字節(jié)的load和store指令。增加了T變種,處理器可以工作于Thumb狀態(tài),在該狀態(tài)下的指令集是16位的Thumb指令集。增加了處理器的特權(quán)模式。在該模式下,使用的是用戶模式下的寄存器。ARM體系結(jié)構(gòu)的基本版本第十四頁,共八十六頁。版本5主要由兩個變型版本5T、5TE組成相比與版本4,版本5的指令集有了如下的變化:提高了T變種中ARM/Thumb混合使用的效率。增加前導(dǎo)零記數(shù)(CLZ)指令,該指令可使整數(shù)除法和中斷優(yōu)先級排隊操作更為有效;增加了BKPT(軟件斷點)指令;為協(xié)處理器設(shè)計提供了更多的可供選擇的指令;更加嚴(yán)格地定義了乘法指令對條件碼標(biāo)志位的影響。ARM體系結(jié)構(gòu)的基本版本第十五頁,共八十六頁。ARM體系版本6是2001年發(fā)布的。新架構(gòu)v6在降低耗電量的同時還強化了圖形處理性能。通過追加有效進行多媒體處理的SIMD功能,將語音及圖像的處理功能提高到了原機型的4倍。ARM體系版本6首先在2002年春季發(fā)布的ARM11處理器中使用。除此之外,v6還支持多微處理器內(nèi)核。

ARM體系結(jié)構(gòu)的基本版本第十六頁,共八十六頁。ARM體系結(jié)構(gòu)總結(jié)

核體系結(jié)構(gòu)ARM1V1ARM2V2ARM2aS,ARM3V2aARM6,ARM600,ARM610V3ARM7,ARM700,ARM710V3ARM7TDMI,ARM710T,ARM720TARM740TV4TStrongARM,ARM8,ARM810V4ARM9TDMI,ARM920T,ARM940TV4TARM9E-SV5TEARM10TDMI,ARM1020EV5TEARM11,ARM1156T2-S,ARM1156T2F-S,ARM1176JZ-S,ARM11JZF-SV6ARM體系結(jié)構(gòu)的基本版本第十七頁,共八十六頁。1)Thumb指令集(T變種)Thumb指令集是把32位的ARM指令集的一個子集重新編碼后而形成的一個特殊的16位的指令集2)長乘指令(M變種)長乘指令是一種生成64位相乘結(jié)果的乘法指令(此指令為ARM指令),M變種增加了兩條長乘指令2.2.2ARM體系結(jié)構(gòu)的演變第十八頁,共八十六頁。3)增強型DSP指令(E變種)E變種的ARM體系增加了一些增強處理器對典型的DSP算法處理能力的附加指令。4)Java加速器Jazelle(J變種)

ARM的Jazelle技術(shù)是Java語言和先進的32位RISC芯片完美結(jié)合的產(chǎn)物。5)ARM媒體功能擴展(SIMD變種) ARM體系結(jié)構(gòu)的演變第十九頁,共八十六頁。表示ARM/Thumb體系版本的命名格式的ARM/Thumb體系版本由下面幾部分組成的:基本字符串ARMv?;咀址鬄锳RM指令集版本號,目前是1-6的數(shù)字字符。ARM指令集版本號后為表示所含變種的字符。由于在ARM體系版本4以后,M變種成為系統(tǒng)的標(biāo)準(zhǔn)部件,所以字符M通常也不單獨列出來。最后使用的字符x表示排除某種功能。2.2.3ARM體系結(jié)構(gòu)的命名規(guī)則第二十頁,共八十六頁。ARM的RISC體系結(jié)構(gòu)的發(fā)展中已經(jīng)提供了低功耗、小體積、高性能的方案。而為了解決代碼長度的問題,ARM體系結(jié)構(gòu)又增加了T變種,開發(fā)了一種新的指令體系,這就是Thumb指令集,它是ARM技術(shù)的一大特色。2.3.1Thumb的技術(shù)概述 2.3.2Thumb的技術(shù)實現(xiàn) 2.3.3Thumb技術(shù)的特點 2.3Thumb技術(shù)介紹

第二十一頁,共八十六頁。Thumb是ARM體系結(jié)構(gòu)的擴展。它有從標(biāo)準(zhǔn)32位ARM指令集抽出來的36條指令格式,可以重新編成16位的操作碼。這能帶來很高的代碼密度ARM7TDMI是第一個支持Thumb的核,支持Thumb的核僅僅是ARM體系結(jié)構(gòu)的一種發(fā)展的擴展,所以編譯器既可以編譯Thumb代碼,又可以編譯ARM代碼支持Thumb的ARM體系結(jié)構(gòu)的處理器狀態(tài)可以方便的切換、運行到Thumb狀態(tài),在該狀態(tài)下指令集是16位的Thumb指令集。2.3.1Thumb的技術(shù)概述第二十二頁,共八十六頁。在性能和代碼大小之間取得平衡,在需要較低的存儲代碼時采用Thumb指令系統(tǒng),但有比純粹的16位系統(tǒng)有較高的實現(xiàn)性能,因為實際執(zhí)行的是32位指令,用Thumb指令編寫最小代碼量的程序,卻取得以ARM代碼執(zhí)行的最好性能2.3.2Thumb技術(shù)的特點第二十三頁,共八十六頁。與ARM指令集相比.Thumb指令集具有以下局限完成相同的操作,Thumb指令通常需要更多的指令,因此在對系統(tǒng)運行時間要求苛刻的應(yīng)用場合ARM指令集更為適合;Thumb指令集沒有包含進行異常處理時需要的一些指令,因此在異常中斷時,還是需要使用ARM指令,這種限制決定了Thumb指令需要和ARM指令配合使用。

Thumb技術(shù)的特點第二十四頁,共八十六頁。ARM處理器核可以工作在以下2種狀態(tài)1)ARM狀態(tài)32位,ARM狀態(tài)下執(zhí)行字對準(zhǔn)的32位ARM指令;2)Thumb狀態(tài)16位,Thumb狀態(tài)下執(zhí)行半字對準(zhǔn)的16位Thumb指令。在Thumb狀態(tài)下,程序計數(shù)器PC使用位1選擇另一個半字。2.4ARM處理器工作狀態(tài)

第二十五頁,共八十六頁。在程序執(zhí)行的過程中,處理器可以在兩種狀態(tài)下切換。ARM和Thumb之間狀態(tài)的切換不影響處理器的模式或寄存器的內(nèi)容。ARM指令集和Thumb指令集都有相應(yīng)的狀態(tài)切換命令。ARM處理器在開始執(zhí)行代碼時,只能處于ARM狀態(tài)。ARM處理器工作狀態(tài)

第二十六頁,共八十六頁。ARM處理器在兩種工作狀態(tài)之間切換方法:進入Thumb狀態(tài):當(dāng)操作數(shù)寄存器Rm的狀態(tài)位bit[0]為1時,執(zhí)行BXRm指令進入Thumb狀態(tài)(指令詳細(xì)介紹見第三章)。如果處理器在Thumb狀態(tài)進入異常,則當(dāng)異常處理(IRQ,F(xiàn)IQ,Undef,Abort和SWI)返回時,自動切換到Thumb狀態(tài)。ARM處理器工作狀態(tài)

第二十七頁,共八十六頁。進入ARM狀態(tài):當(dāng)操作數(shù)寄存器Rm的狀態(tài)位bit[0]為0時,執(zhí)行BXRm指令進入ARM狀態(tài)。如果處理器進行異常處理(IRQ,F(xiàn)IQ,Undef,Abort和SWI),在此情況下,把PC放入異常模式鏈接寄存器LR中,從異常向量地址開始執(zhí)行也可以進入ARM狀態(tài)。第二十八頁,共八十六頁。CPSR(當(dāng)前程序狀態(tài)寄存器)的低5位用于定義當(dāng)前操作模式,如圖示:2.5ARM處理器工作模式

第二十九頁,共八十六頁。除用戶模式外的其他6種模式稱為特權(quán)模式。特權(quán)模式中除系統(tǒng)模式以外的5種模式又稱為異常模式,即:FIQ(FastInterruptRequest)IRQ(InterruptReQuest)SVC(Supervisor)中止(Abort)未定義(Undefined)ARM處理器工作模式

第三十頁,共八十六頁。2.6.1ARM寄存器組成概述 2.6.2ARM狀態(tài)下的寄存器組織 2.6.3Thumb狀態(tài)下的寄存器組織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個狀態(tài)寄存器CPSR;SPSR_svc、SPSR_abt、SPSR_und、SPSR_irq和SPSR_fiq。2.6.1ARM寄存器組成概述第三十二頁,共八十六頁。1)ARM狀態(tài)的寄存器簡介:ARM狀態(tài)下的寄存器組織:2.6.2ARM狀態(tài)下的寄存器組織第三十三頁,共八十六頁。2)ARM狀態(tài)的通用寄存器不分組寄存器(Theunbankedregisters) R0~R7分組寄存器(Thebankedregisters): R8~R14程序計數(shù)器:R15(PC)

ARM狀態(tài)下的寄存器組織第三十四頁,共八十六頁。不分組寄存器R0~R7

R0~R7是不分組寄存器。這意味著在所有處理器模式下,它們每一個都訪問的是同一個物理寄存器。它們是真正并且在每種狀態(tài)下都統(tǒng)一的通用寄存器。未分組寄存器沒有被系統(tǒng)用于特別的用途,任何可采用通用寄存器的應(yīng)用場合都可以使用未分組寄存器,但必須注意對同一寄存器在不同模式下使用時的數(shù)據(jù)保護。ARM狀態(tài)下的寄存器組織第三十五頁,共八十六頁。分組寄存器R8-R14:分組寄存器R8-R12:FIQ模式分組寄存器R8~R12。FIQ以外的分組寄存器R8~R12。分組寄存器R13、R14寄存器R13通常用做堆棧指針SP。寄存器R14用作子程序鏈接寄存器(LinkRegister-LR),也稱為LR。

ARM狀態(tài)下的寄存器組織第三十六頁,共八十六頁。程序計數(shù)器R15:寄存器R15被用作程序計數(shù)器,也稱為PC。R15值的改變將引起程序執(zhí)行順序的變化,這有可能引起程序執(zhí)行中出現(xiàn)一些不可預(yù)料的結(jié)果。ARM處理器采用多級流水線技術(shù),因此保存在R15的程序地址并不是當(dāng)前指令的地址。一些指令對于R15的用法有一些特殊的要求。ARM狀態(tài)下的寄存器組織第三十七頁,共八十六頁。3)ARM程序狀態(tài)寄存器所有處理器模式下都可以訪問當(dāng)前的程序狀態(tài)寄存器CPSR。CPSR包含條件碼標(biāo)志、中斷禁止位、當(dāng)前處理器模式以及其它狀態(tài)和控制信息。在每種異常模式下都有一個對應(yīng)的物理寄存器——程序狀態(tài)保存寄存器SPSR。當(dāng)異常出現(xiàn)時,SPSR用于保存CPSR的狀態(tài),以便異常返回后恢復(fù)異常發(fā)生時的工作狀態(tài)。ARM狀態(tài)下的寄存器組織第三十八頁,共八十六頁。ARM狀態(tài)下的寄存器組織CPSR和SPSR的格式第三十九頁,共八十六頁。在ARM體系結(jié)構(gòu)中,異常中斷用來處理軟件中斷、未定義指令陷阱(它不是真正的“意外”事件)及系統(tǒng)復(fù)位功能(它在邏輯上發(fā)生在程序執(zhí)行前而不是在程序執(zhí)行中,盡管處理器在運行中可能再次復(fù)位)和外部事件,這些“不正?!笔录急粍潥w“異常”,因為在處理器的控制機制中,它們都使用同樣的流程進行異常處理。2.7ARM的異常中斷第四十頁,共八十六頁。ARM的異常中斷響應(yīng)過程; 從異常中斷處理程序中返回 ;異常中斷向量表;異常中斷的優(yōu)先級;ARM的異常中斷第四十一頁,共八十六頁。ARM處理器對異常中斷的響應(yīng)過程如下:將CPSR的內(nèi)容保存到將要執(zhí)行的異常中斷對應(yīng)的SPSR中。設(shè)置當(dāng)前狀態(tài)寄存器CPSR中的相應(yīng)位將引起異常指令的下一條指令的地址保存到新的異常工作模式的R14。給程序計數(shù)器(PC)強制賦值。ARM的異常中斷響應(yīng)過程第四十二頁,共八十六頁。每個異常模式對應(yīng)有兩個寄存器R13_<mode>、R14_<mode>分別保存相應(yīng)模式下的堆棧指針、返回地址;堆棧指針可用來定義一個存儲區(qū)域保存其它用戶寄存器,這樣異常處理程序就可以使用這些寄存器。FIQ模式還有額外的專用寄存器R8_fiq~R12_fiq,使用這些寄存器可以加快快速中斷的處理速度。ARM的異常中斷響應(yīng)過程第四十三頁,共八十六頁。從異常中斷處理程序中返回時,需要執(zhí)行以下四個基本操作:所有修改過的用戶寄存器必須從處理程序的保護堆棧中恢復(fù)(即出棧)。將SPSR_mode寄存器內(nèi)容復(fù)制到CPSR中,使得CPSR從相應(yīng)的SPSR中恢復(fù),即恢復(fù)被中斷的程序工作狀態(tài)。根據(jù)異常類型將PC變回到用戶指令流中相應(yīng)指令處。最后清除CPSR中的中斷禁止標(biāo)志位I/F。從異常中斷處理程序中返回第四十四頁,共八十六頁。中斷向量表中指定了各異常中斷與其處理程序的對應(yīng)關(guān)系。每個異常中斷對應(yīng)的中斷向量表的4個字節(jié)的空間中存放一個跳轉(zhuǎn)指令或者一個向PC寄存器中賦值的數(shù)據(jù)訪問指令。存儲器的前8個字中除了地址0x00000014之外,全部被用作異常矢量地址。異常中斷向量表第四十五頁,共八十六頁。當(dāng)幾個異常中斷同時發(fā)生時,在ARM中通過給各異常中斷賦予一定的優(yōu)先級來實現(xiàn)處理次序:復(fù)位(最高優(yōu)先級);數(shù)據(jù)異常中止;FIQ;IRQ;預(yù)取指異常中止;SWI、,未定義指令(包括缺協(xié)處理器)。異常中斷的優(yōu)先級第四十六頁,共八十六頁。2.8.1三級流水線ARM的組織 2.8.2五級流水線ARM的組織2.8ARM典型流水線技術(shù)簡介

第四十七頁,共八十六頁。1)ARM的3級流水線介紹到ARM7為止的ARM處理器使用的簡單3級流水線分別為:取指級;譯碼級;執(zhí)行級; 2.8.1三級流水線ARM的組織第四十八頁,共八十六頁。2)ARM3級流水線下PC的行為在3級流水線的執(zhí)行過程中,當(dāng)通過R15寄存器直接訪問PC時,必須考慮到此時流水線的執(zhí)行過程的真實情況三級流水線的PC行為三級流水線ARM的組織第四十九頁,共八十六頁。使用5級流水線的ARM處理器包含下面5個流水線級:取指譯碼執(zhí)行緩沖\數(shù)據(jù)回寫2.8.2五級流水線ARM的組織第五十頁,共八十六頁。多級存儲器使它包括一個容量小但速度快的從存儲器和一個容量大但速度慢的主存儲器,根據(jù)典型程序的實驗統(tǒng)計,這個存儲器系統(tǒng)的外部行為在絕大部分時間象一個即大又快的存儲器。這個容量小但速度快的元件是Cache,它自動地保存處理器經(jīng)常用到的指令和數(shù)據(jù)的拷貝。本節(jié)首先對ARM支持的存儲數(shù)據(jù)類型和處理器中數(shù)據(jù)存儲格式進行介紹,在此基礎(chǔ)上介紹了ARM存儲器的接口設(shè)計,主要包括存儲器接口、Cache、MMU和保護單元,建立起ARM處理器的整個存儲體系的概念和設(shè)計方法。2.9ARM存儲器接口及存儲器層次第五十一頁,共八十六頁。2.9.1ARM存儲數(shù)據(jù)類型和存儲格式 2.9.2ARM的存儲器層次簡介 2.9.3ARM存儲系統(tǒng)簡介ARM存儲器接口及存儲器層次第五十二頁,共八十六頁。ARM處理器支持以下6種數(shù)據(jù)類型:8位有符號和無符號字節(jié)。16位有符號和無符號半字,它們以兩字節(jié)的邊界定位。32位有符號和無符號字,它們以4字節(jié)的邊界定位。2.9.1ARM存儲數(shù)據(jù)類型和存儲格式第五十三頁,共八十六頁。存儲器組織在以字節(jié)為單位尋址的存儲器中有“小端”和“大端”兩種方式存儲字,這兩種方式是根據(jù)最低有效字節(jié)與相鄰較高有效字節(jié)相比是存放在較低的還是較高的地址來劃分的,兩種存儲方式如圖所示。ARM存儲數(shù)據(jù)類型和存儲格式第五十四頁,共八十六頁。第五十五頁,共八十六頁。第五十六頁,共八十六頁。寄存器組片上RAM片上Cache主存儲器硬盤2.9.2ARM的存儲器層次簡介第五十七頁,共八十六頁。ARM通過增加硬件協(xié)處理器來支持對其指令集的通用擴展,通過未定義指令陷阱支持這些協(xié)處理器的軟件仿真。簡單的ARM核提供板級協(xié)處理器接口,因此協(xié)處理器可以作為一個獨立的元件接入。最常使用的協(xié)處理器是用于控制片上功能的系統(tǒng)協(xié)處理器,例如控制ARM720上的高速緩存Cache和存儲器管理單元MMU等。ARM也開發(fā)了浮點協(xié)處理器,也可以支持其它的片上協(xié)處理器。ARM體系結(jié)構(gòu)支持通過增加協(xié)處理器來擴展指令集的機制。2.10ARM協(xié)處理器

第五十八頁,共八十六頁。先進的微控制器總線體系結(jié)構(gòu)AMBA是ARM公司公布的總線標(biāo)準(zhǔn)AHB(AdvancedHigh-performanceBus):用于連接高性能系統(tǒng)模塊。它支持突發(fā)數(shù)據(jù)傳輸方式及單個數(shù)據(jù)傳輸方式,所有時序參考同一個時鐘沿。ASB(AdvancedSystemBus):用于連接高性能系統(tǒng)模塊,它支持突發(fā)數(shù)據(jù)傳輸模式。APB(AdvancePeripheralBus):是一個簡單接口支持低性能的外圍接口。2.11ARM片上總線AMBA

第五十九頁,共八十六頁。嵌入式調(diào)試調(diào)試處理器核ARM調(diào)試硬件EmbeddedICE2.12ARM的調(diào)試結(jié)構(gòu)

第六十頁,共八十六頁。在高性能的32位嵌入式SoC設(shè)計中,幾乎都是以ARM作為處理器核。ARM核已是現(xiàn)在嵌入式SoC系統(tǒng)芯片的核心,也是現(xiàn)代嵌入式系統(tǒng)發(fā)展的方向。

ARM處理器核作為基本處理單元,根據(jù)發(fā)展需求還集成了與處理器核密切相關(guān)的功能模塊,如Cache存儲器和存儲器管理MMU硬件,這些基于微處理器核并集成這些IP核的標(biāo)準(zhǔn)配置的ARM核都具有基本“CPU”的配置,這些內(nèi)核稱為CPU核。2.13ARM核綜述第六十一頁,共八十六頁。ARM處理器核當(dāng)前有6個系列產(chǎn)品:ARM7ARM9ARM9EARM10E,SecurCoreARM11Intel公司推出的:StrongARMXScaleARM核綜述第六十二頁,共八十六頁。2.13.1ARM7系列核介紹 2.13.2ARM9系列核介紹 2.13.3ARM10系列核 2.13.4StrongARM和XScale系列核 2.13.5SecurCore系列核ARM核綜述第六十三頁,共八十六頁。ARM7TDMI是ARM公司最早為業(yè)界普遍認(rèn)可且得到了最為廣泛應(yīng)用的處理器核,特別是在手機和PDA中,隨著ARM技術(shù)的發(fā)展,它已是目前最低端的ARM核。ARM7:32位ARM體系結(jié)構(gòu)4T版本;T:“Thumb”16位壓縮指令集;D:支持片上Debug(調(diào)試),使處理器能夠停止以響應(yīng)調(diào)試請求;M:增強型Multiplier,與前代相比具有較高的性能且產(chǎn)生64位的結(jié)果;I:“EmbeddedICE”硬件以支持片上斷點和觀察點。2.13.1ARM7系列核介紹第六十四頁,共八十六頁。1)ARM7TDMI組織結(jié):ARM7TDMI重要的特性有實現(xiàn)ARM體系結(jié)構(gòu)版本4T,支持64位結(jié)果的乘法,半字、有符號字節(jié)存??;支持Thumb指令集,可降低系統(tǒng)開銷;32×8DSP乘法器;32位尋址空間-4GB線性地址空間;它包含了EmbeddedICE模塊以支持嵌入式系統(tǒng)調(diào)試;調(diào)試硬件由JTAG測試訪問端口訪問,因此JTAG控制邏輯被認(rèn)為是處理器核的一部分。廣泛的ARM和第三方支持,并與ARM9Thumb系列ARM10Thumb系列和StrongARM處理器相兼容。ARM7系列核介紹第六十五頁,共八十六頁。2)ARM7TDMI硬件接口按接口信號的功能劃分為存儲器接口、MMU接口、片上調(diào)試、JTAG邊界掃描擴展以及時鐘接口等十四類接口信號。各接口信號包括接口信號和接口控制信號ARM7TDMI核的外圍硬件接口信號圖

ARM7系列核介紹第六十六頁,共八十六頁。3)綜合的ARM7TDMI-ARM7TDMI-SARM7TDMI-S是ARM7TDMI的一個可綜合的版本,它是以高級語言描述的“軟”IP核,可以根據(jù)用戶選擇的目標(biāo)工藝的單元庫來進行邏輯綜合和物理實現(xiàn),它比“硬”的IP核更易于轉(zhuǎn)移到新的工藝技術(shù)上實現(xiàn)。綜合出的整個核比“硬”核大50%,電源效率降低50%。同時ARM7TDMI-S在綜合過程中存在支持關(guān)于處理器核功能的選項,這些選項會導(dǎo)致綜合出處理器核較小而且的功能有所下降。ARM7系列核介紹第六十七頁,共八十六頁。4)ARM7TDMI應(yīng)用ARM7TDMI處理器核在存儲器配置較簡單的系統(tǒng)中廣泛應(yīng)用,最為成功的典型例子是手機、PDA,在此應(yīng)用中,ARM7TDMI已成為用于控制和用戶接口功能的事實上的標(biāo)準(zhǔn)處理器。當(dāng)需要實現(xiàn)高性能時,具有簡單存儲器系統(tǒng)單純的ARM7TDMI已不能滿足,系統(tǒng)的復(fù)雜程度必然要增加。往往是在ARM7TDMI上增加Cache存儲器、以ARMCPU核的形式增加軟件從片外存儲器讀、寫性能。ARM7系列核介紹第六十八頁,共八十六頁。ARM8核是從1993年到1996年開發(fā)的,并開發(fā)了具有片上Cache及存儲器管理單元高性能ARMCPU芯片以滿足比ARM7的3級流水線更高性能的ARM核的需求。ARM9TDMI將流水線的級數(shù)從ARM7TDMI的3級增加到5級,并使用分開的指令與數(shù)據(jù)存儲器的Harvard體系結(jié)構(gòu)。ARM9TDMI的性能在相同工藝條件下近似達到ARM7TDMI兩倍2.13.2ARM9系列核介紹第六十九頁,共八十六頁。1)ARM9TDMI技術(shù)特點支持Thumb指令集;含有EmbeddedICE模塊支持片上調(diào)試;通過采用5級流水線以增加最高時鐘速率;分開的指令與數(shù)據(jù)存儲器端口以改善CPI,提高處理器性能。2.13.2ARM9系列核介紹第七十頁,共八十六頁。2)ARM9TDMI組織ARM9內(nèi)核采用了與后面要講到的StrongARM相同的5級流水線。ARM9TDMI與StrongARM核的主要區(qū)別在于StrongARM有一個與寄存器讀出級并行操作的專用的轉(zhuǎn)移加法器進行轉(zhuǎn)移地址計算,而ARM9TDMI使用數(shù)據(jù)路徑中的ALU來計算轉(zhuǎn)移目標(biāo)地址。ARM9系列核介紹第七十一頁,共八十六頁。3)ARM9TDMI的流水線操作ARM9內(nèi)核采用了與后面要講到的StrongARM相同的5級流水線。ARM9TDMI與StrongARM核的主要區(qū)別在于StrongARM有一個與寄存器讀出級并行操作的專用的轉(zhuǎn)移加法器進行轉(zhuǎn)移地址計算,而ARM9TDMI使用數(shù)據(jù)路徑中的ALU來計算轉(zhuǎn)移目標(biāo)地址。ARM9系列核介紹第七十二頁,共八十六頁。4)Thumb解碼和存儲器讀寫5)協(xié)處理器支持6)片上調(diào)試7)低電壓操作8)ARM9TDMI應(yīng)用9)ARM9E-S及ARM946E-S和ARM966E-SARM9系列核介紹第七十三頁,共八十六頁。ARM10TDMI屬于ARM處理器核中的高端處理器核,ARM10TDMI的性能在相同工藝條件下近似達到也以ARM9TDMI的兩倍性能工作。ARM1020E/ARM10200是基于ARM10TDMI核設(shè)計的高性能CPU核。增加最高時鐘速率。2.13.3ARM10系列核第七十四頁,共八十六頁。1995年,ARM、Apple、DEC公司聯(lián)合聲明將開發(fā)一種應(yīng)用于PDA的高性能、低功耗、基于ARM體系結(jié)構(gòu)的StrongARM微處理器。StrongARM主要特點有:具有寄存器前推的5級流水線;除64位乘法、多寄存器傳送和存儲器/寄存器交換指令外,其它所有普通指令均是單周期指令;16KB、32路相聯(lián)的指令Cache,每行32字節(jié);16KB、32路相聯(lián)的寫回式數(shù)據(jù)Cache,每行32字節(jié);分開的32數(shù)據(jù)項的指令和數(shù)據(jù)地址變換后備緩沖器;2.13.4StrongARM和XScale系列核第七十五頁,共八十六頁。8數(shù)據(jù)項的寫緩沖器,每個數(shù)據(jù)項16個字節(jié);低功耗的偽靜態(tài)操作。StrongARM的乘法部件很有特色。不論處理器的時鐘速率有多高,乘法器以每周期計算12位,用1~3個時鐘周期計算兩個32位操作數(shù)的乘積。對于數(shù)字信號處理性能要求很高的應(yīng)用來說,StrongARM的高速乘法器有很大的潛力。微處理器使用系統(tǒng)控制協(xié)處理器CP15來管理片上MMU和Cache資源,并且集成了JTAG邊界掃描測試電路以支持印制板連接測試。(沒有實現(xiàn)器件內(nèi)部電路測試的JTAG“in-test”指令)。StrongARM和XScale系列核第七十六頁,共八十六頁。StrongARM的五級流水線取指(從指令Cache)。指令譯碼及寄存器讀;轉(zhuǎn)移目標(biāo)計算及執(zhí)行。移位及ALU操作,包括數(shù)據(jù)傳送的存儲器地址計算。數(shù)據(jù)Cache訪問結(jié)果寫回到寄存器文件寄存器前推通路將中間結(jié)果傳給下一條指令,以避免讀后寫冒險引起的寄存器互鎖停頓。從下一條指令的取指級傳送PC+4的PC通路給出當(dāng)前指令的PC+8,作為r15并用于轉(zhuǎn)移目標(biāo)計算。StrongARM和XScale系列核第七十七頁,共八十六頁。StrongARM處理器流水線的特點要在一個周期內(nèi)完成寄存器控制的移位和基址加變址尋址存儲操作,寄存器需要有三個讀端口。要在一個周期內(nèi)完成自動變址的裝入(load)操作,寄存器需要兩個寫端口。執(zhí)行級的地址增值器支持多裝入(load)/存儲(store)指令。有很多源可以產(chǎn)生下一個PC值。StrongARM和XScale系列核第七十八頁,共八十六頁。IntelXScale系列處理器核是基于ARMv5TE體系結(jié)構(gòu)的,它提供了從手持互聯(lián)網(wǎng)設(shè)備到互聯(lián)網(wǎng)基礎(chǔ)設(shè)施產(chǎn)品全面解決方案,支持16位Thumb指令和DSP擴充?;赬Scale技術(shù)開發(fā)的系列微處理器,由于超低功率與高性能的組合使IntelXScale適用于廣泛的互聯(lián)

溫馨提示

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

最新文檔

評論

0/150

提交評論