JP5692089B2 - プロセッサ、プロセッサによるループ回数制御方法 - Google Patents
プロセッサ、プロセッサによるループ回数制御方法 Download PDFInfo
- Publication number
- JP5692089B2 JP5692089B2 JP2011543167A JP2011543167A JP5692089B2 JP 5692089 B2 JP5692089 B2 JP 5692089B2 JP 2011543167 A JP2011543167 A JP 2011543167A JP 2011543167 A JP2011543167 A JP 2011543167A JP 5692089 B2 JP5692089 B2 JP 5692089B2
- Authority
- JP
- Japan
- Prior art keywords
- loop
- data
- counter
- instruction
- processing
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 13
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
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/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30065—Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
-
- 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/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
ループ先頭アドレスからループ末尾アドレスまでのループ内処理を実行するループ命令が発行されると、0にリセットされるループカウンタと、
前記ループ内処理に用いるデータが、外部から転送されるデータメモリと、
前記データメモリに転送されたデータを用いて前記ループ内処理を実行する演算部と、
外部から前記データメモリに対して一定量のデータが転送される度に、前記ループカウンタを1インクリメントするデータカウンタと、
前記ループカウンタのループカウント値が0でない場合に、前記ループカウンタを1デクリメントして、前記演算部に対し、前記ループ内処理を実行させるループ制御部と、を有する。
プロセッサによるループ回数制御方法であって、
ループ先頭アドレスからループ末尾アドレスまでのループ内処理を実行するループ命令が発行されると、ループカウンタを0にリセットするステップと、
外部からデータメモリに対して、前記ループ内処理に用いるデータが一定量転送される度に、前記ループカウンタを1インクリメントするステップと、
前記ループカウンタのループカウント値が0でない場合に、前記ループカウンタを1デクリメントして、前記ループ内処理を実行するステップと、を有する。
図3に、本発明の第1の実施形態のプロセッサの構成を示す。
図5に、本発明の第2の実施形態のプロセッサの構成を示す。
Claims (4)
- ループ先頭アドレスからループ末尾アドレスまでのループ内処理を実行するループ命令が発行されると、0にリセットされるループカウンタと、
前記ループ内処理に用いるデータが、外部から転送されるデータメモリと、
前記データメモリに転送されたデータを用いて前記ループ内処理を実行する演算部と、
外部から前記データメモリに対して一定量のデータが転送される度に、前記ループカウンタを1インクリメントするデータカウンタと、
前記ループカウンタのループカウント値が0である場合は、該ループカウント値が1以上になるまで待ち合わせを行い、前記ループカウンタのループカウント値が0でない場合に、前記ループカウンタを1デクリメントして、前記演算部に対し、前記ループ内処理を実行させるループ制御部と、を有することを特徴とするプロセッサ。 - 前記データカウンタは、予めデータカウント条件が設定され、外部から前記データメモリに対して、前記データカウント条件を満たす一定量のデータが転送される度に、前記ループカウンタを1インクリメントする、請求項1に記載のプロセッサ。
- プロセッサによるループ回数制御方法であって、
ループ先頭アドレスからループ末尾アドレスまでのループ内処理を実行するループ命令が発行されると、ループカウンタを0にリセットするステップと、
外部からデータメモリに対して、前記ループ内処理に用いるデータが一定量転送される度に、前記ループカウンタを1インクリメントするステップと、
前記ループカウンタのループカウント値が0である場合は、該ループカウント値が1以上になるまで待ち合わせを行い、前記ループカウンタのループカウント値が0でない場合に、前記ループカウンタを1デクリメントして、前記ループ内処理を実行するステップと、を有することを特徴とするループ回数制御方法。 - 前記ループカウンタを1インクリメントするステップでは、外部から前記データメモリに対して、予め設定されたデータカウント条件を満たす一定量のデータが転送される度に、前記ループカウンタを1インクリメントする、請求項3に記載のループ回数制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011543167A JP5692089B2 (ja) | 2009-11-24 | 2010-10-15 | プロセッサ、プロセッサによるループ回数制御方法 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009266347 | 2009-11-24 | ||
JP2009266347 | 2009-11-24 | ||
PCT/JP2010/068116 WO2011065145A1 (ja) | 2009-11-24 | 2010-10-15 | プロセッサ、プロセッサによるループ回数制御方法 |
JP2011543167A JP5692089B2 (ja) | 2009-11-24 | 2010-10-15 | プロセッサ、プロセッサによるループ回数制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011065145A1 JPWO2011065145A1 (ja) | 2013-04-11 |
JP5692089B2 true JP5692089B2 (ja) | 2015-04-01 |
Family
ID=44066250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011543167A Active JP5692089B2 (ja) | 2009-11-24 | 2010-10-15 | プロセッサ、プロセッサによるループ回数制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9286066B2 (ja) |
JP (1) | JP5692089B2 (ja) |
WO (1) | WO2011065145A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9459871B2 (en) * | 2012-12-31 | 2016-10-04 | Intel Corporation | System of improved loop detection and execution |
US9710272B2 (en) * | 2014-04-25 | 2017-07-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Computer processor with generation renaming |
US10209992B2 (en) | 2014-04-25 | 2019-02-19 | Avago Technologies International Sales Pte. Limited | System and method for branch prediction using two branch history tables and presetting a global branch history register |
GB2548603B (en) | 2016-03-23 | 2018-09-26 | Advanced Risc Mach Ltd | Program loop control |
GB2548604B (en) | 2016-03-23 | 2018-03-21 | Advanced Risc Mach Ltd | Branch instruction |
GB2548602B (en) * | 2016-03-23 | 2019-10-23 | Advanced Risc Mach Ltd | Program loop control |
CN108595210B (zh) * | 2018-04-09 | 2021-12-10 | 杭州中天微系统有限公司 | 实现零开销循环的处理器 |
CN109739557B (zh) * | 2019-01-08 | 2022-02-18 | 郑州云海信息技术有限公司 | 零开销循环装置及实现方法、系统、设备、计算机介质 |
US11182160B1 (en) * | 2020-11-24 | 2021-11-23 | Nxp Usa, Inc. | Generating source and destination addresses for repeated accelerator instruction |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5776650A (en) * | 1980-10-31 | 1982-05-13 | Fujitsu Ltd | Loop counter control system |
JPS60147841A (ja) * | 1984-01-11 | 1985-08-03 | Fujitsu Ltd | ル−プ制御方式 |
JPH08314719A (ja) * | 1995-05-12 | 1996-11-29 | Matsushita Electric Ind Co Ltd | プロセッサ及び翻訳装置 |
JPH09251437A (ja) * | 1996-03-18 | 1997-09-22 | Toshiba Corp | 計算機装置及び連続データサーバ装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4885682A (en) * | 1986-12-01 | 1989-12-05 | Nec Corporation | Microprogram controller for detecting the occurrence of an interrupt request or a termination of a string instruction |
US5680600A (en) * | 1989-10-13 | 1997-10-21 | Texas Instruments Incorporated | Electronic circuit for reducing controller memory requirements |
JPH07200292A (ja) | 1993-12-28 | 1995-08-04 | Mitsubishi Electric Corp | パイプライン式プロセッサ |
JPH09237186A (ja) | 1996-03-04 | 1997-09-09 | Hitachi Ltd | ループ制御装置およびプロセッサ |
US5774711A (en) * | 1996-03-29 | 1998-06-30 | Integrated Device Technology, Inc. | Apparatus and method for processing exceptions during execution of string instructions |
US6035378A (en) * | 1997-12-16 | 2000-03-07 | Ncr Corporation | Method and apparatus for dynamically monitoring memory page access frequency in a non-uniform memory access computer system |
US6658552B1 (en) * | 1998-10-23 | 2003-12-02 | Micron Technology, Inc. | Processing system with separate general purpose execution unit and data string manipulation unit |
JP2001202236A (ja) * | 2000-01-20 | 2001-07-27 | Fuji Xerox Co Ltd | プログラマブル論理回路装置によるデータ処理方法、プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路再構成方法 |
US6671799B1 (en) * | 2000-08-31 | 2003-12-30 | Stmicroelectronics, Inc. | System and method for dynamically sizing hardware loops and executing nested loops in a digital signal processor |
US7065636B2 (en) | 2000-12-20 | 2006-06-20 | Intel Corporation | Hardware loops and pipeline system using advanced generation of loop parameters |
JP2004021890A (ja) | 2002-06-20 | 2004-01-22 | Pacific Design Kk | データ処理装置 |
JP2004070642A (ja) | 2002-08-06 | 2004-03-04 | Fujitsu Access Ltd | 共有メモリを介してデータ転送を行う通信システム |
US7366885B1 (en) * | 2004-06-02 | 2008-04-29 | Advanced Micro Devices, Inc. | Method for optimizing loop control of microcoded instructions |
US7937574B2 (en) * | 2007-07-17 | 2011-05-03 | Advanced Micro Devices, Inc. | Precise counter hardware for microcode loops |
-
2010
- 2010-10-15 US US13/508,977 patent/US9286066B2/en active Active
- 2010-10-15 JP JP2011543167A patent/JP5692089B2/ja active Active
- 2010-10-15 WO PCT/JP2010/068116 patent/WO2011065145A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5776650A (en) * | 1980-10-31 | 1982-05-13 | Fujitsu Ltd | Loop counter control system |
JPS60147841A (ja) * | 1984-01-11 | 1985-08-03 | Fujitsu Ltd | ル−プ制御方式 |
JPH08314719A (ja) * | 1995-05-12 | 1996-11-29 | Matsushita Electric Ind Co Ltd | プロセッサ及び翻訳装置 |
JPH09251437A (ja) * | 1996-03-18 | 1997-09-22 | Toshiba Corp | 計算機装置及び連続データサーバ装置 |
Also Published As
Publication number | Publication date |
---|---|
US9286066B2 (en) | 2016-03-15 |
JPWO2011065145A1 (ja) | 2013-04-11 |
US20120226894A1 (en) | 2012-09-06 |
WO2011065145A1 (ja) | 2011-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5692089B2 (ja) | プロセッサ、プロセッサによるループ回数制御方法 | |
JP6883564B2 (ja) | 動的ベクトル長のループを用いたベクトル処理 | |
TWI571744B (zh) | 數位信號處理資料傳送技術 | |
US20080141013A1 (en) | Digital processor with control means for the execution of nested loops | |
KR20070080089A (ko) | 재구성 어레이에서의 인터럽트 처리 방법 및 장치 | |
WO2009113034A1 (en) | Look-ahead task management | |
JP2008077294A (ja) | マイクロプロセッサおよびそれを用いたマイクロコンピュータ | |
JP3749233B2 (ja) | パイプラインでの命令実行方法及び装置 | |
JP6900363B2 (ja) | データ処理 | |
JP2007207145A (ja) | ループ制御回路及びループ制御方法 | |
US20150058602A1 (en) | Processor with adaptive pipeline length | |
JP2006146758A (ja) | コンピュータシステム | |
JP5233078B2 (ja) | プロセッサ及びその処理方法 | |
JP2011108140A (ja) | データ処理装置 | |
US8701119B1 (en) | Parsing XML in software on CPU with multiple execution units | |
JP2017016250A (ja) | バリア同期装置、バリア同期方法及びプログラム | |
JP3602801B2 (ja) | メモリデータアクセス構造およびその方法 | |
JP2010015298A (ja) | 情報処理装置及び命令フェッチ制御方法 | |
JP5007860B2 (ja) | ベクトル処理装置 | |
JP6160571B2 (ja) | データ処理装置 | |
JP2014160393A (ja) | マイクロプロセッサ及び演算処理方法 | |
JP5541544B2 (ja) | コンピュータ装置、データ転送方法、及びプログラム | |
JP4305400B2 (ja) | マイクロコンピュータ | |
JP2011248454A (ja) | プロセッサ装置及びプロセッサ装置の制御方法 | |
JP6658123B2 (ja) | 並列処理装置、並列処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130910 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20140425 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140722 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140918 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141014 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141202 |
|
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: 20150106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150119 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5692089 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |