JP2006164279A - プロセッサ・アーキテクチャ - Google Patents
プロセッサ・アーキテクチャ Download PDFInfo
- Publication number
- JP2006164279A JP2006164279A JP2005349339A JP2005349339A JP2006164279A JP 2006164279 A JP2006164279 A JP 2006164279A JP 2005349339 A JP2005349339 A JP 2005349339A JP 2005349339 A JP2005349339 A JP 2005349339A JP 2006164279 A JP2006164279 A JP 2006164279A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- processor
- arithmetic
- group
- instruction word
- 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 claims abstract description 18
- 238000004891 communication Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 230000035508 accumulation Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011159 matrix 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 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length 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
-
- 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
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or 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 or 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)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】LIWプロセッサは、複数の演算装置から構成される。プロセッサからなる複数の演算装置はグループ分けされ、入力命令語には、各グループの1つの演算装置に対する命令が含まれる。プロセッサからなる複数の演算装置は、プロセッサの望ましい用途に関する制限を特に設けることなくグループ化されているため、プロセッサは信号処理用に最適化される。これは、信号処理用途においては、必ずしも特定の演算装置が同時に動作する必要はないと判断されているからである。このため、上述の複数の演算装置がデバイスの動作に大きな影響を与えることはなく、そのうちの1つの演算装置のみがある特定の時間に動作可能となるようにグループ化することができる。アレイは、この種類のプロセッサを複数相互に接続することで形成されている。
【選択図】図2
Description
Claims (13)
- 複数の演算装置と、サブ命令を含む命令語をデコードする手段とを備える長命令語プロセッサであって、
前記演算装置は、複数のグループに分けられ、前記複数のグループの各グループは少なくとも1つの演算装置を備え、
1つの命令語は、前記複数のグループの各グループに含まれる前記複数の演算装置のうち、1つの前記演算装置のみに対する1つのサブ命令を含み、
1つの命令語は、所望数の前記複数のグループに含まれる各演算装置に対する各サブ命令を含むことを特徴とするプロセッサ。 - 固定幅の命令メモリを備え、命令語長が前記命令語のサブ命令数に依存することを特徴とする請求項1記載のプロセッサ。
- 前記命令メモリの固定幅は前記命令メモリの列を定義し、命令語をデコードする前記手段は前記命令メモリの列境界を越える命令語をデコードする手段から構成されることを特徴とする請求項2記載のプロセッサ。
- 前記複数のグループの第1のグループは、第1の算術論理演算装置で構成され、
前記複数のグループの第2のグループは、前記プロセッサの受信データ・バスからデータを転送し、前記プロセッサの発信データ・バスにデータを転送するように適合されている通信装置で構成されていることを特徴とする前記請求項のいずれかに記載のプロセッサ。 - 前記通信装置は、前記プロセッサの内部レジスタからデータを転送し、前記プロセッサの前記内部レジスタにデータを転送するように適合されていることを特徴とする請求項4記載のプロセッサ。
- 前記複数のグループの前記第2のグループは、前記プロセッサの内部メモリからデータを転送し、前記プロセッサの前記内部メモリにデータを転送するように適合されたメモリ・アクセス装置とともに用いられる第2の算術論理演算装置をさらに備えることを特徴とする請求項4記載のプロセッサ。
- 演算装置からなる第3のグループをさらに備えることを特徴とする請求項4記載のプロセッサ。
- 演算装置からなる前記第3のグループは、分岐演算を実行するように適合された分岐装置で構成されることを特徴とする請求項7記載のプロセッサ。
- 演算装置からなる前記第3のグループは、乗算装置で構成されることを特徴とする請求項7または8記載のプロセッサ。
- 演算装置からなる前記第3のグループは、乗算アキュムレータ装置で構成されることを特徴とする請求項7または8記載のプロセッサ。
- 演算装置からなる前記第3のグループは、信号処理を実行する装置で構成されることを特徴とする請求項7〜10いずれかに記載のプロセッサ。
- 固定幅の命令メモリをさらに備え、
前記複数の演算装置は、第1のグループ及び少なくとも第2のグループに分けられ、
前記第1のグループにのみ含まれる1つの演算装置に対するサブ命令を含む命令語が第1の命令語長を有し、
前記第2のグループに含まれる1つの演算装置に対するサブ命令を含む命令語が前記第1の命令語長よりも長い第2の命令語長を有し、
前記命令メモリは、前記第1の命令語長を有する命令語及び前記第2の命令語長を有する命令語を格納するよう適合されていることを特徴とする請求項1に記載のプロセッサ。 - 複数の通信バスにより相互に接続される複数の長命令語プロセッサのアレイを備えるプロセッサ・アレイであって、
前記長命令語プロセッサの各プロセッサは、
少なくとも算術論理演算装置と、必要に応じて、前記複数の通信バスの1つからデータを転送する、または、前記複数の通信バスの1つへデータを転送するように適合された通信装置とを含む複数の演算装置と、
サブ命令を含む命令語をデコードする手段とを備え、
前記演算装置は複数のグループに分けられ、前記複数のグループの各グループは少なくとも1つの演算装置を備え、前記算術論理演算装置及び通信装置は異なるグループに含まれ、
1つの命令語は、前記複数のグループの各グループに含まれる前記複数の演算装置のうち、1つの前記演算装置のみに対する1つのサブ命令を含み、
1つの命令語は、所望数の前記複数のグループに含まれる各演算装置に対する各サブ命令を含むことを特徴とするプロセッサ・アレイ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0426606A GB2420884B (en) | 2004-12-03 | 2004-12-03 | Processor architecture |
GB0426606.0 | 2004-12-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006164279A true JP2006164279A (ja) | 2006-06-22 |
JP5112627B2 JP5112627B2 (ja) | 2013-01-09 |
Family
ID=34044035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005349339A Expired - Fee Related JP5112627B2 (ja) | 2004-12-03 | 2005-12-02 | プロセッサ・アーキテクチャ |
Country Status (4)
Country | Link |
---|---|
US (2) | US20060155958A1 (ja) |
EP (1) | EP1667016A3 (ja) |
JP (1) | JP5112627B2 (ja) |
GB (1) | GB2420884B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100813662B1 (ko) | 2006-11-17 | 2008-03-14 | 삼성전자주식회사 | 프로세서 구조 및 응용의 최적화를 위한 프로파일러 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101478785B (zh) * | 2009-01-21 | 2010-08-04 | 华为技术有限公司 | 资源池管理系统及信号处理方法 |
WO2015035339A1 (en) * | 2013-09-06 | 2015-03-12 | Huawei Technologies Co., Ltd. | System and method for an asynchronous processor with heterogeneous processors |
US9928074B2 (en) | 2013-09-06 | 2018-03-27 | Huawei Technologies Co., Ltd. | System and method for an asynchronous processor with token-based very long instruction word architecture |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001034471A (ja) * | 1999-07-19 | 2001-02-09 | Mitsubishi Electric Corp | Vliw方式プロセッサ |
US20030154358A1 (en) * | 2002-02-08 | 2003-08-14 | Samsung Electronics Co., Ltd. | Apparatus and method for dispatching very long instruction word having variable length |
WO2004029796A2 (en) * | 2002-09-24 | 2004-04-08 | Koninklijke Philips Electronics N.V. | Apparatus, method ,and compiler enabling processing of load immediate instructions in a very long instruction word processor |
WO2004034251A1 (en) * | 2002-10-11 | 2004-04-22 | Koninklijke Philips Electronics N.V. | Vliw processor with power saving |
JP2004525439A (ja) * | 2000-12-19 | 2004-08-19 | ピコチップ デザインズ リミテッド | プロセッサアーキテクチャ |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692139A (en) * | 1988-01-11 | 1997-11-25 | North American Philips Corporation, Signetics Div. | VLIW processing device including improved memory for avoiding collisions without an excessive number of ports |
DE69325785T2 (de) * | 1992-12-29 | 2000-02-17 | Koninkl Philips Electronics Nv | Verbesserte Architektur für Prozessor mit sehr langem Befehlswort |
EP0652509B1 (en) * | 1993-11-05 | 2000-05-10 | Intergraph Corporation | Instruction cache associative cross-bar switch |
US5848288A (en) | 1995-09-20 | 1998-12-08 | Intel Corporation | Method and apparatus for accommodating different issue width implementations of VLIW architectures |
JP3623840B2 (ja) * | 1996-01-31 | 2005-02-23 | 株式会社ルネサステクノロジ | データ処理装置及びマイクロプロセッサ |
US5826054A (en) * | 1996-05-15 | 1998-10-20 | Philips Electronics North America Corporation | Compressed Instruction format for use in a VLIW processor |
US6216223B1 (en) * | 1998-01-12 | 2001-04-10 | Billions Of Operations Per Second, Inc. | Methods and apparatus to dynamically reconfigure the instruction pipeline of an indirect very long instruction word scalable processor |
US6317820B1 (en) * | 1998-06-05 | 2001-11-13 | Texas Instruments Incorporated | Dual-mode VLIW architecture providing a software-controlled varying mix of instruction-level and task-level parallelism |
US6240510B1 (en) | 1998-08-06 | 2001-05-29 | Intel Corporation | System for processing a cluster of instructions where the instructions are issued to the execution units having a priority order according to a template associated with the cluster of instructions |
US6249861B1 (en) * | 1998-12-03 | 2001-06-19 | Sun Microsystems, Inc. | Instruction fetch unit aligner for a non-power of two size VLIW instruction |
JP2000305781A (ja) * | 1999-04-21 | 2000-11-02 | Mitsubishi Electric Corp | Vliw方式プロセッサ、コード圧縮装置、コード圧縮方法およびコード圧縮プログラムを記録した媒体 |
US6631439B2 (en) * | 2000-03-08 | 2003-10-07 | Sun Microsystems, Inc. | VLIW computer processing architecture with on-chip dynamic RAM |
US7127588B2 (en) * | 2000-12-05 | 2006-10-24 | Mindspeed Technologies, Inc. | Apparatus and method for an improved performance VLIW processor |
JP2003005958A (ja) * | 2001-06-25 | 2003-01-10 | Pacific Design Kk | データ処理装置およびその制御方法 |
US7404067B2 (en) | 2003-09-08 | 2008-07-22 | Intel Corporation | Method and apparatus for efficient utilization for prescient instruction prefetch |
JP4283131B2 (ja) * | 2004-02-12 | 2009-06-24 | パナソニック株式会社 | プロセッサ及びコンパイル方法 |
GB2414308B (en) * | 2004-05-17 | 2007-08-15 | Advanced Risc Mach Ltd | Program instruction compression |
US7840953B2 (en) | 2004-12-22 | 2010-11-23 | Intel Corporation | Method and system for reducing program code size |
-
2004
- 2004-12-03 GB GB0426606A patent/GB2420884B/en not_active Expired - Fee Related
-
2005
- 2005-12-02 EP EP05257447A patent/EP1667016A3/en not_active Withdrawn
- 2005-12-02 JP JP2005349339A patent/JP5112627B2/ja not_active Expired - Fee Related
- 2005-12-02 US US11/293,845 patent/US20060155958A1/en not_active Abandoned
-
2007
- 2007-11-01 US US11/981,973 patent/US9104426B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001034471A (ja) * | 1999-07-19 | 2001-02-09 | Mitsubishi Electric Corp | Vliw方式プロセッサ |
US6615339B1 (en) * | 1999-07-19 | 2003-09-02 | Mitsubishi Denki Kabushiki Kaisha | VLIW processor accepting branching to any instruction in an instruction word set to be executed consecutively |
JP2004525439A (ja) * | 2000-12-19 | 2004-08-19 | ピコチップ デザインズ リミテッド | プロセッサアーキテクチャ |
US20030154358A1 (en) * | 2002-02-08 | 2003-08-14 | Samsung Electronics Co., Ltd. | Apparatus and method for dispatching very long instruction word having variable length |
WO2004029796A2 (en) * | 2002-09-24 | 2004-04-08 | Koninklijke Philips Electronics N.V. | Apparatus, method ,and compiler enabling processing of load immediate instructions in a very long instruction word processor |
JP2006500673A (ja) * | 2002-09-24 | 2006-01-05 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 処理装置、処理方法及びコンパイラ |
WO2004034251A1 (en) * | 2002-10-11 | 2004-04-22 | Koninklijke Philips Electronics N.V. | Vliw processor with power saving |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100813662B1 (ko) | 2006-11-17 | 2008-03-14 | 삼성전자주식회사 | 프로세서 구조 및 응용의 최적화를 위한 프로파일러 |
US8490066B2 (en) | 2006-11-17 | 2013-07-16 | Samsung Electronics Co., Ltd. | Profiler for optimizing processor architecture and application |
Also Published As
Publication number | Publication date |
---|---|
US9104426B2 (en) | 2015-08-11 |
GB2420884B (en) | 2009-04-15 |
US20080065859A1 (en) | 2008-03-13 |
GB0426606D0 (en) | 2005-01-05 |
US20060155958A1 (en) | 2006-07-13 |
EP1667016A2 (en) | 2006-06-07 |
GB2420884A (en) | 2006-06-07 |
EP1667016A3 (en) | 2008-01-02 |
JP5112627B2 (ja) | 2013-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10445451B2 (en) | Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features | |
US10515046B2 (en) | Processors, methods, and systems with a configurable spatial accelerator | |
US10469397B2 (en) | Processors and methods with configurable network-based dataflow operator circuits | |
US6418527B1 (en) | Data processor instruction system for grouping instructions with or without a common prefix and data processing system that uses two or more instruction grouping methods | |
KR100464406B1 (ko) | 가변길이 vliw 명령어를 위한 디스패치 장치 및 방법 | |
US20190303297A1 (en) | Apparatus, methods, and systems for remote memory access in a configurable spatial accelerator | |
US5903769A (en) | Conditional vector processing | |
JP3842474B2 (ja) | データ処理装置 | |
US10678724B1 (en) | Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator | |
US20030028750A1 (en) | Method and system for digital signal processing in an adaptive computing engine | |
US5561808A (en) | Asymmetric vector multiprocessor composed of a vector unit and a plurality of scalar units each having a different architecture | |
EP1267258A2 (en) | Setting up predicates in a processor with multiple data paths | |
EP2069913A1 (en) | Method and system to combine multiple register units within a microprocessor | |
US7139899B2 (en) | Selected register decode values for pipeline stage register addressing | |
CN108139911B (zh) | 在vliw处理器的同一执行包中使用有条件扩展槽的指令的有条件执行规格 | |
JP2006500673A (ja) | 処理装置、処理方法及びコンパイラ | |
US7861071B2 (en) | Conditional branch instruction capable of testing a plurality of indicators in a predicate register | |
JP5112627B2 (ja) | プロセッサ・アーキテクチャ | |
US20110072238A1 (en) | Method for variable length opcode mapping in a VLIW processor | |
US7340591B1 (en) | Providing parallel operand functions using register file and extra path storage | |
US11106465B2 (en) | Vector add-with-carry instruction | |
Ezer | Xtensa with user defined DSP coprocessor microarchitectures | |
US6438680B1 (en) | Microprocessor | |
CN111984313A (zh) | 矢量位转置 | |
CN101042641B (zh) | 一种具有动态提交流水线功能的数字信号处理器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101012 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110112 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110117 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110210 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111206 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120302 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120307 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120404 |
|
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: 20120911 |
|
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: 20121011 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151019 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |