JP2006331399A5 - - Google Patents
Download PDFInfo
- 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
Links
- 230000001419 dependent Effects 0.000 claims 4
- 230000001276 controlling effect Effects 0.000 claims 3
- 230000000875 corresponding Effects 0.000 claims 3
- 230000005540 biological transmission Effects 0.000 claims 1
- 238000007689 inspection Methods 0.000 claims 1
Claims (10)
- 出力オペランド値を生成するためにプログラム指示系列のプログラム指示を並行して実行する複数の実行パイプラインと、
上記複数の実行パイプラインのそれぞれの実行パイプラインに並行して送出される候補プログラム指示の間のデータ依存性ハザードについて、第1上記候補プログラム指示の出力オペランド値が第2上記候補プログラム指示の入力オペランド値であることにより検出し、もしこのようなデータ依存性ハザードが検出された場合には、データ依存性ハザード信号が生成されるデータハザード検査論理と、
上記第2上記候補プログラム指示の上記入力オペランド値が必要とされる前に、上記第1上記候補プログラム指示の上記出力オペランド値が生成されるかどうかを検出し、データハザード取消信号を生成するデータハザード取消論理と、
上記データハザード取消信号を受信すると、いずれかのデータ依存性ハザード信号でも取り消し、上記第1上記候補プログラム指示と上記第2上記候補プログラム指示を並行して送出することを許可する指示送出制御論理と、
上記第1上記候補プログラム指示の上記出力オペランド値が、上記第2上記候補プログラム指示の上記入力オペランド値として扱われるために、実行パイプライン間に送信されるように制御するオペランド転送論理とを備え、
上記実行パイプラインのそれぞれは、対応する複数の実行段階を備え、異なる実行段階において異なる形式のプログラム指示のための出力オペランド値を生成することを特徴とするデータ処理装置。 - 上記複数の実行パイプラインは、プログラム指示の実行順序で実施する2つの実行パイプラインで構成されることを特徴とする請求項1記載の装置。
- 上記複数の実行段階は、上記複数の実行段階の間で進行するプログラム指示の実行のために必要とされる異なるデータ処理機能を実施するそれぞれ異なる指示実行論理を備えることを特徴とする上記請求項1記載の装置。
- 少なくともいくつかの形式のプログラム指示については、上記複数の実行段階の内の最後の段階が開始される前に、少なくとも1つの出力オペランド値を生成するために必要とされる必要な処理機能の全てが完了していることを特徴とする上記請求項3記載の装置。
- 少なくともいくつかの形式のプログラム指示については、上記複数の実行段階の内の最初の段階が完了される後までは、少なくとも1つの入力オペランド値が必要とされないことを特徴とする上記請求項3記載の装置。
- 上記それぞれの異なる指示実行論理は、
データシフト機能、
ALU機能、
及び読込み/記憶機能のうちの1つまたはそれ以上を実施することを特徴とする上記請求項3記載の装置。 - 上記それぞれの実行パイプラインのための上記複数の実行段階は、
データシフト機能を実施するシフト実行段階と、
ALU機能を実施するALU実行段階と、
読込み/記憶機能を実施する読込み/記憶実行段階とを備える実行段階の系列を並べて備えることを特徴とする上記請求項1記載の装置。 - 候補プログラム指示に関しては、
ALUプログラム指示により後続されるシフトプログラム指示が並行して送出され、
読込み/記憶プログラム指示により後続されるシフトプログラム指示が並行して送出され、
及び読込み/記憶プログラム指示により後続されるALUプログラム指示が並行して送出される場合に、データ依存性ハザードを有することを特徴とする上記請求項7記載の装置。 - 出力オペランド値を生成するためにプログラム指示系列のプログラム指示を並行して実行する複数の実行パイプライン手段と、
上記複数の実行パイプライン手段のそれぞれの実行パイプライン手段に並行して送出される候補プログラム指示の間のデータ依存性ハザードについて、第1上記候補プログラム指示の出力オペランド値が第2上記候補プログラム指示の入力オペランド値であることにより検出し、もしこのようなデータ依存性ハザードが検出された場合には、データ依存性ハザード信号が生成されるデータハザード検査手段と、
上記第2上記候補プログラム指示の上記入力オペランド値が必要とされる前に、上記第1上記候補プログラム指示の上記出力オペランド値が生成されるかどうかを検出し、データハザード取消信号を生成するデータハザード取消手段と、
上記データハザード取消信号を受信すると、いずれかのデータ依存性ハザード信号でも取り消し、上記第1上記候補プログラム指示と上記第2上記候補プログラム指示を並行して送出することを許可する指示送出制御手段と、
上記第1上記候補プログラム指示の上記出力オペランド値が、上記第2上記候補プログラム指示の上記入力オペランド値として扱われるために、実行パイプライン手段間に送信されるように制御するオペランド転送手段とを備え、
上記実行パイプラインのそれぞれは、対応する複数の実行段階手段を備え、異なる実行段階手段において異なる形式のプログラム指示のための出力オペランド値を生成することを特徴とするデータ処理装置。 - 出力オペランド値を生成するために複数の実行パイプライン内のプログラム指示系列のプログラム指示を並行して実行するステップと、
上記複数の実行パイプラインのそれぞれの実行パイプラインに並行して送出される候補プログラム指示の間のデータ依存性ハザードについて、第1上記候補プログラム指示の出力オペランド値が第2上記候補プログラム指示の入力オペランド値であることにより検出し、もしこのようなデータ依存性ハザードが検出された場合には、データ依存性ハザード信号が生成されるステップと、
上記第2上記候補プログラム指示の上記入力オペランド値が必要とされる前に、上記第1上記候補プログラム指示の上記出力オペランド値が生成されるかどうかを検出し、データハザード取消信号を生成するステップと、
上記データハザード取消信号を受信すると、いずれかのデータ依存性ハザード信号でも取り消し、上記第1上記候補プログラム指示と上記第2上記候補プログラム指示を並行して送出することを許可するステップと、
上記第1上記候補プログラム指示の上記出力オペランド値が、上記第2上記候補プログラム指示の上記入力オペランド値として扱われるために、実行パイプライン間に送信されるように制御するステップとを備え、
上記実行パイプラインのそれぞれは、対応する複数の実行段階を備え、異なる実行段階において異なる形式のプログラム指示のための出力オペランド値を生成することを特徴とするデータ処理方法。
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)
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)
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 |
-
2005
- 2005-05-26 US US11/137,792 patent/US7774582B2/en active Active
-
2006
- 2006-03-27 GB GB0606086A patent/GB2426605B/en active Active
- 2006-04-04 JP JP2006103563A patent/JP5031256B2/ja active Active
- 2006-05-25 CN CN200610092423.6A patent/CN100538627C/zh active Active
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 |