ARM 常见问题

转载 2015年11月21日 11:01:32
1.ARM: Advanced RISC Machine 高级精简指令集计算机
<strong>2.RISC: </strong>Reduce Instruction set Computer 精简指令集,周期执行等长,固定指令长度
<strong>3.哈佛与冯诺依谩的区别: </strong>
<strong>    </strong>CPU在一个周期内能否同时操作数据和指令instruction cache 和data cache分开为哈佛结构,没有分开为冯诺依谩结构<strong>    </strong>Note: ARM7三级流水线冯诺依谩结构 ARM9五级流水线哈佛结构
<strong> 4.ARM特点: </strong>低功耗、移动手持设备
<strong> 5.编程模型: </strong>ARM 32位架构指的是数据总线<---->字
<strong> 6.工作模式:</strong> 7种工作模式<strong>            </strong>usr 非特权模式|------------------|空间共用<strong>         </strong>   system  系统模式| 
            FIQ 快速中断模式|
            IRQ 外部中断模式|
            abort 异常模式 |异常模式  
            undef 未定义模式 |
            supervisor 管理模式 |
<strong>7.寄存器: </strong>R13:SP栈指针。R14:LR 链接返回。R15:PC 程序计数器
<strong> 8.ARM有37个32位长的寄存器 
  </strong>  1个 R15 PC(Program counter) 
    1个  CPSR(Current program status register) 
    5个  SPSR(saved program status register) 
    30个通用寄存器
     R0-R12:五种模式公有 除FIQ(usr 和system算一种)13个|
    FIQ:私有寄存器R8-R12             5个 |30个通用寄存器
    R13:R14:六种模式都是私有的           2*6=12个|
    PC :公有 1个
    状态寄存器:CPSR 公有1个
    SPSR 私有5个(usr没有)
    Note:(Crotex A  中monitor又多3个,一共是40个) 
<strong>9.CPSR </strong>当前程序状态寄存器 current program status register可以在任何处理器模式下被访问
        1)ALU (atithmetic logic unit,算术逻辑单元)状态标志的备份
        2)当前处理器的模式
        3)中断全能标志
        4)设置处理器的状态(只有在4T架构)<strong> </strong>
<strong>10.CPSR复位后 </strong>进入supervisor模式,ARM状态
<strong>11.ARM状态</strong>32位4字节对齐,特点最后两位无效为0.PC的bit[1:0]<strong>=0 </strong>
<strong>12.当异常产生时: </strong>        1)系统会拷贝CPSR到SPSR,设置CPSR状态
        2)返回由程序员恢复SPSR-->CPSR
<strong>13.ARMv4所有指令都是条件执行。ARMv5有一条BX非条件执行</strong>
<strong>14.Thumb代码比ARM代码的优势 </strong>    1)代码密码是ARM的65%
    2)方便窄内存操作
<strong>15.DMIPS: </strong>一秒种执行的速度.CPI:指令执行的百分率周期/指令
<strong>16.指令流水线结论:
    </strong>1)Execute Address=PC-8
    2)IRQ的lr=PC-4.  BL、undef:lr=PC
    3)LDR互锁条件:LDR的目的地址在下一周期的源地址出现
    LDM(多内存操作)的条件:最后一个寄存器在一个周期作为源地址使用
<strong>17.ARM9E: </strong>E支持DSP。ARM9TDMI:支持调试,IDE
<strong>18.在流水线的第二阶段 </strong>译码decode读寄存器
<strong>----------------------------------------------------------------------------------
 测试:</strong>
<strong>1.说出ARM可以工作的模式名字</strong>
答:7种:
usr 用户模式
 system  系统模式
 FIQ 快速中断模式
 IRQ 外部中断模式
 Abort 异常模式
 undef 未定义模式
 svc 管理模式
<strong>2.ARM核有多少个寄存器</strong>
答:37个32位的寄存器
<strong>3.什么寄存器用于存储PC和LR寄存器 </strong> 答:PC:R15。LR:P14
<strong>4.R13通常用来存储什么 </strong> 答:栈指针
<strong>5.哪种模式使用的寄存器最少 </strong> 答:usr
<strong>6.在Thumb指令中,哪些处理器处于Low group </strong> 答:R0-R7
<strong>7.CPSR的哪一位反映了处理器的状态 </strong> 答:T
<strong>8.所有Thumb指令采取什么对齐方式 </strong> 答:16位2字节对齐
<strong>9.ARM有哪几个异常类型 </strong>答:7个
 Reset   复位异常   0x00
 Undefined instruction 未定义异常 0x04
 Software interrupt 软中断  0x08
 Prefetch Abort  预取指异常 0x0c
 Data Abort  数据异常 0x10
 IRQ   外部中断异常 0x18
 FIQ   快速中断异常 0x1c
<strong>10.为什么FIQ的服务程序地址要位于0x1c </strong>
答:因为0x1c后面可以直接给异常处理函数,而不需跳转,FIQ还有额外的5个私有寄存器,不需对齐进行保护(中断处理时,必须保护期使用的非私有寄存器)从而提高执行速度如果在0x1c前面的话则只有四个字节只能跳转执行异常函数
<strong>11.在复位后,ARM处理处于何种模式、何种状态 </strong> 
答:处理ARM状态,svc模式
<strong>12.哪些ARM指令可以有条件的执行 </strong> 
答:在ARMv4架构下所有的指令都是可以有条件执行,但是在ARMv5架构下有一条指令BX不能有条件执行,是非条件执行
<strong>13.Thumb代码与ARM代码比较的两在优势 </strong>答:优化代码密码、提高窄内存操作性能、是ARM指令集的一个功能子集
<strong>14.AMBA代表是什么 </strong> 答:advanced mircontrol bus architecture 高级微控制总线体系结构
 AHB:高速总线。APB:低速总线

ARM-VxWorks基本概念及常见问题

  • 2011年08月30日 21:38
  • 33KB
  • 下载

[DSP+ARM] DSP开发常见问题

1. GEL文件的功能? GEL文件的功能同emuinit.cmd的功能基本相同,用于初始化DSP。但它的功能比emuinit的功能有所增强,GEL在CCS下有一个菜单,可以根据DSP的对象不同,设...
  • yyme411
  • yyme411
  • 2013年05月22日 09:24
  • 939

【推荐】ARM JTAG调试常见问题

本帖摘自http://hjtag.com/forum/viewthread.php?tid=45&extra=page%3D1,作者:twentyone 这篇文章总结了刚接触ARM的网友们的常见问题...

国嵌ARM 上学期专题1之专题1 工欲善其事必先利其器 常见问题解决方案和知识点总结

问题1描述:安装DNW驱动以后,无法打开USB,提示cant open dev 问题1解决: (1)每次用这个驱动的时候先断掉USB和虚拟机的链接,过几秒钟再重新选择将USB和虚拟机链接 (...

国嵌ARM 上学期专题2之我从内部看ARM 常见问题解决方案和知识点总结

一.家族检阅 1.名词分类: (1)芯片名称:2440,210,6410, (2)ARM核:a8,arm9,arm11 (3)指令架构:armv4,armv6,armv7 2.每一个...

H-Jtag常见问题解决办法

  • 2017年11月19日 13:34
  • 28KB
  • 下载

MTK_camera调试常见问题处理方法

  • 2017年11月17日 11:23
  • 1.9MB
  • 下载

VC++课程设计常见问题解答

作者前两天做完了自己的课程设计,其中遇到了不少问题,估计其他同学也会遇到,所以在此写下一篇博客,希望有问题的同学能到此处速查,方便大家,这样就不需要去百度了,百度上很多人说的不清楚,而且各种答案,根本...

Qt常见问题汇总

  • 2017年11月07日 18:09
  • 474KB
  • 下载

Oracle常见问题总结

  • 2017年12月05日 10:40
  • 70KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ARM 常见问题
举报原因:
原因补充:

(最多只允许输入30个字)