第7章ARM微处理器体系结构要点分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM处理器内核流水线工作流程 如何判定溢出 ARM体系中存储空间 ARM体系使用单一的平板地址空间。该地址空间的大小为232个8位的字节单元,器其范围为0到232 - 1 ARM地址空间也可以看作230个32位的字单元,这些字单元的地址可以被4整除,也就是说该地址的低两位为00(即地址线的A0=0,A1=0)。地址为A的字数据包括地址为A、A+1、A+2、A+3这4个字节单元的内容 ARMv4及以上版本,ARM地址空间也可以看作231个16位的半个单元,这些字单元的地址可以被2整除,也就是说该地址的最低位为0 (即地址线的A0=0) 。地址为A的字数据包括地址为A、A+1这2个字节单元的内容 各存储单元的地址为32位无符号数,可以进行常规的整数运算。这些运算结果进行232 取模。即发生溢出时,地址发生卷绕 大/小端形式的决定方式 小端与INTEL兼容, ?大端与MOTOROLA的CPU兼容 ARM CPU与用户程序采用大/小端形式的方式要匹配 用户编写的汇编程序中采用大/小端形式由编译器的设置决定 ARM CPU采用大/小端形式,由启动代码的开始部分通过设置ARM核内部协处理器(CP15)的内容决定(即通过程序动态配置) 实际ARM启动代码 AREA Init,CODE,READONLY ENTRY ; 相当于C语言中的main函数 ResetEntry b ResetHandler ;ARM CPU执行的第一条指令 b HandlerUndef ;handler for Undefined mode b HandlerSWI ;handler for SWI interrupt b HandlerPabort ;handler for PAbort b HandlerDabort ;handler for DAbort b . ;reserved b HandlerIRQ ;handler for IRQ interrupt b HandlerFIQ ;handler for FIQ interrupt 如果需要详细了解各种异常返回时PC值的处理情况, 请参考《ARM体系结构与编程》书籍的268页,PDF电子书的278页。 作业 7.1、7.2、7.3、7.5 * 前身为 Acorn计算机公司 另外也提供基于ARM架构的开发设计技术 软件工具, 评估板, 调试工具,应用软件, 总线架构, 外围设备单元,等等 开发工具中的内存显示格式 字数据0内存中的格式 */94 0x78 0x56 0x34 0x12 大端格式 0x12 0x34 0x56 0x78 小端格式 0000地址 基于ARM内核的芯片访问外设的方法是使用存储器映射的I/O,为每个端口寄存器都分配一个地址。 通常,从这些地址装载数据用于读入,向这些地址保存数据用于输出。有些地址的装载和保存用于外设的控制功能,而不是输入或输出功能。 存储器映射的I/O位置的操作不同于正常的存储器位置的操作(数据读取后不发生变化)。存储器映射的I/O空间不能使用高速缓存技术。 存储器映射的I/O * */94 异常exception 异常指正常执行的程序流因故被暂时中止; ARM支持7种异常类型(对应5种异常模式); 若同时发生多个异常,将按优先级顺序处理; 异常类型 对应异常模式 优先级 复位 Supervisor 1(最高优先级) 数据中止 Abort 2 FIQ FIQ 3 IRQ IRQ 4 指令预取中止 Abort 5 未定义指令 Undefined 6 SWI Supervisor 7(最低优先级) 优先级降低 * */94 提示:中断(IRQ和FIQ)是异常的一种特殊情况。 复位异常Reset 当nRESET引脚信号变为低电平时, ARM立即停止执行当前指令,产生复位异常; 当nRESET再次变为高电平后,ARM处理器执行下列操作: 1.强制CPSR中的M[4:0]变为b10011,进入管理模式; 2.置位CPSR中的I和F位; 3.清零CPSR中的T位; 4.强制PC从地址0x00开始取第一条指令; 5.返回到ARM状态并恢复执行; * */94 中止异常Abort 中止异常包括指令预取中止和数据中止; 预取中止时,ARM将预取的指令标记为无效,但在指令到达流水线的执行阶段时才进入异常。如果指令在流水线中因为发生分支而没有被执行,中止将不会发生。 数据中止时,数据访问被记为无效,中止程序应根据中止原因作出处理,使数据可以被访问。 中止异常表示对存储器的访问失败

文档评论(0)

挺进公司 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档