資料介紹
														16.2 ARMv6增加的系統(tǒng)支持
為了滿足目前無線網(wǎng)絡、汽車電子和消費類電子產品不斷增長的市場需要,ARM公司在ARMv6中引入新的技術和結構組成,包括增強的DSP支持和對多處理器環(huán)境的支持。
16.2.1 存儲管理
由于在ARMv6體系結構中引入新的存儲管理機制,處理器的整體性能得到提高。在新的體系結構中,平均指令預取和數(shù)據(jù)等待時間大幅度減少,存取過程中Cache命中率顯著提高。由于存儲機制的改善,系統(tǒng)整體性能的提高達到30%。
另外,存儲系統(tǒng)的改善使系統(tǒng)總線(BUS)使用更加合理,從而減少了系統(tǒng)總線使用頻度,降低了系統(tǒng)功耗。
圖16.2顯示了ARMv6體系結構存儲系統(tǒng)示意圖。
  
圖16.2 ARMv6存儲系統(tǒng)示意圖
1.ARMv6 L1 Cache
ARMv6采用“分層”的存儲管理,存儲層次的最頂層在處理器內核中。該存儲器被稱為寄存器文件(register file)。這些寄存器被集成在處理器內核中,在系統(tǒng)中提供最快的存儲訪問。
ARMv6體系結構處理器使用物理索引Cache(Physically tagged caches),即地址轉換在CPU和Cache之間,這樣就減少了CPU在運行大的操作系統(tǒng)時由于上下文切換而帶來的系統(tǒng)開銷。使用這種物理Cache,可以使CPU的整體性能提高近20%。
為了減少在內容轉換時,刷新Cache的CPU開銷,ARMv6將L1 Cache構建為使用物理尋址的存儲系統(tǒng)。系統(tǒng)中設有TCM作為物理可尋址的快速訪問內存,存在于存儲系統(tǒng)中,作為Cache的補充。無論Cache還是TCM,都可以配置為指令和數(shù)據(jù)分離的Harvard架構或指令和數(shù)據(jù)統(tǒng)一的馮·諾依曼架構。另外,L1 DMA子系統(tǒng)可以使數(shù)據(jù)在沒有CPU參與的情況下,直接和TCM進行數(shù)據(jù)傳輸。
2.頁表格式
在ARMv6體系結構中,頁表格式也發(fā)生了變化。圖16.3顯示了新的一級頁表格式。
  
圖16.3 ARMv6頁表格式
協(xié)處理器CP15中的XP-bit可以指定是否使用這種新的頁表格式。如果不設置該位,則系統(tǒng)繼續(xù)使用ARMv5架構的頁表格式。
從圖16.3可以看出,新的頁表格式增加了以下特性:
· XN:從不執(zhí)行位(execute never bit)。
· nG:非全局地址映射位(not Global bit for address matching)。
應用程序空間指示ASID(Application Space Identifier)是ARMv6體系中增加的又一關鍵特性。當nG位置位時,地址轉換使用虛擬地址和ASID相結合的方法以減少上下文切換的時間。同時,應用程序空間指示提供了一種任務可知調試方法(task-aware debugging)。
有關ARMv6存儲系統(tǒng)的詳細內容請參閱ARM相關文檔。
3.增加的頁表基地址寄存器
為了提高地址轉換的處理速度,ARMv6體系結構中增加了一個新的頁表基地址寄存器,以存儲二級頁表的基地址。CP15同時支持TTBR0和TTBR1。專門的控制寄存器用來保存用戶設定的整數(shù)N,N的取值范圍為0~7。當N的值不等于0時,0~232-N的地址空間使用TTBR0,而其他空間使用TTBR1進行傳輸控制。一級頁表根據(jù)N取值的不同,占有128bytes~16KB存儲空間。
16.2.2 多處理單元支持
由于片上系統(tǒng)Soc結構的復雜化,ARM內核現(xiàn)在經(jīng)常被用于有多個處理單元的設備,這些處理單元競爭使用系統(tǒng)的共享資源。為了滿足多處理單元任務間同步的需要,Load/Store互斥指令引入到新的ARMv6體系結構中來。新指令包括:
· LDREX:加載互斥指令。
· STREX:存儲互斥指令。
LDREX指令從存儲器中裝載一個值到寄存器,在處理這個數(shù)據(jù)時,不會有任何其他因素改變該值。STREX指令存儲一個值到寄存器,并返回一個指示值。
16.2.3 異常處理和中斷
ARMv6體系結構提供了對向量中斷(vectored Interrupt)的支持。向量中斷控制器(VIC,Vectored Interrupt Controller)由CP15的寄存器1中的VE – bit來控制。當向量中斷控制器使能時,該控制器可以向CPU提供發(fā)生中斷的向量。
另外,在ARMv6的體系結構中,程序狀態(tài)寄存器CPSR擴展了A位來控制Abort異常。這種機制類似于程序狀態(tài)寄存器CPSR中I和F bit對IRQ和FIQ的控制。
操作系統(tǒng)通常在堆棧中保存一次中斷或異常處理的返回狀態(tài)。ARMv6增加了新的指令來提高這類操作的效率。這種操作在中斷/調度程序驅動系統(tǒng)中,出現(xiàn)的頻率是很高的。這些新增加的指令包括:
· SRS:保存返回狀態(tài)在特定模式的堆棧中。
· RFE:異常返回。
· CPSID/CPSIE:改變處理器狀態(tài),開中斷或關中斷。
16.2.4 混和大小端支持
AMRv6體系結構中增加了同時處理大端和小端數(shù)據(jù)的能力。新增加了指令SETEND來設置一段代碼處理數(shù)據(jù)的字節(jié)排列方式,另外還增加了一些單獨的處理指令來提高在混和大小端環(huán)境下的處理效率。
指令SETEND的標準格式如下:
SETEND《endian_specifier》
該指令根據(jù)參數(shù)《endian_specifier》的值來改變默認的數(shù)據(jù)端格式。
SETEND指令的設置直接和程序狀態(tài)寄存器CPSR中新增加的E位相對應。E位對數(shù)據(jù)大小端的控制如圖16.4所示。
												
												
												為了滿足目前無線網(wǎng)絡、汽車電子和消費類電子產品不斷增長的市場需要,ARM公司在ARMv6中引入新的技術和結構組成,包括增強的DSP支持和對多處理器環(huán)境的支持。
16.2.1 存儲管理
由于在ARMv6體系結構中引入新的存儲管理機制,處理器的整體性能得到提高。在新的體系結構中,平均指令預取和數(shù)據(jù)等待時間大幅度減少,存取過程中Cache命中率顯著提高。由于存儲機制的改善,系統(tǒng)整體性能的提高達到30%。
另外,存儲系統(tǒng)的改善使系統(tǒng)總線(BUS)使用更加合理,從而減少了系統(tǒng)總線使用頻度,降低了系統(tǒng)功耗。
圖16.2顯示了ARMv6體系結構存儲系統(tǒng)示意圖。

圖16.2 ARMv6存儲系統(tǒng)示意圖
1.ARMv6 L1 Cache
ARMv6采用“分層”的存儲管理,存儲層次的最頂層在處理器內核中。該存儲器被稱為寄存器文件(register file)。這些寄存器被集成在處理器內核中,在系統(tǒng)中提供最快的存儲訪問。
ARMv6體系結構處理器使用物理索引Cache(Physically tagged caches),即地址轉換在CPU和Cache之間,這樣就減少了CPU在運行大的操作系統(tǒng)時由于上下文切換而帶來的系統(tǒng)開銷。使用這種物理Cache,可以使CPU的整體性能提高近20%。
為了減少在內容轉換時,刷新Cache的CPU開銷,ARMv6將L1 Cache構建為使用物理尋址的存儲系統(tǒng)。系統(tǒng)中設有TCM作為物理可尋址的快速訪問內存,存在于存儲系統(tǒng)中,作為Cache的補充。無論Cache還是TCM,都可以配置為指令和數(shù)據(jù)分離的Harvard架構或指令和數(shù)據(jù)統(tǒng)一的馮·諾依曼架構。另外,L1 DMA子系統(tǒng)可以使數(shù)據(jù)在沒有CPU參與的情況下,直接和TCM進行數(shù)據(jù)傳輸。
2.頁表格式
在ARMv6體系結構中,頁表格式也發(fā)生了變化。圖16.3顯示了新的一級頁表格式。

圖16.3 ARMv6頁表格式
協(xié)處理器CP15中的XP-bit可以指定是否使用這種新的頁表格式。如果不設置該位,則系統(tǒng)繼續(xù)使用ARMv5架構的頁表格式。
從圖16.3可以看出,新的頁表格式增加了以下特性:
· XN:從不執(zhí)行位(execute never bit)。
· nG:非全局地址映射位(not Global bit for address matching)。
應用程序空間指示ASID(Application Space Identifier)是ARMv6體系中增加的又一關鍵特性。當nG位置位時,地址轉換使用虛擬地址和ASID相結合的方法以減少上下文切換的時間。同時,應用程序空間指示提供了一種任務可知調試方法(task-aware debugging)。
有關ARMv6存儲系統(tǒng)的詳細內容請參閱ARM相關文檔。
3.增加的頁表基地址寄存器
為了提高地址轉換的處理速度,ARMv6體系結構中增加了一個新的頁表基地址寄存器,以存儲二級頁表的基地址。CP15同時支持TTBR0和TTBR1。專門的控制寄存器用來保存用戶設定的整數(shù)N,N的取值范圍為0~7。當N的值不等于0時,0~232-N的地址空間使用TTBR0,而其他空間使用TTBR1進行傳輸控制。一級頁表根據(jù)N取值的不同,占有128bytes~16KB存儲空間。
16.2.2 多處理單元支持
由于片上系統(tǒng)Soc結構的復雜化,ARM內核現(xiàn)在經(jīng)常被用于有多個處理單元的設備,這些處理單元競爭使用系統(tǒng)的共享資源。為了滿足多處理單元任務間同步的需要,Load/Store互斥指令引入到新的ARMv6體系結構中來。新指令包括:
· LDREX:加載互斥指令。
· STREX:存儲互斥指令。
LDREX指令從存儲器中裝載一個值到寄存器,在處理這個數(shù)據(jù)時,不會有任何其他因素改變該值。STREX指令存儲一個值到寄存器,并返回一個指示值。
16.2.3 異常處理和中斷
ARMv6體系結構提供了對向量中斷(vectored Interrupt)的支持。向量中斷控制器(VIC,Vectored Interrupt Controller)由CP15的寄存器1中的VE – bit來控制。當向量中斷控制器使能時,該控制器可以向CPU提供發(fā)生中斷的向量。
另外,在ARMv6的體系結構中,程序狀態(tài)寄存器CPSR擴展了A位來控制Abort異常。這種機制類似于程序狀態(tài)寄存器CPSR中I和F bit對IRQ和FIQ的控制。
操作系統(tǒng)通常在堆棧中保存一次中斷或異常處理的返回狀態(tài)。ARMv6增加了新的指令來提高這類操作的效率。這種操作在中斷/調度程序驅動系統(tǒng)中,出現(xiàn)的頻率是很高的。這些新增加的指令包括:
· SRS:保存返回狀態(tài)在特定模式的堆棧中。
· RFE:異常返回。
· CPSID/CPSIE:改變處理器狀態(tài),開中斷或關中斷。
16.2.4 混和大小端支持
AMRv6體系結構中增加了同時處理大端和小端數(shù)據(jù)的能力。新增加了指令SETEND來設置一段代碼處理數(shù)據(jù)的字節(jié)排列方式,另外還增加了一些單獨的處理指令來提高在混和大小端環(huán)境下的處理效率。
指令SETEND的標準格式如下:
SETEND《endian_specifier》
該指令根據(jù)參數(shù)《endian_specifier》的值來改變默認的數(shù)據(jù)端格式。
SETEND指令的設置直接和程序狀態(tài)寄存器CPSR中新增加的E位相對應。E位對數(shù)據(jù)大小端的控制如圖16.4所示。
												下載該資料的人也在下載
												下載該資料的人還在閱讀
											
											更多 >
											
										- MegaRAID SAS 3Gb/s操作系統(tǒng)支持列表
 - RAM體系結構
 - Cortex-M3權威指南閱讀筆記1
 - ARMv7-M架構參考手冊電子版下載 0次下載
 - ARM v6-M架構參考手冊 15次下載
 - 面向電子郵件系統(tǒng)支持關鍵字搜索的代理重加密方案 2次下載
 - ARMv7和ARMv7的體系結構參考手冊免費下載 27次下載
 - 如何使用新型NVM存儲系統(tǒng)支持高并發(fā)訪問提高處理速度 16次下載
 - NEON的詳細資料簡介資料免費下載
 - TRACE32支持ARMv8架構 11次下載
 - XP系統(tǒng)支持STC下載的PL-2303HX新版驅動 0次下載
 - arm11 指令集 (ARM V6(ARM11)內核的指令集
 - 新一代ARM微處理器ARM11系列
 - ARM 架構中TrustZone 安全處理技術的研究
 - WCDMA系統(tǒng)功率控制
 
- 實踐JLink 7.62手動增加新MCU型號支持新方法 807次閱讀
 - armv8系統(tǒng)的安全概述 893次閱讀
 - 解析Armv8.1-M的一些特性 1367次閱讀
 - STEP 7 5.5使用的地址超出系統(tǒng)支持范圍M T C I/O L 2393次閱讀
 - Arm推出三款基于Armv9架構的全新CPU內核 4264次閱讀
 - 淺談鴻蒙內核源碼的原子操作 1290次閱讀
 - 關于鴻蒙系統(tǒng)的列表增加和刪除組件 5860次閱讀
 - Miracast技術跨操作系統(tǒng)支持不同設備間的視頻共享 1555次閱讀
 - 計算機32位系統(tǒng)到底能支持多大內存 3.8w次閱讀
 - 基于48MHz Arm? Cortex?-M0+ MCU的微控制器 4239次閱讀
 - 嵌入式系統(tǒng)內存管理機制詳解 4552次閱讀
 - Enea OSE可實現(xiàn)對Xilinx UltraScale+ MPSoC的支持 2925次閱讀
 - IMX6 MfgTool燒錄指導手冊 8549次閱讀
 - ARMv8 通過設計簡化軟件移植詳解 2450次閱讀
 - ARMv8架構哪里強?史上最高性能功耗最大可擴展性 1393次閱讀
 
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
 - 0.00 MB | 1490次下載 | 免費
 - 2單片機典型實例介紹
 - 18.19 MB | 92次下載 | 1 積分
 - 3S7-200PLC編程實例詳細資料
 - 1.17 MB | 27次下載 | 1 積分
 - 4筆記本電腦主板的元件識別和講解說明
 - 4.28 MB | 18次下載 | 4 積分
 - 5開關電源原理及各功能電路詳解
 - 0.38 MB | 10次下載 | 免費
 - 6基于AT89C2051/4051單片機編程器的實驗
 - 0.11 MB | 4次下載 | 免費
 - 7藍牙設備在嵌入式領域的廣泛應用
 - 0.63 MB | 3次下載 | 免費
 - 89天練會電子電路識圖
 - 5.91 MB | 3次下載 | 免費
 
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
 - 0.00 MB | 234313次下載 | 免費
 - 2PADS 9.0 2009最新版 -下載
 - 0.00 MB | 66304次下載 | 免費
 - 3protel99下載protel99軟件下載(中文版)
 - 0.00 MB | 51209次下載 | 免費
 - 4LabView 8.0 專業(yè)版下載 (3CD完整版)
 - 0.00 MB | 51043次下載 | 免費
 - 5555集成電路應用800例(新編版)
 - 0.00 MB | 33562次下載 | 免費
 - 6接口電路圖大全
 - 未知 | 30320次下載 | 免費
 - 7Multisim 10下載Multisim 10 中文版
 - 0.00 MB | 28588次下載 | 免費
 - 8開關電源設計實例指南
 - 未知 | 21539次下載 | 免費
 
總榜
- 1matlab軟件下載入口
 - 未知 | 935053次下載 | 免費
 - 2protel99se軟件下載(可英文版轉中文版)
 - 78.1 MB | 537791次下載 | 免費
 - 3MATLAB 7.1 下載 (含軟件介紹)
 - 未知 | 420026次下載 | 免費
 - 4OrCAD10.5下載OrCAD10.5中文版軟件
 - 0.00 MB | 234313次下載 | 免費
 - 5Altium DXP2002下載入口
 - 未知 | 233045次下載 | 免費
 - 6電路仿真軟件multisim 10.0免費下載
 - 340992 | 191183次下載 | 免費
 - 7十天學會AVR單片機與C語言視頻教程 下載
 - 158M | 183277次下載 | 免費
 - 8proe5.0野火版下載(中文版免費下載)
 - 未知 | 138039次下載 | 免費
 
	                電子發(fā)燒友App
	            
	        
	        
          
        
        
	                    
                        
                        
                        
                        
                        


創(chuàng)作
發(fā)文章
發(fā)帖  
提問  
發(fā)資料
發(fā)視頻
上傳資料賺積分
           
            
            
                
            
評論