パーソナルなコンピュータの数値演算事情 (第4回:16ビット)

カテゴリー:

8086, MC68000, Z8000といった16ビットプロセッサになると加減乗除の命令を持っているのが一般的になります。もちろん1命令で16ビット幅の演算が可能で、MC68000などは32ビットまで可能でした。

まだ浮動小数点演算命令は持っていないのが一般的でしたが、NEC V60やPanafacom MN1613のように浮動小数点の加減乗除の命令を持っているものもありました。

また内蔵していないまでも外部に浮動小数点演算プロセッサを接続できるようになっているものもありました。前回取り上げた MM57109, Am9511, Am9512 はI/Oデバイスとして接続するものでしたが、プロセッサの命令を拡張する(浮動小数点演算命令が追加される)タイプが登場します。

Intelの8087は 8086, 8088 に追加することで浮動小数点演算命令が使えるようになります。

パーソナルなコンピュータの数値演算事情 (第3回:8ビット後期)

カテゴリー:

8ビットマイコンでも集積度が上がってくると乗算や除算命令を持つものが出てきます。

日立のHD64180はZ80の拡張ですが、8ビット×8ビットの乗算命令が追加されています。

MotorolaのMC6809にも8ビット×8ビットの乗算命令が含まれています。

Zilog Z8の上位のSuper8シリーズは乗算に加えて16ビット÷8ビットの除算命令も持っています。

プロセッサに内蔵せずともCDP1855のような外付けの乗除算ユニット等もありました。これはRCA CDP1802ファミリの乗除算ユニットで、単独で8ビット×8ビットの乗算・16ビット÷8ビットの除算が可能です。最大4段まで接続でき32ビット×32ビットの乗算・64ビット÷32ビットの除算まで拡張することもできました。

浮動小数点演算については8ビットプロセッサで内蔵したものは見たことがありません。当然ソフトウェアで処理することになりますが、(少なくとも当時は)複雑な処理だったのでライブラリとして提供されたり、書籍や雑誌記事にもよく書かれていました。

パーソナルなコンピュータの数値演算事情 (第2回:8ビット前期)

カテゴリー:

今回からパーソナルということでマイコンの事情について見ていきましょう。

8080, MC6800, 6502といった初期の8ビットマイコンの直接扱える数値はもちろん8ビットの整数です。16ビットのレジスタを持ったものもありますが主にアドレス指定のためのもので使える演算が限られていたり自由度の低いものでした。

この頃になると数値のビット表現は2進で負数は2の補数に収束しています。ただ10進演算の需要自体は残っているため、8ビットを2つに分けて10進2桁として使用するための補正命令を持っているものもありました。通常の加算命令と組み合わせることで10進の加算ができるというものです。

演算は2項演算としては加算・減算・比較・AND・OR・XORあたり、単項演算では符号反転・ビット反転・シフト・ローテートくらいを持っているのが一般的でした。中には符号反転+加算で代用できるからと減算命令を持たないものがあったり、各社の考え方や想定している用途等で微妙に異なってはいます。

乗算や除算命令は無いのが普通で、必要とあらばソフトウェアで処理をします。

パーソナルなコンピュータの数値演算事情 (第1回:パーソナル以前)

カテゴリー:

今は汎用の(組み込みではない)コンピュータでは最低でも32ビットの整数が扱え浮動小数点演算もハードウェアでサポートされるのが当たり前になっています。

今回はこのあたりの事情について何回かに分けて書いていきたいと思っています。

第1回は個人で使えるようになる以前の話です。

まずは黎明期の有名なコンピュータをいくつか挙げてみましょう。

ガス式ハンダゴテ

テーマ:

カテゴリー:

しばらく前から探していたガス式ハンダゴテをやっと見つけました。

コテライザー AUTO mini
コテライザー AUTO mini、自動着火でもっとも小型のタイプです。買ってからだいぶ経っていると思いますが現行機種のようですね。

青色の部分がタンクになっていてブタンを主成分とするガスを入れて使います。白い大きなものが点火スイッチで、すぐ下には火力調整のレバーがありますね。

コテ先はもちろん交換可能で、コテ以外にもホットブローとしても使用可能です。右上に写っているのがそうで、確か標準の付属品だったと思います。どちらかというとコテとしてよりホットブローの方が重宝しましたね。

P8052AH-BASICを動かす(動作編)

テーマ:

カテゴリー:

ハード編に引き続き今回は動作編です。

P8052AH-BASICはリセットしてもシリアルに何も出力してこないのでちょっと不安になりますが、スペースを送ってあげるとオープニングのメッセージが返ってきます。このスペースでターミナル側のボーレートを検出して自動的に合わせるようになっています。

クロック周波数をテキトーに決められるのはありがたいです。

間違ってスペース以外を送るとボーレート検出に失敗して正常に表示されないことがあります。その場合はリセットし直すしか無いと思います。

画面
無事に立ち上がったところで簡単なプログラムを動かしてみました。

P8052AH-BASICを動かす(ハード編)

テーマ:

カテゴリー:

P8052AH-BASICでボード製作中と書いてから一月近く経ってしまいましたが、やっと出来上がりました。

P8052AH-BASIC搭載ボード
動作確認ができる最小限の構成といったところです。

データ用メモリ空間の0000H~7FFFHに32kBのRAMを配置しています。プログラム用メモリ空間には何も接続していない(内蔵ROMのみ)のでBASICを使用する分には問題ありませんがネイティブコードを書いて実行することはできません。簡単な改造で対応可能なのでそのうち追加するかもしれません。

PC-MA-K30 (分解編)

カテゴリー:

先日のPC-MA-K30ですが、いつものように中を覗いてみましょう。

まずはコードの根元のネジを外します。

小カバーを開く
これで小さなカバーが外れます。

私はそのままにしましたが、コードが邪魔ならコネクタを2つ外せば分離することができます。

先端のゴムのカバーはツメと両面テープの併用で固定されていましたが、両面テープの糊はパリパリになっていて簡単に外れてしまいました。

本体はカバーで隠されていたネジを1つ外せばあとはツメで固定されているだけです。

TI TL7700

テーマ:

カテゴリー:

最近では大物の出土は滅多にありません。今回のも超小物ですね。

TL7700CP
Texas InstrumentsのTL7700CP、電源監視回路いわゆるリセットICです。

「J345A」がデートコードなのですが年が1桁なので1983年なのか1993年なのか不明です。さすがに1973年ということは無いはずですが、2013年というのは可能性あるのかな。

トランジスタ技術1983年6月号に『電源電圧監視用IC TL7700シリーズ』という記事がありました。確認したら今でも製造販売されているので息の長いデバイスですね。

プライベートではこの手のICは使わずにC,R,Dで済ませてしまうことが多かったですが、なぜか持っていたようです。

ページ