2017-08-16 22:10 — asano
カテゴリー:
NS32C201に引き続きFPUのNS32081も確保できました。
10MHz版のNS32081D-10です。32ビットまたは64ビット浮動小数点数の加減乗除が可能です。
NS32000ファミリの一員でNS32008, NS32016, NS32032にそのまま接続可能ですが、FPUとしては比較的初期の登場であったためか他のプロセッサとともに使用されることも多かったようです。MC68881登場以前はMC68000シリーズにも接続されたとか。
全24ピンのうち電源に3本とデータバスに16本、クロックとリセットに1本ずつ使われ、アクセス制御に残るのは3本だけです。その3本とはST0,ST1とSPCで、この3本だけで次のようなアクセスを実行します。
- 対象となるスレーブプロセッサ(今回はFPU)を選択する
- オペレーションを書き込む
- オペランドを書き込む
- ステータスを読み出す
- 結果を読み出す
SPCはタイミングを取るために使われるので、ST0,ST1だけで上記のアクセスを区別しなくてはなりません。当然のことながら状態が不足するのでシーケンスを含めて解釈されることになります。データ転送の方向すらシーケンスを考慮しないとわからないので、CPUとFPU(他のスレーブプロセッサも)の間にバッファを置くのは面倒なことになりそうです。
National Semiconductorのデバイスは下面にマーキングがあるものが多いですね。
ところでこれまでに多くの浮動小数点プロセッサを紹介してきました。持っていないものも含め有名どころを比較してみましょう。
名称 | 対応CPU | フォーマット | 演算 | 備考 | ||
---|---|---|---|---|---|---|
32bit | 64bit | 80bit | ||||
MM57109 | 汎用 | BCD 仮数8,指数2 | 超越関数を含む | 関数電卓をCPUに接続できるようにしたようなもの | ||
Am9511 (8231A) | 汎用 | あり | なし | なし | 超越関数を含む | |
Am9512 | 汎用 | あり | あり | なし | 四則演算のみ | |
8087 | 8086 / 8088 | あり | あり | あり | 一部超越関数を含む | tanはあってもsin,cosはない、tanの引数は0~π/4に限られるなど制約が多い |
80287 | 80286 | あり | あり | あり | 一部超越関数を含む | tanはあってもsin,cosはない、tanの引数は0~π/4に限られるなど制約が多い |
80387 | 80386 | あり | あり | あり | 一部超越関数を含む | sin,cos,tanの引数は0~π/4に限られるなど制約が多い |
80486 | あり | あり | あり | 一部超越関数を含む | 80486はFPU内蔵 FPU無しの80486SX用に80487SXもあり |
|
MC68881, MC68882 | 68020, 68030 | あり | あり | あり | 超越関数を含む | |
MC68040 | あり | あり | あり | 四則演算のみ | MC68040内蔵のFPUはMC68881/MC68882互換だが超越関数等は削除されており、ソフトウェアによる対応が必要 | |
NS32081 | NS32000シリーズ | あり | あり | ? | 四則演算のみ | |
NS32381 | NS32000シリーズ | あり | あり | ? | 四則演算のみ | |
μPD72191 | V20, V30, V40, V50 | あり | あり | あり | 超越関数を含む | |
μPD72291 | V33 | あり | あり | なし | 超越関数・ベクトル演算を含む | |
V60(μPD70616) | あり | なし | なし | 四則演算のみ | ||
μPD72691 | V53, V60, V70(μPD70632), V80(μPD70832) | あり | あり | なし | 超越関数・ベクトル演算・行列演算を含む | |
Z8070 | Z800, Z8000, Z80000 | あり | あり | あり | 四則演算と開平 |
参考文献・関連図書:
NS32081-10/NS32081-15データシート, National Semiconductor.
関連項目:
コメントを追加