JP2007537528A - データ処理方法、処理装置、多重命令ワードセット生成方法、コンパイラプログラム - Google Patents
データ処理方法、処理装置、多重命令ワードセット生成方法、コンパイラプログラム Download PDFInfo
- Publication number
- JP2007537528A JP2007537528A JP2007512674A JP2007512674A JP2007537528A JP 2007537528 A JP2007537528 A JP 2007537528A JP 2007512674 A JP2007512674 A JP 2007512674A JP 2007512674 A JP2007512674 A JP 2007512674A JP 2007537528 A JP2007537528 A JP 2007537528A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register file
- multiple instruction
- instruction word
- data
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 36
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 title claims description 24
- 230000008859 change Effects 0.000 claims abstract description 17
- 238000004891 communication Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 2
- 230000007704 transition Effects 0.000 description 7
- 230000003111 delayed effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000010813 municipal solid waste Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 101150117735 sel-10 gene Proteins 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/52—Binary to binary
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30156—Special purpose encoding of instructions, e.g. Gray coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
ネットワークCN、マルチプレクサMP0及びMP1を介して、ライト選択インデックスws00及びws10、並びにライトレジスタインデックスwp00及びwp10の制御下で、書き込まれ得る。
INS(i){
alu.and(RFO[2],RFO[3]); /* RF0のレジスタ2及び3に格納された値を引数として用い、機能ユニットALUで論理ANDを実行する。 */
RF1[1]=alu.op00; /* 機能ユニットALUによる論理ANDオペレーションの結果をRF1のレジスタ1に書き込む。 */
lsu.load_0(RF1[5]); /* RF1のレジスタ5に格納されたメモリーマップドアドレスに位置するデータを、機能ユニットLSUにより「ロード」する。 */
}
INS(i+l){
alu.sub(RF0[0],RF0[3]); /* 機能ユニットALUにより、RF0のレジスタ3の値をRF0のレジスタ0の値から減ずる。 */
RF0[6]=alu.op00; /* 機能ユニットALUによる減算結果をRF0のレジスタ6に書き込む。 */
lsu.store_0(RF1[4],RFl[5]); /* 機能ユニットLSUにより、RF1のレジスタ5に値を、RF1のレジスタ4に格納されたメモリーマップドアドレスに格納する。 */
INS(i+2){
RF1[2]=lsu.load_2.op10; /* 機能ユニットLSUによりロードされたデータをRF1のレジスタ2に格納する。 */
}
INS(i){
alu.and(RF0[2],RF0[3]); /* RF0のレジスタ2及び3を引数として用い機能ユニットALUで論理ANDを実行する。 */
RF1[1]=alu.op00; /* 機能ユニットALUによる論理ANDオペレーションの結果をRF1のレジスタ1に書き込む。 */
lsu.load_0(RF1[5]); /* 機能ユニットLSUにより、RF1のレジスタ5に格納されたメモリーマップドアドレスに位置するデータを「ロード」する。 */
}
INS(i+1){
alu.sub(RF0[0],RF0[3]); /* RF0のレジスタ0の値から、RF0のレジスタ3の値を減ずる。 */
RF0[6]=alu.op00; /* 機能ユニットALUによる減算の結果を、RF0のレジスタ6に書き込む。 */
if(RF1[7])
lsu.store_0(RF1[4],RF1[5]); /* RF1のレジスタ7の値が、ゼロでない場合、機能ユニットLSUにより、RF1のレジスタ5の値を、RF1のレジスタ4に格納されたメモリーマップドアドレスに格納する。 */
}
INS(i+2){
RFl[2]=lsu.load_2.op10; /* 機能ユニットLSUによりロードされたデータを、RF1のレジスタ2に格納する。 */
}
Claims (10)
- データ処理方法であって、複数の命令を並列に実行するよう構成された、時間定常多重命令ワードを処理する装置を用い、前記方法は:
各多重命令ワードは複数の命令フィールドを有し、各命令フィールドは前記処理装置の対応するリソースの制御情報を符号化し、そしてノーオペレーション命令に関連する命令フィールド及び隣接する多重命令ワードの関連する命令フィールドの間のビット変化は最小限に抑えられる、前記多重命令ワードセットを生成する段階;
入力データをレジスタファイルに格納する段階;
前記多重命令ワードセットから引き出された制御情報に基づき、前記レジスタファイルから読み出したデータを処理する段階;
第1の専用ノーオペレーションコードを用い、ノーオペレーション命令の実行中に、前記レジスタファイルへの結果データの書き戻しを無効にする段階、
を有する、データ処理方法。 - 前記方法は:
オペコードを符号化するために第2の専用ノーオペレーションコードを用い、ノーオペレーション命令の実行中に前記処理装置の状態の変化を更に防ぐ段階、
を更に有する、請求項1記載のデータ処理方法。 - 前記隣接する多重命令ワードは、前記多重命令ワードに隣接し、コンピュータープログラムのコンパイル後に引き出された多重命令ワードセット内で、前記ノーオペレーション命令に関連する命令フィールドを有することを特徴とする、請求項1記載のデータ処理方法。
- 前記隣接する多重命令ワードは、多重命令ワードに隣接する可能性が最も高く、前記多重命令ワードセットの実行中に、プロファイル情報から引き出された、前記ノーオペレーション命令に関連する命令フィールドを有することを特徴とする、請求項1記載のデータ処理方法。
- 処理装置であって、請求項1記載のデータ処理方法を実行するよう構成され:
前記複数の命令を並列に実行するよう構成された複数の発行スロット;
前記複数の発行スロットによりアクセス可能なレジスタファイル;
前記複数の発行スロット及び前記レジスタファイルを結合する通信ネットワーク;
前記多重命令ワードセットから引き出された制御情報に基づき、前記処理装置を制御するよう構成された制御部、
を有する、処理装置。 - 前記レジスタファイルは、分散レジスタファイルであることを特徴とする、請求項5記載の処理装置。
- 前記通信ネットワークは、部分接続通信ネットワークであることを特徴とする、請求項5記載の処理装置。
- 前記処理装置は、時間定常超長命令語プロセッサーであることを特徴とする、請求項5記載の処理装置。
- 方法であって、2進プログラムコード形式の多重命令ワードセットを、対応するアセンブリ言語形式の多重命令ワードセットから生成し、各多重命令ワードは、複数の命令フィールドを有し、並びに多重命令ワードの前記セットは、複数の発行スロット、及び前記複数の発行スロットと結合されたレジスタファイルを有する時間定常処理装置により実行され、前記方法は:
多重命令ワードの前記セットを通じて順序付ける段階、
同一の命令フィールドに対し、命令からノーオペレーション命令への変化があるか否かを決定する段階、
ノーオペレーション命令と関連した命令フィールド及び隣接する多重命令ワードの対応する命令フィールドの間のビット変化を最小限に抑える段階、
ノーオペレーション命令を実行している間、結果データの前記レジスタファイルへの書き戻しを無効にするために、第1の専用NOPコードを前記ノーオペレーション命令の2進プログラムコードに挿入する段階、
を有する、多重命令ワードセット生成方法。 - コンパイラプログラムであって、請求項9記載の方法を用い、一連の命令を2進プログラムコード形式で生成する要構成された、コンパイラプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04102104.9 | 2004-05-13 | ||
EP04102104 | 2004-05-13 | ||
PCT/IB2005/051491 WO2005111792A2 (en) | 2004-05-13 | 2005-05-09 | Lower power vltw |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007537528A true JP2007537528A (ja) | 2007-12-20 |
JP5122277B2 JP5122277B2 (ja) | 2013-01-16 |
Family
ID=34967368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007512674A Expired - Fee Related JP5122277B2 (ja) | 2004-05-13 | 2005-05-09 | データ処理方法、処理装置、多重命令ワードセット生成方法、コンパイラプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US9201657B2 (ja) |
EP (1) | EP1754143A2 (ja) |
JP (1) | JP5122277B2 (ja) |
CN (1) | CN101124539A (ja) |
WO (1) | WO2005111792A2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681822B (zh) * | 2011-03-17 | 2016-06-15 | 中兴通讯股份有限公司 | 一种处理器地址缓冲管理的实现装置及方法 |
CN102681821B (zh) * | 2011-12-31 | 2014-07-30 | 浙江大学 | 基于C-SKY v2指令集的二进制工具集设计方法 |
US11307791B2 (en) * | 2019-05-24 | 2022-04-19 | Texas Instruments Incorporated | Quick clearing of registers |
CN114489792B (zh) * | 2021-03-25 | 2022-10-11 | 沐曦集成电路(上海)有限公司 | 处理器装置及其指令执行方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995016952A1 (en) * | 1993-12-15 | 1995-06-22 | Silicon Graphics Inc. | Superscalar microprocessor instruction pipeline including instruction dispatch and release control |
JPH1027102A (ja) * | 1996-07-11 | 1998-01-27 | Hitachi Ltd | 演算処理装置 |
JPH11249896A (ja) * | 1997-12-23 | 1999-09-17 | Texas Instr Inc <Ti> | マルチ命令語プロセッサのための電力低減方法 |
JP2000020309A (ja) * | 1998-06-30 | 2000-01-21 | Toshiba Microelectronics Corp | デジタルシグナルプロセッサ |
JP2000187591A (ja) * | 1998-12-22 | 2000-07-04 | Nec Corp | ループ処理方式 |
US6535984B1 (en) * | 1998-11-25 | 2003-03-18 | Texas Instruments Incorporated | Power reduction for multiple-instruction-word processors with proxy NOP instructions |
JP2006523885A (ja) * | 2003-04-16 | 2006-10-19 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | タイムステーショナリプロセッサにおける条件動作のためのサポート |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001005675A (ja) * | 1999-06-21 | 2001-01-12 | Matsushita Electric Ind Co Ltd | プログラム変換装置及びプロセッサ |
GB2378538A (en) * | 2001-08-10 | 2003-02-12 | At & T Lab Cambridge Ltd | Saving power in a pipelined processor/memory system by replacing discarded instructions following a branch by a duplicate of the branch instruction |
-
2005
- 2005-05-09 US US11/568,714 patent/US9201657B2/en not_active Expired - Fee Related
- 2005-05-09 CN CNA200580014853XA patent/CN101124539A/zh active Pending
- 2005-05-09 EP EP05739752A patent/EP1754143A2/en not_active Withdrawn
- 2005-05-09 JP JP2007512674A patent/JP5122277B2/ja not_active Expired - Fee Related
- 2005-05-09 WO PCT/IB2005/051491 patent/WO2005111792A2/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995016952A1 (en) * | 1993-12-15 | 1995-06-22 | Silicon Graphics Inc. | Superscalar microprocessor instruction pipeline including instruction dispatch and release control |
JPH1027102A (ja) * | 1996-07-11 | 1998-01-27 | Hitachi Ltd | 演算処理装置 |
JPH11249896A (ja) * | 1997-12-23 | 1999-09-17 | Texas Instr Inc <Ti> | マルチ命令語プロセッサのための電力低減方法 |
JP2000020309A (ja) * | 1998-06-30 | 2000-01-21 | Toshiba Microelectronics Corp | デジタルシグナルプロセッサ |
US6535984B1 (en) * | 1998-11-25 | 2003-03-18 | Texas Instruments Incorporated | Power reduction for multiple-instruction-word processors with proxy NOP instructions |
JP2000187591A (ja) * | 1998-12-22 | 2000-07-04 | Nec Corp | ループ処理方式 |
JP2006523885A (ja) * | 2003-04-16 | 2006-10-19 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | タイムステーショナリプロセッサにおける条件動作のためのサポート |
Non-Patent Citations (3)
Title |
---|
JPN7009002882; Peter M. Kogge: '"THE MICROPROGRAMMING OF PIPELINED PROCESSORS"' Proceedings of the 4th annual symposium on Computer architecture , 1977, ACM * |
JPN7009002883; Gert Goossens et al: '"Embedded software in real-time signal processing systems: design technologies"' Proceedings of the IEEE,Volume 85, Issue 3, March 1997 , 199703, Page(s):436 - 454, IEEE * |
JPN7010002957; Edward A. Lee: '"Programmable DSP Architectures:Part II"' IEEE ASSP MAGAZINE , 198901, pp.4-14, IEEE * |
Also Published As
Publication number | Publication date |
---|---|
US9201657B2 (en) | 2015-12-01 |
JP5122277B2 (ja) | 2013-01-16 |
CN101124539A (zh) | 2008-02-13 |
US20100153691A1 (en) | 2010-06-17 |
WO2005111792A2 (en) | 2005-11-24 |
WO2005111792A3 (en) | 2007-08-16 |
EP1754143A2 (en) | 2007-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU776972B2 (en) | Program product and data processing system | |
US20140372994A1 (en) | Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control | |
US7313671B2 (en) | Processing apparatus, processing method and compiler | |
US7574583B2 (en) | Processing apparatus including dedicated issue slot for loading immediate value, and processing method therefor | |
US20040205326A1 (en) | Early predicate evaluation to reduce power in very long instruction word processors employing predicate execution | |
JP5122277B2 (ja) | データ処理方法、処理装置、多重命令ワードセット生成方法、コンパイラプログラム | |
EP3295299A1 (en) | Decoding information about a group of instructions including a size of the group of instructions | |
JP5989293B2 (ja) | 多重命令語処理装置におけるフィードバック接続の実行時間選択 | |
JP4828409B2 (ja) | タイムステーショナリプロセッサにおける条件動作のためのサポート | |
JP5068529B2 (ja) | 時間−静止型プロセッサにおけるゼロ−オーバヘッドのブランチング及びルーピング | |
Song | Demystifying epic and ia-64 | |
WO2005036384A2 (en) | Instruction encoding for vliw processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20071024 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080502 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20110419 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110607 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110905 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120518 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120820 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120827 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120906 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120928 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121024 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151102 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5122277 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |