什么是ARM流⽔线技术?

浏览量:2719
时间: 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
ESD防护电路怎么设计?接触放电与空气放电怎么做?EMC工程师面试

一句话答案ESD 防护核心是「泄放 + 钳位 + 隔离」:对外接口就近放 TVS/ESD 阵列把静电泄到地、串电阻限流、必要时用光耦/隔离器件隔断;接触放电要靠... 详情>>

2026-09-14 19:49:23
比较器输出反复跳变怎样排查?硬件面试要讲清迟滞、噪声和输入边界

题库分类:硬件设计适合经验:0—5年难度:中高级题型:模拟电路排查题 + 参数权衡题面试题传感器信号缓慢经过阈值时,比较器输出出现多次跳变,你会怎样排查并设计迟... 详情>>

2026-08-01 17:47:37
RS-485接口电路怎么设计与防护?硬件工程师面试从总线拓扑讲到浪涌防护

硬件设计中级技术基础题本文概述RS-485是工业现场最常用的差分总线接口,面试中需要讲清总线拓扑(总线型vs星型)、终端电阻的计算和位置、偏置电阻(fail-s... 详情>>

2026-08-30 10:53:17
PDN目标阻抗怎么理解?PCB仿真面试要讲清频段、模型与实测

题库分类:PCB仿真适合经验:1—5年难度:中高级题型:电源完整性题 + 仿真验证题面试题什么是PDN目标阻抗?为什么仿真中要让电源分配网络阻抗在关注频段内尽量... 详情>>

2026-07-30 21:38:42
试解释根文件目录中/bin和/sbin及/usr/bin和/usr/sbin的区别?

用户和管理员必备的二进制文件,就会放在/bin。系统管理员必备,但是一般用户根本不会用到的二进制文件,就会放在/sbin。相对而言,不是用户必备 的二进制文... 详情>>

2024-03-27 15:20:53
开班信息