学习更多相关知识,关注博主知乎账号,用户名Trustintruth https://www.zhihu.com/people/suo-yi-xin-90/activities
经过上两篇文章的阅读,大家应该清楚自己的CPU大致是如何处理数据的,而又是如何执行指令的。我们现在来在简略的说一下流水线CPU的设计。(源码在下载页,请自取)
流水线CPU的基本数据通路和单周期没有什么太大区别,而且也是每个时钟周期都有一条指令执行结束。但是他又和多周期CPU一样一条指令需要多个时钟周期完成。而同时使这两条条件同时满足的就是流水线技术了。先上一张图
由于在多周期CPU中,比如我们正在第三级执行第五条指令的执行操作,对于整个数据通路来讲,其它几级都是空闲状态,那我们为了提高CPU的工作效率,就让他提前后边指令的其他几级操作。这样一来,我们的CPU就像工厂内的流水线一样,每一级都在工作,大大提升了他的工作效率。
在设计中,流水线CPU甚至会比多周期CPU更好实现。由于数据是一级一级向下流,我们都无需进行状态机的状态转移来控制,只需要让数据与他的控制信号同步流向器件。每一个时钟周期数据都是从上一级流向