SDRAM的地址映射方式BRC 和RBC

来源:互联网 发布:布鲁克斯跑鞋矩阵 编辑:程序博客网 时间:2024/05/21 06:16

1.什么是BRC和RBC,是SDRAM中,两种不同的地址映射方式。

    BRC = Bank, Row, Column = Bank-Row-Column
    RBC = Row, Bank, Column = Row-Bank- Column
    Bank是内存领域里面常用的术语,大致意思为“块,数据块”,Row是行,Column是列。

2.内存SDRAM的物理结构

    SDRAM的地址映射方式BRC(Bank <wbr>Row <wbr>Column)和RBC(Row <wbr>Bank <wbr>Column)

    SDRAM物理上,最小的单位叫做一个cell(单元),用于存储一个数据单位,可以是4-16bits。更大一点的单位,就是对应的row或column了,见上图。然后多少行,多少列,共同组成了一个Bank,中文的含义:一个块或一个数据块。

    根据上图中的说明可知:
    常见的Bank,有4-8个;
    每个Bank中,一般包含16K(1K=1024个)的row;
    每个行中,一般又包含1K的column;
    每个column中,即是我们所说的最小的单位cell了,是4-16bits。

3.地址映射
  所谓地址映射,简单理解就是将一个内存地址转换对应到相应的物理存储单元的过程,就叫做映射。

4.BRC和RBC的详细含义
  了解了前面的知识,再来举例说明所谓的BRC和RBC的地址映射方式。
  例如有个SDRAM,对应的参数是:
    512Mb (32Mx16), 4 banks(用2bit表示), row length = 13 bit, column length = 10bit
    然后有个内存地址0x5080_2040,这样的地址,其实最高位的0x50是对应着SDRAM地址的最开始,所以,此处

    可以忽略,实际所表示的地址,就是0x0080_2040.而这个地址,是如何映射到SDRAM的物理的Bank,Row和

    Column上的具体哪个位置,BRC还是RBC,是完全不同的,详见下图:

       SDRAM的地址映射方式BRC(Bank <wbr>Row <wbr>Column)和RBC(Row <wbr>Bank <wbr>Column)

    从上图中,很容易看懂,一个地址,是如何根据是RBC还是BRC映射到了对应的物理存储单元上的,而BRC,即

  Bank是最高位,然后接着是Row行地址,最后是Column列地址;而RBC,即最开始的是Row行地址,接着才是Bank

  地址,最后当然也是Column列地址。此两种不同的地址映射方式,使得同一个地址,被翻译成对应的不同的物

  理单元,因此,在SDRAM初始化,配置地址映射的时候,一定要设置对了才可以正常工作。

5.如何确定将SDRAM配置为BRC还是RBC
    不同的地址映射方式,访问某个row的时候,该row是否是有效的,会有所不同,因此会导致功耗和访问延

  迟,差别很大。常见的地址映射方式有三种:
      B-R-C (Bank, Row, Column)
      R-B-C (Row, Bank, Column)
      B-RL-CL-RH-CH (Bank, Row Low, Column Low, Row High, Column High)
  BRC这种映射方式,用的最多。其优点是,功耗低;
  RBC的优点是适合数据流方式去访问数据,性能好;
  B-RL-CL-RH-CH适合存储视频,图像等数据,高性能。
  至于将某个SDRAM设置为BRC还是RBC,好像是SDRAM的控制寄存器来决定的。而由于BRC和RBC,分别有不同的特

  点,所以,对于如何设置此地址映射方式,就是如果是low-power的SDRAM(功耗相对低的,1.8V的低电压),

  然后就选BRC;如果是High performance的SDRAM(高性能的,当然功耗相对高些,3.3V或2.5V的正常电压

  的),就选RBC。对于开发者,在写SDRAM初始化的代码配置地址映射的时候,到底是该配置成BRC还是RBC呢。

  就需要根据设备的功能和功耗来配置相关的寄存器来选择采用BRC还是RBC即可。

0 0
原创粉丝点击