GCN架构回顾杂谈 一个伟大的架构(2)
2023-03-16 来源:你乐谷
R600
在2005年AMD发布了R600架构,AMD自R600以来一直坚持VLIW模式,VLIW(超长指令字)顾名思义就是可以把多条指令连在一起,建成一个超长指令,促使GPU的运算单元可以一次启动连续执行,省去了好多调度指令、等待周期,参考而提高运算效率。但VLIW在多个流处理器并行性上存在多数难以预料的逻辑缺陷,在GPU这种规模越来越大的并行处理器上,数千个流处理器的整体吞吐率反而受到影响。再加上DirectX 11需要GPU架构拥存在更好的灵活度和通用计算能力,而非很多意义上的单纯吞吐能力。总之VLIW模式有高吞吐低灵活性的特点,但是在通用计算可以图形计算的今天可以显得跟不上节奏了。(用R600架构做比较是因为从R600到有GCN之前都是用VLIW模式,本人觉得这样更好比较)
接下来然我们了解GCN架构:AMD对GCN架构的定义为“Non-VLIW ISA With Scalar Vector Unint”——使用标量和矢量单元的非VLIW体系,GPU的组成单元不会是SIMD阵列,而是被称为“Compute Unit”的计算单元(简称CU)。拿HD7970来说,HD7970有2048个流处理器,分成32个计算单元,在芯片高负荷时,每个计算单元都可以分配到任务,架构的使用率和吞吐量很高更适合处理多线程多任务并行计算。(科学计算,挖比特币,高显卡负荷的游戏,总之这个架构是个抖M)在这32个并行计算单元中,每个单元拥有64个流处理器,64个流处理器组成4个矢量单元,每个矢量单元搭配64KB矢量寄存器。每个计算单元内部还具备数据寄存器和多数辅助性功能模块,共同组成了一个完整的运算中枢。
再通过新指令集,促使每个计算单元总能同时领取、执行指令,众多计算单元并行处理能力很高,促使计算单元的使用率和指令吞吐量反而比VLIW更高。
在2005年AMD发布了R600架构,AMD自R600以来一直坚持VLIW模式,VLIW(超长指令字)顾名思义就是可以把多条指令连在一起,建成一个超长指令,促使GPU的运算单元可以一次启动连续执行,省去了好多调度指令、等待周期,参考而提高运算效率。但VLIW在多个流处理器并行性上存在多数难以预料的逻辑缺陷,在GPU这种规模越来越大的并行处理器上,数千个流处理器的整体吞吐率反而受到影响。再加上DirectX 11需要GPU架构拥存在更好的灵活度和通用计算能力,而非很多意义上的单纯吞吐能力。总之VLIW模式有高吞吐低灵活性的特点,但是在通用计算可以图形计算的今天可以显得跟不上节奏了。(用R600架构做比较是因为从R600到有GCN之前都是用VLIW模式,本人觉得这样更好比较)
接下来然我们了解GCN架构:AMD对GCN架构的定义为“Non-VLIW ISA With Scalar Vector Unint”——使用标量和矢量单元的非VLIW体系,GPU的组成单元不会是SIMD阵列,而是被称为“Compute Unit”的计算单元(简称CU)。拿HD7970来说,HD7970有2048个流处理器,分成32个计算单元,在芯片高负荷时,每个计算单元都可以分配到任务,架构的使用率和吞吐量很高更适合处理多线程多任务并行计算。(科学计算,挖比特币,高显卡负荷的游戏,总之这个架构是个抖M)在这32个并行计算单元中,每个单元拥有64个流处理器,64个流处理器组成4个矢量单元,每个矢量单元搭配64KB矢量寄存器。每个计算单元内部还具备数据寄存器和多数辅助性功能模块,共同组成了一个完整的运算中枢。
再通过新指令集,促使每个计算单元总能同时领取、执行指令,众多计算单元并行处理能力很高,促使计算单元的使用率和指令吞吐量反而比VLIW更高。