日本电子维修技术 显卡Big Navi的显存类型分析



第一步,AMD显卡的PCI Device ID规则:Linux驱动中SIENNA_CICHLID的Dev ID:
{0x1002, 0x73A0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},
        {0x1002, 0x73A2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},
        {0x1002, 0x73A3, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},
        {0x1002, 0x73AB, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},
        {0x1002, 0x73AE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},
        {0x1002, 0x73BF, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},复制代码目前已知的所有SIENNA_CICHLID的Dev ID,可以看到有5个Dev ID是73Ax,而最后一个是73BF。
这个是传统的AMD Dev ID分配规则。
前面以数字结尾的ID对应专业卡和水果专用的卡,
最后一个以十六进制F结尾的ID则配合多个REV ID来对应不同的游戏卡。


拿Navi10来举例,
7310对应W5700X
7312对应W5700
731F REV C0对应5700 XT 50周年
731F REV C1对应5700 XT
731F REV C2对应5700
再举个Vega10的例子,
6861对应WX 9100
6863对应Vega FE
687F REV C0对应Vega64 水冷
687F REV C1对应Vega64 风冷

所以有理由相信这个Sienna Cichlid也是有对应的游戏卡的。

第二部,通过查看Linux驱动中有关Sienna Cichlid的代码可以找到:
在umc_v8_7.h文件中:
#ifndef __UMC_V8_7_H__
#define __UMC_V8_7_H__

#include "soc15_common.h"
#include "amdgpu.h"

/* HBM  Memory Channel Width */
#define UMC_V8_7_HBM_MEMORY_CHANNEL_WIDTH        128
/* number of umc channel instance with memory map register access */
#define UMC_V8_7_CHANNEL_INSTANCE_NUM                2
/* number of umc instance with memory map register access */
#define UMC_V8_7_UMC_INSTANCE_NUM                8
/* total channel instances in one umc block */
#define UMC_V8_7_TOTAL_CHANNEL_NUM        (UMC_V8_7_CHANNEL_INSTANCE_NUM * UMC_V8_7_UMC_INSTANCE_NUM)
/* UMC regiser per channel offset */
#define UMC_V8_7_PER_CHANNEL_OFFSET_SIENNA        0x400

/* EccErrCnt max value */
#define UMC_V8_7_CE_CNT_MAX                0xffff
/* umc ce interrupt threshold */
#define UMC_V8_7_CE_INT_THRESHOLD        0xffff
/* umc ce count initial value */
#define UMC_V8_7_CE_CNT_INIT        (UMC_V8_7_CE_CNT_MAX - UMC_V8_7_CE_INT_THRESHOLD)

extern const struct amdgpu_umc_funcs umc_v8_7_funcs;
extern const uint32_t
        umc_v8_7_channel_idx_tbl[UMC_V8_7_UMC_INSTANCE_NUM][UMC_V8_7_CHANNEL_INSTANCE_NUM];

#endif
复制代码这个头文件是用来提供Sienna Cichlid的显存控制器的一些参数的。可以看到里面的显存类型为HBM,每通道位宽128bit,通道实例数量为2,每个实例的通道数为8,
总计128bit*2*8 = 2048bit。

在umc_v6_1.h中
#ifndef __UMC_V6_1_H__
#define __UMC_V6_1_H__

#include "soc15_common.h"
#include "amdgpu.h"

/* HBM  Memory Channel Width */
#define UMC_V6_1_HBM_MEMORY_CHANNEL_WIDTH        128
/* number of umc channel instance with memory map register access */
#define UMC_V6_1_CHANNEL_INSTANCE_NUM                4
/* number of umc instance with memory map register access */
#define UMC_V6_1_UMC_INSTANCE_NUM                8
/* total channel instances in one umc block */
#define UMC_V6_1_TOTAL_CHANNEL_NUM        (UMC_V6_1_CHANNEL_INSTANCE_NUM * UMC_V6_1_UMC_INSTANCE_NUM)
/* UMC regiser per channel offset */
#define UMC_V6_1_PER_CHANNEL_OFFSET_VG20        0x800
#define UMC_V6_1_PER_CHANNEL_OFFSET_ARCT        0x400

/* EccErrCnt max value */
#define UMC_V6_1_CE_CNT_MAX                0xffff
/* umc ce interrupt threshold */
#define UMC_V6_1_CE_INT_THRESHOLD        0xffff
/* umc ce count initial value */
#define UMC_V6_1_CE_CNT_INIT        (UMC_V6_1_CE_CNT_MAX - UMC_V6_1_CE_INT_THRESHOLD)

extern const struct amdgpu_umc_funcs umc_v6_1_funcs;
extern const uint32_t
        umc_v6_1_channel_idx_tbl[UMC_V6_1_UMC_INSTANCE_NUM][UMC_V6_1_CHANNEL_INSTANCE_NUM];

#endif复制代码和上个头文件类似,这个头文件则是Vega20和Arcturus的HBM参数。已知这两个芯片都是使用HBM2的芯片,使用的这个UMC的版本为6.1,那使用8.7的Sienna Cichlid可以大胆的猜测应该是HBM2e。

在gmc_v10_0.c中
static void gmc_v10_0_set_umc_funcs(struct amdgpu_device *adev)
{
        switch (adev->asic_type) {
        case CHIP_SIENNA_CICHLID:
                adev->umc.max_ras_err_cnt_per_query = UMC_V8_7_TOTAL_CHANNEL_NUM;
                adev->umc.channel_inst_num = UMC_V8_7_CHANNEL_INSTANCE_NUM;
                adev->umc.umc_inst_num = UMC_V8_7_UMC_INSTANCE_NUM;
                adev->umc.channel_offs = UMC_V8_7_PER_CHANNEL_OFFSET_SIENNA;
                adev->umc.channel_idx_tbl = &umc_v8_7_channel_idx_tbl[0][0];
                adev->umc.funcs = &umc_v8_7_funcs;
                break;
        default:
                break;
        }
}复制代码可以看到,确实专门将刚才的那些HBM相关常量赋给Sienna Cichlid,而别的卡,比如同样使用GMC10的Navi一代以及二代别的卡,都没有这一段。

而在gmc_v9_0.c中
static void gmc_v9_0_set_umc_funcs(struct amdgpu_device *adev)
{
        switch (adev->asic_type) {
        case CHIP_VEGA10:
                adev->umc.funcs = &umc_v6_0_funcs;
                break;
        case CHIP_VEGA20:
                adev->umc.max_ras_err_cnt_per_query = UMC_V6_1_TOTAL_CHANNEL_NUM;
                adev->umc.channel_inst_num = UMC_V6_1_CHANNEL_INSTANCE_NUM;
                adev->umc.umc_inst_num = UMC_V6_1_UMC_INSTANCE_NUM;
                adev->umc.channel_offs = UMC_V6_1_PER_CHANNEL_OFFSET_VG20;
                adev->umc.channel_idx_tbl = &umc_v6_1_channel_idx_tbl[0][0];
                adev->umc.funcs = &umc_v6_1_funcs;
                break;
        case CHIP_ARCTURUS:
                adev->umc.max_ras_err_cnt_per_query = UMC_V6_1_TOTAL_CHANNEL_NUM;
                adev->umc.channel_inst_num = UMC_V6_1_CHANNEL_INSTANCE_NUM;
                adev->umc.umc_inst_num = UMC_V6_1_UMC_INSTANCE_NUM;
                adev->umc.channel_offs = UMC_V6_1_PER_CHANNEL_OFFSET_ARCT;
                adev->umc.channel_idx_tbl = &umc_v6_1_channel_idx_tbl[0][0];
                adev->umc.funcs = &umc_v6_1_funcs;
                break;
        default:
                break;
        }
}复制代码都是类似的情况,印证了Big Navi使用HBM这一点。

在gmc_v10_0.c中
if (adev->asic_type == CHIP_SIENNA_CICHLID && amdgpu_emu_mode == 1) {
                adev->gmc.vram_type = AMDGPU_VRAM_TYPE_GDDR6;
                adev->gmc.vram_width = 1 * 128; /* numchan * chansize */
        } else {
                r = amdgpu_atomfirmware_get_vram_info(adev,
                                &vram_width, &vram_type, &vram_vendor);
                adev->gmc.vram_width = vram_width;

                adev->gmc.vram_type = vram_type;
                adev->gmc.vram_vendor = vram_vendor;
        }复制代码这一段中可以看到,当asic类型为Sienna cichlid并且为仿真模式时,代码将显存设为了128bit的GDDR6,我猜测也许在开发期间,因为显存没有准备就绪,又或者别的什么原因,所以曾经有使用GDDR6的工程样品用来做测试。
这应该就是我们上次看到的那张泄露图的中的卡,或者别开发样卡。
我想这次传言说GDDR6的原因,也就是某些开发样卡的规格被泄露了出来。

最后综上所述,使用2048bit HBM的卡一定个Big卡,并且这个卡有游戏卡,所以这应该就是AMD所说的Big Navi。
大家可以尽情期待了。
最后希望Big Navi不要像Vega一样出现功能性Bug,一雪前耻。


评论
求秒还是专业,不知道成品是不是混合显存,啥时候能模拟cuda渲染octane就好了。

评论

显存应该只有一种,没有看到什么特别的代码。

评论
功耗对比gddr6x会低吗

评论
2048bit hbm2的带宽也一样尴尬

评论
硬核分析

评论
好了,你该回水牢了。

评论

配合3.2Ghz的HBM2e可以提供820GB/s的带宽,这还只是起步,实际海力士的可以跑到3.6,三星的可以到4.2。

评论
999刀不加价能打住吗?

评论
我觉得HBM2应该还是给水果的卡  

评论

求秒,我觉得你判断HBM2e的显存,规格2048bit,那按照A100的2.4g的频率,大navi的带宽就600G的水平,然而5700xt都已经448G的带宽了,感觉太小,那个超大的L2和不太宽裕的带宽有互相弥补的作用???

不是很懂这个东西

好吧,我还是认为HMB2e加GDDR6的混合搭配是个方案,大容量的L2的作用是作为数据缓存和GPU正常运算,个人瞎猜的

评论
不黑屏不掉驱动不bug不死机就买了

评论
12g版本的怎么刀?

评论

这个回答的好

评论
分析的好!(假装看懂了)

评论

为什么这个核心非要有12G版?

评论

近几年这几家dram上的吹13看多了,表示怀疑

评论

三星的HBM2e于今年2月量产。
https://www.tomshardware.com/new ... ass-production-dram
海力士于今年7月量产。
https://news.skhynix.com/sk-hyni ... h-speed-dram-hbm2e/

评论

A100是HBM2,并不是HBM2e,如果还是HBM2的话,应该不会用UMC 8.7了,直接拿以前的6.1就好了。
HBM2e起步3.2G。

评论

两片HBM2的Vega64卖多少钱?
四片HBM2的R7又卖多少钱喃?

评论

我的满汉全席给我做好再说

评论

感谢指正,不过我更看好明年年底的MCM的navi系列,这才是真正翻身的作品,大胃王赛高
那HBM2e的3g频率的显存的话,带宽也不是太够,不过搭配超大L2也就勉强说得通了


评论

r7根本不赚钱,我记得是限量卖的……酥麻要是想再交个朋友那皮衣黄得乐死……

评论
我农威武

评论

如果有超大缓存的话,可能是为光追服务吧。

评论
Mesa 开源驱动天天都有新料

评论
遊戲卡應該沒HBM的

评论

这块核心有游戏卡上面有过分析了,也没有使用DEV ID来区分使用不同的显存。

评论
static void gmc_v10_0_set_umc_funcs(struct amdgpu_device *adev)
{
        switch (adev->asic_type) {
        case CHIP_SIENNA_CICHLID:
                adev->umc.max_ras_err_cnt_per_query = UMC_V8_7_TOTAL_CHANNEL_NUM;
                adev->umc.channel_inst_num = UMC_V8_7_CHANNEL_INSTANCE_NUM;
                adev->umc.umc_inst_num = UMC_V8_7_UMC_INSTANCE_NUM;
                adev->umc.channel_offs = UMC_V8_7_PER_CHANNEL_OFFSET_SIENNA;
                adev->umc.channel_idx_tbl = &umc_v8_7_channel_idx_tbl[0][0];
                adev->umc.funcs = &umc_v8_7_funcs;
                break;
        default:
                break;
        }
}

