計算機アーキテクチャの勧め

           私の研究分野は計算機アーキテクチャです.計算機アーキテクチャという言葉の
           魅力的な側面を説明したいと思い,本文章を書きました.

           計算機には,速い,安い,美しい(うまい?)を筆頭にさまざまな要求が課せら
           れています.これらのなかで,最も果敢なチャレンジは最速の計算機システムを
           設計することです.自動車に例えるとF1で優勝することになりますが、贅沢に資
           金を投じれば,自然に最速な計算機システムが誕生するわけではありません.そ
           こで,腕を振るうのが計算機アーキテクトです.

           ある計算機アーキテクトのケース(実在はしませんが)を例に,最速の計算機を
           設計する楽しさと苦しさを見ていきましょう.

           計算機の頭脳に相当する部品がプロセッサ・チップです.パソコンのカバーを外
           すと出てくる数センチ四方の黒い色をしたチップです.計算機の頭脳,自動車で
           いえばエンジンですから、プロセッサ・チップの設計で手を抜くわけにはいきま
           せん.計算機アーキテクトは最新の研究成果を調査することにしました.その結
           果,スーパースカラ,VLIW,オンチップマルチといった方式が存在し,これ
           らの方式の中からオンチップマルチを採用することに決めました.オンチップマ
           ルチとは,一つのチップ上に,従来の複数のプロセッサを実装し,多くの命令を
           並列に処理することで性能を向上させる方式です.

           プロセッサを1ギガヘルツで動作させ,同時に10命令を処理できたとすると,
           設計する計算機システムでは1秒に10ギガ命令を処理できることになり,現在
           の標準的な計算機より数倍高速なものになると計算機アーキテクトの夢は膨らみ
           ます.

           プロセッサの方針は決定しました.次に,計算機の手足に当たるデータの供給と
           命令の供給を検討しました.計算をおこなうためには,処理すべきデータと,ど
           のような処理をするかという(加算や減算といった)情報が必要となります.プ
           ロセッサにおいて同時に処理される命令数が増加すれば,それに伴って供給すべ
           き命令やデータの量も増加します.この要求を満たすために,計算機アーキテク
           トは命令とデータを供給するための転送路の幅(バス幅)を増やすとともに,
           大容量のキャッシュを実装することにしました.さらに,メインメモリの一部を
           チップ内に融合することで,欲しいデータをすぐに得られるように工夫すること
           にします.

           これで,ハードウェアの大部分の方針が決まりました.一方で,ソフトウェアの
           開発責任者と命令セットに関する議論が必要なことが明らかになりました.オペ
           レーティング・システムとアプリケーションの設計において,データ・キャッシ
           ュを明示的に操作するための命令を追加することで,さらに性能を20%向上す
           ることができるというのです.計算機アーキテクトは,設計に変更を加えて更な
           る高性能化を目指すか,現状を維持するかの選択に迫られましたが,ここは,残
           業を覚悟で新しい命令の追加に合意しました.

           命令セットが決定し,この計算機の出荷予定は2年後に設定され,計算機アーキ
           テクトはより具体的な設計を開始します.幸いにして,プロセッサを設計する際
           のハードウェア資源(トランジスタ)は,2年間で2倍程度に増加すると予測さ
           れており,現在の2倍のトランジスタを前提にプロセッサを設計することができ
           ました.これらの豊富な資源を利用して,計算機アーキテクトは斬新なアイデア
           を盛り込み計算機システムを実装していきます.

           そして,2年の月日が流れ,お披露目の日がやってきました.長い年月を経て設
           計されたシステムを前にして,今まさに動作の開始を示すスイッチが入れられよ
           うとしています.

           さて,この物語がハッピーエンドとなるか,悲劇となるかは予測がつきません.
           しかし,計算機アーキテクトにとっては努力の結晶として完成した自慢の計算機
           システムなのです.
 
           どうですか?計算機アーキテクチャという言葉に何らかの魅力を感じていただけ
           ましたか?このシナリオは,計算機アーキテクトがハードウェア資源を有効に利
           用して新しいアイデアを実現するアーキテクトであり,そこには,緊急に解決し
           なければならない研究課題が山積しているということを伝えようとしたものです.
           残念ながら,計算機アーキテクチャのほんの一部の側面しか説明できていません
           ので,この文章に興味を感じないからといって,計算機アーキテクチャに向いて
           いないという訳ではありません.ただ,何らかの魅力を感じたら,計算機アーキ
           テクチャの教科書を手にしたり,私と一緒に将来の計算機アーキテクチャを議論
           しませんか?

           建築家(アーキテクト)の一つの夢が感動を与える建築物を設計することである
           ように,計算機アーキテクトの夢も,広く利用される最も速い計算機を設計する
           ことにあるのです.