JP4690988B2 - 持続的なユーザレベルスレッド用の装置、システムおよび方法 - Google Patents
持続的なユーザレベルスレッド用の装置、システムおよび方法 Download PDFInfo
- Publication number
- JP4690988B2 JP4690988B2 JP2006266590A JP2006266590A JP4690988B2 JP 4690988 B2 JP4690988 B2 JP 4690988B2 JP 2006266590 A JP2006266590 A JP 2006266590A JP 2006266590 A JP2006266590 A JP 2006266590A JP 4690988 B2 JP4690988 B2 JP 4690988B2
- Authority
- JP
- Japan
- Prior art keywords
- thread
- sequencer
- user level
- persistent user
- level thread
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/3009—Thread control instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/323—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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)
- Executing Machine-Instructions (AREA)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/239,475 US8028295B2 (en) | 2005-09-30 | 2005-09-30 | Apparatus, system, and method for persistent user-level thread |
| US11/239,475 | 2005-09-30 |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2007102781A JP2007102781A (ja) | 2007-04-19 |
| JP2007102781A5 JP2007102781A5 (OSRAM) | 2009-08-06 |
| JP4690988B2 true JP4690988B2 (ja) | 2011-06-01 |
Family
ID=37887229
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006266590A Expired - Fee Related JP4690988B2 (ja) | 2005-09-30 | 2006-09-29 | 持続的なユーザレベルスレッド用の装置、システムおよび方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (5) | US8028295B2 (OSRAM) |
| JP (1) | JP4690988B2 (OSRAM) |
| CN (2) | CN102981808B (OSRAM) |
| DE (1) | DE102006046129A1 (OSRAM) |
Families Citing this family (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8719819B2 (en) * | 2005-06-30 | 2014-05-06 | Intel Corporation | Mechanism for instruction set based thread execution on a plurality of instruction sequencers |
| US8028295B2 (en) | 2005-09-30 | 2011-09-27 | Intel Corporation | Apparatus, system, and method for persistent user-level thread |
| US8689215B2 (en) * | 2006-12-19 | 2014-04-01 | Intel Corporation | Structured exception handling for application-managed thread units |
| JP4450242B2 (ja) | 2007-04-10 | 2010-04-14 | ヒロセ電機株式会社 | 同軸コネクタ |
| US20080307419A1 (en) * | 2007-06-06 | 2008-12-11 | Microsoft Corporation | Lazy kernel thread binding |
| US20080313656A1 (en) * | 2007-06-18 | 2008-12-18 | Microsoft Corporation | User mode stack disassociation |
| US20080320475A1 (en) * | 2007-06-19 | 2008-12-25 | Microsoft Corporation | Switching user mode thread context |
| US8261284B2 (en) * | 2007-09-13 | 2012-09-04 | Microsoft Corporation | Fast context switching using virtual cpus |
| JP4978914B2 (ja) * | 2007-10-19 | 2012-07-18 | インテル・コーポレーション | マイクロプロセッサ上での複数命令ストリーム/複数データストリームの拡張を可能にする方法およびシステム |
| JP5167844B2 (ja) * | 2008-02-05 | 2013-03-21 | 日本電気株式会社 | プロセッサ、電子機器、割込み制御方法及び割込み制御プログラム |
| EP2207394B1 (en) * | 2008-11-04 | 2012-07-11 | HTC Corporation | Method and apparatus for improving a semi-persistent scheduling resource release process in a wireless communication system |
| US9354944B2 (en) | 2009-07-27 | 2016-05-31 | Advanced Micro Devices, Inc. | Mapping processing logic having data-parallel threads across processors |
| US8464035B2 (en) | 2009-12-18 | 2013-06-11 | Intel Corporation | Instruction for enabling a processor wait state |
| WO2013101139A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Providing an asymmetric multicore processor system transparently to an operating system |
| EP2802983B1 (en) * | 2012-01-10 | 2016-12-14 | Intel Corporation | Isa bridging with callback |
| WO2013162589A1 (en) * | 2012-04-27 | 2013-10-31 | Intel Corporation | Migrating tasks between asymmetric computing elements of a multi-core processor |
| US10162687B2 (en) * | 2012-12-28 | 2018-12-25 | Intel Corporation | Selective migration of workloads between heterogeneous compute elements based on evaluation of migration performance benefit and available energy and thermal budgets |
| US9384036B1 (en) * | 2013-10-21 | 2016-07-05 | Google Inc. | Low latency thread context caching |
| US10037227B2 (en) * | 2015-12-17 | 2018-07-31 | Intel Corporation | Systems, methods and devices for work placement on processor cores |
| US11023233B2 (en) * | 2016-02-09 | 2021-06-01 | Intel Corporation | Methods, apparatus, and instructions for user level thread suspension |
| CN108009007B (zh) * | 2016-10-27 | 2021-01-15 | 华为技术有限公司 | 轻量级线程的调度方法及协同管理器、vCPU调度器 |
| CN113946528B (zh) * | 2020-07-16 | 2024-07-30 | 华为技术有限公司 | 切换系统架构的方法与装置 |
Family Cites Families (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0497445A (ja) | 1990-08-16 | 1992-03-30 | Nec Corp | 情報処理装置の診断方式 |
| JPH05265876A (ja) | 1992-03-19 | 1993-10-15 | Fujitsu Ltd | エラー報告処理方式 |
| US5485626A (en) * | 1992-11-03 | 1996-01-16 | International Business Machines Corporation | Architectural enhancements for parallel computer systems utilizing encapsulation of queuing allowing small grain processing |
| US6732138B1 (en) * | 1995-07-26 | 2004-05-04 | International Business Machines Corporation | Method and system for accessing system resources of a data processing system utilizing a kernel-only thread within a user process |
| US5991790A (en) * | 1996-07-01 | 1999-11-23 | Sun Microsystems, Inc. | Generation and delivery of signals in a two-level, multithreaded system |
| US6223204B1 (en) * | 1996-12-18 | 2001-04-24 | Sun Microsystems, Inc. | User level adaptive thread blocking |
| US6766515B1 (en) * | 1997-02-18 | 2004-07-20 | Silicon Graphics, Inc. | Distributed scheduling of parallel jobs with no kernel-to-kernel communication |
| US5872963A (en) * | 1997-02-18 | 1999-02-16 | Silicon Graphics, Inc. | Resumption of preempted non-privileged threads with no kernel intervention |
| US6175916B1 (en) * | 1997-05-06 | 2001-01-16 | Microsoft Corporation | Common-thread inter-process function calls invoked by jumps to invalid addresses |
| US6189023B1 (en) * | 1997-09-30 | 2001-02-13 | Tandem Computers Incorporated | Simulating shared code thread modules with shared code fibers |
| US5923892A (en) | 1997-10-27 | 1999-07-13 | Levy; Paul S. | Host processor and coprocessor arrangement for processing platform-independent code |
| US6289369B1 (en) * | 1998-08-25 | 2001-09-11 | International Business Machines Corporation | Affinity, locality, and load balancing in scheduling user program-level threads for execution by a computer system |
| US6366946B1 (en) * | 1998-12-16 | 2002-04-02 | Microsoft Corporation | Critical code processing management |
| EP1037147A1 (en) * | 1999-03-15 | 2000-09-20 | BRITISH TELECOMMUNICATIONS public limited company | Resource scheduling |
| JP3557947B2 (ja) * | 1999-05-24 | 2004-08-25 | 日本電気株式会社 | 複数のプロセッサで同時にスレッドの実行を開始させる方法及びその装置並びにコンピュータ可読記録媒体 |
| US7043725B1 (en) * | 1999-07-09 | 2006-05-09 | Hewlett-Packard Development Company, L.P. | Two tier arrangement for threads support in a virtual machine |
| CN1184562C (zh) * | 1999-09-01 | 2005-01-12 | 英特尔公司 | 处理器的转移指令 |
| JP2001255961A (ja) | 2000-03-01 | 2001-09-21 | Internatl Business Mach Corp <Ibm> | コンピュータ及び冷却ファンの制御方法 |
| US6651163B1 (en) * | 2000-03-08 | 2003-11-18 | Advanced Micro Devices, Inc. | Exception handling with reduced overhead in a multithreaded multiprocessing system |
| US6961941B1 (en) * | 2001-06-08 | 2005-11-01 | Vmware, Inc. | Computer configuration for resource management in systems including a virtual machine |
| JP3702813B2 (ja) * | 2001-07-12 | 2005-10-05 | 日本電気株式会社 | マルチスレッド実行方法及び並列プロセッサシステム |
| US20030191730A1 (en) * | 2002-04-05 | 2003-10-09 | Compaq Information Technologies Group, L.P. | Unobtrusive rule-based computer usage enhancement system |
| US7200846B2 (en) * | 2002-08-05 | 2007-04-03 | Sun Microsystems, Inc. | System and method for maintaining data synchronization |
| US7962545B2 (en) * | 2002-12-27 | 2011-06-14 | Intel Corporation | Dynamic service registry for virtual machines |
| US7216346B2 (en) * | 2002-12-31 | 2007-05-08 | International Business Machines Corporation | Method and apparatus for managing thread execution in a multithread application |
| US7406699B2 (en) * | 2003-04-02 | 2008-07-29 | Microsoft Corporation | Enhanced runtime hosting |
| US7093147B2 (en) * | 2003-04-25 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Dynamically selecting processor cores for overall power efficiency |
| US7376954B2 (en) * | 2003-08-28 | 2008-05-20 | Mips Technologies, Inc. | Mechanisms for assuring quality of service for programs executing on a multithreaded processor |
| US7496928B2 (en) * | 2003-08-28 | 2009-02-24 | Microsoft Corporation | Method and system for moderating thread priority boost for I/O completion |
| US7360223B2 (en) * | 2003-09-24 | 2008-04-15 | Hewlett-Packard Development Company, L.P. | Arrangements and methods for invoking an upcall in a computer system |
| US20050076186A1 (en) * | 2003-10-03 | 2005-04-07 | Microsoft Corporation | Systems and methods for improving the x86 architecture for processor virtualization, and software systems and methods for utilizing the improvements |
| US7380039B2 (en) * | 2003-12-30 | 2008-05-27 | 3Tera, Inc. | Apparatus, method and system for aggregrating computing resources |
| US8533716B2 (en) * | 2004-03-31 | 2013-09-10 | Synopsys, Inc. | Resource management in a multicore architecture |
| US9189230B2 (en) * | 2004-03-31 | 2015-11-17 | Intel Corporation | Method and system to provide concurrent user-level, non-privileged shared resource thread creation and execution |
| US20060075404A1 (en) * | 2004-10-06 | 2006-04-06 | Daniela Rosu | Method and system for scheduling user-level I/O threads |
| US7669204B2 (en) * | 2004-10-14 | 2010-02-23 | International Business Machines Corporation | Autonomic SMT System tuning |
| US8621458B2 (en) * | 2004-12-21 | 2013-12-31 | Microsoft Corporation | Systems and methods for exposing processor topology for virtual machines |
| US8607235B2 (en) * | 2004-12-30 | 2013-12-10 | Intel Corporation | Mechanism to schedule threads on OS-sequestered sequencers without operating system intervention |
| US8719819B2 (en) * | 2005-06-30 | 2014-05-06 | Intel Corporation | Mechanism for instruction set based thread execution on a plurality of instruction sequencers |
| US7992144B1 (en) * | 2005-04-04 | 2011-08-02 | Oracle America, Inc. | Method and apparatus for separating and isolating control of processing entities in a network interface |
| US8516483B2 (en) | 2005-05-13 | 2013-08-20 | Intel Corporation | Transparent support for operating system services for a sequestered sequencer |
| US7752620B2 (en) * | 2005-06-06 | 2010-07-06 | International Business Machines Corporation | Administration of locks for critical sections of computer programs in a computer that supports a multiplicity of logical partitions |
| US8028295B2 (en) * | 2005-09-30 | 2011-09-27 | Intel Corporation | Apparatus, system, and method for persistent user-level thread |
-
2005
- 2005-09-30 US US11/239,475 patent/US8028295B2/en not_active Expired - Fee Related
-
2006
- 2006-09-28 DE DE102006046129A patent/DE102006046129A1/de not_active Ceased
- 2006-09-29 CN CN201210472991.4A patent/CN102981808B/zh not_active Expired - Fee Related
- 2006-09-29 CN CN2006101444908A patent/CN101038543B/zh not_active Expired - Fee Related
- 2006-09-29 JP JP2006266590A patent/JP4690988B2/ja not_active Expired - Fee Related
-
2011
- 2011-08-30 US US13/221,119 patent/US8479217B2/en not_active Expired - Lifetime
-
2013
- 2013-06-11 US US13/914,830 patent/US9383997B2/en active Active
-
2016
- 2016-05-27 US US15/166,469 patent/US9766891B2/en not_active Expired - Lifetime
- 2016-12-21 US US15/386,615 patent/US9875102B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| CN102981808B (zh) | 2015-07-29 |
| US20110314480A1 (en) | 2011-12-22 |
| CN101038543A (zh) | 2007-09-19 |
| US20130275735A1 (en) | 2013-10-17 |
| CN102981808A (zh) | 2013-03-20 |
| US9383997B2 (en) | 2016-07-05 |
| US8479217B2 (en) | 2013-07-02 |
| US8028295B2 (en) | 2011-09-27 |
| US20160274910A1 (en) | 2016-09-22 |
| US20070079301A1 (en) | 2007-04-05 |
| US20170102944A1 (en) | 2017-04-13 |
| US9875102B2 (en) | 2018-01-23 |
| US9766891B2 (en) | 2017-09-19 |
| JP2007102781A (ja) | 2007-04-19 |
| CN101038543B (zh) | 2013-01-02 |
| DE102006046129A1 (de) | 2007-04-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4690988B2 (ja) | 持続的なユーザレベルスレッド用の装置、システムおよび方法 | |
| KR101247407B1 (ko) | 이질적 리소스와의 명령어 세트 아키텍처-기반 시퀀서간 통신 | |
| KR100537813B1 (ko) | 에뮬레이션 코프로세서 | |
| JP6430970B2 (ja) | 異なる命令セットアーキテクチャを有するプロセッサ上におけるオペレーティングシステムの実行 | |
| US8429669B2 (en) | Virtual machine switching control by prefetching information out of and updating a set of processor control information based on a bitmap having update status | |
| RU2532708C2 (ru) | Способ и устройство для осуществления операции ввода/вывода в среде виртуализации | |
| JP2014225242A (ja) | 異種システムをブートし、コアの対称的なビューを表示する方法 | |
| US20110219373A1 (en) | Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform | |
| JP2011023032A (ja) | 複数の命令シーケンサでのスレッド実行に基づく命令セットのためのメカニズム | |
| WO2019001276A1 (zh) | 一种微内核调度的方法和装置 | |
| US20070040834A1 (en) | Method and apparatus for supporting universal serial bus devices in a virtualized environment | |
| CN113672554B (zh) | 处理器核、处理器、片上系统和调试系统 | |
| HK1201350A1 (en) | Method and system for improving processing in computing environment | |
| HK1201348A1 (en) | Method, system and storage medium for improving processing in computing environment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090324 |
|
| A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20090623 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100629 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100928 |
|
| 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: 20110201 |
|
| 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: 20110218 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4690988 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140225 Year of fee payment: 3 |
|
| 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 |