JP2006114036A - Smtディスパッチのための命令グループ形成およびメカニズム - Google Patents

Smtディスパッチのための命令グループ形成およびメカニズム Download PDF

Info

Publication number
JP2006114036A
JP2006114036A JP2005294193A JP2005294193A JP2006114036A JP 2006114036 A JP2006114036 A JP 2006114036A JP 2005294193 A JP2005294193 A JP 2005294193A JP 2005294193 A JP2005294193 A JP 2005294193A JP 2006114036 A JP2006114036 A JP 2006114036A
Authority
JP
Japan
Prior art keywords
resource
processor
instruction
program instructions
instructions
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.)
Pending
Application number
JP2005294193A
Other languages
English (en)
Japanese (ja)
Other versions
JP2006114036A5 (enExample
Inventor
Brian William Curran
ブライアン・ウィリアム・カラン
Brian R Konigsburg
ブライアン・アール・カニグスバーグ
Qui Le Hung
ハン・クイ・ル
Luick David Arnold
デイヴィッド・アーノルド・ルイック
Dung Quoc Nguyen
ダン・クオ・ニューイェン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006114036A publication Critical patent/JP2006114036A/ja
Publication of JP2006114036A5 publication Critical patent/JP2006114036A5/ja
Pending 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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/3818Decoding for concurrent execution
    • G06F9/382Pipelined decoding, e.g. using predecoding
    • 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

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)
JP2005294193A 2004-10-14 2005-10-06 Smtディスパッチのための命令グループ形成およびメカニズム Pending JP2006114036A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/965,143 US7237094B2 (en) 2004-10-14 2004-10-14 Instruction group formation and mechanism for SMT dispatch

Publications (2)

Publication Number Publication Date
JP2006114036A true JP2006114036A (ja) 2006-04-27
JP2006114036A5 JP2006114036A5 (enExample) 2009-08-06

Family

ID=36317706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005294193A Pending JP2006114036A (ja) 2004-10-14 2005-10-06 Smtディスパッチのための命令グループ形成およびメカニズム

Country Status (3)

Country Link
US (1) US7237094B2 (enExample)
JP (1) JP2006114036A (enExample)
CN (1) CN100357884C (enExample)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012515386A (ja) * 2009-01-16 2012-07-05 イマジネイション テクノロジーズ リミテッド マルチスレッド式データ処理システム
CN102662632A (zh) * 2012-03-14 2012-09-12 北京神州数码思特奇信息技术股份有限公司 一种利用信号量实现的序列号生成方法和生成器
JP2012525620A (ja) * 2009-04-28 2012-10-22 イマジネイション テクノロジーズ リミテッド マルチスレッドマイクロプロセッサにおける命令の発行をスケジュールするための方法及び装置
JP2017516215A (ja) * 2014-05-12 2017-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 動的な命令ストリーム・マッピングを使用するプロセッサ・コア、プロセッサ・コアを含むコンピュータ・システム、およびプロセッサ・コアによってプログラム命令を実行する方法(動的な命令ストリーム・マッピングを使用する並列スライス・プロセッサ)
US10545762B2 (en) 2014-09-30 2020-01-28 International Business Machines Corporation Independent mapping of threads
US10983800B2 (en) 2015-01-12 2021-04-20 International Business Machines Corporation Reconfigurable processor with load-store slices supporting reorder and controlling access to cache slices
US11150907B2 (en) 2015-01-13 2021-10-19 International Business Machines Corporation Parallel slice processor having a recirculating load-store queue for fast deallocation of issue queue entries
JP2024511764A (ja) * 2021-03-31 2024-03-15 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド ウェーブフロント(wavefront)の選択及び実行

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7836276B2 (en) * 2005-12-02 2010-11-16 Nvidia Corporation System and method for processing thread groups in a SIMD architecture
US8174531B1 (en) 2003-10-29 2012-05-08 Nvidia Corporation Programmable graphics processor for multithreaded execution of programs
US8860737B2 (en) * 2003-10-29 2014-10-14 Nvidia Corporation Programmable graphics processor for multithreaded execution of programs
JPWO2006134693A1 (ja) * 2005-06-15 2009-01-08 松下電器産業株式会社 プロセッサ
US7434032B1 (en) 2005-12-13 2008-10-07 Nvidia Corporation Tracking register usage during multithreaded processing using a scoreboard having separate memory regions and storing sequential register size indicators
KR100837400B1 (ko) * 2006-07-20 2008-06-12 삼성전자주식회사 멀티스레딩/비순차 병합 기법에 따라 처리하는 방법 및장치
US9069547B2 (en) 2006-09-22 2015-06-30 Intel Corporation Instruction and logic for processing text strings
US20080229062A1 (en) * 2007-03-12 2008-09-18 Lorenzo Di Gregorio Method of sharing registers in a processor and processor
US7707390B2 (en) * 2007-04-25 2010-04-27 Arm Limited Instruction issue control within a multi-threaded in-order superscalar processor
EP2169538A4 (en) * 2007-06-20 2010-12-01 Fujitsu Ltd INSTRUCTIONS PROCESSOR
US20090210664A1 (en) * 2008-02-15 2009-08-20 Luick David A System and Method for Issue Schema for a Cascaded Pipeline
US7870368B2 (en) 2008-02-19 2011-01-11 International Business Machines Corporation System and method for prioritizing branch instructions
US8108654B2 (en) * 2008-02-19 2012-01-31 International Business Machines Corporation System and method for a group priority issue schema for a cascaded pipeline
US20090210666A1 (en) * 2008-02-19 2009-08-20 Luick David A System and Method for Resolving Issue Conflicts of Load Instructions
US7877579B2 (en) * 2008-02-19 2011-01-25 International Business Machines Corporation System and method for prioritizing compare instructions
US7996654B2 (en) * 2008-02-19 2011-08-09 International Business Machines Corporation System and method for optimization within a group priority issue schema for a cascaded pipeline
US20090210672A1 (en) * 2008-02-19 2009-08-20 Luick David A System and Method for Resolving Issue Conflicts of Load Instructions
US7865700B2 (en) 2008-02-19 2011-01-04 International Business Machines Corporation System and method for prioritizing store instructions
US8095779B2 (en) * 2008-02-19 2012-01-10 International Business Machines Corporation System and method for optimization within a group priority issue schema for a cascaded pipeline
US7984270B2 (en) 2008-02-19 2011-07-19 International Business Machines Corporation System and method for prioritizing arithmetic instructions
US7882335B2 (en) * 2008-02-19 2011-02-01 International Business Machines Corporation System and method for the scheduling of load instructions within a group priority issue schema for a cascaded pipeline
US8108655B2 (en) * 2009-03-24 2012-01-31 International Business Machines Corporation Selecting fixed-point instructions to issue on load-store unit
US8127115B2 (en) * 2009-04-03 2012-02-28 International Business Machines Corporation Group formation with multiple taken branches per group
JP5463076B2 (ja) * 2009-05-28 2014-04-09 パナソニック株式会社 マルチスレッドプロセッサ
US8171224B2 (en) * 2009-05-28 2012-05-01 International Business Machines Corporation D-cache line use history based done bit based on successful prefetchable counter
US8332587B2 (en) * 2009-05-28 2012-12-11 International Business Machines Corporation Cache line use history based done bit modification to I-cache replacement scheme
US8140760B2 (en) * 2009-05-28 2012-03-20 International Business Machines Corporation I-cache line use history based done bit based on successful prefetchable counter
US8291169B2 (en) 2009-05-28 2012-10-16 International Business Machines Corporation Cache line use history based done bit modification to D-cache replacement scheme
CN101957744B (zh) * 2010-10-13 2013-07-24 北京科技大学 一种用于微处理器的硬件多线程控制方法及其装置
US9304774B2 (en) * 2011-02-04 2016-04-05 Qualcomm Incorporated Processor with a coprocessor having early access to not-yet issued instructions
US9465755B2 (en) 2011-07-18 2016-10-11 Hewlett Packard Enterprise Development Lp Security parameter zeroization
TWI447646B (zh) 2011-11-18 2014-08-01 Asmedia Technology Inc 資料傳輸裝置及多個指令的整合方法
US8856193B2 (en) * 2011-12-20 2014-10-07 Sap Se Merge monitor for table delta partitions
US9798548B2 (en) 2011-12-21 2017-10-24 Nvidia Corporation Methods and apparatus for scheduling instructions using pre-decode data
US9513915B2 (en) * 2012-03-28 2016-12-06 International Business Machines Corporation Instruction merging optimization
US9405701B2 (en) 2012-03-30 2016-08-02 Intel Corporation Apparatus and method for accelerating operations in a processor which uses shared virtual memory
US9336057B2 (en) 2012-12-21 2016-05-10 Microsoft Technology Licensing, Llc Assigning jobs to heterogeneous processing modules
CN105446700B (zh) * 2014-05-30 2018-01-02 华为技术有限公司 一种指令执行方法以及顺序处理器
US9715392B2 (en) * 2014-08-29 2017-07-25 Qualcomm Incorporated Multiple clustered very long instruction word processing core
US11275590B2 (en) * 2015-08-26 2022-03-15 Huawei Technologies Co., Ltd. Device and processing architecture for resolving execution pipeline dependencies without requiring no operation instructions in the instruction memory
US10423423B2 (en) 2015-09-29 2019-09-24 International Business Machines Corporation Efficiently managing speculative finish tracking and error handling for load instructions
US20170300361A1 (en) * 2016-04-15 2017-10-19 Intel Corporation Employing out of order queues for better gpu utilization
US11314516B2 (en) * 2018-01-19 2022-04-26 Marvell Asia Pte, Ltd. Issuing instructions based on resource conflict constraints in microprocessor
CN108400866B (zh) * 2018-03-01 2021-02-02 中国人民解放军战略支援部队信息工程大学 一种粗粒度可重构密码逻辑阵列
CN112445619A (zh) * 2020-11-30 2021-03-05 海光信息技术股份有限公司 在多线程系统中动态共享有序资源的管理系统和方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272520A (ja) * 1997-11-26 1999-10-08 Digital Equip Corp <Dec> プロセッサパイプラインにおいて多数の潜在的に同時の命令をサンプリングする装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5337415A (en) * 1992-12-04 1994-08-09 Hewlett-Packard Company Predecoding instructions for supercalar dependency indicating simultaneous execution for increased operating frequency
US5828895A (en) * 1995-09-20 1998-10-27 International Business Machines Corporation Methods and system for predecoding instructions in a superscalar data processing system
US5958042A (en) * 1996-06-11 1999-09-28 Sun Microsystems, Inc. Grouping logic circuit in a pipelined superscalar processor
US6658447B2 (en) * 1997-07-08 2003-12-02 Intel Corporation Priority based simultaneous multi-threading
US7856633B1 (en) * 2000-03-24 2010-12-21 Intel Corporation LRU cache replacement for a partitioned set associative cache
US6601120B1 (en) * 2000-07-13 2003-07-29 Silicon Graphics, Inc. System, method and computer program product for implementing scalable multi-reader/single-writer locks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272520A (ja) * 1997-11-26 1999-10-08 Digital Equip Corp <Dec> プロセッサパイプラインにおいて多数の潜在的に同時の命令をサンプリングする装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012515386A (ja) * 2009-01-16 2012-07-05 イマジネイション テクノロジーズ リミテッド マルチスレッド式データ処理システム
JP2012525620A (ja) * 2009-04-28 2012-10-22 イマジネイション テクノロジーズ リミテッド マルチスレッドマイクロプロセッサにおける命令の発行をスケジュールするための方法及び装置
CN102662632A (zh) * 2012-03-14 2012-09-12 北京神州数码思特奇信息技术股份有限公司 一种利用信号量实现的序列号生成方法和生成器
JP2017516215A (ja) * 2014-05-12 2017-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 動的な命令ストリーム・マッピングを使用するプロセッサ・コア、プロセッサ・コアを含むコンピュータ・システム、およびプロセッサ・コアによってプログラム命令を実行する方法(動的な命令ストリーム・マッピングを使用する並列スライス・プロセッサ)
US10545762B2 (en) 2014-09-30 2020-01-28 International Business Machines Corporation Independent mapping of threads
US11144323B2 (en) 2014-09-30 2021-10-12 International Business Machines Corporation Independent mapping of threads
US10983800B2 (en) 2015-01-12 2021-04-20 International Business Machines Corporation Reconfigurable processor with load-store slices supporting reorder and controlling access to cache slices
US11150907B2 (en) 2015-01-13 2021-10-19 International Business Machines Corporation Parallel slice processor having a recirculating load-store queue for fast deallocation of issue queue entries
US11734010B2 (en) 2015-01-13 2023-08-22 International Business Machines Corporation Parallel slice processor having a recirculating load-store queue for fast deallocation of issue queue entries
US12061909B2 (en) 2015-01-13 2024-08-13 International Business Machines Corporation Parallel slice processor having a recirculating load-store queue for fast deallocation of issue queue entries
JP2024511764A (ja) * 2021-03-31 2024-03-15 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド ウェーブフロント(wavefront)の選択及び実行

Also Published As

Publication number Publication date
US7237094B2 (en) 2007-06-26
US20060101241A1 (en) 2006-05-11
CN1760826A (zh) 2006-04-19
CN100357884C (zh) 2007-12-26

Similar Documents

Publication Publication Date Title
US7237094B2 (en) Instruction group formation and mechanism for SMT dispatch
US8069340B2 (en) Microprocessor with microarchitecture for efficiently executing read/modify/write memory operand instructions
US7254697B2 (en) Method and apparatus for dynamic modification of microprocessor instruction group at dispatch
US7552318B2 (en) Branch lookahead prefetch for microprocessors
US8099566B2 (en) Load/store ordering in a threaded out-of-order processor
US6721874B1 (en) Method and system for dynamically shared completion table supporting multiple threads in a processing system
US6857064B2 (en) Method and apparatus for processing events in a multithreaded processor
US7603497B2 (en) Method and apparatus to launch write queue read data in a microprocessor recovery unit
US10061588B2 (en) Tracking operand liveness information in a computer system and performing function based on the liveness information
US9286072B2 (en) Using register last use infomation to perform decode-time computer instruction optimization
US11954491B2 (en) Multi-threading microprocessor with a time counter for statically dispatching instructions
US20080109640A1 (en) Method For Changing A Thread Priority In A Simultaneous Multithread Processor
US7093106B2 (en) Register rename array with individual thread bits set upon allocation and cleared upon instruction completion
US8635621B2 (en) Method and apparatus to implement software to hardware thread priority
US20130339711A1 (en) Method and apparatus for reconstructing real program order of instructions in multi-strand out-of-order processor
US20200310817A1 (en) System, Apparatus And Method For Symbolic Store Address Generation For Data-Parallel Processor
CN115454504A (zh) 一种四发射risc-v处理器微架构及其工作方法
US20140122844A1 (en) Intelligent context management
US7194603B2 (en) SMT flush arbitration
US11392386B2 (en) Program counter (PC)-relative load and store addressing for fused instructions
US8683261B2 (en) Out of order millicode control operation
US7603543B2 (en) Method, apparatus and program product for enhancing performance of an in-order processor with long stalls
US7779234B2 (en) System and method for implementing a hardware-supported thread assist under load lookahead mechanism for a microprocessor
US10102003B2 (en) Intelligent context management
KR20000005685A (ko) 분산인스트럭션완료로직

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090619

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20090619

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20090708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20091019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20091019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100713

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100729

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20101228

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20110412