JP2006518060A - 単一命令多重データ管理のための方法および計算機プログラム - Google Patents
単一命令多重データ管理のための方法および計算機プログラム Download PDFInfo
- Publication number
- JP2006518060A JP2006518060A JP2005518388A JP2005518388A JP2006518060A JP 2006518060 A JP2006518060 A JP 2006518060A JP 2005518388 A JP2005518388 A JP 2005518388A JP 2005518388 A JP2005518388 A JP 2005518388A JP 2006518060 A JP2006518060 A JP 2006518060A
- Authority
- JP
- Japan
- Prior art keywords
- data items
- data
- arithmetic flags
- processor
- carry
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000004590 computer program Methods 0.000 title abstract description 12
- 238000013523 data management Methods 0.000 title 1
- 230000008569 process Effects 0.000 claims description 43
- 238000000605 extraction Methods 0.000 claims description 10
- 230000009471 action Effects 0.000 claims description 2
- 238000013500 data storage Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 29
- 230000007246 mechanism Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 21
- 239000000284 extract Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000007620 mathematical function 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
-
- 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/30094—Condition code generation, e.g. Carry, Zero flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
-
- 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/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Human Computer Interaction (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
Description
1. いずれかのフィールドがオーバーフローしている場合、
2. いずれのフィールドもオーバーフローしていない場合、
3. いずれかのフィールドが正の(あるいは0)場合、
4. いずれかのフィールドが負の場合、
5. いずれかのフィールドが0である場合、
6. いずれのフィールドも0でない場合、
7. いずれかのフィールドが桁上げを有している場合、
8. いずれかのフィールドが桁上げを有していない場合、
9. すべてのフィールドがオーバーフローしている場合、
10. すべてのフィールドがオーバーフローしていない場合、
11. いずれかのフィールドが正の(あるいは0)場合、
12. すべてのフィールドが負の場合、
13. すべてのフィールドが0である場合、
14. すべてのフィールドが0でない場合、
15. すべてのフィールドが桁上げを有している場合、
16. すべてのフィールドが桁上げを有していない場合。
Claims (19)
- 複数の算術フラグを結合するための装置において、
複数の算術フラグを検査し、前記複数の算術フラグのフィールド・サイズを決定し、前記フィールド・サイズの決定に基づいて前記複数の算術フラグを単一の結合算術フラグ変数に結合する結合関数モジュールから成り、前記複数の算術フラグは、数学的動作が複数のデータ項目に関してプロセッサによって実行された後に、前記複数のデータ項目のステータスを表示することを特徴とする装置。 - 前記結合算術フラグ変数の前記ステータスを決定し、前記プロセッサに前記ステータスに基づいた適切な動作を実行させる状態検査モジュール、
をさらに含むことを特徴とする請求項1記載の装置。 - 前記フィールド・サイズが1ニブル、バイト、ハーフ・ワードまたはワードの長さに基づくことを特徴とする請求項1記載の装置。
- 前記複数の算術フラグは、
負のデータ値、0のデータ値、データ値中の桁上げの発生、または前記複数のデータ項目中におけるデータ項目中のオーバーフロー条件、
をさらに含むことを特徴とする請求項3記載の装置。 - 前記結合関数モジュールは、ANDまたはOR動作のいずれかを行なうことを特徴とする請求項4記載の装置。
- 前記条件によって決定された前記ステータスはさらに、
いずれかのデータ項目がオーバーフローしたこと、
いずれのデータ項目もオーバーフローしていないこと、
いずれかのデータ項目が正または0であること、
いずれかのデータ項目が負であること、
いずれかのデータ項目が0であること、
いずれのデータ項目も0ではないこと、
いずれかのデータ項目は桁上げを有していること、
いずれのデータ項目も桁上げを有していないこと、
すべてのデータ項目がオーバーフローしたこと、
すべてのデータ項目がオーバーフローしていないこと、
すべてのデータ項目が正または0であること、
すべてのデータ項目が負であること、
すべてのデータ項目が0であること、
すべてのデータ項目が0ではないこと、
すべてのデータ項目が桁上げを有していること、および、
すべてのデータ項目が桁上げを有していないこと、
を含むことを特徴とする請求項2記載の装置。 - プロセッサへの提示のために複数の算術フラグを結合する方法において、
結合プロセスを基礎にすべき複数の算術フラグのフィールド・サイズを決定する段階であって、ここで数学的な動作が複数のデータ項目に関してプロセッサによって実行された後に、前記複数の算術フラグが前記複数のデータ項目のステータスを表わす、段階と、
前記フィールド・サイズに基づく前記複数の算術フラグを抽出する段階と、
結合プロセスが選択される場合選択される機能に基づいて前記複数の算術フラグを結合する段階と、
前記プロセッサによるアクセスのための宛先レジスタ中に前記複数の算術フラグの結合の結果を格納する段階と、
から構成されることを特徴とする方法。 - 前記フィールド・サイズが1ニブル、バイト、ハーフ・ワードまたはワードの長さに基づくことを特徴とする請求項7記載の方法。
- 前記複数の算術フラグは、
負のデータ値、0のデータ値、データ値中の桁上げの発生、または前記複数のデータ項目中におけるデータ項目中のオーバーフロー条件、
をさらに含むことを特徴とする請求項8記載の方法。 - 前記機能は、ANDまたはOR動作のいずれかを行なうことを特徴とする請求項9記載の方法。
- 前記機能は前記複数のデータ項目の前記ステータスを決定するために使用され、前記ステータスは、
いずれかのデータ項目がオーバーフローしたこと、
いずれのデータ項目もオーバーフローしていないこと、
いずれかのデータ項目が正または0であること、
いずれかのデータ項目が負であること、
いずれかのデータ項目が0であること、
いずれのデータ項目も0ではないこと、
いずれかのデータ項目は桁上げを有していること、
いずれのデータ項目も桁上げを有していないこと、
すべてのデータ項目がオーバーフローしたこと、
すべてのデータ項目がオーバーフローしていないこと、
すべてのデータ項目が正または0であること、
すべてのデータ項目が負であること、
すべてのデータ項目が0であること、
すべてのデータ項目が0ではないこと、
すべてのデータ項目が桁上げを有していること、および、
すべてのデータ項目が桁上げを有していないこと、
を含むことを特徴とする請求項10記載の方法。 - 結合プロセスを基礎にすべき複数の算術フラグのフィールド・サイズを決定し、ここで数学的な動作が複数のデータ項目に関してプロセッサによって実行された後に、前記複数の算術フラグが前記複数のデータ項目のステータスを表わし、
前記フィールド・サイズに基づく前記複数の算術フラグを抽出し、
結合プロセスが選択される場合選択される機能に基づいて前記複数の算術フラグを結合し、
前記プロセッサによるアクセスのための宛先レジスタ中に前記複数の算術フラグの結合の結果を格納する、
ことになるプロセッサによって実行される際に命令を格納するデータ格納媒体からなることを特徴とする装置。 - 前記フィールド・サイズが1ニブル、バイト、ハーフ・ワードまたはワードの長さに基づくことを特徴とする請求項12記載の装置。
- 前記複数の算術フラグは、
負のデータ値、0のデータ値、データ値中の桁上げの発生、または前記複数のデータ項目中におけるデータ項目中のオーバーフロー条件、
をさらに含むことを特徴とする請求項13記載の装置。 - 前記機能は、ANDまたはOR動作のいずれかを行なうことを特徴とする請求項14記載の装置。
- 前記機能は前記複数のデータ項目の前記ステータスを決定するために使用され、前記ステータスは、
いずれかのデータ項目がオーバーフローしたこと、
いずれのデータ項目もオーバーフローしていないこと、
いずれかのデータ項目が正または0であること、
いずれかのデータ項目が負であること、
いずれかのデータ項目が0であること、
いずれのデータ項目も0ではないこと、
いずれかのデータ項目は桁上げを有していること、
いずれのデータ項目も桁上げを有していないこと、
すべてのデータ項目がオーバーフローしたこと、
すべてのデータ項目がオーバーフローしていないこと、
すべてのデータ項目が正または0であること、
すべてのデータ項目が負であること、
すべてのデータ項目が0であること、
すべてのデータ項目が0ではないこと、
すべてのデータ項目が桁上げを有していること、および、
すべてのデータ項目が桁上げを有していないこと、
を含むことを特徴とする請求項15記載の装置。 - プロセッサへの提示のために複数の算術フラグを結合する方法において、
結合プロセスを基礎にすべき複数の算術フラグのフィールド・サイズを決定する段階であって、ここで数学的な動作が複数のデータ項目に関してプロセッサによって実行された後に、前記複数の算術フラグが複数のデータ項目のステータスを表わす、段階と、
前記フィールド・サイズに基づく前記複数の算術フラグを抽出する段階と、
前記プロセッサによるアクセスのための宛先レジスタ中に前記複数の前記算術フラグの抽出の結果を格納する段階と、
から構成されることを特徴とする方法。 - 前記フィールド・サイズが1ニブル、バイト、ハーフ・ワードまたはワードの長さに基づくことを特徴とする請求項17記載の方法。
- 前記複数の算術フラグは、
負のデータ値、0のデータ値、データ値中の桁上げの発生、または前記複数のデータ項目中におけるデータ項目中のオーバーフロー条件、
をさらに含むことを特徴とする請求項18記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/748,165 US20020083311A1 (en) | 2000-12-27 | 2000-12-27 | Method and computer program for single instruction multiple data management |
PCT/US2002/020774 WO2005106646A1 (en) | 2000-12-27 | 2001-11-21 | Method and computer program for single instruction multiple data management |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006518060A true JP2006518060A (ja) | 2006-08-03 |
Family
ID=25008290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005518388A Pending JP2006518060A (ja) | 2000-12-27 | 2001-11-21 | 単一命令多重データ管理のための方法および計算機プログラム |
Country Status (7)
Country | Link |
---|---|
US (1) | US20020083311A1 (ja) |
JP (1) | JP2006518060A (ja) |
KR (1) | KR100735944B1 (ja) |
CN (1) | CN1816798B (ja) |
AU (1) | AU2001298114A1 (ja) |
TW (1) | TWI230355B (ja) |
WO (1) | WO2005106646A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008524723A (ja) * | 2004-12-17 | 2008-07-10 | インテル・コーポレーション | 単一命令複数データ実行エンジンのフラグレジスタのための評価ユニット |
JP2013502648A (ja) * | 2009-08-19 | 2013-01-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 最適化simdコードのための動作指示命令の挿入 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3793062B2 (ja) * | 2001-09-27 | 2006-07-05 | 株式会社東芝 | メモリ内蔵データ処理装置 |
US6986023B2 (en) | 2002-08-09 | 2006-01-10 | Intel Corporation | Conditional execution of coprocessor instruction based on main processor arithmetic flags |
US7392368B2 (en) * | 2002-08-09 | 2008-06-24 | Marvell International Ltd. | Cross multiply and add instruction and multiply and subtract instruction SIMD execution on real and imaginary components of a plurality of complex data elements |
AU2003256870A1 (en) | 2002-08-09 | 2004-02-25 | Intel Corporation | Multimedia coprocessor control mechanism including alignment or broadcast instructions |
US8082419B2 (en) * | 2004-03-30 | 2011-12-20 | Intel Corporation | Residual addition for video software techniques |
WO2006085277A2 (en) | 2005-02-14 | 2006-08-17 | Koninklijke Philips Electronics N.V. | An electronic parallel processing circuit |
CN100552622C (zh) * | 2005-03-31 | 2009-10-21 | 松下电器产业株式会社 | 运算处理装置 |
JP2008071130A (ja) * | 2006-09-14 | 2008-03-27 | Ricoh Co Ltd | Simd型マイクロプロセッサ |
KR100834412B1 (ko) | 2007-05-23 | 2008-06-04 | 한국전자통신연구원 | 모바일 멀티미디어 연산의 효율적인 처리를 위한 병렬 프로세서 |
KR102102166B1 (ko) | 2013-04-22 | 2020-04-21 | 삼성전자 주식회사 | 심드 구조 기반의 쓰레드 분기 관리 장치 및 방법 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4589087A (en) * | 1983-06-30 | 1986-05-13 | International Business Machines Corporation | Condition register architecture for a primitive instruction set machine |
US5815723A (en) * | 1990-11-13 | 1998-09-29 | International Business Machines Corporation | Picket autonomy on a SIMD machine |
US6026484A (en) * | 1993-11-30 | 2000-02-15 | Texas Instruments Incorporated | Data processing apparatus, system and method for if, then, else operation using write priority |
DE69519449T2 (de) * | 1994-05-05 | 2001-06-21 | Conexant Systems Inc | Raumzeigersdatenpfad |
US5903760A (en) * | 1996-06-27 | 1999-05-11 | Intel Corporation | Method and apparatus for translating a conditional instruction compatible with a first instruction set architecture (ISA) into a conditional instruction compatible with a second ISA |
US6366999B1 (en) * | 1998-01-28 | 2002-04-02 | Bops, Inc. | Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution |
US6038652A (en) * | 1998-09-30 | 2000-03-14 | Intel Corporation | Exception reporting on function generation in an SIMD processor |
GB2355084B (en) * | 1999-07-21 | 2004-04-28 | Element 14 Ltd | Setting condition values in a computer |
US6714197B1 (en) * | 1999-07-30 | 2004-03-30 | Mips Technologies, Inc. | Processor having an arithmetic extension of an instruction set architecture |
-
2000
- 2000-12-27 US US09/748,165 patent/US20020083311A1/en not_active Abandoned
-
2001
- 2001-11-21 JP JP2005518388A patent/JP2006518060A/ja active Pending
- 2001-11-21 AU AU2001298114A patent/AU2001298114A1/en not_active Abandoned
- 2001-11-21 WO PCT/US2002/020774 patent/WO2005106646A1/en active Search and Examination
- 2001-11-21 KR KR1020037008157A patent/KR100735944B1/ko not_active IP Right Cessation
- 2001-11-21 CN CN028033485A patent/CN1816798B/zh not_active Expired - Fee Related
- 2001-12-27 TW TW090132525A patent/TWI230355B/zh not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008524723A (ja) * | 2004-12-17 | 2008-07-10 | インテル・コーポレーション | 単一命令複数データ実行エンジンのフラグレジスタのための評価ユニット |
JP4901754B2 (ja) * | 2004-12-17 | 2012-03-21 | インテル・コーポレーション | 単一命令複数データ実行エンジンのフラグレジスタのための評価ユニット |
JP2013502648A (ja) * | 2009-08-19 | 2013-01-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 最適化simdコードのための動作指示命令の挿入 |
Also Published As
Publication number | Publication date |
---|---|
CN1816798B (zh) | 2010-05-12 |
CN1816798A (zh) | 2006-08-09 |
KR100735944B1 (ko) | 2007-07-06 |
KR20060103965A (ko) | 2006-10-09 |
WO2005106646A1 (en) | 2005-11-10 |
TWI230355B (en) | 2005-04-01 |
AU2001298114A1 (en) | 2005-11-16 |
US20020083311A1 (en) | 2002-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI756251B (zh) | 執行複數的熔合乘-加指令的系統與方法 | |
TWI743058B (zh) | 硬體處理器、用於融合指令之方法及非暫時性機器可讀媒體 | |
US5907842A (en) | Method of sorting numbers to obtain maxima/minima values with ordering | |
US5704052A (en) | Bit processing unit for performing complex logical operations within a single clock cycle | |
CN110879724A (zh) | 用于深度学习和其它算法的fp16-s7e8混合精度 | |
TWI646436B (zh) | 執行向量位元混洗的方法與裝置 | |
TWI575451B (zh) | 用於遮罩及向量暫存器之間的可變擴充的方法及裝置 | |
JP5607832B2 (ja) | 汎用論理演算の方法および装置 | |
US7546442B1 (en) | Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions | |
JP2006518060A (ja) | 単一命令多重データ管理のための方法および計算機プログラム | |
JP2620511B2 (ja) | データ・プロセッサ | |
JPS58161042A (ja) | デ−タ処理システム | |
JPH05150979A (ja) | 即値オペランド拡張方式 | |
TWI733718B (zh) | 用於獲得偶數和奇數資料元素的系統、裝置及方法 | |
CN109328333B (zh) | 用于累积式乘积的系统、装置和方法 | |
JP5798650B2 (ja) | 短整数の乗算の数を減らすためのシステム、装置、および方法 | |
CN109328334B (zh) | 用于累积式求和的系统、装置和方法 | |
JP2748957B2 (ja) | データ処理装置 | |
EP0257650B1 (en) | Microprocessor | |
TWI841041B (zh) | 用於融合乘加運算的系統、裝置及方法 | |
US5774740A (en) | Central processing unit for execution of orthogonal and non-orthogonal instructions | |
JP3525582B2 (ja) | ビット操作回路 | |
KR940002274B1 (ko) | 알아이에스씨(risc)용 프로세서의 데이타 마스크회로 | |
CN113050994A (zh) | 用于512位操作的系统、装置和方法 | |
JPS59161730A (ja) | パイプライン演算器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A59 | Written plea |
Free format text: JAPANESE INTERMEDIATE CODE: A59 Effective date: 20060405 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070903 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070918 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071211 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071211 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090406 |