这里哪里有HBM相关的常量啊?

评论

UMC_V8_7_PER_CHANNEL_OFFSET_SIENNA
UMC_V8_7_CHANNEL_INSTANCE_NUM
UMC_V8_7_TOTAL_CHANNEL_NUM

全部都是和HBM相关的常量,在umc_v8_7.h中定义。
umc v87和HBM相关的常量只有一个
#define UMC_V8_7_HBM_MEMORY_CHANNEL_WIDTH        128

但是从头到尾没用到,你这属于先有结论再反向推导越看越像

评论

GDDR6X功耗就是一坨屎

评论
如果用HBM2e性能可以期待一下,就是价格期待不了

评论

1.png (338.73 KB, 下载次数: 0)

2020-9-26 21:13 上传


2.png (321.23 KB, 下载次数: 0)

2020-9-26 21:13 上传





评论
如果真是HBM 怕是矿工狂喜啊 玩家又要被耍猴了

评论
我信了

评论


这些我当然考虑过,后面那一段只需要确认真的是Sienna Cichlid在用就好了,毕竟umc 6.1的这个变量也只出现一次哦。

另外如果是GDDR6,这些参数直接从atom firmware里面读就好了,何必搞个umc 8.7来玩。

再另外你算算如果是GDDR6,这个通道数对么?

评论

都hbm了还要128mb么

评论
坐等瓜秒翻车

评论

反应过来你说啥了,也许给光追用,也许没有

评论
预算就7000封顶。。

评论

RDNA的shared L1补了一块很大的短板,l2带宽已经有2TB/s,5700xt 对G6带宽也不是很敏感 ,big navi 翻倍4T还能喂不饱

ga100兼顾各种计算才48mb,游戏卡真的有那么大需求?

评论
之前buildzoid分析过卡背面的螺丝孔位置,结论是大概率HBM

评论
劲!HBM2e爷吹爆!

评论
传言11月发布的16寸 macbook pro有希望能用上big navi吗?

评论

缓存其实主要可以放一些buffer啥的,有很好的加速效果。
但是对于gpu本身的带宽需求帮助不大。
之前猜测有大缓存的理由有几个,
一个是 256bit实在是不够的。
二个是 对光追有效果。
三个是 505的面积凑不够。

评论
显卡也会有大带宽需求,比如eth算法。降低GPU频率并不会降低多少算力,但能大幅减少电费。提高显存频率会显著提高算力,但不会增加多少电费。eth算法是直接和显存及其吞吐量线性相关,从利润角度而言,购买者需要这样设计的显卡,甚至ASIC

评论
没有DLSS类似的技术,玩光追在4K下就很难流畅,3A大作也比较难达到120HZ,综合看来还是NV竞争力强

评论

xbox有,navi2x没有我是不信的

评论

XBOX是可变速率着色,和DLSS完全不是一回事,再说主机有的技术未必会在PC生态上推行

评论
如果80cu+16GB hbm卖699,那真的香了

评论

vrs是大家都有的功能,根本不是一个东西

评论

DirectML了解一下  DLSS就是个软件模型  运算快慢的区别而已  什么硬件都能做

评论

光追不也是吗
速度差太多就是量变变质变,有没有硬件支持就是决定性的。

dlss有tensor在后面支持,至今也有2年了,才慢慢的开始被接受

评论

别人在讨论有没有  你在这说好不好
再说 xbox 硬件也支持 dlss 加速啊


评论

我知道有ML,可是有用吗?有人支持吗?DLSS可是已经开始形成气候了,而且DLSS是NV独有功能,Xbox可以通过其他机器学习达到类似功能,但不可能支持DLSS

评论

你之前说的是VRS啊  怎么忽然又说你知道ml了 有必要这么杠嘛 不扯了

评论

那光追也可以用fp32来做啊,大家为什么说amd没有光追?

评论

饶了农企吧,要在Macbookpro这种散热上限70W的东西里装进Big navi,苏妈挖到威震天都做不到啊

评论

NAVI1上不是也有一个图像锐化功能么  再发展发展 也是可用的      也是去用算法模拟高分辨率的细节
50W的Navi 14了解下

