Part1では、CPUが行っている仕事の概要を見るとともに、CPUがメモリーから読み込む「命令」とは何かや、各CPUが持っている命令の仕様である「命令セット」について解説していこう。

 パソコンにおけるほとんどの処理は、CPUによって行われる。まずはCPUとメモリー、それ以外の周辺装置がどのような関係にあるかを見ていこう。マウス、キーボード、LANインタフェース、CPU、メモリー、ハードディスク、グラフィックスチップ、CD-ROMドライブ――ざっと挙げただけでもパソコンにはこれだけの部品や周辺装置が内蔵されている。これを簡単に図式化したのが図1だ。CPU、メモリー、グラフィックスはチップセット(ノースブリッジ/MCH)を介して、そのほかはもう一つのチップセット(サウスブリッジ/ICH)を経由してつながっている。図1を極めて単純化したのが、図2だ。CPUは「メモリー空間」だけを読み書きでき、CPU以外の部品はすべてメモリー空間を介してCPUとやり取りする。ここでいうメモリー空間とは、図1のメモリー、すなわちRAMとは意味が異なる。RAMも含め、すべての周辺機器が、CPUからは仮想的なメモリー(メモリー空間)として見えるということだ。

図1●パソコンのシステム構成図
図1●パソコンのシステム構成図
パソコンの構成を図式化すると上記のようになる。CPU,メモリー,グラフィックスはノースブリッジで,ハードディスク(HDD)やCD-ROMなどの機器はサウスブリッジの下にぶらさがっているような形になる。

 ただし実際のCPUの動作では、RAMの読み書きが圧倒的に多い。「プログラム」は基本的にRAMに置かれるからだ。周辺機器とのやり取りは別の機会に解説するとして、ここではメモリー=RAMとして話を進めよう。

図2●CPUはメモリー空間のみアクセス可
図2●CPUはメモリー空間のみアクセス可
パソコンの構成をより単純化すると左図のようになる。CPUはメモリー空間だけにアクセスでき,ここを介して周辺装置とデータをやり取りする。

Excelを起動するとは?

 CPUはメモリーにアクセスして、どのような仕事をしているのだろうか。それを単純化して図に示したのが図3だ。実はCPUの仕事は、(1)メモリーから「命令」と「データ」を読み込んで、(2)計算し、(3)結果をメモリー上に出力する、という3つの単純作業を淡々と繰り返しているにすぎない。

図3●CPUは単純な作業を繰り返している
図3●CPUは単純な作業を繰り返している
CPUの基本的な仕事は,メモリー内にあるプログラムの命令とデータを読み取り(1),読み込んだ命令とデータを使って計算し(2),結果を出力する(3)という3つ。CPUはこの単純な作業を繰り返す。

 では命令とは何か。CPU関連の記事で命令という言葉をよく見かけるが、それについて詳しく見ていこう。

 普段何気なく使っているWordやExcelだが、実はこれらのアプリケーションソフトを起動すると実際には、Wordなら「Winword.exe」、Excelならば「Excel.exe」というプログラムが起動されている。ここでいう「プログラムの起動」とは「ハードディスクに保存されているプログラムファイルをメモリー上に格納する」ことを意味する。

 プログラムの実体は、CPUに実行させる「命令」が何万、何十万(プログラムのサイズによる)と集まったものだ。つまりExcelを起動するとは、Excelの機能を実現する命令の集合体をメモリー上に格納することにほかならない。そしてCPUは、メモリーに格納された膨大な数の命令を、順番に読み込んで実行しているのだ。