3.3 动态存储随机存储器

news2024/9/21 12:38:30

 

学习目标:

  1. 理解动态随机存取存储器的基本原理和工作机制。
  2. 掌握动态随机存取存储器的读写操作及时序。
  3. 理解动态随机存取存储器的存储单元结构和电路设计。
  4. 熟悉动态随机存取存储器的刷新技术及其影响因素。
  5. 理解动态随机存取存储器与静态随机存取存储器的异同。
  6. 掌握动态随机存取存储器的容量扩展技术和多模式存储器的设计思想。
  7. 了解动态随机存取存储器的应用场景及其发展趋势。

学习步骤:

学习动态随机存取存储器(DRAM)时,我会遵循以下步骤:

  1. 学习DRAM的基本原理:了解DRAM存储器单元的组成,以及如何读取和写入数据。

  2. 理解DRAM的读/写时序:学习DRAM的读/写时序,了解时钟信号如何控制DRAM操作,并学习如何选择合适的时序参数以满足系统要求。

  3. 掌握DRAM芯片的布局:了解DRAM芯片的物理布局,包括存储阵列、行地址译码器、列地址译码器、I/O线路和控制逻辑。

  4. 学习DRAM控制电路的设计:学习如何设计DRAM控制电路,包括行地址译码器、列地址译码器和预充电电路等。

  5. 了解DRAM刷新技术:学习DRAM的刷新原理和操作,包括自刷新和外部刷新,以确保数据的稳定性和一致性。

  6. 掌握DRAM的性能参数:了解DRAM的性能参数,如访问时间、带宽、刷新周期等,以及它们之间的相互关系,以满足系统性能需求。

  7. 学习DRAM的容量扩展技术:了解DRAM的容量扩展技术,包括多芯片选择器(MCS)、双数据率(DDR)和动态RAM(DRAM)的堆叠等。

  8. 掌握DRAM的故障排除技巧:学习如何排除DRAM的故障,包括使用测试工具和技术手段来诊断和解决问题。

总的来说,学习DRAM需要掌握其基本原理、读/写时序、芯片布局、控制电路设计、刷新技术、性能参数、容量扩展技术以及故障排除技巧等方面的知识。需要通过理论学习、实验操作、参考资料等多种方式进行综合学习,才能深入理解和掌握DRAM的工作原理和应用。

3.3.1 DRAM存储元的工作原理

我的理解:

DRAM(Dynamic Random Access Memory)存储元是计算机中常用的一种存储器类型。其存储单元由一个电容和一个开关晶体管组成,电容中存储着一个电荷,该电荷代表着存储的数据,当需要访问该存储单元时,电荷会被读取或写入。

DRAM存储元的工作原理可以分为三个步骤:

  1. 写入数据

当需要写入数据时,DRAM存储单元的地址线会将地址信号发送到存储芯片中,控制线将写入命令发送到内存芯片,该命令会使晶体管变为导通状态,将数据写入电容中。在写入数据之前,需要将电容中的电荷清空。

  1. 读取数据

当需要读取数据时,DRAM存储单元的地址线会将地址信号发送到存储芯片中,控制线将读取命令发送到内存芯片,该命令会使晶体管变为导通状态,读取电容中的电荷。读取完数据后,需要将电容中的电荷清空,以便存储下一次数据。

  1. 刷新数据

由于电容的电荷会逐渐漏电,导致存储的数据出现错误,因此需要定期刷新电容中的电荷,以维持数据的准确性。DRAM存储器会周期性地发出刷新信号,将所有存储单元中的电荷读出并再次写入,以保证数据的正确性。

以上就是DRAM存储元的工作原理。由于DRAM存储器具有容量大、价格低廉等优点,因此被广泛应用于计算机系统中的主存储器。

 

3.3.2 DRAM芯片的逻辑结构

DRAM芯片的逻辑结构包括了DRAM芯片中存储单元的排列方式、控制信号的输入输出方式等。

DRAM芯片的存储单元是由一些存储电容和访问晶体管组成的。在一个DRAM芯片中,存储单元通常被排列成一个二维数组的形式,每一行被称为一个“行”,每一列被称为一个“列”。每个存储单元可以通过行地址和列地址来访问,也就是通过行列地址可以唯一地确定一个存储单元。

在访问一个DRAM芯片中的存储单元时,需要先通过行地址选择一个行,然后再通过列地址选择一个列,最后才能读取或写入数据。DRAM芯片内部会通过行地址解码器和列地址解码器来选择相应的行和列,然后将数据读取或写入到这个存储单元。

DRAM芯片还需要一些控制信号来控制读写操作。例如,读写控制信号用于控制读取或写入操作,时序控制信号用于确定读写操作的时序。在DRAM芯片内部,这些控制信号会被解码并转换为相应的操作信号,以控制存储单元的读写操作。

 3.3.3 DRAM读/写时序

DRAM的读/写时序是指控制DRAM存储元进行读写操作时的时序规定。通常包括时钟脉冲的产生、地址信号的输入、数据的读写等过程。

在进行DRAM读操作时,首先需要给出一个读指令和相应的行地址和列地址。DRAM将指定行的所有存储元中的数据读出并预先放置到内部的读缓冲区。然后,在下一次时钟上升沿时,DRAM将数据从读缓冲区中输出并传输给CPU或其他外部设备。整个读操作需要一定的时序,包括行地址的输入时间、预充电时间、数据输出时间等。

在进行DRAM写操作时,首先需要给出一个写指令和相应的行地址和列地址。DRAM将指定行的所有存储元的内部存储单元置位待写,并将数据存储到写缓冲区中。在下一次时钟上升沿时,DRAM将写缓冲区中的数据写入到指定行的所有存储元中。整个写操作同样需要一定的时序,包括行地址的输入时间、预充电时间、数据输入时间等。

为了保证DRAM读/写时序的正确性,需要根据具体的DRAM芯片和外部控制器的规格书进行时序设计。常见的时序参数包括行选通延迟(tRAS)、行预充电时间(tRP)、列选通延迟(tCAS)、列写入延迟(tCWL)等。在实际的系统设计中,需要根据时序参数和时钟频率等因素综合考虑来确定DRAM的读/写时序。

 

 

3.3.4  DRAM的刷新操作

DRAM(Dynamic Random Access Memory)是一种动态随机存取存储器,其存储单元为存储电容器,需要定期刷新以防止电荷漏失。刷新规则是指在何时、何地、如何刷新DRAM存储器中的内容。

具体来说,DRAM存储器需要定期刷新其存储单元中的电荷,以保持数据的可靠性。刷新规则包括两种类型:基于时间的刷新和基于请求的刷新。

基于时间的刷新:DRAM存储器需要周期性地对存储单元进行刷新操作。这个周期称为刷新周期(Refresh Cycle),也就是DRAM存储器要多长时间才会对其中的数据进行一次刷新。在刷新周期中,DRAM存储器会按照预先设定的刷新顺序,依次对每个存储单元进行刷新操作。刷新周期的长度取决于DRAM存储器的工作频率和内部结构,通常为64ms至16ms之间。

基于请求的刷新:也称自适应刷新(Auto-Refresh),DRAM存储器在空闲时会检查存储单元的状态,如果有需要刷新的单元,则会进行刷新操作。基于请求的刷新方式能够减少刷新操作对系统性能的影响,但需要额外的控制电路来实现。

总体来说,刷新规则是DRAM存储器必须遵循的重要规定,对保证数据的可靠性具有重要作用。

3.3.5 突发传输模式

突发传输模式(Burst Mode)是指在一次访问中连续地从DRAM存储单元中读取或写入多个数据。与传统的单个数据读/写相比,突发传输模式可以有效提高数据传输速率和系统性能,减少因频繁读/写单个数据而引起的延迟和功耗开销。

在突发传输模式下,DRAM芯片会自动连续输出或接收多个数据,因此不需要每个数据都进行读/写时序控制。突发传输模式的长度可以根据具体的实现进行设置,通常为4、8或16个数据。

在DRAM突发传输模式中,首先需要发送一个预充电命令(Precharge),将所有行预充电,为后续的读/写操作做好准备。然后,通过发送一个列地址和一个列地址有效命令(CAS)来选择一个列,并将该列中的多个数据连续输出或写入。最后,发送另一个预充电命令以清除该行,并进行下一次读/写操作。

需要注意的是,在突发传输模式下,DRAM芯片内部的自动刷新操作可能会干扰传输,因此需要特殊处理来保证稳定性。

 3.3.6 同步DRAM

SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存取存储器)是一种内存芯片,它使用同步时钟信号来提高数据传输速率和效率。

与传统的DRAM不同,SDRAM在内部使用了一组复杂的控制和同步逻辑,以支持高速的读/写访问。这些逻辑包括一个内部时钟发生器,它用于在读/写访问期间生成时序信号;还有一个地址和命令管线,它用于加速命令和地址的传输。

SDRAM还使用了突发传输模式(burst mode),这意味着它可以在一次读/写命令中传输多个数据项,从而减少命令和地址信号的传输次数,提高传输效率。突发传输模式还可以减少对SDRAM总线的竞争,从而提高总线效率。

SDRAM也有不同类型的规格,例如DDR、DDR2、DDR3和DDR4等,它们具有不同的传输速率和时序要求,可以根据实际应用需求选择。

 

3.3.8 DRAM读/写校验

DRAM读写校验是一种用于检测DRAM读写操作是否正确的技术。由于DRAM存储单元的可靠性较低,可能会出现硬件错误,比如位翻转,而这些错误可能会导致程序崩溃或数据损坏。为了检测这些错误,DRAM读写校验技术会在DRAM读写操作完成后,对读取或写入的数据进行校验和计算,并将校验和与原始数据一起存储在另外的存储单元中。当需要使用这些数据时,系统会重新计算校验和,并将其与之前存储的校验和进行比较。如果校验和不匹配,就说明数据已经被修改或者存在硬件错误,需要进行相应的处理,比如重新读取或者报错提示。

常用的DRAM读写校验技术包括ECC(错误检测与纠正)和Parity(奇偶校验)等。ECC技术能够检测和纠正单个或多个比特的错误,它需要在存储器中额外存储一些纠错码(校验码),来检测和纠正存储单元中的错误。Parity技术则是通过将一个奇偶校验位添加到每个字节或字中,来检测和纠正单个比特错误。ECC技术通常比Parity技术更可靠,但是它也需要更多的存储空间和计算开销。

3.3.9 CDRAM 

CDRAM是一种基于DRAM技术的存储器,其名称是“Cache DRAM”的缩写,它被设计用于高速缓存存储器中。与传统的DRAM不同,CDRAM使用了一种特殊的高速缓存控制逻辑,可以将常用的数据缓存到高速缓存中,以提高系统性能。以下是CDRAM的一些特点:

  1. 高速缓存:CDRAM具有内部高速缓存,可以存储常用数据,以加速读取速度。

  2. 数据预取:CDRAM可以在读取数据时同时预取下一个数据,以进一步加快访问速度。

  3. 高速数据传输:CDRAM支持高速数据传输,使得数据能够更快地传输到处理器。

  4. 缓存失效:当内部高速缓存无法命中时,CDRAM将自动读取主存中的数据并将其缓存到高速缓存中,以加快后续访问速度。

  5. 双倍速刷新:CDRAM支持双倍速刷新,可以加快DRAM的刷新速度,减少系统的延迟。

总的来说,CDRAM是一种高性能存储器,主要用于高速缓存存储器中。它具有高速缓存、数据预取、高速数据传输等特点,能够显著提高系统性能。

 

 

 

总结:

动态随机存储器(DRAM)是计算机中最常用的内存类型之一,其工作原理和结构与静态随机存储器(SRAM)有所不同。以下是DRAM学习中的重点和难点和易错点的总结:

重点:

  1. DRAM存储元的工作原理和逻辑结构。
  2. DRAM的读/写时序和刷新规则。
  3. 突发传输模式和如何提高DRAM的数据传输效率。
  4. SDRAM和DDR SDRAM的特点和区别。

难点:

  1. DRAM存储元的内部电荷如何被读取和写入。
  2. DRAM的刷新规则和如何在刷新时保持数据的可靠性。
  3. DRAM的读写时序的复杂性和如何进行时序分析和优化。
  4. 如何解决DRAM的存储密度和功耗之间的矛盾。

易错点:

  1. 配置DRAM时序参数时的错误。
  2. 配置DRAM时传输模式和频率的错误。
  3. DRAM刷新规则和刷新周期的错误配置。
  4. DRAM的数据传输错误和数据完整性问题。

了解和掌握以上重点和难点以及避免易错点,将有助于更好地理解和应用DRAM技术。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/480700.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2008-2019年主要城市PITI指数

2008-2019年主要城市PITI指数 1、来源:附在文件内 2、时间区间:2008-2019年 3、具体时间分布:、2008、2009-2010、2011、2012、2013-2014、2014-2015、2015-2016、2016-2017、2017-2018、2018-2019、 4、范围:包括110个城市&a…

Runtime Data Area(运行时数据区域)

运行时数据区是JVM用来管理和存储Java程序执行过程中所需要的各种数据的区域,也成为JVM内存结构。JVM内存结构主要包括以下几个部分: 程序计数器(Program Counter Register) 程序计数器是一种特殊的内存区域,它可以在…

线索二叉树(前中后序线索化/遍历/画线索)

线索二叉树 文章目录 线索二叉树1 线索二叉树的基本概念2 线索二叉树的构造2.1 线索二叉树的存储结构2.2 给线索二叉树画线索2.2.1 中序2.2.2 先序2.2.3 后序 2.3 二叉树线索化代码实现2.3.1 通过中序遍历线索化2.3.2 通过先序遍历线索化2.3.3 通过后序遍历线索化 3 线索二叉树…

五一欢乐赛!题解

前言 有点一言难尽, 这次本来想的给大火减减压放了很多区域赛和省赛的签到题(还有一些是写过的题), 没想到打的并不是很理想, 还用了分数值想减少一些差距, 结果看起来好像让差距更大了, 尴尬 A题 Frozen Scoreboard https://codeforces.com/gym/104076/problem/D 济南站的中…

【MST+离线】ABC235 E - MST + 1

一开始想的是分类讨论,看那条边加了之后成不成环,如果不成环且权值在前n-1,则一定在MST里,不在前n-1则不在MST里;如果成环了,如果权值不在前n-1,则不在MST里,如果权值在前n-1&#x…

InstructGPT怎么准备和标记数据集

目录 1. 谁标记数据集 2. 数据集的来源 3.数据预处理 4. 标记数据集的方法 5. 数据多样性 6. 这样标记的数据的不足之处 名词解释 1. 谁标记数据集 OpenAI 公司在Upwork平台上和Scale AI公司聘请了大约 40 名承包商为他们标记数据,通过筛选测试(screening tes…

ros基础笔记

1创建工作空间 catkin_init_workspace 将文件夹初始化成ros文件 编译工作空间catkin_make vi ~/.bashrc 加入环境变量bashrc一下在任何终端都生效 catkin_create_pkg learning_communication通讯机制 std_msgs数据结构 rospy roscpp catkin_create_pkg mbot_description ur…

【C++】string类常用接口

目录 一、string类二、string类的常用接口1.string类对象的常见构造2.string类对象的容量操作3.string类对象的访问及遍历操作4.string类对象的修改操作5.string类非成员函数6.vs和g下string结构的说明 一、string类 STL的六大组件: 字符串是表示字符序列的类标准…

E. Train Hard, Win Easy(数学推导 + 前缀和)

Problem - E - Codeforces 这是一个有关竞赛编程的问题。Zibi 是一名竞赛编程教练,有 n 名选手想要备战。培训比赛具有一些不同寻常的规则——每个团队有两名成员和两个问题,每个选手都会编写其中一个问题的代码。当然,一个团队中的人将编写不…

ViveNAS - 一个基于LSM tree的文件存储实现 (一)

1. ViveNAS (GitHub - cocalele/ViveNAS) ViveNAS 是一个开源分布式的网络文件系统(NAS), 具有下面的特点: - 通过不同存储介质的结合,在高性能、低成本间寻找动态的平衡 - 解决数据的长期、低成本存储问题&#xff…

JVM-0428

执行引擎 执行引擎做什么的 执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引…

java基础入门-03

Java基础入门-03 10、字符串10.1.API10.1.1API概述10.1.2如何使用API帮助文档 10.2.String类10.2.1 String类概述10.2.2 String类的特点10.2.3 String类的构造方法10.2.4 创建字符串对象两种方式的区别10.2.5 字符串的比较10.2.5.1 号的作用10.2.5.2 equals方法的作用 10.2.6 用…

java web会话管理

在人机交互过程中,会话管理是指保持用户的整个会话活动的交互与计算机系统跟踪的过程。会话管理分为桌面会话管理、浏览器会话管理、Web会话管理。本书讨论的是Web会话管理(通常指的是session以及Cookie) , 也称为会话跟踪。 会话管理基本原理 使用隐藏…

机器学习笔记 图像特征提取器(卷积变体)的技术发展与演变

一、图像特征提取器简述 图像特征提取器是可用于从图像中学习表示的函数或模块。最常见的特征提取器类型是卷积,其中内核在图像上滑动,允许参数共享和平移不变性。 在深度学习技术的快速发展过程中,基于卷积也演变出来了若干新技术由于图像特征的提取,这里进行了一下简单梳…

[oeasy]python0145_版本控制_git_备份还原

git版本控制 回忆上次内容 上次我们了解了 try 的完全体 try 尝试运行 except 发现异常时运行的代码块 else 没有发现异常时运行的代码块 finally 无论是否发现异常最终都要运行的代码块 发现导入部分 可以再分为两个子模块一个输入 a一个输入 b 可以再拆分么?&…

【Python基础练习100题--第一篇:文件篇】

前言 这些题都是在B站的练习题,链接在这 对于刚学python的新手来说十分的适合, 可以加强和巩固我们的基础。 嘿嘿 一起噶油吧!🍉 🍉1.对学生成绩排序 # 这里对字典进行排序,同事使用到了sorted函数 # 这…

【安全工具】Httpx信息收集

文章目录 前言一、下载二、使用步骤1.帮助文档2.常用命令常用组合命令: 总结 前言 HTTPX 是一个功能强大的 HTTP 客户端工具,用于执行各种网络任务,例如发现 Web 应用程序漏洞、探测域名和端口等。它使用了 retryablehttp 库来运行多个探测器…

[计算机图形学]相机与透镜(前瞻预习/复习回顾)

一、相机 1.成像方法 成像方法有两种,合成和捕捉,我们之前所说的光栅化和光线追踪都属于合成的方法,也就是实际上不存在的东西。而另一种成像方法叫做捕捉成像,也就是把真实世界中存在的一些东西变成照片这就是捕捉成像&#xf…

【量化课程】01_投资与量化投资

文章目录 1.1 什么是投资1.1.1 经济意义上的投资1.1.2 投资的分类1.1.3 金融投资1.1.4 个人投资者投资品种1.1.5 投资VS投机 1.2 股票投资的基本流程1.3 常见的股票投资分析流派1.3.1 投资者分析流派 1.4 什么是量化投资1.4.1 量化投资基本概念1.4.2 量化投资的优势1.4.3 量化投…

C多线程、锁、同步、信号量

文章目录 一 线程函数1.1 创建线程1.2 线程退出1.3 线程回收1.4 线程分离:1.5 其他线程函数1.5.1 线程取消1.5.2 线程ID比较 二 线程同步2.1 互斥锁2.1.1定义2.1.2 初始化2.1.3 销毁2.1.4 加锁 、 常试锁、解锁2.1.5 互斥锁使用 2.2 死锁2.3 如何避免死锁2.4 读写锁…