RAM  ROM  FLASH  硬盘  cache 寄存器

 

一、RAM(Radom Access Memory)随机存取存储器  

    俗称内存,存取速度快,掉电丢失,按照内存的工作原理RAM一般分为两类:DRAM(Dynamic RAM)和SRAM(Static RAM)

按照CPU每个机器周期对RAM访问的次数可分为两类:DARAM(dual access RAM)和SARAM(single access RAM).

    1) DRAM:  由晶体管和电容组成,一个晶体管和一个电容存储一个位的数据,之所以称为动态RAM,是因为需要周期性的给电容充电,然后电容放电给晶体管来让晶体管可以持续的保存数据,因为电容充放电需要一定的时间,所以速度相对来说会慢一些。

    DRAM又可以分为FPRAM/FastPage、EDORAM、SDRAM、DDR SDRAM、RDRAM、SGRAM 以及 WRAM 等,这里只说一下SDRAM和DDR SDRAM,其他的没见过也不了解。

    SDRAM: Synchronous DRAM(同步DRAM)俗称内存条,之所以称为同步DRAM,是因为内存条的工作时钟和CPU的时钟是相同的。SDRAM发展到现在经历了五代了,分别是:SDR SDRAM --> DDR SDRAM --> DDR2 SDRAM --> DDR3 SDRAM --> DDR4 SDRAM。SDR SDRAM就是SDRAM,DDR(dual data rate)是指内存一种技术,现在内存的提升主要体现在内存频率和带宽上。

    2)SRAM:  由6个晶体管来存储一个位的数据,不需要周期性的供电,只需要保持一直有电就行。SRAM的特点是速度快,功耗小,价格昂贵,占用体积大,一般用做CPU与内存之间的cache。

    3)DARAM:双口RAM,有两套数据总线,两套地址总线,两套控制总线,所以CPU可以再一个时钟周期内访问两次DARAM,可以同时读写,但是不能同时访问同一个地址。所以DARAM一般用于存储数据段的数据。

    4)SARAM:单口RAM,就是通常所说的RAM,只有一套数据总线,一套地址总线,一套控制总线,CPU在一个时钟周期内之只能访问一次SARAM,一般SARAM用于存储代码段的数据。

          在嵌入式处理器中,如我用过的TMS320VC5505,支持统一寻址,包含片上RAM:64k bytes的DARAM和256k bytes的SARAM,DARAM一般用于存储数据段,SARAM一般用于存储代码段。

二、ROM(Read-Only Memory)只读存储器

    现在我们常说的ROM更多的是对 掉电不丢失数据的 一种统称,ROM包含很多种:ROM PROM EPROM OTP-ROM EEPROM FLASH

    ROM:这是一种制作工艺最简单的半导体存储器,成本很低,只能写入一次,数据可以永久保存,不能修改和读取,现在ROM的应用场合很少了,常见的也就是不可擦除的光盘了(CD-ROM  DVD-ROM),像激光唱片,电脑的系统启动光盘等

    PROM:可编程ROM(Programmable ROM),内部有行列式的熔丝,当需要改写某个单元的数据时,给这个单元通足够大的电流,将熔丝熔断就可以达到改写某个单元数据的要求(0-->1或者1-->0)。如果PROM出厂时存储的全是1,则熔断熔丝1变成0,如果PROM出厂时存储的全是0,则熔断熔丝0变成1。常用于电子游戏机,电子词典等预存固定数据。

    EPROM:可擦出可编程的ROM(Erasable Programmable ROM),可重复写入和擦除,写入时需要利用编程器来产生高压脉冲信号,然后编程器将数据逐行地写入EPROM中。擦除时只需将EPROM曝光于紫外线下,EPROM上的数据就会被清除。以前,在嵌入式系统中,使用EPROM当做存储设备使用,用于存储BootLoader、操作系统以及程序代码,但是这些年已经被FLASH代替。

    OTP-ROM:一次可编程ROM(One Time Programmable ROM),写入原理和EPROM相同,但是没有透明窗,所以不能擦除。

一般FLASH中会有一段空间是OTP的,即只能写入一次,一般在出厂时就已经写好了,用来保存FLASH唯一的序列号。

    EEPROM:电可擦出可编程的ROM(Electrically Erasable Programmable ROM),直接用电信号就可以擦除和写入,十分方便,现在电脑上的BIOS ROM用的就是EEPROM,在嵌入式系统中应用也比较多

三、FLASH

    俗称 闪存,结合了RAM和ROM的优点,不仅电子可擦出可编程,断电不丢失数据,而且读写速度很快。flash是以扇区(段)为最小读写单位。flash的编程原理都是将1变为0,无法将0变成1.所以在向flash写数据之前必须将相应的内存单元擦除,擦出就是把内存单元置1,也就是对应的字节的值为0xff,向flash写数据的时候就,如果是写0,则将flash中对应的bit由1变为0,如果是写1,则对应的bit不变。flash分为NORFLASH和NANDFLASH:

    NORFLASH:支持随机存取,NORFLASH的读取和SDRAM类似,但是写入有区别,需要遵循特定的命令序列才可以写。程序可以直接在flash上运行。NORFLASH以字或者字节为基本访问单位。

    NANDFLASH:不支持随机存取,最小访问单元是块。

    NORFLASH比NANDFLASH的速度快,也比NANDFLASH贵,容量也小。

四、硬盘

    以上所介绍的存储器都是以半导体材料作为存储介质,而硬盘是以磁性介质作为存储介质,具体的存储原理很复杂,我还没搞明白。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值