ぱたへね!

はてなダイアリーはrustの色分けができないのでこっちに来た

CADRのデータパス


AIM-528_CADR.pdfからLispマシーンCADRのデータパス(page24a)を抜き出してみました。単純にうつし間違いもあると思うので、気になる人は原文当たってください。
私から見て特徴的な所は大きく2点です。

1つ目がALUへの入力がAバスとMバスの2つに分離されていることです。AIM-528_CADR.pdfのデータパスの所に記載があります。Aバスの方は1024×32bit幅のメモリです。図は256x32ですが、AIM-528_CADR.pdfの説明では1024x32になっています。もう一つのMバスが、32x32bit幅のメモリやスタックポインタといった、いろんな演算対象から選択します。通常はMバス用のメモリはAバス用のメモリの戦闘をコピーして使うと記載されています。

2つ目が仮想記憶用の仕組みがCPUに組み込まれていることです。モダンなプロセッサであれば、仮想記憶に関するアドレス変換はMMUと呼ばれる別のユニットになっています。CADRでは、プロセッサの中にMMU的なアドレス変換の 仕組みが組み込まれています。

細かいところでは、ALUの出口で1bitシフトできたり、ALUを通らないでローテーションとマスクだけを行う専用のパスがあったりして、普通のプロセッサのデータパスとはちょっと違った設計になっています。