KR100988955B1 - 멀티스레디드 프로세서에서 레지스터 파일 포트 감소를위한 방법 및 장치 - Google Patents

멀티스레디드 프로세서에서 레지스터 파일 포트 감소를위한 방법 및 장치 Download PDF

Info

Publication number
KR100988955B1
KR100988955B1 KR1020057005953A KR20057005953A KR100988955B1 KR 100988955 B1 KR100988955 B1 KR 100988955B1 KR 1020057005953 A KR1020057005953 A KR 1020057005953A KR 20057005953 A KR20057005953 A KR 20057005953A KR 100988955 B1 KR100988955 B1 KR 100988955B1
Authority
KR
South Korea
Prior art keywords
register file
thread
processor
multithreaded processor
identifier
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
Application number
KR1020057005953A
Other languages
English (en)
Korean (ko)
Other versions
KR20050054998A (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 KR20050054998A publication Critical patent/KR20050054998A/ko
Application granted granted Critical
Publication of KR100988955B1 publication Critical patent/KR100988955B1/ko
Assigned to 아스펜 액퀴지션 코포레이션 reassignment 아스펜 액퀴지션 코포레이션 권리의 전부이전등록 Assignors: 샌드브리지 테크놀로지스, 인코포레이티드
Assigned to 퀄컴 인코포레이티드 reassignment 퀄컴 인코포레이티드 권리의 전부이전등록 Assignors: 아스펜 액퀴지션 코포레이션
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3888Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple threads [SIMT] in parallel
    • 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/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming

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)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
KR1020057005953A 2002-10-11 2003-10-09 멀티스레디드 프로세서에서 레지스터 파일 포트 감소를위한 방법 및 장치 Expired - Lifetime KR100988955B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/269,373 2002-10-11
US10/269,373 US6904511B2 (en) 2002-10-11 2002-10-11 Method and apparatus for register file port reduction in a multithreaded processor

Publications (2)

Publication Number Publication Date
KR20050054998A KR20050054998A (ko) 2005-06-10
KR100988955B1 true KR100988955B1 (ko) 2010-10-20

Family

ID=32068767

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057005953A Expired - Lifetime KR100988955B1 (ko) 2002-10-11 2003-10-09 멀티스레디드 프로세서에서 레지스터 파일 포트 감소를위한 방법 및 장치

Country Status (8)

Country Link
US (1) US6904511B2 (https=)
EP (2) EP1550030B1 (https=)
JP (1) JP4187720B2 (https=)
KR (1) KR100988955B1 (https=)
CN (1) CN100342325C (https=)
AU (1) AU2003282486A1 (https=)
ES (1) ES2848383T3 (https=)
WO (1) WO2004034209A2 (https=)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040193846A1 (en) * 2003-03-28 2004-09-30 Sprangle Eric A. Method and apparatus for utilizing multiple opportunity ports in a processor pipeline
EP1623307B1 (en) 2003-05-09 2015-07-01 QUALCOMM Incorporated Processor reduction unit for accumulation of multiple operands with or without saturation
US7475222B2 (en) * 2004-04-07 2009-01-06 Sandbridge Technologies, Inc. Multi-threaded processor having compound instruction and operation formats
US8074051B2 (en) 2004-04-07 2011-12-06 Aspen Acquisition Corporation Multithreaded processor with multiple concurrent pipelines per thread
US7797363B2 (en) * 2004-04-07 2010-09-14 Sandbridge Technologies, Inc. Processor having parallel vector multiply and reduce operations with sequential semantics
US7890735B2 (en) * 2004-08-30 2011-02-15 Texas Instruments Incorporated Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture
TW200625097A (en) * 2004-11-17 2006-07-16 Sandbridge Technologies Inc Data file storing multiple date types with controlled data access
US20060230253A1 (en) * 2005-04-11 2006-10-12 Lucian Codrescu Unified non-partitioned register files for a digital signal processor operating in an interleaved multi-threaded environment
US8713286B2 (en) * 2005-04-26 2014-04-29 Qualcomm Incorporated Register files for a digital signal processor operating in an interleaved multi-threaded environment
US20070223599A1 (en) * 2005-07-25 2007-09-27 Sysair, Inc., A Delaware Corporation Cellular PC modem architecture and method of operation
US8819099B2 (en) * 2006-09-26 2014-08-26 Qualcomm Incorporated Software implementation of matrix inversion in a wireless communication system
WO2008060948A2 (en) * 2006-11-10 2008-05-22 Sandbridge Technologies, Inc. Method and system for parallelization of pipelined computations
US20080276067A1 (en) * 2007-05-01 2008-11-06 Via Technologies, Inc. Method and Apparatus for Page Table Pre-Fetching in Zero Frame Display Channel
US8677101B2 (en) * 2007-06-07 2014-03-18 International Business Machines Corporation Method and apparatus for cooperative software multitasking in a processor system with a partitioned register file
CN101681261B (zh) 2007-06-20 2014-07-16 富士通株式会社 运算处理装置及其控制方法
CN101689110B (zh) * 2007-06-20 2013-07-31 富士通株式会社 指令执行控制装置以及指令执行控制方法
US8224884B2 (en) * 2007-07-06 2012-07-17 XMOS Ltd. Processor communication tokens
US8725991B2 (en) * 2007-09-12 2014-05-13 Qualcomm Incorporated Register file system and method for pipelined processing
US20100241834A1 (en) * 2007-11-05 2010-09-23 Sandbridge Technologies, Inc. Method of encoding using instruction field overloading
US8539188B2 (en) * 2008-01-30 2013-09-17 Qualcomm Incorporated Method for enabling multi-processor synchronization
EP2245529A1 (en) * 2008-02-18 2010-11-03 Sandbridge Technologies, Inc. Method to accelerate null-terminated string operations
WO2009114691A2 (en) * 2008-03-13 2009-09-17 Sandbridge Technologies, Inc. Method for achieving power savings by disabling a valid array
EP2324430A4 (en) 2008-08-06 2012-07-25 Aspen Acquisition Corp DIRECT MEMORY ACCESS MOTOR (DMA) THAT CAN BE STOPPED AND RESTARTED
US9207995B2 (en) 2010-11-03 2015-12-08 International Business Machines Corporation Mechanism to speed-up multithreaded execution by register file write port reallocation
JP5283739B2 (ja) * 2011-09-27 2013-09-04 インテル・コーポレーション プロセッサ内のマルチスレッド間通信
US9323528B2 (en) * 2012-12-20 2016-04-26 Intel Corporation Method, apparatus, system creating, executing and terminating mini-threads
GB2501791B (en) * 2013-01-24 2014-06-11 Imagination Tech Ltd Register file having a plurality of sub-register files
US9508112B2 (en) * 2013-07-31 2016-11-29 Apple Inc. Multi-threaded GPU pipeline
US9390033B2 (en) 2013-11-13 2016-07-12 Sandisk Technologies Llc Method and system for communicating with non-volatile memory via multiple data paths
US9377968B2 (en) 2013-11-13 2016-06-28 Sandisk Technologies Llc Method and system for using templates to communicate with non-volatile memory
US9430411B2 (en) 2013-11-13 2016-08-30 Sandisk Technologies Llc Method and system for communicating with non-volatile memory
GB2545307B (en) * 2013-11-29 2018-03-07 Imagination Tech Ltd A module and method implemented in a multi-threaded out-of-order processor
US9804846B2 (en) 2014-03-27 2017-10-31 International Business Machines Corporation Thread context preservation 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
US9921848B2 (en) * 2014-03-27 2018-03-20 International Business Machines Corporation Address expansion and contraction 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
EP3131004A4 (en) * 2014-04-11 2017-11-08 Murakumo Corporation Processor and method
US10514911B2 (en) 2014-11-26 2019-12-24 International Business Machines Corporation Structure for microprocessor including arithmetic logic units and an efficiency logic unit
US11544214B2 (en) 2015-02-02 2023-01-03 Optimum Semiconductor Technologies, Inc. Monolithic vector processor configured to operate on variable length vectors using a vector length register
CN115082282B (zh) * 2015-06-10 2025-10-31 无比视视觉技术有限公司 用于处理图像的图像处理器和方法
US20170177351A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Instructions and Logic for Even and Odd Vector Get Operations
US10338920B2 (en) 2015-12-18 2019-07-02 Intel Corporation Instructions and logic for get-multiple-vector-elements operations
CN114489792B (zh) 2021-03-25 2022-10-11 沐曦集成电路(上海)有限公司 处理器装置及其指令执行方法
US12443412B2 (en) 2022-01-30 2025-10-14 Simplex Micro, Inc. Method and apparatus for a scalable microprocessor with time counter
US12190116B2 (en) 2022-04-05 2025-01-07 Simplex Micro, Inc. Microprocessor with time count based instruction execution and replay
US12141580B2 (en) 2022-04-20 2024-11-12 Simplex Micro, Inc. Microprocessor with non-cacheable memory load prediction
US12169716B2 (en) 2022-04-20 2024-12-17 Simplex Micro, Inc. Microprocessor with a time counter for statically dispatching extended instructions
US12106114B2 (en) 2022-04-29 2024-10-01 Simplex Micro, Inc. Microprocessor with shared read and write buses and instruction issuance to multiple register sets in accordance with a time counter
US12288065B2 (en) 2022-04-29 2025-04-29 Simplex Micro, Inc. Microprocessor with odd and even register sets
US12112172B2 (en) 2022-06-01 2024-10-08 Simplex Micro, Inc. Vector coprocessor with time counter for statically dispatching instructions
US12282772B2 (en) 2022-07-13 2025-04-22 Simplex Micro, Inc. Vector processor with vector data buffer
US12147812B2 (en) 2022-07-13 2024-11-19 Simplex Micro, Inc. Out-of-order execution of loop instructions in a microprocessor
US12541369B2 (en) 2022-07-13 2026-02-03 Simplex Micro, Inc. Executing phantom loops in a microprocessor
US12566609B2 (en) 2023-03-14 2026-03-03 Simplex Micro, Inc. Microprocessor with apparatus and method for handling of instructions with long throughput
US12566610B2 (en) 2023-03-14 2026-03-03 Simplex Micro, Inc. Microprocessor with apparatus and method for replaying load instructions
US12566613B2 (en) 2023-11-13 2026-03-03 Simplex Micro, Inc. Microprocessor with speculative and in-order register sets

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038643A (en) 1996-01-24 2000-03-14 Sun Microsystems, Inc. Stack management unit and method for a processor having a stack
US6341347B1 (en) 1999-05-11 2002-01-22 Sun Microsystems, Inc. Thread switch logic in a multiple-thread processor

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5226131A (en) * 1989-12-27 1993-07-06 The United States Of America As Represented By The United States Department Of Energy Sequencing and fan-out mechanism for causing a set of at least two sequential instructions to be performed in a dataflow processing computer
US5404469A (en) * 1992-02-25 1995-04-04 Industrial Technology Research Institute Multi-threaded microprocessor architecture utilizing static interleaving
US5682491A (en) * 1994-12-29 1997-10-28 International Business Machines Corporation Selective processing and routing of results among processors controlled by decoding instructions using mask value derived from instruction tag and processor identifier
US6128720A (en) * 1994-12-29 2000-10-03 International Business Machines Corporation Distributed processing array with component processors performing customized interpretation of instructions
US5649135A (en) * 1995-01-17 1997-07-15 International Business Machines Corporation Parallel processing system and method using surrogate instructions
US5659785A (en) * 1995-02-10 1997-08-19 International Business Machines Corporation Array processor communication architecture with broadcast processor instructions
US5778243A (en) * 1996-07-03 1998-07-07 International Business Machines Corporation Multi-threaded cell for a memory
US6073159A (en) * 1996-12-31 2000-06-06 Compaq Computer Corporation Thread properties attribute vector based thread selection in multithreading processor
US6128641A (en) * 1997-09-12 2000-10-03 Siemens Aktiengesellschaft Data processing unit with hardware assisted context switching capability
US6079010A (en) * 1998-03-31 2000-06-20 Lucent Technologies Inc. Multiple machine view execution in a computer system
US6317821B1 (en) * 1998-05-18 2001-11-13 Lucent Technologies Inc. Virtual single-cycle execution in pipelined processors
US6209066B1 (en) * 1998-06-30 2001-03-27 Sun Microsystems, Inc. Method and apparatus for memory allocation in a multi-threaded virtual machine
US6260189B1 (en) * 1998-09-14 2001-07-10 Lucent Technologies Inc. Compiler-controlled dynamic instruction dispatch in pipelined processors
US6256725B1 (en) * 1998-12-04 2001-07-03 Agere Systems Guardian Corp. Shared datapath processor utilizing stack-based and register-based storage spaces
US6269437B1 (en) * 1999-03-22 2001-07-31 Agere Systems Guardian Corp. Duplicator interconnection methods and apparatus for reducing port pressure in a clustered processor
US6282585B1 (en) * 1999-03-22 2001-08-28 Agere Systems Guardian Corp. Cooperative interconnection for reducing port pressure in clustered microprocessors
US6230251B1 (en) * 1999-03-22 2001-05-08 Agere Systems Guardian Corp. File replication methods and apparatus for reducing port pressure in a clustered processor
US6542991B1 (en) * 1999-05-11 2003-04-01 Sun Microsystems, Inc. Multiple-thread processor with single-thread interface shared among threads
US6643747B2 (en) * 2000-12-27 2003-11-04 Intel Corporation Processing requests to efficiently access a limited bandwidth storage area
US20020103990A1 (en) * 2001-02-01 2002-08-01 Hanan Potash Programmed load precession machine
US7487505B2 (en) * 2001-08-27 2009-02-03 Intel Corporation Multithreaded microprocessor with register allocation based on number of active threads

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038643A (en) 1996-01-24 2000-03-14 Sun Microsystems, Inc. Stack management unit and method for a processor having a stack
US6341347B1 (en) 1999-05-11 2002-01-22 Sun Microsystems, Inc. Thread switch logic in a multiple-thread processor

Also Published As

Publication number Publication date
EP1550030B1 (en) 2020-11-18
AU2003282486A1 (en) 2004-05-04
CN1708745A (zh) 2005-12-14
US20040073779A1 (en) 2004-04-15
EP1550030A4 (en) 2008-03-05
JP4187720B2 (ja) 2008-11-26
US6904511B2 (en) 2005-06-07
AU2003282486A8 (en) 2004-05-04
EP1550030A2 (en) 2005-07-06
JP2006502504A (ja) 2006-01-19
WO2004034209A3 (en) 2004-09-02
KR20050054998A (ko) 2005-06-10
CN100342325C (zh) 2007-10-10
ES2848383T3 (es) 2021-08-09
EP2600242A1 (en) 2013-06-05
WO2004034209A2 (en) 2004-04-22

Similar Documents

Publication Publication Date Title
KR100988955B1 (ko) 멀티스레디드 프로세서에서 레지스터 파일 포트 감소를위한 방법 및 장치
KR100991912B1 (ko) 토큰 트리거 방식 멀티스레딩을 위한 방법 및 장치
KR100980536B1 (ko) 멀티스레디드 프로세서에서 스레드-방식 메모리 액세스를위한 방법 및 장치
KR101295569B1 (ko) 쓰레드 당 다중의 동시적 파이프라인을 갖는 멀티쓰레드 프로세서
JP2918631B2 (ja) デコーダ
US6480938B2 (en) Efficient I-cache structure to support instructions crossing line boundaries
US20070239970A1 (en) Apparatus For Cooperative Sharing Of Operand Access Port Of A Banked Register File

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20050407

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20080910

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: 20100125

Patent event code: PE09021S01D

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

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20100729

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20101013

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20101013

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20130927

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20140929

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20150930

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20160929

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20160929

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20180928

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20190924

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 20210929

Start annual number: 12

End annual number: 12

PC1801 Expiration of term

Termination date: 20240409

Termination category: Expiration of duration