PREVIEW
RAM

RAM

Advanced signal_cellular_alt Advanced schedule 35 min

RAM(随机存取存储器)

概述

  • 用途:RAM(随机存取存储器)是一种易失性数字存储组件,允许以相同的访问时间从任何内存位置读取或写入数据。它临时存储数字系统正在使用的数据和指令。
  • 符号:RAM 以矩形方块表示,具有地址输入、数据输入和控制信号(CS、WE、CLK、OE),右侧有数据输出。
  • DigiSim.io 角色:为数字系统设计提供必要的内存功能,支持仿真电路中的数据存储、查找表和临时变量。

RAM component

功能描述

逻辑行为

RAM 从指定的内存地址存储和检索数据。其操作由地址输入、数据线和控制信号控制。

操作模式

  1. 读操作:当 CS=1、WE=0 且 OE=1 时,存储在指定地址的数据出现在输出引脚上(组合逻辑)。
  2. 写操作:在 CLK 上升沿且 CS=1、WE=1 时,数据输入引脚上的数据被存储到指定地址(同步/时钟写入)。
  3. 非活动状态:当 CS=0 时,输出引脚处于高阻抗状态,不执行任何操作。

控制信号真值表

CS WE CLK OE 操作
0 X X X 非活动(输出高阻抗)
1 0 X 0 输出非活动(高阻抗)
1 0 X 1 读操作(组合逻辑)
1 1 X 写操作(上升沿时)

注:X 表示"无关",↑ 表示上升时钟沿

输入和输出

  • 输入(共 20 个):

    • A0-A7:引脚 0-7。8 位地址输入,指定内存位置(最多 256 个位置)。
    • D0-D7:引脚 8-15。8 位数据输入(总线输入),用于写入数据。
    • CS(片选):引脚 16。为 HIGH 时激活 RAM。
    • WE(写使能):引脚 17。为 HIGH 时启用写操作(与 CLK 上升沿配合)。
    • CLK(时钟):引脚 18。写操作在 CLK 上升沿发生。
    • OE(输出使能):引脚 19。为 HIGH 时在读操作期间启用数据输出。
  • 输出(共 8 个):

    • Q0-Q7:8 位数据输出。在读操作期间(CS=1、WE=0、OE=1),输出指定地址存储的值。否则输出高阻抗(高-Z)。

可配置参数

  • 内存大小:DigiSim.io 中的 RAM 容量,默认为 256×8(256 个地址,每个地址 8 位)。
  • 初始内存内容:用于仿真目的的可选预加载值。
  • 传播延迟:地址/控制信号变化到数据输出之间的时间延迟。

DigiSim.io 中的视觉表示

RAM 显示为一个矩形方块,具有清晰标记的输入和输出。地址输入通常位于左侧,数据线和控制信号为清晰起见进行排列。连接到电路中时,组件通过连接线上的颜色变化直观地显示活动操作和数据流。某些实现可能包含用于教育目的的内存内容显示。

教育价值

核心概念

  • 内存系统:演示计算机如何存储和检索数据。
  • 地址译码:说明二进制地址与特定内存位置之间的关系。
  • 数据存储:展示二进制信息如何在计算机内存中组织。
  • 读/写时序:解释内存操作中控制信号的协调。
  • 内存层次结构:介绍计算机系统中不同类型内存的概念。

学习目标

  • 理解随机存取存储器的基本原理。
  • 学习如何使用控制信号执行读写操作。
  • 认识内存在数字计算系统中的重要性。
  • 将 RAM 组件应用于数字设计中的数据存储解决方案。
  • 理解内存地址与存储数据之间的关系。

使用场景

  • 数据存储:在数字系统中存储变量和中间结果。
  • 查找表:实现预定义的数据表,用于函数近似或代码转换。
  • 缓冲存储器:在速度不同的数字系统组件之间创建临时存储。
  • 程序存储:预加载时,存储处理器要执行的指令。
  • 内存映射 I/O:在计算机系统中实现内存地址外设。

技术说明

  • DigiSim.io 中的 RAM 模拟了物理 RAM 的易失性特性,当断电或仿真重置时数据会丢失。
  • 为确保正常操作,控制信号必须按照真值表正确排序。
  • 内存访问需要考虑时序参数,包括地址建立时间和数据保持时间。
  • 当未选中(CS=0)或输出禁用(OE=0)时,数据线进入高阻抗状态,允许与其他设备共享总线。

电路实现细节

存储单元结构

SRAM 单元(6T)

6 晶体管 SRAM 单元结构:

  • T1、T2:交叉耦合反相器,构成双稳态锁存器
  • T3、T4:由字线 (WL) 控制的存取晶体管
  • T5、T6:下拉晶体管
  • 双稳态存储:交叉耦合反相器无需刷新即可保持状态
  • 位线 (BL, BL̅):差分检测用于抗噪声

DRAM 单元(1T1C)

1 晶体管、1 电容器 DRAM 单元结构:

  • T:由字线 (WL) 控制的存取晶体管
  • C:存储电容器保持代表数据位的电荷
  • 位线 (BL):通过存取晶体管读写数据
  • 需要刷新:电容器电荷泄漏,需要定期刷新周期
  • 更高密度:更简单的结构允许每芯片面积更多的内存

地址译码

行和列译码器将地址输入转换为行和列选择信号:

graph LR
    A03[Address A0-A3] --> RDEC[Row Decoder]
    A47[Address A4-A7] --> CDEC[Column Decoder]
    
    RDEC --> RS[Row Select 0-15]
    CDEC --> CS[Column Select 0-15]
    
    RS --> ARRAY[Memory Cell Array]
    CS --> ARRAY

数据通路

graph LR
    subgraph Read Operation
        CELL1[Memory Cell] --> SA[Sense Amplifier]
        SA --> OBUF[Output Buffer]
        OBUF --> DOUT[Data Output]
    end
    
    subgraph Write Operation
        DIN[Data Input] --> IBUF[Input Buffer]
        IBUF --> WD[Write Driver]
        WD --> CELL2[Memory Cell]
    end

相关组件

  • ROM(只读存储器):只能读取的非易失性内存
  • PROM(可编程 ROM):一次性可编程内存
  • EPROM(可擦除 PROM):使用紫外线擦除
  • EEPROM/闪存:电可擦除非易失性内存
  • 寄存器:用于临时数据存储的小型高速内存
  • 移位寄存器:具有移位功能的顺序存储器
  • 内存控制器:管理内存操作的电路
  • 高速缓存:CPU 与主存之间的高速缓冲存储器
  • 地址译码器:将二进制地址转换为单独的选择线
  • FIFO/LIFO 缓冲器:具有先进先出或后进先出访问的专用内存

school 学习路径

arrow_forward 下一步

help_outline 常见问题

什么是RAM?

RAM是可以在任意地址读写的易失性存储器。它在计算机中存储程序和数据,断电后内容丢失。

RAM寻址如何工作?

地址线选择要访问的内存单元。有n条地址线时,RAM可以有2^n个位置。每个位置存储一个字(DigiSim中为8位)。

play_arrow 运行在线电路

查看其他组件