CPU指令的流水线执行

CPU指令执行包括取指、译码和执行等阶段,现代CPU常采用5级流水线以提高效率,如取指、译码、执行、访存和回写。流水线通过分解工作来减少等待时间,以ARM7为例,流水线设计确保PC值始终指向取指步骤的地址。然而,数据相关和分支跳转可能导致流水线断流,影响效率。了解这些原理对软件开发者理解CPU行为至关重要。
摘要由CSDN通过智能技术生成

        指令集是CPU体系架构的重要组成部分。C语言的语法是对解决现实问题的运算和流程的方法的高度概况和抽象,其主要为算术、逻辑运算和分支控制,而指令集就是对这些抽象的具体支持,汇编只不过是为了让开发人员更好地记住指令,但它跟CPU所认的机器码其实是一一对应的,因此汇编也是低级语言。

        CPU的指令执行一般包括取指、译码和执行,这是经典的三级指令执行流水线,教科书上往往以这三种过程来描述,arm7也是。但是现代的CPU设计往往使用更广泛使用的5级流水线,也就是分为取指、译码、执行、访存和回写。为什么要分为5级?这是由流水线的各个阶段的时间来决定的。我们可以考虑现实生活的工厂的流水线。

        假设某流水线只有 三个工序,有三个工人A、B、C,则这条生产线的效率就取决于效率最低的那个工人的效率。现假设B做完其负责的工序需要10秒,而A和C完成只需要5秒,总共要完成4个产品。那总时间应该是:5+10*4+5 = 50秒,(第一个5是A先做第一道工序的时间,这时B和C都得等,而最后一个5是C必须要等B全部完成后才能开始)即会出现C在等待,而B一直在忙死忙活的场景。 

        当然,无论怎样,流水线的执行总

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值