评论

是这道理,关键是市场接受,没人用再好的技术也起不来

评论

那玩意是基于传统Shader的,但是效果挺好用

评论

你错了 vrs+radeon boost在路上了

评论

x1s就实现了棋盘渲染自动分辨率,都多少年了,pc上的……有几个啊

评论

舅妈,vrs还是有损的,而且损失比较大,DLSS虽然也有损,但是损耗基本可以忽略了,至于radeon boost是什么,能透露一下吗?

评论

得有人支持啊 ,你看现在哪个PC游戏支持VRS了····,而DLSS是实打实的有了

评论

我是不知道你的dlss损耗基本忽略是哪里来的,明显就是糊的一p啊,dlss2.0也是一眼就看的出差别。。。。

评论

看来舅妈的眼睛还是比树导强多了

评论

Navi 14 158mm2 vs 传说中500mm2的Navi 21……

评论

问题是厨子特供阉割版都阉得只剩1200MHz了

评论

别的不说,DLSS号称能搞定8K,结果原始画面是1440P,这样的损耗如何忽略

评论

有吗?DLSS2.0画质非常好啊

评论

8K是超性能模式,普通4K的质量模式你去看看损耗大不大

评论

舅妈,咱们换个说法,DLSS2.0的质量模式保守点说达到85%的原生画面你是否同意

评论

hbm显存是爽yy,但也会引来矿工们的注意…难道今年内都要一卡难求了嘛?郁闷啊(╥﹏╥)

评论

Amd的东西在 主机平台肯定是会成为开发标准
至于PC平台 ,, 其实更多的是看 游戏厂商的抉择了   
毕竟游戏的正版销量大头还是主机的   

评论

Radeon boost我看现在已经有了呀。


评论

不同意,还没amd和nv自带的锐化滤镜好。。。。老黄自己拿来宣传的死亡搁浅用了dlss直接把整个游戏质感都破坏了。。。
dlss2.0在我看来就是缩画面然后锐化,其实跟蓝宝那个软件缩分辨率再锐化实际效果差不多,当然帧数提高和画面质量还是dlss2.0略胜一点。当然1.0就别提了,什么垃圾玩意还出来吹牛逼


评论

现在的Radeon boost是个废物,一开画面糊的不行,这种降分辨率提高帧数的东西还没主机那套动态分辨率来的好用,人家起码是帧数不稳定的时候才缩一下,Radeonboost什么垃圾。。。

评论
DLSS这种deep learning的模型比简单的锐化还是好很多的。反正游戏画面没有groundtruth,就算有些地方脑补细节不大合理,也无伤大雅。况且现在dlss 2.0脑补细节错的已经很少了。 电路 电子 维修 求创维42c08RD电路图 评论 电视的图纸很少见 评论 电视的图纸很少见 评论 创维的图纸你要说 版号,不然无能为力 评论 板号5800-p42ALM-0050 168P-P42CLM-01 电路 电子 维修 我现在把定影部分拆出来了。想换下滚,因为卡纸。但是我发现灯管挡住了。拆不了。不会拆。论坛里的高手拆解过吗? 评论 认真看,认真瞧。果然有收
 ·日本留学生活 求个大阪合租
·日本留学生活 自家房招租求
·日本留学生活 东京地区出9成新lv钱包
·日本育儿教育 孩子从国内过来如何学习日语
·日本育儿教育 明年四月横滨招月嫂
·日本育儿教育 请问咋让娃突破识字关?感谢分享中文共读和学习经验的妈妈
 ·中文新闻 东区明星迈克尔·格列柯,53 岁,将在第一次出生两年后第二次
·中文新闻 《爱情岛》明星卡米拉·瑟洛和杰米·朱维特在透露即将迎来第三

维修经验

CPUcpu-z 1.77版低调发布

日本维修技术更新: New benchmark “submit and compare” feature New clocks dialog reporting all system’s clock speeds in real-time Preliminary support for Intel Kaby Lake AMD Bristol Ridge processors 主要是增加了支持I、A两个新架构的 ...

维修经验

CPU这几天经常开机黑屏,热重启后又正常

