DE112005003852A5 - Verfahren und Vorrichtung zum Vektorisieren mehrerer Eingabebefehle - Google Patents
Verfahren und Vorrichtung zum Vektorisieren mehrerer Eingabebefehle Download PDFInfo
- Publication number
- DE112005003852A5 DE112005003852A5 DE112005003852T DE112005003852T DE112005003852A5 DE 112005003852 A5 DE112005003852 A5 DE 112005003852A5 DE 112005003852 T DE112005003852 T DE 112005003852T DE 112005003852 T DE112005003852 T DE 112005003852T DE 112005003852 A5 DE112005003852 A5 DE 112005003852A5
- Authority
- DE
- Germany
- Prior art keywords
- vectoring
- multiple input
- input commands
- commands
- vectoring multiple
- 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
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/3802—Instruction prefetching
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
- Advance Control (AREA)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/874,744 | 2004-06-24 | ||
US10/874,744 US7802076B2 (en) | 2004-06-24 | 2004-06-24 | Method and apparatus to vectorize multiple input instructions |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112005003852A5 true DE112005003852A5 (de) | 2012-10-25 |
DE112005003852B4 DE112005003852B4 (de) | 2016-05-04 |
Family
ID=35033618
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112005001277T Expired - Fee Related DE112005001277B4 (de) | 2004-06-24 | 2005-05-25 | Verfahren und Vorrichtung zum Vektorisieren mehrerer Eingabebefehle |
DE112005003852.1T Expired - Fee Related DE112005003852B4 (de) | 2004-06-24 | 2005-05-25 | Verfahren und Vorrichtung zum Vektorisieren mehrerer Eingabebefehle |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112005001277T Expired - Fee Related DE112005001277B4 (de) | 2004-06-24 | 2005-05-25 | Verfahren und Vorrichtung zum Vektorisieren mehrerer Eingabebefehle |
Country Status (6)
Country | Link |
---|---|
US (1) | US7802076B2 (de) |
JP (2) | JP2008503836A (de) |
CN (1) | CN1977241B (de) |
DE (2) | DE112005001277B4 (de) |
GB (1) | GB2429554B (de) |
WO (1) | WO2006007193A1 (de) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7367026B2 (en) * | 2004-06-07 | 2008-04-29 | International Business Machines Corporation | Framework for integrated intra- and inter-loop aggregation of contiguous memory accesses for SIMD vectorization |
US7395531B2 (en) | 2004-06-07 | 2008-07-01 | International Business Machines Corporation | Framework for efficient code generation using loop peeling for SIMD loop code with multiple misaligned statements |
US7386842B2 (en) * | 2004-06-07 | 2008-06-10 | International Business Machines Corporation | Efficient data reorganization to satisfy data alignment constraints |
US8549501B2 (en) * | 2004-06-07 | 2013-10-01 | International Business Machines Corporation | Framework for generating mixed-mode operations in loop-level simdization |
US7475392B2 (en) * | 2004-06-07 | 2009-01-06 | International Business Machines Corporation | SIMD code generation for loops with mixed data lengths |
US7478377B2 (en) | 2004-06-07 | 2009-01-13 | International Business Machines Corporation | SIMD code generation in the presence of optimized misaligned data reorganization |
US8015359B1 (en) | 2005-09-28 | 2011-09-06 | Oracle America, Inc. | Method and system for utilizing a common structure for trace verification and maintaining coherency in an instruction processing circuit |
US8499293B1 (en) | 2005-09-28 | 2013-07-30 | Oracle America, Inc. | Symbolic renaming optimization of a trace |
US8051247B1 (en) | 2005-09-28 | 2011-11-01 | Oracle America, Inc. | Trace based deallocation of entries in a versioning cache circuit |
US7877630B1 (en) | 2005-09-28 | 2011-01-25 | Oracle America, Inc. | Trace based rollback of a speculatively updated cache |
US7937564B1 (en) | 2005-09-28 | 2011-05-03 | Oracle America, Inc. | Emit vector optimization of a trace |
US7814298B1 (en) | 2005-09-28 | 2010-10-12 | Oracle America, Inc. | Promoting and appending traces in an instruction processing circuit based upon a bias value |
US8037285B1 (en) | 2005-09-28 | 2011-10-11 | Oracle America, Inc. | Trace unit |
US8032710B1 (en) | 2005-09-28 | 2011-10-04 | Oracle America, Inc. | System and method for ensuring coherency in trace execution |
US8370576B1 (en) | 2005-09-28 | 2013-02-05 | Oracle America, Inc. | Cache rollback acceleration via a bank based versioning cache ciruit |
US7987342B1 (en) | 2005-09-28 | 2011-07-26 | Oracle America, Inc. | Trace unit with a decoder, a basic-block cache, a multi-block cache, and sequencer |
US7870369B1 (en) | 2005-09-28 | 2011-01-11 | Oracle America, Inc. | Abort prioritization in a trace-based processor |
US8024522B1 (en) | 2005-09-28 | 2011-09-20 | Oracle America, Inc. | Memory ordering queue/versioning cache circuit |
US8019944B1 (en) | 2005-09-28 | 2011-09-13 | Oracle America, Inc. | Checking for a memory ordering violation after a speculative cache write |
US7949854B1 (en) | 2005-09-28 | 2011-05-24 | Oracle America, Inc. | Trace unit with a trace builder |
US7953933B1 (en) | 2005-09-28 | 2011-05-31 | Oracle America, Inc. | Instruction cache, decoder circuit, basic block cache circuit and multi-block cache circuit |
US7966479B1 (en) | 2005-09-28 | 2011-06-21 | Oracle America, Inc. | Concurrent vs. low power branch prediction |
US7783863B1 (en) | 2005-09-28 | 2010-08-24 | Oracle America, Inc. | Graceful degradation in a trace-based processor |
US7606975B1 (en) | 2005-09-28 | 2009-10-20 | Sun Microsystems, Inc. | Trace cache for efficient self-modifying code processing |
US7849292B1 (en) | 2005-09-28 | 2010-12-07 | Oracle America, Inc. | Flag optimization of a trace |
US7953961B1 (en) | 2005-09-28 | 2011-05-31 | Oracle America, Inc. | Trace unit with an op path from a decoder (bypass mode) and from a basic-block builder |
US7681019B1 (en) | 2005-11-18 | 2010-03-16 | Sun Microsystems, Inc. | Executing functions determined via a collection of operations from translated instructions |
US7797517B1 (en) * | 2005-11-18 | 2010-09-14 | Oracle America, Inc. | Trace optimization via fusing operations of a target architecture operation set |
US8904151B2 (en) * | 2006-05-02 | 2014-12-02 | International Business Machines Corporation | Method and apparatus for the dynamic identification and merging of instructions for execution on a wide datapath |
US8370609B1 (en) | 2006-09-27 | 2013-02-05 | Oracle America, Inc. | Data cache rollbacks for failed speculative traces with memory operations |
US8010745B1 (en) | 2006-09-27 | 2011-08-30 | Oracle America, Inc. | Rolling back a speculative update of a non-modifiable cache line |
US8056067B2 (en) * | 2006-09-29 | 2011-11-08 | International Business Machines Corporation | Method, computer program product, and device for reducing delays in data processing |
US8640112B2 (en) * | 2011-03-30 | 2014-01-28 | National Instruments Corporation | Vectorizing combinations of program operations |
JP5887811B2 (ja) * | 2011-10-05 | 2016-03-16 | 富士通株式会社 | コンパイル装置、コンパイル方法、コンパイルプログラム、記録媒体 |
US9009686B2 (en) * | 2011-11-07 | 2015-04-14 | Nvidia Corporation | Algorithm for 64-bit address mode optimization |
TWI447646B (zh) | 2011-11-18 | 2014-08-01 | Asmedia Technology Inc | 資料傳輸裝置及多個指令的整合方法 |
US8984499B2 (en) * | 2011-12-15 | 2015-03-17 | Intel Corporation | Methods to optimize a program loop via vector instructions using a shuffle table and a blend table |
JP5413473B2 (ja) * | 2012-03-01 | 2014-02-12 | 日本電気株式会社 | ベクトル処理装置およびベクトル処理方法 |
US9513915B2 (en) * | 2012-03-28 | 2016-12-06 | International Business Machines Corporation | Instruction merging optimization |
US9292291B2 (en) * | 2012-03-28 | 2016-03-22 | International Business Machines Corporation | Instruction merging optimization |
JP5846006B2 (ja) * | 2012-03-29 | 2016-01-20 | 富士通株式会社 | プログラム、コード生成方法および情報処理装置 |
JP5846005B2 (ja) * | 2012-03-29 | 2016-01-20 | 富士通株式会社 | プログラム、コード生成方法および情報処理装置 |
JP5966509B2 (ja) * | 2012-03-29 | 2016-08-10 | 富士通株式会社 | プログラム、コード生成方法および情報処理装置 |
US9170789B2 (en) * | 2013-03-05 | 2015-10-27 | Intel Corporation | Analyzing potential benefits of vectorization |
US9348596B2 (en) | 2013-06-28 | 2016-05-24 | International Business Machines Corporation | Forming instruction groups based on decode time instruction optimization |
CN103440229B (zh) * | 2013-08-12 | 2017-11-10 | 浪潮电子信息产业股份有限公司 | 一种基于mic架构处理器的向量化优化方法 |
GB2520571B (en) | 2013-11-26 | 2020-12-16 | Advanced Risc Mach Ltd | A data processing apparatus and method for performing vector processing |
JP6237278B2 (ja) | 2014-01-31 | 2017-11-29 | 富士通株式会社 | コンパイルプログラム、コンパイル方法およびコンパイル装置 |
US11042929B2 (en) | 2014-09-09 | 2021-06-22 | Oracle Financial Services Software Limited | Generating instruction sets implementing business rules designed to update business objects of financial applications |
DE102015013627A1 (de) * | 2015-10-20 | 2017-04-20 | Fresenius Medical Care Deutschland Gmbh | Blutbehandlungsgerät und Verfahren zur Erstellung einer Verschreibung |
US10061580B2 (en) | 2016-02-25 | 2018-08-28 | International Business Machines Corporation | Implementing a received add program counter immediate shift (ADDPCIS) instruction using a micro-coded or cracked sequence |
KR102593320B1 (ko) | 2016-09-26 | 2023-10-25 | 삼성전자주식회사 | 전자 장치, 프로세서 및 그 제어 방법 |
US10606595B2 (en) | 2018-03-23 | 2020-03-31 | Arm Limited | Data processing systems |
CN110858150A (zh) * | 2018-08-22 | 2020-03-03 | 上海寒武纪信息科技有限公司 | 一种具有局部实时可重构流水级的运算装置 |
JP7468650B2 (ja) * | 2020-06-25 | 2024-04-16 | 日本電気株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4710872A (en) * | 1985-08-07 | 1987-12-01 | International Business Machines Corporation | Method for vectorizing and executing on an SIMD machine outer loops in the presence of recurrent inner loops |
US4792894A (en) * | 1987-03-17 | 1988-12-20 | Unisys Corporation | Arithmetic computation modifier based upon data dependent operations for SIMD architectures |
JPH10133885A (ja) * | 1996-10-28 | 1998-05-22 | Hitachi Ltd | 一括命令生成コンパイル方法 |
US5920716A (en) * | 1996-11-26 | 1999-07-06 | Hewlett-Packard Company | Compiling a predicated code with direct analysis of the predicated code |
US5956503A (en) * | 1997-04-14 | 1999-09-21 | International Business Machines Corporation | Method and system for front-end and back-end gathering of store instructions within a data-processing system |
JP4125847B2 (ja) | 1998-11-27 | 2008-07-30 | 松下電器産業株式会社 | プロセッサ、コンパイル装置及びコンパイルプログラムを記録している記録媒体 |
JP2001306332A (ja) * | 2000-04-20 | 2001-11-02 | Nec Corp | 局所変数以外の記憶位置を用いるように拡張されたssa形式を使用して、過度のオーバーヘッドを避ける方法 |
US20030023960A1 (en) * | 2001-07-25 | 2003-01-30 | Shoab Khan | Microprocessor instruction format using combination opcodes and destination prefixes |
JP2003131887A (ja) * | 2001-10-25 | 2003-05-09 | Hitachi Ltd | 変数ロードおよび処理の一括化コンパイル方法 |
JP4045802B2 (ja) | 2002-01-08 | 2008-02-13 | ソニー株式会社 | プログラム処理装置及びプログラム処理方法、記憶媒体、並びにコンピュータ・プログラム |
-
2004
- 2004-06-24 US US10/874,744 patent/US7802076B2/en not_active Expired - Fee Related
-
2005
- 2005-05-25 CN CN2005800212790A patent/CN1977241B/zh not_active Expired - Fee Related
- 2005-05-25 WO PCT/US2005/018444 patent/WO2006007193A1/en active Application Filing
- 2005-05-25 DE DE112005001277T patent/DE112005001277B4/de not_active Expired - Fee Related
- 2005-05-25 JP JP2007518079A patent/JP2008503836A/ja active Pending
- 2005-05-25 DE DE112005003852.1T patent/DE112005003852B4/de not_active Expired - Fee Related
- 2005-05-25 GB GB0619968A patent/GB2429554B/en not_active Expired - Fee Related
-
2011
- 2011-05-18 JP JP2011110994A patent/JP5646390B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB2429554A (en) | 2007-02-28 |
JP2008503836A (ja) | 2008-02-07 |
JP5646390B2 (ja) | 2014-12-24 |
GB2429554B (en) | 2009-04-22 |
CN1977241A (zh) | 2007-06-06 |
DE112005001277T5 (de) | 2007-05-16 |
CN1977241B (zh) | 2011-08-03 |
DE112005003852B4 (de) | 2016-05-04 |
JP2011165216A (ja) | 2011-08-25 |
GB0619968D0 (en) | 2006-11-29 |
DE112005001277B4 (de) | 2012-10-31 |
WO2006007193A1 (en) | 2006-01-19 |
US7802076B2 (en) | 2010-09-21 |
US20050289529A1 (en) | 2005-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112005001277T5 (de) | Verfahren und Vorrichtung zum Vektorisieren mehrerer Eingabebefehle | |
DE602006012823D1 (de) | Vorrichtung und verfahren zum neusynthetisieren von signalen | |
DE602006009923D1 (de) | Verfahren und vorrichtung zum mehrwalzverbinden | |
DE602005012917D1 (de) | Verfahren und Vorrichtung zum Umformen | |
DE602007000510D1 (de) | Verfahren und Vorrichtung zum Zuordnen biometrischer Informationen | |
ATE407607T1 (de) | Vorrichtung und verfahren zum erhitzen einer flüssigkeit | |
DE602005011934D1 (de) | Vorrichtung zum Einfangen von Kügelchen und Verfahren und Vorrichtung zum Anordnen von Kügelchen | |
DE602006021122D1 (de) | Vorrichtung und Verfahren zum automatischen Setzen von Verriegelungen zwischen Robotern | |
DE502007001070D1 (de) | Vorrichtung und verfahren zum verbinden von bändern | |
DE112005002827A5 (de) | Roboterhand sowie Verfahren zum automatischen Setzen eines Elements | |
DE602005017318D1 (de) | Verfahren und Vorrichtung zum Bereitstellen von Entwurfsdaten | |
DE602007009134D1 (de) | Vorrichtung, verfahren und computerprogramm zum erionen | |
DE602005000512D1 (de) | Verfahren und vorrichtung zum montieren von bauelementen | |
ATE406681T1 (de) | Verfahren zum umhüllen eines langgestreckten gegenstands und vorrichtung zum umhüllen dieses langgestreckten gegenstands | |
DE602005024986D1 (de) | Verfahren und vorrichtung zur generatorsteuerung | |
DE502007001136D1 (de) | Vorrichtung und verfahren zum flexiblen klassieren | |
DE602006009890D1 (de) | Verfahren zum Hinzufügen eines Effekts und Vorrichtung zum Hinzufügen eines Effekts | |
DE502005004321D1 (de) | Verfahren und vorrichtung zum steuern eines injektors | |
DE60308789D1 (de) | Verfahren und Vorrichtung zum hydraulischen Umformen | |
DE502005004059D1 (de) | Verfahren und vorrichtung zum ansteuern einer kapazitiven last | |
AT504567A3 (de) | Verfahren und vorrichtung zum bonden von wafern | |
DE502005010348D1 (de) | Verfahren und werkzeugeinrichtung zum umformen | |
DE502005001279D1 (de) | Verfahren und Vorrichtung zum automatischen Anfahren | |
DE502005003839D1 (de) | Verfahren und vorrichtung zum aufwickeln mehrerer fäden | |
DE112007003786A5 (de) | Verfahren und Vorrichtung zum Durchführen von Auswahl-Operationen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R129 | Divisional application from |
Ref document number: 112005001277 Country of ref document: DE Effective date: 20120718 |
|
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |