(57)【特許請求の範囲】
【請求項１】
入力されたクロックに同期して命令の実行動作をする演算部を備えた演算装置において、
制限解除信号が入力されるまで前記演算部への前記クロックの入力の制限動作をする制限手段と、前記クロックに同期して前記演算部の前記実行動作と平行して駆動動作し、クロックの入力中に書き込まれた所定値が演算部に駆動動作の時に読み出される平行駆動部と、制限解除信号の入力前に所定値が書き込まれる早期書込部と、が設けられ、
前記平行駆動部は、制限解除信号の入力とともに前記早期書込部から前記所定値が書き込まれるとともに、所定番地が指定されたときに前記所定値が読み出され、前記所定値は前記演算部の実行動作の度に平行駆動部内で更新され、前記早期書込部は、前記クロックの入力が中断し、前記所定番地が指定されたときに前記所定値が平行駆動部から書き込まれ、
前記平行駆動部への前記クロックの入力は前記制限手段の制限動作でもって制限解除信号の入力時まで制限されるよう成したことを特徴とする演算装置。
【請求項２】
前記制限手段は、前記制限解除信号に基づいた論理信号を出力する論理信号出力回路と、一方入力端子から入力された前記論理信号に基づいて、他方入力端子から入力された前記クロックを出力端子から前記演算部へ出力する論理回路と、からなることを特徴とする請求項１記載の演算装置。
【請求項３】
前記演算部を内部に有した装置本体は起動信号が入力されてから起動するものであって、前記制限解除信号は起動信号の入力に連動して入力されたことを特徴とする請求項１又は２のいずれかに記載の演算装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、プログラマブルコントローラの一部を構成する演算装置に関するものである。
【０００２】
【従来の技術】
従来、この種の演算装置として、図19乃至図21に示すものが存在する。このものは、１ビット単位のデータ演算をするプロセッサであるＢＰＵ（Ｂｉｔ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）Bpであって、ユーザープログラムや内部リレーの情報等のデータを格納するメモリMe、制御対象や周辺装置等との情報の受け渡しをするためのＩ／Ｏ装置Io、及びＭＰＵMpと共にプログラミングコントローラPcを構成する。このＢＰＵBpは、ＭＰＵMpからの指示に基づいて起動信号ＢＰＵＧＯを出力するデコードブロックDbと、クロックＣＬＫに同期して命令の実行動作をする演算部A 及び起動信号ＢＰＵＧＯを監視するステートマシンSmを有して起動信号ＢＰＵＧＯが入力されると起動するＢＰＵ本体B と、を備えている。なお、クロックＣＬＫは、演算部A の起動の如何によらず、常時、演算部A に入力されている。
【０００３】
次に、図21に基づいて、このものの動作を詳しく説明する。まず、ＭＰＵMpが、ＢＰＵBpのデコードブロックDbに、例えば、信号値が「１０００Ｈ」であるアドレス信号ＡＤＤＲを入力して書き込む番地を指定するとともに、書込信号ＷＴが「Ｌ」のときに、デコードブロックDbは、「Ｈ」の起動信号ＢＰＵＧＯを出力する。この起動信号ＢＰＵＧＯの信号状態が「Ｌ」から「Ｈ」に変化した時に、ステートマシンSmの状態ＳＴＡＴＥは、クロックＣＬＫの立ち上がりに同期して、演算部A の未起動を示す「ＩＤＬＥ」から、演算部A の起動を示す「ＧＯ１」に変化し、さらに、クロックＣＬＫの次の立ち上がりに同期して、「ＧＯ１」から「ＧＯ２」に変化する。こうして、ステートマシンSmの状態ＳＴＡＴＥが、「ＧＯ１」から「ＧＯ２」に変化すると同時に、ＢＰＵ本体B は、メモリMe及びＩ／Ｏ装置Ioとの間に接続されたバスの使用を要求する「Ｈ」のバス要求信号ＨＬＤＲＱをＭＰＵMpへ向けて出力する。
【０００４】
一方、ＭＰＵMpは、バス要求信号ＨＬＤＲＱが「Ｈ」になると、自らの動作を停止して、メモリMe及びＩ／Ｏ装置Ioとの間に接続されたバスの使用を中止して、バス使用許可信号ＨＬＤＡＫをＢＰＵ本体B へ向けて出力する。
【０００５】
こうして、バス使用許可信号ＨＬＤＡＫがＢＰＵ本体B に入力されると、ステートマシンSmの状態ＳＴＡＴＥは、次のクロックＣＬＫの立ち上がりに同期して、「ＧＯ２」から「ＧＯ３」に変化するのに続いて、クロックＣＬＫの立ち上がりに同期して、演算部A の命令実行動作を示す「ＩＦ」から「ＩＤ」へと変化する。
【０００６】
【発明が解決しようとする課題】
上記した従来の演算装置にあっては、クロックＣＬＫは、演算部A の起動の如何によらず、常時、演算部A に入力されているために、演算装置そのものの消費電力が大きくなり、ひいては、発熱量が大きくなってしまうこともある。
【０００７】
本発明は、上記の点に着目してなされたもので、その目的とするところは、演算部へのクロックの入力に伴う消費電力が小さい演算装置を提供することにある。
【０００８】
【課題を解決するための手段】
上記した課題を解決するために、請求項１記載の発明は、入力されたクロックに同期して命令の実行動作をする演算部を備えた演算装置において、制限解除信号が入力されるまで前記演算部への前記クロックの入力の制限動作をする制限手段と、前記クロックに同期して前記演算部の前記実行動作と平行して駆動動作し、クロックの入力中に書き込まれた所定値が演算部に駆動動作の時に読み出される平行駆動部と、制限解除信号の入力前に所定値が書き込まれる早期書込部と、が設けられ、前記平行駆動部は、制限解除信号の入力とともに前記早期書込部から前記所定値が書き込まれるとともに、所定番地が指定されたときに前記所定値が読み出され、前記所定値は前記演算部の実行動作の度に平行駆動部内で更新され、前記早期書込部は、前記クロックの入力が中断し、前記所定番地が指定されたときに前記所定値が平行駆動部から書き込まれ、前記平行駆動部への前記クロックの入力は前記制限手段の制限動作でもって制限解除信号の入力時まで制限されるよう成した構成にしてある。
【０００９】
請求項２記載の発明は、請求項１記載の発明において、前記制限手段は、前記制限解除信号に基づいた論理信号を出力する論理信号出力回路と、一方入力端子から入力された前記論理信号に基づいて、他方入力端子から入力された前記クロックを出力端子から前記演算部へ出力する論理回路と、からなる構成にしてある。
【００１０】
請求項３記載の発明は、請求項１又は２のいずれかに記載の発明において、前記演算部を内部に有した装置本体は起動信号が入力されてから起動するものであって、前記制限解除信号は起動信号の入力に連動して入力された構成にしてある。
【００１５】
【発明の実施の形態】
本発明の第１実施形態を図１乃至図４に基づいて以下に説明する。この演算装置は、基本命令である１ビット単位のデータ演算をするプロセッサのＢＰＵ（Ｂｉｔ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）10であって、ユーザープログラムや内部リレーの情報等のデータを格納するメモリMe、制御対象や周辺装置等との情報の受け渡しをするためのＩ／Ｏ装置Io、上記した基本命令以外の命令である応用命令を実行するＭＰＵMpと共にプログラミングコントローラPcを構成する。このＢＰＵ10は、デコードブロック1 、ＢＰＵ本体2 、制限手段3 を備えている。
【００１６】
デコードブロック1 は、ＭＰＵMpからの指示に基づいて起動信号を出力する。なお、ＭＰＵMpからの指示については、詳しく後述する。
【００１７】
ＢＰＵ本体2 は、演算部21、ステートマシン22、周辺ブロック23を内部に有している。演算部21は、入力されたクロックＣＬＫに同期して命令の実行動作をするが、割り込み処理等の停止要求が入力されると、その実行動作を中断する。ステートマシン22は、入力されるクロックＣＬＫに同期して演算部21の命令の実行動作と平行して駆動する平行駆動部2aとなって、本ＢＰＵ10の諸動作の制御動作をする。なお、このステートマシン22は、常時クロックＣＬＫが入力されている。周辺ブロック23は、その内部にプログラムカウンタ23a が設けられている。このプログラムカウンタ23a は、クロックＣＬＫの入力中に、本ＢＰＵ10の演算部21が実行する命令の順序を示す所定値、詳しくはその初期値が入力される。このプログラムカウンタ23a は、入力されるクロックＣＬＫに同期して演算部21の命令の実行動作と平行して駆動する平行駆動部2aとなって、演算部21の命令の実行の度に所定値を更新する。なお、このプログラムカウンタ23a は、常時クロックＣＬＫが入力されている。
【００１８】
前述した所定値は、本ＢＰＵ10が実行する基本命令のみならず、ＭＰＵMpが実行する応用命令も含めた全ての命令の実行の順序を示すものであり、基本命令及び応用命令の如何に関わらず、命令の度に更新される。具体的に説明すると、所定値は、例えば、図４に示すように、本ＢＰＵ10が基本命令を実行する度に、１から５へと順に更新され、命令を実行するプロセッサがＭＰＵMpに切り替わって、そのＭＰＵMpが応用命令を実行する度に、本ＢＰＵ10の命令実行により更新された最新の所定値である５の次に続く６から順に８までＭＰＵMp内部で更新され、再び、命令を実行するプロセッサが本ＢＰＵ10に切り替わって、本ＢＰＵ10が基本命令を実行する度に、ＭＰＵMpの命令実行により更新された最新の所定値である８の次に続く９から順に更新される。
【００１９】
制限手段3 は、制限解除信号が入力されるまで演算部21へのクロックＣＬＫの入力の制限動作をするものであって、論理信号出力回路31及び論理回路32からなる。この論理信号出力回路31は、制限解除信号に基づく論理信号を出力するものであって、制限手段用マルチプレクサ31a 及びＤフリップフロップ31b からなる。論理回路32は、一方入力端子32a から論理信号Ｑが入力可能であり、他方入力端子32c からクロックＣＬＫが入力される。
【００２０】
次に、主として図３に基づいて、このものの動作を詳しく説明する。まず、ＭＰＵMpが、本ＢＰＵ10のデコードブロック1 に、例えば、信号値が「１０ＦＦＨ」であるアドレス信号ＡＤＤＲを入力して書き込む番地を指定するとともに、「Ｌ」の書込信号ＷＴを入力するときに、デコードブロック1 は、制限解除信号ＣＬＫＧＯを出力して、論理信号出力回路31の制限手段用マルチプレクサ31a に制限解除信号ＣＬＫＧＯを入力する。
【００２１】
この制限解除信号ＣＬＫＧＯが入力された制限手段用マルチプレクサ31a は、出力端子から帰還された帰還値が入力端子０から入力される状態から、「Ｈ」のデータ信号ＤＡＴＡが入力端子１から入力される状態に切り替わり、入力された「Ｈ」のデータ信号ＤＡＴＡをＤフリップフロップ31b の入力端子に入力するよう出力し、そのＤフリップフロップ31b が、クロックＣＬＫに同期して、入力端子から入力されたデータ信号ＤＡＴＡを、制限解除信号ＣＬＫＧＯに基づき上記した過程を経て出力された論理信号Ｑとして、論理回路32の一方入力端子32a に入力する。
【００２２】
この論理信号Ｑが一方入力端子32a に入力された論理回路32は、一方入力端子32a から入力されたクロックＣＬＫを、演算部入力用のクロックＣＬＫ２として、出力端子32c から演算部21へと出力する。言い換えれば、論理回路32は、一方入力端子32a から入力された論理信号Ｑに基づいて、クロックＣＬＫを出力端子32c から出力して演算部21へ入力する。
【００２３】
続いて、ＭＰＵMpが、本ＢＰＵ10のデコードブロック1 に指示すると、詳しくは、例えば、信号値が「１０００Ｈ」であるアドレス信号ＡＤＤＲを入力して書き込む番地を指定するとともに、「Ｌ」の書込信号ＷＴを入力すると、デコードブロック1 は、「Ｈ」の起動信号ＢＰＵＧＯを出力して、その起動信号ＢＰＵＧＯをＢＰＵ本体2 に入力する。この起動信号ＢＰＵＧＯの信号状態が「Ｌ」から「Ｈ」に変化した時に、ステートマシン22の状態ＳＴＡＴＥは、クロックＣＬＫの立ち上がりに同期して、演算部21の未起動を示す「ＩＤＬＥ」から、演算部21の起動を示す「ＧＯ１」に変化し、さらに、クロックＣＬＫの次の立ち上がりに同期して、「ＧＯ１」から「ＧＯ２」に変化する。こうして、ステートマシン22の状態ＳＴＡＴＥが、「ＧＯ１」から「ＧＯ２」に変化するのと同時に、ＢＰＵ本体2 は、メモリMe及びＩ／Ｏ装置Ioとの間に接続されたバスの使用を要求する「Ｈ」のバス要求信号ＨＬＤＲＱをＭＰＵMpへ向けて出力する。
【００２４】
一方、ＭＰＵMpは、バス要求信号ＨＬＤＲＱが「Ｈ」になると、自らの動作を停止して、メモリMe及びＩ／Ｏ装置Ioとの間に接続されたバスの使用を中止して、バス使用許可信号ＨＬＤＡＫを演算部21へ向けて出力する。
【００２５】
こうして、バス使用許可信号ＨＬＤＡＫが演算部21に入力されると、ステートマシン22の状態ＳＴＡＴＥは、次のクロックＣＬＫの立ち上がりに同期して、「ＧＯ２」から「ＧＯ３」に変化するのに続いて、クロックＣＬＫの立ち上がりに同期して、演算部21の命令実行動作を示す状態、詳しくは、命令読込「ＩＦ」、命令解読「ＩＤ」、命令遂行「ＥＸ１」へと変化する。
【００２６】
かかる演算装置にあっては、制限手段3 が、制限解除信号ＣＬＫＧＯが入力されるまで、演算部21へのクロックＣＬＫの入力の制限動作をするから、従来例よりも、演算部21へのクロックＣＬＫの入力に伴う消費電力を小さくすることができ、ひいては、発熱量を小さくすることができる。
【００２７】
また、制限手段3 は、制限解除信号ＣＬＫＧＯに基づいた論理信号Ｑを出力する論理信号出力回路31と、一方入力端子32a から入力された論理信号Ｑに基づいて、他方入力端子32b から入力されたクロックＣＬＫを出力端子32c から演算部21へ出力する論理回路32と、からなるのであるから、構成を簡単にすることができる。
【００２８】
次に、本発明の第２実施形態を図５に基づいて以下に説明する。なお、第１実施形態と実質的に同一の機能を有する素子には同一符号を付し、第１実施形態と異なるところのみ記す。第１実施形態では、論理信号出力回路31は、制限手段用マルチプレクサ31a 及びＤフリップフロップ31b からなるのに対し、本実施形態では、Ｄラッチ31c からなる構成となっている。
【００２９】
次に、このものの動作を詳しく説明する。まず、ＭＰＵMpが、第１実施形態と同様に、本ＢＰＵ10のデコードブロック1 に信号値が「１０ＦＦＨ」であるアドレス信号ＡＤＤＲを入力して、デコードブロック1 における書き込む番地を指定するとともに、「Ｌ」の書込信号ＷＴを入力すると、デコードブロック1 は、論理信号出力回路31のＤラッチ31c のＧ端子に、制限解除信号ＣＬＫＧＯを入力する。
【００３０】
この制限解除信号ＣＬＫＧＯが入力されたＤラッチ31c は、「Ｈ」のデータ信号ＤＡＴＡがＤ端子から入力され、入力された「Ｈ」のデータ信号ＤＡＴＡを、制限解除信号ＣＬＫＧＯに基づき上記した過程を経て出力された論理信号Ｑとして、Ｑ端子から論理回路32の一方入力端子32a に入力する。この後の動作は、第１実施形態と同様である。
【００３１】
かかる演算装置にあっては、第１実施形態と同様の効果を奏することができる。
【００３２】
次に、本発明の第３実施形態を図６及び図７に基づいて以下に説明する。なお、第１実施形態と実質的に同一の機能を有する素子には同一符号を付し、第１実施形態と異なるところのみ記す。第１実施形態では、制限解除信号ＣＬＫＧＯが、「１０ＦＦＨ」の信号値を有したアドレス信号ＡＤＤＲにより、書き込む番地が指定されるとともに、「Ｌ」の書込信号ＷＴの入力されるときに出力されて、制限手段3 の論理信号出力回路31に入力され、起動信号ＢＰＵＧＯが、「１０００Ｈ」の信号値を有したアドレス信号ＡＤＤＲにより、書き込む番地を指定されるとともに、「Ｌ」の書込信号ＷＴの入力されるときに出力されて、ＢＰＵ本体2 に入力するのであって、制限解除信号ＣＬＫＧＯは、起動信号ＢＰＵＧＯとは独立して論理信号出力回路に入力されるのに対し、本実施形態では、制限解除信号ＣＬＫＧＯは、起動信号ＢＰＵＧＯの入力に連動して、制限手段3 の論理信号出力回路31に入力される構成となっている。
【００３３】
詳しくは、第１実施形態と同様の手順を経て、デコードブロック1 は、「Ｈ」の起動信号ＢＰＵＧＯを出力する。この起動信号ＢＰＵＧＯの信号状態が「Ｌ」から「Ｈ」に変化した時に、ステートマシン22の状態ＳＴＡＴＥは、クロックＣＬＫの立ち上がりに同期して、演算部21の未起動を示す「ＩＤＬＥ」から、演算部21の起動を示す「ＧＯ１」に変化し、さらに、クロックＣＬＫの次の立ち上がりに同期して、「ＧＯ１」から「ＧＯ２」に変化する。こうして、ステートマシン22の状態ＳＴＡＴＥが、「ＧＯ１」から「ＧＯ２」に変化するのと同時に、制限解除信号ＣＬＫＧＯは、ステートマシン22から制限手段3 に入力され、その後、第１実施形態と同様の手順で、クロックＣＬＫをクロックＣＬＫ２として演算部21へ入力する。
【００３４】
そして、クロックＣＬＫの次の立ち上がりに同期して、「ＧＯ２」から「ＧＯ３」に変化する。こうして、ステートマシン22の状態ＳＴＡＴＥが、「ＧＯ２」から「ＧＯ３」に変化するのと同時に、「Ｈ」のバス要求信号ＨＬＤＲＱをＭＰＵMpへ向けて出力する。一方、ＭＰＵMpは、バス要求信号ＨＬＤＲＱが「Ｈ」になると、バス使用許可信号ＨＬＤＡＫを演算部21へ向けて出力する。こうして、バス使用許可信号ＨＬＤＡＫが演算部21に入力されると、ステートマシン22の状態ＳＴＡＴＥは、次のクロックＣＬＫの立ち上がりに同期して、「ＧＯ３」から「ＧＯ４」に変化するのに続いて、クロックＣＬＫの立ち上がりに同期して、演算部21の命令実行動作を示す状態、詳しくは、命令読込「ＩＦ」、命令解読「ＩＤ」、命令遂行「ＥＸ１」へと変化する。
【００３５】
かかる演算装置にあっては、第１実施形態の効果に加えて、制限解除信号ＣＬＫＧＯは、起動信号ＢＰＵＧＯの入力に連動して入力されるのであるから、制限解除信号ＣＬＫＧＯの入力のための動作と起動信号ＢＰＵＧＯの入力のための動作とを別にしなくてもよくなる。
【００３６】
次に、本発明の第４実施形態を図８及び図９に基づいて以下に説明する。なお、第３実施形態と実質的に同一の機能を有する素子には同一符号を付し、第３実施形態と異なるところのみ記す。第３実施形態では、常時クロックＣＬＫが入力されるステートマシン22が、入力されるクロックＣＬＫに同期して演算部21の命令の実行動作と平行して駆動する平行駆動部2aとなって、本ＢＰＵ10の諸動作の制御動作をするのに対し、本実施形態では、クロックＣＬＫの入力が制限される第１のステートマシン21a が演算部21の内部に設けられるとともに、常時クロックＣＬＫが入力される第２のステートマシン24が演算部21とは別に設けられ、第１のステートマシン21a が、入力されるクロックＣＬＫに同期して演算部21の命令の実行動作と平行して駆動する平行駆動部2aとなって、本ＢＰＵ10の諸動作の制御動作をする構成となっている。
【００３７】
詳しくは、起動信号ＢＰＵＧＯの信号状態が「Ｌ」から「Ｈ」に変化した時に、第２のステートマシン24の状態ＳＴＡＴＥ２が、クロックＣＬＫの立ち上がりに同期して、「ＩＤＬＥ」から「ＧＯ」に変化し、さらに、クロックＣＬＫの次の立ち上がりに同期して、「ＧＯ」から「ＡＣＴＩＶＥ」に変化し、その変化と同時に、第２のステートマシン24は、制限解除信号ＣＬＫＧＯを出力して、その制限解除信号ＣＬＫＧＯを制限手段3 に入力し、クロックＣＬＫの次の立ち上がりに同期して、演算部用起動信号ＧＯを出力して、その演算部用起動信号ＧＯを演算部21に入力する。このように、演算部用起動信号ＧＯは、制限解除信号ＣＬＫＧＯよりも後から出力されるために、演算部21へのクロックＣＬＫの入力の後に、演算部用起動信号ＧＯがＢＰＵ本体2 に入力されることとなり、演算部21及びその演算部21の内部の第１のステートマシン21a の動作がなされていない状態では、クロックＣＬＫが入力されないようになっている。
【００３８】
なお、演算部21は、割り込み処理等の停止要求が入力されて、その実行動作を中断しているときは、停止確認信号ＳＴＯＰを第２のステートマシン24に入力する。
【００３９】
かかる演算装置にあっては、第３実施形態の効果に加えて、演算部21の実行動作と平行して駆動する平行駆動部2aである第１のステートマシン21a へのクロックＣＬＫの入力は、制限手段3 の制限動作でもって制限解除信号ＣＬＫＧＯの入力時まで制限されるから、平行駆動部2aへのクロックＣＬＫの入力に伴う消費電力も小さくすることができ、ひいては、発熱量を小さくすることができるという効果を一段と奏することができる。
【００４０】
次に、本発明の第５実施形態を図10及び図11に基づいて以下に説明する。なお、第３実施形態と実質的に同一の機能を有する素子には同一符号を付し、第３実施形態と異なるところのみ記す。第３実施形態では、常時クロックＣＬＫが入力されるプログラムカウンタ23a から、演算部21に実行動作のときに所定値が読み込まれるとともに、演算部21の実行動作の度に所定値が更新され、そのプログラムカウンタ23a に、所定値の初期値が入力されるのに対し、本実施形態では、クロックＣＬＫの入力が制限される第１のプログラムカウンタ21b が、入力されるクロックＣＬＫに同期して演算部21の命令の実行動作と平行して駆動する平行駆動部2aとして、演算部21の内部に設けられるとともに、制限解除信号ＣＬＫＧＯの入力前に所定値の初期値が一旦書き込まれるよう、例えば、Ｄラッチ等からなる第２のプログラムカウンタ（早期書込部）4aが、ＢＰＵ本体2 とは別に設けられた周辺ブロック4 の内部に設けられ、その第２のプログラムカウンタ4aから制限解除信号ＣＬＫＧＯの入力とともに所定値の初期値が第１のプログラムカウンタ21b に書き込まれて、その第１のプログラムカウンタ21b から所定値が読み込まれるとともに、書き込まれた所定値を演算部21の実行動作の度に更新し、第１の所定番地として、例えば、「１００ＡＨ」が指定されたときに、初期値又は更新された所定値が読み出される構成にしてある。
【００４１】
詳しくは、ＭＰＵMpが、本ＢＰＵ10のデコードブロック1 に、例えば、第２の所定番地として、信号値が「１０Ｆ０Ｈ」であるアドレス信号ＡＤＤＲを入力して、「０００Ｆ」番目からの命令の実行を指示する所定値「０００Ｆ」を書き込む番地を指定するとともに、「Ｌ」の書込信号ＷＴを入力すると、デコードブロック1 から第２のプログラムカウンタ4aに書込指示信号ＰＣ２ＷＴＥＮが入力されて、所定値「０００Ｆ」は、第２のプログラムカウンタ4aに書き込まれる。次に、第３実施形態と同様の手順で、起動信号ＢＰＵＧＯがＢＰＵ本体2 のステートマシン22に入力され、その起動信号ＢＰＵＧＯの入力に連動して、制限解除信号ＣＬＫＧＯが制限手段3 に入力されるとともに、演算部21がその内部の第１のプログラムカウンタ21b に内部信号ＰＣＷＴＥＮを入力して、ステートマシン22の状態ＳＴＡＴＥが、「ＧＯ２」から「ＧＯ３」に変化するのと同時に、第１のプログラムカウンタ21b は、第２のプログラムカウンタ4aから所定値の初期値が書き込まれる。
【００４２】
また、演算部21に割り込み処理等の停止要求が入力されて、命令の実行動作が中断したときは、第２のプログラムカウンタ4aは、プログラムを用いたソフト的な処理を用いて、第１のプログラムカウンタ21b で更新された最新の所定値が書き込まれる。そして、演算部21が命令の再度実行動作をするときには、第２のプログラムカウンタ4aに入力された最新の所定値が、上記した手順に従って、第１のプログラムカウンタ21b に書き込まれる。
【００４３】
次に、表１に基づいて、所定値を読み込むためのアドレス及び書き込むためのアドレスについて詳しく説明する。アドレスが第１の所定番地の「１００ＡＨ」のとき、第１のプログラムカウンタ21b から所定値が読み出され、アドレスが第２の所定番地の「１０Ｆ０Ｈ」のとき、第２のプログラムカウンタ4aに所定値が書き込まれ、アドレスが「１０Ｆ０Ｈ」のとき、第２のプログラムカウンタ4aから所定値が読み出される。
【００４４】
【表１】
0003896649.tif 000002
【００４５】
かかる演算装置にあっては、第３実施形態の効果に加えて、演算部21の実行動作と平行して駆動する平行駆動部2aである第１のプログラムカウンタ21b へのクロックＣＬＫの入力は、制限手段3 の制限動作でもって制限解除信号の入力時まで制限されるから、第１のプログラムカウンタ21b へのクロックＣＬＫの入力に伴う消費電力も小さくすることができ、ひいては、発熱量を小さくすることができるという効果を一段と奏することができる。
【００４６】
また、クロックＣＬＫが入力される前なので、第１のプログラムカウンタ21b に所定値を書き込むことができなくても、制限解除信号ＣＬＫＧＯの入力前に第２のプログラムカウンタ4aに所定値を書き込んでおくと、制限解除信号ＣＬＫＧＯが入力されてクロックＣＬＫの入力の制限動作が解除されるとともに、第２のプログラムカウンタ4aから第１のプログラムカウンタ21b に所定値を書き込むことができ、その書き込まれた所定値が支障なく演算部21に実行動作時に読み込まれるようになる。
【００４７】
次に、本発明の第６実施形態を図12乃至図16に基づいて以下に説明する。なお、第５実施形態と実質的に同一の機能を有する素子には同一符号を付し、第５実施形態と異なるところのみ記す。第５実施形態では、演算部21の実行動作が中断したときに、第２のプログラムカウンタ4aは、プログラムを用いたソフト的な処理を用いて、第１のプログラムカウンタ21b で更新された最新の所定値が入力される構成、第１の所定番地の「１００ＡＨ」が指定されたときに第１のプログラムカウンタ21b から所定値が読み出されるとともに、第２の所定番地の「１０Ｆ０Ｈ」が指定されたときに、第２のプログラムカウンタ4aに所定値の初期値が書き込まれる構成を共に備えているのに対し、本実施形態では、プログラムを用いたソフト的な処理を用いることなく、第１のプログラムカウンタ21b で更新された最新の所定値が書き込まれる構成、第１の所定番地及び第２の所定番地を同一として、第１の所定番地として「１００ＡＨ」が指定されたときに第１のプログラムカウンタ21b から所定値が読み出されるとともに、第２の所定番地として「１００ＡＨ」が指定されたときに、第２のプログラムカウンタ4aに所定値の初期値が書き込まれる構成を共に備えている。
【００４８】
詳しくは、デコードブロック1 からの書込指示信号ＰＣ２ＷＴＥＮが、ＢＰＵ本体2 から書込指示信号ＷＴＢＫＣＫが出力されたときだけ、第２のプログラムカウンタ4aに入力されるために、ＡＮＤ回路5 が設けられている。さらに、ＢＰＵ本体2 から出力された選択信号ＷＴＢＫＳＥＬに基づいて、第２のプログラムカウンタ4aに書き込まれる値を、所定値の初期値ＤＡＴＡ又は第１のプログラムカウンタ21b からの所定値ＷＴＢＫＤＴのいずれかに選択するために、所定値選択用マルチプレクサ6 が設けられている。
【００４９】
次に、図12及び図13に基づいて、第１のプログラムカウンタ21b で更新された最新の所定値が、第２のプログラムカウンタ4aに書き込まれる手順について説明する。なお、図13では、演算部21が、「０００Ｆ」番目の命令から「００１Ｅ」番目までの命令を既に実行動作した後の状態を示している。この状態では、第２のプログラムカウンタ4aでの所定値は、「０００ＦＨ」となっている。
【００５０】
第１のプログラムカウンタ21b は、上記したように、演算部21による「００１Ｅ」番目の命令の実行完了とともに、所定値が「０００Ｆ」となる。このときのステートマシン22の状態は、命令実行中の「ＥＸ」から、「ＳＴＰ１」、「ＳＴＰ２」、「ＳＴＰ３」、「ＳＴＰ４」を経て、演算部21の非起動を示す「ＩＤＬＥ」に変化する。そして、ステートマシン22の状態が、「ＳＴＰ２」のときだけ、第１のプログラムカウンタ21b から第２のプログラムカウンタ4aへの書き込みを指示する書込指示信号ＷＴＢＫＣＫが「Ｌ」になって、書込指示信号ＰＣ２ＷＴＥＮが、クロックＣＬＫＣＬＫ１周期分だけ、ＰＣ２ＷＴＥＮ２として入力する。
【００５１】
また、「ＳＴＰ２」及び「ＳＴＰ３」のときに、選択用マルチプレクサ6 に入力される選択信号ＷＴＢＫＳＥＬが「Ｈ」になるとともに、第１のプログラムカウンタ21b からの所定値ＷＴＢＫＤＴである「００１ＥＨ」が選択用マルチプレクサ6 に入力される。そして、書込指示信号ＰＣ２ＷＴＥＮが、「ＳＴＰ２」と「ＳＴＰ３」との間で「Ｌ」から「Ｈ」に変化するとき、第１のプログラムカウンタ21b からの所定値ＷＴＢＫＤＴである「００１ＦＨ」が、第２のプログラムカウンタ4aに書き込まれて、所定値が「０００ＦＨ」から「００１ＥＨ」に書き換えられて更新される。なお、図12では、選択用マルチプレクサ6 から第２のプログラムカウンタに書き込まれる所定値は、ＤＡＴＡ２として示されている。
【００５２】
次に、図14及び図16に基づいて、演算部21に割り込み処理のための停止要求が入力されたときの所定値の書き込みについて具体的に説明する。先ず、第２のプログラムカウンタ4aに所定値の初期値「１」が書き込まれ、起動信号ＢＰＵＧＯがステートマシン22に入力されると、これまでに説明した手順に従って、所定値の初期値「１」が第１のプログラムカウンタ21b に書き込まれるとともに、「Ｈ」のバス要求信号ＨＬＤＲＱを出力して、演算部21が命令の実行動作をし、演算部21の実行動作の度に、第１のプログラムカウンタ21b に書き込まれた所定値が「１」から順に更新される。そして、所定値が「２」であるときに、割り込み処理のための停止要求が入力されると、演算部21が命令の実行動作を中断し始める。このとき、第１のプログラムカウンタ21b では、所定値が「３」まで更新されており、この所定値「３」が、前述した手順に従って、第２のプログラムカウンタ4aに書き込まれる。その後、バス要求信号ＨＬＤＲＱが「Ｌ」となり、演算部21が命令の実行動作を中断する。
【００５３】
その後、割り込み処理が完了して、再度、起動信号ＢＰＵＧＯがステートマシン22に入力されると、所定値「３」が第１のプログラムカウンタ21b に書き込まれるとともに、「Ｈ」のバス要求信号ＨＬＤＲＱを出力して、演算部21が命令の実行動作をし、以後、第１のプログラムカウンタ21b に書き込まれた所定値が「３」から順に更新される。
【００５４】
次に、図15及び図16に基づいて、ＭＰＵMpが応用命令を実行するために、本ＢＰＵ10の動作が停止するときの所定値の書き込みについて具体的に説明する。なお、演算部21に割り込み処理のための停止要求が入力されたときと異なる手順についてのみを説明する。
【００５５】
演算部21の命令の実行動作の度に、第１のプログラムカウンタ21b で所定値が順に更新されて、所定値が「６」であるときに、ＭＰＵMpが応用命令を実行するために、本ＢＰＵ10の動作が停止すると、所定値「３」が、前述した手順に従って、第２のプログラムカウンタ4aに書き込まれる。その後、バス要求信号ＨＬＤＲＱが「Ｌ」となり、演算部21が命令の実行動作を中断する。
【００５６】
その後、ＭＰＵMpの応用命令の実行が完了して、再度、起動信号ＢＰＵＧＯがステートマシン22に入力されるのに先だって、本ＢＰＵ10が再起動するに当たっての所定値の初期値「９」が、改めて第２のプログラムカウンタ4aに書き込まれて、起動信号ＢＰＵＧＯがステートマシン22に入力されると、これまでに説明した手順に従って、所定値の初期値「９」が第１のプログラムカウンタ21b に書き込まれるとともに、「Ｈ」のバス要求信号ＨＬＤＲＱを出力して、演算部21が命令の実行動作をし、演算部21の実行動作の度に、第１のプログラムカウンタ21b に書き込まれた所定値が「９」から順に更新される。
【００５７】
次に、表２に基づいて、所定値を読み込むためのアドレス及び書き込むためのアドレスについて詳しく説明する。アドレスが第１の所定番地の「１００ＡＨ」のとき、第１のプログラムカウンタ21b から所定値が読み出され、アドレスが第２の所定番地の「１００ＡＨ」のとき、第２のプログラムカウンタ4aに所定値が書き込まれ、アドレスが「１０Ｆ０Ｈ」のとき、第２のプログラムカウンタ4aから所定値が読み出される。
【００５８】
【表２】
0003896649.tif 000003
【００５９】
かかる演算装置にあっては、第５実施形態の効果に加えて、所定値は、第２の所定番地が指定されることにより、第２のプログラムカウンタ4aに書き込まれるとともに、第１の所定番地が指定されることにより、第２のプログラムカウンタ4aとは異なる第１のプログラムカウンタ21b から読み込まれるが、第１の所定番地及び第２の所定番地が同一であるから、読み込み及び書き込みの際に、所定番地を使い分けなくてもよくなり、使い勝手を良くすることができる。
【００６０】
また、所定値が演算部21の実行動作の度に第１のプログラムカウンタ21b 内で更新されていても、第２のプログラムカウンタ4aは、クロックＣＬＫの入力が中断して演算部21の実行動作が停止するときに、特別なプログラムを用いたソフト的な処理を用いるような製作時の手間をかけなくても、更新された最新の所定値が第１のプログラムカウンタ21b から書き込まれる。従って、クロックＣＬＫが再度入力されて、演算部21が再び実行動作するときに、第１のプログラムカウンタ21b は、更新された最新の所定値を第２のプログラムカウンタ4aから読み出すことができ、所定値と命令の実行順序とが必ず対応するようになり、製作時に手間をかけなくても、命令の実行における支障をなくすことができる。
【００６１】
次に、本発明の第７実施形態を図17に基づいて以下に説明する。なお、第６実施形態と実質的に同一の機能を有する素子には同一符号を付し、第６実施形態と異なるところのみ記す。第６実施形態では、常時クロックＣＬＫが入力されるステートマシン22が、入力されるクロックＣＬＫに同期して演算部21の命令の実行動作と平行して駆動する平行駆動部2aとなって、ＢＰＵの諸動作の制御動作をするのに対し、本実施形態では、第４実施形態のように、クロックＣＬＫの入力が制限される第１のステートマシン21a が演算部21の内部に設けられるとともに、常時クロックＣＬＫが入力される第２のステートマシン24が演算部21とは別に設けられ、その第１のステートマシン21a が、入力されるクロックＣＬＫに同期して演算部21の命令の実行動作と平行して駆動する平行駆動部2aとなって、ＢＰＵの諸動作の制御動作をする構成となっている。
【００６２】
かかる演算装置にあっては、第６実施形態の効果に加えて、第４実施形態のように、演算部21の実行動作と平行して駆動する平行駆動部2aである第１のステートマシンへのクロックＣＬＫの入力は、制限手段3 の制限動作でもって制限解除信号の入力時まで制限されるから、第１のステートマシン21a へのクロックＣＬＫの入力に伴う消費電力も小さくすることができ、ひいては、発熱量を小さくすることができるという効果を一段と奏することができる。
なお、論理信号出力回路31は、第１実施形態及び第３実施形態乃至第７実施形態では、制限手段用マルチプレクサ31a 及びＤフリップフロップ31b からなり、第２実施形態では、Ｄラッチからなるが、図18に示すように、Ｄフリップフロップ31b のみからなるものでも、同様の効果を奏することができる。
【００６３】
また、第１実施形態乃至第７実施形態では、演算装置は、ＢＰＵ10であるが、ＭＰＵ等の他のプロセッサであっても、制限解除信号が入力されるまで演算部へのクロックの入力の制限動作をする制限手段3 を設けることにより、演算部へのクロックＣＬＫの入力に伴う消費電力を小さくすることができ、ひいては、発熱量を小さくすることができるという効果を奏することができる。
【００６４】
【発明の効果】
請求項１記載の発明は、制限手段が、制限解除信号が入力されるまで、演算部へのクロックの入力の制限動作をするから、従来例よりも、演算部へのクロックの入力に伴う消費電力を小さくすることができ、ひいては、発熱量を小さくすることができる。又、演算部の実行動作と平行して駆動する平行駆動部へのクロックの入力は、制限手段の制限動作でもって制限解除信号の入力時まで制限されるから、平行駆動部へのクロックの入力に伴う消費電力も小さくなって駆動ブロック全体の消費電力を小さくすることができ、ひいては、発熱量を小さくすることができるという効果を一段と奏することができる。又、クロックが入力される前なので、平行駆動部に所定値を書き込むことができなくても、制限解除信号の入力前に早期書込部に所定値を書き込んでおくと、制限解除信号が入力されてクロックの入力の制限動作が解除されるとともに、早期書込部から平行駆動部に所定値を書き込むことができ、その書き込まれた所定値が支障なく演算部に実行動作時に読み込まれるようになる。又、所定値は、第２の所定番地が指定されることにより、早期書込部に書き込まれるとともに、第１の所定番地が指定されることにより、早期書込部とは異なる平行駆動部から読み込まれるが、第１の所定番地及び第２の所定番地が同一であるから、読み込み及び書き込みの際に、所定番地を使い分けなくてもよくなり、使い勝手を良くすることができる。さらには、所定値が演算部の実行動作の度に平行駆動部内で更新されていても、早期書込部は、クロックの入力が中断して演算部の実行動作が停止するときに、特別なプログラムを用いたソフト的な処理を用いるような製作時の手間をかけなくても、更新された最新の所定値が平行駆動部から書き込まれる。従って、所定値と命令の実行順序を対応させる必要がある場合に、クロックが再度入力されて、演算部が再び実行動作するときに、平行駆動部は、更新された最新の所定値を早期書込部から読み出すことができ、所定値と命令の実行順序とが必ず対応するようになり、製作時に手間をかけなくても、命令の実行における支障をなくすことができる。
【００６５】
請求項２記載の発明は、請求項１記載の発明の効果に加えて、制限手段は、制限解除信号に基づいた論理信号を出力する論理信号出力回路と、一方入力端子から入力された論理信号に基づいて、他方入力端子から入力されたクロックを出力端子から演算部へ出力する論理回路と、からなるのであるから、構成を簡単にすることができる。
【００６６】
請求項３記載の発明は、請求項１又は２のいずれかに記載の発明の効果に加えて、制限解除信号は、起動信号の入力に連動して入力されるのであるから、制限解除信号の入力のための動作と起動信号の入力のための動作とを別にしなくてもよくなる。
【図面の簡単な説明】
【図１】本発明の第１実施形態の構成図である。
【図２】同上が内蔵されたプログラミングコントローラの構成図である。
【図３】同上の動作を示すタイミングチャートである。
【図４】同上のものであるＢＰＵ及びＭＰＵによりそれぞれ実行される命令を示す説明図である。
【図５】本発明の第２実施形態の構成図である。
【図６】本発明の第３実施形態の構成図である。
【図７】同上の動作を示すタイミングチャートである。
【図８】本発明の第４実施形態の構成図である。
【図９】同上の動作を示すタイミングチャートである。
【図１０】本発明の第５実施形態の構成図である。
【図１１】同上の動作を示すタイミングチャートである。
【図１２】本発明の第６実施形態の構成図である。
【図１３】同上の動作を示すタイミングチャートである。
【図１４】同上の詳細な動作を示すタイミングチャートである。
【図１５】同上の詳細な動作を示すタイミングチャートである。
【図１６】同上のものであるＢＰＵ及びＭＰＵによりそれぞれ実行される命令を示す説明図である。
【図１７】本発明の第７実施形態の構成図である。
【図１８】Ｄフリップフロップを設けているがマルチプレクサを設けていない場合の論理信号出力回路の構成図である。
【図１９】従来例の構成図である。
【図２０】同上が内蔵されたプログラミングコントローラの構成図である。
【図２１】同上の動作を示すタイミングチャートである。
【符号の説明】
2             ＢＰＵ本体（装置本体）
21            演算部
2a            平行駆動部
3             制限手段
31            論理信号出力回路
32            論理回路
32a           一方入力端子
32b           他方入力端子
32c           出力端子
4a            第２のプログラムカウンタ（早期書込部）
10            ＢＰＵ（演算装置）
ＣＬＫ        クロック
ＣＬＫ２      クロック
ＢＰＵＧＯ    起動信号
ＣＬＫＧＯ    制限解除信号
Ｑ            論理信号
【図１】
0003896649.tif 000004
【図２】
0003896649.tif 000005
【図３】
0003896649.tif 000006
【図４】
0003896649.tif 000007
【図５】
0003896649.tif 000008
【図６】
0003896649.tif 000009
【図７】
0003896649.tif 000010
【図８】
0003896649.tif 000011
【図９】
0003896649.tif 000012
【図１０】
0003896649.tif 000013
【図１１】
0003896649.tif 000014
【図１２】
0003896649.tif 000015
【図１３】
0003896649.tif 000016
【図１４】
0003896649.tif 000017
【図１５】
0003896649.tif 000018
【図１６】
0003896649.tif 000019
【図１７】
0003896649.tif 000020
【図１８】
0003896649.tif 000021
【図１９】
0003896649.tif 000022
【図２０】
0003896649.tif 000023
【図２１】
0003896649.tif 000024