我最近正在阅读 Jonh L. Hennessy和David A. Patterson的著作“计算机体系结构:一种定量方法” 。
我发现术语“ Lane” 在第4章中得到了广泛使用,但没有明确和正式定义。
它出现的第一个位置如下:
“所有现代矢量计算机都具有带有多个并行管线(或通道)的矢量功能单元,每个时钟周期可以产生两个或更多结果……” (第290页,第六版)。
我对术语“车道”和“管道”感到有些困惑。他们是同一回事吗?
答案 0 :(得分:1)
在此上下文中,“通道”是SIMD元素。 (他们谈论的是向量执行单元, not 超标量CPU,它们在整个CPU的“管道”中并行运行多个指令。实际上,两者都有)
例如x86 SSE addps xmm0, xmm1
用一条指令执行4x float32加法运算,将XMM寄存器视为4通道的32位float。
它在具有4个单精度FP加法器并行运行的SIMD执行单元上运行。该执行单元是流水线式的,通常需要3或4个周期的延迟和1个时钟的吞吐量。
在这种情况下,您的教科书所讨论的是一个执行单元内部的管道。就流水线而言,它与操作的内容以及4x 32位或2x 64位之类的操作几乎没有什么不同。在流水线阶段之间的缓冲区中,有一定数量的位需要锁存,而锁存器并不真正在乎它的解释方式。
答案 1 :(得分:0)
首先,请确保您了解什么是流水。
流水线是一种执行技术,其中多个指令在执行中重叠。计算机管道分为多个阶段。每个阶段并行完成一条指令的一部分。这些阶段将一个接一个地连接起来,形成一个管道-指令在一端进入,在各个阶段前进,然后在另一端退出。
在您的情况下,一条道路上有多条车道会提高汽车的通行能力。您将有更多的汽车到达终点。但是,您的车速将是相同的。流水线也是如此。
流水线处理不会减少单个指令执行的时间。相反,它会增加指令吞吐量。指令流水线的吞吐量取决于一条指令退出流水线的频率。
检查this website以获得更多信息。