什么是ARM流⽔线技术?

浏览量:298
时间: 2023-10-27 10:25:10

流⽔线技术通 多个功能部件并⾏⼯作来缩短程序执⾏时间,提⾼处理器核的效率和吞吐率,从⽽成为微处理 器设计中最为重要的技术之⼀。ARM7处理器核使⽤了典型三级流⽔线的冯·诺伊曼结构ARM9系列则采⽤了 基于五级流⽔线的哈佛结构。通过增加流⽔线级数简化了流⽔线各级的逻辑,进⼀步提⾼了处理器的性能。


PC代表程序计数器,流⽔线使⽤三个阶段,因此指令分为三个阶段执⾏:1.取指(从存储器装载⼀条指令);

2.译码(识别将要被执⾏的指令);3.执⾏(处理指令并将结果写回寄存器)。⽽R15(PC)总是指向“正在取 指”的指令,⽽不是指向“正在执⾏”的指令或正在“译码”的指令。⼀般来说,⼈们习惯性约定将“正在执⾏的指令 作为参考点”,称之为当前第⼀条指令,因此PC总是指向第三条指令。当ARM状态时,每条指令为4字节⻓,所 以PC始终指向该指令地址加8字节的地址,即:PC值=当前程序执⾏位置+8;


ARM指令是三级流⽔线,取指,译指,执⾏,同时执⾏的,现在PC指向的是正在取指的地址(下⼀条指令),

那么cpu正在译指的指令地址是PC-4(假设在ARM状态下,⼀个指令占4个字节),cpu正在执⾏的指令地址是

PC-8,也就是说PC所指向的地址和现在所执⾏的指令地址相差8。

当突然发⽣中断的时候,保存的是PC的地址(PC-8+4 = PC-4 下⼀条指令的地址) 这样你就知道了,如果返回的时候返回PC,那么中间就有⼀个指令没有执⾏,所以⽤SUB pc lr-irq #4。 

image.png

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。仅供学习交流使用,不构成商业目的。版权归原作者所有,如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时删除。侵权投诉
相关推荐HOT
如果将10MHz的梯形波信号的上升时间 Tr 从1ns降到5ns,那么频率320MHz以上谐波的最大振幅可降低多少?

如果将10MHz的梯形波信号的上升时间 Tr 从1ns降到5ns,那么频率320MHz以上谐波的最大振幅可降低多少?a. 0 dBb. 5 dBc. 7 dBd... 详情>>

2024-03-20 14:27:07
什么是PLL(锁相环)?

简单来说,输入时钟的存在是作为“参考源”。锁相环不是为了单纯产⽣同频同相信号,⽽是⼀般集成进某种“频 率综合电路”,产⽣⼀个不同频,但锁相的信号。 有点绕,打个... 详情>>

2023-11-21 11:33:05
嵌入式工程师面试题-面试密码题库

🆘救命,我找到嵌入式工程师面试密码了 | 大家好,作为一个offer收割机,给大家总结一下嵌入式工程师面试题和答案,其实真的没那么难,题目就是那些,答案也是固... 详情>>

2023-11-27 11:09:31
面试PCB Layout设计工作面试官一般会问什么?

面试PCB Layout设计工作面试官一般会问什么?问:您好!我是电子行业的资深技术人员,我大学里学的是电子信息工程专业,现在是高级硬件工程师,目前是在方案公司... 详情>>

2023-11-27 10:26:06
教你5个绝招,找工作,就能拿到更多钱

作者:夏姑娘做了10年HR,看到很多人工资明明能拿1万,却只拿了8、9千,后悔的要命今天教你5个绝招,找工作,就能拿到更多钱 1、 胆子大谈工资,让HR多发5... 详情>>

2023-11-27 11:29:10