- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM7简介
华东师范大学计算机系嵌入系统实验室, Tel: 021
www .
第一章ARM7 内核
ARM 的设计精髓是结构简单。ARM7 内核采用了精简指令集计算机(RISC )设计思想,所用
逻辑门数较少,硅片面积小,但具有高性能、低功耗的特点,这使得ARM7 成为嵌入式系统的理想
选择。ARM7 内核包括ARM7TDMI (-S )、ARM720T 等,ARM7TDMI 处理器内核已经许可给许
多世界顶级半导体公司,它是第一个包括 Thumb 指令集、快 乘法指令和嵌入式 ICE 调试技术的
内核。
完整的 ARM 内核包括很多内容,如体系结构、指令系统、存储结构、调试接口等。本章将用
较少的篇幅,从应用和编程者的角度,对ARM7 内核的特点作一个精简的描述。
1.1 流水线(Pipeline)
ARM7 内核是冯• 诺伊曼体系结构,数据和指令使用同一条总线。ARM7 CPU 的核心是一条指令
流水线,流水线用来处理从程序存储器中取出的指令。ARM7 使用的是三级流水线结构,执行
ARMv4 指令集(ISA)。
三级流水线结构是流水线技术中较简单的 现形式,并且不会出现多级流水线中会遇到的写前
读 (read-before-write )等数据相关问题。流水线的三级结构是由硬件 现的,在执行一条指令的
同时,译码另一条指令并读取第三条指令。流水线技术大大提高了 CPU 的指令吞吐率,使得大多
数 ARM 指令可以在一个时钟周期内完成。在执行无跳转的线性代码时,流水线的效率最高。当出
现分支时,流水线将被清空,需要重新填满才能恢复到全速执行。后面我们将看到 ARM 指令集中
许多有趣的特性,这些特性使得代码中小的跳转可以被平滑掉,从而使指令流可以更好地通过流水
线。由于流水线是CPU 的一部分,它对程序员是透明的。但必须记住:PC 指向的是正在被执行指
令的前8 个字节位置,当计算与PC 有关的地址时,这一情况需要注意。例如指令:
0x4000 LDR PC, [PC, #4]
会把地址 PC+4 的内容载入 PC,但由于 PC 指向的是正在执行指令的前 8 个字节,所以地址
0x400C 中的内容会被载入PC,而不是像你可能以为的那样载入地址0x4004 中的内容。
1.2 寄存器
ARM7 是 Load-Store (装载-存储)结构的,所以为了执行任何数据处理指令,首先要把数据从
存储器中装载到寄存器中,在数据处理指令执行结束后,需要的话数据再被保存到存储器中。
ED 实验室内部参考资料
1/ 14
PDF 文件使用 pdfFactory Pro 试用版本创建 ÿ
ARM 的中央寄存器集是 16 个用户寄存器 R0 R15。这些寄存器均是32 位宽度,R0 R12
没有其他特殊功能,寄存器 R13 R15 在CPU 中有特殊功能。R13 被用作栈指针 (stack pointer,
SP)。R14 被称为链接寄存器(link register, LR),当调用一个函数时返回地址被自动保存到链接
寄存器,在函数返回时有效。这使得快 进入和返回 “叶”函数(不调用其他函数的函数)成为可
能。如果函数是分支的一部分 (即该函数将调用另一个函数),链接寄存器必须入栈 (R13)。
R15 是程序计数器(program counter, PC)。有趣的是,许多指令也可以在R13 R15 中执行,
就像它们是标准的用户寄存器。
文档评论(0)