Multi-Threading(多执行诸架构)作为整个流水线的管理体系在次世代GPU中的重要性已经越来越高。单纯论FLOPS(理论浮点运算能力),G80并不会比ATi之前的R580芯片高多少,但凭借高效率的Multi-Threading设计,G80在所有的游戏中都可以轻易击败R580并将它抛离很远。从这个例子里,我们就会看到另一个增加IPC(Instruction per cycle,每周期指令吞吐量)的重要途径——提高TLP(Thread Level Parallelism,线程级并行性)在新一代GPU的架构中所发挥的作用。小熊在线www.beareyes.com.cn
我们知道,随着时钟频率的提高,GPU受到外部存储器(显存)的影响越来越大。一个工作频率在600MHz的GPU,内部每个时钟周期的长度在1.6ns左右,而我们可怜的显存还在以200-300MHz(2.0GHz GDDR4)的速度工作(GDDR4使用8位预取结构[Octal Data Rate]设计,数据频率是核心频率的8倍)。更加糟糕的是,GPU对显存的存取动作的指令也会有延迟周期(CAS,RAS),这样,从GPU开始存取放在芯片外面的DRAM,到第一个data送出的时间差最小也有几十个ns,以GPU内部的时钟频率而言可能会有几十到上百个周期的损失。传统意义上的流水线在这种情况下会陷于无限的等待之中,这会对GPU的正常工作造成严重的影响。
下面是一个Multi-Threading掩盖存储器延迟的实例: