(57)【要約】【課題】複数のプロセッサが接続されたシステムや階層バス構造を形成するシステムなどにおいて、データ要求元であるエージェントへのデータの返送効率を下げないことを可能とする。【解決手段】プロセッサからのデータ要求アクセスをバス制御装置１が受け取ると、バス制御装置１がデータの返送をすぐに行えるか否かの判定を行ってデータの返送をすぐに行えないと判定した場合において、データアクセス監視部１０が後続にアクセスがあるか否かの判定を行って後続にアクセスがあると判定した場合、当該後続のアクセスがデータバスを占有しないアクセスであるときは、キャンセル通知部１１が、前記データ要求アクセスを継続させる。【選択図】図１
2007265126.tif 000002
【特許請求の範囲】
【請求項１】
受け取ったデータ要求アクセスに対して、要求されたデータを返送するバス制御装置において、
前記データ要求アクセスに対して要求されたデータが揃っていない場合、後続のアクセスがデータを要求するアクセスでないときは、前記要求されたデータの返送準備ができるまで前記データ要求アクセスに対する処理を継続させることを特徴とするバス制御装置。
【請求項２】
前記データ要求アクセスに対する処理の継続中に、後続のデータを要求するアクセスを受け取った場合には、継続中の前記データ要求アクセスを一旦保留にし、要求元へデータ要求アクセスの保留通知を行うことを特徴とする請求項１に記載のバス制御装置。
【請求項３】
前記要求されたデータを、外部の記憶部から取得することにより返送準備を行うことを特徴とする請求項１又は請求項２に記載のバス制御装置。
【請求項４】
前記データ要求アクセスに対して要求されたデータが揃った場合に、要求元に要求されたデータを返送することを特徴とする請求項１から請求項３のいずれか１項に記載のバス制御装置。
【請求項５】
前記データ要求アクセスに対して要求されたデータが揃ったか否かを判定する返送可否判定部と、
前記返送可否判定部が要求されたデータが揃ったと判定した場合に、後続にアクセスがあるか否かの判定を行う後続アクセス判定部と、
前記後続アクセス判定部が後続にアクセスがあると判定した場合に、当該後続のアクセスがデータを要求するアクセスか否かを判定するデータ要求アクセス判定部とを備えることを特徴とする請求項１から請求項４のいずれか１項に記載のバス制御装置。
【請求項６】
前記データ要求アクセス判定部は、当該後続のアクセスがデータを要求するアクセスでないと判定した場合に、前記要求されたデータの返送準備ができるまで前記データ要求アクセスに対する処理を継続させることを特徴とする請求項５に記載のバス制御装置。
【請求項７】
前記データ要求アクセス判定部は、当該後続のアクセスがデータを要求するアクセスであると判定した場合に、継続中の前記データ要求アクセスを一旦保留にし、要求元にデータ要求アクセスの保留通知を行うことを特徴とする請求項５又は請求項６に記載のバス制御装置。
【請求項８】
前記返送可否判定部が要求されたデータが揃っていないと判定した場合に、前記要求されたデータを、外部の記憶部から取得することにより返送準備を行うことを特徴とする請求項５から請求項７のいずれか１項に記載のバス制御装置。
【請求項９】
受け取ったデータ要求アクセスに対して、要求されたデータを返送するバス制御装置のアクセス制御方法であって、
前記データ要求アクセスに対して要求されたデータが揃っていない場合、後続のアクセスがデータを要求するアクセスでないときは、前記要求されたデータの返送準備ができるまで前記データ要求アクセスに対する処理を継続させることを特徴とするアクセス制御方法。
【請求項１０】
前記データ要求アクセスに対する処理の継続中に、後続のデータを要求するアクセスを受け取った場合には、継続中の前記データ要求アクセスを一旦保留にし、要求元へデータ要求アクセスの保留通知を行うことを特徴とする請求項９に記載のアクセス制御方法。
【請求項１１】
前記要求されたデータを、外部の記憶部から取得することにより返送準備を行うことを特徴とする請求項９又は請求項１０に記載のアクセス制御方法。
【請求項１２】
前記データ要求アクセスに対して要求されたデータが揃った場合に、要求元に要求されたデータを返送することを特徴とする請求項９から請求項１１のいずれか１項に記載のアクセス制御方法。
【請求項１３】
前記データ要求アクセスに対して要求されたデータが揃ったか否かを判定する返送可否判定ステップと、
前記返送可否判定ステップにおいて要求されたデータが揃っていないと判定した場合に、後続にアクセスがあるか否かの判定を行う後続アクセス判定ステップと、
前記後続アクセス判定ステップにおいて後続にアクセスがあると判定した場合に、当該後続のアクセスがデータを要求するアクセスか否かを判定するデータ要求アクセス判定ステップとを備えることを特徴とする請求項９から請求項１２のいずれか１項に記載のアクセス制御方法。
【請求項１４】
前記データ要求アクセス判定ステップにおいて、当該後続のアクセスがデータを要求するアクセスでないと判定した場合に、前記要求されたデータの返送準備ができるまで前記データ要求アクセスに対する処理を継続させることを特徴とする請求項１３に記載のアクセス制御方法。
【請求項１５】
前記データ要求アクセス判定ステップにおいて、当該後続のアクセスがデータを要求するアクセスであると判定した場合に、継続中の前記データ要求アクセスを一旦保留にし、要求元にデータ要求アクセスの保留通知を行うことを特徴とする請求項１３又は請求項１４に記載のアクセス制御方法。
【請求項１６】
前記返送可否判定ステップにおいて要求されたデータが揃っていないと判定した場合に、前記要求されたデータを、外部の記憶部から取得することにより返送準備を行うことを特徴とする請求項１３から請求項１５のいずれか１項に記載のアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、共通バスに接続されるエージェントからのデータ要求アクセスに対しエージェントにデータを返送するバス制御装置とそのアクセス制御方法に関するものである。
【背景技術】
【０００２】
従来のバス制御装置は、共通バスに接続されるエージェントからのデータ要求アクセスに対してデータの返送の応答が保留された場合、データの返送の応答に必要な有効データを取得するため、データ要求元である当該エージェントからのデータ要求アクセスを他バス階層に転送し、他バス階層から返送に必要な有効データを取得した後、当該エージェントに対しデータ返送アクセスを行っていた。
【０００３】
しかし、従来のバス制御装置は、共通バスに接続されるエージェントからなされたデータ要求アクセスに対してすぐにデータの返送が出来ない場合、一旦、データ要求アクセスを終了させ、返送に必要なデータが揃ってから再度データの返送のためのデータ返送アクセスを行う必要があったことから、当該エージェントへのデータの返送が遅くなるという問題が生じていた。
【０００４】
この問題を解決する技術として、例えば、特開２０００−１８１８９２号公報（特許文献１）には、データ要求アクセスに対してすぐにデータの返送が出来ない場合でもデータ要求アクセスを継続させることによってデータの返送の遅延を軽減させる技術が記載されている。
【特許文献１】特開２０００−１８１８９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１を一例とする技術は、複数のプロセッサの繋がるシステムや階層バス構造を形成するシステムなどにおいては、データ要求元であるエージェントへのデータの返送効率が悪いという問題がある。
【０００６】
その理由は、データ要求アクセスの後続にアクセス(リクエスト)を検出すると、検出されたリクエストがバスを占有しないものであっても、当該データ要求アクセスのために行っている共通バスの占有を解除してしまうからである。
【０００７】
また、特許文献１を一例とする技術では、プロセッサ側でのデータの返送処理の終了に対する制御方法が不明である。
【０００８】
その理由は、データの返送待ち処理中においてプロセッサに対してデータの返送処理の終了(共通バス占有指示の解除)を通知する手段が提供(記載)されていないからである。
【０００９】
（目的）
本発明は、上記問題点を解決し、複数のプロセッサが接続されたシステムや階層バス構造を形成するシステムなどにおいて、データ要求元であるエージェントへのデータの返送効率を下げないバス制御装置とそのアクセス制御方法を提供するものである。
【課題を解決するための手段】
【００１０】
本発明のバス制御装置は、受け取ったデータ要求アクセスに対して、要求されたデータを返送するバス制御装置において、前記データ要求アクセスに対して返送すべきデータが存在しない場合、後続のアクセスがデータを要求するアクセスでないときは、前記要求されたデータの返送準備ができるまで前記データ要求アクセスに対する処理を継続させることを特徴とする。
【発明の効果】
【００１１】
本発明は、複数のプロセッサが接続されたシステムや階層バス構造を形成するシステムなどにおいて、データ要求元であるエージェントへのデータの返送効率を下げない効果がある。
【発明を実施するための最良の形態】
【００１２】
（第１の実施の形態）
本発明による第１の実施の形態を、図１〜図４を用いて詳細に説明する。
【００１３】
（第１の実施の形態の構成）
図１は、本実施の形態による情報処理装置の主要部分の構成を示すブロック図である。
【００１４】
図１を参照すると、本実施の形態による情報処理装置は、共通バス４を介してバス制御装置１、プロセッサ２、プロセッサ３が接続され、また、制御回路１は、共通バス５を介して他のバス制御装置（不図示）やメモリ（不図示）に接続する。
【００１５】
バス制御装置１は、メモリ６と、メモリ制御部７と、情報格納部８と、応答返却部９と、データアクセス監視部１０と、キャンセル通知部１１とを有する。
【００１６】
メモリ６は、キャッシュメモリやメインメモリ等、データを登録する機能を有していればよく、特に制限はない。
【００１７】
メモリ制御部７は、プロセッサ２あるいはプロセッサ３から共通バス４を介してバス制御装置１に発行されたデータ要求アクセスに対し、データ要求アクセスを行ったプロセッサへの返送のために必要なデータ（有効データ）がメモリ６に登録されているか否かの判定を行う機能を有する。
【００１８】
より詳細には、メモリ制御部７は、データ要求アクセスからアクセス情報ａを取り込み、メモリ６に対しアクセス情報ａに含まれるアドレス情報ｂを転送することによってメモリ６からデータ登録情報ｃを読み出し、有効データが登録されているか否かの判定を行う。
【００１９】
ここで、データ要求アクセスとは、プロセッサ２あるいはプロセッサ３からバス制御装置１に対してなされる、所定のデータのリードを要求するアクセスである。
【００２０】
ここで、アクセス情報ａとは、データ要求アクセス等、バス制御装置１に発行されたアクセスに含まれる情報であり、例えば、アクセスの種類を示す情報や、さらには、アクセスがデータのリードを要求するのか、データのライトを要求するのか、どのデータを要求するのかといった情報を含む。
【００２１】
ここで、アドレス情報ｂとは、メモリ６内のデータの登録されている場所等を示す情報である。
【００２２】
ここで、データ登録情報ｃとは、メモリ６にどのようなデータが登録されているか等を示す情報である。
【００２３】
また、メモリ制御部７は、メモリ６に有効データが登録されていると判定した場合、応答返却部９への有効データの出力を要求する有効データ出力要求通知ｄをメモリ６に対して行うと共に、データ要求アクセスを行ったプロセッサへの有効データの返送を要求する有効データの返送要求通知ｅを応答返却部９に対して行う。
【００２４】
また、メモリ制御部７は、メモリ６に有効データが登録されていないと判定した場合、当該判定結果を知らせる判定通知ｇをキャンセル通知部１１に対して行うと共に、アクセス情報ａの登録を指示するアクセス情報登録通知ｈを情報格納部８に対して行う。
【００２５】
情報格納部８は、プロセッサからのデータ要求アクセスにおけるアクセス情報の登録を行うと共に、データの返送に必要なデータ（有効データ）を他のメモリ又は他のバス制御装置内のメモリから読み出すために共通バス５に対しデータ要求アクセスの転送を行う機能を有する。
【００２６】
すなわち、情報格納部８は、データの返送のための有効データがメモリ６に登録されていない場合、メモリ制御部７からのアクセス情報登録通知ｈによりアクセス情報ａを登録し、他のメモリ（不図示）から有効データを読み出すため、データ要求アクセスを行ったプロセッサからのデータ要求アクセスをデータ要求アクセスｉとして共通バス５に転送する。
【００２７】
また、情報格納部８は、キャンセル通知部１１からの保留フラグ登録通知ｌ（後述）により、当該プロセッサからのデータ要求アクセスに関連づけて保留フラグｎ（後述）の登録を行う。
【００２８】
応答返却部９は、メモリ６に有効データが登録されている場合、データ要求アクセスを行ったプロセッサに対し、メモリ６で登録されている有効データの返送を共通バス４を介して行う機能と、共通バス５から有効データが返送された場合、共通バス４に対し有効データの返送を行う旨の応答を行う機能とを有する。
【００２９】
すなわち、応答返却部９は、メモリ制御部７からの有効データ返送要求通知ｅによりメモリ６からのデータｆを登録し、共通バス４を介してプロセッサ２へ当該データｆを返送する。
【００３０】
また、応答返却部９は、情報格納部８が共通バス５に転送したデータ要求アクセスｉに対する返送データｍの転送を受けると、情報格納部８に登録されているアクセス情報ａに基づいて、返送を保留しているデータが当該プロセッサからのデータ要求アクセスに対応するものであることを判定する。
【００３１】
また、応答返却部９は、情報格納部８に登録されている保留フラグｎに基づいて、当該プロセッサからのデータ要求アクセスに対してデータの返送が保留されたかどうかの判定を行い、データの返送が保留されていないと判定した場合、共通バス４を介して直接当該プロセッサに対して有効データを返送する。
【００３２】
一方、応答返却部９は、データ要求アクセスに対してデータの返送が保留されていると判定した場合、当該プロセッサに対して、共通バス４を介してデータを返送することを示す応答（データ返送アクセス）を行い有効データを返送する。
【００３３】
データアクセス監視部１０は、共通バス４を介してプロセッサ２あるいはプロセッサ３から発行されるアクセスを監視する機能を有する。
【００３４】
より具体的には、データアクセス監視部１０は、共通バス４を介してバス制御装置１へ発行されるデータ要求アクセス等のアクセスに含まれるアクセス情報ａを監視し、共通バス４を介してバス制御装置１へアクセスが発行されるとキャンセル通知部１１に当該アクセスの種類を示す通知ｊを行う。
【００３５】
キャンセル通知部１１は、バス制御装置１で受け付けたプロセッサ２あるいはプロセッサ３からのデータ要求アクセスを一旦終了させるか否かを判定する機能と、データ要求アクセスを行ったプロセッサに対して当該データ要求アクセスを一旦保留させることを通知する機能とを有する。
【００３６】
より具体的には、キャンセル通知部１１は、メモリ制御部７からの判定通知ｇとデータアクセス監視部１０からの通知ｊに基づいて、データ要求アクセスを行ったプロセッサからのデータ要求アクセスを一旦終了させるか否かの判定を行う。
【００３７】
ここで、キャンセル通知部１１は、終了させると判定した場合、データの返送を保留することを示す保留通知ｋをデータ要求アクセスを行ったプロセッサに対して行うと共に、当該プロセッサからのデータ要求アクセスを一旦保留したことを示す保留フラグｎについての登録を指示する保留フラグ登録通知ｌを情報格納部８に対して行う。
【００３８】
また、キャンセル通知部１１は、終了させないと判定した場合、当該プロセッサへの保留通知ｋ及び情報格納部８への保留フラグ登録通知ｌは行わず、当該プロセッサからのデータ要求アクセスを継続することとし、共通バス４におけるデータバスの占有を継続する。
【００３９】
（第１の実施の形態の動作）
次いで、図２を用いて、本実施の形態によるバス制御装置がデータ要求アクセスを受け付けた際の動作を説明する。
【００４０】
図２は、本実施の形態によるバス制御装置がデータ要求アクセスを受け付けた際のデータ制御方法を示すフローチャートである。
【００４１】
プロセッサからのデータ要求アクセスをバス制御装置１が受け取ると（ステップＳ１０１）、メモリ制御部７が、メモリ６に有効データが登録されているか否かに基づいて、データの返送をすぐに行えるか否かの判定を行い（ステップＳ１０２）、データの返送をすぐに行えると判定した場合、応答返却部９がプロセッサに対してデータを返送して処理を終了し(ステップＳ１０７)、データの返送をすぐに行えないと判定した場合、データアクセス監視部１０が、後続にアクセスがあるか否かの判定を行う（ステップＳ１０３）。
【００４２】
ステップＳ１０３でデータアクセス監視部１０が後続にアクセスがあると判定した場合、キャンセル通知部１１が、メモリ制御部７からの判定通知ｇとデータアクセス監視部１０からの通知ｊに基づいて、プロセッサからのデータ要求アクセスを終了させるか否かの判定を行う（ステップＳ１０４）。
【００４３】
この場合、後続のアクセスがデータを伴わないアクセス、すなわち、共通バス４のデータバスを占有しないアクセスであるときは、前記データ要求アクセスが後続のアクセスの処理の妨げになることはないため、キャンセル通知部１１は、前記データ要求アクセスを終了させずに継続させる判定を行う。
【００４４】
一方、後続のアクセスがデータを伴うアクセス、すなわち、データバスを占有するアクセスであるときは、前記データ要求アクセスが後続のアクセスの処理の妨げになるため、キャンセル通知部１１は、前記データ要求アクセスを一旦終了させる判定を行う。
【００４５】
ステップＳ１０４でキャンセル通知部１１がデータ要求アクセスを終了させると判定した場合、プロセッサからのデータ要求アクセスを一旦保留させる形で終了させた後、応答返却部９が、返送のために必要なデータ（有効データ）が揃ったことを条件として、当該プロセッサにデータを返送するためのアクセス（データ返送アクセス）を行う(ステップＳ１０５)。
【００４６】
ステップＳ１０３でデータアクセス監視部１０が後続にアクセスがないと判定した場合、あるいはキャンセル通知部１１がデータ要求アクセスを終了させないと判定した場合は、プロセッサからのデータ要求アクセスを終了させる処理は行わずにデータの返送のために必要なデータが揃うまでデータ要求アクセスを継続させる。
【００４７】
ステップＳ１０３でデータ要求アクセスを継続した場合、応答返却部９は、返送のために必要なデータが揃ったか否かの判定を行い(ステップＳ１０６)、ステップＳ１０６でデータが揃っていればプロセッサに対してデータを返送して処理を終了し(ステップＳ１０７)、一方、ステップＳ１０６でデータが揃っていなければステップＳ１０３に戻り処理を繰り返す。
【００４８】
次いで、本実施の形態によるバス制御装置がデータ要求アクセスを保留する際のデータ制御方法について説明する。
【００４９】
通常、プロセッサから発行されたアクセスに対しては、リクエストフェーズ、スヌープフェーズ、データフェーズ、と言うように各フェーズ毎に処理が進められる。
【００５０】
プロセッサは、スヌープフェーズの結果に基づいてバス制御装置１から発行された、データ要求アクセスに対するデータの受け取り可否を判断する。
【００５１】
スヌープフェーズでデータの返送の通知がバス制御装置１から行われた場合、プロセッサおよびバス制御装置１は、データフェーズに処理を移行する。
【００５２】
次いで、データフェーズにおいて、プロセッサは、データを受け取るための準備を行い、バス制御装置１は、データの返送が終了するまでデータの返送のために共通バス４の占有、すなわち、共通バス４のデータバスの占有を行う。
【００５３】
一方、スヌープフェーズにおいてデータの返送を一旦保留させる通知がバス制御装置１からプロセッサに対して行われた場合、データフェーズへの移行は行われずデータ要求アクセスは一旦終了される。
【００５４】
また、前記データ要求アクセスがデータフェーズに移行した後、後続にアクセスが発行された場合において、後続のアクセスがデータを伴わないアクセス、すなわち、データバスを占有しないアクセスであるときは、前記データ要求アクセスによってデータバスを占有していても、後続のアクセスがデータフェーズに移行されることがないため処理を継続することができる。
【００５５】
一方、後続のアクセスがデータを伴うアクセスである場合、すなわち、データバスを占有するアクセスである場合、後続のアクセスにおいてデータフェーズへの移行が発生するため、前記データ要求アクセスにおけるデータバスに対する占有を解除しない限り後続のアクセスに対する処理を進めることができない。
【００５６】
このため、バス制御装置１は、データバス占有中に後続にデータを伴うアクセスがあった場合、すなわち、データバスを占有するアクセスがあった場合にのみ、後続のアクセスに対する処理を進めるためデータバスの占有を解除させる動作を行う。
【００５７】
データバスの占有を解除させる動作は、まず、バス制御装置１がプロセッサに対してデータ要求アクセスの保留通知ｋを行う。
【００５８】
この保留通知ｋに基づいて、プロセッサは、データを受け取るための準備をしていたデータ要求アクセスにおけるデータフェーズを終了させ、処理を保留する。
【００５９】
その後、共通バス４を介してバス制御装置１からデータを返送することを示す応答ｏがあった場合、プロセッサは、バス制御装置１から返送されたデータを受け取り、データ要求アクセスの処理を終了させる。
【００６０】
バス制御装置１は、プロセッサに対して保留通知ｋを行った後、データバスに対する占有を解除すると共に、データ要求アクセスにおけるデータフェーズを終了させ処理を保留する。
【００６１】
その後、バス制御装置１は、データの返送に必要なデータが揃った場合、共通バス４を介してデータを返送することを示す応答ｏを行い、データ要求アクセスの処理を終了させる。
【００６２】
（第１の実施の形態の効果）
エージェント(プロセッサ等)からのデータ要求アクセスに対してすぐにデータの返送ができない場合に、後続のアクセスが共通バスのデータバスを占有しないアクセスであるときは、1回のデータ要求アクセスでデータ返送処理を行えることから、データの返送までの時間を短縮させデータ転送性能の向上を図ることができる。
【００６３】
その理由は、プロセッサからのデータ要求アクセスをバス制御装置１が受け取ると、バス制御装置１がデータの返送をすぐに行えるか否かの判定を行ってデータの返送をすぐに行えないと判定した場合において、データアクセス監視部１０が後続にアクセスがあるか否かの判定を行って後続にアクセスがあると判定した場合、当該後続のアクセスがデータバスを占有しないアクセスであるときは、キャンセル通知部１１が、前記データ要求アクセスを継続させるからである。
【００６４】
（第２の実施の形態）
第１の実施の形態による情報処理装置は、共通バス４を介してバス制御装置１にプロセッサ２、プロセッサ３が接続されているが、本発明は、例えば、図３に示すような共通バス４及び共通バス４１を有するツインバス構造によって構成される情報処理装置にも適用することができる。
【００６５】
図３を参照すると、このツインバス構造は、プロセッサ２、プロセッサ３が接続されている共通バス４と、プロセッサ２１、プロセッサ３１が接続されている共通バス４１とを有し、バス制御装置１に接続するものであり、本実施の形態においても、第１の実施の形態と同様の効果を達成することができる。
【００６６】
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【００６７】
例えば、本発明の実施の形態では、２つ又は４つのプロセッサが繋がるシステムについて説明をしたが、プロセッサの数に制限はない。
【産業上の利用可能性】
【００６８】
本発明は、複数のプロセッサが繋がるシステムや階層バス構造を形成するシステムでのプロセッサとの間の通信の制御に関し、プロセッサから要求されたデータの返送処理を効率良く処理するバス制御装置に適用できる。
【図面の簡単な説明】
【００６９】
【図１】第１の実施の形態による情報処理装置の主要部分の構成を示すブロック図である。
【図２】第１の実施の形態によるバス制御装置がデータ要求アクセスを受け付けた際のデータ制御方法を示すフローチャートである。
【図３】第２の実施の形態による情報処理装置の主要部分の構成の概略を示すブロック図である。
【符号の説明】
【００７０】
１：バス制御装置
２、２１、３、３１：プロセッサ
４、４１、５：共通バス
６：メモリ
７：メモリ制御部
８：情報格納部
９：応答返却部
１０：データアクセス監視部
１１：キャンセル通知部
ａ：アクセス情報
ｂ：アドレス情報
ｃ：データ登録情報
ｄ：有効データ出力要求通知
ｅ：有効データ返送要求通知
ｆ：データ
ｇ：判定通知
ｈ：アクセス情報登録通知
ｉ：データ要求アクセス
ｊ：通知
ｋ：保留通知
ｌ：保留フラグ登録通知
ｍ：返送データ
ｎ：保留フラグ
ｏ：応答
【図１】
2007265126.tif 000003
【図２】
2007265126.tif 000004
【図３】
2007265126.tif 000005