CN101884029B - 具有锁定指示器的多线程处理器 - Google Patents
具有锁定指示器的多线程处理器 Download PDFInfo
- Publication number
- CN101884029B CN101884029B CN200880119089.6A CN200880119089A CN101884029B CN 101884029 B CN101884029 B CN 101884029B CN 200880119089 A CN200880119089 A CN 200880119089A CN 101884029 B CN101884029 B CN 101884029B
- Authority
- CN
- China
- Prior art keywords
- tlb
- lock
- thread
- response
- lock indicator
- 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
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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- 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
-
- 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
-
- 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/30083—Power or thermal 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/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/52—Indexing scheme relating to G06F9/52
- G06F2209/522—Manager
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/949,284 | 2007-12-03 | ||
| US11/949,284 US8140823B2 (en) | 2007-12-03 | 2007-12-03 | Multithreaded processor with lock indicator |
| PCT/US2008/085402 WO2009073722A1 (en) | 2007-12-03 | 2008-12-03 | Multithreaded processor with lock indicator |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN101884029A CN101884029A (zh) | 2010-11-10 |
| CN101884029B true CN101884029B (zh) | 2014-09-03 |
Family
ID=40427128
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN200880119089.6A Active CN101884029B (zh) | 2007-12-03 | 2008-12-03 | 具有锁定指示器的多线程处理器 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US8140823B2 (enExample) |
| EP (1) | EP2232370B1 (enExample) |
| JP (3) | JP2011505647A (enExample) |
| KR (1) | KR101146359B1 (enExample) |
| CN (1) | CN101884029B (enExample) |
| WO (1) | WO2009073722A1 (enExample) |
Families Citing this family (53)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8725992B2 (en) | 2008-02-01 | 2014-05-13 | International Business Machines Corporation | Programming language exposing idiom calls to a programming idiom accelerator |
| US8312458B2 (en) | 2008-02-01 | 2012-11-13 | International Business Machines Corporation | Central repository for wake-and-go mechanism |
| US8640141B2 (en) | 2008-02-01 | 2014-01-28 | International Business Machines Corporation | Wake-and-go mechanism with hardware private array |
| US8225120B2 (en) * | 2008-02-01 | 2012-07-17 | International Business Machines Corporation | Wake-and-go mechanism with data exclusivity |
| US8341635B2 (en) | 2008-02-01 | 2012-12-25 | International Business Machines Corporation | Hardware wake-and-go mechanism with look-ahead polling |
| 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 |
| US8788795B2 (en) | 2008-02-01 | 2014-07-22 | International Business Machines Corporation | Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors |
| 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 |
| US8250396B2 (en) * | 2008-02-01 | 2012-08-21 | International Business Machines Corporation | Hardware wake-and-go mechanism for a data processing system |
| US8145849B2 (en) * | 2008-02-01 | 2012-03-27 | International Business Machines Corporation | Wake-and-go mechanism with system bus response |
| US8386822B2 (en) * | 2008-02-01 | 2013-02-26 | International Business Machines Corporation | Wake-and-go mechanism with data monitoring |
| US8015379B2 (en) * | 2008-02-01 | 2011-09-06 | International Business Machines Corporation | Wake-and-go mechanism with exclusive system bus response |
| US8127080B2 (en) * | 2008-02-01 | 2012-02-28 | International Business Machines Corporation | Wake-and-go mechanism with system address bus transaction master |
| US8516484B2 (en) | 2008-02-01 | 2013-08-20 | International Business Machines Corporation | Wake-and-go mechanism for a data processing system |
| US8612977B2 (en) | 2008-02-01 | 2013-12-17 | International Business Machines Corporation | Wake-and-go mechanism with software save of thread state |
| US8171476B2 (en) | 2008-02-01 | 2012-05-01 | International Business Machines Corporation | Wake-and-go mechanism with prioritization of threads |
| US8732683B2 (en) * | 2008-02-01 | 2014-05-20 | International Business Machines Corporation | Compiler providing idiom to idiom accelerator |
| US8316218B2 (en) | 2008-02-01 | 2012-11-20 | International Business Machines Corporation | Look-ahead wake-and-go engine with speculative execution |
| US8479166B2 (en) * | 2008-08-25 | 2013-07-02 | International Business Machines Corporation | Detecting locking discipline violations on shared resources |
| 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 |
| US8145723B2 (en) | 2009-04-16 | 2012-03-27 | International Business Machines Corporation | Complex remote update programming idiom accelerator |
| JP5428617B2 (ja) * | 2009-07-28 | 2014-02-26 | 富士通株式会社 | プロセッサ及び演算処理方法 |
| CN102486753B (zh) | 2009-11-30 | 2015-09-16 | 国际商业机器公司 | 构建及允许访问高速缓存的方法、设备及存储系统 |
| US8775836B2 (en) * | 2010-12-23 | 2014-07-08 | Intel Corporation | Method, apparatus and system to save processor state for efficient transition between processor power states |
| US9633407B2 (en) * | 2011-07-29 | 2017-04-25 | Intel Corporation | CPU/GPU synchronization mechanism |
| US9009410B2 (en) * | 2011-08-23 | 2015-04-14 | Ceva D.S.P. Ltd. | System and method for locking data in a cache memory |
| TWI454905B (zh) | 2011-09-30 | 2014-10-01 | Intel Corp | 在多核心平台中之受限制的啓動技術 |
| CN102426540B (zh) * | 2011-11-14 | 2013-06-05 | 苏州阔地网络科技有限公司 | 一种分布式即时通信软件中全局会话备份切换方法及装置 |
| CN103377086A (zh) * | 2012-04-27 | 2013-10-30 | 华为技术有限公司 | 用于异步多核系统操作共享资源的方法、装置及系统 |
| GB2499277B (en) | 2012-08-30 | 2014-04-02 | Imagination Tech Ltd | Global register protection in a multi-threaded processor |
| US9501332B2 (en) * | 2012-12-20 | 2016-11-22 | Qualcomm Incorporated | System and method to reset a lock indication |
| US10007323B2 (en) | 2012-12-26 | 2018-06-26 | Intel Corporation | Platform power consumption reduction via power state switching |
| US9361116B2 (en) | 2012-12-28 | 2016-06-07 | Intel Corporation | Apparatus and method for low-latency invocation of accelerators |
| US10140129B2 (en) | 2012-12-28 | 2018-11-27 | Intel Corporation | Processing core having shared front end unit |
| US20140189333A1 (en) * | 2012-12-28 | 2014-07-03 | Oren Ben-Kiki | Apparatus and method for task-switchable synchronous hardware accelerators |
| US9417873B2 (en) | 2012-12-28 | 2016-08-16 | Intel Corporation | Apparatus and method for a hybrid latency-throughput processor |
| US10346195B2 (en) | 2012-12-29 | 2019-07-09 | Intel Corporation | Apparatus and method for invocation of a multi threaded accelerator |
| US10114752B2 (en) * | 2014-06-27 | 2018-10-30 | International Business Machines Corporation | Detecting cache conflicts by utilizing logical address comparisons in a transactional memory |
| 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 |
| US9665376B2 (en) * | 2014-12-15 | 2017-05-30 | International Business Machines Corporation | Sharing program interrupt logic in a multithreaded processor |
| KR101638136B1 (ko) * | 2015-05-14 | 2016-07-08 | 주식회사 티맥스 소프트 | 멀티 스레드 구조에서 작업 분배 시 스레드 간 락 경쟁을 최소화하는 방법 및 이를 사용한 장치 |
| GB2539958B (en) * | 2015-07-03 | 2019-09-25 | Advanced Risc Mach Ltd | Data processing systems |
| US9864700B1 (en) * | 2016-08-17 | 2018-01-09 | Advanced Micro Devices, Inc. | Method and apparatus for power reduction in a multi-threaded mode |
| JP2018041204A (ja) | 2016-09-06 | 2018-03-15 | 東芝メモリ株式会社 | メモリ装置及び情報処理システム |
| KR101823129B1 (ko) * | 2016-11-24 | 2018-03-09 | 주식회사 실크로드소프트 | 컴퓨팅 장치의 리소스를 분배하는 컴퓨터 프로그램, 방법 및 장치 |
| KR102468506B1 (ko) * | 2016-11-24 | 2022-11-21 | 주식회사 실크로드소프트 | 컴퓨팅 장치의 리소스를 분배하는 컴퓨터 프로그램, 방법 및 장치 |
| CN107451257A (zh) * | 2017-07-31 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种基于分布式文件系统的可维护性系统和方法 |
| US11361400B1 (en) | 2021-05-06 | 2022-06-14 | Arm Limited | Full tile primitives in tile-based graphics processing |
| US12013791B2 (en) | 2021-06-01 | 2024-06-18 | International Business Machines Corporation | Reset dynamic address translation protection instruction |
| US11593275B2 (en) | 2021-06-01 | 2023-02-28 | International Business Machines Corporation | Operating system deactivation of storage block write protection absent quiescing of processors |
| US11983538B2 (en) * | 2022-04-18 | 2024-05-14 | Cadence Design Systems, Inc. | Load-store unit dual tags and replays |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1577282A (zh) * | 2003-06-27 | 2005-02-09 | 英特尔公司 | 使用监视-存储器等待的被排序的锁定 |
| CN1630852A (zh) * | 2001-09-28 | 2005-06-22 | 英特尔公司 | 多处理器计算机上的java线程同步的灵活加速 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6754784B1 (en) * | 2000-02-01 | 2004-06-22 | Cirrus Logic, Inc. | Methods and circuits for securing encached information |
| US20010052053A1 (en) * | 2000-02-08 | 2001-12-13 | Mario Nemirovsky | Stream processing unit for a multi-streaming processor |
| US6742103B2 (en) * | 2000-08-21 | 2004-05-25 | Texas Instruments Incorporated | Processing system with shared translation lookaside buffer |
| US7234143B2 (en) * | 2002-06-20 | 2007-06-19 | Hewlett-Packard Development Company, L.P. | Spin-yielding in multi-threaded systems |
| AU2003250575A1 (en) * | 2002-08-07 | 2004-02-25 | Mmagix Technology Limited | Apparatus, method and system for a synchronicity independent, resource delegating, power and instruction optimizing processor |
| US7188229B2 (en) * | 2004-01-17 | 2007-03-06 | Sun Microsystems, Inc. | Method and apparatus for memory management in a multi-processor computer system |
| JP4576172B2 (ja) * | 2004-07-29 | 2010-11-04 | 富士通株式会社 | 演算処理装置,情報処理装置及び演算処理装置の制御方法 |
| US7398371B2 (en) * | 2005-06-23 | 2008-07-08 | Qualcomm Incorporated | Shared translation look-aside buffer and method |
| US7617380B2 (en) * | 2005-08-25 | 2009-11-10 | Broadcom Corporation | System and method for synchronizing translation lookaside buffer access in a multithread processor |
| US20070136725A1 (en) * | 2005-12-12 | 2007-06-14 | International Business Machines Corporation | System and method for optimized preemption and reservation of software locks |
-
2007
- 2007-12-03 US US11/949,284 patent/US8140823B2/en active Active
-
2008
- 2008-12-03 KR KR1020107014736A patent/KR101146359B1/ko not_active Expired - Fee Related
- 2008-12-03 CN CN200880119089.6A patent/CN101884029B/zh active Active
- 2008-12-03 WO PCT/US2008/085402 patent/WO2009073722A1/en not_active Ceased
- 2008-12-03 EP EP08856823.3A patent/EP2232370B1/en active Active
- 2008-12-03 JP JP2010537031A patent/JP2011505647A/ja active Pending
-
2013
- 2013-02-25 JP JP2013034561A patent/JP2013145568A/ja active Pending
-
2014
- 2014-06-04 JP JP2014116111A patent/JP2014197408A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1630852A (zh) * | 2001-09-28 | 2005-06-22 | 英特尔公司 | 多处理器计算机上的java线程同步的灵活加速 |
| CN1577282A (zh) * | 2003-06-27 | 2005-02-09 | 英特尔公司 | 使用监视-存储器等待的被排序的锁定 |
Non-Patent Citations (1)
| Title |
|---|
| 说明书附图4,说明书摘要. |
Also Published As
| Publication number | Publication date |
|---|---|
| CN101884029A (zh) | 2010-11-10 |
| JP2013145568A (ja) | 2013-07-25 |
| KR20100101629A (ko) | 2010-09-17 |
| KR101146359B1 (ko) | 2012-05-17 |
| WO2009073722A1 (en) | 2009-06-11 |
| JP2011505647A (ja) | 2011-02-24 |
| EP2232370A1 (en) | 2010-09-29 |
| JP2014197408A (ja) | 2014-10-16 |
| US8140823B2 (en) | 2012-03-20 |
| EP2232370B1 (en) | 2015-11-04 |
| US20090144519A1 (en) | 2009-06-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101884029B (zh) | 具有锁定指示器的多线程处理器 | |
| CN103814342B (zh) | 多核心计算装置的动态睡眠 | |
| US10949249B2 (en) | Task processor | |
| TWI512448B (zh) | 用以啟用處理器等待狀態之指令 | |
| EP1653331B1 (en) | An apparatus and method for entering and exiting low power mode | |
| JP3701910B2 (ja) | スリープ状態への移行 | |
| JP4759273B2 (ja) | データ処理装置及び共用資源へのアクセス制御方法 | |
| TWI597600B (zh) | 在運行狀態下藉由減少每個時脈的指令率之微處理器及其省電方法 | |
| JP2007520769A (ja) | モニタメモリ待機を用いたキューされたロック | |
| CN1666180A (zh) | 多处理器计算机系统 | |
| US7383450B2 (en) | Low power firmware | |
| US20130138843A1 (en) | Delegating a poll operation to another device | |
| CN102971708B (zh) | 多线程程序的低功率执行 | |
| JP2005539322A5 (enExample) | ||
| JPWO2011096163A1 (ja) | 情報処理システム、排他制御方法および排他制御用プログラム | |
| TWI485623B (zh) | 快速喚醒電腦系統方法與電腦系統 | |
| CN114416252A (zh) | 一种窗口显示方法、装置、计算设备和存储介质 | |
| US9411663B2 (en) | Conditional notification mechanism | |
| US20140250442A1 (en) | Conditional Notification Mechanism | |
| CN102436393B (zh) | 任务处理装置 | |
| CN111767153B (zh) | 资源访问方法、装置及电子设备 | |
| US20040024988A1 (en) | Synchronization of processor states | |
| JP2011044072A (ja) | アイドル状態検出回路、半導体集積回路、信号処理装置、アイドル状態検出方法 | |
| CN116991605A (zh) | 进程处理方法、装置、电子设备和可读存储介质 | |
| JP2008269365A (ja) | 情報処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant |