SDRAM容量的计算方法
当我在看有关SDRAM的芯片手册的时候,我一直在想这样一个问题:SDRAM的容量它究竟是如何计算的呢?经过查找网上的各种资料,最后在这里给大伙分享一下我的总结!
就以我的开发板的SDRAM的芯片手册的型号:h57v2562gtr60c为例。通过查看我的h57v2562gtr60c的datasheet,我们知道:
行地址选择线有13根(RA0~RA12),列地址选择线有9根(CA0~CA8),
Bank选择线有2根(BA0,BA1),数据线16根(DQ0~AQ15)
而我们知道SDRAM的总单元数=(2^行地址选择线)*(2^列地址选择线)*(2^Bank选择线)
由此我们得出我们的SDRAM的总单元数=(2^13)*(2^9)*(2^2)=2^24 个单元数
注:行地址选择线位13,并不代表我们的每个Bank只有13行,而是代表我们每个Bank可以表示的行数为2^13行,对于列地址选择线和Bank线也是同样的道理。
我们知道了SDRAM的总的单元数,但是我们还不能确定整个SDRAM的容量,因为我们还不清楚我们的SDRAM的每个单元存放的数据是多少位,那么这个又是如何确定的呢?
那么这就涉及到了位宽的概念,在TQ2440的开发板中,是用两块SDRAM组成一整个SDRAM的,其中地址线是公用同一个地址,而数据线则分成两个16位,因为每片SDRAM只提供16的数据线,那么我个人的理解是:低16位存在其中一片SDRAM中,高16位存在另一片SDRAM中,这样就达成了,每次往同一地址发送或读取数据的时候,就达成了一次发送或读取32位位宽的数据的目的,亦即,每个地址下所对应的一个存储单元的数据都是32位的。
所以我们整个的SDRAM的容量=(SDRAM的总单元数)*(位宽)=(2^24) * 32 =2^29 bit
注:我这里算的是TQ2440开发板的整个SDRAM的总的容量,而不是只单独每一片的SDRAM的总的容量。若是单独每一片的SDRAM的容量 = 整个的SDRAM的容量 / 2
注:这里计算的单位是bit,若我们把它转化成字节数则是 2^29 bit / 8 = 2^26 Byte = 2^6 MB = 64 MB
这就是TQ2440开发板的最终的SDRAM的容量。
SDRAM容量的计算方法的更多相关文章
- 【转】S3C2440与SDRAM NorFlash NandFlash连线分析
一.SDRAM(HY57V561620F)连线分析 1. S3C2440 有27根地址线ADDR[26:0],8根片选信号ngcs0-ngcs7,对应bank0-bank7,当访问bankx 的地址 ...
- 是否有必要学习使用纯Verilog写一个SDRAM控制器
在做这个SDRAM控制器之前,博主有一个疑问,对于学生来说,是否有必要学习用纯Verilog写一个SDRAM控制器?因为目前X家和A家都有了DDR IP Core,对于要实现一个应用可以直接调用IP ...
- STM32F429驱动SDRAM
1 SDRAM控制原理 1.1 SDRAM信号线 1.2 SDRAM地址线 SDRAM包含有“A”以及“BA”两类地址线: A:行(Row)与列(Column)共用的地址线 BA:独立的用于指定SDR ...
- Elasticsearch集群规模和容量规划的底层逻辑
转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484628&idx=1&sn=666e416ae ...
- CF卡技术详解——笔记
知识太全面了,摘抄摘不完,还是粘过来加上注释和笔记吧. 重点以及断句用加粗,注释用红括号. 一.CF卡技术及规格 一.CF卡技术及规格 1.CF卡简史 随着数码产品的高速普及,近年来闪存卡也进入了高速 ...
- ubuntu-14.04中/boot分区不足的解决办法
环境:ubuntu-kylin 或者 ubuntu-14.04,/boot单独分区工具:ubuntu的liveCD. 问题: 由于当初安装的时候,看网上说/boot很小,100M足以,于是单独分区,分 ...
- 【DSP开发】6455EMIF
外部设备连接接口包括外部存储器连接接口(EMIF).主机接口(HPI)等.外部存储器接口主要用来同并行存储器连接,这些存储器包括SDRAM.SBSRAM.Flash.SRAM存储器等,外部存储器接口 ...
- 初学嵌入式Linux
初学嵌入式Linux,感觉需要学习的东西太多了.把学习过程中的收获和问题记录在这里,算是一份经验吧. 前面利用开发板带的现成的东西step by step让Linux 2.4.19在开发板上跑 ...
- 基于RT1052 Aworks 内存扩容记录(一)
本文主要是通过迁移的思维,记录本人初次使用周立功的Aworks框架进行BSP开发 1. 首先阅读原理图 内存容量由32M扩容至64M. 2. 再则比较两颗芯片的参数 通过比较32M和64M SDRAM ...
随机推荐
- C#中分别对委托、匿名方法、Lambda表达式、Lambda表达式树以及反射执行同一方法的过程进行比较。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 手机触屏滑动图片切换插件swiper.js
今天给大家分享一款手机触屏滑动图片切换插件swiper.js是一款swiper手机触屏滑动图片幻灯片,适合各种尺寸.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div ...
- 【Unity笔记】物体的Transform操作:速度、旋转、平移
例如,通过按键/摇杆来操作飞机在三维空间的飞行状态.包括速度(大小,方向).位移. public class ExampleClass : MonoBehaviour { public float s ...
- Linux 进程间通信(posix消息队列 简单)实例
Linux 进程间通信(posix消息队列 简单)实例 详情见: http://www.linuxidc.com/Linux/2011-10/44828.htm 编译: gcc -o consumer ...
- Spring事件监听Demo
Spring事件监听实现了观察者模式.本Demo在junit4测试环境中实现 主要有三个类事件类.监听器类.事件发布类(入口) 事件类必须继承 ApplicationEvent,代码如下: impor ...
- HTML——表单与锚点
练习做一个邮箱的注册页面 1.12行2列的表格 2.表格里面嵌入表单 3.最后建一个锚点 4.写具体内容 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...
- docker 部署nginx+weblogic集群
測试一段时间.再来报告
- Golang map 如何进行删除操作?
Cyeam 关注 2017.11.02 10:02* 字数 372 阅读 2784评论 0喜欢 3 map 的删除操作 Golang 内置了哈希表,总体上是使用哈希链表实现的,如果出现哈希冲突,就把冲 ...
- 传说中的纯CSS圆角代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- 一个小bug
如果提交表单给按钮一个名字,就会报错... <html> <body> <form action="{:U('Index/login')}" meth ...