读书频道 > 系统 > 其他综合 > ARC EM处理器嵌入式系统开发与编程
3.5.2 辅助寄存器组
2015-11-12 16:55:30     我来说两句 
收藏    我要投稿   
本书以实际的嵌入式系统产品应用与开发为主线,力求透彻讲解开发中所涉及的庞大而复杂的相关知识。第1~5章为基础篇,介绍ARC嵌入式系统的基础知识和开发过程中需要的一些理论知识,具体包括ARC嵌入式系统概述、  立即去当当网订购

辅助寄存器组包含处理器的状态寄存器和控制寄存器,构成独立的寻址空间。如表3-7所示是ARCv2 ISA定义的辅助寄存器列表。一些编程常用的辅助寄存器功能及域定义请参考附录A。
表3-7 ARCv2 ISA定义的辅助寄存器列表

 


1.指令访问权限定义

LR/SR指令可以对辅助寄存器组中的控制和状态寄存器进行访问操作。为了保障处理器的正常工作,一些影响处理器运行状态的辅助寄存器只允许在特定的模式下进行访问和控制。表3-8列出了辅助寄存器在不同模式(内核模式、用户模式、调试模式)下的指令访问权限助记符。这些访问权限助记符将用于本小节中具体的辅助寄存器介绍。



在表3-8中,符号项●表示允许在该模式下进行访问和操作,P表示该模式下的访问操作将报告特权违例异常(Privilege Violation exception),I表示该模式下的访问操作将报告非法指令异常(Illegal Instruction exception),-表示该模式下的访问操作将被忽略(在这种情况下,读操作返回值为0,写操作将转换为空操作)。

2.硬件配置寄存器

ARC处理器具有非常灵活的可配置性,各功能模块能根据应用需求进行裁剪和属性配置。为了方便开发人员在嵌入式软件开发或调试阶段查询硬件的具体配置信息,在辅助寄存器组中有一类特殊的辅助寄存器—BCR(Build Configuration Register,硬件配置寄存器)用于保存硬件中处理器及其各功能模块的版本信息和详细配置信息。例如RF_BUILD寄存器中定义了寄存器文件硬件代码的当前版本信息;是3端口还是4端口实现方式;是采用默认配置(32个寄存器)还是精简配置(16个寄存器);是否支持多体寄存器结构,如果采用多体寄存器结构的话,除主寄存器体之外的其余寄存器体包含几个核心寄存器等。

BCR寄存器只允许读访问操作,这类寄存器在辅助寄存器中分配在0x60~0x7F以及0xC0~0xFF地址区间。

3.基准辅助寄存器

辅助寄存器组中的辅助寄存器可以分为两大类:

第一类称为基准辅助寄存器,存在于所有配置的ARC处理器中,包含处理器正常工作所必需的程序计数器PC寄存器、状态寄存器、分支跳转及中断异常处理所需的辅助寄存器等。ARCv2 ISA中定义的基准辅助寄存器如表3-9所示。



 

第二类称为可选的辅助寄存器。只有当相应的硬件功能模块被配置时,这些辅助寄存器才可以被访问和操作。

4.可选的辅助寄存器

当指令集配置了对零开销循环功能的支持(LP_SIZE>0)时,其相应增加的辅助寄存器如表3-10所示。



当指令集配置了代码密度功能(CODE_DENSITY==1)时,一些指令中的操作数将隐式显示,微操作的运算基于索引寄存器进行。这类指令包括JLI_S、LDI_S和EI_S,其相应增加的辅助寄存器如表3-11所示。


 

 5.主机调试辅助寄存器

当配置了外部主机调试接口时,其相应增加的辅助寄存器如表3-12所示。



6.定时器辅助寄存器

ARCv2 ISA支持配置两个32位定时器和一个64位实时寄存器(RTC)。当相应的定时器被配置时,增加的辅助寄存器分别如表3-13、3-14和3-15所示。




7.存储系统辅助寄存器

如第2章所介绍的,基于ARCv2 ISA的ARC处理器存储系统可配置指令ICache、数据DCache、ICCM、DCCM、存储保护单元等。

当配置了指令ICache时,根据配置选项IC_FEATURE_LEVEL所相应增加的辅助寄存器如表3-16所示。



 

 当配置了数据DCache时,根据配置选项DC_FEATURE_LEVEL所相应增加的辅助寄存器如表3-17所示。


 

DCCM和ICCM对应的辅助寄存器组如表3-18及3-19所示。


 

基于 ARCv2 ISA的处理器支持可选内存保护单元,它通过一系列控制寄存器来定义MPU的行为。状态寄存器用来指示内存保护冲突的来源。表3-20列出了MPU辅助寄存器。


 

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:3.5.1 核心寄存器组
下一篇:3.6 工作模式
相关文章
图文推荐
2.7.12 使用仿真器查
2.7.11 栈和寄存器组
2.7.8 出栈
2.7.7 压栈
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站