嵌入式面试题——ARM试题(一)
来源:互联网 发布:单片机51交通灯程序 编辑:程序博客网 时间:2024/05/19 11:49
填空题
1.ARM内核有四个功能模块,即______、______、______、______,可供生产厂商根据不同用户的要求来配置生产ARM芯片。
答案:T、D、M、I
2.ARM7TDMI与ARM720T的一个重要区别在于后者有______、______。
答案:存储空间管理单元(MMU)和8K Cache片内缓存(提高CPU性能)
3.ARM芯片主要封装有______、______、______、______、______、______等形式。
答案:QFP、TQFP、PQFP、LQFP、BGA、LBGA
4.ARM微处理器共有______个______位寄存器,其中______个为通用寄存器,______个为状态寄存器。
答案:37、32、31、6
5.ARM体系结构可用两种方法存储字数据,具体为_____、______。
答案:大端格式和小端格式
6.协处理器主要控制:______、______、______。
答案:片内的MMU、指令和数据缓存(IDC)、写缓冲(Write Buffer)
问答题:
1.简单描述ARM内核的四个功能模块,各自具备什么功能特点?
答:ARM内核有四个功能模块T、D、M、I,可供生产厂商根据不同用户的要求来配置生产ARM芯片。
其中T功能模块表示16位Thumb,可以在兼顾性能的同时减少代码尺寸。
M功能模块表示8位乘法器。
D功能模块表示Debug,该内核中放置了用于调试的结构,通常它为一个边界扫描链JTAG,可使CPU进入调试模式,从而可方便地进行断点设置、单步调试。
I功能模块表示EmbeddedICE Logic,用于实现断点观测及变量观测的逻辑电路部分,其中的TAP控制器可接入到边界扫描链。
2.一个ARM720T内核,基本由哪四部分组成?
答:一个ARM720T内核基本由以下四部分组成。
(1)ARM7TDMI CPU核。该CPU核支持Thumb指令集、核调试、增强的乘法器、JTAG及嵌入式ICE。它的时钟速率可编程为18MHz、36MHz、49MHz、74MHz。
(2)内存管理单元(MMU)与ARM710核兼容,并增加了对Windows CE的支持。该内存管理单元提供了地址转换和一个有64个项的转换旁路缓冲器。
(3)8KB单一指令和数据高速缓冲存储器,以及一个四路相联高速缓冲存储器控制器。
(4)写缓冲器Write Buffer。
3.通用寄存器包括R0~R15,可以分为具体哪三类?
答:通用寄存器包括R0~R15,可以分为三类:
(1)未分组寄存器R0~R7;
(2)分组寄存器R8~R14;
(3)程序计数器PC(R15)。
4.请描述Thumb状态下的寄存器与ARM状态下的寄存器有什么关系?
答:Thumb状态下的寄存器与ARM状态下的寄存器有如下关系:
(1)Thumb状态下和ARM状态下的R0~R7是相同的。
(2)Thumb状态下和ARM状态下的CPSR和所有的SPSR是相同的。
(3)Thumb状态下的SP对应于ARM状态下的R13。
(4)Thumb状态下的LR对应于ARM状态下的R14。
(5)Thumb状态下的程序计数器对应于ARM状态下的R15。
5.当一个异常出现以后,ARM微处理器会执行哪几步操作?
答:当一个异常出现以后,ARM微处理器会执行以下几步操作。
(1)将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。若异常是从ARM状态进入,则LR寄存器中保存的是下一条指令的地址(当前PC+4或PC+8,与异常的类型有关);若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量,这样,异常处理程序就不需要确定异常是从何种状态进入的。例如:在软件中断异常SWI,指令 MOV PC,R14_svc总是返回到下一条指令,不管SWI是在ARM状态执行,还是在Thumb状态执行。
(2)将CPSR复制到相应的SPSR中。
(3)根据异常类型,强制设置CPSR的运行模式位。
(4)强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。
- 嵌入式面试题——ARM试题(一)
- 嵌入式面试题——ARM面试题(二)
- 嵌入式面试题——ARM面试题(三)
- 嵌入式面试题——ARM面试题(四)
- 嵌入式面试题——ARM面试题(五)
- 嵌入式面试题——ARM面试题(六)
- 嵌入式linux面试题解析(一)——ARM部分一
- 嵌入式linux面试题解析(一)——ARM部分一
- 嵌入式linux面试题解析(一)——ARM部分二
- 嵌入式面试题——C语言面试题(一)
- 嵌入式linux面试题解析——ARM部分
- 嵌入式C经典面试题(一)
- 嵌入式软件面试题一
- 嵌入式linux面试题解析(四)——逻辑推理一
- 嵌入式linux面试题解析(二)——C语言部分一
- 嵌入式linux面试题解析(三)——Linux应用编程部分一
- 嵌入式linux面试题解析(二)——C语言部分一
- 嵌入式linux面试题解析(三)——Linux应用编程部分一
- Major GC和Full GC的区别以及触发条件
- JAVA设计模式--单例模式
- 微信企业号的消息发送
- 70.Failed to install Safe.apk on device 'emulator-5554': timeout问题解决方法
- Android数据库框架greenDao学习笔记(二)---注解
- 嵌入式面试题——ARM试题(一)
- tcpip基础一
- Java虚拟机学习
- 分布式缓存集群方案选型
- LeetCode 241. Different Ways to Add Parenthess 解题报告
- ARM7还是ARM9?uCOS还是Linux?
- D版CentOS操作系统运维笔记
- SpringMVC之简单的增删改查(SSM整合)
- Elasticsearch与Solr