您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > ARM嵌入式系统简答题前十一道答案
1.三级流水线流水线采用3个阶段,因此指令分为3个阶段执行:取指、译码、执行ARMThumbPCPC指令从存储器中取出PC-4PC-2对指令使用的寄存器进行译码PC-8PC-4从寄存器组中读出寄存器执行移位和ALU操作寄存器写回到寄存器组2.ARM处理器模式问述处理器模式说明备注用户(usr)正常程序工作模式未能直接切换到其他模式快中断(fiq)支持高速数据传输及通道处理FIR异常响应时,进入此模式中断(irq)用于通用中断处理IRQ异常响应时,进入此模式管理(svc)操作系统保护代码系统复位和软件中断响应时,进入此模式中止(abt)用于支持虚拟内存和/或存储器保护在ARM7TSMI没有大用处未定义(und)支持硬件协处理器的软件仿真未定义指令异常响应时,进入此模式系统(sys)用于支持操作系统的特权任务等与用户类似,但具有可以直接切换到其他模式等特权取指译码执行3.AMR处理器中模式位与处理器模式的对应M[4:0]模式可见的Thumb状态寄存器可见的ARM状态寄存器10000用户R0-R7,SP,LR,PC,CPSRR0-R14,PC,CPSR10001快中断R0-R7,SP_fiq,LR_fiq,PCCPSR,SPSR_fiqR0-R7,R8_fiq-R14_fiq,PC,CPSR,SPSR_fiq10010中断R0-R7,SP_irq,LR_irq,PC,CPSR,SPSR_fiqR0-R12,R13_irq,R14_irq,PC,CPSR,SPSR_irq10011管理R0-R7,SP_svc,LR_svc,PC,CPSR,SPSR_svcR0-R12,R13_svc,R14_svc,PC,CPSR,SPSR_svc10111中止R0-R7,SP_abt,LR_abt,PCCPSR,SPSR_abtR0-R12,R13_abt,R14_abt,PC,CPSR,SPSR_abt11011未定义R0-R7,SP_und,LR_und,PCCPSR,SPSR_undR0-R12,R13_und,R14_und,PC,CPSR,SPSR_und11111系统R0-R7,SP,LR,PC,CPSRR0-R14,PC,CPSR4.问述ARM处理器异常的种类异常入口返回指令之前的状态ARMR14_XThumbR14_X备注BLMOVPC,R14PC+4PC+2此处PC为BL,SWI,未定义的指令取指或者预取中止指令的地址SWIMOVSPC,R14_svcPC+4PC+2未定义的指令MOVSPC,R14_undPC+4PC+2预取中止SUBSPC,R14_abt,#4PC+4PC+4快中断SUBSPC,R14_fiq,#4PC+4PC+4此处PC为由于FIQ或IRQ占先而没有被执行的指令的地址中断SUBSPC,R14_irq,#4PC+4PC+4数据中止SUBSPC,R14_abt,#8PC+8PC+8此处PC为产生数据中止的装载或者保存指令的地址复位无——复位时保存在R14_svc中的值不可预知5.写出中断处理代码的开始部分与退出部分SUBLR,LR,#4;计算返回地址STMFDSP!,{R0-R3,LR};保存使用到的寄存器...LDMFDSP!,{R0-R3,PC};中断返回6.描述ARM处理器进入异常的过程①、在适当的LR中保存下一条指令的地址。当异常入口来自:ARM状态下,ARM7TDMI将下一条指令的地址复制到LR中(当前PC+4或PC+8,取决于异常的类型)。Thumb状态下,ARM7TDMI将PC加偏移值(PC+4或PC+8,这取决于异常的类型)写入LR当进入异常时,异常处理程序不必确定状态。②、将CPSR复制到适当的CPSR。③、根据异常将CPSR模式强制设为某一值。④、强制PC从相关的异常向量处取指。7.描述ARM处理器退出异常的过程①、将LR中的值减去偏移量后移入PC。偏移量根据异常的类型而有所不同。②、将SPSR的值复制回CPSR。③、清零在入口位置的中断禁止标志。8.列出ARM异常向量及与对应的地址地址异常进入时的模式进入时I的模式进入时F的模式0x00000000复位管理禁止禁止0x00000004未定义指令未定义IF0x00000008软件中断管理禁止F0x0000000C中止(预取)中止IF0x00000010中止(数据)中止IF0x00000014保留保留——0x00000018IRQ中断禁止F0x0000001CFIQ快中断禁止禁止9.ARM存储器映射有哪几种ARM存储器映射有两种:①、对于小端存储系统:在小端格式中,一个字当中最低地址的字节被看作是最低位字节最高地址字节被看作是最高位字节。因此存储器系统字节0连续接到数据线31—24。②、大端存储器系统:在大端格式中,ARM7TDMI处理器将最高位字节保存在最低地址字节,最低位字节保存在高地址字节。因此,存储器系统字节0连接到数据线31—24。10.使用存储器的重新映射有哪几种原因①、使Flash存储器中的FIQ处理程序不必考虑由于重新映射所导致的存储器边界问题。②、用来处理代码空间中段边界仲裁的SRAM和BootBlock向量的使用大大减少。③、为超过单字节转移指令范围的跳转提供空间来保存常量。11.写出ARMIRQ中断服务程序void_irqEint1_IRQ(void){…EXTINT=0x02;VICVectAddr=0;}void_irqEint2_IRQ(void){…EXTINT=0x04;VICVectAddr=0;}
本文标题:ARM嵌入式系统简答题前十一道答案
链接地址:https://www.777doc.com/doc-7156057 .html