マイクロプロセッサはコンピューターやスマートフォンなど、私たちが日常的に使用しているデバイスに搭載されているチップで非常に身近な存在ですが、今年(2021)で誕生50周年を迎えたことをご存知でしたか。改めてマイクロプロセッサの構成や役割、進化の過程を見てみましょう。

マイクロプロセッサとは?

マイクロプロセッサとは、以下の3つの必須要素を1つのチップに実装したものです。

  1. 中央処理装置(CPU):実際に演算を行うエンジン
  2. メモリ:演算を行うための入力データと演算後の出力データを保管
  3. 入出力(I/O):処理に必要なデータをマイクロプロセッサに送信(入力)するとともに、処理の結果を読み出す(出力)ことができる機能

マイクロプロセッサの定義は、物事を詳しく解明したい人にとってはあいまいに聞こえるかもしれません。しかし、マイクロプロセッサ(主に論理回路で構築)を他のロジックチップと区別するための重要な要素は、マイクロプロセッサはその機能を定義するためにソフトウェアを使用するという点です。

ところで、初めてシングルチッププロセッサが登場したのはいつかご存じでしょうか? 商業利用に絞って言えば、50年前の1971年に発売されたインテル4004でしょう。

進化の継続

今日私たちが使用しているマイクロプロセッサは、最初のものとはほとんど異なります。より多くのトランジスタをチップに集積できるようになったため、マイクロプロセッサの構造は高度化が進みました。どの時点においても、「最適な」構造というのはマイクロプロセッサが行うジョブによって異なりますが、大まかには以下のように4つの分野において進化してきました。

  • 「ビット」数:最小限のデータチャンクの大きさを指定。一般に、チャンクが大きいほど、一定の時間内により多くの作業を実行できます。4ビットから始まり、8ビット、16ビット、32ビット、そして64ビットに移行しました。専用プロセッサのビット数はもっと大きい場合もありますが、今日の汎用高性能マイクロプロセッサの標準サイズは64ビットです。
  • 「パイプライン」の長さ:より速いクロックでプロセッサが作業可能な主要アプローチの1つは、演算タスクをサブタスクに分割することです。サブタスクが小さいほど、その部分の作業が速くなるため、クロックの実行が速くなり、より早く結果を取得することが可能になります。
  • スピード向上のための専用機能:例えば、コンピューターのプログラムに決定すべきことがある場合、その決定内容は実際にプログラムが実行されるまでユーザーには分かりませんが、高性能なプロセッサでは、起こり得る結果を推測できるため、早い段階でその決定に備えて、物事を迅速に進めることができます。
  • 複数のCPU:「マルチコア」コンピューティングと呼ばれ、1つのCPUが特定の時間内にジョブを終わらせることができるなら、複数のCPUならより早くジョブを終わらせることができるはずであるというシンプルな考え方です。大抵のことにはあてはまりますが、すべてのジョブをCPU間で容易に共有できるわけではありません。ただし、現在の主流のマイクロプロセッサには、概して複数のCPUが搭載されています。

新たなデバイス、新たなタスク、新たなプライオリティ

当然のことながら、唯一の留意事項はもはやスピードだけではありません。特にバッテリー駆動のデバイスについては、電力も同様に重要です。また、スマートウォッチなどのスペースが限られているデバイスに使用する場合には小型化も必要不可欠です。より多くのメモリや他の専用回路と組み合わせることで、マイクロコントローラとしても多数のデバイスで使用されています。

私たちが今、使用しているほとんどの電子ガジェットには、いずれかのバージョンのマイクロプロセッサが実装されています。そしてこれはすべて50年前に始まり、今年でマイクロプロセッサは生誕50周年を迎えます。

この記事はLam Researchが発行している英文ブログをラムリサーチが翻訳したものを一部修正して掲載しております。