KR100991912B1 - 토큰 트리거 방식 멀티스레딩을 위한 방법 및 장치 - Google Patents

토큰 트리거 방식 멀티스레딩을 위한 방법 및 장치 Download PDF

Info

Publication number
KR100991912B1
KR100991912B1 KR1020057006030A KR20057006030A KR100991912B1 KR 100991912 B1 KR100991912 B1 KR 100991912B1 KR 1020057006030 A KR1020057006030 A KR 1020057006030A KR 20057006030 A KR20057006030 A KR 20057006030A KR 100991912 B1 KR100991912 B1 KR 100991912B1
Authority
KR
South Korea
Prior art keywords
thread
register
instructions
instruction
hardware
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
KR1020057006030A
Other languages
English (en)
Korean (ko)
Other versions
KR20050073484A (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 KR20050073484A publication Critical patent/KR20050073484A/ko
Application granted granted Critical
Publication of KR100991912B1 publication Critical patent/KR100991912B1/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/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
    • 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines

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)
KR1020057006030A 2002-10-11 2003-10-09 토큰 트리거 방식 멀티스레딩을 위한 방법 및 장치 Expired - Lifetime KR100991912B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/269,245 2002-10-11
US10/269,245 US6842848B2 (en) 2002-10-11 2002-10-11 Method and apparatus for token triggered multithreading

Publications (2)

Publication Number Publication Date
KR20050073484A KR20050073484A (ko) 2005-07-13
KR100991912B1 true KR100991912B1 (ko) 2010-11-04

Family

ID=32068734

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057006030A Expired - Lifetime KR100991912B1 (ko) 2002-10-11 2003-10-09 토큰 트리거 방식 멀티스레딩을 위한 방법 및 장치

Country Status (7)

Country Link
US (1) US6842848B2 (https=)
EP (2) EP1550089B1 (https=)
JP (1) JP2006502505A (https=)
KR (1) KR100991912B1 (https=)
CN (1) CN100428282C (https=)
AU (1) AU2003282487A1 (https=)
WO (1) WO2004034340A2 (https=)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
TW200625097A (en) * 2004-11-17 2006-07-16 Sandbridge Technologies Inc Data file storing multiple date types with controlled data access
US20070223599A1 (en) * 2005-07-25 2007-09-27 Sysair, Inc., A Delaware Corporation Cellular PC modem architecture and method of operation
US20070156928A1 (en) * 2005-12-30 2007-07-05 Makaram Raghunandan Token passing scheme for multithreaded multiprocessor system
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
CN101689110B (zh) * 2007-06-20 2013-07-31 富士通株式会社 指令执行控制装置以及指令执行控制方法
US20100241834A1 (en) * 2007-11-05 2010-09-23 Sandbridge Technologies, Inc. Method of encoding using instruction field overloading
JP5576798B2 (ja) * 2007-12-12 2014-08-20 ユニバーシティ・オブ・ワシントン 決定論的マルチプロセッシング(deterministicmultiprocessing)
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
CN102495726B (zh) * 2011-11-15 2015-05-20 无锡德思普科技有限公司 机会多线程方法及处理器
US9342314B2 (en) 2011-12-08 2016-05-17 Oracle International Corporation Efficient hardware instructions for single instruction multiple data processors
US9792117B2 (en) 2011-12-08 2017-10-17 Oracle International Corporation Loading values from a value vector into subregisters of a single instruction multiple data register
CN107545066B (zh) * 2011-12-08 2021-01-15 甲骨文国际公司 用于在易失性存储器内保持关系型数据的列向量的技术
US10534606B2 (en) 2011-12-08 2020-01-14 Oracle International Corporation Run-length encoding decompression
US9697174B2 (en) 2011-12-08 2017-07-04 Oracle International Corporation Efficient hardware instructions for processing bit vectors for single instruction multiple data processors
GB2499277B (en) * 2012-08-30 2014-04-02 Imagination Tech Ltd Global register protection in a multi-threaded processor
US9063974B2 (en) 2012-10-02 2015-06-23 Oracle International Corporation Hardware for table scan acceleration
CN103150149B (zh) 2013-03-26 2015-11-25 华为技术有限公司 处理数据库重做数据的方法和装置
US10318305B2 (en) 2013-09-06 2019-06-11 Huawei Technologies Co., Ltd. System and method for an asynchronous processor with pepelined arithmetic and logic unit
US11113054B2 (en) 2013-09-10 2021-09-07 Oracle International Corporation Efficient hardware instructions for single instruction multiple data processors: fast fixed-length value compression
US9378232B2 (en) 2013-09-21 2016-06-28 Oracle International Corporation Framework for numa affinitized parallel query on in-memory objects within the RDBMS
US9766894B2 (en) 2014-02-06 2017-09-19 Optimum Semiconductor Technologies, Inc. Method and apparatus for enabling a processor to generate pipeline control signals
US9766895B2 (en) * 2014-02-06 2017-09-19 Optimum Semiconductor Technologies, Inc. Opportunity multithreading in a multithreaded processor with instruction chaining capability
US9558000B2 (en) 2014-02-06 2017-01-31 Optimum Semiconductor Technologies, Inc. Multithreading using an ordered list of hardware contexts
EP3131004A4 (en) 2014-04-11 2017-11-08 Murakumo Corporation Processor and method
US10180841B2 (en) 2014-12-22 2019-01-15 Centipede Semi Ltd. Early termination of segment monitoring in run-time code parallelization
US10296350B2 (en) * 2015-03-31 2019-05-21 Centipede Semi Ltd. Parallelized execution of instruction sequences
US10296346B2 (en) * 2015-03-31 2019-05-21 Centipede Semi Ltd. Parallelized execution of instruction sequences based on pre-monitoring
US10073885B2 (en) 2015-05-29 2018-09-11 Oracle International Corporation Optimizer statistics and cost model for in-memory tables
US9990308B2 (en) 2015-08-31 2018-06-05 Oracle International Corporation Selective data compression for in-memory databases
US10061714B2 (en) 2016-03-18 2018-08-28 Oracle International Corporation Tuple encoding aware direct memory access engine for scratchpad enabled multicore processors
US10402425B2 (en) 2016-03-18 2019-09-03 Oracle International Corporation Tuple encoding aware direct memory access engine for scratchpad enabled multi-core processors
US10055358B2 (en) 2016-03-18 2018-08-21 Oracle International Corporation Run length encoding aware direct memory access filtering engine for scratchpad enabled multicore processors
US10061832B2 (en) 2016-11-28 2018-08-28 Oracle International Corporation Database tuple-encoding-aware data partitioning in a direct memory access engine
US10599488B2 (en) 2016-06-29 2020-03-24 Oracle International Corporation Multi-purpose events for notification and sequence control in multi-core processor systems
US10380058B2 (en) 2016-09-06 2019-08-13 Oracle International Corporation Processor core to coprocessor interface with FIFO semantics
US10783102B2 (en) 2016-10-11 2020-09-22 Oracle International Corporation Dynamically configurable high performance database-aware hash engine
US10459859B2 (en) 2016-11-28 2019-10-29 Oracle International Corporation Multicast copy ring for database direct memory access filtering engine
US10176114B2 (en) 2016-11-28 2019-01-08 Oracle International Corporation Row identification number generation in database direct memory access engine
US10725947B2 (en) 2016-11-29 2020-07-28 Oracle International Corporation Bit vector gather row count calculation and handling in direct memory access engine
DE102017223844B4 (de) * 2017-12-28 2026-04-30 Robert Bosch Gmbh Verfahren zum Betreiben eines Riementriebs
WO2023249637A1 (en) * 2022-06-24 2023-12-28 Zeku, Inc. Apparatus and method to implement a token-based processing scheme for virtual dataplane threads

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339415A (en) * 1990-06-11 1994-08-16 Cray Research, Inc. Dual level scheduling of processes to multiple parallel regions of a multi-threaded program on a tightly coupled multiprocessor computer system
US5404469A (en) * 1992-02-25 1995-04-04 Industrial Technology Research Institute Multi-threaded microprocessor architecture utilizing static interleaving
US5613114A (en) * 1994-04-15 1997-03-18 Apple Computer, Inc System and method for custom context switching
US6128720A (en) 1994-12-29 2000-10-03 International Business Machines Corporation Distributed processing array with component processors performing customized interpretation of instructions
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
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
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
US5933627A (en) * 1996-07-01 1999-08-03 Sun Microsystems Thread switch on blocked load or store using instruction thread field
US5799182A (en) * 1997-01-21 1998-08-25 Ford Motor Company Multiple thread micro-sequencer apparatus and method with a single processor
US6151683A (en) * 1997-03-31 2000-11-21 Sun Microsystems, Inc. Rebuilding computer states remotely
US6298431B1 (en) * 1997-12-31 2001-10-02 Intel Corporation Banked shadowed register file
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
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
US6341338B1 (en) * 1999-02-04 2002-01-22 Sun Microsystems, Inc. Protocol for coordinating the distribution of shared memory
US6282585B1 (en) 1999-03-22 2001-08-28 Agere Systems Guardian Corp. Cooperative interconnection for reducing port pressure in clustered microprocessors
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
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
WO2001046827A1 (en) * 1999-12-22 2001-06-28 Ubicom, Inc. System and method for instruction level multithreading in an embedded processor using zero-time context switching

Also Published As

Publication number Publication date
AU2003282487A1 (en) 2004-05-04
EP1550089A2 (en) 2005-07-06
KR20050073484A (ko) 2005-07-13
EP1550089A4 (en) 2007-06-06
EP2650778B1 (en) 2017-07-19
AU2003282487A8 (en) 2004-05-04
WO2004034340A2 (en) 2004-04-22
CN100428282C (zh) 2008-10-22
US6842848B2 (en) 2005-01-11
US20040073781A1 (en) 2004-04-15
CN1711563A (zh) 2005-12-21
JP2006502505A (ja) 2006-01-19
EP1550089B1 (en) 2016-11-23
WO2004034340A3 (en) 2004-08-26
EP2650778A1 (en) 2013-10-16

Similar Documents

Publication Publication Date Title
KR100991912B1 (ko) 토큰 트리거 방식 멀티스레딩을 위한 방법 및 장치
JP4187720B2 (ja) マルチスレッド・プロセッサにおけるレジスタ・ファイルのポートを削減するための方法および装置
US6925643B2 (en) Method and apparatus for thread-based memory access in a multithreaded processor
KR101303119B1 (ko) 쓰레드 당 다중의 동시적 파이프라인을 갖는 멀티쓰레드 프로세서
TWI764966B (zh) 用於控制矢量記憶體存取之資料處理裝置及方法

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

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

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20101028

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20101028

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

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20170929

Start annual number: 8

End annual number: 8

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

PR1001 Payment of annual fee

Payment date: 20220921

Start annual number: 13

End annual number: 13

PC1801 Expiration of term

Termination date: 20240409

Termination category: Expiration of duration