CPU

CPUのスペック案

2007年4月27日

レジスタは8ビット、メモリ空間の1ワードは4ビットの変則型にしようと思う。メモリ空間は、16ビットのアドレス指定で64Kワード(32Kビット)。CS・DSを用いたセグメント指定により、256ワードごとに空間を分割して使用する。

Aレジスタ(8ビット) - 演算用
 上位4ビット:AHレジスタ
 下位4ビット:ALレジスタ

Bレジスタ(8ビット) - メモリアドレス指定用
 上位4ビット:BHレジスタ
 下位4ビット:BLレジスタ

Cレジスタ(8ビット) - カウンタ
 上位4ビット:CHレジスタ
 下位4ビット:CLレジスタ

Dレジスタ(8ビット) - 演算補助
 上位4ビット:DHレジスタ
 下位4ビット:DLレジスタ

Jレジスタ(8ビット) - ジャンプ先指定

Zレジスタ(8ビット) - 代入および演算結果格納
 上位4ビット:ZHレジスタ
 下位4ビット:ZLレジスタ

Fレジスタ(4ビット) - フラグ格納用
 CF1(キャリーフラグ)
 CF2(シフト・ローテート用フラグ)???
 ゼロフラグはない(Zレジスタがゼロフラグを兼ねる)
 サインフラグはない(Zレジスタ上位1ビットがサインフラグを兼ねる)

IP(8ビット) - 命令実行位置

CS(8ビット) - コードセグメント

DS(8ビット) - データセグメント

最初の設計では、インテル型にしてみた。スタックの実装は、とりあえず先送りにする。

コメント

コメントはありません

コメント送信