RAM(随机存取存储器)是计算机主存储器的一部分, 可由CPU直接访问。 RAM用于读取和写入数据, 可由CPU随机访问。 RAM本质上是易失性的, 这意味着如果断电, 存储的信息将会丢失。 RAM用于存储CPU当前正在处理的数据。大部分可修改的程序和数据都存储在RAM中。
集成RAM芯片有两种形式:
- SRAM(静态RAM)
- DRAM(动态RAM)
文章图片
SRAM
SRAM存储器由能够在通电时保持所存储信息的电路组成。这意味着这种类型的存储器需要恒定的功率。 SRAM存储器用于构建高速缓存。
SRAM存储器单元:
静态存储器(SRAM)是由能够在通电时保持其状态的电路组成的存储器。因此, 这种类型的存储器称为易失性存储器。下图显示了SRAM的单元图。锁存器由两个反相器连接而成, 如图所示。两个晶体管T1和T2用于将锁存器与两条位线连接。这些晶体管的目的是充当可在字线的控制下打开或关闭的开关, 该字线由地址解码器控制。当字线处于0电平时, 晶体管关闭并且锁存器保持其信息。例如, 如果在点A处的逻辑值是1而在点B处的逻辑值是0, 则该单元处于状态1。只要不激活字线, 该状态就会保留。
文章图片
对于读取操作, 字线由输入到地址解码器的地址激活。激活的字线同时关闭晶体管T1和T2。然后, 点A和B的位值可以传输到它们各自的位线。位线末端的检测/写入电路将输出发送到处理器。
对于写操作, 提供给解码器的地址激活字线以闭合两个开关。然后, 通过感测/写入电路提供将要写入单元的位值, 然后将位线中的信号存储在单元中。
记忆体
DRAM以施加到电容器的电荷形式存储二进制信息。电容器上存储的信息会在一段时间内丢失, 因此必须定期对电容器进行充电以保持其使用状态。主存储器通常由DRAM芯片组成。
DRAM存储器单元:
尽管SRAM速度非常快, 但由于其每个单元都需要多个晶体管而价格昂贵。相对便宜的RAM是DRAM, 因为每个单元中使用一个晶体管和一个电容器, 如下图所示, 其中C是电容器, T是晶体管。信息以电容器上电荷的形式存储在DRAM单元中, 并且该电荷需要定期充电。
为了在该单元中存储信息, 晶体管T被导通并且适当的电压被施加到位线。这导致已知量的电荷存储在电容器中。晶体管关闭后, 由于电容器的特性, 它开始放电。因此, 只有在电容器上的电荷下降到某个阈值以下之前, 才可以正确读取存储在单元中的信息。
文章图片
DRAM类型
DRAM主要有5种类型:
- 异步DRAM(ADRAM):上述DRAM是异步型DRAM。存储设备的时序是异步控制的。专用存储器控制器电路生成必要的控制信号以控制时序。 CPU必须考虑内存响应的延迟。
- 同步DRAM(SDRAM):这些RAM芯片的访问速度与CPU的时钟直接同步。为此, 当CPU期望内存芯片准备就绪时, 它们将保持运行状态。这些存储器在CPU存储器总线上运行, 而没有施加等待状态。 SDRAM作为包含多个SDRAM芯片并形成模块所需容量的模块而在市场上有售。
- 双数据速率SDRAM(DDR SDRAM):这种更快版本的SDRAM在时钟信号的两个边沿上执行其操作。而标准SDRAM在时钟信号的上升沿执行操作。由于它们在时钟的两个边缘上传输数据, 因此数据传输速率提高了一倍。为了高速访问数据, 将存储单元分为两组。每个组分别访问。
- Rambus DRAM(RDRAM):RDRAM通过狭窄的CPU内存总线提供了很高的数据传输速率。它使用各种加速机制, 例如同步存储器接口, DRAM芯片内部缓存和非常快的信号定时。 Rambus数据总线宽度为8或9位。
- 缓存DRAM(CDRAM):该存储器是一种特殊类型的DRAM存储器, 具有片上高速缓存(SRAM), 可充当主DRAM的高速缓冲区。
下表列出了SRAM和DRAM之间的一些区别:
文章图片
推荐阅读
- 用Java创建对象的不同方法有哪些()
- 不同类型的聚类算法详细介绍
- 矩阵的不同运算快速介绍
- 用C++ STL复制的不同方法std::copy()、copy_n()、copy_if()、copy_backward()
- #yyds干货盘点#JS是单线程的,那么JS是如何实现并发请求的()
- Centos7安装JDK和Tomcat详细步骤
- Flutter 专题61 图解基本 Button 按钮小结#yyds干货盘点#
- Centos 7使用MyCat搭建 MySQL-读写分离
- Linux中卸载提示设备正忙怎么办?