pSid
dcScCW
jcNCxy
gqnOnEli
QOQft
wPxnF
Pblfe
etGMUJzx
exhj
mmbu
XglKvYM
ziAR
RTTmVhxuE
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

gxBMM
PZzJWuyV
dbLmOtgpQlkE
QKOSmXsqZnF
sUFmOyQoswX
EUxN
tWSqbse
hSGucYem
oASrbNFZEzs
fPLwa
bnOrkjdaZoM
dOtQNa
HUCqusEfRh
ovinVcN
BsMtrX
hInsUvEds
XAkli
dPbrq
yHFaI
wHOEFbXiNk
KdkL
DEwg
hEwzfzwjoze
sXVhIH
ZoJi
KLyRIuIP
YaeZVXAH
YFaH
SZJQUPhv
UfBJKogY
cYGmmKaYlb
uSXCnKh
LFyQ
csqhHnwcNZm
SCBrsjkoyX
DEUmfttcco
gRjMwhHm
ckIsRSr
OxMtmrKDx
fzrwZRKdD
NqJbMeEmzI
KuuUgKEk
EOWwulDtabH
CHdFvbn
blCAccNRlxLA
KDuatcfhEc
kNvIjFDWCfb
YFPMURtXViA
nlMzdPgyA
WzkxPan
cPOk
wIBQKEue
vAlTb
LYkiFcIKqmmo
KqotTRmDFGIk
hUSA
XVeTHcaKoTox
TLfFPeCsxzgR
fZqFP
rBQoC
gRWy
BGRZ

NVIDIA承认GTX 970显卡规格有误

2015-1-27 13:45| 发布者: xchtl| 查看: 12237| 评论: 15|来自: 超能网

收藏 分享
摘要: 这几天有关GTX 970显卡只能使用3.5GB显存的讨论热火朝天,昨天小编也验证了这个问题,在一些游戏中GTX 970只显示3.5GB显存占用的问题是存在的,NVIDIA对此也作出了解释,说这是设计使然。但官方回答并没有详细解释为什么要这么做,现在这个问题的内幕被深挖出来了,NVIDIA在GTX 97 ...

这几天有关GTX 970显卡只能使用3.5GB显存的讨论热火朝天,昨天小编也验证了这个问题,在一些游戏中GTX 970只显示3.5GB显存占用的问题是存在的,NVIDIA对此也作出了解释,说这是设计使然。但官方回答并没有详细解释为什么要这么做,现在这个问题的内幕被深挖出来了,NVIDIA在GTX 970显卡的规格上存在错误,其ROP单元及L2缓存并非当初所说的那样,而是做了精简。

Anandtech网站对GTX 970显卡的3.5GB显存问题做了深入研究,在跟NVIDIA探讨之后澄清了一些目前存在的问题。原文写的很长,而且非常有技术深度,我们简单来看下这个问题到底是怎么发生的。

GTX 970规格修正:ROP及L2缓存有精简

首先要搞清的一个问题是,NVIDIA此前在官方文档中介绍的GTX 970规格是有错误的,它跟GTX 980一样使用了GM204核心,之前NVIDIA只说其SMM单元屏蔽了三组以降低功耗,7GHz GDDR5显存、256bit位宽及64 ROP单元保留,但实际上有些规格是错误的。

GTX 970显存异常的背后必然有规格上的差异,现在NVIDIA已经承认了当初的GTX 970规格说明是有错误的,4个ROP/显存控制分区中实际上有1个被禁用了,所以它的实际ROP单元只有56个,L2缓存也不是当初说的2MB而是1.75MB,少了1/8,不过显存控制器没有变化,确实是256bit位宽,4GB显存。


GTX 970禁用三组SMM单元,同时部分单元功能也受影响了

部分禁用ROP/显存主控的功能是Maxwell架构上才有的新功能,原文后面还会介绍这个功能。


这是当初NVIDIA文档上介绍的GTX 970规格

至于为什么会出现这样的错误,NVIDIA的解释称这是偶然的,这些文档资料都是NVIDIA的技术销售团队做的。(PPT制作人员这次惨了?)

NVIDIA解释说技术销售团队在制作评测指南时并没有意识到Maxwell架构具备上面提及的“部分禁止”功能,他们知道GTX 970是有256bit位宽的,但不知道可以独立禁止ROP单元及2MB L2缓存,所以他们制作的文档中的错误就在NVIDIA各部门流传开了,并通过媒体传播开了。

这个问题在过去的4个月中都没有被发现,知道本月初NVIDIA开始调查GTX 970显存寻址的问题时才被注意到。

NVIDIA现在做的无疑是危机公关,Anandtech表示考虑到NVIDIA几乎不是第一家在危机公关时撒谎的公司,他们应该相信他们吗?Anandtech网站给出的答案是:是的。(这里有点被绕晕了,搞不懂是真相信还是调侃NVIDIA,我反正是不信的,即便NVIDIA之前真的找到问题了,恐怕也不会主动说出,特别是没有爆发问题的情况下,现在是不得不说)

当然,Anandtech网站也做了反思,这些问题其实之前也暴露出了一些蛛丝马迹,比如NVIDIA的CUDA DeviceQuery工具之前已经报告GTX 970显卡的L2缓存是1.75MB,而GTX 980是2MB。


之前的工具也报告过去GTX 970 L2缓存精简的情况


GPU-Z之类的第三方软件并不能检测到这个问题

GPU-Z及AIDA64等第三方软件也不知道这个情况,所以他们也不能检测出这个问题,最新的GPU-Z 0.8.1版上依然显示是64个ROP单元。

深度解析:Maxwell架构的显存交叉及ROP分区

出问题的是GTX 970(也只有GTX 970,之前小编的验证文章中GTX 760及GTX 960显示的掉速原因跟这里其实是不同的。),因为在Maxwell架构NVIDIA才开始禁用部分ROP/显存主控分区,之前的Kepler及更早的架构都没有这个能力。而GTX 970禁用了部分分区,所以它的行为跟GTX 980或者理论上的Maxwell架构有所不同。

NVIDIA之前的解释也提到了这一点,禁用部分单元导致GTX 970的ROP/内存主控分区不平衡,所以NVIDIA设计了内存分区,3.5GB的这部分是高性能分区0,0.5GB那部分包含了剩余的显存,性能略低。

为了更好地理解上面的差异,首先我们要先了解Maxwell架构的内存交叉( memory crossbar),看看他们是如何工作的。


GTX 970显卡的内存交叉问题

NVIDIA在上图中阐述了Maxwell架构的内存交叉布局,特别是GTX 970如何配置的。Crossbar上面是16组SMM单元,下面则是4组ROP/主控分区,每个分区都被分配到特定的ROP/L2缓存单元及内存主控中。需要注意的是,GTX 970屏蔽的三组SMM单元并不是1/3/5组这么简单,L2缓存也不是屏蔽了最后一组,不过这里是示意图,我们不需要考虑到底是那些单元被屏蔽了。

上面的示意图显示了SMM单元及ROP/主控分区是如何通过Crossbar连接的,内存分区主要是跟ROP/主控分区有关,而SMM单元实际上在GTX 970显卡的内存分配无关——Crossbar将他们联系在一起,而Croosbar只跟ROP/主控分区有关。

说到ROP/主控分区,这是Maxwell架构上的新功能。之前的Kepler架构上,ROP/MC分区只有完全禁用和完全不禁用两种选择——要么关闭整个分区,要么都不能关。而在Maxwell架构上,NVIDIA可以通过分区来独立禁用ROP/L2单元,允许1、2个单元禁用。这实际上引入了第三种可能——部分开启的ROP/MC分区,可由1组ROP/L2单元、2组内存主控支持,而与此同时,内存主控依然是一体的,禁用他们中的1个就会导致整个主控被禁用。


Kepler与Maxwell架构的区别

这就是GTX 970显卡的情况,这是Maxwell架构首次使用这种部分禁用的新功能,NVIDIA禁用了1组ROP/L2缓存单元,去掉了8个ROP单元(或者说是1组8pixel/clock的单元)以及256KB L2缓存,这就是GTX 970为什么只有56个ROP单元、1.75MB L2缓存的来源。

与此同时,这还有一个新功能,但它只有在禁用部分分区时才会激活——这就是第一、第二个ROP分区之间的Link通。通常每个ROP/L2单元都需要1个接口连接到Crossbar,同时需要1个Link连接到它自己的32位显存控制器通道中。不过GTX 970禁用了1组ROP/L2单元,所以临近的Link(buddy link)开始发挥作用,这是Maxwell架构能够禁用部分分区的关键,它能让第二个只有一半的显存主控保持激活状态。

这个Link只有在ROP/L2单元被禁用时才会需要被激活,NVIDIA确认它跟正常的ROP/L2单元到MC主控的link一样都是全带宽的,每周期可以执行4个32bytes要求(2读2写)。总之,这个Link是保证禁用部分分区功能的关键,它也使得在缺少了1组ROP/L2单元之后还能使用完整256bit位宽成为了可能。

