(57)【要約】【課題】プログラムの容量が小さく小規模な論理回路での構成が可能となり、ＲＡＭ等の記憶装置に転写する方式よりも消費電流を低減させることができる半導体装置を得る。【解決手段】中央演算処理装置２によって実行されるプログラムの内、繰り返し同じ処理を行う等のプログラムをフリップフロップ等の論理回路で形成したプログラム格納論理回路４に書き込み、中央演算処理装置２は、プログラム格納論理回路４に書き込んだ該プログラムを実行するようにした。【選択図】　図１
2004086374.tif 000002
【特許請求の範囲】
【請求項１】
所定のプログラムが格納された、ＲＡＭ及び／又はＲＯＭで形成されるプログラム記憶部と、
該プログラム記憶部に格納されたプログラムを読み出して実行する中央演算処理部と、
プログラムの書き換えが可能な論理回路で形成されるプログラム格納論理回路部と、
を備え、
前記中央演算処理部は、プログラム記憶部から読み出したプログラムに従って、所定の処理を行うプログラムを前記プログラム格納論理回路部に書き込み、該書き込んだプログラムを前記プログラム記憶部から読み出したプログラムに従って実行することを特徴とする半導体装置。
【請求項２】
ＲＡＭ及び／又はＲＯＭで形成された外部のプログラム記憶部に格納されたプログラムを読み出して実行する半導体装置において、
前記外部のプログラム記憶部に格納されたプログラムを読み出して実行する中央演算処理部と、
プログラムの書き換えが可能な論理回路で形成されるプログラム格納論理回路部と、
を備え、
前記中央演算処理部は、外部のプログラム記憶部から読み出したプログラムに従って、所定の処理を行うプログラムを前記プログラム格納論理回路部に設定し、該設定したプログラムを前記外部のプログラム記憶部から読み出したプログラムに従って実行することを特徴とする半導体装置。
【請求項３】
所定のプログラムが格納された、ＲＡＭ及び／又はＲＯＭで形成されるプログラム記憶部と、
該プログラム記憶部に格納されたプログラムを読み出して実行する中央演算処理部と、
あらかじめプログラムが書き込まれた論理回路で形成されるプログラム格納論理回路部と、
を備え、
前記中央演算処理部は、プログラム記憶部から読み出したプログラムに従って、前記プログラム格納論理回路部にあらかじめ書き込まれたプログラムを実行することを特徴とする半導体装置。
【請求項４】
ＲＡＭ及び／又はＲＯＭで形成された外部のプログラム記憶部に格納されたプログラムを読み出して実行する半導体装置において、
前記外部のプログラム記憶部に格納されたプログラムを読み出して実行する中央演算処理部と、
あらかじめプログラムが書き込まれた論理回路で形成されるプログラム格納論理回路部と、
を備え、
前記中央演算処理部は、外部のプログラム記憶部から読み出したプログラムに従って、前記プログラム格納論理回路部にあらかじめ書き込まれたプログラムを実行することを特徴とする半導体装置。
【請求項５】
前記プログラム格納論理回路部は、あらかじめプログラムの処理手順が設定された、データの書き換えが可能な論理回路で形成され、前記中央演算処理部は、プログラム記憶部から読み出したプログラムに従って、プログラム格納論理回路部に書き込まれた処理手順を行うために必要なパラメータを前記プログラム格納論理回路部に書き込み、前記プログラム記憶部から読み出したプログラムに従って、プログラム格納論理回路部に書き込んだパラメータを用いてプログラム格納論理回路部にあらかじめ書き込まれた処理手順を実行することを特徴とする請求項３又は４記載の半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部、又は内部の記憶装置からプログラムを読み出して実行する中央演算処理装置を有した半導体装置に関する。
【０００２】
【従来の技術】
近年、中央演算処理装置の動作周波数が高くなり、これに伴ってＲＯＭやＲＡＭの動作周波数が高くなっている。このため、ＲＯＭやＲＡＭへのアクセスをできる限り少なくすることは、省電力化を図るための有効な方法である。ＲＯＭやＲＡＭへのアクセスを減少させる方法は、特に外部にＲＯＭやＲＡＭの記憶装置を有するシステムの場合、該記憶装置の消費電流だけではなく該ＲＯＭやＲＡＭへのアクセスを行う中央演算処理装置を有する半導体装置から該外部記憶装置にアクセスする場合、該半導体装置のＩ／Ｏセルの消費電流をも低下させることができ、非常に有効な方法である。
【０００３】
【発明が解決しようとする課題】
特開２０００−１０５６３９号公報及び特開２０００−３０７７７９号公報では、外部ＲＯＭのデータを内部ＲＡＭに転写し、該内部ＲＡＭに格納されたプログラムを実行することによって省電力化を図る技術が開示されている。また、特開２０００−１０５７０１号公報及び特開平１１−２８８４０９号公報では、内部ＥＥＰＲＯＭのデータを内部ＲＡＭに転写し、該内部ＲＡＭに格納されたプログラムを実行することによって省電力化を図る技術が開示されている。しかし、このような２つの方式では、いずれも実行プログラムの転写先はＲＡＭ等の内部記憶装置であり、少なくとも該ＲＡＭに流れる電流が消費されることになる。
【０００４】
本発明は、上記のような問題を解決するためになされたものであり、プログラムの容量が小さく小規模な論理回路での構成が可能となり、ＲＡＭ等の記憶装置に転写する方式よりも消費電流を低減させることができる半導体装置を得ることを目的とする。
【０００５】
【課題を解決するための手段】
この発明に係る半導体装置は、所定のプログラムが格納された、ＲＡＭ及び／又はＲＯＭで形成されるプログラム記憶部と、
該プログラム記憶部に格納されたプログラムを読み出して実行する中央演算処理部と、
プログラムの書き換えが可能な論理回路で形成されるプログラム格納論理回路部と、
を備え、
前記中央演算処理部は、プログラム記憶部から読み出したプログラムに従って、所定の処理を行うプログラムを前記プログラム格納論理回路部に書き込み、該書き込んだプログラムを前記プログラム記憶部から読み出したプログラムに従って実行するものである。
【０００６】
また、この発明に係る半導体装置は、ＲＡＭ及び／又はＲＯＭで形成された外部のプログラム記憶部に格納されたプログラムを読み出して実行する半導体装置において、
前記外部のプログラム記憶部に格納されたプログラムを読み出して実行する中央演算処理部と、
プログラムの書き換えが可能な論理回路で形成されるプログラム格納論理回路部と、
を備え、
前記中央演算処理部は、外部のプログラム記憶部から読み出したプログラムに従って、所定の処理を行うプログラムを前記プログラム格納論理回路部に設定し、該設定したプログラムを前記外部のプログラム記憶部から読み出したプログラムに従って実行するものである。
【０００７】
また、この発明に係る半導体装置は、所定のプログラムが格納された、ＲＡＭ及び／又はＲＯＭで形成されるプログラム記憶部と、
該プログラム記憶部に格納されたプログラムを読み出して実行する中央演算処理部と、
あらかじめプログラムが書き込まれた論理回路で形成されるプログラム格納論理回路部と、
を備え、
前記中央演算処理部は、プログラム記憶部から読み出したプログラムに従って、前記プログラム格納論理回路部にあらかじめ書き込まれたプログラムを実行するものである。
【０００８】
また、この発明に係る半導体装置は、ＲＡＭ及び／又はＲＯＭで形成された外部のプログラム記憶部に格納されたプログラムを読み出して実行する半導体装置において、
前記外部のプログラム記憶部に格納されたプログラムを読み出して実行する中央演算処理部と、
あらかじめプログラムが書き込まれた論理回路で形成されるプログラム格納論理回路部と、
を備え、
前記中央演算処理部は、外部のプログラム記憶部から読み出したプログラムに従って、前記プログラム格納論理回路部にあらかじめ書き込まれたプログラムを実行するものである。
【０００９】
一方、前記プログラム格納論理回路部は、あらかじめプログラムの処理手順が設定された、データの書き換えが可能な論理回路で形成され、前記中央演算処理部は、プログラム記憶部から読み出したプログラムに従って、プログラム格納論理回路部に書き込まれた処理手順を行うために必要なパラメータを前記プログラム格納論理回路部に書き込み、前記プログラム記憶部から読み出したプログラムに従って、プログラム格納論理回路部に書き込んだパラメータを用いてプログラム格納論理回路部にあらかじめ書き込まれた処理手順を実行するようにしてもよい。
【００１０】
【発明の実施の形態】
次に、図面に示す実施の形態に基づいて、本発明を詳細に説明する。
第１の実施の形態．
図１は、本発明の第１の実施の形態における半導体装置の例を示したブロック図である。
図１において、半導体装置１は、中央演算処理装置２と、ＲＡＭ及び／又はＲＯＭ等からなるプログラム格納内部記憶装置３と、フリップフロップ等からなる論理回路で形成されたプログラム格納論理回路４と、プログラム格納内部記憶装置３及びプログラム格納論理回路４の動作制御を行う信号を生成して出力するメモリ制御回路５とを備えている。
【００１１】
更に、半導体装置１は、中央演算処理装置２への割り込み信号を生成して出力する割り込み発生回路６と、レジスタ等の周辺回路７とを備えている。なお、中央演算処理装置２は中央演算処理部を、プログラム格納内部記憶装置３はプログラム記憶部を、プログラム格納論理回路４はプログラム格納論理回路部をそれぞれなす。
【００１２】
中央演算処理装置２、プログラム格納内部記憶装置３、プログラム格納論理回路４及びメモリ制御回路５は、アドレスバス８でそれぞれ接続されており、中央演算処理装置２、プログラム格納内部記憶装置３、プログラム格納論理回路４及び周辺回路７は、データバス９でそれぞれ接続されている。また、メモリ制御回路５は、プログラム格納内部記憶装置３を選択して作動させる場合、プログラム格納内部記憶装置３に所定の選択信号Ｓｃ１を出力し、プログラム格納論理回路４を選択して作動させる場合には、プログラム格納論理回路４に所定の選択信号Ｓｃ２を出力する。一方、割り込み発生回路６は、中央演算処理装置２に対して割り込み処理を行わせる際に中央演算処理装置２に所定の割り込み信号Ｓｃ３を出力する。
【００１３】
中央演算処理装置２は、プログラム格納内部記憶装置３内に格納されたプログラムを実行する場合、アドレスバス８へプログラム格納内部記憶装置３内の所望のアドレスを示すアドレス信号を出力する。メモリ制御回路５は、中央演算処理装置２から出力されたアドレスデータがプログラム格納内部記憶装置３を示している場合は、プログラム格納内部記憶装置３に対する選択信号Ｓｃ１をアクティブにして、プログラム格納内部記憶装置３を作動状態にする。プログラム格納内部記憶装置３は、アドレスバス８から入力されたアドレス信号が示すアドレスに格納されているプログラムを読み出してデータバス９に出力し、データバス９を介して中央演算処理装置２に該プログラムが入力される。
【００１４】
同様に、中央演算処理装置２は、プログラム格納論理回路４にアクセスする場合、アドレスバス８へプログラム格納論理回路４内の所望のアドレスを示すアドレス信号を出力する。メモリ制御回路５は、中央演算処理装置２から出力されたアドレスデータがプログラム格納論理回路４を示している場合は、プログラム格納論理回路４に対する選択信号Ｓｃ２をアクティブにして、プログラム格納論理回路４を作動状態にする。プログラム格納論理回路４は、アドレスバス８から入力されたアドレス信号が示すアドレスに格納されているプログラムをデータバス９に出力し、データバス９を介して中央演算処理装置２に該プログラムが入力される。
【００１５】
このような構成において、中央演算処理装置２は、プログラム格納内部記憶装置３の所定のアドレスに書き込まれたプログラムを読み出すために、該アドレスデータをアドレスバス８に出力する。図２（ａ）で示すように、メモリ制御回路５によって選択信号Ｓｃ１がアクティブとなり、プログラム格納内部記憶装置３は、アドレスバス８を介して入力されたアドレスデータが示すアドレスに格納されたプログラムをデータバス９に出力する。中央演算処理装置２は、データバス９から入力されたプログラムに従って処理を行い、図２（ｂ）で示すようなプログラム格納内部記憶装置３のアドレス空間でプログラムを実行する。
【００１６】
次に、中央演算処理装置２は、プログラム格納論理回路４のアドレス空間上でのプログラムの実行を判断した場合、中央演算処理装置２は、該プログラムをプログラム格納論理回路４に書き込む。例えば、中央演算処理装置２は、繰り返し同じ処理を行うような場合、該処理を行うためのプログラムをプログラム格納論理回路４に書き込む。この後、中央演算処理装置２は、プログラム格納論理回路４のアドレス空間へのジャンプ命令を実行し、図３（ｂ）で示すようなプログラム格納論理回路４のアドレス空間でプログラムを実行する。この間、中央演算処理装置２は、図３（ａ）で示すように、アドレスバス８にアドレス信号を、メモリ制御回路５から所定の選択信号Ｓｃ２をプログラム格納論理回路４に出力させ、データバス９を介してプログラム格納論理回路４からプログラムを読み出して実行する。
【００１７】
このようにすることにより、中央演算処理装置２がプログラム格納論理回路４にアクセスしている間、選択信号Ｓｃ１はアクティブにならないことから、プログラム格納内部記憶装置３による電流消費を抑制させることが可能になる。中央演算処理装置２が、プログラム格納内部記憶装置３のアドレス空間をアクセスする状態に戻るのは、プログラム格納論理回路４に書き込まれてセットされたプログラムで、プログラム格納内部記憶装置３のアドレス空間へのジャンプ命令が実行された場合である。
【００１８】
一方、例外的にプログラム格納内部記憶装置３のアドレス空間のプログラムを実行する状態に復帰する方法として、中央演算処理装置２に対して割り込み処理を行わせる方法がある。割り込み発生回路６から出力された所定の割り込み要求信号Ｓｃ３を検知した中央演算処理装置２は、割り込みルーチンに入り、プログラム格納内部記憶装置３のアドレス空間のプログラムを実行する状態に戻る。ただし、割り込み処理終了後は、中央演算処理装置２は、プログラム格納論理回路４のアドレス空間内のプログラムを実行する状態に戻る。
【００１９】
次に、図４は、中央演算処理装置２における動作の流れの例を示した図であり、図４では、プログラム格納内部記憶装置３及びプログラム格納論理回路４に対する動作例を示している。なお、図４では、特に明記しない限り、各処理は中央演算処理装置２で行われるものである。
図４において、まず最初に、プログラム格納内部記憶装置３のアドレス空間上のプログラムに従って処理Ａ１〜処理Ａｍ（ｍは、ｍ＞０の整数）のｍ個の処理を行う（ステップＳ１）。次に、プログラム格納内部記憶装置３に格納されたプログラムが、プログラム格納論理回路４のアドレス空間上でのプログラム実行を示しているか否かを判断し（ステップＳ２）、プログラム格納論理回路４のアドレス空間上でのプログラム実行を示していない場合は（ＮＯ）、ステップＳ１に戻る。
【００２０】
ステップＳ２で、プログラム格納論理回路４のアドレス空間上でのプログラム実行を示している場合は（ＹＥＳ）、プログラム格納内部記憶装置３のアドレス空間上のプログラムに従って、プログラム格納論理回路４にプログラムを書き込んでセットする（ステップＳ３）。次に、プログラム格納論理回路４に書き込まれたプログラムに従って処理Ｂ１〜処理Ｂｎ（ｎは、ｎ＞０の整数）のｎ個の処理を行う（ステップＳ４）。次に、プログラム格納論理回路４にセットされたプログラムが、プログラム格納内部記憶装置３のアドレス空間上でのプログラム実行を示しているか否かを判断し（ステップＳ５）、プログラム格納内部記憶装置３のアドレス空間上でのプログラム実行を示していない場合は（ＮＯ）、ステップＳ４に戻る。
【００２１】
ステップＳ５で、プログラム格納内部記憶装置３のアドレス空間上でのプログラム実行を示している場合は（ＹＥＳ）、プログラム格納内部記憶装置３のアドレス空間上のプログラムに従って処理Ｘを行い（ステップＳ６）、この後、ステップＳ１に戻る。また、プログラム格納論理回路４のアドレス空間上のプログラムを実行している際に、割り込み発生回路６から出力された所定の割り込み要求信号Ｓｃ３が入力されると、割り込み処理を開始し（ステップＳ７）、該割り込み処理が終了する（ステップＳ８）と、プログラム格納論理回路４のアドレス空間内のプログラムを実行する状態に戻る。
【００２２】
このように、本第１の実施の形態における半導体装置は、中央演算処理装置２によって実行されるプログラムの内、繰り返し同じ処理を行う等のプログラムをフリップフロップ等の論理回路で形成したプログラム格納論理回路４に書き込み、中央演算処理装置２は、プログラム格納論理回路４に書き込んだ該プログラムを実行するようにした。フリップフロップ等の論理回路は、ＲＡＭやＲＯＭよりも消費電流が小さいことから、消費電流の低減を図ることができる。
【００２３】
第２の実施の形態．
前記第１の実施の形態では、プログラム格納記憶装置を半導体装置１内に設けるようにしたが、該プログラム格納記憶装置を半導体装置１の外部に設けるようにしてもよく、このようにしたものを本発明の第２の実施の形態とする。
図５は、本発明の第２の実施の形態における半導体装置の例を示したブロック図である。なお、図５では、図１と同じものは同じ符号で示しており、ここではその説明を省略すると共に図１との相違点のみ説明する。
図５における図１との相違点は、図１のプログラム格納内部記憶装置３の代わりにＲＡＭ及び／又はＲＯＭ等からなるプログラム格納外部記憶装置１２を設け、図１の半導体装置１にアドレス出力制御回路１３とＩ／Ｏセル１４とを備えたことにあり、図１の半導体装置１を半導体装置１１にした。
【００２４】
図５において、半導体装置１１は、中央演算処理装置２と、プログラム格納論理回路４と、プログラム格納論理回路４及びプログラム格納外部記憶装置１２の動作制御を行う信号を生成して出力するメモリ制御回路５と、割り込み発生回路６と、レジスタ等の周辺回路７と、アドレスバス８のアドレスデータに対する外部への出力制御を行うアドレス出力制御回路１３と、プログラム格納外部記憶装置１２とのインタフェースを行うＩ／Ｏセル１４とを備えている。なお、プログラム格納外部記憶装置１２は外部のプログラム記憶部をなす。
【００２５】
中央演算処理装置２、プログラム格納論理回路４、メモリ制御回路５及びアドレス出力制御回路１３は、アドレスバス８でそれぞれ接続されており、プログラム格納外部記憶装置１２及びＩ／Ｏセル１４は外部アドレスバス１５でそれぞれ接続されている。なお、アドレス出力制御回路１３とＩ／Ｏセル１４との間のアドレスバスもアドレスバス８の一部とする。また、中央演算処理装置２、プログラム格納論理回路４、周辺回路７及びＩ／Ｏセル１４は、データバス９でそれぞれ接続されており、プログラム格納外部記憶装置１２及びＩ／Ｏセル１４は外部データバス１６でそれぞれ接続されている。メモリ制御回路５は、プログラム格納外部記憶装置１２を選択して作動させる場合、アドレス出力制御回路１３に所定の選択信号Ｓｃ１を出力すると共に、Ｉ／Ｏセル１４を介してプログラム格納外部記憶装置１２に所定の選択信号Ｓｃ１を出力する。
【００２６】
中央演算処理装置２は、プログラム格納外部記憶装置１２内に格納されたプログラムを実行する場合、アドレスバス８へプログラム格納外部記憶装置１２内の所望のアドレスを示すアドレスデータ信号を出力する。メモリ制御回路５は、中央演算処理装置２から出力されたアドレスデータがプログラム格納外部記憶装置１２を示している場合は、プログラム格納外部記憶装置１２及びアドレス出力制御回路１３に対する選択信号Ｓｃ１をアクティブにして、プログラム格納外部記憶装置１２を作動状態にする。
【００２７】
また、アドレス出力制御回路１３は、アドレスバス８のアドレスデータ信号を、Ｉ／Ｏセル１４を介して外部アドレスバス１５に出力し、プログラム格納外部記憶装置１２は、外部アドレスバス１５から入力されたアドレスデータ信号が示すアドレスに格納されているプログラムを読み出して外部データバス９に出力し、Ｉ／Ｏセル１４及びデータバス９を介して中央演算処理装置２に該プログラムが入力される。なお、プログラム格納論理回路４にアクセスする場合、前記第１の実施の形態と同様である。
【００２８】
このような構成において、中央演算処理装置２は、プログラム格納外部記憶装置１２の所定のアドレスに書き込まれたプログラムを読み出すために、該アドレスデータをアドレスバス８に出力する。メモリ制御回路５によって選択信号Ｓｃ１がアクティブとなり、アドレス出力制御回路１３は、アドレスバス８を介して入力されたアドレスデータを、Ｉ／Ｏセル１４を介して外部アドレスバス１５に出力し、プログラム格納外部記憶装置１２は、外部アドレスバス１５を介して入力されたアドレスデータが示すアドレスに格納されたプログラムを外部データバス１６に出力する。中央演算処理装置２は、外部データバス１６及びＩ／Ｏセル１４を介してデータバス９から入力されたプログラムに従って処理を行い、プログラム格納外部記憶装置１２のアドレス空間でプログラムを実行する。
【００２９】
次に、中央演算処理装置２は、プログラム格納論理回路４のアドレス空間上でのプログラムの実行を判断した場合、前記第１の実施の形態と同様の動作を行うことからその説明を省略する。
このようにすることにより、中央演算処理装置２がプログラム格納論理回路４にアクセスしている間、選択信号Ｓｃ１はアクティブにならないことから、プログラム格納外部記憶装置１２による電流消費を抑制させることが可能になる。また、選択信号Ｓｃ１がアクティブでない場合、アドレス出力制御回路１３によって、外部アドレスバス１５へアドレス信号を出力しないことから、Ｉ／Ｏセル１４の信号変化もなくなり、Ｉ／Ｏセル１４での電流消費を低減させる。
【００３０】
なお、中央演算処理装置２が、プログラム格納外部記憶装置１２のアドレス空間をアクセスする状態に戻るのは、前記第１の実施の形態の場合と同様に、プログラム格納論理回路４にセットされたプログラムでプログラム格納外部記憶装置１２のアドレス空間へのジャンプ命令が実行された場合であり、例外的にプログラム格納外部記憶装置１２のアドレス空間のプログラムを実行する状態に復帰する方法として、前記第１の実施の形態の場合と同様に、中央演算処理装置２に対して割り込み処理を行わせる方法がある。また、中央演算処理装置２の動作の流れを示した図は、プログラム格納内部記憶装置３をプログラム外部記憶装置１２に置き換える以外は図４と同様であるので省略する。
【００３１】
このように、本第２の実施の形態における半導体装置は、外部にプログラム格納外部記憶装置１２を設けるようにしたことから、前記第１の実施の形態と同様の効果を得ることができると共に、選択信号Ｓｃ１がアクティブでない場合、アドレス出力制御回路１３によって、外部アドレスバス１５へアドレス信号を出力しないことから、Ｉ／Ｏセル１４での電流消費を低減させることができる。
【００３２】
第３の実施の形態．
前記第１及び第２の各実施の形態では、プログラム格納論理回路４は、フリップフロップ等で構成され、中央演算処理装置２によってプログラムが書き込まれる構成であったが、プログラム格納論理回路４をあらかじめ所定のプログラムが設定され書き込まれた組合せ回路で形成するようにしてもよく、このようにしたものを本発明の第３の実施の形態とする。
なお、本発明の第３の実施の形態における半導体装置の例を示したブロック図は、図１のプログラム格納論理回路４をプログラム格納論理回路２２にし、図１の半導体装置１を半導体装置２１にする以外は図１と同様であるので省略する。以下、プログラム格納論理回路４をプログラム格納論理回路２２に、半導体装置１を半導体装置２１にそれぞれ置き換えて図１を参照しながら説明する。
【００３３】
半導体装置２１は、中央演算処理装置２と、プログラム格納内部記憶装置３と、あらかじめ所定のプログラムが設定された組合せ回路からなるプログラム格納論理回路２２と、メモリ制御回路５と、割り込み発生回路６と、周辺回路７とを備えている。なお、プログラム格納論理回路２２はプログラム格納論理回路部をなす。
以下、周辺回路７における所定のレジスタのビットが１になるまでループを続けるという処理を行う場合を例にして説明する。
該処理は、（１）レジスタの読み込み、（２）ビット検査、（３）条件判断及び（４）アドレスジャンプ（真：設定されたアドレスへ、偽：（１）へ戻る）からなる。
【００３４】
この場合、パラメータとしては、検査するレジスタのアドレス、比較するビット（条件式）及び条件が真の場合のジャンプ先アドレスとなる。このような３つのパラメータのみを書き換え可能にし、処理手順はプログラム格納論理回路２２の組合せ回路で固定すると、処理フローは次のようになる。
中央演算処理装置２は、プログラム格納内部記憶装置３の所定のアドレスに書き込まれたプログラムを読み出すために、該アドレスデータをアドレスバス８に出力する。メモリ制御回路５によって選択信号Ｓｃ１がアクティブとなり、プログラム格納内部記憶装置３は、アドレスバス８を介して入力されたアドレスデータが示すアドレスに格納されたプログラムをデータバス９に出力する。中央演算処理装置２は、データバス９から入力されたプログラムに従って処理を行い、プログラム格納内部記憶装置３のアドレス空間でプログラムを実行する。
【００３５】
次に、中央演算処理装置２は、プログラム格納論理回路２２のアドレス空間上でのプログラムの実行を判断した場合、上記パラメータ、すなわち検査するレジスタのアドレス、比較するビット（条件式）及び条件が真の場合のジャンプ先アドレスをプログラム格納論理回路２２に書き込んでセットする。この後、中央演算処理装置２は、プログラム格納論理回路２２のアドレス空間へのジャンプ命令を実行し、プログラム格納論理回路２２のアドレス空間上でプログラムを実行する。この間、中央演算処理装置２は、アドレスバス８にアドレス信号を、メモリ制御回路５から所定の選択信号Ｓｃ２をプログラム格納論理回路２２に出力させ、データバス９を介してプログラム格納論理回路２２からプログラムを読み出して実行する。
【００３６】
このようにすることにより、中央演算処理装置２がプログラム格納論理回路２２にアクセスしている間、選択信号Ｓｃ１はアクティブにならないことから、プログラム格納内部記憶装置３による電流消費を抑制させることが可能になる。中央演算処理装置２が、プログラム格納内部記憶装置３のアドレス空間をアクセスする状態に戻るのは、プログラム格納論理回路２２に書き込まれたプログラムでプログラム格納内部記憶装置３のアドレス空間へのジャンプ命令が実行された場合である。
【００３７】
一方、例外的にプログラム格納内部記憶装置３のアドレス空間のプログラムを実行する状態に復帰する方法として、中央演算処理装置２に対して割り込み処理を行わせる方法がある。割り込み発生回路６から出力された所定の割り込み要求信号Ｓｃ３を検知した中央演算処理装置２は、割り込みルーチンに入り、プログラム格納内部記憶装置３のアドレス空間のプログラムを実行する状態に戻る。ただし、割り込み処理終了後は、中央演算処理装置２は、プログラム格納論理回路２２のアドレス空間内のプログラムを実行する状態に戻る。
【００３８】
次に、図６は、半導体装置２１における中央演算処理装置２の動作の流れを示した図であり、図６では、プログラム格納内部記憶装置３及びプログラム格納論理回路２２に対する動作例を示している。なお、図６では、プログラム格納論理回路４をプログラム格納論理回路２２に置き換える以外は図４と同様の処理を行うフローは同じ符号で示しており、ここではその説明を省略すると共に図４との相違点のみ説明する。また、図６では、特に明記しない限り、各処理は中央演算処理装置２で行われるものである。
【００３９】
図６において、まず最初に図４のステップＳ１及びＳ２の処理をそれぞれ行い、ステップＳ２で、プログラム格納論理回路２２のアドレス空間上でのプログラム実行を示している場合は（ＹＥＳ）、プログラム格納論理回路２２に周辺回路７の検査レジスタのアドレスを書き込んでセットする（ステップＳ１１）。次に、プログラム格納論理回路２２に条件、すなわち比較基準値を書き込んでセットし（ステップＳ１２）、この後、プログラム格納論理回路２２に条件が真の場合のジャンプ先アドレスを書き込んでセットする（ステップＳ１３）。次に、プログラム格納論理回路２２にセットした前記検査レジスタのアドレスに格納されたデータを読み出し（ステップＳ１４）、プログラム格納論理回路２２にセットした条件でビット検査を行う（ステップＳ１５）。
【００４０】
次に、ビット検査で条件が真であるか否かを調べ（ステップＳ１６）、真でないならば（ＮＯ）、ステップＳ１４に戻り、真である場合は（ＹＥＳ）、図４のステップＳ６の処理を行って、ステップＳ１に戻る。また、プログラム格納論理回路２２のアドレス空間上でのプログラム実行を行っている際に、割り込み発生回路６から出力された所定の割り込み要求信号Ｓｃ３が入力されると、図４のステップＳ７及びＳ８の処理を行った後、プログラム格納論理回路２２のアドレス空間内のプログラムを実行する状態に戻る。
【００４１】
なお、前記説明では、第１の実施の形態における半導体装置の構成を例にして説明したが、これに限定するものではなく、第３の実施の形態は、第２の実施の形態における半導体装置の構成の場合にも適用することができる。この場合、前記説明のプログラム格納内部記憶装置３をプログラム格納外部記憶装置１２に置き換えればよく、プログラム格納外部記憶装置１２に対する動作は第２の実施の形態で説明していることから、ここではその説明を省略する。
【００４２】
このように、本第３の実施の形態における半導体装置は、プログラム格納論理回路２２のプログラムすべてを書き換え可能とするのではなく、処理手順を組合せ回路等に設定して固定し、該処理で使用するパラメータのみを中央演算処理装置２がプログラム格納論理回路２２に書き込んでセットするようにした。このことから、前記第１の実施の形態と同様の効果を得ることができると共に、プログラム格納論理回路の回路規模を小さくすることができる。
【００４３】
第４の実施の形態．
前記第３の実施の形態では、プログラム格納論理回路２２にプログラムの処理手順のみを組合せ回路等を使用して設定するようにしたが、プログラム格納論理回路２２に、プログラムの処理手順及び各パラメータをそれぞれ組合せ回路等を使用して設定するようにしてもよく、このようにしたものを本発明の第４の実施の形態とする。
なお、本発明の第４の実施の形態における半導体装置の例を示したブロック図は、図１のプログラム格納論理回路４をプログラム格納論理回路３２にし、図１の半導体装置１を半導体装置３１にする以外は図１と同様であるので省略する。以下、プログラム格納論理回路４をプログラム格納論理回路３２に、半導体装置１を半導体装置３１にそれぞれ置き換えて図１を参照しながら説明する。
【００４４】
半導体装置３１は、中央演算処理装置２と、プログラム格納内部記憶装置３と、あらかじめ所定のプログラムが設定されて書き込まれた組合せ回路からなるプログラム格納論理回路３２と、メモリ制御回路５と、割り込み発生回路６と、周辺回路７とを備えている。なお、プログラム格納論理回路３２はプログラム格納論理回路部をなす。
【００４５】
中央演算処理装置２は、プログラム格納内部記憶装置３の所定のアドレスに書き込まれたプログラムを読み出すために、該アドレスデータをアドレスバス８に出力する。メモリ制御回路５によって選択信号Ｓｃ１がアクティブとなり、プログラム格納内部記憶装置３は、アドレスバス８を介して入力されたアドレスデータが示すアドレスに格納されたプログラムをデータバス９に出力する。中央演算処理装置２は、データバス９から入力されたプログラムに従って処理を行い、プログラム格納内部記憶装置３のアドレス空間でプログラムを実行する。
【００４６】
次に、中央演算処理装置２は、プログラム格納論理回路３２のアドレス空間上でのプログラムの実行を判断した場合、プログラム格納論理回路３２のアドレス空間へのジャンプ命令を実行し、プログラム格納論理回路３２のアドレス空間上のプログラムを実行する。この間、中央演算処理装置２は、アドレスバス８にアドレス信号を、メモリ制御回路５を介して所定の選択信号Ｓｃ２をプログラム格納論理回路３２に出力させ、データバス９を介してプログラム格納論理回路３２からプログラムを読み出して実行する。
【００４７】
このようにすることにより、中央演算処理装置２がプログラム格納論理回路３２にアクセスしている間、選択信号Ｓｃ１はアクティブにならないことから、プログラム格納内部記憶装置３による電流消費を抑制させることが可能になる。中央演算処理装置２が、プログラム格納内部記憶装置３のアドレス空間をアクセスする状態に戻るのは、プログラム格納論理回路３２に書き込まれてセットされたプログラムでプログラム格納内部記憶装置３のアドレス空間へのジャンプ命令が実行された場合である。
【００４８】
一方、例外的にプログラム格納内部記憶装置３のアドレス空間のプログラムを実行する状態に復帰する方法として、中央演算処理装置２に対して割り込み処理を行わせる方法がある。割り込み発生回路６から出力された所定の割り込み要求信号Ｓｃ３を検知した中央演算処理装置２は、割り込みルーチンに入り、プログラム格納内部記憶装置３のアドレス空間のプログラムを実行する状態に戻る。ただし、割り込み処理終了後は、中央演算処理装置２は、プログラム格納論理回路３２のアドレス空間内のプログラムを実行する状態に戻る。
【００４９】
次に、図７は、半導体装置３１における中央演算処理装置２の動作の流れを示した図であり、図７では、プログラム格納内部記憶装置３及びプログラム格納論理回路３２に対する動作例を示している。なお、図７では、プログラム格納論理回路４をプログラム格納論理回路３２に置き換える以外は図４と同様の処理を行うフローは同じ符号で示しており、ここではその説明を省略すると共に図４との相違点のみ説明する。また、図７では、特に明記しない限り、各処理は中央演算処理装置２で行われるものである。
【００５０】
図７において、図４のステップＳ１及びＳ２の各処理が行われ、ステップＳ２で、プログラム格納論理回路３２のアドレス空間上でのプログラム実行を示している場合は（ＹＥＳ）、プログラム格納内部記憶装置３のアドレス空間上のプログラムに従って、プログラム格納論理回路３２にあらかじめ書き込まれて設定されたプログラムに従って処理Ｂ１〜処理Ｂｎのｎ個の処理を行う（ステップＳ４）。これ以外の各ステップにおける動作は図４と同様である。
【００５１】
なお、前記説明では、第１の実施の形態における半導体装置の構成を例にして説明したが、これに限定するものではなく、第４の実施の形態は、第２の実施の形態における半導体装置の構成の場合にも適用することができる。この場合、前記説明のプログラム格納内部記憶装置３をプログラム格納外部記憶装置１２に置き換えればよく、プログラム格納外部記憶装置１２に対する動作は第２の実施の形態で説明していることから、ここではその説明を省略する。
【００５２】
このように、本第４の実施の形態における半導体装置は、プログラム格納論理回路３２のプログラムすべてを書き換え可能とするのではなく、処理手順及びパラメータを組合せ回路等に設定して固定するようにした。このことから、前記第３の実施の形態と同様の効果を得ることができると共に、プログラム格納論理回路をハードワイアート゛構成にすることができるため、プログラム格納論理回路へのプログラムの設定を不要にすることができる。
【００５３】
【発明の効果】
上記の説明から明らかなように、本発明の半導体装置によれば、内部のプログラム記憶部又は外部のプログラム記憶部からプログラムを読み出して実行する中央演算処理部を備え、該内部のプログラム記憶部又は該外部のプログラム記憶部に格納されたプログラムの一部を小規模な論理回路で実現し、中央演算処理部が、該論理回路からプログラムを読み出して実行することにより、省電力化を図ることができる。また、外部のプログラム記憶部にプログラムが格納されている場合、該外部のプログラム記憶部とのインタフェースを行うＩ／Ｏセルの消費電流も低減させることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態における半導体装置の例を示したブロック図である。
【図２】図１のプログラム格納内部記憶装置３からプログラムが読み出される動作を示した図である。
【図３】図１のプログラム格納論理回路４からプログラムが読み出される動作を示した図である。
【図４】図１の中央演算処理装置２における動作の流れの例を示した図である。
【図５】本発明の第２の実施の形態における半導体装置の例を示したブロック図である。
【図６】本発明の第３の実施の形態における半導体装置の中央演算処理装置２における動作の流れの例を示した図である。
【図７】本発明の第４の実施の形態における半導体装置の中央演算処理装置２における動作の流れの例を示した図である。
【符号の説明】
１，１１　半導体装置
２　中央演算処理装置
３　プログラム格納内部記憶装置
４　プログラム格納論理回路
５　メモリ制御回路
６　割り込み発生回路
７　周辺回路
８　アドレスバス
９　データバス
１２　プログラム格納外部記憶装置
１３　アドレス出力制御回路
１４　Ｉ／Ｏセル
１５　外部アドレスバス
１６　外部データバス
【図１】
2004086374.tif 000003
【図２】
2004086374.tif 000004
【図３】
2004086374.tif 000005
【図４】
2004086374.tif 000006
【図５】
2004086374.tif 000007
【図６】
2004086374.tif 000008
【図７】
2004086374.tif 000009