先了解一下SDRAM
的一些基础知识吧. SDRAM (Synchronous Dynamic Random Access Memory),
同步动态随机存储器。同步是指其时钟频率与CPU
的前端总线的系统时间频率相同,并且他的内部命令的发送与数据的传输都是以这个时钟为基准的,动态是指存储阵列需要不断的刷新才能保证数据的不丢失。随机是指数据不是线性存储的,是可以自由指定地址进行数据读写。 位宽:是指内存一次数据传输的数据量就是位宽,以位为单位。 SDRAM
的内部结构:
SDRAM相当于一个excel,一个工作溥中有几个工作表,每个工作表里有行列。 SDRAM
中的一个bank
就相当于excel
中的一个工作表, SDRAM
中的行(Column)
与列(Row)
相当于工作于中的行与列,我们对内存的读写就是根据bank
号 Column
、Row
来准确的找到所需要的单元格(
存储阵列)
。 由于技术、成本等原因,不可能只做一个全容量的Bank,
而且最重要的是,由于SDRAM
的工作原理限制,单一的Bank
将会造成非常严重的寻址冲突,大大降低了内存的效率,所以把SDRAM
内部分割成多个Bank,
较早以前是2
个,目前市面上大多都是4
个Bank
的, SDRAM
容量的计算。 SDRAM
容量 =
单元格的总数(地址总数)X
位宽 单元格的总数 = Bank
数 X Column
数 X ROW
数 如果要以字节为单位的话,刚需要将SDRAM
容量(bit) / 8(bit)
型号为:HY57641620XXX
的为64Mbit (8M
字节)
位宽为16bit
的SDRAM
,内部结构为4
个Bank,Column
数为 8(CA0-CA7),Row
数为12(RA0- RA11),SDRAM
的行地址线和列地址线是分时复用的,即地址要分两次送出,先送出行地址,再送出列地址。这样,可以大幅度减少地址线的数目。 计算方法为:每个bank
的容量为: 2 Row
次方 X 2
的Column X 16(bit) = 256 X4096 X 16 /1024 = 16384 bit = 16 Mbit = 2 M
字节,再乘以bank
数就是64 Mbit
(8M
字节了),
更简单的方法是行列加起了相当于20
根地址线,所以每个bank
能访问的地址空间是 2
的20
次方 = 1048576 bit = 1M
字节,但由于第次传输的数据位宽是16
位,所以每个bank
的空量是 16 Mbit,
总共有4
个bank
,所以就有64Bbit
的容量,换成字节单位就是8M
字节。下面是AX301的sdram datasheet的一部分 从上图我们可以看到sdram
的一些信息256M
(16Mx16bit
) Organized as 4banks of 4,194,304 x 16 1
: sdram
的总容量是256Mbit2
: 这一款sdram
有 4
个bank3
: 这一款sdram
一个地址有16bit
也就是 数据线有16
根4
: 每个bank
有4M
的地址(行*
列)
先了解一下SDRAM
的一些基础知识吧. SDRAM (Synchronous Dynamic Random Access Memory),
同步动态随机存储器。同步是指其时钟频率与CPU
的前端总线的系统时间频率相同,并且他的内部命令的发送与数据的传输都是以这个时钟为基准的,动态是指存储阵列需要不断的刷新才能保证数据的不丢失。随机是指数据不是线性存储的,是可以自由指定地址进行数据读写。 位宽:是指内存一次数据传输的数据量就是位宽,以位为单位。 SDRAM
的内部结构:
SDRAM相当于一个excel,一个工作溥中有几个工作表,每个工作表里有行列。 SDRAM
中的一个bank
就相当于excel
中的一个工作表, SDRAM
中的行(Column)
与列(Row)
相当于工作于中的行与列,我们对内存的读写就是根据bank
号 Column
、Row
来准确的找到所需要的单元格(
存储阵列)
。 由于技术、成本等原因,不可能只做一个全容量的Bank,
而且最重要的是,由于SDRAM
的工作原理限制,单一的Bank
将会造成非常严重的寻址冲突,大大降低了内存的效率,所以把SDRAM
内部分割成多个Bank,
较早以前是2
个,目前市面上大多都是4
个Bank
的, SDRAM
容量的计算。 SDRAM
容量 =
单元格的总数(地址总数)X
位宽 单元格的总数 = Bank
数 X Column
数 X ROW
数 如果要以字节为单位的话,刚需要将SDRAM
容量(bit) / 8(bit)
型号为:HY57641620XXX
的为64Mbit (8M
字节)
位宽为16bit
的SDRAM
,内部结构为4
个Bank,Column
数为 8(CA0-CA7),Row
数为12(RA0- RA11),SDRAM
的行地址线和列地址线是分时复用的,即地址要分两次送出,先送出行地址,再送出列地址。这样,可以大幅度减少地址线的数目。 计算方法为:每个bank
的容量为: 2 Row
次方 X 2
的Column X 16(bit) = 256 X4096 X 16 /1024 = 16384 bit = 16 Mbit = 2 M
字节,再乘以bank
数就是64 Mbit
(8M
字节了),
更简单的方法是行列加起了相当于20
根地址线,所以每个bank
能访问的地址空间是 2
的20
次方 = 1048576 bit = 1M
字节,但由于第次传输的数据位宽是16
位,所以每个bank
的空量是 16 Mbit,
总共有4
个bank
,所以就有64Bbit
的容量,换成字节单位就是8M
字节。下面是AX301的sdram datasheet的一部分 从上图我们可以看到sdram
的一些信息256M
(16Mx16bit
) Organized as 4banks of 4,194,304 x 16 1
: sdram
的总容量是256Mbit2
: 这一款sdram
有 4
个bank3
: 这一款sdram
一个地址有16bit
也就是 数据线有16
根4
: 每个bank
有4M
的地址(行*
列)