GPU的逻辑结构决定了它并不适合被用来执行关联度过高过深的条件分支过程,因此对于任务的关联性检查以及将关联指令打散到不同的线程块中就成了整个GPU任务队列执行过程中一个非常重要的步骤。在以Fermi为代表的传统仲裁体系中,任务会在解码过程之后完成指令的关联性检查,如果指令存在超过一定限度的关联性,为了规避条件分支对性能产生的影响,这些指令会被重新打包以便ALU团簇进行吞吐。在完成这些关联性检查之后,明确执行方向的指令才会被送入流水线中进行执行。为了加快这一过程的速度,Fermi架构为这个过程提供了Multiport Post decode Queue以及对应Register的硬件支持。这部分工作执行的场所以及Multiport Post decode Queue和对应Register所处的位置,就在SM单元的Logic controller。
在Kepler中,这一传统的过程发生了巨大的变化,任务会在进入GPU之前先根据Sched.info进行关联度判断以及选择,然后直接进行解码并被送入流水线中完成后续处理。传统的关联性检查以及指令重组等过程被Sched.info-select所取代。在执行过Pre-Scheduling过程之后,指令从解码到执行之间的延迟被大幅降低,整个流水线因此获得了更高的执行效率和复用率。而执行这一过程的场合也不再是SMX单元的Logic controller,它被挪到了我们熟悉的X86处理器,也就是你主板上插着的那颗CPU中。
2011年8月,NVIDIA与斯坦福联合发表了一篇名为《Power and Programmability.The Challenges of ExaScale Computing》的论文,该篇论文探讨了一系列性能与功耗增长关系以及未来运算逻辑结构设计方面的问题。除提交了一系列当前架构环境下不同逻辑结构的典型性能功耗状况数据并展现了性能功耗比对未来运算架构发展的影响之外,该篇论文最大的亮点在于NVIDIA拿出了针对性能功耗比以及未来并行机图形运算需求的解决方案——Echelon架构。
Echelon架构面向10nm这一目前半导体工艺能够达到的实际界限,计划拥有290平方毫米左右的芯片面积。该架构暂时未包含光栅化在内的常规图形处理单元,虽然不能完全排除NVIDIA放弃光栅化专利墙的优势,转向以超大规模运算能力来直接完成图形处理全部过程的可能性,但这对于手握大量专利的NVIDIA来说太异于常规,因此我们认为Echelon是一个针对未来NVIDIA架构中运算部分组成的ISA(Instruction Set Architecture,指令集架构)。