JP6509246B2 - マルチスレッディング・コンピュータ・システムにおいてスレッド・コンテキストを復元するのためのコンピュータ・システム、コンピュータ実装方法およびコンピュータ・プログラム - Google Patents
マルチスレッディング・コンピュータ・システムにおいてスレッド・コンテキストを復元するのためのコンピュータ・システム、コンピュータ実装方法およびコンピュータ・プログラム Download PDFInfo
- Publication number
- JP6509246B2 JP6509246B2 JP2016557118A JP2016557118A JP6509246B2 JP 6509246 B2 JP6509246 B2 JP 6509246B2 JP 2016557118 A JP2016557118 A JP 2016557118A JP 2016557118 A JP2016557118 A JP 2016557118A JP 6509246 B2 JP6509246 B2 JP 6509246B2
- Authority
- JP
- Japan
- Prior art keywords
- thread
- mode
- program
- configuration
- context
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 40
- 238000004590 computer program Methods 0.000 title claims description 18
- 230000007246 mechanism Effects 0.000 claims description 25
- 230000009849 deactivation Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 description 41
- 102000004137 Lysophosphatidic Acid Receptors Human genes 0.000 description 36
- 108090000642 Lysophosphatidic Acid Receptors Proteins 0.000 description 36
- 230000015654 memory Effects 0.000 description 32
- 230000006870 function Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 102100029716 DnaJ homolog subfamily A member 3, mitochondrial Human genes 0.000 description 10
- 101000866012 Homo sapiens DnaJ homolog subfamily A member 3, mitochondrial Proteins 0.000 description 10
- 230000009467 reduction Effects 0.000 description 6
- 101001112162 Homo sapiens Kinetochore protein NDC80 homolog Proteins 0.000 description 5
- 102100023890 Kinetochore protein NDC80 homolog Human genes 0.000 description 5
- 238000001994 activation Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 239000000872 buffer Substances 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 101000966782 Homo sapiens Lysophosphatidic acid receptor 1 Proteins 0.000 description 3
- 102100040607 Lysophosphatidic acid receptor 1 Human genes 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 101001038006 Homo sapiens Lysophosphatidic acid receptor 3 Proteins 0.000 description 2
- 102100040388 Lysophosphatidic acid receptor 3 Human genes 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000011946 reduction process Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101001038001 Homo sapiens Lysophosphatidic acid receptor 2 Proteins 0.000 description 1
- 101001038043 Homo sapiens Lysophosphatidic acid receptor 4 Proteins 0.000 description 1
- 102100040387 Lysophosphatidic acid receptor 2 Human genes 0.000 description 1
- 102100040405 Lysophosphatidic acid receptor 4 Human genes 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012419 revalidation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
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)
- Hardware Redundancy (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Advance Control (AREA)
Description
キー動作の結果としてマルチスレッディング機構が無効化される場合、非ゼロスレッド識別情報を有するすべてのCPUのアーキテクテッド・レジスタ・コンテキストを保持することができる。クリア・リセットの介在なしにマルチスレッディング機構が後で再度有効化される場合、非ゼロのスレッド識別情報を有するすべてのCPUのアーキテクテッド・レジスタ・コンテキストが復元される。
Claims (20)
- コンピュータ・システムであって、
シングル・スレッド(ST)モードとマルチスレッディング(MT)モードとの間で切換え構成可能なコアを含む構成であって、前記STモードは一次スレッドを扱い、前記MTモードは前記一次スレッドと前記コアの共用資源上の1つまたは複数の二次スレッドとを扱う、前記構成と、
前記構成の利用を制御して方法を実行するよう構成されたマルチスレッディング機構とを含み、
前記方法は、
前記構成のリセットまたは非活動化に応答した前記MTモードから前記STモードへの切換えに基づいて、前記1つまたは複数の二次スレッドのプログラム・アクセス可能レジスタ値とプログラム・カウンタ値とを含むスレッド・コンテキストをプログラムが利用することができないようにして前記1つまたは複数の二次スレッドを無効化することと、
前記1つまたは複数の二次スレッドの前記スレッド・コンテキストが前記切換え後にアクセス可能であるか否かを示す前記構成の直前設定プログラム指定最大スレッドidを判断するために、前記STモードで実行中に直前指定最大MTレベルを問い合わせることと、
前記直前設定プログラム指定最大スレッドidが、前記1つまたは複数の二次スレッドの前記スレッド・コンテキストが前記切換え後にアクセス可能であることを示していることに基づいて、
a)前記MTモードを再開するためにMT設定命令(instruction)を実行すること、および
b)再開された前記MTモードになっていることに基づいて前記1つまたは複数の二次スレッドの前記スレッド・コンテキストにアクセスすること、
を実行することによって前記1つまたは複数の二次スレッドの前記スレッド・コンテキストを取得することとを含む、コンピュータ・システム。 - 前記MT設定命令(instruction)は、MT設定命令(order)とMTを示すプログラム指定最大スレッドidとを含むシグナル・プロセッサ命令である、請求項1に記載のコンピュータ・システム。
- 前記STモードへの切換えに基づいて前記1つまたは複数の二次スレッドの前記スレッド・コンテキストをセーブすることをさらに含む、請求項1に記載のコンピュータ・システム。
- 前記MTモードから前記STモードへの切換えは非クリア・リセット動作に応答しており、前記MTモードを再開するための前記MT設定命令(instruction)の実行と、前記1つまたは複数の二次スレッドの前記スレッド・コンテキストへのアクセスとがスタンドアロン・ダンプ・プログラムによって行われる、請求項1に記載のコンピュータ・システム。
- 前記MTモードを再開するためにMT設定命令(order)を発行する際に、前記スタンドアロン・ダンプ・プログラムが前記直前設定プログラム指定最大スレッドidをプログラム指定最大スレッドidとして指定する、請求項4に記載のコンピュータ・システム。
- スタンドアロン・ダンプ・プログラムが前記構成から二次スレッドのダンプを試みるのを防止するために、前記構成においてMTをサポートしないオペレーティング・システムをロードする前にクリア・リセットが実行される、請求項1に記載のコンピュータ・システム。
- 前記構成のためにスタンドアロン・ダンプ・プログラムを実行する前に、MTを利用しない制御プログラムが、プログラム指定最大スレッドidとして単一スレッドを示す値とともにMT設定命令(order)を発行する、請求項1に記載のコンピュータ・システム。
- 前記直前設定プログラム指定最大スレッドidは、前記構成のクリア・リセットまたは非活動化が行われるまで保持される、請求項1に記載のコンピュータ・システム。
- シングル・スレッド(ST)モードとマルチスレッディング(MT)モードとの間で切換え構成可能なコアを含む構成においてスレッド・コンテキストを復元するためのコンピュータ実装方法であって、前記STモードは一次スレッドを扱い、前記MTモードは前記一次スレッドと前記コアの共用資源上の1つまたは複数の二次スレッドとを扱い、前記方法は、
前記構成のリセットまたは非活動化に応答した前記MTモードから前記STモードへの切換えに基づいて、前記1つまたは複数の二次スレッドのプログラム・アクセス可能レジスタ値とプログラム・カウンタ値とを含むスレッド・コンテキストをプログラムが利用することができないようにして前記1つまたは複数の二次スレッドを無効化することと、
前記1つまたは複数の二次スレッドの前記スレッド・コンテキストが前記切換え後にアクセス可能であるか否かを示す前記構成の直前設定プログラム指定最大スレッドidを判断するために、前記STモードで実行中に直前指定最大MTレベルを問い合わせることと
、
前記直前設定プログラム指定最大スレッドidが、前記1つまたは複数の二次スレッドの前記スレッド・コンテキストが前記切換え後にアクセス可能であることを示していることに基づいて、
a)前記MTモードを再開するためにMT設定命令(instruction)を実行すること、
および
b)再開された前記MTモードになっていることに基づいて前記1つまたは複数の二次スレッドの前記スレッド・コンテキストにアクセスすること、
を実行することによって前記1つまたは複数の二次スレッドの前記スレッド・コンテキストを取得することとを含む、コンピュータ実装方法。 - 前記MT設定命令(instruction)は、MT設定命令(order)とMTを示すプログラム指定最大スレッドidとを含むシグナル・プロセッサ命令である、請求項9に記載の方法。
- 前記STモードへの切換えに基づいて前記1つまたは複数の二次スレッドの前記スレッド・コンテキストをセーブすることをさらに含む、請求項9に記載の方法。
- 前記MTモードから前記STモードへの切換えは非クリア・リセット動作に応答しており、前記MTモードを再開するための前記MT設定命令(instruction)の実行と、前記1つまたは複数の二次スレッドの前記スレッド・コンテキストへのアクセスとがスタンドアロン・ダンプ・プログラムによって行われる、請求項9に記載の方法。
- 前記MTモードを再開するためにMT設定命令(order)を発行する際に、前記スタンドアロン・ダンプ・プログラムが前記直前設定プログラム指定最大スレッドidをプログラム指定最大スレッドidとして指定する、請求項12に記載の方法。
- スタンドアロン・ダンプ・プログラムが前記構成から二次スレッドのダンプを試みるのを防止するために、前記構成においてMTをサポートしないオペレーティング・システムをロードする前にクリア・リセットが実行される、請求項9に記載の方法。
- 前記構成のためにスタンドアロン・ダンプ・プログラムを実行する前に、MTを利用しない制御プログラムが、単一スレッドを示す値をプログラム指定最大スレッドidとして指定したMT設定命令(order)を発行する、請求項9に記載の方法。
- シングル・スレッド(ST)モードとマルチスレッディング(MT)モードとの間で切換え構成可能なコアを含む構成においてスレッド・コンテキストを復元するためのコンピュータ・プログラムであって、前記STモードは一次スレッドを扱い、前記MTモードは前記一次スレッドと前記コアの共用資源上の1つまたは複数の二次スレッドとを扱い、前記コンピュータ・プログラムはコンピュータに、
前記構成のリセットまたは非活動化に応答した前記MTモードから前記STモードへの切換えに基づいて、前記1つまたは複数の二次スレッドのプログラム・アクセス可能レジスタ値とプログラム・カウンタ値とを含むスレッド・コンテキストをプログラムが利用することができないようにして前記1つまたは複数の二次スレッドを無効化することと、
前記1つまたは複数の二次スレッドの前記スレッド・コンテキストが前記切換え後にアクセス可能であるか否かを示す前記構成の直前設定プログラム指定最大スレッドidを判断するために、前記STモードで実行中に直前指定最大MTレベルを問い合わせることと、
前記直前設定プログラム指定最大スレッドidが、前記1つまたは複数の二次スレッドの前記スレッド・コンテキストが前記切換え後にアクセス可能であることを示していることに基づいて、
a)前記MTモードを再開するためにMT設定命令(instruction)を実行すること、
および
b)再開された前記MTモードになっていることに基づいて前記1つまたは複数の二次スレッドの前記スレッド・コンテキストにアクセスすること、
を実行することによって前記1つまたは複数の二次スレッドの前記スレッド・コンテキストを取得することとを実行させる、コンピュータ・プログラム。 - 前記MT設定命令(instruction)は、MT設定命令(order)オーダとMTを示すプログラム指定最大スレッドidとを含むシグナル・プロセッサ命令である、請求項16に記載のコンピュータ・プログラム。
- 前記STモードへの切換えに基づいて前記1つまたは複数の二次スレッドの前記スレッド・コンテキストをセーブすることをさらに前記コンピュータに実行させる、請求項16に記載のコンピュータ・プログラム。
- 前記MTモードから前記STモードへの切換えは非クリア・リセット動作に応答しており、前記MTモードを再開するための前記MT設定命令(instruction)の実行と、前記1つまたは複数の二次スレッドの前記スレッド・コンテキストへのアクセスとがスタンドアロン・ダンプ・プログラムによって行われる、請求項16に記載のコンピュータ・プログラム。
- 前記直前設定プログラム指定最大スレッドidは、前記構成のクリア・リセットまたは非活動化が行われるまで保持される、請求項16に記載のコンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/226,911 US9417876B2 (en) | 2014-03-27 | 2014-03-27 | Thread context restoration in a multithreading computer system |
US14/226,911 | 2014-03-27 | ||
PCT/EP2015/055444 WO2015144477A1 (en) | 2014-03-27 | 2015-03-16 | Thread context restoration in a multithreading computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017513112A JP2017513112A (ja) | 2017-05-25 |
JP6509246B2 true JP6509246B2 (ja) | 2019-05-08 |
Family
ID=52727100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016557118A Active JP6509246B2 (ja) | 2014-03-27 | 2015-03-16 | マルチスレッディング・コンピュータ・システムにおいてスレッド・コンテキストを復元するのためのコンピュータ・システム、コンピュータ実装方法およびコンピュータ・プログラム |
Country Status (13)
Country | Link |
---|---|
US (2) | US9417876B2 (ja) |
EP (1) | EP3123323A1 (ja) |
JP (1) | JP6509246B2 (ja) |
KR (1) | KR101868725B1 (ja) |
CN (1) | CN106133689B (ja) |
AU (1) | AU2015238663B2 (ja) |
CA (1) | CA2940988C (ja) |
IL (1) | IL247887B (ja) |
RU (1) | RU2670909C9 (ja) |
SG (1) | SG11201606094TA (ja) |
TW (1) | TWI614681B (ja) |
WO (1) | WO2015144477A1 (ja) |
ZA (1) | ZA201605466B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7381189B2 (ja) | 2017-11-09 | 2023-11-15 | ニプロ株式会社 | 弁付き針組立体 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
US10552212B2 (en) | 2016-11-28 | 2020-02-04 | Arm Limited | Data processing |
US10671426B2 (en) * | 2016-11-28 | 2020-06-02 | Arm Limited | Data processing |
US10423446B2 (en) | 2016-11-28 | 2019-09-24 | Arm Limited | Data processing |
CN108347623B (zh) * | 2017-01-23 | 2021-05-25 | 北京新唐思创教育科技有限公司 | 在线直播内容的生成方法、装置及在线直播系统 |
GB2564144B (en) * | 2017-07-05 | 2020-01-08 | Advanced Risc Mach Ltd | Context data management |
EP3776238A1 (en) * | 2018-03-31 | 2021-02-17 | Micron Technology, Inc. | Execution control of a multi-threaded, self-scheduling reconfigurable computing fabric |
WO2019191738A1 (en) * | 2018-03-31 | 2019-10-03 | Micron Technology, Inc. | Backpressure control using a stop signal for a multi-threaded, self-scheduling reconfigurable computing fabric |
CN109298922A (zh) | 2018-08-30 | 2019-02-01 | 百度在线网络技术(北京)有限公司 | 并行任务处理方法、协程框架、设备、介质和无人车 |
RU199929U1 (ru) * | 2019-12-31 | 2020-09-29 | Федеральное государственное бюджетное образовательное учреждение высшего образования «Московский государственный университет геодезии и картографии» | Устройство для обработки потоков пространственно-временных данных в режиме реального времени |
JP2023133850A (ja) * | 2022-03-14 | 2023-09-27 | 富士通株式会社 | 演算処理装置および演算処理方法 |
Family Cites Families (143)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5684993A (en) | 1993-01-04 | 1997-11-04 | Microsoft Corporation | Segregation of thread-specific information from shared task information |
US5613114A (en) | 1994-04-15 | 1997-03-18 | Apple Computer, Inc | System and method for custom context switching |
US5799188A (en) | 1995-12-15 | 1998-08-25 | International Business Machines Corporation | System and method for managing variable weight thread contexts in a multithreaded computer system |
US6061711A (en) * | 1996-08-19 | 2000-05-09 | Samsung Electronics, Inc. | Efficient context saving and restoring in a multi-tasking computing system environment |
US6418460B1 (en) | 1997-02-18 | 2002-07-09 | Silicon Graphics, Inc. | System and method for finding preempted threads in a multi-threaded application |
US5872963A (en) | 1997-02-18 | 1999-02-16 | Silicon Graphics, Inc. | Resumption of preempted non-privileged threads with no kernel intervention |
US6658447B2 (en) * | 1997-07-08 | 2003-12-02 | Intel Corporation | Priority based simultaneous multi-threading |
US6104700A (en) * | 1997-08-29 | 2000-08-15 | Extreme Networks | Policy based quality of service |
US6487578B2 (en) | 1997-09-29 | 2002-11-26 | Intel Corporation | Dynamic feedback costing to enable adaptive control of resource utilization |
US6272625B1 (en) | 1997-10-08 | 2001-08-07 | Oak Technology, Inc. | Apparatus and method for processing events in a digital versatile disc (DVD) system using system threads and separate dormant/awake counter threads and clock driven semaphores |
US6697935B1 (en) | 1997-10-23 | 2004-02-24 | International Business Machines Corporation | Method and apparatus for selecting thread switch events in a multithreaded processor |
US6061710A (en) | 1997-10-29 | 2000-05-09 | International Business Machines Corporation | Multithreaded processor incorporating a thread latch register for interrupt service new pending threads |
US6401155B1 (en) | 1998-12-22 | 2002-06-04 | Philips Electronics North America Corporation | Interrupt/software-controlled thread processing |
US6542991B1 (en) | 1999-05-11 | 2003-04-01 | Sun Microsystems, Inc. | Multiple-thread processor with single-thread interface shared among threads |
US6519265B1 (en) * | 1999-05-28 | 2003-02-11 | Sony Corporation | System and method for context switching in an electronic network |
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 |
US7318090B1 (en) * | 1999-10-20 | 2008-01-08 | Sony Corporation | Method for utilizing concurrent context switching to support isochronous processes |
US6889319B1 (en) | 1999-12-09 | 2005-05-03 | Intel Corporation | Method and apparatus for entering and exiting multiple threads within a multithreaded processor |
JP4693326B2 (ja) | 1999-12-22 | 2011-06-01 | ウビコム インコーポレイテッド | 組込み型プロセッサにおいてゼロタイムコンテクストスイッチを用いて命令レベルをマルチスレッド化するシステムおよび方法 |
US6981180B1 (en) * | 2000-03-16 | 2005-12-27 | Akamai Technologies, Inc. | Method and apparatus for testing request-response service using live connection traffic |
US6757811B1 (en) | 2000-04-19 | 2004-06-29 | Hewlett-Packard Development Company, L.P. | Slack fetch to improve performance in a simultaneous and redundantly threaded processor |
US6792525B2 (en) | 2000-04-19 | 2004-09-14 | Hewlett-Packard Development Company, L.P. | Input replicator for interrupts in a simultaneous and redundantly threaded processor |
US6658654B1 (en) | 2000-07-06 | 2003-12-02 | International Business Machines Corporation | Method and system for low-overhead measurement of per-thread performance information in a multithreaded environment |
US7073173B1 (en) | 2000-12-04 | 2006-07-04 | Microsoft Corporation | Code and thread differential addressing via multiplex page maps |
EP1256877A1 (en) * | 2001-05-10 | 2002-11-13 | Hewlett-Packard Company, A Delaware Corporation | Manufacture of computer systems |
TW200825907A (en) * | 2001-06-19 | 2008-06-16 | Intel Corp | Method of assigning thread priority in a multi-threaded processor, multi-threaded processor, computer system and storage medium |
US6954846B2 (en) | 2001-08-07 | 2005-10-11 | Sun Microsystems, Inc. | Microprocessor and method for giving each thread exclusive access to one register file in a multi-threading mode and for giving an active thread access to multiple register files in a single thread mode |
US7363474B2 (en) | 2001-12-31 | 2008-04-22 | Intel Corporation | Method and apparatus for suspending execution of a thread until a specified memory access occurs |
JP3813930B2 (ja) | 2002-01-09 | 2006-08-23 | 松下電器産業株式会社 | プロセッサ及びプログラム実行方法 |
US8024735B2 (en) | 2002-06-14 | 2011-09-20 | Intel Corporation | Method and apparatus for ensuring fairness and forward progress when executing multiple threads of execution |
US7185338B2 (en) | 2002-10-15 | 2007-02-27 | Sun Microsystems, Inc. | Processor with speculative multithreading and hardware to support multithreading software |
US9138644B2 (en) * | 2002-12-10 | 2015-09-22 | Sony Computer Entertainment America Llc | System and method for accelerated machine switching |
US7533012B2 (en) | 2002-12-13 | 2009-05-12 | Sun Microsystems, Inc. | Multi-user web simulator |
US7822950B1 (en) | 2003-01-22 | 2010-10-26 | Ubicom, Inc. | Thread cancellation and recirculation in a computer processor for avoiding pipeline stalls |
US20040154010A1 (en) | 2003-01-31 | 2004-08-05 | Pedro Marcuello | Control-quasi-independent-points guided speculative multithreading |
US20040216101A1 (en) | 2003-04-24 | 2004-10-28 | International Business Machines Corporation | Method and logical apparatus for managing resource redistribution in a simultaneous multi-threaded (SMT) processor |
US7155600B2 (en) * | 2003-04-24 | 2006-12-26 | International Business Machines Corporation | Method and logical apparatus for switching between single-threaded and multi-threaded execution states in a simultaneous multi-threaded (SMT) processor |
US7290261B2 (en) | 2003-04-24 | 2007-10-30 | International Business Machines Corporation | Method and logical apparatus for rename register reallocation in a simultaneous multi-threaded (SMT) processor |
US7496915B2 (en) | 2003-04-24 | 2009-02-24 | International Business Machines Corporation | Dynamic switching of multithreaded processor between single threaded and simultaneous multithreaded modes |
US7360062B2 (en) | 2003-04-25 | 2008-04-15 | International Business Machines Corporation | Method and apparatus for selecting an instruction thread for processing in a multi-thread processor |
JP4818919B2 (ja) * | 2003-08-28 | 2011-11-16 | ミップス テクノロジーズ インコーポレイテッド | プロセッサ内での実行の計算スレッドを一時停止して割り当て解除するための統合されたメカニズム |
US7849297B2 (en) | 2003-08-28 | 2010-12-07 | Mips Technologies, Inc. | Software emulation of directed exceptions in a multithreading processor |
US7836450B2 (en) | 2003-08-28 | 2010-11-16 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US20050071422A1 (en) * | 2003-09-25 | 2005-03-31 | International Business Machines Corporation | Method, system, and computer program product for an automation tool adapter for use with multiple different automation tools |
US7493621B2 (en) | 2003-12-18 | 2009-02-17 | International Business Machines Corporation | Context switch data prefetching in multithreaded computer |
US7210073B1 (en) * | 2003-12-31 | 2007-04-24 | Precise Software Solutions Ltd. | Workflows for performance management methodology |
US20050183065A1 (en) | 2004-02-13 | 2005-08-18 | Wolczko Mario I. | Performance counters in a multi-threaded processor |
US7426731B2 (en) * | 2004-03-22 | 2008-09-16 | Hewlett-Packard Development Company, L.P. | Determining processor usage by a thread |
US20050251649A1 (en) | 2004-04-23 | 2005-11-10 | Sony Computer Entertainment Inc. | Methods and apparatus for address map optimization on a multi-scalar extension |
US7216223B2 (en) | 2004-04-30 | 2007-05-08 | Hewlett-Packard Development Company, L.P. | Configuring multi-thread status |
US7607141B2 (en) | 2004-05-03 | 2009-10-20 | Microsoft Corporation | Systems and methods for support of various processing capabilities |
US7418582B1 (en) | 2004-05-13 | 2008-08-26 | Sun Microsystems, Inc. | Versatile register file design for a multi-threaded processor utilizing different modes and register windows |
US7519796B1 (en) | 2004-06-30 | 2009-04-14 | Sun Microsystems, Inc. | Efficient utilization of a store buffer using counters |
US7702887B1 (en) | 2004-06-30 | 2010-04-20 | Sun Microsystems, Inc. | Performance instrumentation in a fine grain multithreaded multicore processor |
US7676791B2 (en) * | 2004-07-09 | 2010-03-09 | Microsoft Corporation | Implementation of concurrent programs in object-oriented languages |
US7565659B2 (en) | 2004-07-15 | 2009-07-21 | International Business Machines Corporation | Light weight context switching |
JP4956891B2 (ja) | 2004-07-26 | 2012-06-20 | 富士通株式会社 | 演算処理装置,情報処理装置および演算処理装置の制御方法 |
JP4504132B2 (ja) | 2004-07-30 | 2010-07-14 | 富士通株式会社 | 記憶制御装置、中央処理装置、情報処理装置及び記憶制御装置の制御方法 |
US7707578B1 (en) | 2004-12-16 | 2010-04-27 | Vmware, Inc. | Mechanism for scheduling execution of threads for fair resource allocation in a multi-threaded and/or multi-core processing system |
US8621458B2 (en) | 2004-12-21 | 2013-12-31 | Microsoft Corporation | Systems and methods for exposing processor topology for virtual machines |
US8015566B2 (en) * | 2005-01-13 | 2011-09-06 | Lenovo (Singapore) Pte. Ltd. | Attributing energy consumption to individual code threads in a data processing system |
US7317907B2 (en) * | 2005-01-31 | 2008-01-08 | Research In Motion Limited | Synchronizing server and device data using device data schema |
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 |
US20060242389A1 (en) | 2005-04-21 | 2006-10-26 | International Business Machines Corporation | Job level control of simultaneous multi-threading functionality in a processor |
US7765550B2 (en) * | 2005-05-26 | 2010-07-27 | Hewlett-Packard Development Company, L.P. | System for controlling context switch of deferred requests using counter and flag setting of thread accessing shared resource or entering code region |
US8010969B2 (en) | 2005-06-13 | 2011-08-30 | Intel Corporation | Mechanism for monitoring instruction set based thread execution on a plurality of instruction sequencers |
US7308565B2 (en) * | 2005-06-15 | 2007-12-11 | Seiko Epson Corporation | Saving/restoring task state data from/to device controller host interface upon command from host processor to handle task interruptions |
JP4963018B2 (ja) | 2005-08-15 | 2012-06-27 | 株式会社ソニー・コンピュータエンタテインメント | スケジューリング方法およびスケジューリング装置 |
US8171268B2 (en) * | 2005-09-19 | 2012-05-01 | Intel Corporation | Technique for context state management to reduce save and restore operations between a memory and a processor using in-use vectors |
US8402224B2 (en) * | 2005-09-20 | 2013-03-19 | Vmware, Inc. | Thread-shared software code caches |
RU2312388C2 (ru) * | 2005-09-22 | 2007-12-10 | Андрей Игоревич Ефимов | Способ организации многопроцессорной эвм |
US8275942B2 (en) | 2005-12-22 | 2012-09-25 | Intel Corporation | Performance prioritization in multi-threaded processors |
US9323578B2 (en) | 2006-01-19 | 2016-04-26 | International Business Machines Corporation | Analyzing wait states in a data processing system |
US7577826B2 (en) | 2006-01-30 | 2009-08-18 | Sony Computer Entertainment Inc. | Stall prediction thread management |
US8271994B2 (en) * | 2006-02-11 | 2012-09-18 | International Business Machines Corporation | Reduced data transfer during processor context switching |
CN100571167C (zh) | 2006-02-24 | 2009-12-16 | 国际商业机器公司 | Web服务业务流程的单元测试的方法和设备 |
JP2007317171A (ja) * | 2006-04-27 | 2007-12-06 | Matsushita Electric Ind Co Ltd | マルチスレッド計算機システム、マルチスレッド実行制御方法 |
US8041929B2 (en) | 2006-06-16 | 2011-10-18 | Cisco Technology, Inc. | Techniques for hardware-assisted multi-threaded processing |
US8136111B2 (en) | 2006-06-27 | 2012-03-13 | International Business Machines Corporation | Managing execution of mixed workloads in a simultaneous multi-threaded (SMT) enabled system |
US7634642B2 (en) | 2006-07-06 | 2009-12-15 | International Business Machines Corporation | Mechanism to save and restore cache and translation trace for fast context switch |
US8291431B2 (en) * | 2006-08-29 | 2012-10-16 | Qualcomm Incorporated | Dependent instruction thread scheduling |
US8839271B2 (en) | 2006-10-11 | 2014-09-16 | International Business Machines Corporation | Call stack sampling to obtain information for analyzing idle states in a data processing system |
US7698540B2 (en) | 2006-10-31 | 2010-04-13 | Hewlett-Packard Development Company, L.P. | Dynamic hardware multithreading and partitioned hardware multithreading |
US8117478B2 (en) | 2006-12-29 | 2012-02-14 | Intel Corporation | Optimizing power usage by processor cores based on architectural events |
US7584346B1 (en) | 2007-01-25 | 2009-09-01 | Sun Microsystems, Inc. | Method and apparatus for supporting different modes of multi-threaded speculative execution |
US8156496B2 (en) * | 2007-01-31 | 2012-04-10 | Hewlett-Packard Development Company, L.P. | Data processing system and method |
US9195462B2 (en) | 2007-04-11 | 2015-11-24 | Freescale Semiconductor, Inc. | Techniques for tracing processes in a multi-threaded processor |
CN101042640A (zh) | 2007-04-24 | 2007-09-26 | 上海华龙信息技术开发中心 | 一种带有位扩充和位压缩单元的数字信号处理器 |
US20080270658A1 (en) | 2007-04-27 | 2008-10-30 | Matsushita Electric Industrial Co., Ltd. | Processor system, bus controlling method, and semiconductor device |
WO2008155797A1 (ja) | 2007-06-20 | 2008-12-24 | Fujitsu Limited | 演算装置 |
US8762692B2 (en) * | 2007-09-27 | 2014-06-24 | Intel Corporation | Single instruction for specifying and saving a subset of registers, specifying a pointer to a work-monitoring function to be executed after waking, and entering a low-power mode |
US8694997B2 (en) | 2007-12-12 | 2014-04-08 | University Of Washington | Deterministic serialization in a transactional memory system based on thread creation order |
US8544006B2 (en) | 2007-12-19 | 2013-09-24 | International Business Machines Corporation | Resolving conflicts by restarting execution of failed discretely executable subcomponent using register and memory values generated by main component after the occurrence of a conflict |
CN101216725B (zh) | 2008-01-04 | 2011-04-27 | 东南大学 | 利用堆栈深度进行多线程预测的动态功耗控制方法 |
US7734900B2 (en) | 2008-01-11 | 2010-06-08 | International Business Machines Corporation | Computer configuration virtual topology discovery and instruction therefore |
US7559061B1 (en) | 2008-03-16 | 2009-07-07 | International Business Machines Corporation | Simultaneous multi-threading control monitor |
US8117602B2 (en) * | 2008-04-01 | 2012-02-14 | Kaspersky Lab, Zao | Method and system for monitoring execution performance of software program product |
US8495662B2 (en) | 2008-08-11 | 2013-07-23 | Hewlett-Packard Development Company, L.P. | System and method for improving run-time performance of applications with multithreaded and single threaded routines |
US8656145B2 (en) * | 2008-09-19 | 2014-02-18 | Qualcomm Incorporated | Methods and systems for allocating interrupts in a multithreaded processor |
US8209437B2 (en) | 2008-09-25 | 2012-06-26 | Rockliffe Systems, Inc. | Personal information management data synchronization |
US7873816B2 (en) | 2008-11-20 | 2011-01-18 | International Business Machines Corporation | Pre-loading context states by inactive hardware thread in advance of context switch |
US20100135179A1 (en) | 2008-11-28 | 2010-06-03 | International Business Machines Corporation | Communication device |
US8402464B2 (en) | 2008-12-01 | 2013-03-19 | Oracle America, Inc. | System and method for managing contention in transactional memory using global execution data |
US8572581B2 (en) | 2009-03-26 | 2013-10-29 | Microsoft Corporation | Measurement and reporting of performance event rates |
US8346509B2 (en) | 2009-04-08 | 2013-01-01 | Intel Corporation | Context switch sampling |
US8949582B2 (en) | 2009-04-27 | 2015-02-03 | Lsi Corporation | Changing a flow identifier of a packet in a multi-thread, multi-flow network processor |
GB2469822B (en) | 2009-04-28 | 2011-04-20 | Imagination Tech Ltd | Method and apparatus for scheduling the issue of instructions in a multithreaded microprocessor |
US9672132B2 (en) | 2009-11-19 | 2017-06-06 | Qualcomm Incorporated | Methods and apparatus for measuring performance of a multi-thread processor |
US8612978B2 (en) | 2009-12-10 | 2013-12-17 | Oracle America, Inc. | Code execution utilizing single or multiple threads |
US8615644B2 (en) | 2010-02-19 | 2013-12-24 | International Business Machines Corporation | Processor with hardware thread control logic indicating disable status when instructions accessing shared resources are completed for safe shared resource condition |
US8381216B2 (en) | 2010-03-05 | 2013-02-19 | Microsoft Corporation | Dynamic thread pool management |
US20110283286A1 (en) | 2010-05-11 | 2011-11-17 | Dell Products L.P. | Methods and systems for dynamically adjusting performance states of a processor |
WO2011161774A1 (ja) | 2010-06-22 | 2011-12-29 | 富士通株式会社 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
US8392473B2 (en) * | 2010-09-07 | 2013-03-05 | Microgen Aptitude Limited | Fast hierarchical enrichment |
US8656408B2 (en) | 2010-09-30 | 2014-02-18 | International Business Machines Corporations | Scheduling threads in a processor based on instruction type power consumption |
US8677361B2 (en) | 2010-09-30 | 2014-03-18 | International Business Machines Corporation | Scheduling threads based on an actual power consumption and a predicted new power consumption |
US8418177B2 (en) | 2010-10-01 | 2013-04-09 | Microsoft Corporation | Virtual machine and/or multi-level scheduling support on systems with asymmetric processor cores |
US8601193B2 (en) | 2010-10-08 | 2013-12-03 | International Business Machines Corporation | Performance monitor design for instruction profiling using shared counters |
US8489787B2 (en) | 2010-10-12 | 2013-07-16 | International Business Machines Corporation | Sharing sampled instruction address registers for efficient instruction sampling in massively multithreaded processors |
US20120137295A1 (en) | 2010-11-30 | 2012-05-31 | Alcatel-Lucent Canada Inc. | Method for displaying cpu utilization in a multi-processing system |
CN103348324A (zh) | 2011-02-10 | 2013-10-09 | 富士通株式会社 | 调度方法、设计辅助方法以及系统 |
US9213551B2 (en) | 2011-03-11 | 2015-12-15 | Oracle International Corporation | Return address prediction in multithreaded processors |
US9330430B2 (en) | 2011-03-21 | 2016-05-03 | Apple Inc. | Fast queries in a multithreaded queue of a graphics system |
US9015449B2 (en) | 2011-03-27 | 2015-04-21 | International Business Machines Corporation | Region-weighted accounting of multi-threaded processor core according to dispatch state |
GB2489708B (en) | 2011-04-05 | 2020-04-15 | Advanced Risc Mach Ltd | Thread selection for multithreaded processing |
US8695010B2 (en) | 2011-10-03 | 2014-04-08 | International Business Machines Corporation | Privilege level aware processor hardware resource management facility |
CA2759365A1 (en) | 2011-11-24 | 2013-05-24 | Ibm Canada Limited - Ibm Canada Limitee | Identification of thread progress information |
US9075610B2 (en) | 2011-12-15 | 2015-07-07 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including thread consolidation |
WO2013100981A1 (en) | 2011-12-28 | 2013-07-04 | Intel Corporation | Performance monitoring resources programmed status |
US9069598B2 (en) | 2012-01-06 | 2015-06-30 | International Business Machines Corporation | Providing logical partions with hardware-thread specific information reflective of exclusive use of a processor core |
CN102566974B (zh) | 2012-01-14 | 2014-03-26 | 哈尔滨工程大学 | 基于同时多线程的取指控制方法 |
US8930950B2 (en) | 2012-01-19 | 2015-01-06 | International Business Machines Corporation | Management of migrating threads within a computing environment to transform multiple threading mode processors to single thread mode processors |
US8751830B2 (en) | 2012-01-23 | 2014-06-10 | International Business Machines Corporation | Memory address translation-based data encryption/compression |
US8966232B2 (en) | 2012-02-10 | 2015-02-24 | Freescale Semiconductor, Inc. | Data processing system operable in single and multi-thread modes and having multiple caches and method of operation |
US20130283280A1 (en) | 2012-04-20 | 2013-10-24 | Qualcomm Incorporated | Method to reduce multi-threaded processor power consumption |
US9075735B2 (en) | 2012-06-21 | 2015-07-07 | Breakingpoint Systems, Inc. | Systems and methods for efficient memory access |
US9208044B2 (en) | 2012-06-25 | 2015-12-08 | Infosys Limited | Methods for simulating message-oriented services and devices thereof |
US9529719B2 (en) | 2012-08-05 | 2016-12-27 | Advanced Micro Devices, Inc. | Dynamic multithreaded cache allocation |
US8984313B2 (en) | 2012-08-31 | 2015-03-17 | Intel Corporation | Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator |
US9563663B2 (en) | 2012-09-28 | 2017-02-07 | Oracle International Corporation | Fast path evaluation of Boolean predicates |
CN103488546B (zh) * | 2013-01-29 | 2016-06-08 | 中国人民解放军理工大学 | 一种支持多级别数据和数据库在线并发备份与恢复方法 |
CN103488684B (zh) | 2013-08-23 | 2016-12-28 | 国家电网公司 | 基于缓存数据多线程处理的电力可靠性指标快速计算方法 |
US9218185B2 (en) * | 2014-03-27 | 2015-12-22 | International Business Machines Corporation | Multithreading capability information retrieval |
-
2014
- 2014-03-27 US US14/226,911 patent/US9417876B2/en active Active
-
2015
- 2015-03-16 EP EP15711699.7A patent/EP3123323A1/en not_active Ceased
- 2015-03-16 WO PCT/EP2015/055444 patent/WO2015144477A1/en active Application Filing
- 2015-03-16 SG SG11201606094TA patent/SG11201606094TA/en unknown
- 2015-03-16 CN CN201580015798.XA patent/CN106133689B/zh active Active
- 2015-03-16 JP JP2016557118A patent/JP6509246B2/ja active Active
- 2015-03-16 RU RU2016127444A patent/RU2670909C9/ru active
- 2015-03-16 CA CA2940988A patent/CA2940988C/en active Active
- 2015-03-16 KR KR1020167023371A patent/KR101868725B1/ko active IP Right Grant
- 2015-03-16 AU AU2015238663A patent/AU2015238663B2/en active Active
- 2015-03-25 TW TW104109602A patent/TWI614681B/zh active
- 2015-08-06 US US14/819,633 patent/US9454372B2/en active Active
-
2016
- 2016-08-05 ZA ZA2016/05466A patent/ZA201605466B/en unknown
- 2016-09-18 IL IL24788716A patent/IL247887B/en active IP Right Grant
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7381189B2 (ja) | 2017-11-09 | 2023-11-15 | ニプロ株式会社 | 弁付き針組立体 |
Also Published As
Publication number | Publication date |
---|---|
TWI614681B (zh) | 2018-02-11 |
US9417876B2 (en) | 2016-08-16 |
SG11201606094TA (en) | 2016-08-30 |
TW201610841A (zh) | 2016-03-16 |
IL247887A0 (en) | 2016-11-30 |
KR101868725B1 (ko) | 2018-07-17 |
US20150277920A1 (en) | 2015-10-01 |
RU2016127444A3 (ja) | 2018-04-28 |
CA2940988A1 (en) | 2015-10-01 |
AU2015238663B2 (en) | 2017-05-25 |
KR20160113681A (ko) | 2016-09-30 |
US20150339121A1 (en) | 2015-11-26 |
ZA201605466B (en) | 2017-08-30 |
US9454372B2 (en) | 2016-09-27 |
CN106133689A (zh) | 2016-11-16 |
RU2670909C9 (ru) | 2018-12-12 |
JP2017513112A (ja) | 2017-05-25 |
EP3123323A1 (en) | 2017-02-01 |
RU2670909C2 (ru) | 2018-10-25 |
WO2015144477A1 (en) | 2015-10-01 |
AU2015238663A1 (en) | 2016-08-11 |
RU2016127444A (ru) | 2018-04-28 |
CN106133689B (zh) | 2019-03-22 |
CA2940988C (en) | 2022-08-16 |
IL247887B (en) | 2019-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6501789B2 (ja) | マルチスレッディングの動的有効化のためのコンピュータ・システム、コンピュータ実装方法およびコンピュータ・プログラム製品 | |
JP6509245B2 (ja) | マルチスレッディング・コンピュータ・システムにおけるスレッド・コンテキスト保存のためのコンピュータ・システム、コンピュータ実装方法およびコンピュータ・プログラム製品 | |
JP6509246B2 (ja) | マルチスレッディング・コンピュータ・システムにおいてスレッド・コンテキストを復元するのためのコンピュータ・システム、コンピュータ実装方法およびコンピュータ・プログラム | |
JP6474425B2 (ja) | マルチスレッディング・コンピュータシステムにおけるアドレス拡張及び短縮 | |
JP6440734B2 (ja) | マルチスレッディング・コンピュータ・システムにおける利用を追跡するコンピュータ実装方法、システムおよびコンピュータ・プログラム | |
JP6474426B2 (ja) | マルチスレッディング能力情報取得 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170224 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180903 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180911 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181119 |
|
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: 20190312 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190402 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6509246 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |