DRAM的原理设计
在一个电子系统中,CPU、内存、物理存储、IO这些单元必不可少,只不过有的集成在CPU内部,有的分离出来。
这里就针对系统中的内存,此处选用DRAM来进行说明,讲述下基本的原理设计,主要分为以下几个部分:
(1)DRAM芯片引用
256Mb大小SDRAM:K4S560432E

(2)DRAM引脚类型
A0-A12:地址总线
DQ0-DQ15:数据总线
CLK:系统时钟
CKE:时钟使能
RAS#:行地址锁存
CAS:列地址锁存
WE#:写使能
DQM:数据输入输出屏蔽
BA0,BA1:块地址选择
(3)DRAM原理设计

看完DRAM的接线图,有没有什么疑问?
笔者第一次看完就有疑问了,为什么DRAM的地址线A0接的是CPU的LADDR2而不是LADDR0,为什么?
几经周折,查了资料,找人讨论,终于得到了答案,请看下文:
上图中CPU是32位的数据宽度,即CPU在数据读写过程中,一次可以传输32位。那图中一片DRAM肯定是没法满足性能最大化了,即使使用一片也可以工作(降低性能),欣慰的是,可以采用两片并联的方式进行内存扩展,达到32位传输的目的。
那地址线那样接是什么意思,解释一下吧!
CPU每次数据传输为32位4字节,即存储单元地址是以4字节递增的,如下图。若设计者想要获取地址0x0000、0x0001、0x0002、0x0003单元的字节,此时需要通过设置地址线来实现,对应A0A1为:00、01、10、11。有没有发现,这四个字节单元其所在的存储位置都是CPU可以一次进行读写的存储块。即无论你要访问的是这四个字节中的哪一个,最终CPU都是通过地址0x0000来进行操作的,最终再根据你需要的相应字节来截取出来。也就是说,A0、A1的状态对于CPU访问的物理空间是没有影响的。
现在是不是有些理解为什么图中是从LADDR2开始了。

DRAM的原理设计的更多相关文章
- 从底层谈WebGIS 原理设计与实现(三):WebGIS前端地图显示之根据地理范围换算出瓦片行列号的原理(转载)
从底层谈WebGIS 原理设计与实现(三):WebGIS前端地图显示之根据地理范围换算出瓦片行列号的原理 1.前言 在上一节中我们知道了屏幕上一像素等于实际中多少单位长度(米或经纬度)的换算方法, ...
- 从底层谈WebGIS 原理设计与实现(六):WebGIS中地图瓦片在Canvas上的拼接显示原理
从底层谈WebGIS 原理设计与实现(六):WebGIS中地图瓦片在Canvas上的拼接显示原理 作者:naaoveGI… 文章来源:naaoveGIS 点击数:1145 更新时间: ...
- 从底层谈WebGIS 原理设计与实现(五):WebGIS中通过行列号来换算出多种瓦片的URL 之在线地图
从底层谈WebGIS 原理设计与实现(五):WebGIS中通过行列号来换算出多种瓦片的URL 之在线地图 作者:naaoveGI… 文章来源:naaoveGIS 点击数:2063 更 ...
- 从底层谈WebGIS 原理设计与实现(四):WebGIS中通过行列号来换算出多种瓦片的URL 之离线地图
从底层谈WebGIS 原理设计与实现(四):WebGIS中通过行列号来换算出多种瓦片的URL 之离线地图 作者:naaoveGI… 文章来源:naaoveGIS 点击数:1759 更 ...
- 从底层谈WebGIS 原理设计与实现(二):探究本质,WebGIS前端地图显示之地图比例尺换算原理
从底层谈WebGIS 原理设计与实现(二):探究本质,WebGIS前端地图显示之地图比例尺换算原理 作者:naaoveGI… 文章来源:http://www.cnblogs.com/naaove ...
- 从底层谈WebGIS 原理设计与实现(一):开篇
从底层谈WebGIS 原理设计与实现(一):开篇 作者:naaoveGI… 文章来源:http://www.cnblogs.com/naaoveGIS/ 点击数:4773 更新时间: ...
- Atitit.字节数组转字符串 base64 base16 Quoted-printable 编码原理设计 attilax 总结
Atitit.字节数组转字符串 base64 base16 Quoted-printable 编码原理设计 attilax 总结 1. Base64编码, 1 2. Base64实现转换原理1 3. ...
- SpringMVC 原理 - 设计原理、启动过程、请求处理详细解读
SpringMVC 原理 - 设计原理.启动过程.请求处理详细解读 目录 一. 设计原理 二. 启动过程 三. 请求处理 一. 设计原理 Servlet 规范 SpringMVC 是基于 Servle ...
- 蓝牙固件升级(OTA升级)原理设计
转:http://blog.csdn.net/yueqian_scut/article/details/50849033 固件空中升级(OTA)与固件二次引导的原理和设计 原创 2016年03月10日 ...
随机推荐
- 【DirectX12】第六章-练习
练习3. (a) //LINELIST std::array<VPosData, > posData = { VPosData({ XMFLOAT3(-2.0f, -1.0f, +1.0f ...
- 一个关于kindle固件修改的问题
手头有一个序列号为B05A开头的日版kpw2,默认没有中文界面.之前看过@5201992318q 大神的帖子,原因是系统langpicker.conf文件中有一段判断序列号并删除语言的代码,于是我萌发 ...
- C#使用Selenium+PhantomJS抓取数据
本文主要介绍了C#使用Selenium+PhantomJS抓取数据的方法步骤,具有很好的参考价值,下面跟着小编一起来看下吧 手头项目需要抓取一个用js渲染出来的网站中的数据.使用常用的httpclie ...
- 激光推送(ios,安卓)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- java实现多个文件以压缩包导出到本地
描述:使用java将多个文件同时压缩为压缩包,并导出到本地 /** *压缩文件并导出 */ public static void zipFiles() throws IOException { Fil ...
- JAVA的抽象类和接口
抽象类 在面向对象的概念中,所有的对象都是通过类来描述的,但是反过来,并不是所有的类都是用来描述对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 抽象类除了不能实例化对 ...
- Tomcat关闭失败,SEVERE: Could not contact localhost:8005. Tomcat may not be running.
SEVERE: Could not contact localhost:8005. Tomcat may not be running. Tomcat 启动后,关闭失败,显示以下 进入 java 的安 ...
- c++ 常用头文件
1.#include<iostream> iostream 的意思是输入输出流.#include<iostream>是标准的C++头文件,任何符合标准的C++开发环境都有这个头 ...
- spring boot启动项的问题
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot ...
- java sigar获取本地信息以及org.hyperic.sigar.SigarException: The device is not ready报错解决
window下,使用java sigar 获取磁盘使用率,cpu使用率以及内存使用情况等信息时. 一:首先需要下载jar包和相关文件 sigar-1.6.4.zip 如果想了解更多可以去 sigar官 ...