JP2006331399A5 - - Google Patents

Download PDF

Info

Publication number
JP2006331399A5
JP2006331399A5 JP2006103563A JP2006103563A JP2006331399A5 JP 2006331399 A5 JP2006331399 A5 JP 2006331399A5 JP 2006103563 A JP2006103563 A JP 2006103563A JP 2006103563 A JP2006103563 A JP 2006103563A JP 2006331399 A5 JP2006331399 A5 JP 2006331399A5
Authority
JP
Japan
Prior art keywords
execution
program instruction
hazard
data
operand value
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
JP2006103563A
Other languages
English (en)
Other versions
JP5031256B2 (ja
JP2006331399A (ja
Filing date
Publication date
Priority claimed from US11/137,792 external-priority patent/US7774582B2/en
Application filed filed Critical
Publication of JP2006331399A publication Critical patent/JP2006331399A/ja
Publication of JP2006331399A5 publication Critical patent/JP2006331399A5/ja
Application granted granted Critical
Publication of JP5031256B2 publication Critical patent/JP5031256B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (10)

  1. 出力オペランド値を生成するためにプログラム指示系列のプログラム指示を並行して実行する複数の実行パイプラインと、
    上記複数の実行パイプラインのそれぞれの実行パイプラインに並行して送出される候補プログラム指示の間のデータ依存性ハザードについて、第1上記候補プログラム指示の出力オペランド値が第2上記候補プログラム指示の入力オペランド値であることにより検出し、もしこのようなデータ依存性ハザードが検出された場合には、データ依存性ハザード信号が生成されるデータハザード検査論理と、
    上記第2上記候補プログラム指示の上記入力オペランド値が必要とされる前に、上記第1上記候補プログラム指示の上記出力オペランド値が生成されるかどうかを検出し、データハザード取消信号を生成するデータハザード取消論理と、
    上記データハザード取消信号を受信すると、いずれかのデータ依存性ハザード信号でも取り消し、上記第1上記候補プログラム指示と上記第2上記候補プログラム指示を並行して送出することを許可する指示送出制御論理と、
    上記第1上記候補プログラム指示の上記出力オペランド値が、上記第2上記候補プログラム指示の上記入力オペランド値として扱われるために、実行パイプライン間に送信されるように制御するオペランド転送論理とを備え、
    上記実行パイプラインのそれぞれは、対応する複数の実行段階を備え、異なる実行段階において異なる形式のプログラム指示のための出力オペランド値を生成することを特徴とするデータ処理装置。
  2. 上記複数の実行パイプラインは、プログラム指示の実行順序で実施する2つの実行パイプラインで構成されることを特徴とする請求項1記載の装置。
  3. 上記複数の実行段階は、上記複数の実行段階の間で進行するプログラム指示の実行のために必要とされる異なるデータ処理機能を実施するそれぞれ異なる指示実行論理を備えることを特徴とする上記請求項1記載の装置。
  4. 少なくともいくつかの形式のプログラム指示については、上記複数の実行段階の内の最後の段階開始される前に、少なくとも1つの出力オペランド値を生成するために必要とされる必要な処理機能の全てが完了していることを特徴とする上記請求項3記載の装置。
  5. 少なくともいくつかの形式のプログラム指示については、上記複数の実行段階の内の最初の段階完了される後までは、少なくとも1つの入力オペランド値が必要とされないことを特徴とする上記請求項3記載の装置。
  6. 上記それぞれの異なる指示実行論理は、
    データシフト機能、
    ALU機能、
    及び読込み/記憶機能のうちの1つまたはそれ以上を実施することを特徴とする上記請求項3記載の装置。
  7. 上記それぞれの実行パイプラインのための上記複数の実行段階は、
    データシフト機能を実施するシフト実行段階と、
    ALU機能を実施するALU実行段階と、
    読込み/記憶機能を実施する読込み/記憶実行段階とを備える実行段階の系列を並べて備えることを特徴とする上記請求項1記載の装置。
  8. 候補プログラム指示に関しては、
    ALUプログラム指示により後続されるシフトプログラム指示が並行して送出され、
    読込み/記憶プログラム指示により後続されるシフトプログラム指示が並行して送出され、
    及び読込み/記憶プログラム指示により後続されるALUプログラム指示が並行して送出される場合に、データ依存性ハザードを有することを特徴とする上記請求項7記載の装置。
  9. 出力オペランド値を生成するためにプログラム指示系列のプログラム指示を並行して実行する複数の実行パイプライン手段と、
    上記複数の実行パイプライン手段のそれぞれの実行パイプライン手段に並行して送出される候補プログラム指示の間のデータ依存性ハザードについて、第1上記候補プログラム指示の出力オペランド値が第2上記候補プログラム指示の入力オペランド値であることにより検出し、もしこのようなデータ依存性ハザードが検出された場合には、データ依存性ハザード信号が生成されるデータハザード検査手段と、
    上記第2上記候補プログラム指示の上記入力オペランド値が必要とされる前に、上記第1上記候補プログラム指示の上記出力オペランド値が生成されるかどうかを検出し、データハザード取消信号を生成するデータハザード取消手段と、
    上記データハザード取消信号を受信すると、いずれかのデータ依存性ハザード信号でも取り消し、上記第1上記候補プログラム指示と上記第2上記候補プログラム指示を並行して送出することを許可する指示送出制御手段と、
    上記第1上記候補プログラム指示の上記出力オペランド値が、上記第2上記候補プログラム指示の上記入力オペランド値として扱われるために、実行パイプライン手段間に送信されるように制御するオペランド転送手段とを備え、
    上記実行パイプラインのそれぞれは、対応する複数の実行段階手段を備え、異なる実行段階手段において異なる形式のプログラム指示のための出力オペランド値を生成することを特徴とするデータ処理装置。
  10. 出力オペランド値を生成するために複数の実行パイプライン内のプログラム指示系列のプログラム指示を並行して実行するステップと、
    上記複数の実行パイプラインのそれぞれの実行パイプラインに並行して送出される候補プログラム指示の間のデータ依存性ハザードについて、第1上記候補プログラム指示の出力オペランド値が第2上記候補プログラム指示の入力オペランド値であることにより検出し、もしこのようなデータ依存性ハザードが検出された場合には、データ依存性ハザード信号が生成されるステップと、
    上記第2上記候補プログラム指示の上記入力オペランド値が必要とされる前に、上記第1上記候補プログラム指示の上記出力オペランド値が生成されるかどうかを検出し、データハザード取消信号を生成するステップと、
    上記データハザード取消信号を受信すると、いずれかのデータ依存性ハザード信号でも取り消し、上記第1上記候補プログラム指示と上記第2上記候補プログラム指示を並行して送出することを許可するステップと、
    上記第1上記候補プログラム指示の上記出力オペランド値が、上記第2上記候補プログラム指示の上記入力オペランド値として扱われるために、実行パイプライン間に送信されるように制御するステップとを備え、
    上記実行パイプラインのそれぞれは、対応する複数の実行段階を備え、異なる実行段階において異なる形式のプログラム指示のための出力オペランド値を生成することを特徴とするデータ処理方法。
JP2006103563A 2005-05-26 2006-04-04 スーパースカラ処理装置内の指示送出制御 Active JP5031256B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/137,792 US7774582B2 (en) 2005-05-26 2005-05-26 Result bypassing to override a data hazard within a superscalar processor
US11/137,792 2005-05-26

Publications (3)

Publication Number Publication Date
JP2006331399A JP2006331399A (ja) 2006-12-07
JP2006331399A5 true JP2006331399A5 (ja) 2011-04-14
JP5031256B2 JP5031256B2 (ja) 2012-09-19

Family

ID=36384248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006103563A Active JP5031256B2 (ja) 2005-05-26 2006-04-04 スーパースカラ処理装置内の指示送出制御

Country Status (4)

Country Link
US (1) US7774582B2 (ja)
JP (1) JP5031256B2 (ja)
CN (1) CN100538627C (ja)
GB (1) GB2426605B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090055636A1 (en) * 2007-08-22 2009-02-26 Heisig Stephen J Method for generating and applying a model to predict hardware performance hazards in a machine instruction sequence
US8990543B2 (en) * 2008-03-11 2015-03-24 Qualcomm Incorporated System and method for generating and using predicates within a single instruction packet
US7921279B2 (en) * 2008-03-19 2011-04-05 International Business Machines Corporation Operand and result forwarding between differently sized operands in a superscalar processor
JP2011177203A (ja) 2010-02-26 2011-09-15 Nintendo Co Ltd オブジェクト制御プログラムおよびオブジェクト制御装置
US9858077B2 (en) 2012-06-05 2018-01-02 Qualcomm Incorporated Issuing instructions to execution pipelines based on register-associated preferences, and related instruction processing circuits, processor systems, methods, and computer-readable media
JP2014164659A (ja) * 2013-02-27 2014-09-08 Renesas Electronics Corp プロセッサ
US10417152B2 (en) * 2016-06-03 2019-09-17 International Business Machines Corporation Operation of a multi-slice processor implementing datapath steering
CN111736900B (zh) * 2020-08-17 2020-11-27 广东省新一代通信与网络创新研究院 一种并行双通道的cache设计方法和装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01296345A (ja) * 1988-05-24 1989-11-29 Hitachi Ltd 情報処理装置
US5471593A (en) * 1989-12-11 1995-11-28 Branigin; Michael H. Computer processor with an efficient means of executing many instructions simultaneously
US5488729A (en) * 1991-05-15 1996-01-30 Ross Technology, Inc. Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution
KR100309566B1 (ko) * 1992-04-29 2001-12-15 리패치 파이프라인프로세서에서다중명령어를무리짓고,그룹화된명령어를동시에발행하고,그룹화된명령어를실행시키는방법및장치
US6073231A (en) * 1993-10-18 2000-06-06 Via-Cyrix, Inc. Pipelined processor with microcontrol of register translation hardware
US6101597A (en) * 1993-12-30 2000-08-08 Intel Corporation Method and apparatus for maximum throughput scheduling of dependent operations in a pipelined processor
JP3745450B2 (ja) * 1996-05-13 2006-02-15 株式会社ルネサステクノロジ 並列処理プロセッサ
JP3578883B2 (ja) * 1997-01-31 2004-10-20 三菱電機株式会社 データ処理装置
US5958041A (en) * 1997-06-26 1999-09-28 Sun Microsystems, Inc. Latency prediction in a pipelined microarchitecture
JP4006887B2 (ja) 1999-06-03 2007-11-14 松下電器産業株式会社 コンパイラ、プロセッサおよび記録媒体
US6408381B1 (en) * 1999-10-01 2002-06-18 Hitachi, Ltd. Mechanism for fast access to control space in a pipeline processor
US6587940B1 (en) * 2000-01-18 2003-07-01 Hewlett-Packard Development Company Local stall/hazard detect in superscalar, pipelined microprocessor to avoid re-read of register file
ATE529802T1 (de) * 2000-02-09 2011-11-15 Texas Instruments Inc Datenverarbeitungsvorrichtung
EP1199629A1 (en) * 2000-10-17 2002-04-24 STMicroelectronics S.r.l. Processor architecture with variable-stage pipeline
JP2002333978A (ja) * 2001-05-08 2002-11-22 Nec Corp Vliw型プロセッサ
US7051191B2 (en) * 2001-12-26 2006-05-23 Intel Corporation Resource management using multiply pendent registers
US6944751B2 (en) * 2002-02-11 2005-09-13 Hewlett-Packard Development Company, L.P. Register renaming to reduce bypass and increase apparent physical register size
US7200738B2 (en) * 2002-04-18 2007-04-03 Micron Technology, Inc. Reducing data hazards in pipelined processors to provide high processor utilization
JP3769249B2 (ja) * 2002-06-27 2006-04-19 富士通株式会社 命令処理装置および命令処理方法
US6922760B2 (en) * 2002-12-05 2005-07-26 Lsi Logic Corporation Distributed result system for high-performance wide-issue superscalar processor
WO2004084065A2 (en) * 2003-03-19 2004-09-30 Koninklijke Philips Electronics N.V. Pipelined instruction processor with data bypassing
US7290121B2 (en) * 2003-06-12 2007-10-30 Advanced Micro Devices, Inc. Method and data processor with reduced stalling due to operand dependencies
US20060095732A1 (en) * 2004-08-30 2006-05-04 Tran Thang M Processes, circuits, devices, and systems for scoreboard and other processor improvements
US7409520B2 (en) * 2005-01-25 2008-08-05 International Business Machines Corporation Systems and methods for time division multiplex multithreading
US7454598B2 (en) * 2005-05-16 2008-11-18 Infineon Technologies Ag Controlling out of order execution pipelines issue tagging

Similar Documents

Publication Publication Date Title
JP2006331399A5 (ja)
US9395996B2 (en) Pipelining out-of-order instructions
TWI501148B (zh) 條件式比較指令
GB2456775B (en) Apparatus and method for performing permutation operations on data
WO2007095397A3 (en) Programmable processing unit
JP2845646B2 (ja) 並列演算処理装置
MX2012014532A (es) Instrucciones para realizar una operacion en un operando en memoria y subsecuentemente cargar un valor original del operando en un registro.
JP2012512490A5 (ja)
JP2009059354A5 (ja)
MY174573A (en) Controlling an order for processing data elements during vector processing
US9658853B2 (en) Techniques for increasing instruction issue rate and reducing latency in an out-of order processor
JP5031256B2 (ja) スーパースカラ処理装置内の指示送出制御
JP2018005488A (ja) 演算処理装置及び演算処理装置の制御方法
WO2009064432A3 (en) System for native code execution
CN102567556A (zh) 一种面向调试的处理器验证方法及验证设备
KR102295677B1 (ko) 연속적인 데이터 병렬처리가 가능한 병렬 처리장치
WO2005103889A3 (en) Methods and apparatus for multi-processor pipeline parallelism
JP4771079B2 (ja) Vliw型プロセッサ
US9213547B2 (en) Processor and method for processing instructions using at least one processing pipeline
EP1050809A1 (en) Computer instruction dependency
JP5732139B2 (ja) データ要素の条件付き選択
JP2011028543A5 (ja) 情報処理システム
US8966230B2 (en) Dynamic selection of execution stage
CN112579168B (zh) 指令执行单元、处理器以及信号处理方法
WO2013095259A1 (en) Vector execution unit for digital signal processor