嵌入式微处理器体系结构复习资料

合集下载

嵌入式复习资料精

嵌入式复习资料精

第一章嵌入式系统基础知识1.嵌入式系统基础知识计算机系统的两个发展分支通用计算机与嵌入式计算机嵌入式系统的一般定义、IEEE定义一般定义:以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。

是将应用程序、操作系统和计算机硬件集成在一起的系统。

(技术角度)嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。

(系统角度)广义定义:任何一个非计算机的计算系统。

IEEE (国际电气和电子工程师协会)定义:嵌入式系统是“用于控制、监视或者辅助操作的机器、设备或装置”。

嵌入式系统4个组成部分嵌入式微处理器、外围硬件设备、嵌入式操作系统、用户应用程序嵌入式系统的三个基本要素嵌入性、专用性、计算机系统嵌入式系统的软硬件特点硬件方面:稳定性、低功耗、体积受限、看门狗电路、成本低、系统资源少软件方面:实时性、可裁剪性、精简性、人机界面要求不高嵌入式系统的硬件架构以嵌入式处理器为中心,配置存储器、I/0设备、通信模块以及电源等必要的辅助接口组成。

嵌入式系统的硬件核心嵌入式微处理器嵌入式处理器的种类嵌入式微处理器、嵌入式微控制器、嵌入式DSP、嵌入式SOCS0CSOC是指在单芯片上集成数字信号处理器、微控制器、存储器、数据转换器、接口电路等电路模块,可以直接实现信号采集、转换、存储、处理等功能。

2.嵌入式系统硬件嵌入式微处理器的体系结构冯诺依曼结构:单一的程序和数据总线。

哈佛结构:独立的程序和数据总线。

RISC(精简指令集计算机)的概念及思想精华1979年,美国加州伯克利分校提出了RISC的概念,基本思想是尽量简化计算机指令功能,只保留那些功能简单,能在一个节拍内执行完成的指令,而把较复杂的功能用一段子程序实现。

RISC思想的精华就是通过简化计算机指令功能、简化计算机指令格式,使指令的平均执行周期减少,同时大量使用通用寄存器来提高计算机的工作主频,提高程序的速度。

嵌入式知识点复习

嵌入式知识点复习

1、嵌入式系统是以应用中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2、Boot loader主要功能是:系统初始化、加载和运行内核程序。

3、微处理器有两种总线架构,使用数据和指令使用同一接口的是冯诺伊曼,分开的指令和数据接口、取指和数据访问可以并行进行的是哈弗结构。

4、ARM微处理器有_七_种工作模式,它们分为___非特权模式__、__特权模式两类。

其中用户模式属于____非特权模式___。

5、ARM处理器中CPSR和SPSR的中文名称分别为:程序状态寄存器和程序状态保存寄存器。

3、下面指令执行后,改变R1寄存器内容的指令是 D 。

A.TST R1,#2B.ORR R1,R1,R1C.CMP R1,#2D.EOR R1,R1,R14、在ARM处理器中, A 寄存器包括全局的中断禁止位,控制中断禁止位就可以打开或者关闭中断。

A.CPSR B.SPSR C.PC D.IR6、在下列ARM处理器的各种模式中, D 模式有自己独立的R8-R14寄存器。

A.系统模式(System) B.终止模式(Abort)C.中断模式(IRQ) D.快中断模式(FIQ)5.Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作?(7分)答:Boot Loader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。

通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。

作用就是系统初始化,分配内存,将应用代码从FLASH中导入内存,最后将运行指针指向这段代码,把控制权交给应用程序。

知识点复习1、嵌入式系统的定义,嵌入式系统的体系结构,嵌入式系统的组成,嵌入式系统的特点。

定义:以应用为中心,以计算机技术为基础,软硬件可以剪裁,适应应用系统对功能、可靠性、成本、体积、重量、功耗严格要求的专用计算机系统。

嵌入式考试复习要点

嵌入式考试复习要点

1.1.1嵌入式系统的定义1.1.2嵌入式系统的组成1.2嵌入式处理器分类1.3.2 实时操作系统1.3.3 常见的嵌入式操作系统各个操作系统的特点1.4 解决优先级翻转问题的两种方法说出方法即可2.1 交叉编译环境的含义结合实验环境理解2.4 板级支持包概念3.1.1 ARM体系结构特点Thumb指令集与ARM指令的区别3.1.2 ARM体系结构包含哪几部分ARM的流水线结构3级流水线P62 ARM存储器结构P63 DMA3.1.3ARM处理器内核ARM7TDMI处理器内核ARM9TDMI处理器内核3.2.1 数据类型3.2.2 处理器模式3.2.3 处理器工作状态ARM与THUMB两种状态的区别3.2.4 寄存器组织通用寄存器、状态寄存器、程序计数器3.2.5 异常3.2.6 存储器格式大端与小端的区别3.3 掌握ARM基本寻址方式能读懂简单的ARM汇编指令程序段3.5 ARM9与ARM7的比较流水线方面两者区别及特点4.2.1 熟悉ARM汇编支持的伪指令4.2.3 ARM汇编语言程序的基本结构注意ARM汇编程序关键字的含义4.3 基于ARM的硬件启动程序包含那几部分工作?4.4 基于ARM的C语言与汇编语言混合编程掌握寄存器的使用规则、参数的传递规则4.4.3 C语言调用汇编程序方法注意参数的传递(有可能出程序解析题)5.1 S3C2410简介其特点,(填空题)5.1.1 S3C2410A特点掌握其特点,知识点较多体系结构、中断控制器5.2.1 S3C2410A的I/O口工作原理多少的口,分了几组掌握如何对I/O的寄存器编程例如:G口GPGCON、GPGGDAT的相应位如何设置。

(可能会有些编程题)5.2.2 I/O口编程实例掌握P231的例子。

5.3.1 ARM中断原理5.3.2 S3C2410A的中断控制器多少中断源、中断请求信号、优先级逻辑、中断的类别。

5.4 DMA的工作原理理解DMA工作原理,能说明。

嵌入式复习课整理

嵌入式复习课整理

第1章复习提纲1、嵌入式系统的定义2、嵌入式系统的分类,简述你所学过的嵌入式系统3、几种常见的嵌入式操作系统WindowsCE、uC/OSII、uCLinux、VxWorks、Palm OS等4、嵌入式系统的应用领域信息家电、移动计算设备、汽车电子、工业控制、机器人、军事领域等。

、第2章嵌入式系统体系结构2、目前应用比较广泛ARM处理器系列是:ARM7、ARM9、ARM9E、ARM10,各系列特点……3、ARM920TDMI命名含义4、ARM指令集和Thumb指令集特点5、ARM920T微处理器的指令流水采用了典型的RISC五级流水线结构,将指令执行过程分为取指、译码、执行、访存和写回5个步骤。

6、ARM处理器支持下列数据类型:字节8位;半字16位(占用两个字节)、字32位(占用4个字节)。

7、ARM处理器的7种工作模式8、ARM9的存储组织结构:32位长的地址,它把存储器看成是0地址开始的字节的线性组合,即一个地址对应于一个存储字节,其范围是232个字节(8位二进制数)。

9、ARM9处理器的内部总共有37个32位的寄存器,其中31个用作通用寄存器,6个用作状态寄存器,每个状态寄存器只使用了其中的12位。

这37个寄存器根据处理器的状态及其工作模式的不同而被安排成不同的组。

10、几个重要的寄存器:R13—堆栈指针、 R14—链接寄存器 R15—程序计数器、 CPSR -状态寄存器 SPSR —备份的状态寄存器 11、CPSR12、什么是异常13、什么是异常向量表异常出现后处理器强制从异常类型所对应的固定存储器地址开始执行程序,这些存储器地址称为异常向量表。

14、进入异常时,ARM9内核完成以下动作:(1)将下一条指令的地址保存在相应的LR 寄存器中。

(2)将CPSR 复制到相应的SPSR 中。

(3)迫使CPSR 模式位M[4:0]的值设置成对应的异常模式值 (4)迫使PC 从相关的异常向量取下一条指令。

《微处理器与嵌入式系统设计》复习要点

《微处理器与嵌入式系统设计》复习要点

《微处理器与嵌入式系统设计》复习要点第一章嵌入式系统概述嵌入式系统的共性:特定的使用场合或工作环境,是某个大型系统的一部分,完成一个具体的功能,专用性强,应用于特定的平台;功耗低,且一般要求高实时性和高可靠性,系统程序一般都是固化在内存中,以提高运行速度和可靠性;功能单一,模块的设计和实现较为简单;人机交互界面简单;开发时往往有上位机和下位机或主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。

MCU:Micro Control Unit,嵌入式微控制器(俗称单片机),把CPU、随机存储器RAM、只读存储器ROM、I/O、中断系统、定时器/计时器、各种功能外设等资源集成到一个芯片上的微型计算机系统。

MPU:Micro Processor Unit,嵌入式微处理器。

MPU是由通用计算机中的CPU(微处理器)演变而来,可以理解为增强版的CPU,即不带外围功能器件。

ARM:是一家公司,也是一类技术和产品的统称。

ARM公司设计的芯片主要涉及嵌入式移动设备领域,指令集更加紧凑简单,功耗和成本更低,在移动消费电子领域占据着很大的市场份额。

嵌入式系统开发流程:需求分析、系统总体设计、系统软硬件设计、系统测试第二章 ARM Cortex-M3内核与STM32微控制器ARM存储模式(2种)小端模式:数据的低字节存放在内存低地址处,数据的高字节存放在内存高地址处。

大端模式:数据的高字节存放在内存低地址处,数据的低字节存放在内存高地址处。

注意书上的相关例子!ARM指令集架构系统设计有两种方式:RISC(Reduced Instruction Set Computer)精简指令集计算机CISC(Complex Instruction Set Computer)复杂指令集计算机流水线技术:每条指令分解为多步,并让各步操作重叠,从而实现几条指令并行处理的技术,称为流水线技术。

ARM Cortex-M3微控制器采用的三级流水线: 取指—译码—执行流水线的技术指标通常用吞吐率、加速比和效率三项指标来衡量。

微处理器系统结构及嵌入式系统设计答案全

微处理器系统结构及嵌入式系统设计答案全

1.2以集成电路级别而言,计算机系统的三个主要组成部分是什么?中央处理器、存储器芯片、总线接口芯片1.3阐述摩尔定律。

每18个月,芯片的晶体管密度提高一倍,运算性能提高一倍,而价格下降一半。

1.5什么是SoC什么是IP核,它有哪几种实现形式?SoC:系统级芯片、片上系统、系统芯片、系统集成芯片或系统芯片集等,从应用开发角度出发,其主要含义是指单芯片上集成微电子应用产品所需的所有功能系统。

IP核:满足特定的规范和要求,并且能够在设计中反复进行复用的功能模块。

它有软核、硬核和固核三种实现形式。

1.8什么是嵌入式系统?嵌入式系统的主要特点有哪些?概念:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗的严格要求的专用计算机系统,即“嵌入到应用对象体系中的专用计算机系统”。

特点:1、嵌入式系统通常是面向特定应用的。

2 、嵌入式系统式将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合的产物。

3 、嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能。

4 、嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理器系统软件和应用软件的要求也和通用计算机有以下不同点。

①软件要求固体化,大多数嵌入式系统的软件固化在只读存储器中;②要求高质量、高可靠性的软件代码;③许多应用中要求系统软件具有实时处理能力。

5 、嵌入式系统和具体应用有机的结合在一起,它的升级换代也是和具体产品同步进行的,因此嵌入式系统产品一旦进入市场,就具有较长的生命周期。

6 、嵌入式系统本身不具备自开发能力,设计完成以后用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。

2.2完成下列逻辑运算(1)101+1.01 = 110.01(2) 1010.001-10.1 = 111.101(3) -1011.0110 1-1.1001 = -1100.1111 1(4)10.1101-1.1001 :=1.01(5)110011/11 = 10001(6)(-101.01)/(-0.1)=:1010.1 2.3完成下列逻辑运算(1)1011 0101 V 1111 0000==1111 0101(2)1101 0001 A 1010 1011==1000 0001(3)1010 1011 ® 0001 1100==1011 01112.4选择题(1)下列无符号数中最小的数是(A ) oA. (01A5)HB. (1,1011,0101)C. (2590) DD. (3764)O(2)下列无符号数中最大的数是(B ) oA. (10010101)BB. (227)OC. (96)HD. (143)D(3)在机器数(A )中,零的表示形式是唯一的。

嵌入式期末复习提纲(包含答案)

嵌入式期末复习提纲(包含答案)

欢迎共阅考试题型:•1、判断题 10分•2、填空题 20分•3、选择题 20分•4、简答题 30分(5个)•5、应用题 20分(3个)•6、名字解释复习资料:•书本•PPT课件,平时课堂例题。

•平时作业和练习•考试范围:1-5章•其他说明:•课后习题是重点。

•简答题来源于前5章,每章一个。

每章重点:第一章:1.什么是嵌入式系统?试简单列举一些生活中常见的嵌入式系统的实例。

?嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。

以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。

2.嵌入式系统具有哪些特点?3.嵌入式系统由哪些部分组成?简单说明各部分的功能和作用。

4.嵌入式系统是怎样分类的?5.嵌入式系统的定义。

嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。

以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。

6.什么是交叉编译,试说明交叉编译的实现过程。

7.嵌入式系统有哪些应用领域。

嵌入式系统技术具有非常广阔的应用前景,其应用领域可以包括:???1.工业控制:???基于嵌入式芯片的工业自动化设备将获得长足的发展,目前已经有大量的8、16、32?位嵌入式微控制器在应用中,网络化是提高生产效率和产品质量、减少人力资源主要途径,如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。

就传统的工业控制产品而言,低端型采用的往往是8位单片机。

但是随着技术的发展,32位、64位的处理器逐渐成为工业控制设备的核心,在未来几年内必将获得长足的发展。

???2.交通管理:???在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌GPS模块,GSM模块的移动定位终端已经在各种运输行业获得了成功的使用。

目前GPS设备已经从尖端产品进入了普通百姓的家庭,只需要几千元,就可以随时随地找到你的位置。

嵌入式期末考试复习资料

嵌入式期末考试复习资料

嵌⼊式期末考试复习资料1、ARM 微处理器有 7种⼯作模式,它们分为两类⾮特权模式、特权模式。

其中⽤户模式属于⾮特权模式 ARM 处理器有两种总线架构,数据和指令使⽤同⼀接⼝的是冯诺依曼,数据和指令分开使⽤不同接⼝的是哈佛结4、ARM 微处理器复位后,PC 的地址通常是 0x0 ,初始的⼯作模式是Supervisor 。

5、ARM 微处理器⽀持虚拟内存,它是通过系统控制协处理器 CP15 和MMU(存储管理部件)来进⾏虚拟内存的存储和管理。

当系统发⽣数据异常和指令领取异常时,异常处理程序透过嵌⼊式操作系统的内存管理机制,通过MMU 交换物理内存和虚拟内存的页⾯,以保证程序正常执⾏。

6、编译链接代码时,有两种存储代码和数据的字节顺序,⼀种是⼩端对齐,另⼀种是打断对齐7、构建嵌⼊式系统开发环境的⼯具链有多种,其中开放源码的⼯具链是 GNU ⼯具链,ARM 公司提供的⼯具链是 ADS ⼯具链计算机有CISC 和RISC 两种类型,以ARM 微处理器为核⼼的计算机属于 RISC 类型,其指令长度是定长的1、⽬前使⽤的嵌⼊式操作系统主要有哪些?请举出六种较常⽤的。

Windows CE/Windows Mobile 、VxWork 、Linux 、uCos 、Symbian 、QNX 任选六 2、ARM 系统中的堆栈有四种,如下图。

请按图标出四种堆栈的类型。

ATPCS 编程规范约定使⽤的堆栈是哪⼀种?答:FD 、FA 、ED 、EA 。

ATPCS 编程规范约定使⽤的堆栈是FD3、Boot Loader 在嵌⼊式系统中主要起什么作⽤?完成哪些主要的⼯作?答:Boot Loader 是在嵌⼊式系统复位启动时,操作系统内核运⾏前,执⾏的⼀段程序。

通过Boot Loader ,初始化硬件设备,建⽴内存和I/O 空间映射图,为最2、ARM ⽀持两个指令集,ARM 核因运⾏的指令集不同,分别有两个状态 ARM 、 Thumb,状态寄存器CPSR 的 T 位反映了处理器运⾏不同指令的当前状态3、ARM 核有多个寄存器,其中⼤部分⽤于通⽤寄存器,有⼩部分作为专⽤寄存器, R15 寄存器⽤于存储PC ,R13通常⽤来存储 SPHi Address Hi Address4、搭建嵌⼊式开发环境,连接⽬标板,⼀般使⽤什么通信接⼝连接?在Windows 主机上使⽤什么软件建⽴连接?在Linux主机上使⽤什么软件建⽴连接?1、答:RS-232,以太⽹⼝、并⼝在Windows主机上使⽤超级终端软件在Linux主机上使⽤Minicom软件5嵌⼊式开发环境主要包括哪些组件?嵌⼊式系统开发需要交叉编译和在线调试的开发环境,主要包括●宿主机●⽬标机(评估电路板)●基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE●运⾏于宿主机的交叉编译器和链接器、以及开发⼯具链或软件开发环境●嵌⼊式操作系统6 在进⾏基于ARM核的嵌⼊式系统软件开发时,调⽤如下函数:int do_something(int arg1,void *arg2,char arg3,int *arg4)这四个参数通过什么⽅式从调⽤程序传⼊被调函数?根据ATPCS编程规范,调⽤函数和⼦程序通过R0——R3四个寄存器传递参数,超过四个参数使⽤堆栈传递。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、嵌入式微处理器体系结构嵌入式微处理器的体系结构可以采用冯·诺依曼体系结构或哈佛体系结构,指令系统可以选用精简指令系统RISC和复杂指令集系统CISC。

1、·诺依曼体系结构和哈佛体系结构;(1)·诺依曼结构的计算机由CPU和存储器构成,其程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置;采用单一的地址及数据总线,程序指令和数据的宽度相同。

程序计数器(PC)是CPU内部指示指令和数据的存储位置的寄存器。

(2)哈佛结构的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址、独立访问。

提高执行速度,提高数据的吞吐率,具有较高的执行效率。

2、CISC和RISC类别CISC RISC指令系统指令数量很多较少,通常少于100执行时间有些指令执行时间很长,如整块的存储器内容拷贝;或将多个寄存器的内容拷贝到存贮器没有较长执行时间的指令编码长度编码长度可变,1-15字节编码长度固定,通常为4个字节寻址方式寻址方式多样简单寻址操作可以对存储器和寄存器只能对寄存器对行算术和逻辑操作,进行算术和逻辑操作Load/Store体系结构编译难以用优化编译器生成高效的目标代码程序采用优化编译技术,生成高效的目标代码程序二、ARM状态各模式下的寄存器1、所有的37个寄存器,分成两大类:(1)31个通用32位寄存器;(2) 6个状态寄存器。

2、R0~R7为未分组的寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同的32位物理寄存器。

3、寄存器R8~R14为分组寄存器。

它们所对应的物理寄存器取决于当前的处理器模式,几乎所有允许使用通用寄存器的指令都允许使用分组寄存器4、寄存器R8~R12有两个分组的物理寄存器。

一个用于除FIQ模式之外的所有寄存器模式,另一个用于FIQ模式。

这样在发生FIQ中断后,可以加速FIQ的处理速度5、寄存器R13、R14分别有6个分组的物理寄存器。

一个用于用户和系统模式,其余5个分别用于5种异常模式。

三、处理器工作模式1、ARM处理器有7种工作模式;●usr(用户模式):ARM处理器正常程序执行模式。

●fiq(快速中断模式):用于高速数据传输或通道处理●irq(外部中断模式):用于通用的中断处理●svc(管理模式):操作系统使用的保护模式●abt (数据访问终止模式):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。

●sys(系统模式):运行具有特权的操作系统任务。

●und(未定义指令中止模式):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。

ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。

除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式(Privileged Modes);其中除去用户模式和系统模式以外的5种又称为异常模式(Exception Modes),常用于处理中断或异常,以及需要访问受保护的系统资源等情况。

2、除用户模式外,其它模式均为特权模式。

ARM内部全部系统资源和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。

3、此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。

四、ARM异常处理1、当异常产生时, ARM 核:(1)拷贝CPSR 到SPSR_<mode>(2)设置适当的CPSR 位:a.改变处理器状态进入ARM 态b.改变处理器模式进入相应的异常模式c.设置中断禁止位禁止相应中断(如需要)(3)保存返回地址到LR_<mode>(4)设置PC 为相应的异常向量地址2、返回时, 异常处理程序需要:(1)从SPSR_<mode>恢复CPSR(2)从LR_<mode>恢复PC(3)注意:这些操作只能在ARM 态执行.五、ARM指令集1、ARM寻址方式:掌握ARM微处理器9种寻址方式的特点。

(1).寄存器寻址操作数的值在寄存器中,指令中的地址码字段给出的是寄存器编号,寄存器的内容是操作数,指令执行时直接取出寄存器值操作。

例如指令:MOV R1,R2 ;R1←R2SUB R0,R1,R2 ;R0←R1- R2(2).立即寻址在立即寻址指令中数据就包含在指令当中,立即寻址指令的操作码字段后面的地址码部分就是操作数本身,取出指令也就取出了可以立即使用的操作数(也称为立即数)。

立即数要以“#”为前缀,表示16进制数值时以“0x”表示。

例如指令:ADD R0,R0,#1 ;R0←R0 + 1MOV R0,#0xff00 ;R0←0xff00(3).寄存器移位寻址寄存器移位寻址是ARM指令集特有的寻址方式。

第2个寄存器操作数在与第1个操作数结合之前,先进行移位操作。

例如指令:MOV R0,R2,LSL #3 ;R2的值左移3位,结果放入R0,即R0=R2 * 8ANDS R1,R1,R2,LSL R3 ;R2的值左移R3位,然后和R1相与操作,结果放入R1 可采用的移位操作如下:LSL:逻辑左移(Logical Shift Left),寄存器中字的低端空出的位补0。

LSR:逻辑右移(Logical Shift Right),寄存器中字的高端空出的位补0。

ASR:算术右移(Arithmetic Shift Right),移位过程中保持符号位不变,即如果源操作数为正数,则字的高端空出的位补0,否则补1ROR:循环右移(Rotate Right),由字的低端移出的位填入字的高端空出的位RRX:带扩展的循环右移(Rotate Right extended by 1 place),操作数右移一位,高端空出的位用原C 标志值填充。

(4).寄存器间接寻址指令中的地址码给出的是一个通用寄存器编号,所需要的操作数保存在寄存器指定地址的存储单元中,即寄存器为操作数的地址指针,操作数存放在存储器中。

例如指令:LDR R0,[R1] ;R0←[R1](将R1中的数值作为地址,取出此地址中的数据保存在R0中)STR R0,[R1] ;[R1] ←R0(5).变址寻址变址寻址是将基址寄存器的内容与指令中给出的偏移量相加,形成操作数的有效地址,变址寻址用于访问基址附近的存储单元,常用于查表,数组操作,功能部件寄存器访问等。

例如指令:LDR R2,[R3,#4] ;R2←[R3 + 4](将R3中的数值加4作为地址,取出此地址的数值保存在R2 中)STR R1,[R0,#-2] ;[R0-2] ←R1(将R0中的数值减2作为地址,把R1中的内容保存到此地址位置)(6).多寄存器寻址(LDM/STM)LDM/STM指令可以把存储器中的一个数据块加载到多个寄存器中,也可以把多个寄存器中的内容保存到存储器中。

寻址操作中的寄存器可以是R0-R15这16个寄存器的子集或是所有寄存器。

采用多寄存器寻址方式,一条指令可以完成多个寄存器值的传送,这种寻址方式用一条指令最多可以完成16个寄存器值的传送。

格式为:LDM(或STM){条件}{类型} 基址寄存器{!},寄存器列表{∧}该指令的常见用途是将多个寄存器的内容入栈或出栈。

(7).堆栈寻址堆栈是一种数据结构,堆栈是特定顺序进行存取的存储区,操作顺序分为“后进先出”和“先进后出”,堆栈寻址时隐含的,它使用一个专门的寄存器(堆栈指针)指向一块存储区域(堆栈),指针所指向的存储单元就是堆栈的栈顶。

(8).块复制寻址块复制寻址用于把一块从存储器的某一位置复制到另一位置,是一个多寄存器传送指令。

(9).相对寻址相对寻址是变址寻址的一种变通,由程序计数器PC提供基准地址,指令中的地址码字段作为偏移量,两者相加后得到的地址即为操作数的有效地址。

2、堆栈寻址满递增堆栈(FA):堆栈指针指向最后压入的数据,且由低地址向高地址生成。

满递减堆栈(FD):堆栈指针指向最后压入的数据,且由高地址向低地址生成。

空递增堆栈(EA):堆栈指针指向下一个将要放入数据的空位置,且由低地址向高地址生成。

空递减堆栈(ED):堆栈指针指向下一个将要放入数据的空位置,且由高地址向低地址生成。

3、多寄存器寻址(块拷贝寻址)(1)块拷贝寻址是多寄存器传送指令LDM/STM的寻址方式。

LDM/STM指令可以把存储器中的一个数据块加载到多个寄存器中,也可以把多个寄存器中的内容保存到存储器中。

寻址操作中的寄存器可以是R0-R15这16个寄存器的子集或是所有寄存器。

(2)LDM/STM指令依据其后缀名的不同其寻址的方式也有很大不同。

(3)LDMIA R1!,{R0,R2,R3}指令执行后,R1的值变为R1+12—>R1;注:!决定Rn的值是否随着传送而改变寻址模式描述起始地址结束地址Rn!IA 执行后增加Rn Rn+4*N Rn+4*NIB 执行前增加Rn+4 Rn+4*N Rn+4*NDA 执行后减少Rn Rn-4*N Rn-4*NDB 执行前减少Rn-4 Rn-4*N Rn-4*N六ARM状态与Thumb状态的转换1、实现ARM工作状态转换的指令,其句法如下:BX 目标地址(1)BX指令将引起处理器转移到目标地址所指向的地址处执行。

(2)目标地址的位[0]不用来作为地址的一部分。

a.若目标地址的位[0]为1,则指令将CPSR中的标志T置位,且将目标地址的代码解释为Thumb代码;b.若目标地址的位[0]为0,则指令将CPSR中的标志T复位,且将目标地址的代码解释为ARM 代码。

七、ARM的硬件系统结构1、S3C2410的存储器系统(1)S3C2410支持大、小端模式,可通过软件选择大小端模式;(2)存储空间分成8个Bank,每个Bank 128Mbytes,总共1GB;6个Bank用于控制ROM, SRAM, etc.剩余的2个Bank用于控制ROM, SRAM, SDRAM, etc .(3)除Bank0 (16/32-bit) 外,所有的Bank都可以通过编程选择总线宽度= (8/16/32-bit) ;(4)7个Bank固定起始地址,最后一个Bank可调整起始地址;(5)最后两个Bank大小可编程(6)所有Bank存储周期可编程控制;(7)如果同时使用Bank6/ Bank7,则要求连接相同容量的存储器,而且其地址空间在物理上是连续的。

2、S3C2410的I/O口配置S3C2410有117个多功能口,掌握如何通过软件编程对每个I/O口进行配置。

如将端口C的最低2为设置为01,既设置成输出模式,其余位不变。

rGPCCON = rGPCCON&0xfffffffc|0x00000001;rGPCDAT= rGPCDAT |0x001; //PC0口电平输出高表3.4.3 S3C2410A的端口C I/O口配置情况3、掌握ARM微处理器的中断系统的特点了解:一旦有中断发生,ARM的中断系统将如何处理。

相关文档
最新文档