ARM嵌入式系统基础教程期中开卷含答案.docx
《ARM嵌入式系统基础教程期中开卷含答案.docx》由会员分享,可在线阅读,更多相关《ARM嵌入式系统基础教程期中开卷含答案.docx(7页珍藏版)》请在冰豆网上搜索。
ARM嵌入式系统基础教程期中开卷含答案
【ARM嵌入式系统基础教程期中开卷含答案】
ARM嵌入式系统基础教程----期中开卷专业:
软件1班姓名:
学号:
一、嵌入式系统基本概念1、什么是嵌入式系统?
有何特点?
答:
所谓嵌入式,实际上是“嵌入式计算机系统”,的简称,它是相对于通用计算机系统而言,注重于发展独立的单芯片技术。
嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”。
特点:
(1)嵌入式系统是将先进的计算机技术,半导体技术以及电子技术与各行业的具体应用相结合的产物,这一点就决定了他必然是一个技术密集,资金密集,高度分散,不断创新的知识集成系统。
(2)系统内核小(3)专用性强(4)系统精简(5)系统软件要求(6)嵌入式软件开发要走向标准化,需要使用多任务的操作系统。
(7)嵌入式系统本身并不具备在其上进行进一步开发的能力。
2、举例在你的身边常见到的嵌入式系统产品,谈一谈你对“嵌入式系统”的初步理解。
答:
产品有:
洗衣机,空调,手机。
嵌入式系统就是内置小计算机系,可以对机器进行智能控制的系统。
3、嵌入式系统的3个基本特点?
答:
(1)专用性
(2)嵌入型(3)计算机系统4、什么是嵌入式处理器,嵌入式处理器可以分为几大类?
答:
嵌入式处理机是嵌入式的核心,是控制,辅助系统运行的硬件单元。
分类:
四大类
(1)嵌入式微处理器
(2)嵌入式微控制器(3)嵌入式DSP处理器(4)SoC片上系统5、广泛使用的三种类型的操作系统?
答:
多道批处理操作系统、分时操作系统以及实时操作系统。
6、列举常见的4种嵌入式操作系统?
说明你对嵌入式操作系统的基本认识,嵌入式操作系统在嵌入式系统开发中的必要性。
答:
嵌入式Linux、WinCE、VxWorks、μC/OS-II没有操作系统的计算机效率十分底下,把操作系统嵌入到计算机中,可以提高系统的可靠性,开发效率,缩短了开发周期。
二、ARM7体系结构1、ARM是什么样的公司?
答:
它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC处理器。
特点是只设计芯片,而不生产。
它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。
2、什么是RISC?
什么是CISC?
答:
RISC是精简指令集计算机的缩写。
CISC是复杂指令集计算机的缩写。
3、举出2个ARM公司当前应用比较多的ARM处理器核?
答:
ARM7系列、ARM9系列、ARM10系列、ARM11系列、intel的Xscale系列和MPCore系列。
4、*****I中的T、D、S、I分别表示什么含义?
答:
T:
支持高密度16位的Thumb指令集D:
支持片上调试S:
*****I的可综合(synthesizable)版本(软核)I:
支持EmbededICE观察硬件M:
支持64位乘法5、*****I处理器采用什么样的体系结构,其可寻址地址空间多大?
答:
ARM处理器使用冯.诺依曼结构使用单个平面的232个8位字节地址空间。
地址空间可以看作是包含230个32位字,或231个16位半字。
6、*****I处理器采用几级流水线处理,使用何种存储器编址方式?
答:
*****I处理器采用三级流水线。
ARM处理器将存储器看做是一个从0开始的线性递增的字节集合。
7、ARM处理器哪几种状态和模式?
答:
共7种。
(1)用户模式
(2)快速中断模式(3)外部中断模式(4)管理模式(5)数据访问中断模式(6)系统模式(7)未定义指令模式8、简述ARM处理器两种状态的应用特点。
答:
ARM状态:
处理器执行32位字对齐方式的ARM指令,每条ARM指令长度为32位,指令的功能强大,处理器默认为此状态。
Thumb状态:
处理机执行16位半字对齐方式的Thumb。
每条Thumb指令长度为16位,是ARM指令功能的子集。
9、简述ARM处理器7种模式的应用特点。
答:
(1)用户模式:
ARM处理器正常的程序执行模式。
(2)快速中断模式:
用于高速数据传输或通道处理。
(3)外部中断模式:
用于通用的中断处理。
(4)管理模式:
操作系统使用的保护模式。
(5)数据访问中断模式:
当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。
(6)系统模式:
运行具有特权的操作系统任务。
(7)未定义指令模式:
当未定义的指令执行时进入该模式,可用于支持硬件处理器的软件仿真。
10、结合CPSR的结构,说明其中的M[4:
0]的作用和T位的作用。
答:
M[4:
0]是模式控制位,这些位决定处理器的工作模式。
T位:
T位标志控制处理器按照ARM指令集运行,还是按照Thumb指令集运行。
11、结合CPSR的结构,说明其中的I位和F位的作用。
答:
I位和F位都是中断禁止标志位,用来时能或禁止ARM的两种外部中断。
12、简述*****I内部有哪些寄存器及特点。
答:
分别为31个通用32位寄存器和6个状态寄存器。
它们不能在同一使劲同时被访问,对其的访问取决于处理器状态和处理器模式。
13、结合下表简述FIQ模式下有哪几个私有寄存器,这些私有寄存器有何使用特点?
答:
FIQ模式下私有寄存器有R8-fiq,R9-fiq,R10-fiq,R11-fiq,R12-fiq,R13-fiq,R14-fiq,和SPSR-fiq。
这些寄存器使得在发生FIQ中断,处理器不必为保护寄存器而浪费时间,从而加速了FIQ的处理速度。
14、*****I中的PC指向的是下一条将要执行的指令,这句话对吗?
为什么?
答:
不对,PC中的内容总是指向正在“取指”指令的地址。
15、简述ARM处理器的CPSR和SPSR的功能、作用和工作方式。
答:
CPSR是当前状态寄存器,他可以在任何运行模式下被访问,它包括条件标志位,中断标志位,当前处理器模式标志位,以及其他的一些相关的控制盒状态位。
ARM内核就是通过使用CPSR来监视和控制内部操作的。
SPSR用于保存CPSR的当前值,从异常退出时则可由SPSR来恢复CPSR。
16、简述ARM7的内部寄存器R13、R14、R15的主要功能、作用和工作方式。
答:
R13作为堆栈指针SP,用于指定堆栈操作出入口的地址。
其他6个R13寄存器为堆栈寄存器。
为用户模式和系统模式共用一个。
R14可以用作通用寄存器,也可以用作链接寄存器。
链接寄存器用于保存子程序地址或者返回地址。
R15:
程序寄存器,总是指向正在“取指”的指令17、什么是计算机的寻址方式?
*****I有几种寻址方式?
答:
寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、相对寻址。
18、什么是堆栈?
ARM中的堆栈是如何定义和使用的?
答:
堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。
ARM处理器将RB作为堆栈指针SP,用于保存堆栈的出入口处地址。
19、何谓存储的“大端模式”、“小端模式”?
写出数据0x***-*****在0x***-*****字单元中“小端模式”下的存储细节。
答:
大端模式:
按照数据的低字节存放在高地址中的顺序进行存储。
小端模式:
按照数据的高字节存放在高地址中的顺序进行存储。
0x***-*****存放0x78,0x***-*****存放0x56,0x***-*****存放0x340x***-*****存放0x12。
20、什么是“字对齐”和“半字对齐”?
ARM指令必须字对齐存放,Thumb指令必须半字对齐存放,这句话正确吗?
答:
如果一个字数据的访问存储地址A能被4整除,即地址的低两位为零,则为字对齐的存储器访问。
如果一个半数据的访问的存储地址A能被2整除,即地址的最低位为零,则为半字对齐的存储器访问,如果Thumb状态下将一个非字对齐的地址写入PC,则数据在写入PC时第0位被忽略,最终PC的bit0为0,将会产生不可预料的结果。
21、ARM指令长度和Thumb指令长度固定位长吗?
位长分别是多少?
答:
固定,ARM为一个字(32bit),Thumb为一个半字(16bit)22、*****I中的中断分为那两类?
在CPU级别如何分别屏蔽?
答:
分别为IRQ,FIQ,在cpu级别通过状态寄存器CPSR中的I和F位置位来屏蔽。
23、什么是*****I中的异常?
简述*****I中的复位、IRQ、FIQ和软中断等几种主要异常的控制原理。
答:
异常是指正常的程序被暂时中止的状态模式。
复位异常时处理器进行管理模式执行相应操作,I和F均为禁止;
软中断异常也进入管理模式,I位禁止;
IRQ异常时进入中断模式,I位禁止;
FIQ异常进入快速中断模式,I和F位均为禁止,都是通过异常向量表。
24、简述*****I中产生复位、IRQ、FIQ和软中断等几种主要异常的条件,这几种异常会使ARM分别进入到哪种模式?
ARM核响应异常的过程,以及这几种异常地返回指令是什么?
答:
复位异常:
当nRESET信号被拉低时,ARM处理器放弃正在执行时的指令,等到nRESET下信号再次变高时,ARM执行下列操作:
(1)强制M[4:
0]复为*****,进入管理模式;
(2)将CPSR中的I和F置位;
(3)将CPSR中的T位清零(4)强制pc从地址0x00开始对下一条指令进行取值;
(5)返回ARM状态并回复执行,无返回指令。
IRQ:
只有CPSR中相应的I位被清除时,才可能发生IRQ异常,进入中断模式,内核自动作如下处理:
(1)将异常处理的返回地址保存到R14-irq中
(2)用户模式的CPSR被保存到SPSR-irq中;
(3)修改CPSR,禁止新的IRQ中断产生,进入ARM状态,IRQ模式(4)置IRQ模式下的IRQ异常处理程序的中断入口地址向量。
地址0x***-*****。
返回指令:
subspc,R14-irq,#4FIQ:
只有CPSR中的想用下位被清零时,才发生下IQ异常进入FIQ模式,FIQ中的8个专用寄存器用来保护中断地址。
其返回指令:
subspc,R14-fiq,#4软中断swi:
用于进入“管理模式”,通常用于请求一个特定的管理函数。
返回指令:
movspc,R14-svc三、*****I指令系统1、*****I支持哪几种指令集,各有什么特点?
答:
支持ARM指令集和Thumb指令集两种。
ARM指令集:
指令32位,效率高,代码密度低,所有ARM指令都是可以有条件执行的。
Thumb指令集:
指令16位,代码密度较高,Thumb指令仅有一条指令具备条件执行功2、ARM汇编指令的基本格式?
答:
基本指令:
在ARM指令集中,每条指令占有4个字节,即指令长度为32位。
3、何谓ARM指令的条件码?
默认的条件码是什么?
举例说明ARM指令的条件码对指令执行的影响。
答:
条件码是按照指定条件执行的操作条件:
默认条件码是AL(无条件执行)例子:
比较两值大小,并进行相应加1处理:
cmpR0,R1;
ADDHIR0,R0,#1;
ADDLSR1,R1,#14、解释何为“满堆栈”、“空堆栈”、“递增堆栈”和“递减堆栈”?
ARM指令系统中是如何支持的?
答:
满堆栈:
堆栈指针指向最后压入栈的有效数据项。
空堆栈:
堆栈指针指向下一个待压入数据的空位置。
递增堆栈:
在向堆栈写入数据后,堆栈指针的值变大,即向高地址方向生长。
递减堆栈:
在想堆栈写入数据后,堆栈指针的值变小,即向低地址方向生长。
ARM指令支持四种对战类型:
满递增,空递增,满递减,空递减。
5、请说明MOV指令与LDR加载指令的区别和用途。
答:
LDR的操作数既可以来源于寄存器也可以来源于存储器,MOV的操作数能