《ARM常见面试题目.docx》由会员分享,可在线阅读,更多相关《ARM常见面试题目.docx(2页珍藏版)》请在优知文库上搜索。
1、1.ARM有几种工作模式?ARM有7个基本工作模式:用户模式(USe小系统铢式(SyStem)、数据访问中止模式(abort)、未定义指令中止模式(Undef)、快速中断模式(FIQ)、外部中断模式(IRQ)、管理模式(SVC)COrteX-A系列特有:M(monitor):安全模式记忆方法:USAUFI(不足UFo)SM(你懂的)2 .ARM楼有多少个疗存器?ARM有37个32位长的寄存甥。(记住就行)3 .什么寄存叁用于存储PC和1.R畜存器?RlS(PC).R14(1.R).4 .R13通常用来存什么?SP(栈指向)校指针,5 .事种模式使用的寄存叁量少?用户模式/系统模式(不用SPSR
2、).6 .在Thumb指令集中,些寄存尊处于lowgroup?R0R7属于低位寄存器,7 .CPSR的一个位反映了处理暑的状态?第5位(从。开始),T状态位.8 .所有的Thumb指令采取什么对齐方式?半字对齐(2个字节)9 .ARMInB几个异常类型?复位弁常-SVC模式开发板狂位1未定义界常UDF模式【执行未定义的指令软中断异常-SVC模式画过SWl指令产生J取数据终止-ABT模式没有收到数据)(5)取指令终止-ABT模式没有取指令(6)IRQ中断-IRQ模式硬件触发的IRQ中断FIQ中断FIQ模式硬件触发的FIQ中断10 .为什么FIQ的JR务程序地址要位于OXlC?尽可能快,省去跳转指
3、令(FQ的向麻地址是异常中断向限我的最高地址,而异常中断向瓜友后跟的是程序代码,FlQ的中断服务程序紧接中断向用衣存放,中断过程可以节省条跳转指令)H.ARM犊是如何让FIQ快速处理?FIQ模式有私有的r8E2,如果只是用私有的寄存器,不需要保护通用寄存器FIQ异常在异常向M:表i顶端,可以宜接写Fg异常处理函数,不需要跳转12 .在加位后,ARM处理处于何种模式、何种状杳?管理模式(SVQ、ARM状态13 .ARM处理叁的人种寻址方式? .立即数寻址:要求以#开头movrt),#9 .寄存器寻址:addr,rl,r2r=rl+r2movrrrlrrl .寄存器间接寻址:Idrr,(rlr=(
4、rl .寄存器移位寻址:addr,rl,r2,lsl2 .基址变址寻址:前索引Idrrt),rl,4/r=*(rl+4)后索引Idrr,(rl,4/rrl,rlrl4;data三p+;自动索引IdrrO,(rl,W4!/r三(rl+4);rl=rl*4 .多寄存器寻址:IdmxXrOI,Oa-H5 .相对寻址:以PC的当前值为基地址,指令中的地址号为偏移量,两种之和得到操作数的地址 .堆栈寻址:stmfdsp!,r-rl214 .SWP指令的优势是什么?用来实现什么功能?功能:在寄存甥和存储器之间,由一次存储器读和一次存储涔耳组成的原子操作,完成一个字节或字的交换.可以用来实现信号量.SWPRd,Rm,Rn第一步;先将Rn所指向的内容传给Rd,Rd=Rn第二步:再将Rm的内容传给Rn所指向的地址Rn)=Rm15 .ARM处理叁的执行状态?.ARM状态:所有指令32位宽所有指令必须word对齐PC值由bits31:2决定.bits1:0未定义.Thumb状态:所有指令宽度16位必须半字halfwrd对齐PC值由bits31:1决定16 .异常产生时,ARM核自动完成的任务?CPSR指贝到异常模式的SPSR设置CPSR的相应位进入ARM状态设为对应的异常模式禁止中断中断产生的时候)将PC保存到异常模式的1.R修改PC的值到弁常向尿表