JP2008513894A - スレッドライブロックユニット - Google Patents
スレッドライブロックユニット Download PDFInfo
- Publication number
- JP2008513894A JP2008513894A JP2007532620A JP2007532620A JP2008513894A JP 2008513894 A JP2008513894 A JP 2008513894A JP 2007532620 A JP2007532620 A JP 2007532620A JP 2007532620 A JP2007532620 A JP 2007532620A JP 2008513894 A JP2008513894 A JP 2008513894A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- thread
- logical processor
- live block
- logical
- 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 claims abstract description 54
- 235000003642 hunger Nutrition 0.000 claims abstract description 35
- 230000037351 starvation Effects 0.000 claims abstract description 33
- 230000009471 action Effects 0.000 claims description 58
- 230000004044 response Effects 0.000 claims description 20
- 239000003638 chemical reducing agent Substances 0.000 claims description 7
- 230000000694 effects Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 42
- 230000007704 transition Effects 0.000 description 41
- 239000000872 buffer Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000001514 detection method Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000012536 storage buffer Substances 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000000116 mitigating effect Effects 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000012207 thread-locking agent Substances 0.000 description 1
- 238000012546 transfer 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/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/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
- Power Sources (AREA)
Abstract
【選択図】なし
Description
a.論理プロセッサ150がオンコアキャッシュミスを受けているか、又は
b.論理プロセッサ150が空のROB464を有するが、高優先度(「HP」)ロックが別の論理プロセッサで進行中である
場合にアイドル状態502から入る(552)。
Claims (39)
- 第1の論理プロセッサ及び第2の論理プロセッサを備えるプロセッサコアと、
前記第1の論理プロセッサに結合される第1のスレッドライブロックユニットと、
前記第2の論理プロセッサに結合される第2のスレッドライブロックユニットであって、
なお、前記第1のライブロックユニットは、該第1のライブロックユニットによって実行に利用可能な命令の欠如に応答して該第2のライブロックユニットのストールを要求し、
アービトレータと
を備え、
前記第1のスレッドライブロックユニット、前記第2のスレッドライブロックユニット、及び前記アービトレータはさらに、前記第1の論理プロセッサと前記第2の論理プロセッサとに優先度を付与する、プロセッサ。 - 前記第1のスレッドライブロック検出器はさらに、前記第1の論理プロセッサが、第1のソフトウェアスレッドの命令実行中に前進できないか否かを判断し、
前記第2のスレッドライブロック検出器は、前記第2の論理プロセッサが、第2のソフトウェアスレッドの命令実行中に前進できないか否かを判断する、請求項1に記載のプロセッサ。 - 前記第1の論理プロセッサ及び前記第2の論理プロセッサに結合されるメモリライブロックユニットをさらに備える、請求項1に記載のプロセッサ。
- 前記メモリライブロックユニットはさらに、メモリライブロック回避アクションを開始する、請求項3に記載のプロセッサ。
- 前記アービトレータは、前記第1の論理プロセッサと前記第2の論理プロセッサとに優先度を付与して長待ち時間キャッシュミスを解決する、請求項1に記載のプロセッサ。
- 前記第1のライブロックユニット及び前記第2のライブロックユニットはさらに、前記メモリライブロックユニットに優先度を譲る、請求項3に記載のプロセッサ。
- 前記ライブロックユニットはさらに、実行に利用可能な命令の欠如に応答して飢餓回避アクションを開始する、請求項1に記載のプロセッサ。
- 前記第1のライブロックユニットはさらに、前記第1の論理プロセッサに関連する第1のソフトウェアスレッドに、前記利用可能な命令の欠如が示されるか否かを判断し、
前記第2のライブロックユニットはさらに、前記第2の論理プロセッサに関連する第2のソフトウェアスレッドに、前記利用可能な命令の欠如が示されるか否かを判断する、請求項6に記載のプロセッサ。 - 前記第1のライブロックユニットはさらに、前記第1の論理プロセッサが、前記第1のソフトウェアスレッドの命令実行中に前進できないとの判断に応答してアクティブになる、請求項2に記載のプロセッサ。
- 前記第2のライブロックユニットは、前記第1の論理プロセッサがアクティブである場合、該第1の論理プロセッサに優先度を譲る、請求項9に記載のプロセッサ。
- 前記第2のライブロックユニットはさらに、前記第2の論理プロセッサが、第2のソフトウェアスレッドの命令実行中に前進できないとの判断に応答してアクティブになる、請求項2に記載のプロセッサ。
- 前記第1のライブロックユニットは、前記第2の論理プロセッサがアクティブである場合、前記第1の論理プロセッサに優先度を譲る、請求項11に記載のプロセッサ。
- 前記第1のライブロックユニットは、前記第2の論理プロセッサにより実行される高優先度ロック動作中、該第2の論理プロセッサに優先度を譲る、請求項12に記載のプロセッサ。
- 前記プロセッサコアは、追加のライブロックユニットにそれぞれ結合される少なくとも1つの追加の論理プロセッサを備え、
前記少なくとも1つの追加のライブロックユニットは、前記第1のライブロックユニット、前記第2のライブロックユニット、及び前記アービトレータと共に、前記第1の論理プロセッサ、前記第2の論理プロセッサ、及び前記少なくとも1つの追加の論理プロセッサに優先度を付与する、請求項1に記載のプロセッサ。 - メモリシステムと、
少なくとも第1の論理プロセッサを有する第1のプロセッサコアと、
第2のプロセッサコアと
を備え、
前記第1のプロセッサコアは、複数の条件が前記第1の論理プロセッサに存在するか否かを判断し、該複数の条件を満たすことに基づいて前記第1の論理プロセッサがライブロックされているか否かを判断する第1のライブロックユニットをさらに備え、
前記第1のライブロックユニットはさらに、前記第1の論理プロセッサがライブロックされているとの判断に応答して、前記第2のプロセッサコアのストールを要求する、システム。 - 前記第1のライブロックユニットはさらに、前記第1の論理プロセッサがライブロックされているとの判断に応答して、前記第2のプロセッサコアに関連する少なくとも1つのマイクロアーキテクチャ構造のフラッシュを要求する、請求項15に記載のシステム。
- 前記第1のライブロックユニットはさらに、前記第1の論理プロセッサが命令に飢えているか否かを、前記複数の条件が満たされていることに基づいて判断する、請求項15に記載のシステム。
- 前記第1のライブロックユニットはさらに、前記第1の論理プロセッサが命令に飢えているとの判断に応答して飢餓回避アクションを開始する、請求項17に記載のシステム。
- 前記第1のプロセッサ及び前記第2のプロセッサからの優先度要求を調整するアービトレータであって、前記優先度要求はライブロック判断に基づく、アービトレータをさらに備える、請求項15に記載のシステム。
- 前記メモリシステムはダイナミックランダムアクセスメモリをさらに備える、請求項15に記載のシステム。
- 第1のプロセッサの第1の論理プロセッサが、少なくとも1つの命令の実行において前進できないか否かを判断すること、
前進できない場合、第2の論理プロセッサのストール動作をアサートすること、
前記ストールが前記第1の論理プロセッサの前進に繋がったか否かを判断すること、
繋がらない場合、前記第1の論理プロセッサが命令に飢えているか否かを判断し、飢えている場合、飢餓回避アクションをとること、及び
前記第2の論理プロセッサのストールを要求すること
を含む方法。 - 前記第2の論理プロセッサに関連するパイプラインのフラッシュを要求することをさらに含む、請求項21に記載の方法。
- 第2のプロセッサのストールを要求することをさらに含む、請求項21に記載の方法。
- 前記第2の論理プロセッサのストール動作は、
前記第2の論理プロセッサがアクティブライブロック回避状態にない限り、前記ストールをアサートすること
をさらに含む、請求項21に記載の方法。 - 前記第2の論理プロセッサのストール動作は、
前記第2の論理プロセッサが高優先度ロック動作を実行中でない限り前記ストールをアサートすること
をさらに含む、請求項21に記載の方法。 - 前記第2の論理プロセッサのストール動作は、
前記第1の論理プロセッサが、少なくとも所定の時間量にわたって前進を行うことができなかったとの判断に応答して前記ストールをアサートすること
をさらに含む、請求項21に記載の方法。 - マルチスレッドプロセッサにおいて複数のスレッド及びメモリライブロックユニットにスレッド優先度を割り当てる方法であって、
複数の条件が前記メモリライブロックユニット及び前記プロセッサの少なくとも2つのスレッドに存在するか否かを判断することであって、前記少なくとも2つのスレッドは第1のスレッド及び残りのスレッドのセットを含む、判断すること、
前記複数の条件を満たすことに基づいて、前記第1のスレッドがライブロックされているか否かを判断すること、並びに
ライブロックされている場合、前記第1のスレッドに優先度を割り当て、前記残りのスレッドのセットのいずれにも優先度を割り当てないこと
を含む、マルチスレッドプロセッサにおいて複数のスレッド及びメモリライブロックユニットにスレッド優先度を割り当てる方法。 - 前記第1のスレッドが少なくとも所定の時間長にわたってライブロックされていると判断することをさらに含む、請求項27に記載のマルチスレッドプロセッサにおいて複数のスレッド及びメモリライブロックユニットにスレッド優先度を割り当てる方法。
- アクションをとることであって、それによって、前記第1のスレッドの前進を刺激する、アクションをとることをさらに含む、請求項27に記載のマルチスレッドプロセッサにおいて複数のスレッド及びメモリライブロックユニットにスレッド優先度を割り当てる方法。
- アクションをとることは、
前記残りのスレッドのうちの少なくとも1つへのストールを発すること
をさらに含む、請求項29に記載のマルチスレッドプロセッサにおいて複数のスレッド及びメモリライブロックユニットにスレッド優先度を割り当てる方法。 - アクションをとることは、
命令側飢餓との判断に応答してライブロックブレーカを呼び出すこと
をさらに含む、請求項29に記載のマルチスレッドプロセッサにおいて複数のスレッド及びメモリライブロックユニットにスレッド優先度を割り当てる方法。 - リタイアキューの部分が空であるか否かを調べることをさらに含む、請求項31に記載のマルチスレッドプロセッサにおいて複数のスレッド及びメモリライブロックユニットにスレッド優先度を割り当てる方法。
- アクションをとることは、
キャッシュミスに応答してアービトレータに対して優先度要求を発すること
をさらに含む、請求項29に記載のマルチスレッドプロセッサにおいて複数のスレッド及びメモリライブロックユニットにスレッド優先度を割り当てる方法。 - アクションをとることは、
別のプロセッサに対してストール要求を発すること
をさらに含む、請求項29に記載のマルチスレッドプロセッサにおいて複数のスレッド及びメモリライブロックユニットにスレッド優先度を割り当てる方法。 - マルチコアマルチスレッドプロセッサであって、
それぞれ、複数のスレッドを実行可能なマルチスレッドプロセッサである複数のプロセッサコアと、
該複数のプロセッサコアのそれぞれに結合して通信するライブロックレデューサであって、第1のプロセッサコアから第1のスレッドについてのスレッド進行情報を受け取り、該第1のプロセッサコアからの該第1のスレッドについての該スレッド進行情報に応答して、前記複数のプロセッサコアのうちの第2のプロセッサコアの第2のスレッドのアクティビティを調整するライブロックレデューサと
を備える、マルチコアマルチスレッドプロセッサ。 - 前記ライブロックレデューサは複数のライブロック回路を備え、少なくとも1つのライブロック回路には前記複数のプロセッサコアのうちの1つが関連付けられる、請求項35に記載のマルチコアマルチスレッドプロセッサ。
- 前記ライブロックレデューサは、
前記複数のプロセッサコアに結合されるアービトレーション制御ロジックであって、前記複数のコアからスレッド進行情報を受け取って優先度を調停し、どのスレッドを支援すべきかを判断するアービトレーション制御ロジック
を備える、請求項35に記載のマルチコアマルチスレッドプロセッサ。 - 各プロセッサコアは、
前記コアに結合されてスレッドライブロックインジケータを測定するスレッドライブロックユニットと、
前記コアに結合されてメモリライブロックインジケータを測定するメモリライブロックユニットと
を備える、請求項35に記載のマルチコアマルチスレッドプロセッサ。 - 前記複数のコアのそれぞれの前記スレッドライブロックユニット及び/又は前記メモリライブロックユニットからライブロック情報を受け取り、前記ライブロック情報に応答して1つのスレッドに他のスレッドに対する優先度を付与するアービトレータをさらに備える、請求項38に記載のマルチコアマルチスレッドプロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/948,878 US7748001B2 (en) | 2004-09-23 | 2004-09-23 | Multi-thread processing system for detecting and handling live-lock conditions by arbitrating livelock priority of logical processors based on a predertermined amount of time |
PCT/US2005/033699 WO2006034288A2 (en) | 2004-09-23 | 2005-09-13 | Thread livelock unit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008513894A true JP2008513894A (ja) | 2008-05-01 |
JP4603583B2 JP4603583B2 (ja) | 2010-12-22 |
Family
ID=35997071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007532620A Expired - Fee Related JP4603583B2 (ja) | 2004-09-23 | 2005-09-13 | プロセッサ、装置、及び方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US7748001B2 (ja) |
JP (1) | JP4603583B2 (ja) |
KR (1) | KR100880470B1 (ja) |
CN (2) | CN101031877B (ja) |
DE (1) | DE112005002305B4 (ja) |
TW (1) | TWI298458B (ja) |
WO (1) | WO2006034288A2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007287141A (ja) * | 2006-04-14 | 2007-11-01 | Internatl Business Mach Corp <Ibm> | プロセッサの動作を徐々に低速モードにするためのシステムおよび方法 |
JP2009533738A (ja) * | 2006-04-14 | 2009-09-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プロセッサを段階的減速動作モードに移行させる発行ユニット |
JP2010140146A (ja) * | 2008-12-10 | 2010-06-24 | Fujitsu Ltd | マルチコアプロセッサ,制御方法および情報処理装置 |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7748001B2 (en) | 2004-09-23 | 2010-06-29 | Intel Corporation | Multi-thread processing system for detecting and handling live-lock conditions by arbitrating livelock priority of logical processors based on a predertermined amount of time |
US9626194B2 (en) * | 2004-09-23 | 2017-04-18 | Intel Corporation | Thread livelock unit |
US7525986B2 (en) * | 2004-10-28 | 2009-04-28 | Intel Corporation | Starvation prevention scheme for a fixed priority PCI-Express arbiter with grant counters using arbitration pools |
US7810083B2 (en) * | 2004-12-30 | 2010-10-05 | Intel Corporation | Mechanism to emulate user-level multithreading on an OS-sequestered sequencer |
US7380038B2 (en) * | 2005-02-04 | 2008-05-27 | Microsoft Corporation | Priority registers for biasing access to shared resources |
WO2007031696A1 (en) * | 2005-09-13 | 2007-03-22 | Arm Limited | Cache miss detection in a data processing apparatus |
US7558946B2 (en) * | 2005-12-12 | 2009-07-07 | Intel Corporation | Breaking a lock situation in a processor without detection of the lock situation using a multi-level approach |
WO2007099273A1 (en) * | 2006-03-03 | 2007-09-07 | Arm Limited | Monitoring values of signals within an integrated circuit |
WO2007101969A1 (en) * | 2006-03-06 | 2007-09-13 | Arm Limited | Accessing a cache in a data processing apparatus |
JP4557949B2 (ja) * | 2006-04-10 | 2010-10-06 | 富士通株式会社 | 資源ブローカリングプログラム、該プログラムを記録した記録媒体、資源ブローカリング装置、および資源ブローカリング方法 |
WO2007132424A2 (en) * | 2006-05-17 | 2007-11-22 | Nxp B.V. | Multi-processing system and a method of executing a plurality of data processing tasks |
US20080046684A1 (en) * | 2006-08-17 | 2008-02-21 | International Business Machines Corporation | Multithreaded multicore uniprocessor and a heterogeneous multiprocessor incorporating the same |
JP4841358B2 (ja) | 2006-08-18 | 2011-12-21 | 富士通株式会社 | リクエスト送信制御装置およびリクエスト送信制御方法 |
US7590784B2 (en) * | 2006-08-31 | 2009-09-15 | Intel Corporation | Detecting and resolving locks in a memory unit |
US8276151B2 (en) | 2006-09-06 | 2012-09-25 | International Business Machines Corporation | Determination of running status of logical processor |
CN100458751C (zh) * | 2007-05-10 | 2009-02-04 | 忆正存储技术(深圳)有限公司 | 并行闪存控制器 |
US8117618B2 (en) * | 2007-10-12 | 2012-02-14 | Freescale Semiconductor, Inc. | Forward progress mechanism for a multithreaded processor |
US8392667B2 (en) * | 2008-12-12 | 2013-03-05 | Nvidia Corporation | Deadlock avoidance by marking CPU traffic as special |
JP5035469B2 (ja) * | 2009-03-31 | 2012-09-26 | 富士通株式会社 | データ転送回路及びデータ転送方法 |
US8352561B1 (en) | 2009-07-24 | 2013-01-08 | Google Inc. | Electronic communication reminder technology |
US8516577B2 (en) | 2010-09-22 | 2013-08-20 | Intel Corporation | Regulating atomic memory operations to prevent denial of service attack |
US8898434B2 (en) | 2011-11-11 | 2014-11-25 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Optimizing system throughput by automatically altering thread co-execution based on operating system directives |
WO2013101138A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Identifying and prioritizing critical instructions within processor circuitry |
US20130332910A1 (en) * | 2012-05-22 | 2013-12-12 | Nec Laboratories America, Inc. | Dynamic livelock analysis of multi-threaded programs |
US9336357B2 (en) * | 2012-09-28 | 2016-05-10 | Intel Corporation | Secure access management of devices |
JP6201591B2 (ja) * | 2013-09-30 | 2017-09-27 | 富士通株式会社 | 情報処理装置および情報処理装置の制御方法 |
US9575916B2 (en) | 2014-01-06 | 2017-02-21 | International Business Machines Corporation | Apparatus and method for identifying performance bottlenecks in pipeline parallel processing environment |
US9501377B2 (en) | 2014-03-18 | 2016-11-22 | International Business Machines Corporation | Generating and implementing data integration job execution design recommendations |
US9424160B2 (en) | 2014-03-18 | 2016-08-23 | International Business Machines Corporation | Detection of data flow bottlenecks and disruptions based on operator timing profiles in a parallel processing environment |
US9642787B2 (en) | 2014-04-25 | 2017-05-09 | The Procter & Gamble Company | Method of inhibiting copper deposition on hair |
US9626749B2 (en) | 2014-12-10 | 2017-04-18 | Intel Corporation | Sub-pixel modification of digital images by locally shifting to an arbitrarily dense supergrid |
US10248463B2 (en) * | 2015-02-13 | 2019-04-02 | Honeywell International Inc. | Apparatus and method for managing a plurality of threads in an operating system |
WO2016178658A1 (en) * | 2015-05-01 | 2016-11-10 | Hewlett Packard Enterprise Development Lp | Throttled data memory access |
US10346168B2 (en) | 2015-06-26 | 2019-07-09 | Microsoft Technology Licensing, Llc | Decoupled processor instruction window and operand buffer |
US10191747B2 (en) * | 2015-06-26 | 2019-01-29 | Microsoft Technology Licensing, Llc | Locking operand values for groups of instructions executed atomically |
US9766946B2 (en) * | 2015-11-11 | 2017-09-19 | International Business Machines Corporation | Selecting processor micro-threading mode |
TWI597666B (zh) * | 2015-12-28 | 2017-09-01 | 緯創資通股份有限公司 | 共享裝置的使用方法及資源共享系統 |
GB2558076B (en) * | 2016-06-20 | 2019-02-20 | Imagination Tech Ltd | Livelock detection in a hardware design using formal verification |
US10069949B2 (en) | 2016-10-14 | 2018-09-04 | Honeywell International Inc. | System and method for enabling detection of messages having previously transited network devices in support of loop detection |
US9798549B1 (en) | 2016-10-31 | 2017-10-24 | International Business Machines Corporation | Out-of-order processor that avoids deadlock in processing queues by designating a most favored instruction |
US10740102B2 (en) | 2017-02-24 | 2020-08-11 | Oracle International Corporation | Hardware mechanism to mitigate stalling of a processor core |
US10810086B2 (en) | 2017-10-19 | 2020-10-20 | Honeywell International Inc. | System and method for emulation of enhanced application module redundancy (EAM-R) |
US10783026B2 (en) | 2018-02-15 | 2020-09-22 | Honeywell International Inc. | Apparatus and method for detecting network problems on redundant token bus control network using traffic sensor |
EP3818440A4 (en) | 2018-07-02 | 2021-08-18 | Drivenets Ltd. | SYSTEM FOR IMPLEMENTATION OF MULTIPLE APPLICATIONS |
US10831563B2 (en) * | 2019-03-19 | 2020-11-10 | International Business Machines Corporation | Deadlock resolution between distributed processes using process and aggregated information |
CN110058931B (zh) * | 2019-04-19 | 2022-03-22 | 上海兆芯集成电路有限公司 | 用以任务调度的处理系统及其加速方法 |
CN110032453B (zh) | 2019-04-19 | 2022-05-03 | 上海兆芯集成电路有限公司 | 用以任务调度与分配的处理系统及其加速方法 |
CN110083387B (zh) | 2019-04-19 | 2021-11-12 | 上海兆芯集成电路有限公司 | 使用轮询机制的处理系统及其访存方法 |
CN110046053B (zh) | 2019-04-19 | 2021-11-12 | 上海兆芯集成电路有限公司 | 用以分配任务的处理系统及其访存方法 |
US11422849B2 (en) * | 2019-08-22 | 2022-08-23 | Intel Corporation | Technology for dynamically grouping threads for energy efficiency |
CN112187581B (zh) * | 2020-09-29 | 2022-08-02 | 北京百度网讯科技有限公司 | 服务信息处理方法、装置、设备及计算机存储介质 |
CN115408153B (zh) * | 2022-08-26 | 2023-06-30 | 海光信息技术股份有限公司 | 多线程处理器的指令分发方法、装置和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10124316A (ja) * | 1996-08-27 | 1998-05-15 | Matsushita Electric Ind Co Ltd | 複数の命令流を独立に処理し、命令流単位に処理性能を柔軟に制御するマルチスレッドプロセッサ |
US20020199089A1 (en) * | 2001-06-22 | 2002-12-26 | Burns David W. | Method and apparatus for resolving instruction starvation in a processor or the like |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US621254A (en) | 1899-03-14 | Track-sight | ||
JPH10111828A (ja) * | 1996-09-27 | 1998-04-28 | Internatl Business Mach Corp <Ibm> | メモリシステム、データ転送方法 |
US6658447B2 (en) * | 1997-07-08 | 2003-12-02 | Intel Corporation | Priority based simultaneous multi-threading |
US6343352B1 (en) * | 1997-10-10 | 2002-01-29 | Rambus Inc. | Method and apparatus for two step memory write operations |
US6212544B1 (en) * | 1997-10-23 | 2001-04-03 | International Business Machines Corporation | Altering thread priorities in a multithreaded processor |
US6216178B1 (en) * | 1998-11-16 | 2001-04-10 | Infineon Technologies Ag | Methods and apparatus for detecting the collision of data on a data bus in case of out-of-order memory accesses of different times of memory access execution |
US6535905B1 (en) * | 1999-04-29 | 2003-03-18 | Intel Corporation | Method and apparatus for thread switching within a multithreaded processor |
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 |
US6543002B1 (en) * | 1999-11-04 | 2003-04-01 | International Business Machines Corporation | Recovery from hang condition in a microprocessor |
US6898617B2 (en) * | 1999-11-18 | 2005-05-24 | International Business Machines Corporation | Method, system and program products for managing thread pools of a computing environment to avoid deadlock situations by dynamically altering eligible thread pools |
US6618825B1 (en) * | 2000-04-20 | 2003-09-09 | Hewlett Packard Development Company, L.P. | Hierarchy of fault isolation timers |
US6920516B2 (en) * | 2000-08-31 | 2005-07-19 | Hewlett-Packard Development Company, L.P. | Anti-starvation interrupt protocol |
US6880073B2 (en) * | 2000-12-28 | 2005-04-12 | International Business Machines Corporation | Speculative execution of instructions and processes before completion of preceding barrier operations |
US7401211B2 (en) * | 2000-12-29 | 2008-07-15 | Intel Corporation | Method for converting pipeline stalls caused by instructions with long latency memory accesses to pipeline flushes in a multithreaded processor |
US7454600B2 (en) * | 2001-06-22 | 2008-11-18 | Intel Corporation | Method and apparatus for assigning thread priority in a processor or the like |
US7248585B2 (en) * | 2001-10-22 | 2007-07-24 | Sun Microsystems, Inc. | Method and apparatus for a packet classifier |
US6968431B2 (en) * | 2001-11-15 | 2005-11-22 | International Business Machines Corporation | Method and apparatus for livelock prevention in a multiprocessor system |
US7065596B2 (en) * | 2002-09-19 | 2006-06-20 | Intel Corporation | Method and apparatus to resolve instruction starvation |
US7000047B2 (en) * | 2003-04-23 | 2006-02-14 | International Business Machines Corporation | Mechanism for effectively handling livelocks in a simultaneous multithreading processor |
US20040216103A1 (en) * | 2003-04-24 | 2004-10-28 | International Business Machines Corporation | Mechanism for detecting and handling a starvation of a thread in a multithreading processor environment |
US7401207B2 (en) * | 2003-04-25 | 2008-07-15 | International Business Machines Corporation | Apparatus and method for adjusting instruction thread priority in a multi-thread processor |
US7748001B2 (en) | 2004-09-23 | 2010-06-29 | Intel Corporation | Multi-thread processing system for detecting and handling live-lock conditions by arbitrating livelock priority of logical processors based on a predertermined amount of time |
US7437539B2 (en) * | 2006-04-14 | 2008-10-14 | International Business Machines Corporation | Issue unit for placing a processor into a gradual slow mode of operation in response to a detected livelock condition within a processor pipeline |
US7434033B2 (en) * | 2006-04-14 | 2008-10-07 | International Business Machines Corporation | Placing a processor into a gradual slow mode of operation in response to a detected livelock condition within a processor pipeline |
-
2004
- 2004-09-23 US US10/948,878 patent/US7748001B2/en not_active Expired - Fee Related
-
2005
- 2005-09-13 KR KR1020077006549A patent/KR100880470B1/ko active IP Right Grant
- 2005-09-13 DE DE112005002305T patent/DE112005002305B4/de not_active Expired - Fee Related
- 2005-09-13 WO PCT/US2005/033699 patent/WO2006034288A2/en active Application Filing
- 2005-09-13 CN CN2005800322593A patent/CN101031877B/zh not_active Expired - Fee Related
- 2005-09-13 JP JP2007532620A patent/JP4603583B2/ja not_active Expired - Fee Related
- 2005-09-13 CN CN200810127366XA patent/CN101334721B/zh not_active Expired - Fee Related
- 2005-09-14 TW TW094131659A patent/TWI298458B/zh not_active IP Right Cessation
-
2010
- 2010-05-19 US US12/783,469 patent/US8276149B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10124316A (ja) * | 1996-08-27 | 1998-05-15 | Matsushita Electric Ind Co Ltd | 複数の命令流を独立に処理し、命令流単位に処理性能を柔軟に制御するマルチスレッドプロセッサ |
US20020199089A1 (en) * | 2001-06-22 | 2002-12-26 | Burns David W. | Method and apparatus for resolving instruction starvation in a processor or the like |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007287141A (ja) * | 2006-04-14 | 2007-11-01 | Internatl Business Mach Corp <Ibm> | プロセッサの動作を徐々に低速モードにするためのシステムおよび方法 |
JP2009533738A (ja) * | 2006-04-14 | 2009-09-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プロセッサを段階的減速動作モードに移行させる発行ユニット |
JP4677422B2 (ja) * | 2006-04-14 | 2011-04-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プロセッサの動作を徐々に低速モードにするためのシステムおよび方法 |
JP2010140146A (ja) * | 2008-12-10 | 2010-06-24 | Fujitsu Ltd | マルチコアプロセッサ,制御方法および情報処理装置 |
JP4691153B2 (ja) * | 2008-12-10 | 2011-06-01 | 富士通株式会社 | マルチコアプロセッサ,制御方法および情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
DE112005002305B4 (de) | 2011-03-17 |
KR20070055554A (ko) | 2007-05-30 |
TWI298458B (en) | 2008-07-01 |
DE112005002305T5 (de) | 2007-09-06 |
WO2006034288A2 (en) | 2006-03-30 |
US20100229172A1 (en) | 2010-09-09 |
CN101334721B (zh) | 2013-06-19 |
KR100880470B1 (ko) | 2009-01-28 |
WO2006034288A3 (en) | 2006-11-23 |
JP4603583B2 (ja) | 2010-12-22 |
CN101031877A (zh) | 2007-09-05 |
US20060064695A1 (en) | 2006-03-23 |
CN101334721A (zh) | 2008-12-31 |
US7748001B2 (en) | 2010-06-29 |
US8276149B2 (en) | 2012-09-25 |
CN101031877B (zh) | 2010-05-05 |
TW200632740A (en) | 2006-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4603583B2 (ja) | プロセッサ、装置、及び方法 | |
US10552160B2 (en) | Handling stalling event for multiple thread pipeline, and triggering action based on information access delay | |
US8694976B2 (en) | Sleep state mechanism for virtual multithreading | |
US6542921B1 (en) | Method and apparatus for controlling the processing priority between multiple threads in a multithreaded processor | |
US8584138B2 (en) | Direct switching of software threads by selectively bypassing run queue based on selection criteria | |
US7318128B1 (en) | Methods and apparatus for selecting processes for execution | |
US9733937B2 (en) | Compare and exchange operation using sleep-wakeup mechanism | |
JP5415069B2 (ja) | スレッドレベルの投機実行を拡張するためのプリミティブ | |
US9003421B2 (en) | Acceleration threads on idle OS-visible thread execution units | |
JP2001521215A (ja) | マルチスレッド式プロセッサでスレッド切替えイベントを選択するための方法および装置 | |
US20150074676A1 (en) | Task processng device | |
JP2001521219A (ja) | マルチスレッド式プロセッサでのスレッド優先順位の変更 | |
WO2003001368A1 (en) | Method and apparatus for resolving instruction starvation in a multithreaded processor | |
US8516577B2 (en) | Regulating atomic memory operations to prevent denial of service attack | |
US9626194B2 (en) | Thread livelock unit | |
US11194574B2 (en) | Merging memory ordering tracking information for issued load instructions | |
US7669203B2 (en) | Virtual multithreading translation mechanism including retrofit capability | |
US20050138333A1 (en) | Thread switching mechanism | |
US7328327B2 (en) | Technique for reducing traffic in an instruction fetch unit of a chip multiprocessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100209 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100507 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100514 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100608 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100615 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100708 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100715 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100806 |
|
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: 20100914 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101001 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131008 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4603583 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
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 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |