ARM流水线技术
流水线技术是通过多个功能部件并行工作来缩短程序执行时间,提高处理器核的效率和吞吐率,从而成为微处理器设计中最为重要的技术之一。ARM9处理器核使用了典型三级流水线的冯诺依曼结构,ARM9系列使用了基于五级流水线的哈佛结构。通过增加流水线级数简化了流水线各级的逻辑,进一步提高了处理器的性能。
PC代表程序计数器。流水线使用分为三个阶段,因此指令分为三个阶段执行:取址(从存储器装载一条指令)、译码(识别将要被执行的指令)、执行(处理指令并将结果写回寄存器)。PC总是指向正在取址的指令,而不是指向正在执行或正在译码的指令。当ARM工作时,每条指令为4字节长,所以PC始终指向该指令地址加8字节的地址,即PC值=当前程序执行位置+8。
ARM指令是三级流水线(取值、译址、执行)同时进行的,PC指向正在取址的地址,则CPU正在译址的指令是PC-4,CPU正在执行的指令地址是PC-8。
当突然发生中断时,保存的地址是PC的地址。