このページの本文へ

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

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

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

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

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

分岐予測ミスを回避するために
新たな命令フォーマットを搭載

 パイプライン1段あたりの処理を減らしても、まだ分岐予測ミスにはペナルティーがあるわけだが、これに対して博士が考えたのは、BRANCH AND EXECUTEという命令フォーマットである。

 これは一種の遅延スロット(これもRISCの特徴の1つに挙げられている)の実装で、オリジナルは博士によれば1952年にロスアラモス科学研究所(ロスアラモス国立研究所の前身にあたる)が構築したMANIAC I(Mathematical Analyzer, Numerical Integrator, and Computer or Mathematical Analyzer, Numerator, Integrator, and Computer)というマシンで実装されたアイディアだという。

 博士はこのBRANCH AND EXECUTEを交換機用に利用した場合のシミュレーションを行ない、かなり良い結果を得たことで、これを搭載することにしたという。

 この方式の欠点は命令密度が下がることだ。例えばSystem/370に搭載されているADD FROM STORAGE命令(メモリーから値を読みだして加算を行なう)は、この仕組みを使うとLOAD(メモリーからレジスターに値を読み出し)、とADD FROM REGISTER(レジスターの値を加算)の2命令に置き換えられることになる。

 ただ逆に言えば命令密度が落ちるだけの話で、System/370がADD FROM STORAGE命令を実行する時間で、こちらは2命令以上を実行できるという見積りが出たことで、この欠点は許容されることになった。

 ほかにもSystem/370でよく利用される命令を調査したところ、実行時間の大半はLOAD/STORE/BRANCH/FIXED-POINT ADD/FIXED-POINT COMPAREという命令で占められていることが確認され、これらの命令もうまく代替できる見通しが立った。

この連載の記事

注目ニュース

ASCII倶楽部

最新記事

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

ピックアップ

ASCII.jp RSS2.0 配信中

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