JP2010072790A - プロセッサ装置、情報処理装置及びメモリ管理方法 - Google Patents
プロセッサ装置、情報処理装置及びメモリ管理方法 Download PDFInfo
- Publication number
- JP2010072790A JP2010072790A JP2008237475A JP2008237475A JP2010072790A JP 2010072790 A JP2010072790 A JP 2010072790A JP 2008237475 A JP2008237475 A JP 2008237475A JP 2008237475 A JP2008237475 A JP 2008237475A JP 2010072790 A JP2010072790 A JP 2010072790A
- Authority
- JP
- Japan
- Prior art keywords
- calculation
- memory
- program
- core
- area
- 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.)
- Pending
Links
Images
Abstract
【課題】計算プログラムの設計上の自由度を向上させるとともに、動的にメモリ管理を行うことができるプロセッサ装置、情報処理装置及びメモリ管理方法を提供する。
【解決手段】マルチコアプロセッサ21は、メモリ33A〜33Nの未使用領域を計算処理のために確保するメモリ管理プログラム330Aと、メモリ33A〜33Nの計算処理のために確保された領域を使用して計算処理を実行する計算プログラム330Bとをそれぞれ実行する計算コア32A〜32Nと、計算コア32A〜32Nと接続されるとともに、計算プログラム330Bが計算処理を終了すると、メモリ33A〜33Nにおいて計算処理のために確保された領域を回収処理するメモリ管理プログラム310を実行する管理コア30とを有する。
【選択図】図2
【解決手段】マルチコアプロセッサ21は、メモリ33A〜33Nの未使用領域を計算処理のために確保するメモリ管理プログラム330Aと、メモリ33A〜33Nの計算処理のために確保された領域を使用して計算処理を実行する計算プログラム330Bとをそれぞれ実行する計算コア32A〜32Nと、計算コア32A〜32Nと接続されるとともに、計算プログラム330Bが計算処理を終了すると、メモリ33A〜33Nにおいて計算処理のために確保された領域を回収処理するメモリ管理プログラム310を実行する管理コア30とを有する。
【選択図】図2
Description
本発明は、プロセッサ装置、情報処理装置及びメモリ管理方法に関する。
従来、複数のプロセッサ装置のメモリ使用効率が適正になるよう管理する情報処理装置が知られている(例えば、特許文献1参照)。
この情報処理装置は、それぞれメモリとメモリ管理用の制御プログラムを有するとともにプロセスを生成して計算処理を実行する計算プログラムとを有する複数の計算用プロセッサ装置と、複数の計算プロセッサ装置の動作を制御する管理用プロセッサ装置とを有し、管理用プロセッサ装置が各計算用プロセッサ装置のメモリ使用状況を監視し、新たなプロセスを生成する際にそのプロセスにとってメモリの使用効率が最適な計算用プロセッサ装置を動的に選択するため、情報処理装置全体のメモリ使用効率が最適になり、処理効率が向上する。ここで、動的な選択とは、予め定められた計算プロセッサ装置を用いるような静的な選択ではなく、適宜最適なものを選択することを示す。
特開平9−179834号公報
しかし、従来の情報処理装置によると、各計算用プロセッサ装置のメモリ容量が十分大きい場合には効果が期待できるが、マルチコアプロセッサの計算コアのように一般的にメモリ容量が小さい場合、制御プログラムの使用するメモリの占有容量によって計算プログラムが使用できるメモリ占有容量が限定されるため、計算プログラムの設計上の自由度が低下するという問題がある。
従って、本発明の目的は、計算プログラムの設計上の自由度を向上させるとともに、動的にメモリ管理を行うことができるプロセッサ装置、情報処理装置及びメモリ管理方法を提供することにある。
(1)本発明は上記目的を達成するため、メモリの未使用領域を計算処理のために確保する第1のメモリ管理プログラムと、前記メモリの前記計算処理のために確保された領域を使用して前記計算処理を実行する計算プログラムとを実行する計算コアと、前記計算コアと接続されるとともに、前記計算プログラムが前記計算処理を終了すると、前記メモリにおいて前記計算処理のために確保された領域を回収処理する第2の管理プログラムを実行する管理コアとを有することを特徴とするプロセッサ装置を提供する。
上記した構成によれば、第1及び第2のメモリ管理プログラムによって動的なメモリ管理を実行することができるとともに、メモリ回収処理を第2のメモリ管理プログラムが実行するため、第1のメモリ管理プログラムの記述が容易となり、計算プログラムの設計上の自由度を向上させることができる。また、計算コアがメモリ回収を行わないため、計算処理に集中することができ、計算処理の速度が向上する。
(2)また、本発明は上記目的を達成するため、メモリを有し、前記メモリを使用して計算処理するための計算プログラムと、前記メモリの未使用領域を前記計算プログラムの前記計算処理のために使用中領域として確保し、前記計算プログラムが前記計算処理を完了すると前記使用中領域を使用済領域とする第1のメモリ管理プログラムとを実行する計算コアと、前記計算コアと接続されて、前記メモリにおける前記使用済領域を前記未使用領域とする第2の管理プログラムを実行する管理コアとを有するプロセッサ装置を有することを特徴とする情報処理装置を提供する。
上記した構成によれば、(1)と同様の効果を有する情報処理装置を達成できる。
(3)また、本発明は上記目的を達成するため、計算コアがメモリの未使用領域を使用中領域として確保するメモリ確保ステップと、前記使用中領域を用いて前記計算コアが計算処理を実行する計算処理実行ステップと、管理コアが前記計算コアの前記計算処理の終了を確認する確認ステップと、前記確認ステップ後に、前記管理コアが前記計算処理が終了した使用中領域を回収処理する回収処理実行ステップとを有することを特徴とするメモリ管理方法を提供する。
上記した方法によれば、(1)と同様の効果を有するメモリ管理方法を達成できる。
本発明によれば、計算プログラムの設計上の自由度を向上させるとともに、動的にメモリ管理を行うことができる。
以下に、本発明の情報処理装置の実施の形態を、図面を参照して詳細に説明する。
(情報処理装置の構成)
図1は、本発明の実施の形態に係る情報処理装置の構成例を示す外観図である。
図1は、本発明の実施の形態に係る情報処理装置の構成例を示す外観図である。
この情報処理装置1は、例えば、パーソナルコンピュータ等の情報処理装置であり、LCD(Liquid Crystal Display)等の表示画面からなり画像を表示する表示部11を有する上部筐体10と、キーボード22やタッチパッド23等の操作部を有する下部筐体20とから構成される。
下部筐体20は、内部に図示しないSSD(Solid State Drive)やHDD(Hard Disc Drive)等の不揮発性メモリである記憶部や、SDRAM(Synchronous Dynamic Random Access Memory)等の揮発性メモリであるメモリ等との電子部品とともに、CPU(Central Proccessing Unit)等の情報処理回路であって計算処理を実行して各部を制御するプロセッサ装置としてのマルチコアプロセッサ21を有する。
図2は、本発明の実施の形態に係るマルチコアプロセッサの構成例を示すブロック図である。
マルチコアプロセッサ21は、後述する計算コア32A〜32Nを管理する管理コア30と、管理コア30がアクセス可能なメモリ31と、計算処理を実行する計算コア32A〜32Nと、計算コア32A〜32Nにそれぞれ設けられるメモリ33A〜33Nと、管理コア30がメモリ31及びメモリ33A〜33Nにアクセスするために各メモリのアドレスが記述されたアドレステーブル34とを有する。又、各部はバスによって接続されている。
メモリ31は、管理コア30において実行され、計算コア32A〜32Nが使用するメモリ33A〜33Nのメモリ回収動作を実行するメモリ管理プログラム310(第2のメモリ管理プログラム)を有する。
メモリ33A〜33Nは、それぞれ、計算コア32A〜32Nの計算処理を実行する際に使用するメモリを確保するためのメモリ管理プログラム330A(第1のメモリ管理プログラム)と、計算コア32A〜32Nにおいて実行され、計算処理を実行するための計算プログラム330Bとを有する。
(動作)
以下に、本発明の実施の形態における情報処理装置の動作を各図を参照しつつ説明する。
以下に、本発明の実施の形態における情報処理装置の動作を各図を参照しつつ説明する。
図3(a)〜(d)は、本発明の実施の形態に係るマルチコアプロセッサの動作例を示す概略図である。なお、計算コア32A〜32Nは同一の構成を有するとともに、同一の動作を実行するため、ここでは代表して計算コア32Aについて説明する。
図3(a)に示すように、計算コア32Aにおいて、計算プログラム330Bは、メモリ管理プログラム330Aによって確保されるメモリ33Aの計算用領域330Cを使用して計算処理を実行する。ここで、概略的にメモリ33Aの計算用領域330Cの横方向は、メモリ容量を示している。計算用領域330Cは、計算プログラム330Bに使用されている状態の使用中メモリブロック331a及び331bと、使用されていない状態の未使用メモリブロック332aとを有する。
まず、計算プログラム330Bが計算処理を実行するために、メモリ管理プログラム330Aは、計算処理のまとまりごとにメモリ33A上のブロックに対応するアドレステーブル34上に使用中を示すフラグを立てることにより、使用中メモリブロック331aと使用中メモリブロック331bとを確保する。使用されていないメモリブロックは、メモリ管理プログラム330Aにとって未使用メモリブロック332mとして認識される。
次に、図3(b)に示すように、例えば、使用中メモリブロック331bを使用して計算プログラム330Bによって実行されていた計算処理が終了すると、メモリ管理プログラム330Aは、アドレステーブル34上に使用済を示すフラグを立てることにより、使用中メモリブロック331bを使用済メモリブロック333bに変更する。
また、新たな計算処理が発生し、メモリ管理プログラム330Aによって使用中メモリブロック331cが確保され、使用されていないメモリブロックは、未使用メモリブロック332nとして認識される。
次に、図3(c)に示すように、管理コア30によって実行されるメモリ管理プログラム310は、メモリ33Aを監視して使用済メモリブロック333bを検出すると、メモリ回収処理を実行し、その結果、図3(d)に示すように、アドレステーブル34上に未使用を示すフラグを立てることにより、使用済メモリブロック333bを未使用メモリブロック332bに変更する。
図4は、本発明の実施の形態に係るマルチコアプロセッサの計算コアの動作例を示すフローチャートである。
まず、計算コア32Aのメモリ管理プログラム330Aは、計算処理を受け付けると(S1;Yes)、メモリ33Aの計算用領域330Cにおいて計算処理に必要な容量の未使用メモリブロックがあるか確認し(S2)、未使用メモリブロックがある場合(S2;Yes)、アドレステーブル34の該当するアドレスに使用中メモリブロックのフラグを設定し(S3)、計算用の記憶領域を確保する。
次に、計算コア32Aにおいて実行される計算プログラム330Bは、ステップS3において確保した計算用の記憶領域を用いて計算処理を実行する(S4)。次に、メモリ管理プログラム330Aは、計算プログラム330Bが計算処理を完了したこと確認すると(S5;Yes)、計算処理に使用した記憶領域について、アドレステーブル34の該当するアドレスに未使用メモリブロックのフラグを設定して使用可能とする(S6)。
また、ステップS2において、メモリ33Aの計算用領域330Cにおいて計算処理に必要な容量の未使用メモリブロックがない場合(S2;No)、所定の時間待機して未使用メモリブロックが設定されるのを待つ(S7)。
図5は、本発明の実施の形態に係るマルチコアプロセッサの管理コアの動作例を示すフローチャートである。
まず、管理コア30において実行されるメモリ管理プログラム310は、各計算コア32A〜32Nが有するメモリ33A〜33Nの計算領域における先頭メモリブロックに移動し(S20)、アドレステーブル34の該当するアドレスのフラグを確認して、使用済メモリブロックが有るか確認する(S21)。
使用済メモリブロックが有る場合(S21;Yes)、使用済メモリブロックの回収処理を実行し(S22)、アドレステーブル34の該当するアドレスに未使用メモリブロックのフラグを設定し(S23)、次のメモリブロックに移動する(S24)。
ステップS21において使用済メモリブロックが無い場合(S21;No)、ステップS24に進んで、次のメモリブロックに移動する(S24)。
次に、ステップS24において移動した先のメモリブロックが計算領域のメモリブロックの末尾でない場合(S25;No)、ステップS21〜S24を繰り返す。
また、ステップS24において移動した先のメモリブロックが計算領域のメモリブロックの末尾である場合(S25;Yes)、ステップS20に移動して計算領域の先頭メモリブロックに移動してステップS21〜S24を繰り返す。
(実施の形態の効果)
上記した実施の形態によると、メモリ管理プログラム310及び330Aによって動的なメモリ管理を実行することができるとともに、メモリ回収処理をメモリ管理プログラム310が実行するため、計算コア32A〜32Nが実行するメモリ管理プログラム330Aの記述が容易となることでその占有容量が通常より小さくなり、メモリ33A〜33Nの容量が比較的小さい場合においても、計算プログラム330Bの占有容量を過度に制限する必要がなくなる。その結果、計算プログラム330Bの設計上の自由度を向上させることができる。
上記した実施の形態によると、メモリ管理プログラム310及び330Aによって動的なメモリ管理を実行することができるとともに、メモリ回収処理をメモリ管理プログラム310が実行するため、計算コア32A〜32Nが実行するメモリ管理プログラム330Aの記述が容易となることでその占有容量が通常より小さくなり、メモリ33A〜33Nの容量が比較的小さい場合においても、計算プログラム330Bの占有容量を過度に制限する必要がなくなる。その結果、計算プログラム330Bの設計上の自由度を向上させることができる。
また、計算コア32A〜32Nにおいてメモリ回収処理を実行する必要がないので、計算コア32A〜32Nにおいてメモリ回収処理を実行する場合に比べて、計算コア32A〜32Nが計算処理に集中することができ、計算処理の速度が向上する。
なお、本実施の形態において、管理コア30に対して計算コア32A〜32Nが複数である場合を示したが、単数であってもよい。また、管理コア30を複数有する構成としてもよい。
また、本実施の形態において、情報処理装置1としてパーソナルコンピュータを示したが、マルチコアプロセッサ21を搭載して情報を処理する電子機器、例えば、テレビ、HDDレコーダ、携帯電話等の家電製品に本発明を適用してもよい。
1…情報処理装置、10…上部筐体、11…表示部、20…下部筐体、21…マルチコアプロセッサ、22…キーボード、23…タッチパッド、30…管理コア、31…メモリ、32A-32N…計算コア、33A-33N…メモリ、34…アドレステーブル、310…メモリ管理プログラム、330A…メモリ管理プログラム、330B…計算プログラム、330C…計算用領域、331a…使用中メモリブロック、331b…使用中メモリブロック、331c…使用中メモリブロック、332a…未使用メモリブロック、332b…未使用メモリブロック、332m…未使用メモリブロック、332n…未使用メモリブロック、333b…使用済メモリブロック
Claims (5)
- メモリの未使用領域を計算処理のために確保する第1のメモリ管理プログラムと、前記メモリの前記計算処理のために確保された領域を使用して前記計算処理を実行する計算プログラムとを実行する計算コアと、
前記計算コアと接続されるとともに、前記計算プログラムが前記計算処理を終了すると、前記メモリにおいて前記計算処理のために確保された領域を回収処理する第2の管理プログラムを実行する管理コアとを有することを特徴とするプロセッサ装置。 - 前記第1のメモリ管理プログラムは、前記メモリの未使用領域を使用中領域とすることで前記計算処理のための領域を確保し、
前記第2のメモリ管理プログラムは、前記使用中領域を前記未使用領域とすることで前記回収処理を実行することを特徴とする請求項1に記載のプロセッサ装置。 - 前記メモリは、前記計算プログラムと、前記第1のメモリ管理プログラムとを格納することを特徴とする請求項1に記載のプロセッサ装置。
- メモリを有し、前記メモリを使用して計算処理するための計算プログラムと、前記メモリの未使用領域を前記計算プログラムの前記計算処理のために使用中領域として確保し、前記計算プログラムが前記計算処理を完了すると前記使用中領域を使用済領域とする第1のメモリ管理プログラムとを実行する計算コアと、
前記計算コアと接続されて、前記メモリにおける前記使用済領域を前記未使用領域とする第2の管理プログラムを実行する管理コアとを有するプロセッサ装置を有することを特徴とする情報処理装置。 - 計算コアがメモリの未使用領域を使用中領域として確保するメモリ確保ステップと、
前記使用中領域を用いて前記計算コアが計算処理を実行する計算処理実行ステップと、
管理コアが前記計算コアの前記計算処理の終了を確認する確認ステップと、
前記確認ステップ後に、前記管理コアが前記計算処理が終了した使用中領域を回収処理する回収処理実行ステップとを有することを特徴とするメモリ管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008237475A JP2010072790A (ja) | 2008-09-17 | 2008-09-17 | プロセッサ装置、情報処理装置及びメモリ管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008237475A JP2010072790A (ja) | 2008-09-17 | 2008-09-17 | プロセッサ装置、情報処理装置及びメモリ管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010072790A true JP2010072790A (ja) | 2010-04-02 |
Family
ID=42204532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008237475A Pending JP2010072790A (ja) | 2008-09-17 | 2008-09-17 | プロセッサ装置、情報処理装置及びメモリ管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010072790A (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61202250A (ja) * | 1985-03-06 | 1986-09-08 | Hitachi Ltd | デ−タ領域管理方式 |
JP2002149481A (ja) * | 2000-11-09 | 2002-05-24 | Fujitsu Ltd | 並列計算機のメモリ管理装置及び方法 |
JP2007299403A (ja) * | 2006-04-28 | 2007-11-15 | Internatl Business Mach Corp <Ibm> | 異機種マルチプロセッサ・システムにおけるガーベッジ・コレクションのためのシステムおよび方法 |
-
2008
- 2008-09-17 JP JP2008237475A patent/JP2010072790A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61202250A (ja) * | 1985-03-06 | 1986-09-08 | Hitachi Ltd | デ−タ領域管理方式 |
JP2002149481A (ja) * | 2000-11-09 | 2002-05-24 | Fujitsu Ltd | 並列計算機のメモリ管理装置及び方法 |
JP2007299403A (ja) * | 2006-04-28 | 2007-11-15 | Internatl Business Mach Corp <Ibm> | 異機種マルチプロセッサ・システムにおけるガーベッジ・コレクションのためのシステムおよび方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI335512B (en) | Technique for using memory attributes | |
US9229779B2 (en) | Parallelizing heterogeneous network communications in smart devices based on selection of task allocation strategy | |
US20100251255A1 (en) | Server device, computer system, recording medium and virtual computer moving method | |
US20080270736A1 (en) | Information processing apparatus and access control method | |
JP2018063505A (ja) | メモリ管理制御装置、メモリ管理制御方法、及びメモリ管理制御プログラム | |
TW200925871A (en) | Dynamic logical data channel assignment using time-grouped allocations | |
WO2013035246A1 (ja) | 仮想計算機制御装置、仮想計算機制御方法、仮想計算機制御プログラム、及び集積回路 | |
JP2011175395A (ja) | 情報処理装置、画像読取装置、携帯端末、情報処理装置のメモリ制御方法、及び、プログラム | |
JP2009020555A (ja) | スワップ処理装置 | |
US9690619B2 (en) | Thread processing method and thread processing system for setting for each thread priority level of access right to access shared memory | |
JP2016130892A (ja) | 監視装置、情報処理システム及び監視プログラム | |
JP2010072790A (ja) | プロセッサ装置、情報処理装置及びメモリ管理方法 | |
JP2015049675A (ja) | 周辺機器制御装置および情報処理装置 | |
JP2008090554A (ja) | 情報処理装置、制御装置およびメモリ管理方法 | |
US20110022995A1 (en) | Circuit design information generating equipment, function execution system, and memory medium storing program | |
JP2006252031A (ja) | ディスクアレイコントローラ | |
JP2011076497A (ja) | 情報処理装置、半導体記憶装置、及びプログラム | |
JP2008243049A (ja) | 情報処理装置および同装置のメモリ制御方法 | |
CN114371911A (zh) | 虚拟机调度方法、装置、电子设备和可读存储介质 | |
JP5699665B2 (ja) | サーバ装置、処理実行方法およびプログラム | |
JP2012212232A (ja) | 表示制御装置および表示制御プログラム | |
JP4727480B2 (ja) | 情報処理方法、情報処理システム、情報処理装置、マルチプロセッサ、情報処理プログラム及び情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体 | |
JP2017201481A (ja) | 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム | |
JP2011039790A (ja) | 仮想マシンイメージ転送装置及び方法及びプログラム | |
JP2011204077A (ja) | 情報処理装置、リソース割り当て方法、およびリソース割り当てプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Effective date: 20100216 Free format text: JAPANESE INTERMEDIATE CODE: A02 |