ARM处理器中PC值=当前程序执行地址 + 8的根本原因 |
您所在的位置:网站首页 › roma值是指什么 › ARM处理器中PC值=当前程序执行地址 + 8的根本原因 |
---2019.1.14 Update 根据评论指出,标题有误导,将 PC值 = 当前指令地址 + 8 更正为 PC值=当前程序执行地址 + 8 ------ 思考个小问题,处理器执行一条指令需要几个时钟周期。 对于软件工程师来说,印象流我们可能会觉得执行一条指令一个时钟周期嘛,一条指令算是一个最小的原子操作,不可能再细分了吧。 如果看看诸如《see mips run》,《arm体系架构》等书籍就会了解到,这个问题可没这么简单了,因为处理器设计中使用了流水线技术。 一条指令还是相当复杂的,处理器在一个时钟周期内肯定是完不成的,可能需要好多个时钟周期来完成执行。如果这样让处理器执行完一条指令,再去执行另一条,处理器的效率是很低的,假如一条指令是5个时钟周期完成,对于500MHZ的处理器串行运行指令,1秒内取指100000000次。 因此处理器引入了流水线技术,将一条指令划分为多个功能,由不同的功能部件来执行,并且这些功能部件可以并行工作。下面是一个arm7的三级流水线运行图。
对于32位处理器,一条指令占据4字节。这也就是PC值=当前程序执行地址 + 8的根本原因啦。
原标题:处理器一条指令需要几个时钟周期? 地址:http://blog.csdn.net/skyflying2012/article/details/51018640 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |