JP5633564B2 - マルチコアシステムおよび外部入出力バス制御方法 - Google Patents
マルチコアシステムおよび外部入出力バス制御方法 Download PDFInfo
- Publication number
- JP5633564B2 JP5633564B2 JP2012521215A JP2012521215A JP5633564B2 JP 5633564 B2 JP5633564 B2 JP 5633564B2 JP 2012521215 A JP2012521215 A JP 2012521215A JP 2012521215 A JP2012521215 A JP 2012521215A JP 5633564 B2 JP5633564 B2 JP 5633564B2
- Authority
- JP
- Japan
- Prior art keywords
- external input
- output bus
- processor core
- frequency
- task
- 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
- 238000000034 method Methods 0.000 title claims description 52
- 230000015654 memory Effects 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 20
- 238000010586 diagram Methods 0.000 description 4
- 238000009795 derivation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0835—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
-
- 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
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
-
- 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
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/601—Reconfiguration of cache memory
- G06F2212/6012—Reconfiguration of cache memory of operating mode, e.g. cache mode or local memory mode
-
- 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)
- Power Sources (AREA)
- Information Transfer Systems (AREA)
Description
この発明は、マルチコアシステムおよび外部入出力バス制御方法に関する。
従来、シングルコアシステムにおいて、キャッシュのヒット率を予測し、その予測したヒット率に基づいてCPUのクロック周波数を制御するようにした装置がある。その予測したヒット率に応じたクロック周波数を指定する命令をプログラム中に追加する技術がある。また、シングルコアシステムにおいて、キャッシュのヒット情報を参照し、バスコントローラや外部インタフェース回路が動作する場合にそれらの回路にクロック信号を供給し、キャッシュヒットの場合にはそれらの回路へのクロック信号の供給を停止する装置がある。また、キャッシュから外部メモリにデータを書き込むライトバック処理に関し、オペレーティングシステムによって管理されるタスクが実行されていない期間にライトバック処理を実行する技術がある。また、バストラフィックやバスデバイスの温度を監視し、状況に応じてバスのクロックを設定する技術がある。
しかしながら、従来、複数のプロセッサコアが外部入出力(I/O:Input/Output)バスを介して共通のメモリ(共有メモリ)にアクセスするマルチコアシステムで並列処理を行う場合、次のような問題点がある。各プロセッサコアでタスクを処理する際、オペレーティングシステムは、キャッシュミスが発生するか否かわからない。従って、キャッシュミスが発生した場合に共有メモリからデータを迅速に読み出すことができるように、外部入出力バスのクロック周波数は最も高い周波数に固定されている。つまり、共有メモリへのアクセス数が少ない場合や共有メモリに高速でアクセスする必要がない場合でも、外部入出力バスは高速で動作している。そのため、電力の無駄な消費が多いという問題点がある。
低消費電力化を図ることができるマルチコアシステムおよび外部入出力バス制御方法を提供することを目的とする。
マルチコアシステムは、複数のプロセッサコア、外部入出力バス、メモリ、プロファイル情報およびオペレーティングシステムを備える。各プロセッサコアはキャッシュを有する。外部入出力バスは各プロセッサコアに接続されている。メモリは外部入出力バスを介して各プロセッサコアからアクセス可能となっている。プロファイル情報は、プロセッサコアに割り当てられる各タスクのメモリへのライトアクセス量に関する情報を含んでいる。プロファイル情報は、キャッシュへのリードアクセスでキャッシュミスが発生するか否かに関する情報を含んでいる。オペレーティングシステムは、プロファイル情報に基づいて、各プロセッサコアに同時に割り当てられる各タスクの処理でキャッシュミスが発生しないと判断される場合、外部入出力バスのクロック周波数を第1の周波数に制御する。第1の周波数は、各プロセッサコアに同時に割り当てられる各タスクのメモリへのライトアクセス量と外部入出力バスのバス幅とに基づいて決まる周波数である。オペレーティングシステムは、プロファイル情報に基づいて、各プロセッサコアに同時に割り当てられる各タスクの処理でキャッシュミスが発生すると判断される場合、外部入出力バスのクロック周波数を第2の周波数に制御する。第2の周波数は第1の周波数よりも高い。
外部入出力バス制御方法は、キャッシュを有する複数のプロセッサコアから外部入出力バスを介してメモリにアクセス可能なマルチコアシステムの外部入出力バスを制御する方法である。この方法において、プロセッサコアに割り当てられる各タスクのメモリへのライトアクセス量に関する情報およびキャッシュへのリードアクセスでキャッシュミスが発生するか否かに関する情報が予め用意される(第1のステップ)。次いで、キャッシュへのリードアクセスでキャッシュミスが発生するか否かに関する情報に基づいて、各プロセッサコアで実行中のタスクでキャッシュミスが発生するか否かが判断される(第2のステップ)。実行中のタスクでキャッシュミスが発生しないと判断される場合、外部入出力バスのクロック周波数が、各タスクのメモリへのライトアクセス量と外部入出力バスのバス幅とに基づいて第1の周波数に設定される(第3のステップ)。実行中のタスクでキャッシュミスが発生すると判断される場合、外部入出力バスのクロック周波数が第1の周波数よりも高い第2の周波数に設定される(第4のステップ)。
マルチコアシステムおよび外部入出力バス制御方法によれば、低消費電力化を図ることができるという効果を奏する。
以下に、この発明にかかるマルチコアシステムおよび外部入出力バス制御方法の実施例を図面に基づいて詳細に説明する。以下の実施例は、マルチコアシステムにおいて、実行中のタスクでキャッシュミスが発生する場合には外部入出力バスを最速で動作させ、キャッシュミスが発生しない場合には外部入出力バスを各タスクのライトアクセス量とバス幅とで決まるクロック周波数で動作させるようにしたものである。ここでは、プロセッサコアが行う処理において意味のある一つのかたまり(処理の単位)をタスクと表現している。従って、タスクにはスレッドやプロセスなどの概念も含まれる。なお、この実施例によりこの発明が限定されるものではない。
(実施例1)
・マルチコアシステムの説明
図1は、実施例1にかかるマルチコアシステムを示すブロック図である。図1に示すように、マルチコアシステムは、マスタとなるプロセッサコア#0_1および一つ以上のスレーブとなるプロセッサコア#n_2を備えている。各プロセッサコア1,2はキャッシュ8,11を備えている。各プロセッサコア1,2には外部入出力バス3が接続されている。外部入出力バス3にはメモリ4が接続されている。各プロセッサコア1,2は外部入出力バス3を介してメモリ4にアクセスする。なお、図1にはスレーブとなるプロセッサコアが一つ示されているが、スレーブとなるプロセッサコアの数は二つ以上でもよい。
・マルチコアシステムの説明
図1は、実施例1にかかるマルチコアシステムを示すブロック図である。図1に示すように、マルチコアシステムは、マスタとなるプロセッサコア#0_1および一つ以上のスレーブとなるプロセッサコア#n_2を備えている。各プロセッサコア1,2はキャッシュ8,11を備えている。各プロセッサコア1,2には外部入出力バス3が接続されている。外部入出力バス3にはメモリ4が接続されている。各プロセッサコア1,2は外部入出力バス3を介してメモリ4にアクセスする。なお、図1にはスレーブとなるプロセッサコアが一つ示されているが、スレーブとなるプロセッサコアの数は二つ以上でもよい。
プロセッサコア#0_1ではオペレーティングシステム(OS:Operating System)7が動作する。プロセッサコア#0_1ではオペレーティングシステム7上でタスクA6が実行される。プロセッサコア#n_2も同様であり、オペレーティングシステム(OS)10が動作し、オペレーティングシステム10上でタスクN9が実行される。各プロセッサコア1,2で同時に実行されるタスク6,9には互いに依存関係がないので、一方のタスクの出力を他方のタスクで利用するということがない。つまり、マルチコアシステムは分散処理を行う。
また、マスタとなるプロセッサコア#0_1はプロファイル情報5を有する。プロファイル情報5は、各プロセッサコア1,2に割り当てられる各タスク6,9のライトアクセス量に関する情報を含んでいる。プロファイル情報5は、各プロセッサコア1,2においてキャッシュ8,11へのリードアクセスでキャッシュミスが発生するか否かに関する情報を含んでいる。
マスタとなるプロセッサコア#0_1のオペレーティングシステム7は、プロファイル情報5に基づいて、各プロセッサコア1,2に同時に割り当てられる各タスク6,9の処理でキャッシュミスが発生するか否かを判断する。キャッシュミスが発生しないと判断される場合、マスタとなるプロセッサコア#0_1のオペレーティングシステム7は外部入出力バス3のクロック周波数を第1の周波数に制御する。第1の周波数は、各プロセッサコア1,2に同時に割り当てられる各タスク6,9のライトアクセス量と外部入出力バス3のバス幅とに基づいて決まる周波数である。キャッシュミスが発生すると判断される場合、マスタとなるプロセッサコア#0_1のオペレーティングシステム7は外部入出力バス3のクロック周波数を第2の周波数に制御する。第2の周波数は第1の周波数よりも高い。
・外部入出力バス制御方法の説明
図2は、実施例1にかかる外部入出力バス制御方法を示すフローチャートである。図2に示すように、外部入出力バスのクロック周波数を制御するにあたって、予め上述したプロファイル情報5が用意される(ステップS1)。次いで、マスタとなるプロセッサコア#0_1のオペレーティングシステム7により、プロファイル情報5に基づいて、各プロセッサコア1,2で実行中のタスク6,9でキャッシュミスが発生するか否かが判断される(ステップS2)。
図2は、実施例1にかかる外部入出力バス制御方法を示すフローチャートである。図2に示すように、外部入出力バスのクロック周波数を制御するにあたって、予め上述したプロファイル情報5が用意される(ステップS1)。次いで、マスタとなるプロセッサコア#0_1のオペレーティングシステム7により、プロファイル情報5に基づいて、各プロセッサコア1,2で実行中のタスク6,9でキャッシュミスが発生するか否かが判断される(ステップS2)。
キャッシュミスが発生しないと判断される場合(ステップS2:No)、マスタとなるプロセッサコア#0_1のオペレーティングシステム7により、外部入出力バス3のクロック周波数が上述した第1の周波数に設定される(ステップS3)。キャッシュミスが発生すると判断される場合(ステップS2:Yes)、マスタとなるプロセッサコア#0_1のオペレーティングシステム7により、外部入出力バス3のクロック周波数が上述した第2の周波数に設定される(ステップS4)。いずれかのプロセッサコア1,2でタスクスイッチまたはタスクディスパッチが起こり、マルチコアシステムで同時に実行されるタスクに変化が起こると、ステップS2からステップS4までを繰り返す。
実施例1によれば、リードアクセスにおいてキャッシュミスが発生しないと判断される場合、外部入出力バス3のクロック周波数が低速の第1の周波数に制御される。外部入出力バス3の駆動に必要な電力はクロック周波数のほぼ2乗に比例するので、クロック周波数が低速になれば消費電力を減らすことができる。その際、各タスク6,9のライトアクセス量と外部入出力バス3のバス幅とに基づいて、各タスク6,9がタスクの終了までにメモリ4へのライトアクセスを終了させることができるような第1の周波数を設定することによって、各タスク6,9はタスクの終了までにメモリ4へのライトアクセスを終了させることができる。一方、キャッシュミスが発生すると判断される場合、外部入出力バス3のクロック周波数が高速の第2の周波数に制御されるので、メモリ4からデータを高速に読み出すことができる。つまり、キャッシュミスによってマルチコアシステムでの処理が停止する時間(ストール時間)が長くなるのを防ぐことができるので、マルチコアシステムの性能が低下するのを防ぐことができる。
また、シングルコアシステム用の技術を単純にマルチコアシステムに転用する場合には、各プロセッサコアでキャッシュのヒットおよびミスを検出する必要があるため、繁雑になってしまう。それに対して、実施例1によれば、プロファイル情報5に基づいてキャッシュミスが発生するか否かが判断されるので、各プロセッサコアでキャッシュのヒットおよびミスを検出する必要がない。
(実施例2)
・マルチコアシステムの説明
図3は、実施例2にかかるマルチコアシステムを示すブロック図である。図3に示すように、マルチコアシステムは、マスタとなるプロセッサコア#0_21および特に限定しないが、例えば三つのスレーブとなるプロセッサコア(#1、#2および#3)22〜24を備えている。各プロセッサコア21〜24は1次キャッシュ45,49,53,57を備えている。各プロセッサコア21〜24には外部入出力バス25が接続されている。外部入出力バス25には2次キャッシュ26が接続されている。2次キャッシュ26およびメモリ28はシステムバス27に接続されている。1次キャッシュ45,49,53,57、2次キャッシュ26およびメモリ28の順にデータの読み出し速度が遅くなる。
・マルチコアシステムの説明
図3は、実施例2にかかるマルチコアシステムを示すブロック図である。図3に示すように、マルチコアシステムは、マスタとなるプロセッサコア#0_21および特に限定しないが、例えば三つのスレーブとなるプロセッサコア(#1、#2および#3)22〜24を備えている。各プロセッサコア21〜24は1次キャッシュ45,49,53,57を備えている。各プロセッサコア21〜24には外部入出力バス25が接続されている。外部入出力バス25には2次キャッシュ26が接続されている。2次キャッシュ26およびメモリ28はシステムバス27に接続されている。1次キャッシュ45,49,53,57、2次キャッシュ26およびメモリ28の順にデータの読み出し速度が遅くなる。
各プロセッサコア21〜24ではオペレーティングシステム(OS)43,47,51,55が動作する。オペレーティングシステム43,47,51,55上では、互いにデータの依存関係のないタスク(A、B、CおよびD)42,46,50,54が実行される。各オペレーティングシステム43,47,51,55にはスケジューラ44,48,52,56が存在する。各スケジューラ44,48,52,56はタスクのスケジューリングを行う。マスタとなるプロセッサコア#0_21のスケジューラ44は各プロセッサコア(#0〜#3)21〜24へタスクを割り当てる。
マスタとなるプロセッサコア#0_21のスケジューラ44は他のプロセッサコア(#1、#2および#3)22〜24のスケジューラ48,52,56と連携をとる。それによって、全てのスケジューラ44,48,52,56が各プロセッサコア21〜24に割り当てられているタスク量を把握する。
マスタとなるプロセッサコア#0_21はプロファイル情報41を有する。プロファイル情報41は、各プロセッサコア21〜24に割り当てられる全てのタスクの単位時間あたりのライトアクセス量の情報を含んでいる。プロファイル情報41は、各プロセッサコア21〜24に割り当てられる全てのタスクにおいてリードアクセス時でキャッシュミスが発生するか否かに関する情報を含んでいる。プロファイル情報41は、例えばアプリケーションプログラムの設計段階で予めプロファイラやシミュレータにより取得されている。プロファイル情報41は、例えばアプリケーションプログラム中に記述されており、マスタとなるプロセッサコア#0_21に内蔵されたメモリ(図示省略)に格納される。
マスタとなるプロセッサコア#0_21で動作するオペレーティングシステム43は、プロファイル情報41に基づいて外部入出力バス25のクロック周波数および駆動電圧を制御する。マルチコアシステムには電圧制御部としてのパワーマネージメントユニット29およびクロックジェネレータ30が設けられている。クロックジェネレータ30は、マスタとなるプロセッサコア#0_21で動作するオペレーティングシステム43の制御に従って、外部入出力バス25のクロック周波数を設定する。パワーマネージメントユニット29は、マスタとなるプロセッサコア#0_21で動作するオペレーティングシステム43の制御に従って、外部入出力バス25の駆動電圧を設定する。外部入出力バス25の駆動電圧は、外部入出力バス25を、設定されたクロック周波数で動作させるのに必要な電圧に設定される。
・外部入出力バス制御方法の説明
マスタとなるプロセッサコア#0_21で動作するオペレーティングシステム43における処理手順と、スレーブとなるプロセッサコア(#1、#2および#3)22〜24で動作するオペレーティングシステム47,51,55における処理手順と、に分けて説明する。まず、マスタとなるプロセッサコア#0_21で動作するオペレーティングシステム43における処理手順について説明する。
マスタとなるプロセッサコア#0_21で動作するオペレーティングシステム43における処理手順と、スレーブとなるプロセッサコア(#1、#2および#3)22〜24で動作するオペレーティングシステム47,51,55における処理手順と、に分けて説明する。まず、マスタとなるプロセッサコア#0_21で動作するオペレーティングシステム43における処理手順について説明する。
図4は、実施例2にかかる外部入出力バス制御方法におけるマスタOSの処理手順を示すフローチャートである。図4に示すように、マルチコアシステムにおいて処理が開始されると、マスタとなるプロセッサコア#0_21はユーザモードで動作する。ユーザモードにおいて、マスタとなるプロセッサコア#0_21のオペレーティングシステム43のスケジューラ44は各プロセッサコア(#0〜#3)21〜24へタスクを割り当てる(ステップS11)。次いで、マスタとなるプロセッサコア#0_21はプロファイル情報41を取得する(ステップS12)。
次いで、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は、いずれかのプロセッサコアでタスクのスイッチまたはディスパッチが発生したか否かを判断する(ステップS13)。例えば、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は、タスクのスイッチまたはディスパッチが発生したプロセッサコアからの割り込みによって、タスクのスイッチまたはディスパッチが発生したことを知ることができる。いずれのプロセッサコアでもタスクのスイッチまたはディスパッチが発生していない場合(ステップS13:No)、マスタとなるプロセッサコア#0_21のオペレーティングシステム43はタスクのスイッチまたはディスパッチが発生するのを待つ。
いずれかのプロセッサコアでタスクのスイッチまたはディスパッチが発生すると(ステップS13:Yes)、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は、各プロセッサコア(#0〜#3)21〜24で実行するタスク(A、B、CおよびD)42,46,50,54のプロファイル情報に基づいて外部入出力バス25のクロック周波数を導出する(ステップS14)。ステップS14におけるクロック周波数の導出処理の詳細については後述する。
次いで、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は例えばデータアクセス命令を外部入出力バス25へ発行中であるか否かを判断する(ステップS15)。例えばデータアクセス命令が発行中である場合(ステップS15:Yes)、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は、例えばデータアクセス命令が外部入出力バス25へ発行されていない状態になるまで待つ。
例えばデータアクセス命令が発行中でない場合、あるいは例えばデータアクセス命令が発行されていた状態から発行されていない状態になった場合(ステップS15:No)、マスタとなるプロセッサコア#0_21はスーパーバイザモードへ移行する。そして、スーパーバイザモードにおいて、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は割り込みを発生し、全てのプロセッサコア(#0〜#3)21〜24へプログラムカウンタの停止を要求する(ステップS16)。
全てのプロセッサコア(#0〜#3)21〜24のプログラムカウンタが停止したら、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は外部入出力バス25のクロック周波数および駆動電圧を変更する(ステップS17)。具体的には、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は、ステップS14で導出したクロック周波数および電圧に基づいてクロックジェネレータ30およびパワーマネージメントユニット29へ制御信号を出力する。クロックジェネレータ30およびパワーマネージメントユニット29はその制御信号に基づいて外部入出力バス25のクロック周波数および駆動電圧を設定する。
次いで、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は全てのプロセッサコア(#0〜#3)21〜24にプログラムカウンタの停止の解除を要求する。また、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は、マスタとなるプロセッサコア#0_21のプログラムカウンタの停止を解除する(ステップS18)。そして、マスタとなるプロセッサコア#0_21はユーザモードへ移行する。ユーザモードに復帰すると、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は、マスタとなるプロセッサコア#0_21に割り当てられたタスクを実行し(ステップS19)、ステップS13へ戻る。これ以後、ステップS13からステップS19までを繰り返す。
図5は、実施例2にかかる外部入出力バス制御方法におけるクロック周波数の導出処理手順を示すフローチャートである。図5に示すように、クロック周波数の導出処理では、まずマスタとなるプロセッサコア#0_21のオペレーティングシステム43はタスク実行テーブルを取得する(ステップS21)。タスク実行テーブルには、プロセッサコア(#0〜#3)21〜24で実行中の全てのタスクの識別子が登録されているので、オペレーティングシステム43は実行中の全てのタスクを認識することができる。タスク実行テーブルは例えばマルチコアシステムの任意のメモリに設けられていてもよい。
次いで、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は、実行中のタスクのプロファイル情報41に基づいて実行中のタスク群の中にキャッシュミスを発生させるタスクがあるか否か、つまりキャッシュミスが発生するか否かを判断する(ステップS22)。キャッシュミスを発生させるタスクがある場合(ステップS22:Yes)、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は外部入出力バス25のクロック周波数として、外部入出力バス25に設定可能なクロック周波数のうちの最も高い周波数を設定する(ステップS23)。例えば外部入出力バス25に設定可能なクロック周波数が50Hz、100Hz、150Hz、200Hz、250Hzおよび300Hzである場合、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は外部入出力バス25のクロック周波数を300Hzに設定する。
一方、キャッシュミスを発生させるタスクがない場合(ステップS22:No)、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は、次の(1)式で表される周波数x(単位:Hz)を求める。(1)式において、Aiはタスクiにおけるメモリ28への単位時間あたりのライトアクセス量(単位:ビット/秒)である。従って、ΣAiは実行中の全てのタスクの単位時間あたりのライトアクセス量の和である。Bは外部入出力バス25のバス幅(単位:ビット)である。
x=ΣAi/B ・・・(1)
(1)式で求められる周波数xは外部入出力バス25のクロック周波数の下限値である。外部入出力バス25のクロック周波数の下限値は、実行中の全てのタスクの単位時間あたりのライトアクセス量の和(ΣAi)と外部入出力バス25の単位時間あたりのデータ転送量(x×B)が等しくなる周波数である。外部入出力バス25のクロック周波数がx以上であれば、実行中の全てのタスクは当該タスクの実行時間内にメモリ28への全てのライトアクセスを終了させることができる。一般に、外部入出力バス25に設定可能なクロック周波数は段階的に設定されている。αおよびβ(α<β、いずれも単位はHz)を外部入出力バス25に設定可能なクロック周波数とすると、(1)式で求めたxに対してαおよびβが次の(2)式を満たす場合、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は外部入出力バス25のクロック周波数としてβを設定する(ステップS24)。
α≦x≦β ・・・(2)
例えばプロセッサコア#0_21、プロセッサコア#1_22、プロセッサコア#2_23およびプロセッサコア#3_24でそれぞれタスクA42、タスクB46、タスクC50およびタスクD54がディスパッチされたとする。タスクA42、タスクB46、タスクC50およびタスクD54の各単位時間あたりのライトアクセス量がそれぞれ200、400、700および500であるとする。外部入出力バス25のバス幅Bが20であるとする。この場合、上記(1)式より外部入出力バス25のクロック周波数の下限値xは90(=(200+400+700+500)/20)となる。例えば外部入出力バス25に設定可能なクロック周波数が50Hz、100Hz、150Hz、200Hz、250Hzおよび300Hzである場合、上記(2)式より、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は外部入出力バス25のクロック周波数を100Hzに設定する。
次いで、マスタとなるプロセッサコア#0_21のオペレーティングシステム43は、外部入出力バス25の駆動電圧として、ステップS23またはステップS24で求めたクロック周波数に応じた電圧を設定する(ステップS25)。具体的には、例えばクロック周波数と駆動電圧との関係を示す特性曲線が予め用意されており、この特性曲線に基づいて外部入出力バス25のクロック周波数に応じた電圧が設定されてもよい。そして、図4に示すフローチャートのステップS15へ戻る。次に、スレーブとなるプロセッサコア(#1、#2および#3)22〜24で動作するオペレーティングシステム47,51,55における処理手順について説明する。
図6は、実施例2にかかる外部入出力バス制御方法におけるスレーブOSの処理手順を示すフローチャートである。図6に示すように、マルチコアシステムにおいて処理が開始されると、スレーブとなる各プロセッサコア(#1〜#3)22〜24はユーザモードで動作する。ここでは、スレーブとなるプロセッサコア#1_22における処理について説明するが、スレーブとなるプロセッサコア#2_23およびプロセッサコア#3_24についても同様である。
ユーザモードにおいて、スレーブとなるプロセッサコア#1_22のオペレーティングシステム47はタスクのスイッチまたはディスパッチが発生したか否かを判断する(ステップS31)。タスクのスイッチまたはディスパッチが発生すると(ステップS31:Yes)、スレーブとなるプロセッサコア#1_22のオペレーティングシステム47は、マスタとなるプロセッサコア#0_21への割り込みを発生し、スイッチしたタスクを通知する(ステップS32)。そして、ステップS34へ進む。タスクのスイッチまたはディスパッチが発生していない場合(ステップS31:No)、スレーブとなるプロセッサコア#1_22のオペレーティングシステム47は、マスタとなるプロセッサコア#0_21から割り込みによるプログラムカウンタの停止命令があるか否かを判断する(ステップS33)。
プログラムカウンタの停止命令がない場合(ステップS33:No)、ステップS31に戻って、スレーブとなるプロセッサコア#1_22のオペレーティングシステム47はタスクのスイッチまたはディスパッチが発生するのを待つ。プログラムカウンタの停止命令がある場合(ステップS33:Yes)、ステップS34へ進む。ステップS34では、スレーブとなるプロセッサコア#1_22のオペレーティングシステム47は例えばデータアクセス命令を外部入出力バス25へ発行中であるか否かを判断する。例えばデータアクセス命令が発行中である場合(ステップS34:Yes)、スレーブとなるプロセッサコア#1_22のオペレーティングシステム47は、例えばデータアクセス命令が外部入出力バス25へ発行されていない状態になるまで待つ。
例えばデータアクセス命令が発行中でない場合、あるいは例えばデータアクセス命令が発行されていた状態から発行されていない状態になった場合(ステップS34:No)、スレーブとなるプロセッサコア#1_22はスーパーバイザモードへ移行する。そして、スーパーバイザモードにおいて、スレーブとなるプロセッサコア#1_22のオペレーティングシステム47は、スレーブとなるプロセッサコア#1_22のプログラムカウンタを停止し、停止したことをマスタとなるプロセッサコア#0_21へ通知する(ステップS35)。
次いで、スレーブとなるプロセッサコア#1_22のオペレーティングシステム47は、マスタとなるプロセッサコア#0_21からプログラムカウンタの停止を解除する要求があるか否かを判断する(ステップS36)。プログラムカウンタの停止を解除する要求がない場合(ステップS36:No)、スレーブとなるプロセッサコア#1_22のオペレーティングシステム47は、プログラムカウンタの停止を解除する要求を受け取るのを待つ。プログラムカウンタの停止を解除する要求がある場合(ステップS36:Yes)、スレーブとなるプロセッサコア#1_22のオペレーティングシステム47は、スレーブとなるプロセッサコア#1_22のプログラムカウンタの停止を解除する(ステップS37)。
そして、スレーブとなるプロセッサコア#1_22はユーザモードへ移行する。ユーザモードに復帰すると、スレーブとなるプロセッサコア#1_22のオペレーティングシステム47は、スレーブとなるプロセッサコア#1_22に割り当てられたタスクを実行し(ステップS38)、ステップS31へ戻る。これ以後、ステップS31からステップS38までを繰り返す。
実施例2によれば、実施例1と同様の効果が得られる。なお、実施例1および2においては、マルチコアシステムとして、一つのマイクロプロセッサに複数のプロセッサコアが内蔵されているマルチコアプロセッサを例にして説明したが、複数のマイクロプロセッサを搭載したマルチプロセッサにも同様に適用することができる。マルチプロセッサに適用する場合には、上述した説明においてプロセッサコアがプロセッサとなる。実施例1または実施例2にかかるマルチコアシステムおよび外部入出力バス制御方法は、例えばマルチコアベースの組み込みシステムを有する装置、例えば携帯電話機などに適用することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)キャッシュを有する複数のプロセッサコアと、
前記各プロセッサコアに接続された外部入出力バスと、
前記外部入出力バスを介して前記各プロセッサコアからアクセス可能なメモリと、
前記プロセッサコアに割り当てられる各タスクの前記メモリへのライトアクセス量に関する情報および前記キャッシュへのリードアクセスでキャッシュミスが発生するか否かに関する情報を含むプロファイル情報と、
前記プロファイル情報に基づいて、前記各プロセッサコアに同時に割り当てられる各タスクの処理でキャッシュミスが発生しないと判断される場合、前記外部入出力バスのクロック周波数を、前記各プロセッサコアに同時に割り当てられる各タスクの前記メモリへのライトアクセス量と前記外部入出力バスのバス幅とに基づいて第1の周波数に制御し、前記各プロセッサコアに同時に割り当てられる各タスクの処理でキャッシュミスが発生すると判断される場合、前記外部入出力バスのクロック周波数を前記第1の周波数よりも高い第2の周波数に制御するオペレーティングシステムと、
を備えることを特徴とするマルチコアシステム。
前記各プロセッサコアに接続された外部入出力バスと、
前記外部入出力バスを介して前記各プロセッサコアからアクセス可能なメモリと、
前記プロセッサコアに割り当てられる各タスクの前記メモリへのライトアクセス量に関する情報および前記キャッシュへのリードアクセスでキャッシュミスが発生するか否かに関する情報を含むプロファイル情報と、
前記プロファイル情報に基づいて、前記各プロセッサコアに同時に割り当てられる各タスクの処理でキャッシュミスが発生しないと判断される場合、前記外部入出力バスのクロック周波数を、前記各プロセッサコアに同時に割り当てられる各タスクの前記メモリへのライトアクセス量と前記外部入出力バスのバス幅とに基づいて第1の周波数に制御し、前記各プロセッサコアに同時に割り当てられる各タスクの処理でキャッシュミスが発生すると判断される場合、前記外部入出力バスのクロック周波数を前記第1の周波数よりも高い第2の周波数に制御するオペレーティングシステムと、
を備えることを特徴とするマルチコアシステム。
(付記2)前記第1の周波数は、前記外部入出力バスに設定可能なクロック周波数のうち、前記各プロセッサコアに同時に割り当てられている各タスクの前記メモリへの単位時間あたりのライトアクセス量の合計値を前記外部入出力バスのバス幅で除した値以上の周波数であることを特徴とする付記1に記載のマルチコアシステム。
(付記3)前記第2の周波数は、前記外部入出力バスに設定可能なクロック周波数のうち最も高い周波数であることを特徴とする付記1に記載のマルチコアシステム。
(付記4)前記外部入出力バスの駆動電圧を、前記オペレーティングシステムにより設定されたクロック周波数で前記外部入出力バスが動作するのに必要な電圧に制御する電圧制御部、を備えることを特徴とする付記2または3に記載のマルチコアシステム。
(付記5)キャッシュを有する複数のプロセッサコアから外部入出力バスを介してメモリにアクセス可能なマルチコアシステムの前記外部入出力バスを制御する方法において、
プロファイル情報として、前記プロセッサコアに割り当てられる各タスクの前記メモリへのライトアクセス量に関する情報および前記キャッシュへのリードアクセスでキャッシュミスが発生するか否かに関する情報を予め用意する第1のステップと、
前記キャッシュへのリードアクセスでキャッシュミスが発生するか否かに関する情報に基づいて、前記各プロセッサコアで実行中のタスクでキャッシュミスが発生するか否かを判断する第2のステップと、
実行中のタスクでキャッシュミスが発生しないと判断される場合、前記外部入出力バスのクロック周波数を、前記各タスクの前記メモリへのライトアクセス量と前記外部入出力バスのバス幅とに基づいて第1の周波数に設定する第3のステップと、
実行中のタスクでキャッシュミスが発生すると判断される場合、前記外部入出力バスのクロック周波数を前記第1の周波数よりも高い第2の周波数に設定する第4のステップと、
を含むことを特徴とする外部入出力バス制御方法。
プロファイル情報として、前記プロセッサコアに割り当てられる各タスクの前記メモリへのライトアクセス量に関する情報および前記キャッシュへのリードアクセスでキャッシュミスが発生するか否かに関する情報を予め用意する第1のステップと、
前記キャッシュへのリードアクセスでキャッシュミスが発生するか否かに関する情報に基づいて、前記各プロセッサコアで実行中のタスクでキャッシュミスが発生するか否かを判断する第2のステップと、
実行中のタスクでキャッシュミスが発生しないと判断される場合、前記外部入出力バスのクロック周波数を、前記各タスクの前記メモリへのライトアクセス量と前記外部入出力バスのバス幅とに基づいて第1の周波数に設定する第3のステップと、
実行中のタスクでキャッシュミスが発生すると判断される場合、前記外部入出力バスのクロック周波数を前記第1の周波数よりも高い第2の周波数に設定する第4のステップと、
を含むことを特徴とする外部入出力バス制御方法。
(付記6)前記第1の周波数は、前記外部入出力バスに設定可能なクロック周波数のうち、前記各プロセッサコアに同時に割り当てられている各タスクの前記メモリへの単位時間あたりのライトアクセス量の合計値を前記外部入出力バスのバス幅で除した値以上の周波数であることを特徴とする付記5に記載の外部入出力バス制御方法。
(付記7)前記第2の周波数は、前記外部入出力バスに設定可能なクロック周波数のうち最も高い周波数であることを特徴とする付記5に記載の外部入出力バス制御方法。
(付記8)前記外部入出力バスの駆動電圧を、前記第3のステップまたは前記第4のステップで設定されたクロック周波数で前記外部入出力バスが動作するのに必要な電圧に制御する第5のステップ、をさらに含むことを特徴とする付記5に記載の外部入出力バス制御方法。
1,2 プロセッサコア
3 外部入出力バス
4 メモリ
5 プロファイル情報
6,9 タスク
7,10 オペレーティングシステム
8,11 キャッシュ
29 電圧制御部
3 外部入出力バス
4 メモリ
5 プロファイル情報
6,9 タスク
7,10 オペレーティングシステム
8,11 キャッシュ
29 電圧制御部
Claims (6)
- キャッシュを有する複数のプロセッサコアと、
前記各プロセッサコアに接続された外部入出力バスと、
前記外部入出力バスを介して前記各プロセッサコアからアクセス可能なメモリと、
前記各プロセッサコアに割り当てられる各タスクの前記メモリへのライトアクセス量に関する情報および前記各プロセッサコアに割り当てられる各タスクの前記キャッシュへのリードアクセスでキャッシュミスが発生するか否かに関する情報を含むプロファイル情報と、
を有するマルチコアシステムであって、前記複数のプロセッサコアのうちの一のプロセッサコアは、
前記プロファイル情報に基づいて、前記各プロセッサコアに同時に割り当てられる各タスクの処理でキャッシュミスが発生しないと判断される場合、前記外部入出力バスのクロック周波数を、前記各プロセッサコアに同時に割り当てられる各タスクの前記メモリへのライトアクセス量と前記外部入出力バスのバス幅とに基づいて第1の周波数に制御し、前記各プロセッサコアに同時に割り当てられる各タスクの処理でキャッシュミスが発生すると判断される場合、前記外部入出力バスのクロック周波数を前記第1の周波数よりも高い第2の周波数に制御する、
ことを特徴とするマルチコアシステム。 - 前記第1の周波数は、前記外部入出力バスに設定可能なクロック周波数のうち、前記各プロセッサコアに同時に割り当てられている各タスクの前記メモリへの単位時間あたりのライトアクセス量の合計値を前記外部入出力バスのバス幅で除した値以上の周波数であることを特徴とする請求項1に記載のマルチコアシステム。
- 前記外部入出力バスの駆動電圧を、前記一のプロセッサコアにより制御されたクロック周波数で前記外部入出力バスが動作するのに必要な電圧に制御する電圧制御部、を有することを特徴とする請求項2に記載のマルチコアシステム。
- キャッシュを有する複数のプロセッサコアから外部入出力バスを介してメモリにアクセス可能なマルチコアシステムの前記外部入出力バスを制御する方法において、前記複数のプロセッサコアのうちの一のプロセッサコアが、
プロファイル情報として、前記各プロセッサコアに割り当てられる各タスクの前記メモリへのライトアクセス量に関する情報および前記各プロセッサコアに割り当てられる各タスクの前記キャッシュへのリードアクセスでキャッシュミスが発生するか否かに関する情報を予め用意する第1のステップと、
前記キャッシュへのリードアクセスでキャッシュミスが発生するか否かに関する情報に基づいて、前記各プロセッサコアで実行中のタスクでキャッシュミスが発生するか否かを判断する第2のステップと、
実行中のタスクでキャッシュミスが発生しないと判断される場合、前記外部入出力バスのクロック周波数を、前記各タスクの前記メモリへのライトアクセス量と前記外部入出力バスのバス幅とに基づいて第1の周波数に設定する第3のステップと、
実行中のタスクでキャッシュミスが発生すると判断される場合、前記外部入出力バスのクロック周波数を前記第1の周波数よりも高い第2の周波数に設定する第4のステップと、
を実行することを特徴とする外部入出力バス制御方法。 - 前記第1の周波数は、前記外部入出力バスに設定可能なクロック周波数のうち、前記各プロセッサコアに同時に割り当てられている各タスクの前記メモリへの単位時間あたりのライトアクセス量の合計値を前記外部入出力バスのバス幅で除した値以上の周波数であることを特徴とする請求項4に記載の外部入出力バス制御方法。
- 前記一のプロセッサコアが、
前記外部入出力バスの駆動電圧を、前記第3のステップまたは前記第4のステップで設定されたクロック周波数で前記外部入出力バスが動作するのに必要な電圧に制御する第5のステップ、をさらに実行することを特徴とする請求項4に記載の外部入出力バス制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/060650 WO2011161782A1 (ja) | 2010-06-23 | 2010-06-23 | マルチコアシステムおよび外部入出力バス制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011161782A1 JPWO2011161782A1 (ja) | 2013-08-19 |
JP5633564B2 true JP5633564B2 (ja) | 2014-12-03 |
Family
ID=45370995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012521215A Expired - Fee Related JP5633564B2 (ja) | 2010-06-23 | 2010-06-23 | マルチコアシステムおよび外部入出力バス制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8892819B2 (ja) |
JP (1) | JP5633564B2 (ja) |
WO (1) | WO2011161782A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101621776B1 (ko) * | 2012-02-02 | 2016-05-17 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 멀티코어 프로세서에서의 서비스 품질 타깃 |
US9471088B2 (en) | 2013-06-25 | 2016-10-18 | Intel Corporation | Restricting clock signal delivery in a processor |
US9377836B2 (en) * | 2013-07-26 | 2016-06-28 | Intel Corporation | Restricting clock signal delivery based on activity in a processor |
US9952650B2 (en) | 2014-10-16 | 2018-04-24 | Futurewei Technologies, Inc. | Hardware apparatus and method for multiple processors dynamic asymmetric and symmetric mode switching |
US10248180B2 (en) | 2014-10-16 | 2019-04-02 | Futurewei Technologies, Inc. | Fast SMP/ASMP mode-switching hardware apparatus for a low-cost low-power high performance multiple processor system |
US10928882B2 (en) * | 2014-10-16 | 2021-02-23 | Futurewei Technologies, Inc. | Low cost, low power high performance SMP/ASMP multiple-processor system |
CN105740164B (zh) | 2014-12-10 | 2020-03-17 | 阿里巴巴集团控股有限公司 | 支持缓存一致性的多核处理器、读写方法、装置及设备 |
US20190101969A1 (en) * | 2017-09-29 | 2019-04-04 | Intel Corporation | Control Blocks for Processor Power Management |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008009647A (ja) * | 2006-06-28 | 2008-01-17 | Matsushita Electric Ind Co Ltd | 情報処理装置 |
JP2009211540A (ja) * | 2008-03-05 | 2009-09-17 | Internatl Business Mach Corp <Ibm> | コンピュータ使用可能コードを実行する装置及び方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11134077A (ja) | 1997-10-30 | 1999-05-21 | Hitachi Ltd | データ処理装置及びデータ処理システム |
JP2002108702A (ja) | 2000-10-03 | 2002-04-12 | Hitachi Ltd | マイクロコンピュータ及びデータ処理装置 |
US7173450B2 (en) | 2004-06-01 | 2007-02-06 | Hewlett-Packard Development Company, L.P. | Bus controller |
-
2010
- 2010-06-23 WO PCT/JP2010/060650 patent/WO2011161782A1/ja active Application Filing
- 2010-06-23 JP JP2012521215A patent/JP5633564B2/ja not_active Expired - Fee Related
-
2012
- 2012-12-18 US US13/718,292 patent/US8892819B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008009647A (ja) * | 2006-06-28 | 2008-01-17 | Matsushita Electric Ind Co Ltd | 情報処理装置 |
JP2009211540A (ja) * | 2008-03-05 | 2009-09-17 | Internatl Business Mach Corp <Ibm> | コンピュータ使用可能コードを実行する装置及び方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2011161782A1 (ja) | 2011-12-29 |
US20130111143A1 (en) | 2013-05-02 |
US8892819B2 (en) | 2014-11-18 |
JPWO2011161782A1 (ja) | 2013-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5633564B2 (ja) | マルチコアシステムおよび外部入出力バス制御方法 | |
JP4543081B2 (ja) | リソースの割り当ておよび制限を介するヘテロジニアスチップマルチプロセッサのための装置および方法 | |
JP4938080B2 (ja) | マルチプロセッサ制御装置、マルチプロセッサ制御方法及びマルチプロセッサ制御回路 | |
US6871264B2 (en) | System and method for dynamic processor core and cache partitioning on large-scale multithreaded, multiprocessor integrated circuits | |
KR101680109B1 (ko) | 복수 코어 장치 및 그의 로드 조정 방법 | |
JP2011018196A (ja) | キャッシュメモリ | |
WO2008124455A2 (en) | Priority based throttling for power/performance quality of service | |
JPH02193248A (ja) | 実記憶管理方法 | |
WO2006117950A1 (ja) | 情報処理装置における電力制御装置 | |
US20060015876A1 (en) | Light weight context switching technique | |
JP5499987B2 (ja) | 共有キャッシュメモリ装置 | |
KR20150097981A (ko) | 가상화 시스템에서 메모리 조정방법 | |
JP5820525B2 (ja) | 仮想計算機のスケジュールシステム及びその方法 | |
JP2014081819A (ja) | 情報処理装置 | |
JP5397544B2 (ja) | マルチコアシステム、マルチコアシステムのスケジューリング方法およびマルチコアシステムのスケジューリングプログラム | |
US11526767B2 (en) | Processor system and method for increasing data-transfer bandwidth during execution of a scheduled parallel process | |
US20130298132A1 (en) | Multi-core processor system and scheduling method | |
JP5585651B2 (ja) | マルチコアシステム、スケジューリング方法およびスケジューリングプログラム | |
JP6135392B2 (ja) | キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法 | |
US11003581B2 (en) | Arithmetic processing device and arithmetic processing method of controlling prefetch of cache memory | |
CN108845969B (zh) | 适用于不完全对称多处理微控制器的操作控制方法及操作系统 | |
JP6074932B2 (ja) | 演算処理装置及び演算処理方法 | |
JP2009070389A (ja) | 処理装置のためのコントローラ | |
TWI712890B (zh) | 電子設備中執行任務級快取記憶體管理的方法和裝置 | |
JP2014078214A (ja) | スケジュールシステム、スケジュール方法、スケジュールプログラム、及び、オペレーティングシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140421 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140916 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140929 |
|
LAPS | Cancellation because of no payment of annual fees |