讲述者：在这一课中,
我们将讨论随机存取内存, 简称为系统内的内存, 以及我们如何寻址该内存｡
现在, 首先, 在我们讨论如何寻址内存之前,
我们需要更好地理解内存是什么, 以及它在计算机系统中为我们做了什么｡
之前, 当我们谈到处理器时,
我们谈到了处理器完成所有计算的事实, 但在执行这些计算之前, 它必须有一个存储数据和指令的地方｡
在处理器本身内部,
它有一个非常高速的内存,
称为缓存｡
这个缓存是一个非常小的空间量,
但它是非常快的｡
现在, 当你用完缓存空间时,
你系统中的下一种内存类型就是我们所说的随机存取内存,
或系统内存｡
现在, 这个内存仍然很快,
但远不如缓存内存快｡
现在, 最终发生的是处理器将首先使用缓存内存,
当它使用来自该缓存内存的数据时, 新信息将从系统内存移动到缓存中｡
它将此作为一个流水线进程不断移动,
从系统内存到缓存, 然后使用CPU进行处理和执行｡
现在, 除了这个系统内存, 我们还有一个叫做存储的东西｡
存储是指硬盘驱动器､ USB驱动器､
CD-ROM和DVD之类的东西｡
这些大容量存储设备将能够容纳比内存更多的数据,
但它们的速度要慢得多｡
所以, 如果我想在我的系统上加载一个新的PowerPoint,
它通常存储在我的硬盘上, 这是一个大容量存储设备｡
当我告诉我的电脑,
我想读, 处理器将发送一个信号到硬盘驱动器, 说, 这些数据在哪里？
然后, 这些数据从硬盘驱动器移动到系统内存｡
从系统内存中,
一小部分可以被带到缓存中, 然后由处理器处理｡
这就是所有这些在你的系统中如何协同工作的方式｡
所以, 我希望你记住这一点,
当你想到数据存储在系统中的不同位置时｡
我们有大容量存储设备,
这更像是一个永久的存储区域｡
当您关闭计算机时,
这些大容量存储设备上的数据仍将保留｡
但是我们也有这个临时存储区域称为RAM,
或系统内存, 这是一个被认为是非持久性存储的区域,
因为当您关闭计算机时, RAM中的所有内容都会丢失｡
因此, 当我们处理不同的文件时,
我们将临时将它们放置到RAM中, 这样,
我们可以以更快的方式处理它们, 然后当我们处理完它们时,
它们将被保存回硬盘驱动器,
这是永久存储设备｡
所以, 当你想到系统内存或随机存取存储器,
称为RAM, 这是一个动态和不断变化的领域,
它的运行速度非常快, 与我们的大容量存储设备相比, 如硬盘驱动器和CD-ROM｡
为了给你一个物理世界的类比,
想想你的办公室｡
在你的办公室里, 你有一张桌子,
在你的桌子里, 你只有这么多的空间, 但是当东西在你的桌子上的时候,
你可以很快地拿到它们,
因为它们已经在外面了, 你可以伸手去摸它们｡
现在, 除了你桌子上打开的三四个文件外,
你的文件柜里可能还有几百个文件｡
现在, 文件柜更像是你的硬盘,
它是你的大容量存储设备, 而你的桌面更像是你的RAM｡
所以, 当东西在RAM中时,
它们更容易访问, 访问速度更快, 并且您可以在给定的时间内使用它们｡
但是当你完成它的时候,
你应该把它折叠起来, 放在文件柜里,
这样当你一周, 两周, 或者一年后需要它的时候, 它就在那里了, 这样你的桌面上就有更多的空间让你拿出其他文件来处理这些文件｡
这正是RAM的用途,
它是一个不断变化和发展的临时空间｡
因此, 由于我们的大容量存储设备非常慢, 我们经常想把更多的东西放入RAM中,
但RAM是有限的｡
如果我们看看你的硬盘,
你可能有一个500千兆字节,
或1兆字节, 甚至4兆字节的大容量存储设备, 但当你看你的内存,
你可能有8千兆字节, 或16千兆字节, 或者, 如果你幸运的话, 甚至可能有32千兆字节的空间｡
这意味着, 您的可用RAM比硬盘少得多｡
所以, 内存的作用是它作为一个磁盘缓存｡
这样, 我们就可以将文件从光盘拉到内存中,
对它们进行处理, 然后在完成后将它们替换回大容量存储设备｡
这使得RAM作为一个更快的临时存储区域,
用于存储硬盘中最近使用和常用的数据,
以使我们能够更快地进行操作｡
这是因为RAM将能够非常非常快地查找数据,
而传统的硬盘必须真正旋转磁盘,
直到找到正确的部分, 然后将数据从其中取出, 这要慢得多｡
我们称之为机械系统, 而当我们使用RAM时,
我们使用的是一个电子系统,
它可以以近乎瞬时的速度访问RAM的任何部分｡
这是因为RAM被认为是固态设备,
并且没有过多的加载时间,
就像你使用机械设备一样, 比如硬盘驱动器, DVD, CD甚至蓝光光盘｡
这意味着我们可以以纳秒的速度运行,
也就是数十亿秒,
而您的硬盘和其他磁性介质将被认为非常慢, 并以数千秒的速度运行, 称为毫秒｡
所以, 你可以看到这里的速度有很大的差异,
这就是为什么我们想把我们的文件放在RAM中,
而我们正在处理它｡
所以, 作为一名技术人员,
你会发现, 在升级系统时,
你最常做的事情之一, 实际上是升级RAM, 并将其从4GB升级到8GB, 或者从8GB升级到16GB,
或者从16GB升级到32GB｡
通过增加RAM的数量,
您可以真正加快系统的速度, 因为您正在消除必须从硬盘驱动器读取和写入尽可能多的数据的障碍,
能够打开更多的文件, 并能够在任何给定的时间做更多的工作｡
好了, 现在我们已经介绍了RAM的基础知识,
以及为什么我们需要使用这个系统内存,
而不是依赖于我们的硬盘驱动器的一切,
重要的是要谈谈RAM的限制, 基于其寻址｡
现在, 当处理器需要进入RAM并获取某些内容时,
这被称为寻址内存｡
这是因为在RAM内部, 以及它所拥有的存储器中,
每一个都有一个不同的唯一地址,
这就是我们引用存储在特定RAM中的数据的方式｡
现在, 在处理器或CPU和内存之间,
我们有一个内存控制器, 在内存控制器和处理器之间,
我们有一个总线｡
现在, 总线只是我们传输数据的一个通道｡
内存控制器就像一个交通警察,
指挥交通, 告诉CPU和处理器如何访问内存的不同部分｡
现在, 当你看这辆巴士时,
它实际上有两部分｡
这里有一个用于数据的路径,
能够发送和接收信息, 然后还有一个地址路径, 它可以帮助我们确定数据在内存中的位置｡
因此, 当您查看数据通路或数据总线的宽度时,
这将决定每个时钟周期可以传输多少信息｡
现在, 如果你使用单通道内存控制器,
你的数据总线通常是64位宽的, 这在大多数现代计算机上都会发生｡
现在, 除此之外,
当我们看地址总线时,
还有一个与之相关的宽度,
可以是32位或64位｡
这取决于CPU可以跟踪多少位置,
并能够通过正确寻址来访问数据｡
现在, 如果您使用的是32位CPU或基于x86的CPU,
则只能使用32位地址通过内存总线访问数据｡
现在, 正因为如此,
你有大约40亿个项目可以被寻址,
这被称为4GB的数据, 这是因为你有2到32位可用来寻址这些信息｡
现在, 如果你使用的是64位CPU,
另一方面, 你有2的64次方个可能的地址位置,
这大约计算出184个可能的选项｡
现在, 就内存而言,
我们称之为16艾字节的数据, 这意味着,
如果我们使用64位处理器,
我们可以处理大量数据｡
现在我们的大多数系统都不会使用16
EB的RAM, 因为那太贵了, 而且大多数主板上也没有足够的空间来插入那么多内存, 但这是我们的上限｡
真正重要的是,
如果你使用的是x86或32位处理器,
你最多只能寻址4GB的内存,
这对现代计算来说是一个巨大的限制, 因为大多数现代操作系统至少需要4GB的RAM, 才能充分运行｡
另一方面,
如果您使用的是64位处理器或x64架构,
这意味着您可以一次访问超过4GB的RAM, 这就是为什么您会在具有8, 16,
32或64 GB RAM的系统中看到这一点, 因为它们可以访问所有的RAM,
这使它们具有更好的性能｡
这也是为什么对于大多数现代计算机和应用程序,
您希望选择64位处理器而不是32位处理器的另一个原因｡