(57)【要約】  メモリ（１０）に対するメモリアクセス要求を発行する少なくとも一つのアクセス部（３）と、前記アクセス部（３）から発行されたメモリアクセス要求を調停する調停部（４）と、前記調停部（４）による調停結果に応じたメモリアクセス要求の発行元のアクセス部（３）に対して、前記メモリ（１０）に対するメモリアクセスを実行させる管理部（８）と、少なくとも一つのキャッシュメモリ（２２）を介して前記メモリ（１０）に対するアクセスを行なう処理部（２）と、前記アクセス部（３）により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部（２）における前記少なくとも一つのキャッシュメモリ（２２）の電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除するタイミング調整部（５）と、を備える。
2013027261.tif 000002
【特許請求の範囲】
【請求項１】
メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、
前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、
前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、
少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、
前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除するタイミング調整部と、を備えることを特徴とする、情報処理装置。
【請求項２】
前記タイミング調整部は、前記保留時間が満了した場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、請求項１記載の情報処理装置。
【請求項３】
前記タイミング調整部は、複数の前記アクセス部ごとに前記保留時間を設定され、前記メモリアクセス要求に係る処理を、当該メモリアクセス要求の発行元のアクセス部に対応する保留時間の間保留することを特徴とする、請求項１又は２記載の情報処理装置。
【請求項４】
前記タイミング調整部に設定される保留時間は、それぞれ、対応するアクセス部ごとに決定される最大保留時間であることを特徴とする、請求項３記載の情報処理装置。
【請求項５】
前記タイミング調整部は、前記キャッシュメモリの電源がオフになった場合に、前記保留時間が満了していないメモリアクセス要求のうちの残保留時間が少ないメモリアクセス要求から順に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、請求項３又は請求項４記載の情報処理装置。
【請求項６】
前記タイミング調整部は、前記保留時間が満了したメモリアクセス要求から順に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、請求項３〜５のいずれか１項記載の情報処理装置。
【請求項７】
前記タイミング調整部は、複数の前記アクセス部に対して一つの保留時間を設定され、一のメモリアクセス要求に係る処理の保留を行なっているときに、他のメモリアクセス要求に係る処理の保留を行なう場合、前記一のメモリアクセス要求における残保留時間を用いて、前記他のメモリアクセス要求に係る処理を保留することを特徴とする、請求項１又は請求項２記載の情報処理装置。
【請求項８】
前記タイミング調整部は、複数の前記アクセス部に対して一つの保留時間を設定されるとともに、前記調停部と前記管理部との間に備えられ、前記調停部から前記管理部へのメモリアクセス要求の発行を保留することを特徴とする、請求項１又は請求項２記載の情報処理装置。
【請求項９】
前記タイミング調整部に設定される保留時間は、前記アクセス部ごとに決定されるそれぞれの最大保留時間のうちの、最小の時間であることを特徴とする、請求項７又は請求項８記載の情報処理装置。
【請求項１０】
前記タイミング調整部は、前記アクセス部と前記調停部との間に備えられ、前記アクセス部から前記調停部への前記メモリアクセス要求の発行を保留することを特徴とする、請求項１〜７のいずれか１項記載の情報処理装置。
【請求項１１】
前記タイミング調整部は、前記少なくとも一つのキャッシュメモリの電源がオフである間は、前記アクセス部により発行された前記メモリアクセス要求に係る処理の保留を抑止することを特徴とする、請求項１〜１０のいずれか１項記載の情報処理装置。
【請求項１２】
前記管理部は、前記調停部からのメモリアクセス要求について、前記メモリへのアクセスを許可する場合、メモリアクセス許可信号を送信し、
前記メモリアクセス許可信号により前記管理部に前記メモリへのアクセスを許可された前記調停部は、調停結果に応じたアクセス部に対してメモリアクセス許可を発行し、
前記メモリアクセス許可を受けたアクセス部は、前記発行されたメモリアクセス許可に応じて、前記メモリに対するメモリアクセスを実行することを特徴とする、請求項１〜１１のいずれか１項記載の情報処理装置。
【請求項１３】
前記調停部は、
前記タイミング調整部における前記保留時間を設定されて保持するレジスタを備えることを特徴とする、請求項１〜１２のいずれか１項記載の情報処理装置。
【請求項１４】
前記アクセス部が発行する前記メモリに対するメモリアクセス要求は、ＤＭＡ（Direct Memory Access）要求であることを特徴とする、請求項１〜１３のいずれか１項記載の情報処理装置。
【請求項１５】
前記アクセス部は、ホストコントローラであることを特徴とする、請求項１〜１４のいずれか１項記載の情報処理装置。
【請求項１６】
メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、を備える情報処理装置における前記メモリアクセス要求のスケジューリング方法であって、
前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、スケジューリング方法。
【請求項１７】
前記保留時間が満了した場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、請求項１６記載のスケジューリング方法。
【請求項１８】
前記保留時間は、複数の前記アクセス部ごとに設定され、
前記メモリアクセス要求に係る処理を、当該メモリアクセス要求の発行元のアクセス部に対応する保留時間の間保留することを特徴とする、請求項１６又は請求項１７記載のスケジューリング方法。
【請求項１９】
前記キャッシュメモリの電源がオフになった場合に、前記保留時間が満了していないメモリアクセス要求のうちの残保留時間が少ないメモリアクセス要求から順に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、請求項１８記載のスケジューリング方法。
【請求項２０】
前記保留時間は、複数の前記アクセス部に対して一つ設定され、
一のメモリアクセス要求に係る処理の保留を行なっているときに、他のメモリアクセス要求に係る処理の保留を行なう場合、前記一のメモリアクセス要求における残保留時間を用いて、前記他のメモリアクセス要求に係る処理を保留することを特徴とする、請求項１６又は請求項１７記載のスケジューリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、メモリアクセス要求を発行するデバイスを備える情報処理装置及びメモリアクセス要求に係る処理のスケジューリング方法に関する。
【背景技術】
【０００２】
サーバやパーソナルコンピュータ（ＰＣ；Personal Computer）等のいわゆるコンピュータシステムでは、ＤＭＡ（Direct Memory Access）というシステムバスの使い方がある。ＤＭＡとは、通常はＣＰＵ（Central Processing Unit）が行なうシステムバスの使用を、ＣＰＵ以外の機器（バスマスタ）にも許容するものである。また、複数のＣＰＵ（又はＣＰＵコア）を備えるマルチプロセッサシステムにおいては、複数のＣＰＵが互いに、システムバスの使用を融通し合うように設計される。【０００３】
なお、システムバスの使用が許容された機器（ＣＰＵを含む）が複数存在するシステムをマルチマスタシステムといい、マルチマスタシステムに使われるバスをマルチマスタバスという。
マルチマスタシステムでは、或るタイミングでバスを使用できるのはＣＰＵを含む一つの機器である。よって、マルチマスタシステムは、或るタイミングで複数の機器からＤＭＡ要求が発行されると、発行されたＤＭＡ要求を調停して、いずれか一つの機器に対してＤＭＡ許可を与える調停回路（バスアービタ）を備える。【０００４】
図１４は、ＤＭＡ要求を発行する機器を備えるコンピュータシステム（マルチマスタシステム）１００の構成例を示す図であり、図１５は、コンピュータシステム１００におけるＤＭＡ要求の調停を行なうバスアービタ４００の構成例を示す図である。
図１４に示す例では、コンピュータシステム１００においてＤＭＡ要因となるデバイスは、ＵＳＢ（Universal Serial Bus）やＳＡＴＡ（Serial Advanced Technology Attachment）のインタフェースに対応した、図示しないＨＤＤ（Hard Disk Drive）である。コンピュータシステム１００は、これらのデバイスをシステムバス６００に接続するためのコントローラとして、ＵＳＢのホストコントローラ（ＵＨＣＩ；Universal Host Controller Interface）や、ＳＡＴＡのホストコントローラ（ＡＨＣＩ；Advanced Host Controller Interface）を備える。【０００５】
これらのホストコントローラは、ＰＣＩデバイス３００−１〜３００−３として構成され、システムバス６００であるＰＣＩバスに接続されている。ＰＣＩデバイス３００−１〜３００−３から発生するＤＭＡ要求は、ＰＣＩバス仕様に準拠したバスアービタ４００によって調停され、バスアービタ８２０に対するメインメモリ１０００へのアクセス要求（ＤＭＡ要求）として発行される。【０００６】
具体的には、図１４に示すように、ＤＭＡ要求の発行元として機能するＰＣＩデバイス（複数のバスマスタデバイス）３００−１〜３００−３は、バスアービタ４００に対して、破線矢印Ａ〜Ｃで示すＤＭＡ要求（メインメモリ１０００に対するアクセス要求）を発行する。
バスアービタ４００では、図１５に示すように、同期化処理部４１０によりＤＭＡ要求Ａ〜Ｃの入力タイミングが調整される。また、ＤＭＡ要求Ａ〜Ｃを受けた調停処理部４２０は、バスブリッジ７００を介して上位のバス（ホストバス８１０）側のバスアービタ８２０に対してＤＭＡ要求Ｄを発行し、ホストバス８１０使用の許可を求める。バスアービタ８２０では、ホストバス８１０の使用状態に応じて、ＤＭＡ要求に対してホストバス８１０を使用させるか否かが判断される。バスアービタ８２０によりホストバス８１０の使用許可が下り、ＤＭＡ許可信号Ｅが送信されると、バスアービタ４００では、調停処理部４２０によりＤＭＡ要求が調停（選択）され、同期化処理部４３０で出力タイミングが調整される。そして、バスアービタ４００から、選択された（受け付けられた）ＤＭＡ要求に対応するＰＣＩデバイス３００−１〜３００−３へ、ＤＭＡ許可（出力信号；図１４及び図１５のＡ′〜Ｃ′参照）が出力される。この出力信号Ａ′〜Ｃ′を受けた機器（ＰＣＩデバイス３００−１〜３００−３のいずれか）は、ホストバス８１０の使用権を獲得することになる。【０００７】
ここで、ホストバス８１０の使用は、バスマスタにより、アクセスしたいメモリアドレスとともに、そのアクセスの種類（読み出し・書き込み等）を示すバスコマンドが送出されることにより行なわれる。つまり、バスマスタによるホストバス８１０の使用は、ＣＰＵがホストバス８１０を使用して機器のデータを読み書きする動作と同様に行なわれる。
なお、ＰＣＩバス仕様が広まる過程で、ＤＭＡ動作とシステムの全体性能の関係についての研究と啓蒙が進み、システムにおいて、ＤＭＡ要求を細切れに行なうことは、システム全体の効率を下げるということが知られている。つまり、バスマスタが実行するＤＭＡによって、メインメモリ１０００に対して読み書きされるデータ量が増加している（例えば数Ｋバイト〜数Ｍバイト程度）。このため、コンピュータシステム１００において、ＤＭＡ要求に対し細切れ（例えば数バイトごと）にアクセス許可を与えると、ＤＭＡ要求の発行及び許可が繰り返し行なわれるため、システム全体の処理効率を低下させることとなる。【０００８】
このような理由等により、バスアービタ４００では、より速くＤＭＡ要求に対応するような設計が行なわれていた。
ところで、近年のコンピュータシステムの処理速度の高速化に伴い、ＣＰＵには大容量のキャッシュメモリ（Cache Memory；以下、ＣＭという）２２０が搭載されることがある。このようなＣＰＵを搭載するマルチマスタシステムは、バススヌープ機能を備えることが要求される。【０００９】
ＣＭ２２０には、データとともに、そのデータがメインメモリ１０００のどこにあるかというアドレス情報が組になって格納される。バス上の各機器がホストバス８１０を使用してメインメモリ１０００に書き込み動作を行なう際、メインメモリ１０００とＣＭ２２０との間のコヒーレンシを保つため、メモリコントローラ９００を介してメインメモリ１０００に書き込まれたデータは、ＣＰＵのＣＭ２２０にも反映させる必要がある。【００１０】
バススヌープは、ホストバス８１０上の各機器がバス動作を監視し、ホストバス８１０上を伝送されるメモリアドレス１０００について、自身の持つＣＭ２２０の中に相当するアドレス情報が存在するかどうかを検出することである。ホストバス８１０上を伝送されるメモリアドレスに相当するアドレス情報が自身の持つＣＭ２２０から検出されれば、ホストバス８１０上の各機器は、当該アドレス情報に応じてＣＭ２２０の更新などの動作を行なう。このように、各機器は、ホストバス８１０上に流れているメモリアドレスと、ＣＭ２２０にある全てのアドレス情報とを、全てのアクセス動作の都度、比較することになる。【００１１】
次に、ＣＭ２２０を備えたＣＰＵに対する電力制御について説明する。
ＣＰＵで実行されるタスクは、ＯＳ（Operating System）が管理しており、実行するタスクが無い場合（アイドル状態の場合）に、ＯＳは、ＣＰＵを停止あるいは電源断とすることにより、ＣＰＵにおける無駄な電力消費を抑止する。例えば、ＣＰＵがライトバック方式のＣＭ２２０を備える場合、ＯＳによる電源断に先立ち、ＣＰＵは、ＣＭ２２０に格納されているデータをメインメモリ１０００に反映する処理を行なう。【００１２】
このＣＰＵによる反映処理は、ＣＭ２２０からメインメモリ１０００の内容と相違のある部分を検索し、相違のある部分のデータをメインメモリ１０００に書き出すことにより行なわれる。この反映処理には、ＣＭ２２０のサイズやメモリの性能に応じた時間を要することになる。近年では、６Ｍバイト程度の容量のＣＭ２２０を備えるＣＰＵもあり、ＣＰＵによる反映処理によってＣＭ２２０の内容を全てメインメモリ１０００に書き出すためには、数ミリ秒かかることもある。【００１３】
なお、このような電力制御を行なうコンピュータシステムには、ＣＰＵの電源を落とした後、新たなタスクの実行が行なわれる場合に発生する割り込み（ＩＲＱ；Interrupt Request）をトリガとして、自動的にＣＰＵおよびＣＭ２２０の電源を投入するハードウェアが備えられる。
次に、図１６を参照しながら、ＣＰＵに対する電力制御の手順について説明する。【００１４】
図１６は、ＯＳのアイドル状態における、ＣＭ２２０を備えたＣＰＵに対する電力制御の一例を説明するフローチャートである。
はじめに、ＯＳにより、ＣＰＵ（ＣＰＵコア２１０）ごとに備えられた電源切断タイマの初期化及びカウントが開始されるとともに（ステップＳ１）、ＣＰＵごとに、割り当てられたシステム（又はタスク）がアイドル中であるか否かが判断される（ステップＳ２）。【００１５】
システムがアイドル中でなければ、つまり実行中であれば（ステップＳ２のＮｏルート）、システムがアイドル中になるまで、例えば所定時間ごとにステップＳ１及びＳ２の処理が実行される。一方、システムがアイドル中であれば（ステップＳ２のＹｅｓルート）、ＯＳにより、アイドル中のシステム（又はタスク）に対応するＣＰＵ（コア２１０）ごとに、電源切断タイマが満了したか否かが判断される（ステップＳ３）。【００１６】
電源切断タイマが満了していない場合には（ステップＳ３のＮｏルート）、ステップＳ２の処理に移行する。一方、電源切断タイマが満了した場合には（ステップＳ３のＹｅｓルート）、当該ＣＰＵが備えるＣＭ２２０の内容がメインメモリ１０００に吐き出される（ステップＳ４）。そして、ＯＳにより、ＣＭ２２０を含むＣＰＵの電源が切断される（ステップＳ５）。【００１７】
次いで、ＩＲＱを検出するハードウェアにより、ＩＲＱが発生したと判断されると（ステップＳ６のＹｅｓルート）、ＣＰＵ及びＣＭ２２０の電源が投入され（ステップＳ７）、ＣＰＵによるシステムに係る処理及びバススヌープ処理が行なわれる。また、ステップＳ７においてＣＰＵへの電源投入が行なわれると、ステップＳ１の処理に移行する。なお、ＩＲＱが発生するまでは、ＣＰＵ及びＣＭ２２０の電源断が維持される（ステップＳ６及びステップＳ６のＮｏルート）。【００１８】
このような処理により、ＣＰＵの電力制御が行なわれる。
なお、関連する技術として、データ転送を効率的に行なうと共に、バスを独占することのなくＤＭＡ方式でのデータ転送を可能とするために、ＤＭＡユニット制御部が、ＣＰＵからＯＮ状態のＤＭＡ転送要求信号が供給されている間、ＤＭＡ動作イネーブル信号の状態に応じて、システムバスの使用権をＣＰＵに対して要求したり、システムバスの使用権をＣＰＵに開放する技術がある。【００１９】
また、関連する他の技術として、スリープ中のＣＰＵとメモリに対して転送制御部の指令によりクロック生成部からＤＭＡ転送を行なうタイミングで高速のクロックを必要な期間だけ供給して、まとめてＤＭＡを行なわせるクロック制御を行なうことで、低電力化を図るものがある。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開２０００−９００４５号公報
【特許文献２】特開２００５−１９０３３２号公報
【発明の概要】
【発明が解決しようとする課題】
【００２１】
ＣＭが大容量化するにつれて、バススヌープ処理においてＣＰＵにより比較されるアドレス情報も増大する。
ＣＭは、ＣＰＵとメインメモリとの間のデータのやり取りを高速に行なうために設けられるものであるため、ＣＰＵが、データがホストバス上を流れる度にバススヌープ処理によりアドレス情報を逐次比較することは、処理時間の増大の観点から好ましくない。そこで、例えば比較器を必要な数だけ備えて、同時に比較動作を実行させることも考えられるが、比較器の数に応じた電力を消費することとなる。この消費電力は、ＣＭの容量やキャッシュ方式などにより変わってくるが、ＣＭの大容量化や高速化が進んだ近年では、ＣＰＵの消費する電力の４０％程度をＣＭが使う例もある。【００２２】
ところで、近年、ＣＰＵが電力制御のための機能を備えることがあるが、ＣＭの電力消費を抑制することは難しい。ＣＰＵとしては動作を停止して電力消費を低減できる場合でも、他のバスマスタがホストバスを使っている限り、バススヌープのために少なくともＣＭの部分を稼働状態にしておく必要があるためである。
ＣＭの消費電力を削減するには、ＣＭの内容を空にしてからキャッシュ動作を停止させることになる。しかし、上述のように、ＣＭを空にする負担は大きく、特にライトバック方式のＣＭを使っている場合、相応の時間と電力を必要とする。さらに、ＣＭが動作していない状態（電源断の状態）では、ＣＰＵを動作させてもまともな性能を出すことが難しく、ＣＰＵの動作を再開するには、ＣＭも稼働状態に戻すことになる。【００２３】
このように、ＣＭにおける停止・稼働状態間の状態遷移にも時間と電力を使うため、遷移の頻度が上がると消費電力はかえって増えることもある。遷移の頻度は、ＤＭＡ要求や割り込み処理を要求するデバイスに応じて変わり、またメモリ性能によっても変化する。また、デバイスは、ＤＭＡ要求や割り込み処理の要求が受け付けられるまでの時間が長くなると、性能が低下したり、最悪の場合には動作を継続できなくなることもある。よって、従来、コンピュータシステム（ホストバス等）は、各デバイスからの割り込み要求に対してはなるべく速く応答し、処理速度の低下を抑えるように設計されることが多く、電力消費の削減が進まないという問題があった。【００２４】
以上のように、マルチマスタシステムにおいてＤＭＡが発生した場合、ＣＰＵによりバススヌープ処理が行なわれ、ＣＰＵ（ＣＭ）の消費電力が増加するという問題がある。
また、ＯＳによりＣＰＵの電源が切断されている状態でＤＭＡが発生した場合には、ＣＰＵ（ＣＭ）の電源が投入され、ＣＭが停止状態から稼働状態に遷移する結果、処理時間及び消費電力が増加するという問題がある。【００２５】
上述の点に鑑み、本件の目的の１つは、情報処理装置において、ＤＭＡの如きメモリアクセスが発生した場合の消費電力を低減させることである。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【００２６】
本件の情報処理装置は、メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除するタイミング調整部と、を備えるものである。【００２７】
また、本件のスケジューリング方法は、メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、を備える情報処理装置における前記メモリアクセス要求のスケジューリング方法であって、前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除するものである。
【発明の効果】
【００２８】
開示の技術によれば、情報処理装置において、ＤＭＡの如きメモリアクセスが発生した場合の消費電力を低減させることができる。
【図面の簡単な説明】
【００２９】
【図１】一実施形態としての情報処理装置の構成例を示す図である。
【図２】本実施形態に係る情報処理装置におけるバスアービタの構成例を示す図である。
【図３】本実施形態に係るＴＡの保留時間の設定処理の一例を説明する図である。
【図４】本実施形態に係る情報処理装置における、ＤＭＡ要求が発生してからＤＭＡ要求が管理部に送信されるまでの処理の一例を説明するフローチャートである。
【図５】本実施形態に係る情報処理装置における、ＤＭＡ要求が発生してからＤＭＡが実行されるまでの動作を説明するタイムチャートである。
【図６】本実施形態の第１変形例としての情報処理装置の構成を示す図である。
【図７】本実施形態の第１変形例に係るＴＡの保留時間の設定処理を説明する図である。
【図８】本実施形態の第１変形例に係るＴＡの保留処理を説明する図である。
【図９】本実施形態の第２変形例としての情報処理装置の構成を示す図である。
【図１０】本実施形態の第２変形例に係るＴＡの保留時間の設定処理を説明する図である。
【図１１】本実施形態の第２変形例に係る情報処理装置における、ＤＭＡ要求が発生してからＤＭＡ要求が管理部に送信されるまでの処理を説明するフローチャートである。
【図１２】本実施形態に係る情報処理装置のシステムへの適用例を示す図である。
【図１３】本実施形態に係る情報処理装置のハードウェア構成例を示す図である。
【図１４】ＤＭＡ要求を発行する機器を備えるコンピュータシステムの構成例を示す図である。
【図１５】マルチマスタシステムにおけるＤＭＡ要求の調停を行なうバスアービタの構成例を示す図である。
【図１６】ＣＭを備えたＣＰＵに対する電力制御の一例を説明するフローチャートである。
【発明を実施するための形態】
【００３０】
以下、図面を参照して実施の形態を説明する。
〔１〕一実施形態
〔１−１〕情報処理装置の構成例
図１は、一実施形態としての情報処理装置１の構成例を示す図であり、図２は、情報処理装置１におけるバスアービタ４の構成例を示す図である。
【００３１】
情報処理装置１は、サーバやＰＣ等のコンピュータシステム（マルチマスタシステム）であり、ＣＰＵコア２１及びＣＭ２２を備える少なくとも一つ（図１に示す例では一つ）のＣＰＵ（処理部）２と、ＤＭＡを実行可能なＰＣＩデバイス３−１〜３−３とを備える。また、情報処理装置１は、バスアービタ４と、タイミングアジャスタ（Timing Adjuster；以下、ＴＡという）５−１〜５−３と、システムバス６と、バスブリッジ７と、ホストバス８１及びバスアービタ８２を備える管理部８と、メモリコントローラ９と、メインメモリ１０とを備える。
【００３２】
ここで、本実施形態に係る情報処理装置１では、ＣＰＵ２により、ホストバス８１上を通過するアドレス情報及びデータについてバススヌープ処理が行なわれる。
また、情報処理装置１は、ＣＰＵ２により実行されるＯＳによって、図１６に示すようなＣＰＵ２に対する電力制御が行なわれる。つまり、情報処理装置１においては、システム（又はタスク）がアイドル中の場合には、ＯＳによりＣＭ２２を含むＣＰＵ２の電源が切断される。
【００３３】
ＣＰＵコア２１は、種々の制御や演算を行なう処理装置であり、ＰＣＩデバイス３−１〜３−３や図示しないＲＯＭ（Read Only Memory）等に格納されたプログラムを実行することにより、種々の機能を実現する。
ＣＭ２２は、ＣＰＵコア２１とメインメモリ１０との間で転送されるデータ及びそのデータのアドレス情報を保持するものであり、ＣＰＵ２は、少なくとも一つのＣＭ２２を介してメインメモリ１０に対するアクセスを行なう。なお、本実施形態に係るＣＭ２２は、ライトバック方式を採用するものとする。
【００３４】
メインメモリ（主記憶装置；メモリ）１０は、種々のデータやプログラムを一時的に格納する記憶装置であって、ＣＰＵ２がプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。なお、メインメモリ１０としては、例えばＲＡＭ（Random Access Memory）等の揮発性メモリが挙げられる。
メモリコントローラ９は、ＣＰＵ２やバスマスタとしてのＰＣＩデバイス３−１〜３−３から、メインメモリ１０へのアクセス等を制御するものである。
【００３５】
ＰＣＩデバイス３−１〜３−３は、それぞれシステムバス６に接続されたＵＨＣＩやＡＨＣＩ等のホストコントローラであり、ＵＳＢやＳＡＴＡ等のインタフェースによって、図示しないＨＤＤ等の記憶装置等が接続される。このＨＤＤ等は、データやプログラムを保持し、ＣＰＵ２によってアクセスされるとともに、メインメモリ１０に対するＤＭＡ要因として構成される。
【００３６】
また、ＰＣＩデバイス３−１〜３−３（以下の説明においてＰＣＩデバイス３−１〜３−３を区別しない場合には単に符号３で示す）は、メインメモリ１０に対するＤＭＡ要求（メモリアクセス要求）Ａ〜Ｃを発行する、バスマスタ（ＤＭＡ要求の発行元；アクセス部）として機能する。
バスアービタ（調停部）４は、ＰＣＩデバイス３から発行されたＤＭＡ要求Ａ〜Ｃを調停するものであり、図２に例示するように、上述したバスアービタ４００と同様に、同期化処理部４１及び４３と、調停処理部４２と、を備える。
【００３７】
また、バスアービタ４は、後述するＴＡ５−１〜５−３に対応したレジスタ４４−１〜４４−３を備える。
同期化処理部４１は、ＰＣＩデバイス３−１〜３−３から発行されたＤＭＡ要求Ａ〜Ｃの入力タイミングを調整するものであり、同期化処理部４３は、バスアービタ４におけるアービトレーション（調停）の結果を示すＤＭＡ許可（メモリアクセス許可；出力信号）Ａ′〜Ｃ′の出力タイミングを調整するものである。
【００３８】
調停処理部４２は、同期化処理部４１で入力タイミングが調整されたＤＭＡ要求Ａ〜Ｃについて調停を行ない、いずれかのＤＭＡ要求を受け付けるとともに、受け付けたＤＭＡ要求に対応する出力信号（Ａ′〜Ｃ′のうちのいずれか）を出力する。この出力信号Ａ′〜Ｃ′を入力されたＰＣＩデバイス３は、ホストバス８１の使用権を獲得し、ＤＭＡを実行することになる。
【００３９】
なお、調停処理部４２は、入力されたＤＭＡ要求Ａ〜Ｃに対して、予め設定された調停条件に応じた調停を行なう。調停条件としては、例えばＤＭＡ要求を発行した機器間での優先順位、先着順（早いもの勝ち）、確率分散等の条件が挙げられる。
また、調停処理部４２は、ＤＭＡ要求Ａ〜Ｃが入力されると、バスブリッジ７を介して管理部８（上位バスであるホストバス８１側のバスアービタ８２）に対してＤＭＡ要求Ｄを発行する。調停処理部４２は、管理部８からＤＭＡ要求Ｄに対するＤＭＡ許可信号Ｅを受信すると、入力されたＤＭＡ要求Ａ〜Ｃに係る調停処理を実行する。
【００４０】
ホストバス８１は、ＣＰＵ２、図示しない他のデバイス、メモリコントローラ９、及びバスブリッジ７の間でデータ等の伝送を行なうバスであり、ＣＰＵコア２１は、ホストバス８１を介してＣＭ２２やメモリコントローラ９へのアクセスを行なう。また、ホストバス８１は、ＤＭＡによりＰＣＩデバイス３とメインメモリ１０（メモリコントローラ９）との間で送受信されるアドレス情報やデータを伝送する。
【００４１】
バスアービタ８２は、ＣＰＵ２や図示しない他のデバイスによるホストバス８１へのアクセスを調停するものである。また、バスアービタ８２は、バスアービタ４からＤＭＡ要求Ｄが入力されると、ホストバス８１の使用状態に応じて、ＤＭＡ許可信号Ｅを送信する。
具体的には、管理部８（バスアービタ８２）は、バスアービタ４からＤＭＡ要求Ｄが入力されると、ホストバス８１の使用状態に応じて、ＤＭＡ発行元にホストバス８１を使用させるか否か、つまりメインメモリ１０へのアクセスを許可するか否かを判断する。そして、管理部８は、ＤＭＡ要求Ｄについて、ホストバス８１を使用したメインメモリ１０へのアクセスを許可する場合、ＤＭＡ許可信号Ｅを送信（有効化；アサート）する。なお、管理部８がホストバス８１の使用許可を与える場合としては、例えばホストバス８１がＣＰＵ２や他のデバイスに使用されていない場合等が挙げられる。
【００４２】
ＤＭＡ許可信号Ｅにより管理部８にメインメモリ１０へのアクセスを許可されたバスアービタ４は、調停結果に応じたＰＣＩデバイス３に対してＤＭＡ許可（出力信号）を発行し、出力信号を受けたＰＣＩデバイス３は、発行された出力信号に応じて、メインメモリ１０に対するメモリアクセスを実行する。
上述した動作により、管理部８は、バスアービタ４による調停結果に応じたＤＭＡ要求の発行元のＰＣＩデバイス３に対して、メインメモリ１０に対するＤＭＡ（メモリアクセス）を実行させる。
【００４３】
なお、管理部８及びバスアービタ４により、ホストバス８１の使用許可を与えられたＰＣＩデバイス３は、ホストバス８１の使用により書き込みアクセスを行なう場合には、書き込むべきデータをシステムバス６に送出する。一方、ホストバス８１の使用により読み出しアクセスを行なう場合には、ＰＣＩデバイス３は、読み出されたデータがメインメモリ１０からシステムバス６上に送られてくるのを待って、そのデータを受信する。
【００４４】
システムバス６は、ＰＣＩデバイス３から発行されたＤＭＡ要求Ａ〜Ｃに係るアクセス先のアドレスや読み書きされるデータ等が伝送されるバスであり、例えばＰＣＩバスである。
バスブリッジ７は、システムバス６（及びバスアービタ４）と、ホストバス８１（及びバスアービタ８２）との間で相互にバスサイクルをやり取りするデバイスである。
【００４５】
また、バスブリッジ７は、ＯＳによる電源制御によってＣＰＵ２の電源が切断されたことを検出する。
具体的には、バスブリッジ７は、ＣＰＵ２の電源を管理する図示しない電源回路から、ＣＰＵ２のうちの少なくともＣＭ２２の電源状態を取得する（又は通知される）ように構成される。つまり、バスブリッジ７は、ＯＳによるＣＰＵ２の電力制御によってＣＰＵ２に供給される電力が切断され、少なくとも一つのＣＭ２２が電源断となった場合、電源回路から、少なくとも一つのＣＭ２２が電源断の状態であることを取得する（又は通知される）ことができる。
【００４６】
ＴＡ（タイミング調整部）５−１〜５−３（以下の説明においてＴＡ５−１〜５−３を区別しない場合には単に符号５で示す）は、ＰＣＩデバイス３により発行されたＤＭＡ要求Ａ〜Ｃに係る処理を、予め設定された保留時間の間、保留するものである。
なお、図１及び図２に示すＴＡ５−１〜５−３は、それぞれ、ＰＣＩデバイス３ごとに備えられる。また、図２に示すように、ＴＡ５−１〜５−３は、ＰＣＩデバイス３に対応して、ＤＭＡの保留時間を指定するタイマ５−１ａ〜５−３ａを備える。
【００４７】
なお、本実施形態における情報処理装置１は、一のタイマを備えるＴＡ５を複数備えているが、これに限定されるものではなく、複数のタイマ５−１ａ〜５−３ａを備える一のＴＡ５を備えても良い。なお、図２においては、ＴＡ５を一つのブロックで示している。
ここで、ＤＭＡ要求に係る処理とは、図１及び図２に示す例においては、ＰＣＩデバイス３からバスアービタ４へのＤＭＡ要求Ａ〜Ｃの発行をいう。つまり、図１及び図２に示す例においては、ＴＡ５は、それぞれ対応するＰＣＩデバイス３から発行されるＤＭＡ要求Ａ〜Ｃを、予め設定された保留時間の間、保留する。
【００４８】
〔１−２〕ＴＡの説明
上述したように、ＣＰＵ２は、ＰＣＩデバイス３によるＤＭＡ動作が発生すると、ＣＭ２２のバススヌープ処理を行なう。言い換えれば、ＰＣＩデバイスによるＤＭＡ動作がＣＰＵ２の電源が切断されている間に行なわれれば、ＣＭ２２のバススヌープ処理は不要となる。一度停止したＣＰＵ２（及びＣＭ２２）は、ホストバス８１の使用要求に応答するだけであれば、バススヌープ動作を行なう必要がなく、ＣＭ２２の記憶領域は、電力断により空になっているはずだからである。
【００４９】
ここで、ＰＣＩデバイス３は、ＣＰＵ２が電源断となるタイミングに合わせてＤＭＡ要求Ａ〜Ｃを発行することが望ましいが、ＤＭＡ要求Ａ〜Ｃが発行されるタイミングは、各周辺機器やＣＰＵ２に応じて不規則に決定されるため、ＰＣＩデバイス３によって制御をすることが難しい。
そこで、本実施形態における情報処理装置１は、ＣＰＵ２が電源断となるタイミングを待つためのＴＡ５をバスアービタ４の前段に備え、ＴＡ５において、ＰＣＩデバイス３から発行されるＤＭＡ要求Ａ〜Ｃの発行タイミングを調節する。そして、ＴＡ５により、ＤＭＡ要求Ａ〜Ｃをできるだけ遅延させることで、遅延されたＤＭＡ要求Ａ〜Ｃのバスアービタ４への入力がＣＰＵ２の電源断のタイミングに当たる確率を上げることができる。
【００５０】
これにより、本実施形態における情報処理装置１は、ＣＰＵ２の電源断のタイミングになるまで、ＴＡ５によりＤＭＡ要求を待たせることで、ＣＰＵ２によるバススヌープ動作を抑止し、情報処理装置１全体としての消費電力を削減することができる。
ここで、ＤＭＡ要求Ａ〜ＣをＴＡ５においてどの程度の時間保留させるかという問題がある。発行されたＤＭＡ要求Ａ〜Ｃが保留されても良い最大保留時間（遅延限界時間）は、周辺機器（ＰＣＩデバイス３）やＣＰＵ２によって異なる。しかし、周辺機器は、ＯＳによるＣＰＵ２の電力制御において、少なくともＣＰＵ２が電源断の状態から電源が供給されるまでの状態遷移に要する時間は待たされても破綻しないように設計されているはずである。
【００５１】
従って、ＴＡ５に設定される保留時間は、対応するＤＭＡ要求の発行元のＰＣＩデバイス３において、遅延が許容される遅延限界時間（最大保留時間）に応じて決定されることが好ましい。
このように、周辺機器のＤＭＡ要求を遅延させることができるようになった要因の一つとして、ＰＣＩバスが標準化されたことがある。ＰＣＩバスでは、使用効率を上げるために、ある程度の領域に対して一括してアクセスするバーストアクセスが推奨されている。バーストアクセスを行なうために、各デバイスでは、バーストアクセスで転送されるデータ量に応じた容量のバッファを持つ事が求められてきた。そして、デバイスのバッファが大容量化した結果、比較的長い待ち時間に耐えることができるデバイスが普及している。デバイスにより差はあるが、ＤＭＡ要求の遅延が許容される遅延限界時間としては、少なくとも100μｓ程度の余裕はあると考えられる。
【００５２】
本実施形態においては、予め各ＰＣＩデバイス３に最大保留時間が登録されており、ＴＡ５−１〜５−３には、対応するＰＣＩデバイス３の最大保留時間が設定される。
また、情報処理装置１は、ＣＰＵ２に対して一定時間毎に割り込み（ＩＲＱ）が発生するように構成されても良い。割り込みが発生する情報処理装置１では、システムがアイドル状態の場合には、割り込み処理が実行された直後に電源断に入る。ＣＰＵ２の稼働タイミングはＯＳが管理するため、ＯＳは、次の割り込み処理が実行されるまでの時間を知ることができる。従って、ＴＡ５に設定される保留時間は、ＰＣＩデバイス３からＤＭＡ要求が発行されてから、次の割り込み処理、すなわちＣＰＵ２の電源断が行なわれるまでの時間が設定されても良い。
【００５３】
なお、情報処理装置１のシステムにおいて要求される性能によっては、各ＴＡ５に設定される保留時間は、固定（一定）としても良い。
また、各ＰＣＩデバイス３について、ＤＭＡ要求に係る処理がどれだけの時間保留されたか、及び保留された結果エラーが発生したか、等を監視する機構を設け、監視結果に基づいて、経験的にＴＡ５に設定される保留時間が決定されても良い。なお、ＤＭＡ要求に係る処理が保留された結果エラーが発生した場合には、エラー回復を行なうことが望ましいが、エラー処理や回復処理については、既知の種々の手法により行なうことが可能であり、その詳細な説明は省略する。
【００５４】
上述のように、本実施形態におけるＴＡ５は、ＤＭＡ要求Ａ〜Ｃが入力されたときに、ＣＰＵ２（ＣＭ２２）が通電状態であれば、当該ＤＭＡ要求に係る処理を保留する一方、保留時間が満了する前にＣＰＵ２における少なくとも一つのＣＭ２２の電源がオフになった場合に、ＤＭＡ要求に係る処理の保留を解除する。
また、ＴＡ５は、保留時間が満了した場合、つまり、ＤＭＡ要求を保留している時間が最大保留時間を超えた場合にも、ＤＭＡ要求に係る処理の保留を解除する。
【００５５】
なお、ＴＡ５は、保留していたＰＣＩデバイス３からのＤＭＡ要求の保留を解除すると、当該ＤＭＡ要求をバスアービタ４に入力する。
なお、ＴＡ５は、ＣＰＵ２（ＣＭ２２）が電源断の状態になったことを、上述したバスブリッジ７から取得する（又は通知される）ことにより検知する。
また、ＤＭＡ要求Ａ〜Ｃが発行されたときに、すでにＣＰＵ２（ＣＭ２２）が電源断の状態である場合、つまり少なくとも一つのＣＭ２２の電源がオフである間は、ＴＡ５は、ＤＭＡ要求に係る処理の保留を抑止して、当該ＤＭＡ要求をバスアービタ４に入力する。すなわち、情報処理装置１は、ＤＭＡ要求について即時応答を行なう。
【００５６】
さらに、ＴＡ５において複数のＤＭＡ要求に係る処理が保留されている状態で、ＣＭ２２の電源がオフになった場合、ＴＡ５は、保留時間が満了していないＤＭＡ要求のうちの残保留時間が少ないＤＭＡ要求から順に、ＤＭＡ要求に係る処理の保留を解除するように構成されても良い。また、ＴＡ５において保留されているＤＭＡ要求の保留時間が満了した場合には、ＴＡ５は、保留時間が満了したＤＭＡ要求から順に、ＤＭＡ要求に係る処理の保留を解除することが好ましい。これにより、ＴＡ５において保留されているＤＭＡ要求に係る処理の過大な遅延を防ぐことができ、ＤＭＡ要求の発行元で処理が継続できなくなる等の、ＰＣＩデバイス３に与える影響を抑えることができる。
【００５７】
次に、図３を参照しながら、ＴＡ５の保留時間の設定処理について説明する。
図３は、ＴＡ５の保留時間の設定処理の一例を説明する図である。
各ＰＣＩデバイス３には、ＰＣＩ仕様で管理されているベンダＩＤ（ＶＩＤ；Vendor ID）と、各ベンダで管理されているデバイスＩＤ（ＤＩＤ；Device ID）とが設定されている。例えば、図３に示すように、ＰＣＩデバイス３−１及び３−２としてのＵＨＣＩには、“VID=8086, DID=1C26”が設定されている一方、ＰＣＩデバイス３−３としてのＡＨＣＩには、“VID=8086, DID=1C03”が設定されている。
【００５８】
本実施形態においては、ＯＳ等により、これらＶＩＤ及びＤＩＤが用いられてＰＣＩデバイス３の識別が行なわれることで、異種デバイス間の重複を避け、同種のデバイス毎に特性の管理が行なわれる。
図３に示す保留時間データベース（ＤＢ）１１は、例えばＰＣＩデバイス３に接続されたＨＤＤや図示しないメモリ等の記憶領域に設定され、保留時間テーブル１２を備える。
【００５９】
保留時間テーブル１２は、ＶＩＤ及びＤＩＤの組ごとに最大保留時間が対応付けられたテーブルである。図３に例示する保留時間テーブル１２には、“VID=8086, DID=1C26”のデバイス（ＵＨＣＩ）に遅延限界時間（最大保留時間）“1ms”が設定され、“VID=8086, DID=1C03”のデバイス（ＡＨＣＩ）に遅延限界時間“500μs”が設定されている。これらの遅延限界時間は、デバイスごとに要求されるものであり、ＯＳによって、予めＰＣＩデバイス３から読み取られて収集される。
【００６０】
ＯＳは、情報処理装置１が起動したときや、ＰＣＩデバイス３が接続されたとき（周辺機器の接続構成が変更されたとき）等に、情報処理装置１に実装された各デバイスの特性（最大保留時間）を、各デバイスのＶＩＤ及びＤＩＤに基づいて、保留時間テーブル１２から取得する。また、ＯＳは、保留時間テーブル１２から取得したデバイスごとの最大保留時間を、各デバイスに対応したレジスタ４４−１〜４４−３（以下の説明においてレジスタ４４−１〜４４−３を区別しない場合には単に符号４４で示す）に対して設定する。
【００６１】
バスアービタ４の各レジスタ４４は、設定された最大保留時間（保留時間）を保持する。そして、ＴＡ５−１〜５−３は、対応するレジスタ４４−１〜４４−３から保留時間を取得して、取得した保留時間に基づいて、ＤＭＡ要求に係る処理の保留を行なう。
このように、バスアービタ４が備えるレジスタ４４は、ＤＭＡ要求の発行タイミングを調整するための保留時間を、ＰＣＩバス仕様に基づいて設定され保持することにより、ＴＡ５に設定される保留時間を決定する。なお、ＰＣＩのバス調停は中央集中管理方式であるため、本実施形態においては、ＤＭＡ要求発行のタイミング調整も、中央リソースであるバスアービタ４において集中管理させる方式を採っている。これにより、ＯＳは、ＰＣＩデバイス３ごとの保留時間を、バスアービタ４の各レジスタ４４に書き込むだけで容易に設定することができる。また、ＴＡ５−１〜５−３は、上述のようにして設定された保留時間を用いてタイマ５−１ａ〜５−３ａを個別に制御し、ＤＭＡ要求に係る処理の保留時間を柔軟に管理することができる。
【００６２】
なお、ＴＡ５に設定される保留時間は、上述した手法に限られず、他の手法により設定されても良い。
〔１−３〕動作例
次に、上述の如く構成された本実施形態に係る情報処理装置１における、ＤＭＡ要求Ａ〜Ｃが発生した場合の処理の一例を説明する。
【００６３】
はじめに、図４を参照しながら、発行されたＤＭＡ要求Ａ〜Ｃに係る処理のＴＡ５による保留手順について説明する。
図４は、本実施形態に係る情報処理装置１における、ＤＭＡ要求Ａ〜Ｃが発生してからＤＭＡ要求Ｄが管理部８に送信されるまでの処理の一例を説明するフローチャートである。
【００６４】
なお、以下、ＯＳにより、予め保留時間テーブル１２からＰＣＩデバイス３ごとの最大保留時間が取得され、バスアービタ４のレジスタ４４に設定されているものとして説明する。
情報処理装置１において、ＰＣＩデバイス３からＤＭＡ要求Ａ〜Ｃが発行されてＴＡ５に入力されると（ステップＳ１１のＹｅｓルート）、ＴＡ５により、少なくとも１つのＣＭ２２の電源がオフであるか否かが判断される（ステップＳ１２）。
【００６５】
少なくとも１つのＣＭ２２の電源がオフであると判断された場合（ステップＳ１２のＹｅｓルート）、ＴＡ５により、入力されたＤＭＡ要求Ａ〜Ｃがバスアービタ４に出力され、バスアービタ４により、当該ＤＭＡ要求の調停が行なわれる（ステップＳ１７）。
一方、ステップＳ１２において、ＣＭ２２の電源がオンであると判断された場合（ステップＳ１２のＮｏルート）、ＴＡ５により、ＤＭＡ要求の発行元３に対応するタイマ５−１ａ〜５−３ａが初期化され、入力されたＤＭＡ要求Ａ〜Ｃのバスアービタ４への出力が保留される（ステップＳ１３）。
【００６６】
ステップＳ１３の処理が実行されると、ＴＡ５により、ＣＭ２２の電源がオフに遷移したか否かが判断される（ステップＳ１４）。ＣＭ２２の電源がオフに遷移したと判断された場合（ステップＳ１４のＹｅｓルート）、ＴＡ５により、ＤＭＡ要求Ａ〜Ｃに係る処理の保留が解除され（ステップＳ１６）、ステップＳ１７の処理に移行して、ＤＭＡ要求Ａ〜Ｃに係る処理が実行される。
【００６７】
一方、ステップＳ１４において、いずれのＣＭ２２の電源もオンの状態であると判断された場合（ステップＳ１４のＮｏルート）、ＴＡ５により、タイマ５−１ａ〜５−３ａの値に基づいて、保留時間が満了したか否かが判断される（ステップＳ１５）。
保留時間が満了していないと判断された場合（ステップＳ１５のＮｏルート）、ステップＳ１４の処理に移行する。一方、保留時間が満了したと判断された場合（ステップＳ１５のＹｅｓルート）、ステップＳ１６の処理に移行する。
【００６８】
次いで、図５を参照しながら、ＤＭＡ要求Ａ〜Ｃが発生してからＤＭＡが実行されるまでの動作を説明する。
図５は、本実施形態に係る情報処理装置１における、ＤＭＡ要求Ａ〜Ｃが発生してからＰＣＩデバイス３によりＤＭＡが実行されるまでの動作を説明するタイムチャートである。
【００６９】
なお、図５においては、ＰＣＩデバイス３−１をデバイスＡと表記し、ＰＣＩデバイス３−２をデバイスＢと表記している。
はじめに、タイミングＴ１において、ＰＣＩデバイス３−１からＴＡ５−１にＤＭＡ要求Ａが発行される。タイミングＴ１においてＣＭ２２の電源がオンであるため、ＴＡ５−１では、タイマ５−１ａにより、レジスタ４４−１に設定された保留時間（最大保留時間）の間、ＤＭＡ要求Ａに係る処理が保留される。
【００７０】
タイミングＴ２において、ＣＭ２２の電源がオフに遷移すると、ＴＡ５−１では、タイマ５−１ａによるＤＭＡ要求に係る処理の保留が解除され、タイミングＴ３において、遅延したＤＭＡ要求（以下、遅延ＤＭＡ要求という）Ａがバスアービタ４に出力される。
遅延ＤＭＡ要求Ａが入力されたバスアービタ４は、タイミングＴ４において、調停処理部４２により、ＤＭＡ要求Ｄをバスブリッジ７を介して管理部８に発行する。
【００７１】
また、タイミングＴ５において、ＰＣＩデバイス３−２からＴＡ５−２にＤＭＡ要求Ｂが発行される。タイミングＴ５においてＣＭ２２の電源がオフであるため、ＴＡ５−２では、タイマ５−２ａによるＤＭＡ要求Ｂに係る処理の保留が行なわれず、タイミングＴ６において、当該ＤＭＡ要求Ｂはバスアービタ４に出力される。
ＤＭＡ要求Ｄが入力された管理部８では、バスアービタ８２によりホストバス８１が使用されていないことが確認され、タイミングＴ７において、ＤＭＡ許可信号Ｅがアサートされる。
【００７２】
バスアービタ４では、ＤＭＡ許可信号Ｅがアサートされると、調停処理部４２により、入力されているＤＭＡ要求Ａ及びＢが調停される。図５に示す例では、バスアービタ４は、ＤＭＡ要求Ａを選択し（受け付け）、タイミングＴ８において、出力信号（ＤＭＡ許可；図５中“Grant”と表記）Ａ′をＰＣＩデバイス３−１に出力する。
次いで、アービトレーションの勝者として出力信号Ａ′を入力されたＰＣＩデバイス３−１により、ＤＭＡによるメモリアクセスが実行され、ＤＭＡが完了すると、ＤＭＡ要求Ａが取り下げられる（タイミングＴ９）。ＤＭＡ要求Ａが取り下げられると、バスアービタ４では、調停処理部４２により、タイミングＴ１０において出力信号Ａ′の発行が停止されるとともに、待機中のＤＭＡ要求Ｂが選択されて（受け付けられて）、タイミングＴ１１において、出力信号Ｂ′がＰＣＩデバイス３−２に出力される。
【００７３】
そして、出力信号Ｂ′を入力されたＰＣＩデバイス３−２により、ＤＭＡが実行され、ＤＭＡが完了すると、ＤＭＡ要求Ｂが取り下げられる（タイミングＴ１２）。ＤＭＡ要求Ｂが取り下げられると、バスアービタ４では、調停処理部４２により、タイミングＴ１３において出力信号Ｂ′の発行が停止される。
また、入力されているＤＭＡ要求が全て取り下げられたため、バスアービタ４では、タイミングＴ１４においてＤＭＡ要求Ｄの発行が停止され、管理部８では、タイミングＴ１５においてＤＭＡ許可信号Ｅの発行が停止される。
【００７４】
なお、ＤＭＡ要求Ｄは、ＤＭＡ要求Ａ〜Ｃのうちの少なくとも一つがバスアービタ４に入力されている間、バスアービタ４から発行される。また、ＤＭＡ許可信号Ｅは、ＤＭＡ要求Ｄが管理部８に入力されており、且つ、ホストバス８１がＤＭＡのために開放可能である間、アサートされる。
このように、本実施形態に係る情報処理装置１によれば、ＴＡ５において、ＤＭＡ要求に係る処理を保留し、少なくとも一つのＣＭ２２が電源断の状態となったときに、ＤＭＡ要求の発行元に対してＤＭＡの許可を与えることにより、ＣＰＵ２によるバススヌープ動作が行なわれずにＤＭＡが実行される。例えば、図１４に示す情報処理装置１００において、図５に示すようなタイミングでＤＭＡ要求Ａ及びＢが発生した場合、ＤＭＡ要求ＡはＣＰＵ２（ＣＭ２２）の電源がオンのときに発行されているため、少なくともＤＭＡ要求Ａに係るＤＭＡは、ＣＰＵ２によるバススヌープ動作を生じさせることになる。
【００７５】
従って、本実施形態に係る情報処理装置１によれば、ＤＭＡが行なわれる際のバススヌープ動作に係る消費電力を抑制することができる。また、ＣＰＵ２（ＣＭ２２）の電源がオフのときにＤＭＡが実行されるため、ＤＭＡのためにＣＭ２２の電源をオフからオンに遷移させずに済み、ＣＭ２２の起動のための消費電力を抑止することができる。
なお、情報処理装置１により削減できる消費電力は、システムの稼働状態や各種デバイスの要求仕様により異なる。例えばＯＳの割り込み（ＩＲＱ）に係るインターバルタイマの周期と、ＰＣＩデバイス３によるＤＭＡ要求Ａ〜Ｃの発行の周期とが一致するようにシステムを構成すれば、ＣＰＵ２（ＣＭ２２）が電源断の状態のときにＤＭＡ要求が発行されることになるため、ＣＭ２２の起動やバススヌープのための消費電力を抑止することができる。例えばＣＭ２２の消費電力がＣＰＵ２全体の消費電力の４０％を占めるような場合では、アイドル状態のＣＰＵ２における消費電力の４０％を削減できることになる。また、インターバルタイマの周期とＤＭＡ要求Ａ〜Ｃの発行の周期とが一致する場合には、ＤＭＡ要求の保留時間も抑えることができ、ＤＭＡに係る処理時間を増大させずに済む。
【００７６】
また、本実施形態に係るＴＡ５は、保留時間が満了した場合に、ＤＭＡ要求に係る処理の保留を解除するため、保留時間の間にＣＭ２２の電源がオフにならなかった場合でも、情報処理装置１は、ＤＭＡ要求に係る処理を確実に実行することができる。
さらに、ＴＡ５は、少なくとも一つのＣＭ２２の電源がオフである間は、ＰＣＩデバイス３により発行されたＤＭＡ要求に係る処理の保留を抑止するため、ＤＭＡ要求が発生したときにＣＭ２２の電源がオフである場合には、ＤＭＡに係る処理時間を、図１４に示す情報処理装置１００の場合と同程度に抑えることができる。
【００７７】
また、ＴＡ５に設定される保留時間は、複数のＰＣＩデバイス３ごとに設定され、各保留時間は、それぞれ、対応するＰＣＩデバイス３ごとに決定される最大保留時間となる。これにより、ＰＣＩデバイス３ごとの仕様に応じた適切な保留時間をＴＡ５に設定することができ、ＴＡ５において保留されているＤＭＡ要求に係る処理の過大な遅延を防ぐことができるため、ＤＭＡ要求の保留により発行元に与える影響を抑えることができる。
【００７８】
〔１−４〕第１変形例
上述した情報処理装置１においては、ＴＡ５のタイマ５−１ａ〜５−３ａはバスマスタとしてのＰＣＩデバイス３の数に対応した数が備えられていたが、これに限定されるものではなく、ＰＣＩデバイス３に対して一つのタイマが備えられても良い。
図６は、本実施形態の第１変形例としての情報処理装置１の構成を示す図であり、図７は、第１変形例に係るＴＡ５の保留時間の設定処理を説明する図であり、図８は、第１変形例に係るＴＡ５の保留処理を説明する図である。
【００７９】
なお、図６及び図７に示す情報処理装置１において既述の符号と同一の符号は、図１及び図３に示す情報処理装置１と同一の部分若しくは略同一の部分を示しているため、重複した説明は省略する。
図６及び図７に示すように、第１変形例に係る情報処理装置１は、一のＴＡ５−４を備え、ＴＡ５−４は、ＰＣＩデバイス３−１〜３−３で共用されるタイマ５−４ａを備える。また、バスアービタ４は、ＴＡ５−４のタイマ５−４ａに対応した一のレジスタ４４−４を備える。
【００８０】
第１変形例に係るＴＡ５−４は、複数のＰＣＩデバイス３に対して一つの保留時間を設定される。
ＴＡ５−４は、一のＤＭＡ要求に係る処理の保留を行なっているときに、他のＤＭＡ要求に係る処理の保留を行なう場合には、一のＤＭＡ要求における残保留時間を用いて、他のＤＭＡ要求に係る処理を保留するように構成される。
【００８１】
また、第１変形例において、ＴＡ５−４の保留時間（レジスタ４４−４）には、ＰＣＩデバイス３ごとに決定されるそれぞれの最大保留時間のうちの、最小の時間が設定されることが好ましい。例えば、図７に示すように、レジスタ４４−４には、ＯＳによって、ＰＣＩデバイス３−１〜３−３のうちのＰＣＩデバイス３−３に設定される“500μs”が設定される。
【００８２】
次に、ＴＡ５−４の保留処理を図８を用いて説明する。
なお、図８に示す例において、ＤＭＡ要求Ａ〜Ｃにおけるタイミングｔ１〜ｔ３は、各ＤＭＡ要求がＴＡ５−４に入力されたタイミングを示し、各ＤＭＡ要求Ａ〜Ｃがそれぞれ最大保留時間まで発行される状態を示している。つまり、図８では、保留時間テーブル１２の設定値に基づいて、ＤＭＡ要求Ａ及びＢはそれぞれタイミングｔ１及びｔ２から“1ms”の間発行され、ＤＭＡ要求Ｃはタイミングｔ３から“500μs”の間発行される。また、図８に示す例においては、ＣＭ２２の電源はオンの状態である。
【００８３】
ＴＡ５−４は、ＰＣＩデバイス３−１〜３−３（デバイスＡ〜Ｃ）からそれぞれＤＭＡ要求Ａ〜Ｃを入力されると、最初に到来したＤＭＡ要求Ａが入力されたとき（タイミングｔ１）から、タイマ５−４ａによる保留時間のカウントを開始する。ＴＡ５−４には、保留時間のカウントを行なっている間に、ＤＭＡ要求Ｂ及びＣが入力されるが、ＴＡ５−４は、これらＤＭＡ要求Ｂ及びＣについても、カウント中のタイマ５−４ａにおける残保留時間を用いて保留を行なう。
【００８４】
そして、タイミングｔ４になるまでにＣＭ２２の電源がオフに遷移しない場合、すなわちタイマ５−４ａによる保留時間が満了した場合には、ＴＡ５−４は、ＤＭＡ要求Ａ〜Ｃに係る処理の保留を解除して、バスアービタ４に出力する。
このように、第１変形例に係る情報処理装置１によれば、上述した一実施形態に係る情報処理装置１と同様の効果を奏することができるほか、ＴＡ５（タイマ５−４ａ）を一つ備えるだけで済むため、回路構成を簡素化することができ、製造コスト等を抑えることができる。
【００８５】
また、ＴＡ５−４により、最初に到来したＤＭＡ要求における残保留時間を用いて、後発のＤＭＡ要求に係る処理が保留されるとともに、ＴＡ５−４に設定される保留時間は、ＰＣＩデバイス３ごとに決定されるそれぞれの最大保留時間のうちの、最小の時間である。従って、ＴＡ５−４に複数のＤＭＡ要求が入力されても、ＴＡ５において保留されているＤＭＡ要求に係る処理の過大な遅延を防ぐことができ、ＤＭＡ要求の保留により発行元に与える影響を抑えることができる。
【００８６】
〔１−５〕第２変形例
上述した一実施形態及び第１変形例における情報処理装置１は、ＴＡ５をＰＣＩデバイス３とバスアービタ４との間に備えたが、これに限定されるものではなく、ＴＡ５をバスアービタ４とバスブリッジ７との間に備えても良い。
図９は、本実施形態の第２変形例としての情報処理装置１の構成を示す図であり、図１０は、第２変形例に係るＴＡ５の保留時間の設定処理を説明する図であり、図１１は、第２変形例に係る情報処理装置１における、ＤＭＡ要求が発生してからＤＭＡ要求Ｄが管理部８に送信されるまでの処理を説明するフローチャートである。
【００８７】
なお、図９及び図１０に示す情報処理装置１において既述の符号と同一の符号は、図１及び図３に示す情報処理装置１と同一の部分若しくは略同一の部分を示しているため、重複した説明は省略する。
図９及び図１０に示すように、第２変形例に係る情報処理装置１は、一のＴＡ５−５を備え、ＴＡ５−５は、バスアービタ４に対応した一のタイマ５−５ａを備える。
【００８８】
第２変形例に係るＴＡ５−５は、バスアービタ４から出力されたＤＭＡ要求Ｄの発行を保留する。つまり、ＴＡ５−５は、バスアービタ４によるＤＭＡ要求Ｄの管理部８への発行処理を、ＤＭＡ要求に係る処理として、所定の保留時間の間保留する。
また、バスアービタ４は、ＴＡ５−５に対応した一のレジスタ４４−５を備える。
第２変形例において、ＴＡ５−５は、第１変形例と同様に、複数のＰＣＩデバイス３に対して一つの保留時間を設定される。
【００８９】
また、第２変形例においても、ＴＡ５−５の保留時間（レジスタ４４−５）には、第１変形例と同様に、ＰＣＩデバイス３ごとに決定されるそれぞれの最大保留時間のうちの、最小の時間が設定されることが好ましい。
次に、図１１を参照しながら、上述の如く構成された第２変形例に係る情報処理装置１における、ＤＭＡ要求が発生した場合の処理を説明する。
【００９０】
なお、図１１に示す処理において既述の符号と同一の符号は、図４に示す処理と同一の部分若しくは略同一の部分を示しているため、重複した説明は省略する。
情報処理装置１において、ＰＣＩデバイス３からＤＭＡ要求が発行され、バスアービタ４に入力されると（ステップＳ１１のＹｅｓルート）、バスアービタ４により、当該ＤＭＡ要求の調停が行なわれる（ステップＳ１７）。
【００９１】
そして、バスアービタ４により、ＤＭＡ要求ＤがＴＡ５−５に出力されると、ＴＡ５−５により、ステップＳ１２〜Ｓ１６の処理が実行される。
ステップＳ１６の処理、又はステップＳ１２においてＹｅｓルートの判断が行なわれると、ＴＡ５−５により、ＤＭＡ要求Ｄがバスブリッジ７を介して管理部８に出力される（ステップＳ１８）。
【００９２】
このように、第２変形例に係る情報処理装置１によれば、上述した一実施形態及び第１変形例に係る情報処理装置１と同様の効果を奏することができる。
また、ＴＡ５−５により、バスアービタ４から管理部８へのＤＭＡ要求Ｄの発行が保留されるため、一のＤＭＡ要求Ｄを入力されるだけで良く、第１変形例におけるＴＡ５−４の如く、複数のＤＭＡ要求Ａ〜Ｃを入力されずに済む。従って、ＴＡ５−５は、第１変形例におけるＴＡ５−４よりも簡素な構成とすることができ、製造コスト等を抑えることができる。
【００９３】
〔２〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、かかる特定の実施形態及び変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、ＴＡ５において複数のＤＭＡ要求Ａ〜Ｃに係る処理の保留を行なう場合、すなわち複数のＤＭＡ要求が重なった場合、ＴＡ５は、保留時間を切り上げる、つまり残保留時間から所定の時間を減じる、又は残保留時間を所定の時間に変更する、等の処理を行なっても良い。これにより、ＴＡ５において保留されているＤＭＡ要求に係る処理の過大な遅延を防ぐことができる。
【００９４】
また、バスアービタ４は、各ＰＣＩデバイス３が待てる時間（最大保留時間）を考慮して、複数のＤＭＡ要求が入力された場合に、最大保留時間が短いＰＣＩデバイス３から発行されたＤＭＡ要求に対する許可を優先するように調停処理を実行しても良い。
さらに、情報処理装置１は、上述した実施形態又は第１変形例における、ＰＣＩデバイス３に対応して備えられたＴＡ５−１〜５−４と、第２変形例における、バスブリッジ７の直下にのみ備えられたＴＡ５−５とを組み合わせても良い。また、ＴＡ５は、バスアービタ４に備えられても良い。
【００９５】
また、上述した実施形態及び各変形例において、ＣＰＵ２（ＣＭ２２）が一つの場合について説明したが、これに限定されるものではなく、ＣＭ２２が複数備えられても良い。例えばマルチＣＰＵやマルチコアＣＰＵを搭載したシステムの場合、ＣＭはＣＰＵコアごとに備えられたり、複数のＣＰＵコアで共有されるＣＭが備えられることがある。この場合、ＴＡ５は、ＤＭＡ要求に係る処理を保留するか否かを、少なくとも一つのＣＭの電源がオフになったか否かに応じて決定することができる。このように、ＣＭが複数備えられるシステムにおいても、少なくとも一つのＣＭの電源がオフである状態でＤＭＡが実行されれば、全てのＣＭの電源がオンである場合と比べ、システムの消費電力を低減することができる。
【００９６】
なお、上述した情報処理装置１の構成は、例えば図１２に示すような、バスやコントローラ等がチップ内に集積されたシステムにおいても適用することができる。
図１２は、本実施形態に係る情報処理装置１のシステムへの適用例を示す図であり、図１３は、情報処理装置１′のハードウェア構成例を示す図である。
なお、図１２に示す情報処理装置１′において既述の符号と同一の符号は、図１に示す情報処理装置１と同一の部分若しくは略同一の部分を示しているため、重複した説明は省略する。
【００９７】
情報処理装置１′は、ＣＰＵコア２１、ＣＭ２２、ＴＡ５−１、バスアービタ４の一部、システムバス６の一部、バスブリッジ７、管理部８、及びメモリコントローラ９が修正記されたＣＰＵチップ２０を備える。また、情報処理装置１′は、内蔵周辺機器としてのＰＣＩデバイス３−２、ＴＡ５−２及び５−３、バスアービタ４の一部、並びにシステムバス６の一部が集積されたＰＣＨ（Platform Controller Hub；以下、ＰＣＨチップという）６０を備える。
【００９８】
ＣＰＵチップ２０及びＰＣＨチップ６０は、それぞれ、インタフェース部３０−１及び３０−２を備える。インタフェース部３０−１及び３０−２は、例えばＰＣＩ−Ｅｘｐｒｅｓｓのポートであり、周辺デバイス（拡張機器）としてのＰＣＩデバイス３−１及び３−３は、このポートを介してＣＰＵチップ２０及びＰＣＨチップ６０に接続される。なお、ＰＣＩ−Ｅｘｐｒｅｓｓは、ＰＣＩの動作を高速なシリアルバスで代行させるインタフェースである。また、図１３に例示するように、ＣＰＵチップ２０はヒートシンク２３及びファン２４の下に備えられ、ＰＣＨチップ６０はヒートシンク６１（及びファン）の下に備えられている。
【００９９】
なお、情報処理装置１′においては、論理的には、実線で示すように、仮想的なシステムバス６により各デバイスが接続され、メインメモリ１０を全デバイスが共有している。ここで、このシステムバス６は、論理的にはＰＣＩバスとして動作する。また、情報処理装置１′で発生するＤＭＡ要求は、ＰＣＩバス仕様に従って処理が行なわれる。
このように現在では、ＰＣＩバスは、ＣＰＵチップ２０やチップセット６０の内部に集積されており、ＰＣＩバスのチップ外部との接続は、ＰＣＩ−Ｅｘｐｒｅｓｓとして実現されることが多い。ＣＰＵチップ２０とＰＣＨチップ６０との間の信号も、高速シリアル信号を用いて伝送される。このような物理構成は、集積回路のチップサイズや端子数などの現実的な要件から主流となっている。
【０１００】
本件は、上述したような情報処理装置１や情報処理装置１′の如き物理構成に限定されない。従って、情報処理装置１′によっても、上述した実施形態及び各変形例における機能を備えることができ、上述の如き効果を奏することができる。
【符号の説明】
【０１０１】
１，１′，１００    コンピュータシステム（マルチマスタシステム，情報処理装置）
２    ＣＰＵ（処理部）
２０    ＣＰＵチップ
２１，２１０    ＣＰＵコア
２２，２２０    ＣＭ（キャッシュメモリ）
２３，６１    ヒートシンク
２４    ファン
３，３−１〜３−３    ＰＣＩデバイス（アクセス部）
３０−１，３０−２    インタフェース部
４    バスアービタ（調停部）
４１，４３，４１０，４３０    同期化処理部
４２，４２０    調停処理部
４４，４４−１〜４４−５    レジスタ
５，５−１〜５−５    ＴＡ（タイミング調整部）
５−１ａ〜５−５ａ    タイマ
６，６００    システムバス
６０    ＰＣＨチップ
７，７００    バスブリッジ
８    管理部
８１，８１０    ホストバス
８２，４００，８２０    バスアービタ
９，９００    メモリコントローラ
１０    メインメモリ（主記憶装置，メモリ）
１１    保留時間ＤＢ
１２    保留時間テーブル
３００，３００−１〜３００−３    ＰＣＩデバイス
１０００    メインメモリ  
【図１】
2013027261.tif 000003
【図２】
2013027261.tif 000004
【図３】
2013027261.tif 000005
【図４】
2013027261.tif 000006
【図５】
2013027261.tif 000007
【図６】
2013027261.tif 000008
【図７】
2013027261.tif 000009
【図８】
2013027261.tif 000010
【図９】
2013027261.tif 000011
【図１０】
2013027261.tif 000012
【図１１】
2013027261.tif 000013
【図１２】
2013027261.tif 000014
【図１３】
2013027261.tif 000015
【図１４】
2013027261.tif 000016
【図１５】
2013027261.tif 000017
【図１６】
2013027261.tif 000018
【手続補正書】
【提出日】平成26年3月7日(2014.3.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、
前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、
前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、
少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、
前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除するタイミング調整部と、を備えることを特徴とする、情報処理装置。
【請求項２】
前記タイミング調整部は、前記保留時間が満了した場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、請求項１記載の情報処理装置。
【請求項３】
前記タイミング調整部は、複数の前記アクセス部ごとに前記保留時間を設定され、前記メモリアクセス要求に係る処理を、当該メモリアクセス要求の発行元のアクセス部に対応する保留時間の間保留することを特徴とする、請求項１又は２記載の情報処理装置。
【請求項４】
前記タイミング調整部に設定される保留時間は、それぞれ、対応するアクセス部ごとに決定される最大保留時間であることを特徴とする、請求項３記載の情報処理装置。
【請求項５】
前記タイミング調整部は、前記キャッシュメモリの電源がオフになった場合に、前記保留時間が満了していないメモリアクセス要求のうちの残保留時間が少ないメモリアクセス要求から順に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、請求項３又は請求項４記載の情報処理装置。
【請求項６】
前記タイミング調整部は、複数の前記アクセス部に対して一つの保留時間を設定され、一のメモリアクセス要求に係る処理の保留を行なっているときに、他のメモリアクセス要求に係る処理の保留を行なう場合、前記一のメモリアクセス要求における残保留時間を用いて、前記他のメモリアクセス要求に係る処理を保留することを特徴とする、請求項１又は請求項２記載の情報処理装置。
【請求項７】
前記タイミング調整部は、複数の前記アクセス部に対して一つの保留時間を設定されるとともに、前記調停部と前記管理部との間に備えられ、前記調停部から前記管理部へのメモリアクセス要求の発行を保留することを特徴とする、請求項１又は請求項２記載の情報処理装置。
【請求項８】
前記タイミング調整部に設定される保留時間は、前記アクセス部ごとに決定されるそれぞれの最大保留時間のうちの、最小の時間であることを特徴とする、請求項６又は請求項７記載の情報処理装置。
【請求項９】
前記タイミング調整部は、前記アクセス部と前記調停部との間に備えられ、前記アクセス部から前記調停部への前記メモリアクセス要求の発行を保留することを特徴とする、請求項１〜６のいずれか１項記載の情報処理装置。
【請求項１０】
メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、を備える情報処理装置における前記メモリアクセス要求のスケジューリング方法であって、
前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、スケジューリング方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１００
【補正方法】変更
【補正の内容】
【０１００】
本件は、上述したような情報処理装置１や情報処理装置１′の如き物理構成に限定されない。従って、情報処理装置１′によっても、上述した実施形態及び各変形例における機能を備えることができ、上述の如き効果を奏することができる。
〔３〕付記
以上の実施形態及び各変形例に関し、更に以下の付記を開示する。
（付記１）
メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、
前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、
前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、
少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、
前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除するタイミング調整部と、を備えることを特徴とする、情報処理装置。
（付記２）
前記タイミング調整部は、前記保留時間が満了した場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、付記１記載の情報処理装置。
（付記３）
前記タイミング調整部は、複数の前記アクセス部ごとに前記保留時間を設定され、前記メモリアクセス要求に係る処理を、当該メモリアクセス要求の発行元のアクセス部に対応する保留時間の間保留することを特徴とする、付記１又は２記載の情報処理装置。
（付記４）
前記タイミング調整部に設定される保留時間は、それぞれ、対応するアクセス部ごとに決定される最大保留時間であることを特徴とする、付記３記載の情報処理装置。
（付記５）
前記タイミング調整部は、前記キャッシュメモリの電源がオフになった場合に、前記保留時間が満了していないメモリアクセス要求のうちの残保留時間が少ないメモリアクセス要求から順に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、付記３又は付記４記載の情報処理装置。
（付記６）
前記タイミング調整部は、前記保留時間が満了したメモリアクセス要求から順に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、付記３〜５のいずれか１項記載の情報処理装置。
（付記７）
前記タイミング調整部は、複数の前記アクセス部に対して一つの保留時間を設定され、一のメモリアクセス要求に係る処理の保留を行なっているときに、他のメモリアクセス要求に係る処理の保留を行なう場合、前記一のメモリアクセス要求における残保留時間を用いて、前記他のメモリアクセス要求に係る処理を保留することを特徴とする、付記１又は付記２記載の情報処理装置。
（付記８）
前記タイミング調整部は、複数の前記アクセス部に対して一つの保留時間を設定されるとともに、前記調停部と前記管理部との間に備えられ、前記調停部から前記管理部へのメモリアクセス要求の発行を保留することを特徴とする、付記１又は付記２記載の情報処理装置。
（付記９）
前記タイミング調整部に設定される保留時間は、前記アクセス部ごとに決定されるそれぞれの最大保留時間のうちの、最小の時間であることを特徴とする、付記７又は付記８記載の情報処理装置。
（付記１０）
前記タイミング調整部は、前記アクセス部と前記調停部との間に備えられ、前記アクセス部から前記調停部への前記メモリアクセス要求の発行を保留することを特徴とする、付記１〜７のいずれか１項記載の情報処理装置。
（付記１１）
前記タイミング調整部は、前記少なくとも一つのキャッシュメモリの電源がオフである間は、前記アクセス部により発行された前記メモリアクセス要求に係る処理の保留を抑止することを特徴とする、付記１〜１０のいずれか１項記載の情報処理装置。
（付記１２）
前記管理部は、前記調停部からのメモリアクセス要求について、前記メモリへのアクセスを許可する場合、メモリアクセス許可信号を送信し、
前記メモリアクセス許可信号により前記管理部に前記メモリへのアクセスを許可された前記調停部は、調停結果に応じたアクセス部に対してメモリアクセス許可を発行し、
前記メモリアクセス許可を受けたアクセス部は、前記発行されたメモリアクセス許可に応じて、前記メモリに対するメモリアクセスを実行することを特徴とする、付記１〜１１のいずれか１項記載の情報処理装置。
（付記１３）
前記調停部は、
前記タイミング調整部における前記保留時間を設定されて保持するレジスタを備えることを特徴とする、付記１〜１２のいずれか１項記載の情報処理装置。
（付記１４）
前記アクセス部が発行する前記メモリに対するメモリアクセス要求は、ＤＭＡ（Direct Memory Access）要求であることを特徴とする、付記１〜１３のいずれか１項記載の情報処理装置。
（付記１５）
前記アクセス部は、ホストコントローラであることを特徴とする、付記１〜１４のいずれか１項記載の情報処理装置。
（付記１６）
メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、を備える情報処理装置における前記メモリアクセス要求のスケジューリング方法であって、
前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、スケジューリング方法。
（付記１７）
前記保留時間が満了した場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、付記１６記載のスケジューリング方法。
（付記１８）
前記保留時間は、複数の前記アクセス部ごとに設定され、
前記メモリアクセス要求に係る処理を、当該メモリアクセス要求の発行元のアクセス部に対応する保留時間の間保留することを特徴とする、付記１６又は付記１７記載のスケジューリング方法。
（付記１９）
前記キャッシュメモリの電源がオフになった場合に、前記保留時間が満了していないメモリアクセス要求のうちの残保留時間が少ないメモリアクセス要求から順に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、付記１８記載のスケジューリング方法。
（付記２０）
前記保留時間は、複数の前記アクセス部に対して一つ設定され、
一のメモリアクセス要求に係る処理の保留を行なっているときに、他のメモリアクセス要求に係る処理の保留を行なう場合、前記一のメモリアクセス要求における残保留時間を用いて、前記他のメモリアクセス要求に係る処理を保留することを特徴とする、付記１６又は付記１７記載のスケジューリング方法。
【国際調査報告】
2013027261.tif 000019
2013027261.tif 000020