JP2004326767A - マルチスレッド・プロセッサにおいて命令スレッドのインタリービングをランダム化するための方法および装置 - Google Patents
マルチスレッド・プロセッサにおいて命令スレッドのインタリービングをランダム化するための方法および装置 Download PDFInfo
- Publication number
- JP2004326767A JP2004326767A JP2004119604A JP2004119604A JP2004326767A JP 2004326767 A JP2004326767 A JP 2004326767A JP 2004119604 A JP2004119604 A JP 2004119604A JP 2004119604 A JP2004119604 A JP 2004119604A JP 2004326767 A JP2004326767 A JP 2004326767A
- Authority
- JP
- Japan
- Prior art keywords
- thread
- mask
- instruction
- priority
- signal
- 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012545 processing Methods 0.000 claims abstract description 41
- 230000008569 process Effects 0.000 claims abstract description 17
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000006880 cross-coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010187 selection method 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, 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
Abstract
【解決手段】プロセッサは優先規則に従って命令をインタリーブする。この優先規則は、それぞれのスレッドからの命令を選択し、その命令を、データ・プロセッサで処理するインタリーブされた命令ストリームに加える頻度を決定する。規則に従ってそれぞれのスレッドを選択する頻度は、命令スレッドに割り当てられた優先度に基づいて決定することができる。このインタリービング・プロセスにランダム化が挿入され、その結果、任意のクロック・サイクルでの命令スレッドの選択が、優先規則だけに基づいてなされるのではなしに、ランダムまたは擬似ランダム要素にも基づいて決定される。このランダム化は、さまざまな命令スレッドから命令を選択する順序が変更され、同時に、優先規則によって設定される全体的なスレッド選択の頻度(すなわちスレッドをどのくらい頻繁に選択するか)が維持されるような方法で、命令スレッド選択プロセスに挿入される。
【選択図】図2
Description
(a)第1の命令スレッドからの命令と少なくとも1つの追加の命令スレッドからの命令を、前記第1の命令スレッドと前記少なくとも1つの追加の命令スレッドの間の優先規則に従ってインタリーブする段階と、
(b)前記インタリービング段階にランダム化を挿入し、同時に前記優先規則を維持する段階と
を含む方法。
(2)命令をインタリーブする前記段階がサイクル単位で実施される、上記(1)に記載の方法。
(3)優先規則に従って命令をインタリーブする前記段階が、処理するスレッドを指示するスレッド選択信号を生成する段階を含む、上記(1)に記載の方法。
(4)ランダム化を挿入する前記段階が、前記スレッド選択信号をランダム化する段階を含む、上記(3)に記載の方法。
(5)前記スレッド選択信号をランダム化する前記段階が、
(a)前記第1の命令スレッドに関連づけられた第1のスレッド優先度信号および追加の命令スレッドにそれぞれ関連づけられたそれぞれの追加のスレッド優先度信号から、マスクを生成する段階と、
(b)乱数または擬似乱数を発生させる段階と、
(c)前記マスクと前記乱数または擬似乱数とを比較して、ランダム化されたマスクを生成する段階と
を含む、上記(4)に記載の方法。
(6)命令をインタリーブする前記段階が、
(a)前記マスクを反転させて反転されたマスクを生成する段階と、
(b)前記ランダム化されたマスクと前記反転されたマスクを比較する段階と
を含む、上記(5)に記載の方法。
(7)データ・プロセッサにおいて、処理する命令を複数の命令スレッドから選択する際に使用するスレッド選択出力を生成する方法であって、
(a)前記複数の命令スレッドに関連づけられ、前記複数の命令スレッドのそれぞれのスレッドの優先度を指示する優先度信号からマスクを生成する段階と、
(b)前記マスクと比較するのに適した乱数または擬似乱数を発生させる段階と、
(c)前記マスクと前記乱数または擬似乱数を比較してランダム化されたマスクを生成する段階と、
(d)前記ランダム化されたマスクから前記スレッド選択出力を生成する段階と
を含む方法。
(8)マスクを生成する前記段階が、第1の優先度信号を第2の優先度信号と比較する段階を含む、上記(7)に記載の方法。
(9)第1の優先度信号を第2の優先度信号と比較する前記段階の前に、前記第1の優先度信号および前記第2の優先度信号のうちの一方を反転させる段階をさらに含む、上記(8)に記載の方法。
(10)乱数または擬似乱数を発生させる前記段階が線形帰還シフト・レジスタを用いて実行される、上記(7)に記載の方法。
(11)マスクを生成する前記段階の前に前記優先度信号をビットごとに展開する段階をさらに含む、上記(7)に記載の方法。
(12)前記ランダム化されたマスクから前記スレッド選択出力を生成する前記段階がさらに、
(a)前記マスクを反転させて反転されたマスクを生成する段階と、
(b)前記ランダム化されたマスクと前記反転されたマスクを比較する段階と
を含む、上記(7)に記載の方法。
(13)前記ランダム化されたマスクと前記反転されたマスクの前記比較の結果を結合する段階をさらに含む、上記(12)に記載の方法。
(14)前記ランダム化されたマスクと前記反転されたマスクの前記比較の結果に、プロセッサのクロック・サイクル周波数で論理レベルが変化するトグル・ビットを結合する段階をさらに含む、上記(13)に記載の方法。
(15)同時マルチスレッド・プロセッサにおいて、処理する命令を選択する際に使用するスレッド選択出力を生成する回路であって、
(a)前記マルチスレッド・プロセッサ内の第1の命令スレッドのスレッド優先度を指示する第1の優先度信号、および前記マルチスレッド・プロセッサ内の追加の命令スレッドのスレッド優先度を指示する追加の優先度信号を受け取り、前記第1の優先度信号のマスクを生成するマスク論理と、
(b)前記マスクと比較するのに適した乱数または擬似乱数を発生させる乱数発生器と、
(c)前記マスク論理および前記乱数発生器に結合され、前記マスクと前記乱数または擬似乱数とを比較してランダム化されたマスクを生成する比較論理と、
(d)前記比較論理に結合され、前記ランダム化されたマスクから前記スレッド選択出力を生成する結合論理と
を含む回路。
(16)前記マスク論理が、前記第1の優先度信号を、前記追加の優先度信号の反転された値を表す反転された優先度信号と比較する優先度信号比較器を含む、上記(15)に記載の回路。
(17)前記マスク論理が、前記第1の優先度信号を展開して展開された第1の優先度信号を生成する第1のエキスパンダと、前記追加の優先度信号を展開して展開された追加の優先度信号を生成する第2のエキスパンダとを含む、上記(15)に記載の回路。
(18)前記結合論理が、
(a)反転されたマスクを生成するマスク・インバータと、
(b)前記ランダム化されたマスクと前記反転されたマスクを比較して比較出力を生成するマスク比較器と
を含む、上記(15)に記載の回路。
(19)前記結合論理が、前記比較出力のビットに論理AND演算を実行する結合AND装置を含む、上記(18)に記載の回路。
(20)トグル・ビットを発生させ、前記トグル・ビットを前記比較出力に追加するトグル・ビット発生器をさらに含み、前記トグル・ビットが、前記結合AND装置が実行する前記論理AND演算に含まれる、上記(19)に記載の回路。
(21)同時マルチスレッド・プロセッサにおいて、処理する命令を選択する際に使用するスレッド選択出力を生成する回路であって、
(a)インタリーブ規則執行出力を生成するインタリーブ規則執行構成要素と、
(b)前記インタリーブ規則執行出力を受け取り、前記同時マルチスレッド・プロセッサ内の複数の命令スレッド間のスレッド選択を制御するランダム化されたスレッド選択出力を生成するランダム化構成要素と
を含む回路。
101 第1の命令待ち行列
102 第2の命令待ち行列
103 第1のラッチ
104 第2のラッチ
105 選択マルチプレクサ
106 選択コントローラ
113 システム・バス
114 バス・インタフェース・ユニット
115 プロセッサ・バス
116 メイン・メモリ
117 不揮発性大容量記憶装置
118 命令キャッシュ/メモリ管理ユニット
119 データ・キャッシュ/メモリ管理ユニット
120 シーケンシャル・フェッチャ
121 分岐処理ユニット
123 命令解読ユニット
124 順序付けユニット
130 実行ユニット
140 実行ユニット
150 実行ユニット
152 保留信号経路
153 保留信号経路
154 スレッド選択制御経路
190 完了ユニット
205 インタリーブ規則執行構成要素
210 ランダム化構成要素
220 選択コントローラの入力
225 選択コントローラの入力
302 ラッチ
304 ラッチ
312 エキスパンダ
314 エキスパンダ
316 インバータ
318 インバータ
320 ANDゲート
322 ANDゲート
324 ANDゲート
326 ANDゲート
328 インバータ
330 インバータ
332 ORゲート
334 ORゲート
336 線形帰還シフト・レジスタ
337 トグル
338 インバータ
340 ANDゲート
342 ANDゲート
348 インバータ
350 インバータ
352 ORゲート
353 マルチプレクサ
355 マルチプレクサ
Claims (21)
- データ・プロセッサにおいて複数の命令スレッドを処理する方法であって、
(a)第1の命令スレッドからの命令と少なくとも1つの追加の命令スレッドからの命令を、前記第1の命令スレッドと前記少なくとも1つの追加の命令スレッドの間の優先規則に従ってインタリーブする段階と、
(b)前記インタリービング段階にランダム化を挿入し、同時に前記優先規則を維持する段階と
を含む方法。 - 命令をインタリーブする前記段階がサイクル単位で実施される、請求項1に記載の方法。
- 優先規則に従って命令をインタリーブする前記段階が、処理するスレッドを指示するスレッド選択信号を生成する段階を含む、請求項1に記載の方法。
- ランダム化を挿入する前記段階が、前記スレッド選択信号をランダム化する段階を含む、請求項3に記載の方法。
- 前記スレッド選択信号をランダム化する前記段階が、
(a)前記第1の命令スレッドに関連づけられた第1のスレッド優先度信号および追加の命令スレッドにそれぞれ関連づけられたそれぞれの追加のスレッド優先度信号から、マスクを生成する段階と、
(b)乱数または擬似乱数を発生させる段階と、
(c)前記マスクと前記乱数または擬似乱数とを比較して、ランダム化されたマスクを生成する段階と
を含む、請求項4に記載の方法。 - 命令をインタリーブする前記段階が、
(a)前記マスクを反転させて反転されたマスクを生成する段階と、
(b)前記ランダム化されたマスクと前記反転されたマスクを比較する段階と
を含む、請求項5に記載の方法。 - データ・プロセッサにおいて、処理する命令を複数の命令スレッドから選択する際に使用するスレッド選択出力を生成する方法であって、
(a)前記複数の命令スレッドに関連づけられ、前記複数の命令スレッドのそれぞれのスレッドの優先度を指示する優先度信号からマスクを生成する段階と、
(b)前記マスクと比較するのに適した乱数または擬似乱数を発生させる段階と、
(c)前記マスクと前記乱数または擬似乱数を比較してランダム化されたマスクを生成する段階と、
(d)前記ランダム化されたマスクから前記スレッド選択出力を生成する段階と
を含む方法。 - マスクを生成する前記段階が、第1の優先度信号を第2の優先度信号と比較する段階を含む、請求項7に記載の方法。
- 第1の優先度信号を第2の優先度信号と比較する前記段階の前に、前記第1の優先度信号および前記第2の優先度信号のうちの一方を反転させる段階をさらに含む、請求項8に記載の方法。
- 乱数または擬似乱数を発生させる前記段階が線形帰還シフト・レジスタを用いて実行される、請求項7に記載の方法。
- マスクを生成する前記段階の前に前記優先度信号をビットごとに展開する段階をさらに含む、請求項7に記載の方法。
- 前記ランダム化されたマスクから前記スレッド選択出力を生成する前記段階がさらに、
(a)前記マスクを反転させて反転されたマスクを生成する段階と、
(b)前記ランダム化されたマスクと前記反転されたマスクを比較する段階と
を含む、請求項7に記載の方法。 - 前記ランダム化されたマスクと前記反転されたマスクの前記比較の結果を結合する段階をさらに含む、請求項12に記載の方法。
- 前記ランダム化されたマスクと前記反転されたマスクの前記比較の結果に、プロセッサのクロック・サイクル周波数で論理レベルが変化するトグル・ビットを結合する段階をさらに含む、請求項13に記載の方法。
- 同時マルチスレッド・プロセッサにおいて、処理する命令を選択する際に使用するスレッド選択出力を生成する回路であって、
(a)前記マルチスレッド・プロセッサ内の第1の命令スレッドのスレッド優先度を指示する第1の優先度信号、および前記マルチスレッド・プロセッサ内の追加の命令スレッドのスレッド優先度を指示する追加の優先度信号を受け取り、前記第1の優先度信号のマスクを生成するマスク論理と、
(b)前記マスクと比較するのに適した乱数または擬似乱数を発生させる乱数発生器と、
(c)前記マスク論理および前記乱数発生器に結合され、前記マスクと前記乱数または擬似乱数とを比較してランダム化されたマスクを生成する比較論理と、
(d)前記比較論理に結合され、前記ランダム化されたマスクから前記スレッド選択出力を生成する結合論理と
を含む回路。 - 前記マスク論理が、前記第1の優先度信号を、前記追加の優先度信号の反転された値を表す反転された優先度信号と比較する優先度信号比較器を含む、請求項15に記載の回路。
- 前記マスク論理が、前記第1の優先度信号を展開して展開された第1の優先度信号を生成する第1のエキスパンダと、前記追加の優先度信号を展開して展開された追加の優先度信号を生成する第2のエキスパンダとを含む、請求項15に記載の回路。
- 前記結合論理が、
(a)反転されたマスクを生成するマスク・インバータと、
(b)前記ランダム化されたマスクと前記反転されたマスクを比較して比較出力を生成するマスク比較器と
を含む、請求項15に記載の回路。 - 前記結合論理が、前記比較出力のビットに論理AND演算を実行する結合AND装置を含む、請求項18に記載の回路。
- トグル・ビットを発生させ、前記トグル・ビットを前記比較出力に追加するトグル・ビット発生器をさらに含み、前記トグル・ビットが、前記結合AND装置が実行する前記論理AND演算に含まれる、請求項19に記載の回路。
- 同時マルチスレッド・プロセッサにおいて、処理する命令を選択する際に使用するスレッド選択出力を生成する回路であって、
(a)インタリーブ規則執行出力を生成するインタリーブ規則執行構成要素と、
(b)前記インタリーブ規則執行出力を受け取り、前記同時マルチスレッド・プロセッサ内の複数の命令スレッド間のスレッド選択を制御するランダム化されたスレッド選択出力を生成するランダム化構成要素と
を含む回路。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/424,533 US7401208B2 (en) | 2003-04-25 | 2003-04-25 | Method and apparatus for randomizing instruction thread interleaving in a multi-thread processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004326767A true JP2004326767A (ja) | 2004-11-18 |
JP4086809B2 JP4086809B2 (ja) | 2008-05-14 |
Family
ID=33299382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004119604A Expired - Fee Related JP4086809B2 (ja) | 2003-04-25 | 2004-04-14 | マルチスレッド・プロセッサにおいて命令スレッドのインタリービングをランダム化するための方法および装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7401208B2 (ja) |
JP (1) | JP4086809B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007110906A1 (ja) * | 2006-03-27 | 2007-10-04 | Hitachi, Ltd | データ処理装置 |
CN101493496B (zh) * | 2008-01-22 | 2012-09-19 | 致茂电子股份有限公司 | 可程控ic检测机台的程序规划方法 |
JP2015162115A (ja) * | 2014-02-27 | 2015-09-07 | 大日本印刷株式会社 | 情報処理装置、及び情報処理方法 |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7401208B2 (en) * | 2003-04-25 | 2008-07-15 | International Business Machines Corporation | Method and apparatus for randomizing instruction thread interleaving in a multi-thread processor |
KR100542099B1 (ko) * | 2003-06-30 | 2006-01-11 | 삼성전자주식회사 | 밴드폭 제어장치 및 방법 |
US20050047439A1 (en) * | 2003-08-26 | 2005-03-03 | Madajczak Tomasz Bogdan | System to process packets according to an assigned sequence number |
KR101061906B1 (ko) * | 2004-02-19 | 2011-09-02 | 삼성전자주식회사 | 전력분석공격에 안전한 기본 연산 장치 및 방법 |
DE102004009610B4 (de) * | 2004-02-27 | 2007-08-16 | Infineon Technologies Ag | Heterogener paralleler Multithread-Prozessor (HPMT) mit geteilten Kontexten |
US7913206B1 (en) * | 2004-09-16 | 2011-03-22 | Cadence Design Systems, Inc. | Method and mechanism for performing partitioning of DRC operations |
US7853777B2 (en) * | 2005-02-04 | 2010-12-14 | Mips Technologies, Inc. | Instruction/skid buffers in a multithreading microprocessor that store dispatched instructions to avoid re-fetching flushed instructions |
US7613904B2 (en) * | 2005-02-04 | 2009-11-03 | Mips Technologies, Inc. | Interfacing external thread prioritizing policy enforcing logic with customer modifiable register to processor internal scheduler |
US7657883B2 (en) * | 2005-02-04 | 2010-02-02 | Mips Technologies, Inc. | Instruction dispatch scheduler employing round-robin apparatus supporting multiple thread priorities for use in multithreading microprocessor |
US7631130B2 (en) * | 2005-02-04 | 2009-12-08 | Mips Technologies, Inc | Barrel-incrementer-based round-robin apparatus and instruction dispatch scheduler employing same for use in multithreading microprocessor |
US7490230B2 (en) | 2005-02-04 | 2009-02-10 | Mips Technologies, Inc. | Fetch director employing barrel-incrementer-based round-robin apparatus for use in multithreading microprocessor |
US7506140B2 (en) * | 2005-02-04 | 2009-03-17 | Mips Technologies, Inc. | Return data selector employing barrel-incrementer-based round-robin apparatus |
US7657891B2 (en) | 2005-02-04 | 2010-02-02 | Mips Technologies, Inc. | Multithreading microprocessor with optimized thread scheduler for increasing pipeline utilization efficiency |
US7681014B2 (en) * | 2005-02-04 | 2010-03-16 | Mips Technologies, Inc. | Multithreading instruction scheduler employing thread group priorities |
US7664936B2 (en) * | 2005-02-04 | 2010-02-16 | Mips Technologies, Inc. | Prioritizing thread selection partly based on stall likelihood providing status information of instruction operand register usage at pipeline stages |
US7752627B2 (en) | 2005-02-04 | 2010-07-06 | Mips Technologies, Inc. | Leaky-bucket thread scheduler in a multithreading microprocessor |
US7904852B1 (en) | 2005-09-12 | 2011-03-08 | Cadence Design Systems, Inc. | Method and system for implementing parallel processing of electronic design automation tools |
US8015565B2 (en) * | 2005-11-21 | 2011-09-06 | International Business Machines Corporation | Preventing livelocks in processor selection of load requests |
US8275942B2 (en) * | 2005-12-22 | 2012-09-25 | Intel Corporation | Performance prioritization in multi-threaded processors |
US8127082B2 (en) * | 2006-02-01 | 2012-02-28 | International Business Machines Corporation | Method and apparatus for allowing uninterrupted address translations while performing address translation cache invalidates and other cache operations |
WO2007099613A1 (ja) * | 2006-02-28 | 2007-09-07 | Fujitsu Limited | コマンド選択方法、装置、コマンド投入方法、及び装置 |
US8448096B1 (en) | 2006-06-30 | 2013-05-21 | Cadence Design Systems, Inc. | Method and system for parallel processing of IC design layouts |
US7904704B2 (en) * | 2006-08-14 | 2011-03-08 | Marvell World Trade Ltd. | Instruction dispatching method and apparatus |
US20100211955A1 (en) * | 2006-09-07 | 2010-08-19 | Cwi | Controlling 32/64-bit parallel thread execution within a microsoft operating system utility program |
WO2008031054A2 (en) | 2006-09-07 | 2008-03-13 | Black Lab Security Systems, Inc. | Creating and using a specific user unique id for security login authentication |
US7657856B1 (en) | 2006-09-12 | 2010-02-02 | Cadence Design Systems, Inc. | Method and system for parallel processing of IC design layouts |
US7760748B2 (en) * | 2006-09-16 | 2010-07-20 | Mips Technologies, Inc. | Transaction selector employing barrel-incrementer-based round-robin apparatus supporting dynamic priorities in multi-port switch |
US7773621B2 (en) | 2006-09-16 | 2010-08-10 | Mips Technologies, Inc. | Transaction selector employing round-robin apparatus supporting dynamic priorities in multi-port switch |
US7961745B2 (en) | 2006-09-16 | 2011-06-14 | Mips Technologies, Inc. | Bifurcated transaction selector supporting dynamic priorities in multi-port switch |
US7990989B2 (en) * | 2006-09-16 | 2011-08-02 | Mips Technologies, Inc. | Transaction selector employing transaction queue group priorities in multi-port switch |
US7707390B2 (en) * | 2007-04-25 | 2010-04-27 | Arm Limited | Instruction issue control within a multi-threaded in-order superscalar processor |
US7720921B2 (en) * | 2007-08-27 | 2010-05-18 | International Business Machines Corporation | System and method for soliciting and retrieving a complete email thread |
US7949812B1 (en) | 2007-09-07 | 2011-05-24 | Marvell International Ltd. | Priority arbitration of coexisting wireless topologies |
US7747803B2 (en) * | 2007-11-28 | 2010-06-29 | International Business Machines Corporation | Device, system, and method of handling delayed transactions |
JP5173711B2 (ja) | 2008-09-30 | 2013-04-03 | ルネサスエレクトロニクス株式会社 | マルチスレッドプロセッサ及びそのハードウェアスレッドのスケジュール方法 |
US8930907B2 (en) * | 2009-12-01 | 2015-01-06 | Microsoft Corporation | Concurrency software testing with probabilistic bounds on finding bugs |
US8533682B2 (en) | 2010-11-05 | 2013-09-10 | Microsoft Corporation | Amplification of dynamic checks through concurrency fuzzing |
CN102325281B (zh) * | 2011-07-18 | 2014-03-12 | 成都优博创技术有限公司 | 一种利用可编程逻辑单元对OLT光模块RSSI Trigger时序的处理装置和方法 |
JP5861354B2 (ja) | 2011-09-22 | 2016-02-16 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
US9904616B2 (en) | 2011-12-14 | 2018-02-27 | International Business Machines Corporation | Instruction output dependent on a random number-based selection or non-selection of a special command from a group of commands |
US9411642B2 (en) * | 2014-01-17 | 2016-08-09 | Nvidia Corporation | Using high priority thread to boost CPU clock rate |
EP3032416A1 (en) * | 2014-12-10 | 2016-06-15 | Gemalto SA | Method to execute a sensitive computation using multiple different and independent branches |
JPWO2021255926A1 (ja) * | 2020-06-19 | 2021-12-23 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4514803A (en) * | 1982-04-26 | 1985-04-30 | International Business Machines Corporation | Methods for partitioning mainframe instruction sets to implement microprocessor based emulation thereof |
US4642756A (en) * | 1985-03-15 | 1987-02-10 | S & H Computer Systems, Inc. | Method and apparatus for scheduling the execution of multiple processing tasks in a computer system |
US5644742A (en) * | 1995-02-14 | 1997-07-01 | Hal Computer Systems, Inc. | Processor structure and method for a time-out checkpoint |
EP0790557A2 (en) | 1996-02-14 | 1997-08-20 | Matsushita Electric Industrial Co., Ltd. | Task managemant apparatus |
JPH09282184A (ja) | 1996-02-14 | 1997-10-31 | Matsushita Electric Ind Co Ltd | 同優先度タスクの急増に伴う実行確率の変動を吸収することができるタスク管理装置 |
JP3760035B2 (ja) | 1996-08-27 | 2006-03-29 | 松下電器産業株式会社 | 複数の命令流を独立に処理し、命令流単位に処理性能を柔軟に制御するマルチスレッドプロセッサ |
US6073159A (en) * | 1996-12-31 | 2000-06-06 | Compaq Computer Corporation | Thread properties attribute vector based thread selection in multithreading processor |
US6061749A (en) * | 1997-04-30 | 2000-05-09 | Canon Kabushiki Kaisha | Transformation of a first dataword received from a FIFO into an input register and subsequent dataword from the FIFO into a normalized output dataword |
US6658447B2 (en) * | 1997-07-08 | 2003-12-02 | Intel Corporation | Priority based simultaneous multi-threading |
US6076157A (en) * | 1997-10-23 | 2000-06-13 | International Business Machines Corporation | Method and apparatus to force a thread switch in a multithreaded processor |
US6105051A (en) * | 1997-10-23 | 2000-08-15 | International Business Machines Corporation | Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor |
US6567839B1 (en) * | 1997-10-23 | 2003-05-20 | International Business Machines Corporation | Thread switch control in a multithreaded processor system |
US6212544B1 (en) * | 1997-10-23 | 2001-04-03 | International Business Machines Corporation | Altering thread priorities in a multithreaded processor |
JP4048638B2 (ja) | 1998-04-27 | 2008-02-20 | ソニー株式会社 | スケジューリング装置及び方法並びに記録媒体 |
US6477562B2 (en) * | 1998-12-16 | 2002-11-05 | Clearwater Networks, Inc. | Prioritized instruction scheduling for multi-streaming processors |
GB9907280D0 (en) * | 1999-03-31 | 1999-05-26 | Philips Electronics Nv | A method of scheduling garbage collection |
US6535905B1 (en) * | 1999-04-29 | 2003-03-18 | Intel Corporation | Method and apparatus for thread switching within a multithreaded processor |
US6341347B1 (en) * | 1999-05-11 | 2002-01-22 | Sun Microsystems, Inc. | Thread switch logic in a multiple-thread processor |
CA2378088A1 (en) * | 1999-06-25 | 2001-01-04 | Massively Parallel Computing, Inc. | Massive collective network processing system and methods |
US6438671B1 (en) * | 1999-07-01 | 2002-08-20 | International Business Machines Corporation | Generating partition corresponding real address in partitioned mode supporting system |
US6542921B1 (en) * | 1999-07-08 | 2003-04-01 | Intel Corporation | Method and apparatus for controlling the processing priority between multiple threads in a multithreaded processor |
US7430670B1 (en) * | 1999-07-29 | 2008-09-30 | Intertrust Technologies Corp. | Software self-defense systems and methods |
AU2597401A (en) * | 1999-12-22 | 2001-07-03 | Ubicom, Inc. | System and method for instruction level multithreading in an embedded processor using zero-time context switching |
US7120783B2 (en) * | 1999-12-22 | 2006-10-10 | Ubicom, Inc. | System and method for reading and writing a thread state in a multithreaded central processing unit |
US7007153B1 (en) | 2000-03-30 | 2006-02-28 | Agere Systems Inc. | Method and apparatus for allocating functional units in a multithreaded VLIW processor |
US20020103990A1 (en) * | 2001-02-01 | 2002-08-01 | Hanan Potash | Programmed load precession machine |
GB2372847B (en) | 2001-02-19 | 2004-12-29 | Imagination Tech Ltd | Control of priority and instruction rates on a multithreaded processor |
JP3796124B2 (ja) * | 2001-03-07 | 2006-07-12 | 株式会社ルネサステクノロジ | スレッド間優先度可変プロセッサ |
US7210134B1 (en) * | 2001-09-06 | 2007-04-24 | Sonic Solutions | Deterring reverse-engineering of software systems by randomizing the siting of stack-based data |
KR100860660B1 (ko) * | 2002-01-09 | 2008-09-26 | 삼성전자주식회사 | 통신시스템의 인터리빙 장치 및 방법 |
US7363625B2 (en) * | 2003-04-24 | 2008-04-22 | International Business Machines Corporation | Method for changing a thread priority in a simultaneous multithread processor |
US7401208B2 (en) * | 2003-04-25 | 2008-07-15 | International Business Machines Corporation | Method and apparatus for randomizing instruction thread interleaving in a multi-thread processor |
-
2003
- 2003-04-25 US US10/424,533 patent/US7401208B2/en active Active
-
2004
- 2004-04-14 JP JP2004119604A patent/JP4086809B2/ja not_active Expired - Fee Related
-
2008
- 2008-04-30 US US12/112,859 patent/US8145885B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007110906A1 (ja) * | 2006-03-27 | 2007-10-04 | Hitachi, Ltd | データ処理装置 |
JP5024899B2 (ja) * | 2006-03-27 | 2012-09-12 | 株式会社日立製作所 | データ処理装置 |
CN101493496B (zh) * | 2008-01-22 | 2012-09-19 | 致茂电子股份有限公司 | 可程控ic检测机台的程序规划方法 |
JP2015162115A (ja) * | 2014-02-27 | 2015-09-07 | 大日本印刷株式会社 | 情報処理装置、及び情報処理方法 |
Also Published As
Publication number | Publication date |
---|---|
US20040215947A1 (en) | 2004-10-28 |
US7401208B2 (en) | 2008-07-15 |
JP4086809B2 (ja) | 2008-05-14 |
US8145885B2 (en) | 2012-03-27 |
US20080209426A1 (en) | 2008-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4086809B2 (ja) | マルチスレッド・プロセッサにおいて命令スレッドのインタリービングをランダム化するための方法および装置 | |
JP4179555B2 (ja) | マルチスレッド・プロセッサにおいてスレッドの優先度を調整するための装置および方法 | |
JP6526609B2 (ja) | プロセッサ | |
JP3547482B2 (ja) | 情報処理装置 | |
KR100227276B1 (ko) | 단일 사이클 마이크로 명령을 이용한 명령 스케줄링 방법 및 프로세서 | |
JP3781419B2 (ja) | パイプライン方式のプロセッサにおける例外処理 | |
TWI525537B (zh) | 具有為向量衝突指令與置換指令所共享的全連接互連的處理器 | |
US20080162904A1 (en) | Apparatus for selecting an instruction thread for processing in a multi-thread processor | |
US8635621B2 (en) | Method and apparatus to implement software to hardware thread priority | |
JP2010532063A (ja) | 条件命令を無条件命令および選択命令へと拡張する方法およびシステム | |
KR20160118329A (ko) | 결정론적 및 기회적 멀티스레딩 | |
May | The xmos xs1 architecture | |
TW201741872A (zh) | 根據指令類型來配置負載及儲存緩衝器的處理器、方法及系統 | |
US20150074353A1 (en) | System and Method for an Asynchronous Processor with Multiple Threading | |
US20040034759A1 (en) | Multi-threaded pipeline with context issue rules | |
JP2009099097A (ja) | データ処理装置 | |
US10732976B2 (en) | Integrated circuit processor and method of operating the integrated circuit processor in different modes of differing thread counts | |
US20060064448A1 (en) | Continuous multi-buffering random number generator | |
US20210124607A1 (en) | User mode event handling | |
JP2007233457A (ja) | リオーダリング装置 | |
US6609191B1 (en) | Method and apparatus for speculative microinstruction pairing | |
Moisuc et al. | Hardware event treating in nMPRA | |
US10133578B2 (en) | System and method for an asynchronous processor with heterogeneous processors | |
US20230244491A1 (en) | Multi-threading microprocessor with a time counter for statically dispatching instructions | |
May | XMOS XS1 Architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061010 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20061222 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061222 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20061222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20061222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070713 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070927 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070927 |
|
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: 20080214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080214 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20080214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080219 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110228 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110228 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110228 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120229 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |