現在地
マイコン
マイコン
マイクロプロセッサ・マイクロコントローラ等です。
NS32032
DCJ11
Iskra EMZ1001
カテゴリー:
しばらく前にTwitter(現 X)でこのEMZ1001を購入された方がおりまして、それでどんな石なのだろうと調べているうちに欲しくなってしまい、遂にポチってしまったのでした。
Iskra社のEMZ1001、末尾「E」は動作温度範囲0~85℃のもののようです。
聞き慣れないプロセッサですが、これはAMI S2000の互換品です。というかIskraとAMIの共同開発らしいのですが、この辺り情報が少なく詳しくはわかりません。それでもEMZ1001とS2000が互換だというのは確かなようなのでS2000のデータシートを元にして書いていきます。
S2000ファミリは命令幅が8ビット、データ幅が4ビットのプロセッサです。
NS32081を追加してみた
カテゴリー:
NS32016ボードのコメントにちょっと書いたようにNS32081 FPUを搭載してみました。
空きエリアに24ピンソケットを置いてNS32081D-10を載せます。
このFPUはたったの24ピンしかないのにバスは16ビットあります。接続は簡単でデータシートの通りにNS32016の同名の信号と接続するのみ、CPU空間のデコードを必要とするMC68881などよりシンプルです。あ、クロックだけはNS32201から引っ張ってきます。
ハードウェア的に接続出来たら次はソフトウェアですが......
NS32016ボード(ソフトウェア編)
カテゴリー:
前回プログラムが動き始めたので、例によってUniversal Monitorの移植を行なっています。似ているプロセッサとしてMC68000をベースに、HEXファイル関係については長いアドレスに対応したH8/300Hが元にしています。
現時点でD(ump), G(o), S(et), L(oad), P(unch)の各コマンドが動作するようになっており、引き続きR(egister)の実装を進めているところです。
ということで気付いたことを書いてみようかと思います。
バイトオーダー
NS32000のバイトオーダーはリトルエンディアンなのですが、命令語に含まれる即値やディスプレースメントなどはビッグエンディアンで格納されます。
面白いのはディスプレースメント(絶対アドレッシングのアドレスも含む)は可変長で、最初のバイトの最上位ビットが"0"なら符号付7ビット、上位2ビットが"10"なら符号付14ビット、"11"なら符号付30ビットになることです。
NS32016ボード(動作確認編)
カテゴリー:
今回はNS32016ボードの組み立て終わってからUniversal Monitorの移植を始めるまでの動作確認編をお送りします。
まずは発振器とTCUのみで動かしてみます。CPU→TCUの信号が数本あるので仮にプルアップしておきます。これでPHI1, PHI1が出ていることを確認します。
リンギングが酷いですが、とりあえずTCUは動作してそうですね。
NS32016ボード(ハードウェア編)
TMS7000
カテゴリー:
未動作のプロセッサが積み上がってる自覚はあるんですが、珍しいプロセッサ見かけるとつい買ってしまいます。一期一会な面がありますからね。
というわけでこれ。
Texas InstrumentsのTMS7000です。
TMS7000ファミリは8ビットのシングルチップマイコンですが、この7000はROM無しのものです。他に2kB/4kBのマスクROM内蔵のものやピギーバックなどもあります。
このファミリには動作モードが以下の5つあります。