JP2009146227A - 中央処理装置、選択回路および選択方法 - Google Patents
中央処理装置、選択回路および選択方法 Download PDFInfo
- Publication number
- JP2009146227A JP2009146227A JP2007324029A JP2007324029A JP2009146227A JP 2009146227 A JP2009146227 A JP 2009146227A JP 2007324029 A JP2007324029 A JP 2007324029A JP 2007324029 A JP2007324029 A JP 2007324029A JP 2009146227 A JP2009146227 A JP 2009146227A
- Authority
- JP
- Japan
- Prior art keywords
- thread
- instruction
- instructions
- processing unit
- central processing
- 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
Landscapes
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Abstract
【解決手段】中央処理装置は、本スレッドの実行結果を解析して得られるスレッド各々間での関係ではなく、本スレッドを構成する命令各々が中央処理装置に指示する内容を判別して先行サブスレッドを選択する。例えば、中央処理装置は、内容として、各々の命令種別を判別して先行サブスレッドを選択する。さらに詳細な一例をあげると、中央処理装置は、命令種別として、レジスタに格納されるデータをメモリに格納するストア命令または浮動小数点演算命令に該当するかを判別し、該当しない命令を選択することで、先行サブスレッドを選択する。
【選択図】 図1
Description
まず最初に、図9を用いて、本実施例で用いる主要な用語を説明する。図9は、CMPおよびSMTについて説明するための図である。本実施例で用いる「CPU(Central Process Unit)(特許請求の範囲に記載の「中央処理装置」に対応する。)」とは、コンピュータを構成する部品の一つで、各装置の制御やデータの計算・加工を行なう。例えば、CPUとは、メモリに記憶されたプログラムを実行し、入力装置や記憶装置からデータを受け取り、演算・加工した上で、出力装置や記憶装置に出力する。なお、CPUとは、CPUダイ(半導体本体)に、コアが搭載されたものである。また、コアとは、CPUの核となる内部回路であって、演算回路やキャッシュメモリ、レジスタといった演算処理にかかわるユニットが統合的に配置されているものである。
まず最初に、図1を用いて、本実施例に係るCPU100に設けられる先行サブスレッド識別回路11(特許請求の範囲に記載の「選択回路」に対応する)の概要および特徴を説明する。図1は、先行サブスレッド識別回路の概要と特徴を説明するための図である。
次に、図2〜図5を用いて、実施例1に係るCPU100の構成を説明する。ここで、図2は、中央処理装置(CMP)の構成を示すブロック図である。図3は、ソースおよび本スレッド列および先行サブスレッド列の一例を示す図である。図4は、先行サブスレッド識別回路29の回路図の一例を示す図である。図5は、先行サブスレッド識別回路による効果を説明するための図である。なお、以下では、特に言及がない限り、CMPに本発明を適用した場合におけるCPU100の構成について説明する。
(1)[R1+R3]→FR1
(2)FR1×FR2→FR3
(3)FR3+FR4→FR5
(4)FR5/FR6→FR7
(5)FR7→[R2+R3]
(6)R3+8→R3
(7)R4−1→R4
(8)Branch Loop if R4>0
次に、図6を用いて、実施例1における先行サブスレッド識別回路29による処理の一例について説明する。図6は、先行サブスレッド識別回路29の処理の一例を示すフローチャートである。
上記したように、実施例1によれば、本スレッドの実行結果を解析して得られる命令各々間での関係ではなく、本スレッドを構成する命令各々が中央処理装置に指示する内容を判別して先行サブスレッドを選択するので、一度も実行していない本スレッドから、先行サブスレッドを選択することが可能である。
前記本スレッドの実行結果を解析して得られる命令各々間での関係ではなく、前記本スレッドを構成する命令各々が前記中央処理装置に指示する内容を判別して前記先行サブスレッドを選択する選択手段を備えることを特徴とする中央処理装置。
前記本スレッドの実行結果を解析して得られる命令各々間での関係ではなく、前記本スレッドを構成する命令各々が前記中央処理装置に指示する内容を判別して前記先行サブスレッドを選択する選択ステップを備えることを特徴とする選択回路。
前記本スレッドの実行結果を解析して得られる命令各々間での関係ではなく、前記本スレッドを構成する命令各々が前記中央処理装置に指示する内容を判別して前記先行サブスレッドを選択する選択ステップを含んだことを特徴とする選択方法。
11 先行サブスレッド識別回路
12 Queue
20 L2キャッシュ
21 Iキャッシュ
22 Queue
23 Dキャッシュ
24 ROB
25 RF
26 PC
27 Decode
28 EX
29 先行サブスレッド識別回路
Claims (5)
- 実行対象となる複数の命令で構成される本スレッドを実行し、並びに、所定のスレッドに必要な情報をプリフェッチする一つまたは複数の命令を先行サブスレッドとして当該本スレッドから選択して当該所定のスレッドに先行して実行する中央処理装置であって、
前記本スレッドの実行結果を解析して得られる命令各々間での関係ではなく、前記本スレッドを構成する命令各々が前記中央処理装置に指示する内容を判別して前記先行サブスレッドを選択する選択手段を備えることを特徴とする中央処理装置。 - 前記選択手段は、前記内容として、前記スレッドを構成する各々の命令種別を判別して前記先行サブスレッドを選択することを特徴とする請求項1に記載の中央処理装置。
- 前記選択手段は、前記命令種別として、レジスタに格納されるデータをメモリに格納するストア命令または浮動小数点演算命令に該当するかを判別し、該当しない命令を選択することで前記先行サブスレッドを選択することを特徴とする請求項2に記載の中央処理装置。
- 実行対象となる複数の命令で構成される本スレッドを実行し、並びに、所定のスレッドに必要な情報をプリフェッチする一つまたは複数の命令を先行サブスレッドとして当該本スレッドから選択して当該所定のスレッドに先行して実行する中央処理装置に設けられた選択回路であって、
前記本スレッドの実行結果を解析して得られる命令各々間での関係ではなく、前記本スレッドを構成する命令各々が前記中央処理装置に指示する内容を判別して前記先行サブスレッドを選択する選択手段を備えることを特徴とする選択回路。 - 実行対象となる複数の命令で構成される本スレッドを実行し、並びに、所定のスレッドに必要な情報をプリフェッチする一つまたは複数の命令を先行サブスレッドとして当該本スレッドから選択して当該所定のスレッドに先行して実行する中央処理装置における選択方法であって、
前記本スレッドの実行結果を解析して得られる命令各々間での関係ではなく、前記本スレッドを構成する命令各々が前記中央処理装置に指示する内容を判別して前記先行サブスレッドを選択する選択ステップを含んだことを特徴とする選択方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007324029A JP5105359B2 (ja) | 2007-12-14 | 2007-12-14 | 中央処理装置、選択回路および選択方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007324029A JP5105359B2 (ja) | 2007-12-14 | 2007-12-14 | 中央処理装置、選択回路および選択方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009146227A true JP2009146227A (ja) | 2009-07-02 |
JP5105359B2 JP5105359B2 (ja) | 2012-12-26 |
Family
ID=40916750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007324029A Active JP5105359B2 (ja) | 2007-12-14 | 2007-12-14 | 中央処理装置、選択回路および選択方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5105359B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011141743A (ja) * | 2010-01-07 | 2011-07-21 | Nec Corp | マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005521924A (ja) * | 2001-06-28 | 2005-07-21 | インテル コーポレイション | シングルスレッドプログラムのマルチスレッドでのインプリシットな実行を可能にするマルチスレッドプロセッサ |
JP2006518053A (ja) * | 2002-12-24 | 2006-08-03 | サン・マイクロシステムズ・インコーポレイテッド | ハードウェア・スカウト・スレッディングを通してコードを推測で実行することによるプリフェッチの生成 |
JP2007507048A (ja) * | 2003-09-30 | 2007-03-22 | インテル・コーポレーション | マルチスレッディングのためのコンパイラが生成したヘルパースレッドの方法および装置 |
-
2007
- 2007-12-14 JP JP2007324029A patent/JP5105359B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005521924A (ja) * | 2001-06-28 | 2005-07-21 | インテル コーポレイション | シングルスレッドプログラムのマルチスレッドでのインプリシットな実行を可能にするマルチスレッドプロセッサ |
JP2006518053A (ja) * | 2002-12-24 | 2006-08-03 | サン・マイクロシステムズ・インコーポレイテッド | ハードウェア・スカウト・スレッディングを通してコードを推測で実行することによるプリフェッチの生成 |
JP2007507048A (ja) * | 2003-09-30 | 2007-03-22 | インテル・コーポレーション | マルチスレッディングのためのコンパイラが生成したヘルパースレッドの方法および装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011141743A (ja) * | 2010-01-07 | 2011-07-21 | Nec Corp | マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5105359B2 (ja) | 2012-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5889986B2 (ja) | 実行された命令の結果を選択的にコミットするためのシステムおよび方法 | |
JP6043374B2 (ja) | 動的アウトオブオーダプロセッサパイプラインを実装する方法および装置 | |
US9569186B2 (en) | Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control | |
US6151662A (en) | Data transaction typing for improved caching and prefetching characteristics | |
JP5638107B2 (ja) | データ処理回路 | |
JP4841861B2 (ja) | 演算処理装置及びデータ転送処理の実行方法 | |
US5958045A (en) | Start of access instruction configured to indicate an access mode for fetching memory operands in a microprocessor | |
JP5335440B2 (ja) | オペランドの早期の条件付き選択 | |
JP4134179B2 (ja) | ソフトウエアによる動的予測方法および装置 | |
US20060095746A1 (en) | Branch predictor, processor and branch prediction method | |
US20180232232A1 (en) | Compiler-assisted lookahead (cal) memory system apparatus for microprocessors | |
JP2009524167A5 (ja) | ||
JP5105359B2 (ja) | 中央処理装置、選択回路および選択方法 | |
GB2564391B (en) | An apparatus and method for controlling use of a register cache | |
JP2004192021A (ja) | マイクロプロセッサ | |
JP3532835B2 (ja) | データ処理装置およびプログラム変換装置 | |
JP5122277B2 (ja) | データ処理方法、処理装置、多重命令ワードセット生成方法、コンパイラプログラム | |
US6769057B2 (en) | System and method for determining operand access to data | |
US6668306B2 (en) | Non-vital loads | |
US11347506B1 (en) | Memory copy size determining instruction and data transfer instruction | |
JP4528993B2 (ja) | マルチバンクレジスタを有するプロセッサおよびプロセッサの制御方法 | |
JP3958320B2 (ja) | マルチバンクレジスタを有するプロセッサおよびプロセッサの制御方法 | |
KR20240128829A (ko) | 루프 재생 성능을 최적화하기 위한 프로세서에서 캡처된 루프의 최적화 | |
JP2005149297A (ja) | プロセッサおよびそのアセンブラ | |
JPH11272463A (ja) | 記憶装置及び情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100902 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120508 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120709 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120731 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120829 |
|
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: 20120918 |
|
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: 20120925 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5105359 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: 20151012 Year of fee payment: 3 |
|
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 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
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 |