KR100814993B1 - 특정 메모리 액세스가 발생할 때까지 스레드의 실행을중단하기 위한 방법 및 장치 - Google Patents
특정 메모리 액세스가 발생할 때까지 스레드의 실행을중단하기 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR100814993B1 KR100814993B1 KR1020047010389A KR20047010389A KR100814993B1 KR 100814993 B1 KR100814993 B1 KR 100814993B1 KR 1020047010389 A KR1020047010389 A KR 1020047010389A KR 20047010389 A KR20047010389 A KR 20047010389A KR 100814993 B1 KR100814993 B1 KR 100814993B1
- Authority
- KR
- South Korea
- Prior art keywords
- monitor
- thread
- address
- processor
- instruction
- 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 - Lifetime
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/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30079—Pipeline control instructions, e.g. multicycle NOP
-
- 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
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
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)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
- Acyclic And Carbocyclic Compounds In Medicinal Compositions (AREA)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/039,579 US7363474B2 (en) | 2001-12-31 | 2001-12-31 | Method and apparatus for suspending execution of a thread until a specified memory access occurs |
| US10/039,579 | 2001-12-31 | ||
| PCT/US2002/039786 WO2003058447A2 (en) | 2001-12-31 | 2002-12-11 | A method and apparatus for suspending execution of a thread until a specified memory access occurs |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20040068993A KR20040068993A (ko) | 2004-08-02 |
| KR100814993B1 true KR100814993B1 (ko) | 2008-03-18 |
Family
ID=21906217
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020047010389A Expired - Lifetime KR100814993B1 (ko) | 2001-12-31 | 2002-12-11 | 특정 메모리 액세스가 발생할 때까지 스레드의 실행을중단하기 위한 방법 및 장치 |
Country Status (10)
| Country | Link |
|---|---|
| US (2) | US7363474B2 (https=) |
| JP (2) | JP4601958B2 (https=) |
| KR (1) | KR100814993B1 (https=) |
| CN (1) | CN100383740C (https=) |
| AU (1) | AU2002364557A1 (https=) |
| DE (2) | DE10297596B4 (https=) |
| GB (1) | GB2400947B (https=) |
| RU (1) | RU2308754C2 (https=) |
| TW (2) | TWI322959B (https=) |
| WO (1) | WO2003058447A2 (https=) |
Families Citing this family (139)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7127561B2 (en) * | 2001-12-31 | 2006-10-24 | Intel Corporation | Coherency techniques for suspending execution of a thread until a specified memory access occurs |
| US7653912B2 (en) * | 2003-05-30 | 2010-01-26 | Steven Frank | Virtual processor methods and apparatus with unified event notification and consumer-producer memory operations |
| US7213093B2 (en) * | 2003-06-27 | 2007-05-01 | Intel Corporation | Queued locks using monitor-memory wait |
| US8984199B2 (en) * | 2003-07-31 | 2015-03-17 | Intel Corporation | Inter-processor interrupts |
| US20050108711A1 (en) * | 2003-11-13 | 2005-05-19 | Infineon Technologies North America Corporation | Machine instruction for enhanced control of multiple virtual processor systems |
| US7310722B2 (en) * | 2003-12-18 | 2007-12-18 | Nvidia Corporation | Across-thread out of order instruction dispatch in a multithreaded graphics processor |
| US7490218B2 (en) * | 2004-01-22 | 2009-02-10 | University Of Washington | Building a wavecache |
| WO2005072307A2 (en) * | 2004-01-22 | 2005-08-11 | University Of Washington | Wavescalar architecture having a wave order memory |
| US7552042B1 (en) | 2004-01-30 | 2009-06-23 | Xilinx, Inc. | Method for message processing on a programmable logic device |
| US7770179B1 (en) * | 2004-01-30 | 2010-08-03 | Xilinx, Inc. | Method and apparatus for multithreading on a programmable logic device |
| US7823162B1 (en) | 2004-01-30 | 2010-10-26 | Xilinx, Inc. | Thread circuits and a broadcast channel in programmable logic |
| US8984517B2 (en) * | 2004-02-04 | 2015-03-17 | Intel Corporation | Sharing idled processor execution resources |
| US7581214B2 (en) * | 2004-04-15 | 2009-08-25 | Intel Corporation | Live set transmission in pipelining applications |
| JP4376692B2 (ja) * | 2004-04-30 | 2009-12-02 | 富士通株式会社 | 情報処理装置、プロセッサ、プロセッサの制御方法、情報処理装置の制御方法、キャッシュメモリ |
| US8607241B2 (en) | 2004-06-30 | 2013-12-10 | Intel Corporation | Compare and exchange operation using sleep-wakeup mechanism |
| US8074030B1 (en) | 2004-07-20 | 2011-12-06 | Oracle America, Inc. | Using transactional memory with early release to implement non-blocking dynamic-sized data structure |
| US7703098B1 (en) | 2004-07-20 | 2010-04-20 | Sun Microsystems, Inc. | Technique to allow a first transaction to wait on condition that affects its working set |
| US7206903B1 (en) * | 2004-07-20 | 2007-04-17 | Sun Microsystems, Inc. | Method and apparatus for releasing memory locations during transactional execution |
| KR101051703B1 (ko) | 2004-08-09 | 2011-07-25 | 삼성전자주식회사 | 서스펜드/리쥼 기능을 갖는 집적 회로 카드 및 집적 회로카드 시스템 |
| US7434009B2 (en) * | 2004-09-30 | 2008-10-07 | Freescale Semiconductor, Inc. | Apparatus and method for providing information to a cache module using fetch bursts |
| US7257679B2 (en) | 2004-10-01 | 2007-08-14 | Advanced Micro Devices, Inc. | Sharing monitored cache lines across multiple cores |
| US7313673B2 (en) * | 2005-06-16 | 2007-12-25 | International Business Machines Corporation | Fine grained multi-thread dispatch block mechanism |
| US9003421B2 (en) * | 2005-11-28 | 2015-04-07 | Intel Corporation | Acceleration threads on idle OS-visible thread execution units |
| KR100763200B1 (ko) | 2006-02-24 | 2007-10-04 | 삼성전자주식회사 | 인터럽트 가능한 스레드 동기화 방법 및 장치 |
| KR100771877B1 (ko) | 2006-07-21 | 2007-11-01 | 삼성전자주식회사 | 오동작 방지용 커맨드 세트 프로토콜 처리 방법 및 장치 |
| US20080022079A1 (en) * | 2006-07-24 | 2008-01-24 | Archer Charles J | Executing an allgather operation with an alltoallv operation in a parallel computer |
| US8443341B2 (en) * | 2006-11-09 | 2013-05-14 | Rogue Wave Software, Inc. | System for and method of capturing application characteristics data from a computer system and modeling target system |
| US8239657B2 (en) | 2007-02-07 | 2012-08-07 | Qualcomm Incorporated | Address translation method and apparatus |
| US8898438B2 (en) * | 2007-03-14 | 2014-11-25 | XMOS Ltd. | Processor architecture for use in scheduling threads in response to communication activity |
| US7937532B2 (en) * | 2007-03-30 | 2011-05-03 | Intel Corporation | Method and apparatus for speculative prefetching in a multi-processor/multi-core message-passing machine |
| JP4420055B2 (ja) | 2007-04-18 | 2010-02-24 | 日本電気株式会社 | マルチスレッドプロセッサ及びそれに用いるスレッド間同期操作方法 |
| US8161480B2 (en) | 2007-05-29 | 2012-04-17 | International Business Machines Corporation | Performing an allreduce operation using shared memory |
| CN101681260B (zh) | 2007-06-20 | 2013-04-17 | 富士通株式会社 | 运算装置 |
| US20090006663A1 (en) * | 2007-06-27 | 2009-01-01 | Archer Charles J | Direct Memory Access ('DMA') Engine Assisted Local Reduction |
| JP2009110209A (ja) * | 2007-10-29 | 2009-05-21 | Panasonic Corp | 演算処理装置、プロセッサ、プログラム変換装置およびプログラム |
| US8171476B2 (en) * | 2008-02-01 | 2012-05-01 | International Business Machines Corporation | Wake-and-go mechanism with prioritization of threads |
| US8250396B2 (en) * | 2008-02-01 | 2012-08-21 | International Business Machines Corporation | Hardware wake-and-go mechanism for a data processing system |
| US8127080B2 (en) | 2008-02-01 | 2012-02-28 | International Business Machines Corporation | Wake-and-go mechanism with system address bus transaction master |
| US8732683B2 (en) * | 2008-02-01 | 2014-05-20 | International Business Machines Corporation | Compiler providing idiom to idiom accelerator |
| US8788795B2 (en) * | 2008-02-01 | 2014-07-22 | International Business Machines Corporation | Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors |
| US8145849B2 (en) | 2008-02-01 | 2012-03-27 | International Business Machines Corporation | Wake-and-go mechanism with system bus response |
| US8312458B2 (en) * | 2008-02-01 | 2012-11-13 | International Business Machines Corporation | Central repository for wake-and-go mechanism |
| US8386822B2 (en) * | 2008-02-01 | 2013-02-26 | International Business Machines Corporation | Wake-and-go mechanism with data monitoring |
| US8316218B2 (en) | 2008-02-01 | 2012-11-20 | International Business Machines Corporation | Look-ahead wake-and-go engine with speculative execution |
| US8516484B2 (en) * | 2008-02-01 | 2013-08-20 | International Business Machines Corporation | Wake-and-go mechanism for a data processing system |
| US8880853B2 (en) * | 2008-02-01 | 2014-11-04 | International Business Machines Corporation | CAM-based wake-and-go snooping engine for waking a thread put to sleep for spinning on a target address lock |
| US8341635B2 (en) | 2008-02-01 | 2012-12-25 | International Business Machines Corporation | Hardware wake-and-go mechanism with look-ahead polling |
| US8452947B2 (en) * | 2008-02-01 | 2013-05-28 | International Business Machines Corporation | Hardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms |
| US8725992B2 (en) | 2008-02-01 | 2014-05-13 | International Business Machines Corporation | Programming language exposing idiom calls to a programming idiom accelerator |
| US8225120B2 (en) * | 2008-02-01 | 2012-07-17 | International Business Machines Corporation | Wake-and-go mechanism with data exclusivity |
| US8640141B2 (en) * | 2008-02-01 | 2014-01-28 | International Business Machines Corporation | Wake-and-go mechanism with hardware private array |
| US8612977B2 (en) * | 2008-02-01 | 2013-12-17 | International Business Machines Corporation | Wake-and-go mechanism with software save of thread state |
| US8422402B2 (en) | 2008-04-01 | 2013-04-16 | International Business Machines Corporation | Broadcasting a message in a parallel computer |
| US8281053B2 (en) | 2008-07-21 | 2012-10-02 | International Business Machines Corporation | Performing an all-to-all data exchange on a plurality of data buffers by performing swap operations |
| CN101788922B (zh) * | 2009-01-22 | 2013-12-25 | 国际商业机器公司 | 基于辅助线程实现事务存储系统的方法和装置 |
| KR101581311B1 (ko) * | 2009-03-11 | 2015-12-31 | 삼성전자주식회사 | 플래시 메모리 장치 및 그 제어 방법 |
| US8145723B2 (en) * | 2009-04-16 | 2012-03-27 | International Business Machines Corporation | Complex remote update programming idiom accelerator |
| US8886919B2 (en) | 2009-04-16 | 2014-11-11 | International Business Machines Corporation | Remote update programming idiom accelerator with allocated processor resources |
| US8082315B2 (en) * | 2009-04-16 | 2011-12-20 | International Business Machines Corporation | Programming idiom accelerator for remote update |
| US8230201B2 (en) * | 2009-04-16 | 2012-07-24 | International Business Machines Corporation | Migrating sleeping and waking threads between wake-and-go mechanisms in a multiple processor data processing system |
| US8156275B2 (en) | 2009-05-13 | 2012-04-10 | Apple Inc. | Power managed lock optimization |
| US8364862B2 (en) * | 2009-06-11 | 2013-01-29 | Intel Corporation | Delegating a poll operation to another device |
| JP5608738B2 (ja) * | 2009-06-26 | 2014-10-15 | インテル・コーポレーション | 無制限トランザクショナルメモリ(utm)システムの最適化 |
| EP2284693A1 (en) * | 2009-08-03 | 2011-02-16 | C.R.F. Società Consortile per Azioni | Wait instruction |
| US8695002B2 (en) * | 2009-10-20 | 2014-04-08 | Lantiq Deutschland Gmbh | Multi-threaded processors and multi-processor systems comprising shared resources |
| US20110173420A1 (en) * | 2010-01-08 | 2011-07-14 | International Business Machines Corporation | Processor resume unit |
| US8447960B2 (en) * | 2010-01-08 | 2013-05-21 | International Business Machines Corporation | Pausing and activating thread state upon pin assertion by external logic monitoring polling loop exit time condition |
| US8464035B2 (en) | 2009-12-18 | 2013-06-11 | Intel Corporation | Instruction for enabling a processor wait state |
| US9424087B2 (en) | 2010-04-29 | 2016-08-23 | International Business Machines Corporation | Optimizing collective operations |
| US8949577B2 (en) | 2010-05-28 | 2015-02-03 | International Business Machines Corporation | Performing a deterministic reduction operation in a parallel computer |
| CN102483708B (zh) * | 2010-07-07 | 2016-01-20 | 松下电器产业株式会社 | 处理器 |
| US8776081B2 (en) | 2010-09-14 | 2014-07-08 | International Business Machines Corporation | Send-side matching of data communications messages |
| US8566841B2 (en) * | 2010-11-10 | 2013-10-22 | International Business Machines Corporation | Processing communications events in parallel active messaging interface by awakening thread from wait state |
| US8713362B2 (en) | 2010-12-01 | 2014-04-29 | International Business Machines Corporation | Obviation of recovery of data store consistency for application I/O errors |
| US8694821B2 (en) * | 2010-12-03 | 2014-04-08 | International Business Machines Corporation | Generation of standby images of applications |
| CN102736945B (zh) * | 2011-03-31 | 2016-05-18 | 国际商业机器公司 | 一种运行应用程序的多个实例的方法和系统 |
| CN102760176B (zh) * | 2011-04-29 | 2015-02-11 | 无锡江南计算技术研究所 | 硬件事务级仿真方法、引擎及系统 |
| US8893083B2 (en) | 2011-08-09 | 2014-11-18 | International Business Machines Coporation | Collective operation protocol selection in a parallel computer |
| US8667501B2 (en) | 2011-08-10 | 2014-03-04 | International Business Machines Corporation | Performing a local barrier operation |
| US8910178B2 (en) | 2011-08-10 | 2014-12-09 | International Business Machines Corporation | Performing a global barrier operation in a parallel computer |
| US8868843B2 (en) | 2011-11-30 | 2014-10-21 | Advanced Micro Devices, Inc. | Hardware filter for tracking block presence in large caches |
| US9798548B2 (en) | 2011-12-21 | 2017-10-24 | Nvidia Corporation | Methods and apparatus for scheduling instructions using pre-decode data |
| WO2013095570A1 (en) | 2011-12-22 | 2013-06-27 | Intel Corporation | Instruction that specifies an application thread performance state |
| JP5819184B2 (ja) | 2011-12-28 | 2015-11-18 | 富士通株式会社 | 情報処理装置及び情報処理装置の制御方法 |
| US20150143071A1 (en) * | 2011-12-30 | 2015-05-21 | Ravi L. Sahita | Memory event notification |
| US8706847B2 (en) | 2012-02-09 | 2014-04-22 | International Business Machines Corporation | Initiating a collective operation in a parallel computer |
| US9495135B2 (en) | 2012-02-09 | 2016-11-15 | International Business Machines Corporation | Developing collective operations for a parallel computer |
| WO2013147887A1 (en) | 2012-03-30 | 2013-10-03 | Intel Corporation | Context switching mechanism for a processing core having a general purpose cpu core and a tightly coupled accelerator |
| US9218288B2 (en) | 2012-06-15 | 2015-12-22 | International Business Machines Corporation | Monitoring a value in storage without repeated storage access |
| US9256455B2 (en) * | 2012-11-20 | 2016-02-09 | Red Hat Isreal, Ltd. | Delivery of events from a virtual machine to host CPU using memory monitoring instructions |
| US9563425B2 (en) | 2012-11-28 | 2017-02-07 | Intel Corporation | Instruction and logic to provide pushing buffer copy and store functionality |
| US9141454B2 (en) * | 2012-12-27 | 2015-09-22 | Intel Corporation | Signaling software recoverable errors |
| US10705961B2 (en) | 2013-09-27 | 2020-07-07 | Intel Corporation | Scalably mechanism to implement an instruction that monitors for writes to an address |
| EP3074860A4 (en) * | 2013-11-25 | 2017-10-11 | Marvell World Trade Ltd. | Systems and methods for loop suspension in java programming |
| US9417876B2 (en) | 2014-03-27 | 2016-08-16 | International Business Machines Corporation | Thread context restoration in a multithreading computer system |
| US9594660B2 (en) | 2014-03-27 | 2017-03-14 | International Business Machines Corporation | Multithreading computer system and program product for executing a query instruction for idle time accumulation among cores |
| US9804846B2 (en) | 2014-03-27 | 2017-10-31 | International Business Machines Corporation | Thread context preservation in a multithreading computer system |
| US10102004B2 (en) | 2014-03-27 | 2018-10-16 | International Business Machines Corporation | Hardware counters to track utilization in a multithreading computer system |
| US9921848B2 (en) | 2014-03-27 | 2018-03-20 | International Business Machines Corporation | Address expansion and contraction in a multithreading computer system |
| US9218185B2 (en) | 2014-03-27 | 2015-12-22 | International Business Machines Corporation | Multithreading capability information retrieval |
| US9354883B2 (en) | 2014-03-27 | 2016-05-31 | International Business Machines Corporation | Dynamic enablement of multithreading |
| US9552033B2 (en) * | 2014-04-22 | 2017-01-24 | Qualcomm Incorporated | Latency-based power mode units for controlling power modes of processor cores, and related methods and systems |
| US9778949B2 (en) * | 2014-05-05 | 2017-10-03 | Google Inc. | Thread waiting in a multithreaded processor architecture |
| US9256477B2 (en) * | 2014-05-29 | 2016-02-09 | Netapp, Inc. | Lockless waterfall thread communication |
| US9477521B2 (en) | 2014-05-29 | 2016-10-25 | Netapp, Inc. | Method and system for scheduling repetitive tasks in O(1) |
| US9304702B2 (en) | 2014-05-29 | 2016-04-05 | Netapp, Inc. | System and method for parallelized performance data collection in a computing system |
| GB2529899B (en) * | 2014-09-08 | 2021-06-23 | Advanced Risc Mach Ltd | Shared Resources in a Data Processing Apparatus for Executing a Plurality of Threads |
| JP6227151B2 (ja) * | 2014-10-03 | 2017-11-08 | インテル・コーポレーション | アドレスへの書き込みに対する監視命令を実行するスケーラブル機構 |
| US11080064B2 (en) | 2014-10-28 | 2021-08-03 | International Business Machines Corporation | Instructions controlling access to shared registers of a multi-threaded processor |
| US9575802B2 (en) | 2014-10-28 | 2017-02-21 | International Business Machines Corporation | Controlling execution of threads in a multi-threaded processor |
| JP6314246B2 (ja) * | 2014-11-11 | 2018-04-18 | ルネサスエレクトロニクス株式会社 | 命令実行制御システム及び命令実行制御方法 |
| WO2016088220A1 (ja) * | 2014-12-03 | 2016-06-09 | 株式会社日立製作所 | 計算機及び論理プロセッサの制御方法 |
| CN105843592A (zh) * | 2015-01-12 | 2016-08-10 | 芋头科技(杭州)有限公司 | 一种在预设嵌入式系统中实现脚本操作的系统 |
| GB2537115B (en) * | 2015-04-02 | 2021-08-25 | Advanced Risc Mach Ltd | Event monitoring in a multi-threaded data processing apparatus |
| US10908909B2 (en) * | 2015-06-09 | 2021-02-02 | Optimum Semiconductor Technologies Inc. | Processor with mode support |
| KR102476357B1 (ko) | 2015-08-06 | 2022-12-09 | 삼성전자주식회사 | 클럭 관리 유닛과 이를 적용하는 집적 회로 및 시스템 온 칩 및 그 동작 방법 |
| US9916178B2 (en) | 2015-09-25 | 2018-03-13 | Intel Corporation | Technologies for integrated thread scheduling |
| GB2544994A (en) * | 2015-12-02 | 2017-06-07 | Swarm64 As | Data processing |
| CN105677487B (zh) * | 2016-01-12 | 2019-02-15 | 浪潮通用软件有限公司 | 一种控制资源占用的方法及装置 |
| US11023233B2 (en) | 2016-02-09 | 2021-06-01 | Intel Corporation | Methods, apparatus, and instructions for user level thread suspension |
| US11061730B2 (en) * | 2016-11-18 | 2021-07-13 | Red Hat Israel, Ltd. | Efficient scheduling for hyper-threaded CPUs using memory monitoring |
| CN108255587B (zh) * | 2016-12-29 | 2021-08-24 | 展讯通信(上海)有限公司 | 一种同步多线程处理器 |
| US10353817B2 (en) * | 2017-03-07 | 2019-07-16 | International Business Machines Corporation | Cache miss thread balancing |
| US10275254B2 (en) | 2017-03-08 | 2019-04-30 | International Business Machines Corporation | Spin loop delay instruction |
| TWI648620B (zh) * | 2017-08-07 | 2019-01-21 | 慧榮科技股份有限公司 | 記憶體裝置以及操作指令錯誤處理方法 |
| KR102043538B1 (ko) * | 2018-01-18 | 2019-11-11 | 주식회사 알티스트 | 파티셔닝을 적용하여 프로세스를 모니터링하는 컴퓨팅 시스템 |
| CN109508229A (zh) * | 2018-09-19 | 2019-03-22 | 安徽慧视金瞳科技有限公司 | 一种多点同时绘制的匹配方法 |
| US11068407B2 (en) | 2018-10-26 | 2021-07-20 | International Business Machines Corporation | Synchronized access to data in shared memory by protecting the load target address of a load-reserve instruction |
| US10884740B2 (en) | 2018-11-08 | 2021-01-05 | International Business Machines Corporation | Synchronized access to data in shared memory by resolving conflicting accesses by co-located hardware threads |
| US11119781B2 (en) | 2018-12-11 | 2021-09-14 | International Business Machines Corporation | Synchronized access to data in shared memory by protecting the load target address of a fronting load |
| US11086672B2 (en) | 2019-05-07 | 2021-08-10 | International Business Machines Corporation | Low latency management of processor core wait state |
| US11231881B2 (en) | 2020-04-02 | 2022-01-25 | Dell Products L.P. | Raid data storage device multi-step command coordination system |
| US11106608B1 (en) | 2020-06-22 | 2021-08-31 | International Business Machines Corporation | Synchronizing access to shared memory by extending protection for a target address of a store-conditional request |
| CN111857591B (zh) * | 2020-07-20 | 2024-08-09 | 昆仑芯(北京)科技有限公司 | 用于执行指令的方法、装置、设备和计算机可读存储介质 |
| US12164977B2 (en) * | 2020-12-23 | 2024-12-10 | Intel Corporation | Advanced queue monitoring system |
| CN114489792B (zh) | 2021-03-25 | 2022-10-11 | 沐曦集成电路(上海)有限公司 | 处理器装置及其指令执行方法 |
| US11693776B2 (en) | 2021-06-18 | 2023-07-04 | International Business Machines Corporation | Variable protection window extension for a target address of a store-conditional request |
| CN116089116B (zh) * | 2022-12-16 | 2024-05-31 | 成都海光集成电路设计有限公司 | 数据处理方法及装置 |
| CN116185891B (zh) * | 2023-04-27 | 2023-07-21 | 珠海妙存科技有限公司 | 描述符管理方法 |
Family Cites Families (47)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4491910A (en) * | 1982-02-22 | 1985-01-01 | Texas Instruments Incorporated | Microcomputer having data shift within memory |
| JPS59111526A (ja) | 1982-12-16 | 1984-06-27 | Fujitsu Ltd | 信号処理方式 |
| JPH06105460B2 (ja) | 1988-06-07 | 1994-12-21 | 富士通株式会社 | マルチプロセッサのプロセッサ切換え装置 |
| GB8817911D0 (en) | 1988-07-27 | 1988-09-01 | Int Computers Ltd | Data processing apparatus |
| US4965718A (en) | 1988-09-29 | 1990-10-23 | International Business Machines Corporation | Data processing system incorporating a memory resident directive for synchronizing multiple tasks among plurality of processing elements by monitoring alternation of semaphore data |
| RU2042193C1 (ru) * | 1991-10-08 | 1995-08-20 | Институт кибернетики им.В.М.Глушкова АН Украины | Вычислительная система |
| US5357617A (en) | 1991-11-22 | 1994-10-18 | International Business Machines Corporation | Method and apparatus for substantially concurrent multiple instruction thread processing by a single pipeline processor |
| JP2866241B2 (ja) | 1992-01-30 | 1999-03-08 | 株式会社東芝 | コンピュータシステムおよびスケジューリング方法 |
| US5428757A (en) * | 1992-04-29 | 1995-06-27 | International Business Machines Corporation | Method for reducing translation look aside buffer purges in a multitasking system |
| US5546593A (en) | 1992-05-18 | 1996-08-13 | Matsushita Electric Industrial Co., Ltd. | Multistream instruction processor able to reduce interlocks by having a wait state for an instruction stream |
| JP3678759B2 (ja) | 1992-07-21 | 2005-08-03 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 割込を発生するための装置および割込を発生するための方法 |
| US5493660A (en) * | 1992-10-06 | 1996-02-20 | Hewlett-Packard Company | Software assisted hardware TLB miss handler |
| US5584031A (en) | 1993-11-09 | 1996-12-10 | Motorola Inc. | System and method for executing a low power delay instruction |
| US5546037A (en) | 1993-11-15 | 1996-08-13 | Cirrus Logic, Inc. | NAPNOP circuit for conserving power in computer systems |
| US5584014A (en) * | 1994-12-20 | 1996-12-10 | Sun Microsystems, Inc. | Apparatus and method to preserve data in a set associative memory device |
| JPH08212512A (ja) * | 1995-02-03 | 1996-08-20 | Hitachi Ltd | 磁気記憶装置及びそれに用いる薄膜磁気ヘッドとその製造方法 |
| JPH08320797A (ja) | 1995-05-24 | 1996-12-03 | Fuji Xerox Co Ltd | プログラム制御システム |
| JPH096633A (ja) | 1995-06-07 | 1997-01-10 | Internatl Business Mach Corp <Ibm> | データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム |
| US5933627A (en) | 1996-07-01 | 1999-08-03 | Sun Microsystems | Thread switch on blocked load or store using instruction thread field |
| DE69717369T2 (de) | 1996-08-27 | 2003-09-11 | Matsushita Electric Ind Co Ltd | Vielfadenprozessor zur Verarbeitung von mehreren Befehlsströmen unabhängig von einander durch eine flexible Durchsatzsteuerung in jedem Befehlsstrom |
| US5961639A (en) | 1996-12-16 | 1999-10-05 | International Business Machines Corporation | Processor and method for dynamically inserting auxiliary instructions within an instruction stream during execution |
| US5835705A (en) * | 1997-03-11 | 1998-11-10 | International Business Machines Corporation | Method and system for performance per-thread monitoring in a multithreaded processor |
| US6463527B1 (en) | 1997-03-21 | 2002-10-08 | Uzi Y. Vishkin | Spawn-join instruction set architecture for providing explicit multithreading |
| UA55489C2 (uk) * | 1997-10-07 | 2003-04-15 | Каналь+ Сосьєте Анонім | Пристрій для багатопотокової обробки даних (варіанти) |
| US6076157A (en) | 1997-10-23 | 2000-06-13 | International Business Machines Corporation | Method and apparatus to force a thread switch in a multithreaded processor |
| US6016542A (en) * | 1997-12-31 | 2000-01-18 | Intel Corporation | Detecting long latency pipeline stalls for thread switching |
| JP2000010910A (ja) * | 1998-06-22 | 2000-01-14 | Nec Corp | データ転送制御装置およびデータ転送制御方法ならびに記録媒体 |
| US6920634B1 (en) * | 1998-08-03 | 2005-07-19 | International Business Machines Corporation | Detecting and causing unsafe latent accesses to a resource in multi-threaded programs |
| US6505229B1 (en) * | 1998-09-25 | 2003-01-07 | Intelect Communications, Inc. | Method for allowing multiple processing threads and tasks to execute on one or more processor units for embedded real-time processor systems |
| US6401155B1 (en) * | 1998-12-22 | 2002-06-04 | Philips Electronics North America Corporation | Interrupt/software-controlled thread processing |
| SG65097A1 (en) | 1998-12-28 | 2001-08-21 | Compaq Computer Corp | Break event generation during transitions between modes of operation in a computer system |
| US6535905B1 (en) | 1999-04-29 | 2003-03-18 | Intel Corporation | Method and apparatus for thread switching within a multithreaded processor |
| US6351808B1 (en) * | 1999-05-11 | 2002-02-26 | Sun Microsystems, Inc. | Vertically and horizontally threaded processor with multidimensional storage for storing thread data |
| US6341347B1 (en) * | 1999-05-11 | 2002-01-22 | Sun Microsystems, Inc. | Thread switch logic in a multiple-thread processor |
| US6493741B1 (en) | 1999-10-01 | 2002-12-10 | Compaq Information Technologies Group, L.P. | Method and apparatus to quiesce a portion of a simultaneous multithreaded central processing unit |
| US6496925B1 (en) | 1999-12-09 | 2002-12-17 | Intel Corporation | Method and apparatus for processing an event occurrence within a multithreaded processor |
| US6357016B1 (en) | 1999-12-09 | 2002-03-12 | Intel Corporation | Method and apparatus for disabling a clock signal within a multithreaded processor |
| US6671795B1 (en) | 2000-01-21 | 2003-12-30 | Intel Corporation | Method and apparatus for pausing execution in a processor or the like |
| US7856633B1 (en) | 2000-03-24 | 2010-12-21 | Intel Corporation | LRU cache replacement for a partitioned set associative cache |
| US6931639B1 (en) * | 2000-08-24 | 2005-08-16 | International Business Machines Corporation | Method for implementing a variable-partitioned queue for simultaneous multithreaded processors |
| TW461627U (en) * | 2000-12-21 | 2001-10-21 | Hon Hai Prec Ind Co Ltd | Electrical connector |
| US6625698B2 (en) * | 2000-12-28 | 2003-09-23 | Unisys Corporation | Method and apparatus for controlling memory storage locks based on cache line ownership |
| US6463511B2 (en) * | 2000-12-29 | 2002-10-08 | Intel Corporation | System and method for high performance execution of locked memory instructions in a system with distributed memory and a restrictive memory model |
| US7120762B2 (en) * | 2001-10-19 | 2006-10-10 | Wisconsin Alumni Research Foundation | Concurrent execution of critical sections by eliding ownership of locks |
| US20030126416A1 (en) | 2001-12-31 | 2003-07-03 | Marr Deborah T. | Suspending execution of a thread in a multi-threaded processor |
| US7127561B2 (en) | 2001-12-31 | 2006-10-24 | Intel Corporation | Coherency techniques for suspending execution of a thread until a specified memory access occurs |
| US20030126379A1 (en) | 2001-12-31 | 2003-07-03 | Shiv Kaushik | Instruction sequences for suspending execution of a thread until a specified memory access occurs |
-
2001
- 2001-12-31 US US10/039,579 patent/US7363474B2/en not_active Expired - Lifetime
-
2002
- 2002-12-11 KR KR1020047010389A patent/KR100814993B1/ko not_active Expired - Lifetime
- 2002-12-11 DE DE10297596.5T patent/DE10297596B4/de not_active Expired - Lifetime
- 2002-12-11 JP JP2003558691A patent/JP4601958B2/ja not_active Expired - Lifetime
- 2002-12-11 CN CNB028265904A patent/CN100383740C/zh not_active Expired - Lifetime
- 2002-12-11 AU AU2002364557A patent/AU2002364557A1/en not_active Abandoned
- 2002-12-11 GB GB0412867A patent/GB2400947B/en not_active Expired - Lifetime
- 2002-12-11 DE DE10297856.5A patent/DE10297856B4/de not_active Expired - Lifetime
- 2002-12-11 RU RU2004123622/09A patent/RU2308754C2/ru not_active IP Right Cessation
- 2002-12-11 WO PCT/US2002/039786 patent/WO2003058447A2/en not_active Ceased
- 2002-12-25 TW TW091137282A patent/TWI322959B/zh not_active IP Right Cessation
- 2002-12-25 TW TW097151472A patent/TWI590153B/zh not_active IP Right Cessation
-
2007
- 2007-08-08 US US11/891,076 patent/US20080034190A1/en not_active Abandoned
-
2008
- 2008-03-26 JP JP2008081180A patent/JP4990829B2/ja not_active Expired - Lifetime
Non-Patent Citations (1)
| Title |
|---|
| TR1430.pdf |
Also Published As
| Publication number | Publication date |
|---|---|
| US20080034190A1 (en) | 2008-02-07 |
| RU2004123622A (ru) | 2005-03-27 |
| TWI322959B (en) | 2010-04-01 |
| WO2003058447A3 (en) | 2004-12-16 |
| JP2008165834A (ja) | 2008-07-17 |
| AU2002364557A8 (en) | 2003-07-24 |
| WO2003058447A2 (en) | 2003-07-17 |
| US7363474B2 (en) | 2008-04-22 |
| CN1688974A (zh) | 2005-10-26 |
| TW200305820A (en) | 2003-11-01 |
| JP2006500639A (ja) | 2006-01-05 |
| DE10297596T5 (de) | 2004-12-02 |
| US20030126186A1 (en) | 2003-07-03 |
| AU2002364557A1 (en) | 2003-07-24 |
| RU2308754C2 (ru) | 2007-10-20 |
| GB0412867D0 (en) | 2004-07-14 |
| TW200941340A (en) | 2009-10-01 |
| TWI590153B (zh) | 2017-07-01 |
| DE10297596B4 (de) | 2017-09-07 |
| GB2400947B (en) | 2005-08-24 |
| GB2400947A (en) | 2004-10-27 |
| CN100383740C (zh) | 2008-04-23 |
| HK1066883A1 (en) | 2005-04-01 |
| JP4990829B2 (ja) | 2012-08-01 |
| DE10297856B4 (de) | 2014-07-17 |
| KR20040068993A (ko) | 2004-08-02 |
| JP4601958B2 (ja) | 2010-12-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100814993B1 (ko) | 특정 메모리 액세스가 발생할 때까지 스레드의 실행을중단하기 위한 방법 및 장치 | |
| US7127561B2 (en) | Coherency techniques for suspending execution of a thread until a specified memory access occurs | |
| KR100864747B1 (ko) | 모니터-메모리 대기를 사용하여 큐잉된 로크들 | |
| US20030126379A1 (en) | Instruction sequences for suspending execution of a thread until a specified memory access occurs | |
| KR100617417B1 (ko) | 멀티-스레딩 프로세서에서 스레드의 실행을 정지시키기위한 시스템 및 방법 | |
| US6687809B2 (en) | Maintaining processor ordering by checking load addresses of unretired load instructions against snooping store addresses | |
| US8539485B2 (en) | Polling using reservation mechanism | |
| US9733937B2 (en) | Compare and exchange operation using sleep-wakeup mechanism | |
| TW201510860A (zh) | 多核心同步機制 | |
| TW201508635A (zh) | 多核心微處理器動態重新配置 | |
| TW201508643A (zh) | 在微處理器中至多核心的微碼傳播 | |
| US6006325A (en) | Method and apparatus for instruction and data serialization in a computer processor | |
| Becker et al. | Measuring software performance on linux | |
| CN112639728B (zh) | 用于事务存储器的设备和数据处理方法 | |
| GB2441903A (en) | Resuming control of resources by a processor on exiting a sleep mode and disabling an associated monitor. | |
| KR20260018900A (ko) | 태스크 위임에서의 위험 점검 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
Patent event date: 20040630 Patent event code: PA01051R01D Comment text: International Patent Application |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| AMND | Amendment | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20040901 Comment text: Request for Examination of Application |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20060410 Patent event code: PE09021S01D |
|
| AMND | Amendment | ||
| E601 | Decision to refuse application | ||
| PE0601 | Decision on rejection of patent |
Patent event date: 20061229 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20060410 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |
|
| J201 | Request for trial against refusal decision | ||
| PJ0201 | Trial against decision of rejection |
Patent event date: 20070402 Comment text: Request for Trial against Decision on Refusal Patent event code: PJ02012R01D Patent event date: 20061229 Comment text: Decision to Refuse Application Patent event code: PJ02011S01I Appeal kind category: Appeal against decision to decline refusal Decision date: 20071206 Appeal identifier: 2007101003560 Request date: 20070402 |
|
| AMND | Amendment | ||
| PB0901 | Examination by re-examination before a trial |
Comment text: Amendment to Specification, etc. Patent event date: 20070502 Patent event code: PB09011R02I Comment text: Request for Trial against Decision on Refusal Patent event date: 20070402 Patent event code: PB09011R01I Comment text: Amendment to Specification, etc. Patent event date: 20060710 Patent event code: PB09011R02I Comment text: Amendment to Specification, etc. Patent event date: 20040901 Patent event code: PB09011R02I |
|
| B601 | Maintenance of original decision after re-examination before a trial | ||
| E801 | Decision on dismissal of amendment | ||
| PB0601 | Maintenance of original decision after re-examination before a trial |
Comment text: Report of Result of Re-examination before a Trial Patent event code: PB06011S01D Patent event date: 20070605 |
|
| PE0801 | Dismissal of amendment |
Patent event code: PE08012E01D Comment text: Decision on Dismissal of Amendment Patent event date: 20070605 Patent event code: PE08011R01I Comment text: Amendment to Specification, etc. Patent event date: 20070502 Patent event code: PE08011R01I Comment text: Amendment to Specification, etc. Patent event date: 20060710 Patent event code: PE08011R01I Comment text: Amendment to Specification, etc. Patent event date: 20040901 |
|
| J301 | Trial decision |
Free format text: TRIAL NUMBER: 2007101003560; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20070402 Effective date: 20071206 |
|
| PJ1301 | Trial decision |
Patent event code: PJ13011S01D Patent event date: 20071207 Comment text: Trial Decision on Objection to Decision on Refusal Appeal kind category: Appeal against decision to decline refusal Request date: 20070402 Decision date: 20071206 Appeal identifier: 2007101003560 |
|
| PS0901 | Examination by remand of revocation | ||
| S901 | Examination by remand of revocation | ||
| GRNO | Decision to grant (after opposition) | ||
| PS0701 | Decision of registration after remand of revocation |
Patent event date: 20071224 Patent event code: PS07012S01D Comment text: Decision to Grant Registration Patent event date: 20071207 Patent event code: PS07011S01I Comment text: Notice of Trial Decision (Remand of Revocation) |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20080312 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20080312 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| PR1001 | Payment of annual fee |
Payment date: 20110303 Start annual number: 4 End annual number: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20120305 Start annual number: 5 End annual number: 5 |
|
| FPAY | Annual fee payment |
Payment date: 20130228 Year of fee payment: 6 |
|
| PR1001 | Payment of annual fee |
Payment date: 20130228 Start annual number: 6 End annual number: 6 |
|
| FPAY | Annual fee payment |
Payment date: 20140303 Year of fee payment: 7 |
|
| PR1001 | Payment of annual fee |
Payment date: 20140303 Start annual number: 7 End annual number: 7 |
|
| FPAY | Annual fee payment |
Payment date: 20150227 Year of fee payment: 8 |
|
| PR1001 | Payment of annual fee |
Payment date: 20150227 Start annual number: 8 End annual number: 8 |
|
| FPAY | Annual fee payment |
Payment date: 20160303 Year of fee payment: 9 |
|
| PR1001 | Payment of annual fee |
Payment date: 20160303 Start annual number: 9 End annual number: 9 |
|
| FPAY | Annual fee payment |
Payment date: 20170302 Year of fee payment: 10 |
|
| PR1001 | Payment of annual fee |
Payment date: 20170302 Start annual number: 10 End annual number: 10 |
|
| PR1001 | Payment of annual fee |
Payment date: 20180228 Start annual number: 11 End annual number: 11 |
|
| FPAY | Annual fee payment |
Payment date: 20190227 Year of fee payment: 12 |
|
| PR1001 | Payment of annual fee |
Payment date: 20190227 Start annual number: 12 End annual number: 12 |
|
| FPAY | Annual fee payment |
Payment date: 20200227 Year of fee payment: 13 |
|
| PR1001 | Payment of annual fee |
Payment date: 20200227 Start annual number: 13 End annual number: 13 |
|
| PR1001 | Payment of annual fee |
Payment date: 20210305 Start annual number: 14 End annual number: 14 |
|
| PR1001 | Payment of annual fee |
Payment date: 20220307 Start annual number: 15 End annual number: 15 |
|
| PC1801 | Expiration of term |
Termination date: 20230611 Termination category: Expiration of duration |