ARM7TDMI指令系统
- 格式:ppt
- 大小:5.55 MB
- 文档页数:209
arm嵌入式技术原理与应用答案【篇一:嵌入式系统原理与开发课后答案】章嵌入式系统概述:1、什么是嵌入式系统?是简单列举一些生活中常见的嵌入式系统的实例。
p3嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。
以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。
3、是比较嵌入式系统与通用pc的区别。
p3(1)嵌入式系统是专用的计算机系统,而pc是通用的计算机系统。
(2)技术要求不同,通用pc追求高速、海量的数据运算;嵌入式要求对象体系的智能化控制。
(3)发展方向不同,pc追求总线速度的不断提升,存储容量不断扩大;嵌入式追求特定对象系统的智能性,嵌入式,专用性。
4、嵌入式体统有哪些部分组成?简单说明各部分的功能与作用。
p6(1)硬件层是整个核心控制模块(由嵌入式微处理器、存储系统、通信模块、人机接口、其他i/o接口以及电源组成),嵌入式系统的硬件层以嵌入式微处理器为核心,在嵌入式微处理器基础上增加电源电路、时钟电路、和存储器电路(ram和rom等),这就构成了一个嵌入式核心控制模块,操作系统和应用程序都可以固化在rom 中。
(2)中间层把系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。
一般包括硬件抽象层(hardware abstract layer,hal)和板级支持包(board support package,bsp)。
(3)软件层由实时操作系统(real time operating system,rtos)、文件系统、图形用户接口(graphical user interfaces,gui)、网络组件组成。
(4)功能层是面向被控对象和用户的,当需要用户操作是往往需要提供一个友好的人际界面。
5、嵌入式系统是怎么分类的?p7按照嵌入式微处理器的位数分类(4位、8位、16位、32位、64位);按照是实时性分类(硬实时系统式之系统对响应时间有严格的要求;软实时系统是对响应时间有一定要求);按照嵌入式软件结构分类(循环轮询系统、前后台系统、多任务系统);按照应用领域分类。
第1章嵌入式系统概述(1)举出3个本书中未提到的嵌入式系统的例子。
答:键盘、鼠标、扫描仪。
(2)什么叫嵌入式系统?答:嵌入到对象体系中的专用计算机应用系统。
(3)什么叫嵌入式处理器?嵌入式处理器分为哪几类?答:嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。
分为3类:1.注重尺寸、能耗和价格;2.关注性能;3.关注全部4个需求——性能、尺寸、能耗和价格。
(4)什么是嵌入式操作系统?为何要使用嵌入式操作系统?答:嵌入式操作系统是操作系统的一种类型,是在传统操作系统的基础上加入符合嵌入式系统要求的元素发展而来的。
原因:1.提高了系统的可靠性;2.提高了开发效率,缩短了开发周期。
3.充分发挥了32位CPU的多任务潜力。
第2章 ARM7体系结构1.基础知识(1)ARM7TDMI中的T、D、M、I的含义是什么?答:T:高密度16位Thumb指令集扩展;D:支持片上调试;M:64位乘法指令;I:Embedded ICE硬件仿真功能模块。
(2)ARM7TDMI采用几级流水线?使用何种存储器编址方式?答:3级;冯·诺依曼结构。
(3)ARM处理器模式和ARM处理器状态有何区别?答:ARM处理器模式体现在不同寄存器的使用上;ARM处理器状态体现在不同指令的使用上。
(4)分别列举ARM的处理器模式和状态?答:ARM的处理器模式:用户模式、系统模式、管理模式、中止模式、未定义模式、中断模式、快速模式;ARM的处理器状态:ARM状态、Thumb状态。
(5)PC和LR分别使用哪个寄存器?答:PC:R15;LR:R14。
(6)R13寄存器的通用功能是什么?答:堆栈指针SP。
(7)CPSR寄存器中哪些位用来定义处理器状态?答:位31~28:N、Z、C、V,条件代码标志位;27~8:保留位;7~0:I、F、T、M4~0,控制标志位。
(8)描述一下如何禁止IRQ和FIQ的中断。
答:当控制位I置位时,IRQ中断被禁止,否则允许IRQ中断使能;当控制位F置位时,FIQ 中断被禁止,否则允许FIQ中断使能。
ARM7TDMI的存储器及其地址映射1.ARM7TDMI的存储器ARM7TDMI的存储器可分为内部存储器和外部存储器。
(1)内部存储器:又可分为片内FLASH程序存储器和片内静态RAM。
@片内FLASH程序存储器LPC2000系列除了LPC2220/2210/2290(最后位为0的无片内Flash)外,其他都带有容量不等的片内Flash,片内Flash可用作代码和数据的存储。
片内Flash通过128位宽度的总线(局部总线)与ARM 内核相连,具有很高的速度,加上存储器加速功能,可以在Flash直接运行程序,而无需把程序复制到RAM中运行。
对片内FLASH编程有三种方法实现:a. 通过内置JTAG接口;b. 通过在系统编程(ISP),使用UART0通信;c. 通过在应用编程(IAP),使用此法可实现用户程序运行时对Flash进行擦除或编程,这样为数据存储和现场固件的升级带来了极大的灵活性。
@静态RAMLPC2000系列ARM的片内RAM为静态RAM(SRAM),芯片容量根据不同的芯片有所不同,它们主要用作代码或数据的存储。
(2)片外存储器在CPU外部扩展连续的存储器芯片称为片外存储器。
LPC2200系列ARM芯片具备符合ARM公司的PL090标准的外部存储器接口,通过它可连接8位,16位,32位的片外存储器。
最多可扩展4个 BANK的存储器组,每个存储器组的寻址范围最大为16M 字节。
而实际应用中使用16位总线宽度性价比最高。
LPC2100系列ARM芯片不具备这种总线接口,只能通过片内外设来模拟总线时序来操作片外存储器。
对于外扩的SRAM只需一条LDR(STR)指令即可进行数据的读(写)操作,而对于外扩的Flash(NOR型),可使用LDR指令读取数据,但不能使用STR指令直接写数据,需要根据Flash 芯片的写操作时序进行控制,实现FLASH的擦除编程。
而如果要进行程序的烧写的话,需要在CPU内运行一个装载程序(loader程序,由用户自行编写),把从串口接受的代码数据写入到片外Flash中。
不同CPU中断技术对比专题研究一.X86中断系统(1)中断源中断申请方式:按照产生中断的方法来分:1.外部中断(来自CPU外部,由外设的请求引起,通过外部硬件产生,也称为硬件中断)外部中断又分为非屏蔽中断NMI和可屏蔽中断INTR。
2.内部中断(来自CPU内部,由执行指令引起的)内部中断又分为微处理器内部中断和软件中断。
(2)中断优先级管理方式:优先级由高到低一次为:1.内部中断(除单步中断)2.NMI3.INTR (IRQ0, ... , IRQ7)4.单步中断(3)中断的处理过程:8086中断控制是由CPU与中断控制器共同完成的,其中断过程包括:1. 中断申请:当外设需要中断服务时,由硬件产生一个中断请求信号INTR发送给CPU;CPU 在当前指令结束时检测INTR引脚,判断是否有中断请求。
2. 中断响应:当检测到有中断请求且IF=1时,总线周期信号M/IO D/C W/R为000,通过总线控制逻辑发中断响应信号;INTA给中断请求设备表示应答;中断请求设备将中断号送上数据总线;系统自动进入中断响应周期,由硬件完成关中断、保存断点、取中断服务的入口地址(N*4)等一系列操作,而后转向中断服务程序执行中断处理。
3、中断处理:执行中断服务程序中规定的操作。
4、中断返回:将压栈的断点从堆栈中弹出,开中断,CPU转向被中断的主程序继续执行。
(4)中断向量:8086在内存的最低端开辟了1KB 的存贮区作为中断向量表。
该表以四字节为一组构造而成,共分为256组,按中断向量码的序号排列:I/O ADDRINT TYPE FUNCTION00 ~ 03 0 除法溢出中断04 ~ 07 1 单步(用于DEBUG)08 ~ 0B 2 非屏蔽中断(NMI)0C ~ 0F 3 断点中断(用于DEBUG)10 ~ 13 4 溢出中断14 ~ 17 5 打印屏幕18 ~ 1F 6,7 保留二.8051单片机中断系统51单片机的中断系统共有5个中断源,2个中断优先级,可以实现两级中断服务嵌套。
ARM命名格式如下:ARM{x}{y}{z}{T}{D}{M}{I}{E} {J}{F}{-S}x:系列号,例如ARM7中的“7”、ARM9中的“9”;y:内部存储管理/保护单元,例如ARM72中的“2”、ARM94中的“4”;z:内含有高速缓存Cache;T:支持16位的Thumb指令集;D:支持JTAG片上调试;M:支持长乘法操作(64位结果)的ARM指令,包含快速乘法器;I:带有嵌入式追踪宏单元ETM (Embedded Trace Macro),用来设置断点和观察点;E:增强型DSP指令(基于TDMI);J:含有Java加速器Jazelle,与Java虚拟机相比,Java加速器Jazelle使Java代码运行速度提高了8倍,功耗降低到原来的80%;F:向量浮点运算单元;S:可综合版本,意味着处理器内核是以源代码形式提供的。
CISC:复杂指令集(Complex Instruction Set Computer)具有大量的指令和寻址方式8/2原则:80%的程序只使用20%的指令大多数程序只使用少量的指令就能够运行。
RISC:精简指令集(Reduced Instruction Set Computer)在通道中只包含最有用的指令确保数据通道快速执行每一条指令使CPU硬件结构设计变得更为简单RISC的结构的特点如下:1简化指令集,只保留常用的基本指令;2设计大量的通用存储器,减少访存的次数;3采用装载/保存(load-store)结构,支持流水线技术,使每个周期时间相等;4采用简单的指令格式、规整的指令字长和简单的寻址方式。
5单机器周期指令,即大多数的指令都可以在一个机器周期内完成。
除以上特点之外,ARM增加:数据处理指令可同时包含ALU运算和移位处理功能;地址自增和自减功能;装载/保存指令中具有数据的批量传输;大多数指令提供条件执行。
ARM7系列简介该系列处理器提供Thumb 16位压缩指令集和EmbededICE软件调试方式,适用于更大规模的SoC设计中。
ARM7TDMI介绍ARM7TDMI核,是从最早实现了32位地址空间编程模式的ARM6核发展而来的,可稳定地在低于5V的电源电压下可靠地工作。
增加了64位乘法指令、支持片上调试、Thumb指令集和EmbeddedICE片上断点和观察点。
ARM7TDMI是ARM公司最早为业界普遍认可且得到了广泛应用的核,特别是在手机和PDA应用中。
随着ARM技术的发展,它已是目前最低端的ARM 核。
ARM7TDMI处理器区别于其他ARM7处理器的一个重要特征是其独有的称之为Thumb的架构策略。
该策略为基本ARM 架构的扩展,由36种基于标准32位ARM指令集、但重新采用16位宽度优化编码的指令格式构成。
由于Thumb指令的宽度只为ARM指令的一半,因此能获得非常高的代码密度。
当Thumb指令被执行时,其16位的操作码被处理器解码为等效的32位标准ARM指令,然后ARM处理器核就如同执行32位的标准ARM指令一样执行16位的Thumb指令。
也即是Thumb架构为16位的系统提供了一条获得32位性能的途径。
ARM7TDMI内核既能执行32位的ARM指令集,又能执行16位的Thumb指令集,因此允许用户以子程序段为单位,在同一个地址空间使用Thumb指令集和ARM指令集混合编程,采用这种方式,用户可以在代码大小和系统性能上进行权衡,从而为特定的应用系统找到一个最佳的编程解决方案。
32位的ARM指令集由13种基本的指令类型组成,可分为如下四大类。
1)4类分支指令用于控制程序的执行流程、指令的特权等级可在ARM代码与Thumb代码之间进行切换。
2)3类数据处理指令用于操作片上的ALU、桶型移位器和乘法器,以完成在31个32位的通用寄存器之间的高速数据处理。
3)3类加载/存储指令用于控制在存储器和寄存器之间的数据传输。
一类为方便寻址进行了优化,另一类用于快速的上下文切换,第三类用于数据交换。
4)3类协处理器指令用于控制外部的协处理器,这些指令以开放统一的方式扩展用于片外功能指令集。