JP4647307B2 - スケーラブルプロセッサにおける自動タスク分散 - Google Patents
スケーラブルプロセッサにおける自動タスク分散 Download PDFInfo
- Publication number
- JP4647307B2 JP4647307B2 JP2004500179A JP2004500179A JP4647307B2 JP 4647307 B2 JP4647307 B2 JP 4647307B2 JP 2004500179 A JP2004500179 A JP 2004500179A JP 2004500179 A JP2004500179 A JP 2004500179A JP 4647307 B2 JP4647307 B2 JP 4647307B2
- Authority
- JP
- Japan
- Prior art keywords
- subsequence
- processing
- instruction
- instructions
- available
- 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 - Lifetime
Links
- 238000012545 processing Methods 0.000 claims description 116
- 230000003252 repetitive effect Effects 0.000 claims description 23
- 238000000034 method Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 2
- 230000004044 response Effects 0.000 claims 2
- 230000003213 activating effect Effects 0.000 claims 1
- 230000008054 signal transmission Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 108091081062 Repeated sequence (DNA) Proteins 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000009131 signaling function Effects 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional 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/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/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- 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/3802—Instruction prefetching
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
- G06F9/381—Loop buffering
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Power Sources (AREA)
Description
Claims (9)
- 命令のシーケンスに基づいて情報をプロセッサコア及び処理リソースで並行処理するための方法であって、
a)前記命令のシーケンスにおいて繰り返しサブシーケンスを検出するステップと、
b)前記繰り返しサブシーケンスの反復レートを示すインデックス情報をもたらすステップと、
c)前記繰り返しサブシーケンスが所定の期間の間にもはや検出されない場合、前記繰り返しサブシーケンスを消去するための命令を生成するステップと、
d)何れかの前記処理リソースが使用可能かどうかを検出するステップと、
e)前記処理リソースが使用可能である場合、前記インデックス情報に基づいて前記処理リソースと前記繰り返しサブシーケンスとの間の割り当てを決定するステップと、
f)前記繰り返しサブシーケンスを消去するための命令に応じて、前記消去された繰り返しサブシーケンスが割り当てられている処理リソースをリセットするステップと
を有する方法において、
前記インデックス情報は、他の検出された繰り返しサブシーケンスの反復レートと比較される、前記繰り返しサブシーケンスの前記反復レートの順位がセットされる整数を有し、
前記割り当ては前記整数を前記使用可能な処理リソースの数と比較することによって決定され、
前記整数が前記使用可能な処理リソースの数よりも小さくなる全ての繰り返しサブシーケンスは各々、選択された各々の前記使用可能な処理リソースに割り当てられて処理される一方、残存するサブシーケンスは前記プロセッサコアによって実行される
方法。 - 前記インデックス情報を含む命令を生成すると共に前記命令を前記命令のシーケンスに加えるステップを更に有する請求項1に記載の方法。
- 前記インデックス情報が、前記繰り返しサブシーケンスにおける命令の数を示す情報を有する請求項1又は2に記載の方法。
- 前記繰り返しサブシーケンスによって使用される処理レジスタを特定するための命令を生成するステップと、
前記繰り返しサブシーケンスによって使用される処理レジスタを特定するための命令を使用して、前記特定された処理レジスタをロックするステップを更に有する請求項1乃至3の何れか一項に記載の方法。 - 前記インデックス情報を含む前記命令に対応する繰り返しサブシーケンスが前記処理リソースに既に割り当てられているとき、前記処理リソースを活性化させるステップを更に有する請求項2に記載の方法。
- 前記割り当てを決定するステップが、前記対応する繰り返しサブシーケンスに従って前記処理リソースをプログラムするか、又は前記対応する繰り返しサブシーケンスを前記処理リソースのメモリにアップロードするステップを有する請求項5に記載の方法。
- 処理リソースの存在をプロセッサコアに信号送出すると共に、前記信号送出に基づいて、使用可能な前記処理リソースの数をカウントするステップを更に有する請求項1乃至6の何れか一項に記載の方法。
- 命令のシーケンスに基づいて情報をプロセッサコア及び処理リソースで並行処理するための装置であって、
a)前記命令のシーケンスにおいて繰り返しサブシーケンスを検出すると共に、前記繰り返しサブシーケンスの反復レートを示すインデックス情報をもたらすための手段と、
b)前記繰り返しサブシーケンスが所定の期間の間にもはや検出されない場合、前記繰り返しサブシーケンスを消去するための命令を生成する手段と、
c)何れかの前記処理リソースが使用可能かどうかを検出する手段と、
d)前記処理リソースが使用可能である場合、前記インデックス情報に基づいて前記繰り返しサブシーケンスを前記処理リソースに割り当てるためのリソース制御手段と、
e)前記繰り返しサブシーケンスを消去するための命令に応じて前記消去された繰り返しサブシーケンスが割り当てられている処理リソースをリセットする手段と
を有する装置において、
前記繰り返しサブシーケンスが割り当てられ得る少なくとも一つの処理リソースを前記プロセッサコアに接続するための接続手段を更に有し、
前記少なくとも一つの処理リソースと、対応する繰り返しサブシーケンスとの間の割り当てを示す割り当て情報を記憶するためのメモリテーブルを更に有し、
前記接続手段に接続される前記少なくとも一つの処理リソースの数を決定するための手段を更に有し、
前記インデックス情報に基づいて、前記繰り返しサブシーケンスを前記少なくとも一つの処理リソースのうちの使用可能な一つにマッピングするためのマッピング手段を更に有し、
前記インデックス情報は、他の検出された繰り返しサブシーケンスの反復レートと比較される、前記繰り返しサブシーケンスの前記反復レートの順位がセットされる整数を有し、
前記割り当ては前記整数を前記使用可能な処理リソースの数と比較することによって決定され、
前記整数が前記使用可能な処理リソースの数よりも小さくなる全ての繰り返しサブシーケンスは各々、選択された各々の前記使用可能な処理リソースに割り当てられて処理される一方、残存するサブシーケンスは前記プロセッサコアによって実行される
装置。 - 前記装置はディジタル信号プロセッサであり、前記少なくとも一つの処理リソースはプロセッサコア及び/又は構成可能な論理ブロックである請求項8に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02076642 | 2002-04-25 | ||
PCT/IB2003/001399 WO2003091874A2 (en) | 2002-04-25 | 2003-04-04 | Automatic task distribution in scalable processors |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005524143A JP2005524143A (ja) | 2005-08-11 |
JP2005524143A5 JP2005524143A5 (ja) | 2006-05-25 |
JP4647307B2 true JP4647307B2 (ja) | 2011-03-09 |
Family
ID=29265963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004500179A Expired - Lifetime JP4647307B2 (ja) | 2002-04-25 | 2003-04-04 | スケーラブルプロセッサにおける自動タスク分散 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7765533B2 (ja) |
EP (1) | EP1502182B1 (ja) |
JP (1) | JP4647307B2 (ja) |
CN (1) | CN1650258A (ja) |
AU (1) | AU2003214567A1 (ja) |
WO (1) | WO2003091874A2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7519621B2 (en) * | 2004-05-04 | 2009-04-14 | Pagebites, Inc. | Extracting information from Web pages |
JP4585809B2 (ja) * | 2004-08-02 | 2010-11-24 | 株式会社リコー | 画像処理制御装置 |
FR2893156B1 (fr) * | 2005-11-04 | 2008-02-15 | Commissariat Energie Atomique | Procede et systeme de calcul intensif multitache et multiflot en temps reel. |
US20100174884A1 (en) * | 2005-12-27 | 2010-07-08 | Matsushita Electric Industrial Co., Ltd. | Processor having reconfigurable arithmetic element |
JP4778359B2 (ja) * | 2006-05-17 | 2011-09-21 | エヌイーシーコンピュータテクノ株式会社 | エミュレーション方法及びコンピュータシステム |
US7984269B2 (en) * | 2007-06-12 | 2011-07-19 | Arm Limited | Data processing apparatus and method for reducing issue circuitry responsibility by using a predetermined pipeline stage to schedule a next operation in a sequence of operations defined by a complex instruction |
US20100057514A1 (en) * | 2008-08-29 | 2010-03-04 | International Business Machines Corporation | Effective task distribution in collaborative software development |
US8327351B2 (en) * | 2009-04-30 | 2012-12-04 | Sap Ag | Application modification framework |
US9631396B2 (en) * | 2011-06-20 | 2017-04-25 | Eddie Leach | Do-it-yourself fence |
CN108614736B (zh) | 2018-04-13 | 2021-03-02 | 杭州中天微系统有限公司 | 实现资源索引替换的装置及处理器 |
GB2594498B (en) | 2020-04-30 | 2022-06-01 | Advanced Risc Mach Ltd | Instruction scheduling |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5457799A (en) * | 1994-03-01 | 1995-10-10 | Digital Equipment Corporation | Optimizer for program loops |
US5497373A (en) * | 1994-03-22 | 1996-03-05 | Ericsson Messaging Systems Inc. | Multi-media interface |
US5752035A (en) * | 1995-04-05 | 1998-05-12 | Xilinx, Inc. | Method for compiling and executing programs for reprogrammable instruction set accelerator |
US6077315A (en) * | 1995-04-17 | 2000-06-20 | Ricoh Company Ltd. | Compiling system and method for partially reconfigurable computing |
US5696956A (en) * | 1995-11-08 | 1997-12-09 | Digital Equipment Corporation | Dynamically programmable reduced instruction set computer with programmable processor loading on program number field and program number register contents |
US6044225A (en) * | 1996-03-13 | 2000-03-28 | Diamond Multimedia Systems, Inc. | Multiple parallel digital data stream channel controller |
US5963972A (en) * | 1997-02-24 | 1999-10-05 | Digital Equipment Corporation | Memory architecture dependent program mapping |
US5966534A (en) * | 1997-06-27 | 1999-10-12 | Cooke; Laurence H. | Method for compiling high level programming languages into an integrated processor with reconfigurable logic |
US6327704B1 (en) * | 1998-08-06 | 2001-12-04 | Hewlett-Packard Company | System, method, and product for multi-branch backpatching in a dynamic translator |
GB9825102D0 (en) * | 1998-11-16 | 1999-01-13 | Insignia Solutions Plc | Computer system |
US6912706B1 (en) * | 2001-08-15 | 2005-06-28 | Xilinx, Inc. | Instruction processor and programmable logic device cooperative computing arrangement and method |
-
2003
- 2003-04-04 AU AU2003214567A patent/AU2003214567A1/en not_active Abandoned
- 2003-04-04 EP EP03710147.4A patent/EP1502182B1/en not_active Expired - Lifetime
- 2003-04-04 WO PCT/IB2003/001399 patent/WO2003091874A2/en active Application Filing
- 2003-04-04 US US10/511,514 patent/US7765533B2/en active Active
- 2003-04-04 JP JP2004500179A patent/JP4647307B2/ja not_active Expired - Lifetime
- 2003-04-04 CN CNA03809181XA patent/CN1650258A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2005524143A (ja) | 2005-08-11 |
US20050132345A1 (en) | 2005-06-16 |
WO2003091874A2 (en) | 2003-11-06 |
EP1502182A2 (en) | 2005-02-02 |
AU2003214567A1 (en) | 2003-11-10 |
WO2003091874A3 (en) | 2004-03-11 |
US7765533B2 (en) | 2010-07-27 |
CN1650258A (zh) | 2005-08-03 |
EP1502182B1 (en) | 2016-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6660991B2 (ja) | マルチスレッドプロセッサでのタスクのスケジューリング | |
US7493475B2 (en) | Instruction vector-mode processing in multi-lane processor by multiplex switch replicating instruction in one lane to select others along with updated operand address | |
US7594102B2 (en) | Method and apparatus for vector execution on a scalar machine | |
US10430190B2 (en) | Systems and methods for selectively controlling multithreaded execution of executable code segments | |
JP4484925B2 (ja) | Simdデバイスにおける制御フロー管理のための方法及び装置 | |
JP5356531B2 (ja) | シーケンス検出又は命令に関連付けられた情報に基づいた命令の最適化性能 | |
JP4647307B2 (ja) | スケーラブルプロセッサにおける自動タスク分散 | |
JP2004302706A (ja) | プログラム並列化装置,プログラム並列化方法およびプログラム並列化プログラム | |
EA004071B1 (ru) | Управляющий программный продукт и система обработки данных | |
JP2005524143A5 (ja) | ||
US10606641B2 (en) | Scheduling tasks in a multi-threaded processor | |
US20030120882A1 (en) | Apparatus and method for exiting from a software pipeline loop procedure in a digital signal processor | |
US7162620B2 (en) | Methods and apparatus for multi-processing execution of computer instructions | |
US20030120900A1 (en) | Apparatus and method for a software pipeline loop procedure in a digital signal processor | |
CN113296788A (zh) | 指令调度方法、装置、设备、存储介质及程序产品 | |
JP7510253B2 (ja) | 分岐予測器 | |
US7028162B2 (en) | Configurable processing block capable of interacting with external hardware | |
US20030120905A1 (en) | Apparatus and method for executing a nested loop program with a software pipeline loop procedure in a digital signal processor | |
US20030120899A1 (en) | Apparatus and method for processing an interrupt in a software pipeline loop procedure in a digital signal processor | |
US20030182511A1 (en) | Apparatus and method for resolving an instruction conflict in a software pipeline nested loop procedure in a digital signal processor | |
US20060190709A1 (en) | Method and system for branch prediction | |
JPH08305547A (ja) | Pldによるコンピュータおよびコンパイラおよびオペレーティングシステム | |
EP1496431A2 (en) | High level micro-controller | |
JP2017199223A (ja) | 演算実行装置、および、演算実行方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060403 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060403 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061219 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070319 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070328 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070619 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080122 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080521 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080707 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080822 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100601 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100607 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101021 |
|
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: 20101208 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131217 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4647307 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |