JP5668858B2 - 情報処理装置及びスケジューリング方法 - Google Patents
情報処理装置及びスケジューリング方法 Download PDFInfo
- Publication number
- JP5668858B2 JP5668858B2 JP2013529801A JP2013529801A JP5668858B2 JP 5668858 B2 JP5668858 B2 JP 5668858B2 JP 2013529801 A JP2013529801 A JP 2013529801A JP 2013529801 A JP2013529801 A JP 2013529801A JP 5668858 B2 JP5668858 B2 JP 5668858B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- memory
- memory access
- dma
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
マルチマスタシステムでは、或るタイミングでバスを使用できるのはCPUを含む一つの機器である。よって、マルチマスタシステムは、或るタイミングで複数の機器からDMA要求が発行されると、発行されたDMA要求を調停して、いずれか一つの機器に対してDMA許可を与える調停回路(バスアービタ)を備える。
図14に示す例では、コンピュータシステム100においてDMA要因となるデバイスは、USB(Universal Serial Bus)やSATA(Serial Advanced Technology Attachment)のインタフェースに対応した、図示しないHDD(Hard Disk Drive)である。コンピュータシステム100は、これらのデバイスをシステムバス600に接続するためのコントローラとして、USBのホストコントローラ(UHCI;Universal Host Controller Interface)や、SATAのホストコントローラ(AHCI;Advanced Host Controller Interface)を備える。
バスアービタ400では、図15に示すように、同期化処理部410によりDMA要求A〜Cの入力タイミングが調整される。また、DMA要求A〜Cを受けた調停処理部420は、バスブリッジ700を介して上位のバス(ホストバス810)側のバスアービタ820に対してDMA要求Dを発行し、ホストバス810使用の許可を求める。バスアービタ820では、ホストバス810の使用状態に応じて、DMA要求に対してホストバス810を使用させるか否かが判断される。バスアービタ820によりホストバス810の使用許可が下り、DMA許可信号Eが送信されると、バスアービタ400では、調停処理部420によりDMA要求が調停(選択)され、同期化処理部430で出力タイミングが調整される。そして、バスアービタ400から、選択された(受け付けられた)DMA要求に対応するPCIデバイス300−1〜300−3へ、DMA許可(出力信号;図14及び図15のA′〜C′参照)が出力される。この出力信号A′〜C′を受けた機器(PCIデバイス300−1〜300−3のいずれか)は、ホストバス810の使用権を獲得することになる。
なお、PCIバス仕様が広まる過程で、DMA動作とシステムの全体性能の関係についての研究と啓蒙が進み、システムにおいて、DMA要求を細切れに行なうことは、システム全体の効率を下げるということが知られている。つまり、バスマスタが実行するDMAによって、メインメモリ1000に対して読み書きされるデータ量が増加している(例えば数Kバイト〜数Mバイト程度)。このため、コンピュータシステム100において、DMA要求に対し細切れ(例えば数バイトごと)にアクセス許可を与えると、DMA要求の発行及び許可が繰り返し行なわれるため、システム全体の処理効率を低下させることとなる。
ところで、近年のコンピュータシステムの処理速度の高速化に伴い、CPUには大容量のキャッシュメモリ(Cache Memory;以下、CMという)220が搭載されることがある。このようなCPUを搭載するマルチマスタシステムは、バススヌープ機能を備えることが要求される。
CPUで実行されるタスクは、OS(Operating System)が管理しており、実行するタスクが無い場合(アイドル状態の場合)に、OSは、CPUを停止あるいは電源断とすることにより、CPUにおける無駄な電力消費を抑止する。例えば、CPUがライトバック方式のCM220を備える場合、OSによる電源断に先立ち、CPUは、CM220に格納されているデータをメインメモリ1000に反映する処理を行なう。
次に、図16を参照しながら、CPUに対する電力制御の手順について説明する。
はじめに、OSにより、CPU(CPUコア210)ごとに備えられた電源切断タイマの初期化及びカウントが開始されるとともに(ステップS1)、CPUごとに、割り当てられたシステム(又はタスク)がアイドル中であるか否かが判断される(ステップS2)。
なお、関連する技術として、データ転送を効率的に行なうと共に、バスを独占することのなくDMA方式でのデータ転送を可能とするために、DMAユニット制御部が、CPUからON状態のDMA転送要求信号が供給されている間、DMA動作イネーブル信号の状態に応じて、システムバスの使用権をCPUに対して要求したり、システムバスの使用権をCPUに開放する技術がある。
CMは、CPUとメインメモリとの間のデータのやり取りを高速に行なうために設けられるものであるため、CPUが、データがホストバス上を流れる度にバススヌープ処理によりアドレス情報を逐次比較することは、処理時間の増大の観点から好ましくない。そこで、例えば比較器を必要な数だけ備えて、同時に比較動作を実行させることも考えられるが、比較器の数に応じた電力を消費することとなる。この消費電力は、CMの容量やキャッシュ方式などにより変わってくるが、CMの大容量化や高速化が進んだ近年では、CPUの消費する電力の40%程度をCMが使う例もある。
CMの消費電力を削減するには、CMの内容を空にしてからキャッシュ動作を停止させることになる。しかし、上述のように、CMを空にする負担は大きく、特にライトバック方式のCMを使っている場合、相応の時間と電力を必要とする。さらに、CMが動作していない状態(電源断の状態)では、CPUを動作させてもまともな性能を出すことが難しく、CPUの動作を再開するには、CMも稼働状態に戻すことになる。
また、OSによりCPUの電源が切断されている状態でDMAが発生した場合には、CPU(CM)の電源が投入され、CMが停止状態から稼働状態に遷移する結果、処理時間及び消費電力が増加するという問題がある。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
〔1〕一実施形態
〔1−1〕情報処理装置の構成例
図1は、一実施形態としての情報処理装置1の構成例を示す図であり、図2は、情報処理装置1におけるバスアービタ4の構成例を示す図である。
また、情報処理装置1は、CPU2により実行されるOSによって、図16に示すようなCPU2に対する電力制御が行なわれる。つまり、情報処理装置1においては、システム(又はタスク)がアイドル中の場合には、OSによりCM22を含むCPU2の電源が切断される。
CM22は、CPUコア21とメインメモリ10との間で転送されるデータ及びそのデータのアドレス情報を保持するものであり、CPU2は、少なくとも一つのCM22を介してメインメモリ10に対するアクセスを行なう。なお、本実施形態に係るCM22は、ライトバック方式を採用するものとする。
メモリコントローラ9は、CPU2やバスマスタとしてのPCIデバイス3−1〜3−3から、メインメモリ10へのアクセス等を制御するものである。
バスアービタ(調停部)4は、PCIデバイス3から発行されたDMA要求A〜Cを調停するものであり、図2に例示するように、上述したバスアービタ400と同様に、同期化処理部41及び43と、調停処理部42と、を備える。
同期化処理部41は、PCIデバイス3−1〜3−3から発行されたDMA要求A〜Cの入力タイミングを調整するものであり、同期化処理部43は、バスアービタ4におけるアービトレーション(調停)の結果を示すDMA許可(メモリアクセス許可;出力信号)A′〜C′の出力タイミングを調整するものである。
また、調停処理部42は、DMA要求A〜Cが入力されると、バスブリッジ7を介して管理部8(上位バスであるホストバス81側のバスアービタ82)に対してDMA要求Dを発行する。調停処理部42は、管理部8からDMA要求Dに対するDMA許可信号Eを受信すると、入力されたDMA要求A〜Cに係る調停処理を実行する。
具体的には、管理部8(バスアービタ82)は、バスアービタ4からDMA要求Dが入力されると、ホストバス81の使用状態に応じて、DMA発行元にホストバス81を使用させるか否か、つまりメインメモリ10へのアクセスを許可するか否かを判断する。そして、管理部8は、DMA要求Dについて、ホストバス81を使用したメインメモリ10へのアクセスを許可する場合、DMA許可信号Eを送信(有効化;アサート)する。なお、管理部8がホストバス81の使用許可を与える場合としては、例えばホストバス81がCPU2や他のデバイスに使用されていない場合等が挙げられる。
上述した動作により、管理部8は、バスアービタ4による調停結果に応じたDMA要求の発行元のPCIデバイス3に対して、メインメモリ10に対するDMA(メモリアクセス)を実行させる。
バスブリッジ7は、システムバス6(及びバスアービタ4)と、ホストバス81(及びバスアービタ82)との間で相互にバスサイクルをやり取りするデバイスである。
具体的には、バスブリッジ7は、CPU2の電源を管理する図示しない電源回路から、CPU2のうちの少なくともCM22の電源状態を取得する(又は通知される)ように構成される。つまり、バスブリッジ7は、OSによるCPU2の電力制御によってCPU2に供給される電力が切断され、少なくとも一つのCM22が電源断となった場合、電源回路から、少なくとも一つのCM22が電源断の状態であることを取得する(又は通知される)ことができる。
なお、図1及び図2に示すTA5−1〜5−3は、それぞれ、PCIデバイス3ごとに備えられる。また、図2に示すように、TA5−1〜5−3は、PCIデバイス3に対応して、DMAの保留時間を指定するタイマ5−1a〜5−3aを備える。
ここで、DMA要求に係る処理とは、図1及び図2に示す例においては、PCIデバイス3からバスアービタ4へのDMA要求A〜Cの発行をいう。つまり、図1及び図2に示す例においては、TA5は、それぞれ対応するPCIデバイス3から発行されるDMA要求A〜Cを、予め設定された保留時間の間、保留する。
上述したように、CPU2は、PCIデバイス3によるDMA動作が発生すると、CM22のバススヌープ処理を行なう。言い換えれば、PCIデバイスによるDMA動作がCPU2の電源が切断されている間に行なわれれば、CM22のバススヌープ処理は不要となる。一度停止したCPU2(及びCM22)は、ホストバス81の使用要求に応答するだけであれば、バススヌープ動作を行なう必要がなく、CM22の記憶領域は、電力断により空になっているはずだからである。
そこで、本実施形態における情報処理装置1は、CPU2が電源断となるタイミングを待つためのTA5をバスアービタ4の前段に備え、TA5において、PCIデバイス3から発行されるDMA要求A〜Cの発行タイミングを調節する。そして、TA5により、DMA要求A〜Cをできるだけ遅延させることで、遅延されたDMA要求A〜Cのバスアービタ4への入力がCPU2の電源断のタイミングに当たる確率を上げることができる。
ここで、DMA要求A〜CをTA5においてどの程度の時間保留させるかという問題がある。発行されたDMA要求A〜Cが保留されても良い最大保留時間(遅延限界時間)は、周辺機器(PCIデバイス3)やCPU2によって異なる。しかし、周辺機器は、OSによるCPU2の電力制御において、少なくともCPU2が電源断の状態から電源が供給されるまでの状態遷移に要する時間は待たされても破綻しないように設計されているはずである。
このように、周辺機器のDMA要求を遅延させることができるようになった要因の一つとして、PCIバスが標準化されたことがある。PCIバスでは、使用効率を上げるために、ある程度の領域に対して一括してアクセスするバーストアクセスが推奨されている。バーストアクセスを行なうために、各デバイスでは、バーストアクセスで転送されるデータ量に応じた容量のバッファを持つ事が求められてきた。そして、デバイスのバッファが大容量化した結果、比較的長い待ち時間に耐えることができるデバイスが普及している。デバイスにより差はあるが、DMA要求の遅延が許容される遅延限界時間としては、少なくとも100μs程度の余裕はあると考えられる。
また、情報処理装置1は、CPU2に対して一定時間毎に割り込み(IRQ)が発生するように構成されても良い。割り込みが発生する情報処理装置1では、システムがアイドル状態の場合には、割り込み処理が実行された直後に電源断に入る。CPU2の稼働タイミングはOSが管理するため、OSは、次の割り込み処理が実行されるまでの時間を知ることができる。従って、TA5に設定される保留時間は、PCIデバイス3からDMA要求が発行されてから、次の割り込み処理、すなわちCPU2の電源断が行なわれるまでの時間が設定されても良い。
また、各PCIデバイス3について、DMA要求に係る処理がどれだけの時間保留されたか、及び保留された結果エラーが発生したか、等を監視する機構を設け、監視結果に基づいて、経験的にTA5に設定される保留時間が決定されても良い。なお、DMA要求に係る処理が保留された結果エラーが発生した場合には、エラー回復を行なうことが望ましいが、エラー処理や回復処理については、既知の種々の手法により行なうことが可能であり、その詳細な説明は省略する。
また、TA5は、保留時間が満了した場合、つまり、DMA要求を保留している時間が最大保留時間を超えた場合にも、DMA要求に係る処理の保留を解除する。
なお、TA5は、CPU2(CM22)が電源断の状態になったことを、上述したバスブリッジ7から取得する(又は通知される)ことにより検知する。
また、DMA要求A〜Cが発行されたときに、すでにCPU2(CM22)が電源断の状態である場合、つまり少なくとも一つのCM22の電源がオフである間は、TA5は、DMA要求に係る処理の保留を抑止して、当該DMA要求をバスアービタ4に入力する。すなわち、情報処理装置1は、DMA要求について即時応答を行なう。
図3は、TA5の保留時間の設定処理の一例を説明する図である。
各PCIデバイス3には、PCI仕様で管理されているベンダID(VID;Vendor ID)と、各ベンダで管理されているデバイスID(DID;Device ID)とが設定されている。例えば、図3に示すように、PCIデバイス3−1及び3−2としてのUHCIには、“VID=8086, DID=1C26”が設定されている一方、PCIデバイス3−3としてのAHCIには、“VID=8086, DID=1C03”が設定されている。
図3に示す保留時間データベース(DB)11は、例えばPCIデバイス3に接続されたHDDや図示しないメモリ等の記憶領域に設定され、保留時間テーブル12を備える。
このように、バスアービタ4が備えるレジスタ44は、DMA要求の発行タイミングを調整するための保留時間を、PCIバス仕様に基づいて設定され保持することにより、TA5に設定される保留時間を決定する。なお、PCIのバス調停は中央集中管理方式であるため、本実施形態においては、DMA要求発行のタイミング調整も、中央リソースであるバスアービタ4において集中管理させる方式を採っている。これにより、OSは、PCIデバイス3ごとの保留時間を、バスアービタ4の各レジスタ44に書き込むだけで容易に設定することができる。また、TA5−1〜5−3は、上述のようにして設定された保留時間を用いてタイマ5−1a〜5−3aを個別に制御し、DMA要求に係る処理の保留時間を柔軟に管理することができる。
〔1−3〕動作例
次に、上述の如く構成された本実施形態に係る情報処理装置1における、DMA要求A〜Cが発生した場合の処理の一例を説明する。
図4は、本実施形態に係る情報処理装置1における、DMA要求A〜Cが発生してからDMA要求Dが管理部8に送信されるまでの処理の一例を説明するフローチャートである。
情報処理装置1において、PCIデバイス3からDMA要求A〜Cが発行されてTA5に入力されると(ステップS11のYesルート)、TA5により、少なくとも1つのCM22の電源がオフであるか否かが判断される(ステップS12)。
一方、ステップS12において、CM22の電源がオンであると判断された場合(ステップS12のNoルート)、TA5により、DMA要求の発行元3に対応するタイマ5−1a〜5−3aが初期化され、入力されたDMA要求A〜Cのバスアービタ4への出力が保留される(ステップS13)。
保留時間が満了していないと判断された場合(ステップS15のNoルート)、ステップS14の処理に移行する。一方、保留時間が満了したと判断された場合(ステップS15のYesルート)、ステップS16の処理に移行する。
図5は、本実施形態に係る情報処理装置1における、DMA要求A〜Cが発生してからPCIデバイス3によりDMAが実行されるまでの動作を説明するタイムチャートである。
はじめに、タイミングT1において、PCIデバイス3−1からTA5−1にDMA要求Aが発行される。タイミングT1においてCM22の電源がオンであるため、TA5−1では、タイマ5−1aにより、レジスタ44−1に設定された保留時間(最大保留時間)の間、DMA要求Aに係る処理が保留される。
遅延DMA要求Aが入力されたバスアービタ4は、タイミングT4において、調停処理部42により、DMA要求Dをバスブリッジ7を介して管理部8に発行する。
DMA要求Dが入力された管理部8では、バスアービタ82によりホストバス81が使用されていないことが確認され、タイミングT7において、DMA許可信号Eがアサートされる。
次いで、アービトレーションの勝者として出力信号A′を入力されたPCIデバイス3−1により、DMAによるメモリアクセスが実行され、DMAが完了すると、DMA要求Aが取り下げられる(タイミングT9)。DMA要求Aが取り下げられると、バスアービタ4では、調停処理部42により、タイミングT10において出力信号A′の発行が停止されるとともに、待機中のDMA要求Bが選択されて(受け付けられて)、タイミングT11において、出力信号B′がPCIデバイス3−2に出力される。
また、入力されているDMA要求が全て取り下げられたため、バスアービタ4では、タイミングT14においてDMA要求Dの発行が停止され、管理部8では、タイミングT15においてDMA許可信号Eの発行が停止される。
このように、本実施形態に係る情報処理装置1によれば、TA5において、DMA要求に係る処理を保留し、少なくとも一つのCM22が電源断の状態となったときに、DMA要求の発行元に対してDMAの許可を与えることにより、CPU2によるバススヌープ動作が行なわれずにDMAが実行される。例えば、図14に示す情報処理装置100において、図5に示すようなタイミングでDMA要求A及びBが発生した場合、DMA要求AはCPU2(CM22)の電源がオンのときに発行されているため、少なくともDMA要求Aに係るDMAは、CPU2によるバススヌープ動作を生じさせることになる。
なお、情報処理装置1により削減できる消費電力は、システムの稼働状態や各種デバイスの要求仕様により異なる。例えばOSの割り込み(IRQ)に係るインターバルタイマの周期と、PCIデバイス3によるDMA要求A〜Cの発行の周期とが一致するようにシステムを構成すれば、CPU2(CM22)が電源断の状態のときにDMA要求が発行されることになるため、CM22の起動やバススヌープのための消費電力を抑止することができる。例えばCM22の消費電力がCPU2全体の消費電力の40%を占めるような場合では、アイドル状態のCPU2における消費電力の40%を削減できることになる。また、インターバルタイマの周期とDMA要求A〜Cの発行の周期とが一致する場合には、DMA要求の保留時間も抑えることができ、DMAに係る処理時間を増大させずに済む。
さらに、TA5は、少なくとも一つのCM22の電源がオフである間は、PCIデバイス3により発行されたDMA要求に係る処理の保留を抑止するため、DMA要求が発生したときにCM22の電源がオフである場合には、DMAに係る処理時間を、図14に示す情報処理装置100の場合と同程度に抑えることができる。
上述した情報処理装置1においては、TA5のタイマ5−1a〜5−3aはバスマスタとしてのPCIデバイス3の数に対応した数が備えられていたが、これに限定されるものではなく、PCIデバイス3に対して一つのタイマが備えられても良い。
図6は、本実施形態の第1変形例としての情報処理装置1の構成を示す図であり、図7は、第1変形例に係るTA5の保留時間の設定処理を説明する図であり、図8は、第1変形例に係るTA5の保留処理を説明する図である。
図6及び図7に示すように、第1変形例に係る情報処理装置1は、一のTA5−4を備え、TA5−4は、PCIデバイス3−1〜3−3で共用されるタイマ5−4aを備える。また、バスアービタ4は、TA5−4のタイマ5−4aに対応した一のレジスタ44−4を備える。
TA5−4は、一のDMA要求に係る処理の保留を行なっているときに、他のDMA要求に係る処理の保留を行なう場合には、一のDMA要求における残保留時間を用いて、他のDMA要求に係る処理を保留するように構成される。
なお、図8に示す例において、DMA要求A〜Cにおけるタイミングt1〜t3は、各DMA要求がTA5−4に入力されたタイミングを示し、各DMA要求A〜Cがそれぞれ最大保留時間まで発行される状態を示している。つまり、図8では、保留時間テーブル12の設定値に基づいて、DMA要求A及びBはそれぞれタイミングt1及びt2から“1ms”の間発行され、DMA要求Cはタイミングt3から“500μs”の間発行される。また、図8に示す例においては、CM22の電源はオンの状態である。
このように、第1変形例に係る情報処理装置1によれば、上述した一実施形態に係る情報処理装置1と同様の効果を奏することができるほか、TA5(タイマ5−4a)を一つ備えるだけで済むため、回路構成を簡素化することができ、製造コスト等を抑えることができる。
上述した一実施形態及び第1変形例における情報処理装置1は、TA5をPCIデバイス3とバスアービタ4との間に備えたが、これに限定されるものではなく、TA5をバスアービタ4とバスブリッジ7との間に備えても良い。
図9は、本実施形態の第2変形例としての情報処理装置1の構成を示す図であり、図10は、第2変形例に係るTA5の保留時間の設定処理を説明する図であり、図11は、第2変形例に係る情報処理装置1における、DMA要求が発生してからDMA要求Dが管理部8に送信されるまでの処理を説明するフローチャートである。
図9及び図10に示すように、第2変形例に係る情報処理装置1は、一のTA5−5を備え、TA5−5は、バスアービタ4に対応した一のタイマ5−5aを備える。
また、バスアービタ4は、TA5−5に対応した一のレジスタ44−5を備える。
第2変形例において、TA5−5は、第1変形例と同様に、複数のPCIデバイス3に対して一つの保留時間を設定される。
次に、図11を参照しながら、上述の如く構成された第2変形例に係る情報処理装置1における、DMA要求が発生した場合の処理を説明する。
情報処理装置1において、PCIデバイス3からDMA要求が発行され、バスアービタ4に入力されると(ステップS11のYesルート)、バスアービタ4により、当該DMA要求の調停が行なわれる(ステップS17)。
ステップS16の処理、又はステップS12においてYesルートの判断が行なわれると、TA5−5により、DMA要求Dがバスブリッジ7を介して管理部8に出力される(ステップS18)。
また、TA5−5により、バスアービタ4から管理部8へのDMA要求Dの発行が保留されるため、一のDMA要求Dを入力されるだけで良く、第1変形例におけるTA5−4の如く、複数のDMA要求A〜Cを入力されずに済む。従って、TA5−5は、第1変形例におけるTA5−4よりも簡素な構成とすることができ、製造コスト等を抑えることができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は、かかる特定の実施形態及び変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、TA5において複数のDMA要求A〜Cに係る処理の保留を行なう場合、すなわち複数のDMA要求が重なった場合、TA5は、保留時間を切り上げる、つまり残保留時間から所定の時間を減じる、又は残保留時間を所定の時間に変更する、等の処理を行なっても良い。これにより、TA5において保留されているDMA要求に係る処理の過大な遅延を防ぐことができる。
さらに、情報処理装置1は、上述した実施形態又は第1変形例における、PCIデバイス3に対応して備えられたTA5−1〜5−4と、第2変形例における、バスブリッジ7の直下にのみ備えられたTA5−5とを組み合わせても良い。また、TA5は、バスアービタ4に備えられても良い。
図12は、本実施形態に係る情報処理装置1のシステムへの適用例を示す図であり、図13は、情報処理装置1′のハードウェア構成例を示す図である。
なお、図12に示す情報処理装置1′において既述の符号と同一の符号は、図1に示す情報処理装置1と同一の部分若しくは略同一の部分を示しているため、重複した説明は省略する。
このように現在では、PCIバスは、CPUチップ20やチップセット60の内部に集積されており、PCIバスのチップ外部との接続は、PCI−Expressとして実現されることが多い。CPUチップ20とPCHチップ60との間の信号も、高速シリアル信号を用いて伝送される。このような物理構成は、集積回路のチップサイズや端子数などの現実的な要件から主流となっている。
〔3〕付記
以上の実施形態及び各変形例に関し、更に以下の付記を開示する。
(付記1)
メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、
前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、
前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、
少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、
前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除するタイミング調整部と、を備えることを特徴とする、情報処理装置。
(付記2)
前記タイミング調整部は、前記保留時間が満了した場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、付記1記載の情報処理装置。
(付記3)
前記タイミング調整部は、複数の前記アクセス部ごとに前記保留時間を設定され、前記メモリアクセス要求に係る処理を、当該メモリアクセス要求の発行元のアクセス部に対応する保留時間の間保留することを特徴とする、付記1又は2記載の情報処理装置。
(付記4)
前記タイミング調整部に設定される保留時間は、それぞれ、対応するアクセス部ごとに決定される最大保留時間であることを特徴とする、付記3記載の情報処理装置。
(付記5)
前記タイミング調整部は、前記キャッシュメモリの電源がオフになった場合に、前記保留時間が満了していないメモリアクセス要求のうちの残保留時間が少ないメモリアクセス要求から順に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、付記3又は付記4記載の情報処理装置。
(付記6)
前記タイミング調整部は、前記保留時間が満了したメモリアクセス要求から順に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、付記3〜5のいずれか1項記載の情報処理装置。
(付記7)
前記タイミング調整部は、複数の前記アクセス部に対して一つの保留時間を設定され、一のメモリアクセス要求に係る処理の保留を行なっているときに、他のメモリアクセス要求に係る処理の保留を行なう場合、前記一のメモリアクセス要求における残保留時間を用いて、前記他のメモリアクセス要求に係る処理を保留することを特徴とする、付記1又は付記2記載の情報処理装置。
(付記8)
前記タイミング調整部は、複数の前記アクセス部に対して一つの保留時間を設定されるとともに、前記調停部と前記管理部との間に備えられ、前記調停部から前記管理部へのメモリアクセス要求の発行を保留することを特徴とする、付記1又は付記2記載の情報処理装置。
(付記9)
前記タイミング調整部に設定される保留時間は、前記アクセス部ごとに決定されるそれぞれの最大保留時間のうちの、最小の時間であることを特徴とする、付記7又は付記8記載の情報処理装置。
(付記10)
前記タイミング調整部は、前記アクセス部と前記調停部との間に備えられ、前記アクセス部から前記調停部への前記メモリアクセス要求の発行を保留することを特徴とする、付記1〜7のいずれか1項記載の情報処理装置。
(付記11)
前記タイミング調整部は、前記少なくとも一つのキャッシュメモリの電源がオフである間は、前記アクセス部により発行された前記メモリアクセス要求に係る処理の保留を抑止することを特徴とする、付記1〜10のいずれか1項記載の情報処理装置。
(付記12)
前記管理部は、前記調停部からのメモリアクセス要求について、前記メモリへのアクセスを許可する場合、メモリアクセス許可信号を送信し、
前記メモリアクセス許可信号により前記管理部に前記メモリへのアクセスを許可された前記調停部は、調停結果に応じたアクセス部に対してメモリアクセス許可を発行し、
前記メモリアクセス許可を受けたアクセス部は、前記発行されたメモリアクセス許可に応じて、前記メモリに対するメモリアクセスを実行することを特徴とする、付記1〜11のいずれか1項記載の情報処理装置。
(付記13)
前記調停部は、
前記タイミング調整部における前記保留時間を設定されて保持するレジスタを備えることを特徴とする、付記1〜12のいずれか1項記載の情報処理装置。
(付記14)
前記アクセス部が発行する前記メモリに対するメモリアクセス要求は、DMA(Direct Memory Access)要求であることを特徴とする、付記1〜13のいずれか1項記載の情報処理装置。
(付記15)
前記アクセス部は、ホストコントローラであることを特徴とする、付記1〜14のいずれか1項記載の情報処理装置。
(付記16)
メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、を備える情報処理装置における前記メモリアクセス要求のスケジューリング方法であって、
前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、スケジューリング方法。
(付記17)
前記保留時間が満了した場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、付記16記載のスケジューリング方法。
(付記18)
前記保留時間は、複数の前記アクセス部ごとに設定され、
前記メモリアクセス要求に係る処理を、当該メモリアクセス要求の発行元のアクセス部に対応する保留時間の間保留することを特徴とする、付記16又は付記17記載のスケジューリング方法。
(付記19)
前記キャッシュメモリの電源がオフになった場合に、前記保留時間が満了していないメモリアクセス要求のうちの残保留時間が少ないメモリアクセス要求から順に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、付記18記載のスケジューリング方法。
(付記20)
前記保留時間は、複数の前記アクセス部に対して一つ設定され、
一のメモリアクセス要求に係る処理の保留を行なっているときに、他のメモリアクセス要求に係る処理の保留を行なう場合、前記一のメモリアクセス要求における残保留時間を用いて、前記他のメモリアクセス要求に係る処理を保留することを特徴とする、付記16又は付記17記載のスケジューリング方法。
2 CPU(処理部)
20 CPUチップ
21,210 CPUコア
22,220 CM(キャッシュメモリ)
23,61 ヒートシンク
24 ファン
3,3−1〜3−3 PCIデバイス(アクセス部)
30−1,30−2 インタフェース部
4 バスアービタ(調停部)
41,43,410,430 同期化処理部
42,420 調停処理部
44,44−1〜44−5 レジスタ
5,5−1〜5−5 TA(タイミング調整部)
5−1a〜5−5a タイマ
6,600 システムバス
60 PCHチップ
7,700 バスブリッジ
8 管理部
81,810 ホストバス
82,400,820 バスアービタ
9,900 メモリコントローラ
10 メインメモリ(主記憶装置,メモリ)
11 保留時間DB
12 保留時間テーブル
300,300−1〜300−3 PCIデバイス
1000 メインメモリ
Claims (10)
- メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、
前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、
前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、
少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、
前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除するタイミング調整部と、を備えることを特徴とする、情報処理装置。 - 前記タイミング調整部は、前記保留時間が満了した場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、請求項1記載の情報処理装置。
- 前記タイミング調整部は、複数の前記アクセス部ごとに前記保留時間を設定され、前記メモリアクセス要求に係る処理を、当該メモリアクセス要求の発行元のアクセス部に対応する保留時間の間保留することを特徴とする、請求項1又は2記載の情報処理装置。
- 前記タイミング調整部に設定される保留時間は、それぞれ、対応するアクセス部ごとに決定される最大保留時間であることを特徴とする、請求項3記載の情報処理装置。
- 前記タイミング調整部は、前記キャッシュメモリの電源がオフになった場合に、前記保留時間が満了していないメモリアクセス要求のうちの残保留時間が少ないメモリアクセス要求から順に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、請求項3又は請求項4記載の情報処理装置。
- 前記タイミング調整部は、複数の前記アクセス部に対して一つの保留時間を設定され、一のメモリアクセス要求に係る処理の保留を行なっているときに、他のメモリアクセス要求に係る処理の保留を行なう場合、前記一のメモリアクセス要求における残保留時間を用いて、前記他のメモリアクセス要求に係る処理を保留することを特徴とする、請求項1又は請求項2記載の情報処理装置。
- 前記タイミング調整部は、複数の前記アクセス部に対して一つの保留時間を設定されるとともに、前記調停部と前記管理部との間に備えられ、前記調停部から前記管理部へのメモリアクセス要求の発行を保留することを特徴とする、請求項1又は請求項2記載の情報処理装置。
- 前記タイミング調整部に設定される保留時間は、前記アクセス部ごとに決定されるそれぞれの最大保留時間のうちの、最小の時間であることを特徴とする、請求項6又は請求項7記載の情報処理装置。
- 前記タイミング調整部は、前記アクセス部と前記調停部との間に備えられ、前記アクセス部から前記調停部への前記メモリアクセス要求の発行を保留することを特徴とする、請求項1〜6のいずれか1項記載の情報処理装置。
- メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、を備える情報処理装置における前記メモリアクセス要求のスケジューリング方法であって、
前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、スケジューリング方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/068921 WO2013027261A1 (ja) | 2011-08-23 | 2011-08-23 | 情報処理装置及びスケジューリング方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5668858B2 true JP5668858B2 (ja) | 2015-02-12 |
JPWO2013027261A1 JPWO2013027261A1 (ja) | 2015-03-05 |
Family
ID=47746043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013529801A Expired - Fee Related JP5668858B2 (ja) | 2011-08-23 | 2011-08-23 | 情報処理装置及びスケジューリング方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9329998B2 (ja) |
EP (1) | EP2750043B1 (ja) |
JP (1) | JP5668858B2 (ja) |
KR (1) | KR101564520B1 (ja) |
CN (1) | CN103765394B (ja) |
WO (1) | WO2013027261A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6251112B2 (ja) | 2014-04-14 | 2017-12-20 | 株式会社東芝 | 伝送装置およびコントローラ |
US11144240B2 (en) | 2018-08-24 | 2021-10-12 | Micron Technology, Inc. | Memory sub-system for increasing bandwidth for command scheduling |
CN111077976B (zh) * | 2018-10-18 | 2021-07-20 | 珠海全志科技股份有限公司 | 多核心处理器的空闲状态低功耗模式实现方法和处理器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003256353A (ja) * | 2002-02-28 | 2003-09-12 | Casio Comput Co Ltd | Dma制御装置及びdma制御方法 |
JP2003530640A (ja) * | 2000-04-12 | 2003-10-14 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | キャッシュメモリを含むデータ処理回路およびこのような回路を備える装置 |
US20070186057A1 (en) * | 2005-11-15 | 2007-08-09 | Montalvo Systems, Inc. | Small and power-efficient cache that can provide data for background dma devices while the processor is in a low-power state |
JP2009282880A (ja) * | 2008-05-26 | 2009-12-03 | Fujitsu Ltd | キャッシュメモリシステム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761406A (en) * | 1992-07-31 | 1998-06-02 | Fujitsu Limited | Method of controlling data transfer and a safe shutdown in a hierarchical cache system during power cut-off |
US6125450A (en) * | 1996-12-19 | 2000-09-26 | Intel Corporation | Stop clock throttling in a computer processor through disabling bus masters |
JP2000090045A (ja) | 1998-09-08 | 2000-03-31 | Nec Eng Ltd | データ転送システム、ダイレクトメモリアクセス制御装置及び方法、並びに記録媒体 |
JP2005190332A (ja) | 2003-12-26 | 2005-07-14 | Matsushita Electric Ind Co Ltd | データ転送制御装置 |
-
2011
- 2011-08-23 CN CN201180072989.1A patent/CN103765394B/zh not_active Expired - Fee Related
- 2011-08-23 EP EP11871370.0A patent/EP2750043B1/en not_active Not-in-force
- 2011-08-23 WO PCT/JP2011/068921 patent/WO2013027261A1/ja active Application Filing
- 2011-08-23 KR KR1020147004632A patent/KR101564520B1/ko active IP Right Grant
- 2011-08-23 JP JP2013529801A patent/JP5668858B2/ja not_active Expired - Fee Related
-
2014
- 2014-02-19 US US14/184,419 patent/US9329998B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003530640A (ja) * | 2000-04-12 | 2003-10-14 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | キャッシュメモリを含むデータ処理回路およびこのような回路を備える装置 |
JP2003256353A (ja) * | 2002-02-28 | 2003-09-12 | Casio Comput Co Ltd | Dma制御装置及びdma制御方法 |
US20070186057A1 (en) * | 2005-11-15 | 2007-08-09 | Montalvo Systems, Inc. | Small and power-efficient cache that can provide data for background dma devices while the processor is in a low-power state |
JP2009282880A (ja) * | 2008-05-26 | 2009-12-03 | Fujitsu Ltd | キャッシュメモリシステム |
Also Published As
Publication number | Publication date |
---|---|
US20140173202A1 (en) | 2014-06-19 |
EP2750043A4 (en) | 2015-08-05 |
CN103765394B (zh) | 2016-08-24 |
KR101564520B1 (ko) | 2015-10-29 |
JPWO2013027261A1 (ja) | 2015-03-05 |
KR20140051348A (ko) | 2014-04-30 |
WO2013027261A1 (ja) | 2013-02-28 |
CN103765394A (zh) | 2014-04-30 |
EP2750043A1 (en) | 2014-07-02 |
US9329998B2 (en) | 2016-05-03 |
EP2750043B1 (en) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3524337B2 (ja) | バス管理装置及びそれを有する複合機器の制御装置 | |
KR20120014914A (ko) | 이종 소스들에 대한 계층적인 메모리 중재 기법 | |
US20080270658A1 (en) | Processor system, bus controlling method, and semiconductor device | |
JP2008276391A (ja) | メモリアクセス制御装置 | |
JP5668858B2 (ja) | 情報処理装置及びスケジューリング方法 | |
CN102449612A (zh) | 数据空间仲裁器 | |
TW200402619A (en) | Method to reduce power in a computer system with bus master devices | |
JP2008293487A (ja) | プロセッサシステム、バス制御方法および半導体装置 | |
JP4144990B2 (ja) | データ処理システム及び初期化方法 | |
JP2001166994A (ja) | 早期データ転送完了を利用してデータ記憶装置性能を改善するデータ記憶装置および方法 | |
JP7018833B2 (ja) | 半導体装置 | |
JP4499235B2 (ja) | Pciバス互換性を有するマスターおよびアービターと仲裁方法 | |
US5815676A (en) | Address bus arbiter for pipelined transactions on a split bus | |
JP2001249770A (ja) | コマンドキューイングの機能を持つ記憶装置 | |
WO1992006432A1 (en) | Device for controlling bus | |
JP2004046851A (ja) | バス管理装置及びそれを有する複合機器の制御装置 | |
JP2014157392A (ja) | 半導体装置及びデータ処理システム | |
JP2000207354A (ja) | バスア―ビタ及びバス間制御装置 | |
JP2010039632A (ja) | バス調停システム | |
JPH0844661A (ja) | 情報処理装置 | |
JPH08137785A (ja) | Dma制御装置 | |
JP2008097462A (ja) | 情報処理装置及び情報処理方法 | |
JP3237569B2 (ja) | メモリアクセス制御装置 | |
JP2024514503A (ja) | Dramコマンドストリーク効率管理 | |
JP2005293609A (ja) | 初期化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141118 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141201 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5668858 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |