JP2007531134A - 非対称二重経路処理のための装置および方法 - Google Patents
非対称二重経路処理のための装置および方法 Download PDFInfo
- Publication number
- JP2007531134A JP2007531134A JP2007505614A JP2007505614A JP2007531134A JP 2007531134 A JP2007531134 A JP 2007531134A JP 2007505614 A JP2007505614 A JP 2007505614A JP 2007505614 A JP2007505614 A JP 2007505614A JP 2007531134 A JP2007531134 A JP 2007531134A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- data
- instructions
- control
- computer processor
- 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 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 16
- 230000009977 dual effect Effects 0.000 title description 8
- 230000006870 function Effects 0.000 claims abstract description 41
- 239000013598 vector Substances 0.000 claims abstract description 17
- 238000004590 computer program Methods 0.000 claims abstract description 14
- 238000001514 detection method Methods 0.000 claims abstract description 3
- 230000008569 process Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012552 review Methods 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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- 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/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
- G06F9/30127—Register windows
-
- 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/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address 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/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/30181—Instruction operation extension or modification
-
- 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
-
- 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/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- 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
-
- 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/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
- G06F9/3897—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
102 制御実行経路
103 データ実行経路
104 制御レジスタファイル
105 データレジスタファイル
106 分岐ユニット
107 実行ユニット
108 ロードストアユニット
109 SIMD固定実行ユニット
110 設定可変の深い実行ユニット
Claims (21)
- 1連の命令パケットを有するメモリから取出される命令パケットを復号する復号ユニットと、
第1および第2処理チャンネルとを備え、
それぞれのチャンネルは、複数の機能ユニットを有し、
上記第1処理チャンネルは、制御機能を実行でき、相対的により狭いビット幅を有する制御レジスタファイルを有し、
上記第2処理チャンネルは、いずれかのベクトルである少なくとも1つの入力でデータ処理機能を実行することができ、相対的により広いビット幅を有するデータレジスタファイルを有し、
上記復号ユニットは、命令パケットが(i)第1処理チャンネルで順次実行される複数の制御命令と定義するか、あるいは(ii)第2実行チャネルで同時に実行されるための少なくとも1つのデータ処理命令を備える複数の命令と定義するかどうかを、それぞれの命令パケットに対して検出することができ、この検出に従い上記第1および第2チャンネルを制御することを特徴とするコンピュータプロセッサ。 - 上記第1処理チャンネルは、更に分岐ユニットと制御実行ユニットとを備えることを特徴とする請求項1に記載のコンピュータプロセッサ。
- 上記第2処理チャンネルは、更に固定データ実行ユニットと設定可変データ実行ユニットとを備えることを特徴とする請求項1又は2に記載のコンピュータプロセッサ。
- 上記固定データ実行ユニットと上記設定可変データ実行ユニットの両方は、単一命令多重データフォーマットに従い機能することを特徴とする請求項3に記載のコンピュータプロセッサ。
- 上記第1及び第2処理チャンネルは、ロードストアユニットを共有することを特徴とする上記請求項1乃至4のいずれか1項に記載のコンピュータプロセッサ。
- 上記ロードストアユニットは、第1処理チャンネルにより提供された制御情報と、第2処理チャンネルにより提供されたデータとを使用することを特徴とする上記請求項5に記載のコンピュータプロセッサ。
- 上記命令パケットが、全て等しいビット長であることを特徴とする上記請求項1乃至6のいずれか1項に記載のコンピュータプロセッサ。
- 上記命令パケットが、全て64ビット長であることを特徴とする上記請求項7に記載のコンピュータプロセッサ。
- 上記制御命令が、全て18ビットと24ビットと間のビット長であることを特徴とする上記請求項1乃至8のいずれか1項に記載のコンピュータプロセッサ。
- 上記制御命令が、全て21ビット長であることを特徴とする上記請求項9に記載のコンピュータプロセッサ。
- 1つの命令パケットのそれぞれの命令の性質が、制御命令、データ命令、及びメモリアクセス命令から少なくとも選択されることを特徴とする上記請求項7に記載のコンピュータプロセッサ。
- それぞれのデータ命令のビット長が34ビットであることを特徴とする上記請求項11に記載のコンピュータプロセッサ。
- それぞれのメモリアクセス命令のビット長が28ビットであることを特徴とする上記請求項11に記載のコンピュータプロセッサ。
- 上記復号ユニットは、上記命令パケットが3つの制御命令と定義することを検出するとき、上記復号ユニットが3つの制御命令が順次実行されることにより3つの制御命令を第1処理チャンネルに提供できることを特徴とする上記請求項1乃至13のいずれか1項に記載のコンピュータプロセッサ。
- 上記復号ユニットは、上記命令パケットが少なくとも1つのデータ命令を備える2つの命令と定義することを検出するとき、上記復号ユニットが2つの制御命令が同時に実行されることにより少なくともデータ命令を第2処理チャンネルに提供できることを特徴とする上記請求項1乃至14のいずれか1項に記載のコンピュータプロセッサ。
- 上記デコードユニットが連続したそれぞれの命令パケットの予め定められたビット位置で指定ビットの一連の値を読み込み可能であり、
a)命令パケットが複数の制御命令か、あるいは少なくとも1つがデータ命令である複数の命令のいずれを定義するかと、
b)命令パケットが少なくとも1つがデータ命令である複数の命令を、制御命令、データ命令、及びメモリアクセス命令から選択される2つの命令のそれぞれの性質のどこに定義するかと
を決定することを特徴とする上記請求項1乃至15のいずれか1項に記載のコンピュータプロセッサ。 - 目的地レジスタファイルに結果を戻す前に、上記設定可変データ実行ユニットが単一発行された命令により提供されたデータ上の2以上の連続機能を実行することができることを特徴とする上記請求項3乃至16のいずれか1項に記載のコンピュータプロセッサ。
- それぞれが複数の機能ユニットを備える第1及び第2処理チャンネルを備え、第1処理チャンネルが相対的により狭いビット幅を有する制御レジスタファイルを備え、第2処理チャンネルが相対的により広いビット幅を有するデータレジスタファイルを備えたコンピュータプロセッサの動作方法であって、
命令パケットが等しい長さの複数の制御命令か、あるいは少なくともどちらかがベクトルである、少なくとも1つのデータ命令を備える2つの指示のいずれを定義するかを検出するために命令パケットを復号し、
上記命令パケットが等しい長さの複数の制御命令を定義するとき、制御命令が順次実行されることにより第1処理チャンネルに上記制御命令を提供し、
上記命令パケットが少なくとも1つのデータ命令を備える複数の命令を定義するとき、
複数の命令が同時に実行されることにより第2処理チャンネルにデータ命令を提供することを特徴とするコンピュータプロセッサの動作方法。 - 1連の命令パケットを具備するプログラムコード手段を備えたコンピュータプログラム製品であって、
上記命令パケットが、等しい長さの複数の制御命令を備える第1形式の命令パケットと、少なくとも1つのデータ命令を具備する複数の命令を備える第2形式の命令パケットとを具備し、
上記コンピュータプログラム製品が、
第1形式の命令パケットが専用の制御処理チャンネルにより実行され、
第2命令パケットの少なくとも1つのデータ命令が専用のデータ処理チャンネルにより実行され、
上記専用の制御処理チャンネルは上記専用のデータ処理チャンネルより相対的に狭いビット幅を有するようにコンピュータ上で動作するのに適することを特徴とするコンピュータプログラム製品。 - それぞれ複数の機能ユニットを備える第1および第2処理チャンネルを備え、
上記第1処理チャンネルは、相対的により狭いビット幅を有する制御レジスタファイルを備え、上記第2処理チャンネルは、相対的により広いビット幅を有するデータレジスタファイルを備えたコンピュータプロセッサの動作方法であって、
プログラムメモリから、上記命令パケットの全てが予め定められたビット位置で指定ビットの1組を具備する、1連の命令パケットを取り出し、
それぞれの命令パケットを復号し、
上記復号段階が、
a)命令パケットが複数の制御命令か、あるいは少なくとも1つがデータ命令である複数の命令のいずれを定義するかと、
b)命令パケットが少なくとも1つがデータ命令である複数の命令を、制御命令、データ命令、及びメモリアクセス命令から選択される2つの命令のそれぞれの性質のどこに定義するかを決定するために上記指定ビットの値を読み込むことを具備することを特徴とするコンピュータプロセッサの動作方法。 - 1連の命令パケットを具備するプログラムコード手段を備えたコンピュータプログラム製品であって、
上記命令パケットが実質的に等しい長さの複数の制御命令を備える第1形式の命令パケットと、少なくとも1つのデータ命令を具備する第1及び第2命令を備える第2形式の命令パケットを具備した
上記命令パケットが命令パケットの範囲内の指定されたビット位置で少なくとも1つのインジケータビットを具備し、
コンピュータプログラム製品は、上記インジケータビットが、
a)命令パケットが複数の制御命令か、あるいは少なくとも1つがデータ命令である複数の命令のいずれを定義するかと、
b)少なくとも1つのデータ命令を備える複数の命令を、制御命令、データ命令、及びメモリアクセス命令から選択される2つの命令のそれぞれの性質に定義するケースであるかを指示するために、コンピュータの復号ユニットと協力するのに適するようにコンピュータ上で動作するのに適することを特徴とするコンピュータプログラム製品。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/813,615 US9047094B2 (en) | 2004-03-31 | 2004-03-31 | Apparatus and method for separate asymmetric control processing and data path processing in a dual path processor |
US10/813,615 | 2004-03-31 | ||
PCT/GB2005/001069 WO2005096141A2 (en) | 2004-03-31 | 2005-03-22 | Apparatus and method for asymmetric dual path processing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007531134A true JP2007531134A (ja) | 2007-11-01 |
JP5744370B2 JP5744370B2 (ja) | 2015-07-08 |
Family
ID=34962959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007505614A Active JP5744370B2 (ja) | 2004-03-31 | 2005-03-22 | 非対称二重経路処理のための装置および方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US9047094B2 (ja) |
EP (1) | EP1735697B1 (ja) |
JP (1) | JP5744370B2 (ja) |
CN (1) | CN100583027C (ja) |
CA (1) | CA2560469A1 (ja) |
TW (1) | TWI384400B (ja) |
WO (1) | WO2005096141A2 (ja) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7949856B2 (en) * | 2004-03-31 | 2011-05-24 | Icera Inc. | Method and apparatus for separate control processing and data path processing in a dual path processor with a shared load/store unit |
US9047094B2 (en) | 2004-03-31 | 2015-06-02 | Icera Inc. | Apparatus and method for separate asymmetric control processing and data path processing in a dual path processor |
US7296129B2 (en) | 2004-07-30 | 2007-11-13 | International Business Machines Corporation | System, method and storage medium for providing a serialized memory interface with a bus repeater |
US7277988B2 (en) * | 2004-10-29 | 2007-10-02 | International Business Machines Corporation | System, method and storage medium for providing data caching and data compression in a memory subsystem |
US7299313B2 (en) * | 2004-10-29 | 2007-11-20 | International Business Machines Corporation | System, method and storage medium for a memory subsystem command interface |
US7356737B2 (en) * | 2004-10-29 | 2008-04-08 | International Business Machines Corporation | System, method and storage medium for testing a memory module |
US7512762B2 (en) | 2004-10-29 | 2009-03-31 | International Business Machines Corporation | System, method and storage medium for a memory subsystem with positional read data latency |
US7331010B2 (en) | 2004-10-29 | 2008-02-12 | International Business Machines Corporation | System, method and storage medium for providing fault detection and correction in a memory subsystem |
US7478259B2 (en) | 2005-10-31 | 2009-01-13 | International Business Machines Corporation | System, method and storage medium for deriving clocks in a memory system |
US7685392B2 (en) | 2005-11-28 | 2010-03-23 | International Business Machines Corporation | Providing indeterminate read data latency in a memory system |
KR100807039B1 (ko) | 2006-04-07 | 2008-02-25 | 주식회사 퓨쳐시스템 | 비대칭 다중 프로세싱 시스템 및 그 방법 |
US7669086B2 (en) | 2006-08-02 | 2010-02-23 | International Business Machines Corporation | Systems and methods for providing collision detection in a memory system |
US7870459B2 (en) | 2006-10-23 | 2011-01-11 | International Business Machines Corporation | High density high reliability memory module with power gating and a fault tolerant address and command bus |
US7721140B2 (en) | 2007-01-02 | 2010-05-18 | International Business Machines Corporation | Systems and methods for improving serviceability of a memory system |
CN100456230C (zh) * | 2007-03-19 | 2009-01-28 | 中国人民解放军国防科学技术大学 | 超长指令字与单指令流多数据流融合的计算群单元 |
US8082475B2 (en) * | 2008-07-01 | 2011-12-20 | International Business Machines Corporation | Enhanced microprocessor interconnect with bit shadowing |
US8245105B2 (en) * | 2008-07-01 | 2012-08-14 | International Business Machines Corporation | Cascade interconnect memory system with enhanced reliability |
US20100005335A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Microprocessor interface with dynamic segment sparing and repair |
US8201069B2 (en) * | 2008-07-01 | 2012-06-12 | International Business Machines Corporation | Cyclical redundancy code for use in a high-speed serial link |
US7895374B2 (en) * | 2008-07-01 | 2011-02-22 | International Business Machines Corporation | Dynamic segment sparing and repair in a memory system |
US8082474B2 (en) * | 2008-07-01 | 2011-12-20 | International Business Machines Corporation | Bit shadowing in a memory system |
US8139430B2 (en) * | 2008-07-01 | 2012-03-20 | International Business Machines Corporation | Power-on initialization and test for a cascade interconnect memory system |
US8234540B2 (en) * | 2008-07-01 | 2012-07-31 | International Business Machines Corporation | Error correcting code protected quasi-static bit communication on a high-speed bus |
US8755515B1 (en) | 2008-09-29 | 2014-06-17 | Wai Wu | Parallel signal processing system and method |
US8493979B2 (en) | 2008-12-30 | 2013-07-23 | Intel Corporation | Single instruction processing of network packets |
US7979759B2 (en) * | 2009-01-08 | 2011-07-12 | International Business Machines Corporation | Test and bring-up of an enhanced cascade interconnect memory system |
US20100180154A1 (en) * | 2009-01-13 | 2010-07-15 | International Business Machines Corporation | Built In Self-Test of Memory Stressor |
KR101109304B1 (ko) * | 2009-04-23 | 2012-01-31 | 주식회사 효성 | 카치온 가염형 폴리아미드 섬유의 제조방법 |
GB2483225B (en) | 2010-08-27 | 2018-07-11 | Nvidia Tech Uk Limited | Improved processor architecture |
KR101918464B1 (ko) | 2011-09-14 | 2018-11-15 | 삼성전자 주식회사 | 스위즐드 버추얼 레지스터 기반의 프로세서 및 스위즐 패턴 제공 장치 |
CN102508636B (zh) * | 2011-11-02 | 2013-12-11 | 中国人民解放军国防科学技术大学 | 用于向量处理器的程序流控制方法及系统 |
US9501268B2 (en) | 2013-12-23 | 2016-11-22 | International Business Machines Corporation | Generating SIMD code from code statements that include non-isomorphic code statements |
US9983884B2 (en) * | 2014-09-26 | 2018-05-29 | Intel Corporation | Method and apparatus for SIMD structured branching |
US10390114B2 (en) * | 2016-07-22 | 2019-08-20 | Intel Corporation | Memory sharing for physical accelerator resources in a data center |
CN108874730B (zh) * | 2018-06-14 | 2021-06-22 | 北京理工大学 | 一种数据处理器及数据处理方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09212361A (ja) * | 1996-02-07 | 1997-08-15 | Mitsubishi Electric Corp | データ処理装置およびデータ処理方法 |
US5737631A (en) * | 1995-04-05 | 1998-04-07 | Xilinx Inc | Reprogrammable instruction set accelerator |
US5922065A (en) * | 1997-10-13 | 1999-07-13 | Institute For The Development Of Emerging Architectures, L.L.C. | Processor utilizing a template field for encoding instruction sequences in a wide-word format |
JPH11282674A (ja) * | 1998-03-30 | 1999-10-15 | Matsushita Electric Ind Co Ltd | プロセッサ |
JP2000509528A (ja) * | 1996-04-04 | 2000-07-25 | イマジネイション テクノロジーズ リミテッド | データ処理マネージメントシステム |
JP2001236496A (ja) * | 1999-10-04 | 2001-08-31 | Texas Instr Inc <Ti> | 絶対差分の合計および対称濾波用の再構成可能simdコプロセッサ構造 |
JP2001306321A (ja) * | 2000-04-19 | 2001-11-02 | Matsushita Electric Ind Co Ltd | プロセッサ |
JP2003005958A (ja) * | 2001-06-25 | 2003-01-10 | Pacific Design Kk | データ処理装置およびその制御方法 |
JP2005531848A (ja) * | 2002-06-28 | 2005-10-20 | モトローラ・インコーポレイテッド | 再構成可能なストリーミングベクトルプロセッサ |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4228498A (en) * | 1977-10-12 | 1980-10-14 | Dialog Systems, Inc. | Multibus processor for increasing execution speed using a pipeline effect |
US5136697A (en) * | 1989-06-06 | 1992-08-04 | Advanced Micro Devices, Inc. | System for reducing delay for execution subsequent to correctly predicted branch instruction using fetch information stored with each block of instructions in cache |
EP0419105B1 (en) | 1989-09-21 | 1997-08-13 | Texas Instruments Incorporated | Integrated circuit formed on a surface of a semiconductor substrate and method for constructing such an integrated circuit |
JPH0412361A (ja) | 1990-04-28 | 1992-01-16 | Konica Corp | 感光性平版印刷版の処理方法及び処理装置 |
JP2523952B2 (ja) | 1990-06-29 | 1996-08-14 | 松下電器産業株式会社 | 薄膜の形成方法および薄膜の形成装置 |
US5299320A (en) * | 1990-09-03 | 1994-03-29 | Matsushita Electric Industrial Co., Ltd. | Program control type vector processor for executing a vector pipeline operation for a series of vector data which is in accordance with a vector pipeline |
JPH05324430A (ja) | 1992-05-26 | 1993-12-07 | Toshiba Corp | データ処理装置 |
US5423051A (en) * | 1992-09-24 | 1995-06-06 | International Business Machines Corporation | Execution unit with an integrated vector operation capability |
US5600801A (en) * | 1993-07-15 | 1997-02-04 | Dell Usa, L.P. | Multiple function interface device for option card |
US5600810A (en) * | 1994-12-09 | 1997-02-04 | Mitsubishi Electric Information Technology Center America, Inc. | Scaleable very long instruction word processor with parallelism matching |
US6052773A (en) * | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
JP2931890B2 (ja) * | 1995-07-12 | 1999-08-09 | 三菱電機株式会社 | データ処理装置 |
JPH09265397A (ja) * | 1996-03-29 | 1997-10-07 | Hitachi Ltd | Vliw命令用プロセッサ |
US5956518A (en) * | 1996-04-11 | 1999-09-21 | Massachusetts Institute Of Technology | Intermediate-grain reconfigurable processing device |
DE19634031A1 (de) * | 1996-08-23 | 1998-02-26 | Siemens Ag | Prozessor mit Pipelining-Aufbau |
US6006321A (en) * | 1997-06-13 | 1999-12-21 | Malleable Technologies, Inc. | Programmable logic datapath that may be used in a field programmable device |
EP0953898A3 (en) * | 1998-04-28 | 2003-03-26 | Matsushita Electric Industrial Co., Ltd. | A processor for executing Instructions from memory according to a program counter, and a compiler, an assembler, a linker and a debugger for such a processor |
US6226735B1 (en) * | 1998-05-08 | 2001-05-01 | Broadcom | Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements |
US6292845B1 (en) * | 1998-08-26 | 2001-09-18 | Infineon Technologies North America Corp. | Processing unit having independent execution units for parallel execution of instructions of different category with instructions having specific bits indicating instruction size and category respectively |
DE19843640A1 (de) * | 1998-09-23 | 2000-03-30 | Siemens Ag | Verfahren zum Konfigurieren eines konfigurierbaren Hardware-Blocks |
US6553414B1 (en) * | 1998-10-02 | 2003-04-22 | Canon Kabushiki Kaisha | System used in plural information processing devices for commonly using peripheral device in network |
WO2000049496A1 (en) | 1999-02-15 | 2000-08-24 | Koninklijke Philips Electronics N.V. | Data processor with a configurable functional unit and method using such a data processor |
EP1050810A1 (en) * | 1999-05-03 | 2000-11-08 | STMicroelectronics SA | A computer system comprising multiple functional units |
GB2352066B (en) * | 1999-07-14 | 2003-11-05 | Element 14 Ltd | An instruction set for a computer |
TW504608B (en) * | 1999-08-30 | 2002-10-01 | Ip Flex Inc | Program product and data processing device |
US7039790B1 (en) * | 1999-11-15 | 2006-05-02 | Texas Instruments Incorporated | Very long instruction word microprocessor with execution packet spanning two or more fetch packets with pre-dispatch instruction selection from two latches according to instruction bit |
EP1102163A3 (en) | 1999-11-15 | 2005-06-29 | Texas Instruments Incorporated | Microprocessor with improved instruction set architecture |
US6255849B1 (en) * | 2000-02-04 | 2001-07-03 | Xilinx, Inc. | On-chip self-modification for PLDs |
TW516320B (en) * | 2000-02-22 | 2003-01-01 | Intervideo Inc | Implementation of quantization for SIMD architecture |
US7120781B1 (en) | 2000-06-30 | 2006-10-10 | Intel Corporation | General purpose register file architecture for aligned simd |
JP4651790B2 (ja) * | 2000-08-29 | 2011-03-16 | 株式会社ガイア・システム・ソリューション | データ処理装置 |
US20020089348A1 (en) * | 2000-10-02 | 2002-07-11 | Martin Langhammer | Programmable logic integrated circuit devices including dedicated processor components |
US20020174266A1 (en) * | 2001-05-18 | 2002-11-21 | Krishna Palem | Parameterized application programming interface for reconfigurable computing systems |
JP2003099397A (ja) | 2001-09-21 | 2003-04-04 | Pacific Design Kk | データ処理システム |
US6798239B2 (en) * | 2001-09-28 | 2004-09-28 | Xilinx, Inc. | Programmable gate array having interconnecting logic to support embedded fixed logic circuitry |
JP3785343B2 (ja) | 2001-10-02 | 2006-06-14 | 日本電信電話株式会社 | クライアントサーバシステム及びクライアントサーバシステムにおけるデータ通信方法 |
JP3779602B2 (ja) * | 2001-11-28 | 2006-05-31 | 松下電器産業株式会社 | Simd演算方法およびsimd演算装置 |
KR100464406B1 (ko) | 2002-02-08 | 2005-01-03 | 삼성전자주식회사 | 가변길이 vliw 명령어를 위한 디스패치 장치 및 방법 |
JP3982353B2 (ja) | 2002-07-12 | 2007-09-26 | 日本電気株式会社 | フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム |
US7024543B2 (en) * | 2002-09-13 | 2006-04-04 | Arm Limited | Synchronising pipelines in a data processing apparatus |
TW569138B (en) | 2002-09-19 | 2004-01-01 | Faraday Tech Corp | A method for improving instruction selection efficiency in a DSP/RISC compiler |
US7464254B2 (en) * | 2003-01-09 | 2008-12-09 | Cisco Technology, Inc. | Programmable processor apparatus integrating dedicated search registers and dedicated state machine registers with associated execution hardware to support rapid application of rulesets to data |
JP2004217989A (ja) | 2003-01-14 | 2004-08-05 | Toyota Central Res & Dev Lab Inc | 水素吸蔵合金粉末、その製造方法および水素吸蔵合金粉末を用いた水素貯蔵装置 |
JP2004309570A (ja) | 2003-04-02 | 2004-11-04 | Seiko Epson Corp | 光通信モジュール、光通信装置、及びその製造方法 |
US7496776B2 (en) * | 2003-08-21 | 2009-02-24 | International Business Machines Corporation | Power throttling method and apparatus |
US7176713B2 (en) * | 2004-01-05 | 2007-02-13 | Viciciv Technology | Integrated circuits with RAM and ROM fabrication options |
US9047094B2 (en) * | 2004-03-31 | 2015-06-02 | Icera Inc. | Apparatus and method for separate asymmetric control processing and data path processing in a dual path processor |
US8484441B2 (en) | 2004-03-31 | 2013-07-09 | Icera Inc. | Apparatus and method for separate asymmetric control processing and data path processing in a configurable dual path processor that supports instructions having different bit widths |
US7949856B2 (en) | 2004-03-31 | 2011-05-24 | Icera Inc. | Method and apparatus for separate control processing and data path processing in a dual path processor with a shared load/store unit |
EP2035543B1 (en) | 2006-05-22 | 2013-07-17 | BioGasol IPR ApS | Thermoanaerobacter mathranii strain bg1 |
-
2004
- 2004-03-31 US US10/813,615 patent/US9047094B2/en active Active
-
2005
- 2005-03-22 JP JP2007505614A patent/JP5744370B2/ja active Active
- 2005-03-22 EP EP05729258.3A patent/EP1735697B1/en active Active
- 2005-03-22 WO PCT/GB2005/001069 patent/WO2005096141A2/en active Application Filing
- 2005-03-22 CN CN200580017666A patent/CN100583027C/zh active Active
- 2005-03-22 CA CA002560469A patent/CA2560469A1/en not_active Abandoned
- 2005-03-24 TW TW094109122A patent/TWI384400B/zh active
-
2015
- 2015-04-30 US US14/700,343 patent/US9477475B2/en not_active Expired - Lifetime
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5737631A (en) * | 1995-04-05 | 1998-04-07 | Xilinx Inc | Reprogrammable instruction set accelerator |
JPH09212361A (ja) * | 1996-02-07 | 1997-08-15 | Mitsubishi Electric Corp | データ処理装置およびデータ処理方法 |
JP2000509528A (ja) * | 1996-04-04 | 2000-07-25 | イマジネイション テクノロジーズ リミテッド | データ処理マネージメントシステム |
US5922065A (en) * | 1997-10-13 | 1999-07-13 | Institute For The Development Of Emerging Architectures, L.L.C. | Processor utilizing a template field for encoding instruction sequences in a wide-word format |
JPH11282674A (ja) * | 1998-03-30 | 1999-10-15 | Matsushita Electric Ind Co Ltd | プロセッサ |
JP2001236496A (ja) * | 1999-10-04 | 2001-08-31 | Texas Instr Inc <Ti> | 絶対差分の合計および対称濾波用の再構成可能simdコプロセッサ構造 |
JP2001306321A (ja) * | 2000-04-19 | 2001-11-02 | Matsushita Electric Ind Co Ltd | プロセッサ |
JP2003005958A (ja) * | 2001-06-25 | 2003-01-10 | Pacific Design Kk | データ処理装置およびその制御方法 |
JP2005531848A (ja) * | 2002-06-28 | 2005-10-20 | モトローラ・インコーポレイテッド | 再構成可能なストリーミングベクトルプロセッサ |
Non-Patent Citations (3)
Title |
---|
JPN6012015892; Cameron McNairy et al.: '"Itanium2 processor microarchitecture"' IEEE Micro Volume:23 Issue:2, 200304, pages:44-55, IEEE * |
JPN6013042992; Intel Corporation: 「インテル(R) Itanium(R) アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル 第3巻:命令セッ , 200210, 3:169頁,3:339頁, Intel Corporation |
JPN7012001086; Intel Corporation: 「インテル(R) Itanium(R) アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル」 , 200210, 1:20、1:32〜33、1:74、1:169, Intel Corporation * |
Also Published As
Publication number | Publication date |
---|---|
TW200540706A (en) | 2005-12-16 |
US20150234659A1 (en) | 2015-08-20 |
EP1735697A2 (en) | 2006-12-27 |
JP5744370B2 (ja) | 2015-07-08 |
US20050223196A1 (en) | 2005-10-06 |
CN1973260A (zh) | 2007-05-30 |
US9477475B2 (en) | 2016-10-25 |
WO2005096141A3 (en) | 2006-06-01 |
EP1735697B1 (en) | 2016-07-06 |
CA2560469A1 (en) | 2005-10-13 |
TWI384400B (zh) | 2013-02-01 |
US9047094B2 (en) | 2015-06-02 |
WO2005096141A2 (en) | 2005-10-13 |
CN100583027C (zh) | 2010-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5744370B2 (ja) | 非対称二重経路処理のための装置および方法 | |
JP5198847B2 (ja) | 二重経路プロセッサの処理制御のための装置および方法 | |
TWI476681B (zh) | 資料存取及排列單元 | |
JP2002333978A (ja) | Vliw型プロセッサ | |
JP5209609B2 (ja) | ハードウェアエンドループ情報の命令へのコード化 | |
JP5382635B2 (ja) | 二重データ経路処理のための装置および方法 | |
JPH1165844A (ja) | パイプラインバイパス機能を有するデータ処理装置 | |
JP5052713B2 (ja) | 条件付き命令を備えるベクトルデータプロセッサ | |
WO2010067522A1 (ja) | 演算ユニット、プロセッサ及び並列演算方法 | |
KR20070022239A (ko) | 비대칭 듀얼 경로 프로세싱용 장치 및 방법 | |
JP2001005664A (ja) | 演算処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110222 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110523 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110526 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110530 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120327 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120525 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130108 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20130502 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130508 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130604 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20130830 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140207 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150430 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5744370 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 |