JP2009086870A - Vector processing device - Google Patents

Vector processing device Download PDF

Info

Publication number
JP2009086870A
JP2009086870A JP2007253883A JP2007253883A JP2009086870A JP 2009086870 A JP2009086870 A JP 2009086870A JP 2007253883 A JP2007253883 A JP 2007253883A JP 2007253883 A JP2007253883 A JP 2007253883A JP 2009086870 A JP2009086870 A JP 2009086870A
Authority
JP
Grant status
Application
Patent type
Prior art keywords
vector
processing
instruction
mask information
vector mask
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
Application number
JP2007253883A
Other languages
Japanese (ja)
Inventor
Hidemasa Toda
英正 戸田
Original Assignee
Nec Computertechno Ltd
エヌイーシーコンピュータテクノ株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date

Links

Images

Abstract

PROBLEM TO BE SOLVED: To process a vector mask processing instruction at high speed.
SOLUTION: A vector processing device 100 comprises: an instruction control part 2 for controlling instructions; a main storage part 3 for holding information; a plurality of vector pipeline processing parts 1 having a plurality of vector registers 4, a plurality of calculators 5, a plurality of crossbars 6 that connect the calculators 5 and the vector registers, and a vector mask information part 7 for storing vector mask information and processing vector mask processing instructions; and a vector pipeline crossbar 9 for connecting the vector pipeline processing parts 1, for processing. When there is an instruction to update the vector mask information, each of the plurality of the vector pipeline processing parts 1 applies vector mask processing in advance to the vector mask information of each part in the vector mask information, and stores the result of the partial processing. The vector mask information is processed using the stored result of the partial processing.
COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、ベクトル処理装置に関し、特にベクトルマスク処理命令を高速に処理するベクトル処理装置に関する。 The present invention relates to a vector processing apparatus, particularly relates to a vector processing apparatus for processing a vector mask processing instructions at high speed.

図6は、従来のベクトル処理装置の一例を示したブロック図である(例えば特許文献1など)。 Figure 6 is a block diagram showing an example of a conventional vector processing apparatus (for example, Patent Document 1). 図6に示すように、ベクトル処理装置200は、命令の制御を行う命令制御部202と、情報を保持しておく主記憶部203と、複数のベクトルレジスタ204−1〜204−4、複数の演算器205−1〜205−2、演算器とベクトルレジスタ間を接続する複数のクロスバ206−1〜206−2、及びベクトルマスク情報を格納するベクトルマスク情報部207を有する複数のベクトルパイプライン処理部201〜201nと、ベクトルパイプライン処理部間を接続して処理を行うベクトルパイプラインクロスバ209を備える。 As shown in FIG. 6, the vector processing apparatus 200 includes an instruction control unit 202 for controlling instruction, the main storage unit 203 to hold the information, a plurality of vector registers 204-1~204-4, a plurality of calculator 205-1~205-2, a plurality of vector pipeline having a plurality of crossbar 206-1~206-2, and the vector mask information section 207 for storing vector mask information for connecting the operation unit and the vector register comprising a part 201~201N, the vector pipeline crossbar 209 that performs processing to connect the vector pipeline processing unit.

ベクトルパイプライン処理部201〜201nは、命令制御部202からの命令起動により動作する。 Vector pipeline processor 201~201n is operated by the instruction start from the instruction control unit 202. ベクトルパイプライン処理部201〜201nは主記憶部203と接続されている。 Vector pipeline processor 201~201n is connected to the main storage unit 203. ベクトルパイプライン処理部201〜201nにおいて、ベクトルレジスタ204−1〜204−4は、クロスバ206−2を経由して、演算器205−1〜205−2と接続されている。 The vector pipeline processing unit 201~201N, vector registers 204-1~204-4, via the crossbar 206-2 is connected to the calculator 205-1~205-2. 演算器205−1〜205−2は、例えば加算/乗算/論理演算/除算を行う。 Calculator 205-1~205-2 performs for example addition / multiplication / logical operation / division. 各演算器205−1〜205−2による演算結果は、クロスバ206−1を経由して、任意のベクトルレジスタ204−1〜204−4に格納することができる。 Calculation result of the arithmetic unit 205-1~205-2 can via the crossbar 206-1, stored in any vector register 204-1~204-4. ベクトルレジスタ204−1〜204−4は、主記憶部203へのデータの送出、及び、主記憶部203からのデータの受け取りができるようになっている。 Vector register 204-1~204-4, the transmission of data to the main storage unit 203, and has become to be able to receive data from the main storage unit 203. ベクトルエレメントデータは、各ベクトルパイプライン処理部内のベクトルレジスタ204−1〜204−4にインタリーブして割り当てられ、各ベクトルパイプライン処理部は同時並列動作する。 Vector element data are allocated to interleaved vector register 204-1~204-4 in each vector pipeline processor, each vector pipeline processor operates simultaneously in parallel.

ベクトルマスク情報部207には、ベクトルマスク生成命令によって生成されるベクトルマスク情報が格納される。 The vector mask information section 207, a vector mask information generated by the vector mask generation instruction is stored. ベクトルマスク生成命令は、命令内の条件コードに基づいて、比較条件(=または≠または<または>または≦または≧など)を指定することができる。 Vector mask generation instruction, based on the condition code in the instruction, it is possible to specify a comparison condition (such as = or ≠ or <or>, or ≦ or ≧). ベクトルマスク生成命令は、ベクトルデータの各々の要素が、指定された条件を満足するか否かを演算器にて判定し、判定結果に従って、ベクトルデータの各々の要素の有効性を示すベクトルマスク情報を生成する。 Vector mask generation instruction, the elements of each vector data, determines whether to satisfy the condition specified by the arithmetic unit, in accordance with the determination result, the vector mask information indicating the validity of the elements of each vector data to generate.

各ベクトルパイプライン処理部に対して、命令制御部202よりベクトルマスク生成命令が指示された場合には、ベクトルマスク情報が生成され、ベクトルマスク情報部207に格納される。 For each vector pipeline processing unit, when the vector mask generation instruction from the instruction control unit 202 is instructed, it is generated vector mask information is stored in the vector mask information section 207. 生成されたベクトルマスク情報は、マスク付きベクトル命令が実行される際に、ベクトルデータ内の各々のデータの有効/無効の判別に用いられる。 The generated vector mask information, when masked vector instruction is executed, it is used to determine the validity / invalidity of each of the data in the vector data.

ベクトルマスク生成命令が実行される際には、生成されたベクトルマスク情報を用いて、ベクトルマスク処理命令が実行される。 When the vector mask generation instruction is executed, using the generated vector mask information, the vector mask processing instruction is executed. ベクトルマスク処理命令としては、Population Count命令、Leading Zero of Vector Mask Count命令、及びTrailing One of Vector Mask Count命令などを指定することができる。 The vector mask processing instructions may specify Population Count instruction, Leading Zero of Vector Mask Count instruction, and Trailing One of Vector Mask Count instruction like. Population Count命令は、ベクトルマスク情報について、ベクトルマスク情報の内、そのビット(bit)が"1"である個数を算出する。 Population Count instruction, the vector mask information, among the vector mask information, the bit (bit) to calculate the number of "1". Leading Zero of Vector Mask Count命令は、ベクトルマスク情報の先頭からのビットが"0"である個数を算出する。 Leading Zero of Vector Mask Count instruction calculates the number bit is "0" from the beginning of the vector mask information. Trailing One of Vector Mask Count命令は、ベクトルマスク情報のビットが"1"であるビットの内、最後の"1"のビット位置を算出する。 Trailing One of Vector Mask Count instruction, the bits bits of the vector mask information is "1", and calculates the bit position of the last "1".
特開平10−320380号公報 JP 10-320380 discloses 特開平07−200541号公報 JP 07-200541 discloses 特開平09−091272号公報 JP 09-091272 discloses 特公平07−031669号公報 Kokoku 07-031669 Patent Publication No.

しかしながら、従来のベクトル処理装置では、ベクトルマスク情報を更新する命令の際には、各ベクトルパイプライン処理部に対して命令制御部202よりベクトルマスク処理命令の実行指示が通知され、通知を受けた各ベクトルパイプライン処理部からベクトルパイプラインクロスバ209内にあるマスク情報処理部(不図示)へとベクトルマスク情報が送出され、全てのベクトルマスク情報が集められた後にベクトルマスク処理命令を実行するものであり、ベクトル処理命令の高速化が不十分なものであった。 However, in the conventional vector processing apparatus, when an instruction for updating the vector mask information, the execution instruction of the vector mask processing instruction from the instruction control unit 202 for each vector pipeline processing unit is notified, the notified vector mask information to the mask processing unit (not shown) from each vector pipeline processing unit to the vector pipeline crossbar 209 is sent, which executes the vector mask processing instruction after the collected every vector mask information in and was achieved, inadequate speed of vector processing instruction.

上述した課題を解決するために、本発明に係るベクトル処理装置は、命令の制御を行う命令制御部と、情報を保持しておく主記憶部と、複数のベクトルレジスタ、複数の演算器、該演算器と前記ベクトルレジスタ間を接続する複数のクロスバ、及びベクトルマスク情報を格納しベクトルマスク処理命令を処理するベクトルマスク情報部を有する複数のベクトルパイプライン処理部と、前記ベクトルパイプライン処理部間を接続して処理を行うベクトルパイプラインクロスバを備えたベクトル処理装置において、前記ベクトルマスク情報の更新命令の際に、前記ベクトルマスク情報の内の各部分のベクトルマスク情報について、前記複数のベクトルパイプライン処理部がそれぞれ前記ベクトルマスク処理を先行して実行し、該部分処理結果を格 To solve the problems described above, the vector processing apparatus according to the present invention, an instruction control unit for controlling the instruction, the main storage unit to hold the information, a plurality of vector registers, a plurality of arithmetic units, the a plurality of vector pipeline processing unit having a plurality of crossbars, and stores the vector mask information vector mask information section for processing the vector mask processing instructions for connecting the computing unit and between said vector registers, between the vector pipeline processor in vector processing apparatus having a vector pipeline crossbar for connection to handle, when updating instruction of the vector mask information for the vector mask information for each portion of said vector mask information, the plurality of vectors pipes the line processing unit precedes the vector mask processing respectively executed, rated the partial processing result する手段と、前記格納された部分処理結果を用いて、前記ベクトルマスク情報を処理する手段を備えることを特徴とする。 Means for, using the stored partial processing result, characterized in that it comprises means for processing the vector mask information.

このような構成により、ベクトルマスク情報が更新される際に、各ベクトルパイプライン処理部において処理可能な部分を先行して処理し、該結果を保持して使用することで、ベクトルマスク処理命令に要する処理時間を短縮することができ、ベクトルマスク処理命令を高速に処理することができる。 With this configuration, when the vector mask information is updated, and treated prior to processing moiety in each vector pipeline processing unit, the use and holding the result, the vector mask processing instruction it is possible to shorten the processing time required, it is possible to process the vector mask processing instructions at high speed.

本発明にかかるベクトル処理装置によれば、ベクトルマスク処理命令を高速に処理することができる。 According to the vector processing apparatus according to the present invention, it is possible to process a vector mask processing instructions at high speed.

実施の形態1. The first embodiment.
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。 Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings. 図1に本実施の形態に係るベクトル処理装置のブロック図を示す。 It shows a block diagram of a vector processing apparatus according to the embodiment in FIG. 図1に示すように、ベクトル処理装置100は、命令の制御を行う命令制御部2と、情報を保持しておく主記憶部3と、複数のベクトルレジスタ4−1〜4−4、複数の演算器5−1〜5−2、演算器とベクトルレジスタ間を接続する複数のクロスバ6−1〜6−2、及びベクトルマスク情報を格納しベクトルマスク処理命令を処理するベクトルマスク情報部7を有する複数のベクトルパイプライン処理部1〜1nと、ベクトルパイプライン処理部間を接続して処理を行うベクトルパイプラインクロスバ9を備える。 As shown in FIG. 1, the vector processing apparatus 100 includes an instruction control unit 2 for controlling the instruction, the main storage unit 3 to hold the information, a plurality of vector registers 4-1 to 4-4, a plurality of calculator 5-1~5-2, a plurality of crossbar 6-1~6-2 for connecting the operation unit and the vector registers, and vector mask information section 7 which contain the vector mask information to process the vector mask processing instruction a plurality of vector pipeline processor 1~1n with a vector pipeline crossbar 9 for processing by connecting the vector pipeline processing unit includes.

ベクトルパイプライン処理部1〜1nは、命令制御部2からの命令起動により動作する。 Vector pipeline processor 1~1n is operated by the instruction start from the instruction control unit 2. ベクトルパイプライン処理部1〜1nは主記憶部3と接続されている。 Vector pipeline processor 1~1n is connected to the main storage unit 3. ベクトルパイプライン処理部1〜1nにおいて、ベクトルレジスタ4−1〜4−4は、クロスバ6−2を経由して、演算器5−1〜5−2と接続されている。 The vector pipeline processing unit 1~1N, vector registers 4-1 to 4-4 via the crossbar 6-2 is connected to the calculator 5-1~5-2. 演算器5−1〜5−2は、例えば加算/乗算/論理演算/除算を行う。 Calculator 5-1~5-2 performs for example addition / multiplication / logical operation / division. 各演算器5−1〜5−2による演算結果は、クロスバ6−1を経由して、任意のベクトルレジスタ4−1〜4−4に格納することができる。 Calculation result of the arithmetic unit 5-1~5-2 can via the crossbar 6-1, stored in any vector register 4-1 to 4-4. ベクトルレジスタ4−1〜4−4は、主記憶部3へのデータの送出、及び、主記憶部3からのデータの受け取りができるようになっている。 Vector registers 4-1 to 4-4, the transmission of data to the main storage unit 3, and, so that it is receiving data from the main storage unit 3. ベクトルエレメントデータは、各ベクトルパイプライン処理部内のベクトルレジスタ4−1〜4−4にインタリーブして割り当てられ、各ベクトルパイプライン処理部は同時並列動作する。 Vector element data are allocated to interleaved vector registers 4-1 to 4-4 in each vector pipeline processor, each vector pipeline processor operates simultaneously in parallel. 尚、ベクトルパイプライン処理部の個数は任意の個数が可能である。 The number of vector pipeline processing unit is capable of any number.

ベクトルマスク情報部7には、ベクトルマスク生成命令によって生成されるベクトルマスク情報が格納される。 The vector mask information section 7, the vector mask information generated by the vector mask generation instruction is stored. ベクトルマスク生成命令は、命令内の条件コードに基づいて、比較条件(=または≠または<または>または≦または≧など)を指定することができる。 Vector mask generation instruction, based on the condition code in the instruction, it is possible to specify a comparison condition (such as = or ≠ or <or>, or ≦ or ≧). ベクトルマスク生成命令は、ベクトルデータの各々の要素が、指定された条件を満足するか否かを演算器にて判定し、判定結果に従って、ベクトルデータの各々の要素の有効性を示すベクトルマスク情報を生成する。 Vector mask generation instruction, the elements of each vector data, determines whether to satisfy the condition specified by the arithmetic unit, in accordance with the determination result, the vector mask information indicating the validity of the elements of each vector data to generate.

ベクトルマスク情報部7はベクトルマスク情報状態判定部8を備える。 Vector mask information section 7 includes a vector mask information state determining unit 8. ベクトルマスク情報状態判定部8は、ベクトルマスク生成命令を実行する際に、ベクトルマスク処理命令によって使用される、自ベクトルパイプライン処理部における先行処理結果と、自ベクトルパイプライン処理部における処理すべきベクトル要素数(ベクトル長)を保持する。 Vector mask information state determining unit 8, when executing the vector mask generation instruction is used by a vector mask processing instruction, the preceding processing results in its own vector pipeline processing unit, to be processed in its own vector pipeline processing unit holding the vector element number (vector length). ベクトルマスク情報状態判定部8は、例えばフリップ・フロップなどから構成される。 Vector mask information state determining unit 8 comprises, for example, such as a flip-flop.

各ベクトルパイプライン処理部に対して、命令制御部2よりベクトルマスク生成命令が指示された場合には、ベクトルマスク情報が生成され、ベクトルマスク情報部7に格納される。 For each vector pipeline processing unit, when the vector mask generation instruction from the instruction control unit 2 is instructed, it is generated vector mask information is stored in the vector mask information section 7. 生成されたベクトルマスク情報は、マスク付きベクトル命令が実行される際に、ベクトルデータ内の各々のデータの有効/無効の判別に用いられる。 The generated vector mask information, when masked vector instruction is executed, it is used to determine the validity / invalidity of each of the data in the vector data.

ベクトルマスク生成命令が実行される際には、生成されたベクトルマスク情報を用いて、ベクトルマスク処理命令が実行される。 When the vector mask generation instruction is executed, using the generated vector mask information, the vector mask processing instruction is executed. 上述したように、ベクトルマスク処理命令としては、Population Count命令、Leading Zero of Vector Mask Count命令、及びTrailing One of Vector Mask Count命令などを指定することができる。 As described above, the vector mask processing instructions may specify Population Count instruction, Leading Zero of Vector Mask Count instruction, and Trailing One of Vector Mask Count instruction like.

各ベクトルパイプライン処理部に対して、命令制御部2からベクトルマスク処理命令の実行指示が通知される。 For each vector pipeline processing unit, the execution instruction of the vector mask processing instruction is notified from the instruction control unit 2. 該通知を受けると、ベクトルマスク情報状態判定部8は、全ベクトルマスク情報の内の各部分のベクトルマスク情報についてのベクトルマスク処理を、対応する各ベクトルパイプライン処理部内で先行してベクトル長分連続して実行すると共に、この部分処理結果及びベクトル長をベクトルマスク情報状態判定部8に保持する。 Upon receiving the notification, the vector mask information state determining unit 8, a vector mask processing for the vector mask information for each part of the total vector mask information, prior to vector length component in each vector pipeline processing portion corresponding with continuously run, it holds the partial processing result and the vector length vector mask information state determining unit 8. そして、ベクトルマスク生成命令が実行されたタイミングから、ベクトル長の変化があるか否かを判定する。 Then, from the timing of the vector mask generation instruction is executed, it determines whether there is a change in the vector length. 判定の結果、ベクトル長の変化が無い場合には、予め処理して保持している自ベクトルパイプライン処理部の先行処理結果を用いて、ベクトルマスク処理命令を高速に処理すると共に、該命令が先行処理結果を用いて実行可能であることを命令制御部2へと通知する。 As a result of the determination, if there is no change in the vector length, using pre-processing to the held prior process of its own vector pipeline processor result, processes the vector mask processing instructions at high speed, the instruction is and it notifies the instruction controlling unit 2 that can be performed using the prior process results.

図2は、本実施の形態に係るベクトル処理装置による動作例を示すタイムチャートである。 Figure 2 is a time chart showing an operation according to the vector processing apparatus according to this embodiment. 図2では、ベクトル処理装置100が、Population Count命令動作を実行する一例を示す。 In Figure 2, the vector processing apparatus 100, illustrating an example of executing the Population Count instruction operation. Population Count命令の場合には、ベクトルマスク更新命令が実行された際に、それぞれのベクトルパイプライン処理部において、ベクトルマスク情報の内ビットが"1"の数を予め求めて、その部分処理結果をベクトル情報状態判定部8に保持しておくと共に、その際のベクトル長についてもベクトル情報状態判定部8に保持しておく。 In the case of Population Count instruction, when the vector mask update instruction is executed in each of the vector pipeline processing unit, it is previously obtained the number of internal bits of the vector mask information is "1", the partial processing result together holds the vector information state determining unit 8, holds the vector information state determining unit 8 also vector length of time. そして、ベクトルマスク更新命令の後続命令にて、Population Count命令の実行指示が出された場合には、まず、ベクトルマスク更新命令時点からベクトル長に変化があるか否かを判定する。 Then, in the subsequent instruction vector mask update instruction, when the execution instruction of Population Count instruction is issued, first, it is determined whether there is a change in the vector length from the vector mask update instruction time. 判定の結果、ベクトル長に変化が無い場合には、予め求めて保持しておいた部分処理結果より処理を開始すると共に、該命令が先行処理結果を用いて実行可能であることを命令制御部2に通知する。 As a result of the determination, if there is no change in the vector length is obtained in advance as well as initiate and keep a portion processing result from the processing holds, the instruction control unit that instruction can be executed using the prior process results to notify the 2.

このように、全ベクトルマスク情報の内の対応する部分のベクトルマスク情報について、各ベクトルパイプライン処理部がそれぞれベクトルマスク処理を先行して実行してその部分処理結果を保持しておき、全ベクトルマスク情報についてのベクトルマスク処理をベクトルパイプラインクロスバ9において処理する際に、予め求めておいた各ベクトルパイプライン処理部内の部分処理結果を用いてベクトルマスク情報を処理することで、全てのベクトルマスク情報に対して、ベクトルマスク情報の内ビットが"1"の数を求める処理を改めて実行する必要がないため、ベクトルパイプライン処理部内のベクトルマスク情報の内ビットが"1"の数を求めるために要する処理時間分の処理時間を短縮することができる。 Thus, the vector mask information of the corresponding portion of the total vector mask information, may be held that part processing result by executing each vector pipeline processor are each preceded the vector mask processing, all the vectors the vector mask processing for the mask information in processing in the vector pipeline crossbar 9, to treat the vector mask information using the partial processing result of the previously obtained each vector pipeline processing unit, all vectors mask the information, since there is no need to perform the process of determining the number of internal bits of the vector mask information is "1" again, the inner bit vector mask information in the vector pipeline processing unit for determining the number of "1" it is possible to shorten the processing time of the processing time required for.

図3は、従来のベクトル処理装置による動作例を示すタイムチャートである。 Figure 3 is a time chart showing an exemplary operation of the conventional vector processing apparatus. 図3では、従来のベクトル処理装置200が、Population Count命令動作を実行する一例を示す。 In Figure 3, conventional vector processing apparatus 200, illustrating an example of executing the Population Count instruction operation. 従来は、ベクトルマスク処理命令の実行指示が命令制御部2から各ベクトルパイプライン処理部へと通知され、該通知を受けたベクトルマスク情報部7は、各ベクトルマスク情報をベクトルパイプラインクロスバ内にあるマスク情報処理部(不図示)へと全て集めた後、Population Count命令を処理するものであった。 Conventionally, the execution instruction of the vector mask processing instruction is notified from the instruction control unit 2 to each vector pipeline processor, the vector mask information section 7 that has received the notification, each vector mask information to the vector pipeline crossbar after collecting all to some mask processing unit (not shown), it was to handle the Population Count instruction.

図4は、本実施の形態に係るベクトル処理装置による動作例を示すタイムチャートである。 Figure 4 is a time chart showing an operation according to the vector processing apparatus according to this embodiment. 図4では、ベクトル処理装置100が、Leading Zero of Vector Mask Count命令動作を実行する一例を示す。 In Figure 4, the vector processing apparatus 100, an example to perform Leading Zero of Vector Mask Count instruction operation. Leading Zero of Vector Mask Count命令の場合には、ベクトルマスク更新命令が実行された際に、ベクトルマスク情報の先頭ビットが"1"である場合には、その処理結果である"0"をベクトル情報状態判定部8に予め保持しておくと共に、その際のベクトル長についてもベクトル情報状態判定部8に保持しておく。 Leading in the case of Zero of Vector Mask Count instruction, when the vector mask update instruction is executed, if the first bit of the vector mask information is "1", the vector information to "0" which is the processing result together held in advance in the state determination unit 8, holds the vector information state determining unit 8 also vector length of time. そして、ベクトルマスク更新命令の後続命令にてLeading Zero of Vector Mask Count命令の実行指示が出された場合には、まず、ベクトルマスク更新命令時点からベクトル長に変化があるか否かを判定する。 When the execution instruction of Leading Zero of Vector Mask Count instruction at a subsequent instruction vector mask update instruction is issued, first, it is determined whether there is a change in the vector length from the vector mask update instruction time. 判定の結果、ベクトル長に変化が無く、ベクトルマスク情報の先頭ビットが"1"である場合には、予め保持しておいた"0"値を結果として命令制御部2に返却すると共に、該命令が先行処理結果を用いて実行可能であることを命令制御部2に通知する。 Result of the determination, there is no change in vector length, with in the case the leading bit of the vector mask information is "1", returns to the instruction control unit 2 held in advance which had been "0" value as a result, the instruction notifies the instruction control unit 2 that can be performed using the prior process results.

このように処理を実行することで、ベクトルパイプラインクロスバ9において、全ベクトルマスク情報に対して、先頭からのビットが"0"の数を求めるための処理を改めて実行する必要がないため、先頭からのビットが"0"の数を求めるための処理時間を短縮することができる。 By the above process, since the vector pipeline crossbar 9, the total vector mask information, bits from the top "0" processing is not necessary to again perform a for determining the number of leading bit from it is possible to shorten the processing time for obtaining the number of "0".

図5は、従来のベクトル処理装置による動作例を示すタイムチャートである。 Figure 5 is a time chart showing an exemplary operation of the conventional vector processing apparatus. 図5では、従来のベクトル処理装置200が、Leading Zero of Vector Mask Count命令動作を実行する一例を示す。 In Figure 5, the conventional vector processing apparatus 200, an example to perform Leading Zero of Vector Mask Count instruction operation. 従来は、ベクトルマスク処理命令の実行指示が命令制御部2から各ベクトルパイプライン処理部へと通知され、該通知を受けたベクトルマスク情報部7は、ベクトルパイプラインクロスバ内にあるベクトルマスク情報処理部へと全てのベクトルマスク情報(ベクトルマスクデータ)を集めた後、Leading Zero of Vector Mask Count命令を処理するものであった。 Conventionally, are notified to the respective vector pipeline processor executes instructions in the vector mask processing instruction from the instruction control unit 2, the vector mask information section 7 that has received the notification, the vector mask information in the vector pipeline crossbar after collecting all vector mask information (vector mask data) into parts, it was to handle the Leading Zero of vector mask Count instruction.

尚、図示は省略するが、ベクトル処理装置100による、Trailing One of Vector Mask Count命令動作に関しては、Leading Zero of Vector Mask Count命令動作と同様である。 Although not shown, according to the vector processing apparatus 100, for Trailing One of Vector Mask Count instruction operation is similar to the Leading Zero of Vector Mask Count instruction operation. 即ち、ベクトルマスク更新命令が実行された際に、ベクトルマスク情報の最終ビット(ベクトル長に相当する最終ビット)が"1"である場合には、そのベクトル長をベクトル情報状態判定部8に予め保持しておく。 That is, when the vector mask update instruction is executed, if the last bit of the vector mask information (last bit corresponding to the vector length) is "1", advance the vector length vector information state determining unit 8 It holds. そして、後続命令にて、Trailing One of Vector Mask Count命令の実行指示が出された場合には、まず、ベクトルマスク更新命令時点からベクトル長に変化があるか否かを判定する。 Then, in the subsequent instruction, if the execution instruction of Trailing One of Vector Mask Count instruction is issued, first, it is determined whether there is a change in the vector length from the vector mask update instruction time. 判定の結果、ベクトル長に変化が無く、ベクトルマスク情報の最終ビットが"1"である場合には、予め保持しておいたベクトル長を結果として命令制御部2に返却すると共に、該命令が先行処理結果を用いて実行可能であることを命令制御部2に通知する。 Result of the determination, there is no change in vector length, with in the case where the final bit of the vector mask information is "1", returns to the instruction control unit 2 in advance vector length which has been retained as a result, the instruction is and it notifies the instruction control unit 2 that can be performed using the prior process results. このように処理することで、ベクトルマスク情報の最後の"1"のビット位置を求めるための処理時間を短縮することができる。 By such processing, it is possible to shorten the processing time for obtaining the bit position of the last "1" of the vector mask information.

以上説明してきたように、本実施の形態に係るベクトル処理装置100は、ベクトルマスク情報の更新命令の際に、ベクトルマスク情報の内の各部分のベクトルマスク情報について、複数のベクトルパイプライン処理部がそれぞれベクトルマスク処理を先行して実行し、該部分処理結果とベクトル長をベクトル情報状態判定部8に格納する。 As described above, the vector processing apparatus 100 according to this embodiment, when the update instruction of the vector mask information for the vector mask information for each portion of the vector mask information, a plurality of vector pipeline processing unit There are running ahead of the vector mask processing, and stores the partial processing result and the vector length vector information state determining unit 8. そして、ベクトル長の変化が無い場合に、部分処理結果とベクトル長を用いて、ベクトルマスク情報を処理することで、ベクトルマスク処理命令に要する処理時間を短縮することができ、ベクトルマスク処理命令を高速に処理することができる。 Then, when there is no change in the vector length, using the partial processing result and the vector length, by treating the vector mask information, it is possible to shorten the processing time required for the vector mask processing instruction, the vector mask processing instruction it can be processed at high speed.

尚、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。 The present invention is not limited to the embodiment described above, it is of course made without departing from the scope of the present invention and various modifications are possible.

本発明の実施の形態に係るベクトル処理装置を示すブロック図である。 Is a block diagram showing a vector processing apparatus according to an embodiment of the present invention. 本発明の実施の形態に係るベクトル処理装置の動作例を示すタイムチャートである。 An operation example of the vector processing apparatus according to an embodiment of the present invention is a time chart showing. 従来のベクトル処理装置の動作例を示すタイムチャートである。 Operation of a conventional vector processing apparatus is a time chart showing the. 本発明の実施の形態に係るベクトル処理装置の動作例を示すタイムチャートである。 An operation example of the vector processing apparatus according to an embodiment of the present invention is a time chart showing. 従来のベクトル処理装置の動作例を示すタイムチャートである。 Operation of a conventional vector processing apparatus is a time chart showing the. 従来のベクトル処理装置を示すブロック図である。 It is a block diagram showing a conventional vector processing apparatus.

符号の説明 DESCRIPTION OF SYMBOLS

100 ベクトル処理装置 1 ベクトルパイプライン処理部 2 命令制御部 3 主記憶部 4-1〜4-4 ベクトルレジスタ 5-1〜5-2 演算器 6-1〜6-2 クロスバ 7 ベクトルマスク情報部 8 ベクトルマスク情報状態判定部 9 ベクトルパイプラインクロスバ 100 vector processing apparatus 1 vector pipeline processing unit 2 commands the control unit 3 main storage unit 4-1 to 4-4 vector register 5-1~5-2 calculator 6-1~6-2 crossbar 7 vector mask information section 8 vector mask information state determining unit 9 vector pipeline crossbar

Claims (2)

  1. 命令の制御を行う命令制御部と、情報を保持しておく主記憶部と、複数のベクトルレジスタ、複数の演算器、該演算器と前記ベクトルレジスタ間を接続する複数のクロスバ、及びベクトルマスク情報を格納しベクトルマスク処理命令を処理するベクトルマスク情報部を有する複数のベクトルパイプライン処理部と、前記ベクトルパイプライン処理部間を接続して処理を行うベクトルパイプラインクロスバを備えたベクトル処理装置において、 An instruction control unit for controlling the instruction, the main storage unit to hold the information, a plurality of vector registers, a plurality of computing units, a plurality of crossbars for connecting between said vector registers and said arithmetic unit, and the vector mask information in vector processing apparatus having a plurality of vector pipeline processing unit, the vector pipeline crossbar performing processing by connecting between the vector pipeline processing unit having a storage and a vector mask information section for processing the vector mask processing instruction ,
    前記ベクトルマスク情報の更新命令の際に、前記ベクトルマスク情報の内の各部分のベクトルマスク情報について、前記複数のベクトルパイプライン処理部がそれぞれ前記ベクトルマスク処理を先行して実行し、該部分処理結果を格納する手段と、 When updating instruction of the vector mask information, the on vector mask information for each portion of the vector mask information, the plurality of vector pipeline processing unit is performed prior to said vector mask processing each partial process It means for storing the result,
    前記格納された部分処理結果を用いて、前記ベクトルマスク情報を処理する手段を備えることを特徴とするベクトル処理装置。 Using said stored portion processing result, vector processing apparatus characterized by comprising means for processing the vector mask information.
  2. 前記ベクトル処理装置は、 The vector processing apparatus,
    前記ベクトルマスク情報の更新命令の際に、前記ベクトルマスク情報の内の各部分のベクトルマスク情報について、前記複数のベクトルパイプライン処理部がそれぞれベクトルマスク処理を先行して実行し、該部分処理結果とベクトル長を格納する手段と、 When updating instruction of the vector mask information, the on vector mask information for each portion of the vector mask information, the plurality of vector pipeline processing unit is performed prior to vector mask processing each partial processing result It means for storing a vector length and,
    前記ベクトル長の変化が無い場合に、前記部分処理結果と前記ベクトル長を用いて、前記ベクトルマスク情報を処理する手段を備えることを特徴する請求項1記載のベクトル処理装置。 If the change of the vector length is not, the partial processing result and using said vector length, vector processing apparatus according to claim 1, characterized in that it comprises means for processing the vector mask information.
JP2007253883A 2007-09-28 2007-09-28 Vector processing device Pending JP2009086870A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007253883A JP2009086870A (en) 2007-09-28 2007-09-28 Vector processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007253883A JP2009086870A (en) 2007-09-28 2007-09-28 Vector processing device

Publications (1)

Publication Number Publication Date
JP2009086870A true true JP2009086870A (en) 2009-04-23

Family

ID=40660240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007253883A Pending JP2009086870A (en) 2007-09-28 2007-09-28 Vector processing device

Country Status (1)

Country Link
JP (1) JP2009086870A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2470782A (en) * 2009-06-05 2010-12-08 Advanced Risc Mach Ltd Conditional execution in a data processing apparatus handling vector instructions
KR20140113580A (en) * 2013-03-15 2014-09-24 인텔 코오퍼레이션 Processors, methods, systems, and instructions to consolidate unmasked elements of operation masks

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2470782A (en) * 2009-06-05 2010-12-08 Advanced Risc Mach Ltd Conditional execution in a data processing apparatus handling vector instructions
US8661225B2 (en) 2009-06-05 2014-02-25 Arm Limited Data processing apparatus and method for handling vector instructions
GB2470782B (en) * 2009-06-05 2014-10-22 Advanced Risc Mach Ltd A data processing apparatus and method for handling vector instructions
KR20140113580A (en) * 2013-03-15 2014-09-24 인텔 코오퍼레이션 Processors, methods, systems, and instructions to consolidate unmasked elements of operation masks
JP2014182802A (en) * 2013-03-15 2014-09-29 Intel Corp Processors, methods, systems, and instructions to consolidate unmasked elements of operation masks
US9411593B2 (en) 2013-03-15 2016-08-09 Intel Corporation Processors, methods, systems, and instructions to consolidate unmasked elements of operation masks
KR101679111B1 (en) 2013-03-15 2016-11-23 인텔 코포레이션 Processors, methods, systems, and instructions to consolidate unmasked elements of operation masks

Similar Documents

Publication Publication Date Title
US6304955B1 (en) Method and apparatus for performing latency based hazard detection
US20020116434A1 (en) Apparatus and method for performing multiplication operations
US6049860A (en) Pipelined floating point stores
US20030154358A1 (en) Apparatus and method for dispatching very long instruction word having variable length
US6832305B2 (en) Method and apparatus for executing coprocessor instructions
US20120110271A1 (en) Mechanism to speed-up multithreaded execution by register file write port reallocation
US8782377B2 (en) Processor to execute shift right merge instructions
US7340495B2 (en) Superior misaligned memory load and copy using merge hardware
JPH05150979A (en) Immediate operand expansion system
US20070271325A1 (en) Matrix multiply with reduced bandwidth requirements
US4954947A (en) Instruction processor for processing branch instruction at high speed
JP2000020486A (en) Simd type computing element
JP2004038323A (en) Branch estimation system and method
US20020035677A1 (en) Method and apparatus for pre-processing instructions for a processor
US6691223B1 (en) Processing full exceptions using partial exceptions
JP2003005958A (en) Data processor and method for controlling the same
WO2005091130A2 (en) Instruction pipeline
US20060101107A1 (en) Apparatus for controlling rounding modes in single instruction multiple data (SIMD) floating-point units
JP2000076066A (en) Signal processing circuit
JP2003316598A (en) Long instruction execution processor combined with high reliable mode operation
JP2000227858A (en) Processor and instruction processing method therefor
US8055883B2 (en) Pipe scheduling for pipelines based on destination register number
EP0507210A2 (en) A data processing system for performing square operations with improved speed and a method therefor
US6308262B1 (en) System and method for efficient processing of instructions using control unit to select operations
CN1432151A (en) Single instruction multiple data processing