JP4548505B2 - 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム - Google Patents
情報処理装置、および情報処理方法、並びにコンピュータ・プログラム Download PDFInfo
- Publication number
- JP4548505B2 JP4548505B2 JP2008106354A JP2008106354A JP4548505B2 JP 4548505 B2 JP4548505 B2 JP 4548505B2 JP 2008106354 A JP2008106354 A JP 2008106354A JP 2008106354 A JP2008106354 A JP 2008106354A JP 4548505 B2 JP4548505 B2 JP 4548505B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- processing
- dma
- processor
- 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
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
Description
まず、ステップS101においてデバイスがデータを取得する。
次にステップS102において、デバイスがデータをメモリのカーネル空間へDMA(Direct Memory Access)を用いて転送する。
次に、ステップS103において、CPU(Central Processing Unit)の実行するOSの制御の下、ユーザ空間へコピーされる。
最後に、ステップS104において、アプリケーションがユーザ空間からデータを取得する。
特許文献4(特開平9−294132(日立電線))は、フレーム中継装置において受信フレームをメモリコピーすること無く送信フレームとして扱うことが可能なメモリ管理方法を利用した構成を提案している。この構成により、メモリコピー性能に依存しないフレーム中継を実現している。
複数のプロセッサを含むマルチプロセッサユニットを有し、
前記マルチプロセッサユニットは、
メインプロセッサを含むメインプロセッサエレメントと、
サブプロセッサと、プロセッサ対応のローカルメモリと、該ローカルメモリに対するデータ入出力をDMA(ダイレクトメモリアクセス)によって実行するメモリフローコントローラ(MFC)とを有するサブプロセッサエレメントを1つ以上有する構成であり、
前記メモリフローコントローラ(MFC)は、
前記マルチプロセッサユニットの外部からデータをDMA処理により前記ローカルメモリに入力して格納し、さらに、前記ローカルメモリに格納したデータをDMA処理により前記マルチプロセッサユニットの外部のメモリまたはデバイスに出力する処理を実行する構成であり、
前記DMA処理によるデータ転送を実行するサブプロセッサエレメントは、
オペレーションシステム(OS)の少なくとも一部の処理として前記DMA処理を実行する構成である情報処理装置にある。
情報処理装置においてデータ転送処理を行う情報処理方法であり、
前記情報処理装置は、複数のプロセッサを含むマルチプロセッサユニットを有し、
前記マルチプロセッサユニットは、
メインプロセッサを含むメインプロセッサエレメントと、
サブプロセッサと、プロセッサ対応のローカルメモリと、該ローカルメモリに対するデータ入出力をDMA(ダイレクトメモリアクセス)によって実行するメモリフローコントローラ(MFC)とを有するサブプロセッサエレメントを1つ以上有する構成であり、
前記メモリフローコントローラ(MFC)が、前記マルチプロセッサユニットの外部からデータをDMA処理により前記ローカルメモリに入力して格納するステップと、
前記メモリフローコントローラ(MFC)が、前記ローカルメモリに格納したデータをDMA処理により前記マルチプロセッサユニットの外部のメモリまたはデバイスに出力する処理を実行するステップを有し、
前記DMA処理によるデータ転送を実行するサブプロセッサエレメントは、
オペレーションシステム(OS)の少なくとも一部の処理として前記DMA処理を実行する情報処理方法にある。
情報処理装置においてデータ転送処理を実行させるコンピュータ・プログラムであり、
前記情報処理装置は、複数のプロセッサを含むマルチプロセッサユニットを有し、
前記マルチプロセッサユニットは、
メインプロセッサを含むメインプロセッサエレメントと、
サブプロセッサと、プロセッサ対応のローカルメモリと、該ローカルメモリに対するデータ入出力をDMA(ダイレクトメモリアクセス)によって実行するメモリフローコントローラ(MFC)とを有するサブプロセッサエレメントを1つ以上有し、サブプロセッサエレメントの1つは、オペレーションシステム(OS)の少なくとも一部の処理としてDMA処理を実行するOS実行エレメントであり、
前記OS実行エレメントのメモリフローコントローラ(MFC)に、前記マルチプロセッサユニットの外部からデータをDMA処理により前記ローカルメモリに入力して格納させるステップと、
前記OS実行エレメントの前記メモリフローコントローラ(MFC)に、前記ローカルメモリに格納したデータをDMA処理により前記マルチプロセッサユニットの外部のメモリまたはデバイスに出力する処理を実行させるステップを有するコンピュータ・プログラムにある。
まず、図4を参照して、本発明の一実施例に係る情報処理装置の構成および処理例について説明する。図4に示す本実施例に係る情報処理装置200は、マルチプロセッサユニット210と、ネットワークカードなどの通信デバイスやビデオカードなどのデータ処理デバイスなどから構成されるデバイス220、さらにシステムメモリとしてのメモリ230がシステムバス202に接続された構成を持つ。システムバス202に接続された各構成部位にはシステムバス202を介してデータ転送がなされる。
次にステップS202において、デバイス220がデータをメモリ230のカーネル空間232へDMA(Direct Memory Access)を用いて転送する。
(1)サブプロセッサエレメント(SPE)のMFCによるダイレクトメモリアクセス(DMA)、すなわち、[MFC GET]の実行。
この処理により、メモリのカーネル空間にあるデータをサブプロセッサエレメント(SPE)のローカルストア(LS)上にコピーする。
(2)サブプロセッサエレメント(SPE)のMFCによるダイレクトメモリアクセス(DMA)、すなわち、[MFC GET]の実行。
この処理により、サブプロセッサエレメント(SPE)のローカルストア(LS)上にあるデータをメモリのユーザ空間にコピーする。
これらの処理シーケンスとすることで、メインのプロセッサであるPPE211に対する処理負荷を発生させることなく、カーネル空間からユーザ空間へのデータコピーを実現している。
サブプロセッサエレメントのMFCによるデータコピー処理は、図4に示すメモリ230のようなメインメモリとのコピー処理に限らず、例えばデバイス間でのデータコピーに適用することもできる。
次にステップS302において、マルチプロセッサユニット310内の1つのサブプロセッサエレメント(SPE)312の実行するOSの制御の下、デバイスA320にあるデータ321を、サブプロセッサエレメント(SPE)312のローカルストア(LS)にコピーする。図6に示すデータ321のコピーデータがデータ315となる。なお、マルチプロセッサユニット310内に設定された複数のサブプロセッサエレメント(SPE)の1つのSPEが、オペレーションシステム(OS)の少なくとも一部の処理としてDMA処理を実行するプロセッサとなり、本例では、そのOS実行プロセッサがサブプロセッサエレメント(SPE)312である。サブプロセッサエレメント(SPE)312が実行するデータコピー処理は、サブプロセッサエレメント(SPE)312のMFCによるデータコピー処理(MFC GET)として実行される。
(1)サブプロセッサエレメント(SPE)のMFCによるダイレクトメモリアクセス(DMA)、すなわち、[MFC GET]の実行。
この処理により、第1のデバイスにあるデータをサブプロセッサエレメント(SPE)のローカルストア(LS)上にコピーする。
(2)サブプロセッサエレメント(SPE)のMFCによるダイレクトメモリアクセス(DMA)、すなわち、[MFC PUT]の実行。
この処理により、サブプロセッサエレメント(SPE)のローカルストア(LS)上にあるデータを第2デバイスに提供する。
これらの処理シーケンスとすることで、メインのプロセッサであるPPEに対する処理負荷を発生させることなく、デバイス間のデータコピーを実現している。
102 システムバス
110 CPU(Central Processor Unit)
120 デバイス
121 データ
130 メモリ
131 ユーザ空間
132 カーネル空間
140 情報処理装置
142 システムバス
150 CPU(Central Processor Unit)
160 デバイス
161 データ
170 メモリ
171 ユーザ空間
172 カーネル空間
200 情報処理装置
202 システムバス
210 マルチプロセッサユニット
211 メインプロセッサエレメント(PPE)
212 サブプロセッサエレメント(SPE)
221 データ
230 メモリ
231 ユーザ空間
232 カーネル空間
251〜253 データ
300 情報処理装置
302 システムバス
310 マルチプロセッサユニット
311 メインプロセッサエレメント(PPE)
312 サブプロセッサエレメント(SPE)
320 デバイスA
321 データ
330 デバイスB
331 データ
340 メモリ
Claims (6)
- 複数のプロセッサを含むマルチプロセッサユニットを有し、
前記マルチプロセッサユニットは、
メインプロセッサを含むメインプロセッサエレメントと、
サブプロセッサと、プロセッサ対応のローカルメモリと、該ローカルメモリに対するデータ入出力をDMA(ダイレクトメモリアクセス)によって実行するメモリフローコントローラ(MFC)とを有するサブプロセッサエレメントを1つ以上有する構成であり、
前記メモリフローコントローラ(MFC)は、
前記マルチプロセッサユニットの外部からデータをDMA処理により前記ローカルメモリに入力して格納し、さらに、前記ローカルメモリに格納したデータをDMA処理により前記マルチプロセッサユニットの外部のメモリまたはデバイスに出力する処理を実行する構成であり、
前記DMA処理によるデータ転送を実行するサブプロセッサエレメントは、
オペレーションシステム(OS)の少なくとも一部の処理として前記DMA処理を実行する構成である情報処理装置。 - 前記情報処理装置は、
前記マルチプロセッサユニットとバス接続されたシステムメモリを有し、
前記システムメモリは、オペレーションシステム(OS)によって管理されるカーネル空間と、アプリケーションの利用可能なユーザ空間が定義されたメモリであり、
前記メモリフローコントローラ(MFC)は、
前記システムメモリのカーネル空間からデータをDMA処理により前記ローカルメモリに入力して格納し、さらに、前記ローカルメモリに格納したデータをDMA処理により前記システムメモリのユーザ空間に出力する処理を実行する構成である請求項1に記載の情報処理装置。 - 前記情報処理装置は、
前記マルチプロセッサユニットとバス接続された第1デバイスおよび第2デバイスを有し、
前記メモリフローコントローラ(MFC)は、
前記第1デバイスからデータをDMA処理により前記ローカルメモリに入力して格納し、さらに、前記ローカルメモリに格納したデータをDMA処理により前記第2デバイスに出力する処理を実行する構成である請求項1に記載の情報処理装置。 - 前記DMA処理によるデータ転送によって、前記ユーザ空間に出力されたデータは、前記マルチプロセッサユニット内の複数のサブプロセッサエレメントのいずれかのサブブロセッサエレメントが実行するアプリケーションによって取得され利用される構成である請求項1に記載の情報処理装置。
- 情報処理装置においてデータ転送処理を行う情報処理方法であり、
前記情報処理装置は、複数のプロセッサを含むマルチプロセッサユニットを有し、
前記マルチプロセッサユニットは、
メインプロセッサを含むメインプロセッサエレメントと、
サブプロセッサと、プロセッサ対応のローカルメモリと、該ローカルメモリに対するデータ入出力をDMA(ダイレクトメモリアクセス)によって実行するメモリフローコントローラ(MFC)とを有するサブプロセッサエレメントを1つ以上有する構成であり、
前記メモリフローコントローラ(MFC)が、前記マルチプロセッサユニットの外部からデータをDMA処理により前記ローカルメモリに入力して格納するステップと、
前記メモリフローコントローラ(MFC)が、前記ローカルメモリに格納したデータをDMA処理により前記マルチプロセッサユニットの外部のメモリまたはデバイスに出力する処理を実行するステップを有し、
前記DMA処理によるデータ転送を実行するサブプロセッサエレメントは、
オペレーションシステム(OS)の少なくとも一部の処理として前記DMA処理を実行する情報処理方法。 - 情報処理装置においてデータ転送処理を実行させるコンピュータ・プログラムであり、
前記情報処理装置は、複数のプロセッサを含むマルチプロセッサユニットを有し、
前記マルチプロセッサユニットは、
メインプロセッサを含むメインプロセッサエレメントと、
サブプロセッサと、プロセッサ対応のローカルメモリと、該ローカルメモリに対するデータ入出力をDMA(ダイレクトメモリアクセス)によって実行するメモリフローコントローラ(MFC)とを有するサブプロセッサエレメントを1つ以上有し、サブプロセッサエレメントの1つは、オペレーションシステム(OS)の少なくとも一部の処理としてDMA処理を実行するOS実行エレメントであり、
前記OS実行エレメントのメモリフローコントローラ(MFC)に、前記マルチプロセッサユニットの外部からデータをDMA処理により前記ローカルメモリに入力して格納させるステップと、
前記OS実行エレメントの前記メモリフローコントローラ(MFC)に、前記ローカルメモリに格納したデータをDMA処理により前記マルチプロセッサユニットの外部のメモリまたはデバイスに出力する処理を実行させるステップを有するコンピュータ・プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008106354A JP4548505B2 (ja) | 2008-04-16 | 2008-04-16 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
US12/419,817 US20090265515A1 (en) | 2008-04-16 | 2009-04-07 | Information Processing Apparatus, Information Processing Method, and Computer Program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008106354A JP4548505B2 (ja) | 2008-04-16 | 2008-04-16 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009258936A JP2009258936A (ja) | 2009-11-05 |
JP4548505B2 true JP4548505B2 (ja) | 2010-09-22 |
Family
ID=41202083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008106354A Expired - Fee Related JP4548505B2 (ja) | 2008-04-16 | 2008-04-16 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090265515A1 (ja) |
JP (1) | JP4548505B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9507951B2 (en) * | 2014-10-20 | 2016-11-29 | Intel Corporation | Technologies for secure input and display of virtual touch user interfaces |
DE112016007538T5 (de) * | 2016-12-23 | 2019-09-26 | Intel Corporation | Technologie zur realisierung eines binärverzweigten non-volatile-memory-express-treibers |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007028364A (ja) * | 2005-07-20 | 2007-02-01 | Matsushita Electric Ind Co Ltd | 通信制御装置、受信装置、集積回路、及び通信制御方法 |
JP2008077640A (ja) * | 2006-09-22 | 2008-04-03 | Sony Computer Entertainment Inc | マルチプロセッサシステムにおける消費電力削減方法および装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080126599A1 (en) * | 2006-08-28 | 2008-05-29 | Chung-Yu Wei | Iscsi target apparatus that does not require creating a buffer in the user space and related method thereof |
US7865631B2 (en) * | 2007-12-06 | 2011-01-04 | International Business Machines Corporation | Dynamic logical data channel assignment using time-grouped allocations |
-
2008
- 2008-04-16 JP JP2008106354A patent/JP4548505B2/ja not_active Expired - Fee Related
-
2009
- 2009-04-07 US US12/419,817 patent/US20090265515A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007028364A (ja) * | 2005-07-20 | 2007-02-01 | Matsushita Electric Ind Co Ltd | 通信制御装置、受信装置、集積回路、及び通信制御方法 |
JP2008077640A (ja) * | 2006-09-22 | 2008-04-03 | Sony Computer Entertainment Inc | マルチプロセッサシステムにおける消費電力削減方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2009258936A (ja) | 2009-11-05 |
US20090265515A1 (en) | 2009-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100555257C (zh) | 处理页面复制期间的dma操作的存储控制器和方法 | |
KR101602991B1 (ko) | 비가상화 시스템에서의 메모리 확장을 지원하기 위한 상호 운영 시스템 메모리 핫스왑 | |
EP2798461B1 (en) | Low latency cluster computing | |
WO2002088935A1 (en) | System and method for efficiently performing a data transfer operation | |
JP2012508938A (ja) | セキュアなアプリケーション実行方法および装置 | |
TW201741867A (zh) | 記憶體複製指令、處理器、方法及系統 | |
CN113157290A (zh) | 一种多系统安装方法、计算设备及存储介质 | |
US20100169069A1 (en) | Composite device emulation | |
US20160224325A1 (en) | Hiding compilation latency | |
TWI507991B (zh) | 多核心處理器及其相關控制方法與電腦系統 | |
JP4548505B2 (ja) | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム | |
JP2008269094A (ja) | 情報処理装置、情報処理装置の最適化方法、プログラム | |
US20160378686A1 (en) | Memory encryption exclusion method and apparatus | |
JP7225904B2 (ja) | ベクトル演算処理装置、ベクトル演算処理装置による配列変数初期化方法、及び、ベクトル演算処理装置による配列変数初期化プログラム | |
JP4444305B2 (ja) | 半導体装置 | |
JP2011059787A (ja) | ディジタルシグナルプロセッサシステムおよびディジタルシグナルプロセッサの立ち上げ方法 | |
JP2008210280A (ja) | 半導体装置及びdmaコントローラ | |
EP1235139B1 (en) | System and method for supporting precise exceptions in a data processor having a clustered architecture | |
TWI847670B (zh) | 使用矩陣乘法指令的設備 | |
JP2906958B2 (ja) | ユーザプログラムロード方式 | |
JP6940283B2 (ja) | Dma転送制御装置、dma転送制御方法、及び、dma転送制御プログラム | |
KR100490438B1 (ko) | 연산/저장을 병행하여 처리하는 장치 및 방법 | |
Chakravarthi et al. | Application-specific SOCs | |
JP2022080368A (ja) | 計算ノード制御装置、計算ノード制御方法、及び、計算ノード制御プログラム | |
JP2011150636A (ja) | マイクロプロセッサ及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100202 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100326 |
|
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: 20100615 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100628 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130716 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |