マイコン

マイクロプロセッサ・マイクロコントローラ等です。

Z8671

2019-01-28 22:03 — asano

テーマ

カテゴリー

前から欲しいと思っていたBASIC内蔵マイコンのZ8671が手に入りました。

Z8671B1
オリジナルはもちろんZilogのZ8671、これはSGS製のセカンドソース品ですね。2kBのマスクROM内蔵のZ8601にTiny BASICを格納したものです。

「A」が付かないので8MHz品、プラスチックパッケージで動作温度範囲は0~70°Cのものです。

クロックの定格は8MHzですが、シリアルのボーレートを一般的なものにするためには7.3728MHzとする必要があります。

これにRAMを接続してターミナルを用意すればBASICが使えます。

さらにBASICプログラムをROM化することもでき、決まったアドレスにROMを用意すれば自動実行されます。速度が問題にならなければBASICで組み込みシステムもできるわけです。

AMD Am9511A APU

2019-01-09 23:01 — asano

テーマ

カテゴリー

浮動小数点プロセッサのところにIntel 8231Aがありますが、オリジナルを手に入れました。

Am9511ADC
AMDのAm9511ADC、APU(Arithmetic Processing Unit)と呼ばれていたものです。1986年製のCERDIP品です。

残念ながら2MHz品(3MHz品は末尾がA-1DC、4MHz品はA-4DC)ですが、今さらパフォーマンスを求めはしないので別にいいかな。

裏側
これは裏側、フィリピン製であることがわかりますね。

1820-2151を試してみました

2018-12-30 18:47 — asano

テーマ

カテゴリー

1820-2151のところで実体はMC6802Lであると書きましたが、本当かどうか実際に動かしてみました。

SBC6800に下駄
MC6802を動かす最も簡単な方法はSBC6800に載せてみることです。そのままでは載らないので変換用の下駄を介して積むことにしました。

SBC6800からMPU MC6800と片方のPIC12F1822を抜いて下駄を載せます。

Z80 CPU 再び

2018-12-29 23:11 — asano

テーマ

カテゴリー

Z80 CPUは以前も取り上げましたが、その後手に入れたものを紹介したいと思います。

Zilog Z8400A DSH
最初のこれはZilogのZ8400A DSHです。

私が初めて単体で買ったCPUがZ80でしたが、1983年のことなので普通に秋葉原などの店頭で売られているものは既にプラスチックDIPの時代になっていました。なのでこのようなCERDIPを入手したのは最近になってから、それも海外から中古品を探してです。

「A」はクロック4MHzを、「D」はパッケージのCERDIPを、「S」は動作温度範囲が0~70°C(つまり民生用)を表します。「H」はちょっと探してみた限りではわかりませんでした。

1820-2151

2018-12-27 23:39 — asano

テーマ

カテゴリー

こんなのを買ってしまいました。Motorolaロゴがありますが、見慣れない数字の型番です。

1820-2151
最初に秋葉原の店頭で見かけたのは金曜日でした。正体がさっぱりわからないので購入はしなかったのですが、なんか気になったので型番だけ控えておいたのでした。

土曜日にZ280のボードを弄っていた時ふと気になって「1820-2151」で検索してみたところ、Hewlett-Packardの部品番号でMC6802Lらしい(リンク参照)ということがわかりました。

そうとわかると俄然欲しくなります。すでに夕方だったので、翌日(日曜日)の朝一でまだ売れていないことを祈りつつ駆けつけて入手できたのでした。

Z280ボード(解決編)

2018-12-25 23:45 — asano

テーマ

カテゴリー

作ったけど動作していなかったZ280ボード、動くようになりました。今回はその過程を書いてみたいと思います。

まずは私の常套手段、周波数カウンタであちこち測定してみました。動かすたびに状況が異なることがあるのですが、かなり高い確率で次のようになっていました。

Z280ボード(製作編)

2018-12-23 23:45 — asano

テーマ

カテゴリー

以前入手したZ280ですが、持っているだけではなんなのでボードを作ってみました。

Z280ボード
これがZ280ボード、メモリ回路とか結構面倒なのでまずは動作確認ということで既存ボードのZ80 CPUを置き換える形で製作しました。

Z280にはZ80と同じ8ビットバスのモードと、Z8001と同様の16ビットバスのモードがあります。ここでは前者を使うことで比較的容易にZ80の代わりに使用することが出来ます。

まずデータバスとアドレスバスがマルチプレクスされていますので、74HC573でアドレスをラッチして分離します。74HC04はラッチ信号ASの反転用です。

MAA-1を小改造(復活!)

2018-12-09 15:54 — asano

テーマ

カテゴリー

いろいろやってMAA-1は復活しました。今回はその経過を書いてみたいと思います。

最初、Z8613を動かす (その3:苦戦中...)のようにアドレスバスの周波数をみようとしたのですが、リフレッシュアドレスやI/Oアクセスなどの命令フェッチ以外のアドレスが混じってしまいます。たとえテスト用に短いループにしてもリフレッシュアドレスは排除できません。

仕方ないのでアドレスは諦めて他から動きを推測することにします。

まずROMの先頭から C3,00,00 とJP nn命令による無限ループを書いてM1の周波数を測ると400kHzでした。M1は一周に1回(C3をフェッチ直後に)出るので、4MHz÷400kHz=10となって一周10クロックとなりJP nn命令のステート数と一致します。

同様に 18, FE とJR e命令にすると333kHz、4MHz÷333kHz≒12となってやはりJR e命令のステート数に一致します。

MC68000系のメモリ事情(その3:MC68020以降)

2018-12-04 23:14 — asano

テーマ

カテゴリー

MC68020で外部バスがデータ・アドレスともに32ビットとなってメモリは当初計画のフルスペックの4GBとなりました。とはいえ登場した頃はまだ4GBのメモリを必要とする応用など無かったのでアドレスデコードが面倒くさいだけと思った人も多いでしょう。

ここまできてもメモリ管理ユニット(MMU)は内蔵されていません。メモリ空間の拡張のためにもMMUを必要とした80286などと異なり、必要性がそれほど無かったからかもしれません。
それでも仮想記憶には必要なので外付けとして用意されました。一つはMC68000,MC68010用のMC68451を拡張したらしいMC68461ですが、残念ながら詳しい資料が見当たりません。もう一つはMC68851、こちらは一部のパソコンなどにオプションで搭載できましたからそれなりに知られていました。いずれも論理メモリ空間・物理メモリ空間はともに4GBです。

命令フェッチのみですが256バイトのキャッシュも内蔵されました。

MC68000系のメモリ事情(その2:MC68010)

2018-12-03 21:26 — asano

テーマ

カテゴリー

MC68010の前にMC68008について書いておきましょう。

Intelの8088に対抗して小規模向けに作られたのがMC68008です。データバスが8ビット、アドレスバスが20ビットに縮小されています。メモリ空間は1MBとなります。

アドレスは内部32ビットのうち必要な分を外部に引き出しているだけなのでメモリ空間のサイズが変わってもソフトウェアでの扱いは変わりません。

これで不足するなら素直にMC68000を使えということです。

それでは本題のMC68010を見ていきましょう。

ハードウェア的にはMC68000と互換でそのまま挿し換えもできます。当然バス幅にも変更はなく、メモリ空間も16MBのままです。ソフトウェア的にはさまざまな改良点がありますが、メモリに関するものには次のようなものがあります。