Almost lost technologies

ここは昔の CPU を用いた工作記事を書くために用意しました。

並行して別工作検討中

あんまり進捗なし、というか Disassembler の方しかやっていないのですが、ハンダゴテが握りたくなってきたこと、遅いプロセッサ流行中に思えるので、昔入手してあったプロセッサと遊ぶべく考え中です。

i8008 cerdip

i8008

参考:Intel_8008_8-Bit_Parallel_Central_Processing_Unit_Rev4_Nov73

(1) 外部信号の処理
ネット上で見る回路例だと、普通の LS や ALS を繋いでいるのを見ますが、一応 Intel の模範例 (MCS-8) ですとドライブは Signetics の 8267 (2x4 Open-collector multiplexor) で、受けは SN74L04 です。受け側の 74L04 が曲者で、実は TTL では 74L シリーズのみ入力の負電圧クランプダイオードがありません。

MCS-8 のデータバス

・74L04, 8267 とも入手困難。多分 i8008 より困難。
・i8008 の仕様だと 0.44mA 吸い込んだときに 0.4V 以下、との規定しかない。従ってドライブ先が軽いと出力レベルは負電圧になりうる。また電流流し込みの Max 定格規定はない。

今の汎用ロジックでは入力に負電圧側のクランプの入っていないものはありませんから、直結するとクランプダイオード経由で電流が流れ込み、i8008 にストレスを与える可能性があります。貴重な i8008 をこれではまずいので、電流制限する方向で考えます。受けは 74HCT245 の方向で。

まず74HC系では受け側のクランプダイオードは 10mA 程度流せるようなので、あんまり気にする必要はないです。AVRだけちょっと嫌なので、一応ダイオード噛ませておきます。
出側で考慮するのは i8008 側だけですが、TYP 値では 0.4V @ 1.4mA (全温度範囲で) なので実力は 6.7kΩぐらい。電流を半分にする (ただし 9-0.7=8.3V で) で、5.6kΩぐらいを噛ませます。このとき負荷時定数は、負荷 15pF とすると

15pF * 5.6kΩ ≒ 84nS 

なので流石にやや遅い。なので、5.6kΩに 33pF 位のコンデンサを抱かせてみます。

今回分

 

この辺は石の実力との見合いがあるので実物を見ながら調整します。抵抗はもっと小さくていいような気も……。
なお、MSC-8 では DBIN でピン側に電流を供給している回路が入っていますが、これは 8267 がオープンコレクタであるため入力時に電流を流しているという理由で、CMOSドライブなら考慮の必要はありません。

(2) クロック
i8008 と i8008-1 とでタイミングがかなり違ったりします。今回の i8008-1 の場合、Φ1=H から 350nS→200nS→350nS→350nS の非対称2相クロック (フルスイング TTL レベル) なので、50nS、つまり 20MHz で、7/4/7/7 の 25分周でクロックを生成します。まあ、こんなのは GAL で作るしかない。普通に作るなら25分周カウンタから適当に論理組んで作るところですが、ちょっと細工して減らします。実際にはボーレードの関連で 19.6608MHz です。

 

回路図 1/2

回路図 2.2