JP2011141743A - マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法 - Google Patents
マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法 Download PDFInfo
- Publication number
- JP2011141743A JP2011141743A JP2010002063A JP2010002063A JP2011141743A JP 2011141743 A JP2011141743 A JP 2011141743A JP 2010002063 A JP2010002063 A JP 2010002063A JP 2010002063 A JP2010002063 A JP 2010002063A JP 2011141743 A JP2011141743 A JP 2011141743A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- prefetch
- multiprocessor
- load
- instruction
- 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.)
- Granted
Links
Images
Classifications
-
- Y02E60/12—
Landscapes
- Advance Control (AREA)
- Devices For Executing Special Programs (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】マルチプロセッサは、複数のプロセッサと、この複数のプロセッサで共有する共有キャッシュとを有し、複数のプロセッサのうちの空プロセッサを、プリフェッチ機能を使用可能なプリフェッチ専用プロセッサとし、このプリフェッチ専用プロセッサと対を成すプロセッサと共に1つのプログラム実行単位として、複数のプロセッサに最適化された複数種類のオブジェクトソースを実行する。
【選択図】図1
Description
1.コンパイラは、同じプログラムソースから複数のプロセッサに最適化されたオブジェクトソースを生成するもので、次のような処理を行う。
4.OSは、上記1か3で生成されたオブジェクトソースと、上記1か3以外で生成されたオブジェクトソースとを識別するための管理情報をもつ。
9.コンピュータシステムは、上記1と6の命令を制御するHW(ハードウェア)機構をもつ。
コンパイラ120は、同じプログラムソースから、マルチプロセッサ1000の複数のプロセッサに最適化されたオブジェクトソース112を生成するもので、次の機能を有する。
OS110は、次の機能を有する。
マルチプロセッサ1000は、図1に示すように、プロセッサコア1100と、プロセッサコア群1200と、HW機構であるプリフェッチ機構1300と、共有キャッシュ1400とから構成されている。このマルチプロセッサ1000は、バス等を介してメインメモリ1500に接続されている。
図2は、プリフェッチ機構1300の構成である。プリフェッチ機構1300は、受信部2100と、送信部2200と、モード制御部2300と、同期制御部2400と、モード情報2500と、アドレス情報2600とで構成される。
図3は、本実施例の動作フローである。
110 プログラム
111 OS
112 オブジェクトソース
120 コンパイラ
1000 マルチプロセッサ
1100 プロセッサコア
1200 プロセッサコア群
1300 プリフェッチ機構
1400 共有キャッシュ
1410 キャッシュコントローラ
1420 タグ群
1430 データ群
1500 メインメモリ
2100 受信部
2200 送信部
2300 モード制御部
2400 同期制御部
2500 モード情報
2600 アドレス情報
Claims (10)
- 複数のプロセッサと、この複数のプロセッサで共有する共有キャッシュとを有し、
前記複数のプロセッサのうちの空プロセッサを、プリフェッチ機能を使用可能なプリフェッチ専用プロセッサとし、このプリフェッチ専用プロセッサと対を成すプロセッサと共に1つのプログラム実行単位として、前記複数のプロセッサに最適化された複数種類のオブジェクトソースを実行することを特徴とするマルチプロセッサ。 - 前記複数種類のオブジェクトソースは、前記プリフェッチ専用プロセッサが実行するオブジェクトソースと、前記プリフェッチ専用プロセッサと対を成すプロセッサが実行するオブジェクトソースとを有し、
前記プリフェッチ専用プロセッサが実行するオブジェクトソースは、ロード系命令に関係のない命令を削除し、ロード系命令とストア系命令のデータ依存がある場合、ストア系命令を削除してロード系命令を同期制御付ロード系命令に変換したもので構成され、
前記プリフェッチ専用プロセッサと対を成すプロセッサが実行するオブジェクトソース
は、ロード系命令とストア系命令のデータ依存がある場合、ストア系命令を同期制御付ストア系命令に変換したもので構成されることを特徴とする請求項1に記載のマルチプロセッサ。 - 前記複数種類のオブジェクトソースは、それぞれ並列化されることを特徴とする請求項2に記載のマルチプロセッサ。
- 前記プリフェッチ専用プロセッサが実行するオブジェクトソースと、前記プリフェッチ専用プロセッサと対を成すプロセッサが実行するオブジェクトソースとは、1つのオブジェクトソースにマージされ、
前記1つのオブジェクトソースには、実行するプロセッサによって分岐する命令が含まれていることを特徴とする請求項2に記載のマルチプロセッサ。 - 前記プリフェッチ機能を使用可能なプロセッサ情報と前記プリフェッチ機能を使用不可能なプロセッサ情報とをリードおよびライト可能に保持するモード情報をさらに有することを特徴とする請求項1に記載のマルチプロセッサ。
- 前記プリフェッチ機能を使用不可能なプロセッサ分の領域を持ち、このプロセッサ分の領域は複数の同期制御付ロード系命令を持ち、ロード系命令のロードアドレスとロードサイズと同期制御付ストア系命令で実行されるプロセッサ番号をリードおよびライト可能に保持するアドレス情報をさらに有することを特徴とする請求項2に記載のマルチプロセッサ。
- 前記同期制御付ストア系命令実行した際、前記プリフェッチ機能を使用可能なプロセッサに仕掛中のロード系命令があった場合、該プロセッサと前記共有キャッシュとメインメモリにキャンセル指示を発行できる同期制御部をさらに有することを特徴とする請求項2に記載のマルチプロセッサ。
- 前記共有キャッシュは、前記複数種類のオブジェクトソースのロード系命令によってキャッシュミスが発生した際、種類別に置き換えるウェイを予め決めておき、メインメモリのデータをキャッシュに登録することを特徴とする請求項2に記載のマルチプロセッサ。
- 請求項1から8のいずれか1項に記載のマルチプロセッサを用いたことを特徴とするコンピュータシステム。
- 複数のプロセッサと、この複数のプロセッサで共有する共有キャッシュとを備えたマルチプロセッサの処理方法であって、
前記マルチプロセッサが、前記複数のプロセッサのうちの空プロセッサを、プリフェッチ機能を使用可能なプリフェッチ専用プロセッサとし、このプリフェッチ専用プロセッサと対を成すプロセッサと共に1つのプログラム実行単位として、前記複数のプロセッサに最適化された複数種類のオブジェクトソースを実行することを特徴とするマルチプロセッサの処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010002063A JP5541491B2 (ja) | 2010-01-07 | 2010-01-07 | マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010002063A JP5541491B2 (ja) | 2010-01-07 | 2010-01-07 | マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011141743A true JP2011141743A (ja) | 2011-07-21 |
JP5541491B2 JP5541491B2 (ja) | 2014-07-09 |
Family
ID=44457536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010002063A Expired - Fee Related JP5541491B2 (ja) | 2010-01-07 | 2010-01-07 | マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5541491B2 (ja) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03268041A (ja) * | 1990-03-17 | 1991-11-28 | Res Dev Corp Of Japan | キャッシュ操作明示化コンピュータ |
JP2001175619A (ja) * | 1999-12-22 | 2001-06-29 | Univ Waseda | シングルチップマルチプロセッサ |
JP2002251321A (ja) * | 2001-02-21 | 2002-09-06 | Handotai Rikougaku Kenkyu Center:Kk | キャッシュメモリシステム装置 |
JP2002312180A (ja) * | 2001-04-11 | 2002-10-25 | Hitachi Ltd | 動的命令変換機能を有するプロセッサシステム、該プロセッサシステムを備えたコンピュータにて実行されるバイナリートランスレーションプログラム及びそのプロセッサシステムを実装した半導体デバイス |
JP2004500647A (ja) * | 2000-01-14 | 2004-01-08 | サン・マイクロシステムズ・インコーポレイテッド | アシストプロセッサを使用して1次プロセッサのデータ値をプリフェッチするための方法および装置 |
JP2004517383A (ja) * | 2000-09-08 | 2004-06-10 | サン・マイクロシステムズ・インコーポレイテッド | 補助プロセッサを用いて一次プロセッサ用の命令をプリフェッチする方法および装置 |
JP2005078264A (ja) * | 2003-08-29 | 2005-03-24 | Matsushita Electric Ind Co Ltd | コンピュータシステム、コンパイラ装置およびオペレーティングシステム |
JP2005332387A (ja) * | 2004-05-04 | 2005-12-02 | Sun Microsyst Inc | メモリ命令をグループ化及び管理する方法及びシステム |
JP2006048696A (ja) * | 2004-07-30 | 2006-02-16 | Intel Corp | 複数の順序ベクトルで複数のメモリ順序モデルを実施する方法及び装置 |
JP2007506199A (ja) * | 2003-09-30 | 2007-03-15 | インテル・コーポレーション | マルチスレッディングのスレッド管理の方法および装置 |
JP2007507048A (ja) * | 2003-09-30 | 2007-03-22 | インテル・コーポレーション | マルチスレッディングのためのコンパイラが生成したヘルパースレッドの方法および装置 |
JP2007507807A (ja) * | 2003-10-02 | 2007-03-29 | インテル・コーポレーション | ソフトウェアアプリケーションにおけるメモリ待ち時間を低減するための方法及び装置 |
WO2008108129A1 (ja) * | 2007-03-06 | 2008-09-12 | Nec Corporation | メモリアクセス制御システム、メモリアクセス制御方法およびそのプログラム |
JP2009146227A (ja) * | 2007-12-14 | 2009-07-02 | Fujitsu Ltd | 中央処理装置、選択回路および選択方法 |
-
2010
- 2010-01-07 JP JP2010002063A patent/JP5541491B2/ja not_active Expired - Fee Related
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03268041A (ja) * | 1990-03-17 | 1991-11-28 | Res Dev Corp Of Japan | キャッシュ操作明示化コンピュータ |
JP2001175619A (ja) * | 1999-12-22 | 2001-06-29 | Univ Waseda | シングルチップマルチプロセッサ |
JP2004500647A (ja) * | 2000-01-14 | 2004-01-08 | サン・マイクロシステムズ・インコーポレイテッド | アシストプロセッサを使用して1次プロセッサのデータ値をプリフェッチするための方法および装置 |
JP2004517383A (ja) * | 2000-09-08 | 2004-06-10 | サン・マイクロシステムズ・インコーポレイテッド | 補助プロセッサを用いて一次プロセッサ用の命令をプリフェッチする方法および装置 |
JP2002251321A (ja) * | 2001-02-21 | 2002-09-06 | Handotai Rikougaku Kenkyu Center:Kk | キャッシュメモリシステム装置 |
JP2002312180A (ja) * | 2001-04-11 | 2002-10-25 | Hitachi Ltd | 動的命令変換機能を有するプロセッサシステム、該プロセッサシステムを備えたコンピュータにて実行されるバイナリートランスレーションプログラム及びそのプロセッサシステムを実装した半導体デバイス |
JP2005078264A (ja) * | 2003-08-29 | 2005-03-24 | Matsushita Electric Ind Co Ltd | コンピュータシステム、コンパイラ装置およびオペレーティングシステム |
JP2007506199A (ja) * | 2003-09-30 | 2007-03-15 | インテル・コーポレーション | マルチスレッディングのスレッド管理の方法および装置 |
JP2007507048A (ja) * | 2003-09-30 | 2007-03-22 | インテル・コーポレーション | マルチスレッディングのためのコンパイラが生成したヘルパースレッドの方法および装置 |
JP2007507807A (ja) * | 2003-10-02 | 2007-03-29 | インテル・コーポレーション | ソフトウェアアプリケーションにおけるメモリ待ち時間を低減するための方法及び装置 |
JP2005332387A (ja) * | 2004-05-04 | 2005-12-02 | Sun Microsyst Inc | メモリ命令をグループ化及び管理する方法及びシステム |
JP2006048696A (ja) * | 2004-07-30 | 2006-02-16 | Intel Corp | 複数の順序ベクトルで複数のメモリ順序モデルを実施する方法及び装置 |
WO2008108129A1 (ja) * | 2007-03-06 | 2008-09-12 | Nec Corporation | メモリアクセス制御システム、メモリアクセス制御方法およびそのプログラム |
JP2009146227A (ja) * | 2007-12-14 | 2009-07-02 | Fujitsu Ltd | 中央処理装置、選択回路および選択方法 |
Non-Patent Citations (4)
Title |
---|
CSNG199800645010; 中済光昭,岡本秀輔,曽和将容: '分散共有メモリ型並列コンピュータにおけるプログラム制御キャッシュメモリ' 情報処理学会研究報告 第96巻,第80号,(96-ARC-119), 19960829, Pages:55-60, 社団法人情報処理学会 * |
CSNG199901739015; 松本尚,平木敬: 'キャッシュインジェクションとメモリベース同期機構の高速化' 情報処理学会研究報告 第93巻,第71号,(93-ARC-101), 19930820, Pages:113-120, 社団法人情報処理学会 * |
JPN6014003198; 中済光昭,岡本秀輔,曽和将容: '分散共有メモリ型並列コンピュータにおけるプログラム制御キャッシュメモリ' 情報処理学会研究報告 第96巻,第80号,(96-ARC-119), 19960829, Pages:55-60, 社団法人情報処理学会 * |
JPN6014003200; 松本尚,平木敬: 'キャッシュインジェクションとメモリベース同期機構の高速化' 情報処理学会研究報告 第93巻,第71号,(93-ARC-101), 19930820, Pages:113-120, 社団法人情報処理学会 * |
Also Published As
Publication number | Publication date |
---|---|
JP5541491B2 (ja) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11500778B2 (en) | Prefetch kernels on data-parallel processors | |
US10592300B2 (en) | Method and system for implementing recovery from speculative forwarding miss-predictions/errors resulting from load store reordering and optimization | |
KR101025354B1 (ko) | 가상 트랜잭션 메모리를 위한 글로벌 오버플로우 방법 | |
US10019263B2 (en) | Reordered speculative instruction sequences with a disambiguation-free out of order load store queue | |
EP2862072B1 (en) | A load store buffer agnostic to threads implementing forwarding from different threads based on store seniority | |
US10048964B2 (en) | Disambiguation-free out of order load store queue | |
US9904552B2 (en) | Virtual load store queue having a dynamic dispatch window with a distributed structure | |
US9965277B2 (en) | Virtual load store queue having a dynamic dispatch window with a unified structure | |
EP2862058B1 (en) | A semaphore method and system with out of order loads in a memory consistency model that constitutes loads reading from memory in order | |
US20150095588A1 (en) | Lock-based and synch-based method for out of order loads in a memory consistency model using shared memory resources | |
US8930636B2 (en) | Relaxed coherency between different caches | |
US9990198B2 (en) | Instruction definition to implement load store reordering and optimization | |
JP5541491B2 (ja) | マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法 | |
US20150095591A1 (en) | Method and system for filtering the stores to prevent all stores from having to snoop check against all words of a cache | |
US20230315536A1 (en) | Dynamic register renaming in hardware to reduce bank conflicts in parallel processor architectures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140331 |
|
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: 20140410 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140423 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5541491 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |