打印

不能理解流水线的方式如何能提高指令执行效率?

[复制链接]
332|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pengf|  楼主 | 2017-6-17 22:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
不能理解流水线的方式如何能提高指令执行效率?
沙发
llljh| | 2017-6-17 22:58 | 只看该作者

对指令进行了流水线的操作啊

使用特权

评论回复
板凳
pengf|  楼主 | 2017-6-17 23:00 | 只看该作者

但CPU在微观的一个时间只能处理一跳指令或者一个任务,感觉它在流水线操作时还是需要那么多个时间点来完成。

使用特权

评论回复
地板
dingy| | 2017-6-17 23:01 | 只看该作者

你看些关于空区和分支的描述

使用特权

评论回复
5
pengf|  楼主 | 2017-6-17 23:03 | 只看该作者

不能理解,希望哪位懂行的用通俗点的方式解释下这个原理!

使用特权

评论回复
6
xxrs| | 2017-6-17 23:05 | 只看该作者

RISC是什么

使用特权

评论回复
7
liuzaiy| | 2017-6-17 23:08 | 只看该作者
reduced instruction set computer,精简指令集计算机

使用特权

评论回复
8
yinxiangh| | 2017-6-17 23:10 | 只看该作者

“CPU在微观的一个时间只能处理一跳指令”,这个说法并不严密。

使用特权

评论回复
9
pengf|  楼主 | 2017-6-17 23:12 | 只看该作者
怎么讲

使用特权

评论回复
10
chenjunt| | 2017-6-17 23:14 | 只看该作者

一条指令执行占用的时间可以再往下分解为“微微观”,
例如fetch、decode、mem/reg access、exec、write back
这几个“微微观”操作是并行的,或者说从“微微观”角度来看,CPU在一个时间点上是在并行执行多条指令。

Time   +-----------+-----------+-----------+----------+
INS1   fetch           decode       mem            exec        wb
INS2                     fetch          decode         mem        exec

使用特权

评论回复
11
morrisk| | 2017-6-17 23:15 | 只看该作者

通俗点讲,把CPU执行1条指令的过程,比作饭店做一道菜,过程包括点菜,下单,洗菜,切菜,备调料,备汤底,炒菜,上菜总共8个步骤,假设每个步骤需要5分钟,如果只有1个人做,这个人在任何时间就只能做其中1个步骤,完成这些步骤要40分钟,这个饭店要40分钟才能上一道菜,然后才能点下一道菜。如果把这些步骤安排好先后顺序,8个人一起做8个菜,虽然每道菜从开始点到最后上还是要40分钟,但是从总体上看,这个饭店可以5分钟就出一道菜,这个5分钟就是流水线的一个节拍周期

使用特权

评论回复
12
xxmmi| | 2017-6-17 23:17 | 只看该作者
比如分两个菜。切菜,烧菜。第一个菜就切好了拿去做,第二菜不是等到第一才完成了再切菜,而是第一个菜在烧的时候就可以切了。

使用特权

评论回复
13
pengf|  楼主 | 2017-6-17 23:23 | 只看该作者
搞定了,呵呵,犯了低级错误……结贴啦,多谢各位

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

718

主题

10129

帖子

3

粉丝