(57)【要約】【課題】ＣＰＵとバスシステムを介して接続されるモジュールが複数ある場合でもレジスタアクセスを高速化する。【解決手段】ＣＰＵ１０がシステムバス３０を介して所定の機能を有する複数のモジュール４０と接続される情報処理システム１００でのレジスタアクセス方式であって、ＣＰＵとシステムバスの間には、ＣＰＵからモジュールのレジスタへのアクセスコマンドを受信してからモジュールへのレジスタアクセスを実行するレジスタアクセス制御部２０が備わり、このレジスタアクセス制御部は、ＣＰＵからのアクセスコマンドとしてリードコマンドを受信すると、モジュールの所定のレジスタにリードコマンドを発行して行われるレジスタリードの際に読み出されたリードデータのうち、最頻出のリードデータをＣＰＵに返信する。【選択図】図２
2008171335.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵ（ Central Processing Unit ）がシステムバスを介して所定の機能を有する複数のモジュールと接続される情報処理システムでのレジスタアクセス方式であって、
前記ＣＰＵと前記システムバスの間には、該ＣＰＵから前記モジュールのレジスタへのアクセスコマンドを受けてから前記モジュールへのレジスタアクセスを実行するレジスタアクセス制御部が備わり、
前記レジスタアクセス制御部は、前記ＣＰＵからの前記アクセスコマンドとしてリードコマンドを受信すると、前記モジュールの所定のレジスタに前記リードコマンドを発行して行われるレジスタリードの際に読み出されたリードデータのうち、最頻出のリードデータを前記ＣＰＵに返信することを特徴とするレジスタアクセス方式。
【請求項２】
前記レジスタリードの際に読み出された前記最頻出のリードデータを前記ＣＰＵに返信する際に、前記最頻出のリードデータが読み出されたモジュールに対応する識別子が付加されることを特徴とする請求項１に記載のレジスタアクセス方式。
【請求項３】
前記ＣＰＵは、前記レジスタリードを実行するに際して、前記複数のモジュールのうち、所望のモジュールを選択して前記レジスタリードを実行することを特徴とする請求項１または２に記載のレジスタアクセス方式。
【請求項４】
前記所望のモジュールは、同一の使用目的を有するモジュールであることを特徴とする請求項３に記載のレジスタアクセス方式。
【請求項５】
前記レジスタリードの際に、前記ＣＰＵと前記レジスタアクセス制御部のインターフェースの動作周波数が前記システムバスの動作周波数と略同一の場合、前記複数のモジュールへのレジスタアクセスを同時に並行して実行することを特徴とする請求項１〜４の何れか１項に記載のレジスタアクセス方式。
【請求項６】
前記レジスタリードの際に、前記システムバスの動作周波数の方が前記ＣＰＵと前記レジスタアクセス制御部のインターフェースの動作周波数より高い場合、前記複数のモジュールへのレジスタアクセスをシーケンシャルに実行することを特徴とする請求項１〜４の何れか１項に記載のレジスタアクセス方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置等に使用される大規模集積回路（ Large Scale Integration；ＬＳＩ ）を含む情報処理システムのシステムバス制御におけるレジスタアクセス方式に関し、特に、ＣＰＵ（ Central Processing Unit ）からレジスタアクセスをうけて、ＬＳＩに配置された複数のモジュールのレジスタを読み出し、効率的にＣＰＵに返すレジスタアクセスの制御方式に関する。
【背景技術】
【０００２】
一般的に、システムバスを介して、アプリケーションを実行すると共に外部からの割込みに対応した処理を行うＣＰＵと、所定の機能を有する各種ソフトウェア・ハードウェアの構成ユニットである複数のモジュールを備えるＬＳＩを含む情報処理システムでは、ＣＰＵがＬＳＩに備わる各モジュールの制御を実行する機能を有する。例えば、ＣＰＵは、アプリケーションの実行中における外部からの割込みに対応した処理として、ＬＳＩのシステムバスを介して接続されたモジュールを使用することによって、ある処理を行う場合、モジュール内のパラメータの初期設定を行ってから動作起動をかけ、動作終了後の割り込みを検知して、割り込み処理までを実行している。これらの処理は、具体的には、ＬＳＩのモジュール内のレジスタに対して、ＣＰＵからのライト・リードコマンドによって行われている。
【０００３】
ＣＰＵからＬＳＩのモジュールのレジスタにデータを書き込みたい場合、ＣＰＵは、ＣＰＵバス上にライトコマンドを発行し、それを受けたモジュールが指定されたアドレスのレジスタに指定されたパラメータでの書き込みをして、指定されたデータの書き込みが完了すると、ＣＰＵバスに書き込み完了を通知する信号を出力することで、ＣＰＵは、レジスタに指定されたパラメータを書き込むことができる。
【０００４】
ＣＰＵからモジュールのレジスタのデータを読み出したい場合、まず、ＣＰＵは、ＣＰＵバス上にリードコマンドを発行し、それを受けたモジュールが指定されたアドレスのレジスタのデータを読み出してＣＰＵバスに出力することで、ＣＰＵは、レジスタのデータを読み出すことができる。
【０００５】
この一連のシーケンスをレジスタリードといい、１つのレジスタを読み出しにかかる時間は、ＣＰＵがリードコマンドを発行してから、モジュールがリードコマンドを受け取り、当該リードコマンドを解釈し、指定されたアドレスのレジスタに格納されたデータを読み出して、リードデータをＣＰＵに渡すまでの時間を必要とする。
【０００６】
ＣＰＵが非常に高速な周波数で動作しているのに対し、ＬＳＩ側に備わるモジュールは、その１／１０程度の周波数で動作しているため、レジスタリードコマンドを発行しても、モジュールの応答が遅いため、ＣＰＵは、その間ずっと待機状態となり、モジュールの数が増えれば増えるほど、システムのスループットに影響を与えることになる。
【０００７】
このレジスタリードに要する時間は、モジュール数が少ない場合や、読み出すレジスタ数が少ない場合には、特に問題はなかったが、モジュール数が多くなってくると、レジスタリードに要する時間も比例して増加し、システムのスループットが低下するといった問題が発生してくる。
【０００８】
そこで、レジスタアクセスに要する時間を短縮させる発明として、特許文献１に、連続して転送されるデータを並列化してメモリセルへ書き込むことで、高速な書き込みを実現する半導体メモリへの書き込みを高速化する方法に関する発明が開示されている。
【特許文献１】特開平９−１５３２７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述の半導体メモリでは、連続して転送されるデータを並列化してメモリセルへ書き込むことで、高速な書き込みを実現しているが、読み出しについては言及されてなく、ＣＰＵとバスシステムを介して接続されるモジュールが複数ある場合に、レジストの読み出し時間の短縮を実現するには至らなかった。
【００１０】
そこで、本発明は、従来の半導体集積回路等のシステムバス制御におけるレジスタアクセス方式が有する上記問題点に鑑みてなされたものであり、本発明の目的は、ＣＰＵとバスシステムを介して接続されるモジュールが複数ある場合でもレジスタアクセスを高速化することの可能な、新規かつ改良されたレジスタアクセス方式を提供することである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明のある実施の態様（観点）によれば、ＣＰＵがシステムバスを介して所定の機能を有する複数のモジュールと接続される情報処理システムでのレジスタアクセス方式であって、ＣＰＵとシステムバスの間には、ＣＰＵからモジュールのレジスタへのアクセスコマンドを受けてからモジュールへのレジスタアクセスを実行するレジスタアクセス制御部が備わり、このレジスタアクセス制御部は、ＣＰＵからのアクセスコマンドとしてリードコマンドを受信すると、モジュールの所定のレジスタにリードコマンドを発行して行われるレジスタリードの際に読み出されたリードデータのうち、最頻出のリードデータをＣＰＵに返信することを特徴とするレジスタアクセス方式が提供される。
【００１２】
このような構成とすることにより、ＣＰＵは、全てのモジュールのレジスタアクセスを行わずに、レジスタの値を読み出すことができるので、レジスタリードに要する時間が短縮され、情報処理システム全体のスループットが向上する。
【００１３】
このとき、上記実施の態様において、レジスタリードの際に読み出された最頻出のリードデータをＣＰＵに返信する際に、最頻出のリードデータが読み出されたモジュールに対応する識別子が付加されることを特徴とする請求項１に記載のレジスタアクセス方式としてもよい。
【００１４】
このような構成とすることにより、ＣＰＵが最頻出のリードデータの出力元のモジュールを判別できるようになるので、情報処理システム全体のスループットをより向上させられるようになる。
【００１５】
このとき、上記実施の態様において、ＣＰＵは、レジスタリードを実行するに際して、複数のモジュールのうち、所望のモジュールを選択してレジスタリードを実行することとしてもよい。
【００１６】
このような構成とすることにより、読み出したい所望のモジュールだけを指定することで、無駄なリード時間がなくなるので、レジスタリードに要する時間がさらに短縮され、情報処理システム全体のスループットが向上する。
【００１７】
このとき、上記実施の態様において、所望のモジュールは、同一の使用目的を有するモジュールであることとしてもよい。
【００１８】
このような構成とすることにより、例えば、画像データ圧縮や画像再生等の同一の使用目的を有するモジュールだけを指定することで、レジスタリードをするに際して、同一の処理を施すので、無駄なリード時間がなくなり、レジスタリードに要する時間がさらに短縮され、情報処理システム全体のスループットが向上する。
【００１９】
このとき、上記実施の態様において、レジスタリードの際に、ＣＰＵとレジスタアクセス制御部のインターフェースの動作周波数がシステムバスの動作周波数と略同一の場合、複数のモジュールへのレジスタアクセスを同時に並行して実行することとしてもよい。
【００２０】
このような構成とすることにより、外部ＣＰＵ Ｉ／Ｆと内部システムバスの周波数差がない場合には、各レジスタへのアクセスパスを接続されるモジュールの数の分持たせることにより、レジスタアクセスの際の同時読み出しが可能となり、高速なレジスタアクセスが実現される。
【００２１】
このとき、上記実施の態様において、レジスタリードの際に、システムバスの動作周波数の方がＣＰＵとレジスタアクセス制御部のインターフェースの動作周波数より高い場合、複数のモジュールへのレジスタアクセスをシーケンシャルに実行することとしてもよい。
【００２２】
このような構成とすることにより、内部システムバスの動作周波数が外部ＣＰＵ Ｉ／Ｆの動作周波数より高い場合、各レジスタへのアクセスは並列でなく、シーケンシャルに読み出しても十分高速であるため、レジスタＩ／Ｆをモジュールの数だけもつ必要がなくなり、ゲート規模の拡大を必要最小限に止めることが可能となる。
【発明の効果】
【００２３】
以上説明したように本発明によれば、ＣＰＵがＬＳＩに備わる所定の機能を有する複数のモジュールの制御を実行する情報処理システムにおいて、全てのモジュールのレジスタにＣＰＵがアクセスしなくても、これらのモジュールのレジスタのリードを実行できるようになる。このため、レジスタアクセスにかかる時間を短縮可能とし、特に、同一処理を行うモジュールが複数個搭載されているような場合において、レジスタアクセスに要する時間を短縮できる。
【発明を実施するための最良の形態】
【００２４】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２５】
まず、本発明のレジスタアクセス方式の第１の実施の形態の概略全体構成について、図面を使用しながら説明する。図１は、本実施の形態のレジスタアクセス方式を取り入れた情報処理システムの概略基本構成図を示すブロック図である。
【００２６】
本実施の形態のレジスタアクセス方式は、画像処理装置等に使用される情報処理システム１００のシステムバス制御に際して使用される。本実施の形態のレジスタアクセス方式が使用される情報処理システム１００では、ＣＰＵ１０に制御されるＬＳＩ５０にレジスタアクセス制御部２０、システムバス３０、および所定の機能を有する複数のモジュール４０（本実施の形態では、Ｍ１〜Ｍ８の８個）が備わる。ＬＳＩ５０に備わる各モジュール４０は、レジスタアクセス制御部２０およびシステムバス３０を介してＣＰＵ１０に接続されている。
【００２７】
ＣＰＵ１０は、ＬＳＩ１００を備える画像処理装置等の装置の各種情報処理を行うために、不図示のプログラムメモリに格納された各種処理プログラムのアプリケーションを実行する。また、外部からの割込みに対応した処理を行うための各モジュール４０にレジスタアクセスを実行する。
【００２８】
ＣＰＵ１０は、ＬＳＩ５０に備わる各モジュール４０へレジスタアクセスを行う場合、まず、レジスタアクセス制御部２０にレジスタアクセスするための書き込み（ライト）または読み込み（リード）のアクセスコマンドを発行する。
【００２９】
レジスタアクセス制御部２０は、ＣＰＵ１０からのレジスタアクセスを処理する。すなわち、ＣＰＵ１０からのコマンドを解析して、当該解析結果に基づいたコマンドに応じた動作を各モジュール４０に対して行う。当該コマンド解析に際して、コマンドがライトであれば、ＣＰＵ１０から受信したライトデータを各モジュール４０に対して出力する。もし、コマンドがリードであれば、各モジュール４０から読み出したリードデータをＣＰＵ１０に対して出力する。
【００３０】
次に、本実施の形態のレジスタアクセス方式を取り入れた情報処理システムに含まれるレジスタアクセス制御部の構成について、図面を使用しながら説明する。図２は、本実施の形態のレジスタアクセス方式を取り入れた情報処理システムに含まれるレジスタアクセス制御部の構成を示すブロック図である。
【００３１】
レジスタアクセス制御部２０は、コマンド受信部２１、制御部２２、アドレステーブル２３、コマンド発行部２４、メモリ２５、比較部２６を含む構成である。
【００３２】
コマンド受信部２１は、ＣＰＵ１０からのコマンドとしてリードコマンドまたはライトコマンドを受け取って、当該コマンドを制御部２２に送信する機能を有する。
【００３３】
制御部２２は、コマンド受信部２１から受信したコマンドを解析して、内部処理を行う機能を有する。また、制御部２２は、その解析結果を元に、どのモジュール４０にアクセスするかの判定をする。当該判定をする際に、外部からの割込みに対応するターゲットとなるモジュール４０のアドレスが記載されているアドレステーブル２３を参照する。
【００３４】
アドレステーブル２３は、各モジュール４０のレジスタのアドレスが格納されており、制御部２２からの命令を受けて、外部からの割込みに対応するターゲットとなるモジュール４０のアドレスが制御部２２に示される。
【００３５】
コマンド発行部２４は、制御部２２で解析されたコマンドを受け、リードコマンドで指定されたモジュール４０のアドレスに対し、リードコマンドをシステムバス３０に発行する機能を有する。
【００３６】
メモリ２５は、外部からの割込みに対応するターゲットとなるモジュール４０からのリードデータを一時的に記憶しておくＲＡＭ（ Random Access Memory ）等の一時記憶手段である。本実施の形態では、各モジュール４０（Ｍ１〜Ｍ８）ごとにそれぞれ対応するように８つのメモリ２５（ｍ１〜ｍ８）が設けられている。換言すると、レジスタアクセス制御部２０に設けられるメモリ２５は、ＬＳＩ５０に設けられる各モジュール４０に対応するように、それぞれ設置されるので、モジュールの数に応じて、メモリ２５の数も変更される。
【００３７】
比較部２６は、これらのメモリ群２５に一時的に格納されている各データを比較して、所望のデータを抽出して制御部２２に出力する機能を有する。なお、比較部２６での所望のデータの抽出動作については、後述する。
【００３８】
このような構成のレジスタアクセス制御部２０では、ＣＰＵ１０は、レジスタアクセス制御部２０に対してリードコマンドを発行した場合には、ＣＰＵ１０からのリードコマンドを受信したコマンド受信部２１は、受信したリードコマンドのアドレスおよびコマンドの内容を制御部２２に送信する。
【００３９】
制御部２２は、ＣＰＵ１０で発行されたリードコマンドで指定されたアドレスから、外部からの割込みに対応するターゲットとなるモジュール４０のアドレスをアドレステーブル２３から参照し、リードコマンドであることをコマンド発行部２４へ通知する。
【００４０】
コマンド発行部２４は、制御部２２からのコマンドを受け、リードコマンドで指定されたアドレスに対し、リードコマンドをシステムバス３０に発行する。
【００４１】
システムバス３０は、ターゲットとなる各モジュール４０のレジスタアクセスを行い、アクセス先のモジュール４０の読み出されたデータをレジスタアクセス制御部２０に送信する。
【００４２】
レジスタアクセス制御部２０は、システムバス３０を介して各モジュール４０（ Ｍ１〜Ｍ８ ）から受信したリードデータを、各モジュール４０（ Ｍ１〜Ｍ８ ）に対応するメモリ２５（ ｍ１〜ｍ８ ）に一時的に格納する。
【００４３】
その後、全てのモジュール４０（ Ｍ１〜Ｍ８ ）からのリードデータが各メモリ２５（ ｍ１〜ｍ８ ）に格納されたら、比較部２６は、これらのメモリ２５（ ｍ１〜ｍ８ ）に格納されたデータをチェックして、同一のリードデータである数が最も多い値すなわち最頻出のリードデータを抽出して制御部２２に出力する。
【００４４】
制御部２２は、当該最頻出のリードデータをＣＰＵ１０からのリードコマンドの読み出し値（リードデータ）として、ＣＰＵ１０に出力する。
【００４５】
このように、本実施の形態では、ＣＰＵ１０から各モジュール４０のレジスタとアクセスするに際して、ＣＰＵ１０は、全てのモジュール４０のレジスタアクセスを行わずに、レジスタの値を読み出すことができる。このため、レジスタリードに要する時間が短縮され、本実施の形態のレジスタアクセス方式を使用する情報処理システム全体のスループットを向上させる。
【００４６】
次に、本実施の形態のレジスタアクセス方式を使用することによるレジスタアクセスのタイミングの従来例との変化について、図面を使用しながら説明する。図３は、従来例におけるレジスタアクセス方式によるレジスタアクセスのタイミング図であり、図４は、本実施の形態のレジスタアクセス方式によるレジスタアクセスのタイミング図である。なお、図３および図４に示す信号名に付加されて識別子の（ｃ）は、ＣＰＵ Ｉ／Ｆ( 外部ＣＰＵとＬＳＩのインターフェース )の信号線を意味し、（ｓ）は、ＬＳＩ内部のシステムバスの信号線を意味する。
【００４７】
図３に示す実施例として、ＣＰＵは、アクセス先のモジュールとして４つのモジュール( Ｍ１〜Ｍ４ )へのレジスタリードを直接行うケースを挙げる。
【００４８】
まず、ＣＰＵは、レジスタリードコマンドをＣＰＵ Ｉ／Ｆ上に出力する(Ｔ１サイクル)。
【００４９】
Ｔ１サイクルでは、コマンドアドレス信号cmd/adrには、コマンドの内容（ライト・リード）とアドレスＡ１が出力されると同時に、ＣＰＵは、コマンドアドレス信号cmd/adrの内容が確定値であることを示すコマンド確定信号validoを１（ High ）にしてアドレスを参照する。
【００５０】
次に、ＬＳＩは、ＣＰＵ Ｉ／Ｆ上のコマンドをラッチ(記憶保持)する(Ｔ２サイクル)。当該Ｔ２サイクルでは、ラッチした値を内部システムバスのアドレス信号adrにアドレスＡ１を出力する。そして、リードコマンドのときは、リード信号rdを１（ High ）にし、ライトのときは、不図示のライト信号wrを１（ High ）にする。
【００５１】
アドレスの値によって指定されたモジュールは、そのアドレスで示されるレジスタの値をリードデータ信号dataに出力すると同時に、データが確定値であることを示すリード確定信号rd＿rdyを１（ High ）にする(Ｔ４サイクル)。
【００５２】
最後に、システムバスは、モジュールからのリードデータをラッチして、ＣＰＵ Ｉ／Ｆのコマンドアドレス信号cmd/adrにリードデータＤ１を出力し、ＣＰＵに対してリードデータが確定していることを通知するコマンド確定出力信号validiを１（ High ）にして、当該リードデータＤ１の値が確定していることを示す(Ｔ５サイクル)。
【００５３】
上述のＴ１〜Ｔ６の一連のサイクルを各モジュールごとに４回繰り返すことによって、ＣＰＵは、４つのモジュール（Ｍ１〜Ｍ４）のレジスタを読み出すことができる。なお、図３に示す実施例では、２４サイクルを必要としている。
【００５４】
一方、本実施の形態のレジスタアクセス方式によるレジスタアクセスとして、４つのモジュール４０のレジスタの読み込みを実行した場合は、図４に示すように、従来と同様に、まず、ＣＰＵ１０がリードコマンド信号cmdを発行する(Ｔ１サイクル)。このときのアドレス(Ａｘ)は、従来例と異なり、モジュール４０のレジスタではなく、レジスタアクセス制御部２０を示すことになる。
【００５５】
また、Ｔ１サイクルでは、リードコマンド信号cmdには、アドレスＡｘが出力されると同時に、ＣＰＵ１０は、リードコマンド信号cmdの内容が確定値であることを示すコマンド確定信号validoを１（ High ）にしてアドレスを参照する。
【００５６】
レジスタアクセス制御部２０には、どのアドレスにアクセスされたら、どのモジュール４０のどのレジスタを参照するのかを指し示すアドレステーブル２３が備わり、このアドレステーブル２３は、予めＣＰＵ１０が設定する。
【００５７】
レジスタアクセス制御部２０は、ＣＰＵ１０が指定したアドレスＡｘをアドレステーブル２３から参照し、モジュール４０のレジスタアドレスをシステムバス３０のアドレス信号adrに出力する(Ｔ２サイクル)。
【００５８】
この図４に示すタイミング図では、アドレス信号adrには、Ａ１〜Ａ４と記載しているが、これは、レジスタアクセスを高速化するために、レジスタアクセス制御部２０から、各モジュール４０（Ｍ１〜Ｍ４）へのレジスタＩ／Ｆとなるアクセスパスは、モジュール毎に有していることを意味する。すなわち、レジスタアクセス制御部２０から各モジュール４０（Ｍ１〜Ｍ４）へのレジスタＩ／Ｆとなるアクセスパスがモジュール毎に設けられていることより、複数のモジュール４０（Ｍ１〜Ｍ４）へのレジスタアクセスが同時に実行されることを示す。
【００５９】
リードコマンドを受信した各モジュール４０（Ｍ１〜Ｍ４）は、アドレスが指し示すレジスタの値をシステムバス３０のリードデータ信号dataに出力して、リードデータＤ１〜Ｄ４が確定値であることを示すために、リード確定信号rd＿rdyを１（ High ）にする(Ｔ４サイクル)。
【００６０】
レジスタアクセス制御部２０は、各モジュール４０（Ｍ１〜Ｍ４）からのレジスタリードデータＤ１〜Ｄ４を取り込み、それぞれの値を比較し、一致した数の多い値Ｄｘを代表値として、ＣＰＵ Ｉ／Ｆに出力し、ＣＰＵ１０に対してリードデータＤｘが確定していることを通知するコマンド確定出力信号validiを１（ High ）にして、当該リードデータＤｘの値が確定していることを示す(Ｔ５サイクル)。
【００６１】
この例では、４つのモジュール４０（Ｍ１〜Ｍ４）から読み出したリードデータの値が全て一致したことを前提としているが、このときレジスタアクセスに必要なサイクル数は、最小の６サイクルとなっている。
【００６２】
もし、４つのモジュール４０（Ｍ１〜Ｍ４）のうち、３つのモジュール４０のリードデータが一致しており、１つだけが異なる場合は、最初にＣＰＵ１０に返す値は、３つのモジュール４０が出力したリードデータ、換言すると最頻出のリードデータとなる。
【００６３】
このとき、リードデータＤｘがどのモジュール４０（Ｍ１〜Ｍ４）からの出力かをＣＰＵ１０が識別できるようにするために、リードデータＤｘにモジュール識別子を付加させてから、ＣＰＵ１０に伝達する。ＣＰＵ１０は、当該モジュール識別子の値を元に、未読の残りの１つのモジュール４０のレジスタを読み出すことで、全てのモジュール４０（Ｍ１〜Ｍ４）のレジスタを読み出したことになる。この場合、必要なサイクル数は、６サイクルが２回で１２サイクルとなる。なお、その際に、ＣＰＵ１０内での判断処理のオーバーヘッドは、除くものとする。
【００６４】
このように、本実施の形態のレジスタアクセス方式では、システムバス３０を介してＣＰＵ１０と接続されている各モジュール４０（Ｍ１〜Ｍ４）がデータ圧縮機能等の同一の機能を有するモジュールの比率が大きい程、レジスタリードに要する時間を短縮することができる。すなわち、本実施の形態のレジスタアクセス方式では、ＣＰＵ１０とシステムバス３０を介して接続される複数のモジュール４０の機能が全て同一であれば、これらのモジュール４０を同時に動作させることによって、読み出されるデータも同じ時刻で同じ値が読み出されるので、レジスタリードに要する時間の短縮の効果が最大限に得られる。
【００６５】
また、ＣＰＵ１０は、レジスタリードを実行するに際して、各モジュール４０のうち、所望のモジュール４０として例えば、画像データ圧縮や画像再生等の同一の使用目的を有するモジュール４０を選択する。このため、ＣＰＵ１０がレジスタリードを実行するに際して、同一の処理を施すので、無駄なリード時間がなくなり、レジスタリードに要する時間がさらに短縮され、情報処理システム全体のスループットが向上する。
【００６６】
さらに、図４に示す本実施の態様のレジスタアクセス方式では、レジスタリードの際に、外部ＣＰＵ Ｉ／Ｆの動作周波数が内部システムバス３０の動作周波数と略同一であるので、複数のモジュール４０へのレジスタアクセスを同時に並行して実行する。
【００６７】
このように、外部ＣＰＵ Ｉ／Ｆと内部システムバス３０の周波数差がない場合には、各レジスタへのアクセスパスをＣＰＵ１０とシステムバス３０を介して接続させるモジュール４０の数の分だけ持たせることによって、レジスタアクセスの際の同時読み出しが可能となり、高速なレジスタアクセスが実現される。
【００６８】
次に、本実施の形態のレジスタアクセス方式におけるレジスタアクセス制御部での比較処理について図面を使用しながら説明する。図５は、本実施の形態のレジスタアクセス方式に含まれるレジスタアクセス制御部における比較処理の動作説明図である。
【００６９】
図５では、モジュール４０（Ｍ１〜Ｍ４）のリードデータがこれらモジュール４０（Ｍ１〜Ｍ４）に対応するメモリ２５（ｍ１〜ｍ４）に格納された状態を示す。ここでは、モジュールＭ１、Ｍ２、Ｍ４に対応するメモリｍ１、ｍ２、ｍ４が１６進数で0x1234＿5678という値が格納され、モジュールＭ３に対応するメモリｍ３は、0x1234＿0000という値が格納されているものとする。
【００７０】
まず、モジュールＭ１〜Ｍ４に対応したメモリｍ１〜ｍ４に格納されたリードデータが比較部２６に入力され、これらリードデータの比較処理が行われる。当該比較処理では、具体的には、同じ値が最も多いリードデータ、すなわち最頻出のリードデータが抽出される。この例では、0x1234＿5678が３つのモジュール４０（Ｍ１、Ｍ２、Ｍ４）に対応するメモリ２５（ｍ１、ｍ２、ｍ４）から出力され、0x1234＿0000が１つのモジュールに対応するメモリ２５（ｍ３）から出力されているので、比較部２６の制御部２２への出力は、0x1234＿5678となる。
【００７１】
また、比較部２６から最頻出のリードデータを出力するに際して、比較部２６は、どのモジュールからの出力かを示すためのモジュール識別子１、２、４を付加する。これらモジュール識別子１、２、４を付加したリードデータを比較部２６から制御部２２に出力し、当該リードデータをＣＰＵ１０へ送信するリードデータとする。
【００７２】
このように、比較部２６で抽出された最頻出のリードデータに当該モジュール識別子１、２、４を付加することによって、ＣＰＵ１０が当該最頻出のリードデータの出力元のモジュール４０を判断できるようになるので、本実施の形態のレジスタアクセス方式を使用する情報処理システム全体のスループットを向上させる。
【００７３】
上述した本実施の形態のレジスタアクセス方式を使用した情報処理の実際の適用例を挙げると、ＬＳＩに搭載するモジュールとして画像圧縮モジュールを複数個配置して、これらの画像圧縮モジュールを並列で同時に画像データの圧縮処理をするようなケースが考えられる。このように複数の画像圧縮モジュールを使って、複数の画像データを圧縮するような場合に、圧縮処理を同時に開始すると、これら圧縮処理が終了するのもほぼ同時となる。従って、画像圧縮モジュールの動作状態を表すステータスレジスタを読み出すと、全てのモジュールから同じ値が出力されることが多い。このようなケースにおいて、本実施の形態のレジスタアクセス方式のような複数のモジュールのレジスタを一括で読み出せる効果が大きい。
【００７４】
次に、本実施の形態におけるレジスタアクセス方式によるレジスタアクセス動作について、図面を使用しながら説明する。図６は、本実施の形態におけるレジスタアクセス方式によるレジスタリードの動作フロー図である。
【００７５】
まず、ＣＰＵ１０が動作させたいモジュール４０の初期パラメータをレジスタ設定する（工程Ｓ１０）。
【００７６】
次に、ＣＰＵ１０は、起動コマンドを発行してモジュール４０を起動させて、当該モジュール４０を動作状態にする（工程Ｓ１１）。モジュール４０を動作状態にした後、モジュール４０からの割り込みの発生の有無の判別をする状態で待機する（工程Ｓ１２）。工程Ｓ１２では、モジュール４０からの割り込みを検出して、モジュール４０の動作が完了すると、ＣＰＵ１０に割り込みが出力される。なお、工程Ｓ１２でモジュール４０からの割り込みを検出されない場合は、再度、工程Ｓ１２のモジュール４０からの割り込みの有無の判別を行う。
【００７７】
工程Ｓ１２でモジュール４０からの割り込みを検出すると、ＣＰＵ１０は、当該割り込みをトリガにして、各モジュール４０のレジスタの読み出しを開始して、当該モジュール４０のレジスタのステータスを確認する（工程Ｓ１３）。その後、全てのモジュール４０のレジスタの読み出しが完了したか否かを判別し（工程Ｓ１４）、読み終えた場合は、レジスタアクセス処理を終了してから、当該レジスタアクセス処理がリセットされる。一方、工程Ｓ１４でまだ読み出しが実行されていないモジュール４０があると検出された場合は、工程Ｓ１３に戻って、再度レジスタ読み出しを行う。
【００７８】
次に、本実施の形態のレジスタアクセス方式でＣＰＵ Ｉ／Ｆの動作周波数より、システム内部の動作周波数が高い場合でのレジスタアクセスについて、図面を使用しながら説明する。図７は、本実施の形態のレジスタアクセス方式でＣＰＵ Ｉ／Ｆの動作周波数より、システム内部の動作周波数が高い場合でのレジスタアクセスのタイミング図である。なお、図７に示す信号名に付加されて識別子の（ｃ）は、ＣＰＵ Ｉ／Ｆ( 外部ＣＰＵとＬＳＩのインターフェース )の信号線を意味し、（ｓ）は、ＬＳＩ内部のシステムバスの信号線を意味する。
【００７９】
図４に示す本実施の形態のレジスタアクセス方式によるレジスタアクセスのタイミング図では、ＣＰＵ１０からアドレスが発行されたサイクルを起点として、リードデータがＣＰＵ１０に返ってくるまでサイクルに要する時間をレスポンスタイムと定義すると、図４に示すレジスタアクセスのタイミング図では、Ｔ１からＴ５までの４サイクルがレスポンスタイムとなる。すなわち、図４に示すレジスタアクセスのタイミング図では、ＣＰＵ Ｉ／Ｆの動作周波数とＬＳＩ内部のシステムバスの動作周波数の両者の動作周波数が同じ場合には、ＣＰＵ１０からのリードリクエスト（Ｔ１）に対するリードデータの返答（Ｔ５）までは、４サイクルとなる。このレスポンスタイムの値は、ＬＳＩ内部のシステムバスの信号線であるリード信号(s)rdが１になってから、リード確定信号(s)rd＿rdy が１になるまでのシステムバスのリード遅延に依存する。このとき、ＣＰＵ Ｉ／Ｆからのレジスタアクセスを受けて、レジスタアクセス制御部２０は、同時に複数（４つ）のモジュール４０に対してアドレスを出して、同時に複数（４つ）のモジュール４０からリードデータを受けて、複数（４つ）のモジュール４０へのレジスタアクセスを行っている。すなわち、４つのモジュール４０にレジスタアクセスを同時にするに際して、それぞれのアクセスパスが必要になってくる。このため、ＬＳＩ５０のゲート規模は、所定の大きさ、換言すると各モジュールごとに要するレジスタＩ／Ｆとなるアクセスパスの占める容積の分だけ余分な大きさを必要とする。
【００８０】
それに対して、図７に示すレジスタアクセスのタイミング図では、ＣＰＵ Ｉ／Ｆの動作周波数より、システム内部の動作周波数の方が高いので、各モジュール４０に対して、同時にレジスタアクセスを行わずに、各モジュール４０の１つずつシーケンシャルにレジスタアクセスを行っても、レスポンスの遅延は、殆ど増加しない。例えば、図７に示すような周波数比が４倍のケースの場合でも、レスポンスの遅延は、１サイクル増加しただけである。このように、図７に示すレジスタアクセスのタイミング図では、ＬＳＩ内部のシステムバスの動作周波数がＣＰＵ Ｉ／Ｆの動作周波数より４倍高い場合を例にしているが、当該システムバスのリード信号(s)rdが１になってからリード確定信号(s)rd＿rdy が１になるまでのシステムバスのリード遅延に依存するレスポンスタイムで示されるリードサイクルを見ると、４回シーケンシャルに実行されている。すなわち、システムバスとＣＰＵ Ｉ／Ｆバスの動作周波数が同一の場合は、並列アクセス回路を設けない限り、１つのマスタのみしかアクセスできないが、システムバスとＣＰＵ Ｉ／Ｆバスの動作周波数の差が４倍になると、並列アクセス回路を設けなくても、アクセスできるマスタの数が４倍に増やせるようになる。また、同様にして、周波数差が２倍なら２マスタ、８倍なら８マスタにアクセス可能となる。
【００８１】
このように、ＬＳＩ５０の内部システムバス３０の動作周波数が外部ＣＰＵ Ｉ／Ｆの動作周波数より高い場合は、図７に示すＴ１からＴ６までの５サイクルがレスポンスタイムとなり、図４に示す場合と比べて、レスポンスの遅延（増加量）が殆どない。すなわち、各モジュール４０のレジスタへのアクセスは、並列しての読み出しでなく、シーケンシャルに読み出しても十分高速でアクセス可能なため、レジスタＩ／Ｆをモジュール４０の数だけ持つ必要がなくなり、ＬＳＩ５０のゲート規模を必要最小限に止めることができる。すなわち、内部システムバス３０の動作周波数が、ＣＰＵ Ｉ／Ｆの動作周波数より高い場合に、各モジュール４０のレジスタへシーケンシャルにアクセスを行っても、レスポンス遅延がなく、ゲート規模も増加しない効果が得られる。
【００８２】
以上説明したように、本実施の形態のレジスタアクセス方式では、ＣＰＵ１０からのレジスタアクセス命令を受けて、各モジュール４０のレジスタへアクセスをするに際して、レジスタアクセス制御部２０を介してレジスタアクセスを実行する。その際に、レジスタアクセス制御部２０は、ＣＰＵ１０からのレジスタリード命令を受けると、モジュール４０の同一レジスタにリード命令を発行し、読み出された値が最も一致するモジュール４０の値をＣＰＵ１０に返す。このため、ＣＰＵ１０は、全てのモジュール４０のレジスタアクセスを行わずに、各モジュール４０のレジスタの値を読み出すことができるので、レジスタリードに要する時間が削減され、システム全体のスループットが向上する。
【００８３】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【００８４】
【図１】本発明の第１の実施形態のレジスタアクセス方式を取り入れた情報処理システムの概略基本構成図を示すブロック図である。
【図２】同実施の形態のレジスタアクセス方式を取り入れた情報処理システムに含まれるレジスタアクセス制御部の構成を示すブロック図である。
【図３】従来例におけるレジスタアクセス方式によるレジスタアクセスのタイミング図である。
【図４】同実施の形態のレジスタアクセス方式によるレジスタアクセスのタイミング図である。
【図５】同実施の形態のレジスタアクセス方式に含まれるレジスタアクセス制御部における比較処理の動作説明図である。
【図６】同実施の形態におけるレジスタアクセス方式によるレジスタリードの動作フロー図である。
【図７】同実施の形態のレジスタアクセス方式でＣＰＵ Ｉ／Ｆの動作周波数より、システム内部の動作周波数が高い場合でのレジスタアクセスのタイミング図である。
【符号の説明】
【００８５】
１０      ＣＰＵ
２０      レジスタアクセス制御部
２２      制御部
２５      メモリ
２６      比較部
３０      システムバス
４０      モジュール
５０      ＬＳＩ
１００    情報処理システム
【図１】
2008171335.tif 000003
【図２】
2008171335.tif 000004
【図３】
2008171335.tif 000005
【図４】
2008171335.tif 000006
【図５】
2008171335.tif 000007
【図６】
2008171335.tif 000008
【図７】
2008171335.tif 000009