ARM-相关问题,指令集、异常中断

转载链接: arm知识问答

1、内存访问各种存储器的速度?

最快的是r0-r15这些寄存器,其后依次是cache、SDRAM、硬盘、网络

2、为什么快速中断比普通中断响应要快?

因为快速中断拥有独立的r8-r14寄存器,这样在模式切换时可以减少寄存器保护的时间,
其次是快速中断处理程序可以位于在异常向量表后面,这样可以减少程序跳转时间。

3、为什么程序运行时跳转会影响效率?

程序跳转会影响处理的流水线的顺序执行

4、什么情况下才可以发挥cache的作用?

程序的顺序执行 / 代码重复执行

5、ARM7和ARM9的差别:

  • ARM7内核是三级流水线(取指-译码-执行)和提供0.9MIPS/MHz的冯诺伊曼结构;
    ARM9内核是五级流水线(取指-译码-执行-访问内存-写寄存器),提供1.1MIPS/MHz的哈佛结构。
  • ARM7是没有MMU(内存映射单元),ARM720T是MMU的;
    ARM9是有MMU的,ARM940T只有Memory protection unit,不是个完整的MMU。
  • ARM7TDMI提供了非常好的性能、功耗比。包含了Thumb指令集快速乘法指令和ICE调试技术的内核。ARM9的时钟频率比ARM7更高,采用哈佛结构区分了数据总线和指令总线。

6、处理的流水线的级数会影响到CPU的最高频率吗?

是的

7、什么是伪指令?

就是不能通过反汇编得到的指令

8、中断向量表位于存储器什么位置?

0x0和0xffff0000两处

9、处理软中断主要用于什么地方?

主要用于操作系统的系统调用

10、ARM处理器对异常中断的响应过程

ARM处理器对异常中断的响应过程如下所述:
1)保存处理器当前状态,中断屏蔽位及各条件标志位;
2)设置当前程序状态寄存器CPSR中的相应位;
3)将lr设置成返回地址;
4)将PC设置成该异常中断的中断向量地址,跳转到相应异常中断处执行。

11、ARM指令和Thumb指令的差别

  • 在ARM体系结构中,ARM指令集中的指令是32位的指令,其执行效率非常高。对于存储系统数据总线为16位的应用系统,ARM体系提供了Thumb指令集。
  • Thumb指令集是对ARM指令集的一个子集重新编码得到的,指令长度为16位。通常在处理器执行ARM程式时,称处理器处于ARM状态;当处理器执行Thumb程式时,称处理器处于Thumb状态。
  • Thumb指令集并没有改动ARM体系地层的程式设计模型,只是在该模型上加上了一些限制条件。Thumb指令集中的数据处理指令的操作数仍然为32位,指令寻址地址也是32位的。

12、ARM和Thumb指令集混合使用的场合

通常,Thumb比ARM指令密度高,而且对于内存为8位或16位的系统,使用Thumb效率更高。
不过在下面一些场合下,必须运行在ARM状态,这时就需要混合使用ARM和Thumb。
1)强调速度的场合,应该使用ARM指令集;
2)有些功能只能由ARM指令集完成。如:使能 / 禁止异常中断;
3)当处理器进入异常中断处理程序时,程序状态转换到ARM状态,即在异常中断处理程式入口的一些指令是ARM指令,然后根据需要程序能转换到Thumb状态,在异常中断程式返回前,程序再转换到ARM状态。
4)ARM处理器总是从ARM状态开始执行。因此如果要在调试器中运行Thumb指令集,必须为该Thumb程序添加一个ARM程序头,然后再转换到Thumb状态,执行Thumb程式。

13、哈佛结构 对比 冯.诺曼结构 的优势?

哈佛结构与冯.诺曼结构处理器比较,哈佛结构处理器有两个明显的特点:

  • 使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;

  • 使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联

14、为什么在中断向量表中不直接LDR PC,“异常地址”

问:为什么在中断向量表中不直接LDR PC,“异常地址”.而是使用一个标号,然是在后面使用DCD 定义这个标号
答:因为LDR 指令只能跳到当前PC 4kB 范围内,而B 指令能跳转到32MB 范围,
而现在这样在LDR PC, “xxxx”;这条指令不远处用"xxxx"DCD 定义一个字,而这个字里面存放最终异
常服务程序的地址,这样可以实现4GB 全范围跳转.

问:LDR 不是可以全空间跳转的吗 《ARM 微控制器基础与实战》程序清单5.3.
答:LDR 伪指令通过设置指令缓冲池才能实现全范围跳转,而LDR 指令则只能实现4KB 范围
跳转.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值