0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

指令流水线的工作原理

我快闭嘴 来源:电子技术控 作者:电子技术控 2022-08-31 11:39 次阅读

要理解指令流水线,先大概回顾一下CPU的内部结构:

7b14cb64-2860-11ed-ba43-dac502259ad0.png

图a

7b768160-2860-11ed-ba43-dac502259ad0.png

图b

由上面两个图我们知道,一条指令要被执行,需要通过一个电路把指令从存储器中取出,放进CPU里面,再由CPU里面的另一个电路ALU去执行(图b中的左边部分)。也就是说,取指令和执行指令是由两部分不同的电路完成的。

7b8b10a8-2860-11ed-ba43-dac502259ad0.png

图1

上图是指令一条一条执行的过程。

7bcd964e-2860-11ed-ba43-dac502259ad0.png

图2

图2表示,当指令执行部件的某一部分电路空闲的时候,这个时候就可以采用流水线的方式。图中的一个方框表示一个时间周期。

7c16b13a-2860-11ed-ba43-dac502259ad0.png

这一部分表示对于第一条指令来说,当进入第二个时间周期,它已经处于执行阶段,ALU电路部分在工作,但是用于取指令的那部分电路空闲了,所以这部分取指令电路可以用于取出第二条指令,这就是指令流水线的基本原理。

图3

这个和我们工厂的流水线是一样的道理,流水线上不同的工人代表不同的电路部分。

7d00623a-2860-11ed-ba43-dac502259ad0.png

上图是一条指令需要六个不同的电路进行配合。

7d487e08-2860-11ed-ba43-dac502259ad0.png

当采用流水线以后,会出现一些问题,比如,在写后读相关问题中,第二条指令开始工作的时候,R1的内容必须已经确定,否则就会出错。对于这样的问题,就要有相应的解决办法。

由流水线产生了一些相应的技术:

7da5f920-2860-11ed-ba43-dac502259ad0.png

7de7489e-2860-11ed-ba43-dac502259ad0.png

上图中的一个方格代表一个时钟周期,在同一个时钟周期里面,可以有4条或者3条指令同时并发执行。注意,是并发,而不是并行,意味着CPU还是一个,只不过是利用不同的时间片。

7e388880-2860-11ed-ba43-dac502259ad0.png

7e6c0728-2860-11ed-ba43-dac502259ad0.png

上图中的一个时钟周期被多条指令分开,也就是说,执行指令的某一个动作的某个电路部分,不必等这个时钟周期结束,在同一个时钟周期内,就可以执行另外一条指令。比如,假定图3中的每个工人完成一个动作(检查一个零件或者打一个螺丝)规定为1分钟(时钟周期),但在超流水线技术里面,这个工人10秒钟就检查完了一个零件,剩下的50秒就可以检查另外的零件。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 流水线
    +关注

    关注

    0

    文章

    110

    浏览量

    24991
  • 指令
    +关注

    关注

    1

    文章

    580

    浏览量

    35377
  • cpu芯片
    +关注

    关注

    0

    文章

    45

    浏览量

    13470

原文标题:指令流水线工作原理的简单理解

文章出处:【微信号:电子技术控,微信公众号:电子技术控】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    流水线指令及RISC

    本帖最后由 eehome 于 2013-1-5 09:44 编辑 流水线指令及RISC
    发表于 08-17 15:49

    FPGA中的流水线设计

    处理速度)。第二 什么时候用流水线设计使用流水线一般是时序比较紧张,对电路工作频率较高的时候。典型情况如下:1)功能模块之间的流水线,用乒乓 buffer 来交互数据。代价是增加了 m
    发表于 10-26 14:38

    流水线ADC的内部结构和工作原理是什么

    本文介绍了流水线ADC的内部结构和工作原理
    发表于 04-22 06:56

    ARM流水线有什么作用

    看到汇编中很多关于程序返回与中断返回时处理地址都很特别,仔细想想原来是流水线作用的效果。所以,决定总结学习下ARM流水线。ARM7处理器采用3级流水线来增加处理器指令流的速度,能提供0
    发表于 07-16 06:53

    科普下CPU流水线工作原理

    现在的CPU处理器一般都是超流水线工作,动不动就是10级以上流水线,超高主频,这两者之间有什么关系呢?今天就跟大家科普下CPU流水线工作原理
    发表于 12-15 06:17

    ARM架构系列中的流水线设计

    什么是ARM流水线流水线(Pipelining)是 RISC(精简指令集)处理器用来执行指令的机制,通过获取指令来加速执行,而其他
    发表于 04-11 17:23

    现代RISC中的流水线技术

    流水线技术是提高系统吞吐率的一项强大的实现技术,并且不需要大量重复设置硬件。20世界60年代早期的一些高端机器中第一次采用了流水线技术。第一个采用指令流水线的机器是IBM7030(又称
    发表于 03-01 17:52

    周期精确的流水线仿真模型

    使用软件仿真硬件流水线是很耗时又复杂的工作,仿真过程中由于流水线的冲突而导致运行速度缓慢。本文通过对嵌入式处理器的流水线, 指令集, 设备控
    发表于 12-31 11:30 9次下载

    什么是流水线技术

    什么是流水线技术 流水线技术
    发表于 02-04 10:21 3740次阅读

    YHFT-DX高性能DSP指令控制流水线设计与优化

    摘要:YHFT-DX是国防科技大学设计的一款高性能定点DSP。论文设计并实现了YHFT-DX指令控制流水线,提出了在YHFT-DX超长指令字结构中跨取指包边界派发和指令预取的方法,有效
    发表于 02-28 15:22 36次下载

    FPGA之流水线练习5:设计思路

    流水线工作方式就象工业生产上的装配流水线。在CPU中由5—6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86
    的头像 发表于 11-29 07:06 2301次阅读

    各种流水线特点及常见流水线设计方式

    按照流水线的输送方式大体可以分为:皮带流水装配线、板链线、倍速链、插件线、网带线、悬挂线及滚筒流水线这七类流水线
    的头像 发表于 07-05 11:12 6342次阅读
    各种<b class='flag-5'>流水线</b>特点及常见<b class='flag-5'>流水线</b>设计方式

    嵌入式_流水线

    流水线一、定义流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,他们可同时为多条指令
    发表于 10-20 20:51 6次下载
    嵌入式_<b class='flag-5'>流水线</b>

    CPU流水线的问题

    1989 年推出的 i486 处理器引入了五级流水线。这时,在 CPU 中不再仅运行一条指令,每一级流水线在同一时刻都运行着不同的指令。这个设计使得 i486 比同频率的 386 处理
    的头像 发表于 09-22 10:04 1369次阅读

    什么是流水线 Jenkins的流水线详解

    jenkins 有 2 种流水线分为声明式流水线与脚本化流水线,脚本化流水线是 jenkins 旧版本使用的流水线脚本,新版本 Jenkin
    发表于 05-17 16:57 669次阅读