关于深入理解计算机系统中一个不理解的问题(DRAM组织为二维阵列而不是线性数组)

紫雲_玉露 2018-01-25 08:31:52
原文(第6章存储器层次结构 6.1.1 第三点最后一段):电路设计者将DRAM组织成二维阵列而不是线性数组的一个原因是降低芯片上地址引脚的数量。例如,如果示例128位DRAM被组织成一个16个超单元的线性数组,地址为0~15,那么芯片会需要4个地址引脚而不是2个

这里不是很理解,二维阵列需要两个这个容易理解,但是线性数组为啥就要4个呢?请大大们帮帮忙
...全文
1154 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
小陈学码 2021-03-11
  • 打赏
  • 举报
回复
因为是书中说到,ras和cas共享相同的dram地址引脚,且每个引脚携带1位信号,所以在16个超单元的dram中,二维数组引脚的范围是(0,3)就是00/01/02/03,用两位就能表示所有顺序,而线性数组需要(0,15),也就是从0000到1111总计4位即4个引脚
qq_45807549 2020-11-27
  • 打赏
  • 举报
回复 1
我的理解是因为每个引脚只能携带一位的信号,如果组织成线性数组,那么为了让引脚的组合能够覆盖这16个地址,因为2的四次方等于16刚好覆盖16个地址,所以需要4个引脚。 而如果组织成二维阵列,可以是4x4的,每一行和每一列都只有4个地址,只需两个就足够覆盖了。
紫雲_玉露 2018-02-25
  • 打赏
  • 举报
回复
感谢感谢,理解了
fly 100% 2018-02-09
  • 打赏
  • 举报
回复
如果是两次寻址就可以实现。
of123 2018-02-07
  • 打赏
  • 举报
回复 2
采用二维方式时,每个单元都有行和列两个地址,行和列是分两次寻址的。例子中的行和列地址都是 0 ~ 3,所以需要 2 比特表示,也就是 2 个引脚。

00.00  00.01  00.02  00.03
01.00  01.01  01.02  01.03
02.00  02.01  02.02  02.03
03.00  03.01  03.02  03.03
采用线性地址时,地址编码是 0 ~ 15,需要 4 比特表达,所以需要 4 个引脚。

00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
qiwaren 2018-02-06
  • 打赏
  • 举报
回复
行列地址复用,减少外部管脚的占用。
tianfang 2018-02-05
  • 打赏
  • 举报
回复
DRAM访问数据,采用两次地址传输,第一次传行地址,第二次传列地址 128bit,设计为16个8bit的单元。线性数组是16个单元,需要4个地址位。但是采用二维数组,就是4X4,一个4就只需要二位地址,传输两次,就可以对4X4的空间查询

6,120

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