JP2013541101A - マルチレベル処理のための方法、システム、および装置 - Google Patents
マルチレベル処理のための方法、システム、および装置 Download PDFInfo
- Publication number
- JP2013541101A JP2013541101A JP2013533059A JP2013533059A JP2013541101A JP 2013541101 A JP2013541101 A JP 2013541101A JP 2013533059 A JP2013533059 A JP 2013533059A JP 2013533059 A JP2013533059 A JP 2013533059A JP 2013541101 A JP2013541101 A JP 2013541101A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- lower level
- level processor
- processors
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 title claims description 37
- 230000015654 memory Effects 0.000 claims abstract description 50
- 238000013507 mapping Methods 0.000 claims abstract description 5
- 238000002347 injection Methods 0.000 claims 2
- 239000007924 injection Substances 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 24
- 239000013598 vector Substances 0.000 description 16
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000006872 improvement Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003467 diminishing effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- 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
-
- 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/30079—Pipeline control instructions, e.g. multicycle NOP
-
- 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, 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- 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, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- 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
- G06F9/526—Mutual exclusion algorithms
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Advance Control (AREA)
- Power Sources (AREA)
Abstract
Description
2N+1+2(N-1)+...2+1すなわち
(2i+1)(i=0〜N)の合計 = 2N+N×Nバスサイクル
上式は、最悪の条件を与える。最良の条件は、2Nバスサイクルである。
プロセッサ数=10、および、バスサイクル時間=10プロセッササイクル。
従来のマルチプロセッサ同期は、2N〜2N+N×Nかかる。
すなわち、2×10×10=200〜(200+1000)サイクル。
マルチレベル同期は、N=10サイクルしかかからない。
利得範囲は、20〜120倍である。
1. ロックが解放されるのを待機して各プロセッサ303、304〜306がスピンする必要がないので、電力が削減される。各下位レベルプロセッサ303、304〜306は、停止命令を使用するか、またはそのクロックを伸張する。
2. SyncP301は、下位レベルプロセッサ303、304〜306中の全ての命令を監視し、したがって、複数の共有変数を同時に使用する権利を同時に発行することができる。一方、従来のマルチプロセッサは、共有バスに依拠して、他のプロセッサからの他の読取命令または書込命令によって割込みできないアトミックな操作を用いて同期をサポートする。
3. SyncP301は、全ての下位レベルプロセッサ303、304〜306に対して1つの命令を挿入することができ、したがって、単純で効果的なSIMDを実装してベクトル演算をサポートする。
4. SyncP301は、間接データを全ての低レベル命令に書き込むことができ、それにより、各プロセッサ303、304〜306は、キャッシュまたはメモリからどんな命令もフェッチする必要なしに、データの1つのフィールドを使用してマイクロコードROMに索引付けして、異なる命令を実行することになる。
LOAD R4, 1024(R0); - P0 403のIR413が位置1024にマッピングすると仮定した場合に、P0 403の命令レジスタ413を読み取る
STORE R7, 1028(R0); - P1 404のIR414が位置1028にマッピングすると仮定した場合に、P1 404の命令レジスタ414に書き込む
1. SyncP401は、下位レベルプロセッサ403、404〜406の全ての命令を任意の順序で読み取る。
2. 下位レベルプロセッサ403、404〜406のうちの1つからの、共有変数の使用要求をSyncP401が見つけた場合、SyncP401は、この変数用に確保されたキューに、要求元のプロセッサ番号を記憶する。例えば、変数Xには、アクセスXキューが使用される。P11が、Xを要求していると判明した第1のプロセッサである(要求の順に配列されるのではない)。
3. SyncP401は、命令レジスタの読取りを継続し、共有変数の使用を求める種々の要求をソートする。
4. キューを有する共有変数、例えばXを、別のプロセッサが要求している場合、SyncP401は、図6のP1のように、プロセッサ番号をXのキューに追加する。
5. 各キューにつき、SyncP401は、マルチレベル処理の同期のセクションで上に提供したのと同じコードを使用して、要求元プロセッサを許可する。SyncPは、スーパースケーラアーキテクチャを使用するか、または、シングルイシューでは、各グループの必要コードを組み合わせることによって逐次コードを使用する。同期は、プロセッサ速度で実行される命令をほとんど使用しないので、逐次コードの性能は許容可能である。
1. 単一逐次命令を使用して複数のプロセッサ1103、1104〜1106のための並列コードを生成するので、並列コードを記述するのが容易になる。
2. 単一の命令から生成されたコード部分には、同期は必要ない。
3. 下位レベルプロセッサ1103、1104〜1105は、命令をキャッシュからフェッチしたりメモリを遅くしたりする必要なしに、それらのROM1113、1114〜1116からそれぞれ直接に命令を実行する。したがって、電力および複雑さが低減する。
4. 命令は、ROM1113、1114〜1116からプロセッサ速度で実行される。これにより、プロセッサ1103、1104〜1105への命令送達の性能および帯域幅が向上する。
5. 下位レベルプロセッサ1103、1104〜1106のための、コストがかかり複雑な命令キャッシュまたは命令メモリの必要性を低減するかまたはなくすことができる。
1. SyncP1101が命令の書込みおよび変更を行う必要がない場合は、下位レベルの処理は、命令レジスタ中で同じ命令を保持する。マルチプレクサ1201は、同じ命令レジスタの内容を入力として選択する。
2. マルチプレクサ1201は、主に同期に使用される停止命令または許可命令を書き込む必要がある場合は、SyncPD1101の第1のデータ入力を選択する。
3. SyncPがSIMDを実施する必要がある場合は、マルチプレクサ1201は、SyncPD1101の第2のデータ入力を選択する。この場合、SyncP1101のデータは、全ての下位レベルプロセッサの命令レジスタに書き込まれる。
4. SyncP1101がSI>MIMD命令を実施する必要があるときは、マルチプレクサ1201は、ROM OUT入力を選択する。
201 上位レベルプロセッサ、同期プロセッサ、SyncP
202 バス
203、204〜206 下位レベルプロセッサ
210 データメモリ位置
211 データメモリ
215 データメモリ位置
220 データメモリ位置
213、214〜216 命令レジスタ
301 SyncP
303、304〜306 下位レベルプロセッサ
401 SyncP
402 バス
402a アドレスバス
402b データバス
402c 制御ライン
403、404〜406 下位レベルプロセッサ
413、414〜416 命令レジスタ
504a〜d 命令レジスタ
506 フリップフロップ
801 命令レジスタ
803 フリップフロップ
901 SyncP
902、903〜904 下位レベルプロセッサ
902d データバス
912、913〜914 命令レジスタ
1101 SyncP
1102d データバス
1103、1104〜1105 下位レベルプロセッサ
1103、1104〜1106 下位レベルプロセッサ
1113、1114〜1116 ROM
1301 SyncP
1302 バス
1303、1304〜1306 第2レベルプロセッサ
1313、1314〜1316 命令レジスタ
1321〜1327 第3レベルプロセッサ
1331〜1337 命令レジスタ
Claims (38)
- データを処理するためのプロセッサであって、
データを処理するための命令を記憶するレジスタを有する複数の下位レベルプロセッサと、
前記第1レベルのプロセッサに接続された、データを処理するためのメモリを備える上位レベルプロセッサとを備え、前記上位レベルプロセッサが前記複数の第2レベルのプロセッサの動作の少なくとも一部を制御する、プロセッサ。 - 前記上位レベルプロセッサが、前記下位レベルプロセッサのそれぞれの命令の一部を前記上位レベルプロセッサのメモリにマッピングする、請求項1に記載のプロセッサ。
- 前記上位レベルプロセッサが、前記下位レベルプロセッサの命令の全てをメモリにマッピングする、請求項2に記載のプロセッサ。
- 前記上位レベルプロセッサと前記下位レベルプロセッサのそれぞれとの間に接続されたバスをさらに備える、請求項1に記載のプロセッサ。
- 前記下位レベルプロセッサのそれぞれに別々のメモリ領域が割り振られる、請求項3に記載のプロセッサ。
- 前記上位レベルプロセッサがイネーブルにされて、前記下位レベルプロセッサの実行する命令と、前記命令を実行する時間とを制御する、請求項1に記載のプロセッサ。
- 前記上位レベルプロセッサがイネーブルにされて、前記下位レベルプロセッサに命令を注入して、前記下位レベルプロセッサの実行する命令と、前記命令を実行する時間とを制御する、請求項6に記載のプロセッサ。
- 命令の前記注入が同期要件に基づく、請求項7に記載のプロセッサ。
- 注入される前記命令が停止命令である、請求項7に記載のプロセッサ。
- 前記上位レベルプロセッサがイネーブルにされて、前記下位レベルプロセッサのそれぞれのクロック速度を制御する、請求項1に記載のプロセッサ。
- 前記上位レベルプロセッサがイネーブルにされて、複数の下位レベルプロセッサに同一の変数を提供する、請求項1に記載のプロセッサ。
- 前記バスがさらに、前記上位レベルプロセッサが前記下位レベルプロセッサのどのレジスタにアドレスするかを定義するためのアドレスバスと、
アクセスされる下位プロセッサレジスタの内容を含むためのデータバスと、
前記下位レベルプロセッサに対する読取り/書込みを制御するための制御ラインとを備える、請求項2に記載のプロセッサ。 - 前記データバスが64ビットの幅を有し、前記制御ラインが1ビットの値を有する、請求項12に記載のプロセッサ。
- マルチレベルプロセッサ中で種々のプロセッサを同期させる方法であって、
下位レベルプロセッサのレジスタの命令を上位レベルプロセッサのメモリにマッピングするステップと、
下位レベルプロセッサを同期させるために前記上位レベルプロセッサから前記下位レベルプロセッサに命令を注入するステップとを含む方法。 - 上位レベルプロセッサによって各下位レベルプロセッサのクロック速度を制御するステップをさらに含む、請求項14に記載のマルチレベルプロセッサ中で種々のプロセッサを同期させる方法。
- 前記注入するステップが停止命令を注入する、請求項14に記載のマルチレベルプロセッサ中で種々のプロセッサを同期させる方法。
- 減速されることが望まれる下位レベルプロセッサのクロックサイクルを伸張することによって、前記クロック速度が制御される、請求項15に記載のマルチレベルプロセッサ中で種々のプロセッサを同期させる方法。
- クリティカルなコードが実行された後で前記下位レベルプロセッサに対する停止命令を除去するステップをさらに含む、請求項14に記載のマルチレベルプロセッサ中で種々のプロセッサを同期させる方法。
- 共有変数の実行が発生した後で前記下位レベルプロセッサに対する停止命令を除去するステップをさらに含む、請求項14に記載のマルチレベルプロセッサ中で種々のプロセッサを同期させる方法。
- 前記クロックサイクルを伸張することがフリップフロップの使用による、請求項17に記載のマルチレベルプロセッサ中で種々のプロセッサを同期させる方法。
- データを処理するためのシステムであって、
データを処理するための命令を記憶するレジスタを有する複数の下位レベルプロセッサと、
前記第1レベルのプロセッサに接続された、データを処理するためのメモリを備える上位レベルプロセッサであって、前記複数の第2レベルのプロセッサの動作の少なくとも一部を制御する上位レベルプロセッサと、
データを入力するための入力、およびデータを出力するための出力とを備えるシステム。 - 前記上位レベルプロセッサが、前記下位レベルプロセッサのそれぞれの命令の一部を前記上位レベルプロセッサのメモリにマッピングする、請求項21に記載のシステム。
- 前記上位レベルプロセッサが、前記下位レベルプロセッサの命令の全てをメモリにマッピングする、請求項21に記載のシステム。
- 前記上位レベルプロセッサと前記下位レベルプロセッサのそれぞれとの間に接続されたバスをさらに備える、請求項21に記載のシステム。
- 前記下位レベルプロセッサのそれぞれに別々のメモリが割り振られる、請求項23に記載のシステム。
- 前記上位レベルプロセッサがイネーブルにされて、前記下位レベルプロセッサの実行する命令と、前記命令を実行する時間とを制御する、請求項21に記載のシステム。
- 前記上位レベルプロセッサがイネーブルにされて、前記下位レベルプロセッサに命令を注入して、前記下位レベルプロセッサの実行する命令と、前記命令を実行する時間とを制御する、請求項26に記載のシステム。
- 命令の前記注入が同期要件に基づく、請求項27に記載のシステム。
- 注入される前記命令が停止命令である、請求項27に記載のシステム。
- 前記上位レベルプロセッサがイネーブルにされて、前記下位レベルプロセッサのそれぞれのクロック速度を制御する、請求項21に記載のシステム。
- 前記上位レベルプロセッサがイネーブルにされて、複数の下位レベルプロセッサに同一の変数を提供する、請求項21に記載のシステム。
- 前記バスがさらに、前記上位レベルプロセッサが前記下位レベルプロセッサのどのレジスタにアドレスするかを定義するためのアドレスバスと、アクセスされる下位プロセッサレジスタの内容を含むためのデータバスと、前記下位レベルプロセッサに対する読取り/書込みを制御するための制御ラインとを備える、請求項21に記載のシステム。
- 前記データバスが64ビットの幅を有し、前記制御ラインが1ビットの値を有する、請求項32に記載のシステム。
- 命令を処理するための実行ユニットと、前記実行ユニットに接続された、命令の処理のタイミングをとるためのクロックとを備えるプロセッサであって、電力消費の削減を可能にするためにクロックサイクルを伸張する能力を有するプロセッサ。
- クロック周波数を半分にすることによって前記クロック周波数を伸張するための回路をさらに備える、請求項34に記載のプロセッサ。
- 前記回路がフリップフロップを備える、請求項34に記載のプロセッサ。
- 停止命令の受領時に前記クロックサイクルが伸張される、請求項34に記載のプロセッサ。
- ROMを有する上位レベルプロセッサと、自らのROMをそれぞれが有する複数の下位レベルプロセッサとを備えるプロセッサであって、前記上位レベルプロセッサによって発行された1つの命令から複数の異なる独立した並列命令を生成するために、前記上位レベルプロセッサの前記ROM中の単一の命令が前記下位レベルプロセッサ中の複数のROMへのインデックスに分割される、プロセッサ。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US39353110P | 2010-10-15 | 2010-10-15 | |
US61/393,531 | 2010-10-15 | ||
US13/239,977 | 2011-09-22 | ||
US13/239,977 US20120096292A1 (en) | 2010-10-15 | 2011-09-22 | Method, system and apparatus for multi-level processing |
PCT/CA2011/001087 WO2012048402A1 (en) | 2010-10-15 | 2011-09-28 | Method, system and apparatus for multi-level processing |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013541101A true JP2013541101A (ja) | 2013-11-07 |
Family
ID=45935155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013533059A Pending JP2013541101A (ja) | 2010-10-15 | 2011-09-28 | マルチレベル処理のための方法、システム、および装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20120096292A1 (ja) |
EP (1) | EP2628078A1 (ja) |
JP (1) | JP2013541101A (ja) |
KR (1) | KR20140032943A (ja) |
CN (1) | CN103154892A (ja) |
WO (1) | WO2012048402A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9916189B2 (en) * | 2014-09-06 | 2018-03-13 | Advanced Micro Devices, Inc. | Concurrently executing critical sections in program code in a processor |
US10928882B2 (en) * | 2014-10-16 | 2021-02-23 | Futurewei Technologies, Inc. | Low cost, low power high performance SMP/ASMP multiple-processor system |
US9690360B2 (en) * | 2015-08-13 | 2017-06-27 | Intel Corporation | Technologies for discontinuous execution by energy harvesting devices |
CN106020893B (zh) * | 2016-05-26 | 2019-03-15 | 北京小米移动软件有限公司 | 应用安装的方法及装置 |
CN106200868B (zh) * | 2016-06-29 | 2020-07-24 | 联想(北京)有限公司 | 多核处理器中共享变量获取方法、装置及多核处理器 |
FR3091363B1 (fr) * | 2018-12-27 | 2021-08-06 | Kalray | Système de synchronisation inter-processeurs configurable |
KR20210003370A (ko) | 2019-07-02 | 2021-01-12 | 삼성전자주식회사 | 하드웨어 로직을 이용하여 통신 오버헤드를 감소시킨 스토리지 장치 |
WO2021126217A1 (en) | 2019-12-19 | 2021-06-24 | Google Llc | Resource management unit for capturing operating system configuration states and memory management |
WO2021126216A1 (en) | 2019-12-19 | 2021-06-24 | Google Llc | Resource management unit for capturing operating system configuration states and offloading tasks |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10105524A (ja) * | 1996-09-26 | 1998-04-24 | Sharp Corp | マルチプロセッサシステム |
JP2003296123A (ja) * | 2002-01-30 | 2003-10-17 | Matsushita Electric Ind Co Ltd | 電力制御情報を付与する命令変換装置及び命令変換方法、命令変換を実現するプログラム及び回路、変換された命令を実行するマイクロプロセッサ |
JP2008276740A (ja) * | 2007-01-26 | 2008-11-13 | Nvidia Corp | 並列スレッド・コンピューティングの仮想のアーキテクチャ及び命令セット |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619760B2 (ja) * | 1986-04-23 | 1994-03-16 | 日本電気株式会社 | 情報処理装置 |
US5742842A (en) * | 1992-01-28 | 1998-04-21 | Fujitsu Limited | Data processing apparatus for executing a vector operation under control of a master processor |
IT1260848B (it) * | 1993-06-11 | 1996-04-23 | Finmeccanica Spa | Sistema a multiprocessore |
CA2137488C (en) * | 1994-02-18 | 1998-09-29 | Richard I. Baum | Coexecuting method and means for performing parallel processing in conventional types of data processing systems |
US6058414A (en) * | 1998-01-07 | 2000-05-02 | International Business Machines Corporation | System and method for dynamic resource access in an asymmetric resource multiple processor computer system |
US7076774B2 (en) * | 2002-09-10 | 2006-07-11 | Microsoft Corporation | Infrastructure for generating a downloadable, secure runtime binary image for a secondary processor |
US7865485B2 (en) * | 2003-09-23 | 2011-01-04 | Emc Corporation | Multi-threaded write interface and methods for increasing the single file read and write throughput of a file server |
US7321979B2 (en) * | 2004-01-22 | 2008-01-22 | International Business Machines Corporation | Method and apparatus to change the operating frequency of system core logic to maximize system memory bandwidth |
GB0407384D0 (en) * | 2004-03-31 | 2004-05-05 | Ignios Ltd | Resource management in a multicore processor |
US8122230B2 (en) * | 2007-12-28 | 2012-02-21 | Intel Corporation | Using a processor identification instruction to provide multi-level processor topology information |
US20110113221A1 (en) * | 2008-08-18 | 2011-05-12 | Telefonaktiebolaget L M Ericsson (Publ) | Data Sharing in Chip Multi-Processor Systems |
-
2011
- 2011-09-22 US US13/239,977 patent/US20120096292A1/en not_active Abandoned
- 2011-09-28 CN CN2011800497413A patent/CN103154892A/zh active Pending
- 2011-09-28 JP JP2013533059A patent/JP2013541101A/ja active Pending
- 2011-09-28 EP EP11831871.6A patent/EP2628078A1/en not_active Withdrawn
- 2011-09-28 KR KR1020137012293A patent/KR20140032943A/ko not_active Application Discontinuation
- 2011-09-28 WO PCT/CA2011/001087 patent/WO2012048402A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10105524A (ja) * | 1996-09-26 | 1998-04-24 | Sharp Corp | マルチプロセッサシステム |
JP2003296123A (ja) * | 2002-01-30 | 2003-10-17 | Matsushita Electric Ind Co Ltd | 電力制御情報を付与する命令変換装置及び命令変換方法、命令変換を実現するプログラム及び回路、変換された命令を実行するマイクロプロセッサ |
JP2008276740A (ja) * | 2007-01-26 | 2008-11-13 | Nvidia Corp | 並列スレッド・コンピューティングの仮想のアーキテクチャ及び命令セット |
Also Published As
Publication number | Publication date |
---|---|
WO2012048402A1 (en) | 2012-04-19 |
EP2628078A1 (en) | 2013-08-21 |
US20120096292A1 (en) | 2012-04-19 |
CN103154892A (zh) | 2013-06-12 |
KR20140032943A (ko) | 2014-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2013541101A (ja) | マルチレベル処理のための方法、システム、および装置 | |
Maass et al. | Mosaic: Processing a trillion-edge graph on a single machine | |
CN108027804B (zh) | 片上原子事务引擎 | |
CN102375800B (zh) | 用于机器视觉算法的多处理器片上系统 | |
US8732711B2 (en) | Two-level scheduler for multi-threaded processing | |
US8108659B1 (en) | Controlling access to memory resources shared among parallel synchronizable threads | |
US7685601B2 (en) | Methods and apparatus for segmented stack management in a processor system | |
US20080209156A1 (en) | Methods and apparatus for managing a shared memory in a multi-processor system | |
US20060179277A1 (en) | System and method for instruction line buffer holding a branch target buffer | |
US8930636B2 (en) | Relaxed coherency between different caches | |
US20060179278A1 (en) | Methods and apparatus for instruction set emulation | |
Peters et al. | Fast in‐place, comparison‐based sorting with CUDA: a study with bitonic sort | |
TW201820151A (zh) | 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行 | |
Xakimjon et al. | Definition of synchronization processes during parallel signal processing in multicore processors | |
Cieslewicz et al. | Parallel buffers for chip multiprocessors | |
Aboulenein et al. | Hardware support for synchronization in the Scalable Coherent Interface (SCI) | |
JP2020508534A (ja) | スーパースレッドプロセッサ、処理システム、および方法 | |
Brewer | A highly scalable system utilizing up to 128 PA-RISC processors | |
JP3789937B2 (ja) | ベクトルプロセッサのためのチャンク連鎖 | |
Al-Saber et al. | SemCache++ Semantics-Aware Caching for Efficient Multi-GPU Offloading | |
US20190004950A1 (en) | Memory node with cache for emulated shared memory computers | |
Singh | Communication Coroutines For Parallel Program Using DW26010 Many Core Processor | |
KR100334298B1 (ko) | 기억 소자 | |
Brodowicz et al. | A non von neumann continuum computer architecture for scalability beyond Moore's law | |
US20030097541A1 (en) | Latency tolerant processing equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140922 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20141010 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20150226 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20150428 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150925 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151110 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160412 |