资料介绍
16.2 ARMv6增加的系统支持
为了满足目前无线网络、汽车电子和消费类电子产品不断增长的市场需要,ARM公司在ARMv6中引入新的技术和结构组成,包括增强的DSP支持和对多处理器环境的支持。
16.2.1 存储管理
由于在ARMv6体系结构中引入新的存储管理机制,处理器的整体性能得到提高。在新的体系结构中,平均指令预取和数据等待时间大幅度减少,存取过程中Cache命中率显著提高。由于存储机制的改善,系统整体性能的提高达到30%。
另外,存储系统的改善使系统总线(BUS)使用更加合理,从而减少了系统总线使用频度,降低了系统功耗。
图16.2显示了ARMv6体系结构存储系统示意图。
图16.2 ARMv6存储系统示意图
1.ARMv6 L1 Cache
ARMv6采用“分层”的存储管理,存储层次的最顶层在处理器内核中。该存储器被称为寄存器文件(register file)。这些寄存器被集成在处理器内核中,在系统中提供最快的存储访问。
ARMv6体系结构处理器使用物理索引Cache(Physically tagged caches),即地址转换在CPU和Cache之间,这样就减少了CPU在运行大的操作系统时由于上下文切换而带来的系统开销。使用这种物理Cache,可以使CPU的整体性能提高近20%。
为了减少在内容转换时,刷新Cache的CPU开销,ARMv6将L1 Cache构建为使用物理寻址的存储系统。系统中设有TCM作为物理可寻址的快速访问内存,存在于存储系统中,作为Cache的补充。无论Cache还是TCM,都可以配置为指令和数据分离的Harvard架构或指令和数据统一的冯·诺依曼架构。另外,L1 DMA子系统可以使数据在没有CPU参与的情况下,直接和TCM进行数据传输。
2.页表格式
在ARMv6体系结构中,页表格式也发生了变化。图16.3显示了新的一级页表格式。
图16.3 ARMv6页表格式
协处理器CP15中的XP-bit可以指定是否使用这种新的页表格式。如果不设置该位,则系统继续使用ARMv5架构的页表格式。
从图16.3可以看出,新的页表格式增加了以下特性:
· XN:从不执行位(execute never bit)。
· nG:非全局地址映射位(not Global bit for address matching)。
应用程序空间指示ASID(Application Space Identifier)是ARMv6体系中增加的又一关键特性。当nG位置位时,地址转换使用虚拟地址和ASID相结合的方法以减少上下文切换的时间。同时,应用程序空间指示提供了一种任务可知调试方法(task-aware debugging)。
有关ARMv6存储系统的详细内容请参阅ARM相关文档。
3.增加的页表基地址寄存器
为了提高地址转换的处理速度,ARMv6体系结构中增加了一个新的页表基地址寄存器,以存储二级页表的基地址。CP15同时支持TTBR0和TTBR1。专门的控制寄存器用来保存用户设定的整数N,N的取值范围为0~7。当N的值不等于0时,0~232-N的地址空间使用TTBR0,而其他空间使用TTBR1进行传输控制。一级页表根据N取值的不同,占有128bytes~16KB存储空间。
16.2.2 多处理单元支持
由于片上系统Soc结构的复杂化,ARM内核现在经常被用于有多个处理单元的设备,这些处理单元竞争使用系统的共享资源。为了满足多处理单元任务间同步的需要,Load/Store互斥指令引入到新的ARMv6体系结构中来。新指令包括:
· LDREX:加载互斥指令。
· STREX:存储互斥指令。
LDREX指令从存储器中装载一个值到寄存器,在处理这个数据时,不会有任何其他因素改变该值。STREX指令存储一个值到寄存器,并返回一个指示值。
16.2.3 异常处理和中断
ARMv6体系结构提供了对向量中断(vectored Interrupt)的支持。向量中断控制器(VIC,Vectored Interrupt Controller)由CP15的寄存器1中的VE – bit来控制。当向量中断控制器使能时,该控制器可以向CPU提供发生中断的向量。
另外,在ARMv6的体系结构中,程序状态寄存器CPSR扩展了A位来控制Abort异常。这种机制类似于程序状态寄存器CPSR中I和F bit对IRQ和FIQ的控制。
操作系统通常在堆栈中保存一次中断或异常处理的返回状态。ARMv6增加了新的指令来提高这类操作的效率。这种操作在中断/调度程序驱动系统中,出现的频率是很高的。这些新增加的指令包括:
· SRS:保存返回状态在特定模式的堆栈中。
· RFE:异常返回。
· CPSID/CPSIE:改变处理器状态,开中断或关中断。
16.2.4 混和大小端支持
AMRv6体系结构中增加了同时处理大端和小端数据的能力。新增加了指令SETEND来设置一段代码处理数据的字节排列方式,另外还增加了一些单独的处理指令来提高在混和大小端环境下的处理效率。
指令SETEND的标准格式如下:
SETEND《endian_specifier》
该指令根据参数《endian_specifier》的值来改变默认的数据端格式。
SETEND指令的设置直接和程序状态寄存器CPSR中新增加的E位相对应。E位对数据大小端的控制如图16.4所示。
为了满足目前无线网络、汽车电子和消费类电子产品不断增长的市场需要,ARM公司在ARMv6中引入新的技术和结构组成,包括增强的DSP支持和对多处理器环境的支持。
16.2.1 存储管理
由于在ARMv6体系结构中引入新的存储管理机制,处理器的整体性能得到提高。在新的体系结构中,平均指令预取和数据等待时间大幅度减少,存取过程中Cache命中率显著提高。由于存储机制的改善,系统整体性能的提高达到30%。
另外,存储系统的改善使系统总线(BUS)使用更加合理,从而减少了系统总线使用频度,降低了系统功耗。
图16.2显示了ARMv6体系结构存储系统示意图。
图16.2 ARMv6存储系统示意图
1.ARMv6 L1 Cache
ARMv6采用“分层”的存储管理,存储层次的最顶层在处理器内核中。该存储器被称为寄存器文件(register file)。这些寄存器被集成在处理器内核中,在系统中提供最快的存储访问。
ARMv6体系结构处理器使用物理索引Cache(Physically tagged caches),即地址转换在CPU和Cache之间,这样就减少了CPU在运行大的操作系统时由于上下文切换而带来的系统开销。使用这种物理Cache,可以使CPU的整体性能提高近20%。
为了减少在内容转换时,刷新Cache的CPU开销,ARMv6将L1 Cache构建为使用物理寻址的存储系统。系统中设有TCM作为物理可寻址的快速访问内存,存在于存储系统中,作为Cache的补充。无论Cache还是TCM,都可以配置为指令和数据分离的Harvard架构或指令和数据统一的冯·诺依曼架构。另外,L1 DMA子系统可以使数据在没有CPU参与的情况下,直接和TCM进行数据传输。
2.页表格式
在ARMv6体系结构中,页表格式也发生了变化。图16.3显示了新的一级页表格式。
图16.3 ARMv6页表格式
协处理器CP15中的XP-bit可以指定是否使用这种新的页表格式。如果不设置该位,则系统继续使用ARMv5架构的页表格式。
从图16.3可以看出,新的页表格式增加了以下特性:
· XN:从不执行位(execute never bit)。
· nG:非全局地址映射位(not Global bit for address matching)。
应用程序空间指示ASID(Application Space Identifier)是ARMv6体系中增加的又一关键特性。当nG位置位时,地址转换使用虚拟地址和ASID相结合的方法以减少上下文切换的时间。同时,应用程序空间指示提供了一种任务可知调试方法(task-aware debugging)。
有关ARMv6存储系统的详细内容请参阅ARM相关文档。
3.增加的页表基地址寄存器
为了提高地址转换的处理速度,ARMv6体系结构中增加了一个新的页表基地址寄存器,以存储二级页表的基地址。CP15同时支持TTBR0和TTBR1。专门的控制寄存器用来保存用户设定的整数N,N的取值范围为0~7。当N的值不等于0时,0~232-N的地址空间使用TTBR0,而其他空间使用TTBR1进行传输控制。一级页表根据N取值的不同,占有128bytes~16KB存储空间。
16.2.2 多处理单元支持
由于片上系统Soc结构的复杂化,ARM内核现在经常被用于有多个处理单元的设备,这些处理单元竞争使用系统的共享资源。为了满足多处理单元任务间同步的需要,Load/Store互斥指令引入到新的ARMv6体系结构中来。新指令包括:
· LDREX:加载互斥指令。
· STREX:存储互斥指令。
LDREX指令从存储器中装载一个值到寄存器,在处理这个数据时,不会有任何其他因素改变该值。STREX指令存储一个值到寄存器,并返回一个指示值。
16.2.3 异常处理和中断
ARMv6体系结构提供了对向量中断(vectored Interrupt)的支持。向量中断控制器(VIC,Vectored Interrupt Controller)由CP15的寄存器1中的VE – bit来控制。当向量中断控制器使能时,该控制器可以向CPU提供发生中断的向量。
另外,在ARMv6的体系结构中,程序状态寄存器CPSR扩展了A位来控制Abort异常。这种机制类似于程序状态寄存器CPSR中I和F bit对IRQ和FIQ的控制。
操作系统通常在堆栈中保存一次中断或异常处理的返回状态。ARMv6增加了新的指令来提高这类操作的效率。这种操作在中断/调度程序驱动系统中,出现的频率是很高的。这些新增加的指令包括:
· SRS:保存返回状态在特定模式的堆栈中。
· RFE:异常返回。
· CPSID/CPSIE:改变处理器状态,开中断或关中断。
16.2.4 混和大小端支持
AMRv6体系结构中增加了同时处理大端和小端数据的能力。新增加了指令SETEND来设置一段代码处理数据的字节排列方式,另外还增加了一些单独的处理指令来提高在混和大小端环境下的处理效率。
指令SETEND的标准格式如下:
SETEND《endian_specifier》
该指令根据参数《endian_specifier》的值来改变默认的数据端格式。
SETEND指令的设置直接和程序状态寄存器CPSR中新增加的E位相对应。E位对数据大小端的控制如图16.4所示。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- MegaRAID SAS 3Gb/s操作系统支持列表
- RAM体系结构
- Cortex-M3权威指南阅读笔记1
- ARMv7-M架构参考手册电子版下载 0次下载
- ARM v6-M架构参考手册 15次下载
- 面向电子邮件系统支持关键字搜索的代理重加密方案 2次下载
- ARMv7和ARMv7的体系结构参考手册免费下载 26次下载
- 如何使用新型NVM存储系统支持高并发访问提高处理速度 16次下载
- NEON的详细资料简介资料免费下载
- TRACE32支持ARMv8架构 11次下载
- XP系统支持STC下载的PL-2303HX新版驱动 0次下载
- arm11 指令集 (ARM V6(ARM11)内核的指令集
- 新一代ARM微处理器ARM11系列
- ARM 架构中TrustZone 安全处理技术的研究
- WCDMA系统功率控制
- 实践JLink 7.62手动增加新MCU型号支持新方法 273次阅读
- armv8系统的安全概述 754次阅读
- 解析Armv8.1-M的一些特性 1168次阅读
- STEP 7 5.5使用的地址超出系统支持范围M T C I/O L 2087次阅读
- Arm推出三款基于Armv9架构的全新CPU内核 4116次阅读
- 浅谈鸿蒙内核源码的原子操作 1199次阅读
- 关于鸿蒙系统的列表增加和删除组件 5720次阅读
- Miracast技术跨操作系统支持不同设备间的视频共享 1492次阅读
- 计算机32位系统到底能支持多大内存 3.8w次阅读
- 基于48MHz Arm® Cortex®-M0+ MCU的微控制器 4044次阅读
- 嵌入式系统内存管理机制详解 4430次阅读
- Enea OSE可实现对Xilinx UltraScale+ MPSoC的支持 2790次阅读
- IMX6 MfgTool烧录指导手册 8325次阅读
- ARMv8 通过设计简化软件移植详解 2372次阅读
- ARMv8架构哪里强?史上最高性能功耗最大可扩展性 1308次阅读
下载排行
本周
- 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 专业版下载 (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次下载 | 免费
评论
查看更多