关于SRAM,DRAM,SDRAM,以及NORFLASH,NANDFLASH
韦东山的视频里面说S3C2440有4KB的内存,这个其实是不正确的,这4KB的RAM严格说不应该叫内存,严格来说芯片外面的64MB的SDRAM才能叫做内存,里面的那4KB只是当nandflash启动的时候用来加载bootloader的。
关于SRAM、DRAM、SDRAM
SRAM:静态随机存储器,不需要刷新电路,这使得静态RAM比动态的RAM要快的多,但是,由于他所含的器件较多,集成度较低,不适合做大容量的内存,一般用在处理器的缓存里面,SRAM的速度非常快,在快速读取和刷新时能够保证数据完整性,SRAM的电路结构非常复杂,制造相同容量的SRAM比DRAM的成本高的多,正因如此,才使其发展受到了限制,在S3C2440片内,有16KB的instruction cache(指令缓存)16KB的data cache(数据缓存)和4KB的boot internal SRAM,但是我们能使用的只有4KB的boot internal SRAM,这4KB的SRAM是从nandflash启动的时候用来加载uboot的。
DRAM:动态随机存储器,每隔一段时间就要刷新一次数据,才能保证数据不丢失,SDRAM:同步动态随机存储器,也就是通常所说的内存,内存是代码的执行空间,用来执行程序,同步是指数据的读写需要时钟来同步,DRAM和SDRAM由于实现工艺问题,容量较SRAM大,但是读写速度不如SRAM,一般的嵌入式产品里面的内存都是用的SDRAM,电脑的内存也是用的这种RAM叫DDR SDRAM,在mini2440开发板中,S3C2440的外部接了两个32MB的SDRAM,这就是内存。注意不是在芯片的内部,而是在芯片的外部。
缓冲存储器
缓存是在芯片内部,内存在芯片的外部,以前老是觉得内存在芯片里面,这是个误区。
缓存就是数据交换的缓冲区,当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找,由于缓存的存储速度比内存快的多,故缓存的作用就是帮助硬件更快的运行,电脑里最快的缓存是CPU里面镶嵌的L1和L2缓存,显卡的显存是给显卡运算芯片用的缓存,硬盘上也有16M或32M的缓存。
缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况,这时CPU还是回到内存中去寻找数据,这样系统的速率就慢下来了,不过CPU还是会吧这些数据复制到缓存当中去,以便下一次不要再到内存中去取。
Norflash和nandflash
NORFLASH:其最大的特点是norflash里面的程序可以直接运行,不必再把代码读到系统的RAM中,mini2440开发板是2M的norflash,
Nandflash:类似电脑的硬盘,CPU从里面读取数据的速度很慢,他里面的代码也不能直接运行,要想运行需要把nandflash里面的数据读到内存里面,然后CPU才能执行,但是他的集成度很高,成本很低,
NANDFLASH启动的步骤:
1:nand前面4K的代码拷贝到SRAM当中,不管这4K里面是程序还是垃圾值,它都会拷贝的2:然后CPU从内存的0地址开始执行,注意这个时候0地址是指SRAM的0地址,这两步是硬件自动帮助我们完成的,
NORFLASH启动的步骤:
Norflash可以像内存一样读它,可以像内存一样读数据, 而nandflash好像是串行线编址,所以好像不能识别每一个字节,1:NROFLASH启动的时候,0地址不再是指向内存,0地址是指向NORFLASH了,2:CPU从0地址开始执行。
关于SRAM,DRAM,SDRAM,以及NORFLASH,NANDFLASH的更多相关文章
- RAM,SRAM,DRAM,SDRAM,DDR RAM,ROM,PROM,EPROM,EEPROM,NAND FLASH,NOR FLASH的区别
RAM:由字面意思就可以理解,SDRAM SRAM DRAM(下面蓝色字体的这几种)都可以统称RAM,random access memory(随机存取存储器)的缩写,下面是51hei.com为大家整 ...
- SRAM与SDRAM的区别
http://www.cnblogs.com/spartan/archive/2011/05/06/2038747.html SDRAM SDRAM(Synchronous Dynamic Rando ...
- 【存储器相关】RAM、SRAM、SDRAM、ROM、EPROM、EEPROM、Flash存储器区别
常见存储器概念:RAM.SRAM.SDRAM.ROM.EPROM.EEPROM.Flash存储器可以分为很多种类,其中根据掉电数据是否丢失可以分为RAM(随机存取存储器)和ROM(只读存储器),其中R ...
- SRAM与SDRAM的比较(转)
原文:http://blog.csdn.net/fg8181/article/details/2278100 内存在电脑中起着举足轻重的作用,一般采用半导体存储单元,包括随机存储器(RAM),只读存储 ...
- SRAM/DRAM,PROM/EPROM/EEPROM,NOR/NAND FLASH区别
SRAM/DRAM,PROM/EPROM/EEPROM,NOR/NAND FLASH区别 RAM / ROM 存储器 ROM和RAM指的都是半导体存储器,R ...
- 【转】S3C2440与SDRAM NorFlash NandFlash连线分析
一.SDRAM(HY57V561620F)连线分析 1. S3C2440 有27根地址线ADDR[26:0],8根片选信号ngcs0-ngcs7,对应bank0-bank7,当访问bankx 的地址 ...
- 理解FPGA中的RAM、ROM和CAM;ROM、RAM、DRAM、SRAM、FLASH
目前大多数FPGA都有内嵌的块RAM(Block RAM),可以将其灵活地配置成单端口RAM(DPRAM,Single Port RAM).双端口RAM(DPRAM,Double Ports RAM) ...
- [CSAPP笔记][第六章存储器层次结构]
第六章 存储器层次结构 在简单模型中,存储器系统是一个线性的字节数组,CPU能够在一个常数访问每个存储器位置. 虽然是一个行之有效的模型,但没有反应现代系统实际工作方式. 实际上,存储器系统(memo ...
- (转)RAM、ROM、SRAM、DRAM、SSRAM、SDRAM、FLASH、EEPROM的区别
RAM(Random Access Memory) 随机存储器.存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器.这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使 ...
随机推荐
- SmartBusinessDevFramework架构设计-1:结构简介
SmartBusinessDevFramework 简介 基于.net 4.0 开发的企业级系统框架 功能 1 自定义ORM.如果客官喜欢NHibernate EntityFramework ,并对其 ...
- sdl2.0示例
// gcc -o testDrone2_video testDrone2_video.c -lavcodec -lavformat -lswscale -lSDL2// g++ -o testDro ...
- linux下so动态库一些不为人知的秘密
linux 下有动态库和静态库,动态库以.so为扩展名,静态库以.a为扩展名.二者都使用广泛.本文主要讲动态库方面知识. 基本上每一个linux 程序都至少会有一个动态库,查看某个程序使用了那些 ...
- Android显示表情对话框
final EditText editface=(EditText) this.findViewById(R.id.EditText); List<Map<String,Object> ...
- Listen第二个参数的意义
今天主要回顾下listen的第二个参数的意义. 话说现在现在都是用框架写业务代码.真的很少在去关注最基本的socket函数的意义了.该忘得都忘得差不多了.~~~ 要慢慢捡起来. 主要是在看redi ...
- Scala学习1
Scala是一种静态语言.面向对象的函数式编程语言.它的程序代码以.scala结尾,编译时会编译成.class字节码在jvm上运行. 类和方法默认是public的,不必显式声明public. retu ...
- hadoop 环境搭建
Hadoop 2.配置HDFS HA (高可用) 前提条件 先搭建 http://www.cnblogs.com/raphael5200/p/5152004.html 的环境,然后在其基础上进行修 ...
- JS-Array数组内置对象
直接上代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti ...
- 漏洞都是怎么编号的CVE/CAN/BUGTRAQ/CNCVE/CNVD/CNNVD
在一些文章和报道中常常提到安全漏洞CVE-1999-1046这样的CVE开头的漏洞编号,这篇文章将常见的漏洞ID的表示方法做下介绍: 1.以CVE开头,如CVE-1999-1046这样的 CVE 的英 ...
- Java基础知识强化66:基本类型包装类之JDK5新特性自动装箱和拆箱
1. JDK1.5以后,简化了定义方式. (1)Integer x = new Integer(4):可以直接写成如下: Integer x = 4 ://自动装箱,通过valu ...