版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第2章 ARM微處理器硬件結(jié)構(gòu)計(jì)算機(jī)體系結(jié)構(gòu)分類ARM版本及系列ARM處理器結(jié)構(gòu)存儲系統(tǒng)機(jī)制計(jì)算機(jī)體系結(jié)構(gòu)分類 兩種典型的結(jié)構(gòu) : 馮諾依曼結(jié)構(gòu) 哈佛體系結(jié)構(gòu) 馮諾依曼結(jié)構(gòu) 馮諾依曼機(jī):將數(shù)據(jù)和指令都存儲在存儲器中的計(jì)算機(jī)。計(jì)算系統(tǒng)由一個中央處理單元(CPU)和一個存儲器組成。存儲器擁有數(shù)據(jù)和指令,并且可以根據(jù)所給的地址對它進(jìn)行讀或?qū)憽?哈佛體系結(jié)構(gòu) 哈佛機(jī):為數(shù)據(jù)和程序提供了各自獨(dú)立的存儲器。程序計(jì)數(shù)器只指向程序存儲器而不指向數(shù)據(jù)存儲器,這樣做的后果是很難在哈佛機(jī)上編寫出一個自修改的程序 。獨(dú)立的程序存儲器和數(shù)據(jù)存儲器為數(shù)字信號處理提供了較高的性能。 ARM7使用馮諾依曼體系結(jié)構(gòu)。ARM 9
2、使用哈佛體系結(jié)構(gòu)。 ARM公司簡介ARM是Advanced RISC Machines的縮寫,它是一家微處理器行業(yè)的知名企業(yè),該企業(yè)設(shè)計(jì)了大量高性能、廉價、耗能低的RISC (精簡指令集)處理器。 1985年第一個ARM原型在英國劍橋誕生。 公司的特點(diǎn)是只設(shè)計(jì)芯片,而不生產(chǎn)。它提供ARM技術(shù)知識產(chǎn)權(quán)(IP)核,將技術(shù)授權(quán)給世界上許多著名的半導(dǎo)體、軟件和OEM廠商,并提供服務(wù)。ARM處理器的應(yīng)用到目前為止,基于ARM技術(shù)的微處理器應(yīng)用約占據(jù)了32位嵌入式微處理器75以上的市場份額。全球80%的GSM/3G手機(jī)、99%的CDMA手機(jī)以及絕大多數(shù)PDA產(chǎn)品均采用ARM體系的嵌入式處理器?!罢粕嫌?jì)算”
3、相關(guān)的所有領(lǐng)域皆為其所主宰。主要應(yīng)用:消費(fèi)類電子,無線、圖像應(yīng)用開放平臺、存儲、自動化、智能卡、SIM卡等。ARM處理器的三大特點(diǎn):耗電少功能強(qiáng)、16位/32位雙指令集、眾多合作伙伴。各ARM體系結(jié)構(gòu)版本 ARM體系結(jié)構(gòu)從最初開發(fā)到現(xiàn)在有了很大的改進(jìn),并仍在完善和發(fā)展。為了清楚地表達(dá)每個ARM應(yīng)用實(shí)例所使用的指令集,ARM公司定義了6種主要的ARM指令集體系結(jié)構(gòu)版本,以版本號V1V6表示。ARM版本: V1版架構(gòu) 該版架構(gòu)只在原型機(jī)ARM1出現(xiàn)過,只有26位的尋址空間,沒有用于商業(yè)產(chǎn)品。其基本性能有:基本的數(shù)據(jù)處理指令(無乘法);基于字節(jié)、半字和字的Load/Store指令;轉(zhuǎn)移指令,包括子程
4、序調(diào)用及鏈接指令;供操作系統(tǒng)使用的軟件中斷指令SWI;尋址空間:64MB(226)。 ARM版本: V2版架構(gòu) 該版架構(gòu)對V1版進(jìn)行了擴(kuò)展,例如ARM2和ARM3(V2a)架構(gòu),版本2a是版本2的變種,ARM3芯片采用了版本2a。同樣為26位尋址空間,現(xiàn)在已經(jīng)廢棄不再使用。V2版架構(gòu)與版本V1相比,增加了以下功能:乘法和乘加指令;支持協(xié)處理器操作指令;快速中斷模式;SWP/SWPB的最基本存儲器與寄存器交換指令;尋址空間:64MB。ARM版本 : V3版架構(gòu) V3版架構(gòu)( 目前已廢棄 )對ARM體系結(jié)構(gòu)作了較大的改動:尋址空間增至32位(4GB);當(dāng)前程序狀態(tài)信息從原來的R15寄存器移到當(dāng)前程
5、序狀態(tài)寄存器CPSR中(Current Program Status Register);增加了程序狀態(tài)保存寄存器SPSR(Saved Program Status Register);增加了中止(Abort)和未定義2種處理器模式;增加了MRS/MSR指令,以訪問新增的CPSR/SPSR寄存器;增加了從異常處理返回的指令功能。ARM版本 : V4版架構(gòu) 不在為了與以前的版本兼容而支持26位體系結(jié)構(gòu),并明確了哪些指令會引起未定義指令異常發(fā)生,V4版架構(gòu)在V3版上作了進(jìn)一步擴(kuò)充,V4版架構(gòu)是目前應(yīng)用最廣的ARM體系結(jié)構(gòu),ARM7、ARM8、ARM9和StrongARM都采用該架構(gòu)。指令集中增加了
6、以下功能:符號化和非符號化半字及符號化字節(jié)的存/取指令;增加了16位Thumb指令集;完善了軟件中斷SWI指令的功能;處理器系統(tǒng)模式引進(jìn)特權(quán)方式時使用用戶寄存器操作;把一些未使用的指令空間捕獲為未定義指令。ARM版本 : V5版架構(gòu) V5版架構(gòu)是在V4版基礎(chǔ)上增加了一些新的指令,ARM10和Xscale都采用該版架構(gòu)。 這些新增命令有:帶有鏈接和交換的轉(zhuǎn)移BLX指令;計(jì)數(shù)前導(dǎo)零CLZ指令;BRK中斷指令;增加了數(shù)字信號處理指令(V5TE版); 為協(xié)處理器增加更多可選擇的指令;改進(jìn)了ARM/Thumb狀態(tài)之間的切換效率;E增強(qiáng)型DSP指令集,包括全部算法操作和16位乘法操作;J支持新的JAVA,
7、提供字節(jié)代碼執(zhí)行的硬件和優(yōu)化軟件加速功能。ARM版本 : 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倍。ARM處理器系列ARM公司開發(fā)了很多系列的ARM處理器核,目前最新的系列已經(jīng)是ARM11。ARM7、ARM9、ARM9E和ARM10為4個通用處理器系列。每一個系列提供一套相對獨(dú)特的性能來滿足不同應(yīng)用領(lǐng)域的需求。ARM7系列ARM9系列ARM9E系列
8、ARM10E系列SecurCore系列Inter的XscaleInter的StrongARMARM7微處理器系列 低功耗的32位RISC處理器,馮諾依曼結(jié)構(gòu)。具有嵌入式ICERT邏輯,調(diào)試開發(fā)方便。3級流水線結(jié)構(gòu)。代碼密度高,兼容16位的Thumb指令集。對操作系統(tǒng)的支持廣泛,包括Windows CE、Linux、Palm OS等。指令系統(tǒng)與ARM9系列、ARM9E系列和ARM10E系列兼容,便于用戶的產(chǎn)品升級換代。主頻最高可達(dá)130MIPS。主要應(yīng)用領(lǐng)域:工業(yè)控制、Internet設(shè)備、網(wǎng)絡(luò)和調(diào)制解調(diào)器設(shè)備、移動電話等多種多媒體和嵌入式應(yīng)用。 ARM7TDMI微處理器4種類型: ARM7TD
9、MI、ARM7TDMI-S、ARM720T、ARM7EJ。ARM7TMDI是目前使用最廣泛的32位嵌入式RISC處理器,屬低端ARM處理器核。注:“ARM核”并不是芯片,ARM核與其它部件如RAM、ROM、片內(nèi)外設(shè)組合在一起才能構(gòu)成現(xiàn)實(shí)的芯片。ARM9微處理器系列 ARM9系列微處理器在高性能和低功耗特性方面提供最佳的性能。5級整數(shù)流水線,哈佛體系結(jié)構(gòu)。支持32位ARM指令集和16位Thumb指令集。全性能的MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統(tǒng)。支持?jǐn)?shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力。主要應(yīng)用:無線設(shè)備、儀器儀表、安全系
10、統(tǒng)、機(jī)頂盒、高端打印機(jī)、數(shù)碼照相機(jī)和數(shù)碼攝像機(jī)。3種類型:ARM920T、ARM922T和ARM940T。 ARM9E微處理器系列 單一處理器內(nèi)核提供微控制器、DSP、Java應(yīng)用系統(tǒng)的解決方案。支持DSP指令集。5級整數(shù)流水線,指令執(zhí)行效率更高。支持32位ARM指令集和16位Thumb指令集。支持VFP9浮點(diǎn)處理協(xié)處理器。全性能的MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統(tǒng)。MPU支持實(shí)時操作系統(tǒng)。支持?jǐn)?shù)據(jù)Cache和指令Cache,主頻最高可達(dá)300MIPS。主要應(yīng)用:下一代無線設(shè)備、數(shù)字消費(fèi)品、成像設(shè)備、工業(yè)控制、存儲設(shè)備和網(wǎng)絡(luò)設(shè)備等領(lǐng)域。3種類型
11、:ARM926EJ-S、ARM946E-S和ARM966E-S。 ARM10E微處理器系列 與同等的ARM9比較,在同樣的時鐘頻率下,性能提高了近50%,功耗極低。支持DSP指令集。6級整數(shù)流水線,指令執(zhí)行效率更高。支持32位ARM指令集和16位Thumb指令集。支持VFP10浮點(diǎn)處理協(xié)處理器。全性能的MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統(tǒng)。支持?jǐn)?shù)據(jù)Cache和指令Cache。主頻最高可達(dá)400MIPS。內(nèi)嵌并行讀/寫操作部件。主要應(yīng)用:下一代無線設(shè)備、數(shù)字消費(fèi)品、成像設(shè)備、工業(yè)控制、通信和信息系統(tǒng)等領(lǐng)域。3種類型:ARM1020E、ARM1022
12、E和ARM1026EJ-S。 SecurCore微處理器系列 專為安全需要而設(shè)計(jì),提供了完善的32位RISC技術(shù)的安全解決方案。靈活的保護(hù)單元,以確保操作系統(tǒng)和應(yīng)用數(shù)據(jù)的安全。采用軟內(nèi)核技術(shù),防止外部對其進(jìn)行掃描探測??杉捎脩糇约旱陌踩匦院推渌麉f(xié)處理器。主要應(yīng)用:對安全性要求較高的應(yīng)用產(chǎn)品及應(yīng)用系統(tǒng),如電子商務(wù)、電子政務(wù)、電子銀行業(yè)務(wù)、網(wǎng)絡(luò)和認(rèn)證系統(tǒng)等領(lǐng)域。4種類型:SecurCore SC100、SecurCore SC110、SecurCore SC200和SecurCore SC210。 Xscale處理器 基于ARMv5TE體系結(jié)構(gòu)的解決方案,是一款全性能、高性價比、低功耗的處理器
13、。支持16位的Thumb指令和DSP指令集。已使用在數(shù)字移動電話、個人數(shù)字助理和網(wǎng)絡(luò)產(chǎn)品等場合。Xscale處理器是Intel目前主要推廣的一款A(yù)RM微處理器。 ARM處理器結(jié)構(gòu)ARM和Thumb狀態(tài) RISC技術(shù)流水線技術(shù)超標(biāo)量技術(shù)ARM和Thumb狀態(tài) V4版以后有:(1)32位ARM指令集(2)16位Thumb指令集,功能是ARM指令集的功能子集。ARM7TDMI核以后,T變種的ARM微處理器有兩種工作狀態(tài):(1)ARM狀態(tài)(2)Thumb狀態(tài)。當(dāng)ARM微處理器執(zhí)行32位的ARM指令集時,工作在ARM狀態(tài);當(dāng)ARM微處理器執(zhí)行16位的Thumb指令集時,工作在Thumb狀態(tài)。 ARM與T
14、humb狀態(tài)轉(zhuǎn)換 在程序的執(zhí)行過程中,微處理器可以隨時在兩種工作狀態(tài)之間切換,并且該轉(zhuǎn)變不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。 進(jìn)入Thumb狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位(位0)為1時,執(zhí)行BX指令。進(jìn)入ARM狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位(位0)為0時,執(zhí)行BX指令。RISC技術(shù)ARM處理器采用加載/存儲(Load/Store)體系結(jié)構(gòu)是典型的RISC處理器,即只有Load/Store的存/取指令可以訪問存儲器,其余指令都不允許進(jìn)行存儲器操作。 RISC體系結(jié)構(gòu)基本特點(diǎn):(1)大多數(shù)指令只需要執(zhí)行簡單和基本的功能,其執(zhí)行過程在一個機(jī)器周期內(nèi)完成。(2)只保留加載/存儲指令。操作數(shù)由加載/
15、存儲指令從存儲器取出放寄存器內(nèi)操作。(3)芯片邏輯不采用或少采用微碼技術(shù),而采用硬布線邏輯。(4)減少指令數(shù)和尋址方式。 (5)指令格式固定,指令譯碼簡化。(6)優(yōu)化編譯。RISC技術(shù) ARM體系結(jié)構(gòu)還采用了一些特別的技術(shù):所有的指令都可根據(jù)前面的執(zhí)行結(jié)果決定是否被執(zhí)行,提高了指令的執(zhí)行效率??捎肔oad/Store指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率。可在一條數(shù)據(jù)處理指令中同時完成邏輯處理和移位處理。RISC和CISC各有優(yōu)勢,界限并不那么明顯。現(xiàn)代的CPU往往采用CISC的外圍,內(nèi)部加入了RISC的特性,如超常指令集CPU就是融合了RISC和CISC的優(yōu)勢,成為未來的CPU發(fā)展方向之一。
16、 流水線技術(shù)開發(fā)和設(shè)計(jì)嵌入式系統(tǒng)的過程中,CPU的性能是一個非常重要的考慮因素。流水線技術(shù)是在本質(zhì)上影響程序執(zhí)行速度的因素。由于計(jì)算機(jī)中一條指令的各個執(zhí)行階段相對獨(dú)立,因此,現(xiàn)代CPU大多設(shè)計(jì)成流水線型的機(jī)器,在這種類型機(jī)器中幾個指令可以并行執(zhí)行。采用流水線的重疊技術(shù)大大提高了CPU的運(yùn)行效率。當(dāng)流水線內(nèi)部的信息通暢流動時,CPU流水線能夠工作得最好。但實(shí)際應(yīng)用中,指令各執(zhí)行階段的操作時間長短不同,有一些指令序列可能會打斷流水線內(nèi)的信息流,所以有時流水線操作不十分通暢,會暫時降低CPU的執(zhí)行速度。 ARM的3級流水線 ARM7架構(gòu)采用了一個3段的流水線:(1)取指:將指令從內(nèi)存中取出來。(2)
17、譯碼:操作碼和操作數(shù)被譯碼以決定執(zhí)行什么功能。(3)執(zhí)行:執(zhí)行已譯碼的指令。 多周期ARM指令的3級流水線操作取指的存儲器訪問和執(zhí)行的數(shù)據(jù)路徑占用都是不可同時共享的資源,對于多周期指令來說,如果指令復(fù)雜以至于不能在單個時鐘周期內(nèi)完成執(zhí)行階段,就會產(chǎn)生流水線阻塞。 ARM的流水線設(shè)計(jì)問題(1)縮短程序執(zhí)行時間: Tprog:執(zhí)行一個程序所需時間;Ninst:執(zhí)行該程序的指令條數(shù);CPI:執(zhí)行每條指令的平均時鐘周期數(shù);Fclk:處理器的時鐘頻率。 措施:提高時鐘頻率fclk(導(dǎo)致流水線的級數(shù)增加 )。減少每條指令的平均時鐘周期數(shù)CPI(需要解決流水線的相關(guān)問題 )ARM的流水線設(shè)計(jì)問題(2)解決流
18、水線相關(guān):結(jié)構(gòu)相關(guān):某些指令在流水線中重疊執(zhí)行時,產(chǎn)生資源沖突 。 措施:1)采用分離式指令Cache和數(shù)據(jù)Cache。2)ALU中采用單獨(dú)加法器來完成地址計(jì)算。數(shù)據(jù)相關(guān):當(dāng)一條指令需要前面指令的執(zhí)行結(jié)果,而這些指令均在流水線中重疊執(zhí)行時,就可能引起流水線的數(shù)據(jù)相關(guān)。數(shù)據(jù)相關(guān)有“寫后讀”、“寫后寫”和“讀后寫”等。 措施:1)旁路技術(shù)。2)流水線互鎖技術(shù)??刂葡嚓P(guān):當(dāng)流水線遇到分支指令和其他會改變PC值的指令時,就會發(fā)生控制相關(guān)。 措施:1)引入延時分支。2)盡早計(jì)算出分支轉(zhuǎn)移成功時的PC值(即分支的目標(biāo)地址)。ARM的5級流水線 ARM9和StrongARM架構(gòu)都采用了5級流水線.增加了I-
19、Cache和D-Cache,把存儲器的取指與數(shù)據(jù)存取分開;增加了數(shù)據(jù)寫回的專門通路和寄存器; 把指令的執(zhí)行過程分割為5部分: 取指-指令譯碼-執(zhí)行-數(shù)據(jù)緩存-寫回 超標(biāo)量執(zhí)行通過重復(fù)設(shè)置多套指令執(zhí)行部件,同時處理并完成多條指令,實(shí)現(xiàn)并行操作,來達(dá)到提高處理速度的目的。所有ARM內(nèi)核,包括流行的ARM7、ARM9和ARM11等,都是單周期指令機(jī)。ARM公司下一代處理器將是每周期能處理多重指令的超標(biāo)量機(jī)。超標(biāo)量處理機(jī):一個時鐘周期內(nèi)同時執(zhí)行多條指令的處理機(jī)。 超標(biāo)量處理器中的多指令單元 超標(biāo)量與流水線技術(shù)是兼容的,為了能夠在一個時鐘周期內(nèi)同時發(fā)射多條指令,超標(biāo)量處理機(jī)必須有兩條或兩條以上能夠同時工
20、作的指令流水線。但與此同時,也帶來了多流水線的調(diào)度問題和操作部件的資源沖突問題。 超標(biāo)量處理器在執(zhí)行的過程中必須動態(tài)地檢查指令相關(guān)性。如果代碼中有分支指令,必須將分支被執(zhí)行和分支不被執(zhí)行這兩種情況分開考慮。計(jì)算執(zhí)行時間幾乎是不可能的。存儲系統(tǒng)機(jī)制 存儲器就是用來存儲信息的部件,存儲器是嵌入式系統(tǒng)硬件中的重要組成部分。設(shè)計(jì)嵌入式系統(tǒng)的存儲器時需要考慮:是否需要擴(kuò)展;整個嵌入式系統(tǒng)的存儲器是由片內(nèi)和片外兩部分組成。為了解決速度和內(nèi)存容量的問題,在系統(tǒng)中采用虛擬地址空間和高速緩存來提高內(nèi)存的平均性能。存儲管理單元(MMU)進(jìn)行地址轉(zhuǎn)換,它在一個小的物理內(nèi)存中提供相對較大的虛擬存儲空間。 存儲器部件的
21、分類按在系統(tǒng)中的地位分類: (1)主存儲器(Main Memory, 簡稱內(nèi)存或主存) (2)輔助存儲器(Auxiliary Memory,Secondary Memory,簡稱輔存或外存) 按存儲介質(zhì)分類:(1)磁存儲器(Magnetic Memory),(2)半導(dǎo)體集成電路存儲器(通常稱為半導(dǎo)體存儲器),(3)光存儲器(Optical Memory),(4)激光光盤存儲器(Laser Optical Disk)按信息存取方式分類:(1)隨機(jī)存取存儲器RAM(2)只讀存儲器ROM 存儲器的組織和結(jié)構(gòu)嵌入式存儲器一般采用存儲密度較大的存儲器芯片,典型的嵌入式存儲器系統(tǒng)由ROM、RAM、EPRO
22、M等組成。常用的存儲器隨機(jī)存儲器(RAM) (1)靜態(tài)隨機(jī)存儲器(SRAM)(2)動態(tài)隨機(jī)存儲器(DRAM) 只讀存儲器(ROM),它在嵌入式系統(tǒng)中非常有用,因?yàn)樵S多代碼或數(shù)據(jù)不隨時間改變。 (1)工廠編程的只讀存儲器(2)現(xiàn)場可編程只讀存儲器 存儲器的性能 大容量、高速度、低價格是評價存儲器性能的三個主要指標(biāo),也是存儲體系設(shè)計(jì)的主要目標(biāo)。 容量:SwWlm。其中W為存儲體的字長(單位為位或字節(jié)),l為單個存儲體的字?jǐn)?shù),m為并行工作的存儲體個數(shù)。速度:m個存儲體并行工作時,可達(dá)到的最大頻率寬度為BmWmTM 。其中TM是連續(xù)起動一個存儲器所必要的時間間隔,TMTA。Bm是連續(xù)提供數(shù)據(jù)的速率。價
23、格:具有SM位的存儲器,每位價格表示為c=CSm。其中C是總價格。存儲體系的組成單體單字存儲器單體多字存儲器 多體單字交叉存取存儲器多體多字交叉存取存儲器并行主存系統(tǒng):能并行讀出多個CPU字的單體多字和多體單字及多體多字的交叉存取系統(tǒng)。 存儲體系的形式存儲層次結(jié)構(gòu)的組成原則: 每位價格從上往下依次減少。 存儲容量從上往下依次增加。 存取速度從上往下依次減慢。 CPU的訪問頻度從上往下依次減少??偩€協(xié)議總線是CPU與存儲器和設(shè)備通信的機(jī)制??偩€的一個主要作用是提供到存儲器的接口。 大部分總線協(xié)議的基本構(gòu)件是四周期握手協(xié)議 ??偩€讀寫總線的基本操作是讀和寫。Clock 提供總線組件各部分同步。當(dāng)總
24、線讀時,R/W為1。當(dāng)總線寫時,R/W為0。Address是一個a位信號束,為訪問提供地址。Data是一個n位信號束,它可從CPU得到數(shù)據(jù)或向CPU傳送數(shù)據(jù)。Data ready當(dāng)數(shù)據(jù)束上值合法時發(fā)信號。 總線的時序圖總線行為以時序圖說明。時序圖表示總線上的信號如何隨時間變化。 直接內(nèi)存訪問(DMA)多數(shù)情況下,數(shù)據(jù)的傳輸需要CPU的介入。但是,有時候某些數(shù)據(jù)傳輸類型無須CPU加入。直接存儲器訪問(DMA)是允許讀寫不由CPU控制的總線操作。系統(tǒng)總線配置一個微處理器系統(tǒng)可能含有多條總線。高速設(shè)備可連到高速總線上,低速設(shè)備連到別的總線上。橋:使總線可以互連的邏輯電路。高速總線通常要更昂貴的電路和
25、連接器,可通過使用較慢、較便宜的總線來降低低速設(shè)備成本。橋允許總線獨(dú)立操作,在I/O操作中可提供某些并行性。橋不僅是高速總線的受控器,而且是低速總線的主控器。橋從高速總線上獲取指令而將它們傳到低速總線,它還將結(jié)果從低速總線傳到高速總線上。橋還可以作為兩橋之間的協(xié)議翻譯器。 ARM存儲數(shù)據(jù)類型六種數(shù)據(jù)類型:(1) 8位有符號和無符號字節(jié)。(2)16位有符號和無符號半字。(3)32位有符號和無符號字。ARM指令都是32位的字,必須以字(4字節(jié))為單位邊界對齊。Thumb指令是16位半字,必須以2字節(jié)位單位邊界對齊。在內(nèi)部,所有ARM操作都是面向32位的操作數(shù);只有數(shù)據(jù)傳送指令支持較短的字節(jié)和半字的
26、數(shù)據(jù)類型。當(dāng)從存儲器調(diào)入一個字節(jié)和半字時,根據(jù)指令對數(shù)據(jù)的操作類型,將其無符號0或有符號“符號位”擴(kuò)展為32位,進(jìn)而作為32位數(shù)據(jù)在內(nèi)部進(jìn)行處理。ARM存儲格式數(shù)據(jù)存儲格式有兩種: (1)大端模式:較高的有效字節(jié)存放在較低的存儲器地址,較低的有效字節(jié)存放在較高的存儲器地址。(2)小端模式:較高的有效字節(jié)存放在較高的存儲器地址,較低的有效字節(jié)存放在較低的存儲器地址。 ARM存儲周期 4種基本類型:空閑周期。非順序周期。順序周期。協(xié)處理器寄存器傳送周期。 ARM總線接口信號分類 ARM7TDMI的總線接口信號分成4類:時鐘和時鐘控制信號:MCLK、ECLK、nRESET、nWAIT。地址類信號:A
27、31:0、nRW、MAS1:0、nOPC、nTRANS、LOCK、TBIT。存儲器請求信號:nMREQ、SEQ。數(shù)據(jù)時序信號:D31:0、DIN31:0、DOUT31:0、ABORT、BL3:0。ARM總線接口可以實(shí)現(xiàn)的總線周期總線周期使用nMREQ和SEQ信號編碼。4種不同類型的總線周期。N周期:非順序周期,最簡單的總線周期;存儲控制器必須啟動存儲器訪問來滿足這個請求;該方式存儲系統(tǒng)常需要長的訪問時間。S周期:順序周期,實(shí)現(xiàn)總線上的突發(fā)傳送;第一個周期,地址可與前一個內(nèi)部周期相同;與非順序訪問相比響應(yīng)更快,訪問時間更短。I周期:內(nèi)部周期,不要求存儲器訪問;可廣播下一次訪問的地址以便開始譯碼,
28、但存儲控制器不允許進(jìn)行存儲器訪問。C周期:協(xié)處理器寄存器傳遞周期,通過數(shù)據(jù)總線向或從協(xié)處理器傳送數(shù)據(jù);不需存儲周期,存儲控制器不啟動事務(wù);傳送期間,存儲系統(tǒng)不允許驅(qū)動數(shù)據(jù)總線。 高速緩存(Cache)的分類 (1)統(tǒng)一Cache和獨(dú)立的數(shù)據(jù)/程序Cache統(tǒng)一Cache:一個存儲系統(tǒng)中指令預(yù)取時使用的Cache和數(shù)據(jù)讀寫時使用的Cache是同一個Cache。獨(dú)立的Cache:一個存儲系統(tǒng)中指令預(yù)取時使用的Cache和數(shù)據(jù)讀寫時使用的Cache是各自獨(dú)立的。用于指令預(yù)取的Cache稱為指令Cache。用于數(shù)據(jù)讀寫的Cache稱為數(shù)據(jù)Cache。使用獨(dú)立的數(shù)據(jù)Cache和指令Cache,可以在同一
29、個時鐘周期中讀取指令和數(shù)據(jù),而不需要雙端口的Cache。但此時要注意保證指令和數(shù)據(jù)的一致性。 高速緩存(Cache)的分類(2)寫通Cache和寫回Cache當(dāng)CPU更新了Cache的內(nèi)容時,要將結(jié)果寫回到主存中。寫通法: write-throught,指CPU在執(zhí)行寫操作時,必須把數(shù)據(jù)同時寫入Cache和主存。寫回法: write-back,指CPU在執(zhí)行寫操作時,被寫的數(shù)據(jù)只寫入Cache,不寫入主存。僅當(dāng)需要替換時,才把已經(jīng)修改的Cache塊寫回到主存中。高速緩存(Cache)的分類(3)讀操作分配Cache和寫操作分配Cache當(dāng)進(jìn)行數(shù)據(jù)寫操作時,可能Cache未命中,這時根據(jù)Cach
30、e執(zhí)行的操作不同。讀操作分配Cache:當(dāng)進(jìn)行數(shù)據(jù)寫操作時,如果Cache未命中,只是簡單地將數(shù)據(jù)寫入主存中。主要在數(shù)據(jù)讀取時,才進(jìn)行Cache內(nèi)容預(yù)取。寫操作分配Cache:當(dāng)進(jìn)行數(shù)據(jù)寫操作時,如果Cache未命中,Cache系統(tǒng)將會進(jìn)行Cache內(nèi)容預(yù)取,從主存中將相應(yīng)的塊讀取到Cache中相應(yīng)的位置,并執(zhí)行寫操作,把數(shù)據(jù)寫入到Cache中。對于寫通類型的Cache,數(shù)據(jù)將會同時被寫入到主存中,對于寫回類型的Cache數(shù)據(jù)將在合適的時候?qū)懟氐街鞔嬷小?Cache的工作原理 在Cache存儲系統(tǒng)當(dāng)中,把主存儲器和Cache都劃分成相同大小的塊。主存地址可以由塊號M和塊內(nèi)地址N兩部分組成。同樣
31、,Cache的地址也由塊號m和塊內(nèi)地址n組成。 Cache地址映像和變換方式(1)直接映像快,造價低。但由于映射策略簡單,所以有一定的局限性。如果訪問頻繁的塊正好被映射到同一個塊,就不能充分利用高速緩存的好處。(2)組相聯(lián)映像組相聯(lián)映像由組的個數(shù)來標(biāo)識,每個組被實(shí)現(xiàn)為一個直接映射高速緩存。高速緩存請求同時廣播到所有的組。如果某組中有這個單元,該高速緩存便報告命中。比直接映射慢,命中率較高。(3)全相聯(lián)映像主存中任意一個塊都可以映射到Cache中的任意一個塊的位置上。不同的ARM有不同大小的高速緩存和組織結(jié)構(gòu)。Cache的替換算法 (1)輪轉(zhuǎn)法維護(hù)一個邏輯計(jì)數(shù)器,利用該計(jì)數(shù)器依次選擇將要被替換出
32、去的Cache塊。這種算法容易預(yù)測最壞情況下Cache的性能。缺點(diǎn):在程序發(fā)生很小的變化時,可能造成Cache平均性能急劇的變化。(2)隨機(jī)替換算法通過一個偽隨機(jī)數(shù)發(fā)生器產(chǎn)生一個偽隨機(jī)數(shù),用新塊將編號為該偽隨機(jī)數(shù)的Cache塊替換掉。算法簡單,易于實(shí)現(xiàn)。沒有考慮程序的局部性特點(diǎn),也沒有利用以前塊地址分布情況,因而效果較差。不易預(yù)測最壞情況下Cache的性能。 存儲管理單元MMU 存儲管理單元在CPU和物理內(nèi)存之間進(jìn)行地址轉(zhuǎn)換。由于是將地址從邏輯空間映射到物理空間,因此這個轉(zhuǎn)換過程一般稱為內(nèi)存映射。在ARM系統(tǒng)中,存儲管理單元MMU主要工作:(1)虛擬存儲空間到物理存儲空間的映射。在ARM中采用
33、了頁式虛擬存儲管理。(2)存儲器訪問權(quán)限的控制。(3)設(shè)置虛擬存儲空間的緩沖的特性。 MMU的存儲訪問過程 使能MMU時存儲訪問過程。C控制位:Cachable,B控制位 :BufferableMMU的存儲訪問過程禁止MMU時存儲訪問過程 。先要確定芯片是否支持cache和write buffer。如果芯片規(guī)定當(dāng)禁止MMU時禁止cache和write buffer,則存儲訪問將不考慮C和B控制位。如果芯片規(guī)定當(dāng)禁止MMU時可以使能cache和write buffer,則數(shù)據(jù)訪問時,C=0,B=0;指令讀取時,如果使用分開的TLB,那么C=1,如果使用統(tǒng)一的TLB,那么C=0。存儲訪問不進(jìn)行權(quán)限控制,MMU也不會產(chǎn)生存儲訪問中止信號。所有的物理地址和虛擬地址相等,即使用平板存儲模式。MMU中的地址變換過程 通過兩級頁表實(shí)現(xià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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Sch-33303-生命科學(xué)試劑-MCE
- 2023年新疆鐵道職業(yè)技術(shù)學(xué)院引進(jìn)筆試真題
- 2023年泉州惠安縣招聘國有企業(yè)工作人員筆試真題
- 白酒工廠的課程設(shè)計(jì)
- 白酒廠節(jié)能改造方案
- 2024年影像掃描儀項(xiàng)目規(guī)劃申請報告
- 白茶沖泡課程設(shè)計(jì)
- 2024年企業(yè)文化展示系統(tǒng)項(xiàng)目立項(xiàng)申請報告
- 病案復(fù)印服務(wù)外包方案
- 2024年吡唑啉酮項(xiàng)目申請報告
- 口腔科診療技術(shù)操作規(guī)范2023版
- 2024年中糧集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 駕校科目二應(yīng)急預(yù)案流程
- 人教版2023-2024學(xué)年五年級數(shù)學(xué)上冊??家卓纪粐谌龁卧盒?shù)除法簡便計(jì)算“拓展型”專項(xiàng)練習(xí)(解析版)
- 婦幼保健院新生兒口腔護(hù)理操作考核評分標(biāo)準(zhǔn)
- 《狼王夢》好書推薦課件
- 購物中心行業(yè)營銷策略方案
- 拉森鋼板樁設(shè)計(jì)計(jì)算書
- 三年級上冊第二單元日記 25篇
- 辦公耗材采購 投標(biāo)方案(技術(shù)方案)
- 29、顧客意見簿(表029)
評論
0/150
提交評論