韦东山的视频里面说S3C2440有4KB的内存,这个其实是不正确的,这4KB的RAM严格说不应该叫内存,严格来说芯片外面的64MB的SDRAM才能叫做内存,里面的那4KB只是当nandflash启动的时候用来加载bootloader的。

关于SRAMDRAMSDRAM

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还是会吧这些数据复制到缓存当中去,以便下一次不要再到内存中去取。

Norflashnandflash

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的更多相关文章

  1. RAM,SRAM,DRAM,SDRAM,DDR RAM,ROM,PROM,EPROM,EEPROM,NAND FLASH,NOR FLASH的区别

    RAM:由字面意思就可以理解,SDRAM SRAM DRAM(下面蓝色字体的这几种)都可以统称RAM,random access memory(随机存取存储器)的缩写,下面是51hei.com为大家整 ...

  2. SRAM与SDRAM的区别

    http://www.cnblogs.com/spartan/archive/2011/05/06/2038747.html SDRAM SDRAM(Synchronous Dynamic Rando ...

  3. 【存储器相关】RAM、SRAM、SDRAM、ROM、EPROM、EEPROM、Flash存储器区别

    常见存储器概念:RAM.SRAM.SDRAM.ROM.EPROM.EEPROM.Flash存储器可以分为很多种类,其中根据掉电数据是否丢失可以分为RAM(随机存取存储器)和ROM(只读存储器),其中R ...

  4. SRAM与SDRAM的比较(转)

    原文:http://blog.csdn.net/fg8181/article/details/2278100 内存在电脑中起着举足轻重的作用,一般采用半导体存储单元,包括随机存储器(RAM),只读存储 ...

  5. SRAM/DRAM,PROM/EPROM/EEPROM,NOR/NAND FLASH区别

                          SRAM/DRAM,PROM/EPROM/EEPROM,NOR/NAND FLASH区别 RAM / ROM 存储器 ROM和RAM指的都是半导体存储器,R ...

  6. 【转】S3C2440与SDRAM NorFlash NandFlash连线分析

    一.SDRAM(HY57V561620F)连线分析 1.  S3C2440 有27根地址线ADDR[26:0],8根片选信号ngcs0-ngcs7,对应bank0-bank7,当访问bankx 的地址 ...

  7. 理解FPGA中的RAM、ROM和CAM;ROM、RAM、DRAM、SRAM、FLASH

    目前大多数FPGA都有内嵌的块RAM(Block RAM),可以将其灵活地配置成单端口RAM(DPRAM,Single Port RAM).双端口RAM(DPRAM,Double Ports RAM) ...

  8. [CSAPP笔记][第六章存储器层次结构]

    第六章 存储器层次结构 在简单模型中,存储器系统是一个线性的字节数组,CPU能够在一个常数访问每个存储器位置. 虽然是一个行之有效的模型,但没有反应现代系统实际工作方式. 实际上,存储器系统(memo ...

  9. (转)RAM、ROM、SRAM、DRAM、SSRAM、SDRAM、FLASH、EEPROM的区别

    RAM(Random Access Memory) 随机存储器.存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器.这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使 ...

随机推荐

  1. android 适配器simpleadapter和baseadapter区别

    android 适配器 simpleadapter 和 baseadapter 设计网络程序或者数据处理显示程序的时候,常常会使用 simpleadapter 和baseadapter 来实现. ad ...

  2. C++实现发送HTTP请求

    #include <stdio.h>#include <windows.h>#include <wininet.h> #define MAXSIZE 1024#pr ...

  3. Linux系统编程(29)——线程间同步(续篇)

    线程间的同步还有这样一种情况:线程A需要等某个条件成立才能继续往下执行,现在这个条件不成立,线程A就阻塞等待,而线程B在执行过程中使这个条件成立了,就唤醒线程A继续执行.在pthread库中通过条件变 ...

  4. 【转】Android菜单详解——理解android中的Menu--不错

    原文网址:http://www.cnblogs.com/qingblog/archive/2012/06/08/2541709.html 前言 今天看了pro android 3中menu这一章,对A ...

  5. Android客户端实现七牛云存储文件上传

    1.简单文件上传  上传模型如下. 1.1获得Token 不管是简单文件上传,还是分片上传.断点续传 都需要首先访问服务器,以获得上传凭证信息Token..用于测试时,可以用本地模拟Token信息(有 ...

  6. cf581C Developing Skills

    Petya loves computer games. Finally a game that he's been waiting for so long came out! The main cha ...

  7. CSS常用操作-导航栏

    1.垂直导航栏 index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...

  8. ios开发中各种版本、设备的区分

    设备类型的区分-iphone ,ipad-itouch..... 可以从 UIDevice 的属性 model 得到在现在执行的环境.例子如下: [cpp] view plaincopyprint? ...

  9. TO DO NOW——送给奋斗着的程序“猿”们

    大家在我们的日常生活中是不是经常会遇到学习和工作效率低,不能够按照自己的计划有条不紊地按时.按点儿的完成自己的任务呢?是不是还在为此而头疼不堪呢?好吧, 那是你执行力有问题.那么究竟什么是执行力?怎样 ...

  10. Myeclipse 中添加mysql的jdbc驱动

    打开myeclipse后单击菜单栏中的myeclipse——>preferences 然后在Myeclipse Enterprise workbench下的Java Enterprise Pro ...