专为游戏打造核心 Fermi第二代GF104 GF100的性能和功能时迄今为止最强的图形计算核心,尤其是在图形核心通用计算功能和实力上有了质的飞跃,基于GF100核心的Tesla 2070不仅加入了真正意义上的可读写L2缓存,还增加了ECC本地内存校验功能。虽然这些功能搭配庞大的规格确实提供了最好的用户体验,但是小众的功能却同时也占据了大量的晶体管,对于大众用来说得不偿失。 GF104就是在Fermi第一代GF100基础上演变而来,它为原生设计核心并非GF100规格简单屏蔽、缩减而来。它的主要设计目的就是为普通用户提供性价比的高游戏性能产品,当然基于GF104的游戏性能到底强不强还有待我们在下文的全面测试后才能得出,但是NVIDIA这种从用户角度出发设计产品的理念是5值得我们赞赏的。
基于40nm工艺打造的GF104-325-A1核心
GF104核心继续由台积电(TSMC)采用40nm工艺打造,其由19.5亿晶体管构成,相比GF100的32亿有了约40%的晶体管缩减,这也就是意味着GF104核心的成本、功耗和发热量都会有大踏步的改善。值得一提的是虽然晶体管有大幅缩减,但是在NVIDIA主推的硬件功能上,例如CUDA、PhysX、OptiX等技术依然全面支持。而且值得一提的是,GeForce GTX 460支持CUDA 2.1,而GeForce GTX 400(GF100核心)支持CUDA 2.0,GeForce GTX 200仅支持CUDA 1.3。
前文我们介绍过GF104目前设有两款产品型号,分别是1GB显存容量版本和768MB显存容量版本。这也导致二者使用的GF104核心也有些许区别,GeForce GTX 460 1GB版本使用GF104-325-A2核心,GeForce GTX 460 768MB版本使用GF104-300-KA-A1核心。 而两个版本的不同主要集中在本地显存相关的参数上,例如1GB版本拥有256bit显存位宽、32个光栅处理器、512KB的L2缓存和115.2GB/s内存带宽;而768MB版本则拥有192bit显存位宽、28个光栅处理器、384KB的L2缓存和86.4GB/s内存带宽。 GF100针对中端用户优化而得GF104 我们可以发现显卡历代产品均是率先发布采用相同核心的最高端系列产品,然后根据最高端系列核心的架构然后缩减规格设计出原生的中端、低端等核心。例如AMD当前主流的Radeon HD 5000系列产品,其最高端核心RV870、中端核心为RV840,二者的关系就可以看做是RV870的规格减半,理论架构无需改变,这样可以获得最短的开发周期。 那么NVIDIA的GF100和GF104核心也是经过这样的“处理”而得到的吗? 答案自然是否定的。虽然GF100和GF104核心均是基于Fermi架构设计,但是NVIDIA工程师不遗余力的挖掘Fermi架构潜能,GF100和GF104的内部微架构各处理单元做了比例调整。这样的设计好处就是不同规格的核心拥有最佳的功能单元比例,从而获得更佳的性能表现。
GF100 vs. GF104核心架构图对比 从两张架构图对比来看,GF104看似就是GF100的打对折后的作品。不过细心的读者肯定会发现,两颗核心架构图中SM(为Streaming Multiprocessors缩写)的含有CUDA Core数量不同,更多的功能单元模块数量比也有很大差异,这也就意味着GF104核心的并非GF100简单缩减50%而来,同时由于微架构功能单元模块比例的调整,性能方面差距值得我们去详细测试。
两 款 Fermi 架 构 核 心 全 规 格 对 比 | Graphics Core | Graphics Core | GF100 | GF104 | Processing Units | Graphics Processing Clusters | 4 | 2 | Streaming Multiprocessors | 16 | 8 | CUDA Cores | 512 | 384 | Texture Units | 64 | 64 | ROP Units | 48 | 32 | Other | Memory Interface | 384-bit | 256-bit | L1 Cache | 64 KB
(16 KB + 48 KB) | 64 KB
(16 KB + 48 KB) | L2 Cache | 768 KB | 512 KB | Warp | 32 | 16 | Memory Controller | 64bit *6 | 64bit *4 |
这是GF100核心和GF104核心的硬件规格对比。在此,值得一提的是目前使用GF100核心最高型号的GeForce GTX 480,众所周知并非使用全规格的GF100核心,而是屏蔽一组SM而来。无独有偶GeForce GTX 460亦是如此,它也并没有使用全规格的GF104核心,同样是被屏蔽了一组SM。
抛开实际发布产品的规格,我们来看下理论上GF100和GF104的满规格参数对比。在GPC和SM的数量上GF104确实仅为GF100的一半,但是通过CUDA Cores和SM数量可以计算出,GF100的每组SM拥有32个CUDA Cores,而GF104的每组SM拥有48个CUDA Cores;而在每组SM的纹理单元数量上,GF100拥有4个,GF104则升级为8个。当然功能单元的比例变化不仅仅如此,我们会在下面的章节做简介。
在GF100中拥有4个GPC(Graphics Processing Clusters)、16个SM(Streaming Multiprocessors)和6个MC(Memory Controller),而在GF104核心中则是2个GPC(Graphics Processing Clusters)、8个SM(Streaming Multiprocessors)和4个MC(Memory Controller)。 Fermi架构的GPU工作流程为CPU将命令通过Host Interface总线接口传输到GPU中,然后GigaThread线程控制器会从系统内存提取指定数据,并把它们拷贝到指定的显存中。然后GigaThread引擎创建并调度这些block到各个SM,其次再到warp交给CUDA Core和其他执行单位。在GigaThread引擎重新分配工作时,图形流水线上的各个单元如细分曲面和光栅化之类的单元也会继续工作。 |