zoukankan      html  css  js  c++  java
  • 3.1 全局存储带宽与合并访问 -- Global Memory(DRAM) bandwidth and memory coalesce

    全局存储带宽(DRAM)

    全局内存是动态随机访问的方式访问内存.我们希望访问DRAM的时候非常快,实际情况是DRAM中出来的数据非常非常慢,这就好比,理想状态是泄洪,水倾巢而出,气势宏伟,实际取水却像是用吸管在喝饮料,速度非常慢.

    通常来看,我们会通过优化算法减少DRAM的访问次数.

    由上图可以看出,用户访问需要的Address会被分成Row addr和Column address, 通过row decoder -> Core Array -> Sense Amps -> Column Latches ->到这里会非常宽,但是到-> Mux 会变得非常窄,然后通过off-chip data bus 给到处理器 .这就是DRAM bank的组织框架.

    DRAM 中从core array中读取一个cell是非常慢的,cell是指一个存储单元.

    • DDR: Core speed = 1⁄2 interface speed
    • DDR2/GDDR3: Core speed = 1⁄4 interface
    speed
    • DDR3/GDDR4: Core speed = 1⁄8 interface
    speed
    • ... likely to be worse in the future 

    随着时间的推移,市场上DDR的容量越来越大,但是访问速度却是越来越慢.

    为什么core array中读取非常慢,如下图: 

    如下图:

    假设我们有1000个cells,在水平方向(因为是行吗)是很长的,当访问其中的一个cell,其实是访问在访问某一个bit,当为1时表示存在,0表示不存在.而这个bit是存储在一个很小的电容里面,当想这个电容的晶体管里面充电,这个值是1,不充电则是0. 这个在纵向会连接到一个检测放大器(sense amplifier),纵向线是一个非常缓慢的过程,记得这个即可.

    DRAM Bursting

    对于DDR{2,3}  cores 核心的频率是接口频率的1/N. 为了提高访问的速度,DRAM中提供更多的端口数目(lanes),类似收费站提供很多的收费口来减轻拥堵问题一样.虽然单一时间慢,但是同时执行的多,所以总的情况会变快.

    DDR2/GDDR3: buffer的宽度是借口宽度的4倍

    为了降低访问的次数,当处理器访问一段数据时,实际上传递给处理器的是围绕这一段数据的一个更大的数据.这个就是dram burst 设计.所以一个时钟周期访问的数据,其实是把这个之后的几个时钟周期也访问的数据一起取出来,如果CPU不需要这些多余的数据,其实就可以说是浪费了,所以为了充分利用DRAM的这个特性.

    上面提到的增加更多的接口数目说的是DRAM bank.

    例子:

    nVidia GTX280 GPU的极限带宽是141.7GB/s

    DDR3的接口速度是1.1GHz,  core speed是276Mhz, 是接口速度的1/4.

    对于一个64bit的接口,时钟应该是2倍,因为在上升沿和下降沿都由数据传输.

    64bit/8 = 8Bytes. 

    8*2 *1.1 = 17.6GB/s 这个远远达不到141.7.

    141.7/17.6 = 8 memory channels  . 这样可以达到这个速度.

    内存合并访问

    为了利用dram burst的特性,所以我们就有了合并内存访问.通过合并内存访问的次数提高访问memory的效率.

    GPU的存储是row-major,是以行来组织数据的.

    对于GPU来说,由于thread是异步执行的.下面这两种访问模式一种是合并访问的,利用到DRAM,一种是非合并访问:

    B是合并访问, A不是.B是以纵向的访问方向,A是横向的访问方向.

    所以总结一条规则是:
    GPU纵向访问内存可以实现合并访问的效果.

  • 相关阅读:
    HDU 5273 Dylans loves sequence 暴力递推
    HDU 5285 wyh2000 and pupil 判二分图+贪心
    HDU 5281 Senior's Gun 贪心
    HDU 5651 xiaoxin juju needs help 逆元
    HDU 5646 DZY Loves Partition
    HDU 5366 The mook jong
    HDU 5391Z ball in Tina Town 数论
    HDU 5418 Victor and World 允许多次经过的TSP
    HDU 5642 King's Order dp
    抽屉原理
  • 原文地址:https://www.cnblogs.com/biglucky/p/4249789.html
Copyright © 2011-2022 走看看