KR101146359B1 - 로크 표시기를 갖는 멀티스레드 프로세서 - Google Patents

로크 표시기를 갖는 멀티스레드 프로세서 Download PDF

Info

Publication number
KR101146359B1
KR101146359B1 KR1020107014736A KR20107014736A KR101146359B1 KR 101146359 B1 KR101146359 B1 KR 101146359B1 KR 1020107014736 A KR1020107014736 A KR 1020107014736A KR 20107014736 A KR20107014736 A KR 20107014736A KR 101146359 B1 KR101146359 B1 KR 101146359B1
Authority
KR
South Korea
Prior art keywords
tlb
thread
lock indicator
sleep
locked
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
Application number
KR1020107014736A
Other languages
English (en)
Korean (ko)
Other versions
KR20100101629A (ko
Inventor
루시안 코드레스쿠
에리히 제이. 플론드케
수레쉬 케이 벤쿠마한티
Original Assignee
콸콤 인코포레이티드
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 콸콤 인코포레이티드 filed Critical 콸콤 인코포레이티드
Publication of KR20100101629A publication Critical patent/KR20100101629A/ko
Application granted granted Critical
Publication of KR101146359B1 publication Critical patent/KR101146359B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30083Power or thermal control instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/52Indexing scheme relating to G06F9/52
    • G06F2209/522Manager
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
KR1020107014736A 2007-12-03 2008-12-03 로크 표시기를 갖는 멀티스레드 프로세서 Expired - Fee Related KR101146359B1 (ko)

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
KR20100101629A KR20100101629A (ko) 2010-09-17
KR101146359B1 true KR101146359B1 (ko) 2012-05-17

Family

ID=40427128

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107014736A Expired - Fee Related KR101146359B1 (ko) 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101823129B1 (ko) * 2016-11-24 2018-03-09 주식회사 실크로드소프트 컴퓨팅 장치의 리소스를 분배하는 컴퓨터 프로그램, 방법 및 장치
KR20180058661A (ko) * 2016-11-24 2018-06-01 주식회사 실크로드소프트 컴퓨팅 장치의 리소스를 분배하는 컴퓨터 프로그램, 방법 및 장치

Families Citing this family (51)

* Cited by examiner, † Cited by third party
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 東芝メモリ株式会社 メモリ装置及び情報処理システム
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060029151A (ko) * 2003-06-27 2006-04-04 인텔 코오퍼레이션 모니터-메모리 대기를 사용하여 큐잉된 로크들
US20060294341A1 (en) * 2005-06-23 2006-12-28 Erich Plondke Shared translation look-aside buffer and method

Family Cites Families (10)

* Cited by examiner, † Cited by third party
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
US7159220B2 (en) * 2001-09-28 2007-01-02 Intel Corporation Flexible acceleration of java thread synchronization on multiprocessor computers
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 富士通株式会社 演算処理装置,情報処理装置及び演算処理装置の制御方法
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060029151A (ko) * 2003-06-27 2006-04-04 인텔 코오퍼레이션 모니터-메모리 대기를 사용하여 큐잉된 로크들
US20060294341A1 (en) * 2005-06-23 2006-12-28 Erich Plondke Shared translation look-aside buffer and method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101823129B1 (ko) * 2016-11-24 2018-03-09 주식회사 실크로드소프트 컴퓨팅 장치의 리소스를 분배하는 컴퓨터 프로그램, 방법 및 장치
WO2018097520A1 (ko) * 2016-11-24 2018-05-31 주식회사 실크로드소프트 컴퓨팅 장치의 리소스를 분배하는 컴퓨터 프로그램, 방법 및 장치
KR20180058661A (ko) * 2016-11-24 2018-06-01 주식회사 실크로드소프트 컴퓨팅 장치의 리소스를 분배하는 컴퓨터 프로그램, 방법 및 장치
KR102468506B1 (ko) 2016-11-24 2022-11-21 주식회사 실크로드소프트 컴퓨팅 장치의 리소스를 분배하는 컴퓨터 프로그램, 방법 및 장치

Also Published As

Publication number Publication date
CN101884029A (zh) 2010-11-10
JP2013145568A (ja) 2013-07-25
CN101884029B (zh) 2014-09-03
KR20100101629A (ko) 2010-09-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
KR101146359B1 (ko) 로크 표시기를 갖는 멀티스레드 프로세서
KR101146462B1 (ko) 멀티스레드 프로세서를 위한 공유된 인터럽트 제어기
JP4764360B2 (ja) メモリ属性を用いるための技術
JP5538442B2 (ja) リアルタイムマルチスレッドスケジューラおよびスケジューリング方法
JP3309425B2 (ja) キャッシュ制御装置
KR101671846B1 (ko) 트랜잭셔널 메모리 동작들을 수행하도록 구성된 프로세서
CN103814342A (zh) 多核心计算装置的动态睡眠
CN101566977B (zh) 处理器访问共享数据的方法、装置及系统
WO2010144832A1 (en) Partitioned replacement for cache memory
JP5254342B2 (ja) n−ウェイキャッシュを用いるシステムおよび方法
CN101313285A (zh) 高速缓存包含性的按组放宽
KR20140066914A (ko) 퍼포먼스 측정 유닛, 이를 포함하는 프로세서 코어 및 프로세스 프로파일링 방법
JP2734468B2 (ja) プロセッサ
JPWO2011096163A1 (ja) 情報処理システム、排他制御方法および排他制御用プログラム
JP2014053016A (ja) バスアクセス要求の選択的除外
WO2014100629A1 (en) System and method to reset a lock indication
JPH06337839A (ja) Cpu装置

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20190509

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20190509