(57)【要約】【課題】  動作クロック周波数が比較的に低速であることに起因してメモリからの読出遅延時間が増大する場合にも、マイクロプロセッサのセットアップ時間を満足させて、処理速度の低下を回避する。【解決手段】  汎用ポート（Ｐｏｒｔ）から出力される制御信号によりゲート素子（９）を制御すると、メモリ（２Ａ）のリード信号端子（／ＲＤ）の信号状態がマイクロプロセッサ（１）のリード信号端子（／ＲＤ）の信号状態に連動してイネーブル状態とディスイネーブル状態とに変化する第１の動作モードが選択され、汎用ポート（Ｐｏｒｔ）から出力される制御信号によりゲート素子（９）を制御すると、メモリ（２Ａ）のリード信号端子（／ＲＤ）の信号状態がマイクロプロセッサ（１）のリード信号端子（／ＲＤ）の信号状態に拘わらずイネーブル状態に強制的に固定される第２の動作モードが選択される。【選択図】    図１
2008059570.tif 000002
【特許請求の範囲】
【請求項１】
マイクロプロセッサとメモリとを含み、
前記マイクロプロセッサは、
アドレス信号出力用のアドレス信号端子列と、
データ信号入出力用のデータ信号端子列と、
チップセレクト信号出力用のチップセレクト信号端子と、
リード信号出力用のリード信号端子と、
ライト信号出力用のライト信号端子と、
所定の命令語を介して任意に使用可能な汎用出力ポートとを有し、
前記メモリは、
アドレス信号入力用のアドレス信号端子列と、
データ信号入出力用のデータ信号端子列と、
チップセレクト信号入力用のチップセレクト信号端子と、
リード信号入力用のリード信号端子と、
ライト信号入力用のライト信号端子とを有し、
前記マイクロプロセッサのアドレス信号端子列、データ信号端子列、チップセレクト信号端子、リード信号端子、及びライト信号端子と、
前記メモリのアドレス信号端子列、データ信号端子列、チップセレクト信号端子、リード信号端子、及びライト信号端子とは、
それぞれ、対応するもの同士が、アドレスバス、データバス、チップセレクト信号線、リード信号線、及びライト信号線を介して結ばれており、さらに
前記マイクロプロセッサのリード信号端子と前記メモリのリード信号端子とを結ぶリード信号線には、前記汎用出力ポートからの信号により制御されるゲート素子が介在されており、
それにより、前記汎用ポートから出力される制御信号により前記ゲート素子を制御することにより、前記メモリのリード信号端子の信号状態が前記マイクロプロセッサのリード信号端子の信号状態に連動してイネーブル状態とディスイネーブル状態とに変化する第１の動作モードを選択すると共に、前記汎用ポートから出力される制御信号により前記ゲート素子を制御することにより、前記メモリのリード信号端子の信号状態が前記マイクロプロセッサのリード信号端子の信号状態に拘わらずイネーブル状態に強制的に固定される第２の動作モードを選択する、ことを特徴とするマイクロコンピュータ装置。
【請求項２】
前記マイクロプロセッサの動作クロック周期をＴｃｌｋ、前記メモリのチップセレクト端子の信号状態がイネーブルとなったのち、前記メモリのデータ信号端子列にデータが読み出されるまでの遅れ時間をＴｄ１、前記メモリのリード信号端子の信号状態がイネーブルとなったのち、前記メモリのデータ信号端子列にデータが読み出されるまでの遅れ時間をＴｄ２としたとき、ＴｃｌｋとＴｄ１とＴｄ２との間には、
Ｔｄ２  ＋  （１／２）×Ｔｃｌｋ  ＞  Ｔｄ１
なる関係が成立すると共に、前記マイクロプロセッサにはソフトウェイト機能が組み込まれており、
それにより、第１の動作モードが選択されるときには、前記ソフトウェイト機能を利用してアクセス時間を延長することにより、マイクロプロセッサがデータを読み込むに要するセットアップ時間を満足させる一方、第２の動作モードが選択されるときには、前記ソフトウェイト機能を利用することなく、規定のアクセス時間をもって、マイクロプロセッサにデータの読み込みを行わせる、ことを特徴とする請求項１に記載のマイクロコンピュータ装置。
【請求項３】
プログラマブル・コントローラのＣＰＵユニットとして構成されていることを特徴とする請求項１又は２に記載のマイクロコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、マイクロプロセッサのセットアップ時間とメモリの読出遅れ時間との関係から、クロック速度によっては、ソフトウェイト機能を利用してアクセスタイムを延長させることが必要なマイクロコンピュータ装置に関する。
【背景技術】
【０００２】
周知のように、この種のマイクロコンピュータ装置は、マイクロプロセッサとメモリとを含んで構成される。
【０００３】
マイクロプロセッサは、アドレス信号出力用のアドレス信号端子列（Ａ）と、データ信号入出力用のデータ信号端子列（Ｄ）と、チップセレクト信号出力用のチップセレクト信号端子（／ＣＳ）と、リード信号出力用のリード信号端子（／ＲＤ）と、ライト信号出力用のライト信号端子（／ＷＲ）とを有する。
【０００４】
同様にして、メモリは、アドレス信号入力用のアドレス信号端子列（Ａ）と、データ信号入出力用のデータ信号端子列（Ｄ）と、チップセレクト信号入力用のチップセレクト信号端子（／ＣＳ）と、リード信号入力用のリード信号端子（／ＲＤ）と、ライト信号入力用のライト信号端子（／ＷＲ）とを有する。
【０００５】
マイクロプロセッサのアドレス信号端子列（Ａ）、データ信号端子列（Ｄ）、チップセレクト信号端子（／ＣＳ）、リード信号端子（／ＲＤ）、及びライト信号端子（／ＷＲ）と、メモリのアドレス信号端子列（Ａ）、データ信号端子列（Ｄ）、チップセレクト信号端子（／ＣＳ）、リード信号端子（／ＲＤ）、及びライト信号端子（／ＷＲ）は、それぞれ、対応するもの同士が、アドレスバス、データバス、チップセレクト信号線、リード信号線、及びライト信号線を介して結ばれる。
【０００６】
ところで、一般的な普及型のマイクロプロセッサ（ＭＰＵ：例えば、ルネサステクノロジー社製のＳＨシリーズ等）に組み込まれたメモリアクセス機能においては、リードサイクルの場合には、図１２に示されるように、チップセレクト信号端子（／ＣＳ）の信号状態を"Ｈ"（ディスイネーブル状態）から"Ｌ"（イネーブル状態）へと変化させたのち、さらに１／２クロック（（１／２）×Ｔｃｌｋ）経過するのを待って、リード信号端子（／ＲＤ）の信号状態を"Ｈ"（ディスイネーブル状態）から"Ｌ"（イネーブル状態）へと変化させるように仕組まれており、これによりメモリからリードデータが出力されることとなる。
【０００７】
なお、図１２において、（ａ）は動作クロックの信号状態、（ｂ）はＭＰＵのアドレス端子列の信号状態、（ｃ）はＭＰＵのチップセレクト信号端子の信号状態、（ｄ）はＭＰＵのリード端子列の信号状態、（ｅ）はデータバスの信号状態をそれぞれ示すものである。
【０００８】
一般的な普及型のメモリ（チップセレクト信号及びリード信号の変化に応答してリードデータを出力するメモリ：例えば、スタティックＲＡＭ（ＳＲＡＭ）やフラッシュメモリ（ＦＲＯＭ）等）においては、リード信号端子（／ＲＤ）の信号状態が"Ｈ"（ディスイネーブル状態）から"Ｌ"（イネーブル状態）へと変化したのち、実際にリードデータがデータバス上に読み出されるまでには、なにがしかの遅れ時間が存在する。このようなメモリとしては、例えば、Ｃｙｐｒｅｓｓ社製のＣＹ７Ｃ１０１９、Ｒｅｎｅｓａ社製のＲ１ＲＰ０４０４等の非同期高速ＳＲＡＭを挙げることができる。
【０００９】
具体的には、図１２に示されるように、この種のメモリにおいては、２種類の読出遅れ時間（Ｔｄ１，Ｔｄ２）が定義（通常、Ｔｄ１＞Ｔｄ２）されているのが通例である。第１の読出遅れ時間（Ｔｄ１）は、リード信号端子（／ＲＤ）の信号状態を予め"Ｌ"（イネーブル状態）にしたままで、チップセレクト信号端子（／ＣＳ）の信号状態を"Ｈ"（ディスイネーブル状態）から"Ｌ"（イネーブル状態）へと変化させたときに、その変化時点から実際にデータが読み出されるまでの読出遅れ時間である。一方、第２の読出遅れ時間（Ｔｄ２）は、チップセレクト信号端子（／ＣＳ）の信号状態を予め"Ｌ"（イネーブル状態）にしたままで、リード信号端子（／ＲＤ）の信号状態を"Ｈ"（ディスイネーブル状態）から"Ｌ"（イネーブル状態）へと変化させたときに、その変化時点から実際にデータが読み出されるまでの読出遅れ時間である。
【００１０】
ここで、前述のように、リード信号端子（／ＲＤ）の信号状態は、チップセレクト信号端子（／ＣＳ）の信号状態が"Ｈ"（ディスイネーブル状態）から"Ｌ"（イネーブル状態）へと変化したのち、さらに１／２クロック（（１／２）×Ｔｃｌｋ）経過するのを待って、"Ｈ"（ディスイネーブル状態）から"Ｌ"（イネーブル状態）へと変化するため、マイクロプロセッサの動作クロック周波数が低いと、第１の読出遅れ時間（Ｔｄ１）が長大化することにより、次式の関係が成立する状態となる。
Ｔｄ２  ＋  （１／２）×Ｔｃｌｋ  ＞  Ｔｄ１  ・・・（式）
【００１１】
すると、データバス上にリードデータが存在する時間が短くなり、マイクロプロセッサがデータバス上のデータを読み込むに必要なセットアップ時間（Ｔｓｕ）を満足することができなくなる。
【００１２】
具体的には、今仮に、第１の読出遅れ時間（Ｔｄ１）を１５ｎｓ、第２の読出遅れ時間（Ｔｄ２）を７ｎｓ、ＭＰＵのセットアップ時間（Ｔｓｕ）を２５ｎｓ、クロック周期（Ｔｃｌｋ）を３０ｎｓとすると、
（１／２）×Ｔｃｌｋ  ＋  Ｔｄ２  ＋  Ｔｓｕ
＝  １５ｎｓ  ＋  ７ｎｓ  ＋  ２５ｎｓ
＝  ４７ｎｓ  ＞  ４５ｎｓ（＝１．５×Ｔｃｌｋ）
となって、規定のアクセス時間（４５ｎｓ）内に収まらないため、ＭＰＵのセットアップ時間（Ｔｓｕ）を満足させることができないことが判る。
【００１３】
このような場合、マイクロプロセッサに組み込まれたソフトウェイト機能を利用して、アクセス時間を延長することにより、セットアップ時間（Ｔｓｕ）を確保するのが通例である。具体的には、図１２の場合、ソフトウェイト時間（Ｔｗａｉｔ）として１クロック分（１×ｃｌｋ）だけアクセス時間を延長することで、セットアップ時間（Ｔｓｕ）を満たす試みがなされている。その結果、１アクセスに要する時間は、２クロック時間（２×ｃｌｋ）から３クロック時間（３×ｃｌｋ）に延長され、その分だけマイクロコンピュータとしての処理速度の低速化を来すこととなる。
【００１４】
そこで、このような処理速度の低速化を回避するために、メモリのチップセレクト信号端子（／ＣＳ）及びリード信号端子（／ＲＤ）を予めグランド（ＧＮＤ：イネーブル状態）に落として、メモリから常時データを垂れ流し状態とする一方、メモリからのデータ出力経路には、リード対象データが格納されたアドレス空間がアクセスされたときだけ開くゲート回路を介在させるようにしたマイクロコンピュータも知られている（特許文献１参照）。
【特許文献１】特開平８−３３９６８０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、このような従来のマイクロコンピュータにあっては、チップセレクト信号端子（／ＣＳ）及びリード信号端子（／ＲＤ）がグランド（ＧＮＤ：イネーブル状態）に結線されたメモリは、読出専用メモリに固定されてしまうため、特定のアドレス空間をリード・ライト可能としつつも、読出速度を上げることができず、設計自由度が大きく制約を受けると言う問題点がある。
【００１６】
この発明は、従来のマイクロコンピュータにおける上述の問題点に着目してなされたものであり、その目的とするところは、動作クロック周波数が比較的に低速であることに起因してメモリからの読出遅延時間が増大する場合にも、ソフトウェイト機能等を使用してアクセス時間を増大せずとも、マイクロプロセッサのセットアップ時間を満足させて、処理速度の低下を回避することができ、しかも特定のアドレス空間がリード専用に固定されることもなく、設計上の自由度を確保することが可能なマイクロコンピュータを提供することにある。
【００１７】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【００１８】
次のような構成のマイクロコンピュータ装置であれば、上記の課題を解決することができる。
【００１９】
すなわち、このマイクロコンピュータ装置は、マイクロプロセッサとメモリとを含んで構成される。
【００２０】
このマイクロプロセッサは、アドレス信号出力用のアドレス信号端子列と、データ信号入出力用のデータ信号端子列と、チップセレクト信号出力用のチップセレクト信号端子と、リード信号出力用のリード信号端子と、ライト信号出力用のライト信号端子と、所定の命令語を介して任意に使用可能な汎用出力ポートとを有している。
【００２１】
また、上記のメモリは、アドレス信号入力用のアドレス信号端子列と、データ信号入出力用のデータ信号端子列と、チップセレクト信号入力用のチップセレクト信号端子と、リード信号入力用のリード信号端子と、ライト信号入力用のライト信号端子とを有している。
【００２２】
そして、上記のマイクロプロセッサのアドレス信号端子列、データ信号端子列、チップセレクト信号端子、リード信号端子、及びライト信号端子と、上記のメモリのアドレス信号端子列、データ信号端子列、チップセレクト信号端子、リード信号端子、及びライト信号端子とは、それぞれ、対応するもの同士が、アドレスバス、データバス、チップセレクト信号線、リード信号線、及びライト信号線を介して結ばれている。
【００２３】
さらに、上記のマイクロプロセッサのリード信号端子と前記メモリのリード信号端子とを結ぶリード信号線には、上記の汎用出力ポートからの信号により制御されるゲート素子が介在されている。
【００２４】
それにより、汎用ポートから出力される制御信号により前記ゲート素子を制御することにより、メモリのリード信号端子の信号状態が前記マイクロプロセッサのリード信号端子の信号状態に連動してイネーブル状態とディスイネーブル状態とに変化する第１の動作モードを選択すると共に、前記汎用ポートから出力される制御信号により前記ゲート素子を制御することにより、前記メモリのリード信号端子の信号状態が前記マイクロプロセッサのリード信号端子の信号状態に拘わらずイネーブル状態に強制的に固定される第２の動作モードを選択するものである。
【００２５】
このような構成によれば、第２の動作モードを選択することにより、メモリのリード信号端子（／ＲＤ（メモリ））の信号状態は、前記マイクロプロセッサのリード信号端子（／ＲＤ（ＭＰＵ））の信号状態に拘わらずイネーブル状態（"Ｌ"）に強制的に固定されるから、これを利用することにより、マイクロプロセッサのチップセレクト信号端子（／ＣＳ（ＭＰＵ））の信号状態をメモリアクセスと連動して、その都度"Ｈ"（ディスイネーブル状態）から"Ｌ"（イネーブル状態）へと変化させるだけで、第１の読出遅れ時間（Ｔｄ１）をもって各アドレスのメモリ内データをデータバス上に読み出すことができるから、別途ソフトウェイト機能でアクセス時間をクロック単位で延長せずとも、マイクロプロセッサのセットアップ時間（Ｔｓｕ）を満足させつつ、メモリからの読出からマイクロプロセッサへの読込に至るリードサイクルを比較的に短時間で完結することができる。したがって、動作クロック周波数が比較的に低速であることに起因してメモリからの読出遅延時間が増大する場合にも、ソフトウェイト機能等を使用してアクセス時間を増大せずとも、マイクロプロセッサのセットアップ時間を満足させて、処理速度の低下を回避することができる。
【００２６】
しかも、第２の動作モードの選択は、前記汎用ポート（Ｐｏｒｔ）から出力される制御信号により前記ゲート素子を制御することにより、前記メモリのリード信号端子（／ＲＤ（メモリ））の信号状態が前記マイクロプロセッサのリード信号端子（／ＲＤ（ＭＰＵ））の信号状態に拘わらずイネーブル状態（"Ｌ"）に強制的に固定されることで行われるものであって、従来例のように、メモリのチップセレクト信号端子（／ＣＳ（メモリ））及びリード信号端子（／ＲＤ（メモリ））を予めハードウェア的にグランド（ＧＮＤ：イネーブル状態）に落とすものではないから、同一のメモリアドレスであっても、汎用ポート（Ｐｏｒｔ）から出力される制御信号により前記ゲート素子を制御することにより、ライトサイクル並びにソフトウェイトを利用しつつのリードサイクルを実現することができる。
【００２７】
さらに、第１の動作モードと第２の動作モードとの切換は、マイクロプロセッサで実行されるプログラム中の適宜箇所に、所定命令語を使用した汎用ポート操作プログラム（ゲート開プログラム又はゲート閉プログラム）を組み込むだけでよいため、同一のメモリアドレス空間をその時々の状況に合わせて、リード専用空間、ライト専用空間、リード・ライト共用空間として割り当てることができ、ユーザのプログラム設計自由度を阻害することがない。
【００２８】
本発明により得られる作用効果は一定の条件が成立するときに顕著に表れる。すなわち、前記マイクロプロセッサの動作クロック周期をＴｃｌｋ、前記メモリのチップセレクト端子の信号状態がイネーブルとなったのち、前記メモリのデータ信号端子列にデータが読み出されるまでの遅れ時間をＴｄ１、前記メモリのリード信号端子の信号状態がイネーブルとなったのち、前記メモリのデータ信号端子列にデータが読み出されるまでの遅れ時間をＴｄ２としたとき、ＴｃｌｋとＴｄ１とＴｄ２との間には、
Ｔｄ２  ＋  （１／２）×Ｔｃｌｋ  ＞  Ｔｄ１
なる関係が成立すると共に、前記マイクロプロセッサにはソフトウェイト機能が組み込まれている。
【００２９】
これにより、第１の動作モードが選択されるときには、前記ソフトウェイト機能を利用してアクセス時間を延長することにより、マイクロプロセッサがデータを読み込むに要するセットアップ時間を満足させる一方、第２の動作モードが選択されるときには、前記ソフトウェイト機能を利用することなく、規定のアクセス時間をもって、マイクロプロセッサにデータの読み込みを行わせる、こととなる。
【００３０】
本発明のマイクロコンピュータは様々な機能実現装置として適用されるが、プログラマブル・コントローラのＣＰＵユニットとして構成されている場合には、ユーザプログラム実行用のマイクロプロセッサとして、データ演算機能には優れる一方、ビット演算機能には劣るマイクロプロセッサを使用する場合に好適である。すなわち、この種のマイクロプロセッサは、一般に動作クロックがあまり高速ではないため、リードサイクルのたびにソフトウェイト機能でアクセス時間を延長する場合には、サイクルタイムの長大化により動作応答性が悪化して、実用上支障を来す虞がある。
【発明の効果】
【００３１】
本発明によれば、動作クロック周波数が比較的に低速であることに起因してメモリからの読出遅延時間が増大する場合にも、ソフトウェイト機能等を使用してアクセス時間を増大せずとも、マイクロプロセッサのセットアップ時間を満足させて、処理速度の低下を回避することができ、しかも特定のアドレス空間がリード専用に固定されることもなく、設計上の自由度を確保することが可能なマイクロコンピュータを提供することができる。
【発明を実施するための最良の形態】
【００３２】
以下に、本発明に係るマイクロコンピュータ装置の好適な実施の一形態を添付図面を参照しながら詳細に説明する。
【００３３】
本発明装置の要部を示すハードウェアブロック図が図１に示されている。同図に示されるように、このマイクロコンピュータ装置は、マイクロプロセッサ１とメモリ（ＳＲＡＭ）２Ａとを含んで構成される。
【００３４】
このマイクロプロセッサ１は、アドレス信号出力用のアドレス信号端子列（Ａ）と、データ信号入出力用のデータ信号端子列（Ｄ）と、チップセレクト信号出力用のチップセレクト信号端子（／ＣＳ）と、リード信号出力用のリード信号端子（／ＲＤ）と、ライト信号出力用のライト信号端子（／ＷＲ）と、所定の命令語を介して任意に使用可能な汎用出力ポート（Ｐｏｒｔ）とを有している。
【００３５】
また、上記のメモリ（ＳＲＡＭ）２Ａは、アドレス信号入力用のアドレス信号端子列（Ａ）と、データ信号入出力用のデータ信号端子列（Ｄ）と、チップセレクト信号入力用のチップセレクト信号端子（／ＣＳ）と、リード信号入力用のリード信号端子（／ＲＤ）と、ライト信号入力用のライト信号端子（／ＷＲ）とを有している。
【００３６】
そして、上記のマイクロプロセッサ１のアドレス信号端子列（Ａ）、データ信号端子列（Ｄ）、チップセレクト信号端子（／ＣＳ）、リード信号端子（／ＲＤ）、及びライト信号端子（／ＷＲ）と、上記のメモリ（ＳＲＡＭ）２Ａのアドレス信号端子列（Ａ）、データ信号端子列（Ｄ）、チップセレクト信号端子（／ＣＳ）、リード信号端子（／ＲＤ）、及びライト信号端子（／ＷＲ）とは、それぞれ、対応するもの同士が、アドレスバス３、データバス４、チップセレクト信号線５、リード信号線６ａ，６ｂ、及びライト信号線７を介して結ばれている。
【００３７】
さらに、上記のマイクロプロセッサ１のリード信号端子（／ＲＤ）とメモリ（ＳＲＡＭ）２Ａのリード信号端子（／ＲＤ）とを結ぶリード信号線（６ａ，６ｂ）には、上記の汎用出力ポート（Ｐｏｒｔ）からの信号により制御されるゲート素子としてのＡＮＤゲート９が介在されている。
【００３８】
それにより、汎用ポート（Ｐｏｒｔ）から出力される制御信号を論理値"Ｈ"（"１"）にすることにより、メモリ（ＳＲＡＭ）２Ａのリード信号端子（／ＲＤ）の信号状態がマイクロプロセッサ１のリード信号端子（／ＲＤ）の信号状態に連動してイネーブル状態（"Ｌ"）とディスイネーブル状態（"Ｈ"）とに変化する第１の動作モードを選択する
と共に、汎用ポート（Ｐｏｒｔ）から出力される制御信号を論理値"Ｌ"（"０"）にすることにより、メモリ（ＳＲＡＭ）２Ａのリード信号端子（／ＲＤ）の信号状態が前記マイクロプロセッサ１のリード信号端子（／ＲＤ）の信号状態に拘わらずイネーブル状態（ "Ｌ"）に強制的に固定される第２の動作モードを選択するものである。なお、ゲート素子としては、汎用ポート（Ｐｏｒｔ）から出力される制御信号により制御するものであれば、具体的な素子構成は限定されるものではない。したがって、ＡＮＤゲート９に代えて、図１１に示されるように、シグナルグランド（ＧＮＤ）にプルダウンされたトライステートバッファ９ａ等を採用することもできる。
【００３９】
このような構成によれば、第２の動作モードを選択することにより、図２及び図５に示されるように、メモリ（ＳＲＡＭ）２Ａのリード信号端子（／ＲＤ（メモリ））の信号状態（図２（ｆ）、図５（ｆ）参照）は、前記マイクロプロセッサ１のリード信号端子（／ＲＤ（ＭＰＵ））の信号状態（図２（ｃ）、図５（ｄ）参照）に拘わらず、イネーブル状態（"Ｌ"）に強制的に固定されため、これを利用することにより、マイクロプロセッサ１のチップセレクト信号端子（／ＣＳ（ＭＰＵ））の信号状態をメモリアクセスと連動して、その都度"Ｈ"（ディスイネーブル状態）から"Ｌ"（イネーブル状態）へと変化させるだけで、第１の読出遅れ時間（Ｔｄ１）をもって各アドレスのメモリ内データをデータバス上に読み出すことができるから、別途ソフトウェイト機能でアクセス時間をクロック単位で延長せずとも、マイクロプロセッサのセットアップ時間（Ｔｓｕ）を満足させつつ、メモリからの読出からマイクロプロセッサへの読込に至るリードサイクルを比較的に短時間で完結することができる。したがって、動作クロック周波数が比較的に低速であることに起因してメモリからの読出遅延時間が増大する場合にも、ソフトウェイト機能等を使用してアクセス時間を増大せずとも、マイクロプロセッサのセットアップ時間を満足させて、処理速度の低下を回避することができる。
【００４０】
具体的には、今仮に、第１の読出遅れ時間（Ｔｄ１）を１５ｎｓ、第２の読出遅れ時間（Ｔｄ２）を７ｎｓ、ＭＰＵのセットアップ時間（Ｔｓｕ）を２５ｎｓ、クロック周期（Ｔｃｌｋ）を３０ｎｓとすると、
Ｔｄ１  ＋ Ｔｓｕ  ＝  １５ｎｓ  ＋  ２５ｎｓ
＝  ４０ｎｓ  ＜  ４５ｎｓ（＝１．５×Ｔｃｌｋ）
となって、規定のアクセス時間（４５ｎｓ）内に収まるから、ソフトウェイト機能を使用せずとも、ＭＰＵのセットアップ時間（Ｔｓｕ）を満足することが判る。
【００４１】
しかも、第２の動作モードの選択は、汎用ポート（Ｐｏｒｔ）から出力される制御信号によりゲート素子９を制御することにより、メモリ（ＳＲＡＭ）２Ａのリード信号端子（／ＲＤ（ＳＲＡＭ））の信号状態がマイクロプロセッサ１のリード信号端子（／ＲＤ（ＭＰＵ））の信号状態に拘わらずイネーブル状態（"Ｌ"）に強制的に固定されることで行われるものであって、従来例のように、メモリのチップセレクト信号端子（／ＣＳ（メモリ））及びリード信号端子（／ＲＤ（メモリ））を予めハードウェア的にグランド（ＧＮＤ：イネーブル状態）に落とすものではないから、同一のメモリアドレスであっても、汎用ポート（Ｐｏｒｔ）から出力される制御信号によりゲート素子９を制御することにより、図３及び図４に示されるように、ライトサイクル並びにソフトウェイトを利用しつつのリードサイクルを従前通りに実現することができる。
【００４２】
ここで、図３に示されるタイムチャートは、メモリ（ＳＲＡＭ）２Ａのリード信号端子（／ＲＤ（ＳＲＡＭ））の信号状態をイネーブル固定を解除した状態のまま、ソフトウェイトを使用しつつ、連続的にリードサイクルを実行する例であり、図４に示されるタイムチャートは、メモリ（ＳＲＡＭ）２Ａのリード信号端子（／ＲＤ（ＳＲＡＭ））の信号状態をイネーブル固定を解除した状態のまま、ソフトウェイトを使用するリードサイクルとライトサイクルとを交互に実行する例である。
【００４３】
さらに、第１の動作モードと第２の動作モードとの切換は、後に図９を参照しつつ詳述するように、マイクロプロセッサ１で実行されるプログラム中の適宜箇所に、所定命令語を使用した汎用ポート操作プログラム（ゲート開プログラム又はゲート閉プログラム）を組み込むだけでよいため、同一のメモリアドレス空間をその時々の状況に合わせて、リード専用空間、ライト専用空間、リード・ライト共用空間として割り当てることができ、ユーザのプログラム設計自由度を阻害することがない。
【００４４】
次に、上述のマイクロコンピュータ装置を利用して、プログラマブル・コントローラ（ＰＬＣ）のＣＰＵユニットを構成した具体例を添付図面の図６〜図１０を参照しつつ詳細に説明する。
【００４５】
ＰＬＣのＣＰＵユニット（演算ユニット）のメモリ構成の一例を説明する概略構成図が図６に示されている。同図に示されるように、このＰＬＣは、マイクロプロセッサ１Ａと、第１のスタティックＲＡＭ（ＳＲＡＭ）２Ａと、第２のスタティックＲＡＭ（ＳＲＡＭ）２Ｂと、フラッシュメモリ（ＦＲＯＭ）２Ｃとを含んで構成される。なお、メモリとマイクロプロセット以外の構成要素は図示を省略されている。
【００４６】
第１のＳＲＡＭ２Ａ内には、外部Ｉ／Ｏ割付用の記憶領域と、ユーザプログラムで使用するデータの記憶領域と、ＭＰＵのワーク領域とが設けられており、それらの領域はいずれもリード・ライト動作が行われる領域とされている。
【００４７】
第２のＳＲＡＭ２Ｂ内には、ユーザプログラムの記憶領域と、ＭＰＵのワーク領域とが設けられており、ユーザプログラムの演算実行処理の期間は、ユーザプログラムを構成する命令語のリード動作のみが行われるが、その他の処理中はリード・ライト動作が行われる。
【００４８】
ＦＲＯＭ２Ｃ内には、システムファームウェアの記憶領域が設けられており、それらの領域は、通常動作中にあっては、リード動作のみが行われる。
【００４９】
ＰＬＣのＣＰＵユニットの詳細構成図が図７に示されている。同図に示されるように、マイクロプロセッサ１Ａには、アドレス信号出力用のアドレス信号端子列（Ａ）と、データ信号入出力用のデータ信号端子列（Ｄ）と、第１、第２のＳＲＡＭ２Ａ，２Ｂのチップセレクト信号出力用の第１のチップセレクト信号端子（／ＣＳ１）と、ＦＲＯＭ用のチップセレクト信号出力用の第２のチップセレクト信号端子（／ＣＳ２）と、リード信号出力用のリード信号端子（／ＲＤ）と、ライト信号出力用のライト信号端子（／ＷＲ）と、所定の命令語を介して任意に使用可能なＳＲＡＭ制御用の第１の汎用出力ポート（Ｐｏｒｔ１）と、所定の命令語を介して任意に使用可能なＦＲＯＭ制御用の第２の汎用出力ポート（Ｐｏｒｔ２）とを有している。
【００５０】
ＳＲＡＭ２Ａ，２Ｂは、アドレス信号入力用のアドレス信号端子列（Ａ）と、データ信号入出力用のデータ信号端子列（Ｄ）と、チップセレクト信号入力用のチップセレクト信号端子（／ＣＳ）と、リード信号入力用のリード信号端子（／ＲＤ）と、ライト信号入力用のライト信号端子（／ＷＲ）とを有している。
【００５１】
ＦＲＯＭ２Ｃは、アドレス信号入力用のアドレス信号端子列（Ａ）と、データ信号入出力用のデータ信号端子列（Ｄ）と、チップセレクト信号入力用のチップセレクト信号端子（／ＣＳ）と、リード信号入力用のリード信号端子（／ＲＤ）と、ライト信号入力用のライト信号端子（／ＷＲ）とを有している。
【００５２】
マイクロプロセッサ１のアドレス信号端子列（Ａ）、データ信号端子列（Ｄ）、第１のチップセレクト信号端子（／ＣＳ１）、リード信号端子（／ＲＤ）、及びライト信号端子（／ＷＲ）と、ＳＲＡＭ２Ａ，２Ｂのアドレス信号端子列（Ａ）、データ信号端子列（Ｄ）、チップセレクト信号端子（／ＣＳ）、リード信号端子（／ＲＤ）、及びライト信号端子（／ＷＲ）とは、それぞれ、対応するもの同士が、アドレスバス３、データバス４、チップセレクト信号線５１、リード信号線６ａ，６１ｂ、及びライト信号線７を介して結ばれている。
【００５３】
マイクロプロセッサ１のアドレス信号端子列（Ａ）、データ信号端子列（Ｄ）、第２のチップセレクト信号端子（／ＣＳ２）、リード信号端子（／ＲＤ）、及びライト信号端子（／ＷＲ）と、ＦＲＯＭ２Ｃのアドレス信号端子列（Ａ）、データ信号端子列（Ｄ）、チップセレクト信号端子（／ＣＳ）、リード信号端子（／ＲＤ）、及びライト信号端子（／ＷＲ）とは、それぞれ、対応するもの同士が、アドレスバス３、データバス４、チップセレクト信号線５１、リード信号線６ａ，６２ｂ、及びライト信号線７を介して結ばれている。
【００５４】
マイクロプロセッサ１のリード信号端子（／ＲＤ）とＳＲＡＭ２Ａ，２Ｂのリード信号端子（／ＲＤ）とを結ぶリード信号線（６ａ，６１ｂ）には、第１の汎用出力ポート（Ｐｏｒｔ１）からの信号により制御されるゲート素子としてのＡＮＤゲート９１が介在されている。
【００５５】
マイクロプロセッサ１のリード信号端子（／ＲＤ）とＦＲＯＭ２Ｃのリード信号端子（／ＲＤ）とを結ぶリード信号線（６ａ，６２ｂ）には、第２の汎用出力ポート（Ｐｏｒｔ２）からの信号により制御されるゲート素子としてのＡＮＤゲート９２が介在されている。
【００５６】
第１の汎用ポート（Ｐｏｒｔ１）から出力される制御信号によりゲート素子としてのＡＮＤゲート９１を制御することにより、ＳＲＡＭ２Ａ，２Ｂのリード信号端子（／ＲＤ）の信号状態がマイクロプロセッサ１のリード信号端子（／ＲＤ）の信号状態に連動してイネーブル状態（"Ｌ"）とディスイネーブル状態（"Ｈ"）とに変化する第１の動作モードが選択されると共に、第１の汎用ポート（Ｐｏｒｔ１）から出力される制御信号により前記ゲート素子としてのＡＮＤゲート９１を制御することにより、メモリ（ＳＲＡＭ２Ａ，２Ｂのリード信号端子（／ＲＤ）の信号状態が前記マイクロプロセッサ１のリード信号端子（／ＲＤ）の信号状態に拘わらずイネーブル状態（"Ｌ"）に強制的に固定される第２の動作モードが選択される。
【００５７】
第２の汎用ポート（Ｐｏｒｔ２）から出力される制御信号によりゲート素子としてのＡＮＤゲート９２を制御することにより、ＦＲＯＭ２Ｃのリード信号端子（／ＲＤ）の信号状態がマイクロプロセッサ１のリード信号端子（／ＲＤ）の信号状態に連動してイネーブル状態（"Ｌ"）とディスイネーブル状態（"Ｈ"）とに変化する第１の動作モードが選択され、第２の汎用ポート（Ｐｏｒｔ２）から出力される制御信号により前記ゲート素子としてのＡＮＤゲート９２を制御することにより、ＦＲＯＭ２Ｃのリード信号端子（／ＲＤ）の信号状態が前記マイクロプロセッサ１のリード信号端子（／ＲＤ）の信号状態に拘わらずイネーブル状態（"Ｌ"）に強制的に固定される第２の動作モードが選択される。
【００５８】
ＰＬＣの制御プログラムの全体を示すゼネラルフローチャートが図８に示されている。同図に示されるように、制御プログラムの全体は、電源ＯＮ（イニシャル）処理（ステップ８０１）と、共通処理（ステップ８０２）と、演算処理（ステップ８０３）と、Ｉ／Ｏリフレッシュ処理（ステップ８０４）と、周辺サービス処理（ステップ８０５）とから構成されている。
【００５９】
電源ＯＮ（イニシャル）処理（ステップ８０１）においては、ＦＲＯＭ２Ｃからユーザメモリ（ＵＭ）として機能する第２のＳＲＡＭ２Ｂへとユーザプログラムデータを転送する処理、メモリの初期化処理等が実行される。これに伴い、第２のＳＲＡＭ２Ｂに対しては、リード・ライト動作が行われる。続く、共通処理（ステップ８０２）においては、バスチェック等が実行される。これに伴い、第２のＳＲＡＭ２Ｂに対しては、リード・ライト動作が行われる。続く、演算処理（ステップ８０３）においては、ユーザプログラムに関する命令実行処理が実行される。これに伴い、第１のＳＲＡＭ２Ａに対しては、リード動作のみが行われる。続く、Ｉ／Ｏリフレッシュ処理（ステップ８０４）においては、図示しないＩ／ＯユニットとＩ／Ｏ領域（ＩＯＭ）との間におけるデータ交換が実行される。これに伴い、ユーザメモリ（ＵＭ）として機能する第２のＳＲＡＭ２Ｂに対するリード・ライト処理が行われる。
【００６０】
以上のＰＬＣ処理全体を前提として、本発明に係る第１の動作モードと第２の動作モードとを適用することにより、この例では、演算処理（ステップ８０３）に関して、処理の高速化を実現する。
【００６１】
ＰＬＣの第２のＳＲＡＭ２Ｂに高速読出処理を適用する際のＭＰＵポート（Ｐｏｒｔ２）の操作処理を示すフローチャートが図９に示されている。同図に示されるように、この例にあっては、共通処理（ステップ８０２）と演算処理（ステップ８０３）との間には、第１の動作モードから第２の動作モードへの切換処理（ステップ９０１）が設けられ、また演算処理（ステップ８０３）とＩ／Ｏリフレッシュ処理（ステップ８０４）との間には、第２の動作モードから第１の動作モードへの切換処理（ステップ９０２）が設けられる。
【００６２】
ここで、切換処理（ステップ９０１）においては、ＭＰＵの第１のポート（Ｐｏｒｔ１）から出力される制御信号の信号状態を"Ｈ"（ディスイネーブル状態）から"Ｌ"（イネーブル状態）へと変更する処理、並びに、ソフトウェイトを除去するためのウェイト設定処理（"１"→"０"）が実行される。これにより、第２のＳＲＡＭ２Ｂのリード端子（／ＲＤ）の信号状態はイネーブル状態に固定されるため、第２のＳＲＡＭ２Ｂからのデータ読出動作（ユーザプログラムを構成する各命令語の連続読出処理）は、ソフトウェイトを含むことなく、規定のアクセス周期で高速に実行されることとなるから、ユーザプログラムの実行時間が短縮され、サイクルタイムの短縮によりＰＬＣの入出力応答性が向上することとなる。
【００６３】
一方、切換処理（ステップ９０２）においては、ＭＰＵの第１のポート（Ｐｏｒｔ１）から出力される制御信号の信号状態を"Ｌ"（イネーブル状態）から"Ｈ"（ディスイネーブル状態）へと変更する処理、並びに、ソフトウェイトを付加するためのウェイト設定処理（"０"→"１"）が実行される。これにより、第２のＳＲＡＭ２Ｂのリード端子（／ＲＤ）の信号状態はイネーブル状態が解除されるため、第２のＳＲＡＭ２Ｂからのデータ読出動作（ユーザプログラムを構成する各命令語の連続読出処理）は、ソフトウェイトを含む通常の処理へ戻され、またライト動作も可能となって、同一のアドレス空間に対するリード・ライト動作が可能となる。
【００６４】
その結果、ＰＬＣの処理全体の中で、演算処理（ステップ８０３）については、ソフトウェイト処理を使用することなく、規定のアクセス時間を採用しつつ、高速に処理されることとなるのである。
【００６５】
なお、本発明の高速読出処理は、ＰＬＣの処理全体の中で他の様々な処理にも適用することができる。ＰＬＣのＦＲＯＭに対する高速読出処理を適用する場合におけるＭＰＵポートの操作処理を説明するためのフローチャートが図１０に示されている。
【００６６】
同図に示されるように、ＦＲＯＭ２Ｃに着目してＰＬＣの各処理を観察すると、殆どの処理において、ＦＲＯＭ２Ｃに対してはリード動作のみが行われていることが判る。したがって、それらのリード動作のみが行われる処理の前後に、前述の動作モード切換処理（ステップ９０１，９０２）を挿入することで、第２のポート（Ｐｏｒｔ２）を介して第２のゲート素子９２を制御することで、ＦＲＯＭ２Ｃに関しても、ＦＲＡＭに対する場合と同様にして、本発明の高速リードオンリ処理を適用することができる。
【００６７】
このように、本発明によれば、第２の動作モードを選択することにより、メモリのリード信号端子（／ＲＤ（メモリ））の信号状態は、前記マイクロプロセッサのリード信号端子（／ＲＤ（ＭＰＵ））の信号状態に拘わらずイネーブル状態（"Ｌ"）に強制的に固定されるから、これを利用することにより、マイクロプロセッサのチップセレクト信号端子（／ＣＳ（ＭＰＵ））の信号状態をメモリアクセスと連動して、その都度"Ｈ"（ディスイネーブル状態）から"Ｌ"（イネーブル状態）へと変化させるだけで、第１の読出遅れ時間（Ｔｄ１）をもって各アドレスのメモリ内データをデータバス上に読み出すことができるから、別途ソフトウェイト機能でアクセス時間をクロック単位で延長せずとも、マイクロプロセッサのセットアップ時間（Ｔｓｕ）を満足させつつ、メモリからの読出からマイクロプロセッサへの読込に至るリードサイクルを比較的に短時間で完結することができる。したがって、動作クロック周波数が比較的に低速であることに起因してメモリからの読出遅延時間が増大する場合にも、ソフトウェイト機能等を使用してアクセス時間を増大せずとも、マイクロプロセッサのセットアップ時間を満足させて、処理速度の低下を回避することができる。
【００６８】
しかも、第２の動作モードの選択は、前記汎用ポート（Ｐｏｒｔ）から出力される制御信号により前記ゲート素子を制御することにより、前記メモリのリード信号端子（／ＲＤ（メモリ））の信号状態が前記マイクロプロセッサのリード信号端子（／ＲＤ（ＭＰＵ））の信号状態に拘わらずイネーブル状態（"Ｌ"）に強制的に固定されることで行われるものであって、従来例のように、メモリのチップセレクト信号端子（／ＣＳ（メモリ））及びリード信号端子（／ＲＤ（メモリ））を予めハードウェア的にグランド（ＧＮＤ：イネーブル状態）に落とすものではないから、同一のメモリアドレスであっても、汎用ポート（Ｐｏｒｔ）から出力される制御信号により前記ゲート素子を制御することにより、ライトサイクル並びにソフトウェイトを利用しつつのリードサイクルを実現することができる。
【００６９】
さらに、第１の動作モードと第２の動作モードとの切換は、マイクロプロセッサで実行されるプログラム中の適宜箇所に、所定命令語を使用した汎用ポート操作プログラム（ゲート開プログラム又はゲート閉プログラム）を組み込むだけでよいため、同一のメモリアドレス空間をその時々の状況に合わせて、リード専用空間、ライト専用空間、リード・ライト共用空間として割り当てることができ、ユーザのプログラム設計自由度を阻害することがない。
【産業上の利用可能性】
【００７０】
本発明によれば、動作クロック周波数が比較的に低速であることに起因してメモリからの読出遅延時間が増大する場合にも、ソフトウェイト機能等を使用してアクセス時間を増大せずとも、マイクロプロセッサのセットアップ時間を満足させて、処理速度の低下を回避することができ、しかも特定のアドレス空間がリード専用に固定されることもなく、設計上の自由度を確保することが可能なマイクロコンピュータを提供することができる。
【図面の簡単な説明】
【００７１】
【図１】本発明装置の要部を示すハードウェア構成図である。
【図２】ＳＲＡＭの／ＲＤに与えられるリード信号を強制的にイネーブル状態に固定した状態における各部の信号状態を示すタイムチャートである。
【図３】ＳＲＡＭの／ＲＤに与えられるリード信号のイネーブル固定を解除した状態における各部の信号状態を示すタイムチャート（１）である。
【図４】ＳＲＡＭの／ＲＤに与えられるリード信号のイネーブル固定を解除した状態における各部の信号状態を示すタイムチャート（２）である。
【図５】本発明の作用説明図である。
【図６】ＰＬＣのＣＰＵユニットの概略構成図である。
【図７】ＰＬＣのＣＰＵユニットの詳細構成図である。
【図８】ＰＬＣの制御プログラムの全体を示すゼネラルフローチャートである。
【図９】ＰＬＣのＳＲＡＭに高速読出処理を適用する際のＭＰＵポートの操作処理を示すフローチャートである。
【図１０】ＰＬＣのＦＲＯＭに対する高速読出処理を適用する場合におけるＭＰＵポートの操作処理を説明するためのフローチャートである。
【図１１】本発明装置の要部を示すハードウェア構成図（他の例）である。
【図１２】従来技術の作用説明図である。
【符号の説明】
【００７２】
１          ＭＰＵ
２Ａ        第１のＳＲＡＭ
２Ｂ        第２のＳＲＡＭ
２Ｃ        ＦＲＯＭ
３          アドレスバス
４          データバス４
５          チップセレクト信号線
６ａ，６ｂ  リード信号線
７          ライト信号線
８          制御信号線
９          ＡＮＤゲート（ゲート素子）
９ａ        トライステートバッファ（ゲート素子）
Ａ          アドレス端子列
Ｄ          データ端子列
／ＣＳ      チップセレクト端子
／ＲＤ      リード端子
／ＷＲ      ライト端子
Ｐｏｒｔ    制御ポート
【図１】
2008059570.tif 000003
【図２】
2008059570.tif 000004
【図３】
2008059570.tif 000005
【図４】
2008059570.tif 000006
【図５】
2008059570.tif 000007
【図６】
2008059570.tif 000008
【図７】
2008059570.tif 000009
【図８】
2008059570.tif 000010
【図９】
2008059570.tif 000011
【図１０】
2008059570.tif 000012
【図１１】
2008059570.tif 000013
【図１２】
2008059570.tif 000014