説明

マイクロコンピュータ装置

【課題】 動作クロック周波数が比較的に低速であることに起因してメモリからの読出遅延時間が増大する場合にも、マイクロプロセッサのセットアップ時間を満足させて、処理速度の低下を回避する。
【解決手段】 汎用ポート(Port)から出力される制御信号によりゲート素子(9)を制御すると、メモリ(2A)のリード信号端子(/RD)の信号状態がマイクロプロセッサ(1)のリード信号端子(/RD)の信号状態に連動してイネーブル状態とディスイネーブル状態とに変化する第1の動作モードが選択され、汎用ポート(Port)から出力される制御信号によりゲート素子(9)を制御すると、メモリ(2A)のリード信号端子(/RD)の信号状態がマイクロプロセッサ(1)のリード信号端子(/RD)の信号状態に拘わらずイネーブル状態に強制的に固定される第2の動作モードが選択される。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、マイクロプロセッサのセットアップ時間とメモリの読出遅れ時間との関係から、クロック速度によっては、ソフトウェイト機能を利用してアクセスタイムを延長させることが必要なマイクロコンピュータ装置に関する。
【背景技術】
【0002】
周知のように、この種のマイクロコンピュータ装置は、マイクロプロセッサとメモリとを含んで構成される。
【0003】
マイクロプロセッサは、アドレス信号出力用のアドレス信号端子列(A)と、データ信号入出力用のデータ信号端子列(D)と、チップセレクト信号出力用のチップセレクト信号端子(/CS)と、リード信号出力用のリード信号端子(/RD)と、ライト信号出力用のライト信号端子(/WR)とを有する。
【0004】
同様にして、メモリは、アドレス信号入力用のアドレス信号端子列(A)と、データ信号入出力用のデータ信号端子列(D)と、チップセレクト信号入力用のチップセレクト信号端子(/CS)と、リード信号入力用のリード信号端子(/RD)と、ライト信号入力用のライト信号端子(/WR)とを有する。
【0005】
マイクロプロセッサのアドレス信号端子列(A)、データ信号端子列(D)、チップセレクト信号端子(/CS)、リード信号端子(/RD)、及びライト信号端子(/WR)と、メモリのアドレス信号端子列(A)、データ信号端子列(D)、チップセレクト信号端子(/CS)、リード信号端子(/RD)、及びライト信号端子(/WR)は、それぞれ、対応するもの同士が、アドレスバス、データバス、チップセレクト信号線、リード信号線、及びライト信号線を介して結ばれる。
【0006】
ところで、一般的な普及型のマイクロプロセッサ(MPU:例えば、ルネサステクノロジー社製のSHシリーズ等)に組み込まれたメモリアクセス機能においては、リードサイクルの場合には、図12に示されるように、チップセレクト信号端子(/CS)の信号状態を"H"(ディスイネーブル状態)から"L"(イネーブル状態)へと変化させたのち、さらに1/2クロック((1/2)×Tclk)経過するのを待って、リード信号端子(/RD)の信号状態を"H"(ディスイネーブル状態)から"L"(イネーブル状態)へと変化させるように仕組まれており、これによりメモリからリードデータが出力されることとなる。
【0007】
なお、図12において、(a)は動作クロックの信号状態、(b)はMPUのアドレス端子列の信号状態、(c)はMPUのチップセレクト信号端子の信号状態、(d)はMPUのリード端子列の信号状態、(e)はデータバスの信号状態をそれぞれ示すものである。
【0008】
一般的な普及型のメモリ(チップセレクト信号及びリード信号の変化に応答してリードデータを出力するメモリ:例えば、スタティックRAM(SRAM)やフラッシュメモリ(FROM)等)においては、リード信号端子(/RD)の信号状態が"H"(ディスイネーブル状態)から"L"(イネーブル状態)へと変化したのち、実際にリードデータがデータバス上に読み出されるまでには、なにがしかの遅れ時間が存在する。このようなメモリとしては、例えば、Cypress社製のCY7C1019、Renesa社製のR1RP0404等の非同期高速SRAMを挙げることができる。
【0009】
具体的には、図12に示されるように、この種のメモリにおいては、2種類の読出遅れ時間(Td1,Td2)が定義(通常、Td1>Td2)されているのが通例である。第1の読出遅れ時間(Td1)は、リード信号端子(/RD)の信号状態を予め"L"(イネーブル状態)にしたままで、チップセレクト信号端子(/CS)の信号状態を"H"(ディスイネーブル状態)から"L"(イネーブル状態)へと変化させたときに、その変化時点から実際にデータが読み出されるまでの読出遅れ時間である。一方、第2の読出遅れ時間(Td2)は、チップセレクト信号端子(/CS)の信号状態を予め"L"(イネーブル状態)にしたままで、リード信号端子(/RD)の信号状態を"H"(ディスイネーブル状態)から"L"(イネーブル状態)へと変化させたときに、その変化時点から実際にデータが読み出されるまでの読出遅れ時間である。
【0010】
ここで、前述のように、リード信号端子(/RD)の信号状態は、チップセレクト信号端子(/CS)の信号状態が"H"(ディスイネーブル状態)から"L"(イネーブル状態)へと変化したのち、さらに1/2クロック((1/2)×Tclk)経過するのを待って、"H"(ディスイネーブル状態)から"L"(イネーブル状態)へと変化するため、マイクロプロセッサの動作クロック周波数が低いと、第1の読出遅れ時間(Td1)が長大化することにより、次式の関係が成立する状態となる。

Td2 + (1/2)×Tclk > Td1 ・・・(式)
【0011】
すると、データバス上にリードデータが存在する時間が短くなり、マイクロプロセッサがデータバス上のデータを読み込むに必要なセットアップ時間(Tsu)を満足することができなくなる。
【0012】
具体的には、今仮に、第1の読出遅れ時間(Td1)を15ns、第2の読出遅れ時間(Td2)を7ns、MPUのセットアップ時間(Tsu)を25ns、クロック周期(Tclk)を30nsとすると、

(1/2)×Tclk + Td2 + Tsu
= 15ns + 7ns + 25ns
= 47ns > 45ns(=1.5×Tclk)

となって、規定のアクセス時間(45ns)内に収まらないため、MPUのセットアップ時間(Tsu)を満足させることができないことが判る。
【0013】
このような場合、マイクロプロセッサに組み込まれたソフトウェイト機能を利用して、アクセス時間を延長することにより、セットアップ時間(Tsu)を確保するのが通例である。具体的には、図12の場合、ソフトウェイト時間(Twait)として1クロック分(1×clk)だけアクセス時間を延長することで、セットアップ時間(Tsu)を満たす試みがなされている。その結果、1アクセスに要する時間は、2クロック時間(2×clk)から3クロック時間(3×clk)に延長され、その分だけマイクロコンピュータとしての処理速度の低速化を来すこととなる。
【0014】
そこで、このような処理速度の低速化を回避するために、メモリのチップセレクト信号端子(/CS)及びリード信号端子(/RD)を予めグランド(GND:イネーブル状態)に落として、メモリから常時データを垂れ流し状態とする一方、メモリからのデータ出力経路には、リード対象データが格納されたアドレス空間がアクセスされたときだけ開くゲート回路を介在させるようにしたマイクロコンピュータも知られている(特許文献1参照)。
【特許文献1】特開平8−339680号公報
【発明の開示】
【発明が解決しようとする課題】
【0015】
しかしながら、このような従来のマイクロコンピュータにあっては、チップセレクト信号端子(/CS)及びリード信号端子(/RD)がグランド(GND:イネーブル状態)に結線されたメモリは、読出専用メモリに固定されてしまうため、特定のアドレス空間をリード・ライト可能としつつも、読出速度を上げることができず、設計自由度が大きく制約を受けると言う問題点がある。
【0016】
この発明は、従来のマイクロコンピュータにおける上述の問題点に着目してなされたものであり、その目的とするところは、動作クロック周波数が比較的に低速であることに起因してメモリからの読出遅延時間が増大する場合にも、ソフトウェイト機能等を使用してアクセス時間を増大せずとも、マイクロプロセッサのセットアップ時間を満足させて、処理速度の低下を回避することができ、しかも特定のアドレス空間がリード専用に固定されることもなく、設計上の自由度を確保することが可能なマイクロコンピュータを提供することにある。
【0017】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【0018】
次のような構成のマイクロコンピュータ装置であれば、上記の課題を解決することができる。
【0019】
すなわち、このマイクロコンピュータ装置は、マイクロプロセッサとメモリとを含んで構成される。
【0020】
このマイクロプロセッサは、アドレス信号出力用のアドレス信号端子列と、データ信号入出力用のデータ信号端子列と、チップセレクト信号出力用のチップセレクト信号端子と、リード信号出力用のリード信号端子と、ライト信号出力用のライト信号端子と、所定の命令語を介して任意に使用可能な汎用出力ポートとを有している。
【0021】
また、上記のメモリは、アドレス信号入力用のアドレス信号端子列と、データ信号入出力用のデータ信号端子列と、チップセレクト信号入力用のチップセレクト信号端子と、リード信号入力用のリード信号端子と、ライト信号入力用のライト信号端子とを有している。
【0022】
そして、上記のマイクロプロセッサのアドレス信号端子列、データ信号端子列、チップセレクト信号端子、リード信号端子、及びライト信号端子と、上記のメモリのアドレス信号端子列、データ信号端子列、チップセレクト信号端子、リード信号端子、及びライト信号端子とは、それぞれ、対応するもの同士が、アドレスバス、データバス、チップセレクト信号線、リード信号線、及びライト信号線を介して結ばれている。
【0023】
さらに、上記のマイクロプロセッサのリード信号端子と前記メモリのリード信号端子とを結ぶリード信号線には、上記の汎用出力ポートからの信号により制御されるゲート素子が介在されている。
【0024】
それにより、汎用ポートから出力される制御信号により前記ゲート素子を制御することにより、メモリのリード信号端子の信号状態が前記マイクロプロセッサのリード信号端子の信号状態に連動してイネーブル状態とディスイネーブル状態とに変化する第1の動作モードを選択すると共に、前記汎用ポートから出力される制御信号により前記ゲート素子を制御することにより、前記メモリのリード信号端子の信号状態が前記マイクロプロセッサのリード信号端子の信号状態に拘わらずイネーブル状態に強制的に固定される第2の動作モードを選択するものである。
【0025】
このような構成によれば、第2の動作モードを選択することにより、メモリのリード信号端子(/RD(メモリ))の信号状態は、前記マイクロプロセッサのリード信号端子(/RD(MPU))の信号状態に拘わらずイネーブル状態("L")に強制的に固定されるから、これを利用することにより、マイクロプロセッサのチップセレクト信号端子(/CS(MPU))の信号状態をメモリアクセスと連動して、その都度"H"(ディスイネーブル状態)から"L"(イネーブル状態)へと変化させるだけで、第1の読出遅れ時間(Td1)をもって各アドレスのメモリ内データをデータバス上に読み出すことができるから、別途ソフトウェイト機能でアクセス時間をクロック単位で延長せずとも、マイクロプロセッサのセットアップ時間(Tsu)を満足させつつ、メモリからの読出からマイクロプロセッサへの読込に至るリードサイクルを比較的に短時間で完結することができる。したがって、動作クロック周波数が比較的に低速であることに起因してメモリからの読出遅延時間が増大する場合にも、ソフトウェイト機能等を使用してアクセス時間を増大せずとも、マイクロプロセッサのセットアップ時間を満足させて、処理速度の低下を回避することができる。
【0026】
しかも、第2の動作モードの選択は、前記汎用ポート(Port)から出力される制御信号により前記ゲート素子を制御することにより、前記メモリのリード信号端子(/RD(メモリ))の信号状態が前記マイクロプロセッサのリード信号端子(/RD(MPU))の信号状態に拘わらずイネーブル状態("L")に強制的に固定されることで行われるものであって、従来例のように、メモリのチップセレクト信号端子(/CS(メモリ))及びリード信号端子(/RD(メモリ))を予めハードウェア的にグランド(GND:イネーブル状態)に落とすものではないから、同一のメモリアドレスであっても、汎用ポート(Port)から出力される制御信号により前記ゲート素子を制御することにより、ライトサイクル並びにソフトウェイトを利用しつつのリードサイクルを実現することができる。
【0027】
さらに、第1の動作モードと第2の動作モードとの切換は、マイクロプロセッサで実行されるプログラム中の適宜箇所に、所定命令語を使用した汎用ポート操作プログラム(ゲート開プログラム又はゲート閉プログラム)を組み込むだけでよいため、同一のメモリアドレス空間をその時々の状況に合わせて、リード専用空間、ライト専用空間、リード・ライト共用空間として割り当てることができ、ユーザのプログラム設計自由度を阻害することがない。
【0028】
本発明により得られる作用効果は一定の条件が成立するときに顕著に表れる。すなわち、前記マイクロプロセッサの動作クロック周期をTclk、前記メモリのチップセレクト端子の信号状態がイネーブルとなったのち、前記メモリのデータ信号端子列にデータが読み出されるまでの遅れ時間をTd1、前記メモリのリード信号端子の信号状態がイネーブルとなったのち、前記メモリのデータ信号端子列にデータが読み出されるまでの遅れ時間をTd2としたとき、TclkとTd1とTd2との間には、
Td2 + (1/2)×Tclk > Td1
なる関係が成立すると共に、前記マイクロプロセッサにはソフトウェイト機能が組み込まれている。
【0029】
これにより、第1の動作モードが選択されるときには、前記ソフトウェイト機能を利用してアクセス時間を延長することにより、マイクロプロセッサがデータを読み込むに要するセットアップ時間を満足させる一方、第2の動作モードが選択されるときには、前記ソフトウェイト機能を利用することなく、規定のアクセス時間をもって、マイクロプロセッサにデータの読み込みを行わせる、こととなる。
【0030】
本発明のマイクロコンピュータは様々な機能実現装置として適用されるが、プログラマブル・コントローラのCPUユニットとして構成されている場合には、ユーザプログラム実行用のマイクロプロセッサとして、データ演算機能には優れる一方、ビット演算機能には劣るマイクロプロセッサを使用する場合に好適である。すなわち、この種のマイクロプロセッサは、一般に動作クロックがあまり高速ではないため、リードサイクルのたびにソフトウェイト機能でアクセス時間を延長する場合には、サイクルタイムの長大化により動作応答性が悪化して、実用上支障を来す虞がある。
【発明の効果】
【0031】
本発明によれば、動作クロック周波数が比較的に低速であることに起因してメモリからの読出遅延時間が増大する場合にも、ソフトウェイト機能等を使用してアクセス時間を増大せずとも、マイクロプロセッサのセットアップ時間を満足させて、処理速度の低下を回避することができ、しかも特定のアドレス空間がリード専用に固定されることもなく、設計上の自由度を確保することが可能なマイクロコンピュータを提供することができる。
【発明を実施するための最良の形態】
【0032】
以下に、本発明に係るマイクロコンピュータ装置の好適な実施の一形態を添付図面を参照しながら詳細に説明する。
【0033】
本発明装置の要部を示すハードウェアブロック図が図1に示されている。同図に示されるように、このマイクロコンピュータ装置は、マイクロプロセッサ1とメモリ(SRAM)2Aとを含んで構成される。
【0034】
このマイクロプロセッサ1は、アドレス信号出力用のアドレス信号端子列(A)と、データ信号入出力用のデータ信号端子列(D)と、チップセレクト信号出力用のチップセレクト信号端子(/CS)と、リード信号出力用のリード信号端子(/RD)と、ライト信号出力用のライト信号端子(/WR)と、所定の命令語を介して任意に使用可能な汎用出力ポート(Port)とを有している。
【0035】
また、上記のメモリ(SRAM)2Aは、アドレス信号入力用のアドレス信号端子列(A)と、データ信号入出力用のデータ信号端子列(D)と、チップセレクト信号入力用のチップセレクト信号端子(/CS)と、リード信号入力用のリード信号端子(/RD)と、ライト信号入力用のライト信号端子(/WR)とを有している。
【0036】
そして、上記のマイクロプロセッサ1のアドレス信号端子列(A)、データ信号端子列(D)、チップセレクト信号端子(/CS)、リード信号端子(/RD)、及びライト信号端子(/WR)と、上記のメモリ(SRAM)2Aのアドレス信号端子列(A)、データ信号端子列(D)、チップセレクト信号端子(/CS)、リード信号端子(/RD)、及びライト信号端子(/WR)とは、それぞれ、対応するもの同士が、アドレスバス3、データバス4、チップセレクト信号線5、リード信号線6a,6b、及びライト信号線7を介して結ばれている。
【0037】
さらに、上記のマイクロプロセッサ1のリード信号端子(/RD)とメモリ(SRAM)2Aのリード信号端子(/RD)とを結ぶリード信号線(6a,6b)には、上記の汎用出力ポート(Port)からの信号により制御されるゲート素子としてのANDゲート9が介在されている。
【0038】
それにより、汎用ポート(Port)から出力される制御信号を論理値"H"("1")にすることにより、メモリ(SRAM)2Aのリード信号端子(/RD)の信号状態がマイクロプロセッサ1のリード信号端子(/RD)の信号状態に連動してイネーブル状態("L")とディスイネーブル状態("H")とに変化する第1の動作モードを選択する
と共に、汎用ポート(Port)から出力される制御信号を論理値"L"("0")にすることにより、メモリ(SRAM)2Aのリード信号端子(/RD)の信号状態が前記マイクロプロセッサ1のリード信号端子(/RD)の信号状態に拘わらずイネーブル状態( "L")に強制的に固定される第2の動作モードを選択するものである。なお、ゲート素子としては、汎用ポート(Port)から出力される制御信号により制御するものであれば、具体的な素子構成は限定されるものではない。したがって、ANDゲート9に代えて、図11に示されるように、シグナルグランド(GND)にプルダウンされたトライステートバッファ9a等を採用することもできる。
【0039】
このような構成によれば、第2の動作モードを選択することにより、図2及び図5に示されるように、メモリ(SRAM)2Aのリード信号端子(/RD(メモリ))の信号状態(図2(f)、図5(f)参照)は、前記マイクロプロセッサ1のリード信号端子(/RD(MPU))の信号状態(図2(c)、図5(d)参照)に拘わらず、イネーブル状態("L")に強制的に固定されため、これを利用することにより、マイクロプロセッサ1のチップセレクト信号端子(/CS(MPU))の信号状態をメモリアクセスと連動して、その都度"H"(ディスイネーブル状態)から"L"(イネーブル状態)へと変化させるだけで、第1の読出遅れ時間(Td1)をもって各アドレスのメモリ内データをデータバス上に読み出すことができるから、別途ソフトウェイト機能でアクセス時間をクロック単位で延長せずとも、マイクロプロセッサのセットアップ時間(Tsu)を満足させつつ、メモリからの読出からマイクロプロセッサへの読込に至るリードサイクルを比較的に短時間で完結することができる。したがって、動作クロック周波数が比較的に低速であることに起因してメモリからの読出遅延時間が増大する場合にも、ソフトウェイト機能等を使用してアクセス時間を増大せずとも、マイクロプロセッサのセットアップ時間を満足させて、処理速度の低下を回避することができる。
【0040】
具体的には、今仮に、第1の読出遅れ時間(Td1)を15ns、第2の読出遅れ時間(Td2)を7ns、MPUのセットアップ時間(Tsu)を25ns、クロック周期(Tclk)を30nsとすると、

Td1 + Tsu = 15ns + 25ns
= 40ns < 45ns(=1.5×Tclk)

となって、規定のアクセス時間(45ns)内に収まるから、ソフトウェイト機能を使用せずとも、MPUのセットアップ時間(Tsu)を満足することが判る。
【0041】
しかも、第2の動作モードの選択は、汎用ポート(Port)から出力される制御信号によりゲート素子9を制御することにより、メモリ(SRAM)2Aのリード信号端子(/RD(SRAM))の信号状態がマイクロプロセッサ1のリード信号端子(/RD(MPU))の信号状態に拘わらずイネーブル状態("L")に強制的に固定されることで行われるものであって、従来例のように、メモリのチップセレクト信号端子(/CS(メモリ))及びリード信号端子(/RD(メモリ))を予めハードウェア的にグランド(GND:イネーブル状態)に落とすものではないから、同一のメモリアドレスであっても、汎用ポート(Port)から出力される制御信号によりゲート素子9を制御することにより、図3及び図4に示されるように、ライトサイクル並びにソフトウェイトを利用しつつのリードサイクルを従前通りに実現することができる。
【0042】
ここで、図3に示されるタイムチャートは、メモリ(SRAM)2Aのリード信号端子(/RD(SRAM))の信号状態をイネーブル固定を解除した状態のまま、ソフトウェイトを使用しつつ、連続的にリードサイクルを実行する例であり、図4に示されるタイムチャートは、メモリ(SRAM)2Aのリード信号端子(/RD(SRAM))の信号状態をイネーブル固定を解除した状態のまま、ソフトウェイトを使用するリードサイクルとライトサイクルとを交互に実行する例である。
【0043】
さらに、第1の動作モードと第2の動作モードとの切換は、後に図9を参照しつつ詳述するように、マイクロプロセッサ1で実行されるプログラム中の適宜箇所に、所定命令語を使用した汎用ポート操作プログラム(ゲート開プログラム又はゲート閉プログラム)を組み込むだけでよいため、同一のメモリアドレス空間をその時々の状況に合わせて、リード専用空間、ライト専用空間、リード・ライト共用空間として割り当てることができ、ユーザのプログラム設計自由度を阻害することがない。
【0044】
次に、上述のマイクロコンピュータ装置を利用して、プログラマブル・コントローラ(PLC)のCPUユニットを構成した具体例を添付図面の図6〜図10を参照しつつ詳細に説明する。
【0045】
PLCのCPUユニット(演算ユニット)のメモリ構成の一例を説明する概略構成図が図6に示されている。同図に示されるように、このPLCは、マイクロプロセッサ1Aと、第1のスタティックRAM(SRAM)2Aと、第2のスタティックRAM(SRAM)2Bと、フラッシュメモリ(FROM)2Cとを含んで構成される。なお、メモリとマイクロプロセット以外の構成要素は図示を省略されている。
【0046】
第1のSRAM2A内には、外部I/O割付用の記憶領域と、ユーザプログラムで使用するデータの記憶領域と、MPUのワーク領域とが設けられており、それらの領域はいずれもリード・ライト動作が行われる領域とされている。
【0047】
第2のSRAM2B内には、ユーザプログラムの記憶領域と、MPUのワーク領域とが設けられており、ユーザプログラムの演算実行処理の期間は、ユーザプログラムを構成する命令語のリード動作のみが行われるが、その他の処理中はリード・ライト動作が行われる。
【0048】
FROM2C内には、システムファームウェアの記憶領域が設けられており、それらの領域は、通常動作中にあっては、リード動作のみが行われる。
【0049】
PLCのCPUユニットの詳細構成図が図7に示されている。同図に示されるように、マイクロプロセッサ1Aには、アドレス信号出力用のアドレス信号端子列(A)と、データ信号入出力用のデータ信号端子列(D)と、第1、第2のSRAM2A,2Bのチップセレクト信号出力用の第1のチップセレクト信号端子(/CS1)と、FROM用のチップセレクト信号出力用の第2のチップセレクト信号端子(/CS2)と、リード信号出力用のリード信号端子(/RD)と、ライト信号出力用のライト信号端子(/WR)と、所定の命令語を介して任意に使用可能なSRAM制御用の第1の汎用出力ポート(Port1)と、所定の命令語を介して任意に使用可能なFROM制御用の第2の汎用出力ポート(Port2)とを有している。
【0050】
SRAM2A,2Bは、アドレス信号入力用のアドレス信号端子列(A)と、データ信号入出力用のデータ信号端子列(D)と、チップセレクト信号入力用のチップセレクト信号端子(/CS)と、リード信号入力用のリード信号端子(/RD)と、ライト信号入力用のライト信号端子(/WR)とを有している。
【0051】
FROM2Cは、アドレス信号入力用のアドレス信号端子列(A)と、データ信号入出力用のデータ信号端子列(D)と、チップセレクト信号入力用のチップセレクト信号端子(/CS)と、リード信号入力用のリード信号端子(/RD)と、ライト信号入力用のライト信号端子(/WR)とを有している。
【0052】
マイクロプロセッサ1のアドレス信号端子列(A)、データ信号端子列(D)、第1のチップセレクト信号端子(/CS1)、リード信号端子(/RD)、及びライト信号端子(/WR)と、SRAM2A,2Bのアドレス信号端子列(A)、データ信号端子列(D)、チップセレクト信号端子(/CS)、リード信号端子(/RD)、及びライト信号端子(/WR)とは、それぞれ、対応するもの同士が、アドレスバス3、データバス4、チップセレクト信号線51、リード信号線6a,61b、及びライト信号線7を介して結ばれている。
【0053】
マイクロプロセッサ1のアドレス信号端子列(A)、データ信号端子列(D)、第2のチップセレクト信号端子(/CS2)、リード信号端子(/RD)、及びライト信号端子(/WR)と、FROM2Cのアドレス信号端子列(A)、データ信号端子列(D)、チップセレクト信号端子(/CS)、リード信号端子(/RD)、及びライト信号端子(/WR)とは、それぞれ、対応するもの同士が、アドレスバス3、データバス4、チップセレクト信号線51、リード信号線6a,62b、及びライト信号線7を介して結ばれている。
【0054】
マイクロプロセッサ1のリード信号端子(/RD)とSRAM2A,2Bのリード信号端子(/RD)とを結ぶリード信号線(6a,61b)には、第1の汎用出力ポート(Port1)からの信号により制御されるゲート素子としてのANDゲート91が介在されている。
【0055】
マイクロプロセッサ1のリード信号端子(/RD)とFROM2Cのリード信号端子(/RD)とを結ぶリード信号線(6a,62b)には、第2の汎用出力ポート(Port2)からの信号により制御されるゲート素子としてのANDゲート92が介在されている。
【0056】
第1の汎用ポート(Port1)から出力される制御信号によりゲート素子としてのANDゲート91を制御することにより、SRAM2A,2Bのリード信号端子(/RD)の信号状態がマイクロプロセッサ1のリード信号端子(/RD)の信号状態に連動してイネーブル状態("L")とディスイネーブル状態("H")とに変化する第1の動作モードが選択されると共に、第1の汎用ポート(Port1)から出力される制御信号により前記ゲート素子としてのANDゲート91を制御することにより、メモリ(SRAM2A,2Bのリード信号端子(/RD)の信号状態が前記マイクロプロセッサ1のリード信号端子(/RD)の信号状態に拘わらずイネーブル状態("L")に強制的に固定される第2の動作モードが選択される。
【0057】
第2の汎用ポート(Port2)から出力される制御信号によりゲート素子としてのANDゲート92を制御することにより、FROM2Cのリード信号端子(/RD)の信号状態がマイクロプロセッサ1のリード信号端子(/RD)の信号状態に連動してイネーブル状態("L")とディスイネーブル状態("H")とに変化する第1の動作モードが選択され、第2の汎用ポート(Port2)から出力される制御信号により前記ゲート素子としてのANDゲート92を制御することにより、FROM2Cのリード信号端子(/RD)の信号状態が前記マイクロプロセッサ1のリード信号端子(/RD)の信号状態に拘わらずイネーブル状態("L")に強制的に固定される第2の動作モードが選択される。
【0058】
PLCの制御プログラムの全体を示すゼネラルフローチャートが図8に示されている。同図に示されるように、制御プログラムの全体は、電源ON(イニシャル)処理(ステップ801)と、共通処理(ステップ802)と、演算処理(ステップ803)と、I/Oリフレッシュ処理(ステップ804)と、周辺サービス処理(ステップ805)とから構成されている。
【0059】
電源ON(イニシャル)処理(ステップ801)においては、FROM2Cからユーザメモリ(UM)として機能する第2のSRAM2Bへとユーザプログラムデータを転送する処理、メモリの初期化処理等が実行される。これに伴い、第2のSRAM2Bに対しては、リード・ライト動作が行われる。続く、共通処理(ステップ802)においては、バスチェック等が実行される。これに伴い、第2のSRAM2Bに対しては、リード・ライト動作が行われる。続く、演算処理(ステップ803)においては、ユーザプログラムに関する命令実行処理が実行される。これに伴い、第1のSRAM2Aに対しては、リード動作のみが行われる。続く、I/Oリフレッシュ処理(ステップ804)においては、図示しないI/OユニットとI/O領域(IOM)との間におけるデータ交換が実行される。これに伴い、ユーザメモリ(UM)として機能する第2のSRAM2Bに対するリード・ライト処理が行われる。
【0060】
以上のPLC処理全体を前提として、本発明に係る第1の動作モードと第2の動作モードとを適用することにより、この例では、演算処理(ステップ803)に関して、処理の高速化を実現する。
【0061】
PLCの第2のSRAM2Bに高速読出処理を適用する際のMPUポート(Port2)の操作処理を示すフローチャートが図9に示されている。同図に示されるように、この例にあっては、共通処理(ステップ802)と演算処理(ステップ803)との間には、第1の動作モードから第2の動作モードへの切換処理(ステップ901)が設けられ、また演算処理(ステップ803)とI/Oリフレッシュ処理(ステップ804)との間には、第2の動作モードから第1の動作モードへの切換処理(ステップ902)が設けられる。
【0062】
ここで、切換処理(ステップ901)においては、MPUの第1のポート(Port1)から出力される制御信号の信号状態を"H"(ディスイネーブル状態)から"L"(イネーブル状態)へと変更する処理、並びに、ソフトウェイトを除去するためのウェイト設定処理("1"→"0")が実行される。これにより、第2のSRAM2Bのリード端子(/RD)の信号状態はイネーブル状態に固定されるため、第2のSRAM2Bからのデータ読出動作(ユーザプログラムを構成する各命令語の連続読出処理)は、ソフトウェイトを含むことなく、規定のアクセス周期で高速に実行されることとなるから、ユーザプログラムの実行時間が短縮され、サイクルタイムの短縮によりPLCの入出力応答性が向上することとなる。
【0063】
一方、切換処理(ステップ902)においては、MPUの第1のポート(Port1)から出力される制御信号の信号状態を"L"(イネーブル状態)から"H"(ディスイネーブル状態)へと変更する処理、並びに、ソフトウェイトを付加するためのウェイト設定処理("0"→"1")が実行される。これにより、第2のSRAM2Bのリード端子(/RD)の信号状態はイネーブル状態が解除されるため、第2のSRAM2Bからのデータ読出動作(ユーザプログラムを構成する各命令語の連続読出処理)は、ソフトウェイトを含む通常の処理へ戻され、またライト動作も可能となって、同一のアドレス空間に対するリード・ライト動作が可能となる。
【0064】
その結果、PLCの処理全体の中で、演算処理(ステップ803)については、ソフトウェイト処理を使用することなく、規定のアクセス時間を採用しつつ、高速に処理されることとなるのである。
【0065】
なお、本発明の高速読出処理は、PLCの処理全体の中で他の様々な処理にも適用することができる。PLCのFROMに対する高速読出処理を適用する場合におけるMPUポートの操作処理を説明するためのフローチャートが図10に示されている。
【0066】
同図に示されるように、FROM2Cに着目してPLCの各処理を観察すると、殆どの処理において、FROM2Cに対してはリード動作のみが行われていることが判る。したがって、それらのリード動作のみが行われる処理の前後に、前述の動作モード切換処理(ステップ901,902)を挿入することで、第2のポート(Port2)を介して第2のゲート素子92を制御することで、FROM2Cに関しても、FRAMに対する場合と同様にして、本発明の高速リードオンリ処理を適用することができる。
【0067】
このように、本発明によれば、第2の動作モードを選択することにより、メモリのリード信号端子(/RD(メモリ))の信号状態は、前記マイクロプロセッサのリード信号端子(/RD(MPU))の信号状態に拘わらずイネーブル状態("L")に強制的に固定されるから、これを利用することにより、マイクロプロセッサのチップセレクト信号端子(/CS(MPU))の信号状態をメモリアクセスと連動して、その都度"H"(ディスイネーブル状態)から"L"(イネーブル状態)へと変化させるだけで、第1の読出遅れ時間(Td1)をもって各アドレスのメモリ内データをデータバス上に読み出すことができるから、別途ソフトウェイト機能でアクセス時間をクロック単位で延長せずとも、マイクロプロセッサのセットアップ時間(Tsu)を満足させつつ、メモリからの読出からマイクロプロセッサへの読込に至るリードサイクルを比較的に短時間で完結することができる。したがって、動作クロック周波数が比較的に低速であることに起因してメモリからの読出遅延時間が増大する場合にも、ソフトウェイト機能等を使用してアクセス時間を増大せずとも、マイクロプロセッサのセットアップ時間を満足させて、処理速度の低下を回避することができる。
【0068】
しかも、第2の動作モードの選択は、前記汎用ポート(Port)から出力される制御信号により前記ゲート素子を制御することにより、前記メモリのリード信号端子(/RD(メモリ))の信号状態が前記マイクロプロセッサのリード信号端子(/RD(MPU))の信号状態に拘わらずイネーブル状態("L")に強制的に固定されることで行われるものであって、従来例のように、メモリのチップセレクト信号端子(/CS(メモリ))及びリード信号端子(/RD(メモリ))を予めハードウェア的にグランド(GND:イネーブル状態)に落とすものではないから、同一のメモリアドレスであっても、汎用ポート(Port)から出力される制御信号により前記ゲート素子を制御することにより、ライトサイクル並びにソフトウェイトを利用しつつのリードサイクルを実現することができる。
【0069】
さらに、第1の動作モードと第2の動作モードとの切換は、マイクロプロセッサで実行されるプログラム中の適宜箇所に、所定命令語を使用した汎用ポート操作プログラム(ゲート開プログラム又はゲート閉プログラム)を組み込むだけでよいため、同一のメモリアドレス空間をその時々の状況に合わせて、リード専用空間、ライト専用空間、リード・ライト共用空間として割り当てることができ、ユーザのプログラム設計自由度を阻害することがない。
【産業上の利用可能性】
【0070】
本発明によれば、動作クロック周波数が比較的に低速であることに起因してメモリからの読出遅延時間が増大する場合にも、ソフトウェイト機能等を使用してアクセス時間を増大せずとも、マイクロプロセッサのセットアップ時間を満足させて、処理速度の低下を回避することができ、しかも特定のアドレス空間がリード専用に固定されることもなく、設計上の自由度を確保することが可能なマイクロコンピュータを提供することができる。
【図面の簡単な説明】
【0071】
【図1】本発明装置の要部を示すハードウェア構成図である。
【図2】SRAMの/RDに与えられるリード信号を強制的にイネーブル状態に固定した状態における各部の信号状態を示すタイムチャートである。
【図3】SRAMの/RDに与えられるリード信号のイネーブル固定を解除した状態における各部の信号状態を示すタイムチャート(1)である。
【図4】SRAMの/RDに与えられるリード信号のイネーブル固定を解除した状態における各部の信号状態を示すタイムチャート(2)である。
【図5】本発明の作用説明図である。
【図6】PLCのCPUユニットの概略構成図である。
【図7】PLCのCPUユニットの詳細構成図である。
【図8】PLCの制御プログラムの全体を示すゼネラルフローチャートである。
【図9】PLCのSRAMに高速読出処理を適用する際のMPUポートの操作処理を示すフローチャートである。
【図10】PLCのFROMに対する高速読出処理を適用する場合におけるMPUポートの操作処理を説明するためのフローチャートである。
【図11】本発明装置の要部を示すハードウェア構成図(他の例)である。
【図12】従来技術の作用説明図である。
【符号の説明】
【0072】
1 MPU
2A 第1のSRAM
2B 第2のSRAM
2C FROM
3 アドレスバス
4 データバス4
5 チップセレクト信号線
6a,6b リード信号線
7 ライト信号線
8 制御信号線
9 ANDゲート(ゲート素子)
9a トライステートバッファ(ゲート素子)
A アドレス端子列
D データ端子列
/CS チップセレクト端子
/RD リード端子
/WR ライト端子
Port 制御ポート

【特許請求の範囲】
【請求項1】
マイクロプロセッサとメモリとを含み、
前記マイクロプロセッサは、
アドレス信号出力用のアドレス信号端子列と、
データ信号入出力用のデータ信号端子列と、
チップセレクト信号出力用のチップセレクト信号端子と、
リード信号出力用のリード信号端子と、
ライト信号出力用のライト信号端子と、
所定の命令語を介して任意に使用可能な汎用出力ポートとを有し、
前記メモリは、
アドレス信号入力用のアドレス信号端子列と、
データ信号入出力用のデータ信号端子列と、
チップセレクト信号入力用のチップセレクト信号端子と、
リード信号入力用のリード信号端子と、
ライト信号入力用のライト信号端子とを有し、
前記マイクロプロセッサのアドレス信号端子列、データ信号端子列、チップセレクト信号端子、リード信号端子、及びライト信号端子と、
前記メモリのアドレス信号端子列、データ信号端子列、チップセレクト信号端子、リード信号端子、及びライト信号端子とは、
それぞれ、対応するもの同士が、アドレスバス、データバス、チップセレクト信号線、リード信号線、及びライト信号線を介して結ばれており、さらに
前記マイクロプロセッサのリード信号端子と前記メモリのリード信号端子とを結ぶリード信号線には、前記汎用出力ポートからの信号により制御されるゲート素子が介在されており、
それにより、前記汎用ポートから出力される制御信号により前記ゲート素子を制御することにより、前記メモリのリード信号端子の信号状態が前記マイクロプロセッサのリード信号端子の信号状態に連動してイネーブル状態とディスイネーブル状態とに変化する第1の動作モードを選択すると共に、前記汎用ポートから出力される制御信号により前記ゲート素子を制御することにより、前記メモリのリード信号端子の信号状態が前記マイクロプロセッサのリード信号端子の信号状態に拘わらずイネーブル状態に強制的に固定される第2の動作モードを選択する、ことを特徴とするマイクロコンピュータ装置。
【請求項2】
前記マイクロプロセッサの動作クロック周期をTclk、前記メモリのチップセレクト端子の信号状態がイネーブルとなったのち、前記メモリのデータ信号端子列にデータが読み出されるまでの遅れ時間をTd1、前記メモリのリード信号端子の信号状態がイネーブルとなったのち、前記メモリのデータ信号端子列にデータが読み出されるまでの遅れ時間をTd2としたとき、TclkとTd1とTd2との間には、
Td2 + (1/2)×Tclk > Td1
なる関係が成立すると共に、前記マイクロプロセッサにはソフトウェイト機能が組み込まれており、
それにより、第1の動作モードが選択されるときには、前記ソフトウェイト機能を利用してアクセス時間を延長することにより、マイクロプロセッサがデータを読み込むに要するセットアップ時間を満足させる一方、第2の動作モードが選択されるときには、前記ソフトウェイト機能を利用することなく、規定のアクセス時間をもって、マイクロプロセッサにデータの読み込みを行わせる、ことを特徴とする請求項1に記載のマイクロコンピュータ装置。
【請求項3】
プログラマブル・コントローラのCPUユニットとして構成されていることを特徴とする請求項1又は2に記載のマイクロコンピュータ装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2008−59570(P2008−59570A)
【公開日】平成20年3月13日(2008.3.13)
【国際特許分類】
【出願番号】特願2007−197036(P2007−197036)
【出願日】平成19年7月30日(2007.7.30)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FRAM
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】