- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《ARM嵌入式系统C语言编程3》.pdf
ARM7TDMI结构简介
北京微芯力科技有限公司
主要内容
ARM7TDMI介绍
ARM7寄存器
ARM7指令系统
MMU与协处理器
调试接口
ARM7TDMI介绍
指令流水线 ARM7TDMI使用3级流水线
取指
译码
执行
存储器访问
ARM7TDMI核是冯·诺依曼体系结构 使用单
一32位数据总线传送指令和数据
ARM7TDMI介绍
存储器接口
接口被设计成在使用存储器最少的情况下实现其潜
能
嵌入式ICE-RT逻辑
为ARM7TDMI核提供了集成的在片调试支持
ARM7TDMI体系结构
ARM7TDMI有如下两个指令集
•32位ARM指令集
•16位Thumb指令集
1 指令集压缩
• 比16位体系结构更高的性能
• 比32位体系结构更高的代码密度
ARM7TDMI体系结构
2 Thumb指令集
•32位寻址空间
•32位寄存器
•32位移位器和算术逻辑单元ALU
•32位存储器传送
ARM7框图
ARM7核心框图
ARM7功能框图
ARM7寄存器
ARM7寄存器 Thumb
ARM7寄存器映射
ARM7程序状态寄存器
ARM7程序状态寄存器模式
ARM7异常进入/退出
ARM7异常向量
ARM指令集
位操作
条件执行
32 位 RISC 风格 (Reduced Instruction Set Computer)
数据总线 / 寄存器 均为32位宽
指令执行典型为一个时钟周期执行一条指令
指令发展通过多重Pipeline: 3 for ARM 7, 5 for ARM 9
ARM指令集
RISC 能改进功率消耗
与CISC相比,执行相同的任务占用更少的时钟周期
举例: for (j=0x3000; j!=0; j--){}
RISC指令 (假设计数寄存器为 r12)
again:
SUBS r12,r12,#1 ;1 cycle
BNE again ;3 cycles
exit_loop:
ARM指令集
CISC 执行在16-位 80186平台上
;assume count value in register CX
loop1: DEC CX ;2 cycles
JCXZ exit_loop ;6 cycles
JMP loop1 ;15 cycles
exit_loop
ARM指令集
结论:
RISC 每个循环占用4个时钟周期
CISC每个循环占用23个时钟周期
对于同样的执行效果, 假设IDLE时的功率消耗忽略不记,
RISC将比CISC省电1/5,且执行速度快约5倍!
THUMB指令集
16 位 “Thumb” 指令集的代码量仅有ARM指令集的65%
而与16位存储器系统连接时 性能相当于ARM 的160%
Thumb 的局限性:
不支持乘法和累加指令.
条件跳转限制在 256 byte 偏移范围内,无条件跳转限制为
4K 偏移范围内 (而ARM为 32 Mbytes偏移)
很少指令为有条件的 (所有的ARM指令全为有条件的)
执行效率可能稍慢 典型情况下约为 10%
THUMB指令集
对于简单的指令而言, Thumb 更有效:
Thum
文档评论(0)