ARM处理器执行指令时,采用的是流水线的方式,提高指令的执行效率。
取指器:根据PC寄存器中的值,从代码段取出汇编指令的机器码,给到译码器。
译码器:翻译指令机器码对应的功能,给打对应的执行器。
执行器:执行指令,并将结果写到寄存器中。
以上三个器件是完全独立的,工作互不干扰,都是单周期的器件。
指令1 指令2 指令3 指令4 指令5 指令6
1T 取指
2T 译码 取指
3T 执行 译码 取指
4T 执行 译码 取指
5T 执行 译码 取指
6T 执行 译码 取指
7T 执行 译码 取指
8T 执行 译码 取指
![](https://i-blog.csdnimg.cn/blog_migrate/8b8d328eb6aa6984de3ba6a6ac5ccc69.png)
指令的平均周期T = 8 / 6 = 1
以上指令的执行过程是理想的指令的执行过程,
实际上指令在指令时会被打断,比如函数的跳转,异常的处理。