网站大量收购独家精品文档,联系QQ:2885784924

第3章 Cortex-M3 指令系统综述.ppt

  1. 1、本文档共275页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 Cortex-M3 指令系统综述

*;*;3.1 指令基础;用 户 层;3.1.1程序设计语言的层次结构;为了提高程序设计的效率,提出了汇编语言的概念。将机器码用指令助记符表示,就比机器语言方便得多。 汇编语言的编程效率和程序的可读性都有所提高,但汇编语言同机器语言非常接近,它的书写风格在很大程度上取决于特定计算机的机器指令,所以它仍然是一种面向机器的语言。 ;为了更好地进行程序设计,提高程序设计的效率,人们又提出了高级语言程序设计的概念。如C、JAVA等,这类高级语言对问题的描述十分接近人们的习惯,并且还具有较强的通用性。这就给程序员带来极大的方便。 当然这类高级语言在执行前必须转换为汇编语言或其它中间语言,最终转换为机器语言。通常有两种方法实现这个转换:编译或解释。 ;高级语言(High Level Language) 面向问题的程序设计语言 汇编语言(Assembly Language) 将机器指令???助记符号代替而形成的一种语言 本质上是机器语言 优势:可以直接、有效地控制计算机硬件,容易产生运行速度快、指令序列短小的高效率目标程序 劣势:与处理器密切有关,需熟悉硬件和细节,编程繁琐,调试、维护、移植困难 机器语言(Machine Language) 底层的计算机语言,对应机器指令;3.1.2 指令周期和时序;举例:以ARM7微处理器为例,所有存储器的传输周期都可以被归结到以下四种类型之一: (1)不连续周期:ARM请求传输到某个地址或者从某个地址传输,但这个地址跟前一个周期用到的地址没有联系,这种情况所需的时间称为访问一个非顺序的内存位置的周期,简称为N 周期。 (2)连续周期:ARM请求传输到某个地址或者从某个地址传输,此地址或者同上一个周期的地址相同或者是上一个周期的地址之后一个字。这种情况所需的时间称为访问一个顺序的内存位置的周期,简称为S 周期。 ;(3)内部周期:ARM不请求一个传输,因为它执行一个内部功能,同时不执行有效的预取。这种情况所需的时间称为内部周期,简称为I 周期。 (4)协处理器寄存器传输周期:ARM希望通过数据总线同协处理器通信,ARM 与一个协处理器之间在数据总线(对于无缓存的 ARM)或协处理器总线(对于有缓存的 ARM)上写传送一个字的周期,简称C 周期。;ARM 指令在时序上是 S、N、I 和 C 周期的混合。各种类型的周期都必须至少与 ARM 的时钟周期一样长。 对于典型的 SRAM 系统,所有类型的周期是最小长度,内存系统也可以伸展它们,如典型的 DRAM 系统伸展如下: N 周期伸展为最小长度的两倍,这是因为 DRAM 在内存访问是非顺序时要求更长的时间。 S 周期通常是最小长度,但有时也会被伸展成 N 周期的长度,如从一个内存“行”的最后一个字移动到下一行的第一个字时。 I 周期和 C 周期总是最小长度。 ;例如:在8MHz的ARM微处理器中,一个 S 周期是125ns,而一个 N 周期是 250ns。一个 8MHz的ARM微处理器可以与一个给出125ns 的 N 周期的 RAM 系统相连接。 处理器的速率是 8MHz 只是简单的意味着如果你使任何类型的周期,在长度上小于 125ns 则它不保证能够工作。 ;3.1.3 程序的执行过程;3.1.3 程序的执行过程;3.2 ARM汇编语言;3.2.1指令和指令格式;3.2.1指令和指令格式;ARM指令代码一般可以分为5个域: 第1个域是4位[31:28]的条件码域,4位条件码共有16种组合; 第2个域是指令代码域[27:20],除了指令编码外,还包含几个很重要的指令特征和可选后缀的编码; 第3个域是地址基址Rn,是4位[19:16],为R0~R15共16个寄存器编码; 第4个域是目标或源寄存器Rd,是4位[15:12],为R0~R15共16个寄存器编 码; 第5个域是地址偏移或操作寄存器、操作数区[11:0]。;3. 汇编指令格式 用助记符表示的ARM指令一般格式如下: opcode {cond} {S}Rd,Rn {,OP2} 格式中 的内容必不可少,{ }中的内容可省略。 如opcode是指令助记符,是必须的。而{cond}为指令的执行条件,是可选的,缺省的情况下表示使用默认条件AL(无条件执行)。 ; opcode表示操作码,如ADD表示算术加法。 {cond}表示指令执行的条件域,如EQ、NE等。 {S}决定指令的执行结果是否影响APSR的值,使用该后缀则指令执行的结 果影响APSR的值,否则不影响。 Rd表示目的寄存器。 Rn表示第一个操作数,为寄存器。 op2表示第二个操作数,可以是立即数、寄存器和寄存器移位操作数。 ;例如: 上述指令ADDEQS

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档