动态随机存取存储器(DRAM)入门

目录

前言

动态随机存取存储器(DRAM)的工作原理

DRAM 芯片的逻辑顺序

读写时序

刷新操作

突发传输模式

同步 DRAM(SDRAM)

双倍数据速率 SDRAM(DDR SDRAM)

DRAM 读写校验

计算 DRAM(CDRAM)

结语


前言

        在现代计算机系统中,内存是不可或缺的组件,它允许处理器快速访问数据和指令。动态随机存取存储器(DRAM)是计算机系统中常见的内存类型,因其较高的密度和较低的成本而广泛使用。

动态随机存取存储器(DRAM)的工作原理

  1. 存储单元:DRAM 存储器由许多存储单元组成,每个存储单元由一个电容器和一个存储介质(通常是一个晶体管)组成。电容器负责存储一个比特(0 或 1),电容器的充电状态表示存储的数据值。

  2. 电容器充放电:DRAM 中的每个存储单元都有一个电容器,当电容器充电时,表示存储的数据位是 1;当电容器放电时,表示存储的数据位是 0。电容器会随着时间的推移而自然放电,因此需要周期性地刷新(刷新周期通常为几毫秒到几十毫秒)。

  3. 行地址选择:要读取或写入特定的存储单元,首先需要选择行地址。DRAM 芯片内部的控制逻辑根据输入的地址信号来选择特定的行,这个过程称为 "行地址选通"。通过激活行地址线,选中特定的行,从而准备读取或写入该行的数据。

  4. 列地址选择:在选中行之后,需要选择该行中的特定列,以读取或写入数据。通过激活列地址线,选中所需的列,从而确定要访问的存储单元。

  5. 读取和写入操作:一旦选择了行和列地址,DRAM 就可以执行读取或写入操作。在读取操作中,DRAM 会从选中的存储单元中读取数据,并将其传输到输出端。在写入操作中,DRAM 会将输入的数据写入到选中的存储单元中。

  6. 刷新操作:由于电容器会自然放电,所以需要定期刷新 DRAM 存储器中的数据,以防止数据丢失。刷新操作会将存储单元的电荷重新充满,从而维持存储数据的稳定性。

 

DRAM 芯片的逻辑顺序

        在 DRAM 芯片中,存储单元通常被组织成一个二维的矩阵结构,由行和列组成。每个存储单元由唯一的行地址和列地址标识。

  1. 行地址(Row Address)

    • 行地址用于选择 DRAM 芯片中的行。
    • DRAM 芯片的行地址由地址线组成,地址线的数量取决于 DRAM 芯片的行数。
    • 通过激活行地址线,可以选择要访问的行。
  2. 列地址(Column Address)

    • 列地址用于选择所选行中的列。
    • DRAM 芯片的列地址也由地址线组成,地址线的数量取决于 DRAM 芯片的列数。
    • 通过激活列地址线,可以选择所选行中的特定列。
  3. 行选通线(Row Select Line)

    • 行选通线用于激活所选行,以便访问该行中的存储单元。
    • 当某个行地址被激活时,对应的行选通线被激活,使得该行中的存储单元变为可访问状态。
  4. 列选通线(Column Select Line)

    • 列选通线用于激活所选列,以便访问所选行中的特定存储单元。
    • 当某个列地址被激活时,对应的列选通线被激活,使得所选行中的特定存储单元变为可访问状态。

读写时序

        读写时序是指读取或写入 DRAM 所涉及的各个步骤所花费的时间。这些步骤包括处理器发送地址信号、DRAM 芯片内部处理地址信号、存储单元的访问和数据传输等。以下是典型的读写时序步骤:

  1. 读取时序

    • 行地址传输(Row Address Transfer):处理器向 DRAM 发送行地址。
    • 行预充电(Row Precharge):DRAM 芯片根据接收到的行地址,将所选行的电容器预充电,准备读取数据。
    • 列地址传输(Column Address Transfer):处理器向 DRAM 发送列地址。
    • 列访问(Column Access):DRAM 芯片内部根据接收到的列地址,从所选行中读取数据。
    • 数据传输(Data Transfer):DRAM 芯片将读取的数据传输到输出端,以供处理器使用。
  2. 写入时序

    • 行地址传输(Row Address Transfer):处理器向 DRAM 发送行地址。
    • 行激活(Row Activate):DRAM 芯片根据接收到的行地址,激活所选行,使其处于可写入状态。
    • 列地址传输(Column Address Transfer):处理器向 DRAM 发送列地址。
    • 列写入(Column Write):DRAM 芯片内部根据接收到的列地址,将处理器发送的数据写入到所选行的特定列。
    • 数据传输(Data Transfer):确认数据已成功写入 DRAM,并完成数据传输。

        读写时序的长短取决于多种因素,包括 DRAM 芯片的速度、处理器和内存控制器的速度、总线带宽等。在设计和选择系统时,需要根据应用的需求和性能要求来优化读写时序,以确保数据的及时可靠读写。

刷新操作

        刷新操作是确保 DRAM 数据完整性的重要步骤。由于 DRAM 存储的数据是以电荷的形式存在于电容器中,这些电容器会随着时间的推移自然放电。为了防止数据丢失,DRAM 需要定期刷新,即定期重新充电电容器,以保持数据的稳定性。

        在刷新期间,DRAM 芯片暂时无法响应读写请求,因此内存控制器需要谨慎地安排刷新操作,以最大限度地减少对系统性能的影响。内存控制器通常会使用以下方法来管理刷新操作:

  1. 刷新周期调度:内存控制器会根据 DRAM 制造商提供的建议或规范,安排刷新周期的时间间隔。刷新周期通常在几毫秒到几十毫秒之间,具体取决于 DRAM 芯片的类型和规格。

  2. 刷新命令发送:在每个刷新周期,内存控制器会向 DRAM 发送刷新命令,以触发刷新操作。这通常是通过将刷新命令发送到 DRAM 的特定地址来实现的。

  3. 刷新与访问调度:内存控制器需要合理安排刷新操作和读写请求之间的优先级。通常,读写请求会优先于刷新操作,以确保系统的响应性能。内存控制器可能会在刷新操作与读写请求之间进行调度和协调,以最大程度地减少对系统性能的影响。

  4. 自动刷新:一些现代 DRAM 芯片支持自动刷新功能,内置了专门的控制电路,可以在不需要外部命令的情况下执行刷新操作。这有助于简化内存控制器的设计,并提高系统的可靠性和性能。

突发传输模式

        突发传输模式是 DRAM 中常见的一种优化技术,旨在提高数据传输效率。在这种模式下,DRAM 在接收到行地址和列地址后,会连续地传输多个存储单元中的数据,而不是单独地读取或写入每个存储单元。这样做的主要原因是初始访问行和列地址需要一定的时间,而连续访问可以减少这些开销,从而提高数据传输的效率。

突发传输模式通常包括以下关键特性:

  1. 连续数据传输:在突发传输模式下,DRAM 会在接收到行地址和列地址后,连续地传输多个存储单元中的数据。这些数据通常存储在连续的存储单元中,因此可以通过一次访问来获取一系列的数据。

  2. 预取和预充电:在进行突发传输之前,DRAM 可能会预取一些额外的数据到内部缓冲区,并预充电所选行,以加速后续的数据传输。这有助于减少访问延迟,并提高传输效率。

  3. 突发长度设置:DRAM 的突发传输模式通常可以通过设置突发长度来调整,以确定一次连续传输的存储单元数量。突发长度的选择取决于系统的需求和性能要求。

  4. 内存控制器支持:突发传输模式需要内存控制器的支持,以正确地发送行地址和列地址,并处理连续的数据传输。内存控制器通常会根据系统的配置和操作来调整突发传输的设置,并确保其在不同工作负载下的最佳性能。

同步 DRAM(SDRAM)

        同步 DRAM(SDRAM)是一种与系统时钟同步的动态随机存取存储器,它的工作方式与系统时钟脉冲同步,允许在每个时钟周期内进行数据传输。相比于传统的异步 DRAM,SDRAM 在数据传输方面具有更高的效率和性能优势。

以下是同步 DRAM(SDRAM)的一些关键特点:

  1. 系统时钟同步:SDRAM 与系统时钟同步,这意味着数据传输的时序操作与系统时钟脉冲同步。每个时钟周期都会触发一次数据传输操作,使得数据的读取和写入操作更加可控和精确。

  2. 单独的地址总线:SDRAM 使用单独的行地址和列地址总线,与异步 DRAM 相比,它们之间的地址信号线更为简化和清晰。这种设计使得 SDARM 能够在更短的时间内确定要访问的存储单元的位置,从而提高了数据传输的效率。

  3. 并行操作:由于使用了单独的地址总线,SDRAM 允许同时执行多个读取或写入操作。这意味着在同一时钟周期内可以针对不同的存储单元执行多个操作,从而进一步提高了系统的性能。

  4. 突发传输模式:SDRAM 引入了突发传输模式,允许在一次地址传输操作中连续地传输多个存储单元中的数据。这种连续传输方式可以降低地址传输和数据传输之间的延迟,进一步提高了数据传输的效率。

双倍数据速率 SDRAM(DDR SDRAM)

        双倍数据速率 SDRAM(DDR SDRAM)是一种改进的同步动态随机存取存储器(SDRAM),它可以在每个时钟周期的上升沿和下降沿传输数据,从而使得数据传输速率翻倍。相比于传统的 SDRAM,DDR SDRAM 提供了更高的数据传输带宽和更快的访问速度。

以下是 DDR SDRAM 的一些关键特点:

  1. 双倍数据传输:DDR SDRAM 可以在每个时钟周期的上升沿和下降沿传输数据,实现了双倍数据传输速率。这意味着每个时钟周期内可以传输两次数据,从而使得数据传输速率翻倍。

  2. 预取机制:DDR SDRAM 引入了预取(Prefetch)机制,可以在实际读取请求之前预先读取一组数据并将其存储在内部缓冲器中。当有读取请求时,DDR SDRAM 可以直接从缓冲器中读取数据,而不必等待存储单元的实际访问,从而提高了读取效率。

  3. 内部并行操作:DDR SDRAM 在内部使用了更多的并行操作,例如内部预取、数据缓冲和写入缓冲等,以增加数据处理和传输的并行度,进一步提高了性能。

  4. 增强的地址总线:DDR SDRAM 使用了增强的地址总线和控制信号,以支持双倍数据传输和预取机制。这些增强的信号和协议确保了数据的可靠传输和处理。

        总的来说,双倍数据速率 SDRAM(DDR SDRAM)通过在每个时钟周期内传输两次数据、引入预取机制以及增强的地址总线等特性,实现了更高的数据传输带宽和更快的访问速度。这使得 DDR SDRAM 成为了现代计算机系统中广泛使用的内存技术之一,能够满足对高性能和高带宽的需求。

DRAM 读写校验

        DRAM 的错误检测和纠正机制是确保数据完整性的重要组成部分。除了奇偶校验之外,还有其他更高级的错误检测和纠正技术,如纠错码(ECC)和 LRC(Longitudinal Redundancy Check)等。

以下是一些常见的 DRAM 读写校验技术:

  1. 奇偶校验

    • 奇偶校验是一种简单的错误检测技术,它在每个存储单元中添加一个额外的位(奇偶校验位)来存储奇偶校验信息。
    • 在写入数据时,DRAM 会根据数据位的奇偶性计算并存储相应的奇偶校验位。
    • 在读取数据时,DRAM 会同时读取数据位和奇偶校验位,并验证它们是否匹配。如果奇偶校验位与数据位的奇偶性不一致,则表示数据可能已经出现错误。
  2. 纠错码(ECC)

    • 纠错码是一种更高级的错误检测和纠正技术,它能够检测和纠正单个位或多个位的错误。
    • 在写入数据时,DRAM 使用特定的编码算法生成纠错码,并将纠错码与数据一起存储。
    • 在读取数据时,DRAM 会同时读取数据位和纠错码,并使用纠错码进行错误检测和纠正。如果发现错误,则可以根据纠错码对数据进行修复。
  3. LRC(Longitudinal Redundancy Check)

    • LRC 是一种在数据存储过程中计算纵向冗余校验值的技术,用于检测存储单元中的位错误。
    • LRC 将每个字节的位相加,并将结果存储在额外的存储单元中。在读取数据时,DRAM 会计算每个字节的 LRC 值,并与存储的 LRC 值进行比较,以检测位错误。

计算 DRAM(CDRAM)

        计算 DRAM(CDRAM)是一种特殊类型的动态随机存取存储器(DRAM),它结合了传统 DRAM 的高密度存储和计算能力。CDRAM 的设计旨在加速人工智能和机器学习等计算密集型应用程序,通过在存储器中执行部分计算任务来减少数据传输,并提高系统的性能和效率。

以下是一些关键特点和工作原理:

  1. 内置计算单元:CDRAM 在存储单元中集成了计算单元,可以直接在存储器中执行一些计算任务,如向量运算、矩阵乘法等。这样可以避免将大量数据从存储器传输到处理器进行计算,从而减少了数据传输的开销。

  2. 数据重用和局部性:由于计算操作直接在存储器中执行,CDRAM 可以利用数据的重用和局部性,减少了对外部存储器的访问需求。这有助于提高数据访问效率和计算性能。

  3. 降低功耗和延迟:通过在存储器中执行部分计算任务,CDRAM 可以减少数据传输和处理器计算的功耗和延迟。这对于需要处理大量数据的应用程序,尤其是在边缘计算和物联网等场景下,具有重要意义。

  4. 与传统处理器的集成:CDRAM 可以与传统的中央处理器(CPU)或图形处理器(GPU)集成在一起,形成存储计算单元(SMU),实现数据密集型应用程序的高效执行。

        总的来说,计算 DRAM(CDRAM)通过结合存储和计算能力,减少数据传输和处理器计算的开销,提高了系统的性能和效率。这使得 CDRAM 成为了面向计算密集型应用的重要内存技术之一,对于人工智能、机器学习、图像处理等领域具有广泛的应用前景。

结语

        总之,DRAM 是现代计算机系统中不可或缺的组件。了解其工作原理、各种类型和特性对于充分利用其潜力非常重要。随着技术的进步,DRAM 技术将继续发展,为更高效、更高性能的内存系统铺平道路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值