2023-06-17 20:25 — asano
カテゴリー:
前回のと一緒に調達したものがいくつかあるので何回かに分けて取り上げようと思います。
これはAm2901 4ビットスライスALU、AMDのAm2900ファミリの一員です。
以前取り上げたIDM2911もこのファミリ(セカンドソースですが)ですね。
その時も書いたようにこのファミリは一般的なプロセッサとペリフェラルといったものではなく、プロセッサを構成するための部品の集合体です。しかも決まった完成形があるわけではなく、すべてが回路設計者に任されています。命令デコーダは各自設計する必要があるのでAm2900命令セットといったものは存在しません。
さてこの2901ですが、簡単に言えば加減算と論理演算が可能なALU・シフトレジスタ・レジスタファイルを一体化したようなものです。ビット長は4ビットしかありませんが複数並べることで拡張できますし、必要ならルックアヘッド(2902)も用意されています。
40ピンもあるのは、74LS681などと異なりデータ入出力が独立していること、レジスタファイルの2ヶ所を同時参照するためアドレスが2組あること、複数個連結する際にキャリ/ボロー以外に双方向シフト用の線が必要なこと、などの理由でしょう。とにかく必要そうな線は全部外部に引き出した感じで、自由度は高そうです。
これを拡張したデバイスも存在します(私は持っていません)。
Am2903は機能拡張版です。
- レジスタファイルを外部で拡張可能
- パリティ・符号拡張
- 乗除算
- 正規化
データシートをざっと眺めただけですが、乗除算とかってどうするのだろう? 74AS888みたいにビット数に応じて複数回実行するのかな。
ピン数は48ピン(DIPの場合)に増えます。
Am29116は1つで16ビット扱えるようにしたものですが、単純にAm2901が4つ入っているわけではないようですね。入出力もマルチプレクスになっていますし、レジスタファイルの異なるアドレス間の演算もできなくなってしまったようです。単純な置き換えは難しいでしょう。
こちらは珍しい52ピンです。
コメント
シンCPUの創りかた
今ちょうど、作者のスダ様が、Am2901とUVEPROMを使ったμCode型i8080A互換CPUを創っています。
https://twitter.com/sudamin/status/1661930106791796736
https://twitter.com/sudamin/status/1661928713766969344
https://twitter.com/sudamin/status/1662081682143576066
https://twitter.com/sudamin/status/1669349009184665604
コメントを追加