JP5541491B2 - マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法 - Google Patents
マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法 Download PDFInfo
- Publication number
- JP5541491B2 JP5541491B2 JP2010002063A JP2010002063A JP5541491B2 JP 5541491 B2 JP5541491 B2 JP 5541491B2 JP 2010002063 A JP2010002063 A JP 2010002063A JP 2010002063 A JP2010002063 A JP 2010002063A JP 5541491 B2 JP5541491 B2 JP 5541491B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- prefetch
- instruction
- load
- instructions
- 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
Landscapes
- Devices For Executing Special Programs (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
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 (9)
- 複数のプロセッサと、この複数のプロセッサで共有する共有キャッシュとを有し、
前記複数のプロセッサのうちの空プロセッサを、プリフェッチ機能を使用可能なプリフェッチ専用プロセッサとし、このプリフェッチ専用プロセッサと対を成すプロセッサと共に1つのプログラム実行単位として、前記複数のプロセッサに最適化された複数種類のオブジェクトソースを実行し、
前記複数種類のオブジェクトソースは、前記プリフェッチ専用プロセッサが実行するオブジェクトソースと、前記プリフェッチ専用プロセッサと対を成すプロセッサが実行するオブジェクトソースとを有し、
前記プリフェッチ専用プロセッサが実行するオブジェクトソースは、ロード系命令に関係のない命令を削除し、ロード系命令とストア系命令のデータ依存がある場合、ストア系命令を削除してロード系命令を同期制御付ロード系命令に変換したもので構成され、
前記プリフェッチ専用プロセッサと対を成すプロセッサが実行するオブジェクトソースは、ロード系命令とストア系命令のデータ依存がある場合、ストア系命令を同期制御付ストア系命令に変換したもので構成されることを特徴とするマルチプロセッサ。 - 前記複数種類のオブジェクトソースは、それぞれ並列化されることを特徴とする請求項
1に記載のマルチプロセッサ。 - 前記プリフェッチ専用プロセッサが実行するオブジェクトソースと、前記プリフェッチ専用プロセッサと対を成すプロセッサが実行するオブジェクトソースとは、1つのオブジェクトソースにマージされ、
前記1つのオブジェクトソースには、実行するプロセッサによって分岐する命令が含まれていることを特徴とする請求項1に記載のマルチプロセッサ。 - 前記プリフェッチ機能を使用可能なプロセッサ情報と前記プリフェッチ機能を使用不可能なプロセッサ情報とをリードおよびライト可能に保持するモード情報をさらに有することを特徴とする請求項1に記載のマルチプロセッサ。
- 前記プリフェッチ機能を使用不可能なプロセッサ分の領域を持ち、このプロセッサ分の領域は複数の同期制御付ロード系命令に関連する情報を持ち、当該情報は、ロード系命令のロードアドレスとロードサイズと同期制御付ストア系命令が実行されるプロセッサのプロセッサ番号をリードおよびライト可能に保持するアドレス情報を含むことを特徴とする請求項1に記載のマルチプロセッサ。
- 前記同期制御付ストア系命令を実行した際、前記プリフェッチ機能を使用可能なプロセッサに仕掛中のロード系命令があった場合、該プロセッサと前記共有キャッシュとメインメモリにキャンセル指示を発行できる同期制御部をさらに有することを特徴とする請求項1に記載のマルチプロセッサ。
- 前記共有キャッシュは、前記複数種類のオブジェクトソースのロード系命令によってキャッシュミスが発生した際、種類別に置き換えるウェイを予め決めておき、メインメモリのデータをキャッシュに登録することを特徴とする請求項1に記載のマルチプロセッサ。
- 請求項1から7のいずれか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 JP2011141743A (ja) | 2011-07-21 |
JP5541491B2 true 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) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03268041A (ja) * | 1990-03-17 | 1991-11-28 | Res Dev Corp Of Japan | キャッシュ操作明示化コンピュータ |
JP4784792B2 (ja) * | 1999-12-22 | 2011-10-05 | 学校法人早稲田大学 | マルチプロセッサ |
US6415356B1 (en) * | 2000-01-14 | 2002-07-02 | Sun Microsystems, Inc. | Method and apparatus for using an assist processor to pre-fetch data values for a primary processor |
US6681318B2 (en) * | 2000-09-08 | 2004-01-20 | Sun Microsystems, Inc. | Method and apparatus for using an assist processor to prefetch instructions for a primary processor |
JP3681647B2 (ja) * | 2001-02-21 | 2005-08-10 | 株式会社半導体理工学研究センター | キャッシュメモリシステム装置 |
JP2002312180A (ja) * | 2001-04-11 | 2002-10-25 | Hitachi Ltd | 動的命令変換機能を有するプロセッサシステム、該プロセッサシステムを備えたコンピュータにて実行されるバイナリートランスレーションプログラム及びそのプロセッサシステムを実装した半導体デバイス |
JP4374221B2 (ja) * | 2003-08-29 | 2009-12-02 | パナソニック株式会社 | コンピュータシステムおよび記録媒体 |
US20050071438A1 (en) * | 2003-09-30 | 2005-03-31 | Shih-Wei Liao | Methods and apparatuses for compiler-creating helper threads for multi-threading |
US20050071841A1 (en) * | 2003-09-30 | 2005-03-31 | Hoflehner Gerolf F. | Methods and apparatuses for thread management of mult-threading |
US7328433B2 (en) * | 2003-10-02 | 2008-02-05 | Intel Corporation | Methods and apparatus for reducing memory latency in a software application |
US7552317B2 (en) * | 2004-05-04 | 2009-06-23 | Sun Microsystems, Inc. | Methods and systems for grouping instructions using memory barrier instructions |
US20060026371A1 (en) * | 2004-07-30 | 2006-02-02 | Chrysos George Z | Method and apparatus for implementing memory order models with order vectors |
JP4821907B2 (ja) * | 2007-03-06 | 2011-11-24 | 日本電気株式会社 | メモリアクセス制御システム、メモリアクセス制御方法およびそのプログラム |
JP5105359B2 (ja) * | 2007-12-14 | 2012-12-26 | 富士通株式会社 | 中央処理装置、選択回路および選択方法 |
-
2010
- 2010-01-07 JP JP2010002063A patent/JP5541491B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011141743A (ja) | 2011-07-21 |
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 | |
US10019263B2 (en) | Reordered speculative instruction sequences with a disambiguation-free out of order load store queue | |
US10048964B2 (en) | Disambiguation-free out of order load store queue | |
US9965277B2 (en) | Virtual load store queue having a dynamic dispatch window with a unified structure | |
EP2862072B1 (en) | A load store buffer agnostic to threads implementing forwarding from different threads based on store seniority | |
EP2862062B1 (en) | A virtual load store queue having a dynamic dispatch window with a distributed 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 | |
US9990198B2 (en) | Instruction definition to implement load store reordering and optimization | |
US20150095588A1 (en) | Lock-based and synch-based method for out of order loads in a memory consistency model using shared memory resources | |
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 |