什么是ARM流⽔线技术?

浏览量:2973
时间: 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
硬件工程师面试如何回答技术选型问题?3种表达框架

分类:硬件工程师面试准备经验级别:中级难度:基础题型:表达技巧📖 本文概述面试中被问到"你当初为什么选这个芯片/器件"是硬件工程师的高频场景。本文提供3种表达... 详情>>

2026-08-04 15:55:43
比较器电路怎么设计?滞回比较器阈值怎么算?开环运放能当比较器吗?硬件面试

一句话答案比较器输出只有高低两种状态,V+>V- 输出高,反之低;滞回比较器加正反馈产生两个阈值(上限 Vth+、下限 Vth-),防止噪声抖动;专用比较器(如... 详情>>

2026-09-23 16:22:23
天线驻波比突然升高:反射、馈线损耗和回波损耗怎么区分?

换了一条馈线后,天线端看起来还是50Ω器件,可发射机测出的VSWR升高了。只回答“天线不匹配”还不够:要说明驻波是怎样形成的,以及为什么测量位置会影响读数。先读... 详情>>

2026-10-25 11:06:00
PCB设计工程师面试:面试官问你最擅长什么怎么回答?

分类:面试准备经验要求:初中级难度:中级题型:行为面📖 本文概述PCB设计工程师面试:面试官问你最擅长什么怎么回答是PCB工程师面试准备的高频搜索问题。本文提... 详情>>

2026-08-02 10:10:37
反激电源MOSFET漏极尖峰怎样排查?电源面试要讲漏感、钳位和测量

题库分类:电源设计适合经验:1—5年难度:中高级题型:开关电源排查题 + 器件应力题面试题反激电源MOSFET关断时漏极出现很高的尖峰和振铃,你会怎样判断来源并... 详情>>

2026-08-01 17:49:25
开班信息