- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]嵌入式系统原理及应用-Chapter3-ARM7TDMI简介
第三章ARM7TDMI简介 主要内容 概述 结构和框图 3级流水线结构 ARM处理器的寻址方式 异常 主要内容 中断延迟 复位 指令的预取和自修改代码 协处理器接口 调试接口简介 3.1 ARM7TDMI概述 ARM7TDMI概述: 3.1 ARM7TDMI概述 3.1 ARM7TDMI概述 3.1 ARM7TDMI概述 3.2 ARM7TDMI的模块和内核框图 主核周围有2个扫描线,这是为外部调试服务的扫描逻辑。 主核和外部的总线连接是通过数据总线模块进行的。 数据总线的输入和输出是分开的,而地址线是共用的,也就是说共有32条输出数据总线、32条输入数据总线和32条地址总线。 TAP(test accessing port):用于ARM进行测试和调试。一般外部调试主机使用JTAG通过串行通信来访问ARM处理器,这是一种比较方便的、以ARM为核的单片机的调试方法。 ICE(In Circuit Emulator)在线仿真是一个支持片上调试的单元。 从图上可以看出:这个结构只包括两个部分:一部分是ARM内核和总线;另一个部分是支持仿真调试的关联部件。 ETM接口简介 简介 3.2 ARM7TDMI的模块和内核框图 3.2 ARM7TDMI的模块和内核框图 3.3 三级流水线结构 三级流水线 3.3 三级流水线结构 三级流水线 存储器访问 存储器访问 存储器访问 3.4 ARM处理器寻址方式 (1).寄存器寻址 (2).立即寻址 (3).寄存器偏移寻址 (4).寄存器间接寻址 (5).基址寻址 (6).多寄存器寻址 (7).堆栈寻址 (7).堆栈寻址 (7).堆栈寻址 (7).堆栈寻址 (8).块拷贝寻址 (7). 相对寻址 简介 异常的入口和出口处理 异常的入口和出口处理 进入异常 进入异常 进入异常 退出异常 快速中断请求 中断请求 中止 中止——预取指中止 中止——数据中止 中止——数据中止 中止——数据中止 软件中断指令 未定义的指令 未定义的指令 异常优先级 异常优先级 3.6 中断延迟 最大中断延迟 3.6 中断延迟 最大中断延迟 3.6 中断延迟 最大中断延迟 3.6 中断延迟 最小中断延迟 3.7 复位 复位 3.7 复位 复位 3.8 指令的预取和自修改代码 3.8 指令的预取和自修改代码 3.8 指令的预取和自修改代码 3.8 指令的预取和自修改代码 预取可能存在的问题 3.8 指令的预取和自修改代码 预取可能存在的问题 3.8 指令的预取和自修改代码 指令存储器屏障(IMB) 3.9 协处理器接口 简介 3.9 协处理器接口 简介 3.9 协处理器接口 可用的协处理器 3.10 调试接口简介 典型调试系统 谢谢! 当读取PC时,得到的指令地址比正在执行指令的地址落后两条指令: 对于ARM指令,得到的地址是它自身地址+8; 对于Thumb指令,得到的地址是它自身地址+4; 虽然生产厂商可以选择预取指令的数目,但是仍然可以保证读取PC所得到地址比它自身地址落后两条指令。 在预取之前要进行转移预测,例如在执行一条分支指令,此时要判断是预取分支指令之后的指令还是转移目标地址的指令。 ??? ??? ??? 内核流水性 执行 译码 预取 LDR R0,AddInstr STR R0,NextInstr NextInstr SUB R1,R1,#1 . . . AddInstr ADD R1,R1,#1 (1) (2) (4) (3) 在存储器中的指令可能在它被预取之后,被执行之前发生改变。如果发生这种情况,对存储器中的指令进行修改一般不能阻止已取指的指令的执行。 LDR R0,AddInstr STR R0,NextInstr LDR R0,AddInstr STR R0,NextInstr LDR R0,AddInstr SUB R1,R1,#1 1.从地址(1)预取指; 2.从地址(2)预取指,“LDR”指令进入译码阶段; 3.从地址(3)预取指,“STR”指令进入译码阶段,同时“LDR”指令进入执行阶段,结果是将地址(4)的指令装入R0; 4.继续预取指,同时“STR”指令进入执行阶段,结果是将“ADD”指令存入地址(3),“SUB”指令被覆盖; 5.虽然“SUB”指令在存储器中被覆盖,但是它仍存在于流水线上,并进入执行阶段; ADD R1,R1,#1 (3) SUB R1,R1,#1 STR R0,NextInstr ??? ??? SUB R1,R1,#1 ???
您可能关注的文档
最近下载
- 2024年广东省惠州市惠城区小升初数学试卷.doc VIP
- 《药学英语》课程教学大纲.doc VIP
- 高中名师高一新生学法指导讲座:迈好高中第一步.ppt VIP
- Preventing Slips, Trips Falls USDA防止滑倒旅行和跌倒美国农业部.ppt VIP
- 个人简历——【标准模板】.doc VIP
- 手表产品知识培训课件.pptx VIP
- 《阿甘正传》对白中英文对照.pdf VIP
- 1.1 正数和负数 第2课时 有理数 课件2024—-2025学年沪科版数学七年级上册.pptx VIP
- 新人教统编版高中物理选择性必修第三册全册教案教学设计(1-5章;含章末综合与测试).pdf VIP
- 5-2 认识浇水工具(课件)粤教版二年级下册综合实践活动.ppt VIP
文档评论(0)