JP2004326765A - マルチスレッド・プロセッサにおいて処理する命令スレッドを選択するための方法および装置 - Google Patents
マルチスレッド・プロセッサにおいて処理する命令スレッドを選択するための方法および装置 Download PDFInfo
- Publication number
- JP2004326765A JP2004326765A JP2004119571A JP2004119571A JP2004326765A JP 2004326765 A JP2004326765 A JP 2004326765A JP 2004119571 A JP2004119571 A JP 2004119571A JP 2004119571 A JP2004119571 A JP 2004119571A JP 2004326765 A JP2004326765 A JP 2004326765A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- thread
- signal
- selection signal
- threads
- 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 52
- 238000012545 processing Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 15
- 230000000295 complement effect Effects 0.000 claims description 5
- 239000000725 suspension Substances 0.000 claims description 2
- 230000008859 change Effects 0.000 abstract description 13
- 230000004048 modification Effects 0.000 description 15
- 238000012986 modification Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 238000013468 resource allocation 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
【解決手段】プロセッサ・クロック・サイクルごとに、インタリーブ規則執行構成要素が、インタリーブされた命令ストリームに命令を渡す特定の1つの命令スレッドを指示する少なくとも1つの基準命令スレッド選択信号を生成する。スレッド選択の変更は、基準スレッド選択信号と、さまざまなプロセッサ要素内の1つまたは複数の条件または事象に由来するフィードバック信号とに基づいて最終スレッド選択信号を生成するインタリーブ変更構成要素によって提供される。この最終スレッド選択信号は、インタリーブされた命令ストリームに命令を渡す命令スレッドとして、基準スレッド選択信号が指示した命令スレッドと同じ命令スレッドを指示し、または別の命令スレッドを指示することができる。
【選択図】図2
Description
ノード215 ノード232 ノード234 ノード253
(1) 0 0 0 0
(2) 0 0 1 0
(3) 0 1 0 1
(4) 0 1 1 0
(5) 1 0 0 1
(6) 1 0 1 0
(7) 1 1 0 1
(8) 1 1 1 1
表1
(a)前記いくつかの命令スレッドの中の処理する第1の命令スレッドを指示する基準スレッド選択信号を、命令インタリーブ執行規則に少なくとも部分的に基づいて生成する段階と、
(b)前記いくつかの命令スレッドに含まれる特定の命令スレッドを指示する最終スレッド選択信号を、前記基準スレッド選択信号と前記いくつかの命令スレッドに含まれる1つの前記命令スレッドに関連付けられたフィードバック信号とに基づいて生成する段階と、
(c)インタリーブされた命令ストリームに命令をインタリーブするために前記いくつかの命令スレッドのうちの1つの命令スレッドを選択する選択に、前記最終スレッド選択信号を適用する段階と
を含む方法。
(2)(a)前記いくつかの命令スレッドの中の処理する追加の命令スレッドを指示する追加の基準スレッド選択信号を、前記命令インタリーブ執行規則に少なくとも部分的に基づいて生成する段階と、
(b)前記いくつかの命令スレッドに含まれるそれぞれの命令スレッドを指示する追加の最終スレッド選択信号を、前記追加の基準スレッド選択信号と前記いくつかの命令スレッドに含まれる1つの前記命令スレッドに関連付けられた追加のフィードバック信号とに基づいて生成する段階と
をさらに含む、上記(1)に記載の方法。
(3)前記最終スレッド選択信号と前記追加のスレッド選択信号を結合してスレッド選択MUX制御信号を生成する段階をさらに含む、上記(2)に記載の方法。
(4)前記追加の基準スレッド選択信号が前記基準スレッド選択信号の2進補数である、上記(2)に記載の方法。
(5)(a)前記最終スレッド選択信号を、前記いくつかの命令スレッドに含まれる第1の命令スレッドに関連付けられた保留入力に適用する段階と、
(b)前記追加の最終スレッド選択信号を、前記いくつかの命令スレッドに含まれる追加の命令スレッドに関連付けられた保留入力に適用する段階と
をさらに含む、上記(2)に記載の方法。
(6)前記フィードバック信号が前記第1の命令スレッドに関連付けられている、上記(1)に記載の方法。
(7)前記いくつかの命令スレッドが異なる処理優先度を有するときに前記フィードバック信号を無効にする段階をさらに含む、上記(1)に記載の方法。
(8)同時マルチスレッディング・プロセッサにおけるいくつかの命令スレッド間の命令のサイクル単位のインタリービングを制御する方法であって、
(a)命令インタリーブ執行規則に少なくとも部分的に基づく基準スレッド選択信号を受け取る段階であって、前記基準スレッド選択信号が、前記いくつかの命令スレッドに含まれる処理のために選択された第1の命令スレッドを指示する段階と、
(b)前記いくつかの命令スレッドに含まれる1つの前記命令スレッドに関連付けられたフィードバック信号を命令処理要素から受け取る段階と、
(c)前記いくつかの命令スレッドに含まれる特定の命令スレッドを指示する最終スレッド選択信号を、前記基準スレッド選択信号および前記フィードバック信号に基づいて生成する段階と、
(d)インタリーブされた命令ストリームに命令をインタリーブするために1つの前記命令スレッドを選択する選択に、前記最終スレッド選択信号を適用する段階と
を含む方法。
(9)(a)前記命令インタリーブ執行規則に少なくとも部分的に基づく追加の基準スレッド選択信号を受け取る段階であって、前記追加の基準スレッド選択信号が、前記いくつかの命令スレッドに含まれる処理のために選択された追加の命令スレッドを指示する段階と、
(b)前記いくつかの命令スレッドに含まれる1つの前記命令スレッドに関連付けられた追加のフィードバック信号を命令処理要素から受け取る段階と、
(c)前記いくつかの命令スレッドに含まれるそれぞれの命令スレッドを指示する追加の最終スレッド選択信号を、前記基準スレッド選択信号および前記フィードバック信号に基づいて生成する段階と
をさらに含む、上記(8)に記載の方法。
(10)前記最終スレッド選択信号と前記追加の最終スレッド選択信号を結合してスレッド選択MUX制御信号を生成する段階をさらに含む、上記(9)に記載の方法。
(11)前記追加の基準スレッド選択信号が前記基準スレッド選択信号の2進補数である、上記(9)に記載の方法。
(12)(a)前記最終スレッド選択信号を、前記いくつかの命令スレッドに含まれる第1の命令スレッドに関連付けられた保留入力に適用する段階と、
(b)前記追加の最終スレッド選択信号を、前記いくつかの命令スレッドに含まれる追加の命令スレッドに関連付けられた保留入力に適用する段階と
をさらに含む、上記(9)に記載の方法。
(13)前記フィードバック信号が前記第1の命令スレッドに関連付けられている、上記(8)に記載の方法。
(14)前記いくつかの命令スレッドが異なる処理優先度を有するときに前記フィードバック信号を無効にする段階をさらに含む、上記(8)に記載の方法。
(15)同時マルチスレッディング・プロセッサにおけるいくつかの命令スレッド間の命令のサイクル単位のインタリービングを制御する回路であって、
(a)前記いくつかの命令スレッドの中の第1の命令スレッドを指示する第1のスレッド選択信号を受け取るように接続された第1の選択入力と、
(b)前記いくつかの命令スレッドに含まれる1つの前記命令スレッドに関連付けられたプロセッサ要素フィードバック信号を受け取るように接続されたフィードバック入力と、
(c)前記基準スレッド選択信号および前記フィードバック信号に基づいて最終スレッド選択信号を生成する変更構成要素と、
(d)インタリーブされた命令ストリームに命令をインタリーブするために前記いくつかの命令スレッドのうちの1つ命令スレッドを選択する選択に前記最終スレッド選択信号を適用する出力構成要素と
を含む回路。
(16)前記いくつかの命令スレッドの中の第2の命令スレッドを指示する第2の基準スレッド選択信号を受け取るように接続された第2の選択入力をさらに含む、上記(15)に記載の回路。
(17)(a)前記変更構成要素がさらに、前記第2のスレッド選択信号および第2のフィードバック信号に基づいて追加の最終スレッド選択信号を生成し、
(b)前記出力構成要素がさらに、インタリーブされた命令ストリームに命令をインタリーブするために前記いくつかの命令スレッドのうちの1つの命令スレッドを選択する選択に前記追加の最終スレッド選択信号を適用する、
上記(16)に記載の回路。
(18)(a)前記最終スレッド選択信号の状態に基づいて第1の命令スレッドを選択的に保留する第1のスレッド保留要素と、
(b)前記追加の最終スレッド選択信号の状態に基づいて第2の命令スレッドを選択的に保留する第2のスレッド保留要素と
をさらに含む、上記(17)に記載の回路。
(19)前記第1のフィードバック信号と前記第2のフィードバック信号のそれぞれに対するフィードバック・オーバライド回路をさらに含み、前記フィードバック・オーバライド回路が、前記いくつかの命令スレッドが異なる処理優先度を有するときにそれぞれの前記フィードバック信号を無効にする、上記(17)に記載の回路。
(20)前記いくつかの命令スレッドが異なる処理優先度を有するときに前記第1のフィードバック信号を無効にする第1のフィードバック・オーバライド回路をさらに含む、上記(15)に記載の回路。
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 完了ユニット
203 インタリーブ規則執行構成要素
205 変更構成要素
211 ANDゲート
213 ANDゲート
215 基準スレッド選択信号
217 基準スレッド選択信号
219 フィードバック入力経路
221 フィードバック入力経路
225 出力構成要素
229 ANDゲート
229a ANDゲート
230 ANDゲート
230a ANDゲート
231 ORゲート
233 ORゲート
237 ANDゲート
237a ANDゲート
241 インバータ
241a インバータ
243 インバータ
243a インバータ
251 ORゲート
251a ORゲート
253 最終スレッド選択信号
255 最終スレッド選択信号
264 フィードバック・オーバライド制御構成要素
403 ANDゲート
407 ANDゲート
411 ORゲート
417 インバータ
Claims (20)
- 同時マルチスレッディング・プロセッサにおけるいくつかの命令スレッド間の命令のサイクル単位のインタリービングを制御する方法であって、
(a)前記いくつかの命令スレッドの中の処理する第1の命令スレッドを指示する基準スレッド選択信号を、命令インタリーブ執行規則に少なくとも部分的に基づいて生成する段階と、
(b)前記いくつかの命令スレッドに含まれる特定の命令スレッドを指示する最終スレッド選択信号を、前記基準スレッド選択信号と前記いくつかの命令スレッドに含まれる1つの前記命令スレッドに関連付けられたフィードバック信号とに基づいて生成する段階と、
(c)インタリーブされた命令ストリームに命令をインタリーブするために前記いくつかの命令スレッドのうちの1つの命令スレッドを選択する選択に、前記最終スレッド選択信号を適用する段階と
を含む方法。 - (a)前記いくつかの命令スレッドの中の処理する追加の命令スレッドを指示する追加の基準スレッド選択信号を、前記命令インタリーブ執行規則に少なくとも部分的に基づいて生成する段階と、
(b)前記いくつかの命令スレッドに含まれるそれぞれの命令スレッドを指示する追加の最終スレッド選択信号を、前記追加の基準スレッド選択信号と前記いくつかの命令スレッドに含まれる1つの前記命令スレッドに関連付けられた追加のフィードバック信号とに基づいて生成する段階と
をさらに含む、請求項1に記載の方法。 - 前記最終スレッド選択信号と前記追加のスレッド選択信号を結合してスレッド選択MUX制御信号を生成する段階をさらに含む、請求項2に記載の方法。
- 前記追加の基準スレッド選択信号が前記基準スレッド選択信号の2進補数である、請求項2に記載の方法。
- (a)前記最終スレッド選択信号を、前記いくつかの命令スレッドに含まれる第1の命令スレッドに関連付けられた保留入力に適用する段階と、
(b)前記追加の最終スレッド選択信号を、前記いくつかの命令スレッドに含まれる追加の命令スレッドに関連付けられた保留入力に適用する段階と
をさらに含む、請求項2に記載の方法。 - 前記フィードバック信号が前記第1の命令スレッドに関連付けられている、請求項1に記載の方法。
- 前記いくつかの命令スレッドが異なる処理優先度を有するときに前記フィードバック信号を無効にする段階をさらに含む、請求項1に記載の方法。
- 同時マルチスレッディング・プロセッサにおけるいくつかの命令スレッド間の命令のサイクル単位のインタリービングを制御する方法であって、
(a)命令インタリーブ執行規則に少なくとも部分的に基づく基準スレッド選択信号を受け取る段階であって、前記基準スレッド選択信号が、前記いくつかの命令スレッドに含まれる処理のために選択された第1の命令スレッドを指示する段階と、
(b)前記いくつかの命令スレッドに含まれる1つの前記命令スレッドに関連付けられたフィードバック信号を命令処理要素から受け取る段階と、
(c)前記いくつかの命令スレッドに含まれる特定の命令スレッドを指示する最終スレッド選択信号を、前記基準スレッド選択信号および前記フィードバック信号に基づいて生成する段階と、
(d)インタリーブされた命令ストリームに命令をインタリーブするために1つの前記命令スレッドを選択する選択に、前記最終スレッド選択信号を適用する段階と
を含む方法。 - (a)前記命令インタリーブ執行規則に少なくとも部分的に基づく追加の基準スレッド選択信号を受け取る段階であって、前記追加の基準スレッド選択信号が、前記いくつかの命令スレッドに含まれる処理のために選択された追加の命令スレッドを指示する段階と、
(b)前記いくつかの命令スレッドに含まれる1つの前記命令スレッドに関連付けられた追加のフィードバック信号を命令処理要素から受け取る段階と、
(c)前記いくつかの命令スレッドに含まれるそれぞれの命令スレッドを指示する追加の最終スレッド選択信号を、前記基準スレッド選択信号および前記フィードバック信号に基づいて生成する段階と
をさらに含む、請求項8に記載の方法。 - 前記最終スレッド選択信号と前記追加の最終スレッド選択信号を結合してスレッド選択MUX制御信号を生成する段階をさらに含む、請求項9に記載の方法。
- 前記追加の基準スレッド選択信号が前記基準スレッド選択信号の2進補数である、請求項9に記載の方法。
- (a)前記最終スレッド選択信号を、前記いくつかの命令スレッドに含まれる第1の命令スレッドに関連付けられた保留入力に適用する段階と、
(b)前記追加の最終スレッド選択信号を、前記いくつかの命令スレッドに含まれる追加の命令スレッドに関連付けられた保留入力に適用する段階と
をさらに含む、請求項9に記載の方法。 - 前記フィードバック信号が前記第1の命令スレッドに関連付けられている、請求項8に記載の方法。
- 前記いくつかの命令スレッドが異なる処理優先度を有するときに前記フィードバック信号を無効にする段階をさらに含む、請求項8に記載の方法。
- 同時マルチスレッディング・プロセッサにおけるいくつかの命令スレッド間の命令のサイクル単位のインタリービングを制御する回路であって、
(a)前記いくつかの命令スレッドの中の第1の命令スレッドを指示する第1のスレッド選択信号を受け取るように接続された第1の選択入力と、
(b)前記いくつかの命令スレッドに含まれる1つの前記命令スレッドに関連付けられたプロセッサ要素フィードバック信号を受け取るように接続されたフィードバック入力と、
(c)前記基準スレッド選択信号および前記フィードバック信号に基づいて最終スレッド選択信号を生成する変更構成要素と、
(d)インタリーブされた命令ストリームに命令をインタリーブするために前記いくつかの命令スレッドのうちの1つ命令スレッドを選択する選択に前記最終スレッド選択信号を適用する出力構成要素と
を含む回路。 - 前記いくつかの命令スレッドの中の第2の命令スレッドを指示する第2の基準スレッド選択信号を受け取るように接続された第2の選択入力をさらに含む、請求項15に記載の回路。
- (a)前記変更構成要素がさらに、前記第2のスレッド選択信号および第2のフィードバック信号に基づいて追加の最終スレッド選択信号を生成し、
(b)前記出力構成要素がさらに、インタリーブされた命令ストリームに命令をインタリーブするために前記いくつかの命令スレッドのうちの1つの命令スレッドを選択する選択に前記追加の最終スレッド選択信号を適用する、
請求項16に記載の回路。 - (a)前記最終スレッド選択信号の状態に基づいて第1の命令スレッドを選択的に保留する第1のスレッド保留要素と、
(b)前記追加の最終スレッド選択信号の状態に基づいて第2の命令スレッドを選択的に保留する第2のスレッド保留要素と
をさらに含む、請求項17に記載の回路。 - 前記第1のフィードバック信号と前記第2のフィードバック信号のそれぞれに対するフィードバック・オーバライド回路をさらに含み、前記フィードバック・オーバライド回路が、前記いくつかの命令スレッドが異なる処理優先度を有するときにそれぞれの前記フィードバック信号を無効にする、請求項17に記載の回路。
- 前記いくつかの命令スレッドが異なる処理優先度を有するときに前記第1のフィードバック信号を無効にする第1のフィードバック・オーバライド回路をさらに含む、請求項15に記載の回路。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/424,530 US7360062B2 (en) | 2003-04-25 | 2003-04-25 | Method and apparatus for selecting an instruction thread for processing in a multi-thread processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004326765A true JP2004326765A (ja) | 2004-11-18 |
JP4086808B2 JP4086808B2 (ja) | 2008-05-14 |
Family
ID=33299381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004119571A Expired - Fee Related JP4086808B2 (ja) | 2003-04-25 | 2004-04-14 | マルチスレッド・プロセッサにおいて処理する命令スレッドを選択するための方法および装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7360062B2 (ja) |
JP (1) | JP4086808B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007058331A (ja) * | 2005-08-22 | 2007-03-08 | Canon Inc | プロセッサシステム及びマルチスレッドプロセッサ |
US8001362B2 (en) | 2007-06-20 | 2011-08-16 | Fujitsu Limited | Processing unit |
JP2012234519A (ja) * | 2011-04-05 | 2012-11-29 | Arm Ltd | マルチスレッド処理のためのスレッド選択 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5043560B2 (ja) * | 2007-08-24 | 2012-10-10 | パナソニック株式会社 | プログラム実行制御装置 |
US7797658B2 (en) * | 2007-10-22 | 2010-09-14 | Oracle America, Inc. | Multithreaded static timing analysis |
US8260990B2 (en) * | 2007-11-19 | 2012-09-04 | Qualcomm Incorporated | Selective preclusion of a bus access request |
JP2010010296A (ja) | 2008-06-25 | 2010-01-14 | Ricoh Co Ltd | 有機トランジスタアレイ及び表示装置 |
US8689222B2 (en) * | 2008-10-30 | 2014-04-01 | International Business Machines Corporation | Controlling priority of multi-threaded hardware resources by system calls |
KR101359717B1 (ko) * | 2010-11-08 | 2014-02-07 | 한국전자통신연구원 | 에너지 타일 프로세서 |
JP5861354B2 (ja) | 2011-09-22 | 2016-02-16 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
US9390033B2 (en) | 2013-11-13 | 2016-07-12 | Sandisk Technologies Llc | Method and system for communicating with non-volatile memory via multiple data paths |
US9430411B2 (en) | 2013-11-13 | 2016-08-30 | Sandisk Technologies Llc | Method and system for communicating with non-volatile memory |
US9377968B2 (en) | 2013-11-13 | 2016-06-28 | Sandisk Technologies Llc | Method and system for using templates to communicate with non-volatile memory |
US9804846B2 (en) | 2014-03-27 | 2017-10-31 | International Business Machines Corporation | Thread context preservation in a multithreading computer system |
US9594660B2 (en) | 2014-03-27 | 2017-03-14 | International Business Machines Corporation | Multithreading computer system and program product for executing a query instruction for idle time accumulation among cores |
US9921848B2 (en) | 2014-03-27 | 2018-03-20 | International Business Machines Corporation | Address expansion and contraction in a multithreading computer system |
US9417876B2 (en) | 2014-03-27 | 2016-08-16 | International Business Machines Corporation | Thread context restoration in a multithreading computer system |
US9354883B2 (en) * | 2014-03-27 | 2016-05-31 | International Business Machines Corporation | Dynamic enablement of multithreading |
US10102004B2 (en) | 2014-03-27 | 2018-10-16 | International Business Machines Corporation | Hardware counters to track utilization in a multithreading computer system |
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 |
US5649136A (en) * | 1995-02-14 | 1997-07-15 | Hal Computer Systems, Inc. | Processor structure and method for maintaining and restoring precise state at any instruction boundary |
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 |
US6259456B1 (en) * | 1997-04-30 | 2001-07-10 | Canon Kabushiki Kaisha | Data normalization techniques |
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 |
US6212544B1 (en) * | 1997-10-23 | 2001-04-03 | International Business Machines Corporation | Altering thread priorities in a multithreaded processor |
US6567839B1 (en) * | 1997-10-23 | 2003-05-20 | International Business Machines Corporation | Thread switch control in a multithreaded processor system |
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 |
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 |
JP3654048B2 (ja) * | 1999-05-20 | 2005-06-02 | 日産自動車株式会社 | ハイブリッド車両の駆動制御装置 |
WO2001001219A2 (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 |
EP1247195A4 (en) * | 1999-12-22 | 2005-01-05 | Ubicom Inc | SYSTEM AND METHOD FOR MULTITHREADING WORKING ON COMMAND LEVEL IN AN EMBEDDED PROCESSOR WITH 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 |
-
2003
- 2003-04-25 US US10/424,530 patent/US7360062B2/en not_active Expired - Fee Related
-
2004
- 2004-04-14 JP JP2004119571A patent/JP4086808B2/ja not_active Expired - Fee Related
-
2008
- 2008-03-13 US US12/048,171 patent/US20080162904A1/en not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007058331A (ja) * | 2005-08-22 | 2007-03-08 | Canon Inc | プロセッサシステム及びマルチスレッドプロセッサ |
JP4574493B2 (ja) * | 2005-08-22 | 2010-11-04 | キヤノン株式会社 | プロセッサシステム及びマルチスレッドプロセッサ |
US8001362B2 (en) | 2007-06-20 | 2011-08-16 | Fujitsu Limited | Processing unit |
JP2012234519A (ja) * | 2011-04-05 | 2012-11-29 | Arm Ltd | マルチスレッド処理のためのスレッド選択 |
Also Published As
Publication number | Publication date |
---|---|
US20080162904A1 (en) | 2008-07-03 |
US20040215946A1 (en) | 2004-10-28 |
US7360062B2 (en) | 2008-04-15 |
JP4086808B2 (ja) | 2008-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4179555B2 (ja) | マルチスレッド・プロセッサにおいてスレッドの優先度を調整するための装置および方法 | |
US7401208B2 (en) | Method and apparatus for randomizing instruction thread interleaving in a multi-thread processor | |
JP4086808B2 (ja) | マルチスレッド・プロセッサにおいて処理する命令スレッドを選択するための方法および装置 | |
US7694304B2 (en) | Mechanisms for dynamic configuration of virtual processor resources | |
TWI628594B (zh) | 用戶等級分叉及會合處理器、方法、系統及指令 | |
US7873816B2 (en) | Pre-loading context states by inactive hardware thread in advance of context switch | |
US9043581B2 (en) | Storing in other queue when reservation station instruction queue reserved for immediate source operand instruction execution unit is full | |
CN108885586B (zh) | 用于以有保证的完成将数据取出到所指示的高速缓存层级的处理器、方法、系统和指令 | |
KR100745904B1 (ko) | 동시적 멀티스레드 프로세서에서 파이프라인 길이를변경하기 위한 방법 및 회로 | |
US8095932B2 (en) | Providing quality of service via thread priority in a hyper-threaded microprocessor | |
US20200310815A1 (en) | System, Apparatus And Method For Program Order Queue (POQ) To Manage Data Dependencies In Processor Having Multiple Instruction Queues | |
US8635621B2 (en) | Method and apparatus to implement software to hardware thread priority | |
US20090138880A1 (en) | Method for organizing a multi-processor computer | |
WO2014105207A1 (en) | Processing core having shared front end unit | |
US20230244491A1 (en) | Multi-threading microprocessor with a time counter for statically dispatching instructions | |
WO2005022385A1 (en) | Mechanisms for dynamic configuration of virtual processor resources | |
Mische et al. | How to enhance a superscalar processor to provide hard real-time capable in-order smt | |
US20120194527A1 (en) | Method for Preempting Graphics Tasks to Accommodate Compute Tasks in an Accelerated Processing Device (APD) | |
JP2010061642A (ja) | スレッドのスケジューリングテクニック | |
US10133578B2 (en) | System and method for an asynchronous processor with heterogeneous processors | |
JPS5916071A (ja) | 並列処理システム | |
Rogers | Understanding Simultaneous Multithreading on z Systems | |
WO2003044688A2 (en) | Latency tolerant processing equipment |
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: A523 Effective date: 20061225 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20061225 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20061225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20061225 |
|
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: A523 Effective date: 20071001 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20071001 |
|
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
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: 20130228 Year of fee payment: 5 |
|
S202 | Request for registration of non-exclusive licence |
Free format text: JAPANESE INTERMEDIATE CODE: R315201 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130228 Year of fee payment: 5 |
|
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: 20130228 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140228 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |