DE3685913T2 - Vektorenverarbeitung. - Google Patents
Vektorenverarbeitung.Info
- Publication number
- DE3685913T2 DE3685913T2 DE8686105482T DE3685913T DE3685913T2 DE 3685913 T2 DE3685913 T2 DE 3685913T2 DE 8686105482 T DE8686105482 T DE 8686105482T DE 3685913 T DE3685913 T DE 3685913T DE 3685913 T2 DE3685913 T2 DE 3685913T2
- Authority
- DE
- Germany
- Prior art keywords
- vector
- register
- instruction
- elements
- processed
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8076—Details on data register access
- G06F15/8084—Special arrangements thereof, e.g. mask or switch
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/745,040 US4745547A (en) | 1985-06-17 | 1985-06-17 | Vector processing |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE3685913D1 DE3685913D1 (de) | 1992-08-13 |
| DE3685913T2 true DE3685913T2 (de) | 1993-02-25 |
Family
ID=24995001
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE8686105482T Expired - Fee Related DE3685913T2 (de) | 1985-06-17 | 1986-04-21 | Vektorenverarbeitung. |
Country Status (5)
Families Citing this family (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6314275A (ja) * | 1986-07-04 | 1988-01-21 | Nec Corp | ベクトル演算プロセツサのスカラデ−タ演算方式 |
| JPS63251835A (ja) * | 1987-04-08 | 1988-10-19 | Hitachi Ltd | ベクトル処理装置 |
| US5063497A (en) * | 1987-07-01 | 1991-11-05 | Digital Equipment Corporation | Apparatus and method for recovering from missing page faults in vector data processing operations |
| US5247628A (en) * | 1987-11-30 | 1993-09-21 | International Business Machines Corporation | Parallel processor instruction dispatch apparatus with interrupt handler |
| US5027272A (en) * | 1988-01-28 | 1991-06-25 | Weitek Corporation | Method and apparatus for performing double precision vector operations on a coprocessor |
| US4949247A (en) * | 1988-02-23 | 1990-08-14 | Stellar Computer, Inc. | System for transferring multiple vector data elements to and from vector memory in a single operation |
| US5210834A (en) * | 1988-06-01 | 1993-05-11 | Digital Equipment Corporation | High speed transfer of instructions from a master to a slave processor |
| DE68926183T2 (de) * | 1988-06-23 | 1996-10-10 | Ibm | Ergebnisverfügbarkeit einer Rechensequenz |
| JP2858140B2 (ja) * | 1988-10-19 | 1999-02-17 | アポロ・コンピューター・インコーポレーテッド | パイプラインプロセッサ装置および方法 |
| JPH02190930A (ja) * | 1988-12-29 | 1990-07-26 | Internatl Business Mach Corp <Ibm> | ソフトウエア命令実行装置 |
| US5974522A (en) * | 1990-01-24 | 1999-10-26 | Cornell Research Foundation, Inc. | Machine for processing interrupted out-of-order instructions |
| JP2718254B2 (ja) * | 1990-10-02 | 1998-02-25 | 日本電気株式会社 | ベクトル処理装置 |
| JPH0546407A (ja) * | 1991-08-12 | 1993-02-26 | Toshiba Corp | スタツク管理システム |
| US5669013A (en) * | 1993-10-05 | 1997-09-16 | Fujitsu Limited | System for transferring M elements X times and transferring N elements one time for an array that is X*M+N long responsive to vector type instructions |
| US5623685A (en) * | 1994-12-01 | 1997-04-22 | Cray Research, Inc. | Vector register validity indication to handle out-of-order element arrival for a vector computer with variable memory latency |
| US5537606A (en) * | 1995-01-31 | 1996-07-16 | International Business Machines Corporation | Scalar pipeline replication for parallel vector element processing |
| JPH11506230A (ja) * | 1996-03-28 | 1999-06-02 | フィリップス エレクトロニクス ネムローゼ フェンノートシャップ | シーケンシャルプロセッサにおいてデータ要素の組を処理する方法およびコンピュータシステム |
| US6681315B1 (en) * | 1997-11-26 | 2004-01-20 | International Business Machines Corporation | Method and apparatus for bit vector array |
| US6289435B1 (en) * | 1999-05-17 | 2001-09-11 | Creative Technology Ltd. | Re-use of special purposed registers as general purpose registers |
| US7308559B2 (en) * | 2000-02-29 | 2007-12-11 | International Business Machines Corporation | Digital signal processor with cascaded SIMD organization |
| US20040193837A1 (en) * | 2003-03-31 | 2004-09-30 | Patrick Devaney | CPU datapaths and local memory that executes either vector or superscalar instructions |
| US20050226337A1 (en) * | 2004-03-31 | 2005-10-13 | Mikhail Dorojevets | 2D block processing architecture |
| US8239659B2 (en) * | 2006-09-29 | 2012-08-07 | Intel Corporation | Vector completion mask handling |
| US7984273B2 (en) | 2007-12-31 | 2011-07-19 | Intel Corporation | System and method for using a mask register to track progress of gathering elements from memory |
| US10175990B2 (en) | 2009-12-22 | 2019-01-08 | Intel Corporation | Gathering and scattering multiple data elements |
| US20120254591A1 (en) * | 2011-04-01 | 2012-10-04 | Hughes Christopher J | Systems, apparatuses, and methods for stride pattern gathering of data elements and stride pattern scattering of data elements |
| WO2013095580A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | Processors, methods, systems, and instructions to generate sequences of integers in which integers in consecutive positions differ by a constant integer stride and where a smallest integer is offset from zero by an integer offset |
| US9454367B2 (en) * | 2012-03-15 | 2016-09-27 | International Business Machines Corporation | Finding the length of a set of character data having a termination character |
| US11544214B2 (en) | 2015-02-02 | 2023-01-03 | Optimum Semiconductor Technologies, Inc. | Monolithic vector processor configured to operate on variable length vectors using a vector length register |
| EP3125109B1 (en) * | 2015-07-31 | 2019-02-20 | ARM Limited | Vector length querying instruction |
| EP3125108A1 (en) * | 2015-07-31 | 2017-02-01 | ARM Limited | Vector processing using loops of dynamic vector length |
| US10599428B2 (en) | 2016-03-23 | 2020-03-24 | Arm Limited | Relaxed execution of overlapping mixed-scalar-vector instructions |
| GB2548601B (en) * | 2016-03-23 | 2019-02-13 | Advanced Risc Mach Ltd | Processing vector instructions |
| JP6222859B2 (ja) * | 2016-04-25 | 2017-11-01 | インテル・コーポレーション | ストライド機能及びマスク機能を有するベクトルロード及びベクトルストアを提供する命令及びロジック |
| GB2616601B (en) * | 2022-03-11 | 2024-05-08 | Advanced Risc Mach Ltd | Sub-vector-supporting instruction for scalable vector instruction set architecture |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5148937A (en) * | 1974-10-25 | 1976-04-27 | Fujitsu Ltd | Kiokusochi niokeru junjoseigyohoshiki |
| US4128880A (en) * | 1976-06-30 | 1978-12-05 | Cray Research, Inc. | Computer vector register processing |
| JPS5852265B2 (ja) * | 1977-01-12 | 1983-11-21 | 株式会社日立製作所 | デ−タ処理装置 |
| JPS6024985B2 (ja) * | 1978-08-31 | 1985-06-15 | 富士通株式会社 | デ−タ処理方式 |
| JPS6055864B2 (ja) * | 1980-07-21 | 1985-12-06 | 株式会社日立製作所 | ベクトルプロセツサ |
| JPS58189739A (ja) * | 1982-04-30 | 1983-11-05 | Hitachi Ltd | デ−タ処理システム |
| JPS60103482A (ja) * | 1983-10-24 | 1985-06-07 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | ベクトル処理能力を有するデ−タ処理装置 |
-
1985
- 1985-06-17 US US06/745,040 patent/US4745547A/en not_active Expired - Fee Related
-
1986
- 1986-02-12 CA CA000501738A patent/CA1242281A/en not_active Expired
- 1986-04-21 EP EP86105482A patent/EP0205809B1/en not_active Expired - Lifetime
- 1986-04-21 DE DE8686105482T patent/DE3685913T2/de not_active Expired - Fee Related
- 1986-05-16 JP JP61110990A patent/JPS61290570A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| EP0205809A3 (en) | 1989-02-08 |
| JPS61290570A (ja) | 1986-12-20 |
| EP0205809A2 (en) | 1986-12-30 |
| JPH0517588B2 (GUID-C5D7CC26-194C-43D0-91A1-9AE8C70A9BFF.html) | 1993-03-09 |
| DE3685913D1 (de) | 1992-08-13 |
| US4745547A (en) | 1988-05-17 |
| CA1242281A (en) | 1988-09-20 |
| EP0205809B1 (en) | 1992-07-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE3685913T2 (de) | Vektorenverarbeitung. | |
| DE69701141T2 (de) | Multithreaded mikroprozessor ausgestaltet zur ausführung von unterbrechungsverarbeitungsroutinen als threads | |
| DE69308548T2 (de) | Vorrichtung und verfahren zum befehlsabschluss in einem superskalaren prozessor. | |
| DE69433339T2 (de) | Lade-/Speicherfunktionseinheiten und Datencachespeicher für Mikroprozessoren | |
| DE69833008T2 (de) | Prozessor mit instruktionskodierung mittels eines schablonenfeldes | |
| DE69017178T2 (de) | Datenverarbeitungssystem mit Vorrichtung zur Befehlskennzeichnung. | |
| DE3486399T2 (de) | Zentrale Verarbeitungseinheit mit der Fähigkeit, Befehle mit variablen Längen zu unterstützen. | |
| DE68926385T2 (de) | Methode und Hardware-Ausführung von komplexen Datentransferbefehlen | |
| DE68929215T2 (de) | Datenprozessor | |
| DE69129569T2 (de) | Maschine mit sehr langem Befehlswort für leistungsfähige Durchführung von Programmen mit bedingten Verzweigungen | |
| DE2714805C2 (GUID-C5D7CC26-194C-43D0-91A1-9AE8C70A9BFF.html) | ||
| DE2855106C2 (de) | Einrichtung zur Durchführung von bedingten Verzweigungen | |
| DE3851746T2 (de) | Sprungvorhersage. | |
| DE68924546T2 (de) | Verfahren und Vorrichtung zur Ausführung von Befehlen für ein Vektorverarbeitungssystem. | |
| DE69424115T2 (de) | Rechnersystem und Verfahren zur Verarbeitung von Vektordaten | |
| DE69032635T2 (de) | Verfahren und Vorrichtung zur Erkennung von Betriebsmittelkonflikten in einer Pipeline-Verarbeitungseinheit | |
| DE3851488T2 (de) | Registerverwaltungssystem mit Ausführung von Befehlen in Unordnung in einem Computerprozessor. | |
| DE69904189T2 (de) | Konfigurierter prozessor zur abbildung von logischen registernummern auf physikalische registernummern unter verwendung von virtuellen registernummern | |
| DE68928677T2 (de) | Verfahren und digitaler Computer zur Vorverarbeitung mehrerer Befehle | |
| DE69133571T2 (de) | Datenprozessor mit der Fähigkeit, zwei Befehle gleichzeitig auszuführen | |
| DE69024068T2 (de) | Verfahren und Datenverarbeitungseinheit zur Pipeline- Verarbeitung von Register- und Registeränderungs- Spezifizierern in dem gleichen Befehl | |
| DE3687298T2 (de) | Verfahren zur verarbeitung von adressenuebersetzungsausnahmen in einer virtuellen speicheranordnung. | |
| DE3586603T2 (de) | Datenprozessor fuer interpretierende und kompilierte sprache. | |
| DE69636861T2 (de) | Mikroprozessor mit Lade-/Speicheroperation zu/von mehreren Registern | |
| DE69418146T2 (de) | Temporärer Registersatz für einen superpipeline-superskalaren Prozessor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |