Physical
英語表記: Physical
概要
「Physical」(物理)という用語は、コンピュータの構成要素におけるバス構造、特にアドレスバスの文脈では、「物理アドレス(Physical Address)」を指すことがほとんどです。これは、メモリやI/Oデバイスといったハードウェアが、実際に物理的に配置されている場所を一意に特定するための固有の番地のことです。CPUがデータにアクセスする際、アドレスバスを通じてこの物理アドレスを送信することで、システム内の正確な保管場所を特定し、データの読み書きを実行します。この物理アドレスこそが、コンピュータが実際に動作するために不可欠な、ハードウェア上の真の住所だと理解してください。
詳細解説
アドレスバスにおける物理アドレスの役割
本記事の文脈である「コンピュータの構成要素 → バス構造 → アドレスバス」において、「Physical」は、CPUがメモリや周辺機器と通信するための最終的な目的地を示す重要な概念です。アドレスバスの主な役割は、この物理アドレスをCPUから各構成要素へ伝達することにあります。
私たちが普段アプリケーションを使用している際、プログラムは「論理アドレス(Logical Address)」や「仮想アドレス(Virtual Address)」と呼ばれる抽象化された住所を使います。これは、OSやアプリケーションがメモリを効率的に管理し、複数のプログラムが安全に動作するために必要な仕組みです。しかし、実際にハードウェアがデータをやり取りするためには、この抽象的な住所を、ハードウェアが認識できる物理的な住所(物理アドレス)に変換しなければなりません。
この変換作業を担うのが、MMU(Memory Management Unit:メモリ管理ユニット)という重要な構成要素です。CPUから論理アドレスが出力されると、MMUはこれをアドレスバスに乗せてメモリに送る前に、対応する物理アドレスに変換します。変換後の物理アドレスこそが、アドレスバスを通じてメモリチップの特定のセルに到達し、データの読み書きを可能にしているのです。
アドレスバスの幅と物理アドレス空間
アドレスバスの設計は、物理アドレスのサイズ(ビット数)に直結します。例えば、アドレスバスが32ビット幅であれば、扱える物理アドレスの総数は$2^{32}$個となります。これは約4ギガバイト(4GB)のメモリ空間に相当します。もしアドレスバスが64ビット幅であれば、$2^{64}$という途方もない物理アドレス空間(巨大なメモリ容量)を扱うことができるようになります。
このように、アドレスバスの幅は、そのコンピュータシステムが物理的に搭載し、アクセスできるメモリ容量の上限を決定づける、非常に重要な要素です。物理アドレスの概念を理解することは、システム設計において、なぜ特定のハードウェア構成(例えば、32ビットOSでは4GB以上のメモリを認識できない制限)が存在するのかを把握するための鍵となります。
階層構造における重要性
この概念が「コンピュータの構成要素 → バス構造 → アドレスバス」の階層に存在する理由は明確です。コンピュータの構成要素(CPU、メモリ、I/O)が連携するためには、バス構造が必要であり、その中でもアドレスバスは「どこへ行くか」という目的地を示す役割を担っています。この「どこへ行くか」の最終的な具体的な答えが、他ならぬ「物理アドレス」だからです。もし物理アドレスという概念がなければ、CPUはメモリのどこにデータがあるのかを特定できず、システムは機能しません。物理アドレスは、抽象化されたソフトウェアの世界と、具体的なハードウェアの世界を結びつける架け橋なのです。
具体例・活用シーン
図書館の書架番号という比喩
初心者の方が物理アドレスを理解するのに、最も役立つのは「図書館」の比喩だと思います。
- 仮想アドレス(論理アドレス):あなたが図書館の検索システムに「ITパスポートの参考書」と入力して出てきた結果です。「〇〇コーナーの棚」といった、抽象的で場所を特定しやすい情報です。
- MMU(メモリ管理ユニット):この検索結果(仮想アドレス)を、実際の書架の場所(物理アドレス)に変換する図書館員(あるいは検索システムの詳細機能)です。
- アドレスバス:図書館員が「〇〇書架のA列、上から3段目の左から5冊目」という具体的な指示(物理アドレス)を持って、該当の書架まで向かう通路です。
- 物理アドレス:まさに「〇〇書架のA列、上から3段目の左から5冊目」という、本が実際に置かれている唯一無二の場所です。
コンピュータ内部では、CPUが「ITパスポートの参考書」(仮想アドレス)を要求すると、MMUがそれを物理アドレスに変換し、アドレスバスを通じてメモリにその物理アドレスを伝達します。メモリはその住所を見て、該当するデータ(本)をデータバスを通じてCPUに返送する、という流れで動作しています。物理アドレスは、データが迷子にならないための、絶対的な「現住所」なのです。
具体的な活用シーン
- リアルモードとプロテクトモードの切り替え: 古いシステムや組み込みシステムが直接物理アドレスを扱う「リアルモード」から、OSがメモリを管理する「プロテクトモード」(仮想アドレスを使用)に移行する際、物理アドレスへの直接アクセスがどのように制限されるかを理解するために重要です。
- デバイスドライバ開発: ハードウェア(I/Oデバイス)に直接アクセスするデバイスドライバを開発する際、メモリマップドI/O(MMIO)などを用いて、特定の物理アドレス空間に割り当てられたレジスタに対して読み書きを行う必要があります。
- ページングとセグメンテーション: OSがメモリを管理する仕組みであるページングやセグメンテーションは、論理アドレスと物理アドレスの変換(マッピング)技術そのものです。物理アドレスの概念を理解することで、メモリ管理の効率性やセキュリティの仕組みが深く理解できます。
資格試験向けチェックポイント
「Physical」(物理アドレス)は、基本情報技術者試験や応用情報技術者試験において、コンピュータアーキテクチャやOSのメモリ管理の分野で頻出します。特に、仮想記憶の仕組みと対比させて問われることが多いので、しっかりと区別できるようにしましょう。
- 物理アドレスと仮想アドレスの区別:
- 物理アドレス: 実際にメモリチップ上の場所に割り当てられた一意のアドレス。ハードウェアが使用します。
- 仮想アドレス/論理アドレス: OSやプログラムが使用する抽象的なアドレス。
- この両者を変換するのがMMU(メモリ管理ユニット)の役割であることを確実に覚えておきましょう。
- アドレスバスの幅と最大容量:
- アドレスバスのビット幅(N)が、アクセス可能な物理メモリ容量の最大値($2^N$バイト)を決定することを理解しておきましょう。「32ビットアドレスバスなら4GBまで」という具体的な例は、計算問題として出題されやすいポイントです。
- MMUの機能:
- MMUは、仮想アドレスを物理アドレスに変換するだけでなく、メモリ保護(あるプログラムが他のプログラムのメモリ領域を侵害しないようにする機能)も担っています。この機能は、システムの安定性において非常に重要です。
- ページテーブルの役割:
- 仮想アドレスから物理アドレスへの変換情報(マッピング)を保持しているのがページテーブルです。OSは、このテーブルを使ってメモリを管理しています。変換の仕組み(セグメント方式やページング方式)は、応用情報技術者試験で深く問われる可能性があります。
関連用語
この文脈において、「Physical」(物理)を理解するためには、その対義となる概念や、変換を行う技術が非常に重要です。
- 仮想アドレス (Virtual Address): アプリケーションやOSが使用する抽象的なアドレス。
- 論理アドレス (Logical Address): 仮想アドレスとほぼ同義で使われますが、CPUのセグメントレジスタなどを通じて生成されるアドレスを指す場合もあります。
- MMU (Memory Management Unit): 仮想アドレスを物理アドレスに変換するハードウェア。
- ページング (Paging): 仮想記憶を実現するためのメモリ管理手法の一つで、メモリを固定長のブロック(ページ)に分割して管理します。
関連用語の情報不足:
このセクションでは、物理アドレスの理解に不可欠な関連用語(仮想アドレス、MMUなど)を列挙しましたが、これらの用語一つ一つについての詳細な解説や、それらがどのようにアドレスバスと連携するかの具体的な図解(例えば、ページテーブルエントリの構造)が不足しています。特に、ITパスポートの知識レベルを超えて、基本情報技術者や応用情報技術者で問われる詳細な動作原理をカバーするためには、これらの関連用語の定義と動作原理をさらに深掘りする必要があります。