[PR]子育てママさんへ:3年毎に15万円うけとれる医療保険?
KL5C8400
KL5C8400とは
川崎製鉄社のZ80互換マイコンシリーズのひとつです。
これらはザイログ社のZ80とオブジェクトコードレベルで互換があり、
さらに同クロックならZ80よりも高速に動作します。
データバスが8ビットであるKL5C8xxxシリーズの他に、現在は
16ビットバスをもつKL5C160xxというシリーズもリリースされました。
これらのシリーズの中でも特にKL5C8400はハード的にも互換性があり
(Z80モードを選べば)基本的にはZ80と差し換えるだけで動作させることができます。
形状がQFP44PなのでDIP40Pのものと差し換えるには変換基板が必要ですが
各社からそういう形になったモジュールが発売されています。
なぜKL5C8400になったのか
この計画を思い付いたころには8012が出たばかりで最初これを使おうと考えていました。
しかし8012(とその後の80xxも)はチップ内部にIOを持っており、
このアドレスがPC88側でつかっているIOとバッティングしてしまうのです。
日立製作所のHD64180などには内部のIOアドレスを変更出来る機能がついていますが、
KLシリーズは完全に固定です。
これに気付いたのは既にチップを手に入れた後だったので、うまく回避出来ないか散々
悩んだのですが、どう考えても相当巨大な回路が必要でとても実現出来ませんでした。
(具体的には命令フェッチ時に動的にコードを差し換えるというような回路をメモリとCPUの
間にはさむという感じのものです。
IN A,(00H)というものならまだしもIN A,(C)とかをフォローするにはCPUと同じように
命令を解析してCレジスタを追わなければいけません。さらにLD C,Aの様にCレジスタが
他のレジスタから代入されることを考えると結局すべてのレジスタの値を追跡すること
になります。これではCPUを作っているのと同じ事になってしまいます。
幸か不幸かコードサイズは同じなのでCの値がわかればIN A,(0xxH)のような即値型に
して差し換えることはできますが・・・。)
そのうちに内部IOを削除したものが出るというアナウンスがあり、
結局それがリリースされるまで待つことにしました。
なお内蔵IOアドレスのバッティング問題は現在のKL5C160シリーズ
(KL5C16030,KL5C16005)においても発生し、これらを
PC88に持って来るのは相当困難だと思われます。
発表されたKL5C8400は、外部バス動作がそれまでの1アクセス1クロックという
独自のものからZ80互換な動作に変わっていました。
単純な差し換えならばこの方がありがたいのですが、本体(今回はPC88)側と
違うクロックで動かす場合特にメリットはなく、逆にデメリットとなります。
いろいろ理由はありますが、
アクセラボード内のクロック周波数が高くなる
Z80のバス信号のタイミングは不便である
の2つが挙げられます。
Z80のアクセスは最速時3〜4クロックかかります。
これは先程の1アクセスに1クロックで済むものと同等の速度を
出すには3〜4倍の周波数を要求することになります。
2番目はミもフタもない言い方ですが、
事実であることはZ80を使ってみた方なら理解して頂けると思います。
/WAITを作るのが忙しいとか、M1サイクルがある、/WRが出るのが遅い
(もちろんその意図も理解していますが)というのは
高速動作させる場合大きな懸念事項となります。
しかし内部16bit処理や最大33MHzという高速動作は非常に魅力的に映り、
(当時)自分に手に入る最も高速なZ80互換プロセッサーだろうという結論に至りました。
前へ
次へ
目次へ戻る