CDC 6600
ユーザプログラムは、コア・メモリの連続領域をひとつだけ使うことができる。そのプログラムがアクセスするメモリ領域は RA (Relative Address) レジスタと FL (Field Length) レジスタで管理され、プログラムがメモリにアクセスしようとしたとき、プロセッサはそのアドレスが0から FL-1 の間にあるかどうかをチェックする。これにパスすると、実際にはそのアドレスに RA の値を加算したアドレスのメモリにアクセスを行う。この方式は「論理アドレス変換 (Logical Address Translation)」と呼ばれる。各ユーザープログラムからは、メモリ空間が 0 番地から FLワードの範囲で存在しているように見えるが、物理的には、ユーザープログラムの使用するメモリは適当なアドレスに割り当てられている。この手法を使うことで、オペレーティングシステムはRAレジスタを適切に設定することで各ユーザープログラムを任意のアドレスに配置・移動することができる。許容された範囲外にアクセスしようとしたユーザープログラムはエラーを発生し、オペレーティングシステムがそれを停止させる。これが発生すると、コアダンプがファイルに書き出され、開発者はそれを調べて原因を探ることができる。仮想記憶システムと異なり、実行中のプロセスは必ず主記憶上に全体が存在している。仮想記憶のサポートは後の CDC_CYBER(英語版) 180 で行われた。
ユニットとしては、
浮動小数点乗算器(2組)
浮動小数点除算器
浮動小数点加算器
倍長整数加算
インクリメンタ(2組、メモリへのロード/ストアに使用)
バレルシフタ
論理演算器
分岐先アドレス演算器
がある。
命令は、8ワードの「スタック」と呼ばれるCP内部のレジスタの保持される。15ビット命令ならば1ワードに4命令が入るので、最高32個の命令を保持し、実行ユニットの空き状況に応じてその中の1つが逐次実行に移された。このスタックは無条件分岐命令があると内容が消される。無条件分岐は条件分岐よりは速い場合がある(少なくとも、遅くなることはない)。システムのクロックは 10MHz だが、4相クロックが使用されていたので、実質的には 40MHz で動作していたと言える。浮動小数点乗算は3サイクルかかり、除算は約10サイクルである。メモリによる遅延なども考慮した性能は約 1MFLOPS である。ずっと後に出てきた最も性能のよいコンパイラを使うと、FORTRAN のプログラムで約 0.5MFLOPS の性能を平均的に達成できたという。