JP2014182829A5 - - Google Patents
Download PDFInfo
- 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
Links
- 230000001419 dependent Effects 0.000 claims 99
- 230000000875 corresponding Effects 0.000 claims 2
- 238000003672 processing method Methods 0.000 claims 1
- 230000002618 waking Effects 0.000 claims 1
Claims (19)
- 複数の命令の処理方法において、
依存命令のプロデューサー命令によって前記依存命令のソースを推測的にウェークアップする段階と、
前記依存命令によって、ネストされた依存命令のソースを前記依存命令にしたがって推測的にウェークアップする段階と、
前記依存命令の前記ソースと前記ネストされた依存命令の前記ソースとがアクセス準備になったことを示すように前記依存命令の前記ソースのソース準備ビットをセッティングし、前記ネストされた依存命令の前記ソースのソース準備ビットをセッティングする段階と、
取消命令が前記プロデューサー命令を取消することと予想されるサイクルの回数に基づいて、命令スケジューラによる実行に対して前記依存命令の選択の取消を制御するために前記依存命令の前記ソースの取消タイマーをセッティングし、前記命令スケジューラによる実行に対して前記ネストされた依存命令の選択の取消を制御するために前記ネストされた依存命令の前記ソースの取消タイマーをセッティングする段階と、
前記プロデューサー命令の取消指示に対応する受信された取消命令にしたがって前記依存命令の前記ソースの前記取消タイマー及び前記ネストされた依存命令の前記ソースの前記取消タイマーが満了され、前記プロデューサー命令が取消された場合、前記依存命令及び前記ネストされた依存命令を同時に取消する段階と、を含み、
前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとは、前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとが所定値に到達した時に満了される複数の命令の処理方法。 - 前記所定値は、0ではない請求項1に記載の複数の命令の処理方法。
- 仮に前記依存命令と前記ネストされた依存命令とが再びウェークアップされなければ、前記依存命令と前記ネストされた依存命令とが前記命令スケジューラによる実行のために選択されることができないことを示すように前記依存命令の前記ソースの前記ソース準備ビットと前記ネストされた依存命令の前記ソースの前記ソース準備ビットとをリセットする段階をさらに含む請求項1に記載の複数の命令の処理方法。
- 前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとをリセットする段階をさらに含む請求項3に記載の複数の命令の処理方法。
- 前記リセットする段階は、前記依存命令と前記ネストされた依存命令とを同時に取消する段階が遂行された後に遂行される請求項3に記載の複数の命令の処理方法。
- 前記依存命令が前記プロデューサー命令によって推測的にウェークアップされ、所定時間が経過された後に前記ネストされた依存命令は、前記依存命令によってウェークアップされ、
前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとは、前記取消命令が前記プロデューサー命令を取消することと予想される前記サイクルの前記回数に基づいて互いに異なる値を有するようにセッティングされる請求項5に記載の複数の命令の処理方法。 - 前記依存命令が前記プロデューサー命令によって推測的にウェークアップされ、所定時間が経過された後に前記ネストされた依存命令は、前記依存命令によってウェークアップされ、
前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとは、前記取消命令が前記プロデューサー命令を取消することと予想される前記サイクルの前記回数に基づいて互いに異なる値を有するようにセッティングされる請求項5に記載の複数の命令の処理方法。 - 前記プロデューサー命令は、推測的に選択される請求項1に記載の複数の命令の処理方法。
- 前記依存命令の前記ソースの前記取消タイマーを設定する段階は、前記プロデューサー命令によって前記依存命令の前記ソースを推測的にウェークアップする時間から前記取消命令が前記プロデューサー命令を取消することと予想されるサイクルの前記回数に基づいて前記依存命令の前記ソースの前記取消タイマーを設定する段階を含み、
前記ネストされた依存命令の前記ソースの前記取消タイマーを設定する段階は、前記プロデューサー命令によって前記ネストされた依存命令の前記ソースを推測的にウェークアップする時間から前記取消命令が前記プロデューサー命令を取消することと予想されるサイクルの前記回数に基づいて前記依存命令の前記ソースの前記取消タイマーを設定する段階を含む複数の命令の請求項1に記載の処理方法。 - スケジューリング動作の遂行のためにプロデューサー命令を選択するように構成される命令スケジューラと、
コントローラと、を含み、
前記コントローラは、
依存命令のプロデューサー命令によって前記依存命令のソースを推測的にウェークアップし、
前記依存命令にしたがってネストされた依存命令のソースを推測的にウェークアップし、
前記依存命令の前記ソースと前記ネストされた依存命令の前記ソースとがアクセス準備になったことを示すように前記依存命令の前記ソースのソース準備ビットをセッティングし、前記ネストされた依存命令の前記ソースのソース準備ビットをセッティングし、
取消命令が前記プロデューサー命令を取消することと予想されるサイクルの回数に基づいて前記命令スケジューラによる実行のために前記ネストされた依存命令の選択の取消を制御する前記ネストされた依存命令の前記ソースの取消タイマー及び前記命令スケジューラによる実行のために前記依存命令の選択の取消を制御する前記依存命令の前記ソースの取消タイマーをセッティングし、
前記プロデューサー命令の取消指示に対応する受信された取消命令にしたがって前記プロデューサー命令が取消され、前記依存命令の前記ソースの前記取消タイマー及び前記ネストされた依存命令の前記ソースの前記取消タイマーが満了された場合、前記依存命令及び前記ネストされた依存命令が前記命令スケジューラによる実行のために選択されることができないこと示すように前記依存命令及び前記ネストされた依存命令を同時に取消し、
前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとは、前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとが所定値に到達した時に満了される命令処理装置。 - 前記所定値は、0ではない請求項10に記載の命令処理装置。
- 前記コントローラは、仮に前記依存命令と前記ネストされた依存命令とが再びウェークアップされなければ、前記依存命令と前記ネストされた依存命令とが前記命令スケジューラによる実行のために選択されることができないことを示すように前記依存命令の前記ソースの前記ソース準備ビットと前記ネストされた依存命令の前記ソースの前記ソース準備ビットとをリセットしり請求項10に記載の命令処理装置。
- 前記コントローラは、前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとをリセットする請求項12に記載の命令処理装置。
- 前記コントローラは、前記依存命令と前記ネストされた依存命令とを同時に取消した後に前記依存命令の前記ソースの前記ソース準備ビットと前記ネストされた依存命令の前記ソースの前記ソース準備ビットとをリセットする請求項12に記載の命令処理装置。
- 前記依存命令が前記プロデューサー命令によって推測的にウェークアップされ、所定時間が経過された後に前記ネストされた依存命令は、前記依存命令によってウェークアップされ、
前記コントローラは、互いに異なる値を有するように、前記取消命令が前記プロデューサー命令を取消することと予想されるサイクルの前記回数に基づいて、前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとをセッティングするように構成される請求項14に記載の命令処理装置。 - 前記依存命令が前記プロデューサー命令によって推測的にウェークアップされ、所定時間が経過された後に前記ネストされた依存命令は、前記依存命令によってウェークアップされ、
前記コントローラは、互いに異なる値を有するように、前記取消命令が前記プロデューサー命令を取消することと予想されるサイクルの前記回数に基づいて、前記依存命令の前記ソースの前記取消タイマーと前記ネストされた依存命令の前記ソースの前記取消タイマーとをセッティングする請求項10に記載の命令処理装置。 - 前記プロデューサー命令は、推測的に選択される請求項10に記載の命令処理装置。
- 前記コントローラは、前記プロデューサー命令によって前記依存命令の前記ソースを推測的にウェークアップする時間から前記取消命令が前記プロデューサー命令を取消することと予想される前記サイクルの前記回数に基づいて前記依存命令の前記ソースの前記取消タイマーを判別するように構成され、
前記コントローラは、前記プロデューサー命令によって前記ネストされた依存命令の前記ソースを推測的にウェークアップする時間から前記取消命令が前記プロデューサー命令を取消することと予想される前記サイクルの前記回数に基づいて前記ネストされた依存命令の前記ソースの前記取消タイマーを判別するように構成される請求項10に記載の命令処理装置。 - 前記依存命令の前記ソースの前記ソース準備ビット、前記ネストされた依存命令の前記ソースの前記ソース準備ビット、前記依存命令の前記ソースの前記取消タイマー、及び前記ネストされた依存命令の前記ソースの前記取消タイマーは、前記命令スケジューラのエントリとしてセッティングされる請求項10に記載の命令処理装置。
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)
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)
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 |
-
2013
- 2013-03-15 US US13/836,392 patent/US9424041B2/en active Active
- 2013-12-20 KR KR1020130160340A patent/KR101985377B1/ko active IP Right Grant
-
2014
- 2014-03-11 CN CN201410087003.3A patent/CN104049952B/zh active Active
- 2014-03-12 DE DE102014103282.9A patent/DE102014103282A1/de active Pending
- 2014-03-14 JP JP2014051609A patent/JP6148191B2/ja active Active
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) |