先生：このレッスンでは､
メモリーモジュールについてお話します｡
使用するメモリの種類は､ マザーボードとそのフォームファクターによって決まります｡
ここで最も良い方法は､ 新しいモジュールを購入する前に､
マザーボードのマニュアルをチェックし､ 購入しようとしているメモリの適切なタイプ､
サイズ､ 速度を確認することだ｡
マザーボードによっては､ メモリモジュールのサイズを混在させることができるものもあるが､
すべてのモジュールのサイズがまったく同じでなければならないものもある｡
ここで言うサイズとは､
4ギガバイト・モジュール､
8ギガバイト・モジュール､ 16ギガバイト・モジュールといった容量のことだ｡
例えば､ 一部のマザーボードでは､ スロット1に8ギガバイト､
スロット2に4ギガバイトのモジュールを搭載し､
合計12ギガバイトのRAMを使用することができます｡
一方で､ サイズの不一致を理由にこれを許さない人もいる｡
そして､ その代わりに4を入れて8を出すか､
8を入れて16を出すかしなければならない｡
そして､ このシステムで12ギガバイトにする方法はないだろう｡
なぜなら､ 6ギガバイトのメモリーモジュールが市場に出回っていないからだ｡
ほとんどの最新マザーボードでは､
シングルバンクと呼ばれる､ どのスロットにどのサイズのモジュールを入れても混在させることができるものを使用することができます｡
しかし､ 古いマザーボードでは､
2つ1組のバンクやペアバンクで作業を行う必要があった｡
マザーボードのフォームファクターによって､
システムでサポートできるメモリ容量が決まります｡
これは､ 特定のマザーボードのフォームファクターによって､
メモリスロットが1つしかなかったり､ 2つだったり､
4つだったり､ 8つだったりするからだ｡
より大きなマザーボードであれば､
より多くのメモリスロットを搭載している可能性が高いため､
システムでサポートされるメモリの総量も多くなります｡
一方､ フォームファクターが小さいマザーボードを使用している場合は､
スロットが1つしかなかったり､ 2つしかなかったりするため､
搭載できるシステムメモリの総量が制限されることになる｡
さて､ メモリモジュールは､ 先ほど述べたように､ マザーボードとそのフォームファクターによって定義されるタイプによって異なる｡
どのシリーズのメモリーを購入するかによって､
モジュールのピン数が決まります｡
例えば､ DIMMやデュアル・インライン・メモリ・モジュールを使用する場合､
購入するものによって､ 240ピンコネクタや184ピンコネクタなどがあります｡
モジュール内のメモリーチップのもう一つの分類は､
そのタイプである｡
過去のシステムでは､ メーカーによって異なるタイプのメモリーを使用していたが､
現在のシステムでは､
どのメーカーでも同じタイプのメモリーを使用している｡
その代わり､ DDR3､ DDR4､
DDR5といったバージョンに基づいています｡
DDRはデュアル・データ・レートの略である｡
デュアル・データ・レートは､ ほとんどのシステムで使用される最も一般的なタイプのメモリですが､
特殊なレガシー・システムでは､
代わりにラムバス・ダイナミック・ランダム・アクセス・メモリ（RDRAM）などが使用される例もあります｡
さて､ メモリモジュールを見るときのもう一つの分類は､
その速度に基づいている｡
古いメモリーでは､ これは実際にはナノ秒単位で分類されていた｡
例えば､ 60ナノ秒｡
しかし､ DDR3､ DDR4､ DDR5に移行するにつれ､ このナノ秒は非常に速くなり､
1～5ナノ秒の範囲で動作するため､
ほとんどすべてのメモリが同じ速度に見えるようになりました｡
そこで私たちは､ 代わりにバス速度に基づいて計算を始めた｡
例えば､ PC133メモリを搭載している場合､ これは133メガヘルツのバス速度で動作する｡
しかし､ 現在のほとんどのメモリはスループットで測定されるようになっている｡
しかし､ 時間の経過とともに､ ほとんどすべてのシステムが同じバス速度で動作するようになったため､
バス速度も有効な計算ではなくなり､ 代わりにスループットでメモリを測定するようになった｡
スループットは､ バス速度とデータバスの幅に基づいて計算される｡
例えば､ PC2-6400として知られる古いDDR2を使用していた場合､
これは800メガヘルツのバス速度で､ スループットは6ということになる｡
毎秒4ギガバイトの帯域幅｡
6が見える｡ 4ギガバイト/秒の帯域幅は､
PC2の後に6400という数字が見えるからで､ PC2は､
私が使っていたのがDDR2モジュールであることを示している｡
さて､ メモリモジュールの基本をいくつか説明したところで､
メモリモジュールと､ 現在のDDR3､
DDR4､ DDR5のシステムに至るまで､
どのように進化してきたかを見ていこう｡
まずDRAMだが､ これはDynamic RAMの略である｡
DRAMは最も古いタイプのメモリーのひとつで､
中身が失われないように頻繁にリフレッシュする必要があった｡
DRAMは､ 各ビットのデータまたはプログラムコードを､
キャパシタとトランジスタで構成される記憶セルに格納する｡
DRAMの記憶セルは動的であり､
キャパシタからの電荷漏れを補うために数ミリ秒ごとにリフレッシュ､
つまり新しい電荷を与える必要がある｡
さもなければ､ そのDRAMに保存されたデータは失われてしまう｡
これを改善するために､ 私たちはSRAM（スタティックRAM）と呼ばれるものに移行した｡
SRAMはこの常時リフレッシュの問題を解決したが､
製造コストが非常に高かった｡
このため､ SRAMは､ L1､ L2､ L3 CPUキャッシュ､
ハードディスク・バッファ､ LCDスクリーン・バッファなど､
非常に高速な必要性にのみ使用されていた｡
これらのキャッシュには､ 現在でもスタティックRAMが使われている｡
そしてまた､ 非常に高価であるため､
各プロセッサーにはごく少量しか搭載していない｡
次はSDRAMだ｡
SDRAMはSynchronous DRAMの略である｡
これは､ マザーボードのバスと同じ速度で動作する最初のメモリモジュールだった｡
初期のチップはDIMMと呼ばれる168ピンのデュアルインラインメモリモジュールで､
速度はメガヘルツ単位だった｡
これらの一般的な命名規則は､
66メガヘルツのバスを使用していることを意味するPC66や､
133メガヘルツのバスを使用していることを意味するPC133､
266メガヘルツのバスを使用していることを意味するPC266のようなものだった｡
さて､ SDRAMはマザーボードのバスと同じ速度で動作したが､
CPU自体はマザーボードのバスよりもずっとずっと高速で動作する｡
そのギャップを埋めるために､
DDR SDRAMと呼ばれる新しいタイプのメモリモジュールが誕生した｡
これはDouble Data Rate Synchronous
Dynamic Random-Access Memoryの略である｡
このタイプのメモリは､ 1クロック・サイクルあたり2回データを転送できるため､
従来のSDRAMモジュールに比べて転送速度が基本的に2倍になる｡
これらのモジュールは､ バスに接続できるように184ピンを備えており､
スループットはメガバイト/秒とされていた｡
その良い例がPC-1600のようなもので､
1秒間に1,600メガバイト､
つまり1. 毎秒6ギガビットのスループット｡
次のタイプはDDR2 SDRAMと呼ばれるもので､ これはDouble
Data Rate SDRAMのバージョン2です｡
これはレイテンシーが高いが､
外部バスへのアクセスが速く､ 全体的なスピードが向上した｡
これらのチップには､ モジュールをスロットに接続するための240ピンコネクタがあり､
オリジナルのDDRと同じようにメガビット/秒で評価されたが､
より高速であった｡
これらはPC2-と数字で表記され､
PC2-4200のように4,200メガバイト/秒のスループットまたは4を意味する｡
毎秒2ギガバイトのスループット｡
その後､ DDR3を紹介する｡
DDR3はDouble Data Rate 3 SDRAMの略である｡
現在､ DDR3はDDR2よりも低電圧で高速に動作しますが､
これはDDR3がこれらの改良を施した新しい世代だからです｡
しかし､ ここでもレイテンシは以前のDDR2モジュールよりも増加している｡
しかし､ 繰り返しになるが､ 全体的にスピードが速いので､
待ち時間は我々にとってそれほど大きな問題ではない｡
さて､ これらのモジュールにもDDR2と同じように240ピンコネクタがあるが､
それぞれのモジュールにはキーが付けられている｡
つまり､ メモリモジュールの底面にあるピンのセットには､
小さな切り欠きがあるのです｡
DDR2とDDR3では､ このノッチは別の場所にある｡
つまり､ DDR2モジュールをDDR3スロットに装着することはできないし､
DDR3モジュールをDDR2スロットに装着することもできない｡
このキーイングのせいで､ クロスコンパチブルではないのだ｡
一般的な書き方はPC3-と数字である｡
つまり､ PC3-10600と表示されている場合､ これは毎秒10,600メガバイト､
つまり10個のスループットがあることを意味する｡
このDDR3モジュールを使用して､
毎秒6ギガバイトのスループットを実現｡
DDR3に関しては､
データ転送速度やスループットは通常6.
4～17ギガバイト/秒､
DDR3使用時のメモリモジュールあたりの最大モジュールサイズは8ギガバイト｡
さらに､ DDR4とDDR5が登場した｡
DDR4はダブル・データ・レート・バージョン4で､
DDR5はダブル・データ・レート・バージョン5である｡
DDR4の速度は12になる｡ 8歳から25歳まで｡
スループットは毎秒6ギガバイト､
モジュールあたりの最大サイズは32ギガバイト｡
一方､ DDR5のスループットは38である｡ 4から51まで｡
毎秒2ギガバイト､
最大モジュールサイズは128ギガバイト｡
今､ いろいろな数字を挙げたが､ これだけのスピードを覚えなければならないのか？
答えはノーだ｡
試験では､ DDR3やDDR4､
DDR5のスループットの速さは問われません｡
しかし､ テスト問題でPC4-16000と書かれていたら､
それは毎秒16000メガバイトまたは毎秒16ギガバイトで､
DDR4モジュールだということがわかるはずです｡
PC5-42000もその一例だろう｡
これは､ 42,000メガバイト/秒または42ギガバイト/秒で動作するDDR5モジュールであることを示している｡
メモリモジュールに関しては､
スピードとキーイングの点でマザーボードに適したメモリモジュールを購入する必要があることを覚えておこう｡
DDR3をDDR5スロットに装着したり､ その逆はできない｡
それぞれキーが違うので､
他のスロットには入らない｡
もうひとつ覚えておいてほしいのは､
同じタイプでスピードの異なるモジュールを混ぜて使うことが可能だということだ｡
例えば､ DDR5モジュールが2つあり､
1つは38. 毎秒4ギガバイト､
51ギガバイト｡ 毎秒2ギガバイトで､ その両方をこのマザーボードに搭載した｡
はい､ このマザーボードはDDR5をサポートしており､
スロットも同じなので､ 両方とも装着できますが､ 転送速度が異なるため､
マザーボードは両方のモジュールに対して遅い方の速度で通信することになります｡
つまり､ より高速なモジュールに高いお金を払ったのに､
低速なモジュールに速度を合わせなければならないため､ スピードアップが得られないのだ｡
そのため､ 複数のモジュールを使用する場合は､ 常にペアで購入することをお勧めします｡
つまり､ あるシステムで同じブランド､
同じスピード､ 同じスループットを使用していることになる｡
さて､ モジュールに関して最後に話しておかなければならないのは､
モジュールのサイズだ｡
DDR3､ DDR4､ DDR5モジュールを見ると､ 実際にはかなり長く､
手首から指先まで手のひらほどの大きさがある｡
しかし､ ノートパソコンやオールインワンのようなものを使っている場合､
そのようなシステムには大きなモジュールを入れることができない｡
そこでSODIMMというものが作られた｡
SODIMMはSmall Outline Dual
In-line Memory Moduleの略｡
現在でも､ SODIMMモジュールはDDR3､
DDR4､ DDR5に分類される｡
唯一の違いは､ その名前の前にSODIMMという言葉も含めるということだ｡
だから､ SODIMM PC4-16000のようなものがあるかもしれない｡
これは､ DDR4 SODIMMモジュールが毎秒16,000メガバイト､
つまり毎秒16ギガバイトのスループットで動作することを物語っている｡
さて､ SODIMMモジュールをマザーボードに取り付ける場合､
45度の角度でスロットに挿入し､ マザーボードに対して平らに押し下げると､
保持クリップを使って所定の位置にロックされます｡
DDR3､ DDR4､ またはDDR5の標準的なデスクトップ用モジュールを使用する場合は､
代わりにモジュールをマザーボードに対して90度の角度で上からまっすぐ挿入し､
カチッと音がするまで所定の位置に押し込み､
固定ピンで固定します｡
技術者として､ システムのパフォーマンスを向上させるためにできる最も簡単なことのひとつは､
メモリを増設し､ システムを8ギガバイトから16ギガバイト､
16ギガバイトから32ギガバイト､ 32ギガバイトから64ギガバイトのRAMにすることです｡