微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM处理器关于非对齐存储的访问规则

ARM处理器关于非对齐存储的访问规则

时间:11-09 来源:互联网 点击:

当发生非对齐的数据访问时,到底采用上述3种处理方法种的哪一种,是有各指令指定的.

arm指令预取和自修改代码

在ARM中允许指令预取.在CPU执行当前指令的同时,可以从存储器种预取出若干条指令,具体预取多少条指令,不同的ARM实现种有不同的数值.

预取的指令并不一定能得到执行。比如当前指令完成后,如果发生了异常中断,程序将会跳转到异常中断处理程序处执行,当前预取的指令将被抛弃.或者如果执行了跳转指令,则当前预取的指令也将被抛弃.

正如在不同的ARM嵌入式开发实现预取的指令条数可能不同,当发生程序跳转是,不同的ARM实现种采用的跳转预测算法也可能不同.

自修改代码指的是代码在执行过程种可能修改自身.对于支持指令预取的ARM系统,自修改代码可能带来潜在的问题.当指令被预取后,在该指令被执行前,如果有数据访问指令修改了位于主存种的该指令,这是被预取的指令和主存种对应的指令不同,从而可能使执行的结果发生错误.


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top