(57)【要約】【課題】ウエイト数制御部の起動信号の生成までの処理速度をさらに高速化することができるデータ処理方法および装置を提供する。【解決手段】アドレス生成部１０１で命令のデコードを行い、アクセスを行うメモリ等のアドレスおよびアクセス信号を生成し、その信号を基に、アクセス領域信号生成部１０２で今回のアクセスがメモリ等のどの領域に対するものかを示す信号を生成する処理と、アクセスの有無に関わらずウエイト数制御部１０３を起動し該当領域のウエイト中を示す信号を生成し、その信号を基に、クロック制御信号生成部１０４でウエイト中クロックを停止するためのクロックマスク信号を生成する処理とを、並列に実行し、ウエイト制御判定部１０５で今回のアクセスのウエイト領域かノーウエイト領域かを判定してその結果に応じた信号を選択し、その出力信号を基に、クロック発生部１０６で生成されたクロックを、クロック制御部１０７でウエイト中停止するクロックを生成する。【選択図】　　図１
2004030479.tif 000002
【特許請求の範囲】
【請求項１】
ＤＳＰやマイコン等によるデータ処理を、それらの周辺素子として接続されるメモリ等を介在させて実行するデータ処理方法であって、前記メモリ等に対するアクセスポイントのアドレスを指し示すアドレス信号、および前記アドレスへのアクセス状態を示すアクセス信号を生成するアドレス生成処理と、前記アドレス信号および前記アクセス信号から前記メモリ等のアクセス領域を指し示す信号を生成するアクセス領域信号生成処理と、前記メモリ等に対するアクセスのタイミング基準を得るためのクロックを発生するクロック発生処理と、前記メモリ等への複数サイクルによるアクセスの際の前記メモリ等のウエイトを制御するウエイト数制御処理と、前記ウエイト数制御処理により得られた前記メモリ等のウエイト数に対応して、前記クロックを停止操作する制御信号を生成するクロック制御信号生成処理と、前記アクセス領域信号生成処理により得られたアクセス領域信号に基いて、当該アクセスがウエイト領域であるのかノーウエイト領域であるのかを判定して、ウエイト領域であれば前記クロック制御信号生成処理により得られたクロック制御信号を選択し、ノーウエイト領域であればクロック制御を行わない信号を選択するウエイト制御判定処理と、前記ウエイト制御判定処理により選択された前記クロック制御信号生成処理によるクロック制御信号を基に、前記クロック発生処理によるクロックを実際に制御するクロック制御処理とを実行し、前記アドレス生成処理から前記アクセス領域信号生成処理までの処理と、前記ウエイト数制御処理から前記クロック制御信号生成処理までの処理とを、並列処理することを特徴とするデータ処理方法。
【請求項２】
前記ウエイト数制御処理として、カウンタ処理およびカウンタ数設定処理を実行するようにし、前記ウエイト制御判定処理で、前記クロック制御信号の選択と同時に、今回のアクセスがウエイト領域であればウエイト領域アクセス信号を生成し、この場合には、前記ウエイト領域アクセス信号に応じて前記カウンタ数設定処理を実行するとともに、前記今回のアクセスがノーウエイト領域であればノーウエイト領域アクセス信号を生成し、この場合には、前記ノーウエイト領域アクセス信号に応じて前記カウンタ数設定処理を実行し、前記カウンタ数設定処理を前記ウエイト領域アクセス信号に応じて実行した際には、前記カウンタ処理を起動して、前記カウンタ数設定処理の実行により設定されたカウンタ数をカウントする間、ウエイト中信号を生成し、前記カウンタ数設定処理を前記ノーウエイト領域アクセス信号に応じて実行した際には、前記カウンタ処理を起動して、クロック制御を行わない信号を生成することを特徴とする請求項１に記載のデータ処理方法。
【請求項３】
カウンタ処理をダウンカウンタ処理として実行するようにし、前記カウンタ数設定処理により設定するカウンタ数を、ウエイト数をｎ（ｎ＞１）とした場合ｎ−１とし、前記カウンタ処理でのカウンタ数をｎ−１とすることを特徴とする請求項２に記載のデータ処理方法。
【請求項４】
カウンタ処理をアップカウンタ処理として実行するようにし、前記カウンタ数設定処理により設定するカウンタ数を０とし、前記カウンタ処理でのカウンタ数を、ウエイト数をｎ（ｎ＞１）とした場合ｎ−１とすることを特徴とする請求項２に記載のデータ処理方法。
【請求項５】
アドレス生成処理、アクセス領域信号生成処理、ウエイト数制御処理、クロック制御信号生成処理およびウエイト制御判定処理として、それぞれ内容の異なる複数の処理を実行するようにし、前記ウエイト制御判定処理により、複数の異なるウエイト数の領域に同時アクセスが発生した場合、ウエイト数の最も長い領域のウエイト数で処理を行う複数ウエイト数処理を実行して、クロック制御信号を生成することを特徴とする請求項１に記載のデータ処理方法。
【請求項６】
前記各ウエイト数制御処理として、それぞれ内容の異なるカウンタ処理、およびそれぞれ内容の異なるカウンタ数設定処理を実行するようにし、前記各ウエイト制御判定処理で、それぞれ、前記クロック制御信号の選択と同時に、今回のアクセスがウエイト領域であればウエイト領域アクセス信号を生成し、この場合には、前記各ウエイト領域アクセス信号に応じて前記各カウンタ数設定処理を実行するとともに、前記今回のアクセスがノーウエイト領域であればノーウエイト領域アクセス信号を生成し、この場合には、前記各ノーウエイト領域アクセス信号に応じて前記各カウンタ数設定処理を実行し、前記各カウンタ数設定処理を前記各ウエイト領域アクセス信号に応じて実行した際には、前記各カウンタ処理を起動して、前記各カウンタ数設定処理の実行により設定された各カウンタ数をカウントする間、それぞれ異なるウエイト中信号を生成し、前記各カウンタ数設定処理を前記各ノーウエイト領域アクセス信号に応じて実行した際には、前記各カウンタ処理を起動して、それぞれクロック制御を行わない信号を生成することを特徴とする請求項５に記載のデータ処理方法。
【請求項７】
各カウンタ処理をダウンカウンタ処理として実行するようにし、前記各カウンタ数設定処理により設定するカウンタ数を、それぞれウエイト数をｎ（ｎ＞１）とした場合ｎ−１とし、前記各カウンタ処理でのカウンタ数をそれぞれｎ−１とすることを特徴とする請求項６に記載のデータ処理方法。
【請求項８】
各カウンタ処理をアップカウンタ処理として実行するようにし、前記各カウンタ数設定処理により設定するカウンタ数をそれぞれ０とし、前記各カウンタ処理でのカウンタ数を、それぞれウエイト数をｎ（ｎ＞１）とした場合ｎ−１とすることを特徴とする請求項６に記載のデータ処理方法。
【請求項９】
ＤＳＰやマイコン等によるデータ処理を、それらの周辺素子として接続されるメモリ等を介在させて実行するデータ処理装置であって、前記メモリ等に対するアクセスポイントのアドレスを指し示すアドレス信号、および前記アドレスへのアクセス状態を示すアクセス信号を生成するアドレス生成部と、前記アドレス信号および前記アクセス信号から前記メモリ等のアクセス領域を指し示す信号を生成するアクセス領域信号生成部と、前記メモリ等に対するアクセスのタイミング基準を得るためのクロックを発生するクロック発生部と、前記メモリ等への複数サイクルによるアクセスの際の前記メモリ等のウエイトを制御するウエイト数制御部と、前記ウエイト数制御部からの前記メモリ等のウエイト数に対応して、前記クロックを停止操作する制御信号を生成するクロック制御信号生成部と、前記アクセス領域信号生成部からのアクセス領域信号に基いて、当該アクセスがウエイト領域であるのかノーウエイト領域であるのかを判定して、ウエイト領域であれば前記クロック制御信号生成部からのクロック制御信号を選択し、ノーウエイト領域であればクロック制御を行わない信号を選択するウエイト制御判定部と、前記ウエイト制御判定部により選択された前記クロック制御信号生成部からのクロック制御信号を基に、前記クロック発生部からのクロックを実際に制御するクロック制御部とを備え、前記アドレス生成部から前記アクセス領域信号生成部までの動作と、前記ウエイト数制御部から前記クロック制御信号生成部までの動作とが、並列動作するよう構成したことを特徴とするデータ処理装置。
【請求項１０】
前記ウエイト数制御部に、カウンタ部およびカウンタ数設定部を設け、前記ウエイト制御判定部を、前記クロック制御信号の選択と同時に、今回のアクセスがウエイト領域であればウエイト領域アクセス信号を生成して前記カウンタ数設定部に供給し、前記今回のアクセスがノーウエイト領域であればノーウエイト領域アクセス信号を生成して前記カウンタ数設定部に供給するよう構成するとともに、前記カウンタ数設定部が前記ウエイト領域アクセス信号を受けたときには、前記カウンタ数設定部に前記ウエイト領域アクセス信号に応じたカウンタ数を設定し、同時に前記カウンタ部を起動して、このカウンタ部から前記カウンタ数設定部のカウンタ数をカウントする間、ウエイト中信号を生成し、前記カウンタ数設定部が前記ノーウエイト領域アクセス信号を受けたときには、前記カウンタ数設定部に前記ノーウエイト領域アクセス信号に応じたカウンタ数を設定し、同時に前記カウンタ部を起動して、このカウンタ部からクロック制御を行わない信号を生成するよう構成したことを特徴とする請求項９に記載のデータ処理装置。
【請求項１１】
カウンタ部をダウンカウントするよう構成するとともに、前記カウンタ数設定部に設定するカウンタ数を、ウエイト数をｎ（ｎ＞１）とした場合ｎ−１とし、前記カウンタ部でのカウンタ数をｎ−１とするよう構成したことを特徴とする請求項１０に記載のデータ処理装置。
【請求項１２】
カウンタ部をアップカウントするよう構成するとともに、前記カウンタ数設定部に設定するカウンタ数を０とし、前記カウンタ部でのカウンタ数を、ウエイト数をｎ（ｎ＞１）とした場合ｎ−１とするよう構成したことを特徴とする請求項１０に記載のデータ処理装置。
【請求項１３】
アドレス生成部、アクセス領域信号生成部、ウエイト数制御部、クロック制御信号生成部およびウエイト制御判定部を、それぞれ内容の異なる処理を実行する複数部により構成するとともに、前記ウエイト制御判定部により、複数の異なるウエイト数の領域に同時アクセスが発生した場合、ウエイト数の最も長い領域のウエイト数を基に、クロック制御信号を生成する複数ウエイト数処理部を設けたことを特徴とする請求項９に記載のデータ処理装置。
【請求項１４】
前記各ウエイト数制御部に、それぞれ内容の異なる処理を実行するカウンタ部、およびそれぞれ内容の異なる処理を実行するカウンタ数設定部を設け、前記各ウエイト制御判定部を、それぞれ、前記クロック制御信号の選択と同時に、今回のアクセスがウエイト領域であればウエイト領域アクセス信号を生成して、それぞれ前記各カウンタ数設定部に供給し、前記今回のアクセスがノーウエイト領域であればノーウエイト領域アクセス信号を生成して、それぞれ前記カウンタ数設定部に供給するよう構成するとともに、前記各カウンタ数設定部が前記ウエイト領域アクセス信号を受けたときには、前記各カウンタ数設定部に前記ウエイト領域アクセス信号に応じたカウンタ数をそれぞれ設定し、同時に前記各カウンタ部を起動して、この各カウンタ部から前記各カウンタ数設定部のカウンタ数をそれぞれカウントする間、それぞれウエイト中信号を生成し、前記各カウンタ数設定部が前記ノーウエイト領域アクセス信号を受けたときには、前記各カウンタ数設定部に前記ノーウエイト領域アクセス信号に応じたカウンタ数をそれぞれ設定し、同時に前記各カウンタ部を起動して、この各カウンタ部からクロック制御を行わない信号を生成するよう構成したことを特徴とする請求項１３に記載のデータ処理装置。
【請求項１５】
各カウンタ部をダウンカウントするよう構成するとともに、前記各カウンタ数設定部に設定するカウンタ数を、それぞれウエイト数をｎ（ｎ＞１）とした場合ｎ−１とし、前記各カウンタ部でのカウンタ数をそれぞれｎ−１とするよう構成したことを特徴とする請求項１４に記載のデータ処理装置。
【請求項１６】
各カウンタ部をアップカウントするよう構成するとともに、前記各カウンタ数設定部に設定するカウンタ数をそれぞれ０とし、前記各カウンタ部でのカウンタ数を、それぞれウエイト数をｎ（ｎ＞１）とした場合ｎ−１とするよう構成したことを特徴とする請求項１４に記載のデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＤＳＰやマイコン等によるデータ処理を、それらの周辺素子として接続されるメモリ等を介在させて実行するデータ処理方法および装置に関するものである。
【０００２】
【従来の技術】
近年では、携帯電話等の携帯端末の普及により、より高度なサービス、より多くのサービスへの対応が求められており、そのキーデバイスであるＤＳＰやマイコン等には、それらの演算処理速度に対して、より一層の高速化が求められている。
【０００３】
この高速化に対するボトルネックのひとつに、ＤＳＰやマイコン等により、それらの周辺素子として接続されるメモリ等を介在させてデータ処理を実行する際に、そのメモリ等との間でのデータ処理の高速化が挙げられる。
【０００４】
以下、ＤＳＰやマイコン等によるデータ処理を、それらの周辺素子として接続されるメモリ等を介在させて実行する従来のデータ処理方法および装置の一例を、図面を参照しながら説明する。
【０００５】
図４は従来のデータ処理方法を実行するデータ処理装置の構成を示すブロック図である。図４において、４０１はメモリ等に対するアクセスポイントのアドレスを指し示すアドレス、およびアドレスへのアクセス状態を示すアクセス信号を生成するアドレス生成部、４０２はアドレス生成部４０１から出力されたアドレスおよびアクセス信号を基に、メモリ等のアクセス領域を指し示す信号を生成するアクセス領域信号生成部、４０３は複数サイクルアクセスのメモリ等のウエイトを制御するウエイト数制御部、４０４はウエイト数制御部４０３の出力から実際にクロックを操作する制御信号を生成するクロック制御信号生成部、４０５はメモリ等に対するアクセスのタイミング基準を得るためのクロックを発生するクロック発生部、４０６はクロック制御信号生成部４０４の出力信号を基に、実際にクロック発生部４０５から出力されたクロックに対して制御をかけるクロック制御部である。
【０００６】
以上のように構成された従来のデータ処理装置において、そのデータ処理方法について以下に説明する。
従来のデータ処理方法は、まず、アドレス生成部４０１により、ソフトウエア等で発行された命令のデコードを行い、アクセス対象であるメモリ等のアクセスポイントを示すアドレスおよびそのアクセス信号を生成する。次に、アクセス領域信号生成部４０２により、アドレス生成部４０１から出力されたアドレスおよびアクセス信号を基に、今回のアクセスがメモリ等のどの領域に対するものかを示す信号を生成する。
【０００７】
次に、ウエイト数制御部４０３を起動し、アクセス領域信号生成部４０２から出力された信号を基に、該当領域のウエイト数に当たる時間の間だけウエイト中を示す信号を生成する。次に、ウエイト数制御部４０３の出力信号を基に、クロック制御信号生成部４０４により、ウエイト中クロックを停止するためのクロックマスク信号を生成する。
【０００８】
次に、クロック制御部４０６により、クロック発生部４０５で生成されたクロックを、クロック制御信号生成部４０４で生成されたクロックマスク信号を基にマスクすることにより、ウエイト中に対応して停止するクロックを生成する。
【０００９】
以上のようにして、ウエイト期間中にはクロックを停止することで、見かけ上のアクセス時間を延ばし、メモリ等のウエイト領域のアクセスを実現する。
【００１０】
【発明が解決しようとする課題】
しかしながら上記のような従来のデータ処理方法および装置においては、ＤＳＰやマイコンのメモリ等を介した処理速度の高速化に伴って、メモリ等へのアクセス処理時間に対して、さらに短縮化が要求され、特に、ウエイト数制御部４０３を起動する信号の生成までの処理速度が、ボトルネックとなり、上記のようなＤＳＰやマイコンの処理速度の高速化を妨げる要因となっているという問題点を有していた。
【００１１】
本発明は、上記従来の問題点を解決するもので、ＤＳＰやマイコン等のデータ処理時のメモリ等へのアクセス処理時間を、より短縮化することができ、ウエイト数制御部の起動信号の生成までの処理速度をさらに高速化することができるデータ処理方法および装置を提供する。
【００１２】
【課題を解決するための手段】
上記の課題を解決するために本発明の請求項１に記載のデータ処理方法は、ＤＳＰやマイコン等によるデータ処理を、それらの周辺素子として接続されるメモリ等を介在させて実行するデータ処理方法であって、前記メモリ等に対するアクセスポイントのアドレスを指し示すアドレス信号、および前記アドレスへのアクセス状態を示すアクセス信号を生成するアドレス生成処理と、前記アドレス信号および前記アクセス信号から前記メモリ等のアクセス領域を指し示す信号を生成するアクセス領域信号生成処理と、前記メモリ等に対するアクセスのタイミング基準を得るためのクロックを発生するクロック発生処理と、前記メモリ等への複数サイクルによるアクセスの際の前記メモリ等のウエイトを制御するウエイト数制御処理と、前記ウエイト数制御処理により得られた前記メモリ等のウエイト数に対応して、前記クロックを停止操作する制御信号を生成するクロック制御信号生成処理と、前記アクセス領域信号生成処理により得られたアクセス領域信号に基いて、当該アクセスがウエイト領域であるのかノーウエイト領域であるのかを判定して、ウエイト領域であれば前記クロック制御信号生成処理により得られたクロック制御信号を選択し、ノーウエイト領域であればクロック制御を行わない信号を選択するウエイト制御判定処理と、前記ウエイト制御判定処理により選択された前記クロック制御信号生成処理によるクロック制御信号を基に、前記クロック発生処理によるクロックを実際に制御するクロック制御処理とを実行し、前記アドレス生成処理から前記アクセス領域信号生成処理までの処理と、前記ウエイト数制御処理から前記クロック制御信号生成処理までの処理とを、並列処理する方法としたことを特徴とする。
【００１３】
また、本発明の請求項２に記載のデータ処理方法は、請求項１に記載の前記ウエイト数制御処理として、カウンタ処理およびカウンタ数設定処理を実行するようにし、前記ウエイト制御判定処理で、前記クロック制御信号の選択と同時に、今回のアクセスがウエイト領域であればウエイト領域アクセス信号を生成し、この場合には、前記ウエイト領域アクセス信号に応じて前記カウンタ数設定処理を実行するとともに、前記今回のアクセスがノーウエイト領域であればノーウエイト領域アクセス信号を生成し、この場合には、前記ノーウエイト領域アクセス信号に応じて前記カウンタ数設定処理を実行し、前記カウンタ数設定処理を前記ウエイト領域アクセス信号に応じて実行した際には、前記カウンタ処理を起動して、前記カウンタ数設定処理の実行により設定されたカウンタ数をカウントする間、ウエイト中信号を生成し、前記カウンタ数設定処理を前記ノーウエイト領域アクセス信号に応じて実行した際には、前記カウンタ処理を起動して、クロック制御を行わない信号を生成する方法としたことを特徴とする。
【００１４】
また、本発明の請求項３に記載のデータ処理方法は、請求項２に記載のカウンタ処理をダウンカウンタ処理として実行するようにし、前記カウンタ数設定処理により設定するカウンタ数を、ウエイト数をｎ（ｎ＞１）とした場合ｎ−１とし、前記カウンタ処理でのカウンタ数をｎ−１とする方法としたことを特徴とする。
【００１５】
また、本発明の請求項４に記載のデータ処理方法は、請求項２に記載のカウンタ処理をアップカウンタ処理として実行するようにし、前記カウンタ数設定処理により設定するカウンタ数を０とし、前記カウンタ処理でのカウンタ数を、ウエイト数をｎ（ｎ＞１）とした場合ｎ−１とする方法としたことを特徴とする。
【００１６】
また、本発明の請求項５に記載のデータ処理方法は、請求項１に記載のアドレス生成処理、アクセス領域信号生成処理、ウエイト数制御処理、クロック制御信号生成処理およびウエイト制御判定処理として、それぞれ内容の異なる複数の処理を実行するようにし、前記ウエイト制御判定処理により、複数の異なるウエイト数の領域に同時アクセスが発生した場合、ウエイト数の最も長い領域のウエイト数で処理を行う複数ウエイト数処理を実行して、クロック制御信号を生成する方法としたことを特徴とする。
【００１７】
また、本発明の請求項６に記載のデータ処理方法は、請求項５に記載の前記各ウエイト数制御処理として、それぞれ内容の異なるカウンタ処理、およびそれぞれ内容の異なるカウンタ数設定処理を実行するようにし、前記各ウエイト制御判定処理で、それぞれ、前記クロック制御信号の選択と同時に、今回のアクセスがウエイト領域であればウエイト領域アクセス信号を生成し、この場合には、前記各ウエイト領域アクセス信号に応じて前記各カウンタ数設定処理を実行するとともに、前記今回のアクセスがノーウエイト領域であればノーウエイト領域アクセス信号を生成し、この場合には、前記各ノーウエイト領域アクセス信号に応じて前記各カウンタ数設定処理を実行し、前記各カウンタ数設定処理を前記各ウエイト領域アクセス信号に応じて実行した際には、前記各カウンタ処理を起動して、前記各カウンタ数設定処理の実行により設定された各カウンタ数をカウントする間、それぞれ異なるウエイト中信号を生成し、前記各カウンタ数設定処理を前記各ノーウエイト領域アクセス信号に応じて実行した際には、前記各カウンタ処理を起動して、それぞれクロック制御を行わない信号を生成する方法としたことを特徴とする。
【００１８】
また、本発明の請求項７に記載のデータ処理方法は、請求項６に記載の各カウンタ処理をダウンカウンタ処理として実行するようにし、前記各カウンタ数設定処理により設定するカウンタ数を、それぞれウエイト数をｎ（ｎ＞１）とした場合ｎ−１とし、前記各カウンタ処理でのカウンタ数をそれぞれｎ−１とする方法としたことを特徴とする。
【００１９】
また、本発明の請求項８に記載のデータ処理方法は、請求項６に記載の各カウンタ処理をアップカウンタ処理として実行するようにし、前記各カウンタ数設定処理により設定するカウンタ数をそれぞれ０とし、前記各カウンタ処理でのカウンタ数を、それぞれウエイト数をｎ（ｎ＞１）とした場合ｎ−１とする方法としたことを特徴とする。
【００２０】
また、本発明の請求項９に記載のデータ処理装置は、ＤＳＰやマイコン等によるデータ処理を、それらの周辺素子として接続されるメモリ等を介在させて実行するデータ処理装置であって、前記メモリ等に対するアクセスポイントのアドレスを指し示すアドレス信号、および前記アドレスへのアクセス状態を示すアクセス信号を生成するアドレス生成部と、前記アドレス信号および前記アクセス信号から前記メモリ等のアクセス領域を指し示す信号を生成するアクセス領域信号生成部と、前記メモリ等に対するアクセスのタイミング基準を得るためのクロックを発生するクロック発生部と、前記メモリ等への複数サイクルによるアクセスの際の前記メモリ等のウエイトを制御するウエイト数制御部と、前記ウエイト数制御部からの前記メモリ等のウエイト数に対応して、前記クロックを停止操作する制御信号を生成するクロック制御信号生成部と、前記アクセス領域信号生成部からのアクセス領域信号に基いて、当該アクセスがウエイト領域であるのかノーウエイト領域であるのかを判定して、ウエイト領域であれば前記クロック制御信号生成部からのクロック制御信号を選択し、ノーウエイト領域であればクロック制御を行わない信号を選択するウエイト制御判定部と、前記ウエイト制御判定部により選択された前記クロック制御信号生成部からのクロック制御信号を基に、前記クロック発生部からのクロックを実際に制御するクロック制御部とを備え、前記アドレス生成部から前記アクセス領域信号生成部までの動作と、前記ウエイト数制御部から前記クロック制御信号生成部までの動作とが、並列動作するよう構成したことを特徴とする。
【００２１】
また、本発明の請求項１０に記載のデータ処理装置は、請求項９に記載の前記ウエイト数制御部に、カウンタ部およびカウンタ数設定部を設け、前記ウエイト制御判定部を、前記クロック制御信号の選択と同時に、今回のアクセスがウエイト領域であればウエイト領域アクセス信号を生成して前記カウンタ数設定部に供給し、前記今回のアクセスがノーウエイト領域であればノーウエイト領域アクセス信号を生成して前記カウンタ数設定部に供給するよう構成するとともに、前記カウンタ数設定部が前記ウエイト領域アクセス信号を受けたときには、前記カウンタ数設定部に前記ウエイト領域アクセス信号に応じたカウンタ数を設定し、同時に前記カウンタ部を起動して、このカウンタ部から前記カウンタ数設定部のカウンタ数をカウントする間、ウエイト中信号を生成し、前記カウンタ数設定部が前記ノーウエイト領域アクセス信号を受けたときには、前記カウンタ数設定部に前記ノーウエイト領域アクセス信号に応じたカウンタ数を設定し、同時に前記カウンタ部を起動して、このカウンタ部からクロック制御を行わない信号を生成するよう構成したことを特徴とする。
【００２２】
また、本発明の請求項１１に記載のデータ処理装置は、請求項１０に記載のカウンタ部をダウンカウントするよう構成するとともに、前記カウンタ数設定部に設定するカウンタ数を、ウエイト数をｎ（ｎ＞１）とした場合ｎ−１とし、前記カウンタ部でのカウンタ数をｎ−１とするよう構成したことを特徴とする。
【００２３】
また、本発明の請求項１２に記載のデータ処理装置は、請求項１０に記載のカウンタ部をアップカウントするよう構成するとともに、前記カウンタ数設定部に設定するカウンタ数を０とし、前記カウンタ部でのカウンタ数を、ウエイト数をｎ（ｎ＞１）とした場合ｎ−１とするよう構成したことを特徴とする。
【００２４】
また、本発明の請求項１３に記載のデータ処理装置は、請求項９に記載のアドレス生成部、アクセス領域信号生成部、ウエイト数制御部、クロック制御信号生成部およびウエイト制御判定部を、それぞれ内容の異なる処理を実行する複数部により構成するとともに、前記ウエイト制御判定部により、複数の異なるウエイト数の領域に同時アクセスが発生した場合、ウエイト数の最も長い領域のウエイト数を基に、クロック制御信号を生成する複数ウエイト数処理部を設けた構成としたことを特徴とする。
【００２５】
また、本発明の請求項１４に記載のデータ処理装置は、請求項１３に記載の前記各ウエイト数制御部に、それぞれ内容の異なる処理を実行するカウンタ部、およびそれぞれ内容の異なる処理を実行するカウンタ数設定部を設け、前記各ウエイト制御判定部を、それぞれ、前記クロック制御信号の選択と同時に、今回のアクセスがウエイト領域であればウエイト領域アクセス信号を生成して、それぞれ前記各カウンタ数設定部に供給し、前記今回のアクセスがノーウエイト領域であればノーウエイト領域アクセス信号を生成して、それぞれ前記カウンタ数設定部に供給するよう構成するとともに、前記各カウンタ数設定部が前記ウエイト領域アクセス信号を受けたときには、前記各カウンタ数設定部に前記ウエイト領域アクセス信号に応じたカウンタ数をそれぞれ設定し、同時に前記各カウンタ部を起動して、この各カウンタ部から前記各カウンタ数設定部のカウンタ数をそれぞれカウントする間、それぞれウエイト中信号を生成し、前記各カウンタ数設定部が前記ノーウエイト領域アクセス信号を受けたときには、前記各カウンタ数設定部に前記ノーウエイト領域アクセス信号に応じたカウンタ数をそれぞれ設定し、同時に前記各カウンタ部を起動して、この各カウンタ部からクロック制御を行わない信号を生成するよう構成したことを特徴とする。
【００２６】
また、本発明の請求項１５に記載のデータ処理装置は、請求項１４に記載の各カウンタ部をダウンカウントするよう構成するとともに、前記各カウンタ数設定部に設定するカウンタ数を、それぞれウエイト数をｎ（ｎ＞１）とした場合ｎ−１とし、前記各カウンタ部でのカウンタ数をそれぞれｎ−１とするよう構成したことを特徴とする。
【００２７】
また、本発明の請求項１６に記載のデータ処理装置は、請求項１４に記載の各カウンタ部をアップカウントするよう構成するとともに、前記各カウンタ数設定部に設定するカウンタ数をそれぞれ０とし、前記各カウンタ部でのカウンタ数を、それぞれウエイト数をｎ（ｎ＞１）とした場合ｎ−１とするよう構成したことを特徴とする。
【００２８】
以上の方法および構成により、アドレス生成部からアクセス領域信号生成部までの処理と、ウエイト数制御部からクロック制御信号生成部までの処理を、並列に行うことができる。
【００２９】
【発明の実施の形態】
以下、本発明の実施の形態を示すデータ処理方法および装置について、図面を参照しながら具体的に説明する。
（実施の形態１）
本発明の実施の形態１のデータ処理方法および装置を説明する。
【００３０】
図１は本実施の形態１のデータ処理装置の構成を示すブロック図である。図１において、１０１はメモリ等のアドレスおよびそのアドレスへのアクセスを示すアクセス信号を生成するアドレス生成部、１０２はアドレス生成部１０１から出力されたアドレスおよびアクセス信号を基に、メモリ等のアクセス領域を指し示す信号を生成するアクセス領域信号生成部、１０３はメモリ等に対する複数サイクルによるアクセスのウエイトを制御するウエイト数制御部、１０４はウエイト数制御部１０３からの出力信号を基に、実際にクロックを操作する制御信号を生成するクロック制御信号生成部、１０５はアクセス領域信号生成部１０２からの出力信号を基に、今回のアクセスがウエイト領域であるのかノーウエイト領域であるのかを判定して、ウエイト領域であればクロック制御信号生成部１０４からの出力信号を選択し、ノーウエイト領域であればクロック制御を行わない信号を選択するウエイト制御判定部、１０６はメモリ等に対するアクセスのタイミング基準を得るためのクロックを発生するクロック発生部、１０７はクロック制御信号生成部１０４の出力信号を基に、実際にクロック発生部１０６から出力されたクロックに対して制御をかけるクロック制御部である。
【００３１】
以上のように構成されたデータ処理装置について、そのデータ処理方法を以下に説明する。
本実施の形態１のデータ処理方法は、まず、アドレス生成部１０１により、ソフトウエア等で発行された命令のデコードを行い、アクセスを行うメモリ等のアドレスおよびアクセス信号を生成する。次に、アクセス領域信号生成部１０２により、アドレス生成部１０１から出力されたアドレスおよびアクセス信号を基に、今回のアクセスがメモリ等のどの領域に対するものかを示す信号を生成する。
【００３２】
以上の処理と並列に、ウエイト数制御部１０３およびクロック制御信号生成部１０４の処理を行う。すなわち、メモリ等へのアクセスの有無に関わらずウエイト数制御部１０３を起動し、ウエイト中を示す信号を生成する。次に、ウエイト数制御部１０３の出力信号を基に、クロック制御信号生成部１０４で、クロック制御信号として、ウエイト領域のアクセス中にはクロックを停止するためのクロックマスク信号を生成する。
【００３３】
次に、ウエイト制御判定部１０５で、アクセス領域信号生成部１０２からのアクセス領域を示す信号を基に、今回のアクセスがウエイト領域であるのかノーウエイト領域であるのかを判定して、クロック制御信号として、ウエイト領域であればクロック制御信号生成部１０４からのクロックマスク信号を選択し、ノーウエイト領域であればクロック制御を行わない信号を選択する。
【００３４】
次に、クロック制御部１０７で、ウエイト制御判定部１０５で生成されたクロック制御信号を基に、クロック発生部１０６で生成されたクロックを制御して、ウエイト領域のアクセス中にはクロックマスク信号により停止するクロックを生成する。
【００３５】
以上の方法および構成により、メモリ等のアクセス信号生成の高速化が実現できる。
以上のような方法および構成では、処理の並列化を行うことでメモリ等のアクセス信号の生成の高速化が可能となる。
（実施の形態２）
本発明の実施の形態２のデータ処理方法および装置を説明する。
【００３６】
図２は本実施の形態２のデータ処理装置の構成を示すブロック図である。図２において、２０１はメモリ等のアドレスおよびそのアドレスへのアクセスを示すアクセス信号を生成するアドレス生成部、２０２はアドレス生成部２０１から出力されたアドレスおよびアクセス信号を基に、メモリ等のアクセス領域を指し示す信号を生成するアクセス領域信号生成部、２０３はメモリ等に対する複数サイクルによるアクセスのウエイトを制御するウエイト数制御部、２０３ａはカウンタ部、２０３ｂはカウンタ部２０３ａにウエイト数を設定するカウンタ数設定部、２０４はウエイト数制御部２０３からの出力信号を基に、実際にクロックを操作する制御信号を生成するクロック制御信号生成部、２０５はアクセス領域信号生成部２０２からの出力信号を基に、今回のアクセスがウエイト領域であるのかノーウエイト領域であるのかを判定して、ウエイト領域であればクロック制御信号生成部１０４からの出力信号を選択し、ノーウエイト領域であればクロック制御を行わない信号を選択するウエイト制御判定部、２０６はメモリ等に対するアクセスのタイミング基準を得るためのクロックを発生するクロック発生部、２０７はクロック制御信号生成部２０４の出力信号を基に、実際にクロック発生部２０６から出力されたクロックに対して制御をかけるクロック制御部である。
【００３７】
以上のように構成されたデータ処理装置について、そのデータ処理方法を以下に説明する。
本実施の形態２のデータ処理方法は、まず、アドレス生成部２０１により、ソフトウエア等で発行された命令のデコードを行い、アクセスを行うメモリ等のアドレスおよびアクセス信号を生成する。次に、アクセス領域信号生成部２０２により、アドレス生成部２０１から出力されたアドレスおよびアクセス信号を基に、今回のアクセスがメモリ等のどの領域に対するものかを示す信号を生成する。
【００３８】
以上の処理と並列に、ウエイト数制御部２０３およびクロック制御信号生成部２０４の処理を行う。まず初回処理は、カウンタ部２０３ａをダウンカウンタとした例で説明すると、メモリ等へのアクセスの有無に関わらずウエイト数制御部２０３中のカウンタ数設定部２０３ｂで、ウエイト数をｎ（ｎ＞１）とした場合ｎ−１を、カウンタ部２０３ａに設定した後に、カウンタ部２０３ａを起動し、ウエイト中を示す信号を生成する。この時、次回のカウント用に初期値であるｎ−１を再度設定する。次に、ウエイト数制御部２０３の出力信号を基に、クロック制御信号生成部２０４で、クロック制御信号として、ウエイト領域のアクセス中にはクロックを停止するためのクロックマスク信号を生成する。
【００３９】
次に、ウエイト制御判定部２０５で、アクセス領域信号生成部２０２からのアクセス領域を示す信号を基に、今回のアクセスがウエイト領域であるのかノーウエイト領域であるのかを判定して、クロック制御信号として、ウエイト領域であればクロック制御信号生成部２０４からのクロックマスク信号を選択し、ノーウエイト領域であればクロック制御を行わない信号を選択する。同時に、ウエイト領域のアクセスであればウエイト領域アクセス信号をウエイト数制御部２０３に返し、ノーウエイト領域のアクセスであればノーウエイト領域アクセス信号をウエイト制御部２０３に返す。
【００４０】
次に、クロック制御部２０７で、ウエイト制御判定部２０５で生成されたクロック制御信号を基に、クロック発生部２０６で生成されたクロックを制御して、ウエイト領域のアクセス中にはクロックマスク信号により停止するクロックを生成する。
【００４１】
２回目以降の処理は、ウエイト制御判定部２０５から返って来た信号がウエイト領域アクセス信号であれば、ウエイト数制御部２０３中のカウンタ部２０３ａにより、カウンタ数設定部２０３ｂに設定済みのカウント数ｎ−１を初期値にして以降のカウントを行い、カウンタ数設定部２０３ｂの出力値をカウンタ部２０３ａの入力とすることでカウントを進め、カウンタ部２０３ａの出力が０となるまでウエイト中を示す信号を生成する。カウンタ数が０となった後は前記初回処理から再度処理を始める。
【００４２】
ウエイト制御判定部２０５から返って来た信号がノーウエイト領域アクセス信号であれば、前記初回処理と同様の処理を繰り返す。以下は前記初回処理と同様の処理を行う。
【００４３】
以上の方法および構成により、メモリ等のアクセス信号生成の高速化が実現できる。
以上のような方法および構成では、処理の並列化を行うことでメモリ等のアクセス信号の生成の高速化が可能となる。また、カウンタの設定値がｎ−１となることにより、カウンタのビット長の削減も可能となる。
【００４４】
また、本実施の形態において、カウンタ部２０３ａをダウンカウンタとして説明したが、これは一例であり、ウエイト数をｎとした場合、カウンタ部２０３ａの出力がｎ−１となるまでウエイト中を示す信号を生成することで、アップカウンタでの構成も可能となるように、通常のカウンタでの構成も可能であることは言うまでもない。
（実施の形態３）
本発明の実施の形態３のデータ処理方法および装置を説明する。
【００４５】
図３は本実施の形態３のデータ処理装置の構成を示すブロック図である。ここでは、ｍ（ｍ＞１）種類の複数アドレス処理の例として、簡単のためｍ＝３とし、ａ、ｂ、ｃの３種類で示している。
【００４６】
図３において、３０１ａ、３０１ｂ、３０１ｃはメモリ等のアドレスおよびそのアドレスへのアクセスを示すアクセス信号を生成するアドレス生成部、３０２ａ、３０２ｂ、３０２ｃは、それぞれアドレス生成部３０１ａ、３０１ｂ、３０１ｃから出力されたアドレスおよびアクセス信号を基に、メモリ等のアクセス領域を指し示す信号を生成するアクセス領域信号生成部、３０３はメモリ等に対する複数サイクルによるアクセスのウエイトを制御するウエイト数制御部、３０３ａａ、３０３ａｂ、３０３ａｃはカウンタ部、３０３ｂａ、３０３ｂｂ、３０３ｂｃは、それぞれカウンタ部３０３ａａ、３０３ａｂ、３０３ａｃにウエイト数を設定するカウンタ数設定部、３０４ａ、３０４ｂ、３０４ｃはウエイト数制御部３０３からの出力信号を基に、実際にクロックを操作する制御信号を生成するクロック制御信号生成部、３０５ａ、３０５ｂ、３０５ｃは、それぞれアクセス領域信号生成部３０２ａ、３０２ｂ、３０２ｃからの出力信号を基に、今回のアクセスがウエイト領域であるのかノーウエイト領域であるのかを判定して、ウエイト領域であれば、それぞれクロック制御信号生成部３０４ａ、３０４ｂ、３０４ｃからの出力信号を選択し、ノーウエイト領域であればクロック制御を行わない信号を選択するウエイト制御判定部、３０６はメモリ等に対するアクセスのタイミング基準を得るためのクロックを発生するクロック発生部、３０７はクロック制御信号生成部３０４ａ、３０４ｂ、３０４ｃの出力信号を基に、実際にクロック発生部３０６から出力されたクロックに対して制御をかけるクロック制御部、３０８は複数の異なるウエイト数の領域に同時アクセスが発生した場合、ウエイト数の最も長い領域のウエイト数で処理を行う複数ウエイト数処理部である。
【００４７】
以上のように構成された本実施の形態のデータ処理装置について、そのデータ処理方法を以下に説明する。
本実施の形態３のデータ処理方法は、まず、アドレス生成部３０１ａ、３０１ｂ、３０１ｃにより、ソフトウエア等で発行された命令のデコードを行い、アクセスを行うメモリ等のアドレスおよびアクセス信号を生成する。次に、アクセス領域信号生成部３０２ａ、３０２ｂ、３０２ｃにより、それぞれアドレス生成部３０１ａ、３０１ｂ、３０１ｃから出力されたアドレスおよびアクセス信号を基に、今回のアクセスがメモリ等のどの領域に対するものかを示す信号を生成する。
【００４８】
以上の処理と並列に、ウエイト数制御部３０３およびクロック制御信号生成部３０４ａ、３０４ｂ、３０４ｃの処理を行う。まず初回処理は、カウンタ部３０３ａａ、３０３ａｂ、３０３ａｃをそれぞれダウンカウンタとした例で説明すると、メモリ等へのアクセスの有無に関わらずウエイト数制御部３０３中のカウンタ数設定部３０３ｂａ、３０３ｂｂ、３０３ｂｃで、ウエイト数をｎ（ｎ＞１）とした場合ｎ−１を、カウンタ部３０３ａａ、３０３ａｂ、３０３ａｃに設定した後に、カウンタ部３０３ａａ、３０３ａｂ、３０３ａｃを起動し、ウエイト中を示す信号を生成する。この時、次回のカウント用に初期値であるｎ−１を再度設定する。次に、カウンタ部３０３ａａ、３０３ａｂ、３０３ａｃの出力信号を基に、クロック制御信号生成部３０４ａ、３０４ｂ、３０４ｃで、クロック制御信号として、ウエイト領域のアクセス中にはクロックを停止するためのクロックマスク信号を生成する。
【００４９】
次に、ウエイト制御判定部３０５ａ、３０５ｂ、３０５ｃで、それぞれアクセス領域信号生成部３０２ａ、３０２ｂ、３０２ｃからのアクセス領域を示す信号を基に、今回のアクセスがウエイト領域であるのかノーウエイト領域であるのかを判定して、クロック制御信号として、ウエイト領域であればそれぞれクロック制御信号生成部３０４ａ、３０４ｂ、３０４ｃからのクロックマスク信号を選択し、ノーウエイト領域であればクロック制御を行わない信号を選択する。同時に、ウエイト領域のアクセスであればウエイト領域アクセス信号をカウンタ数設定部３０３ｂａ、３０３ｂｂ、３０３ｂｃに返し、ノーウエイト領域のアクセスであればノーウエイト領域アクセス信号をカウンタ数設定部３０３ｂａ、３０３ｂｂ、３０３ｂｃに返す。
【００５０】
次に、複数ウエイト数処理部３０８で、複数の異なるウエイト数の領域に同時アクセスが発生した場合、ウエイト制御判定部３０５ａ、３０５ｂ、３０５ｃからの出力信号のうち、ウエイト数の最も長い領域のクロック制御信号を選択して出力する。
【００５１】
次に、クロック制御部３０７で、複数ウエイト数処理部３０８で生成されたクロック制御信号を基に、クロック発生部３０６で生成されたクロックを制御して、ウエイト領域のアクセス中にはクロックマスク信号により停止するクロックを生成する。
【００５２】
２回目以降の処理は、ウエイト制御判定部３０５ａ、３０５ｂ、３０５ｃから返って来た信号がウエイト領域アクセス信号であれば、ウエイト数制御部３０３中のカウンタ部３０３ａａ、３０３ａｂ、３０３ａｃにより、カウンタ数設定部３０３ｂａ、３０３ｂｂ、３０３ｂｃに設定済みのカウント数ｎ−１を初期値にして以降のカウントを行い、カウンタ数設定部３０３ｂａ、３０３ｂｂ、３０３ｂｃの出力値をカウンタ部３０３ａａ、３０３ａｂ、３０３ａｃの入力とすることでカウントを進め、カウンタ部３０３ａａ、３０３ａｂ、３０３ａｃの出力が０となるまでウエイト中を示す信号を生成する。カウンタ数が０となった後は前記初回処理から再度処理を始める。
【００５３】
ウエイト制御判定部３０５ａ、３０５ｂ、３０５ｃから返って来た信号がノーウエイト領域アクセス信号であれば、前記初回処理と同様の処理を繰り返す。以下は前記初回処理と同様の処理を行う。
【００５４】
以上の方法および構成により、メモリ等のアクセス信号生成の高速化が実現できる。
以上のような方法および構成では、処理の並列化を行うことでメモリ等のアクセス信号の生成の高速化が可能となる。また、複数の異なるウエイト数の領域に同時アクセスが発生した場合の処理も可能となる。
【００５５】
また、本実施の形態において、カウンタ部３０３ａａ、３０３ａｂ、３０３ａｃをダウンカウンタとして説明したが、これは一例であり、ウエイト数をｎとした場合、カウンタ部３０３ａａ、３０３ａｂ、３０３ａｃの出力がｎ−１となるまでウエイト中を示す信号を生成することで、アップカウンタでの構成も可能となるように、通常のカウンタでの構成も可能であることは言うまでもない。
【００５６】
なお、上記実施の形態ではメモリのアクセスを前提として説明したが、レジスタ等のような、ＤＳＰ、マイコン等のその他の資源に対しても同様である。このように上記実施の形態は本発明の説明を目的とするものであって、本発明の内容をそれらに限定するものではない。
【００５７】
【発明の効果】
以上のように本発明によれば、従来技術のデータ処理方法において、ウエイト数制御部を起動する信号の生成までの処理速度がボトルネックとなり、高速化を妨げる要因となっていたものを、ウエイト数制御部の起動をアクセス領域信号生成と並列に行うことにより、処理速度のボトルネックを解消することができる。
【００５８】
そのため、ＤＳＰやマイコン等のメモリ等へのアクセス処理時間をより短縮化することができ、ＤＳＰやマイコン等のデータ処理速度をさらに高速化することができる。
【００５９】
また、ＤＳＰやマイコン等のプロセッサにおいて、パイプラインの段数の増加を防ぐことができ、プロセッサの低消費電力化にも寄与することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１のデータ処理装置の構成を示すブロック図
【図２】本発明の実施の形態２のデータ処理装置の構成を示すブロック図
【図３】本発明の実施の形態３のデータ処理装置の構成を示すブロック図
【図４】従来のデータ処理装置の構成を示すブロック図
【符号の説明】
１０１　　アドレス生成部
１０２　　アクセス領域信号生成部
１０３　　ウエイト数制御部
１０４　　クロック制御信号生成部
１０５　　ウエイト制御判定部
１０６　　クロック発生部
１０７　　クロック制御部
２０１　　アドレス生成部
２０２　　アクセス領域信号生成部
２０３　　ウエイト数制御部
２０３ａ　　カウンタ部
２０３ｂ　　カウンタ数設定部
２０４　　クロック制御信号生成部
２０５　　ウエイト制御判定部
２０６　　クロック発生部
２０７　　クロック制御部
３０１ａ、３０１ｂ、３０１ｃ　　アドレス生成部
３０２ａ、３０２ｂ、３０２ｃ　　アクセス領域信号生成部
３０３　　ウエイト数制御部
３０３ａａ、３０３ａｂ、３０３ａｃ　　カウンタ部
３０３ｂａ、３０３ｂｂ、３０３ｂｃ　　カウンタ数設定部
３０４ａ、３０４ｂ、３０４ｃ　　クロック制御信号生成部
３０５ａ、３０５ｂ、３０５ｃ　　ウエイト制御判定部
３０６　　クロック発生部
３０７　　クロック制御部
３０８　　複数ウエイト数処理部
４０１　　アドレス生成部
４０２　　アクセス領域信号生成部
４０３　　ウエイト数制御部
４０４　　クロック制御信号生成部
４０５　　クロック発生部
４０６　　クロック制御部
【図１】
2004030479.tif 000003
【図２】
2004030479.tif 000004
【図３】
2004030479.tif 000005
【図４】
2004030479.tif 000006