您现在的位置是:网站首页> 硬件
程序存储器与数据存储器区别总结
- 硬件
- 2021-03-31
- 889人已阅读
摘要
存储器概念:
1. 程序存储器:
一般程序存储器一般采用只读存储器,因为这种存储器在电源关闭后,仍能保存程序(此特性成为非遗失性),在系统上电后CPU可去除这些指令重新执行。
只读存储器简称ROM,ROM中的信息一旦写入,就不能随意更改,特别是不能在程序运行过程中写入新的内容,故称为只读存储器。
向ROM存储器中写入信息称为ROM编程,根据编程的方式不同,可分为以下几种:
(1) 掩模ROM:掩模ROM是在制造过程中编程。因为编程是以掩模工艺实现的,因此称为掩模ROM。这种芯片存储结构简单,集成度高,但由于掩模工艺成本高,因此只适用于大批量生产。
(2) 可编程ROM(PROM):PROM(可编程只读存储器)芯片出厂时并没有任何程序信息,由用户独立的编程写入。但PROM只能写入一次,吸入内容后,就不能再修改。
(3) EPROM:EPROM使用电信号编程,用紫外线擦除的只读存储器芯片。在芯片外壳的中间位置有一个圆形窗口,通过该窗口照射紫外线就可擦除原有的信息,使用编程器可将调试完毕的程序写入。
(4) E2PROM(EEPROM):E2PROM这是一种用电信号编程,也用电信号擦除的ROM芯片,对E2PROM的读写操作与RAM存储器几乎没有什么差别,只是写入的速度慢一些,但掉电后仍能保存信息。
(5) Flash ROM:FlashROM又称为闪速存储器(简称闪存),FlashROM是在EPROM,E2PROM的基础上发展起来的一种电擦除型只读存储器。其特点是可快速在线修改其存储单元中的数据,改写次数可达1万多次,其读写速度很快,存取时间可达70ns,而成本却比E2PROM低得多,所以现如今大多数单片机上应有的这种程序存储器。
例:STC89C52 RC单片机芯片:
工作频率范围:0~40MHz,相当于普通8051 的0~80MHz,实际工作 频率可达48MHz
1. 程序存储器又分为片内和片外两部分。STC89C52 RC单片机片内程序存储器为8KB的Flash存储器(Flash ROM),编程和擦除完全是电气实现,且速度快。
当片内8K的Flash的存储器不够用时,用户可在片外扩展程序存储器,最多64KB,但STC89C52RC单片机芯片只有片内的8K Flash并没有片外扩展。
2. 数据存储器也分为片内和片外,. 片上(片内)集成512 字节RAM
51单片机的C语言中有个需要关注的概念就是变量或数据的存储模式(PC机是否有类似的情况我不了解)。在C51中的存储模式是data、bdata、idata、pdata、xdata、code共6种:
data、bdata、idata:就是说变量或数据位于单片机的内部RAM中(ST89C52有256字节),访问速度最快。
pdata、xdata:就是说变量或数据位于扩展的外部RAM(其实是相对来说的,还是片内RAM中)中(ST89C52内集成了256字节),相对内部RAM访问速度要慢。
3. 当片内RAM中不够用时,又给用户提供了在片外可扩展至64KB RAM功能。
4. E2PROM :2KB
2. 数据存储器:
RAM(Random Access Memory) 随机存储器。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。 按照存储信息的不同,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。
SRAM(Static RAM)不需要刷新电路即能保存它内部存储的数据。
DRAM(Dynamic RAM)每隔一段时间,要刷新充电一次,否则内部的数据即会消失。
因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,且功耗较大。所以在主板上SRAM存储器要占用一部分面积。
SRAM的速率高、性能好,它主要有如下应用:
1)CPU与主存之间的高速缓存。
2)CPU内部的L1/L2或外部的L2高速缓存。
SSRAM(Synchronous SRAM)即同步静态随机存取存储器。同步是指Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;随机是指数据不是线性依次存储,而是由指定地址进行数据读写。
对于SSRAM的所有访问都在时钟的上升/下降沿启动。地址、数据输入和其它控制信号均于时钟信号相关。这一点与异步SRAM不同,异步SRAM的访问独立于时钟,数据输入和输出都由地址的变化控制。
SDRAM(Synchronous DRAM)即同步动态随机存取存储器。同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。
上一篇:CPU寄存器
下一篇:cpu的多少位是什么意思