x16为什么比x8慢? |
您所在的位置:网站首页 › 台式机网卡安装PCIEX8和X16有没有区别 › x16为什么比x8慢? |
x16为什么比x8慢?
一句话答案:x16的内存颗粒有2个bank group,而x8的内存颗粒有4个bank group: 我们拿Micron的8Gb内存颗粒[2]举例。同意提供8G bit的容量,它有三种Fuze: 分别是2G x 4;1G x 8;512M x 16。同样容量,厂家提供这三种配置有它们不同的应用场景: 1.x4主要用来搭建大容量内存条(想想为什么)。但因为每个rank都需要16个颗粒,所以信号完整性要求高,一般用在服务器领域。 2.x8是出货量最大的,最通用的配置,一般消费市场大部分就是这种配置。 3.x16因为只需要4个颗粒,应用于嵌入式或者PCB空间受限的场合,消费品市场见于低端产品。 x16和x8/x4的主要区别是Bank Group减半了: 我们来看一下x8的内部框图: 我们看到有4个Group。而x16只有2个group: Bank Group是DDR4引入的,有助于提高性能。在不同BG读取或者写入数据时,可以部分并发,延迟较少。这里引入两个新的Timings:tCCD_S和tCCD_L。CCD代表“Column to Column Delay”。S是Short,L是Long。每个Group都可以单独工作,一次完整的8n prefetch不需要等待另一个group,所以是短的delay,也就是tCCD_S,一般是4。Group内部,每次都要等待一个更长的时间,也就是tCCD_L,tCCD_L随不同频率各不相同。我们这个例子颗粒中是多少呢? tCCD_L是T10-T4,是6。比tCCD_S高了50%。 如果我们的数据十分凑巧,都分布在不同的group中,Bank Group会带来巨大的性能提升。最好情况下,2个bank groups和16n prefetch的提升一样,4个bank groups和32n prefetch一样。如果我们的数据刚好都在一个bank group中,频率又十分高,最坏情况,bank group不会带来任何好处。借助Bank interleave,我们的实际情况一般在最好和最坏之间。 x16只有两个bank group,而x8有四个bank group,这带来绝大的性能差异。如这位网友和Linus的结果,某些workload下有20%之多!这么大的性能差异,足以抵消一两代CPU带来的性能提升。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |