MYマイコンを作る(5) 
    Comet2eの概要設計


 MYマイコンであるComet2eの概要設計を始めます。

 MYマイコン Comet2eの基本は
「MYマイコンを作る(1)方向付け」で決めたように COMETU です。
 しかし、COMETU は仮想計算機なので、そのままハードウエア化ができません。ハードウエア化するための問題点と対策及びComet2eの概要を設計しましょう。


●ハードウエア化の問題点と対策

 COMETU はパソコン上に仮想計算機を作りシミュレーションように考えられています。このため、COMETU は単独では動作しない仕様になっています。
 具体的に見ていきましょう。


●Comet2eの内部構成

 MYマイコンを作る(3)では、COMETUの構造を考えました。
 この構造は、「処理速度」優先型で、GR0 〜 GR7の汎用レジスタが2出力、レジスタ数が多い、マルチプレクサが多いなど多くのゲートが必要なためComet2eでは再検討です。Comet2eは、FPGAを使うので「ゲート数」は基本論理ブロック(LE)の数になります。

 MYマイコン Comet2eは、少ないゲート数で構成したいものです。
 2出力の汎用レジスタ(GR0 〜 GR7)をCyclone型FPGAで構成すると、記憶部に16ビットX8レジスタ=128LE、マルチプレクサ部が16ビットX8レジスタX2=256LE、合計384LEが必要となります。Cyclone型FPGAの小型タイプで3千LE,中型タイプで10千LEも集積しているので384LEは問題にはならないが単純な回路に384LEを費やすのが何かモッタイナイ気がします。
 CQ出版社「FPGA/PLD設計スタートアップ 2005・2006」を見ていると、「M4K]メモリが4Kx1ビットの構成から128x36ビット構成まで選択できるとあります。
 
 MYマイコン Comet2eでは、汎用レジスタ(GR0 〜 GR7)をメモリに実装することができるか検討しましょう。


●Comet2eの汎用レジスタの構成

 QuartusUでFPGA CyclonUのM4K RAMを使った汎用レジスタ用3ポートレジスタファイルの構成を調べましょう。
 CyclonUのM4K RAMは、4096ビットのメモリで色々な構成ができます。例えば、4Kx1ビットから128x32ビットの構成です。Comet2eでは、16ビットマイコンですので、16ビットx256です。
 
1、CyclonUのM4K RAMを使って入出力レジスタが付いた汎用レジスタ用3ポートレジスタファイルを構成するQuartusUの画面です。矢印の処にチェックするとレジスタが利用できます。




2、CyclonUのM4K RAMを使って入出力レジスタが無い汎用レジスタ用3ポートレジスタファイルを構成するQuartusUの画面です。矢印の処のチェックを外すとレジスタをパスできます。




3、上の2つの構成とは別に「Comet2eの内部構成」で検討した基本論理ブロック(LE)を使って汎用レジスタ用3ポートレジスタファイルを構成することができます。 
 回路構成は、16ビットのレジスタが8組とレジスタを選択する2ポートのセレクタです。ブロック図は、省略します。


●汎用レジスタの構成方法による命令シーケンスの検討

 3種類の汎用レジスタの構成を考えました。夫々の構成で「ADDA r1,r2命令」の命令シーケンスを検討しましょう。


1、入出力レジスタ付きの3ポートレジスタファイル
 3ポートレジスタファイルの入出力にレジスタが付いているため、レジスタファイルを使う基本ルールは、「アクセスアドレスやデータやリード/ライトを準備してクロックを立ち上げるとメモリアクセスを開始する。次のクロックの立ち上がりの後でアクセスが完了する」である。
 この基本ルールに従って「ADDA r1,r2命令」の命令シーケンスは、次のように5クロック必要になる。




2、C入出力レジスタ無し3ポートレジスタファイル
 3ポートレジスタファイルの入出力にレジスタが無い場合の、レジスタファイルを使う基本ルールは、「アクセスアドレスやデータやリード/ライトを準備してクロックを立ち上げるとメモリアクセスを開始する。アクセス時間が経過するとアクセスが完了する」である。
 この基本ルールに従った「ADDA r1,r2命令」の命令シーケンスは、次のように3クロックとなる。
 これは、レジスタアクセス完了しだいレジスタデータが使えることを利用して処理クロック数が少なくできる。しかし、クロック間隔は長くなるが、メモリアクセス時間に比べ基本論理ブロック(LE)の遅れ時間が小さいので全体の処理時間は短くなる。





3、基本論理ブロック(LE)での3ポートレジスタファイル
 入出力にレジスタが無い3ポートレジスタファイルが構成できることと、基本論理ブロック(LE)
の高速性を利用することで「ADDA r1,r2命令」の命令シーケンスは、次のように2クロックとなる。





●それでは、MYマイコン Comet2eの汎用レジスタ構成

 いろいろ考えましたが、「エイヤー」と気合を入れて処理速度の速い基本論理ブロック(LE)を使った3ポートレジスタファイル」に決めることにしましょう。


 画像のPDFをここに置きます。


ホームへ戻る