版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第二章ARM微處理器硬件結(jié)構(gòu)
本章主要內(nèi)容:計(jì)算機(jī)體系結(jié)構(gòu)分類ARM版本及系列ARM處理器結(jié)構(gòu)存儲(chǔ)系統(tǒng)機(jī)制1第二章ARM微處理器硬件結(jié)構(gòu)本章主要內(nèi)容:1
計(jì)算機(jī)體系結(jié)構(gòu)Ⅰ1.馮·諾依曼結(jié)構(gòu)2計(jì)算機(jī)體系結(jié)構(gòu)Ⅰ1.馮·諾依曼結(jié)構(gòu)2
計(jì)算機(jī)體系結(jié)構(gòu)Ⅱ2.哈佛體系結(jié)構(gòu)
3計(jì)算機(jī)體系結(jié)構(gòu)Ⅱ2.哈佛體系結(jié)構(gòu)3
ARM簡介
ARM(AdvancedRISCMachines)系列微處理器,采用的ARM技術(shù)知識(shí)產(chǎn)權(quán)(IP)核都是由ARM公司提供的。
ARM公司本身不生產(chǎn)芯片,轉(zhuǎn)讓設(shè)計(jì)許可,由合作公司生產(chǎn)各具特色的芯片。
ARM32位體系結(jié)構(gòu)目前被公認(rèn)為是嵌入式應(yīng)用領(lǐng)域領(lǐng)先的32位嵌入式RISC微處理器結(jié)構(gòu)。從版本1到版本6,ARM體系的指令集功能不斷擴(kuò)大。
4ARM簡介ARM(Advanced
ARM版本Ⅰ
1.V1版架構(gòu)該版架構(gòu)只在原型機(jī)ARM1出現(xiàn)過,沒有用于商業(yè)產(chǎn)品。其基本性能有:基本的數(shù)據(jù)處理指令(無乘法);基于字節(jié)、半字和字的Load/Store指令;轉(zhuǎn)移指令,包括子程序調(diào)用及鏈接指令;供操作系統(tǒng)使用的軟件中斷指令SWI;尋址空間:64MB(226)。
5ARM版本Ⅰ1.V1版架構(gòu)5
ARM版本Ⅱ2.V2版架構(gòu)該版架構(gòu)對V1版進(jìn)行了擴(kuò)展,例如ARM2和ARM3(V2a)架構(gòu),版本2a是版本2的變種,ARM3芯片采用了版本2a。V2版架構(gòu)與版本V1相比,增加了以下功能:乘法和乘加指令;支持協(xié)處理器操作指令;快速中斷模式;SWP/SWPB的最基本存儲(chǔ)器與寄存器交換指令;尋址空間:64MB。
6ARM版本Ⅱ2.V2版架構(gòu)6
ARM版本Ⅲ3.V3版架構(gòu)
V3版架構(gòu)對ARM體系結(jié)構(gòu)作了較大的改動(dòng):尋址空間增至32位(4GB);當(dāng)前程序狀態(tài)信息從原來的R15寄存器移到當(dāng)前程序狀態(tài)寄存器CPSR中(CurrentProgramStatusRegister);增加了程序狀態(tài)保存寄存器SPSR(SavedProgramStatusRegister);增加了中止(Abort)和未定義2種處理器模式;增加了MRS/MSR指令,以訪問新增的CPSR/SPSR寄存器;
增加了從異常處理返回的指令功能。7ARM版本Ⅲ3.V3版架構(gòu)7
ARM版本Ⅳ4.V4版架構(gòu)V4版架構(gòu)在V3版上作了進(jìn)一步擴(kuò)充,V4版架構(gòu)是目前應(yīng)用最廣的ARM體系結(jié)構(gòu),ARM7、ARM8、ARM9和StrongARM都采用該架構(gòu)。指令集中增加了以下功能:
符號化和非符號化半字及符號化字節(jié)的存/取指令;
增加了16位Thumb指令集;完善了軟件中斷SWI指令的功能;
處理器系統(tǒng)模式引進(jìn)特權(quán)方式時(shí)使用用戶寄存器操作;把一些未使用的指令空間捕獲為未定義指令。8ARM版本Ⅳ4.V4版架構(gòu)8
ARM版本Ⅴ5.V5版架構(gòu)V5版架構(gòu)是在V4版基礎(chǔ)上增加了一些新的指令,ARM10和Xscale都采用該版架構(gòu)。這些新增命令有:帶有鏈接和交換的轉(zhuǎn)移BLX指令;計(jì)數(shù)前導(dǎo)零CLZ指令;BRK中斷指令;增加了數(shù)字信號處理指令(V5TE版);為協(xié)處理器增加更多可選擇的指令。9ARM版本Ⅴ5.V5版架構(gòu)9
ARM版本Ⅵ6.V6版架構(gòu)V6版架構(gòu)是2001年發(fā)布的,首先在2002年春季發(fā)布的ARM11處理器中使用。此架構(gòu)在V5版基礎(chǔ)上增加了以下功能:
THUMBTM:35%代碼壓縮;
DSP擴(kuò)充:高性能定點(diǎn)DSP功能;
JazelleTM:Jova性能優(yōu)化,可提高8倍;
Media擴(kuò)充:音/視頻性能優(yōu)化,可提高4倍。10ARM版本Ⅵ6.V6版架構(gòu)10
ARM處理器系列ARM7系列ARM9系列ARM9E系列ARM10E系列SecurCore系列Inter的XscaleInter的StrongARM11ARM處理器系列ARM7系列11
ARM處理器結(jié)構(gòu)從一下四個(gè)方面介紹:ARM和Thumb狀態(tài)RISC技術(shù)流水線技術(shù)超標(biāo)量執(zhí)行12ARM處理器結(jié)構(gòu)從一下四個(gè)方面介紹:12
ARM和Thumb狀態(tài)
V4版以后有:32位ARM指令集16位Thumb指令集,功能是ARM指令集的功能子集。ARM7TDMI核以后,T變種的ARM微處理器有兩種工作狀態(tài):ARM狀態(tài)Thumb狀態(tài)。13ARM和Thumb狀態(tài)V4版以后有:13
ARM與Thumb狀態(tài)轉(zhuǎn)換
在程序的執(zhí)行過程中,微處理器可以隨時(shí)在兩種工作狀態(tài)之間切換,并且該轉(zhuǎn)變不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。進(jìn)入Thumb狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位(位[0])為1時(shí),執(zhí)行BX指令。
進(jìn)入ARM狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位(位[0])為0時(shí),執(zhí)行BX指令。14ARM與Thumb狀態(tài)轉(zhuǎn)換在程序的執(zhí)行過
RISC技術(shù)Ⅰ
RISC體系結(jié)構(gòu)基本特點(diǎn):大多數(shù)指令只需要執(zhí)行簡單和基本的功能,其執(zhí)行過程在一個(gè)機(jī)器周期內(nèi)完成。只保留加載/存儲(chǔ)指令。操作數(shù)由加載/存儲(chǔ)指令從存儲(chǔ)器取出放寄存器內(nèi)操作。芯片邏輯不采用或少采用微碼技術(shù),而采用硬布線邏輯。減少指令數(shù)和尋址方式。
指令格式固定,指令譯碼簡化。優(yōu)化編譯。
15RISC技術(shù)ⅠRISC體系結(jié)構(gòu)基本特點(diǎn):1
RISC技術(shù)ⅡARM體系結(jié)構(gòu)還采用了一些特別的技術(shù):所有的指令都可根據(jù)前面的執(zhí)行結(jié)果決定是否被執(zhí)行,提高了指令的執(zhí)行效率??捎肔oad/Store指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率。可在一條數(shù)據(jù)處理指令中同時(shí)完成邏輯處理和移位處理。16RISC技術(shù)ⅡARM體系結(jié)構(gòu)還采用了一些特別
流水線技術(shù)Ⅰ1.ARM的3級流水線
17流水線技術(shù)Ⅰ1.ARM的3級流水線17
流水線技術(shù)Ⅱ多周期ARM指令的3級流水線操作18流水線技術(shù)Ⅱ多周期ARM指令的3級流水線操作流水線技術(shù)Ⅲ2.ARM的流水線設(shè)計(jì)問題
(1)縮短程序執(zhí)行時(shí)間:提高時(shí)鐘頻率fclk減少每條指令的平均時(shí)鐘周期數(shù)CPI(2)解決流水線相關(guān):結(jié)構(gòu)相關(guān)
數(shù)據(jù)相關(guān)
控制相關(guān)
19流水線技術(shù)Ⅲ2.ARM的流水線設(shè)流水線技術(shù)Ⅳ3.ARM的5級流水線ARM9和StrongARM架構(gòu)都采用了5級流水線.增加了I-Cache和D-Cache,把存儲(chǔ)器的取指與數(shù)據(jù)存取分開;增加了數(shù)據(jù)寫回的專門通路和寄存器;把指令的執(zhí)行過程分割為5部分:取指->指令譯碼->執(zhí)行->數(shù)據(jù)緩存->寫回
20流水線技術(shù)Ⅳ3.ARM的5級流水
超標(biāo)量執(zhí)行
通過重復(fù)設(shè)置多套指令執(zhí)行部件,同時(shí)處理并完成多條指令,實(shí)現(xiàn)并行操作,來達(dá)到提高處理速度的目的。所有ARM內(nèi)核,包括流行的ARM7、ARM9和ARM11等,都是單周期指令機(jī)。ARM公司下一代處理器將是每周期能處理多重指令的超標(biāo)量機(jī)。但是:超標(biāo)量處理器在執(zhí)行的過程中必須動(dòng)態(tài)地檢查指令相關(guān)性如果代碼中有分支指令;我們必須將分支被執(zhí)行和分支不被執(zhí)行這兩種情況分開考慮計(jì)算執(zhí)行時(shí)間幾乎是不可能的;計(jì)算執(zhí)行時(shí)間幾乎是不可能的。21超標(biāo)量執(zhí)行通過重復(fù)
存儲(chǔ)器部件的分類
按在系統(tǒng)中的地位分類:“主存儲(chǔ)器”(MainMemory,簡稱內(nèi)存或主存)“輔助存儲(chǔ)器”(AuxiliaryMemory,SecondaryMemory,簡稱輔存或外存)
按存儲(chǔ)介質(zhì)分類:磁存儲(chǔ)器(MagneticMemory),半導(dǎo)體集成電路存儲(chǔ)器(通常稱為半導(dǎo)體存儲(chǔ)器),光存儲(chǔ)器(OpticalMemory),激光光盤存儲(chǔ)器(LaserOpticalDisk)按信息存取方式分類:隨機(jī)存取存儲(chǔ)器RAM只讀存儲(chǔ)器ROM
22存儲(chǔ)器部件的分類按在系統(tǒng)中的地位分類:22
存儲(chǔ)器的組織和結(jié)構(gòu)
嵌入式存儲(chǔ)器一般采用存儲(chǔ)密度較大的存儲(chǔ)器芯片,典型的嵌入式存儲(chǔ)器系統(tǒng)由ROM、RAM、EPROM等組成。
23存儲(chǔ)器的組織和結(jié)構(gòu)嵌入式存儲(chǔ)器一般采用存儲(chǔ)密度較大
常用的存儲(chǔ)器隨機(jī)存儲(chǔ)器(RAM)
靜態(tài)隨機(jī)存儲(chǔ)器(SRAM)動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DRAM)
只讀存儲(chǔ)器(ROM),它在嵌入式系統(tǒng)中非常有用,因?yàn)樵S多代碼或數(shù)據(jù)不隨時(shí)間改變。
工廠編程的只讀存儲(chǔ)器現(xiàn)場可編程只讀存儲(chǔ)器
24常用的存儲(chǔ)器隨機(jī)存儲(chǔ)器(RAM)24
存儲(chǔ)器的性能大容量、高速度、低價(jià)格是評價(jià)存儲(chǔ)器性能的三個(gè)主要指標(biāo),也是存儲(chǔ)體系設(shè)計(jì)的主要目標(biāo)。
容量:Sw=Wlm。其中W為存儲(chǔ)體的字長(單位為位或字節(jié)),l為單個(gè)存儲(chǔ)體的字?jǐn)?shù),m為并行工作的存儲(chǔ)體個(gè)數(shù)。
速度:m個(gè)存儲(chǔ)體并行工作時(shí),可達(dá)到的最大頻率寬度為Bm=Wm/TM。其中TM是連續(xù)起動(dòng)一個(gè)存儲(chǔ)器所必要的時(shí)間間隔,TM>TA。Bm是連續(xù)提供數(shù)據(jù)的速率。價(jià)格:具有SM位的存儲(chǔ)器,每位價(jià)格表示為c=C/Sm。其中C是總價(jià)格。25存儲(chǔ)器的性能大容量、高速度、
存儲(chǔ)體系的組成單體單字存儲(chǔ)器單體多字存儲(chǔ)器
多體單字交叉存取存儲(chǔ)器多體多字交叉存取存儲(chǔ)器一般把這些能并行讀出多個(gè)CPU字的單體多字和多體單字及多體多字的交叉存取系統(tǒng),統(tǒng)稱為并行主存系統(tǒng)。
26存儲(chǔ)體系的組成單體單字存儲(chǔ)器26存儲(chǔ)體系的形式(a)兩級存儲(chǔ)器層次結(jié)構(gòu)
(b)三級存儲(chǔ)器層次結(jié)構(gòu)27存儲(chǔ)體系的形式(a)兩級存儲(chǔ)器層
總線結(jié)構(gòu)Ⅰ1.總線協(xié)議:四周期握手協(xié)議
28總線結(jié)構(gòu)Ⅰ1.總線協(xié)議:四周期握
總線結(jié)構(gòu)Ⅱ2.總線讀寫
29總線結(jié)構(gòu)Ⅱ2.總線讀寫29
總線結(jié)構(gòu)Ⅲ3.總線的時(shí)序圖30總線結(jié)構(gòu)Ⅲ3.總線的時(shí)序圖30
總線結(jié)構(gòu)Ⅳ4.直接內(nèi)存訪問(DMA)
31總線結(jié)構(gòu)Ⅳ4.直接內(nèi)存訪問(DMA總線結(jié)構(gòu)Ⅴ5.系統(tǒng)總線配置
多總線系統(tǒng)32總線結(jié)構(gòu)Ⅴ5.系統(tǒng)總線配置32ARM存儲(chǔ)數(shù)據(jù)類型ARM處理器支持以下六種數(shù)據(jù)類型:
8位有符號和無符號字節(jié)。16位有符號和無符號半字,以2字節(jié)的邊界對齊。32位有符號和無符號字,以4字節(jié)的邊界對齊。33ARM存儲(chǔ)數(shù)據(jù)類型ARM處理器支持以下六ARM存儲(chǔ)格式大端存儲(chǔ)模式
小端存儲(chǔ)模式(缺?。?4ARM存儲(chǔ)格式大端存儲(chǔ)模式小端
存儲(chǔ)器接口Ⅰ1.存儲(chǔ)周期的基本類型:空閑周期非順序周期順序周期協(xié)處理器寄存器傳送周期
35存儲(chǔ)器接口Ⅰ1.存儲(chǔ)周期的基本類型:3
存儲(chǔ)器接口Ⅱ2.ARM的總線接口信號分成4類(以ARM7TDMI為例說明):時(shí)鐘和時(shí)鐘控制信號:MCLK、ECLK、nRESET、nWAIT。地址類信號:A[31..0]、nRW、MAS[1..0]、nOPC、nTRANS、LOCK、TBIT。存儲(chǔ)器請求信號:nMREQ、SEQ。數(shù)據(jù)時(shí)序信號:D[31..0]、DIN[31..0]、DOUT[31..0]、ABORT、BL[3..0]。36存儲(chǔ)器接口Ⅱ2.ARM的總線接口信號分成
存儲(chǔ)器接口Ⅲ3.ARM的總線接口可以實(shí)現(xiàn)4種不同類型的總線周期。37存儲(chǔ)器接口Ⅲ3.ARM的總線接口可以實(shí)
高速緩沖存儲(chǔ)器Ⅰ1.分類:統(tǒng)一CacheVS
獨(dú)立的數(shù)據(jù)/程序Cache寫通cacheVS
寫回cache讀操作分配cacheVS
寫操作分配cache38高速緩沖存儲(chǔ)器Ⅰ1.分類:38高速緩沖存儲(chǔ)器Ⅱ2.工作原理:39高速緩沖存儲(chǔ)器Ⅱ2.工作原理:39高速緩沖存儲(chǔ)器Ⅲ3.地址映像和變換方式:全相聯(lián)地址映像和變換組相聯(lián)地址映像和變換直接映像和變換
40高速緩沖存儲(chǔ)器Ⅲ3.地址映像和變換方式:
高速緩沖存儲(chǔ)器Ⅳ4.Cache的替換算法:輪轉(zhuǎn)法隨機(jī)替換算法
41高速緩沖存儲(chǔ)器Ⅳ4.Cache的替換算法:4
存儲(chǔ)管理單元MMUⅠ1.在ARM系統(tǒng)中,存儲(chǔ)管理單元MMU主要完成工作:虛擬存儲(chǔ)空間到物理存儲(chǔ)空間的映射。在ARM中采用了頁式虛擬存儲(chǔ)管理。存儲(chǔ)器訪問權(quán)限的控制。
設(shè)置虛擬存儲(chǔ)空間的緩沖的特性。42存儲(chǔ)管理單元MMUⅠ1.在ARM系統(tǒng)中,存儲(chǔ)管
存儲(chǔ)管理單元MMUⅡ(1)2.存儲(chǔ)訪問過程使能MMU時(shí)存儲(chǔ)訪問過程:43存儲(chǔ)管理單元MMUⅡ(1)2.存儲(chǔ)訪問過程43存儲(chǔ)管理單元MMUⅡ(2)禁止MMU時(shí)存儲(chǔ)訪問過程:
①
先要確定芯片是否支持cache和writebuffer。如果芯片規(guī)定當(dāng)禁止MMU時(shí)禁止cache和writebuffer,則存儲(chǔ)訪問將不考慮C和B控制位。如果芯片規(guī)定當(dāng)禁止MMU時(shí)可以使能cache和writebuffer,則數(shù)據(jù)訪問時(shí),C=0,B=0;指令讀取時(shí),如果使用分開的TLB,那么C=1,如果使用統(tǒng)一的TLB,那么C=0。②
存儲(chǔ)訪問不進(jìn)行權(quán)限控制,MMU也不會(huì)產(chǎn)生存儲(chǔ)訪問中止信號。③
所有的物理地址和虛擬地址相等,即使用平板存儲(chǔ)模式。44存儲(chǔ)管理單元MMUⅡ(2)禁止MMU時(shí)存儲(chǔ)訪問存儲(chǔ)管理單元MMUⅢ(1)3.MMU中的地址變換過程:通過兩級頁表實(shí)現(xiàn)。a)一級頁表中包含有以段為單位的地址變換條目以及指向二級頁表的指針。一級頁表是實(shí)現(xiàn)的地址映射粒度較大。以段為單位的地址變換過程只需要一級頁表。b)二級頁表中包含有以大頁和小頁為單位的地址變換條目。有一種類型的二級頁表還包含有以極小頁為單位的地址變換條目。以頁為單位的地址變換過程需要二級頁表。
45存儲(chǔ)管理單元MMUⅢ(1)3.MMU中的地址變存儲(chǔ)管理單元MMUⅢ(2)一級頁表的地址變換過程:46存儲(chǔ)管理單元MMUⅢ(2)一級頁表的地址變換過程存儲(chǔ)管理單元MMUⅣ(1)4.一級描述符:
從頁表中得到的相應(yīng)地址變換條目稱為一級描述符。它定義了與之相應(yīng)的1M存儲(chǔ)空間是如何映射的。一級描述符的位[1:0]定義了該一級描述符的類型,共有4種格式的一級描述符:
47存儲(chǔ)管理單元MMUⅣ(1)4.一級描述符:47存儲(chǔ)管理單元MMUⅣ(2)1)粗粒度頁表描述符:當(dāng)一級描述符的位[1..0]為0b01(0b代表二進(jìn)制)時(shí),該一級描述符中包含了粗粒度的二級頁表的物理地址,這種一級描述符稱為粗粒度頁表描述符。它的格式和各個(gè)字段的含義如下:
48存儲(chǔ)管理單元MMUⅣ(2)1)粗粒度頁表描述符存儲(chǔ)管理單元MMUⅣ(3)由粗粒度頁表描述符獲取二級描述符的過程:49存儲(chǔ)管理單元MMUⅣ(3)由粗粒度頁表描述符獲取存儲(chǔ)管理單元MMUⅣ(4)2)段描述符:當(dāng)一級描述符的位[1:0]為0b10時(shí),該一級描述符為段描述符,它的格式和各個(gè)字段的含義如下:50存儲(chǔ)管理單元MMUⅣ(4)2)段描述符:當(dāng)一級描存儲(chǔ)管理單元MMUⅣ(5)基于段的地址變換過程:51存儲(chǔ)管理單元MMUⅣ(5)基于段的地址變換過程存儲(chǔ)管理單元MMUⅣ(6)3)細(xì)粒度頁表描述符:當(dāng)一級描述符的位[1:0]為0b11時(shí),該一級描述符中包含了細(xì)粒度的二級頁表的物理地址,稱為細(xì)粒度頁表描述符。它的格式和各個(gè)字段的含義如下:52存儲(chǔ)管理單元MMUⅣ(6)3)細(xì)粒度頁表描述符存儲(chǔ)管理單元MMUⅣ(7)由細(xì)粒度頁表描述符獲取二級描述符的過程
53存儲(chǔ)管理單元MMUⅣ(7)由細(xì)粒度頁表描述符獲取存儲(chǔ)管理單元MMUⅤ5.MMU中的存儲(chǔ)訪問權(quán)限控制54存儲(chǔ)管理單元MMUⅤ5.MMU中的存儲(chǔ)訪問權(quán)限控存儲(chǔ)管理單元MMUⅥ6.
MMU中的域(Domain)
MMU中的域指的是一些段、大頁或者小頁的集合。ARM支持最多16個(gè)域,每個(gè)域的訪問控制特性都是由CP15中的寄存器C3中的兩位來控制的。這兩位的字段編碼和含義:
55存儲(chǔ)管理單元MMUⅥ6.
MMU中的域(Doma存儲(chǔ)管理單元MMUⅦ7.快速上下文切換技術(shù)
快速上下文切換技術(shù)FCSE(FastContextSwitchExtension)通過修改系統(tǒng)中不同進(jìn)程的虛擬地址,避免在進(jìn)行進(jìn)程間切換時(shí)造成的虛擬地址到物理地址的重映射,從而提高系統(tǒng)的性能。
FCSE位于CPU和MMU之間,其責(zé)任就是將不同進(jìn)程使用的相同虛擬地址映射為不同的虛擬空間,使得在上下文切換時(shí)無需重建TLB等。56存儲(chǔ)管理單元MMUⅦ7.快速上下文切換技術(shù)56存儲(chǔ)管理單元MMUⅧ8.存儲(chǔ)器映射的輸入/輸出在ARM系統(tǒng)中,I/O操作通常被映射成存儲(chǔ)器操作,即輸入/輸出是通過存儲(chǔ)器映射的可尋址外圍寄存器和中斷輸入的組合來實(shí)現(xiàn)的。但是,對于存儲(chǔ)器映射的I/O空間的操作,不能使用Cache技術(shù)。
57存儲(chǔ)管理單元MMUⅧ8.存儲(chǔ)器映射的輸入/輸出5
第二章ARM微處理器硬件結(jié)構(gòu)
本章主要內(nèi)容:計(jì)算機(jī)體系結(jié)構(gòu)分類ARM版本及系列ARM處理器結(jié)構(gòu)存儲(chǔ)系統(tǒng)機(jī)制58第二章ARM微處理器硬件結(jié)構(gòu)本章主要內(nèi)容:1
計(jì)算機(jī)體系結(jié)構(gòu)Ⅰ1.馮·諾依曼結(jié)構(gòu)59計(jì)算機(jī)體系結(jié)構(gòu)Ⅰ1.馮·諾依曼結(jié)構(gòu)2
計(jì)算機(jī)體系結(jié)構(gòu)Ⅱ2.哈佛體系結(jié)構(gòu)
60計(jì)算機(jī)體系結(jié)構(gòu)Ⅱ2.哈佛體系結(jié)構(gòu)3
ARM簡介
ARM(AdvancedRISCMachines)系列微處理器,采用的ARM技術(shù)知識(shí)產(chǎn)權(quán)(IP)核都是由ARM公司提供的。
ARM公司本身不生產(chǎn)芯片,轉(zhuǎn)讓設(shè)計(jì)許可,由合作公司生產(chǎn)各具特色的芯片。
ARM32位體系結(jié)構(gòu)目前被公認(rèn)為是嵌入式應(yīng)用領(lǐng)域領(lǐng)先的32位嵌入式RISC微處理器結(jié)構(gòu)。從版本1到版本6,ARM體系的指令集功能不斷擴(kuò)大。
61ARM簡介ARM(Advanced
ARM版本Ⅰ
1.V1版架構(gòu)該版架構(gòu)只在原型機(jī)ARM1出現(xiàn)過,沒有用于商業(yè)產(chǎn)品。其基本性能有:基本的數(shù)據(jù)處理指令(無乘法);基于字節(jié)、半字和字的Load/Store指令;轉(zhuǎn)移指令,包括子程序調(diào)用及鏈接指令;供操作系統(tǒng)使用的軟件中斷指令SWI;尋址空間:64MB(226)。
62ARM版本Ⅰ1.V1版架構(gòu)5
ARM版本Ⅱ2.V2版架構(gòu)該版架構(gòu)對V1版進(jìn)行了擴(kuò)展,例如ARM2和ARM3(V2a)架構(gòu),版本2a是版本2的變種,ARM3芯片采用了版本2a。V2版架構(gòu)與版本V1相比,增加了以下功能:乘法和乘加指令;支持協(xié)處理器操作指令;快速中斷模式;SWP/SWPB的最基本存儲(chǔ)器與寄存器交換指令;尋址空間:64MB。
63ARM版本Ⅱ2.V2版架構(gòu)6
ARM版本Ⅲ3.V3版架構(gòu)
V3版架構(gòu)對ARM體系結(jié)構(gòu)作了較大的改動(dòng):尋址空間增至32位(4GB);當(dāng)前程序狀態(tài)信息從原來的R15寄存器移到當(dāng)前程序狀態(tài)寄存器CPSR中(CurrentProgramStatusRegister);增加了程序狀態(tài)保存寄存器SPSR(SavedProgramStatusRegister);增加了中止(Abort)和未定義2種處理器模式;增加了MRS/MSR指令,以訪問新增的CPSR/SPSR寄存器;
增加了從異常處理返回的指令功能。64ARM版本Ⅲ3.V3版架構(gòu)7
ARM版本Ⅳ4.V4版架構(gòu)V4版架構(gòu)在V3版上作了進(jìn)一步擴(kuò)充,V4版架構(gòu)是目前應(yīng)用最廣的ARM體系結(jié)構(gòu),ARM7、ARM8、ARM9和StrongARM都采用該架構(gòu)。指令集中增加了以下功能:
符號化和非符號化半字及符號化字節(jié)的存/取指令;
增加了16位Thumb指令集;完善了軟件中斷SWI指令的功能;
處理器系統(tǒng)模式引進(jìn)特權(quán)方式時(shí)使用用戶寄存器操作;把一些未使用的指令空間捕獲為未定義指令。65ARM版本Ⅳ4.V4版架構(gòu)8
ARM版本Ⅴ5.V5版架構(gòu)V5版架構(gòu)是在V4版基礎(chǔ)上增加了一些新的指令,ARM10和Xscale都采用該版架構(gòu)。這些新增命令有:帶有鏈接和交換的轉(zhuǎn)移BLX指令;計(jì)數(shù)前導(dǎo)零CLZ指令;BRK中斷指令;增加了數(shù)字信號處理指令(V5TE版);為協(xié)處理器增加更多可選擇的指令。66ARM版本Ⅴ5.V5版架構(gòu)9
ARM版本Ⅵ6.V6版架構(gòu)V6版架構(gòu)是2001年發(fā)布的,首先在2002年春季發(fā)布的ARM11處理器中使用。此架構(gòu)在V5版基礎(chǔ)上增加了以下功能:
THUMBTM:35%代碼壓縮;
DSP擴(kuò)充:高性能定點(diǎn)DSP功能;
JazelleTM:Jova性能優(yōu)化,可提高8倍;
Media擴(kuò)充:音/視頻性能優(yōu)化,可提高4倍。67ARM版本Ⅵ6.V6版架構(gòu)10
ARM處理器系列ARM7系列ARM9系列ARM9E系列ARM10E系列SecurCore系列Inter的XscaleInter的StrongARM68ARM處理器系列ARM7系列11
ARM處理器結(jié)構(gòu)從一下四個(gè)方面介紹:ARM和Thumb狀態(tài)RISC技術(shù)流水線技術(shù)超標(biāo)量執(zhí)行69ARM處理器結(jié)構(gòu)從一下四個(gè)方面介紹:12
ARM和Thumb狀態(tài)
V4版以后有:32位ARM指令集16位Thumb指令集,功能是ARM指令集的功能子集。ARM7TDMI核以后,T變種的ARM微處理器有兩種工作狀態(tài):ARM狀態(tài)Thumb狀態(tài)。70ARM和Thumb狀態(tài)V4版以后有:13
ARM與Thumb狀態(tài)轉(zhuǎn)換
在程序的執(zhí)行過程中,微處理器可以隨時(shí)在兩種工作狀態(tài)之間切換,并且該轉(zhuǎn)變不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。進(jìn)入Thumb狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位(位[0])為1時(shí),執(zhí)行BX指令。
進(jìn)入ARM狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位(位[0])為0時(shí),執(zhí)行BX指令。71ARM與Thumb狀態(tài)轉(zhuǎn)換在程序的執(zhí)行過
RISC技術(shù)Ⅰ
RISC體系結(jié)構(gòu)基本特點(diǎn):大多數(shù)指令只需要執(zhí)行簡單和基本的功能,其執(zhí)行過程在一個(gè)機(jī)器周期內(nèi)完成。只保留加載/存儲(chǔ)指令。操作數(shù)由加載/存儲(chǔ)指令從存儲(chǔ)器取出放寄存器內(nèi)操作。芯片邏輯不采用或少采用微碼技術(shù),而采用硬布線邏輯。減少指令數(shù)和尋址方式。
指令格式固定,指令譯碼簡化。優(yōu)化編譯。
72RISC技術(shù)ⅠRISC體系結(jié)構(gòu)基本特點(diǎn):1
RISC技術(shù)ⅡARM體系結(jié)構(gòu)還采用了一些特別的技術(shù):所有的指令都可根據(jù)前面的執(zhí)行結(jié)果決定是否被執(zhí)行,提高了指令的執(zhí)行效率??捎肔oad/Store指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率??稍谝粭l數(shù)據(jù)處理指令中同時(shí)完成邏輯處理和移位處理。73RISC技術(shù)ⅡARM體系結(jié)構(gòu)還采用了一些特別
流水線技術(shù)Ⅰ1.ARM的3級流水線
74流水線技術(shù)Ⅰ1.ARM的3級流水線17
流水線技術(shù)Ⅱ多周期ARM指令的3級流水線操作75流水線技術(shù)Ⅱ多周期ARM指令的3級流水線操作流水線技術(shù)Ⅲ2.ARM的流水線設(shè)計(jì)問題
(1)縮短程序執(zhí)行時(shí)間:提高時(shí)鐘頻率fclk減少每條指令的平均時(shí)鐘周期數(shù)CPI(2)解決流水線相關(guān):結(jié)構(gòu)相關(guān)
數(shù)據(jù)相關(guān)
控制相關(guān)
76流水線技術(shù)Ⅲ2.ARM的流水線設(shè)流水線技術(shù)Ⅳ3.ARM的5級流水線ARM9和StrongARM架構(gòu)都采用了5級流水線.增加了I-Cache和D-Cache,把存儲(chǔ)器的取指與數(shù)據(jù)存取分開;增加了數(shù)據(jù)寫回的專門通路和寄存器;把指令的執(zhí)行過程分割為5部分:取指->指令譯碼->執(zhí)行->數(shù)據(jù)緩存->寫回
77流水線技術(shù)Ⅳ3.ARM的5級流水
超標(biāo)量執(zhí)行
通過重復(fù)設(shè)置多套指令執(zhí)行部件,同時(shí)處理并完成多條指令,實(shí)現(xiàn)并行操作,來達(dá)到提高處理速度的目的。所有ARM內(nèi)核,包括流行的ARM7、ARM9和ARM11等,都是單周期指令機(jī)。ARM公司下一代處理器將是每周期能處理多重指令的超標(biāo)量機(jī)。但是:超標(biāo)量處理器在執(zhí)行的過程中必須動(dòng)態(tài)地檢查指令相關(guān)性如果代碼中有分支指令;我們必須將分支被執(zhí)行和分支不被執(zhí)行這兩種情況分開考慮計(jì)算執(zhí)行時(shí)間幾乎是不可能的;計(jì)算執(zhí)行時(shí)間幾乎是不可能的。78超標(biāo)量執(zhí)行通過重復(fù)
存儲(chǔ)器部件的分類
按在系統(tǒng)中的地位分類:“主存儲(chǔ)器”(MainMemory,簡稱內(nèi)存或主存)“輔助存儲(chǔ)器”(AuxiliaryMemory,SecondaryMemory,簡稱輔存或外存)
按存儲(chǔ)介質(zhì)分類:磁存儲(chǔ)器(MagneticMemory),半導(dǎo)體集成電路存儲(chǔ)器(通常稱為半導(dǎo)體存儲(chǔ)器),光存儲(chǔ)器(OpticalMemory),激光光盤存儲(chǔ)器(LaserOpticalDisk)按信息存取方式分類:隨機(jī)存取存儲(chǔ)器RAM只讀存儲(chǔ)器ROM
79存儲(chǔ)器部件的分類按在系統(tǒng)中的地位分類:22
存儲(chǔ)器的組織和結(jié)構(gòu)
嵌入式存儲(chǔ)器一般采用存儲(chǔ)密度較大的存儲(chǔ)器芯片,典型的嵌入式存儲(chǔ)器系統(tǒng)由ROM、RAM、EPROM等組成。
80存儲(chǔ)器的組織和結(jié)構(gòu)嵌入式存儲(chǔ)器一般采用存儲(chǔ)密度較大
常用的存儲(chǔ)器隨機(jī)存儲(chǔ)器(RAM)
靜態(tài)隨機(jī)存儲(chǔ)器(SRAM)動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DRAM)
只讀存儲(chǔ)器(ROM),它在嵌入式系統(tǒng)中非常有用,因?yàn)樵S多代碼或數(shù)據(jù)不隨時(shí)間改變。
工廠編程的只讀存儲(chǔ)器現(xiàn)場可編程只讀存儲(chǔ)器
81常用的存儲(chǔ)器隨機(jī)存儲(chǔ)器(RAM)24
存儲(chǔ)器的性能大容量、高速度、低價(jià)格是評價(jià)存儲(chǔ)器性能的三個(gè)主要指標(biāo),也是存儲(chǔ)體系設(shè)計(jì)的主要目標(biāo)。
容量:Sw=Wlm。其中W為存儲(chǔ)體的字長(單位為位或字節(jié)),l為單個(gè)存儲(chǔ)體的字?jǐn)?shù),m為并行工作的存儲(chǔ)體個(gè)數(shù)。
速度:m個(gè)存儲(chǔ)體并行工作時(shí),可達(dá)到的最大頻率寬度為Bm=Wm/TM。其中TM是連續(xù)起動(dòng)一個(gè)存儲(chǔ)器所必要的時(shí)間間隔,TM>TA。Bm是連續(xù)提供數(shù)據(jù)的速率。價(jià)格:具有SM位的存儲(chǔ)器,每位價(jià)格表示為c=C/Sm。其中C是總價(jià)格。82存儲(chǔ)器的性能大容量、高速度、
存儲(chǔ)體系的組成單體單字存儲(chǔ)器單體多字存儲(chǔ)器
多體單字交叉存取存儲(chǔ)器多體多字交叉存取存儲(chǔ)器一般把這些能并行讀出多個(gè)CPU字的單體多字和多體單字及多體多字的交叉存取系統(tǒng),統(tǒng)稱為并行主存系統(tǒng)。
83存儲(chǔ)體系的組成單體單字存儲(chǔ)器26存儲(chǔ)體系的形式(a)兩級存儲(chǔ)器層次結(jié)構(gòu)
(b)三級存儲(chǔ)器層次結(jié)構(gòu)84存儲(chǔ)體系的形式(a)兩級存儲(chǔ)器層
總線結(jié)構(gòu)Ⅰ1.總線協(xié)議:四周期握手協(xié)議
85總線結(jié)構(gòu)Ⅰ1.總線協(xié)議:四周期握
總線結(jié)構(gòu)Ⅱ2.總線讀寫
86總線結(jié)構(gòu)Ⅱ2.總線讀寫29
總線結(jié)構(gòu)Ⅲ3.總線的時(shí)序圖87總線結(jié)構(gòu)Ⅲ3.總線的時(shí)序圖30
總線結(jié)構(gòu)Ⅳ4.直接內(nèi)存訪問(DMA)
88總線結(jié)構(gòu)Ⅳ4.直接內(nèi)存訪問(DMA總線結(jié)構(gòu)Ⅴ5.系統(tǒng)總線配置
多總線系統(tǒng)89總線結(jié)構(gòu)Ⅴ5.系統(tǒng)總線配置32ARM存儲(chǔ)數(shù)據(jù)類型ARM處理器支持以下六種數(shù)據(jù)類型:
8位有符號和無符號字節(jié)。16位有符號和無符號半字,以2字節(jié)的邊界對齊。32位有符號和無符號字,以4字節(jié)的邊界對齊。90ARM存儲(chǔ)數(shù)據(jù)類型ARM處理器支持以下六ARM存儲(chǔ)格式大端存儲(chǔ)模式
小端存儲(chǔ)模式(缺?。?1ARM存儲(chǔ)格式大端存儲(chǔ)模式小端
存儲(chǔ)器接口Ⅰ1.存儲(chǔ)周期的基本類型:空閑周期非順序周期順序周期協(xié)處理器寄存器傳送周期
92存儲(chǔ)器接口Ⅰ1.存儲(chǔ)周期的基本類型:3
存儲(chǔ)器接口Ⅱ2.ARM的總線接口信號分成4類(以ARM7TDMI為例說明):時(shí)鐘和時(shí)鐘控制信號:MCLK、ECLK、nRESET、nWAIT。地址類信號:A[31..0]、nRW、MAS[1..0]、nOPC、nTRANS、LOCK、TBIT。存儲(chǔ)器請求信號:nMREQ、SEQ。數(shù)據(jù)時(shí)序信號:D[31..0]、DIN[31..0]、DOUT[31..0]、ABORT、BL[3..0]。93存儲(chǔ)器接口Ⅱ2.ARM的總線接口信號分成
存儲(chǔ)器接口Ⅲ3.ARM的總線接口可以實(shí)現(xiàn)4種不同類型的總線周期。94存儲(chǔ)器接口Ⅲ3.ARM的總線接口可以實(shí)
高速緩沖存儲(chǔ)器Ⅰ1.分類:統(tǒng)一CacheVS
獨(dú)立的數(shù)據(jù)/程序Cache寫通cacheVS
寫回cache讀操作分配cacheVS
寫操作分配cache95高速緩沖存儲(chǔ)器Ⅰ1.分類:38高速緩沖存儲(chǔ)器Ⅱ2.工作原理:96高速緩沖存儲(chǔ)器Ⅱ2.工作原理:39高速緩沖存儲(chǔ)器Ⅲ3.地址映像和變換方式:全相聯(lián)地址映像和變換組相聯(lián)地址映像和變換直接映像和變換
97高速緩沖存儲(chǔ)器Ⅲ3.地址映像和變換方式:
高速緩沖存儲(chǔ)器Ⅳ4.Cache的替換算法:輪轉(zhuǎn)法隨機(jī)替換算法
98高速緩沖存儲(chǔ)器Ⅳ4.Cache的替換算法:4
存儲(chǔ)管理單元MMUⅠ1.在ARM系統(tǒng)中,存儲(chǔ)管理單元MMU主要完成工作:虛擬存儲(chǔ)空間到物理存儲(chǔ)空間的映射。在ARM中采用了頁式虛擬存儲(chǔ)管理。存儲(chǔ)器訪問權(quán)限的控制。
設(shè)置虛擬存儲(chǔ)空間的緩沖的特性。99存儲(chǔ)管理單元MMUⅠ1.在ARM系統(tǒng)中,存儲(chǔ)管
存儲(chǔ)管理單元MMUⅡ(1)2.存儲(chǔ)訪問過程使能MMU時(shí)存儲(chǔ)訪問過程:100存儲(chǔ)管理單元MMUⅡ(1)2.存儲(chǔ)訪問過程43存儲(chǔ)管理單元MMUⅡ(2)禁止MMU時(shí)存儲(chǔ)訪問過程:
①
先要確定芯片是否支持cache和writebuffer。如果芯片規(guī)定當(dāng)禁止MMU時(shí)禁止cache和writebuffer,則存儲(chǔ)訪問將不考慮C和B控制位。如果芯片規(guī)定當(dāng)禁止MMU時(shí)可以使能cache和writebuffer,則數(shù)據(jù)訪問時(shí),C=0,B=0;指令讀取時(shí),如果使用分開的TLB,那么C=1,如果使用統(tǒng)一的TLB,那么C=0。②
存儲(chǔ)訪問不進(jìn)行權(quán)限控制,MMU也不會(huì)產(chǎn)生存儲(chǔ)訪問中止信號。③
所有的物理地址和虛擬地址相等,即使用平板存儲(chǔ)模式。101存儲(chǔ)管理單元MMUⅡ(2)禁止MMU時(shí)存儲(chǔ)訪問存儲(chǔ)管理單元MMUⅢ(1)3.MMU中的地址變換過程:通過兩級頁表實(shí)現(xiàn)。a)一級頁表中包含有以段為單位的地址變換條目以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療器械生產(chǎn)自查制度
- 2026重慶墊江縣縣屬國有企業(yè)招聘27人(第一次)備考考試試題附答案解析
- 車間生產(chǎn)質(zhì)檢員管理制度
- 食品生產(chǎn)企營理制度
- 洗煤廠生產(chǎn)管理規(guī)章制度
- 2026年云南銀塔送變電設(shè)計(jì)公司項(xiàng)目制用工招聘(7人)參考考試試題附答案解析
- 安全生產(chǎn)履職雙報(bào)告制度
- 電石生產(chǎn)值班管理制度
- 生產(chǎn)保障班規(guī)章制度
- 流料機(jī)安全生產(chǎn)管理制度
- 2026上海碧海金沙投資發(fā)展有限公司社會(huì)招聘備考題庫及答案1套
- 二十屆四中全會(huì)測試題及參考答案
- 公司電腦使用規(guī)范制度
- 2026重慶水利電力職業(yè)技術(shù)學(xué)院高層次人才招聘筆試參考題庫及答案解析
- 特種作業(yè)培訓(xùn)課件模板
- 陶瓷工藝品彩繪師崗后測試考核試卷含答案
- 廣西壯族自治區(qū)工業(yè)和信息化廳直屬部分科研事業(yè)單位2025年度公開招聘工作人員備考題庫參考答案詳解
- 2026年及未來5年市場數(shù)據(jù)中國超細(xì)銅粉行業(yè)發(fā)展趨勢及投資前景預(yù)測報(bào)告
- (新教材)2026年人教版八年級下冊數(shù)學(xué) 21.2.2 平行四邊形的判定 21.2.3 三角形的中位線 課件
- 吞咽障礙患者誤吸的預(yù)防與管理方案
- 繼承農(nóng)村房屋協(xié)議書
評論
0/150
提交評論