コンピュータはどのように機能しますか?

この文書は、パーソナルコンピュータの動作方法と、電源ボタンを押すたびに実行される動作について理解を深めるために作成されています。

コンピュータの電源を入れる

最初に電源ボタンを押すと、コンピュータはコンピュータの電源に信号を送り、コンピュータの電源が交流(AC)を直流(DC)に変換します。 これにより、コンピュータとそのコンポーネントに適切な量の電圧と電気が供給されます。

コンピュータとそのコンポーネントに十分な電力が供給され、電源装置からエラーが報告されなくなると、マザーボードとコンピュータプロセッサ(CPU)に(トランジスタを使用して)信号を送信します。 この間、プロセッサはメモリレジスタ内の残りのデータをすべてクリアし、CPUプログラムカウンタにF000 16進数を割り当てます。 この番号は最初の命令の場所であり、基本入出力システム(BIOS)に含まれる命令を処理する準備ができていることをCPUに知らせます。

BIOSとPOST

コンピューターが最初にBIOSを見たときに、コンピューターのコンポーネントが存在し、正しく機能していることを確認するために、電源投入時自己診断(POST)シーケンスが開始されます。 コンピュータがこれらのテストのいずれにも合格しなかった場合は、不規則なPOSTが発生します。 不規則なPOSTは、標準の1回または2回のビープ音とは異なるビープコードです。 たとえば、不規則なPOSTでは、失敗の原因を示すためにビープ音がまったく生成されなかったり、異なるビープ音の組み合わせが生成されたりする可能性があります。

コンピュータがPOSTに合格すると、CMOSチップにあるメモリの最初の64バイトが調べられます。これは、コンピュータの電源を切ってもCMOSバッテリによって保持されています。 このチップには、システムの日時などの情報と、コンピュータに取り付けられているすべてのハードウェアに関する情報が含まれています。

CMOS情報を読み込んだ後、POSTはシステム設定の検査とコンピュータにインストールされている設定との比較を開始します。 エラーが見つからない場合は、ハードドライブ、キーボード、マウス、フロッピードライブなどのハードウェア用の基本デバイスドライバと割り込みハンドラをロードします。 これらの基本的なドライバにより、CPUはこれらのハードウェアデバイスと通信し、コンピュータは起動プロセスを続行できます。

次に、POSTはリアルタイムクロック(RTC)またはシステムタイマーとコンピュータシステムバスをチェックして、これらの両方がコンピュータ上で正しく機能していることを確認します。 最後に、POSTがディスプレイアダプタに含まれているメモリをロードし、それをシステムBIOS全体の一部にした後に、ディスプレイに画像が表示されます。

次に、BIOSはメモリアドレス0000:0472を調べて、コールドブートまたはウォームブート(リブート)のどちらを実行しているかを確認します。 1234hと表示されている場合、BIOSはこれが再起動であることを認識しており、残りのPOST手順をスキップします。

1234hが表示されていない場合、BIOSはこれがコールドブートであることを認識しており、追加のPOST手順を実行し続けます。 次に、各チップに書き込むことによって、コンピュータにインストールされているコンピュータメモリ(RAM)をテストします。 初期のコンピュータでは、起動時にインストールされているメモリの合計数をカウントして、このステップを実行しているのがわかります。

最後に、POSTはコンピュータのフロッピードライブ、光学ドライブ、およびハードドライブに信号を送信してこれらのドライブをテストします。 すべてのドライブがテストに合格すると、POSTは完了し、コンピューターにオペレーティングシステムのロードプロセスを開始するように指示します。

  • BIOSとCMOSの違いは何ですか?

オペレーティングシステムを起動する

コンピュータがPOSTに合格すると、コンピュータは起動プロセスを開始します。 このプロセスは、オペレーティングシステムとその関連ファイルすべてをロードするものです。 Microsoft Windowsは最も一般的に使用されているオペレーティングシステムであるため、このセクションではMicrosoft Windowsのロードプロセスについて説明します。

BIOSは最初にブートストラップローダに制御を渡します。ブートストラップローダはハードドライブのブートセクタを調べます。 CMOSセットアップの起動順序が、ハードドライブを最初に確認するように設定されていない場合は、これを行う前に、挿入されたフロッピーディスクドライブまたは光ディスクの起動セクタを確認することがあります。

この例では、Microsoft Windows XP NTローダー(NTLDR)がブートセクタにあり、ハードドライブの残りのコードを見つける場所をコンピューターに指示します。 次に、Windowsはntdetect.comファイルをロードします。このファイルはWindowsのスプラッシュスクリーンを表示し、Windowsレジストリをロードします。 レジストリをロードした後、Windowsはオペレーティングシステムを構成する数十の低レベルプログラムをメモリにロードし始めます。 最初に読み込まれたプログラムの多くは、Windowsが不可欠なハードウェアやコンピュータ上で実行されている他のプログラムと通信することを可能にするものです。

レジストリが初期の基本的なハードウェアデバイスをロードした後、それはプラグアンドプレイデバイス、PCI、およびISAデバイスをロードし始めます。 これらのデバイスをすべてロードした後、Windowsはハードドライブ、パーティション、およびその他のディスクドライブのフルサポートをロードしてから、インストールされている他のすべてのドライバに移動します。

最後に、上記の手順を正常に完了した後、必要な追加のサービスがロードされ、Windowsが起動します。

コンピュータと通信するハードウェアデバイス

コンピュータがオペレーティングシステムをロードした後、コンピュータに接続されているハードウェアはCPUと通信できる必要があります。 ハードウェア通信は割り込み要求(IRQ)を使用して行われます。 ハードウェアがコンピュータの注意を引く必要があるたびに、割り込みコントローラはリクエストを処理するために実行していることを停止するためにリクエスト(INTR)をCPUに送信します。 現在CPUによって行われていたものはすべて保留にされ、メモリアドレスとしてメモリスタックに格納され、割り込み要求が処理された後に返されます。