JP2014182829A5 - - Google Patents

Download PDF

Info

Publication number
JP2014182829A5
JP2014182829A5 JP2014051609A JP2014051609A JP2014182829A5 JP 2014182829 A5 JP2014182829 A5 JP 2014182829A5 JP 2014051609 A JP2014051609 A JP 2014051609A JP 2014051609 A JP2014051609 A JP 2014051609A JP 2014182829 A5 JP2014182829 A5 JP 2014182829A5
Authority
JP
Japan
Prior art keywords
instruction
source
dependent
dependent instruction
nested
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.)
Granted
Application number
JP2014051609A
Other languages
English (en)
Other versions
JP6148191B2 (ja
JP2014182829A (ja
Filing date
Publication date
Priority claimed from US13/836,392 external-priority patent/US9424041B2/en
Application filed filed Critical
Publication of JP2014182829A publication Critical patent/JP2014182829A/ja
Publication of JP2014182829A5 publication Critical patent/JP2014182829A5/ja
Application granted granted Critical
Publication of JP6148191B2 publication Critical patent/JP6148191B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (19)

  1. 複数の命令の処理方法において、
    依存命令のプロデューサー命令によって前記依存命令のソースを推測的にウェークアップする段階と、
    前記依存命令によって、ネストされた依存命令のソースを前記依存命令にしたがって推測的にウェークアップする段階と、
    前記依存命令の前記ソースと前記ネストされた依存命令の前記ソースとがアクセス準備になったことを示すように前記依存命令の前記ソースのソース準備ビットをセッティングし、前記ネストされた依存命令の前記ソースのソース準備ビットをセッティングする段階と、
    取消命令が前記プロデューサー命令を取消することと予想されるサイクルの回数に基づいて、命令スケジューラによる実行に対して前記依存命令の選択の取消を制御するために前記依存命令の前記ソースの取消タイマーをセッティングし、前記命令スケジューラによる実行に対して前記ネストされた依存命令の選択の取消を制御するために前記ネストされた依存命令の前記ソースの取消タイマーをセッティングする段階と、
    前記プロデューサー命令の取消指示に対応する受信された取消命令にしたがって前記依存命令の前記ソースの前記取消タイマー及び前記ネストされた依存命令の前記ソースの前記取消タイマーが満了され、前記プロデューサー命令が取消された場合、前記依存命令及び前記ネストされた依存命令を同時に取消する段階と、を含み、
    前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとは、前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとが所定値に到達した時に満了される複数の命令の処理方法。
  2. 前記所定値は、0ではない請求項1に記載の複数の命令の処理方法。
  3. 仮に前記依存命令と前記ネストされた依存命令とが再びウェークアップされなければ、前記依存命令と前記ネストされた依存命令とが前記命令スケジューラによる実行のために選択されることができないことを示すように前記依存命令の前記ソースの前記ソース準備ビットと前記ネストされた依存命令の前記ソースの前記ソース準備ビットとをリセットする段階をさらに含む請求項1に記載の複数の命令の処理方法。
  4. 前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとをリセットする段階をさらに含む請求項3に記載の複数の命令の処理方法。
  5. 前記リセットする段階は、前記依存命令と前記ネストされた依存命令とを同時に取消する段階が遂行された後に遂行される請求項3に記載の複数の命令の処理方法。
  6. 前記依存命令が前記プロデューサー命令によって推測的にウェークアップされ、所定時間が経過された後に前記ネストされた依存命令は、前記依存命令によってウェークアップされ、
    前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとは、前記取消命令が前記プロデューサー命令を取消することと予想される前記サイクルの前記回数に基づいて互いに異なる値を有するようにセッティングされる請求項5に記載の複数の命令の処理方法。
  7. 前記依存命令が前記プロデューサー命令によって推測的にウェークアップされ、所定時間が経過された後に前記ネストされた依存命令は、前記依存命令によってウェークアップされ、
    前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとは、前記取消命令が前記プロデューサー命令を取消することと予想される前記サイクルの前記回数に基づいて互いに異なる値を有するようにセッティングされる請求項5に記載の複数の命令の処理方法。
  8. 前記プロデューサー命令は、推測的に選択される請求項1に記載の複数の命令の処理方法。
  9. 前記依存命令の前記ソースの前記取消タイマーを設定する段階は、前記プロデューサー命令によって前記依存命令の前記ソースを推測的にウェークアップする時間から前記取消命令が前記プロデューサー命令を取消することと予想されるサイクルの前記回数に基づいて前記依存命令の前記ソースの前記取消タイマーを設定する段階を含み、
    前記ネストされた依存命令の前記ソースの前記取消タイマーを設定する段階は、前記プロデューサー命令によって前記ネストされた依存命令の前記ソースを推測的にウェークアップする時間から前記取消命令が前記プロデューサー命令を取消することと予想されるサイクルの前記回数に基づいて前記依存命令の前記ソースの前記取消タイマーを設定する段階を含む複数の命令の請求項1に記載の処理方法。
  10. スケジューリング動作の遂行のためにプロデューサー命令を選択するように構成される命令スケジューラと、
    コントローラと、を含み、
    前記コントローラは、
    依存命令のプロデューサー命令によって前記依存命令のソースを推測的にウェークアップし、
    前記依存命令にしたがってネストされた依存命令のソースを推測的にウェークアップし、
    前記依存命令の前記ソースと前記ネストされた依存命令の前記ソースとがアクセス準備になったことを示すように前記依存命令の前記ソースのソース準備ビットをセッティングし、前記ネストされた依存命令の前記ソースのソース準備ビットをセッティングし、
    取消命令が前記プロデューサー命令を取消することと予想されるサイクルの回数に基づいて前記命令スケジューラによる実行のために前記ネストされた依存命令の選択の取消を制御する前記ネストされた依存命令の前記ソースの取消タイマー及び前記命令スケジューラによる実行のために前記依存命令の選択の取消を制御する前記依存命令の前記ソースの取消タイマーをセッティングし、
    前記プロデューサー命令の取消指示に対応する受信された取消命令にしたがって前記プロデューサー命令が取消され、前記依存命令の前記ソースの前記取消タイマー及び前記ネストされた依存命令の前記ソースの前記取消タイマーが満了された場合、前記依存命令及び前記ネストされた依存命令が前記命令スケジューラによる実行のために選択されることができないこと示すように前記依存命令及び前記ネストされた依存命令を同時に取消し、
    前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとは、前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとが所定値に到達した時に満了される命令処理装置。
  11. 前記所定値は、0ではない請求項10に記載の命令処理装置。
  12. 前記コントローラは、仮に前記依存命令と前記ネストされた依存命令とが再びウェークアップされなければ、前記依存命令と前記ネストされた依存命令とが前記命令スケジューラによる実行のために選択されることができないことを示すように前記依存命令の前記ソースの前記ソース準備ビットと前記ネストされた依存命令の前記ソースの前記ソース準備ビットとをリセットしり請求項10に記載の命令処理装置。
  13. 前記コントローラは、前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとをリセットする請求項12に記載の命令処理装置。
  14. 前記コントローラは、前記依存命令と前記ネストされた依存命令とを同時に取消した後に前記依存命令の前記ソースの前記ソース準備ビットと前記ネストされた依存命令の前記ソースの前記ソース準備ビットとをリセットする請求項12に記載の命令処理装置。
  15. 前記依存命令が前記プロデューサー命令によって推測的にウェークアップされ、所定時間が経過された後に前記ネストされた依存命令は、前記依存命令によってウェークアップされ、
    前記コントローラは、互いに異なる値を有するように、前記取消命令が前記プロデューサー命令を取消することと予想されるサイクルの前記回数に基づいて、前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとをセッティングするように構成される請求項14に記載の命令処理装置。
  16. 前記依存命令が前記プロデューサー命令によって推測的にウェークアップされ、所定時間が経過された後に前記ネストされた依存命令は、前記依存命令によってウェークアップされ、
    前記コントローラは、互いに異なる値を有するように、前記取消命令が前記プロデューサー命令を取消することと予想されるサイクルの前記回数に基づいて、前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとをセッティングする請求項10に記載の命令処理装置。
  17. 前記プロデューサー命令は、推測的に選択される請求項10に記載の命令処理装置。
  18. 前記コントローラは、前記プロデューサー命令によって前記依存命令の前記ソースを推測的にウェークアップする時間から前記取消命令が前記プロデューサー命令を取消することと予想される前記サイクルの前記回数に基づいて前記依存命令の前記ソースの前記取消タイマーを判別するように構成され、
    前記コントローラは、前記プロデューサー命令によって前記ネストされた依存命令の前記ソースを推測的にウェークアップする時間から前記取消命令が前記プロデューサー命令を取消することと予想される前記サイクルの前記回数に基づいて前記ネストされた依存命令の前記ソースの前記取消タイマーを判別するように構成される請求項10に記載の命令処理装置。
  19. 前記依存命令の前記ソースの前記ソース準備ビット、前記ネストされた依存命令の前記ソースの前記ソース準備ビット、前記依存命令の前記ソースの前記取消タイマー、及び前記ネストされた依存命令の前記ソースの前記取消タイマーは、前記命令スケジューラのエントリとしてセッティングされる請求項10に記載の命令処理装置。
JP2014051609A 2013-03-15 2014-03-14 直接依存命令及びネストされた依存命令のためのスケジューラー内の推測的ソース準備をリセットする効果的な方法 Active JP6148191B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/836,392 2013-03-15
US13/836,392 US9424041B2 (en) 2013-03-15 2013-03-15 Efficient way to cancel speculative ‘source ready’ in scheduler for direct and nested dependent instructions

Publications (3)

Publication Number Publication Date
JP2014182829A JP2014182829A (ja) 2014-09-29
JP2014182829A5 true JP2014182829A5 (ja) 2017-03-09
JP6148191B2 JP6148191B2 (ja) 2017-06-14

Family

ID=51419119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014051609A Active JP6148191B2 (ja) 2013-03-15 2014-03-14 直接依存命令及びネストされた依存命令のためのスケジューラー内の推測的ソース準備をリセットする効果的な方法

Country Status (5)

Country Link
US (1) US9424041B2 (ja)
JP (1) JP6148191B2 (ja)
KR (1) KR101985377B1 (ja)
CN (1) CN104049952B (ja)
DE (1) DE102014103282A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180038793A (ko) * 2016-10-07 2018-04-17 삼성전자주식회사 영상 데이터 처리 방법 및 장치
CN106909343B (zh) * 2017-02-23 2019-01-29 北京中科睿芯科技有限公司 一种基于数据流的指令调度方法及装置
CN111124492B (zh) * 2019-12-16 2022-09-20 成都海光微电子技术有限公司 指令生成方法、装置、指令执行方法、处理器及电子设备
CN111399912B (zh) * 2020-03-26 2022-11-22 超睿科技(长沙)有限公司 一种面向多周期指令的指令调度方法、系统及介质
US20220206793A1 (en) * 2020-12-24 2022-06-30 Intel Corporation Methods, systems, and apparatuses for a scalable reservation station implementing a single unified speculation state propagation and execution wakeup matrix circuit in a processor
US11934834B2 (en) * 2021-10-19 2024-03-19 Ampere Computing Llc Instruction scheduling in a processor using operation source parent tracking
US20230315446A1 (en) * 2022-03-30 2023-10-05 Fujitsu Limited Arithmetic processing apparatus and method for arithmetic processing

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778210A (en) 1996-01-11 1998-07-07 Intel Corporation Method and apparatus for recovering the state of a speculatively scheduled operation in a processor which cannot be executed at the speculated time
US6065105A (en) 1997-01-08 2000-05-16 Intel Corporation Dependency matrix
US6792524B1 (en) * 1998-08-20 2004-09-14 International Business Machines Corporation System and method cancelling a speculative branch
EP1121635B1 (en) * 1998-08-24 2004-11-24 Advanced Micro Devices, Inc. Mechanism for load block on store address generation and universal dependency vector
US6988185B2 (en) 2002-01-22 2006-01-17 Intel Corporation Select-free dynamic instruction scheduling
US7130990B2 (en) 2002-12-31 2006-10-31 Intel Corporation Efficient instruction scheduling with lossy tracking of scheduling information
US20070043932A1 (en) 2005-08-22 2007-02-22 Intel Corporation Wakeup mechanisms for schedulers
US7721071B2 (en) * 2006-02-28 2010-05-18 Mips Technologies, Inc. System and method for propagating operand availability prediction bits with instructions through a pipeline in an out-of-order processor
US7600103B2 (en) 2006-06-30 2009-10-06 Intel Corporation Speculatively scheduling micro-operations after allocation
JP4230504B2 (ja) * 2006-11-30 2009-02-25 株式会社日立製作所 データプロセッサ
JP2009181163A (ja) * 2008-01-29 2009-08-13 Kyoto Univ マイクロプロセッサならびにビット・ベクタのエンコーディング方法およびビット・ベクタの生成方法
US8239661B2 (en) 2008-08-28 2012-08-07 International Business Machines Corporation System and method for double-issue instructions using a dependency matrix
US9262171B2 (en) 2009-06-30 2016-02-16 Oracle America, Inc. Dependency matrix for the determination of load dependencies
US9286075B2 (en) * 2009-09-30 2016-03-15 Oracle America, Inc. Optimal deallocation of instructions from a unified pick queue
CN101833435A (zh) * 2010-04-19 2010-09-15 天津大学 基于传输触发架构可配置处理器指令冗余消除方法
US9256428B2 (en) * 2013-02-06 2016-02-09 International Business Machines Corporation Load latency speculation in an out-of-order computer processor

Similar Documents

Publication Publication Date Title
JP2014182829A5 (ja)
JP2016513300A5 (ja)
IL258057B (en) Metrology method and apparatus, computer program and lithographic system
IL255051B (en) Metrological method and device, computer software and lithographic system
MX364338B (es) Configuración de flujos de trabajo en un dispositivo anfitrion que funciona en un sistema de control de procesos.
JP2015075803A5 (ja) データ処理管理方法、情報処理装置およびデータ処理管理プログラム
IL253621A0 (en) Metrological method and device, computer software and lithographic system
EP2787444A3 (en) Central processing unit, information processing apparatus, and intra-virtual-core register value acquisition method
WO2012037657A3 (en) Method and apparatus for differentiated access control
JP2016226019A5 (ja)
GB2555552B (en) Method for the treatment of an aqueous nitric solution resulting from dissolving spent nuclear fuel, said method being performed in a single cycle
JP2013137835A5 (ja)
JP2015153027A5 (ja)
JP2015181684A5 (ja) 遊技機
JP2014232440A5 (ja)
JP2018502425A5 (ja)
JP2015030197A5 (ja)
JP2016224731A5 (ja)
JP2013183352A5 (ja)
JP2012227711A5 (ja)
MY183825A (en) Context sensitive barrier instruction execution
JP2014049891A5 (ja)
GB201911911D0 (en) Processor power-saving during wait events
JP2012118103A5 (ja)
JP2018501609A5 (ja)