计算机内存:不同类型的内存!

欢迎回到Digilent博客!

计算机有几种不同的方法来记录所提供的信息。世界上大多数人,包括我在内,可能会认为只有两种内存:计算机拥有的“随机存取内存”(RAM),以及你可以放在u盘里,放在背包里随身携带的闪存。然而,尽管知道这两种类型的记忆并不是全部,但我个人的经历是,试图学习更多的东西通常会导致我的眼睛立刻变得呆滞;这对于实际学习是毫无帮助的。请记住这一点,我们将对不同类型的RAM做一个广泛的概述,希望不会产生釉上效应。

RAM背后的思想是,你可以访问内存的某些部分,在相同的时间,你需要访问内存中的不同位置。因此,您可以以随机的顺序访问所有内存,而不会观察到总体访问时间比以不同的顺序访问内存要慢。我们将关注的是两种主要类型的RAM:动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)。

这两种类型的内存都是易失性的。这意味着,如果它们与电源断开连接,它们存储的任何信息最终都会丢失。对于SRAM来说,这种内存丢失或多或少是瞬间发生的,而对于DRAM来说,内存将在几秒钟内丢失。这两种类型的记忆丧失的差异,以及它们之间的所有其他差异,源于它们的内部结构。

目前,大多数内存都是以gb (GiB)的形式提供的。这意味着在16gib的RAM中有超过160亿个字节,每个字节被分解成8个独立的位。正是这些单独的位元存储在一个小电路中。对于DRAM,每个电路只包含一个晶体管和一个电容。存储在电容器内的电荷决定了存储器的位是二进制的‘0’还是‘1’。这些电容使这个RAM是动态的。

动态RAM的基本原理图
动态RAM的基本原理图。

从本质上讲,电容器总是慢慢地失去一些电荷。因为这是非常尴尬的失去信息,仅仅是因为它(字面意思)泄露,计时器电路纳入时常DRAM芯片刷新,使用外部资源将每个电容器回到他们完全充电(或不带电,如果他们没有之前)状态。正是这种电容保持电荷并缓慢泄漏的特性,使得它们正在存储的任何信息在电源关闭后的几秒钟内仍有可能可用。

另一方面,每一个电路组成了SRAM的一个单独的位,永远不需要刷新。SRAM中的电路由6个mosfet组成,排列在所谓的a触发器,在存储芯片连接电源的整个时间内,它将很容易地保持正确的带电或不带电状态。由于SRAM不需要刷新,因此可以随时访问,它通常也比DRAM快。

不幸的是,SRAM有一个缺点,这就是为什么你电脑里的RAM是DRAM而不是SRAM。SRAM的6个必需组件比DRAM的2个必需组件更贵。至少就我所知,市面上还没有电脑使用SRAM而不是DRAM作为它们的“RAM”;制造商根本不生产。

静态RAM的基本原理图
静态RAM的基本原理图关于人字拖的勤奋学习模块

但让我们把焦点放在Digilent的董事会上。像Basys™3这样的系统板只使用闪存,它比RAM慢,但实际上永远不会丢失存储在其中的信息(闪存驱动器!)其他Digilent板使用多种类型的内存。例如,chipKIT™板同时使用闪存和SRAM。ZYBO板使用闪存和DDR3内存,而Nexys™4使用闪存和CellularRAM®。这就引出了一个重要的问题:什么是CellularRAM®和DDR3?

CellularRAM®是美光®开发的一种伪静态RAM (PSRAM)。虽然在技术上仍然是DRAM, CellularRAM®将定时器和刷新电路合并到DRAM中,因此它能够在没有任何外部电路的情况下刷新电容上的电荷(尽管作为RAM它仍然需要电源)。然而,这个内部刷新允许主处理器将这个RAM视为伪sram,因为就处理器而言,CellularRAM总是可用来读写的。

Nexys 4上的CellularRAM芯片
Nexys 4上的CellularRAM芯片。

另一方面,DDR3是第三代双日期速率同步DRAM (DDR SDRAM)。回到简单的英语,这意味着它是一种使用时钟信号(名称中的同步部分)来控制信息从存储器芯片读取(或写入)的速率的DRAM。DDR的特殊之处在于它如何通过I/O时钟信号从系统板传输数据。对于大多数元件,如移位寄存器,数据只在时钟的一个边上传输:上升边或下降边。DDR使用一种称为“双泵”的技术。这意味着它同时在时钟信号的上升沿和下降沿传输数据,允许以特定速率传输的数据量是只在单个时钟边缘传输数据的数据量的两倍。第三代DDR有一个更大的“预取缓冲区”,允许它在传输到主计算机之前从内存中收集更多的数据,有效地将数据传输增加到每个时钟周期单字传输的8倍。

ZYBO上的DDR3 SDRAM芯片
ZYBO上的DDR3 SDRAM芯片。

有了这么大的数据传输容量,随着DDR4的出现,它能够以比DDR3更快的速度传输8块数据,SDRAM能够以与静态RAM相当的速度传输数据。如果DRAM更便宜,速度也快,那为什么还要用SRAM呢?这是因为这两种类型的RAM的功耗。因为DRAM需要不断刷新电容上的电荷,它会消耗大量的电力来保持工作,而如果你使用的是从不需要刷新的SRAM,它的电力消耗几乎是零。对于像chipKIT™这样只能使用大约1A的板,SRAM与它的低功耗比DRAM几乎是必需的。

如果您有任何问题,请随时给我们评论!

你已经投过票。

关于詹姆斯·科尔文

我喜欢的最大的事情正在学习新事物。尤其是涉及某种类型的技术的东西;计算机组件,有趣的小工具,游戏,编码技巧等。我喜欢和我的两个儿子一起度过时间,并与我们的朋友一起出去玩。在我正常的工作日期间,我管理了数字论坛和北美支持团队。

查看所有由James Colvin→发布的帖子

关于“计算机内存:不同类型的内存之间的区别!”

  1. 我认为SRAM和DRAM之间的重要区别是随机访问时间。SRAM在提供地址到任何位置后立即响应(在下一个周期中)。SDRAM不一定。对于第一个数据,在传输之前要经过两个周期,因此提供了突发模式,允许下一个数据按顺序传输,如果需要,没有延迟。

发表评论

您的电子邮件地址将不会被公布。必填字段被标记