Closed. This question does not meet Stack Overflow guidelines 。它目前不接受答案。
想改善这个问题吗?更新问题,使其成为 Stack Overflow 的 on-topic。
6年前关闭。
Improve this question
在 CUDA 6.5 的文档中写道:http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#ixzz3PIXMTktb
这是否意味着 GPU Kepler CC3.0 处理器不仅是流水线架构,而且是超标量?
Pipelining - 这两个序列并行执行(一次不同的操作):
加载 [addr1] -> 添加 -> 存储 [addr1] -> NOP NOP -> LOAD [addr2] -> ADD -> STORE [addr2] 超标量 - 这两个序列并行执行(一次相同的操作):
加载 [reg1] -> 添加 -> 存储 [reg1] 加载 [reg2] -> 添加 -> 存储 [reg2] 指令是独立的 指令来自同一个经线 SM 中有足够的执行资源用于两条指令
如果这符合您对超标量的定义,那么它就是超标量。
关于流水线,我以不同的方式看待流水线。 Kepler SM 中的各种执行单元都是流水线式的。我们以浮点乘法为例。
在给定的时钟中,开普勒扭曲调度器可以在浮点单元上调度浮点乘法运算。此操作的结果可能不会在若干个时钟之后出现,(即它们在下一个时钟周期不可用)但在下一个时钟周期,可以在完全相同的浮点功能单元上调度新的浮点操作,因为硬件(在这种情况下是浮点单元)是流水线的。
在时钟 0 之后的下一个时钟,可以在同一个 HW 上调度一条新的乘法指令,相应的结果将在
不确定这是否是您所说的“一次不同的操作”
想改善这个问题吗?更新问题,使其成为 Stack Overflow 的 on-topic。
6年前关闭。
Improve this question
在 CUDA 6.5 的文档中写道:http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#ixzz3PIXMTktb
这是否意味着 GPU Kepler CC3.0 处理器不仅是流水线架构,而且是超标量?
最佳答案
是的,Kepler 中的 warp 调度器可以在每个时钟调度两条指令,只要:
如果这符合您对超标量的定义,那么它就是超标量。
关于流水线,我以不同的方式看待流水线。 Kepler SM 中的各种执行单元都是流水线式的。我们以浮点乘法为例。
在给定的时钟中,开普勒扭曲调度器可以在浮点单元上调度浮点乘法运算。此操作的结果可能不会在若干个时钟之后出现,(即它们在下一个时钟周期不可用)但在下一个时钟周期,可以在完全相同的浮点功能单元上调度新的浮点操作,因为硬件(在这种情况下是浮点单元)是流水线的。
clock operation pipeline stage result
0 MPY1 -> PS1
1 PS2
... ...
N-1 PSN -> result1
在时钟 0 之后的下一个时钟,可以在同一个 HW 上调度一条新的乘法指令,相应的结果将在
result1
出现后的下一个周期出现。不确定这是否是您所说的“一次不同的操作”
关于cuda - GPU Kepler CC3.0 处理器不仅是流水线架构,还是超标量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28032470/
10-10 17:08