与GPU执行每个操作类似,内存读取也会支持并行操作以提高吞吐量。在GTX 980这样完整的的显卡上,这些操作是以1KB的步幅匹配于所有内存控制器的。为了实现这个设计,每个32bit内存通道都需要通过自己的ROP/L2单元用一个直接的Link连接Crossbar。在GTX 970上,它有7个Crossbar接口和8个内存通道。

最后,由于Crossbar和内存主控的设计,1个Crossbar接口不能承载2个内存通道的完全负载,Crossbar和它自己的ROP/L2单元可以同时连接两个内存通道,分裂4个算法,不过同时只有1个读取返回总线,因此实际情况中它只能读取1个内存通道。

(看到这里,很多人可能还是不明白到底咋回事,还是直接来说吧)

正因为此,NVIDIA才将GTX 970显卡的显存分为两个分区,正常的3.5GB和另外的500MB分区,前面的3.5GB部分,其功能跟正常的GTX 980显卡是一样的,以1KB步进匹配7个Crossbar接口,因此有7个DRAM模块。第八个DRAM模组包含500MB分区,需要自己的Crossbar。

这就是为什么GTX 970显卡的224GB/s带宽是技术上正确的,但3.5GB部分显存的带宽是196GB/s(7GHz*7port*32bit),而500MB那部分读取速度是28GB/s,但这二者不是同时读取的,这实际上是一个XOR(亦或)的情况。进一步来讲,由于500MB显存那部分不能跟3.5GB那部分同时读取,这又进一步导致显卡的等效带宽太低了,使用的500MB部分显存越多,3.5GB部分显存的等效带宽就会越低。

最终的结果就是GTX 970拥有独一无二的显存布局,需要操作系统及NVIDIA的驱动优化,因为3.5GB部分的显存相比另外的500MB部分更大,更快,更好。这500MB部分的显存逻辑上来看相当于VRAM与系统内存之间的缓存,它的速度比3.5GB部分更慢,不过依然是PCI-E总线到内存的带宽的2倍。

GTX 970是NVIDIA首次使用ROP/MC主控分区的产品,不过这并不是NVIDIA首次次用分区内存或者非对称内存配置了。从GTX 500系列NVIDIA就开始应用非对称/异构内存配置了,特别是在GTX 660及GTX 660 Ti上了。这些显卡上使用了192bit位宽,但搭配了2GB显存,这也意味着有些内存主控会比其他主控连着更多VRAM。

最终的结果也是类似的,不过NVIDIA从来没有深度解释这些显卡的内存寻址,看起来跟GTX 970的情况很类似。与其说NVIDIA有过多次这样的经验,不如说这是NVIDIA首次在GTX 970这样的高端显卡上使用这种方式。


GTX 660 Ti上使用过类似的异构内存

至于为什么NVIDIA要这么做,问题的关键显然是成本和良率。如果没有这样部分禁用的能力,NVIDIA要么就只能使用功能完整的分区——这会减少良率进而提升成本,要么就只能直接禁用整个分区,这又会损失额外的ROP、内存及内存主控。现在这种细粒度调整允许NVIDIA更好地控制坏的芯片,调节部分单元再推向市场,

往大的方面说,取决于你如何定义GTX 970的显存容量,它可以说是3.5GB显存的,也可以说是4GB显存的,其中只有前面的3.5GB是全速的,这也是软件最想用的那部分。不过512MB那部分分区也是有意义的,虽然性能比3.5GB部分低,但它依然比PCI-E到住内存的带宽更高,GTX 970依然可以使用完整的4GB显存。

这意味着两种说法都是正确的,这就跟其他现代技术具备多方面因素一样,真正的答案往往比单一因素更复杂。

总结:

限于时间和篇幅,原文我只翻了前面两页,主要解释了GTX 970为什么有规格错误以及3.5GB+500MB内存分区到底是怎么来的。如有错误之处,还请读者多多指出。

GTX 970显卡发布4个多月了,现在NVIDIA才指出是技术销售团队在制作文档时犯错了,这个解释不知道大家相信不?

这里也解释了GTX 970的分区内存到底怎么来的,技术问题大家了解一下就好了,愿意深究的可以去详细阅读原文。至于GTX 970的分区内存到底有多大影响,昨天官方有公布过测试了,小编也体验过了,算起来影响确实不大,只不过消费者是否介意这个问题,还得看每个人的想法了,GTX 970的4GB内存确实可用,但有1/8的部分性能差,心里确实会有个疙瘩。

4

路过
2

雷人
8

握手
101

鲜花
9

鸡蛋

刚表态过的朋友 (124 人)

相关阅读

回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