このページの本文へ

ロードマップでわかる!当世プロセッサー事情第492回

業界に多大な影響を与えた現存メーカー RISCの誕生につながったIBMの801プロジェクト

2019年01月07日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

電話交換機用の安価な
プロセッサー開発が中止

 Cocke博士が目指していたのは、電話交換機用の新しいプロセッサーであった。この電話交換機は、平均して300通話/秒の接続をさばく必要があり、おのおのの通話の接続処理に2万命令ほどを費やす必要があったという。

 もちろん電話交換機なので、この処理を迅速に行なう必要がある。結果として、概算ではあるが12MIPSほどの処理性能が必要と推定された。

 この電話交換機用プロセッサーを開発するプロジェクトは1974年に正式に発足したようだが、すでにこの時点でSystem/370は存在しているから、12MIPSという数字そのものは不可能ではなかった。

 問題はこれを交換機に統合できる程度の低価格で実現しないといけないことだった。幸運なのか不幸なのかはともかく、この電話交換機のプロジェクトそのものが1975年に中止になったが、プロセッサーデザインはこの時点でかなり進んでおり、非常に素性の良い汎用高性能プロセッサーになりそうだった。特徴は以下の通り。

  • 命令キャッシュとデータキャッシュを分離することで、CPUとメモリー間の帯域を大きくできた
  • 演算命令が直接メモリーアクセスを行なわない(必ずレジスターに対してのアクセスとなる)ことで、パイプラインを簡単化できた
  • 命令長を固定とすることで設計をシンプルにでき、それゆえにサイクル時間を短縮できる(=動作周波数を上げられる)

 なぜこの構成をCocke博士が考えたかというと、IBMが製造した過去の製品からのフィードバックだった。

 博士によれば、命令のトレース結果を見てみると実行時間の3割はCPUとメモリーの間のデータ移動に費やされている特徴とともに、分岐命令の処理がやはり実行時間の1/3を占めているというデータを重視した。

 大昔のSTRETCHことIBM 7030のころから、分岐予測に成功した場合と失敗した場合のパフォーマンスに大きな差があることが認識されていたという。

 もちろんその意味では分岐予測を正確に行なうことが重要ではあるが、100%の確率で分岐予測はできない。であれば、分岐予測が失敗した場合にもそれほど性能が落ちない仕組みを考える必要がある。

 そのためにはパイプラインの段数を減らせばいい。パイプラインの段数を減らしても性能を落とさないためにはどうするかといえば、命令を簡単化することで、パイプライン1段あたりの処理を減らせばいいことになる。

この連載の記事

注目ニュース

ASCII倶楽部

最新記事

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン