mk.*_*k.. 12 architecture assembly arm pipelining
我相信,如果这是在惹你生气,那就毫无疑问是愚蠢的.我有关于管道衬里的问题吗?
什么是管道衬里?
Theory说:" 通过流水线操作,CPU在第一条指令完成之前开始执行第二条指令.流水线操作可以加快处理速度,因为CPU不必等待一条指令完成机器周期."
我的问题是考虑我正在开发一个单处理器系统,一次只能执行一条指令,当CPU忙时,如何同时执行取出下一条指令?如果我缺乏概念清晰度,请对我有所启发.如果有单独的硬件使同时处理发生,它是什么?请解释一下.
jac*_*obm 11
流水线操作与单处理器系统无关.它与在硬件中对在机器上执行单个指令所采取的步骤进行认真思考有关.
想象一下,你想要实现MIPS"add-immediate"指令,addi $d, $s, $t它将存储在寄存器中的整数添加$s到$t指令中直接编码的整数中,并将结果存储在名为的寄存器中$t.考虑一下您需要采取的步骤.这是分解它的一种方法(例如,这不一定与真实硬件相对应):
addi指令,就会解析源寄存器和目标寄存器以及要添加的文字整数.现在请记住,所有这些都需要在硬件中构建,这意味着存在与这些事物相关的物理电路.如果你一次执行一条指令,这些电路的四分之三将处于空闲状态,一直无所事事.流水线技术利用了这一观察结果:如果处理器需要addi连续执行两条指令,那么它可以:
所以现在,即使每条指令需要4个处理轮次,处理器总共只完成了5轮完成两条指令.
这很复杂,因为有时你必须等到一条指令完成才知道下一条指令要做什么(甚至是下一条指令),但那是基本的想法.
| 归档时间: |
|
| 查看次数: |
15085 次 |
| 最近记录: |