このページの本文へ

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

業界に多大な影響を与えた現存メーカー CPU「ROMP」を開発して自滅したIBM

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

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

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

IBM 801より倍以上処理速度が遅いが
2チップに収めることに成功

 ハードウェア的には、IBM 801で搭載されていた命令/データキャッシュが廃止になった。これはターゲットとなる2μmプロセスのNMOSではダイサイズが大きくなりすぎてしまうと判断されたためだ。

 その代わり16Bytesのプリフェッチ・バッファが用意された。これにより、分岐におけるIBM 801方式のBRANCH AND EXECUTE(要するにDelay Slot)方式がROMPでも効果的に機能するようになったほか、プリフェッチ・バッファに簡単なループ認識機能の仕組みを入れたことで、ループ処理の際のレイテンシーを削減することにもつながっている。

ROMPの内部構造。IPB0~3がプリフェッチ・バッファであり、どうもここは4Bytes固定、つまり最大で4命令までのフリフェッチが可能という構造(IPB自体はFIFOの構成になっていると思われる)である。一部の命令はマイクロコードベースで処理される模様。なんというか、シンプルな構造である

 平均してROMPの命令は平均2.3サイクルで処理できるように設計された。サイクルタイムが100ns(つまりクロックが10MHz)の場合、ROMPの性能はおおよそ4.3MIPS程度となった。

 IBM 801のサイクルタイムが63ns(クロックが15.87MHz)で性能が15.1MIPS(つまり1命令の実行は平均1.05サイクル)だったので、倍以上遅くなった計算になる。その代わりに、最終的にROMPは2チップに収まったわけで、性能とコストのトレードオフを考慮するとこれは十分許容範囲と判断された。

 言うまでもなく浮動小数点演算機能はサポートされていない。これについては、必要ならFPUを外付けで対処することになった。実際後で出てくるRT PCでは、10MHz駆動のNS32081 FPUを接続し、Memory Mapped I/Oで通信するという、わりと力業の解決方法がとられている。

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

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

ピックアップ

ASCII.jp RSS2.0 配信中

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