kaiyun官方注册
您所在的位置: 首页> 嵌入式技术> 业界动态> ARM题库

ARM题库

2015-09-25
关键词: ARM 题库

一、填空题

1. 常见的ARM处理器内核有 ARM 7 、 ARM 9 和 ARM 11 等。

2. ARM处理器有两种状态,分别是 ARM 状态 和 Thumb 状态。

3. 按总线所传送的信息类型,总线分为 数据总线 、 地址总线 和 控制总线 。

4. ADS 是一套用来开发ARM 处理器应用系统的开发工具包,用户可以用ADS 编辑、编译和调试C、C++以及汇编程序。目前的版本为 ADSv1.2 。

5. 与逻辑运算规则:0 • 0= 0 ;0 • 1= 0 ; 1 • 0= 0 ; 1 • 1= 1

6. 或逻辑运算规则: 0 + 0= 0 ;0 +1= 1 ; 1 + 0= 1 ; 1 + 1= 1

将2进制转换为16进制:(10011100101101001000) B = 。

7.ARM 属于 RISC 架构。

8.ARM 指令集是 32 位宽,Thumb 指令集是 16 位宽。

9.ARM体系结构版本中V___4___版架构是目前应用最广的ARM体系架构,ARM7、___ ARM 9 ___都采用该架构。

10.ARM微处理器共有__37_个__32_ 位寄存器,其中_31___个为通用寄存器,____6__个为状态寄存器。

11.常用的嵌入式操作系统有 嵌入室Linux 、 VxWorks 等。

12.ARM嵌入式系统主要由 嵌入室硬件 、 嵌入室软件 和 开发工具 构成。

13.复位后,ARM处理器处于 SVC 工作模式, ARM 状态。

14.S3C2410采用的核心处理器是 ARM920T 。

15.S3C2410 支持两种引导方式,分别是 Nor-Flash 启动方式、 Nand-Flash 启动方式。

16.GPIO的中文全称是 通用输入输出端口 。

17.ARM处理器有两种状态,分别是 ARM 和 Thumb 。

18.计算机结构分为 哈佛体系 结构和 冯诺依曼体系 结构。

19.ARM处理器支持的数据类型中,字节为 8 位、半字为 16 位、字为 32 位。

20.将2进制转换为16进制:(11011010101101101110) B = ( ) H

21.ARM状态下,SP寄存器指的是 R13 、LR寄存器指的是 R14 、PC寄存器指的是 R15 。

22.一个嵌入式系统由3部分组成,分别是 嵌入式硬件 、 嵌入式软件 和 开发工具 。

二、选择题:

1.相对于ARM指令集,Thumb指令集的特点是___ 。

A、指令执行速度快

B、16位指令集,可以得到密度更高的代码,对于需要严格控制成本的设计非常有意义

C、Thumb模式有自己独立的寄存器

D、16位指令集,代码密度高,加密性能好

2.在ARM寄存器结构中,栈指针使用__B__寄存器。

A、R0 B、R13 C、R14 D、R15

3.在ARM体系结构中,要从主动用户模式(User)切换到超级用户模式(Supervisor),应采用何种方法?

A、直接修改CPU状态寄存器(CPSR)对应的模式

B、先修改程序状态备份寄存器(SPSR)到对应的模式,再更新CPU状态

C、使用软件中断指令(SWI)

D、让处理器执行未定义指令

4.嵌入式系统加电或复位后,所有的 CPU 通常都从某个由 CPU 制造商预先安排的地址上取指令。例如:对于S3C2410来说,Boot Loader会映射到______地址处。

A 0x0c000000 B 0x00000000 C 0x00000018 D 0x40000018

5.32位体系结构的ARM处理器有____种不同的处理器工作模式,和____个主要用来标识CPU工作状态和程序运行状态的状态寄存器。

A、7、7 B、7、6 C、6、6 D、6、7

6.CPSR中的低8位称为控制位,下列不属于控制位的是____。

A、N B、I C、F D、T

7.ARM7属于 结构,ARM9属于 结构。

A、 冯.诺依曼 B、 哈佛

8.ARM7是 级流水线,ARM9是 级流水线。

A、1 B、2 C、3 D、5

9.ARM中可以访问状态寄存器的指令是 ,能够访问内存的指令是 。

A、MOV B、ADD C、LDR D、MRS

10.在下列ARM处理器的各种模式中,只有_____模式不可以自由地改变处理器的工作模式。

A、用户模式(User)

B、系统模式(System)

C、终止模式(Abort)

D、中断模式(IRQ)

11.在ARM的汇编程序中,ADR、ADRL、 、 等被称为伪指令。

A、AREA B、SETA C、LDR D、NOP

12.下列条件码中表示不相等的是 。

A、EQ B、NE C、CS D、CC

13.CPSR中的低8位称为控制位,其中I位等于1表示 。

A、禁止IRQ中断 B、禁止FIQ中断 C、允许IRQ中断 D、允许FIQ中断

14.ARM微处理器支持7种工作模式。其中,除 之外的其余6种称为特权模式,在这6种之中,除 之外的其余5种又称为异常模式。

A、用户模式 B、管理模式 C、中止模式 D、系统模式

15. ATPCS规定中,栈是 。

A、满递增 B、满递减 C、空递增 D、空递减

16. 在用ARM汇编编程是,其寄存器有多个别名,通常PC是指R15,LR 是指 ,SP是指

A、R12 B、R13 C、R14 D、R15

17.下列条件码中表示无符号数小于的是____。

A、HI B、LS C、CS D、CC

18.下列ARM指令中,可用于满递增堆栈操作的是____。

A、STMDA B、STMIA C、STMDB D、STMIB

19.下列32位数中,不可作为立即数的是____。

A、0x81000007 B、0x04800000 C、0x00000012 D、0x8000007

20.ATPCS规定数据栈是____类型。

A、满递减 B、满递增 C、空递减 D、空递增

21.ARM伪指令中,可用于大范围地址读取的是____。

A、ADR B、ADRL C、LDR D、NOP

22.同CISC相比,下面哪一项不属于RISC处理器的特征。____

A、采用固定长度的指令格式,指令规整、简单、基本寻址方式有2~3种。

B、减少指令数和寻址方式,使控制部件简化,加快执行速度。

C、数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率,同时简化处理器的设计。

D、RISC处理器都采用哈佛结构

23.以下叙述中,不符合RISC指令系统特点的是 。

A、 指令长度固定,指令种类少

B、 寻址方式种类丰富,指令功能尽量增强

C、 设置大量通用寄存器,访问存储器指令简单

D、 选取使用频率较高的一些简单指令

24.下面关于ARM处理器的体系结构描述哪一个是错误的。____

A、三地址指令格式

B、所有的指令都是多周期执行

C、指令长度固定

D、Load-Store结构

25.在ARM寄存器结构中,栈指针使用____寄存器,

A、R0 B、R13 C、R14 D、R15

三、问答题:

1.ARM7TDMI采用了几级流水线工作方式,简要说明。

答:三级

2.ARM9采用了几级流水线工作方式,简要说明。

答:五级流水线工作方式,1.取指2.指令译码3.执行4.数据存储访问5.写寄存器

3.分别画出采用大端格式及小端格式存放01020304H的存储器示意图

答:

4.写出基于ARM920T核的处理器的异常优先级由高到低的排列次序

答:复位

5.简述ARM处理器从异常返回的步骤

答:

6.哈佛体系结构和冯诺依曼体系结构有何不同。

答:哈佛体系结构有两套地址总线和数据总线是分开的,冯诺依曼体系结构是复用的。

7.用ARM汇编指令写出实现64位加法和64位减法的代码段,使用的寄存器请自行分配。

假定低32位数存放在r0和r1里面,高32位数存放在r2和r3里面。

答:

8.写出四个s3c2410的中断异常处理模块中的主要寄存器,并简要说明其作用。

答:158页图7-8 ,倒数第一行

9.ARM920T体系结构支持哪两种方法存储字数据?

答:大端模式和小端模式,大端模式高地址存的是数据的低位,低地址存存的是数据的高位。小端模式高地址存的是数据的高位,

四、程序分析题:

1.指出下面各条指令的寻址方式。

SUB R0,R1,R2 ;寻址方式为: 寄存器寻址

SUBS R0,R0,#1 ;寻址方式为: 立即数寻址

MOV R0,R2,LSL #3 ;寻址方式为: 寄存器移位寻址

SWP R1,R1,[R2] ;寻址方式为:

LDR R2,[R3,#0x0C] ;寻址方式为:

2.分别写出语句a)与b)中LDR的作用

a) LDR r0,[r1,#6] 真正的ARM指令,取出r1+6为地址里面的存储内容送到r0里。

b) LDR r0,=0x999 伪指令,把0x999这个常数送到r0里。

3.假设R0的内容为0x104,寄存器R1、R2的内容分别为0x01与0x10,存储器所有单元初始内容为0。连续执行下述指令后,说明存储器及寄存器的内容如何变化?

STMIB R0!,{R1,R2} //寄存器R0的内容为0x10c, 存储器0x108的内容为0x01, 存储器0x10 c的内容为0x10,寄存器R1、R2的内容分别为0x01与0x10。

LDMIA R0!,{R1,R2}

答:寄存器R0的内容为0x114,寄存器R1的内容为0x10,寄存器R2的内容为0,存储器0x10c的内容为0 x10,存储器0x108的内容为0x01,存储器其余各处的内容都为0。

4.分析下面的程序,正确填写下面的空格。

; 功能: 通过累加可以计算出10的整数倍

AREA Example1, CODE ,READONLY ; 此语句是声明 代码段Example1

ENTRY ;此语句功能是 标识程序入口

CODE32 ; 声明32位ARM指令

START MOV R0,#0 ; R0 = 0

MOV R1,#10 ; R1 = 10

LOOP BL ADD_SUB ; 调用子程序 ADD_SUB

B LOOP ; 跳转到LOOP

ADD_SUB

ADDS R0,R0,R1 ; 此语句作用是完成 R0+R1再赋给R0,并且会影响CPSR中的C标志位

MOV PC, LR ; 子程序返回

END ; 此语句作用是声明 整个程序结束

五、编程题

1. 用汇编语言调用C语言实现n个数相加,n为C函数的参数,由汇编语言传递,结果存放在R5寄存器中。

答:C程序:

int allsum(int n)

{

int i;

int nsum = 0;

for(i=1;i<=n;i++)

{

nsum += i;

}

return nsum;

}

汇编程序:

AREA scaller, CODE,READONLY

IMPORT allsum //导入allsum

ENTRY //入口点

MOV R0,#20

BL allsum //“B”子函数调用命令“L”返回主函数

MOV R5,R0

HALT B HALT //死循环

END

2.利用S3C2410X的GPF4、GPF5、GPF6、GPF7四个I/O管脚控制4个LED发光二极管,编程使其实现所有LED全亮,间隔一段时间,所有LED全灭。

电路原理图如下:

10.png

答:

void main()

{

rGPFCON = 0x5500; //端口初始化 输出端口

rGPFUP = 0xff; //不启用上拉功能

int i;

rGPFDAT=0; //所有LED全亮

for(i=0;i<100000;i++);

rGPFDAT=0xF0; //所有LED全灭

for(i=0;i<100000;i++);

}

3.用汇编语言编写程序读取存储器0x40003100地址上的数据,将数据加1,若结果小于10则使用STR指令把结果写回原地址,若结果大于等于10,则把0写回原地址。

答:

COUNT EQU 0x40003100 ; 定义一个变量,地址为0x40003100

AREA Example2,CODE,READONLY ; 声明代码段Example2

ENTRY ; 标识程序入口

CODE32 ; 声明32位ARM指令

START LDR R1,=COUNT ; R1 <= COUNT

MOV R0,#0 ; R0 <= 0

STR R0,[R1] ; [R1] <= R0,即设置COUNT为0

LOOP LDR R1,=COUNT

LDR R0,[R1] ; R0 <= [R1]

ADD R0,R0,#1 ; R0 <= R0 + 1

CMP R0,#10 ; R0与10比较,影响条件码标志

MOVHS R0,#0 ; 若R0大于等于10,则此指令执行,R0 <= 0

STR R0,[R1] ; [R1] <= R0,即保存COUNT

B LOOP

END


本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306116;邮箱:aet@chinaaet.com。
Baidu
map