JP4304347B2 - マルチプロセッサ - Google Patents
マルチプロセッサ Download PDFInfo
- Publication number
- JP4304347B2 JP4304347B2 JP2008118007A JP2008118007A JP4304347B2 JP 4304347 B2 JP4304347 B2 JP 4304347B2 JP 2008118007 A JP2008118007 A JP 2008118007A JP 2008118007 A JP2008118007 A JP 2008118007A JP 4304347 B2 JP4304347 B2 JP 4304347B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- multiprocessor
- shared memory
- processing element
- data
- 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 - Lifetime
Links
Images
Landscapes
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
単一プログラム中のサブルーチン、ループ、基本ブロック間の並列性を利用する粗粒度並列処理は、マクロデータフロー処理とも呼ばれる。ソースとなる例えばフォートランプログラムを、粗粒度タスク(マクロタスク)として、繰り返しブロック(RB:repetition block)、サブルーチンブロック(SB:subroutine block)、疑似代入文ブロック(BPA:block of pseudo assignment statements)の3種類のマクロタスク(MT)に分解する。RBは、各階層での最も外側のナチュラルループであり、SBはサブルーチン、BPAはスケジューリングオーバヘッドあるいは並列性を考慮し融合あるいは分割された基本ブロックである。ここで、BPAは、基本的には通常の基本ブロックであるが、並列性抽出のために単一の基本ブロックを複数に分割したり、逆に一つのBPAの処理時間が短く、ダイナミックスケジューリング時のオーバヘッドが無視できない場合には、複数のBPAを融合し得一つのBPAを生成する。最外側ループであるRBがDoallループであるときは、ループインデクスを分割することにより複数の部分Doallループに分割し、分割後の部分Doallループを新たにRBと定義する。また、サブルーチンSBは、可能な限りインライン展開するが、コード長を考慮し効果的にインライン展開ができないサブルーチンはそのままSBとして定義する。さらに、SBやDoall不可能なRBの場合、これらの内部の並列性に対し、階層的マクロデータフロー処理を適用する。
マルチグレイン並列化では、マクロデータフロー処理によりプロセッサクラスタ(PC)に割り当てられるループ(RB)は、そのRBがDoallあるいはDoacrossループの場合、PC内のプロセッシングエレメント(PE)に対してイタレーションレベルで並列化処理(分割)される。
(a)ステートメントの実行順序の変更
(b)ループディストリビューション
(c)ノードスプリッティングスカラエクスパンション
(d)ループインターチェンジ
(e)ループアンローリング
(f)ストリップマイニング
(g)アレイプライベタイゼーション
(h)ユニモジュラー変換(ループリバーサル、パーミュテーション、スキューイング)
また、ループ並列化処理が適用できないループに関しては、図4のようにループボディ部を次に述べる(近)細粒度並列処理か、ボディ部を階層的にマクロタスクに分割しマクロデータフロー処理(粗粒度タスク並列処理)を適用する。
PCに割り当てられるMTがBPAまたはループ並列化或いは階層的にマクロデータフロー処理を適用できないRB等の場合には、BPA内部のステートメント或いは命令を近細粒度タスクとしてPC内プロセッサで並列処理する。
12 チップ間接続ネットワーク
14 集中共有メモリ(チップ)
16 プロセッシングエレメント
20 CPU
22 分散共有メモリ
24 アジャスタブルプリフェッチ命令キャッシュ
26 ローカルデータメモリ
28 集中共有メモリ
30 データ転送コントローラ
32 ネットワークインタフェース
34 チップ内接続ネットワーク
Claims (7)
- CPUと、前記CPUに接続されているネットワークインタフェースと、スタティックスケジューリング時に転送されるデータを格納する第1メモリと、を備える複数のプロセッシングエレメントと、
前記各プロセッシングエレメントに接続され、前記各プロセッシングエレメントによって共有される集中共有メモリと、を備えるマルチプロセッサであって、
前記各プロセシングエレメントは、前記CPU及び前記ネットワークインタフェースに直接接続され、将来実行すべき命令を前記集中共有メモリから先読みするアジャスタブルプリフェッチ命令キャッシュをさらに備え、
前記アジャスタブルプリフェッチ命令キャッシュは、将来実行される命令列を事前読み出しできるエリアとして、指定された複数のウェイを使用し、それ以外のウェイ分のエリアを通常のキャッシュエリアとして使用することを特徴とするマルチプロセッサ。 - 前記マルチプロセッサ用のコンパイラがタスクのスケジューリングをし、
前記スケジューリングの結果に基づいて、前記事前読み出しできるエリアと前記通常のキャッシュエリアとが、前記プロセッシングエレメントで実行されるプログラムに応じて指定されることを特徴とする請求項1に記載のマルチプロセッサ。 - 前記第1メモリは、前記第1メモリを備えるプロセッシングエレメントだけからアクセス可能なローカルデータメモリであり、
前記ローカルデータメモリは、L1キャッシュとして使用できることを特徴とする請求項1に記載のマルチプロセッサ。 - 前記第1メモリは、他の前記プロセッシングエレメントからアクセス可能な分散共有メモリ、及び、前記第1メモリを備えるプロセッシングエレメントだけからアクセス可能なローカルデータメモリを含み、
前記マルチプロセッサは、前記分散共有メモリの一つのポートに接続されるデータ転送コントローラを備え、
前記データ転送コントローラは、前記ローカルデータメモリを介して与えられたデータ転送指示によって、前記分散共有メモリにアクセスしてデータを転送することを特徴とする請求項1に記載のマルチプロセッサ。 - 前記分散共有メモリは、デュアルポートメモリで構成され、
前記分散共有メモリの一つのポートには、前記データ転送コントローラが接続され、
前記分散共有メモリの他のポートには、前記CPUが接続されることを特徴とする請求項4に記載のマルチプロセッサ。 - 前記ローカルデータメモリは、デュアルポートメモリで構成され、
前記ローカルデータメモリの一つのポートには、前記データ転送コントローラが接続され、
前記ローカルデータメモリの他のポートには、前記CPUが接続されることを特徴とする請求項4又は5に記載のマルチプロセッサ。 - 請求項1から6のいずれか一つに記載のマルチプロセッサが複数接続されて構成されるマルチプロセッサシステムであって、
前記集中共有メモリは、前記マルチプロセッサ内に設けられ、当該マルチプロセッサ内の各プロセッシングエレメントに接続され、前記各プロセッシングエレメントによって共有されるものであって、
前記マルチプロセッサシステムは、前記マルチプロセッサ外に設けられ、各マルチプロセッサに接続され、前記各マルチプロセッサ内のプロセッシングエレメントによって共有される第2集中共有メモリを備え、
前記第1メモリ、前記各集中共有メモリ及び前記第2集中共有メモリが、各プロセッシングエレメントから直接読み書きできるように配置されていることを特徴とするマルチプロセッサシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008118007A JP4304347B2 (ja) | 2008-04-30 | 2008-04-30 | マルチプロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008118007A JP4304347B2 (ja) | 2008-04-30 | 2008-04-30 | マルチプロセッサ |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008090853A Division JP4784842B2 (ja) | 2008-03-31 | 2008-03-31 | マルチプロセッサ及びマルチプロセッサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008217825A JP2008217825A (ja) | 2008-09-18 |
JP4304347B2 true JP4304347B2 (ja) | 2009-07-29 |
Family
ID=39837711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008118007A Expired - Lifetime JP4304347B2 (ja) | 2008-04-30 | 2008-04-30 | マルチプロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4304347B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2551776B1 (en) | 2010-03-25 | 2017-11-22 | Fujitsu Limited | Multi-core processor system, control program, and control method |
WO2014068694A1 (ja) * | 2012-10-31 | 2014-05-08 | ルネサスエレクトロニクス株式会社 | 半導体装置及びキャッシュメモリへのデータ先読み方法 |
JP6289197B2 (ja) * | 2014-03-24 | 2018-03-07 | 三菱電機株式会社 | プラント制御装置エンジニアリングツール |
JP6230525B2 (ja) * | 2014-12-08 | 2017-11-15 | 本田技研工業株式会社 | 演算装置 |
-
2008
- 2008-04-30 JP JP2008118007A patent/JP4304347B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2008217825A (ja) | 2008-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Etsion et al. | Task superscalar: An out-of-order task pipeline | |
JP5224498B2 (ja) | メモリ管理方法、情報処理装置、プログラムの作成方法及びプログラム | |
US7490218B2 (en) | Building a wavecache | |
Krashinsky et al. | The vector-thread architecture | |
US6978389B2 (en) | Variable clocking in an embedded symmetric multiprocessor system | |
US20170083338A1 (en) | Prefetching associated with predicated load instructions | |
Chen et al. | Efficient data supply for hardware accelerators with prefetching and access/execute decoupling | |
US20170083339A1 (en) | Prefetching associated with predicated store instructions | |
Sohi et al. | Speculative multithreaded processors | |
US9378003B1 (en) | Compiler directed cache coherence for many caches generated from high-level language source code | |
JP4784792B2 (ja) | マルチプロセッサ | |
JP4304347B2 (ja) | マルチプロセッサ | |
Bousias et al. | Instruction level parallelism through microthreading—a scalable approach to chip multiprocessors | |
JP4784842B2 (ja) | マルチプロセッサ及びマルチプロセッサシステム | |
Owaida et al. | Massively parallel programming models used as hardware description languages: The OpenCL case | |
Šilc et al. | A survey of new research directions in microprocessors | |
JP2009230764A (ja) | マルチプロセッサシステム | |
Tsai | Superthreading: Integrating compilation technology and processor architecture for cost-effective concurrent multithreading | |
Arandi | The data-driven multithreading virtual machine | |
Brownell | Architectural Implications of Automatic Parallelization With HELIX-RC | |
Takano | Performance scalability of adaptive processor architecture | |
Zope | Queue Streaming Model: Theory, Algorithms, and Implementation | |
Hammond | Hydra: a chip multiprocessor with support for speculative thread-level parallelization | |
Ding | Exploiting Hardware Abstraction for Parallel Programming Framework: Platform and Multitasking | |
Zhong | Architectural and Complier Mechanisms for Accelerating Single Thread Applications on Mulitcore Processors. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20080611 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080916 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081117 |
|
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: 20090407 |
|
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: 20090409 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4304347 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130515 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130515 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S201 | Request for registration of exclusive licence |
Free format text: JAPANESE INTERMEDIATE CODE: R314201 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |