WEBVTT

00:00.120 --> 00:00.990
讲述者：在这一课中,

00:00.990 --> 00:07.920
我们将讨论随机存取内存, 简称为系统内的内存, 以及我们如何寻址该内存｡

00:07.920 --> 00:10.800
现在, 首先, 在我们讨论如何寻址内存之前,

00:10.800 --> 00:16.200
我们需要更好地理解内存是什么, 以及它在计算机系统中为我们做了什么｡

00:16.200 --> 00:18.270
之前, 当我们谈到处理器时,

00:18.270 --> 00:27.210
我们谈到了处理器完成所有计算的事实, 但在执行这些计算之前, 它必须有一个存储数据和指令的地方｡

00:27.210 --> 00:28.800
在处理器本身内部,

00:28.800 --> 00:30.720
它有一个非常高速的内存,

00:30.720 --> 00:32.310
称为缓存｡

00:32.310 --> 00:34.650
这个缓存是一个非常小的空间量,

00:34.650 --> 00:36.780
但它是非常快的｡

00:36.780 --> 00:38.730
现在, 当你用完缓存空间时,

00:38.730 --> 00:42.900
你系统中的下一种内存类型就是我们所说的随机存取内存,

00:42.900 --> 00:44.640
或系统内存｡

00:44.640 --> 00:46.470
现在, 这个内存仍然很快,

00:46.470 --> 00:49.380
但远不如缓存内存快｡

00:49.380 --> 00:51.300
现在, 最终发生的是处理器将首先使用缓存内存,

00:51.300 --> 00:59.160
当它使用来自该缓存内存的数据时, 新信息将从系统内存移动到缓存中｡

00:59.160 --> 01:01.710
它将此作为一个流水线进程不断移动,

01:01.710 --> 01:07.470
从系统内存到缓存, 然后使用CPU进行处理和执行｡

01:07.470 --> 01:11.340
现在, 除了这个系统内存, 我们还有一个叫做存储的东西｡

01:11.340 --> 01:13.680
存储是指硬盘驱动器､ USB驱动器､

01:13.680 --> 01:17.190
CD-ROM和DVD之类的东西｡

01:17.190 --> 01:21.030
这些大容量存储设备将能够容纳比内存更多的数据,

01:21.030 --> 01:24.360
但它们的速度要慢得多｡

01:24.360 --> 01:27.690
所以, 如果我想在我的系统上加载一个新的PowerPoint,

01:27.690 --> 01:31.410
它通常存储在我的硬盘上, 这是一个大容量存储设备｡

01:31.410 --> 01:32.430
当我告诉我的电脑,

01:32.430 --> 01:38.610
我想读, 处理器将发送一个信号到硬盘驱动器, 说, 这些数据在哪里？

01:38.610 --> 01:42.120
然后, 这些数据从硬盘驱动器移动到系统内存｡

01:42.120 --> 01:43.470
从系统内存中,

01:43.470 --> 01:48.600
一小部分可以被带到缓存中, 然后由处理器处理｡

01:48.600 --> 01:51.960
这就是所有这些在你的系统中如何协同工作的方式｡

01:51.960 --> 01:53.580
所以, 我希望你记住这一点,

01:53.580 --> 01:56.850
当你想到数据存储在系统中的不同位置时｡

01:56.850 --> 01:58.320
我们有大容量存储设备,

01:58.320 --> 02:00.390
这更像是一个永久的存储区域｡

02:00.390 --> 02:01.680
当您关闭计算机时,

02:01.680 --> 02:04.830
这些大容量存储设备上的数据仍将保留｡

02:04.830 --> 02:07.470
但是我们也有这个临时存储区域称为RAM,

02:07.470 --> 02:10.680
或系统内存, 这是一个被认为是非持久性存储的区域,

02:10.680 --> 02:17.010
因为当您关闭计算机时, RAM中的所有内容都会丢失｡

02:17.010 --> 02:19.140
因此, 当我们处理不同的文件时,

02:19.140 --> 02:21.810
我们将临时将它们放置到RAM中, 这样,

02:21.810 --> 02:25.500
我们可以以更快的方式处理它们, 然后当我们处理完它们时,

02:25.500 --> 02:27.240
它们将被保存回硬盘驱动器,

02:27.240 --> 02:29.700
这是永久存储设备｡

02:29.700 --> 02:32.610
所以, 当你想到系统内存或随机存取存储器,

02:32.610 --> 02:33.600
称为RAM, 这是一个动态和不断变化的领域,

02:33.600 --> 02:42.300
它的运行速度非常快, 与我们的大容量存储设备相比, 如硬盘驱动器和CD-ROM｡

02:42.300 --> 02:45.210
为了给你一个物理世界的类比,

02:45.210 --> 02:46.950
想想你的办公室｡

02:46.950 --> 02:48.690
在你的办公室里, 你有一张桌子,

02:48.690 --> 02:52.650
在你的桌子里, 你只有这么多的空间, 但是当东西在你的桌子上的时候,

02:52.650 --> 02:53.940
你可以很快地拿到它们,

02:53.940 --> 02:57.180
因为它们已经在外面了, 你可以伸手去摸它们｡

02:57.180 --> 03:00.600
现在, 除了你桌子上打开的三四个文件外,

03:00.600 --> 03:04.170
你的文件柜里可能还有几百个文件｡

03:04.170 --> 03:05.220
现在, 文件柜更像是你的硬盘,

03:05.220 --> 03:10.560
它是你的大容量存储设备, 而你的桌面更像是你的RAM｡

03:10.560 --> 03:11.970
所以, 当东西在RAM中时,

03:11.970 --> 03:16.350
它们更容易访问, 访问速度更快, 并且您可以在给定的时间内使用它们｡

03:16.350 --> 03:17.550
但是当你完成它的时候,

03:17.550 --> 03:19.530
你应该把它折叠起来, 放在文件柜里,

03:19.530 --> 03:29.400
这样当你一周, 两周, 或者一年后需要它的时候, 它就在那里了, 这样你的桌面上就有更多的空间让你拿出其他文件来处理这些文件｡

03:29.400 --> 03:31.080
这正是RAM的用途,

03:31.080 --> 03:34.830
它是一个不断变化和发展的临时空间｡

03:34.830 --> 03:40.440
因此, 由于我们的大容量存储设备非常慢, 我们经常想把更多的东西放入RAM中,

03:40.440 --> 03:41.970
但RAM是有限的｡

03:41.970 --> 03:43.380
如果我们看看你的硬盘,

03:43.380 --> 03:45.120
你可能有一个500千兆字节,

03:45.120 --> 03:48.870
或1兆字节, 甚至4兆字节的大容量存储设备, 但当你看你的内存,

03:48.870 --> 03:57.180
你可能有8千兆字节, 或16千兆字节, 或者, 如果你幸运的话, 甚至可能有32千兆字节的空间｡

03:57.180 --> 04:01.650
这意味着, 您的可用RAM比硬盘少得多｡

04:01.650 --> 04:05.520
所以, 内存的作用是它作为一个磁盘缓存｡

04:05.520 --> 04:07.890
这样, 我们就可以将文件从光盘拉到内存中,

04:07.890 --> 04:12.960
对它们进行处理, 然后在完成后将它们替换回大容量存储设备｡

04:12.960 --> 04:16.020
这使得RAM作为一个更快的临时存储区域,

04:16.020 --> 04:18.780
用于存储硬盘中最近使用和常用的数据,

04:18.780 --> 04:22.230
以使我们能够更快地进行操作｡

04:22.230 --> 04:25.800
这是因为RAM将能够非常非常快地查找数据,

04:25.800 --> 04:27.990
而传统的硬盘必须真正旋转磁盘,

04:27.990 --> 04:34.110
直到找到正确的部分, 然后将数据从其中取出, 这要慢得多｡

04:34.110 --> 04:37.230
我们称之为机械系统, 而当我们使用RAM时,

04:37.230 --> 04:39.030
我们使用的是一个电子系统,

04:39.030 --> 04:43.050
它可以以近乎瞬时的速度访问RAM的任何部分｡

04:43.050 --> 04:44.880
这是因为RAM被认为是固态设备,

04:44.880 --> 04:46.260
并且没有过多的加载时间,

04:46.260 --> 04:53.700
就像你使用机械设备一样, 比如硬盘驱动器, DVD, CD甚至蓝光光盘｡

04:53.700 --> 04:55.980
这意味着我们可以以纳秒的速度运行,

04:55.980 --> 04:57.420
也就是数十亿秒,

04:57.420 --> 05:06.990
而您的硬盘和其他磁性介质将被认为非常慢, 并以数千秒的速度运行, 称为毫秒｡

05:06.990 --> 05:09.120
所以, 你可以看到这里的速度有很大的差异,

05:09.120 --> 05:11.130
这就是为什么我们想把我们的文件放在RAM中,

05:11.130 --> 05:12.540
而我们正在处理它｡

05:12.540 --> 05:13.620
所以, 作为一名技术人员,

05:13.620 --> 05:14.490
你会发现, 在升级系统时,

05:14.490 --> 05:21.030
你最常做的事情之一, 实际上是升级RAM, 并将其从4GB升级到8GB, 或者从8GB升级到16GB,

05:21.030 --> 05:26.340
或者从16GB升级到32GB｡

05:26.340 --> 05:27.660
通过增加RAM的数量,

05:27.660 --> 05:34.080
您可以真正加快系统的速度, 因为您正在消除必须从硬盘驱动器读取和写入尽可能多的数据的障碍,

05:34.080 --> 05:38.550
能够打开更多的文件, 并能够在任何给定的时间做更多的工作｡

05:38.550 --> 05:40.920
好了, 现在我们已经介绍了RAM的基础知识,

05:40.920 --> 05:43.020
以及为什么我们需要使用这个系统内存,

05:43.020 --> 05:45.360
而不是依赖于我们的硬盘驱动器的一切,

05:45.360 --> 05:49.680
重要的是要谈谈RAM的限制, 基于其寻址｡

05:49.680 --> 05:53.280
现在, 当处理器需要进入RAM并获取某些内容时,

05:53.280 --> 05:55.860
这被称为寻址内存｡

05:55.860 --> 05:59.490
这是因为在RAM内部, 以及它所拥有的存储器中,

05:59.490 --> 06:01.650
每一个都有一个不同的唯一地址,

06:01.650 --> 06:06.180
这就是我们引用存储在特定RAM中的数据的方式｡

06:06.180 --> 06:09.210
现在, 在处理器或CPU和内存之间,

06:09.210 --> 06:13.020
我们有一个内存控制器, 在内存控制器和处理器之间,

06:13.020 --> 06:15.420
我们有一个总线｡

06:15.420 --> 06:18.330
现在, 总线只是我们传输数据的一个通道｡

06:18.330 --> 06:21.060
内存控制器就像一个交通警察,

06:21.060 --> 06:26.550
指挥交通, 告诉CPU和处理器如何访问内存的不同部分｡

06:26.550 --> 06:27.630
现在, 当你看这辆巴士时,

06:27.630 --> 06:29.490
它实际上有两部分｡

06:29.490 --> 06:31.200
这里有一个用于数据的路径,

06:31.200 --> 06:38.970
能够发送和接收信息, 然后还有一个地址路径, 它可以帮助我们确定数据在内存中的位置｡

06:38.970 --> 06:42.630
因此, 当您查看数据通路或数据总线的宽度时,

06:42.630 --> 06:47.340
这将决定每个时钟周期可以传输多少信息｡

06:47.340 --> 06:49.890
现在, 如果你使用单通道内存控制器,

06:49.890 --> 06:55.950
你的数据总线通常是64位宽的, 这在大多数现代计算机上都会发生｡

06:55.950 --> 06:56.783
现在, 除此之外,

06:56.783 --> 06:58.650
当我们看地址总线时,

06:58.650 --> 07:00.720
还有一个与之相关的宽度,

07:00.720 --> 07:04.140
可以是32位或64位｡

07:04.140 --> 07:06.570
这取决于CPU可以跟踪多少位置,

07:06.570 --> 07:11.010
并能够通过正确寻址来访问数据｡

07:11.010 --> 07:15.540
现在, 如果您使用的是32位CPU或基于x86的CPU,

07:15.540 --> 07:21.210
则只能使用32位地址通过内存总线访问数据｡

07:21.210 --> 07:22.043
现在, 正因为如此,

07:22.043 --> 07:24.900
你有大约40亿个项目可以被寻址,

07:24.900 --> 07:33.060
这被称为4GB的数据, 这是因为你有2到32位可用来寻址这些信息｡

07:33.060 --> 07:36.180
现在, 如果你使用的是64位CPU,

07:36.180 --> 07:40.200
另一方面, 你有2的64次方个可能的地址位置,

07:40.200 --> 07:44.340
这大约计算出184个可能的选项｡

07:44.340 --> 07:45.480
现在, 就内存而言,

07:45.480 --> 07:48.450
我们称之为16艾字节的数据, 这意味着,

07:48.450 --> 07:50.610
如果我们使用64位处理器,

07:50.610 --> 07:53.160
我们可以处理大量数据｡

07:53.160 --> 07:54.510
现在我们的大多数系统都不会使用16

07:54.510 --> 08:05.100
EB的RAM, 因为那太贵了, 而且大多数主板上也没有足够的空间来插入那么多内存, 但这是我们的上限｡

08:05.100 --> 08:06.240
真正重要的是,

08:06.240 --> 08:09.870
如果你使用的是x86或32位处理器,

08:09.870 --> 08:11.160
你最多只能寻址4GB的内存,

08:11.160 --> 08:23.250
这对现代计算来说是一个巨大的限制, 因为大多数现代操作系统至少需要4GB的RAM, 才能充分运行｡

08:23.250 --> 08:24.083
另一方面,

08:24.083 --> 08:25.710
如果您使用的是64位处理器或x64架构,

08:25.710 --> 08:31.860
这意味着您可以一次访问超过4GB的RAM, 这就是为什么您会在具有8, 16,

08:31.860 --> 08:35.370
32或64 GB RAM的系统中看到这一点, 因为它们可以访问所有的RAM,

08:35.370 --> 08:41.460
这使它们具有更好的性能｡

08:41.460 --> 08:44.700
这也是为什么对于大多数现代计算机和应用程序,

08:44.700 --> 08:49.233
您希望选择64位处理器而不是32位处理器的另一个原因｡
