IC・トランジスタで出来たコンピューターを設計・製作するためのブログ

Jeans & Development 電子ブロック工房 三日坊主 フロントページ

ニーモニック表 [CPU]

2007年4月27日

演算命令
INC A
DEC A
INC B
DEC B
INC C
DEC C
COMP A,D
ADD A,D (結果は、Zレジスタに入る)
NOT A (結果は、Zレジスタに入る)
NOT D (結果は、Zレジスタに入る)
AND A,D (結果は、Zレジスタに入る)
OR A,D (結果は、Zレジスタに入る)
SHL A (上位ビットにCF2を使いシフト。下位ビットはCF1へ)
SHR A (下位ビットにCF2を使いシフト。上位ビットはCF1へ)

ジャンプ命令
JMP (ジャンプ先は、Jレジスタの値)
JZ (ジャンプ先は、Jレジスタの値)
JNZ (ジャンプ先は、Jレジスタの値)
JC (ジャンプ先は、Jレジスタの値)
JNC (ジャンプ先は、Jレジスタの値)
LOOP(ジャンプ先は、Jレジスタの値)
JMPF(MOV CS,Z 及び MOV IP,J)

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ビット) - データセグメント

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

ROM [デジタル回路]

2007年4月27日

ROM

フリップフロップ [配線]

2007年4月27日

flip flop
1ビットあたり、7400 を一つ、MOSFET を一つ、ダイオード2つ、抵抗を一つの設計。

この回路は、4/26の2つの回路の折衷案。フリップフロップ部分と入力の選択に7400を、出力の選択にMOSFETを用いている。

フリップフロップ [デジタル回路]

2007年4月25日

flip flop
RAMの基本となる、記憶回路。記憶自体は2つのNANDで実現できるが、選択信号による接続・非接続の部分に3つのNANDが要りそう。再考の余地あり。

もしかしたらこの部分は、はじめからMOSFETで組んだ方が楽かもしれない。

flip flop

一方で、ROMの方はダイオード一本で1ビット出来そうである。もしかしたら、ROMの容量を上げて、RAMの容量は必要最小限に抑えるかもしれない。

XOR回路 [デジタル回路]

2007年4月25日

XOR
XOR回路はすなわち、ビット加算回路である。キャリービットは、入力値のANDで得られる。多ビットの加算には、この加算回路を二つ用いる。この場合のキャリービットは、両方のキャリービットのORで得られる。

NOR回路 [デジタル回路]

2007年4月25日

NOR
NOR回路の入力には、オープンコレクタでないものを用いる。プルダウンしておき、ダイオードを介した入力を直接つなげてしまう。

NAND 回路 [デジタル回路]

2007年4月25日

NAND
基本的には、オープンコレクタを多用することになると思う。上記のMOSFETを用いた回路の出力はオープンコレクタではないが、オープンコレクタとして用いるときは、MOSFETを一つだけ用いればよい。

序文 [一般的なこと]

2007年4月24日

そもそもの始まりは、つい先日 NHK の熱中時間という番組を見たことである。番組の中で、姫路城の23分の1の模型を20年近くかけて制作された方を紹介していた。

これはすごい!私も何かやりたいと。私も、少年であったころからの夢を実現させるべく、立ち上がることにした。その夢とは、コンピューターの自作である。
   後の記事>>