(57)【要約】【課題】ＣＰＵの負荷を増大させることなくレジスタの設定を再設定することが可能なデータ処理装置を提供する。【解決手段】データ処理装置は、プロセッサと、プロセッサと協働して動作するための少なくとも１つの周辺装置と、周辺装置と協働して動作するために必要な周辺装置の動作の状態を規定する設定データを格納しているメモリとを含む。周辺装置は、プロセッサにより設定される設定データを格納するための少なくとも１つのレジスタを含む。データ処理装置は、プロセッサにより設定された後、プロセッサとは独立して、レジスタに設定された設定データの値を再設定するためのレジスタ再設定装置とをさらに含む。【選択図】図１
2013109394.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、
前記プロセッサと協働して動作するための少なくとも１つの周辺装置と、
前記周辺装置と協働して動作するために必要な前記周辺装置の動作の状態を規定する設定データを格納しているメモリとを備え、
前記周辺装置は、前記プロセッサにより設定される前記設定データを格納するための少なくとも１つのレジスタを含み、
前記プロセッサにより設定された後、前記プロセッサとは独立して、前記レジスタに設定された前記設定データの値を再設定するためのレジスタ再設定装置とをさらに備える、データ処理装置。
【請求項２】
前記レジスタ再設定装置は、
前記レジスタにアクセスするために必要な前記レジスタの位置および前記メモリに格納されている設定データにアクセスするために必要な前記設定データの位置を示すアドレス情報を保持するアドレス格納部と、
前記レジスタを再設定するタイミングを規定する周期情報を格納する周期情報格納部と、
前記周期情報格納部に格納された前記周期情報に従って、前記アドレス情報に基づいて前記設定データの値を再設定する制御部とを含む、請求項１に記載のデータ処理装置。
【請求項３】
複数の周辺装置が設けられ、
前記アドレス格納部は、複数の周辺装置がそれぞれ有する各前記レジスタにそれぞれ対応する複数のアドレス情報を保持するとともに、前記複数のアドレス情報にそれぞれ関連付けられている優先度情報を格納し、
前記周期情報格納部は、前記複数のアドレス情報にそれぞれ関連付けられた複数の周期情報を格納し、
前記制御部は、
前記周期情報格納部に格納された前記複数の周期情報に従って、再設定するタイミングが重なるかどうかを判断し、
重なると判断した場合には、前記複数のアドレス情報にそれぞれ割り当てられた優先度に従って、対応するアドレス情報に基づいて前記設定データの値を再設定する、請求項２に記載のデータ処理装置。
【請求項４】
前記制御部は、前記アドレス情報に基づいて、前記レジスタに設定された前記設定データの値と、前記メモリに格納している設定データの値とが一致しているかどうかを判断し、判断結果に基づいて前記設定データの値を再設定する、請求項２に記載のデータ処理装置。
【請求項５】
前記プロセッサと、前記周辺装置と、前記メモリと、前記レジスタ再設定装置とが互いに電気的に接続されたデータの授受を実行するためのデータバスをさらに備え、
前記制御部は、前記プロセッサにより前記データバスを介してデータの授受が実行されているか否かを判断し、前記データの授受が実行されていないと判断した場合に、前記レジスタに設定された前記設定データの値を再設定する、請求項２〜４のいずれか１項に記載のデータ処理装置。
【請求項６】
前記制御部は、前記レジスタに設定された前記設定データの値を再設定する際に、前記プロセッサにその旨を通知する、請求項２〜５のいずれか１項に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺装置が有するレジスタの設定を再設定するためのデータ処理装置に関する。
【背景技術】
【０００２】
従来より、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、周辺Ｉ／Ｏ（input/output）などを１つのチップ上に集積して内蔵しているマイクロコンピュータが知られている。このようなマイクロコンピュータにおいて、たとえば、周辺Ｉ／Ｏなどの機器は、自身が有するレジスタの設定内容に基づいてＣＰＵと協働して動作しているが、当該レジスタの設定内容は、静電気や外部の接続装置などの要因により変化（データ化け）する場合がある。レジスタにデータ化けが生じたまま動作が継続されると、機器に悪影響を与えてしまうおそれがある。このようなレジスタのデータ化けに対応し、機器を正常に動作させるための様々な技術が提案されている。
【０００３】
たとえば、特開２００１−３５０５４７号公報（特許文献１）には、初期の状態からＣＰＵとは独立してレジスタのデータを管理し、データ転送等をするデータ転送装置が開示されている。
【０００４】
また、特開２００４−１３１９６号公報（特許文献２）および特開２００６−１９５８６３号公報（特許文献３）には、レジスタでのデータエラーの検出頻度を高める技術が開示されている。
【０００５】
また、特開平５−６１７２４号公報（特許文献４）には、ＣＰＵによって周辺回路が有するレジスタの設定内容が定期的に監視され、ＣＰＵはレジスタの設定値が正しい設定値（初期値）と異なっている場合、初期値をレジスタに再設定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−３５０５４７号公報
【特許文献２】特開２００４−１３１９６号公報
【特許文献３】特開２００６−１９５８６３号公報
【特許文献４】特開平５−６１７２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献４では、ＣＰＵが定期的にレジスタの設定内容を監視し、また設定内容に異常があった場合にはその内容を再設定処理をする必要があり、ＣＰＵの負荷が増大してしまう。また、このような、ＣＰＵによるソフトウェア処理が追加されることにより、ソフトウェア処理のオーバーヘッドが増大したり、ソフトウェア設計が複雑になるという問題がある。
【０００８】
本発明は、上記の問題点を解決するためになされたものであって、ＣＰＵの負荷を増大させることなくレジスタの設定を再設定することが可能なデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一実施例に従うデータ処理装置は、プロセッサと、プロセッサと協働して動作するための少なくとも１つの周辺装置と、周辺装置と協働して動作するために必要な周辺装置の動作の状態を規定する設定データを格納しているメモリとを含む。周辺装置は、プロセッサにより設定される設定データを格納するための少なくとも１つのレジスタを含む。データ処理装置は、プロセッサにより設定された後、プロセッサとは独立して、レジスタに設定された設定データの値を再設定するためのレジスタ再設定装置とをさらに含む。
【発明の効果】
【００１０】
以上のように、本発明の一実施例によれば、ＣＰＵの負荷を増大させることなくレジスタの設定を再設定することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１に従うデータ処理装置の構成例を示すブロック図である。
【図２】本発明の実施の形態１に従う格納情報テーブルを示す図である。
【図３】本発明の実施の形態１に従うＣＰＵの処理手順を示すフローチャートである。
【図４】本発明の実施の形態１に従うレジスタ再設定装置のレジスタ再設定処理手順を示すフローチャートである。
【図５】本発明の実施の形態２に従うデータ処理装置の構成例を示すブロック図である。
【図６】本発明の実施の形態２に従う格納情報テーブルを示す図である。
【図７】本発明の実施の形態２に従うレジスタ再設定装置のレジスタ再設定処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての同一部分については、その詳細な説明は繰り返さない。
【００１３】
［１．実施の形態１］
＜Ａ．全体構成＞
まず、本発明の実施の形態１に従うデータ処理装置１の全体構成について説明する。
【００１４】
図１は、本発明の実施の形態１に従うデータ処理装置１の構成例を示すブロック図である。
【００１５】
図１を参照して、データ処理装置１は、ＣＰＵ１００と、ＲＯＭ１１０と、ＲＡＭ１２０と、周辺装置１３０Ａおよび１３０Ｂと、データバス１４０と、レジスタ再設定装置２００とを含む。以下の説明においては周辺装置１３０Ａ〜１３０Ｂを代表させて周辺装置１３０とも称する。なお、本例においては一例として、データ処理装置１は、１チップマイクロコンピュータで構成されており、ＣＰＵ１００と、ＲＯＭ１１０と、ＲＡＭ１２０と、周辺装置１３０と、データバス１４０と、レジスタ再設定装置２００とは１つのＩＣ（Integrated Circuit）チップ上に実装されている場合について説明する。ただし、ＲＯＭ１１０と、ＲＡＭ１２０とは同じＩＣチップ上に実装されていてもよいし、外部で接続されていても良く適宜設計変更が可能である。
【００１６】
ＣＰＵ１００と、ＲＯＭ１１０と、ＲＡＭ１２０と、周辺装置１３０と、レジスタ再設定装置２００とはデータバス１４０を介して、電気的に接続されており各種データの授受を行なう。
【００１７】
ＣＰＵ１００は、ＲＯＭ１１０、ＲＡＭ１２０などの記憶領域に記憶されているプログラムを読み出し、プログラムを順次実行することによって、データ処理装置１の各部を制御する。
【００１８】
ＲＯＭ１１０は、ＣＰＵ１００で実行されるプログラムを予め格納し、ＲＡＭ１２０は、ＣＰＵ１００のプログラム部分の実行に必要なデータを一時的に格納する。また、ＲＯＭ１１０は、周辺装置１３０の動作状態を規定する設定データを格納している。なお、当該設定データは、ＲＯＭ１１０以外の不揮発性の記憶装置に格納されていてもよい。以下の説明では、当該設定データはＲＯＭ１１０に格納されている場合について説明する。
【００１９】
周辺装置１３０は、ＣＰＵ１００と協働して動作する。周辺装置１３０は、ＣＰＵ１００と協働して動作するために必要であり、周辺装置１３０の動作の状態を規定する設定データを格納するための少なくとも１つのレジスタを有する。本例においては、周辺装置１３０Ａはレジスタ１３２Ａ（レジスタＲＡ１〜ＲＡｍ）を有し、周辺装置１３０Ｂはレジスタ１３２Ｂ（レジスタＲＢ１〜ＲＢｎ）を有する場合が示されている。周辺装置１３０は、たとえば、ＵＳＢ（Universal Serial Bus）コントローラ、シリアルＩＯポートなどを含む。なお、以下の説明においては周辺装置１３０が有するレジスタをレジスタ１３２とも称する。
【００２０】
レジスタ再設定装置２００は、ＣＰＵ１００によりデータ処理装置１の起動時に、レジスタ１３２に設定データが設定された後、ＣＰＵ１００とは独立して、レジスタ１３２に設定された設定データの値をレジスタ１３２ごとに予め定められた所定の再設定周期に基づいて、再設定する。
【００２１】
＜Ｂ．レジスタ再設定装置２００の構成＞
次に、本発明の実施の形態１に従うレジスタ再設定装置２００の構成について説明する。
【００２２】
レジスタ再設定装置２００は、制御部２１０と、アドレス格納部２２０と、周期情報格納部２３０とを含む。
【００２３】
制御部２１０は、レジスタ再設定装置２００の全体を制御する。制御部２１０には、レジスタ再設定装置２００を動作状態にするか否かを判別する制御レジスタが格納されており、例えば、ＣＰＵ１００が当該制御レジスタの設定値に”１”を入力すると、制御部２１０は動作状態となり、レジスタ再設定装置２００が起動する。一方、ＣＰＵ１００が当該制御レジスタの設定値に”０”を入力すると、制御部２１０は非動作状態となり、レジスタ再設定装置２００が停止する。
【００２４】
制御部２１０は、周辺装置１３０が有するレジスタ１３２を再設定する再設定部２１２と、再設定部２１２が読み出した設定データを格納するバッファ部２１４と、ＣＰＵ１００によるデータバス１４０へのデータ転送の有無を監視するデータバス監視部２１６とを含む。これらの各部についての詳細な説明は後述する。
【００２５】
アドレス格納部２２０は、ＲＯＭ１１０に格納されている設定データにアクセスするために必要な設定データの位置を示すソースアドレス（ＳＡ）情報と、レジスタ１３２にアクセスするために必要なレジスタ１３２の位置を示すディスティネーションアドレス（ＤＡ）情報とを格納している。これらのアドレス情報は、互いに関連付けられて格納されており、データ処理装置１の起動時にＣＰＵ１００によってＲＯＭ１１０等から読み出された後アドレス格納部２２０に格納されてもよいし、予めアドレス格納部２２０に格納されていてもよい。また、アドレス格納部２２０には、再設定部２１２によってレジスタ１３２を再設定するタイミングが一致している場合にどのレジスタ１３２を優先して再設定するかを示す優先度情報がこれらのアドレス情報と関連付けられて格納されている。また、アドレス格納部２２０は、基本的に初期設定した設定値が変化しないものとして設定されている（静的な）レジスタ１３２に対応するアドレス情報（ＳＡ情報、ＤＡ情報）を格納しているものとする。
【００２６】
周期情報格納部２３０には、再設定部２１２が再設定するレジスタ１３２ごとに予め定められている再設定タイミングを規定する周期情報が、アドレス格納部２２０に格納されたＳＡ情報と、ＤＡ情報と、優先度情報とに関連付けられて格納されている。
【００２７】
ここで、レジスタ再設定装置２００は、互いに関連付けられた、ＳＡ情報と、ＤＡ情報と、優先度情報と、周期情報とに基づいて作成される格納情報テーブルを有していてもよい。ただし、レジスタ再設定装置２００は、アドレス格納部２２０と周期情報格納部２３０とから、ＳＡ情報と、ＤＡ情報と、優先度情報と、周期情報とが互いに関連付けられていることが把握できる場合は、当該格納情報テーブルを有していなくてもよい。以下では、レジスタ再設定装置２００が、当該格納情報テーブルを有しているものとして説明する。
【００２８】
図２は、本発明の実施の形態１に従う格納情報テーブルを示す図である。
図２を参照して、格納情報テーブルは、アドレス格納部２２０に格納されたＳＡ情報と、ＤＡ情報と、優先度情報（Ｐ）と、周期情報格納部２３０に格納された周期情報（Ｔ）とが互いに関連付けられていることを示している。すなわち、周辺装置１３０が有するレジスタ１３２に設定される設定データにそれぞれ対応するＳＡ情報（ＳＡ１〜ＳＡｎ）と、当該レジスタ１３２にそれぞれ対応する複数のＤＡ情報（ＤＡ１〜ＤＡｎ）と、当該各アドレス情報（ＳＡ情報、ＤＡ情報）にそれぞれ関連付けられた複数の優先度情報（Ｐ１〜Ｐｎ）と、当該各アドレス情報にそれぞれ関連付けられた複数の周期情報（Ｔ１〜Ｔｎ）とを格納している。
【００２９】
次に、制御部２１０に含まれる各部の主な機能について説明する。
上述したように、制御部２１０は、再設定部２１２と、バッファ部２１４と、データバス監視部２１６とを含む。
【００３０】
再設定部２１２は、基準クロックに基づいて時間計測を行ない、一例として格納情報テーブルに従うと、周期Ｔ１ごとにＳＡ１情報に基づいてＲＯＭ１１０から設定データを読み出して、当該設定データをバッファ部２１４に格納し、ＤＡ１情報に基づく所定のレジスタ１３２に当該設定データを書き込むことでレジスタ１３２を再設定する。
【００３１】
データバス監視部２１６は、データバス１４０を監視する。具体的には、データバス監視部２１６は、ＣＰＵ１００によりデータバス１４０を介してデータの授受が実行されているか否か判断する。データバス監視部２１６が、ＣＰＵ１００によりデータの授受が実行されていないと判断したときに、再設定部２１２はデータバス１４０を介して設定データの読出しをしたり、書き込みをしたりしてもよい。また、データバス監視部２１６は、再設定部２１２がレジスタ１３２の設定データの値を再設定などする際に、ＣＰＵ１００にその旨を通知してもよい。
【００３２】
＜Ｃ．ＣＰＵ１００の動作フロー＞
次に、本発明の実施の形態１に従うＣＰＵ１００の動作フローについて説明する。
【００３３】
図３は、本発明の実施の形態１に従うＣＰＵ１００の処理手順を示すフローチャートである。ここでは、ＣＰＵ１００が所定のアプリケーションプログラムを実行している場合について説明する。
【００３４】
図３を参照して、ＣＰＵ１００は、周辺装置１３０が有するレジスタ１３２を初期設定する（ステップＳ１０）。具体的には、ＣＰＵ１００は、レジスタ１３２に設定するための設定データをＲＯＭ１１０から読み出して、当該設定データをレジスタ１３２に初期設定する。
【００３５】
次に、ＣＰＵ１００は、レジスタ再設定装置２００のアドレス格納部２２０および周期情報格納部２３０に所定のデータを格納する（ステップＳ２０）。具体的には、ＣＰＵ１００は、ＲＯＭ１１０に格納されているＳＡ情報と、ＤＡ情報と、優先度情報とを読み出してアドレス格納部２２０に格納し、同様にＲＯＭ１１０に格納されている周期情報を周期情報格納部２３０に格納する。また、このときＣＰＵ１００は、ＳＡ情報と、ＤＡ情報と、優先度情報Ｐと、周期情報Ｔとを互いに関連付けて格納する。このとき、レジスタ再設定装置２００では、格納されたそれぞれの情報に基づいて格納情報テーブルが作成される。
【００３６】
次に、ＣＰＵ１００は、レジスタ再設定装置２００の動作を許可する（ステップＳ３０）。具体的には、ＣＰＵ１００は、レジスタ再設定装置２００の制御部２１０に含まれる制御レジスタにアクセスして、当該制御レジスタの設定値に”１”を入力する。当該許可がなされると、レジスタ再設定装置２００が起動され、レジスタ再設定装置２００は、ＣＰＵ１００とは独立して動作し、レジスタ１３２に設定データの再設定を行なうことができる。
【００３７】
次に、ＣＰＵ１００は、所定のアプリケーションプログラムを実行する（ステップＳ４０）。
【００３８】
次に、ＣＰＵ１００は、所定のアプリケーションプログラムを終了するか否かを判断する（ステップＳ５０）。ＣＰＵ１００は、終了しないと判断すると（ステップＳ５０においてＮＯ）、ステップＳ４０からの処理を繰り返す。一方、ＣＰＵ１００は、終了すると判断すると（ステップＳ５０においてＹＥＳ）、アプリケーションプログラムを終了して、処理を終了する。
【００３９】
以上より、本発明の実施の形態１に従うＣＰＵ１００は、レジスタ１３２に設定データを初期設定し、レジスタ再設定装置２００を起動した後は、所定のプログラムを実行している場合においても、レジスタ１３２に設定データを再設定するという再設定処理は行なわない。これは、レジスタ再設定装置２００が、ＣＰＵ１００と独立して動作し、レジスタ１３２に設定データを再設定するという再設定処理を行なうためである。
【００４０】
＜Ｄ．レジスタ再設定装置２００の動作フロー＞
次に、本発明の実施の形態１に従うレジスタ再設定装置２００がレジスタ１３２を再設定する際の動作フローについて説明する。なお、レジスタ再設定装置２００は、静的なレジスタ１３２に対応するアドレス情報に基づいて当該静的なレジスタ１３２を再設定するものとする。
【００４１】
図４は、本発明の実施の形態１に従うレジスタ再設定装置２００のレジスタ再設定処理手順を示すフローチャートである。
【００４２】
図４を参照して、レジスタ再設定装置２００の制御部２１０は、所定のレジスタ１３２についての再設定周期が経過したか否かを判断する（ステップＳ１０２）。具体的には、制御部２１０は、基準クロックに基づいて時間計測を行ない、周期情報に基づいて所定の時間が経過したか否かを判断する。
【００４３】
制御部２１０は、所定のレジスタ１３２についての再設定周期が経過していないと判断すると（ステップＳ１０２においてＮＯ）、ステップＳ１０２の状態を維持する。一方、制御部２１０は、再設定周期が経過したと判断すると（ステップＳ１０２においてＹＥＳ）、当該所定のレジスタ１３２以外の残余のレジスタ１３２の再設定タイミングが重なるか否かを判断する（ステップＳ１０４）。具体的には、制御部２１０は、当該所定のレジスタ１３２に対応するアドレス情報に関連付けられた周期情報が経過した際に、同一のタイミングで当該残余のレジスタ１３２に対応するアドレス情報に関連付けられた周期情報が経過したか否かを判断する。
【００４４】
制御部２１０は、再設定タイミングが重ならないと判断した場合（ステップＳ１０４においてＮＯ）、ステップＳ１２０からの処理を実行する。
【００４５】
一方、制御部２１０は、再設定タイミングが重なると判断した場合（ステップＳ１０４においてＹＥＳ）、競合した各レジスタ１３２を再設定する優先度を比較する（ステップＳ１０６）。具体的には、当該所定のレジスタ１３２に対応するアドレス情報に関連付けられた優先度情報と、当該残余のレジスタ１３２に対応するアドレス情報に関連付けられた優先度情報とを比較する。
【００４６】
次に、制御部２１０は、優先度の最も高い優先度情報に関連付けられたアドレス情報を選択する（ステップＳ１０８）。
【００４７】
次に、制御部２１０は、選択したアドレス情報におけるＳＡ情報に基づいて、ＲＯＭ１１０から設定データを読み出す（ステップＳ１１０）。
【００４８】
次に、制御部２１０は、読み出した設定データをバッファ部２１４に格納する（ステップＳ１１２）。なお、制御部２１０は、当該設定データをバッファ部２１４以外の場所に格納してもよい。たとえば、ＲＯＭ１１０に設定データの一時格納領域を専用に設けておき、当該領域に格納してもよい。
【００４９】
次に、制御部２１０は、当該格納された設定データを選択されたアドレス情報におけるＤＡ情報に基づいて、当該選択されたアドレス情報に対応するレジスタ１３２に設定データを書き込む（ステップＳ１１４）。
【００５０】
次に、制御部２１０は、他に再設定が必要なレジスタ１３２があるか否かを判断する（ステップＳ１１６）。具体的には、制御部２１０は、優先度が低いため再設定されなかったレジスタ１３２がある場合には、他に再設定が必要なレジスタ１３２があると判断する。
【００５１】
制御部２１０は、再設定が必要なレジスタ１３２があると判断すると（ステップＳ１１６においてＹＥＳ）、次に優先度の高いレジスタ１３２の位置を示すアドレス情報を選択して（ステップＳ１１８）、ステップＳ１１０からの処理を繰り返す。一方、制御部２１０は、再設定が必要なレジスタ１３２はないと判断すると（ステップＳ１１６においてＮＯ）、処理を終了する。
【００５２】
次に、制御部２１０が再設定タイミングが重ならないと判断した場合（ステップＳ１０４においてＮＯ）における、ステップＳ１２０からの処理について説明する。
【００５３】
制御部２１０は、再設定周期が経過した所定のレジスタ１３２に対応するアドレス情報におけるＳＡ情報に基づいて、ＲＯＭ１１０から設定データを読み出す（ステップＳ１２０）。
【００５４】
次に、制御部２１０は、読み出した設定データをバッファ部２１４に格納する（ステップＳ１２２）。
【００５５】
次に、制御部２１０は、当該格納された設定データを所定のレジスタ１３２に対応するアドレス情報におけるＤＡ情報に基づいて、当該所定のレジスタ１３２に設定データを書き込んで（ステップＳ１２４）、処理を終了する。
【００５６】
なお、上述したフローにおいて、制御部２１０は、ＣＰＵ１００によりデータバス１４０を介してデータの授受が実行されているか否かを判断して、ＣＰＵ１００によりデータの授受が実行されていないと判断したときに、データバス１４０を介して設定データの読出しをしたり、書き込みをしたりしてもよい。また、制御部２１０は、当該読み出しや書き込みをする際に、ＣＰＵ１００にデータバスを１４０を使用することを通知したりしてもよい。
【００５７】
すなわち、制御部２１０が、設定データをＲＯＭ１１０から読み出すステップの前（ステップＳ１０８とステップＳ１１０との間、またはステップＳ１２０とステップＳ１２２との間）や、設定データをレジスタ１３２に書き込むステップの前（ステップＳ１１２とステップＳ１１４との間、またはステップＳ１２２とステップＳ１２４との間）に、上記判断のステップや上記通知のステップを追加してもよい。
【００５８】
制御部２１０が、上記判断および上記通知をすることで、データバス１４０の使用に対するＣＰＵ１００との競合を回避することができる。
【００５９】
ここで、比較として、従来例におけるデータ処理装置のレジスタの再設定方式について説明する。
【００６０】
従来例のデータ処理装置は、図１で示した本発明の実施の形態１に従うデータ処理装置１にレジスタ再設定装置２００を含まないものに相当する。
【００６１】
したがって、従来例のデータ処理装置では、ＣＰＵ１００は、レジスタ１３２に設定するための設定データをＲＯＭ１１０から読み出し、当該設定データをレジスタ１３２に初期設定した後に、所定のプログラムを実行している場合には、当該プログラムを実行するとともにレジスタ１３２に設定データを再設定するという処理が必要となる。すなわち、従来例のデータ処理装置では、ＣＰＵ１００のソフトウェア処理が増大し、ＣＰＵ１００への負荷が大きくなってしまう。
【００６２】
一方、上述したように実施の形態１に従うデータ処理装置１においては、ＣＰＵ１００はレジスタ１３２の設定は初期設定のみでよく、その後の定期的なレジスタ１３２の再設定は、レジスタ再設定装置２００が行なうため、従来例と比較してＣＰＵ１００の負荷を低減することができる。
【００６３】
また、実施の形態１に従うデータ処理装置１は、レジスタ１３２ごとに再設定周期および優先度を定めておくことができるため、再設定の必要性の高いレジスタ１３２については再設定周期を早く、また優先度を高くするなどしておくことで、効果的な再設定処理を実現することもできる。
【００６４】
［２．実施の形態２］
上述の実施の形態１においては、レジスタ再設定装置２００は、各レジスタ１３２に対応するアドレス情報ごとに関連付けられた再設定周期に従って、レジスタ１３２を再設定する場合について説明したが、実施の形態２では、レジスタ再設定装置２００が、一定の再設定周期ごとに、予め定められた順序に従って、再設定が必要なレジスタ１３２を再設定する場合について説明する。
【００６５】
＜Ａ．全体構成＞
本発明の実施の形態２に従うデータ処理装置１の全体構成について説明する。
【００６６】
図５は、本発明の実施の形態２に従うデータ処理装置１の構成例を示すブロック図である。
【００６７】
図５を参照して、本発明の実施の形態２に従うデータ処理装置１は、レジスタ再設定装置２００の構成の一部が異なる点以外、図１に示すデータ処理装置１と同じ構成であるので、同一部分についてはその詳細な説明は繰り返さない。
【００６８】
本発明の実施の形態２に従うレジスタ再設定装置２００は、予め定められた所定の周期ごとに、再設定が必要なレジスタの設定データの値を順次再設定していく。
【００６９】
＜Ｂ．レジスタ再設定装置の構成＞
次に、本発明の実施の形態２に従うレジスタ再設定装置２００の構成について説明する。
【００７０】
レジスタ再設定装置２００は、制御部２１０と、アドレス格納部２２０と、周期情報格納部２３０とを含む。
【００７１】
制御部２１０は、レジスタ再設定装置２００の全体を制御する。制御部２１０に、制御レジスタが格納されている点は実施の形態１と同様であるため、その詳細な説明は繰り返さない。制御部２１０は、再設定部２１２と、バッファ部２１４と、データバス監視部２１６と、データ比較部２１８とを含む。これらの各部についての詳細は後述する。
【００７２】
アドレス格納部２２０は、静的なレジスタ１３２に対応するＳＡ情報とＤＡ情報とを互いに関連付けて格納している。
【００７３】
ここで、実施の形態２に従う格納情報テーブルについて説明する。ただし、実施の形態１と同様に、レジスタ再設定装置２００は、アドレス格納部２２０から、ＳＡ情報と、ＤＡ情報とが互いに関連付けられていることが確認できる場合は、当該格納情報テーブルを有していなくてもよい。以下では、レジスタ再設定装置２００が、当該格納情報テーブルを有しているものとして説明する。
【００７４】
図６は、本発明の実施の形態２に従う格納情報テーブルを示す図である。
図６を参照して、格納情報テーブルは、アドレス格納部２２０に格納されたＳＡ情報と、ＤＡ情報とが互いに関連付けられていることを示している。実施の形態２における格納情報テーブルは、周期情報と優先度情報を含まない点で、実施の形態１における格納情報テーブルと異なる。
【００７５】
周期情報格納部２３０は、一定の再設定周期ごとに再設定部２１２がレジスタ１３２を順次再設定するために、当該再設定周期を規定する周期情報を格納する。
【００７６】
次に、制御部２１０に含まれる各部の主な機能について説明する。
上述したように、制御部２１０は、再設定部２１２と、バッファ部２１４と、データバス監視部２１６と、データ比較部２１８とを含む。
【００７７】
再設定部２１２は、基準クロックに基づいて応答して時間計測を行ない、一定の周期が経過すると、ＳＡ情報に基づいてＲＯＭ１１０から設定データを読み出して、当該設定データをバッファ部２１４に格納し、ＤＡ情報に対応するレジスタ１３２に当該設定データを書き込むことでレジスタ１３２を再設定する。例えば、格納情報テーブルに従うと、ＤＡ１〜ＤＡｎに対応する各レジスタ１３２をラウンドロビン方式で再設定していく。
【００７８】
データバス監視部２１６は、実施の形態１と同様な機能であるためその詳細な説明は繰りかえさない。
【００７９】
データ比較部２１８は、ＳＡ情報に基づいて読み出される初期設定データとＤＡ情報に基づいて読み出される既存設定データとが一致しているか否かを判断する。
【００８０】
＜Ｃ．ＣＰＵ１００の動作フロー＞
次に、本発明の実施の形態２に従うＣＰＵ１００が、レジスタ１３２を再設定する際に行なう動作フローは、実施の形態１と同様であるため、その詳細な説明は繰り返さない。
【００８１】
＜Ｄ．レジスタ再設定装置２００の動作フロー＞
次に、本発明の実施の形態２に従うレジスタ再設定装置２００がレジスタ１３２を再設定する際の動作フローについて説明する。
【００８２】
図７は、本発明の実施の形態２に従うレジスタ再設定装置２００のレジスタ再設定処理手順を示すフローチャートである。
【００８３】
図７を参照して、レジスタ再設定装置２００の制御部２１０は、所定の再設定周期が経過したか否かを判断する（ステップＳ２０２）。
【００８４】
制御部２１０は、所定の再設定周期が経過していないと判断すると（ステップＳ２０２においてＮＯ）、ステップＳ１０２の状態を維持する。一方、制御部２１０は、所定の再設定周期が経過したと判断すると（ステップＳ２０２においてＹＥＳ）、最初に再設定されるレジスタ１３２に対応するＳＡ情報に基づいて、ＲＯＭ１１０から設定データ（初期設定データ）を読み出し（ステップＳ２０４）、読み出した初期設定データをバッファ部２１４に格納する（ステップＳ２０６）。
【００８５】
次に、制御部２１０は、対応するＤＡ情報に基づいて、レジスタ１３２から設定データ（既存設定データ）を読み出し（ステップＳ２０８）、読み出した既存設定データをバッファ部２１４に格納する（ステップＳ２１０）。
【００８６】
次に、制御部２１０は、当該初期設定データと、当該既存設定データが一致しているか否かを判断する（ステップＳ２１２）。制御部２１０は、両者が一致していると判断した場合（ステップＳ２１２においてＹＥＳ）、レジスタ１３２を再設定することなく処理を終了する。一方、制御部２１０は、両者が一致していないと判断した場合（ステップＳ２１２においてＮＯ）、制御部２１０は、ＤＡ情報に基づいて、所定のレジスタ１３２に当該初期設定データを書き込む（ステップＳ２１６）。
【００８７】
次に、制御部２１０は、他に再設定が必要なレジスタ１３２があるか否かを判断する（ステップＳ２１８）。具体的には、制御部２１０は、まだ再設定の順序がきていないレジスタ１３２がある場合には、他に再設定が必要なレジスタ１３２があると判断する。
【００８８】
制御部２１０は、再設定が必要なレジスタ１３２があると判断すると（ステップＳ２１８においてＹＥＳ）、ステップＳ２０４からの処理を繰り返す。一方、制御部２１０は、再設定が必要なレジスタ１３２はないと判断すると（ステップＳ２１８においてＮＯ）、処理を終了する。
【００８９】
なお、上述したフローにおいて、実施の形態１と同様に、ＣＰＵ１００によりデータバス１４０を介してデータの授受が実行されているか否かを判断したり、ＣＰＵ１００にデータバスを１４０を使用することを通知したりしてもよい。
【００９０】
すなわち、制御部２１０が、設定データをＲＯＭ１１０から読み出すステップの前（ステップＳ２０２とステップＳ２０４との間）や、設定データをレジスタ１３２に書き込む前（ステップＳ２１２とステップＳ２１４との間）に、上記判断のステップや、上記通知のステップを追加してもよい。
【００９１】
以上から、実施の形態２に従うデータ処理装置１は、レジスタ１３２に格納された既存設定データと、初期設定データとを比較し、再設定する必要がない場合は再設定しないため、効率のよい再設定処理を実現することができる。
【００９２】
［３．利点］
本実施の形態によれば、ＣＰＵの命令によりレジスタ再設定装置を起動した後は、当該レジスタ再設定装置により周辺装置が有するレジスタを再設定することができる。したがって、ＣＰＵによる定期的な再設定処理が不要となるため、ソフトウェア処理のオーバーヘッドが低減でき、またソフトウェア設計の簡易化を実現することができる。
【００９３】
［４．その他の実施の形態］
上記では、レジスタ再設定装置２００が、静的なレジスタ１３２に対応するアドレス情報を格納している場合について説明したが、動的なレジスタ１３２を含めた全てのレジスタ１３２に対応するアドレス情報を格納していてもよい。このとき、レジスタ再設定装置２００は、静的なレジスタ１３２のみを再設定する場合、アドレス情報に対応するレジスタ１３２が静的なレジスタ１３２か否かを示すフラグ情報を当該アドレス情報に関連付けて格納していてもよい。例えば、フラグ情報が、”１”のときは静的なレジスタ１３２に対応するアドレス情報であり、”０”のときは動的なレジスタ１３２に対応するアドレス情報を示しているとして、再設定部２１２は、値が”１”であるフラグ情報に対応するレジスタ１３２のみ再設定し、値が”０”であるフラグ情報に対応するレジスタ１３２は無視して、再設定しないとしてもよい。
【００９４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００９５】
１  データ処理装置、１００  ＣＰＵ、１１０  ＲＯＭ、１２０  ＲＡＭ、１３０  周辺装置、１３２  レジスタ、１４０  データバス、２００  レジスタ再設定装置、２１０  制御部、２１２  再設定部、２１４  バッファ部、２１６  データバス監視部、２１８  データ比較部、２２０  アドレス格納部、２３０  周期情報格納部。
【図１】
2013109394.tif 000003
【図２】
2013109394.tif 000004
【図３】
2013109394.tif 000005
【図４】
2013109394.tif 000006
【図５】
2013109394.tif 000007
【図６】
2013109394.tif 000008
【図７】
2013109394.tif 000009