貌似都知道 HD6系全是 4D单元架构吧?
R600的架构问题,在于SP的闲置率大。 标称1600SP的性能,实际掺了很多水。
RV970和RV870的SP阵列还是未变,还是保持20组
但是每组16个5D,变成24个4D
RV870: 20 x 16 x 5 = 1600 (320 个 5D 单元)
RV970: 20 x 24 x 4 = 1920 (480 个 4D 单元, 提升了 50%)
之所以这样变,还得要提到R600的4D+1D的工作方式如何才能满载,其4个简单1D为一个指令发射端,1个主单元D为一个发射端。只有当其4个简单1D再做相同的事情,1个主单元D做一件完全不搭界的事,R600的的SP负荷率才是100%(所谓320SP 全开)
牵扯到游戏来说:这里不得不提G80,NV再设计初衷,研究了大量游戏的shader分配工作,往往以3D指令,2D指令为主。标准的的4D加1D的DX10标准指令,现在也不可能实现,游戏的编程优化,招程序员的成本,老鬼花那个钱呢
所以当遇到大量的3D+1D. 2D+1D,1D+1D,计算时候,因为没有很多的4D+1D操作,R600的5D流处理器执行效率很多时候都以 4D/3D/甚至 2D 来调用,分别导致了20%,40%。60%的SP浪费率,
在 RV970 中如果把 ALU 的宽度减少,变成 3 从+1主,即使指令发射端还是不做改变,也等于是变相提升了流水线的效率,同时单个执行单元的面积得以缩小。(1600《-1920转变,也就是我上文提到的运算单元变相增加50%)
当然现在只能说是4D单元架构,具体这个4D单元是罩有R600影子的3从+1主,还是新型单元 (自我YY,2从+2主?)
如果是2从2主,保守游戏上不说,双精度就是单精度的2分之一。老黄的费米真的可以吐血了。
貌似只有那个主单元可以参与双精度。(R600系列双精度的效率为单精度5分之一)整体的从单元比例下降,主单元量就上升。双精度计算效率提升也是一样。
480X 4D
240X 4D
120X 4D
60 X 4D
HD6000莫非是这样么
HD5 规格
320X 5D 5870
160X 5D 5770
80 X 5D 5670
由RV970的320流处理器,堆到新效率架构的480个,再增加细分曲面单元,台积电还是只能提供40NM,功耗看来会一般般了。
当然,大家放心,全新架构的非5系列过渡品,乖乖等圣诞节吧,只迟不早的。
不是蜀黍山寨,平时只考虑游戏性能所以刚刚消息·······靠,AMD的那个四个1simpleD单元,才是处理双精度的······就是AMD这次豁出去了,专心做纯粹游戏卡,作图卡就5系列上了
旧有4D+1D架构需要前面的4D来处理双精度浮点,后面的那个1D只会单精度不会双精度.
4D+1D到底会改成2D+2D还是3D+1D?考虑到南岛只是小改,那么后面的那个2D或者1D也只会单精度不会双精度.
双精度浮点计算,对比旧有4D+1D来说,新2D+2D中前面的2D只有原来4D的1/2数量;或者新3D+1D的3D只有原来4D的3/4数量.
无论2D+2D和3D+1D都是双精度倒退.
当然堆积更多的SP可以补足减弱部分.
HD5870
850MHz*(4D+1D)*2*320=2.72TFlops 单精度
850MHz*1*2*320=544GFlops 双精度
HD6870(3D+1D)
850MHz*(3D+1D)*2*480=3.26TFlops 单精度
850MHz*(3/4)*2*480=612GFlops 双精度
HD6870(2D+2D)
850MHz*(2D+2D)*2*480=3.26TFlops 单精度
850MHz*(1/2)*2*480=408GFlops 双精度
可以看到2D+2D双精度会很无语...当然游戏的话,看单精度就ok了.
改成3D+1D倒是不赖.
附CHH健美性感的拉丁风情之女王原话(LZ蜀黍就喜欢那种类型的 )
R600 的 5D 是 4 simple + 1 complex
R9x0 就应该是 3 simple + 1 complex
同样是 VLIW,宽度缩小之后流水线气泡会减少很多。R600 的每个 5D 单元只有两个指令发射端,也就是说只有在 4 条 scalar 做相同操作,同时再执行一条不相干的 scalar 的复杂或简单指令,才能把流水线沾满,其他大多情况都会有单元空闲
记得 NV 设计 G80 的时候研究了大量的 real world 游戏 shader,发现使用的最多的是 2D 和 3D 操作。这么看来,R600 要想让 shader 单元时刻满效率运行是不可能的,因为没有那么多的 4D+1D 操作,而在做 3D+1D, 2D+1D, 1D+1D 的时候,这个 5D Vliw 就只能当做 4D/3D/甚至 2D 来用了
在 R9x0 中如果把 ALU 的宽度减少,变成 3 simple + 1 complex,即使指令发射端不做改变,也等于是变相提升了流水线的效率,同时单个执行单元的面积得以缩小
按照之前南岛的 执行单元不大改,制程不缩小的消息来看,这种推测不无道理
而且 3s+1c 还有一个好处,就是双精度浮点能力的提升。原来 R800 的时候双精度应该是单精度的 1/5,因为只有 complex ALU 能处理双精度。现在由于 simple ALU 的缩减,complex ALU 的比例提升,我推测双精度会提升到单精度的 1/4,也就是 25% 的双精度性能提升
转的帖子:http://itbbs.pconline.com.cn/diy/11632250.html
R600的架构问题,在于SP的闲置率大。 标称1600SP的性能,实际掺了很多水。
RV970和RV870的SP阵列还是未变,还是保持20组
但是每组16个5D,变成24个4D
RV870: 20 x 16 x 5 = 1600 (320 个 5D 单元)
RV970: 20 x 24 x 4 = 1920 (480 个 4D 单元, 提升了 50%)
之所以这样变,还得要提到R600的4D+1D的工作方式如何才能满载,其4个简单1D为一个指令发射端,1个主单元D为一个发射端。只有当其4个简单1D再做相同的事情,1个主单元D做一件完全不搭界的事,R600的的SP负荷率才是100%(所谓320SP 全开)
牵扯到游戏来说:这里不得不提G80,NV再设计初衷,研究了大量游戏的shader分配工作,往往以3D指令,2D指令为主。标准的的4D加1D的DX10标准指令,现在也不可能实现,游戏的编程优化,招程序员的成本,老鬼花那个钱呢
所以当遇到大量的3D+1D. 2D+1D,1D+1D,计算时候,因为没有很多的4D+1D操作,R600的5D流处理器执行效率很多时候都以 4D/3D/甚至 2D 来调用,分别导致了20%,40%。60%的SP浪费率,
在 RV970 中如果把 ALU 的宽度减少,变成 3 从+1主,即使指令发射端还是不做改变,也等于是变相提升了流水线的效率,同时单个执行单元的面积得以缩小。(1600《-1920转变,也就是我上文提到的运算单元变相增加50%)
当然现在只能说是4D单元架构,具体这个4D单元是罩有R600影子的3从+1主,还是新型单元 (自我YY,2从+2主?)
如果是2从2主,保守游戏上不说,双精度就是单精度的2分之一。老黄的费米真的可以吐血了。
貌似只有那个主单元可以参与双精度。(R600系列双精度的效率为单精度5分之一)整体的从单元比例下降,主单元量就上升。双精度计算效率提升也是一样。
480X 4D
240X 4D
120X 4D
60 X 4D
HD6000莫非是这样么
HD5 规格
320X 5D 5870
160X 5D 5770
80 X 5D 5670
由RV970的320流处理器,堆到新效率架构的480个,再增加细分曲面单元,台积电还是只能提供40NM,功耗看来会一般般了。
当然,大家放心,全新架构的非5系列过渡品,乖乖等圣诞节吧,只迟不早的。
不是蜀黍山寨,平时只考虑游戏性能所以刚刚消息·······靠,AMD的那个四个1simpleD单元,才是处理双精度的······就是AMD这次豁出去了,专心做纯粹游戏卡,作图卡就5系列上了
旧有4D+1D架构需要前面的4D来处理双精度浮点,后面的那个1D只会单精度不会双精度.
4D+1D到底会改成2D+2D还是3D+1D?考虑到南岛只是小改,那么后面的那个2D或者1D也只会单精度不会双精度.
双精度浮点计算,对比旧有4D+1D来说,新2D+2D中前面的2D只有原来4D的1/2数量;或者新3D+1D的3D只有原来4D的3/4数量.
无论2D+2D和3D+1D都是双精度倒退.
当然堆积更多的SP可以补足减弱部分.
HD5870
850MHz*(4D+1D)*2*320=2.72TFlops 单精度
850MHz*1*2*320=544GFlops 双精度
HD6870(3D+1D)
850MHz*(3D+1D)*2*480=3.26TFlops 单精度
850MHz*(3/4)*2*480=612GFlops 双精度
HD6870(2D+2D)
850MHz*(2D+2D)*2*480=3.26TFlops 单精度
850MHz*(1/2)*2*480=408GFlops 双精度
可以看到2D+2D双精度会很无语...当然游戏的话,看单精度就ok了.
改成3D+1D倒是不赖.
附CHH健美性感的拉丁风情之女王原话(LZ蜀黍就喜欢那种类型的 )
R600 的 5D 是 4 simple + 1 complex
R9x0 就应该是 3 simple + 1 complex
同样是 VLIW,宽度缩小之后流水线气泡会减少很多。R600 的每个 5D 单元只有两个指令发射端,也就是说只有在 4 条 scalar 做相同操作,同时再执行一条不相干的 scalar 的复杂或简单指令,才能把流水线沾满,其他大多情况都会有单元空闲
记得 NV 设计 G80 的时候研究了大量的 real world 游戏 shader,发现使用的最多的是 2D 和 3D 操作。这么看来,R600 要想让 shader 单元时刻满效率运行是不可能的,因为没有那么多的 4D+1D 操作,而在做 3D+1D, 2D+1D, 1D+1D 的时候,这个 5D Vliw 就只能当做 4D/3D/甚至 2D 来用了
在 R9x0 中如果把 ALU 的宽度减少,变成 3 simple + 1 complex,即使指令发射端不做改变,也等于是变相提升了流水线的效率,同时单个执行单元的面积得以缩小
按照之前南岛的 执行单元不大改,制程不缩小的消息来看,这种推测不无道理
而且 3s+1c 还有一个好处,就是双精度浮点能力的提升。原来 R800 的时候双精度应该是单精度的 1/5,因为只有 complex ALU 能处理双精度。现在由于 simple ALU 的缩减,complex ALU 的比例提升,我推测双精度会提升到单精度的 1/4,也就是 25% 的双精度性能提升
转的帖子:http://itbbs.pconline.com.cn/diy/11632250.html