MB-S1/10

2012年2月13日月曜日

HD63C09Eについて

私のS1に載せているMPU、HD63C09Eについてですが、S1はFM−7やFM−11と違い、元々本体基板にCPUソケットで載っていたHD68B09Eを取り外して、そのままその空いたソケットに挿すだけという簡単な改造でパワーアップするというものです。
それを知ったのは工学社のパソコン通信「TeleStar」にあった日立のクローズドユーザーズグループ「S1クラブ」ででした。ただ差し替えるだけという簡単な改造でパワーアップ。素人の自分にでもできると言うことで、早速秋葉原にHD63C09Eを買いに走りました。
68B09が2MHzで駆動するのに対して63C09は3MHzで駆動するので、そのままだと実質的には1.5倍の速さになるのですが、実はHD63C09Eの真の力はそれだけではなかったのです。
HD63C09Eはモトローラの究極の8ビットMC6809のセカンドソースとして日立が開発したMPUなのですが、CMOSバージョンでクロック処理が3MHzというだけの違いではありません。実は内部のアーキテクチャが秘密裏に拡張されていて、内部処理としてはほぼ16ビットのMPUとして動いていたのです。しかも普段は6809と同じ動作をすることで、その機能を封じ、あたかも6809の3MHz版として自らをカモフラージュしていたのです。
これは、通常の6809モードを「エミュレート」、高速処理モードを「ネイティブ」と呼んでいることから、本来の姿は16ビットのネイティブなんだと言うことの表れだと思います。
こんなにワクワクする話って滅多にないですよね。自分もそれを知ってワクワクしていてもたってもいられませんでした。すごいぞ!日立!と思いましたから。
HD63C09のレジスタアーキテクチャ
(灰色部分は新設レジスタ部分)

HD63C09Eは内部的にはレジスタが7つ追加されて命令セットも拡張されていたので、命令実行もネイティブでは30%高速になるとのことです。これをネイティブとして動かすためには、とあるレジスタ処理を行うだけなのですが、数行のマシン語プログラムを実行するだけでさらなるスピードアップ、本来の16ビットの実力を発揮することになります。
ディスクベーシックの起動時にそのプログラムを自動で読み込ませていれば、簡単ですね。
自分は通常ディスクベーシックを拡張したDISK++とYShellを組み込んでいたので、YShellのコマンドとしてNATIVEとEMULATEを打ち込んでネイティブモードとエミュレートモードを切り替えていました。
ネイティブにすると、6809から6309に載せ替えたときに変わったクリック音がさらに高音に変わって、それだけでも処理が速くなっていると感じられたものです。
HD63C09Eはモトローラの契約に反した改造だったので、とんでもない騒動に発展したとのことですから、今は手に入れる事ができるのかどうか・・・
もし、まだS1を動かしているという方は、6309にしてみてはいかがでしょうか?

0 件のコメント:

コメントを投稿