memory-bank
来源:互联网 发布:长期大量收购博客数据 编辑:程序博客网 时间:2024/05/22 00:25
2009-10-21 22:07:30
一、bank(内存库)三层意思:
1.在SDRAM内存模组上,"bank 数"表示该内存的物理存储体的数量。(等同于"行"/Row)
2、Bank还表示一个SDRAM设备内部的逻辑存储库的数量。(现在通常是4个bank)
3、它还表示DIMM 或 SIMM连接插槽或插槽组,例如bank 1 或 bank A。这里的BANK是内存插槽的计算单位(也叫内存库),它是电脑系统与内存之间数据总线的基本工作单位。只有插满一个BANK,电脑才可以正常开机。举个例子,奔腾系列的主板上,1个168线槽为一个BANK,而2个72线槽才能构成一个BANK,所以72线内存必须成对上。原因是,168线内存的数据宽度是64位,而72线内存是32位的。主板上的BANK编号从BANK0开始,必须插满BANK0才能开机,BANK1以后的插槽留给日后升级扩充内存用,称做内存扩充槽。
二、一种解释
基本存储单元是内存芯片中存储信息的最小单位,每个存储单元可以存书1个bit的信息,并且有一个由行地址和列地址共同定义的唯一的地址。
我们都知道 8个bit(位)可以在一起组成一个byte(byte:字节,这也就意味着1byte具有2的8次方=256种可能的数值),而byte是内存中最小的可寻址的单元。
虽然内存基本存储单元具有唯一的地址,但是并不能进行独立的寻址--这将要求内存芯片有数以百计的引脚同计算机通讯,显然这个是不可能的。
现在内存架构是处于同一列的基本存储单元共用一条行地址线,这就组成一个基本存储单元构成的矩阵架构。而这些矩阵架构构成一个内存bank。
每个bank中包含一个内存阵列,传感放大器,行地址解码器和列地址解码器。
三、一种说法
要讲清这个问题,就要提到内存的逻辑Bank,下面就给大家介绍一下物理Bank和逻辑Bank的概念。在介绍之前,我们先简单看一下现在市场上的DRAM内存产品.现在市场上的内存主要有:SDRAM、DDR SDRAM及Rambus。其中Rambus内存的控制器和前两者不同,且内部Bank和前两者也不同,将在后面单独介绍。先主要介绍SDRAM和DDR SDRAM的Bank问题,因为SDRAM就内核、Bank结构而言,和DDR SDRAM没有什么区别,这里作为一个整体来讲。逻辑Bank及其结构内存芯片存储数据的基本单位是bit(位),而进行寻址的基本单位则是Byte(字节),一个Byte就等于8bit。大家知道,在平面坐标系中,要确定一个点就要先找到它的横坐标和纵坐标。而在内存中数据的定位也很相似,内存中的数据结构就是一个大的数据阵列,为了便于理解,我们把它假想成一个大的表格,前面我们提到的平面坐标系中的点,在这里我们可以理解为经过定位后的单元格,当然在一个单元格中不是只有1bit的数据,而是由多个bit组成一个组放在单元格内,这里一个单元格我们可以称作一个组,这个单元格的位数也就是内存逻辑Bank的位宽。在进行数据读取时,先进行行的选定,再进行列的选定,最后再从这个单元格中读取出所需要的数据。而这由许许多多的单元格组成的大表我们就可以理解成逻辑Bank,当然因为制造工艺及数据寻址的原因,不可能让这个表格无限大,一般内存芯片中都是将内存容量分成几个阵列来制造,即多逻辑Bank。随着内存芯片容量的不断增加,逻辑Bank数量也在不断增加,早期的16Mbit之类的芯片采用的还是两个逻辑Bank的设计,现阶段常见内存芯片的Bank一般为4个(不包括Rambus),这点大家可通过内存条的编码进行识别。内存芯片设计时在一个时钟周期内只允许对一个逻辑Bank进行操作(实际上内存芯片的位宽就是逻辑Bank的位宽),而不能对所有逻辑Bank同时操作。所以逻辑Bank的地址线是通用的,只要再有一个逻辑Bank编号加以区别就可以了。内存芯片的位宽决定了一次能从它那里读出多少数据,并不是内存芯片里所有单元的数据能够一次全部读出。为了加深大家对逻辑Bank的理解,我们来看看一个单芯片的逻辑Bank示意图这里不用过于注意结构细节,只需要看看4个内存阵列。从图中可以很清楚地看到这个芯片是一个Bank数为4的芯片,其列和行分别为4096和2048,而逻辑位宽是4bit,将这三者相乘就是这个逻辑Bank的容量,这里是4096×2048×4 bit =32Mb。再乘以Bank的数量,则芯片的容量就可以算出来了,这里很显然是4个Bank,那么芯片的容量就是128Mb了。用虚线框起来的就是一个完整的逻辑Bank。可见一个Bank由内存阵列、传感放大器、一个行解码器、一个列解码器组成。
- memory-bank
- Bank conflict for shared memory
- GPU 共享内存bank冲突(shared memory bank conflicts)
- Share memory中bank conflict问题
- Memory中的Channel/Rank/Bank解析
- CUDA bank conflict in Shared Memory
- CUDA之Shared memory bank conflicts详解
- Memory中的Channel/Rank/Bank解析
- CUDA Programming Guide之shared memory的Bank Confict
- Study Note: Shared Memory Optimisation -- avoid of bank conflict
- 【并行计算-CUDA开发】CUDA bank conflict in shared memory
- 【并行计算-CUDA开发】CUDA shared memory bank 冲突
- bank
- bank
- bank
- OpenCL性能优化实例研究系列2:避免Local Memory Bank Conflicts的两个简单方法
- cuda编程:关于共享内存(shared memory)和存储体(bank)的事实和疑惑
- 【并行计算-CUDA开发】关于共享内存(shared memory)和存储体(bank)的事实和疑惑
- SIFT小结
- JOptionPanelDemo
- 初识javascript
- 手机版360安全卫士1.0beta3试用报告
- 守候
- memory-bank
- C#开发终端式短信的原理和方法
- Java中的Drag and Drop详解与代码示例
- 入门简介:《什么是云计算?》
- python使用心得2
- javascript监听客户输入文字
- oracle 定时备份
- swt包下载,swt包引入(一个简单的SWT程序实例及详解)
- 深入分析MFC中的CArray类