您的位置 首页 模拟

ARM9中止与PC

1,假设当前是PC,PC-4,PC-8。当前取指PC=当前PC,当前译码PC=当前PC-4,当前执行PC=当前PC-8。例如,如下图所示,当前取值P

1, 假定当时是PC,PC-4,PC-8。当时”取指PC”=当时PC,当时”译码PC”=当时PC-4,

当时”履行PC”=当时PC-8。例如,如下图所示,当时“取值PC”=16,当时“解码PC”=12,当时“履行PC”=8。

2, 产生IRQ反常,履行维护操作,LR中保存因为FIQ或IRQ占先而没有被履行完的指令的地址的下一条地址(LR中保存的是当时PC的值,也便是取值的指令地址),即LR指向了指令地址=16的指令,但指令地址=12的指令还没有履行完,中止回来后还要持续履行

3, 进入中止服务程序

4, 中止回来前,对LR处理,LR=LR-4,指向之前已译码但没被履行的指令的地址(假如回来的时分直接回来PC,那么中心就有一个指令没有履行)

5, 回来

注:ARM9是五级流水,图中只画出了三级流水。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/moni/262463.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部