IC・トランジスタで出来たコンピューターを設計・製作するためのブログ
Jeans & Development | 電子ブロック工房 | 三日坊主 | フロントページ |
KM-Z80 mini + カセットテープインターフェース [PIC]
2013年6月10日
KM-Z80 mini version 0.182 [PIC]
2013年2月10日
最新のPIC32MX150F128Bの仕様では、Max Speed MHz が 50 になっている。以前は40 MHzであったので、KM-Z80 miniも40 MHzで動かしていた。
この1.25倍の速度の違いが、KM-Z80 miniの開発に於いては非常に大きい。と言うのはPIC32MXの実行速度が、MZ-80Kをエミュレートするのにぎりぎりであったからである。CPUのリソースのうち、4割ほどがビデオシグナルの作成に取られていたため、残りの6割しかZ80-CPUのエミュレーションに使えなかった。この状態で、速度調整のためのウェイトルーチンをいっさい入れなかった場合に、かろうじておおよそ2 MHzでZ80が動いていた。
PIC32MXが、今までの1.25倍の速度で動くと、Z80のエミュレーションは1.25倍どころか、もっと速くなる。と言うのは、ビデオシグナル作成も速くなるため、より多くの時間をZ80のエミュレーションに費やすことができるようになるからだ。
この1.25倍の速度の違いが、KM-Z80 miniの開発に於いては非常に大きい。と言うのはPIC32MXの実行速度が、MZ-80Kをエミュレートするのにぎりぎりであったからである。CPUのリソースのうち、4割ほどがビデオシグナルの作成に取られていたため、残りの6割しかZ80-CPUのエミュレーションに使えなかった。この状態で、速度調整のためのウェイトルーチンをいっさい入れなかった場合に、かろうじておおよそ2 MHzでZ80が動いていた。
PIC32MXが、今までの1.25倍の速度で動くと、Z80のエミュレーションは1.25倍どころか、もっと速くなる。と言うのは、ビデオシグナル作成も速くなるため、より多くの時間をZ80のエミュレーションに費やすことができるようになるからだ。
KM-Z80 mini α version [PIC]
2012年12月23日
KM-Z80 mini + keyboard [PIC]
2012年12月16日
4 bit RISC CPUの回路 [CPU]
2012年12月11日
KM-Z80 mini 進捗 [PIC]
2012年12月9日
32ビットPIC(PIC32MX150F128B)を用いた1チップMZ-80K互換マイコン作成の進捗状況。NTSCビデオ信号送出とZ80 CPUのエミュレーションまで完成し、モニタープログラムが起動するところまで来た。

現在、PS/2キーボードからの信号を処理する部分を書いている。これが済めば、とりあえずコンピューターの体を成すことになる。

現在、PS/2キーボードからの信号を処理する部分を書いている。これが済めば、とりあえずコンピューターの体を成すことになる。
4 bit RISC CPU [CPU]
2012年12月4日
RISCアーキテクチャを用いたCPUに変更する事になりそうだ。
新しいCPUの仕様に従って、回路をこつこつと設計していたのだが、7割ほど出来上がったところで問題が発生した。どうやら、今の設計では、小規模のCPLD(マクロセル64以下)には収まりそうもなく、比較的規模の大きいCPLDか、FPGAの規模になってしまいそうである。
こうなると、まず最初のCPUをCPLDの中に納めるという短期目標が難しくなり、トランジスターで組むという最終目標はほとんど達成できそうもない。今のまま進めても、CPLDレベルや汎用ロジックのレベルでは何とかなるかも知れないが、最初の設計の段階で手を打っておかないと、後で一からやり直しということになりかねないように思う。
CPUをなるだけ簡単にするという事で真っ先に思い浮かぶのはRISCアーキテクチャで、4ビットのCPUもこれで出来ないかと、少し考えてみた。

新しいCPUの仕様に従って、回路をこつこつと設計していたのだが、7割ほど出来上がったところで問題が発生した。どうやら、今の設計では、小規模のCPLD(マクロセル64以下)には収まりそうもなく、比較的規模の大きいCPLDか、FPGAの規模になってしまいそうである。
こうなると、まず最初のCPUをCPLDの中に納めるという短期目標が難しくなり、トランジスターで組むという最終目標はほとんど達成できそうもない。今のまま進めても、CPLDレベルや汎用ロジックのレベルでは何とかなるかも知れないが、最初の設計の段階で手を打っておかないと、後で一からやり直しということになりかねないように思う。
CPUをなるだけ簡単にするという事で真っ先に思い浮かぶのはRISCアーキテクチャで、4ビットのCPUもこれで出来ないかと、少し考えてみた。

CPUの仕様を若干修正 [CPU]
2012年11月22日
CPLDで回路を組んでいる途中で気が付いたことに対応するため、命令の順を若干変更した。

変更したのは、演算命令のssの位置と、それに伴って上位3ビットを011から010に(こうすることで、ソースの指定が 0ss になる )したこと。ソースをbit3-5に固定、デスティネーションをbit0-2に固定するため、ロード命令のsssとdddを入れ替えたこと。インクリメント・デクリメントとリテラル値のSレジスタへの代入を余った領域に割り当て直したこと。
これらの変更で、回路が若干簡略化される。

変更したのは、演算命令のssの位置と、それに伴って上位3ビットを011から010に(こうすることで、ソースの指定が 0ss になる )したこと。ソースをbit3-5に固定、デスティネーションをbit0-2に固定するため、ロード命令のsssとdddを入れ替えたこと。インクリメント・デクリメントとリテラル値のSレジスタへの代入を余った領域に割り当て直したこと。
これらの変更で、回路が若干簡略化される。