1 主記憶装置の基礎

主記憶装置は、コンピュータが実行中に必要とする命令データを一時的に置いておく記憶領域である。中央処理装置が直接参照できる点に特徴があり、処理の流れを支える中心的な部品として扱われる。一般には高速な半導体メモリが用いられ、補助記憶装置と組み合わせて計算機全体を構成する。

1.1 主記憶装置の定義

主記憶装置とは、処理対象を短時間保持し、CPUが効率よく読み書きできる記憶装置の総称である。実行中のプログラム、使用中の変数、入出力のための作業領域などが置かれる。システムの基本動作に直結するため、単なる保管庫ではなく、実行環境そのものの一部とみなされる。

1.2 補助記憶装置との違い

補助記憶装置は、長期保存や大容量保管を目的とし、主記憶装置よりも一般にアクセスが遅い。これに対して主記憶装置は、速度を重視してCPUからの直接利用に適した設計が取られる。前者が「残す」ための装置であるのに対し、後者は「動かす」ための装置という性格が強い。

1.3 主記憶装置の役割

主記憶装置は、計算機が円滑に作業するための作業台として機能する。実行途中の内容を保持し、必要なときにすぐ取り出せることで、処理の切れ目を減らし、全体の効率を高める。

1.3.1 命令の保持

CPUが順次実行する命令列は、まず主記憶装置に置かれる。これにより、制御装置は必要な命令を高速に取り込み、演算や分岐を継続できる。命令が常時参照可能であることは、プログラム実行の基本条件である。

1.3.2 データの保持

計算の対象となる数値や文字列、処理途中の中間結果も主記憶装置に保存される。作業中のデータを近くに置くことで、CPUは繰り返し補助記憶装置へアクセスせずに済む。これが、反復計算や複雑な処理を支える。

1.3.3 処理効率への影響

主記憶装置の容量や速度は、実行速度に大きな影響を与える。容量が足りなければデータの入れ替えが増え、速度が遅ければCPUが待たされる。したがって、この装置の性能は、応答性や同時処理能力の評価に直結する。

2 主記憶装置の種類

主記憶装置は、保持の仕組みや電源断時の挙動によっていくつかに分けられる。現代の計算機では半導体を用いた方式が中心であり、その中でも揮発性と不揮発性の違いが重要である。

2.1 揮発性記憶

揮発性記憶は、電力が供給されている間だけ内容を保つ記憶方式である。高速なアクセスが可能な反面、電源が切れると保存内容が失われるため、作業領域として使われることが多い。

2.1.1 一時記憶としての性質

この方式は、短時間の利用を前提とした記憶に向いている。プログラム実行中のデータ配置に適しており、頻繁な読み書きにも対応しやすい。処理の途中結果を素早く扱える点が利点である。

2.1.2 電源断による消失

揮発性記憶では、通電が止まると保持していた情報が消える。保存が必要な内容は、別の記憶媒体へ書き出す必要がある。この性質は、再起動時に内容が引き継がれない理由にもなっている。

2.2 不揮発性記憶

不揮発性記憶は、電源を切っても内容を保持できる方式である。保存性に優れるため、固定的な情報や起動時に必要な内容の格納に向く。近年では、主記憶の一部として用いられる場面もある。

2.2.1 主記憶としての利用場面

不揮発性の仕組みは、設定情報や復旧用データを扱う場面で有用である。通常の主記憶より遅いこともあるが、内容保持を重視する用途では役立つ。特殊な構成では、電源遮断後も状態を維持したいシステムに組み込まれる。

2.2.2 揮発性記憶との併用

実際の装置構成では、揮発性記憶と不揮発性記憶を組み合わせることがある。前者で高速な作業領域を確保し、後者で保持すべき情報を補う形である。この併用により、速度と保存性の両立が図られる。

2.3 半導体記憶

半導体記憶は、電子回路を用いて情報を保持する方式であり、現代の主記憶装置の中核を成す。小型化しやすく、比較的高い速度を実現しやすいため、広く採用されている。

2.3.1 動作原理

半導体記憶では、電荷の有無や回路状態の変化を利用して情報を表す。個々の記憶素子がビットを保持し、制御回路の指示に従って読み出しや書き込みを行う。構造が集積化されているため、複数の記憶単位を高密度に配置できる。

2.3.2 代表的な構成

代表的なものとして、動的に再保持を必要とする方式や、比較的安定して状態を維持する方式がある。用途に応じて、速度、消費電力、密度、コストのバランスが選ばれる。計算機では、主に大量の作業領域を確保するために用いられる。

3 主記憶装置の構成と動作

主記憶装置は、単一の箱ではなく、細かな記憶単位と制御機構の組み合わせで成り立つ。アクセス方法や誤り対策も含めて設計され、安定した動作を実現している。

3.1 記憶セル

記憶セルは、情報を最小単位で保持する部分である。多数のセルが集まり、バイトやワード単位の領域を構成する。各セルにどの情報を置くかは、アドレスによって区別される。

3.1.1 ビットの保持

各記憶セルは、基本的に1ビット相当の状態を表す。多数のセルを並べることで、複数ビットのデータをまとめて扱える。こうした構造により、数値演算や文字処理に必要な情報を細かく保持できる。

3.1.2 アドレス指定

主記憶装置では、各領域に番号が割り当てられ、そこを指定してアクセスする。CPUや制御回路はアドレスを手がかりに、目的の場所を特定する。これにより、大量の記憶内容の中から必要な箇所だけを選んで利用できる。

3.2 アクセス方式

主記憶装置は、読み出しと書き込みを通じて利用される。どちらもアドレス指定と制御信号に基づいて行われ、必要なデータを正確にやり取りする。

3.2.1 読み出し

読み出しでは、指定した領域の内容を外部へ取り出す。CPUはこの結果を命令実行や演算に用いる。高速な読み出し能力は、処理の停滞を避けるうえで重要である。

3.2.2 書き込み

書き込みでは、外部から与えられた値を記憶装置内に保存する。計算結果や更新後のデータは、ここで主記憶に反映される。正しい書き込みが行われることで、以後の処理が整合的に進む。

3.3 記憶制御

記憶制御は、主記憶装置の動作を整えるための管理機構である。信号の受け渡し、タイミングの調整、異常への備えなどが含まれる。

3.3.1 制御信号

主記憶装置は、読み出し、書き込み、有効化などの制御信号によって動く。これらの信号が適切な順序で与えられることで、所定のデータが正しく扱われる。制御の精密さは、安定性に直結する。

3.3.2 誤り検出と訂正

記憶内容が破損した場合に備え、誤りを見つけたり修正したりする仕組みが用いられる。検査用の付加情報を持たせる方法が代表的である。これにより、偶発的な不具合が起きても、信頼性をある程度確保できる。

4 主記憶装置の性能と運用

主記憶装置の評価では、容量だけでなく、速度や実用上の扱いやすさも重視される。運用技術と組み合わせることで、限られた資源を有効に使うことが可能になる。

4.1 容量

容量は、主記憶装置にどれだけの情報を置けるかを示す基本指標である。大きいほど多くのプログラムやデータを同時に扱いやすくなる。

4.1.1 容量の単位

容量は通常、バイト、キロバイト、メガバイト、ギガバイトなどの単位で表される。実際の表記では、2進法に基づく場合と10進法に基づく場合があり、文脈注意が必要である。単位の違いは、見かけの大きさに影響を与える。

4.1.2 容量不足の影響

容量が不足すると、複数の作業を同時に抱えにくくなる。不要なデータの入れ替えが増え、処理の流れが滞ることもある。結果として、応答遅れや実行効率の低下が生じやすい。

4.2 速度

速度は、主記憶装置がどれだけ素早く情報をやり取りできるかを示す。CPUの処理能力を活かすには、十分な速度が欠かせない。

4.2.1 アクセス時間

アクセス時間は、要求してから実際にデータを得られるまでの遅れを指す。短いほど、CPUは待機時間を減らせる。主記憶装置では、この値の小ささが性能面で重視される。

4.2.2 帯域幅

帯域幅は、一定時間にどれだけ多くのデータを転送できるかを表す。単発の速さだけでなく、連続的なやり取りの能力を評価する指標である。大きい帯域は、画像処理や大規模計算で有利に働く。

4.3 代表的な利用技術

主記憶装置は、単独で働くのではなく、他の仕組みと組み合わせて効率化される。仮想記憶やキャッシュは、その代表例である。

4.3.1 仮想記憶

仮想記憶は、実際の物理容量より大きな空間があるように見せる技術である。必要な部分を補助記憶装置と主記憶装置の間で入れ替えながら使う。これにより、限られた主記憶でも多様なプログラムを扱いやすくなる。

4.3.2 キャッシュとの関係

キャッシュは、主記憶よりさらに高速な小容量記憶で、よく使うデータを一時的に置く。主記憶装置とCPUの間に挟むことで、アクセス時間の差を埋める役割を持つ。両者は階層的に結びつき、全体の性能向上に寄与する。