日本维修技术这几天经常开机黑屏,热重启后又正常,今天热重启也不管用了。折腾半天总算点亮,显示超频失败,以前出这个画面我是不理它的,直接重启就能正常进系统了,今天不敢托大,因为 ...

维修经验

CPU超频求助!关于华擎H170和6700K

日本维修技术问题见楼主的show贴 https://www.chiphell.com/thread-1634895-1-1.html 这次华擎的H170 Hyper最大的特色应该是自带时钟发生器可以自由超外频 可是楼主好久没有折腾超频了。。。 两图中除了CPU外频 以 ...

维修经验

CPU液态金属会侵蚀cpu核心吗?

日本维修技术前阵子看到有人说,液态金属时间长了会侵蚀cpu铜盖,那么问题来了,这货会不会侵蚀核心呢? 评论 这玩意儿好像只对铝起反应 评论 不是说,cpu的盖子是铜的吗。。。 评论 不会,核 ...

维修经验

CPUm6i究竟支不支持e3 1231v3

日本维修技术官网上看支持列表没写有e3 1231v3,装机帖又有人晒,百度也没个明确答案,那究竟能不能点亮?有在用的chher说一下么 评论 升级最新bios肯定可以支持 评论 我的p67evo官网上也没说支持12 ...

维修经验

CPU华擎 HYPER 妖板 正确玩法

日本维修技术600元的 B150,10相供电,释放洪荒之力 注意必须官网 Beta 区的 BIOS 有 AVX 的 CPU 可能会掉缓存 启动时按 X 键激活 SKY OC,重启后进入 BIOS 160924164727.jpg (95.63 KB, 下载次数: 1) 2016-9-24 17:47 上传 ...

维修经验

CPUE5 2686 V3和i7 6800K如何选择

日本维修技术默认用,不超频,两者功耗是一模一样的 E5 2686 V3:2.0主频,3.5睿频, 18核心36线程 ,45M L3 咸鱼大约2500~3000元 i7 6800K : 3.5主频,3.8睿频 ,6核心12线程 ,盒装3000元 评论 性能应该是26 ...

维修经验

CPUHD530硬解4K能力还是有点弱呀!

日本维修技术播放器用PotPlay 64bit,各种优化后,跑4K @120Hz视频只能到70帧左右的速度,勉强能用! 显示器用的4K的优派VP2780 未标题-1.jpg (211.97 KB, 下载次数: 0) 2016-9-26 21:29 上传 评论 这个估计你没优化 ...

维修经验

CPU6900k 1.25V到4.2体质怎么样

日本维修技术如图,体质怎么样,ring是35,没敢试了,都说ring高了毁硬件 评论 不错的U,但不算雕,上4.4就大雕了,这电压上4.5的目前没见有人发图 评论 谢谢前辈告知 评论 我这个用1.2V超的4.2,R ...

维修经验

CPUI3 6100 华擎B150M pro4超4.5g测试。

日本维修技术看看论坛没多少i3 6100的帖子,就转下自己发的show贴里面的数据,给大家参考下。家里还有当年的神U i3 540 oc 4.5G在给老妈用。 不知道数据上正常吗?有6100的朋友可以告诉下,另外是不有 ...

维修经验

CPU7系u会兼容100系主板吗?

日本维修技术RT,听说要推200系板,100系还能用吗以后。。 评论 兼容的 评论 感谢!以后换u就行了,目前消息200系板会有新的特性吗? 评论 24条PCI-E 3.0通道、支持Intel Optane混合存储技术、十个USB 3 ...

维修经验

CPU有心入5820k了,求教下温度问题

日本维修技术一直徘徊在6700k和5820k之间,6700k现在这德行直接把我推向了5820k啊,从2600k升级上来,三大件都要换,现在唯一疑惑的是IB-E ex这种顶级风冷能不能压住4.5g的5820呢?毕竟刚刚买一个多月。 ...

维修经验

CPU6600&6600K才100的差价

日本维修技术太少了吧。。。 6600.JPG (106.91 KB, 下载次数: 0) 2016-10-1 10:30 上传 评论 毕竟只是i5而已…… 评论 上z170 6600也能超,等于没区别,差价能有100已经不错了 评论 然后又见不超频人士推荐超频 ...