JP6103647B2 - プロセッサシステム及びアクセラレータ - Google Patents
プロセッサシステム及びアクセラレータ Download PDFInfo
- Publication number
- JP6103647B2 JP6103647B2 JP2013541786A JP2013541786A JP6103647B2 JP 6103647 B2 JP6103647 B2 JP 6103647B2 JP 2013541786 A JP2013541786 A JP 2013541786A JP 2013541786 A JP2013541786 A JP 2013541786A JP 6103647 B2 JP6103647 B2 JP 6103647B2
- Authority
- JP
- Japan
- Prior art keywords
- flag
- processor
- accelerator
- data
- area
- 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
- 238000012545 processing Methods 0.000 claims description 238
- 238000000034 method Methods 0.000 claims description 156
- 230000008569 process Effects 0.000 claims description 125
- 230000015654 memory Effects 0.000 claims description 124
- 238000012546 transfer Methods 0.000 claims description 74
- 230000001133 acceleration Effects 0.000 claims description 71
- 238000004364 calculation method Methods 0.000 claims description 24
- 239000004065 semiconductor Substances 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 5
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 239000000470 constituent Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 18
- 238000012790 confirmation Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000036316 preload Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- 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
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
-
- 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/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
- G06F9/3881—Arrangements for communication of instructions and data
-
- 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Microcomputers (AREA)
Description
まず、ACC12とプロセッサ11との連係動作の一例として、ロード・ストアユニット123がLM15又はDSM14にデータを格納すると、プロセッサ11が格納されたデータを用いた処理を開始する動作を説明する。
まず、ACC12とDTU13との連係動作の一例として、DTU13がLM15又はDSM14へのデータ転送処理を終了すると、ロード・ストアユニット123が転送されたデータのACCレジスタ122への読み込みを開始する動作を説明する。
まず、ACC12とプロセッサ11との連係動作の一例として、プロセッサ11が所定の処理を終了すると、ACC12が処理を開始する動作を説明する。
次に、ACC12とDTU13との連係動作の一例として、ACC本体121が処理を終了すると、DTU13がデータ転送を開始する動作を説明する。
まず、ACC本体121とロード・ストアユニット123の連係動作の第1の例として、ロード・ストアユニット123がLM15内のデータをACCレジスタ122に読み込む処理を終了すると、ACC本体121が処理を開始する動作を説明する。
次に、ACC本体121とロード・ストアユニット123の連係動作の第2の例として、ACC本体121が処理を終了すると、ロード・ストアユニット123が処理後のデータをLM15に格納する動作を説明する。
まず、ACC本体121とロード・ストアユニット123の連係動作の第1の例として、ロード・ストアユニット123がLM15内のデータをACCレジスタ122に読み込む処理を終了すると、ACC本体121が処理を開始する動作を説明する。
次に、ACC本体121とロード・ストアユニット123の連係動作の第2の例として、ACC本体121が処理を終了すると、ロード・ストアユニット123が処理後のデータをLM15に格納する動作を説明する。
フラグ書込・確認器121Aは、LM15又はDSM14等のメモリ上の所定のアドレスに同期フラグを書き込む。具体的には、プロセッサ11が、フラグ書込・確認器121Aに、フラグアドレス(同期フラグを書き込むべきメモリ上のアドレス)、フラグ値(書き込むべき同期フラグの値)、及びフラグセットの指示を入力し、フラグ書込・確認器121Aは当該指示に従って動作する。
一方、フラグ書込・確認器121Aは、LM15又はDSM14等のメモリ上の所定のアドレスにセットされた同期フラグを確認する。具体的には、まずフラグ書込・確認器121Aは、フラグアドレス(確認すべきメモリ上のアドレス)、フラグ値(確認すべき同期フラグの値)、及びフラグチェックの指示を入力する。
Claims (20)
- 演算処理を行うプロセッサと、メモリと、前記プロセッサ及び前記メモリに結合網を介して接続されたアクセラレータとを有するプロセッサコアを半導体チップ上に備えたプロセッサシステムであって、
前記メモリは、前記プロセッサ及び前記アクセラレータが実行するタスクを予め記憶する命令領域と、前記プロセッサと前記アクセラレータとの間で各々の動作を同期させるためのフラグを記憶する同期フラグ領域と、前記プロセッサ及び前記アクセラレータが処理に用いるデータ及び処理後のデータが格納されるデータ領域とを有し、
前記アクセラレータは、
前記プロセッサシステムの起動時に、前記命令領域に記憶された前記アクセラレータが実行するタスク中の命令を読み込み、
当該読み込んだ命令に従って動作し、
当該読み込んだ命令がフラグチェック命令である場合には、当該フラグチェック命令が前記プロセッサによる所定の処理の完了を示すフラグが前記同期フラグ領域に書き込まれたことを確認すると、前記プロセッサが他の処理を実行中であっても、前記データ領域に書き込まれたデータを読み込んで当該フラグに対応して、当該読み込んだ命令を実行することによってアクセラレーション処理を開始し、
前記アクセラレーション処理の完了後に、前記アクセラレータが読み込んだ命令が、前記アクセラレーション処理後のデータを前記データ領域に格納し、さらに前記アクセラレータが読み込んだフラグセット命令が当該アクセラレーション処理の完了を示すフラグを前記同期フラグ領域に書き込み、
前記プロセッサは、
前記プロセッサシステムの起動時に、前記命令領域に記憶された前記プロセッサが実行するタスク中の命令を読み込み、
当該読み込んだ命令に従って動作し、
当該読み込んだ命令がフラグチェック命令である場合には、当該フラグチェック命令が前記アクセラレーション処理の完了を示すフラグが前記同期フラグ領域に書き込まれたことを確認すると、前記アクセラレータが他の処理を実行中であっても、当該フラグに対応して、当該読み込んだ命令を開始することを特徴とするプロセッサシステム。 - 請求項1に記載のプロセッサシステムであって、
前記アクセラレータ及び前記プロセッサの各々は、自身が実行する処理の進行状況に応じて、後続して実行すべき命令がそれぞれ対応する異なる複数のフラグを、前記同期フラグ領域に書き込み、後続して命令を実行する前記アクセラレータ及び前記プロセッサの各々が前記同期フラグ領域に書き込まれたフラグを確認し、前記対応する命令を実行することを特徴とするプロセッサシステム。 - 請求項1又は2に記載のプロセッサシステムであって、
前記メモリは、前記アクセラレータ及び前記プロセッサがアクセス可能なローカルメモリ、及び他のプロセッサコアもアクセス可能な分散共有メモリの少なくとも一方を含み、
前記プロセッサコアは、前記メモリ間でデータを転送するデータ転送ユニットをさらに有し、
前記同期フラグ領域は、データ転送ユニットと、プロセッサ及びアクセラレータとの間でも各々の動作を同期させるためのフラグを記憶する領域を含み、
前記命令領域は、データ転送ユニットが実行するタスクをあらかじめ記憶する領域を含み
前記アクセラレータは、
前記データ転送ユニットによる所定のデータ転送処理の完了を示すフラグが前記同期フラグ領域に書き込まれたことを確認すると、前記データ転送ユニットが他のデータ転送処理を実行中であっても、前記データ領域に書き込まれたデータを読み込んで、当該フラグに対応する命令を実行することによってアクセラレーション処理を開始し、
前記アクセラレーション処理の完了後に、前記アクセラレーション処理後のデータを前記データ領域に格納し、さらに当該アクセラレーション処理の完了を示すフラグを前記同期フラグ領域に書き込み、
前記データ転送ユニットは、
前記アクセラレーション処理の完了を示すフラグが前記同期フラグ領域に書き込まれたことを確認すると、前記アクセラレータが他の処理を実行中であっても、当該フラグに対応する命令を実行することによってデータ転送処理を開始することを特徴とするプロセッサシステム。 - 演算処理を行うプロセッサと、メモリと、前記メモリ間でデータを転送するデータ転送ユニットと、前記プロセッサ、前記メモリ及び前記データ転送ユニットに結合網を介して接続されたアクセラレータとを構成要素として有するプロセッサコアを半導体チップ上に備えたプロセッサシステムであって、
前記メモリは、前記プロセッサ及び前記データ転送ユニット及び前記アクセラレータの各構成要素がそれぞれ実行するタスクを予め記憶する命令領域と、前記各構成要素間で各々の動作を同期させるためのフラグを記憶する同期フラグ領域と、前記各構成要素が処理
に用いるデータ及び処理後のデータが格納されるデータ領域とを有し、
前記各構成要素は、前記プロセッサシステムの起動時に、前記命令領域に記憶された前記各構成要素に対応したタスク中の命令を読み込み、当該読み込んだ命令に従って動作し、
前記各構成要素のうちの一構成要素は、前記一構成要素が読み込んだ命令により、所定の処理を完了するとともに、処理後のデータを前記データ領域に格納し、さらに当該処理の完了を示すフラグを前記同期フラグ領域に書き込み、
前記一構成要素とは異なる他の構成要素は、前記他の構成要素が読み込んだ命令により、当該フラグが書き込まれたことを確認すると、前記他の構成要素以外の構成要素が他の処理を実行中であっても、前記他の構成要素が前記データ領域に格納された前記処理後のデータを読み込んで当該フラグに対応して、前記他の構成要素が読み込んだ命令の実行を開始し、当該命令の実行完了後に、当該命令の実行後のデータを前記データ領域に格納し、さらに当該命令の完了を示すフラグを前記同期フラグ領域に書き込むようにした動作を、各構成要素に対応したタスクに従って各構成要素が実行することを特徴とするプロセッサシステム。 - 請求項1又は2記載のプロセッサシステムであって、
前記プロセッサ、前記アクセラレータの各構成要素が実行する命令は、前記プロセッサシステムで実行されるべきプログラムの解析によって得られる情報を参照して、前記プログラムから生成されたもので、前記生成された命令は前記フラグと対応付けられていることを特徴とするプロセッサシステム。 - 請求項3又は4記載のプロセッサシステムであって、
前記プロセッサ、前記アクセラレータ、前記データ転送ユニットの各構成要素が実行する命令は、前記プロセッサシステムで実行されるべきプログラムの解析によって得られる情報を参照して、前記プログラムから生成されたもので、前記生成された命令は前記フラグと対応付けられていることを特徴とするプロセッサシステム。 - 請求項1から6のいずれか一つに記載のプロセッサシステムであって、
前記アクセラレータは、アクセラレーション処理を実行する処理部と、前記処理部によって処理されるデータを一時的に格納する内部記憶領域と、前記内部記憶領域と前記メモリとの間でデータ転送を実行するロード・ストアユニットとを有し、
前記ロード・ストアユニットは、前記内部記憶領域と前記メモリとの間におけるデータ転送の実行状況に応じて、前記同期フラグ領域にフラグを書き込む及び前記同期フラグ領域にフラグが書き込まれたことを確認するロード・ストアユニット側フラグ書込・確認器を有することを特徴とするプロセッサシステム。 - 請求項1から6のいずれか一つに記載のプロセッサシステムであって、
前記アクセラレータは、アクセラレーション処理を実行する処理部と、前記処理部によって処理されるデータを一時的に格納する内部記憶領域とを有し、
前記処理部は、前記内部記憶領域と前記処理部との間におけるデータ転送の実行状況に応じて、前記同期フラグ領域にフラグを書き込む及び前記同期フラグ領域にフラグが書き込まれたことを確認する処理部側フラグ書込・確認器を有することを特徴とするプロセッサシステム。 - 請求項1から6のいずれか一つに記載のプロセッサシステムであって、
前記アクセラレータは、アクセラレーション処理を実行する処理部と、前記処理部によって処理されるデータを一時的に格納する内部記憶領域と、前記内部記憶領域と前記メモリとの間でデータ転送を実行するロード・ストアユニットとを備え、
前記処理部は、当該処理部による処理の実行状況に応じて、前記同期フラグ領域にフラグを書き込む及び前記同期フラグ領域にフラグが書き込まれたことを確認する処理部側フラグ書込・確認器を有し、
前記ロード・ストアユニットは、当該ロード・ストアユニットによる処理の実行状況に応じて、前記同期フラグ領域にフラグを書き込む及び前記同期フラグ領域にフラグが書き込まれたことを確認するロード・ストアユニット側フラグ書込・確認器を有することを特徴とするプロセッサシステム。 - 請求項1から6のいずれか一つに記載のプロセッサシステムであって、
前記アクセラレータは、アクセラレーション処理を実行する処理部と、前記処理部によって処理されるデータを一時的に格納する内部記憶領域と、前記内部記憶領域と前記メモリとの間でデータ転送を実行するロード・ストアユニットと、前記処理部と前記ロード・ストアユニットとの動作を同期させるためのフラグを記憶するフラグ授受レジスタとを備え、
前記処理部は、当該処理部による処理の実行状況に応じて、前記同期フラグ領域又は前記フラグ授受レジスタにフラグを書き込む、及び、前記同期フラグ領域又は前記フラグ授受レジスタにフラグが書き込まれたことを確認する処理部側フラグ書込・確認器を有し、
前記ロード・ストアユニットは、当該ロード・ストアユニットによる処理の実行状況に応じて、前記同期フラグ領域又は前記フラグ授受レジスタにフラグを書き込む、及び、前記同期フラグ領域又は前記フラグ授受レジスタにフラグが書き込まれたことを確認するロード・ストアユニット側フラグ書込・確認器を有することを特徴とするプロセッサシステム。 - 請求項1から6のいずれか一つに記載のプロセッサシステムであって、
前記プロセッサシステムは、複数の前記プロセッサコアを備えることを特徴とするプロセッサシステム。 - 請求項11に記載のプロセッサシステムであって、
前記プロセッサシステムは、複数の前記プロセッサコアによって共有される前記半導体チップ上のオンチップ集中共有メモリ、及び、複数の前記プロセッサコアによって共有される前記半導体チップ外部のオフチップ集中共有メモリのうち少なくとも一方を備えることを特徴とするプロセッサシステム。 - 請求項3又は4に記載のプロセッサシステムであって、
前記メモリは、さらに、前記アクセラレータ内に設けられたメモリ及びレジスタの少なくとも一方を含み、
前記データ転送ユニットは、
前記アクセラレーション処理の完了を示すフラグが前記同期フラグ領域に書き込まれたことを確認すると、前記プロセッサ又は前記アクセラレータが他の処理を実行中であっても、前記アクセラレータによるアクセラレーション処理の計算結果のデータを、前記アクセラレータから前記メモリに格納し、
前記アクセラレータによる次回のアクセラレーション処理で用いられるデータを、前記プロセッサ又は前記アクセラレータが他の処理を実行中であっても、前記メモリから前記アクセラレータに前もって読み込むロード処理を実行し、
前記ロード処理の完了を示すフラグを前記同期フラグ領域に書き込むことを特徴とするプロセッサシステム。 - 演算処理を行うプロセッサと、データを記憶するメモリとに結合網を介して接続されるアクセラレータとで構成されるプロセッサシステムに含まれるアクセラレータであって、
前記メモリは、前記プロセッサ及び前記アクセラレータが実行するタスクを予め記憶する命令領域と、前記プロセッサと前記アクセラレータとの間で各々の動作を同期させるためのフラグを記憶する同期フラグ領域と、前記プロセッサ及び前記アクセラレータが処理に用いるデータ及び処理後のデータが格納されるデータ領域とを有し、
前記アクセラレータは、
アクセラレーション処理を実行する処理部と、前記処理部によって処理されるデータを
一時的に格納する内部記憶領域とを備え、
前記プロセッサシステムの起動時に、前記命令領域に記憶された前記アクセラレータが実行するタスク中の命令を読み込み、
当該読み込んだ命令に従って動作し、
当該読み込んだ命令がフラグチェック命令である場合には、当該フラグチェック命令が前記プロセッサによる所定の処理の完了を示すフラグが前記同期フラグ領域に書き込まれたことを確認すると、前記プロセッサが他の処理を実行中であっても、前記処理部によって当該フラグに対応して、当該読み込んだ命令を実行することによってアクセラレーション処理を開始し、
前記アクセラレーション処理の完了後に、当該読み込んだ命令が、前記アクセラレーション処理の計算結果のデータを前記内部記憶領域に書き込むとともに、当該アクセラレーション処理の完了を示すフラグを前記同期フラグ領域に書き込むことを特徴とするアクセラレータ。 - 請求項14に記載のアクセラレータであって、
前記プロセッサ及び前記アクセラレータが実行するタスクは、前記プロセッサシステムで実行されるべきプログラムの解析によって得られる情報を参照して、前記プログラムから生成されたもので、前記生成された命令は前記フラグと対応付けられていることを特徴とするアクセラレータ。 - 請求項14又は15に記載のアクセラレータであって、
前記アクセラレータは、自身が実行する処理の進行状況に応じて、後続して実行すべき命令がそれぞれ対応する異なる複数のフラグを、前記同期フラグ領域に書き込むことを特徴とするアクセラレータ。 - 請求項14から16のいずれか一つに記載のアクセラレータであって、
前記アクセラレータは、前記内部記憶領域と前記メモリとの間でデータ転送を実行するロード・ストアユニットとを備え、
前記ロード・ストアユニットは、前記内部記憶領域と前記メモリとの間におけるデータ転送の実行状況に応じて、前記同期フラグ領域にフラグを書き込む及び前記同期フラグ領域にフラグが書き込まれたことを確認するロード・ストアユニット側フラグ書込・確認器を有することを特徴とするアクセラレータ。 - 請求項17に記載のアクセラレータであって、
前記処理部は、当該処理部による処理の実行状況に応じて、前記同期フラグ領域にフラグを書き込む及び前記同期フラグ領域にフラグが書き込まれたことを確認する処理部側フラグ書込・確認器を有することを特徴とするアクセラレータ。 - 請求項18に記載のアクセラレータであって、
前記アクセラレータは、前記処理部と前記ロード・ストアユニットとの動作を同期させるためのフラグを記憶するフラグ授受レジスタを備え、
前記処理部側フラグ書込・確認器は、当該処理部による処理の実行状況に応じて、前記フラグ授受レジスタにフラグを書き込む及び前記フラグ授受レジスタにフラグが書き込まれたことを確認し、
前記ロード・ストアユニット側フラグ書込・確認器は、当該ロード・ストアユニットによる処理の実行状況に応じて、前記フラグ授受レジスタにフラグを書き込む及び前記フラグ授受レジスタにフラグが書き込まれたことを確認することを特徴とするアクセラレータ。 - 請求項14から16のいずれか一つに記載のアクセラレータであって、
前記処理部は、前記内部記憶領域と前記処理部との間におけるデータ転送の実行状況に応じて、前記同期フラグ領域にフラグを書き込む及び前記同期フラグ領域にフラグが書き込まれたことを確認する処理部側フラグ書込・確認器を有することを特徴とするアクセラレータ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011242824 | 2011-11-04 | ||
JP2011242824 | 2011-11-04 | ||
PCT/JP2012/078043 WO2013065687A1 (ja) | 2011-11-04 | 2012-10-30 | プロセッサシステム及びアクセラレータ |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017032018A Division JP6525286B2 (ja) | 2011-11-04 | 2017-02-23 | プロセッサコア及びプロセッサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2013065687A1 JPWO2013065687A1 (ja) | 2015-04-02 |
JP6103647B2 true JP6103647B2 (ja) | 2017-04-05 |
Family
ID=48192033
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013541786A Active JP6103647B2 (ja) | 2011-11-04 | 2012-10-30 | プロセッサシステム及びアクセラレータ |
JP2017032018A Active JP6525286B2 (ja) | 2011-11-04 | 2017-02-23 | プロセッサコア及びプロセッサシステム |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017032018A Active JP6525286B2 (ja) | 2011-11-04 | 2017-02-23 | プロセッサコア及びプロセッサシステム |
Country Status (6)
Country | Link |
---|---|
US (2) | US9846673B2 (ja) |
JP (2) | JP6103647B2 (ja) |
CN (1) | CN104025045B (ja) |
GB (1) | GB2511672B (ja) |
TW (1) | TWI597661B (ja) |
WO (1) | WO2013065687A1 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015014833A (ja) * | 2013-07-03 | 2015-01-22 | スパンション エルエルシー | 再構築可能なlsi |
US9880935B2 (en) | 2014-03-24 | 2018-01-30 | Intel Corporation | Efficient data transfer between a processor core and an accelerator |
US11132203B2 (en) * | 2014-08-14 | 2021-09-28 | Texas Instruments Incorporated | System and method for synchronizing instruction execution between a central processor and a coprocessor |
JP2017107448A (ja) * | 2015-12-10 | 2017-06-15 | 株式会社デンソー | 並列化方法、並列化ツール、車載装置 |
EP3208712B1 (en) * | 2016-02-22 | 2020-02-19 | Karlsruher Institut für Technologie | Computer system and method for parallel program code optimization and deployment |
US10310897B2 (en) * | 2016-09-30 | 2019-06-04 | Intel Corporation | Hardware accelerators and methods for offload operations |
US10671361B2 (en) * | 2016-10-25 | 2020-06-02 | Paypal, Inc. | Automatically determining data dependencies to facilitate code execution |
EP4120070B1 (en) * | 2016-12-31 | 2024-05-01 | INTEL Corporation | Systems, methods, and apparatuses for heterogeneous computing |
KR102424962B1 (ko) * | 2017-11-15 | 2022-07-25 | 삼성전자주식회사 | 병렬 연산 처리를 수행하는 메모리 장치 및 이를 포함하는 메모리 모듈 |
GB2575289B (en) | 2018-07-04 | 2020-09-16 | Graphcore Ltd | Streaming engine |
WO2020026315A1 (ja) * | 2018-07-30 | 2020-02-06 | 三菱電機株式会社 | 割り込み制御装置、割り込み制御方法および割り込み制御プログラム |
US11515291B2 (en) | 2018-08-28 | 2022-11-29 | Adeia Semiconductor Inc. | Integrated voltage regulator and passive components |
US11397612B2 (en) | 2019-07-27 | 2022-07-26 | Analog Devices International Unlimited Company | Autonomous job queueing system for hardware accelerators |
US11144290B2 (en) * | 2019-09-13 | 2021-10-12 | Huawei Technologies Co., Ltd. | Method and apparatus for enabling autonomous acceleration of dataflow AI applications |
WO2021070322A1 (ja) * | 2019-10-10 | 2021-04-15 | 日本電信電話株式会社 | 秘密多重反復計算装置、方法及びプログラム |
KR20210094178A (ko) * | 2020-01-20 | 2021-07-29 | 삼성전자주식회사 | 직렬로 연결된 전자 장치들 사이에서 컴플리션을 조기에 전송하기 위한 컴퓨팅 시스템 |
US11176043B2 (en) * | 2020-04-02 | 2021-11-16 | International Business Machines Corporation | Distributed memory-augmented neural network architecture |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61134863A (ja) * | 1984-12-04 | 1986-06-21 | Mitsubishi Electric Corp | デ−タ処理装置 |
JP3137117B2 (ja) * | 1987-03-27 | 2001-02-19 | 将容 曽和 | 高速処理計算機 |
JPH1091603A (ja) * | 1996-09-12 | 1998-04-10 | Fujitsu Ltd | デュアルcpuシステムにおける立ち上げ同期確立方法及び異常監視方法 |
US6044206A (en) * | 1997-10-14 | 2000-03-28 | C-Cube Microsystems | Out of order instruction processing using dual memory banks |
SE9902373D0 (sv) * | 1998-11-16 | 1999-06-22 | Ericsson Telefon Ab L M | A processing system and method |
US6832305B2 (en) * | 2001-03-14 | 2004-12-14 | Samsung Electronics Co., Ltd. | Method and apparatus for executing coprocessor instructions |
JP4062441B2 (ja) * | 2003-07-18 | 2008-03-19 | 日本電気株式会社 | 並列処理システム及び並列処理プログラム |
JP4276028B2 (ja) * | 2003-08-25 | 2009-06-10 | 株式会社日立製作所 | マルチプロセッサシステムの同期方法 |
US7590823B1 (en) * | 2004-08-06 | 2009-09-15 | Xilinx, Inc. | Method and system for handling an instruction not supported in a coprocessor formed using configurable logic |
JP4170330B2 (ja) * | 2004-10-12 | 2008-10-22 | Necエレクトロニクス株式会社 | 情報処理装置 |
EP1647894A3 (en) | 2004-10-12 | 2007-11-21 | NEC Electronics Corporation | Information processing apparatus with parallel DMA processes |
JP4082706B2 (ja) | 2005-04-12 | 2008-04-30 | 学校法人早稲田大学 | マルチプロセッサシステム及びマルチグレイン並列化コンパイラ |
US7954114B2 (en) * | 2006-01-26 | 2011-05-31 | Exegy Incorporated | Firmware socket module for FPGA-based pipeline processing |
JP2007317152A (ja) * | 2006-05-29 | 2007-12-06 | Yuundo:Kk | 情報処理装置 |
JP4784827B2 (ja) | 2006-06-06 | 2011-10-05 | 学校法人早稲田大学 | ヘテロジニアスマルチプロセッサ向けグローバルコンパイラ |
JP4936517B2 (ja) | 2006-06-06 | 2012-05-23 | 学校法人早稲田大学 | ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ |
JP5137171B2 (ja) * | 2006-07-24 | 2013-02-06 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
JP4476267B2 (ja) | 2006-10-06 | 2010-06-09 | 株式会社日立製作所 | プロセッサ及びデータ転送ユニット |
JP2009176116A (ja) * | 2008-01-25 | 2009-08-06 | Univ Waseda | マルチプロセッサシステムおよびマルチプロセッサシステムの同期方法 |
JP2010003151A (ja) | 2008-06-20 | 2010-01-07 | Renesas Technology Corp | データ処理装置 |
EP2278452A1 (en) * | 2009-07-15 | 2011-01-26 | Nxp B.V. | Coprocessor programming |
-
2012
- 2012-10-30 JP JP2013541786A patent/JP6103647B2/ja active Active
- 2012-10-30 CN CN201280065692.7A patent/CN104025045B/zh active Active
- 2012-10-30 WO PCT/JP2012/078043 patent/WO2013065687A1/ja active Application Filing
- 2012-10-30 US US14/355,339 patent/US9846673B2/en active Active
- 2012-10-30 GB GB1409767.9A patent/GB2511672B/en active Active
- 2012-11-02 TW TW101140858A patent/TWI597661B/zh active
-
2017
- 2017-02-23 JP JP2017032018A patent/JP6525286B2/ja active Active
- 2017-11-06 US US15/804,002 patent/US10095657B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2013065687A1 (ja) | 2013-05-10 |
TW201333814A (zh) | 2013-08-16 |
US10095657B2 (en) | 2018-10-09 |
GB2511672B (en) | 2020-04-15 |
US20180060275A1 (en) | 2018-03-01 |
CN104025045A (zh) | 2014-09-03 |
US20140304491A1 (en) | 2014-10-09 |
US9846673B2 (en) | 2017-12-19 |
GB201409767D0 (en) | 2014-07-16 |
GB2511672A (en) | 2014-09-10 |
JP2017091589A (ja) | 2017-05-25 |
TWI597661B (zh) | 2017-09-01 |
JP6525286B2 (ja) | 2019-06-05 |
JPWO2013065687A1 (ja) | 2015-04-02 |
CN104025045B (zh) | 2017-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6103647B2 (ja) | プロセッサシステム及びアクセラレータ | |
JP4936517B2 (ja) | ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ | |
CN100456230C (zh) | 超长指令字与单指令流多数据流融合的计算群单元 | |
CN105389158B (zh) | 数据处理系统、编译器、处理器的方法和机器可读介质 | |
EP3314401B1 (en) | Block-based architecture with parallel execution of successive blocks | |
US7877585B1 (en) | Structured programming control flow in a SIMD architecture | |
JP5270529B2 (ja) | 再構成可能なマルチ処理粗粒アレイ | |
Vishkin | Using simple abstraction to reinvent computing for parallelism | |
WO2007083613A1 (ja) | プログラム処理装置、並列処理プログラム、プログラム処理方法、並列処理コンパイラ、並列処理コンパイラを格納した記録媒体およびマルチプロセッサシステム | |
CN103279445A (zh) | 运算任务的计算方法及超算系统 | |
Baudisch et al. | Multithreaded code from synchronous programs: Extracting independent threads for OpenMP | |
JP2014216021A (ja) | バッチスレッド処理のためのプロセッサ、コード生成装置及びバッチスレッド処理方法 | |
US20140143524A1 (en) | Information processing apparatus, information processing apparatus control method, and a computer-readable storage medium storing a control program for controlling an information processing apparatus | |
JP2009151645A (ja) | 並列処理装置及びプログラム並列化装置 | |
Lisper | Towards parallel programming models for predictability | |
US9665354B2 (en) | Apparatus and method for translating multithread program code | |
Owaida et al. | Massively parallel programming models used as hardware description languages: The OpenCL case | |
Baker et al. | Hybrid programming using OpenSHMEM and OpenACC | |
CN104615496B (zh) | 基于多层次异构结构的可重构架构的并行扩展方法 | |
US11940940B2 (en) | External exchange connectivity | |
US20220019487A1 (en) | Communication Between Host and Accelerator Over Network | |
Agathos et al. | Compiler-assisted, adaptive runtime system for the support of OpenMP in embedded multicores | |
Baudisch et al. | Efficient handling of arrays in dataflow process networks | |
Dinavahi et al. | Many-Core Processors | |
CN116303226A (zh) | 粗粒度可重构阵列数据流处理器的高效执行方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151026 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20151026 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20151030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170110 |
|
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: 20170124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170223 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6103647 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S804 | Written request for registration of cancellation of exclusive licence |
Free format text: JAPANESE INTERMEDIATE CODE: R314803 |
|
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 |