JP2002522841A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2002522841A5 JP2002522841A5 JP2000565456A JP2000565456A JP2002522841A5 JP 2002522841 A5 JP2002522841 A5 JP 2002522841A5 JP 2000565456 A JP2000565456 A JP 2000565456A JP 2000565456 A JP2000565456 A JP 2000565456A JP 2002522841 A5 JP2002522841 A5 JP 2002522841A5
- Authority
- JP
- Japan
- Prior art keywords
- register
- issue group
- instruction
- expected
- wait time
- 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
- 230000000875 corresponding Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed Effects 0.000 description 1
Description
【特許請求の範囲】
【請求項1】 クロックと、
複数の行および1つまたは複数のポートを有する電子ハードウェア構造であって、各行が前記ポートのうち1つのポートを介して書き込まれた待ち時間ベクトルを記録するように構成され、格納された待ち時間ベクトルは前記クロックに応答する電子ハードウェア構造とを備える装置。
【請求項2】 複数のレジスタを含むレジスタ・ファイルと、
命令を実行する複数の実行ユニットであって、前記命令の一部が前記レジスタから読出しと書込みのうち1つを実行する複数の実行ユニットと、
前記レジスタの予想されるレジスタ待ち時間を追跡するレジスタ待ち時間表と、
前記レジスタ待ち時間表の待ち時間を更新するクロックと
を備えるプロセッサ。
【請求項3】 複数の予想される待ち時間をレジスタ待ち時間表の、特定のレジスタに対応する行の一部に更新するステップと、
クロック・パルスに応答して前記行のうち他の行に残っている予想される待ち時間を削減するステップと
を含むプロセッサ内で命令をディスパッチする方法。
【請求項4】 命令のイシュー・グループを受け取るステップと、
前記イシュー・グループの前記命令に割り当てられた前記レジスタの一部の予想される待ち時間から前記イシュー・グループに関して予想される待ち時間を決定するステップと、
前記イシュー・グループによって書き込まれるレジスタの予想されるレジスタ待ち時間を更新し、前記イシュー・グループに関する前記予想される待ち時間は前記予想されるレジスタ待ち時間の更新を決定するステップと、
前記イシュー・グループを命令待ち行列に書き込むステップと、
前記イシュー・グループに関して予想される待ち時間が終了したことに応答して、前記イシュー・グループをディスパッチし実行するステップと
を含むプロセッサ内で命令を実行する方法。
【請求項5】 命令を検索する命令フェッチ・ユニットと、
複数のレジスタと、
前記レジスタの予想されるレジスタ待ち時間を追跡するレジスタ待ち時間表と、
複数の命令のイシュー・グループを格納する命令待ち行列と、
前記命令待ち行列から受け取られた各イシュー・グループの前記命令を並列に実行するように整列された複数の実行ユニットと、
前記イシュー・グループを前記命令待ち行列に書き込むスケジューラであって、前記命令待ち行列は特定のイシュー・グループの予想される待ち時間が終了したことに応答して前記特定のイシュー・グループをディスパッチするスケジューラと
を備えるプロセッサ。
【請求項6】 イシュー・グループのスケジューリングに応答して、レジスタ待ち時間表およびシャドウ・レジスタの組の列の両方に、命令のイシュー・グループに割り当てられたレジスタの一部の待ち時間ベクトルを書き込むステップと、
前記実行ユニットが使用可能であるかどうかを決定せずに前記イシュー・グループを実行ユニットへディスパッチするステップと、
前記列へ書き込まれる待ち時間ベクトルをあらかじめ選択された時間だけ遅延するステップと、
前記イシュー・グループの実行に応答して、実行例外およびエラーのうち1つを検出することに応答して前記列から前記レジスタ待ち時間表に前記遅延された待ち時間ベクトルを書き込むステップと
を含む命令を実行し再生する方法。
【請求項1】 クロックと、
複数の行および1つまたは複数のポートを有する電子ハードウェア構造であって、各行が前記ポートのうち1つのポートを介して書き込まれた待ち時間ベクトルを記録するように構成され、格納された待ち時間ベクトルは前記クロックに応答する電子ハードウェア構造とを備える装置。
【請求項2】 複数のレジスタを含むレジスタ・ファイルと、
命令を実行する複数の実行ユニットであって、前記命令の一部が前記レジスタから読出しと書込みのうち1つを実行する複数の実行ユニットと、
前記レジスタの予想されるレジスタ待ち時間を追跡するレジスタ待ち時間表と、
前記レジスタ待ち時間表の待ち時間を更新するクロックと
を備えるプロセッサ。
【請求項3】 複数の予想される待ち時間をレジスタ待ち時間表の、特定のレジスタに対応する行の一部に更新するステップと、
クロック・パルスに応答して前記行のうち他の行に残っている予想される待ち時間を削減するステップと
を含むプロセッサ内で命令をディスパッチする方法。
【請求項4】 命令のイシュー・グループを受け取るステップと、
前記イシュー・グループの前記命令に割り当てられた前記レジスタの一部の予想される待ち時間から前記イシュー・グループに関して予想される待ち時間を決定するステップと、
前記イシュー・グループによって書き込まれるレジスタの予想されるレジスタ待ち時間を更新し、前記イシュー・グループに関する前記予想される待ち時間は前記予想されるレジスタ待ち時間の更新を決定するステップと、
前記イシュー・グループを命令待ち行列に書き込むステップと、
前記イシュー・グループに関して予想される待ち時間が終了したことに応答して、前記イシュー・グループをディスパッチし実行するステップと
を含むプロセッサ内で命令を実行する方法。
【請求項5】 命令を検索する命令フェッチ・ユニットと、
複数のレジスタと、
前記レジスタの予想されるレジスタ待ち時間を追跡するレジスタ待ち時間表と、
複数の命令のイシュー・グループを格納する命令待ち行列と、
前記命令待ち行列から受け取られた各イシュー・グループの前記命令を並列に実行するように整列された複数の実行ユニットと、
前記イシュー・グループを前記命令待ち行列に書き込むスケジューラであって、前記命令待ち行列は特定のイシュー・グループの予想される待ち時間が終了したことに応答して前記特定のイシュー・グループをディスパッチするスケジューラと
を備えるプロセッサ。
【請求項6】 イシュー・グループのスケジューリングに応答して、レジスタ待ち時間表およびシャドウ・レジスタの組の列の両方に、命令のイシュー・グループに割り当てられたレジスタの一部の待ち時間ベクトルを書き込むステップと、
前記実行ユニットが使用可能であるかどうかを決定せずに前記イシュー・グループを実行ユニットへディスパッチするステップと、
前記列へ書き込まれる待ち時間ベクトルをあらかじめ選択された時間だけ遅延するステップと、
前記イシュー・グループの実行に応答して、実行例外およびエラーのうち1つを検出することに応答して前記列から前記レジスタ待ち時間表に前記遅延された待ち時間ベクトルを書き込むステップと
を含む命令を実行し再生する方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/132,043 US6035389A (en) | 1998-08-11 | 1998-08-11 | Scheduling instructions with different latencies |
US09/132,043 | 1998-08-11 | ||
PCT/US1999/017948 WO2000010076A1 (en) | 1998-08-11 | 1999-08-10 | Scheduling instructions with different latencies |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002522841A JP2002522841A (ja) | 2002-07-23 |
JP2002522841A5 true JP2002522841A5 (ja) | 2006-09-14 |
JP3984786B2 JP3984786B2 (ja) | 2007-10-03 |
Family
ID=22452183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000565456A Expired - Fee Related JP3984786B2 (ja) | 1998-08-11 | 1999-08-10 | 異なる待ち時間を伴う命令のスケジューリング |
Country Status (6)
Country | Link |
---|---|
US (1) | US6035389A (ja) |
JP (1) | JP3984786B2 (ja) |
CN (1) | CN1138205C (ja) |
AU (1) | AU5550699A (ja) |
HK (1) | HK1041947B (ja) |
WO (1) | WO2000010076A1 (ja) |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3881763B2 (ja) * | 1998-02-09 | 2007-02-14 | 株式会社ルネサステクノロジ | データ処理装置 |
US6304953B1 (en) * | 1998-07-31 | 2001-10-16 | Intel Corporation | Computer processor with instruction-specific schedulers |
US6304955B1 (en) * | 1998-12-30 | 2001-10-16 | Intel Corporation | Method and apparatus for performing latency based hazard detection |
US6219781B1 (en) * | 1998-12-30 | 2001-04-17 | Intel Corporation | Method and apparatus for performing register hazard detection |
US6631452B1 (en) * | 2000-04-28 | 2003-10-07 | Idea Corporation | Register stack engine having speculative load/store modes |
US7127422B1 (en) * | 2000-05-19 | 2006-10-24 | Etp Holdings, Inc. | Latency monitor |
US20040064678A1 (en) * | 2002-09-30 | 2004-04-01 | Black Bryan P. | Hierarchical scheduling windows |
US20040064679A1 (en) * | 2002-09-30 | 2004-04-01 | Black Bryan P. | Hierarchical scheduling windows |
US7454747B2 (en) * | 2003-02-07 | 2008-11-18 | Sun Microsystems, Inc. | Determining maximum acceptable scheduling load latency using hierarchical search |
US20040158694A1 (en) * | 2003-02-10 | 2004-08-12 | Tomazin Thomas J. | Method and apparatus for hazard detection and management in a pipelined digital processor |
US7590063B2 (en) * | 2003-11-10 | 2009-09-15 | Honeywell International Inc. | Real-time estimation of event-driven traffic latency distributions when layered on static schedules |
US7502912B2 (en) * | 2003-12-30 | 2009-03-10 | Intel Corporation | Method and apparatus for rescheduling operations in a processor |
US20050147036A1 (en) * | 2003-12-30 | 2005-07-07 | Intel Corporation | Method and apparatus for enabling an adaptive replay loop in a processor |
US20050216900A1 (en) * | 2004-03-29 | 2005-09-29 | Xiaohua Shi | Instruction scheduling |
US7257700B2 (en) * | 2004-06-03 | 2007-08-14 | Sun Microsystems, Inc. | Avoiding register RAW hazards when returning from speculative execution |
US7418625B2 (en) * | 2004-09-09 | 2008-08-26 | Broadcom Corporation | Deadlock detection and recovery logic for flow control based data path design |
WO2006134693A1 (ja) * | 2005-06-15 | 2006-12-21 | Matsushita Electric Industrial Co., Ltd. | プロセッサ |
US20160098279A1 (en) * | 2005-08-29 | 2016-04-07 | Searete Llc | Method and apparatus for segmented sequential storage |
GB2447907B (en) * | 2007-03-26 | 2009-02-18 | Imagination Tech Ltd | Processing long-latency instructions in a pipelined processor |
US7913067B2 (en) * | 2008-02-20 | 2011-03-22 | International Business Machines Corporation | Method and system for overlapping execution of instructions through non-uniform execution pipelines in an in-order processor |
US20090271237A1 (en) * | 2008-04-28 | 2009-10-29 | Rail Insight, Llc | Optimizing Rail Shipments for Commodity Transactions |
US9405975B2 (en) | 2010-03-26 | 2016-08-02 | Brain Corporation | Apparatus and methods for pulse-code invariant object recognition |
US8467623B2 (en) * | 2010-03-26 | 2013-06-18 | Brain Corporation | Invariant pulse latency coding systems and methods systems and methods |
US9122994B2 (en) | 2010-03-26 | 2015-09-01 | Brain Corporation | Apparatus and methods for temporally proximate object recognition |
US9311593B2 (en) | 2010-03-26 | 2016-04-12 | Brain Corporation | Apparatus and methods for polychronous encoding and multiplexing in neuronal prosthetic devices |
US9152915B1 (en) | 2010-08-26 | 2015-10-06 | Brain Corporation | Apparatus and methods for encoding vector into pulse-code output |
JP2012173755A (ja) * | 2011-02-17 | 2012-09-10 | Nec Computertechno Ltd | 情報処理装置及び情報処理方法 |
US9070039B2 (en) | 2013-02-01 | 2015-06-30 | Brian Corporation | Temporal winner takes all spiking neuron network sensory processing apparatus and methods |
US9047568B1 (en) | 2012-09-20 | 2015-06-02 | Brain Corporation | Apparatus and methods for encoding of sensory data using artificial spiking neurons |
US9098811B2 (en) | 2012-06-04 | 2015-08-04 | Brain Corporation | Spiking neuron network apparatus and methods |
TWI643063B (zh) * | 2012-03-06 | 2018-12-01 | 智邦科技股份有限公司 | Detection method |
US9224090B2 (en) | 2012-05-07 | 2015-12-29 | Brain Corporation | Sensory input processing apparatus in a spiking neural network |
US9129221B2 (en) | 2012-05-07 | 2015-09-08 | Brain Corporation | Spiking neural network feedback apparatus and methods |
US9412041B1 (en) | 2012-06-29 | 2016-08-09 | Brain Corporation | Retinal apparatus and methods |
US9311594B1 (en) | 2012-09-20 | 2016-04-12 | Brain Corporation | Spiking neuron network apparatus and methods for encoding of sensory data |
US9183493B2 (en) | 2012-10-25 | 2015-11-10 | Brain Corporation | Adaptive plasticity apparatus and methods for spiking neuron network |
US9111226B2 (en) | 2012-10-25 | 2015-08-18 | Brain Corporation | Modulated plasticity apparatus and methods for spiking neuron network |
US9218563B2 (en) | 2012-10-25 | 2015-12-22 | Brain Corporation | Spiking neuron sensory processing apparatus and methods for saliency detection |
US9275326B2 (en) | 2012-11-30 | 2016-03-01 | Brain Corporation | Rate stabilization through plasticity in spiking neuron network |
US9123127B2 (en) | 2012-12-10 | 2015-09-01 | Brain Corporation | Contrast enhancement spiking neuron network sensory processing apparatus and methods |
US9177245B2 (en) | 2013-02-08 | 2015-11-03 | Qualcomm Technologies Inc. | Spiking network apparatus and method with bimodal spike-timing dependent plasticity |
US9009545B2 (en) * | 2013-06-14 | 2015-04-14 | International Business Machines Corporation | Pulsed-latch based razor with 1-cycle error recovery scheme |
US9239985B2 (en) | 2013-06-19 | 2016-01-19 | Brain Corporation | Apparatus and methods for processing inputs in an artificial neuron network |
US9436909B2 (en) | 2013-06-19 | 2016-09-06 | Brain Corporation | Increased dynamic range artificial neuron network apparatus and methods |
US11210098B2 (en) * | 2013-07-15 | 2021-12-28 | Texas Instruments Incorporated | Variable latency instructions |
US9552546B1 (en) | 2013-07-30 | 2017-01-24 | Brain Corporation | Apparatus and methods for efficacy balancing in a spiking neuron network |
US9489623B1 (en) | 2013-10-15 | 2016-11-08 | Brain Corporation | Apparatus and methods for backward propagation of errors in a spiking neuron network |
US9939253B2 (en) | 2014-05-22 | 2018-04-10 | Brain Corporation | Apparatus and methods for distance estimation using multiple image sensors |
US10194163B2 (en) | 2014-05-22 | 2019-01-29 | Brain Corporation | Apparatus and methods for real time estimation of differential motion in live video |
US9713982B2 (en) | 2014-05-22 | 2017-07-25 | Brain Corporation | Apparatus and methods for robotic operation using video imagery |
US9848112B2 (en) | 2014-07-01 | 2017-12-19 | Brain Corporation | Optical detection apparatus and methods |
US10057593B2 (en) | 2014-07-08 | 2018-08-21 | Brain Corporation | Apparatus and methods for distance estimation using stereo imagery |
US10055850B2 (en) | 2014-09-19 | 2018-08-21 | Brain Corporation | Salient features tracking apparatus and methods using visual initialization |
US9881349B1 (en) | 2014-10-24 | 2018-01-30 | Gopro, Inc. | Apparatus and methods for computerized object identification |
US9563428B2 (en) * | 2015-03-26 | 2017-02-07 | International Business Machines Corporation | Schedulers with load-store queue awareness |
US10197664B2 (en) | 2015-07-20 | 2019-02-05 | Brain Corporation | Apparatus and methods for detection of objects using broadband signals |
TWI587218B (zh) * | 2016-09-10 | 2017-06-11 | 財團法人工業技術研究院 | 記憶體事務層級模型模擬方法及系統 |
US10558460B2 (en) * | 2016-12-14 | 2020-02-11 | Qualcomm Incorporated | General purpose register allocation in streaming processor |
CN108334326A (zh) * | 2018-02-06 | 2018-07-27 | 江苏华存电子科技有限公司 | 一种低延迟指令调度器的自动管理方法 |
US11263013B2 (en) * | 2020-04-07 | 2022-03-01 | Andes Technology Corporation | Processor having read shifter and controlling method using the same |
US11829187B2 (en) | 2022-01-30 | 2023-11-28 | Simplex Micro, Inc. | Microprocessor with time counter for statically dispatching instructions |
US11954491B2 (en) | 2022-01-30 | 2024-04-09 | Simplex Micro, Inc. | Multi-threading microprocessor with a time counter for statically dispatching instructions |
US11829767B2 (en) | 2022-01-30 | 2023-11-28 | Simplex Micro, Inc. | Register scoreboard for a microprocessor with a time counter for statically dispatching instructions |
US11829762B2 (en) | 2022-01-30 | 2023-11-28 | Simplex Micro, Inc. | Time-resource matrix for a microprocessor with time counter for statically dispatching instructions |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404469A (en) * | 1992-02-25 | 1995-04-04 | Industrial Technology Research Institute | Multi-threaded microprocessor architecture utilizing static interleaving |
US5657315A (en) * | 1995-06-01 | 1997-08-12 | International Business Machines Corporation | System and method for ring latency measurement and correction |
US5745724A (en) * | 1996-01-26 | 1998-04-28 | Advanced Micro Devices, Inc. | Scan chain for rapidly identifying first or second objects of selected types in a sequential list |
US5828868A (en) * | 1996-11-13 | 1998-10-27 | Intel Corporation | Processor having execution core sections operating at different clock rates |
-
1998
- 1998-08-11 US US09/132,043 patent/US6035389A/en not_active Expired - Lifetime
-
1999
- 1999-08-10 WO PCT/US1999/017948 patent/WO2000010076A1/en active Application Filing
- 1999-08-10 JP JP2000565456A patent/JP3984786B2/ja not_active Expired - Fee Related
- 1999-08-10 AU AU55506/99A patent/AU5550699A/en not_active Abandoned
- 1999-08-10 CN CNB998120030A patent/CN1138205C/zh not_active Expired - Fee Related
-
2002
- 2002-05-14 HK HK02103640.6A patent/HK1041947B/zh not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002522841A5 (ja) | ||
JP3984786B2 (ja) | 異なる待ち時間を伴う命令のスケジューリング | |
US6098166A (en) | Speculative issue of instructions under a load miss shadow | |
TW446912B (en) | Methods and apparatus for reordering load operations in a computer processing system | |
JP3871458B2 (ja) | コンピュータ・システム | |
Eickemeyer et al. | Evaluation of multithreaded uniprocessors for commercial application environments | |
US7418575B2 (en) | Long instruction word processing with instruction extensions | |
Del Cuvillo et al. | FAST: A functionally accurate simulation toolset for the Cyclops64 cellular architecture | |
JP3579414B2 (ja) | 投機的な実行を用いたアウトオブオーダー・プロセッサにおける精密な例外を配達する機構 | |
JP4292198B2 (ja) | 実行スレッドをグループ化するための方法 | |
JP2002007116A (ja) | 高性能スーパースカラーマイクロプロセッサアウトオブオーダー命令棚における優先度トラッキング方法及び装置 | |
US6266759B1 (en) | Register scoreboarding to support overlapped execution of vector memory reference instructions in a vector processor | |
US6202139B1 (en) | Pipelined data cache with multiple ports and processor with load/store unit selecting only load or store operations for concurrent processing | |
JPH03282958A (ja) | 電子計算機 | |
RU2312388C2 (ru) | Способ организации многопроцессорной эвм | |
JPS6297036A (ja) | 計算機システム | |
US6324640B1 (en) | System and method for dispatching groups of instructions using pipelined register renaming | |
JP2001236245A5 (ja) | ||
GB2540940A (en) | An apparatus and method for transferring a plurality of data structures between memory and one or more vectors of data elements stored in a register bank | |
US11321097B2 (en) | Super-thread processor | |
US7565658B2 (en) | Hidden job start preparation in an instruction-parallel processor system | |
KR20020087392A (ko) | 사전-스케쥴링 명령어 캐시를 구성하기 위한 방법 및 장치 | |
US6681321B1 (en) | Method system and apparatus for instruction execution tracing with out of order processors | |
JP2001142701A (ja) | プロセッサにおけるパイプライン制御用メカニズムおよび方法 | |
JP2014191663A (ja) | 演算処理装置、情報処理装置、および演算処理装置の制御方法 |