以Cortex-A7 CPU为例:
如果在程序执行过程中:发生了一个Asynchrous External Data Abort,它会很快进入Data Abort handler吗?
(Synchrous Data Abort会立即进入Data Abort handler.)
不清楚Asynchrous external data abort,什么时候才会进入Data abort handler!
以Cortex-A7 CPU为例:
如果在程序执行过程中:发生了一个Asynchrous External Data Abort,它会很快进入Data Abort handler吗?
(Synchrous Data Abort会立即进入Data Abort handler.)
不清楚Asynchrous external data abort,什么时候才会进入Data abort handler!
应该是很快就进入Data Abort handler的,
所谓ansynchrous 是指和当前执行的指令没有关系,例如一个写已经写到buffer里面了,对于cpu来讲已经完成了,但是后来从buffer里往downstream写的时候出错了,这个就是async的data abort了。
如果是读,cpu的load指令会一直hold在那里,直到数据回来,这个时候的出错就是sync的abort了,因为cpu知道哪个指令错了。
所有的中断处理都是要求及时处理的,至于在哪个cycle进入handler,取决于cpu的microarchi和cpu所处的状态,例如在关中断时就需要等着。
async和sync的一个区别在于ln寄存器记录的值是否是handler处理完之后可以恢复执行的点。