东华理工大学长江学院 2011— 2012 学年第2学期补考试卷B
课程:嵌入式微处理器体系结构与编程 考试形式:闭卷
年级及专业:计算机科学与技术  10304101-3
题号
   
分数
10
40
10
arm嵌入式系统期末考试10
30
得分
评卷人
一、名词解释(5×2=10)
1.系统调用
运行在使用者空间的程序向系统内核请求需要更高权限运行的服务
2.哈弗结构
数据指令存储和程序指令存储分开
3.MMU
内存管理单元
4.FIQ
快速内部中断
5.SPSR
备份程序状态寄存器
二、单项选择题(20×2=40)
1.ARM系统复位后,第一条执行的指令在(      A     ).
  A  00000000H    B  00000004H    C  00000008H    D  由编程者确定
2.针对没有MMUARM芯片,其操作系统可以使用(    C      ).
A  Windows CE ,Linux    B  VxWork  C  uClinux, Uc/OS-II  D  以上都可以
3.ATPCS定义了寄存器组中的(    A     )作为参数传递和结果返回寄存器。
  A  R0,R1,R2,R3  B  R4,R5,R6,R7  C  R8,R9,R10,R11    D  A B C 都可以
4.用汇编指令对R15赋值,可以实现(    D   )。
  A  程序的跳转  B  实现B指令功能  C  子程序的返回    D  A B C都可以
5.ARM汇编语言中,一常量8_5642也代表(  B/D/C    )。
  A  整数5642  B  整数5642H  C  整数Ox5642    D  整数2978
6.要使CPU能够正常工作,下列哪个条件不是处理器必须满足的。    D   
(A) 处理器的编译器能够产生可重入代码    B 在程序中可以开或者关闭中断
(C) 处理器支持中断,并且能产生定时中断    D 有大量的存储空间
7.下面哪种操作系统最方便移植到嵌入式设备中。        D    
(A) DOS      Bunix    (C) Windows xp      Dlinux
8.下列描述不属于RISC计算机的特点的是(    C     )。
A.流水线每周期前进一步。    B.更多通用寄存器。
C.指令长度不固定,执行需要多个周期。
D.独立的LoadStore指令完成数据在寄存器和外部存储器之间的传输。
9.存储一个32位数0x21684652000H2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为(    A   )。
A0x21        B0x68        C0x65            D0x02
10.IRQ中断的入口地址是(      C     )。FIQ的入口地址为0x0000001C
A0x00000000        B0x00000008    C0x00000018        D0x00000014
11. Make预置了一些内部宏,其中$@表示:(    D      //嵌入式
A.没有扩展名的当前目标文件        B.当前目标文件
C.当前目标文件最近更新的文件名    D.当前目标文件最近更新的文件名
12.ARM处理器的工作模式有(    C    )种。
A. 5        B.6        C. 7        D.8
13.下列CPSR寄存器标志位的作用说法错误的是(      B      )。
A. N:负数  B. Z:   C. C: 进位  D. V: 借位
14.R1=2000H(2000H)=0x86(2008H)=0x39,则执行指令LDR    R0[R1,#8]!后R0的值为(  D   )。
A. 0x2000        B. 0x86        C. 0x2008        D. 0x39
15. ARM920T寄存器组有(      D      )个寄存器。
A7        B32        C6        D37
16.ARM指令集和Thumb指令集分别是(    D      )位的。
A. 8位,16        B. 16位,32    C. 16位,16    D. 32位,16
17.FIQ中断的入口地址是(  A   )。
A0x0000001C        B0x00000008    C0x00000018        D0x00000014
18.μCOS-II操作系统不属于(      C      )。
A.RTOS B.占先式实时操作系统 C.非占先式实时操作系统 D.嵌入式实时操作系统
19.R1=2000H(2000H)=0x86(2008H)=0x39,则执行指令LDR    R0[R1,#8]!后R0的值为(    D   )。
A. 0x2000        B. 0x86        C. 0x2008        D. 0x39
20.ADD    R0R1#3属于(    C       )寻址方式。
A. 立即寻址        B. 多寄存器寻址        C. 寄存器直接寻址    D. 相对寻址
选择题答题表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
三、判断题(10×1=10)
1.Nand FlashNor Flash成本高,可靠性差。(       
2.C语言程序可以嵌套加入汇编程序模块。           
3.由于CPU内部寄存器的访问速度较高,根据ATPC标准,应尽可能使函数的参数控制在4个以下。(           
4.ARM处理器结构体系中具有T变种处理器核可以工作在ARM状态和Thumb状态。(         
5.所有的电子设备都属于嵌入式设备。                                 
6.冯诺依曼体系将被哈佛总线所取代。                                 
7.嵌入式linux操作系统属于免费的操作系统。                         
8.任务创建后即开始调度(       
9.μCOS-II操作系统中移植成功后即可使用文件系统(         
10.S3C2410的处理器对内存的访问只能通过Load/Store指令来实现。(       
四、指令和程序测试题(10)
1.请写出以下相关ARM指令语句的注释(7分)
MOV    R0, PC      PC的值传送到R0寄存器,此时PC地址为当前指令位置+8                                                               
ADD        R0,    R1, #1                R1加上1的结果给R0寄存器                                           
   
LDR        R0,    =0x56000010    是伪指令,把0x5600010 f放到R0寄存器中,采用文字池技术
LDR        PC,    [PC, #4]      把当前的PC值加4位置的内容赋值给PC,实现绝对跳转                                                   
MRS        R0,    CPSR          CPSR的值传送给R0                                                        
BL        LOOP      带返回地址的跳转指令,把下一条指令给LR后,跳转到Loop地址                                                 
STMFD  R13!,{R0-R12} R0R12寄存器的值通过R13栈指针进行压栈保存 
2.编写程序实现使用IRQ中断,完成下列程序指令。(3分)
ENABLE_IRQ
MRS  R0      CPSR        
BIC    R0R0#0x80
MSR  CPSR_C  R0           
MOV        PC          LR
五、简答 (5×6=30)
1.ARM的异常有哪几种,各进入何种工作模式?他们退出各采用什么指令?
1)复位(Reset)异常(管理模式);
2)未定义指令(undefined instruction)异常(未定义模式);
3)软件中断(SWI)异常(管理模式);
4)指令预取中止(Prefech Abort)异常(中止模式);
5)数据访问中止(Data Abort)(中止模式);
6)快速中断请求(FIQ)(FIQ模式);
7)外部中断请求(IRQ)(IRQ模式)。
异常返回指令:1SWI,未定义的返回:MOVSPCR14
2IRQFIQ,预取中止的返回:SUBS PCR14#4
3)数据中止返回并重新存取:SUBSPCR14
异常中断的优先级:复位(最高优先级)一>数据异常中止—>FIQ-->IRQ--->预取指异常中止-->SWI----->未定义指令(包括缺协处理器)。
2. ARM常见的寻址方式有哪些?
立即数寻址、寄存器寻址、寄存器间接寻址、寄存器偏移寻址、寄存器基址加变址寻址、多寄存器寻址、相对寻址、堆栈寻址、块拷贝寻址
3. 简述ARM汇编指令BLXSWISTMLDMMOVMVN的含义。
BLX:带链接和状态切换的跳转指令
SWI:软件中断指令
STM:批量内存字写入指令
LDM:加载多个寄存器指令
MOV:数据传送指令
MVN:数据取反传送指令
4. ARM处理器有几种工作模式?并做说明每种工作模式的含义。
用户模式
正常程序执行的模式
快速中断模式
用于高速数据传输和通道处理
外部中断模式
用于通常的中断处理
特权模式
供操作系统使用的一种保护模式
数据访问中止模式
用于虚拟存储及存储保护
未定义指令中止模式
用于支持通过软件仿真硬件的协处理器
系统模式
用于运行特权级的操作系统任务
5.进行基于ARM核的嵌入式系统软件开发时,调用如下函数:
int do_something(int arg1,void *arg2,char arg3,int *arg4)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。