JP4607958B2 - プロセッサおよびプログラム変換装置 - Google Patents
プロセッサおよびプログラム変換装置 Download PDFInfo
- Publication number
- JP4607958B2 JP4607958B2 JP2007513516A JP2007513516A JP4607958B2 JP 4607958 B2 JP4607958 B2 JP 4607958B2 JP 2007513516 A JP2007513516 A JP 2007513516A JP 2007513516 A JP2007513516 A JP 2007513516A JP 4607958 B2 JP4607958 B2 JP 4607958B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- stage
- processor
- attribute information
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3824—Operand accessing
- G06F9/383—Operand prefetching
- G06F9/3832—Value prediction for operands; operand history buffers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Description
ジョン・L. ヘネシー 、デイビッド・A・パターソン著「コンピュータの構成と設計第2版(下)−ハードウエアとソフトウェアのインタフェース−」日経BP社発行、2005年6月2日、 p440〜452
実施の形態1におけるプロセッサは、個々のレジスタが、それぞれ個別の属性情報を持つ複数のレジスタからなるレジスタファイルを有し、属性情報によって、レジスタファイルへの書き込みの有無を制御することを特徴とする。
DECステージでは、命令解読部110により、IDステージ以降で使用される命令解読情報の生成を行い、命令制御部120に出力する。
IDステージでは、命令実行時に読み出すレジスタの値を、命令実行入力データとして生成し、命令実行部130に出力する。
EXステージでは、パイプラインバッファ(EX)135に格納された命令実行入力データに対し、命令解読情報に従い、演算処理制御回路124またはメモリアクセス制御回路125が制御信号を生成し、演算処理実行回路131、メモリアクセス実行回路132が動作させる。
MEMステージでは、パイプラインバッファ制御回路123が、命令解読情報に従い、パイプラインバッファ(MEM)136の値またはメモリアクセスを行う命令に対する命令実行結果であるメモリアクセス実行回路132の出力のいずれかを選択するように選択制御信号を生成し、MEMセレクタ134に出力する。
WBステージでは、命令解読情報に従い、レジスタファイル書き込み制御回路123が、レジスタファイル140に対する書き込み制御信号を生成し、パイプラインバッファ(WB)137の出力である命令実行結果をレジスタファイル140に書き込むことで、データ保持部142が更新される。
Enable)信号をマスクする。これによりフォワーディングされたデータのレジスタへの書き込みが抑制される。
以下、本発明に係る実施の形態2について、図面を参照しながら説明する。
MEMステージでは、パイプラインバッファ制御回路123が、命令解読情報に従い、パイプラインバッファ(MEM)236の値またはメモリアクセスを行う命令に対する命令実行結果であるメモリアクセス実行回路132の出力のいずれかを選択するように選択制御信号を生成し、MEMセレクタ134に出力する。
以下、本発明に係る実施の形態3について、図6を用いて説明する。
WBステージでは、命令解読情報に従い、レジスタファイル書き込み制御回路122が、レジスタファイル340に対する書き込み制御信号を生成し、パイプラインバッファ(WB)137の出力である命令実行結果をレジスタファイル340に書き込むことで、データ保持部142が更新される。
以下、本発明に係る実施の形態4について、図面を参照しながら説明する。
WBステージでは、命令解読情報に従い、レジスタファイル書き込み制御回路123が、レジスタファイル140に対する書き込み制御信号を生成し、パイプラインバッファ(WB)137の出力である命令実行結果をレジスタファイル140に書き込むことで、データ保持部142が更新される。
実施の形態5におけるプロセッサは、実施の形態1におけるプロセッサに加えて、命令として、属性変更命令を更に有することを特徴とする。以上の点を踏まえて、本発明における実施の形態5におけるプロセッサについて説明する。
WBステージでは、命令解読情報に従い、レジスタファイル書き込み制御回路123が、レジスタファイル140に対する書き込み制御信号を生成し、パイプラインバッファ(WB)137の出力である命令実行結果をレジスタファイル140に書き込むことで、データ保持部142が更新される。
2行目:Reg#31のデータをアドレスとしてメモリへの読み出しを行い、読み出されたデータをReg#0に格納するロード命令。
3行目:Reg#0とReg#1のデータを加算し、Reg#2に格納する加算命令。
4行目:Reg#2のデータを、Reg#31のデータをアドレスとしてメモリへの書き込みを行うストア命令。
5行目: Reg#31と即値1を加算し、Reg#31に格納する加算命令。
6行目: 1行目に分岐する(ループ実行)分岐命令。
以下、本発明に係る実施の形態6について、図面を参照しながら説明する。本実施の形態では属性情報が個々のレジスタに対応して保持されるのではなく、属性情報がフォワーディング対象の個々のデータに対応して複数段のパイプラインバッファ保持され、複数のパイプラインバッファに受け渡される構成について説明する。
WBステージでは、命令解読情報に従い、レジスタファイル書き込み制御回路723が、レジスタファイル740に対する書き込み制御信号を生成し、パイプラインバッファ(WB)737の出力である命令実行結果をレジスタファイル740に書き込むことで、データ保持部142が更新される。
2行目:Reg#31のデータをアドレスとしてメモリへの読み出しを行い、読み出されたデータをReg#0に格納するロード命令。
3行目:Reg#0とReg#1のデータを加算し、Reg#2に格納する加算命令。
4行目:Reg#2のデータを、Reg#31のデータをアドレスとしてメモリへの書き込みを行うストア命令。
5行目:Reg#31と即値1を加算し、Reg#31に格納する加算命令。
6行目:1行目に分岐する(ループ実行)分岐命令。
120、620 命令制御部
121 FWD制御回路
122 レジスタファイル書き込み制御回路
123 パイプラインバッファ制御回路
124 演算処理制御回路
125 メモリアクセス制御回路
126、626 レジスタ書き込み抑制回路
126a 属性セレクタ
126b アンドゲート
126c 属性セレクタ
126d アンドゲート
130 命令実行部
131 演算処理実行回路
132 メモリアクセス実行回路
133 FWDセレクタ
134 MEMセレクタ
135、635 パイプラインバッファ(EX)
136、636 パイプラインバッファ(MEM)
137、637 パイプラインバッファ(WB)
138、139、201、638、639 抑制ゲート
139 抑制ゲート
140 レジスタファイル
141、641 属性保持部
142 データ保持部
341 属性情報
602 コンパイラ
604、804 拡張アセンブラ
Claims (4)
- フォワーディング機能を有するプロセッサであって、
レジスタへの書き込み抑制に関する属性情報を保持する保持手段と、
フォワーディングが起きたとき、属性情報に応じてフォワーディングされたデータのレジスタ書き込みを抑制する制御手段と
を備え、
前記保持手段は、少なくとも1つのレジスタに対応させて前記属性情報を保持し、前記プロセッサにより書き換え可能であり、
前記プロセッサはさらに、レジスタへの書き込みを抑制するか否かを指示する制御レジスタを有し、
前記保持手段は制御レジスタに保持されたデータに対応する属性情報を保持する
ことを特徴とするプロセッサ。 - 前記プロセッサは、さらに、属性情報を変更する属性変更命令を実行することによって前記保持手段の属性情報を書き換える
ことを特徴とする請求項1記載のプロセッサ。 - オリジナルプログラムを請求項1記載のプロセッサを対象とするプログラムに変換するプログラム変換装置であって、
オリジナルプログラムからレジスタに格納される変数を抽出する抽出手段と、
抽出された変数の生存区間を検出する検出手段と、
前記変数を参照する参照命令が生存区間において1つのみであるか否かを判定する第1判定手段と、
前記生存区間において、前記変数を定義する定義命令と前記参照命令とがフォワーディングの対象となるか否かを判定する第2判定手段と、
参照命令が生存区間において1つのみであると判定され、かつフォワーディングの対象となると判定された場合に、前記定義命令によるレジスタ書き込みを抑制する抑制命令を含むプログラムを生成する生成手段と
を有し、
前記抑制命令は、前記生存期間の前に前記変数を格納すべきレジスタへの書き込みを抑制する属性情報を、前記保持手段に設定する属性変更命令、および前記生存期間の後に前記変数を格納すべきレジスタへの書き込みを抑制しない属性情報を、前記保持手段に設定する属性変更命令であり、
前記生成手段は、オリジナルプログラムに前記属性変更命令を追加する
ことを特徴とするプログラム変換装置。 - 前記抑制命令は、前記参照命令と同じ操作内容とレジスタ書き込み抑制指示を伴う抑制付き参照命令であり、
前記生成手段は、オリジナルプログラムにおける前記定義命令を前記抑制付き定義命令に変更することにより、前記プログラムを生成する
ことを特徴とする請求項3記載のプログラム変換装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006013029 | 2006-01-20 | ||
JP2006013029 | 2006-01-20 | ||
PCT/JP2006/320576 WO2007083421A1 (ja) | 2006-01-20 | 2006-10-16 | プロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2007083421A1 JPWO2007083421A1 (ja) | 2009-06-11 |
JP4607958B2 true JP4607958B2 (ja) | 2011-01-05 |
Family
ID=38287381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007513516A Expired - Fee Related JP4607958B2 (ja) | 2006-01-20 | 2006-10-16 | プロセッサおよびプログラム変換装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7975128B2 (ja) |
JP (1) | JP4607958B2 (ja) |
CN (1) | CN101361039A (ja) |
WO (1) | WO2007083421A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5555102B2 (ja) * | 2010-09-01 | 2014-07-23 | キヤノン株式会社 | プロセッサ |
CN104216681B (zh) * | 2013-05-31 | 2018-02-13 | 华为技术有限公司 | 一种cpu指令处理方法和处理器 |
JP6422381B2 (ja) * | 2015-03-18 | 2018-11-14 | ルネサスエレクトロニクス株式会社 | プロセッサ、プログラムコード変換装置及びソフトウェア |
US9715943B2 (en) * | 2015-08-12 | 2017-07-25 | Texas Instruments Incorporated | Semiconductor memory cell multi-write avoidance encoding apparatus, systems and methods |
JP6627630B2 (ja) * | 2016-04-15 | 2020-01-08 | 富士通株式会社 | コンパイル方法、コンパイルプログラム及び情報処理装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1165844A (ja) * | 1997-08-19 | 1999-03-09 | Fujitsu Ltd | パイプラインバイパス機能を有するデータ処理装置 |
JP2000305777A (ja) * | 1999-04-26 | 2000-11-02 | Hitachi Ltd | デジタル処理装置 |
JP2003122561A (ja) * | 2001-10-10 | 2003-04-25 | Matsushita Electric Ind Co Ltd | 情報処理装置 |
WO2004084065A2 (en) * | 2003-03-19 | 2004-09-30 | Koninklijke Philips Electronics N.V. | Pipelined instruction processor with data bypassing |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5781753A (en) * | 1989-02-24 | 1998-07-14 | Advanced Micro Devices, Inc. | Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions |
US5706407A (en) * | 1993-12-28 | 1998-01-06 | Kabushiki Kaisha Toshiba | System for reallocation of memory banks in memory sized order |
JP3606387B2 (ja) * | 1994-09-13 | 2005-01-05 | 松下電器産業株式会社 | コンパイル装置 |
JP3338374B2 (ja) | 1997-06-30 | 2002-10-28 | 松下電器産業株式会社 | 演算処理方法および装置 |
US6862677B1 (en) * | 2000-02-16 | 2005-03-01 | Koninklijke Philips Electronics N.V. | System and method for eliminating write back to register using dead field indicator |
EP1199629A1 (en) * | 2000-10-17 | 2002-04-24 | STMicroelectronics S.r.l. | Processor architecture with variable-stage pipeline |
GB2378783B (en) * | 2001-08-17 | 2004-12-29 | F Secure Oyj | Preventing virus infection in a computer system |
EP2431839B1 (en) | 2003-03-18 | 2015-09-23 | Panasonic Intellectual Property Management Co., Ltd. | Processor, driving method thereof, and information processing device |
US7096345B1 (en) * | 2003-09-26 | 2006-08-22 | Marvell International Ltd. | Data processing system with bypass reorder buffer having non-bypassable locations and combined load/store arithmetic logic unit and processing method thereof |
US7634597B2 (en) * | 2003-10-08 | 2009-12-15 | Micron Technology, Inc. | Alignment of instructions and replies across multiple devices in a cascaded system, using buffers of programmable depths |
JP2006059068A (ja) | 2004-08-19 | 2006-03-02 | Matsushita Electric Ind Co Ltd | プロセッサ装置 |
US20070255928A1 (en) | 2004-10-19 | 2007-11-01 | Matsushita Electric Industrial Co., Ltd. | Processor |
JP2008097572A (ja) | 2006-09-11 | 2008-04-24 | Matsushita Electric Ind Co Ltd | 演算装置、コンピュータシステム、および携帯機器 |
-
2006
- 2006-10-16 CN CN200680051248.4A patent/CN101361039A/zh active Pending
- 2006-10-16 WO PCT/JP2006/320576 patent/WO2007083421A1/ja active Application Filing
- 2006-10-16 JP JP2007513516A patent/JP4607958B2/ja not_active Expired - Fee Related
- 2006-10-16 US US12/161,124 patent/US7975128B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1165844A (ja) * | 1997-08-19 | 1999-03-09 | Fujitsu Ltd | パイプラインバイパス機能を有するデータ処理装置 |
JP2000305777A (ja) * | 1999-04-26 | 2000-11-02 | Hitachi Ltd | デジタル処理装置 |
JP2003122561A (ja) * | 2001-10-10 | 2003-04-25 | Matsushita Electric Ind Co Ltd | 情報処理装置 |
WO2004084065A2 (en) * | 2003-03-19 | 2004-09-30 | Koninklijke Philips Electronics N.V. | Pipelined instruction processor with data bypassing |
Also Published As
Publication number | Publication date |
---|---|
WO2007083421A1 (ja) | 2007-07-26 |
JPWO2007083421A1 (ja) | 2009-06-11 |
CN101361039A (zh) | 2009-02-04 |
US7975128B2 (en) | 2011-07-05 |
US20100169610A1 (en) | 2010-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100953856B1 (ko) | 조건부 명령이 무조건적으로 출력을 제공하는 시스템 및방법 | |
KR100900364B1 (ko) | 인스트럭션 실행 디바이스, 인스트럭션 실행 방법 및 컴퓨터 판독가능 메모리 매체 | |
JP4202244B2 (ja) | Vliw型dsp,及びその動作方法 | |
US7647480B2 (en) | Handling of conditional instructions in a data processing apparatus | |
US9389868B2 (en) | Confidence-driven selective predication of processor instructions | |
JP3449186B2 (ja) | パイプラインバイパス機能を有するデータ処理装置 | |
JP4412905B2 (ja) | 低電力動作制御装置、およびプログラム最適化装置 | |
JP4607958B2 (ja) | プロセッサおよびプログラム変換装置 | |
JP4864840B2 (ja) | マイクロプロセッサ | |
KR20080014062A (ko) | 마이크로프로세서에서의 효율적인 서브프로그램 복귀 | |
JPH1185513A (ja) | プロセッサ | |
JP4771079B2 (ja) | Vliw型プロセッサ | |
KR19980024622A (ko) | 프로그램 실행 방법 및 그 방법을 이용한 장치 | |
JP3915019B2 (ja) | Vliwプロセッサ、プログラム生成装置、および記録媒体 | |
US11327758B2 (en) | Non-transitory computer-readable recording medium, assembly instruction conversion method and information processing apparatus | |
US20250217145A1 (en) | Techniques for pipelining single thread instructions to improve execution time | |
JP2005149297A (ja) | プロセッサおよびそのアセンブラ | |
JP2008107913A (ja) | プログラム、ソフトウェア変換装置及びコンピュータ | |
JP4006887B2 (ja) | コンパイラ、プロセッサおよび記録媒体 | |
JP3603895B2 (ja) | コンパイラ、および命令生成方法 | |
JP5263497B2 (ja) | 信号処理プロセッサ及び半導体装置 | |
CN120255961A (zh) | 一种数据通路、芯片及电子设备 | |
WO2024029174A1 (ja) | ジャンプ命令に基づくパイプライン処理を制御するプロセッサ及びプログラム記録媒体 | |
JP2006139644A (ja) | プロセッサ | |
US20090119492A1 (en) | Data Processing Apparatus and Method for Handling Procedure Call Instructions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100408 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100511 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100805 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100818 |
|
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: 20100907 |
|
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: 20101007 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4607958 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131015 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |