(57)【要約】【課題】データの相関性が通常のメモリ空間より高い記憶領域に適用した場合にデータの整合性を維持しながらリクエストを処理できるようにしたリクエスト処理装置を提供する。【解決手段】グループが判別されると当該割当グループに属する通常リクエストを発行順に全て実行してから優先リクエストを実行する（Ｓ７〜Ｓ１０）。また、全てのグループに属さないと判別されたときには当該割当グループに属さない通常リクエストバッファ７内の同一アドレスに対するリクエストを消去する（Ｓ７，Ｓ１１，Ｓ１２）。【選択図】図９
2013242766.tif 000002
【特許請求の範囲】
【請求項１】
データ相関性が通常のメモリ空間よりも高い記憶領域に対するリクエストを実行する手段であり、要求される通常リクエストを発行順にバッファに実行待ちリクエストとして格納し当該格納された順番で前記記憶領域に対して前記実行待ちリクエストを実行する実行手段と、
前記通常リクエストに比較して優先順位の高い優先リクエストが発行されると当該優先リクエストが属するグループを予め定められた割当グループの中の何れに属するか判別する判別手段と、を備え、
前記実行手段は、前記優先リクエストを実行する際に、前記優先リクエストと同一グループに属すると前記判別手段により判別された前記実行待ちリクエストに関する処理を行うことを特徴とするリクエスト処理装置。
【請求項２】
請求項１記載のリクエスト処理装置において、
前記実行手段は、前記優先リクエストの属するグループが判別されると、当該グループに応じて予め定められた手順で処理を実行することを特徴とするリクエスト処理装置。
【請求項３】
請求項１または２記載のリクエスト処理装置において、
前記実行手段は、前記優先リクエストと同一グループに属する実行待ちリクエストを発行順に実行した後、前記優先リクエストを実行することを特徴とするリクエスト処理装置。
【請求項４】
請求項１〜３の何れかに記載のリクエスト処理装置において、
前記実行手段は、前記優先リクエストと同一グループに属する実行待ちリクエストのうちライトリクエストを発行順に実行した後に優先リクエストを実行し、リードリクエストをキャンセルすることを特徴とするリクエスト処理装置。
【請求項５】
請求項１〜４の何れかに記載のリクエスト処理装置において、
前記実行手段は、前記優先リクエストと同一グループに属する実行待ちリクエストのうちリードリクエストを発行順に実行した後に優先リクエストを実行し、ライトリクエストをキャンセルすることを特徴とするリクエスト処理装置。
【請求項６】
請求項１〜５の何れかに記載のリクエスト処理装置において、
前記実行手段は、前記優先リクエストが前記割当グループの何れにも属さないときには前記優先リクエストのみ実行し、前記実行待ちリクエスト中で前記優先リクエストと同一アドレス先に対する実行待ちリクエストをキャンセルすることを特徴とするリクエスト処理装置。
【請求項７】
請求項１〜６の何れかに記載のリクエスト処理装置において、
前記記憶領域は入出力機器のＩ／Ｏ空間を含む領域であり、
前記判別手段は、リクエスト先の前記Ｉ／Ｏ空間のアドレスで前記割当グループ中の何れのグループに属するか判別することを特徴とするリクエスト処理装置。
【請求項８】
請求項７記載のリクエスト処理装置において、
前記記憶領域は入出力機器のＩ／Ｏ空間を含む領域であり、
前記判別手段は、リクエスト先の前記Ｉ／Ｏ空間のアドレスが前記Ｉ／Ｏ空間のアドレス指定範囲に属しているか否かを判別することで前記割当グループ中の何れのグループに属するか判別することを特徴とするリクエスト処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リクエストを実行待ち用のバッファに確保し当該実行待ちリクエストを処理するリクエスト処理装置に関する。
【背景技術】
【０００２】
一般に、コンピュータ装置間などのアクセス制御の遅延を吸収し、データの整合性を維持するため、ＦＩＦＯ（First In First Out）などのバッファを用いる方法がある。他方リアルタイム性を重視するシステムでは、ＦＩＦＯの順番どおりに実行待ちリクエストを実行していては、システムが要求する応答時間を守れなくなる場合がある。
【０００３】
このリアルタイム要求に応えるためＦＩＦＯの順番を遵守することなく、優先度の高い新しいリクエストを最優先して実行する方法がある（例えば、特許文献１参照）。しかしながら、優先リクエストと実行内容が相互干渉するリクエストがＦＩＦＯの中に存在する場合、そのまま実行するとデータの不整合を生じたり、データ処理の効率低下を生じたりする虞がある。また、優先して実行されたリクエストと同一アドレス、もしくは、関連性のあるアドレスの実行待ちリクエストをキャンセルすることで、古い命令を実行しない方法もある（例えば、特許文献２参照）。また、プロセッサの命令実行順序を変更するための手法として、命令実行効率や処理速度を上げるため、発行したリクエストの順序を遵守することなく命令を実行する所謂アウトオブオーダ実行と称される手法もある。この方法を採用すると、リクエスト間に相関性がないことを予め把握した上でリクエストの実行順序を変更できるため、データの整合性を確保できる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−２８９１８１号公報
【特許文献２】特公平０３−２６４１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
通常のメモリ空間では、各アドレスに記憶されるデータ間に相関性はなく、あるアドレスにデータを読み書きしたとしても他のアドレスのデータが変化することはない。したがってデータ依存性がないため前述した従来技術の手法を適用できる。
【０００６】
しかしながら、例えば入出力機器の制御レジスタ等に対応して設けられるＩ／Ｏ空間等の記憶領域の場合、当該記憶領域内のデータ間に相関性が存在することもあり、この読み書き順序、読み書き回数等に応じて整合性が得られなくなることがある。そのため、特許文献２記載の技術のように、関連性のある実行待ちリクエストをキャンセルする方法を当該記憶領域に適用すると期待する処理内容を実現できない。
【０００７】
本発明の目的は、データの相関性の高い記憶領域に適用したとしてもデータの整合性を維持しながらリクエストを正常に処理できるようにしたリクエスト処理装置を提供することにある。
【課題を解決するための手段】
【０００８】
請求項１記載の発明によれば、判別手段は通常リクエストに比較して優先順位の高い優先リクエストが発行されると当該優先リクエストが属するグループを予め定められた複数グループ中の何れに属するか判別する。通常リクエスト、優先リクエストがたとえデータ相関性の高い記憶領域に対するリクエストであったとしても、当該リクエストが関連性のあるリクエスト毎にグループ分けされていると、実行手段が優先リクエストを実行する際には、当該優先リクエストと同一グループに属すると判別された実行待ちリクエストに関する処理を行うことで、データの整合性を維持しつつリクエストを正常に処理できる。
【０００９】
請求項２記載の発明によれば、実行手段は優先リクエストの属するグループが判別されると当該グループに応じて予め定められた手順で処理を実行する。また、請求項３記載の発明によれば、実行手段は優先リクエストと同一グループに属する実行待ちリクエストを発行順に実行した後、優先リクエストを実行する。このため、リクエストを発行順に実行しつつデータの整合性を維持できる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態のバス接続インタフェースのハードウェア構成について概略的に示すブロック図
【図２】グループ指定回路の構成例
【図３】リクエスト情報の構成例
【図４】アドレス範囲指定によるグループ指定回路の構成例
【図５】アドレスによるグループ分けの概念図
【図６】リクエスト実行シーケンサの回路構成例
【図７】リクエスト実行シーケンサの基本的な処理内容を示すフローチャート
【図８】グループ分けした処理手順を詳細に示すフローチャート
【図９】第２実施形態を示す図８相当図
【図１０】処理前後のバッファに格納されたリクエストの一例を示す図（その１）
【図１１】処理前後のバッファに格納されたリクエストの一例を示す図（その２）
【図１２】第３実施形態を示す図８相当図
【発明を実施するための形態】
【００１１】
（第１実施形態）
以下、本発明の第１実施形態について図１〜図８を参照しながら説明する。図１に示すマイコン（バス接続ノード）の内部ハードウェア構成を示すように、バス１には、バスインタフェース２、内部バス３を介してＣＰＵ４が接続されている。マイコンの内部バス３には、リクエスト判別およびグループ番号指定回路（以下、回路と略す）５が接続されている。この回路５は、ＣＰＵ４からホストリクエストがあると当該ホストリクエストが優先リクエストであるか通常リクエストであるか判別し、そして予め定められた規則に従って当該リクエストにグループ番号を付与する。
【００１２】
そして、回路５は、ホストリクエストが優先リクエストであると判別したときには優先リクエストバッファ６に当該リクエストを書込み、ホストリクエストが通常リクエストであると判別したときには通常リクエストバッファ７にリクエストを書込む。
【００１３】
これらのバッファ６，７はＦＩＦＯ（First In First Out）型のバッファであり、リクエスト実行シーケンサ８が、バッファ６，７に蓄積された実行待ちのリクエスト（優先リクエストおよび通常リクエスト）について予め定められた順で処理する。本実施形態の特徴となるホストリクエストはＣＰＵ４からＩ／Ｏアドレス空間（以下Ｉ／Ｏ空間）への書込／読出リクエストを想定している。このＩ／Ｏ空間は例えばタイマなどの機器の制御で使用され、当該機器に対する制御レジスタ等のデータを格納するメモリ空間である。このＩ／Ｏ空間を構成するハードレジスタは、アクセス回数をカウントした結果を保持するレジスタ、書込／読出を所定の定められた順序、回数でアクセスした場合に次の内部処理を受付けるレジスタ、などを備える。通常のレジスタの場合、読出処理によって保持値は変化しないが、Ｉ／Ｏ空間の場合、読出されたときに内部的に値がクリアされるレジスタも構成されている。このとき書込/読出の順序又はアクセス回数に応じてデータの最終保持結果が変化することがある。したがって、このＩ／Ｏ空間における処理は、命令実行の順序性、アクセス回数の制御性について通常のメモリ空間より重要になる。本実施形態では、このような場合を考慮し、各データの相関性が高い記憶領域においてもリクエスト処理を整合性良く行うための形態を示す。
【００１４】
以下、ハードウェア構成の詳細を説明する。ホストリクエストは、ヘッダ情報（リード／ライトの命令情報、サイズ情報）、アクセス先アドレス、データを含む。本実施形態では、回路５がこのホストリクエストについて優先リクエスト／通常リクエストの何れであるかを判別し、これらのリクエストが優先／通常の何れのリクエストであるときにもグループ番号を付与する。図２に示すように、回路５はグループ毎に設けられたグループ判別回路９およびグループ番号指定デコーダ１０を備える。グループ判別回路９は比較用のアドレスを格納するレジスタ１１、このレジスタ１１の格納アドレスとアクセス先アドレスを比較する比較回路１２を備える。
【００１５】
レジスタ１１には、アクセス先アドレスが何れの割当グループＧｒ１…ＧｒＮに属すかを示す比較用のアドレス値が格納されるため、ホストリクエスト情報が与えられれば、グループ判別回路９は判別対象となるリクエストが予め割り当てられた何れのグループに属しているかを判別できる。グループ判別回路９のグループ判別信号はデコーダ１０に与えられているため、デコーダ１０はグループ番号をホストリクエスト情報に付加できる。図３はグループ番号が付加されたリクエスト情報の構成例を示している。
【００１６】
なお、図４に示すように、Ｎビット分の指定アドレスとして上位Ｎビット分のアドレスの格納レジスタ１１ａを比較回路１２にリファレンスとして入力させると共に、アクセス先アドレスの上位Ｎビット（Ｎは１以上）を比較回路１２に入力させることでグループ判別回路１３を構成しても良い。
【００１７】
図２では個々のアドレスにグループ番号を指定する例を示しているが、図４ではアドレスの範囲（上位Ｎビット）を指定してグループ番号を指定する例を示している。グループ番号を付与すべきアドレスが相当数となり連続アドレスをグループとして割当てるときには、図４に示すグループ判別回路１３を用いて構成すると良い。すると、グループを容易に判別できる。
【００１８】
図５には連続アドレスについてのグループＧｒ１〜ＧｒＮの分け方の概念を示す。グループＧｒ１〜ＧｒＮに割当てられたＩ／Ｏアドレス空間はそれぞれのグループ内でデータ相関性の高い記憶領域である。その他のＩ／Ｏアドレス空間はどのグループにも属さないアドレスであり、当該グループに属したアドレスの値が変化したとしても他のアドレスの記憶内容に影響が及ぼされることはない。なおマイコンの内部処理上ではグループＧｒ０として割当てている。
【００１９】
図６に示すリクエスト実行シーケンサ８は、優先リクエストバッファ６、通常リクエストバッファ７に格納されたリクエストを実行する。リクエスト実行シーケンサ８は、グループ比較回路１４、リクエスト実行管理回路１５、セレクタ１６、およびレジスタ１７〜１９を備える。
【００２０】
レジスタ１７は、優先リクエストバッファ６に実行待ちリクエストがあるときには、優先リクエストバッファ６に格納された優先リクエストのうち最先に実行するリクエストの内容を格納する。このとき、レジスタ１７には優先リクエストのグループ番号も格納される。レジスタ１８は、通常リクエストバッファ７に格納された実行待ちの通常リクエストのうち最先に実行するリクエストの内容を格納する。グループ比較回路１４は、通常リクエストバッファ７に格納されたグループを入力し、レジスタ１７に格納されたグループ番号と比較する。
【００２１】
セレクタ１６は、グループ比較回路１４の比較結果に基づいて、レジスタ１７に格納された優先リクエストのグループ番号と同一グループに属する通常リクエストを選択しレジスタ１９に格納する。したがって、優先リクエストがレジスタ１７に格納されると、レジスタ１９には同一グループに属する通常リクエストが順次格納される。リクエスト実行管理回路１５は、レジスタ１７〜１９に格納されたリクエストデータに基づいて当該リクエストを実行する。
【００２２】
図７にリクエスト実行シーケンサ８の基本的動作を示すように、バッファ６，７内にリクエストが存在するとき（Ｓ１：ＹＥＳ）、優先リクエストバッファ６に優先リクエストがなければ（Ｓ２：ＮＯ）、通常リクエストバッファ７内の通常リクエストを実行する（Ｓ３）が、優先リクエストがあるときには（Ｓ２：ＹＥＳ）、実行すべき優先リクエストと同一グループに属する通常リクエストを予め決められた処理手順で実行する（Ｓ４）。
【００２３】
図６に示す回路において、リクエスト実行管理回路１５が実行を管理するが、前述のステップＳ２でＮＯと判定され、ステップＳ３において通常リクエストバッファ７内の通常リクエストを実行するときには、レジスタ１８に対し発行順に格納される通常リクエストを実行する。
【００２４】
このとき、リクエスト実行管理回路１５はレジスタ１８に格納される通常リクエストを対象に送出して当該リクエストを実行するが、リクエストを送出した後、通常リクエスト完了信号を通常リクエストバッファ７に送信することで通常リクエストバッファ７から最先の通常リクエストを削除する。このときレジスタ１８には次に発行された通常リクエストが格納される。通常リクエストの実行が完了し実行対象からＡＣＫを受付けると、リクエスト実行管理回路１５はステップＳ１から処理を行いステップＳ３にて通常リクエストを実行するときには、レジスタ１８に格納された通常リクエストを実行する。この場合、これらのステップＳ１〜Ｓ３が順次繰り返される。
【００２５】
その後、優先リクエストが優先リクエストバッファ６に格納されると、当該バッファ６の優先リクエストはレジスタ１７に格納される。リクエスト実行管理回路１５は、ステップＳ２において優先リクエストありと判定することでレジスタ１７に格納された優先リクエストを入力して実行するときには、その前段階の処理としてステップＳ４においてレジスタ１９に順次格納される同一グループの通常リクエストを順に実行する。
【００２６】
リクエスト実行管理回路１５は、レジスタ１９に格納された通常リクエストを対象に送出して当該リクエストを実行するが、この度に通常リクエスト完了信号を通常リクエストバッファ７に送信することで通常リクエストバッファ７から実行済みリクエストを順次削除する。するとセレクタ１６は次に実行すべき同一グループの通常リクエストを選択しレジスタ１９に格納する。
【００２７】
通常リクエストの実行が完了し実行対象からＡＣＫを受付けると、リクエスト実行管理回路１５はレジスタ１９に格納された次の通常リクエストを実行する。これらの動作が繰り返されることでレジスタ１９には同一グループの通常リクエストが順次格納され、リクエスト実行管理回路１５により同一グループの通常リクエストが全て実行される。
【００２８】
リクエスト実行管理回路１５が同一グループの通常リクエストを全て実行すると、レジスタ１７に格納された優先リクエストを対象に送出して当該リクエストを実行するが、このとき優先リクエスト完了信号を優先リクエストバッファ６に送信することで優先リクエストバッファ６から当該実行済みの優先リクエストを削除する。このような流れに応じて、同一グループの通常リクエストが全て実行された後に優先リクエストが実行される。
【００２９】
前述の説明では、レジスタ１９に同一グループの通常リクエストを順次格納しこれらを発行順に実行する例を示しているが、レジスタ１９の記憶量を大きくすれば、セレクタ１６により同一グループに選択された通常リクエストを全てレジスタ１９に一度に格納した後、レジスタ１９に格納された通常リクエストを発行順に順次実行し、全ての通常リクエストを実行した後に、レジスタ１７に格納された優先リクエストを実行するようにしても良い。
【００３０】
図８は優先リクエストと同一グループに属するリクエストを実行する場合の処理手順の別の一例を示しているが、ステップＳ２において優先リクエストが存在すると判定されると（Ｓ２：ＹＥＳ）、優先リクエストのグループ判別処理を行い（Ｓ５）、グループ毎に予め定められた処理手順で処理を実行している（Ｓ６１〜Ｓ６Ｎ参照）。
【００３１】
グループ毎の具体的な処理手順としては、例えば、通常リクエストバッファ７内の同一グループのリクエストのうち、（１）リード／ライトの双方を合わせて発行順に処理、（２）リードのみを発行順に処理、（３）ライトのみを発行順に処理、（４）リード／ライトのどちらも消去する処理、という手順が挙げられる。これらの（１）〜（４）のうち何れかの処理手順を、優先リクエストを実行する前又は後に実行する。なお、グループ毎に同一処理手順を実行しても良いし、異なる処理手順を実行しても良い。
【００３２】
本実施形態によれば、優先リクエストがグループ分けされた割当グループＧｒ１…ＧｒＮ中の何れに属するか判別し、予め割当てられた割当グループＧｒ１…ＧｒＮのうち同一グループに属すると判別された実行待ちリクエストに関する処理を行っている。本実施形態では、同一グループに属すると判別された通常リクエストを予め定められた処理手順で実行している。したがって、各リクエストがデータ相関性のあるグループＧｒ１…ＧｒＮにそれぞれ予め割り振られることになるため、データ相関性のないグループのアドレスに対してデータ変化の影響が及ばなくなり、データ整合性を維持しつつリクエストを正常に処理できる。アクセス先アドレスに対応してグループＧｒ１…ＧｒＮを割当てているためグループ分けし易い。
【００３３】
（第２実施形態）
図９〜図１１は第２実施形態を示すもので、前述実施形態と異なるところは、予め割当てられたグループ中に属すると判別されたときには当該割当グループに属する通常リクエストを発行順に全て実行してから優先リクエストを実行しているところにある。また、予め割当られた全てのグループに属さないと判別されたときには当該割当グループに属さない通常リクエストバッファ中の同一アドレスに対するリクエストを消去するところにある。前述実施形態と同一部分に同一符号を付して説明を省略し、以下異なる部分について説明する。
【００３４】
図９に示すように、ステップＳ２において優先リクエストが存在すると判定されると、優先リクエストが全グループの何れに属するか判別する（Ｓ７）。優先リクエストが全グループの何れかのグループに属するときには（Ｓ７：ＹＥＳ）、通常リクエストバッファ７内に同一グループの通常リクエストが存在するか確認する（Ｓ８）。
【００３５】
そして、通常リクエストバッファ７内に同一グループの通常リクエストが存在しないときには（Ｓ８：ＮＯ）、通常リクエストバッファ７内のリクエストを実行することなく優先リクエストを実行する（Ｓ１０）。ステップＳ８で同一グループの通常リクエストが存在すると判定したときには（Ｓ８：ＹＥＳ）、優先リクエストと同一グループの通常リクエストバッファ７内の通常リクエストを発行順に全て実行し（Ｓ９）てから、ステップＳ１０において優先リクエストを実行する。
【００３６】
図１０はステップＳ７〜Ｓ１０の処理の具体例を示す。優先リクエストが「「０ｘ０１００番地」に「０ｘＸＸＸＸＸＸＸＸ」を書込む」というリクエストであると仮定する。この優先リクエストはグループ分け処理に応じてグループＧｒ１に割当てられている（「次に実行される優先リクエスト」参照）。このとき、優先処理前の通常リクエストバッファ７には、グループ番号が予め付与された通常リクエストが格納されている（「優先処理前の通常リクエストバッファ」参照）。
【００３７】
ステップＳ９では、グループＧｒ１に仕分けされた全ての通常リクエストを実行するため、図１０に示すリクエスト中にハッチングが施された３つの通常リクエストを実行する。これらの３つの通常リクエストを実行した後、優先リクエストを実行する（「優先処理時に実行されるリクエスト」参照）。
【００３８】
実行順は、通常リクエストバッファ７に格納された順番（最前列→最後列）に通常リクエストを実行し、その後優先リクエストを実行する。この際、実行した通常リクエストを破棄することで通常リクエストバッファ７内の実行済み通常リクエストを削除し、残留した通常リクエストの実行順を繰り上げる（「優先処理後の通常リクエストバッファ」参照）。
【００３９】
さて、他方、図９のステップＳ７において、優先リクエストが全グループの何れのグループにも属さないときには（Ｓ７：ＮＯ）、通常リクエストバッファ７内に同一グループへの通常リクエストが存在するか確認し（Ｓ１１）、存在するときには（Ｓ１１：ＹＥＳ）同一アドレスへの通常リクエストを消去し（Ｓ１２）、優先リクエストを実行する（Ｓ１０）。
【００４０】
図１１は、ステップＳ７，Ｓ１１，Ｓ１２の処理の具体例を示す。優先リクエストが「「０ｘ０１１０番地」に「０ｘＸＸＸＸＸＸＸＸ」を書込む」（但し”Ｘ”は任意の値を示す）というリクエストであるものの、当該優先リクエストが予め割当てられた全グループＧｒ１〜ＧｒＮの何れにも属さないと仮定する。ここでは前述の説明と同様に、マイコンでは便宜上リクエストをグループＧｒ０として割当てている（「次に実行される優先リクエスト」参照）。優先処理前の通常リクエストバッファ７には、グループ番号が予め付与された通常リクエストが格納されている（「優先処理前の通常リクエストバッファ」参照）。
【００４１】
ステップＳ１２ではグループＧｒ０に仕分けされた全ての通常リクエストの中で、同一アドレスへの通常リクエストを消去するため、図１１に示すリクエスト中にハッチングが施された２つの通常リクエストを削除し、その他の通常リクエストの実行順を繰り上げる（「優先処理後の通常リクエストバッファ」参照）。そしてステップＳ１０で優先リクエストを実行する。したがって、優先リクエストのみ実行される（「優先処理時に実行されるリクエスト」参照）。
【００４２】
削除した通常リクエストは優先リクエストと同一アドレスへのアクセスであるものの、グループＧｒ０に割当てられたリクエストであるため他のアドレスデータに影響が及ぶことは全くなく、同一アドレスへの通常リクエストを削除してもデータの整合性が損なわれることはない。
【００４３】
本実施形態によれば、グループが判別されると当該割当グループに属する通常リクエストを発行順に全て実行してから優先リクエストを実行している。また、全てのグループに属さないと判別されたときには当該割当グループに属さない通常リクエストバッファ７内の同一アドレスに対するリクエストを消去している。これによりＩ／Ｏアドレス空間へアクセスしたとしてもデータの整合性を維持しながらリクエストを正常に処理できる。
【００４４】
（第３実施形態）
図１２は第３実施形態を示すもので、前述実施形態と異なるところは、リードリクエストのみ、又は、ライトリクエストのみを実行し、他のリクエストを削除しているところにある。図１２が図１１と異なる部分のみ説明する。
【００４５】
図１１のステップＳ９に代えて、図１２にはステップＳ９ａを設けている。このステップＳ９ａでは、通常リクエストバッファ７内の同一グループのリクエストのうち、全てのライトリクエストのみを発行順に実行している。このとき、他の同一グループのリクエスト（リードリクエスト）を削除する。
【００４６】
また、この処理に代えてリードリクエストのみを発行順に実行し、他の同一グループのリクエスト（ライトリクエスト）を削除しても良い。したがって、リードリクエストのみライトリクエストのみを実行することになるので実行時間を短縮できる。この場合、Ｉ／Ｏアドレス領域についてライトリクエストによるデータ書換に応じた整合性を保持できる。
【００４７】
（他の実施形態）
前記した実施形態に限定されるものではなく、例えば、以下に示す変形または拡張が可能である。
グループ分けの手法としては、例えば以下に示される方式を適用できる。コンピュータのキャッシュメモリは例えばＮウェイセットアソシエイティブ方式を用いていることが多い。この方式はアクセスアドレスのインデックスによってキャッシュを索引しタグによりキャッシュデータの一致を判定している。このような場合、互いに異なるタグ、又は、互いに異なるインデックスが付加されていてもデータ相関性の高いタグ又はインデックスを同一グループに所属させてグループ分けして構成しても良い。また、各種リクエストの中で命令情報の中に含まれる分類番号又は処理フラグ等の属性を用いてグループ分けしても良い。
【００４８】
リード／ライトのリクエストを一例に挙げて説明したが、指定アドレスなどのノードに特定の処理動作をさせるコマンド要求を前述の通常リクエスト、優先リクエストとして適用しても良い。
【００４９】
リクエストを受付けたときに、定められた方式に従ってグループ番号を判別し当該グループ番号を付与した実施形態を示したが、グループ番号は全体のシステムで予め定められていても良い。また外部から到来するリクエストにグループ番号が予め付与されている態様に適用しても良い。すると、前述実施形態とほぼ同様の作用効果を奏する。
【符号の説明】
【００５０】
図面中、１はバス、２はバスインタフェース、３は内部バス、４はＣＰＵ、５はリクエスト判別およびグループ番号指定回路（判別手段）、６は優先リクエストバッファ、７は通常リクエストバッファ、８はリクエスト実行シーケンサ（実行手段）、９はグループ判別回路、１０はグループ番号指定デコーダ、１１はレジスタ、１２は比較回路、１３はグループ判別回路、１４はグループ比較回路、１５はリクエスト実行管理回路、１６はセレクタ、１７〜１９はレジスタ、を示す。
【図１】
2013242766.tif 000003
【図２】
2013242766.tif 000004
【図３】
2013242766.tif 000005
【図４】
2013242766.tif 000006
【図５】
2013242766.tif 000007
【図６】
2013242766.tif 000008
【図７】
2013242766.tif 000009
【図８】
2013242766.tif 000010
【図９】
2013242766.tif 000011
【図１０】
2013242766.tif 000012
【図１１】
2013242766.tif 000013
【図１２】
2013242766.tif 000014