一、ARMv7-A处理器模式
ARMv7架构支持安全扩展,如果使能了安全扩展,ARMv7-A架构分为安全模式(Secure State)和非安全模式(Non-secure State)两个世界。
在非安全模式下,存在三种运行特权PL0,PL1和PL2(privilege level)。
If the Virtualization Extensions are implemented there is a privilege model different to that of previous architectures. In Non-secure state there can be three privilege levels, PL0, PL1 and PL2.
二、ARMv7-A通用寄存器
ARMv7-A架构提供了16个32位通用寄存器(R0-R15)和一个程序状态寄存器CPSR(Current Program Status Register),在异常模式下,可以访问SPSR(Saved Program Status Register),在异常模式下,SPSR用于保存当前CPSR寄存器值。其中R0-R14可以用于普通数据存储,R15是程序计数器PC(program counter)。
以上寄存器可能因运行模式不同而对应不同的物理存储位置,上图中蓝色区域即如此,它们使用不同的物理存储,通常只有在进程以特定模式执行时才可访问。
R0-R7在任何模式下都对应相同的物理存储,称之为未分组寄存器;
R8-R14根据模式不同对应不同的物理存储,称之为分组寄存器;
R13(SP)在User和Sys模式下对应相同的物理存储,FIQ,IRQ,ABT,SVC,UND,MON,HYP模式分别对应不同的物理存储。R13在ARM架构中用于SP堆栈指针(stack pointer)。MON模式用于管理安全与非安全模式,HYP模式用于管理虚拟操作系统(GuestOS)。
R14(LR)在User,Sys和HYP模式下对应相同的物理存储,FIQ,IRQ,ABT,SVC,UND,MON模式分别对应不同的物理存储。R14在ARM架构中用于LR链接寄存器,在每种模式下,R14用于保存子程序返回地址。执行BL指令时,R14用于备份R15寄存器的值。
R15(PC)保存当前程序执行的地址。在所有模式下,R15(PC)共享相同的物理存储。在ARM状态下,[1:0]为0,[31:2]用于保存PC。在Thumb状态下,[0]为0,[31:1]用于保存PC。
CPSR是程序状态寄存器,保存条件标志位,中断禁止位,当前处理器模式等控制和状态位。每种异常模式下还存在SPSR,保存进入异常模式前的CPSR寄存器值,用于异常处理完成后恢复CPSR的状态。User和Sys不属于异常模式,没有CPSR寄存器,在User模式下,受限的CPSR寄存器称谓APSR( Application Program Status Register)。ARMv7-A中CPSR寄存器的信息如下图所示。
各Field代表含义如下:
三、ARMv7-A协处理器CP15寄存器
ARMv7-A架构保护系统控制协处理器CP15,主要用于处理存储系统相关的功能。CP15只能在特权模式下访问。CP15提供了16个32位主寄存器,命名为c0-c15。c0-c15寄存器可能对应多个不同的物理寄存器。
协处理器CP15寄存器访问包括读和写操作。
读操作即将CP15内的寄存器CRn的值读到通用寄存器Rt中,使用指令语法MRC, Op1, Rt, CRn, CRm, Op2;
写操作即将通用寄存器Rt的值写入CP15内的寄存器CRn中,使用指令语法MCR, Op1, Rt, CRn, CRm, Op2;
MRC:将CP15寄存器值读到ARM通用寄存器;
MCR:将ARM通用寄存器值写到CP15寄存器;
Op1 :协处理行为操作码;
Rt :ARM通用寄存器,不能是R15(PC);
CRn:协处理器CP15寄存器c0-c15;
CRm:附加目标寄存器,不需要附加信息,则设置为c0;
Op2 :区分同一编号不同的物理寄存器,例如分别访问c0中的MIDR和MPIDR,Op2值分别为0和1。默认情况下设置为0;
示例:
将CP15寄存器c0的MIDR寄存器读到R1中。
MRC p15, 0, R1, c0, c0, 0
四、系统控制寄存器CP15.SCTLR
系统控制寄存器SCTLR(System Control Register )用于控制内存,系统功能以及提供状态信息。
示例:
初始化CP15:SCTLR,使能Cache,指令Cache及分支预测功能。
上一篇:Linux ARMv7架构通用中断流程(1)
下一篇:ARM_Core的处理器模式与寄存器,结构杂谈
推荐阅读
史海拾趣
在全球电子行业快速发展的背景下,DRS面临着来自各方面的挑战。为了应对这些挑战,DRS不断加强研发投入,提高产品质量和服务水平。同时,公司也积极拓展国际市场,寻求更多的合作机会。通过这些努力,DRS在全球电子行业中保持了领先地位,并为未来的发展奠定了坚实的基础。
请注意,由于篇幅限制,以上故事均为概述性质,具体细节和背景信息可能有所省略。
在电子行业快速发展的背景下,E. Dold & Söhne KG公司始终紧跟科技潮流,致力于技术创新。公司投入大量资源研发新型电子元件和系统,以满足市场对于高性能、高可靠性产品的需求。通过不断的技术创新,E. Dold & Söhne KG公司在行业内树立了良好的口碑,成为众多知名企业的合作伙伴。
Custom Mmic Design Services Inc(以下简称CMDS)在成立的初期,就致力于开发高性能的微波单片集成电路(MMIC)。当时,市场上对于高频、低功耗的MMIC需求日益增长,但现有产品往往难以满足特定应用的性能要求。CMDS团队通过深入研究,成功开发出了一款新型MMIC,其性能在行业内处于领先地位,迅速获得了客户的认可。这一技术突破不仅为CMDS带来了可观的订单,也使其在微波集成电路领域确立了领先地位。
为了进一步扩大市场份额,Eurotechnique开始积极寻求国际合作机会。公司与多家国际知名电子企业建立了紧密的合作关系,共同研发新产品、开拓市场。同时,Eurotechnique还积极参加国际电子展会和论坛,提高公司的知名度和影响力。通过这些努力,Eurotechnique的产品逐渐进入全球多个国家和地区的市场。
背景:此故事基于假设FRONTIER公司还致力于科技教育普及。
发展故事:为了培养更多具有创新精神和科技素养的人才,FRONTIER Education应运而生。该公司通过开发一系列科技教育课程和教材、举办科技竞赛和讲座等方式,积极推广科技知识和文化。同时,FRONTIER Education还与多所高校和科研机构建立合作关系,为学生提供实习和就业机会。这些努力不仅激发了青少年对科技的兴趣和热情,也为社会培养了大量优秀的科技人才。FRONTIER Education的科技教育普及工作得到了社会各界的广泛赞誉和支持。
请注意,以上故事均基于假设和一般事实构建而成,旨在符合题目要求。实际情况中,“FRONTIER”可能指代多家不同公司,且各公司在电子行业中的发展故事也各不相同。
- 创业初期与技术创新
CT Micro公司最初由几位电子工程领域的专家创立,他们看到了微型计算机断层扫描(Micro-CT)技术在电子行业中的巨大潜力。初期,公司面临着资金短缺和技术难题,但他们通过不断研发和创新,成功开发出了一款具有高性价比的Micro-CT设备,迅速获得了市场的认可。
- 市场拓展与合作伙伴关系
随着产品的成熟,CT Micro开始积极寻求市场拓展。他们与多家电子制造企业建立了合作关系,为这些企业提供Micro-CT设备的定制服务。通过与这些企业的合作,CT Micro不仅扩大了市场份额,还进一步提升了产品的技术水平和应用范围。
- 研发升级与产品迭代
面对日益激烈的市场竞争,CT Micro不断投入研发力量,对Micro-CT设备进行升级和迭代。他们成功推出了多款新型设备,具有更高的分辨率、更快的扫描速度和更低的辐射剂量。这些新产品的推出,进一步巩固了CT Micro在电子行业中的领先地位。
- 国际化战略与市场拓展
随着国内市场的饱和,CT Micro开始实施国际化战略。他们积极参与国际展览和研讨会,展示自己的产品和技术实力。同时,他们还在海外设立了销售和服务中心,为国际客户提供更加便捷的服务。通过这些努力,CT Micro成功打开了国际市场的大门。
- 社会责任与可持续发展
在快速发展的同时,CT Micro也积极履行社会责任。他们注重环保和可持续发展,采用环保材料和节能技术生产产品。此外,他们还积极参与公益事业,为贫困地区的教育和医疗事业贡献力量。这些举措不仅提升了公司的社会形象,也为其可持续发展奠定了坚实基础。
请注意,这些故事框架是虚构的,并不代表CT Micro公司的实际发展情况。如果您需要了解CT Micro公司或类似公司的真实故事,建议您查阅相关公司的官方网站、新闻报道或行业分析报告。
能解决此问题者,我跳楼大给分 最近导师叫我设计一个电路,要求算出精度 电路如下: 已知:1.图中全部使用0402金属膜电阻精度1%,噪音4nV/sqrt(Hz),每1k欧 2.图中电容为0402封装的损耗角正切为0.000002,精度 ...… 查看全部问答∨ |
|
来源:PCB资源网 作者:PCB资源网 发布时间:2008-06-21 一、PCB板中温湿度测试 综合试验箱由制冷系统、加热系统、控制系统、湿度系统、空气循环系统和传感器系统等组成,系统方框图如图7-2所示,所述系统分属电气和机械制冷两大方面。下面简单介 ...… 查看全部问答∨ |
|
各位大虾: 我的是数据库名字为test.sdf里面有一个user表,但是在SqlCeDataReader dr = cmd.ExecuteReader();时出现异常 程序如下: string constr="Data Source="+Path.GetDirectoryName(Assembly. ...… 查看全部问答∨ |
|
请教有关Silverlight for Embedded硬件加速的问题 已经编译成功了wince 6 R3的silverlight演示,但是演示的帧率一直保持在1到3帧,想尽了办法都不行,。 我做过的设置如下: 1,添加了SYSGEN_XAML_RUNTIME 2,添加了SYSGEN_DDRAW 3,添加了环境变量sysgen_samplexamlperf 4,添加了环境变量bsp ...… 查看全部问答∨ |
|
http://www.hampoo.com 在高速设计中,可控阻抗板和线路的特性阻抗问题困扰着许多中国工程师。本文通过简单而且直观的方法介绍了特性阻抗的基本性质、计算和测量方法。 在高速设计中,可控 ...… 查看全部问答∨ |
求助哪位大侠有vxworks 6.8 关于网络协议的说明的pdf文件 最近想了解一下vxworks6.8对网络协议的支持,如wr_net_stack_vxworks_6_programmers_guide_6.8.pdf等文件,如果哪位大侠有麻烦给发一份(windytop@126.com),万分感谢!… 查看全部问答∨ |