- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章ARMT内核的编程模型
第2章 ARM920T内核的编程模型 ARM920T内核编程模型; ARM920T的运行模式; ARM体系结构的寄存器组织; ARM微处理器的异常状态。 2.1 ARM920T的内部功能及特点 ARM9系列微处理器包括如下几种类型的内核: ARM9TDMI:只有内核; ARM940T:由内核、高速缓存和内存保护单元(MPU)组成; ARM920T:由内核、高速缓存和内存管理单元(MMU)组成; 2.1 ARM920T的内部功能及特点 ARM920T处理器的特点: 哈佛结构; 两套指令集:ARM/Thumb; 5级流水线结构:取指(F)、指令译码(D)、执行(E)、数据存储访问(M)、写寄存器(W)。 16KB数据缓存和16KB指令缓存。 2.2 ARM920T内核编程模型 两种工作状态 (1)ARM状态:处理器执行32位的字对齐的ARM指令; (2)Thumb状态:处理器执行16位的半字对齐的Thumb指令。 实现状态切换的方法: 执行BX/BLX指令; 处理器进行异常处理时,将切换到ARM状态。 2.3 ARM体系结构的存储器格式 ARM体系结构中的字长 (1)字(Word):32位二进制数(4个字节); (2)半字(Half-Word):16位二进制数(2个字节); (3)字节(Byte):8位二进制数。 指令长度可以是32位,也可以是16位; 数据可以是字、半字或字节,字和半字需要对齐。 2.3 ARM体系结构的存储器格式 大端格式和小端格式 ARM体系结构将存储器看成从0地址开始的字节的线性组合。 (1)大端格式:字数据的高字节存储在低地址单元中,而字数据的低字节则存放在高地址单元中 31 24 23 16 15 8 7 0 字地址 2.3 ARM体系结构的存储器格式 大端格式和小端格式 ARM体系结构将存储器看成从0地址开始的字节的线性组合。 (2)小端格式:字数据的高字节存储在高地址单元中,而字数据的低字节则存放在低地址单元中 31 24 23 16 15 8 7 0 字地址 2.4 处理器模式 ARM920T支持以下7种运行模式: 用户模式(USR):正常的程序执行状态; 快速中断模式(FIQ):用于高速数据传输或通道处理; 外部中断模式(IRQ):用于通用的中断处理; 管理模式(SVC):操作系统使用的保护模式; 数据访问中止模式(ABT):当数据或指令预取中止时进入该模式,可用于虚拟存储及存储保护; 系统模式(SYS):运行具有特权的操作系统任务; 未定义指令中止模式(UND):当未定义的指令执行时进入该模式。 2.5 寄存器组织 ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。 这些寄存器不能被同时访问,具体哪些寄存器可编程访问取决于微处理器的工作状态和所处的运行模式。 但通用寄存器R0~R14、程序计数器PC、一个或两个状态寄存器都是可访问的。 2.5.1 ARM状态下的寄存器组织 ARM状态下通用寄存器包括R0~R15,可以分为以下三类: 1. 未分组寄存器R0~R7 在所有的运行模式下,未分组寄存器都指向同一个物理寄存器,未被系统用做特殊的用途。 2. 分组寄存器R8~R14 对于分组寄存器,它们每一次所访问的物理寄存器与处理器的当前运行模式有关。 2.5.1 ARM状态下的寄存器组织 2. 分组寄存器R8~R14 分组寄存器R8~R14取决于当前的处理器模式,每种模式有专用的分组寄存器用于快速异常处理。 寄存器R8~Rl2可分为两组物理寄存器。一组用于FIQ模式,另一组用于除FIQ以外的其他模式。第1组访问R8_fiq~R12_fiq,允许快速中断处理。第二组访问R8_usr~R12_usr,寄存器R8~R12没有任何指定的特殊用途。 2.5.1 ARM状态下的寄存器组织 2. 分组寄存器R8~R14 寄存器R13~R14可分为6个分组的物理寄存器。1个用于用户模式和系统模式,而其他5个分别用于svc、abt、und、irq和fiq五种异常模式。访问时需要指定它们的模式,如:R13_<mode>,R14_<mode>;其中:<mode>可以从usr、svc、abt、und、irq和fiq六种模式中选取一个。 2.5.1 ARM状态下的寄存器组织 2. 分组寄存器R8~R14 寄存器R13通常用作堆栈指针,称作SP。每种异常模式都有自己的分组R13。通常R13应当被初始化成指向异常模式分配的堆栈
您可能关注的文档
最近下载
- 小班数学活动《小动物在哪里》PPT课件.ppt
- 全国节约用水知识竞赛题库(含答案).pdf
- 机动护士培训【30页】.pptx
- unit 2(单元测试)-2024-2025学年人教PEP版英语三年级上册.doc VIP
- 控制系统仿真与计算机辅助设计第三版薛定宇习题答案.pdf
- 土地资源管理学(第二版)张正峰,第一至第十二章知识点.docx
- (人教2024版)化学九年级上册 跨学科实践:基于碳中和理念设计低碳行动方案 课件.pptx
- 化工技术经济可行性研究报告书1116.doc
- 宋元考古课件:磁州窑.ppt
- 2023年西南民族大学计算机科学与技术专业《计算机网络》科目期末试卷B(有答案).docx VIP
文档评论(0)