搜索
bottom↓
回复: 27

ARM常见面试题目

[复制链接]

出0入0汤圆

发表于 2014-8-31 17:21:26 | 显示全部楼层 |阅读模式
更多请看:http://m18271260665.blog.163.com/


1.ARM有几种工作模式?
        ARM有7个基本工作模式: 用户模式(user)、系统模式(system)、数据访问中止模式(abort)、未定义指令中止模式(undef)、快速中断模式(FIQ)、外部中断模式(IRQ)、管理模式(SVC)
        cortex-A系列特有:M (monitor) : 安全模式

        记忆方法:USA         UFI(不是UFO)        SM(你懂的ARM常见面试题目汇总 - 戴↑Ω听歌 - Under the bule sky)
       

2.ARM核有多少个寄存器?
        ARM有37个32位长的寄存器。(记住就行)


3.什么寄存器用于存储PC和LR寄存器?
        R15(PC)、R14(LR)。


4. R13通常用来存储什么?
        SP(栈指向) 栈指针。


5. 哪种模式使用的寄存器最少?
        用户模式/系统模式(不用SPSR)。


6.在Thumb指令集中,哪些寄存器处于low group?
        R0-R7属于低位寄存器。


7.CPSR的哪一个位反映了处理器的状态?
        第5位(从0开始),T状态位。


8. 所有的Thumb指令采取什么对齐方式?
        半字对齐(2个字节) 。

9.ARM有哪几个异常类型?
        (1)复位异常            ->         SVC 模式 [开发板复位]
        (2)未定义异常         ->         UDF 模式 [执行未定义的指令]
        (2)软中断异常          ->         SVC 模式 [通过SWI指令产生]
        (4)取数据终止          ->         ABT 模式 [没有取到数据]
        (5)取指令终止          ->         ABT 模式 [没有取指令]
        (6)IRQ中断             ->         IRQ        模式 [硬件触发的IRQ中断]
        (7)FIQ中断             ->         FIQ 模式 [硬件触发的FIQ中断]


10.为什么FIQ的服务程序地址要位于0X1C?
        尽可能快,省去跳转指令(FIQ的向量地址是异常中断向量表的最高地址,而异常中断向量表后跟的是程序代码,FIQ的中断服务程序紧接中断向量表存放,中断过程可以节省一条跳转指令)

11.ARM核是如何让FIQ快速处理?
        <1>FIQ模式有私有的r8-r12,如果只是用私有的寄存器,不需要保护通用寄存器
        <2>FIQ异常在异常向量表最顶端,可以直接写FIQ异常处理函数,不需要跳转


12.在复位后,ARM处理器处于何种模式、何种状态?
        管理模式(SVC)、ARM状态


13.ARM处理器的八种寻址方式?
        ①.立即数寻址:                要求以#开头                        mov                r0,#9
        ②.寄存器寻址:                add         r0,r1,r2                r0 = r1+r2
                                                mov  r0,r1                r0 = r1
        ③.寄存器间接寻址:        ldr  r0,[r1]        r0 = [r1]
        ④.寄存器移位寻址:        add         r0,r1,r2,lsl   #2
        ⑤.基址变址寻址:        //前索引                 ldr r0,[r1,#4]                 //r0 = *(r1 + 4)
                                                //后索引                 ldr r0,[r1],#4                 //r0 = *r1,r1 = r1 + 4 ; data = *p ++;
                                                //自动索引         ldr r0,[r1,#4]!                 //r0 = *(r1 + 4); r1 = r1 + 4
        ⑥.多寄存器寻址:        ldmxx                r0!,{r1-r15}
        ⑦.相对寻址:                以PC的当前值为基地址,指令中的地址号为偏移量,两种之和得到操作数的地址
        ⑧.堆栈寻址:                stmfd        sp!,{r0-r12}


14. SWP 指令的优势是什么?用来实现什么功能?
        功能:在寄存器和存储器之间,由一次存储器读和一次存储器写组成的原子操作。完成一个字节或字的交换。 可以用来实现信号量。
        SWP        Rd,Rm,[Rn]
        第一步:先将Rn所指向的内容传给Rd,Rd = [Rn]
        第二步:再将Rm的内容传给Rn所指向的地址[Rn] = Rm



15.ARM处理器的执行状态?
        ①.ARM状态:
                所有指令32位宽
                所有指令必须word对齐
                pc值由bits 【31:2】决定,bits【1:0】未定义
        ②.Thumb状态:
                所有指令宽度16位
                必须半字halfword对齐
                pc值由bits【31:1】决定




16.异常产生时,ARM核自动完成的任务?
        <1>CPSR拷贝到异常模式的SPSR
        <2>设置CPSR的相应位
                进入ARM状态
                设为对应的异常模式
                禁止中断[中断产生的时候]
        <3>将PC保存到异常模式的LR
        <4>修改PC的值到异常向量表

出0入0汤圆

发表于 2014-8-31 17:33:09 | 显示全部楼层
呵呵  不错 ARM核的基础   不过只有I.MX才用的上

出0入0汤圆

发表于 2014-8-31 17:36:50 | 显示全部楼层
这是ARM7的吧。

出0入8汤圆

发表于 2014-8-31 18:02:46 | 显示全部楼层
在新版本arm上仍然可以问这些问题,答案已经不一样了。arm7时代过去了。

出0入0汤圆

发表于 2014-9-1 10:05:52 | 显示全部楼层
好东西,果断收藏啦

出0入0汤圆

发表于 2014-9-7 16:20:19 | 显示全部楼层
uindex 发表于 2014-8-31 18:02
在新版本arm上仍然可以问这些问题,答案已经不一样了。arm7时代过去了。

对于arm本身来说它已经过时了,对它的应用来说还是很靠前的

出0入0汤圆

发表于 2014-9-7 16:23:42 | 显示全部楼层
谢谢分享。

出0入0汤圆

发表于 2014-9-8 21:08:01 | 显示全部楼层
果断收藏

出0入0汤圆

发表于 2014-10-22 19:39:27 | 显示全部楼层
谢谢分享!

出0入0汤圆

发表于 2014-10-28 16:15:26 | 显示全部楼层
好东西,先收藏了

出0入0汤圆

发表于 2014-10-28 16:27:56 | 显示全部楼层
面试还有要考试的,不多吧

出0入0汤圆

发表于 2014-10-28 16:32:12 | 显示全部楼层
实际用处不大,只应付考试而已

出0入0汤圆

发表于 2014-10-29 21:26:50 | 显示全部楼层
收藏   ~~~~~~~~~~~~~~

出0入0汤圆

发表于 2014-10-30 01:07:40 来自手机 | 显示全部楼层
了解的东西,好像实际用处不大

出0入0汤圆

发表于 2014-10-30 07:01:20 来自手机 | 显示全部楼层
实用感觉不是很大~

出0入0汤圆

发表于 2014-10-30 07:04:03 来自手机 | 显示全部楼层
实际用处不大

出0入0汤圆

发表于 2014-11-8 11:28:31 | 显示全部楼层
基本的一些常识是吧...

出0入0汤圆

发表于 2014-11-8 11:46:38 | 显示全部楼层
顺便接受了科普,谢谢楼主!

出0入0汤圆

发表于 2014-11-8 13:00:24 | 显示全部楼层
教科书式的面试题...
我还以为是ARM公司的面试题... 看第一题就否定了这个假设.

出0入0汤圆

发表于 2014-11-8 13:10:21 | 显示全部楼层
这些题目 用途不大,纯属考试题

出0入0汤圆

发表于 2014-11-8 13:11:58 | 显示全部楼层
不错,一些基础的东西

出0入0汤圆

发表于 2014-11-12 17:23:09 | 显示全部楼层
顶一下,学习一下基础的东西。

出0入0汤圆

发表于 2014-11-13 10:58:54 | 显示全部楼层

呵呵  不错 ARM核的基础   不过只有I.MX才用的上

出0入0汤圆

发表于 2014-11-13 11:01:03 | 显示全部楼层
看着像期末考试题。。

出0入0汤圆

发表于 2014-11-13 14:10:11 | 显示全部楼层
呵呵  不错 ARM核的基础   不过只有I.MX才用的上

出0入0汤圆

发表于 2014-11-13 16:44:00 | 显示全部楼层
每一家的面试题目都不一样    答错了或者打不上来就说  这么简单没有答对  很可惜啊  你的能力对于我们的岗位稍差些   拿不到这么多的工资  只能给你xxxx!!!!!!!

出0入0汤圆

发表于 2014-11-13 16:49:21 | 显示全部楼层
xieyudi 发表于 2014-11-8 13:00
教科书式的面试题...
我还以为是ARM公司的面试题... 看第一题就否定了这个假设. ...

很多公司就会拿这个来面试  看你基础行不行哈哈哈然后你就知道了。。。。。。。。

出0入0汤圆

发表于 2014-11-13 16:56:23 | 显示全部楼层
光会用还不够啊,基础的东西最重要
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-8 13:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表