




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第第2章章 ARMARM微處理器硬件結(jié)構(gòu)微處理器硬件結(jié)構(gòu) 計算機體系結(jié)構(gòu)分類計算機體系結(jié)構(gòu)分類 存儲系統(tǒng)機制存儲系統(tǒng)機制 ARMARM版本及系列版本及系列 ARMARM處理器結(jié)構(gòu)處理器結(jié)構(gòu)計算機體系結(jié)構(gòu)分類計算機體系結(jié)構(gòu)分類 兩種典型的結(jié)構(gòu)兩種典型的結(jié)構(gòu) : 馮馮諾依曼結(jié)構(gòu)諾依曼結(jié)構(gòu) 哈佛體系結(jié)構(gòu)哈佛體系結(jié)構(gòu) 馮馮諾依曼結(jié)構(gòu)諾依曼結(jié)構(gòu) 馮馮諾依曼機:諾依曼機:將數(shù)據(jù)和指令都存儲在存儲器將數(shù)據(jù)和指令都存儲在存儲器中的計算機。中的計算機。 計算系統(tǒng)由一個中央處理單元(計算系統(tǒng)由一個中央處理單元(CPU)和一個)和一個存儲器組成。存儲器擁有數(shù)據(jù)和指令,并且可存儲器組成。存儲器擁有數(shù)據(jù)和指令,并且可以
2、根據(jù)所給的地址對它進行讀或?qū)憽R愿鶕?jù)所給的地址對它進行讀或?qū)憽?哈佛體系結(jié)構(gòu)哈佛體系結(jié)構(gòu) 哈佛機:哈佛機:為數(shù)據(jù)和程序提供了各自獨立的存為數(shù)據(jù)和程序提供了各自獨立的存儲器。儲器。 程序計數(shù)器只指向程序存儲器而不指向數(shù)據(jù)程序計數(shù)器只指向程序存儲器而不指向數(shù)據(jù)存儲器,這樣做的后果是存儲器,這樣做的后果是很難在哈佛機上編很難在哈佛機上編寫出一個自修改的程序?qū)懗鲆粋€自修改的程序 。計算機體系結(jié)構(gòu)分類計算機體系結(jié)構(gòu)分類 ARM 7使用馮使用馮諾依曼體系結(jié)構(gòu)諾依曼體系結(jié)構(gòu) ARM 9(及以后及以后)使用哈佛體系結(jié)使用哈佛體系結(jié)構(gòu)構(gòu) ARM公司簡介公司簡介 ARM ARM公司特點:公司特點: 只設(shè)計芯片,而
3、不生產(chǎn)。只設(shè)計芯片,而不生產(chǎn)。 它提供它提供ARM技術(shù)知識產(chǎn)權(quán)(技術(shù)知識產(chǎn)權(quán)(IP: Intellectual Property)核,)核,將技術(shù)授權(quán)給將技術(shù)授權(quán)給世界上許多著名的半導(dǎo)體、軟件和世界上許多著名的半導(dǎo)體、軟件和OEM廠廠商,并提供服務(wù)。商,并提供服務(wù)。ARMARM處理器的應(yīng)用處理器的應(yīng)用 主要應(yīng)用:消費類電子,主要應(yīng)用:消費類電子,無線、圖像應(yīng)用開放無線、圖像應(yīng)用開放平臺、存儲、自動化、智能卡、平臺、存儲、自動化、智能卡、SIMSIM卡等??ǖ?。 ARMARM處理器的三大特點:處理器的三大特點:耗電少功能強、耗電少功能強、1616位位/32/32位雙指令集、眾多合作伙伴。位雙指令
4、集、眾多合作伙伴。將技術(shù)授權(quán)給其它芯片廠商形成各具特色的ARM芯片. . .各各ARM體系結(jié)構(gòu)版本體系結(jié)構(gòu)版本 為了清楚地表達每個為了清楚地表達每個ARM應(yīng)用實例所使用的指應(yīng)用實例所使用的指令集,令集,ARM公司定義了公司定義了6種主要的種主要的ARM指令集指令集體系結(jié)構(gòu)版本,以版本號體系結(jié)構(gòu)版本,以版本號V1V6表示。表示。ARM版本版本: V1版架構(gòu)版架構(gòu)基本性能基本性能: 基本的數(shù)據(jù)處理指令(無乘法);基本的數(shù)據(jù)處理指令(無乘法); 基于字節(jié)、半字和字的基于字節(jié)、半字和字的Load/Store指令指令; 轉(zhuǎn)移指令,包括子程序調(diào)用及鏈接指令;轉(zhuǎn)移指令,包括子程序調(diào)用及鏈接指令; 供操作系統(tǒng)
5、使用的軟件中斷指令供操作系統(tǒng)使用的軟件中斷指令SWI; 尋址空間:尋址空間:64MB(226)。)。 ARM版本版本: V2版架構(gòu)版架構(gòu)V2版架構(gòu)與版本版架構(gòu)與版本V1相比,相比,增加了以下功增加了以下功能:能: 乘法和乘加指令;乘法和乘加指令; 支持協(xié)處理器操作指令;支持協(xié)處理器操作指令; 快速中斷模式;快速中斷模式; SWP/SWPB的最基本存儲器與寄存器的最基本存儲器與寄存器交換指令交換指令; 尋址空間:尋址空間:64MB。ARM版本版本 : V3版架構(gòu)版架構(gòu)V3版架構(gòu)(版架構(gòu)( 目前已廢棄目前已廢棄 ): 尋址空間增至尋址空間增至32位(位(4GB) 當(dāng)前程序狀態(tài)信息從原來的當(dāng)前程序狀
6、態(tài)信息從原來的R15寄存器移到當(dāng)前程序狀態(tài)寄存器移到當(dāng)前程序狀態(tài)寄存器寄存器CPSR中(中(Current Program Status Register); 增加了程序狀態(tài)保存寄存器增加了程序狀態(tài)保存寄存器SPSR(Saved Program Status Register);); 增加了兩種異常模式,使操作系統(tǒng)代碼可方便地使用數(shù)增加了兩種異常模式,使操作系統(tǒng)代碼可方便地使用數(shù)據(jù)訪問中止異常、指令預(yù)取中止異常和未定義指令異據(jù)訪問中止異常、指令預(yù)取中止異常和未定義指令異常。;常。; 增加了增加了MRS/MSR指令,以訪問新增的指令,以訪問新增的CPSR/SPSR寄存寄存器;器; 增加了從異常處
7、理返回的指令功能。增加了從異常處理返回的指令功能。ARM版本版本 : V4版架構(gòu)版架構(gòu) 指令集中增加了以下功能:指令集中增加了以下功能: 符號化和非符號化半字及符號化字節(jié)的存符號化和非符號化半字及符號化字節(jié)的存/取指取指令;令; 增加了增加了T變種,處理器可工作在變種,處理器可工作在Thumb狀態(tài),狀態(tài),增加了增加了16位位Thumb指令集;指令集; 完善了軟件中斷完善了軟件中斷SWI指令的功能;指令的功能; 處理器系統(tǒng)模式引進特權(quán)方式時使用用戶寄存處理器系統(tǒng)模式引進特權(quán)方式時使用用戶寄存器操作器操作; 把一些未使用的指令空間捕獲為未定義指令。把一些未使用的指令空間捕獲為未定義指令。ARM版本
8、版本 : V5版架構(gòu)版架構(gòu) 新增命令:新增命令: 帶有鏈接和交換的轉(zhuǎn)移帶有鏈接和交換的轉(zhuǎn)移BLX指令;指令; 計數(shù)前導(dǎo)零計數(shù)前導(dǎo)零CLZ指令;指令; BRK中斷指令;中斷指令; 增加了數(shù)字信號處理指令(增加了數(shù)字信號處理指令(V5TE版);版); 為為協(xié)處理器增加更多可選擇的指令;協(xié)處理器增加更多可選擇的指令; 改進了改進了ARM/Thumb狀態(tài)之間的切換效率;狀態(tài)之間的切換效率; E-增強型增強型DSP指令集,包括全部算法操作和指令集,包括全部算法操作和16位乘法操作;位乘法操作; J-支持新的支持新的JAVA,提供字節(jié)代碼執(zhí)行的硬,提供字節(jié)代碼執(zhí)行的硬件和優(yōu)化軟件加速功能。件和優(yōu)化軟件加速
9、功能。ARM版本版本 : V6版架構(gòu)版架構(gòu) 增加功能:增加功能: THUMBTM:35%代碼壓縮;代碼壓縮; DSP擴充:高性能定點擴充:高性能定點DSP功能;功能; JazelleTM:Java性能優(yōu)化,可提高性能優(yōu)化,可提高8倍;倍; Media擴充:音擴充:音/視頻性能優(yōu)化,可提視頻性能優(yōu)化,可提高高4倍。倍。ARM體系結(jié)構(gòu)的命名規(guī)則體系結(jié)構(gòu)的命名規(guī)則 表示表示ARM/Thumb體系結(jié)構(gòu)版本的命名格體系結(jié)構(gòu)版本的命名格式,由下面幾部分組成式,由下面幾部分組成: 基本字符串基本字符串ARMV。 ARM指令集版本號,目前是指令集版本號,目前是16的數(shù)字字的數(shù)字字符。符。 表示所含表示所含變種
10、的字符變種的字符。由于在。由于在ARM體系體系結(jié)構(gòu)版本結(jié)構(gòu)版本4以后,以后,M變種成為系統(tǒng)的標(biāo)準(zhǔn)變種成為系統(tǒng)的標(biāo)準(zhǔn)部件部件,所以字符,所以字符M通常通常不單獨列出不單獨列出。 使用字符使用字符x表示排除某種功能表示排除某種功能。ARM處理器系列處理器系列 ARM公司開發(fā)了很多系列的公司開發(fā)了很多系列的ARM處理器處理器核,目前最新的系列已經(jīng)是核,目前最新的系列已經(jīng)是ARM11。 ARM7、ARM9、ARM9E和和ARM10為為4個個通用處理器系列。通用處理器系列。 每一個系列提供一套相對獨特的性能來滿每一個系列提供一套相對獨特的性能來滿足不同應(yīng)用領(lǐng)域的需求。足不同應(yīng)用領(lǐng)域的需求。 ARM7系列
11、系列 ARM9系列系列 ARM9E系列系列 ARM10E系列系列 SecurCore系列系列 Intel的的Xscale Intel的的StrongARMARM7微處理器系列微處理器系列 具有嵌入式具有嵌入式ICE-RT邏輯,調(diào)試開發(fā)方便。邏輯,調(diào)試開發(fā)方便。 低功耗低功耗的的32位位RISC處理器,處理器,極低的功耗,適合對功耗極低的功耗,適合對功耗要求較高的應(yīng)用,如便攜式產(chǎn)品。要求較高的應(yīng)用,如便攜式產(chǎn)品。馮馮諾依曼結(jié)構(gòu)諾依曼結(jié)構(gòu)。 能夠提供能夠提供0.9MIPS/MHz的的3級流水線級流水線結(jié)構(gòu)。結(jié)構(gòu)。 代碼密度高并兼容代碼密度高并兼容16位的位的Thumb指令集指令集。 對對操作系統(tǒng)操
12、作系統(tǒng)的的支持支持廣泛,包括廣泛,包括Windows CE、Linux、Palm OS等。等。 指令系統(tǒng)與指令系統(tǒng)與ARM9系列、系列、ARM9E系列和系列和ARM10E系列系列兼容兼容,便于用戶的產(chǎn)品升級換代。,便于用戶的產(chǎn)品升級換代。 主頻最高可達主頻最高可達130MIPS 主要應(yīng)用領(lǐng)域:主要應(yīng)用領(lǐng)域:工業(yè)控制、工業(yè)控制、Internet設(shè)備、網(wǎng)絡(luò)和調(diào)制設(shè)備、網(wǎng)絡(luò)和調(diào)制解調(diào)器設(shè)備、移動電話等多種多媒體和嵌入式應(yīng)用。解調(diào)器設(shè)備、移動電話等多種多媒體和嵌入式應(yīng)用。 ARM7微處理器內(nèi)核微處理器內(nèi)核 4種主流的種主流的ARM7內(nèi)核類型:內(nèi)核類型: ARM7TDMI、ARM7TDMI-S、ARM7
13、20T、ARM7EJ-S。 ARM7TMDI是目前使用最廣泛的是目前使用最廣泛的32位嵌入式位嵌入式RISC處理器,屬低端處理器,屬低端ARM處理器核。主要應(yīng)用于處理器核。主要應(yīng)用于個人音頻設(shè)備(個人音頻設(shè)備(MP3,WMA,AAC播放器)播放器) ,噴墨打印機,數(shù)字照相機,噴墨打印機,數(shù)字照相機,PDA 注:注:“ARM核核”并不是芯片,并不是芯片,ARM核與其它部件核與其它部件如如RAM、ROM、片內(nèi)外設(shè)組合在一起才能構(gòu)成現(xiàn)、片內(nèi)外設(shè)組合在一起才能構(gòu)成現(xiàn)實的芯片。實的芯片。ARM7微處理器內(nèi)核微處理器內(nèi)核支持高密度支持高密度1616位的壓縮位的壓縮ThumbThumb指令集;指令集;支持片
14、上調(diào)試支持片上調(diào)試Debug ;支持支持6464位乘法位乘法(Multiplier) ;嵌入式嵌入式Embeded-ICE,Embeded-ICE,支持片上斷點和調(diào)試支持片上斷點和調(diào)試點點;ARM7TDMI ARM7TDMI 的可綜合(的可綜合(synthesizablesynthesizable)版本(軟核),對應(yīng)用工程師來說其編版本(軟核),對應(yīng)用工程師來說其編程模型與程模型與ARM7TDMI ARM7TDMI 一致;一致;ARM7 ARM7 T D M I - ST D M I - S E:增強型:增強型DSP指令指令 J:Java加速器加速器Jazelle,支持,支持Java典型的典型
15、的ARM7嵌入式微處理器嵌入式微處理器 LPC2000系列:系列:ARM7TDMI-S, Philips(荷蘭飛利浦(荷蘭飛利浦公司)公司) S3C44B0X:ARM7TDMI, Samsung(韓國三星公司)(韓國三星公司) AT91 系列:系列:ARM7TDMI (有的基于(有的基于ARM920T) ,Atmel(美國愛特梅爾公司),其中(美國愛特梅爾公司),其中AT91RXXXX和和AT91MXXXX(內(nèi)部帶有(內(nèi)部帶有RAM,但沒有程序存儲類型,但沒有程序存儲類型)、)、AT91RMXXXX(內(nèi)部帶有(內(nèi)部帶有RAM,有,有ROM類型)類型),AT91FRXXXX(內(nèi)部帶有(內(nèi)部帶有R
16、AM,有,有Flash程序存儲器程序存儲器類型)。典型產(chǎn)品類型)。典型產(chǎn)品AT91FR40162,應(yīng)用廣泛。,應(yīng)用廣泛。 STR710F系列:系列:ARM7TDMI,意法半導(dǎo)體有限公司(,意法半導(dǎo)體有限公司(STMicroelectronics) EP7312 :ARM720T,Cirrus Logic 公司公司ARM7硬件結(jié)構(gòu)硬件結(jié)構(gòu) 1ARM7處理器處理器 32位的位的RISC結(jié)構(gòu)處理器結(jié)構(gòu)處理器 Little/Big Endian操作模式操作模式 高性能高性能RISC:17 MIPS sustained 25 MHz(25 MIPS peak) 3V 較低的電壓損耗:較低的電壓損耗:0.
17、6mA/MHz 3V fabricated in .8 m CMOS全靜態(tài)操作。全靜態(tài)操作。 適用于對電源比較敏感的應(yīng)用。適用于對電源比較敏感的應(yīng)用。 快速中斷響應(yīng)??焖僦袛囗憫?yīng)。 適用于實時系統(tǒng)。適用于實時系統(tǒng)。 支持虛擬內(nèi)存。支持虛擬內(nèi)存。 支持高級語言。支持高級語言。 簡單但功能強大的指令系統(tǒng)。簡單但功能強大的指令系統(tǒng)。ARM7TDMI內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)組成:組成:處理器處理器核、用于邊界核、用于邊界掃描的掃描的TAP控控制器、在線仿制器、在線仿真器真器ICE。雙向數(shù)據(jù)總線雙向數(shù)據(jù)總線D31:0被分被分割成單向輸入割成單向輸入和輸出總線,和輸出總線,以便于與外部以便于與外部存儲器兼容。存儲
18、器兼容。 ARM7TDMIARM7TDMI的模塊和內(nèi)核框圖的模塊和內(nèi)核框圖ARM7TDMI模塊地址寄存器寄存器組31*32位寄存器(6個狀態(tài)寄存器)地址增量器乘法器桶形移位器32位ALU寫數(shù)據(jù)寄存器指令流水線讀數(shù)據(jù)寄存器Thumb指令譯碼器指令譯碼和邏輯控制ADDR31:0CLKCLENCFGBIGENDnIRQnFIQnRESETABORTLOCKWRITESIZE1:0PROT1:0TRANS1:0DBG輸出DBG輸入CP控制CP握手WDATA31:0RDATA31:0掃描調(diào)試控制A總線B總線ALU總線增量器總線PC總線ARM7 TDMI功能示意圖ARM9微處理器系列微處理器系列 5級整數(shù)
19、流水線級整數(shù)流水線,指令執(zhí)行效率更高。,指令執(zhí)行效率更高。 提供提供1.1MIPS/MHz的的哈佛結(jié)構(gòu)哈佛結(jié)構(gòu)。 支持支持32位位ARM指令集和指令集和16位位Thumb指令集。指令集。 支持支持32位的高速位的高速AMBA總線接口總線接口。 全性能的全性能的MMU,支持,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統(tǒng)。等多種主流嵌入式操作系統(tǒng)。 MPU(Micro Process Unit)支持實時操作系統(tǒng)。支持實時操作系統(tǒng)。 支持?jǐn)?shù)據(jù)支持?jǐn)?shù)據(jù)Cache和指令和指令Cache,具有更高的指令和數(shù)據(jù),具有更高的指令和數(shù)據(jù)處理能力。處理能力。 主要應(yīng)用:主要應(yīng)用:無
20、線設(shè)備、儀器儀表、安全系統(tǒng)、機頂盒、無線設(shè)備、儀器儀表、安全系統(tǒng)、機頂盒、高端打印機、數(shù)碼照相機和數(shù)碼攝像機。高端打印機、數(shù)碼照相機和數(shù)碼攝像機。 3種類型:種類型:ARM920T、ARM922T和和ARM940T。 典型產(chǎn)品典型產(chǎn)品:S3C2410X/S3C2440X基于基于ARM920T ARM9處理器ARM9處理器的模塊結(jié)構(gòu) ARM920TDMI內(nèi)核內(nèi)核 調(diào)試與測試模塊調(diào)試與測試模塊 復(fù)位控制器模塊復(fù)位控制器模塊 存儲模塊存儲模塊 中斷控制器中斷控制器 電源管理控制器電源管理控制器 時鐘模塊時鐘模塊 調(diào)試單元調(diào)試單元 以太網(wǎng)以太網(wǎng)MAC 串行外設(shè)接口串行外設(shè)接口 可編程波特率產(chǎn)生器可編程
21、波特率產(chǎn)生器 定時定時/計數(shù)器計數(shù)器ARM9E微處理器系列微處理器系列 支持支持DSP指令集指令集,適用于需要高速數(shù)字信號處理的場合。,適用于需要高速數(shù)字信號處理的場合。5級整數(shù)流水線級整數(shù)流水線,指令執(zhí)行效率更高。,指令執(zhí)行效率更高。支持支持32位位ARM指令集和指令集和16位位Thumb指令集。指令集。支持支持32位的高速位的高速AMBA總線接口??偩€接口。支持支持VFP9浮點處理協(xié)處理器。浮點處理協(xié)處理器。全性能的全性能的MMU,支持,支持Windows CE、Linux、Palm OS等多等多種主流嵌入式操作系統(tǒng)。種主流嵌入式操作系統(tǒng)。MPU支持實時操作系統(tǒng)。支持實時操作系統(tǒng)。支持?jǐn)?shù)據(jù)
22、支持?jǐn)?shù)據(jù)Cache和指令和指令Cache,具有更高的指令和數(shù)據(jù)處理,具有更高的指令和數(shù)據(jù)處理能力。能力。主頻最高可達主頻最高可達300MIPS。主要應(yīng)用:主要應(yīng)用:下一代無線設(shè)備、數(shù)字消費品、成像設(shè)備、工下一代無線設(shè)備、數(shù)字消費品、成像設(shè)備、工業(yè)控制、存儲設(shè)備和網(wǎng)絡(luò)設(shè)備等領(lǐng)域。業(yè)控制、存儲設(shè)備和網(wǎng)絡(luò)設(shè)備等領(lǐng)域。3種類型:種類型:ARM926EJ-S、ARM946E-S和和ARM966E-S。 ARM10E微處理器系列微處理器系列 支持支持DSP指令集,適用于需要高速數(shù)字信號處理的場指令集,適用于需要高速數(shù)字信號處理的場合。合。 6級整數(shù)流水線級整數(shù)流水線,指令執(zhí)行效率更高。,指令執(zhí)行效率更高。
23、 支持支持32位位ARM指令集和指令集和16位位Thumb指令集。指令集。 支持支持32位的高速位的高速AMBA總線接口。總線接口。 支持支持VFP10浮點處理協(xié)處理器。浮點處理協(xié)處理器。 全性能的全性能的MMU,支持,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統(tǒng)。等多種主流嵌入式操作系統(tǒng)。 支持?jǐn)?shù)據(jù)支持?jǐn)?shù)據(jù)Cache和指令和指令Cache,具有更高的指令和數(shù),具有更高的指令和數(shù)據(jù)處理能力。據(jù)處理能力。 主頻最高可達主頻最高可達400MIPS。 內(nèi)嵌并行讀內(nèi)嵌并行讀/寫操作部件寫操作部件。 主要應(yīng)用:主要應(yīng)用:下一代無線設(shè)備、數(shù)字消費品、成像設(shè)下一代無線設(shè)備、數(shù)
24、字消費品、成像設(shè)備、工業(yè)控制、通信和信息系統(tǒng)等領(lǐng)域。備、工業(yè)控制、通信和信息系統(tǒng)等領(lǐng)域。 3種類型:種類型:ARM1020E、ARM1022E和和ARM1026EJ-S。 SecurCore微處理器系列微處理器系列 靈活的保護單元,以確保操作系統(tǒng)和應(yīng)用數(shù)據(jù)靈活的保護單元,以確保操作系統(tǒng)和應(yīng)用數(shù)據(jù)的安全。的安全。 采用采用軟內(nèi)核技術(shù)軟內(nèi)核技術(shù),防止外部對其進行掃描探測。,防止外部對其進行掃描探測。 可集成用戶自己的安全特性和其他協(xié)處理器。可集成用戶自己的安全特性和其他協(xié)處理器。 主要應(yīng)用:主要應(yīng)用:對安全性要求較高的應(yīng)用產(chǎn)品及應(yīng)對安全性要求較高的應(yīng)用產(chǎn)品及應(yīng)用系統(tǒng),如電子商務(wù)、電子政務(wù)、電子銀行
25、業(yè)用系統(tǒng),如電子商務(wù)、電子政務(wù)、電子銀行業(yè)務(wù)、網(wǎng)絡(luò)和認(rèn)證系統(tǒng)等領(lǐng)域。務(wù)、網(wǎng)絡(luò)和認(rèn)證系統(tǒng)等領(lǐng)域。 4種類型:種類型:SecurCore SC100、SecurCore SC110、SecurCore SC200和和SecurCore SC210。 StrongARM微處理器系列微處理器系列 采用采用ARM體系結(jié)構(gòu)高度集成的體系結(jié)構(gòu)高度集成的32位位RISC微處理器微處理器 融合了融合了Intel公司的設(shè)計和處理技術(shù)以及公司的設(shè)計和處理技術(shù)以及ARM體系結(jié)構(gòu)的電源效率體系結(jié)構(gòu)的電源效率 軟件上兼容軟件上兼容ARM V4,同時兼具,同時兼具Intel技術(shù)技術(shù)優(yōu)點的體系結(jié)構(gòu)優(yōu)點的體系結(jié)構(gòu)Xscale處
26、理器處理器 基于基于ARMv5TE體系結(jié)構(gòu)的解決方案,是一款全體系結(jié)構(gòu)的解決方案,是一款全性能、高性價比、低功耗的處理器。性能、高性價比、低功耗的處理器。 支持支持16位的位的Thumb指令和指令和DSP指令集。指令集。 已使用在數(shù)字移動電話、個人數(shù)字助理和網(wǎng)絡(luò)產(chǎn)已使用在數(shù)字移動電話、個人數(shù)字助理和網(wǎng)絡(luò)產(chǎn)品等場合。品等場合。 Xscale處理器是處理器是Intel目前主要推廣的一款目前主要推廣的一款A(yù)RM微微處理器。處理器。 ARM系列性能比較系列性能比較 流水線流水線 典型頻率典型頻率 功耗功耗 性能性能 架構(gòu)架構(gòu)ARM處理器結(jié)構(gòu)處理器結(jié)構(gòu) ARMARM和和ThumbThumb狀態(tài)狀態(tài) RI
27、SCRISC技術(shù)技術(shù) 流水線技術(shù)流水線技術(shù) 超標(biāo)量技術(shù)超標(biāo)量技術(shù)ARM和和Thumb狀態(tài)狀態(tài) V4V4版以后版以后有:有:(1)32位位ARM指令集指令集(2)16位位Thumb指令集,功能是指令集,功能是ARM指令集的功指令集的功能子集。能子集。 ARM7TDMI核以后,核以后,T變種的變種的ARM微處理器有微處理器有兩種工作狀態(tài):兩種工作狀態(tài):(1)ARM狀態(tài)狀態(tài)(2)Thumb狀態(tài)。狀態(tài)。 當(dāng)當(dāng)ARM微處理器執(zhí)行微處理器執(zhí)行32位的位的ARM指令集時,工指令集時,工作在作在ARM狀態(tài);狀態(tài); 當(dāng)當(dāng)ARM微處理器執(zhí)行微處理器執(zhí)行16位的位的Thumb指令集時,工指令集時,工作在作在Thum
28、b狀態(tài)。狀態(tài)。 Thumb技術(shù)介紹技術(shù)介紹 Thumb從從32位位ARM指令集中指令集中抽出來抽出來的的36條指令格式,可重新編成條指令格式,可重新編成16位位的操作碼。的操作碼。 在運行時,在運行時,16位的位的Thumb指令又由指令又由處理器處理器解壓解壓成成32位指令。位指令。Thumb技術(shù)介紹技術(shù)介紹 和和ARM指令集相比,指令集相比,Thumb指令集具有指令集具有以下的局限:以下的局限: 完成相同的操作,完成相同的操作,Thumb指令通常需要更多指令通常需要更多的指令,因此在對系統(tǒng)運行時間要求苛刻的的指令,因此在對系統(tǒng)運行時間要求苛刻的場合,場合,ARM指令集更為合適。指令集更為合適
29、。 Thumb指令集沒有包含進行異常處理時需要指令集沒有包含進行異常處理時需要的一些指令,因此在異常中斷時,還是需要的一些指令,因此在異常中斷時,還是需要使用使用ARM指令,這種限制決定了指令,這種限制決定了Thumb指指令需要與令需要與ARM指令配合使用。指令配合使用。ARM與與Thumb狀態(tài)轉(zhuǎn)換狀態(tài)轉(zhuǎn)換 進入進入Thumb狀態(tài):狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位當(dāng)操作數(shù)寄存器的狀態(tài)位(位(位0)為)為1時,執(zhí)行時,執(zhí)行BX指令。指令。 進入進入ARM狀態(tài):狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位當(dāng)操作數(shù)寄存器的狀態(tài)位(位(位0)為)為0時,執(zhí)行時,執(zhí)行BX指令。指令。RISC技術(shù)技術(shù) CISCRISC價格價
30、格由硬件完成部分軟件功能,硬由硬件完成部分軟件功能,硬件復(fù)雜性增加,芯片成本高件復(fù)雜性增加,芯片成本高由軟件完成部分硬件功能,軟由軟件完成部分硬件功能,軟件復(fù)雜性增加,芯片成本低件復(fù)雜性增加,芯片成本低性能性能減少代碼尺寸,增加指令的執(zhí)減少代碼尺寸,增加指令的執(zhí)行周期數(shù)行周期數(shù)使用流水線降低指令的執(zhí)行周使用流水線降低指令的執(zhí)行周期數(shù),增加代碼尺寸期數(shù),增加代碼尺寸指令集指令集大量的混雜型指令集,有簡單快速大量的混雜型指令集,有簡單快速的指令,也有復(fù)雜的多周期指令,的指令,也有復(fù)雜的多周期指令,符合符合HLLHLL(high level languagehigh level language)簡
31、單的單周期指令,在匯編指令方簡單的單周期指令,在匯編指令方面有相應(yīng)的面有相應(yīng)的CISCCISC微代碼指令微代碼指令高級語言支高級語言支持持硬件完成硬件完成軟件完成軟件完成尋址模式尋址模式復(fù)雜的尋址模式,支持內(nèi)存到復(fù)雜的尋址模式,支持內(nèi)存到內(nèi)存尋址內(nèi)存尋址簡單的尋址模式,僅允許簡單的尋址模式,僅允許LOADLOAD和和STORESTORE指令存取內(nèi)存,其它所有的操指令存取內(nèi)存,其它所有的操作都基于寄存器到寄存器作都基于寄存器到寄存器控制單元控制單元微碼微碼直接執(zhí)行直接執(zhí)行寄存器數(shù)目寄存器數(shù)目寄存器較少寄存器較少寄存器較多寄存器較多RISC技術(shù)技術(shù) RISC體系結(jié)構(gòu)基本特點:體系結(jié)構(gòu)基本特點:(1
32、 1)大多數(shù)指令只需要執(zhí)行簡單和基本的)大多數(shù)指令只需要執(zhí)行簡單和基本的功能,其執(zhí)行過程在一個機器周期內(nèi)完成。功能,其執(zhí)行過程在一個機器周期內(nèi)完成。(2 2)只保留加載)只保留加載/ /存儲指令。操作數(shù)由加載存儲指令。操作數(shù)由加載/ /存儲指令從存儲器取出放寄存器內(nèi)操作。存儲指令從存儲器取出放寄存器內(nèi)操作。(3 3)芯片邏輯不采用或少采用微碼技術(shù),)芯片邏輯不采用或少采用微碼技術(shù),而采用硬布線邏輯。而采用硬布線邏輯。(4 4)減少指令數(shù)和尋址方式。)減少指令數(shù)和尋址方式。 (5 5)指令格式固定,指令譯碼簡化。)指令格式固定,指令譯碼簡化。(6 6)優(yōu)化編譯。)優(yōu)化編譯。RISC技術(shù)技術(shù) AR
33、M體系結(jié)構(gòu)還采用了一些特別的技術(shù):體系結(jié)構(gòu)還采用了一些特別的技術(shù): 所有的指令都可根據(jù)前面的執(zhí)行結(jié)果決定所有的指令都可根據(jù)前面的執(zhí)行結(jié)果決定是否被執(zhí)行,提高了指令的執(zhí)行效率。是否被執(zhí)行,提高了指令的執(zhí)行效率。 可用可用Load/Store指令批量傳輸數(shù)據(jù),以提指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率。高數(shù)據(jù)的傳輸效率。 可在一條數(shù)據(jù)處理指令中同時完成邏輯處可在一條數(shù)據(jù)處理指令中同時完成邏輯處理和移位處理。理和移位處理。RISC技術(shù)技術(shù) RISC和和CISC各有優(yōu)勢,界限并不那么明各有優(yōu)勢,界限并不那么明顯。顯。 現(xiàn)代的現(xiàn)代的CPU往往采用往往采用CISC的外圍,內(nèi)部加的外圍,內(nèi)部加入了入了RIS
34、C的特性,如超常指令集的特性,如超常指令集CPU就是就是融合了融合了RISC和和CISC的優(yōu)勢,成為未來的的優(yōu)勢,成為未來的CPU發(fā)展方向之一。發(fā)展方向之一。 流水線技術(shù)流水線技術(shù) CPU的性能的性能 本質(zhì)上影響程序本質(zhì)上影響程序執(zhí)行速度執(zhí)行速度的因素的因素 幾個幾個指令指令可以可以并行執(zhí)行并行執(zhí)行 當(dāng)流水線內(nèi)部的信息通暢流動時,當(dāng)流水線內(nèi)部的信息通暢流動時,CPU流水流水線能夠工作得最好。線能夠工作得最好。 流水線操作不十分通暢,會暫時降低流水線操作不十分通暢,會暫時降低CPU的的執(zhí)行速度。執(zhí)行速度。 ARM的的3級流水線級流水線 ARM7架構(gòu)采用了一個架構(gòu)采用了一個3段的流水線:段的流水線
35、:(1)取指:取指:將指令從內(nèi)存中取出來。將指令從內(nèi)存中取出來。(2)譯碼:譯碼:操作碼和操作數(shù)被譯碼以決定執(zhí)行什么操作碼和操作數(shù)被譯碼以決定執(zhí)行什么功能。為下一個周期準(zhǔn)備數(shù)據(jù)路徑需要的控制信功能。為下一個周期準(zhǔn)備數(shù)據(jù)路徑需要的控制信號。占有譯碼邏輯而不占有數(shù)據(jù)路徑。號。占有譯碼邏輯而不占有數(shù)據(jù)路徑。(3)執(zhí)行:執(zhí)行:執(zhí)行已譯碼的指令。占有數(shù)據(jù)路徑。執(zhí)行已譯碼的指令。占有數(shù)據(jù)路徑。 多周期多周期ARMARM指令的指令的3 3級流水線操作級流水線操作 取指的存儲器訪問和執(zhí)行的數(shù)據(jù)路徑占用都是不取指的存儲器訪問和執(zhí)行的數(shù)據(jù)路徑占用都是不可同時共享的資源,對于多周期指令來說,如果可同時共享的資源,對
36、于多周期指令來說,如果指令復(fù)雜以至于不能在單個時鐘周期內(nèi)完成執(zhí)行指令復(fù)雜以至于不能在單個時鐘周期內(nèi)完成執(zhí)行階段,就會產(chǎn)生流水線阻塞。階段,就會產(chǎn)生流水線阻塞。 ARMARM的流水線設(shè)計問題的流水線設(shè)計問題(1 1)縮短程序執(zhí)行時間)縮短程序執(zhí)行時間計算微處理器運行一個給定程序所需的時間計算公式:計算微處理器運行一個給定程序所需的時間計算公式: Tprog:執(zhí)行一個程序所需時間;:執(zhí)行一個程序所需時間; Ninst:執(zhí)行該程序的指令條數(shù);:執(zhí)行該程序的指令條數(shù); CPI:執(zhí)行每條指令的平均時鐘周期數(shù);:執(zhí)行每條指令的平均時鐘周期數(shù); Fclk:處理器的時鐘頻率。:處理器的時鐘頻率。 縮短程序執(zhí)行
37、時間措施:縮短程序執(zhí)行時間措施: 提高時鐘頻率提高時鐘頻率f fclkclk 減少每條指令的平均時鐘周期數(shù)減少每條指令的平均時鐘周期數(shù)CPICPIARMARM的流水線設(shè)計問題的流水線設(shè)計問題(2 2)解決流水線相關(guān))解決流水線相關(guān): : 結(jié)構(gòu)相關(guān):結(jié)構(gòu)相關(guān):某些指令在流水線中重疊執(zhí)行某些指令在流水線中重疊執(zhí)行時,產(chǎn)生資源沖突時,產(chǎn)生資源沖突 。 措施:措施:1)采用分離式指令)采用分離式指令Cache和數(shù)據(jù)和數(shù)據(jù)Cache。2)ALU中采用單獨加法器來完成地址計算。中采用單獨加法器來完成地址計算。ARMARM的流水線設(shè)計問題的流水線設(shè)計問題(2 2)解決流水線相關(guān))解決流水線相關(guān): : 數(shù)據(jù)相
38、關(guān):數(shù)據(jù)相關(guān):當(dāng)一條指令需要前面指令的執(zhí)當(dāng)一條指令需要前面指令的執(zhí)行結(jié)果,而這些指令均在流水線中重疊執(zhí)行結(jié)果,而這些指令均在流水線中重疊執(zhí)行時,就可能引起流水線的數(shù)據(jù)相關(guān)。行時,就可能引起流水線的數(shù)據(jù)相關(guān)。 數(shù)據(jù)相關(guān)有數(shù)據(jù)相關(guān)有“寫后讀寫后讀”、“寫后寫寫后寫”和和“讀后寫讀后寫”等。等。 措施:措施:1)旁路技術(shù)。)旁路技術(shù)。2)流水線互鎖技術(shù)。)流水線互鎖技術(shù)。ARMARM的流水線設(shè)計問題的流水線設(shè)計問題(2 2)解決流水線相關(guān))解決流水線相關(guān): : 控制相關(guān):控制相關(guān):當(dāng)流水線遇到分支指令和其他當(dāng)流水線遇到分支指令和其他會改變會改變PC值的指令時,就會發(fā)生控制相關(guān)。值的指令時,就會發(fā)生控
39、制相關(guān)。 措施:措施:1)引入延時分支。)引入延時分支。2)盡早計算出分支轉(zhuǎn)移成功時的)盡早計算出分支轉(zhuǎn)移成功時的PC值值A(chǔ)RMARM的的5 5級流水線級流水線 ARM9ARM9和和StrongARMStrongARM架構(gòu)都采用了架構(gòu)都采用了5 5級流級流水線水線. . 增加了增加了I-CacheI-Cache和和D-CacheD-Cache,把存儲器,把存儲器的取指與數(shù)據(jù)存取分開的取指與數(shù)據(jù)存取分開; 增加了數(shù)據(jù)寫回的專門通路和寄存器增加了數(shù)據(jù)寫回的專門通路和寄存器; ARMARM的的5 5級流水線級流水線 把指令的執(zhí)行過程分割為把指令的執(zhí)行過程分割為5 5部分部分: :取指:取指:將指令從
40、指令存儲器中取出,放入指將指令從指令存儲器中取出,放入指令流水線中。令流水線中。指令譯碼:指令譯碼:對指令進行譯碼,從寄存器堆中對指令進行譯碼,從寄存器堆中讀取寄存器操作數(shù)。讀取寄存器操作數(shù)。執(zhí)行:執(zhí)行:把一個操作數(shù)移位,產(chǎn)生把一個操作數(shù)移位,產(chǎn)生ALUALU結(jié)果。如結(jié)果。如果指令是果指令是LoadLoad或或StoreStore,在,在ALUALU中計算存儲器的中計算存儲器的地址。地址。數(shù)據(jù)緩存:數(shù)據(jù)緩存:如果需要,訪問數(shù)據(jù)存儲器;否如果需要,訪問數(shù)據(jù)存儲器;否則,則,ALUALU的結(jié)果只是簡單地緩沖一個時鐘周期,的結(jié)果只是簡單地緩沖一個時鐘周期,以便使所有指令具有同樣地流水線流程。以便使所
41、有指令具有同樣地流水線流程。寫回寫回 :將指令產(chǎn)生地結(jié)果寫回到寄存器堆。將指令產(chǎn)生地結(jié)果寫回到寄存器堆。ARM系列流水線比較系列流水線比較 預(yù)取預(yù)?。‵etch)譯碼譯碼(Decode)執(zhí)行執(zhí)行(Execute)預(yù)取預(yù)取(Fetch)譯碼譯碼(Decode)執(zhí)行執(zhí)行(Execute)訪存訪存(Memory)寫入寫入(Write)預(yù)取預(yù)?。‵etch)譯碼譯碼(Decode)發(fā)送發(fā)送(Issue)預(yù)取預(yù)取(Fetch)預(yù)取預(yù)?。‵etch)執(zhí)行執(zhí)行(Execute)訪存訪存(Memory)寫入寫入(Write)譯碼譯碼(Decode)發(fā)送發(fā)送(Issue)執(zhí)行執(zhí)行(Execute)轉(zhuǎn)換轉(zhuǎn)換(Sn
42、ny)訪存訪存(Memory)寫入寫入(Write)ARM7ARM9ARM10ARM11超標(biāo)量執(zhí)行超標(biāo)量執(zhí)行 通過通過重復(fù)設(shè)置重復(fù)設(shè)置多套指令多套指令執(zhí)行部件執(zhí)行部件,同時處理并完,同時處理并完成多條指令,實現(xiàn)并行操作,來達到提高處理速成多條指令,實現(xiàn)并行操作,來達到提高處理速度的目的度的目的。 所有所有ARMARM內(nèi)核,包括流行的內(nèi)核,包括流行的ARM7ARM7、ARM9ARM9和和ARM11ARM11等,等,都是單周期指令機。都是單周期指令機。 ARMARM公司下一代處理器將是每周期能處理多重指令公司下一代處理器將是每周期能處理多重指令的超標(biāo)量機。的超標(biāo)量機。 超標(biāo)量處理機:超標(biāo)量處理機:
43、一個時鐘周期內(nèi)同時執(zhí)行多條指一個時鐘周期內(nèi)同時執(zhí)行多條指令的處理機。令的處理機。 超標(biāo)量處理器中的多指令單元超標(biāo)量處理器中的多指令單元 超標(biāo)量與流水線技術(shù)是兼容的,為了能夠超標(biāo)量與流水線技術(shù)是兼容的,為了能夠在一個時鐘周期內(nèi)同時發(fā)射多條指令,超在一個時鐘周期內(nèi)同時發(fā)射多條指令,超標(biāo)量處理機必須有兩條或兩條以上能夠同標(biāo)量處理機必須有兩條或兩條以上能夠同時工作的指令流水線。但與此同時,也帶時工作的指令流水線。但與此同時,也帶來了多流水線的調(diào)度問題和操作部件的資來了多流水線的調(diào)度問題和操作部件的資源沖突問題。源沖突問題。 超標(biāo)量處理器中的多指令單元超標(biāo)量處理器中的多指令單元 超標(biāo)量處理器在執(zhí)行的過程
44、中必須動態(tài)地超標(biāo)量處理器在執(zhí)行的過程中必須動態(tài)地檢查指令相關(guān)性。檢查指令相關(guān)性。 如果代碼中有分支指令如果代碼中有分支指令, ,必須將分支被執(zhí)必須將分支被執(zhí)行和分支不被執(zhí)行這兩種情況分開考慮。行和分支不被執(zhí)行這兩種情況分開考慮。 計算執(zhí)行時間幾乎是不可能的。計算執(zhí)行時間幾乎是不可能的。存儲系統(tǒng)機制存儲系統(tǒng)機制 存儲器存儲器就是用來存儲信息的部件,存儲器是嵌就是用來存儲信息的部件,存儲器是嵌入式系統(tǒng)硬件中的重要組成部分。入式系統(tǒng)硬件中的重要組成部分。 設(shè)計嵌入式系統(tǒng)的存儲器時需要考慮:是否需設(shè)計嵌入式系統(tǒng)的存儲器時需要考慮:是否需要要擴展擴展; 整個嵌入式系統(tǒng)的存儲器是由整個嵌入式系統(tǒng)的存儲器是
45、由片內(nèi)片內(nèi)和和片外片外兩部兩部分組成。分組成。 為了解決速度和內(nèi)存容量的問題,在系統(tǒng)中采為了解決速度和內(nèi)存容量的問題,在系統(tǒng)中采用用虛擬地址空間虛擬地址空間和和高速緩存高速緩存來提高內(nèi)存的平均來提高內(nèi)存的平均性能。性能。 存儲管理單元(存儲管理單元(MMU)進行地址轉(zhuǎn)換,它在進行地址轉(zhuǎn)換,它在一個小的物理內(nèi)存中提供相對較大的虛擬存儲一個小的物理內(nèi)存中提供相對較大的虛擬存儲空間??臻g。 ARM存儲數(shù)據(jù)類型存儲數(shù)據(jù)類型 六種數(shù)據(jù)類型:六種數(shù)據(jù)類型:(1) 8 8位有符號和無符號字節(jié)。位有符號和無符號字節(jié)。(2 2)1616位有符號和無符號半字。位有符號和無符號半字。(3 3)3232位有符號和無符
46、號字。位有符號和無符號字。 ARM指令都是指令都是32位的字,必須以字(位的字,必須以字(4 4字字節(jié))節(jié))為單位邊界對齊。為單位邊界對齊。 Thumb指令是指令是16位半字,必須以位半字,必須以2字節(jié)位字節(jié)位單位邊界對齊。單位邊界對齊。1112342ARM存儲數(shù)據(jù)類型存儲數(shù)據(jù)類型 在內(nèi)部,所有在內(nèi)部,所有ARM操作都是面向操作都是面向32位的操位的操作數(shù);作數(shù); 只有數(shù)據(jù)傳送指令支持較短的字節(jié)和半字只有數(shù)據(jù)傳送指令支持較短的字節(jié)和半字的數(shù)據(jù)類型。的數(shù)據(jù)類型。 當(dāng)從存儲器調(diào)入一個字節(jié)和半字時,根據(jù)當(dāng)從存儲器調(diào)入一個字節(jié)和半字時,根據(jù)指令對數(shù)據(jù)的操作類型,將其無符號指令對數(shù)據(jù)的操作類型,將其無符
47、號0或或有符號有符號“符號位符號位”擴展為擴展為32位,進而作為位,進而作為32位數(shù)據(jù)在內(nèi)部進行處理。位數(shù)據(jù)在內(nèi)部進行處理。ARM存儲格式存儲格式 數(shù)據(jù)存儲格式有兩種:數(shù)據(jù)存儲格式有兩種: (1)大端模式:)大端模式:較高的較高的有效字節(jié)存放在較低的有效字節(jié)存放在較低的存儲器地址,較低的有存儲器地址,較低的有效字節(jié)存放在較高的存效字節(jié)存放在較高的存儲器地址。儲器地址。(2)小端模式:)小端模式:較高的較高的有效字節(jié)存放在較高的有效字節(jié)存放在較高的存儲器地址,較低的有存儲器地址,較低的有效字節(jié)存放在較低的存效字節(jié)存放在較低的存儲器地址。儲器地址。 大端存儲模式大端存儲模式 小端存儲模式(缺省)小
48、端存儲模式(缺省)ARMARM總線接口信號分類總線接口信號分類 ARM7TDMIARM7TDMI的總線接口信號分成的總線接口信號分成4 4類類: : 時鐘和時鐘控制信號:時鐘和時鐘控制信號:MCLKMCLK、ECLKECLK、nRESETnRESET、nWAITnWAIT。 地址類信號:地址類信號:A31:0A31:0、nRWnRW、MAS1:0MAS1:0、nOPCnOPC、nTRANSnTRANS、LOCKLOCK、TBITTBIT。 存儲器請求信號:存儲器請求信號:nMREQnMREQ、SEQSEQ。 數(shù)據(jù)時序信號:數(shù)據(jù)時序信號:D31:0D31:0、DIN31:0DIN31:0、DOU
49、T31:0DOUT31:0、ABORTABORT、BL3:0BL3:0。ARMARM總線接口可以實現(xiàn)的總線周期總線接口可以實現(xiàn)的總線周期 總線周期使用總線周期使用nMREQ和和SEQ信號編信號編碼。碼。 4種種不同類型的總線周期。不同類型的總線周期。 N周期:周期:非順序周期非順序周期 S周期:周期:順序周期順序周期 I周期:周期:內(nèi)部周期內(nèi)部周期 C周期:周期:協(xié)處理器寄存器傳遞周期協(xié)處理器寄存器傳遞周期系統(tǒng)總線配置系統(tǒng)總線配置 一個微處理器系統(tǒng)可能含有多條總線。高速設(shè)一個微處理器系統(tǒng)可能含有多條總線。高速設(shè)備可連到高速總線上,低速設(shè)備連到別的總線備可連到高速總線上,低速設(shè)備連到別的總線上。
50、上。 橋橋:使總線可以互連的邏輯電路。使總線可以互連的邏輯電路。 越高速總線通常提供越寬的數(shù)據(jù)連接越高速總線通常提供越寬的數(shù)據(jù)連接 高速總線通常要更昂貴的電路和連接器,可通過使高速總線通常要更昂貴的電路和連接器,可通過使用較慢、較便宜的總線來降低低速設(shè)備成本。用較慢、較便宜的總線來降低低速設(shè)備成本。 橋允許總線獨立操作,在橋允許總線獨立操作,在I/O操作中可提供某些操作中可提供某些并行并行性。性。 橋不僅是高速總線的橋不僅是高速總線的受控器受控器,而且是低速總線的,而且是低速總線的主主控器控器。 橋從高速總線上獲取指令而將它們傳到低速總線,橋從高速總線上獲取指令而將它們傳到低速總線,它還將結(jié)果
51、從低速總線傳到高速總線上。它還將結(jié)果從低速總線傳到高速總線上。 橋還可以作為兩橋之間的橋還可以作為兩橋之間的協(xié)議翻譯器協(xié)議翻譯器。 ARM的高速緩存(的高速緩存(Cache)1.高速緩存(高速緩存(Cache)的分類)的分類(1)統(tǒng)一)統(tǒng)一Cache和獨立的數(shù)據(jù)和獨立的數(shù)據(jù)/程序程序Cache 統(tǒng)一統(tǒng)一Cache:一個存儲系統(tǒng)中一個存儲系統(tǒng)中指令預(yù)取指令預(yù)取時使用的時使用的Cache和和數(shù)據(jù)讀寫數(shù)據(jù)讀寫時使用的時使用的Cache是是同一個同一個Cache。 獨立的獨立的Cache:一個存儲系統(tǒng)中一個存儲系統(tǒng)中指令預(yù)取指令預(yù)取時使用的時使用的Cache和和數(shù)據(jù)讀寫數(shù)據(jù)讀寫時使用的時使用的Cach
52、e是是各自獨立各自獨立的。的。 用于指令預(yù)取的用于指令預(yù)取的Cache稱為稱為指令指令Cache。 用于數(shù)據(jù)讀寫的用于數(shù)據(jù)讀寫的Cache稱為稱為數(shù)據(jù)數(shù)據(jù)Cache。高速緩存(高速緩存(Cache)的分類)的分類(2)寫通)寫通Cache和寫回和寫回Cache 當(dāng)當(dāng)CPU更新了更新了Cache的內(nèi)容時,要將結(jié)果的內(nèi)容時,要將結(jié)果寫回到主存中。寫回到主存中。 寫通法:寫通法: write-throught,指,指CPU在執(zhí)行在執(zhí)行寫操作時,必須把數(shù)據(jù)同時寫入寫操作時,必須把數(shù)據(jù)同時寫入Cache和和主存。主存。 寫回法:寫回法: write-back,指,指CPU在執(zhí)行寫操在執(zhí)行寫操作時,被寫的
53、數(shù)據(jù)只寫入作時,被寫的數(shù)據(jù)只寫入Cache,不寫入,不寫入主存。僅當(dāng)需要替換時,才把已經(jīng)修改的主存。僅當(dāng)需要替換時,才把已經(jīng)修改的Cache塊寫回到主存中。塊寫回到主存中。高速緩存(高速緩存(Cache)的分類)的分類(3)讀操作分配)讀操作分配Cache和寫操作分配和寫操作分配Cache 當(dāng)進行數(shù)據(jù)寫操作時,可能當(dāng)進行數(shù)據(jù)寫操作時,可能Cache未命中,這未命中,這時根據(jù)時根據(jù)Cache執(zhí)行的操作不同執(zhí)行的操作不同,將將Cache分為兩分為兩類。類。 讀操作分配讀操作分配Cache:當(dāng)進行數(shù)據(jù)寫操作時,如當(dāng)進行數(shù)據(jù)寫操作時,如果果Cache未命中,只是簡單地將數(shù)據(jù)未命中,只是簡單地將數(shù)據(jù)寫入
54、主存寫入主存中。主要在數(shù)據(jù)讀取時,才進行中。主要在數(shù)據(jù)讀取時,才進行Cache內(nèi)容預(yù)內(nèi)容預(yù)取。取。 寫操作分配寫操作分配Cache:當(dāng)進行數(shù)據(jù)寫操作時,如當(dāng)進行數(shù)據(jù)寫操作時,如果果Cache未命中,未命中,Cache系統(tǒng)將會進行系統(tǒng)將會進行Cache內(nèi)容預(yù)取內(nèi)容預(yù)取,從主存中將相應(yīng)的塊,從主存中將相應(yīng)的塊讀取到讀取到Cache中中相應(yīng)的位置,并執(zhí)行寫操作,把數(shù)據(jù)寫入相應(yīng)的位置,并執(zhí)行寫操作,把數(shù)據(jù)寫入到到Cache中。中。Cache的工作原理的工作原理 Cache地址映像和變換方式地址映像和變換方式地址映像地址映像:是指把主存地址空間映像到:是指把主存地址空間映像到Cache地址空間。地址空間
55、。地址變換地址變換:是指當(dāng)程序或數(shù)據(jù)已經(jīng)裝入到:是指當(dāng)程序或數(shù)據(jù)已經(jīng)裝入到Cache中后,在實際運行過程中將主存地中后,在實際運行過程中將主存地址變換成址變換成Cache地址。地址。Cache地址映像和變換方式地址映像和變換方式(1)直接映像)直接映像 快,造價低??欤靸r低。 但由于映射策略簡單,所以有一定的局限但由于映射策略簡單,所以有一定的局限性。性。 如果訪問頻繁的塊正好被映射到同一個塊,如果訪問頻繁的塊正好被映射到同一個塊,就不能充分利用高速緩存的好處。就不能充分利用高速緩存的好處。Cache地址映像和變換方式地址映像和變換方式(2)組相聯(lián)映像)組相聯(lián)映像 組相聯(lián)映像由組的個數(shù)來標(biāo)識
56、,每個組被組相聯(lián)映像由組的個數(shù)來標(biāo)識,每個組被實現(xiàn)為一個直接映射高速緩存。實現(xiàn)為一個直接映射高速緩存。 高速緩存請求同時廣播到所有的組。如果高速緩存請求同時廣播到所有的組。如果某組中有這個單元,該高速緩存便報告命某組中有這個單元,該高速緩存便報告命中。中。 比直接映射慢,命中率較高。比直接映射慢,命中率較高。Cache地址映像和變換方式地址映像和變換方式(3)全相聯(lián)映像)全相聯(lián)映像 主存中任意一個塊都可以映射到主存中任意一個塊都可以映射到Cache中中的任意一個塊的位置上。的任意一個塊的位置上。 不同的不同的ARM有不同大小的高速緩存和組織有不同大小的高速緩存和組織結(jié)構(gòu)。結(jié)構(gòu)。Cache的替換
57、算法的替換算法 (1)輪轉(zhuǎn)法)輪轉(zhuǎn)法 維護一個邏輯計數(shù)器,利用該計數(shù)器依次維護一個邏輯計數(shù)器,利用該計數(shù)器依次選擇將要被替換出去的選擇將要被替換出去的Cache塊。塊。 這種算法容易預(yù)測最壞情況下這種算法容易預(yù)測最壞情況下Cache的性的性能。能。 缺點:在程序發(fā)生很小的變化時,可能造缺點:在程序發(fā)生很小的變化時,可能造成成Cache平均性能急劇的變化。平均性能急劇的變化。Cache的替換算法的替換算法 (2)隨機替換算法)隨機替換算法 通過一個偽隨機數(shù)發(fā)生器產(chǎn)生一個偽隨機通過一個偽隨機數(shù)發(fā)生器產(chǎn)生一個偽隨機數(shù),用新塊將編號為該偽隨機數(shù)的數(shù),用新塊將編號為該偽隨機數(shù)的Cache塊替換掉。塊替換
58、掉。 算法簡單,易于實現(xiàn)。算法簡單,易于實現(xiàn)。 沒有考慮程序的局部性特點,也沒有利用沒有考慮程序的局部性特點,也沒有利用以前塊地址分布情況,因而效果較差。以前塊地址分布情況,因而效果較差。 不易預(yù)測最壞情況下不易預(yù)測最壞情況下Cache的性能。的性能。 存儲管理單元存儲管理單元MMU 存儲管理單元用于在存儲管理單元用于在CPU和物理內(nèi)存之間進和物理內(nèi)存之間進行地址轉(zhuǎn)換。行地址轉(zhuǎn)換。 由于是將地址從邏輯空間映射到物理空間,由于是將地址從邏輯空間映射到物理空間,因此這個轉(zhuǎn)換過程一般稱為因此這個轉(zhuǎn)換過程一般稱為內(nèi)存映射內(nèi)存映射。存儲管理單元存儲管理單元MMU 在在ARM系統(tǒng)中,存儲管理單元系統(tǒng)中,存
59、儲管理單元MMU主要工主要工作:作:(1)虛擬存儲空間到物理存儲空間的映射。)虛擬存儲空間到物理存儲空間的映射。在在ARM中采用了頁式虛擬存儲管理。中采用了頁式虛擬存儲管理。(2)存儲器訪問權(quán)限的控制。)存儲器訪問權(quán)限的控制。(3)設(shè)置虛擬存儲空間的緩沖的特性。)設(shè)置虛擬存儲空間的緩沖的特性。 MMU的頁表的頁表 頁表是實現(xiàn)上述功能的一個重要手段,它實頁表是實現(xiàn)上述功能的一個重要手段,它實際上是位于內(nèi)存中的一個對照表。際上是位于內(nèi)存中的一個對照表。 地址變換條目地址變換條目:頁表的:頁表的每一行每一行對應(yīng)于虛擬地對應(yīng)于虛擬地址空間的址空間的一個頁一個頁,該行同時包含了該虛擬內(nèi),該行同時包含了該
60、虛擬內(nèi)存頁對應(yīng)的物理內(nèi)存頁的地址、該頁的訪問存頁對應(yīng)的物理內(nèi)存頁的地址、該頁的訪問權(quán)限以及緩沖特性等。我們將權(quán)限以及緩沖特性等。我們將頁表中的一行頁表中的一行稱為地址變換條目。稱為地址變換條目。MMU的頁表的頁表 頁表:頁表:存放在內(nèi)存中,系統(tǒng)通常有一個寄存器來保存放在內(nèi)存中,系統(tǒng)通常有一個寄存器來保存頁表的基地址。存頁表的基地址。ARM系統(tǒng)中使用的就是協(xié)處理系統(tǒng)中使用的就是協(xié)處理器器CP15的寄存器的寄存器C2來保存頁表基地址。來保存頁表基地址。 快表快表:從虛擬地址到物理地址的轉(zhuǎn)換實際上就是查:從虛擬地址到物理地址的轉(zhuǎn)換實際上就是查詢頁表的過程。由于程序在執(zhí)行過程中具有局部性,詢頁表的過程
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于核心素養(yǎng)的律動體育教學(xué)模式的構(gòu)建與創(chuàng)新
- 可持續(xù)發(fā)展視角下的城市空間利用與規(guī)劃
- 農(nóng)業(yè)企業(yè)ESG表現(xiàn)的數(shù)字化評價體系構(gòu)建
- 優(yōu)化縣域婦幼健康服務(wù)隊伍建設(shè)與專業(yè)能力提升
- 臨床康復(fù)醫(yī)學(xué)講課件
- 老年病康復(fù)訓(xùn)練治療講課件
- 王英監(jiān)理工程師課件
- Unit 1 Hello Unit review 英語教學(xué)課件
- 上瞼下垂圍手術(shù)期護理講課件
- 喘癥的中醫(yī)查房護理講課件
- 2023年國開(中央電大)04114《會計學(xué)概論》題庫及標(biāo)準(zhǔn)答案
- 廣東省廣州市天河區(qū)2024年八年級下冊數(shù)學(xué)期末考試試題含解析
- 中建測評2024二測題庫及答案
- 24春國家開放大學(xué)《統(tǒng)計學(xué)原理》形成性考核1-3參考答案
- 環(huán)衛(wèi)保潔整體服務(wù)方案
- 小學(xué)數(shù)學(xué)小組合作學(xué)習(xí)有效性課題研究結(jié)題報告
- 磁控濺射原理詳細(xì)介紹課件
- 線路人工起道搗鼓作業(yè)指導(dǎo)書
- 大學(xué)語文(第三版)課件 漁父
- 提升醫(yī)患溝通效果的標(biāo)準(zhǔn)化培訓(xùn)指南
- 企業(yè)專職消防隊建設(shè)標(biāo)準(zhǔn)
評論
0/150
提交評論