JP5630798B1 - プロセッサーおよび方法 - Google Patents
プロセッサーおよび方法 Download PDFInfo
- Publication number
- JP5630798B1 JP5630798B1 JP2014540665A JP2014540665A JP5630798B1 JP 5630798 B1 JP5630798 B1 JP 5630798B1 JP 2014540665 A JP2014540665 A JP 2014540665A JP 2014540665 A JP2014540665 A JP 2014540665A JP 5630798 B1 JP5630798 B1 JP 5630798B1
- Authority
- JP
- Japan
- Prior art keywords
- processing
- threads
- processing unit
- instructions
- stage
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 36
- 230000008569 process Effects 0.000 claims description 24
- 238000010586 diagram Methods 0.000 description 5
- 125000004122 cyclic group Chemical group 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Advance Control (AREA)
Abstract
Description
図1は、本実施形態に係るシステムの概略を示す図である。本実施形態に係るシステムは、CPU11およびメモリ(Random Access Memory、RAM)12を備える。そして、メモリ12は、CPU11に、読み書き可能に直接接続される。本実施形態では、メモリ12とCPU11との接続方法として、CPU11が備えるポート(処理ユニット側ポート)と、メモリ12が備えるポート(記憶装置側ポート)とが、シリアル接続される方法が採用される。但し、メモリ12とCPU11との接続方法には、本実施形態における例以外の接続方法が採用されてもよい。例えば、接続には、その一部または全部に光接続が採用されてもよい。また、CPU11とメモリ12との間の接続は、物理的にはバス等を用いて共有されていてもよい。また、本実施形態では、メモリ12が1のCPU11によって利用される例について説明しているが、メモリ12は、2以上のCPUによって共有されてもよい。
上述の通り、本実施形態に係るCPU11は、命令を処理する際に、1の命令を複数のステージ(処理要素)に分け、各ステージのために用意された処理ユニットに実行させる。複数の処理ユニットは同時に動作することが可能であるため、各ステージの処理のタイミングをずらすことで複数の命令を並行して処理する、循環パイプライン型の命令パイプラインが従来用いられている。本実施形態では、このような命令パイプラインにおいて、処理対象のスレッドを変更しながら複数スレッドの処理を連続して行った後に、これらの複数スレッドの後段のステージに係る処理を、後段のステージに係る処理ユニットが、処理対象のスレッドを変更しながら連続して行うように制御することとした。図4に示すフローチャートは、このような制御を実現するための処理の流れの一例である。
12 メモリ
Claims (8)
- 複数のステージに分けて命令を処理するために用意された、各ステージに対応する複数の処理ユニットと、
前段ステージ用の処理ユニットが複数の命令の処理を連続して行った後に、後段ステージ用の処理ユニットが、前記前段ステージ用の処理ユニットによる処理が終了した前記複数の命令の処理を連続して行うように、前記複数の処理ユニットを制御する制御手段と、
を備えるプロセッサー。 - 複数のスレッドを実行するための複数の実行コンテキストを更に備え、
前記制御手段は、前記複数のスレッドが実行の対象となっている場合に、前段ステージ用の処理ユニットが前記複数のスレッドのうちの少なくとも2以上のスレッドに係る命令の処理を連続して行った後に、後段ステージ用の処理ユニットが、前記前段ステージ用の処理ユニットによる処理が終了した前記2以上のスレッドに係る命令の処理を連続して行うように、前記複数の処理ユニットを制御する、
請求項1に記載のプロセッサー。 - 前記複数のスレッドは、複数のグループの何れかに割り当てられており、
前記制御手段は、互いに異なるグループに割り当てられたスレッドの命令を、同一の時点において実行するように、前記複数の処理ユニットを制御する、
請求項2に記載のプロセッサー。 - 前記グループに割り当てられるスレッドの数は、設定により変更可能である、
請求項3に記載のプロセッサー。 - 前記グループは、該プロセッサーに備えられた処理ユニット数に基づいた数用意される、
請求項3または4に記載のプロセッサー。 - 前記制御手段は、第一のグループに割り当てられた2以上のスレッドに係る命令の処理が終了した後、該第一のグループに割り当てられた2以上のスレッドに係る命令が他の処理ユニットによって処理されている間、第二のグループに割り当てられた2以上のスレッドに係る命令を処理するように、前記複数の処理ユニットを制御する、
請求項3から5の何れか一項に記載のプロセッサー。 - 前記制御手段は、前段ステージ用の処理ユニットが処理対象の全てのスレッドに係る命令の処理を連続して行った後に、後段ステージ用の処理ユニットが処理対象の全てスレッドに係る命令の処理を連続して行うように、前記複数の処理ユニットを制御する、
請求項2から6の何れか一項に記載のプロセッサー。 - 複数のステージに分けて命令を処理するために用意された、各ステージに対応する複数の処理ユニットを備えるプロセッサーの制御方法であって、
前記複数の処理ユニットのうち前段ステージ用の処理ユニットに、複数の命令の処理を連続して行わせるステップと、
前記前段ステージ用の処理ユニットが前記複数の命令の処理を連続して行った後に、後段ステージ用の処理ユニットに、該複数の命令の処理を連続して行わせるステップと、
を備える、プロセッサーの制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/060518 WO2015155894A1 (ja) | 2014-04-11 | 2014-04-11 | プロセッサーおよび方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5630798B1 true JP5630798B1 (ja) | 2014-11-26 |
JPWO2015155894A1 JPWO2015155894A1 (ja) | 2017-04-13 |
Family
ID=52144982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014540665A Active JP5630798B1 (ja) | 2014-04-11 | 2014-04-11 | プロセッサーおよび方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150293766A1 (ja) |
EP (1) | EP3131004A4 (ja) |
JP (1) | JP5630798B1 (ja) |
WO (1) | WO2015155894A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102643467B1 (ko) * | 2016-05-31 | 2024-03-06 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
WO2023161725A1 (en) * | 2022-02-28 | 2023-08-31 | Neuroblade Ltd. | Processing systems |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02208727A (ja) * | 1989-02-09 | 1990-08-20 | Mitsubishi Electric Corp | 情報処理装置 |
JPH05181676A (ja) * | 1991-04-05 | 1993-07-23 | Toshiba Corp | 並列処理型プロセッサシステム |
JPH07244587A (ja) * | 1994-03-04 | 1995-09-19 | Nec Corp | データ処理装置 |
JPH1196005A (ja) * | 1997-09-19 | 1999-04-09 | Nec Corp | 並列処理装置 |
WO2001033351A1 (fr) * | 1999-10-29 | 2001-05-10 | Fujitsu Limited | Architecture de processeur |
JP2006502504A (ja) * | 2002-10-11 | 2006-01-19 | サンドブリッジ テクノロジーズ インコーポレーテッド | マルチスレッド・プロセッサにおけるレジスタ・ファイルのポートを削減するための方法および装置 |
JP2006502505A (ja) * | 2002-10-11 | 2006-01-19 | サンドブリッジ テクノロジーズ インコーポレーテッド | トークン・トリガ・マルチスレッディングの方法および装置 |
JP2007213578A (ja) * | 2006-02-09 | 2007-08-23 | Internatl Business Mach Corp <Ibm> | データ・キャッシュ・ミス予測およびスケジューリング |
US20080148089A1 (en) * | 2006-12-13 | 2008-06-19 | Luick David A | Single Shared Instruction Predecoder for Supporting Multiple Processors |
US20080148020A1 (en) * | 2006-12-13 | 2008-06-19 | Luick David A | Low Cost Persistent Instruction Predecoded Issue and Dispatcher |
US20080313438A1 (en) * | 2007-06-14 | 2008-12-18 | David Arnold Luick | Unified Cascaded Delayed Execution Pipeline for Fixed and Floating Point Instructions |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030135716A1 (en) * | 2002-01-14 | 2003-07-17 | Gil Vinitzky | Method of creating a high performance virtual multiprocessor by adding a new dimension to a processor's pipeline |
US7836276B2 (en) * | 2005-12-02 | 2010-11-16 | Nvidia Corporation | System and method for processing thread groups in a SIMD architecture |
US7310722B2 (en) | 2003-12-18 | 2007-12-18 | Nvidia Corporation | Across-thread out of order instruction dispatch in a multithreaded graphics processor |
US8578387B1 (en) * | 2007-07-31 | 2013-11-05 | Nvidia Corporation | Dynamic load balancing of instructions for execution by heterogeneous processing engines |
EP2270653A4 (en) * | 2008-03-25 | 2011-05-25 | Fujitsu Ltd | MULTI |
-
2014
- 2014-04-11 JP JP2014540665A patent/JP5630798B1/ja active Active
- 2014-04-11 EP EP14827997.9A patent/EP3131004A4/en not_active Withdrawn
- 2014-04-11 WO PCT/JP2014/060518 patent/WO2015155894A1/ja active Application Filing
-
2015
- 2015-01-30 US US14/609,818 patent/US20150293766A1/en not_active Abandoned
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02208727A (ja) * | 1989-02-09 | 1990-08-20 | Mitsubishi Electric Corp | 情報処理装置 |
JPH05181676A (ja) * | 1991-04-05 | 1993-07-23 | Toshiba Corp | 並列処理型プロセッサシステム |
JPH07244587A (ja) * | 1994-03-04 | 1995-09-19 | Nec Corp | データ処理装置 |
JPH1196005A (ja) * | 1997-09-19 | 1999-04-09 | Nec Corp | 並列処理装置 |
WO2001033351A1 (fr) * | 1999-10-29 | 2001-05-10 | Fujitsu Limited | Architecture de processeur |
JP2006502504A (ja) * | 2002-10-11 | 2006-01-19 | サンドブリッジ テクノロジーズ インコーポレーテッド | マルチスレッド・プロセッサにおけるレジスタ・ファイルのポートを削減するための方法および装置 |
JP2006502505A (ja) * | 2002-10-11 | 2006-01-19 | サンドブリッジ テクノロジーズ インコーポレーテッド | トークン・トリガ・マルチスレッディングの方法および装置 |
JP2007213578A (ja) * | 2006-02-09 | 2007-08-23 | Internatl Business Mach Corp <Ibm> | データ・キャッシュ・ミス予測およびスケジューリング |
US20080148089A1 (en) * | 2006-12-13 | 2008-06-19 | Luick David A | Single Shared Instruction Predecoder for Supporting Multiple Processors |
US20080148020A1 (en) * | 2006-12-13 | 2008-06-19 | Luick David A | Low Cost Persistent Instruction Predecoded Issue and Dispatcher |
US20080313438A1 (en) * | 2007-06-14 | 2008-12-18 | David Arnold Luick | Unified Cascaded Delayed Execution Pipeline for Fixed and Floating Point Instructions |
Also Published As
Publication number | Publication date |
---|---|
EP3131004A4 (en) | 2017-11-08 |
JPWO2015155894A1 (ja) | 2017-04-13 |
US20150293766A1 (en) | 2015-10-15 |
EP3131004A1 (en) | 2017-02-15 |
WO2015155894A1 (ja) | 2015-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10140251B2 (en) | Processor and method for executing matrix multiplication operation on processor | |
JP5994679B2 (ja) | 処理装置、及び処理装置の制御方法 | |
JP6493088B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US20110264892A1 (en) | Data processing device | |
JP5630798B1 (ja) | プロセッサーおよび方法 | |
US20120151145A1 (en) | Data Driven Micro-Scheduling of the Individual Processing Elements of a Wide Vector SIMD Processing Unit | |
US11755329B2 (en) | Arithmetic processing apparatus and method for selecting an executable instruction based on priority information written in response to priority flag comparison | |
US11256543B2 (en) | Processor and instruction scheduling method | |
JP2014215624A (ja) | 演算処理装置 | |
JP2014191663A (ja) | 演算処理装置、情報処理装置、および演算処理装置の制御方法 | |
JP2011198356A (ja) | 複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラ | |
US10133578B2 (en) | System and method for an asynchronous processor with heterogeneous processors | |
JP5871298B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
KR20140081206A (ko) | 컴퓨터 시스템 | |
JP2008102599A (ja) | プロセッサ | |
CN108255587B (zh) | 一种同步多线程处理器 | |
CN111381887B (zh) | 在mvp处理器中进行图像运动补偿的方法、装置及处理器 | |
US20090276777A1 (en) | Multiple Programs for Efficient State Transitions on Multi-Threaded Processors | |
JP2017059273A (ja) | 演算処理装置 | |
US20140281368A1 (en) | Cycle sliced vectors and slot execution on a shared datapath | |
US10565036B1 (en) | Method of synchronizing host and coprocessor operations via FIFO communication | |
JP5491113B2 (ja) | ベクトル処理装置、ベクトル処理方法、およびプログラム | |
TWI509509B (zh) | 資料儲存方法與應用其之處理器 | |
JP6060853B2 (ja) | プロセッサおよびプロセッサの処理方法 | |
JP2012174105A (ja) | メモリアクセス制御回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140821 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20140821 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20140918 |
|
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: 20140924 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141001 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5630798 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |