计算机内存如何工作

作者:Jeff Tyson
computer memory
大多数计算机内存旨在临时存储数据。通过计算机内存图片,了解您的计算机内部。 Brandon Goldman / Getty Images

仔细想想,日常生活中遇到的各种电子内存类型之多令人惊叹。其中许多已成为我们词汇中不可或缺的一部分

您已经知道您面前的计算机有内存。您可能不知道的是,您日常使用的许多电子产品也有某种形式的内存。以下是一些使用内存的物品示例:

广告

在本文中,您将了解为什么有如此多种不同类型的内存以及所有这些术语的含义。在下一页,我们从基础开始:计算机内存究竟有什么作用?

广告

计算机内存基础知识

虽然内存技术上是任何形式的电子存储,但它最常用于指代快速、临时的存储形式。如果您的计算机CPU必须不断访问硬盘驱动器以检索所需的每条数据,那么它的运行速度将非常缓慢。当信息保存在内存中时,CPU可以更快地访问它。大多数内存形式旨在临时存储数据。

CPU根据明确的层次结构访问内存。无论是来自永久存储(硬盘驱动器)还是输入(键盘),大多数数据首先进入随机存取存储器RAM)。然后,CPU将需要访问的数据片段存储起来,通常是在缓存中,并在寄存器中维护某些特殊指令。我们稍后将讨论缓存和寄存器。

广告

计算机中的所有组件,如CPU、硬盘驱动器和操作系统,都作为一个团队协同工作,而内存是这个团队中最基本的部分之一。从您打开计算机的那一刻起,直到您关闭它,您的CPU都在不断使用内存。让我们来看一个典型的场景:

  • 您打开计算机。
  • 计算机从只读存储器ROM)加载数据,并执行加电自检(POST),以确保所有主要组件正常运行。作为此测试的一部分,内存控制器通过快速读/写操作检查所有内存地址,以确保内存芯片中没有错误。读/写意味着数据被写入一个,然后从该位读取。
  • 计算机从ROM加载基本输入/输出系统BIOS)。BIOS提供有关存储设备、启动顺序、安全性、即插即用(自动设备识别)功能以及其他一些项目的最基本信息。
  • 计算机将操作系统(OS)从硬盘驱动器加载到系统的RAM中。通常,操作系统的关键部分只要计算机开着就会保留在RAM中。这使得CPU可以立即访问操作系统,从而增强了整个系统的性能和功能。
  • 当您打开一个应用程序时,它会加载到RAM中。为了节省RAM的使用,许多应用程序最初只加载程序的基本部分,然后根据需要加载其他部分。
  • 应用程序加载后,任何在该应用程序中打开使用的文件也会加载到RAM中。
  • 当您保存文件并关闭应用程序时,文件会被写入指定的存储设备,然后该文件和应用程序将从RAM中清除。

在上面的列表中,每当有东西被加载或打开时,它都会被放入RAM中。这仅仅意味着它被放入计算机的临时存储区域,以便CPU可以更容易地访问该信息。CPU从RAM请求所需数据,处理数据,然后以连续的循环将新数据写回RAM。在大多数计算机中,CPU和RAM之间的数据交换每秒发生数百万次。当应用程序关闭时,它及其附带的任何文件通常会从RAM中清除(删除),为新数据腾出空间。如果更改的文件在被清除之前没有保存到永久存储设备中,它们就会丢失。

关于台式计算机的一个常见问题总是出现:“为什么计算机需要这么多内存系统?”

广告

计算机内存类型

一台典型的计算机有

为什么这么多?这个问题的答案可以告诉您很多关于内存的知识!

广告

快速、强大的CPU需要快速便捷地访问大量数据,以最大限度地提高其性能。如果CPU无法获取所需数据,它就会完全停止并等待。以约1吉赫兹速度运行的现代CPU可以消耗海量数据——每秒可能达到数十亿字节。计算机设计人员面临的问题是,能够跟上1吉赫兹CPU速度的内存极其昂贵——远远超出任何人在大量购买时所能承受的范围。

计算机设计人员通过“分层”内存解决了成本问题——少量使用昂贵内存,然后用大量更便宜的内存作为补充。

当今广泛使用的最便宜的读/写内存形式是硬盘。硬盘提供大量廉价、永久的存储空间。您可以以每兆字节几美分的价格购买硬盘空间,但从硬盘读取一兆字节可能需要相当长的时间(接近一秒)。由于硬盘上的存储空间如此便宜且充足,它构成了CPU内存层次结构的最后阶段,称为虚拟内存

层次结构的下一层是RAM。我们在《RAM如何工作》中详细讨论了RAM,但关于RAM的几点在这里很重要。

CPU的位大小告诉您它一次可以从RAM访问多少字节的信息。例如,16位CPU一次可以处理2字节(1字节=8位,所以16位=2字节),而64位CPU一次可以处理8字节。

兆赫(MHz)是衡量CPU处理速度或时钟周期的单位,每秒百万次。因此,一个32位800MHz的奔腾III处理器理论上可以每秒同时处理4字节,8亿次(根据流水线技术可能更多)!内存系统的目标就是满足这些要求。

仅凭计算机的系统RAM不足以与CPU的速度匹配。这就是为什么您需要缓存(稍后讨论)的原因。然而,RAM越快越好。目前大多数芯片的循环速率为50至70纳秒。读/写速度通常取决于所使用的RAM类型,例如DRAM、SDRAM、RAMBUS。我们将在稍后讨论这些不同类型的内存。

首先,让我们谈谈系统RAM。

广告

系统RAM

系统RAM的速度由总线宽度总线速度控制。总线宽度指可以同时发送到CPU的位数,总线速度指每秒可以发送一组位的次数。每当数据从内存传输到CPU时,就会发生一个总线周期。例如,一个100MHz 32位总线理论上能够每秒向CPU发送4字节(32位除以8 = 4字节)的数据1亿次,而一个66MHz 16位总线每秒可以发送2字节的数据6600万次。如果您计算一下,会发现仅仅将总线宽度从16位更改为32位,并将速度从66MHz更改为100MHz,在我们的示例中,每秒传输到CPU的数据量就可以增加三倍(4亿字节对比1.32亿字节)。

实际上,RAM通常不会以最佳速度运行。延迟彻底改变了这种情况。延迟是指读取一位信息所需的时钟周期数。例如,额定100MHz的RAM能够在0.00000001秒内发送一个位,但可能需要0.00000005秒才能开始读取第一个位的过程。为了补偿延迟,CPU使用一种称为突发模式的特殊技术。

广告

突发模式依赖于CPU请求的数据将存储在连续内存单元中的预期。内存控制器预计CPU正在处理的任何内容都将继续来自同一系列内存地址,因此它会一起读取几个连续的数据位。这意味着只有第一个位会受到延迟的全部影响;读取后续位所需的时间会显著减少。内存的额定突发模式通常表示为由破折号分隔的四个数字。第一个数字表示开始读取操作所需的时钟周期数;第二个、第三个和第四个数字表示读取行中每个连续位(也称为字线)所需的周期数。例如:5-1-1-1告诉您读取第一个位需要五个周期,之后每个位需要一个周期。显然,这些数字越低,内存的性能就越好。

突发模式通常与流水线技术结合使用,后者是另一种最小化延迟影响的方法。流水线技术将数据检索组织成一种流水线式的过程。内存控制器同时从内存中读取一个或多个字,将当前字或字发送给CPU,并向内存单元写入一个或多个字。结合使用,突发模式和流水线技术可以显著减少延迟造成的滞后。

那么,为什么不购买您能买到的最快、最宽的内存呢?内存总线的速度和宽度应与系统总线匹配。您可以在66MHz的系统中使用设计为100MHz运行的内存,但它将以总线66MHz的速度运行,因此没有优势,而且32位内存不适合16位总线。

即使总线又宽又快,数据从内存卡到达CPU的时间仍然比CPU实际处理数据的时间要长。这就是缓存的作用。

广告

缓存和寄存器

缓存旨在通过使CPU最常使用的数据立即可用来缓解这一瓶颈。这是通过在CPU内部构建少量内存来实现的,这部分内存被称为主缓存一级缓存。一级缓存非常小,通常介于2千字节(KB)到64KB之间。

二级缓存二级缓存通常位于靠近CPU的内存卡上。二级缓存与CPU有直接连接。主板上一个专用的集成电路,即L2控制器,负责调节CPU对二级缓存的使用。根据CPU的不同,二级缓存的大小从256KB到2兆字节(MB)不等。在大多数系统中,CPU所需的数据大约95%的时间是从缓存中访问的,这大大减少了CPU等待主内存数据时所需的开销。

广告

一些廉价系统完全取消了二级缓存。许多高性能CPU现在将二级缓存直接内置到CPU芯片中。因此,二级缓存的大小以及它是否板载(在CPU上)是决定CPU性能的主要因素。有关缓存的更多详细信息,请参阅《缓存如何工作》

一种特殊类型的RAM静态随机存取存储器(SRAM),主要用于缓存。SRAM的每个存储单元通常使用四到六个晶体管。它有一个称为双稳态多谐振荡器的外部阵列,可在两种状态之间切换或翻转。这意味着它不像DRAM那样需要持续刷新。只要有电,每个单元都会保持其数据。无需持续刷新,SRAM可以极快地运行。但每个单元的复杂性使其作为标准RAM使用成本过高。

缓存中的SRAM可以是异步的同步的。同步SRAM旨在精确匹配CPU的速度,而异步SRAM则不然。这一点点时序差异会对性能产生影响。匹配CPU的时钟速度是件好事,所以始终寻找同步SRAM。(有关各种RAM类型的更多信息,请参阅《RAM如何工作》。)

内存的最后一步是寄存器。这些是直接内置于CPU中的内存单元,包含CPU所需的特定数据,特别是算术逻辑单元(ALU)。作为CPU本身不可或缺的一部分,它们由直接向CPU发送信息的编译器控制。有关寄存器的详细信息,请参阅《微处理器如何工作》

有关计算机内存的便捷可打印指南,您可以打印十万个为什么《计算机内存术语大全》

有关计算机内存及相关主题的更多信息,请查看下一页的链接。

广告

广告

加载中...