JP4589305B2 - Ilp及びtlpを利用する再構成可能なプロセッサアレイ - Google Patents
Ilp及びtlpを利用する再構成可能なプロセッサアレイ Download PDFInfo
- Publication number
- JP4589305B2 JP4589305B2 JP2006506823A JP2006506823A JP4589305B2 JP 4589305 B2 JP4589305 B2 JP 4589305B2 JP 2006506823 A JP2006506823 A JP 2006506823A JP 2006506823 A JP2006506823 A JP 2006506823A JP 4589305 B2 JP4589305 B2 JP 4589305B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- processing elements
- elements
- instruction
- processing element
- 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 abstract description 230
- 238000004891 communication Methods 0.000 claims abstract description 26
- 239000000872 buffer Substances 0.000 claims description 16
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 claims description 2
- 230000008878 coupling Effects 0.000 claims 2
- 238000010168 coupling process Methods 0.000 claims 2
- 238000005859 coupling reaction Methods 0.000 claims 2
- 230000006870 function Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000000034 method Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 101150032799 PE15 gene Proteins 0.000 description 3
- 101150087801 PE23 gene Proteins 0.000 description 3
- 101100136063 Mycobacterium tuberculosis (strain ATCC 25618 / H37Rv) PE11 gene Proteins 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 239000002699 waste material Substances 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, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- 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, 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, look ahead
- G06F9/3824—Operand accessing
-
- 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, 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; 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, 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
- G06F9/3828—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage with global bypass, e.g. between pipelines, between clusters
-
- 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, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- 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, 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, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
- G06F9/3891—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
- Communication Control (AREA)
Description
前記第1セットの各処理素子が、レジスタファイルと、少なくとも1つの機能ユニット(functional unit)を有する少なくとも1つの命令発行スロットとを有し、前記処理素子が、共通の制御スレッド(thread of control)下で命令を実行するように構成され、
前記第2セットの各処理素子が、レジスタファイルと、複数の命令発行スロットとを有し、各命令発行スロットが少なくとも1つの機能ユニットを有し、前記処理素子が、共通の制御スレッドの下で命令を実行するように構成され、
前記第2セットの前記処理素子内の命令発行スロットの数が前記第1セットの前記処理素子における命令発行スロットの数より高く、
前記処理システムが更に、前記複数の処理素子の処理素子間で通信するように構成されたプロセッサ間通信手段を有する。計算手段は、加算器、乗算器、例えばAND、OR、XOR等のような論理演算を実行する手段、ルックアップテーブル演算、メモリアクセス等を有することができる。
Claims (11)
- 複数の処理素子を有する処理システムであって、前記複数の処理素子が、処理素子の第1セット及び少なくとも処理素子の第2セットを有し、
前記第1セットの各処理素子が、1つのレジスタファイル及び少なくとも1つの命令発行スロットを有し、前記命令発行スロットが、少なくとも1つの機能ユニットを有し、前記処理素子が、共通の制御スレッドの下で命令を実行するように構成され、
前記第2セットの各処理素子が、1つのレジスタファイル及び複数の命令発行スロットを有し、各命令発行スロットが、少なくとも1つの機能ユニットを有し、前記処理素子が、共通の制御スレッドの下で命令を実行するように構成され、
前記第2セットの前記処理素子内の命令発行スロットの数が、前記第1セットの前記処理素子内の命令発行スロットの数より高く、
前記処理システムが更に、前記複数の処理素子の処理素子の間で通信するように構成されたプロセッサ間通信手段を有する、
処理システム。 - 前記複数の処理素子の前記処理素子は、前記第1セットの処理素子が前記プロセッサ間通信手段を介して前記第2セットのみの処理素子と直接的に通信するように、かつ前記第2セットの処理素子が前記プロセッサ間通信手段を介して前記第1セットのみの処理素子と直接的に通信するようにネットワーク内に構成されることを特徴とする、請求項1に記載の処理システム。
- 前記処理素子の第2セットの処理素子内で組織化された前記複数の発行スロットが、命令実行を制御する少なくとも1つの共通の制御信号を共用することを特徴とする、請求項1に記載の処理システム。
- 前記処理素子の第1セットの前記処理素子が、サイクルごとに1つの演算のみを発行するように構成されることを特徴とする、請求項1に記載の処理システム。
- 前記処理素子の第2セットの前記処理素子が、超長命令語プロセッサであり、前記レジスタファイルが、対応する前記機能ユニットにより前記処理素子にアクセス可能であり、前記処理素子が更に、前記レジスタファイル及び対応する前記機能ユニットを結合するローカル通信ネットワークを有することを特徴とする、請求項1に記載の処理システム。
- 前記処理素子の第1セットの前記処理素子が、超長命令語プロセッサであり、前記レジスタファイルが、対応する前記機能ユニットにより前記処理素子にアクセス可能であり、前記処理素子が更に、前記レジスタファイル及び対応する前記機能ユニットを結合するローカル通信ネットワークを有することを特徴とする、請求項1に記載の処理システム。
- 1つの処理素子に対応する前記レジスタファイルが、分散型レジスタファイルであることを特徴とする、請求項5又は6に記載の処理システム。
- 1つの処理素子に対応する前記ローカル通信ネットワークが、部分的に接続された通信ネットワークであることを特徴とする、請求項5又は6に記載の処理システム。
- 前記プロセッサ間通信手段が、データ駆動同期通信手段を有することを特徴とする、請求項1に記載の処理システム。
- 前記データ駆動同期通信手段が、ブロッキング先入れ先出しバッファを有することを特徴とする、請求項9に記載の処理システム。
- 前記複数の処理素子の前記処理素子が、前記プロセッサ間通信手段によりバイパスされるように構成されることを特徴とする、請求項1に記載の処理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03101016 | 2003-04-15 | ||
PCT/IB2004/050410 WO2004092949A2 (en) | 2003-04-15 | 2004-04-08 | Processing system with instruction-and thread-level parallelism |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006523883A JP2006523883A (ja) | 2006-10-19 |
JP4589305B2 true JP4589305B2 (ja) | 2010-12-01 |
Family
ID=33185922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006506823A Expired - Lifetime JP4589305B2 (ja) | 2003-04-15 | 2004-04-08 | Ilp及びtlpを利用する再構成可能なプロセッサアレイ |
Country Status (8)
Country | Link |
---|---|
US (1) | US20060212678A1 (ja) |
EP (1) | EP1623318B1 (ja) |
JP (1) | JP4589305B2 (ja) |
KR (1) | KR20050123163A (ja) |
CN (1) | CN1833222A (ja) |
AT (1) | ATE459042T1 (ja) |
DE (1) | DE602004025691D1 (ja) |
WO (1) | WO2004092949A2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2003283777A1 (en) * | 2002-12-30 | 2004-07-22 | Koninklijke Philips Electronics N.V. | Processing system |
US7620796B2 (en) * | 2006-01-13 | 2009-11-17 | Broadcom Corporation | System and method for acceleration of streams of dependent instructions within a microprocessor |
JP4784827B2 (ja) | 2006-06-06 | 2011-10-05 | 学校法人早稲田大学 | ヘテロジニアスマルチプロセッサ向けグローバルコンパイラ |
US8478967B2 (en) * | 2009-06-01 | 2013-07-02 | National Instruments Corporation | Automatically creating parallel iterative program code in a data flow program |
CN102207892B (zh) * | 2011-05-27 | 2013-03-27 | 清华大学 | 一种动态可重构处理器内子单元间进行同步的方法 |
KR101929754B1 (ko) | 2012-03-16 | 2018-12-17 | 삼성전자 주식회사 | 미니 코어 기반의 재구성가능 프로세서, 이를 위한 스케줄 장치 및 방법 |
US9715392B2 (en) * | 2014-08-29 | 2017-07-25 | Qualcomm Incorporated | Multiple clustered very long instruction word processing core |
KR102277439B1 (ko) | 2014-10-21 | 2021-07-14 | 삼성전자주식회사 | 재구성 가능 프로세서 및 그 동작 방법 |
US9830150B2 (en) * | 2015-12-04 | 2017-11-28 | Google Llc | Multi-functional execution lane for image processor |
US10185568B2 (en) | 2016-04-22 | 2019-01-22 | Microsoft Technology Licensing, Llc | Annotation logic for dynamic instruction lookahead distance determination |
US10846091B2 (en) | 2019-02-26 | 2020-11-24 | Apple Inc. | Coprocessor with distributed register |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3623840B2 (ja) * | 1996-01-31 | 2005-02-23 | 株式会社ルネサステクノロジ | データ処理装置及びマイクロプロセッサ |
US7051329B1 (en) * | 1999-12-28 | 2006-05-23 | Intel Corporation | Method and apparatus for managing resources in a multithreaded processor |
AU2001245520A1 (en) | 2000-03-08 | 2001-09-17 | Sun Microsystems, Inc. | Vliw computer processing architecture having a scalable number of register files |
-
2004
- 2004-04-08 WO PCT/IB2004/050410 patent/WO2004092949A2/en active Application Filing
- 2004-04-08 EP EP04726598A patent/EP1623318B1/en not_active Expired - Lifetime
- 2004-04-08 DE DE602004025691T patent/DE602004025691D1/de not_active Expired - Lifetime
- 2004-04-08 JP JP2006506823A patent/JP4589305B2/ja not_active Expired - Lifetime
- 2004-04-08 CN CNA2004800099948A patent/CN1833222A/zh active Pending
- 2004-04-08 KR KR1020057019635A patent/KR20050123163A/ko not_active Application Discontinuation
- 2004-04-08 AT AT04726598T patent/ATE459042T1/de not_active IP Right Cessation
- 2004-04-08 US US10/552,807 patent/US20060212678A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2006523883A (ja) | 2006-10-19 |
WO2004092949A3 (en) | 2006-03-30 |
US20060212678A1 (en) | 2006-09-21 |
EP1623318B1 (en) | 2010-02-24 |
DE602004025691D1 (de) | 2010-04-08 |
KR20050123163A (ko) | 2005-12-29 |
CN1833222A (zh) | 2006-09-13 |
WO2004092949A2 (en) | 2004-10-28 |
ATE459042T1 (de) | 2010-03-15 |
EP1623318A2 (en) | 2006-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230106990A1 (en) | Executing multiple programs simultaneously on a processor core | |
JP2918631B2 (ja) | デコーダ | |
US7363467B2 (en) | Dependence-chain processing using trace descriptors having dependency descriptors | |
CA2788263C (en) | A tile-based processor architecture model for high-efficiency embedded homogeneous multicore platforms | |
US7904702B2 (en) | Compound instructions in a multi-threaded processor | |
US5764943A (en) | Data path circuitry for processor having multiple instruction pipelines | |
EP1148414B1 (en) | Method and apparatus for allocating functional units in a multithreaded VLIW processor | |
US20070283356A1 (en) | Multi-threaded processor with deferred thread output control | |
US20080046689A1 (en) | Method and apparatus for cooperative multithreading | |
US8176478B2 (en) | Process for running programs on processors and corresponding processor system | |
WO2000033183A9 (en) | Method and structure for local stall control in a microprocessor | |
JP2004171573A (ja) | 新規な分割命令トランズアクションモデルを使用して構築したコプロセッサ拡張アーキテクチャ | |
JP4589305B2 (ja) | Ilp及びtlpを利用する再構成可能なプロセッサアレイ | |
US7484075B2 (en) | Method and apparatus for providing fast remote register access in a clustered VLIW processor using partitioned register files | |
US9201657B2 (en) | Lower power assembler | |
WO2022126621A1 (zh) | 零缓冲流水的可重构处理单元阵列及零缓冲流水方法 | |
JP2861234B2 (ja) | 命令処理装置 | |
JP2004287919A (ja) | 演算装置及び制御装置及び演算処理装置及び演算方法及び演算プログラム | |
JPH11272465A (ja) | パイプライン制御型計算機 | |
CA2751388A1 (en) | Method and system for mutli-mode instruction-level streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070406 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090526 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090825 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090901 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091224 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100323 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100330 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100623 |
|
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: 20100812 |
|
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: 20100909 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4589305 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130917 Year of fee payment: 3 |
|
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 |