ダイコンCPU検討まとめ

ダイコン(ダイオードコンパレーター)CPUの検討したときのメモ
2
PentliumEE @7GHz

高価な高速コンパレーターをたくさん使うわけにはいかんので、速度はある程度妥協するしかないなぁ、LM113だと500KHzぐらいが限界っぽい。

2023-06-14 00:38:52
PentliumEE @7GHz

(そもそも低レイヤーCPU界で500KHzは結構早い部類だとおもうので)

2023-06-14 00:40:05
PentliumEE @7GHz

消費電流が面白いことになってる pic.twitter.com/WJNayQCH3G

2023-06-14 01:37:08
拡大
PentliumEE @7GHz

どの抵抗を電流が通るか順次切り替わるからこういうことになるんやね。

2023-06-14 01:38:26
PentliumEE @7GHz

今入手困難な74182ロジックを真似すれば74181と合わせて高速な16bitALUが作れるな?

2023-06-14 09:04:45
PentliumEE @7GHz

まあ、今回のCPUは8bitアーキなので8bit分で十分だけど

2023-06-14 09:05:51
PentliumEE @7GHz

もしくは変則的な12bitアーキ?

2023-06-14 09:07:04
PentliumEE @7GHz

データバス16bit ALU 12bit アドレスバス 24bit とか言う変則アーキ思いついちゃった。

2023-06-14 09:14:53
PentliumEE @7GHz

データバスの余った4bitは演算したときのフラグとかを保存できるようにする。プラスマイナスもコード上はノーコストで実装できるようになるはず。

2023-06-14 09:17:05
PentliumEE @7GHz

ダイコンCPUのレジスタアーキテクチャと命令セット(暫定) pic.twitter.com/dwghgNkevW

2023-06-16 02:01:31
拡大
拡大
PentliumEE @7GHz

ちなみに74182はこんな感じ。 pic.twitter.com/2kmBQovc3l

2023-06-14 09:22:04
拡大
PentliumEE @7GHz

この間思いついた通り、各バス幅は アドレスバス 24bit データバス 16bit ALU 12bit

2023-06-16 02:02:46
PentliumEE @7GHz

命令長は16bit、RAMのデータバスも16bit

2023-06-16 02:06:18
PentliumEE @7GHz

データバスはフラグレジスタを各個別にもたせる。 キャリーおよび、シフトの情報をもたせることで24bitや36bitの計算がやりやすくなる。 また同値フラグなども記録しておくことが可能。

2023-06-16 02:05:18
PentliumEE @7GHz

ちなみにこれだとコンパレータ1段で済む、前段にもう1段必要かもしれないけど。

2023-06-14 09:49:46
PentliumEE @7GHz

【朗報】命令デコーダ、コンパレータ1段で構成可能

2023-06-16 02:40:27
PentliumEE @7GHz

バッファ入れたら2段

2023-06-16 02:40:52
PentliumEE @7GHz

命令デコーダーは最大4bitのデコーダーの組み合わせでできるように作ってある。クロックカウンタも組み合わせれば命令デコーダーも作れるでしょう。

2023-06-16 02:11:11
PentliumEE @7GHz

クロックカウンタとデコーダは動作速度50ns以下の高速コンパレータ使ってもいいかもなぁ

2023-06-16 02:42:28
PentliumEE @7GHz

基本的にエッジ動作が難しい(できるけど回路規模がデカくなる)のでレジスタアーキテクチャもそれに合わせる必要があっったので少し難しかった。

2023-06-16 02:09:35
PentliumEE @7GHz

応答速度は約0.5μs、十分早い。

2023-06-18 00:07:04
PentliumEE @7GHz

74181をせっかく再現するのですべての演算セレクト信号を使えるようにした(無意味

2023-06-16 02:07:47
PentliumEE @7GHz

1bit分で消費電流30mA ということはレジスタだけで消費電流4A(!!!!)

2023-06-18 00:17:35