在一个电子系统中,CPU、内存、物理存储、IO这些单元必不可少,只不过有的集成在CPU内部,有的分离出来。性能
这里就针对系统中的内存,此处选用DRAM来进行说明,讲述下基本的原理设计,主要分为如下几个部分:设计
(1)DRAM芯片引用blog
256Mb大小SDRAM:K4S560432E内存
(2)DRAM引脚类型原理
A0-A12:地址总线扩展
DQ0-DQ15:数据总线引用
CLK:系统时钟im
CKE:时钟使能数据
RAS#:行地址锁存db
CAS:列地址锁存
WE#:写使能
DQM:数据输入输出屏蔽
BA0,BA1:块地址选择
(3)DRAM原理设计
看完DRAM的接线图,有没有什么疑问?
笔者第一次看完就有疑问了,为何DRAM的地址线A0接的是CPU的LADDR2而不是LADDR0,为何?
几经周折,查了资料,找人讨论,终于获得了答案,请看下文:
上图中CPU是32位的数据宽度,即CPU在数据读写过程当中,一次能够传输32位。那图中一片DRAM确定是无法知足性能最大化了,即便使用一片也能够工做(下降性能),欣慰的是,能够采用两片并联的方式进行内存扩展,达到32位传输的目的。
那地址线那样接是什么意思,解释一下吧!
CPU每次数据传输为32位4字节,即存储单元地址是以4字节递增的,以下图。若设计者想要获取地址0x0000、0x000一、0x000二、0x0003单元的字节,此时须要经过设置地址线来实现,对应A0A1为:00、0一、十、11。有没有发现,这四个字节单元其所在的存储位置都是CPU能够一次进行读写的存储块。即不管你要访问的是这四个字节中的哪个,最终CPU都是经过地址0x0000来进行操做的,最终再根据你须要的相应字节来截取出来。也就是说,A0、A1的状态对于CPU访问的物理空间是没有影响的。
如今是否是有些理解为何图中是从LADDR2开始了。