2010年現在、世界全体では毎日100万台ものPCが販売されています。それらの中核にはプロセッサが存在します。またPCだけでなく、携帯電話はもとより自動車、家電にもプロセッサが使われています。ほとんどの携帯電話に組み込まれているARMプロセッサの開発元、英国のARM社は、2010年にARMプロセッサの累積出荷量が200 億個を超えたと発表しました。ARM1社だけで、年間の製造個数は40億個と全世界の人口の半分以上の数になっています。私たちは地球の総人口の何倍ものプロセッサが身の回りの生活を支えているという世の中に住んでいるわけです。また、Googleなどの検索や、銀行ATMや鉄道の運営システムなどはプロセッサを使った社会の基盤システムで、これらのシステムがない生活は考えられません。
歴史を振り返ってみると、古くから計算を簡単かつ高速に実行するための工夫が積み重ねられてきました。そろばんなどの計算補助具から、歯車を使った機械式の加算機や乗算機が作られ、さらに高速に動作させるために歯車に代わって電子回路が用いられるようになりました。1946年に完成し実用に供された最初のコンピュータと言われるENIACは大きな部屋いっぱいの巨大な装置で、その性能は毎秒5,000演算、約150KWもの電力を消費していました。これに対して、現代のマイクロプロセッサは毎秒100億演算以上の性能を持ち、PC全体の消費電力はせいぜい300W程度です。つまり、演算性能は「200万倍」向上し、消費電力は「1/500」に減少したことになります。
実は、初期の電子式コンピュータから数えて現在まで、わずか60年余りしか経っていません。この長足の進歩はいかに成し遂げられたのかというと、何より真空管からトランジスタ、そしてLSIという回路テクノロジーの進歩に負うところが大きく、一方でより高速の実行を追及するコンピュータアーキテクチャの進歩も大きな貢献をしています。
高速化を追求してきたプロセッサも最近では、消費電力の制約からシングルコアの性能向上はスローダウンして一段落の感もありますが、マルチスレッド、マルチコア化という方向での性能向上が図られ、さらに仮想化やセキュリティなどの技術で使い勝手を改善するという努力が行われています。また、伝統的なコンピュータだけでなく、スマートフォンやネットivブックなどの携帯機器に強力なプロセッサが使用されるようになってきており、バッテリ寿命の点からさらなる低消費電力化が求められています。
以上のように、時代とニーズの変化に適応しながらプロセッサは進化を続けています。PCに「Intel Inside」といったロゴが付くようになり、ハードウェア技術にそれほど興味のない人でもマイクロプロセッサ、あるいはプロセッサという言葉を知っている時代です。その一方で、最新のプロセッサは進化に伴い極めて複雑になってきており、構造や上手な使い方については広く理解されているとは言い難い状況です。
しかし、プロセッサの構造や動作を理解しているのと、中身を知らないままブラックボックスで使っているのとでは、その使いこなしという点でやはり差が出てくるのではないでしょうか。車で言うなら乗用車を普通に走らせるのであれば特別に車の構造やそれによる特性の違いに関する知識などは知らなくてもよいのですが、それらを理解していれば、よりスポーティーな走りができたり、よりエコな走りができたりするでしょう。
本書では、プログラムを自分で書き、コンピュータシステムをより効率的に使いこなしたいという方を対象に、プロセッサに使用されている高性能化技術や構造について説明し、どのようにプログラムを書けばプロセッサを効率的に動かせるかをわかりやすく解説しています。なお、プロセッサの設計というとAND、ORなどの論理回路を用いた論理回路レベルのハードウェア設計を連想されるかもしれませんが、本書では論理回路よりもハイレベルの、プログラマとのインタフェースとなる「マイクロアーキテクチャ」と「命令アーキテクチャ」を中心にプロセッサの構造や働きを解説しています。
さまざまなコンピュータの中核に位置するプロセッサは、いまや携帯機器から社会基盤システムに至るまで重要な役割を果たしています。本書が、ダイナミックな進化を続けるプロセッサを理解し、うまく使いこなすための一助になれば幸いです。