JP5573134B2 - ベクトル型計算機及びベクトル型計算機の命令制御方法 - Google Patents
ベクトル型計算機及びベクトル型計算機の命令制御方法 Download PDFInfo
- Publication number
- JP5573134B2 JP5573134B2 JP2009276535A JP2009276535A JP5573134B2 JP 5573134 B2 JP5573134 B2 JP 5573134B2 JP 2009276535 A JP2009276535 A JP 2009276535A JP 2009276535 A JP2009276535 A JP 2009276535A JP 5573134 B2 JP5573134 B2 JP 5573134B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- instruction
- maximum value
- minimum value
- register
- 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
- 239000013598 vector Substances 0.000 title claims description 348
- 238000000034 method Methods 0.000 title claims description 18
- 230000001419 dependent effect Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 9
- 239000000872 buffer Substances 0.000 description 23
- 238000010586 diagram Methods 0.000 description 18
- 238000004458 analytical method Methods 0.000 description 15
- 230000003068 static effect Effects 0.000 description 13
- 230000008859 change Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000007257 malfunction Effects 0.000 description 3
- 230000001788 irregular Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000717 retained effect Effects 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/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
-
- 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/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
Description
<第1の実施形態>
図1は、本発明の第1の実施形態のベクトル型計算機の構成を示すブロック図である。図1に示すように、本発明の第1の実施形態のベクトル型計算機は、ベクトルレジスタ群11と、固定小数点演算器12と、浮動小数点演算器13と、ロードバッファ14と、メモリアクセスバッファ15と、メモリアクセスユニット16とを備えている。これらの機能は、通常のベクトル型計算機と同様である。さらに、本発明の第1の実施形態のベクトル型計算機は、最小値最大値判定器21と、最小値/最大値保持レジスタ22と、演算結果レジスタ23及び24とを備えている。
VADX $v7,$s42,$v1;
…
VGT $v8,$v7
VSC $v7,$v3;
…
VLD $v8,8,$s10;
次に、本発明の第2の実施形態について説明する。上述の第1の実施形態では、ベクトルギャザー命令又はベクトルスキャッター命令のアドレスの依存元命令は、固定小数点演算としていた。依存元命令が固定小数点演算であるため、図9に示したように、固定小数点演算と浮動小数点演算とのTATの違いを利用して、最小値最大値判定器21で、固定小数点演算器12の演算結果から、最大値最小値を求めることができる。
VGT $v8,$v7;
次に、本発明の第3の実施形態について説明する。図12は、本発明の第3の実施形態のベクトル型計算機の構成を示すブロック図である。図12において、ベクトルレジスタ群211、固定小数点演算器212、浮動小数点演算器213、ロードバッファ214、メモリアクセスバッファ215、メモリアクセスユニット216、最小値最大値判定器221、最小値/最大値保持レジスタ222、演算結果レジスタ223及び224、最小値最大値判定器225は、第2の実施形態におけるベクトルレジスタ群111、固定小数点演算器112、浮動小数点演算器113、ロードバッファ114、メモリアクセスバッファ115、メモリアクセスユニット116、最小値最大値判定器121、最小値/最大値保持レジスタ122、演算結果レジスタ123及び124、最小値最大値判定器125と同様である。
12,112,212:固定小数点演算器
13,113,213:浮動小数点演算器
14,114,214:ロードバッファ
15,115,215:メモリアクセスバッファ
16,116,216:メモリアクセスユニット
17,18,117,218:接続網
21,121,221:最小値最大値判定器
22,122,222:最小値/最大値保持レジスタ
23,24,123,124,223,224:演算結果レジスタ
30,130,230:本体レジスタ部
31,131,231:最小値/最大値レジスタ部
51:最小値判定部
52:レジスタ
53:パイプ間最小判定部
61:最大値判定部
62:レジスタ
63:パイプ間最大判定部
132,232:有効/無効レジスタ部
Claims (7)
- ベクトルパイプライン処理によりベクトル演算を行うベクトル型計算機であって、
ベクトルギャザー命令又はベクトルスキャッター命令に対するアドレスの依存元命令を実行する固定小数点演算の演算結果を固有小数点演算器から入力し、その演算結果を用いてベクトル要素の最小値及び最大値を判定する最小値最大値判定手段と、
前記最小値最大値判定手段で判定されたベクトル要素の最小値及び最大値を保持する最小値最大値保持手段と、
前記ベクトルギャザー命令又は前記ベクトルスキャッター命令を実行する際に、前記最小値最大値保持手段に保持されている最小値及び最大値から、前記ベクトルギャザー命令又は前記ベクトルスキャッター命令のアドレスのアクセス範囲を特定し、前記ベクトルギャザー命令又は前記ベクトルスキャッター命令の追い越し制御を行う手段と
を備えることを特徴とするベクトル型計算機。 - 前記最小値最大値判定手段の処理は、固定小数点演算のターンアラウンドタイムが浮動小数点演算処理のターンアラウンドタイムより短いことにより生じた余力時間に行うことを特徴とする請求項1に記載のベクトル型計算機。
- さらに、前記最小値最大値保持手段に保持されているベクトル要素の最小値及び最大値が有効か無効かを示す手段を設けることを特徴とする請求項1又は2に記載のベクトル型計算機。
- さらに、ベクトルレジスタへのロードデータからベクトル要素の最小値及び最大値を判定する第2の最小値最大値判定器を設けることを特徴とする請求項1から3の何れかに記載のベクトル型計算機。
- ベクトルパイプライン処理によりベクトル演算を行うベクトル型計算機の命令制御方法において、
ベクトルギャザー命令又はベクトルスキャッター命令に対するアドレスの依存元命令を実行する固定小数点演算の演算結果を固有小数点演算器から入力し、その演算結果を用いてベクトル要素の最小値及び最大値を判定する工程と、
前記判定されたベクトル要素の最小値及び最大値を保持する工程と、
前記ベクトルギャザー命令又は前記ベクトルスキャッター命令を実行する際に、前記保持されている最小値及び最大値から、前記ベクトルギャザー命令又は前記ベクトルスキャッター命令のアドレスのアクセス範囲を特定し、前記ベクトルギャザー命令又は前記ベクトルスキャッター命令の追い越し制御を行う工程と
を含むことを特徴とするベクトル型計算機の命令制御方法。 - さらに、前記保持されているベクトル要素の最小値及び最大値が有効か無効かを示す工程を設けることを特徴とする請求項5に記載のベクトル型計算機の命令制御方法。
- さらに、ベクトルレジスタへのロードデータからベクトル要素の最小値及び最大値を判定する第2の最小値及び最大値を判定する工程を設けることを特徴とする請求項5又は6に記載のベクトル型計算機の命令制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009276535A JP5573134B2 (ja) | 2009-12-04 | 2009-12-04 | ベクトル型計算機及びベクトル型計算機の命令制御方法 |
US12/957,913 US20110138155A1 (en) | 2009-12-04 | 2010-12-01 | Vector computer and instruction control method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009276535A JP5573134B2 (ja) | 2009-12-04 | 2009-12-04 | ベクトル型計算機及びベクトル型計算機の命令制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011118743A JP2011118743A (ja) | 2011-06-16 |
JP5573134B2 true JP5573134B2 (ja) | 2014-08-20 |
Family
ID=44083155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009276535A Expired - Fee Related JP5573134B2 (ja) | 2009-12-04 | 2009-12-04 | ベクトル型計算機及びベクトル型計算機の命令制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110138155A1 (ja) |
JP (1) | JP5573134B2 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5630281B2 (ja) * | 2011-01-19 | 2014-11-26 | 日本電気株式会社 | ベクトル命令制御回路及びリストベクトルの追い越し制御方法 |
US9747101B2 (en) | 2011-09-26 | 2017-08-29 | Intel Corporation | Gather-op instruction to duplicate a mask and perform an operation on vector elements gathered via tracked offset-based gathering |
US9766887B2 (en) * | 2011-12-23 | 2017-09-19 | Intel Corporation | Multi-register gather instruction |
WO2013095608A1 (en) * | 2011-12-23 | 2013-06-27 | Intel Corporation | Apparatus and method for vectorization with speculation support |
CN104137059B (zh) * | 2011-12-23 | 2018-10-09 | 英特尔公司 | 多寄存器分散指令 |
US20140136582A1 (en) * | 2012-11-12 | 2014-05-15 | Futurewei Technologies, Inc. | Method and apparatus for digital automatic gain control |
US10049061B2 (en) * | 2012-11-12 | 2018-08-14 | International Business Machines Corporation | Active memory device gather, scatter, and filter |
JP5522283B1 (ja) | 2013-02-27 | 2014-06-18 | 日本電気株式会社 | リストベクトル処理装置、リストベクトル処理方法、プログラム、コンパイラ、及び、情報処理装置 |
US9244684B2 (en) | 2013-03-15 | 2016-01-26 | Intel Corporation | Limited range vector memory access instructions, processors, methods, and systems |
GB2519108A (en) | 2013-10-09 | 2015-04-15 | Advanced Risc Mach Ltd | A data processing apparatus and method for controlling performance of speculative vector operations |
JP6256088B2 (ja) * | 2014-02-20 | 2018-01-10 | 日本電気株式会社 | ベクトルプロセッサ、情報処理装置および追い越し制御方法 |
US9891913B2 (en) * | 2014-12-23 | 2018-02-13 | Intel Corporation | Method and apparatus for performing conflict detection using vector comparison operations |
US9891914B2 (en) * | 2015-04-10 | 2018-02-13 | Intel Corporation | Method and apparatus for performing an efficient scatter |
CN111580863A (zh) * | 2016-01-20 | 2020-08-25 | 中科寒武纪科技股份有限公司 | 一种向量运算装置及运算方法 |
US10762164B2 (en) | 2016-01-20 | 2020-09-01 | Cambricon Technologies Corporation Limited | Vector and matrix computing device |
CN107315566B (zh) * | 2016-04-26 | 2020-11-03 | 中科寒武纪科技股份有限公司 | 一种用于执行向量循环移位运算的装置和方法 |
CN107315717B (zh) * | 2016-04-26 | 2020-11-03 | 中科寒武纪科技股份有限公司 | 一种用于执行向量四则运算的装置和方法 |
CN111651204B (zh) * | 2016-04-26 | 2024-04-05 | 中科寒武纪科技股份有限公司 | 一种用于执行向量最大值最小值运算的装置和方法 |
CN111651201B (zh) * | 2016-04-26 | 2023-06-13 | 中科寒武纪科技股份有限公司 | 一种用于执行向量合并运算的装置和方法 |
CN107315716B (zh) * | 2016-04-26 | 2020-08-07 | 中科寒武纪科技股份有限公司 | 一种用于执行向量外积运算的装置和方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748934A (en) * | 1996-05-31 | 1998-05-05 | Hewlett-Packard Company | Operand dependency tracking system and method for a processor that executes instructions out of order and that permits multiple precision data words |
US5895501A (en) * | 1996-09-03 | 1999-04-20 | Cray Research, Inc. | Virtual memory system for vector based computer systems |
US5897666A (en) * | 1996-12-09 | 1999-04-27 | International Business Machines Corporation | Generation of unique address alias for memory disambiguation buffer to avoid false collisions |
US6094713A (en) * | 1997-09-30 | 2000-07-25 | Intel Corporation | Method and apparatus for detecting address range overlaps |
US7093102B1 (en) * | 2000-03-29 | 2006-08-15 | Intel Corporation | Code sequence for vector gather and scatter |
JP3733842B2 (ja) * | 2000-07-12 | 2006-01-11 | 日本電気株式会社 | ベクトルスキャタ命令制御回路及びベクトル型情報処理装置 |
JP3698027B2 (ja) * | 2000-07-19 | 2005-09-21 | 日本電気株式会社 | ベクトル収集・拡散命令実行順序制御装置 |
JP3789320B2 (ja) * | 2001-06-12 | 2006-06-21 | エヌイーシーコンピュータテクノ株式会社 | ベクトル処理装置及び該装置を用いた追い越し制御方法 |
JP3988144B2 (ja) * | 2004-02-23 | 2007-10-10 | 日本電気株式会社 | ベクトル処理装置、及び、追い越し制御回路 |
US7627735B2 (en) * | 2005-10-21 | 2009-12-01 | Intel Corporation | Implementing vector memory operations |
US8447962B2 (en) * | 2009-12-22 | 2013-05-21 | Intel Corporation | Gathering and scattering multiple data elements |
-
2009
- 2009-12-04 JP JP2009276535A patent/JP5573134B2/ja not_active Expired - Fee Related
-
2010
- 2010-12-01 US US12/957,913 patent/US20110138155A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2011118743A (ja) | 2011-06-16 |
US20110138155A1 (en) | 2011-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5573134B2 (ja) | ベクトル型計算機及びベクトル型計算機の命令制御方法 | |
EP0368332B1 (en) | Pipeline data processor | |
KR100681199B1 (ko) | 코어스 그레인 어레이에서의 인터럽트 처리 방법 및 장치 | |
IE990754A1 (en) | An apparatus for software initiated prefetch and method therefor | |
KR101716014B1 (ko) | 프로세서 명령 세트 내의 술어 계산 | |
US8145804B2 (en) | Systems and methods for transferring data to maintain preferred slot positions in a bi-endian processor | |
US7945766B2 (en) | Conditional execution of floating point store instruction by simultaneously reading condition code and store data from multi-port register file | |
JP3822568B2 (ja) | イベント処理 | |
US8484446B2 (en) | Microprocessor saving data stored in register and register saving method | |
US20050172110A1 (en) | Information processing apparatus | |
EP0187713B1 (en) | System memory for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes | |
US8332447B2 (en) | Systems and methods for performing fixed-point fractional multiplication operations in a SIMD processor | |
TW201823972A (zh) | 向量產生指令 | |
CN107003855B (zh) | 带进位的原子加法指令 | |
EP1035471A1 (en) | Computer system | |
CN111656319B (zh) | 利用特定数检测的多流水线架构 | |
US6233675B1 (en) | Facility to allow fast execution of and, or, and test instructions | |
JP4916151B2 (ja) | 並列演算装置 | |
US8001358B2 (en) | Microprocessor and method of processing data including peak value candidate selecting part and peak value calculating part | |
JP2020052862A (ja) | 計算機および計算方法 | |
US20240111537A1 (en) | Store instruction merging with pattern detection | |
US20240103761A1 (en) | Buffer circuitry for store to load forwarding | |
US11416261B2 (en) | Group load register of a graph streaming processor | |
JP5266651B2 (ja) | ローカル分岐履歴を用いた分岐予測装置及び分岐予測方法 | |
JP2920968B2 (ja) | 命令処理順序制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121113 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140307 |
|
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: 20140603 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140616 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5573134 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |