WEBVTT

00:00.120 --> 00:00.990
ナレーター：このレッスンでは､

00:00.990 --> 00:03.390
ランダム・アクセス・メモリー（単にシステム内のメモリーと呼ばれる）と､

00:03.390 --> 00:07.920
そのメモリーの扱い方についてお話しします｡

00:07.920 --> 00:10.800
さて､ まずメモリーの扱い方について話す前に､ メモリーとは何か､

00:10.800 --> 00:13.230
そしてコンピューター・システムの中でメモリーがしてくれることとは何かについて､

00:13.230 --> 00:16.200
より深く理解する必要がある｡

00:16.200 --> 00:18.270
さて､ 以前プロセッサーの話をしたときに､

00:18.270 --> 00:27.210
プロセッサーはすべての計算を行うが､ その計算を行う前にデータや命令を格納する場所が必要だという話をした｡

00:27.210 --> 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:40.890
システムにある次のタイプのメモリは､ ランダム・アクセス・メモリ､

00:40.890 --> 00:44.640
あるいはシステム・メモリと呼ばれるものになる｡

00:44.640 --> 00:46.470
さて､ このメモリはまだ高速だが､

00:46.470 --> 00:49.380
キャッシュメモリほどではない｡

00:49.380 --> 00:53.370
そして､ そのキャッシュ・メモリのデータを使用するにつれて､

00:53.370 --> 00:59.160
新しい情報がシステム・メモリからキャッシュに移動する｡

00:59.160 --> 01:01.710
そして､ パイプライン・プロセスとして､

01:01.710 --> 01:03.780
システム・メモリーからキャッシュに移動し､

01:03.780 --> 01:07.470
CPUを使って処理され実行される｡

01:07.470 --> 01:09.270
さて､ このシステム・メモリのほかに､

01:09.270 --> 01:11.340
ストレージと呼ばれるものがある｡

01:11.340 --> 01:13.680
ストレージとは､ ハードドライブ､ USBドライブ､

01:13.680 --> 01:17.190
CD-ROM､ DVDなどのことだ｡

01:17.190 --> 01:18.990
これらの大容量記憶装置は､

01:18.990 --> 01:22.320
メモリよりも多くのデータを保持することができるが､

01:22.320 --> 01:24.360
はるかに遅い｡

01:24.360 --> 01:27.690
だから､ 新しいパワーポイントをシステムにロードしたい場合､

01:27.690 --> 01:31.410
通常は大容量記憶装置であるハードディスクに保存される｡

01:31.410 --> 01:33.600
私がコンピューターに「これを読みたい」と言うと､

01:33.600 --> 01:38.610
プロセッサーはハードドライブに信号を送り､ 「そのデータはどこにある？

01:38.610 --> 01:42.120
その後､ データはハードディスクからシステム・メモリに移動する｡

01:42.120 --> 01:43.470
そしてシステム・メモリから､

01:43.470 --> 01:44.790
その小片をキャッシュに取り込み､

01:44.790 --> 01:48.600
プロセッサで処理することができる｡

01:48.600 --> 01:51.960
これが､ あなたのシステム内部で､ これらすべてがどのように機能するかということだ｡

01:51.960 --> 01:55.080
だから､ データがシステムに保存されるさまざまな場所について考えるとき､

01:55.080 --> 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
コンピュータの電源を切ると､

02:07.470 --> 02:17.010
RAMにあるものはすべて消えてしまうからだ｡

02:17.010 --> 02:19.140
そうすることで､ より速く作業することができ､

02:19.140 --> 02:29.700
作業が終わったら､ 永久記憶装置であるハードディスクに保存することができる｡

02:29.700 --> 02:33.600
RAMとして知られるシステム・メモリーやランダム・アクセス・メモリーについて考えるとき､

02:33.600 --> 02:39.900
これはダイナミックで常に変化する領域であり､ ハード・ドライブやCD-ROMのような大容量記憶装置と比べると､

02:39.900 --> 02:42.300
実に高速に動作する｡

02:42.300 --> 02:44.040
これが物理的な世界でどのようなものかを例えるなら､

02:44.040 --> 02:46.950
あなたのオフィスを思い浮かべてほしい｡

02:46.950 --> 02:48.690
オフィスには机があり､

02:48.690 --> 02:53.940
机の上には限られたスペースしかありませんが､ 机の上に物があれば､

02:53.940 --> 02:57.180
すぐに手に取ることができます｡

02:57.180 --> 02:58.950
机の上で開いている3つか4つのファイルに加え､

02:58.950 --> 03:04.170
ファイリング・キャビネットの中にはおそらく何百ものファイルが眠っているはずだ｡

03:04.170 --> 03:06.570
デスクトップがRAMのようなものであるのに対し､

03:06.570 --> 03:10.560
ファイリング・キャビネットはハードディスク・ドライブのようなものだ｡

03:10.560 --> 03:13.950
だから､ RAMにあるものはアクセスしやすく､

03:13.950 --> 03:16.350
素早くアクセスできる｡

03:16.350 --> 03:17.550
そうすれば､

03:17.550 --> 03:29.400
1週間後､ 2週間後､ 1年後に必要なときに､ そのファイルがそこにある｡

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ギガバイト､ 1テラバイト､

03:45.120 --> 03:48.870
あるいは4テラバイトの大容量記憶装置があるかもしれないが､

03:48.870 --> 03:50.640
メモリを見れば､ 8ギガバイト､

03:50.640 --> 03:57.180
16ギガバイト､ 運がよければ32ギガバイトの空き容量があるかもしれない｡

03:57.180 --> 04:01.650
つまり､ 使用可能なRAMはハードディスクよりもはるかに少ない｡

04:01.650 --> 04:05.520
つまり､ メモリはディスクキャッシュとして機能するのだ｡

04:05.520 --> 04:09.420
こうすれば､ ディスクからファイルをメモリに取り込んで作業し､

04:09.420 --> 04:12.960
作業が終わったら大容量記憶装置に戻すことができる｡

04:12.960 --> 04:18.780
これによりRAMは､ ハードディスクから最近使用されたデータやよく使用されるデータを一時的に保存する領域として機能し､

04:18.780 --> 04:22.230
より迅速なオペレーションが可能になる｡

04:22.230 --> 04:25.800
これは､ RAMが本当に高速でデータを探し出すことができるのに対し､

04:25.800 --> 04:29.340
従来のハードディスクは正しい部分を見つけるまで実際にディスクを回転させ､

04:29.340 --> 04:34.110
そこからデータを取り出す必要があるためで､ これははるかに遅い｡

04:34.110 --> 04:36.120
私たちはこれを機械的システムと呼ぶが､

04:36.120 --> 04:37.230
RAMを使う場合は､

04:37.230 --> 04:43.050
RAMのどの部分にも瞬時に近いスピードでアクセスできる電子システムを使うことになる｡

04:43.050 --> 04:46.260
これは､ RAMがソリッド・ステート・デバイスと考えられているためで､

04:46.260 --> 04:50.760
ハードドライブ､ DVD､ CD､ あるいはブルーレイ・ディスクのような機械式デバイスのように､

04:50.760 --> 04:53.700
過度なロード時間が発生しないからだ｡

04:53.700 --> 04:59.490
ハードディスクやその他の磁気メディアは非常に遅く､

04:59.490 --> 05:06.990
ミリ秒と呼ばれる数千秒単位で動作する｡

05:06.990 --> 05:12.540
だから､ 作業中はファイルをRAMに保存しておきたいのだ｡

05:12.540 --> 05:16.380
技術者として､ システムをアップグレードする際に最もよくやることの1つは､

05:16.380 --> 05:17.580
RAMをアップグレードして､

05:17.580 --> 05:26.340
4ギガバイトから8ギガバイト､ 8ギガバイトから16ギガバイト､ 16ギガバイトから32ギガバイトにすることです｡

05:26.340 --> 05:27.660
RAMの容量を増やすことで､

05:27.660 --> 05:31.200
ハードドライブから多くのデータを読み書きしなければならないという障壁を取り除き､

05:31.200 --> 05:32.940
より多くのファイルを開くことができるようになり､

05:32.940 --> 05:38.550
いつでもより多くの作業ができるようになるため､ システムを大幅にスピードアップすることができる｡

05:38.550 --> 05:39.630
さて､ ここまでRAMの基本を説明し､

05:39.630 --> 05:40.920
なぜハードディスクにすべてを頼るのではなく､

05:40.920 --> 05:49.680
このシステムメモリーを使う必要があるのかを説明してきましたが､ ここでRAMのアドレッシングに基づく制限について説明します｡

05:49.680 --> 05:53.280
さて､ プロセッサーがRAMに手を伸ばして何かを取得する必要がある場合､

05:53.280 --> 05:55.860
これをメモリのアドレス指定と呼ぶ｡

05:55.860 --> 05:57.750
というのも､ RAMとストレージの内部には､

05:57.750 --> 05:59.490
それぞれ異なる固有のアドレスがあり､

05:59.490 --> 06:06.180
それによって特定のRAMに保存されているデータを参照することができるからだ｡

06:06.180 --> 06:09.210
さて､ プロセッサ（CPU）とメモリの間には､

06:09.210 --> 06:11.550
メモリ・コントローラというものがあり､

06:11.550 --> 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
実は2つの部分がある｡

06:29.490 --> 06:33.300
データの送受信に使われる経路があり､

06:33.300 --> 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: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
これは4ギガバイトのデータとして知られている｡

07:33.060 --> 07:35.190
一方､ 64ビットCPUを使用している場合､

07:35.190 --> 07:44.340
64の可能なアドレスロケーションに対して2つの可能性があり､ 計算するとおよそ184,000,000,000の可能な選択肢があることになる｡

07:44.340 --> 07:48.450
つまり､ 64ビットのプロセッサーを使えば､

07:48.450 --> 07:53.160
大量のデータを扱うことができる｡

07:53.160 --> 07:56.820
というのも､ 16エクサバイトのRAMは法外に高価であり､

07:56.820 --> 08:05.100
ほとんどのマザーボードにはそれだけのメモリを接続する十分なスペースがないからだ｡

08:05.100 --> 08:06.240
本当に重要なのは､

08:06.240 --> 08:23.250
x86､ つまり32ビットプロセッサーを使っている場合､ 最大4ギガバイトのメモリーしかアドレス指定できないということである｡

08:23.250 --> 08:27.930
一方､ 64ビットプロセッサやx64アーキテクチャを使用している場合､

08:27.930 --> 08:31.860
一度に4ギガバイト以上のRAMにアクセスすることができます｡

08:31.860 --> 08:35.370
これは､ 8ギガバイト､ 16ギガバイト､ 32ギガバイト､

08:35.370 --> 08:41.460
64ギガバイトのRAMを搭載したシステムで使用されている理由です｡

08:41.460 --> 08:42.540
これは､ ほとんどの最新コンピューターやアプリケーションで､

08:42.540 --> 08:49.233
32ビット・プロセッサーよりも64ビット・プロセッサーを選びたくなるもうひとつの理由だ｡
