JP4784514B2 - List vector processing apparatus and method - Google Patents
List vector processing apparatus and method Download PDFInfo
- Publication number
- JP4784514B2 JP4784514B2 JP2007000256A JP2007000256A JP4784514B2 JP 4784514 B2 JP4784514 B2 JP 4784514B2 JP 2007000256 A JP2007000256 A JP 2007000256A JP 2007000256 A JP2007000256 A JP 2007000256A JP 4784514 B2 JP4784514 B2 JP 4784514B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- address
- control information
- last
- clock cycle
- 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 354
- 238000000034 method Methods 0.000 title description 11
- 238000003672 processing method Methods 0.000 claims description 4
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000007906 compression Methods 0.000 description 15
- 230000006835 compression Effects 0.000 description 11
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
Images
Landscapes
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
Description
本発明は、リストベクトル処理に関する。 The present invention relates to list vector processing.
コンピュータによる演算を高速に行うための技術として、リストベクトル処理が知られている。リストベクトル処理においてロード命令が実行されると、ベクトル要素に示される主記憶装置上のアドレスに記録されたデータが、ベクトル要素番号の若い順に読み出され、ベクトル処理装置に渡される。 List vector processing is known as a technique for performing computation by a computer at high speed. When a load instruction is executed in the list vector processing, the data recorded at the address on the main storage device indicated by the vector element is read in ascending order of the vector element number and passed to the vector processing device.
リストベクトル処理におけるロード命令を高速化するために、以下の技術が知られている。複数のベクトル要素が異なるベクトル処理装置に分配されて並列に処理される。この場合、複数のベクトル処理装置は同じクロックサイクルで出力したベクトル要素を一致判定回路で比較する。比較の結果、複数のベクトル要素が一致すると、その中のただ一つのベクトル要素に基づいて主記憶装置へのアクセスが実行され、その他のベクトル要素に対しては、そのアクセスの結果得られたデータが返される。このような処理により主記憶へのアクセス回数が減り、リストベクトルのロード命令の高速化が実現される。 In order to speed up the load instruction in the list vector processing, the following techniques are known. A plurality of vector elements are distributed to different vector processing devices and processed in parallel. In this case, the plurality of vector processing devices compare the vector elements output in the same clock cycle by the coincidence determination circuit. As a result of the comparison, if a plurality of vector elements match, access to the main memory is executed based on only one of the vector elements, and data obtained as a result of the access is obtained for the other vector elements. Is returned. By such processing, the number of accesses to the main memory is reduced, and the speed of the load instruction for the list vector is realized.
リストベクトル処理に関して、特許文献1が公開されている。
本発明の目的は、より高速な計算を可能にするリストベクトル処理装置及び方法を提供することである。 An object of the present invention is to provide a list vector processing apparatus and method that enable faster calculation.
以下に、[発明を実施するための最良の形態]で使用される番号を括弧付きで用いて、課題を解決するための手段を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。 In the following, means for solving the problem will be described using the numbers used in [Best Mode for Carrying Out the Invention] in parentheses. These numbers are added to clarify the correspondence between the description of [Claims] and [Best Mode for Carrying Out the Invention]. However, these numbers should not be used to interpret the technical scope of the invention described in [Claims].
本発明によるリストベクトル処理装置は、以下の部分を含む:メモリ上のアドレスを示す複数のベクトル要素を含む第1ベクトルデータを第1のクロックサイクルにおいて入力し、メモリ上のアドレスを示す複数のベクトル要素を含む第2ベクトルデータを第1クロックサイクルに後続する第2のクロックサイクルにおいて入力するベクトルデータ入力部(100、101、102、103);第1ベクトルデータの中で要素番号の順序が最後のベクトル要素のアドレスと、第2ベクトルデータの中で要素番号の順序が最初のベクトル要素のアドレスとの照合を実行する照合部(230);照合の結果が一致したとき、第1ベクトルデータの中で最後のベクトル要素を含み、要素番号が最後のベクトル要素と連続し、且つ同じアドレスを示しているベクトル要素と、第2ベクトルデータの中で最初のベクトル要素を含み、要素番号が最初のベクトル要素と連続し、且つ同じアドレスを示しているベクトル要素とからなるアドレス共通ベクトル要素群を設定する同一アドレス連続領域結合部(1000);及び、ベクトル要素に示されたアドレスに従ってメモリの情報を読み出す指令を入力したとき、アドレス共通ベクトル要素群に属するベクトル要素に対して、アドレス共通ベクトル要素群に属するいずれかの代表ベクトル要素に示されるアドレスに基づいてメモリにアクセスすることにより読み出された情報を返すリプライ部(6000)。 The list vector processing apparatus according to the present invention includes the following parts: a first vector data including a plurality of vector elements indicating addresses on a memory is input in a first clock cycle, and a plurality of vectors indicating addresses on the memory Vector data input unit (100, 101, 102, 103) for inputting second vector data including elements in a second clock cycle subsequent to the first clock cycle; the order of element numbers in the first vector data is the last A collation unit (230) for collating the address of the vector element with the address of the first vector element in the order of the element numbers in the second vector data; when the collation results match, Contains the last vector element, the element number is continuous with the last vector element, and indicates the same address An address common vector element group including a vector element including the first vector element in the second vector data, an element number continuous with the first vector element, and a vector element indicating the same address is set. When a command for reading memory information in accordance with the address indicated by the vector element is input to the address common vector element group for the vector element belonging to the address common vector element group. A reply unit (6000) that returns information read out by accessing the memory based on the address indicated by any representative vector element to which it belongs.
本発明によるリストベクトル処理装置において、代表ベクトル要素は、アドレス共通ベクトル要素群の中で要素番号が最後のベクトル要素である。 In the list vector processing apparatus according to the present invention, the representative vector element is the last vector element having an element number in the address common vector element group.
本発明によるリストベクトル処理装置において、同一アドレス連続領域結合部(1000)は、以下の部分を備える:第1ベクトルデータに含まれる複数のベクトル要素にそれぞれ対応し、最後フラグが設定される制御情報を生成し、第1ベクトルデータの中で同じアドレスを示し連続するベクトル要素からなる第1クロックサイクル内アドレス共通ベクトル要素群の中で要素番号が最後のベクトル要素に対応する制御情報に設定される最後フラグを立てる第1クロックサイクル内アドレス共通ベクトル認識部(110);及び、第2ベクトルデータに含まれる複数のベクトル要素にそれぞれ対応する制御情報を生成し、第1ベクトルデータの中で要素番号が最後のベクトル要素の最後フラグが立っており且つ第2ベクトルデータの中で最初のベクトル要素に示されるアドレスが最後のベクトル要素に示されるアドレスと同じであるとき、最後フラグを倒し、第2ベクトルデータの中で同じアドレスを示し連続するベクトル要素からなる第2クロックサイクル内アドレス共通ベクトル要素群の中で要素番号が最後のベクトル要素に対応する制御情報に含まれる最後フラグを立てる制御情報修正部(240)。アドレス共通ベクトル要素群に属するベクトル要素の領域の最後の要素番号は、最後フラグにより指定される。 In the list vector processing apparatus according to the present invention, the same address continuous area combining unit (1000) includes the following parts: Control information corresponding to a plurality of vector elements included in the first vector data and having the last flag set And the element number is set in the control information corresponding to the last vector element in the first common vector element group in the first clock cycle that consists of consecutive vector elements indicating the same address in the first vector data. Address common vector recognition unit (110) in the first clock cycle that sets the last flag; and control information corresponding to each of a plurality of vector elements included in the second vector data is generated, and the element number in the first vector data Is the last flag of the last vector element and is the first of the second vector data When the address indicated by the vector element is the same as the address indicated by the last vector element, the last flag is turned off, the same address is indicated in the second vector data, and the addresses in the second clock cycle consisting of consecutive vector elements are common. A control information correction unit (240) that sets a last flag included in the control information corresponding to the last vector element in the vector element group. The last element number of the vector element region belonging to the common address vector element group is designated by the last flag.
本発明によれば、より高速な計算を可能にするリストベクトル処理装置及び方法が提供される。 According to the present invention, there is provided a list vector processing apparatus and method that enable faster calculation.
本発明によれば、リストベクトル処理における主記憶へのアクセス回数を削減し、より高速な計算を可能にするリストベクトル処理装置及び方法が提供される。 ADVANTAGE OF THE INVENTION According to this invention, the list vector processing apparatus and method which reduce the frequency | count of access to the main memory in list vector processing, and enable faster calculation are provided.
図1は、本発明に係るリストベクトル処理方法を説明するための概念図である。クロックサイクル1とクロックサイクル2は、連続する2つのクロックサイクルを示す。
FIG. 1 is a conceptual diagram for explaining a list vector processing method according to the present invention.
処理1:複数のベクトル処理装置からクロックサイクル1で出力された第1ベクトルデータのベクトル要素がアドレス一致判定回路で比較され、クロックサイクル1のベクトル要素内で同じアドレスにアクセスするベクトル要素が検出される。検出の結果、最も大きな要素番号のベクトル要素(クロックサイクル1で入力されたベクトル要素のうちの最後のベクトル要素)を含み、同一のアドレスを持つベクトル要素が連続している連続領域が検出される。その連続領域に含まれるベクトル要素のうち、最小の要素番号「2」が見つけられる。
Process 1: The vector elements of the first vector data output from a plurality of vector processing devices in
処理2:クロックサイクル1の最後のベクトル要素のアドレスと、次のクロックサイクルであるクロックサイクル2で入力された第2ベクトルデータのベクトル要素のうちで最も小さな要素番号のベクトル要素(クロックサイクル2で入力されたベクトル要素のうち先頭のベクトル要素)のアドレスとが比較される。比較の結果が一致である場合、処理1で求められた連続領域のうち最小の要素番号をもつベクトル要素からクロックサイクル2で入力されたベクトル要素の先頭のベクトル要素までアドレスが一致していることがわかる。この場合、処理1で求めた連続領域のうち最小の要素番号が記録される。
Process 2: The vector element having the smallest element number among the vector elements of the second vector data inputted in
処理3:クロックサイクル2で入力されたベクトル要素がアドレス一致判定回路で比較され、クロックサイクル2のベクトル要素内で同じアドレスにアクセスするベクトル要素が検出される。検出の結果、先頭のベクトル要素を含み、同一のアドレスを持つベクトル要素が連続している連続領域が検出される。その連続領域に含まれるベクトル要素のうち、最大の要素番号「5」が見つけられる。
Process 3: The vector elements input in
以上の処理1〜処理3により、同じアドレスを持ちかつ要素番号が連続している複数のベクトル要素からなる領域が検出され、その領域の先頭の要素番号と最後の要素番号が判明する。この領域について、最も大きなベクトル要素番号のベクトル要素のみに基づいて主記憶へのアクセスが行われる。その結果、主記憶へのアクセス回数が削減される。
By the
図2は、本実施の形態におけるリストベクトル処理装置の構成を示す。ベクトル処理装置3001〜3004はベクトル要素をクロックサイクル毎に出力する。本実施例では、ベクトル処理装置3001〜3004は4個であり、このためクロックサイクル毎に、4個のベクトル要素が出力される。
FIG. 2 shows the configuration of the list vector processing apparatus in the present embodiment. The
圧縮処理を行うリストベクトル処理装置(同一アドレス連続領域結合部)1000は、ベクトル処理装置3001〜3004からベクトル要素を受け取ると、同じアドレスを持つベクトル要素を検出する。同じアドレスを持つベクトル要素のうち要素番号が最も大きいベクトル要素が検出され、該当検出されたベクトル要素のみに基づいて主記憶へのアクセスが行われる。
When receiving a vector element from the
主記憶制御装置(リクエスト発行)4000は、リストベクトル処理装置(圧縮処理)1000からベクトル要素の制御情報とアドレスを受け取り、ベクトル処理装置3001〜3004からデータを受け取ると、主記憶へのメモリリクエストを生成する。
The main memory control device (request issue) 4000 receives control information and addresses of vector elements from the list vector processing device (compression processing) 1000, and receives data from the
主記憶装置5000は、主記憶制御装置(リクエスト発行)4000からメモリリクエストを受け取り、メモリリクエストで示されたアドレスのデータに対して、データの書き込みまたは、データの読み出しを行い、その結果をメモリリプライとして出力する。
The
主記憶制御装置(リプライ部)6000は、主記憶装置5000からメモリリプライを受け取ると、ベクトル要素の制御情報とデータを生成する。リストベクトル処理装置(展開処理)2000は、主記憶制御装置(リプライ受け取り)6000からベクトル要素の制御情報とデータを受け取ると、制御情報から同じアドレスを持つベクトル要素のうち、主記憶へのアクセスが行われていないベクトル要素の要素番号を復元する。この処理より、リストベクトル処理装置(圧縮処理)1000によって削減されたベクトル要素が復元される。
When the main memory control device (reply unit) 6000 receives a memory reply from the
図3を参照すると、リストベクトル処理装置(圧縮処理)1000の詳細な構成が示されている。 Referring to FIG. 3, a detailed configuration of a list vector processing apparatus (compression process) 1000 is shown.
1つのベクトル命令は、複数のベクトル要素を処理することができる。1つの命令によって処理されるベクトル要素数とベクトル処理装置3001〜3004の個数を比較すると、1つの命令によって処理されるベクトル要素数のほうが多い。このため1つのベクトル命令が処理される場合、ベクトル処理装置3001〜3004は、命令が処理するベクトル要素数に達するまで、1クロックサイクル毎に最大4個のベクトル要素の出力を繰り返す。
One vector instruction can process multiple vector elements. When the number of vector elements processed by one instruction is compared with the number of
入力REG100〜103(ベクトルデータ入力部)はベクトル処理装置3001〜3004により出力されるベクトル要素を取り込む。
制御情報は、ベクトル要素に対応して生成される。制御情報は4ビットの情報、要素番号、および先頭要素番号で構成される。本実施例の図では、制御情報は4ビットの情報、要素番号、および先頭要素番号の順番で表記され、「bbbb[x][x]」のフォーマットで表現される。以下の説明において、4ビットの情報のうち最も左のビットは第1ビット、最も右のビットは第4ビットとして説明される。 Control information is generated corresponding to the vector element. The control information is composed of 4-bit information, an element number, and a head element number. In the diagram of this embodiment, the control information is expressed in the order of 4-bit information, element number, and head element number, and is expressed in the format “bbbb [x] [x]”. In the following description, the leftmost bit of the 4-bit information is described as the first bit, and the rightmost bit is described as the fourth bit.
制御情報の第1ビットは、主記憶へのアクセスが行われるか否かを示す。第1ビットが1の場合、対応するベクトル要素が主記憶にアクセスするように制御され、0の場合、対応するベクトル要素が主記憶にアクセスしないように制御される。同じクロックサイクルの4つのベクトル要素において同じアドレスを持つベクトル要素を要素とする群を同一クロック内共通ベクトル要素群と名づけると、同一クロック内共通ベクトル要素群の中で最大の要素番号を持つベクトル要素の制御情報の第1ビットは1に設定され、他のベクトル要素の制御情報の第1ビットは0に設定される。 The first bit of the control information indicates whether or not access to the main memory is performed. When the first bit is 1, the corresponding vector element is controlled to access the main memory. When the first bit is 0, the corresponding vector element is controlled not to access the main memory. When a group of vector elements having the same address in four vector elements of the same clock cycle is named a common vector element group within the same clock, the vector element having the largest element number among the common vector elements within the same clock The first bit of the control information is set to 1, and the first bits of the control information of the other vector elements are set to 0.
制御情報の第2ビットは、圧縮可能なベクトル要素であることを示す。制御情報生成回路110(第1クロックサイクル内制御情報生成回路)は、同じクロックサイクルの4つのベクトル要素のアドレスを比較する。同じアドレスを持つベクトル要素が連続して存在する場合は、当該のベクトル要素の制御情報の第2ビットは1に設定される。そうでない場合は、当該のベクトル要素の制御情報の第2ビットは0に設定される。 The second bit of the control information indicates that it is a compressible vector element. The control information generation circuit 110 (control information generation circuit in the first clock cycle) compares the addresses of four vector elements in the same clock cycle. When vector elements having the same address exist continuously, the second bit of the control information of the vector element is set to 1. Otherwise, the second bit of the control information of the vector element is set to 0.
制御情報の第3ビットは、同じアドレスを持つベクトル要素が連続している場合、当該のベクトル要素のうち最小の要素番号を持つベクトル要素であることを示す。制御情報の第4ビットは、同じアドレスを持つベクトル要素が連続している場合、当該のベクトル要素のうち最大の要素番号を持つベクトル要素であることを示す。 The third bit of the control information indicates that when vector elements having the same address are consecutive, the vector element has the smallest element number among the vector elements. The fourth bit of the control information indicates that when vector elements having the same address are continuous, the vector element has the largest element number among the vector elements.
制御情報の要素番号は、その制御情報がどのベクトル要素の制御情報であるかを示している。同じアドレスを持つベクトル要素が連続している場合は、当該のベクトル要素のうち、最大の要素番号が制御情報の要素番号として格納されている。 The element number of the control information indicates to which vector element the control information is the control information. When vector elements having the same address are consecutive, the largest element number among the vector elements is stored as the element number of the control information.
制御情報の先頭要素番号は、同じアドレスを持つベクトル要素が存在しない場合は制御情報の要素番号と同じ値に設定される。一方、同じアドレスを持つベクトル要素が連続している場合は、当該のベクトル要素のうち、最小(先頭)の要素番号が制御情報の先頭要素番号として設定される。 The head element number of the control information is set to the same value as the element number of the control information when there is no vector element having the same address. On the other hand, when vector elements having the same address are continuous, the smallest (first) element number of the vector elements is set as the first element number of the control information.
アドレス比較回路230(照合部)は、入力REG100から出力されるベクトル要素のアドレスと持ち回りREG203から出力されるベクトル要素のアドレスを比較する。一致する場合は1が出力され、一致しない場合は0が出力される。
The address comparison circuit 230 (collation unit) compares the address of the vector element output from the
アドレス比較回路が持ち回りREG203から入力するベクトル要素は、第1のクロックサイクルにおいて入力されるベクトルデータに含まれる最も要素番号の大きいベクトル要素である。アドレス比較回路が入力REG100から入力するベクトル要素は、第1のクロックサイクルに後続する第2にクロックサイクルにおいて入力されるベクトルデータに含まれる最も要素番号の小さいベクトル要素である。
A vector element carried by the address comparison circuit and inputted from the
アドレス連続情報REG260は、アドレス比較回路230が出力した比較結果を保持する。アドレス連続情報REG260の出力が1の場合、1つ前のクロックサイクルから同じアドレスを持つベクトル要素が連続していることが示されている。
The address continuation information REG 260 holds the comparison result output from the
制御情報生成回路110は、同じクロックサイクルで入力REG100〜103から出力される4つのベクトル要素のアドレス比較し、ベクトル要素内で同じアドレスにアクセスするベクトル要素を検出する。
The control
検出の結果、4つのベクトル要素のうち、最大のベクトル要素(最後尾のベクトル要素)を含み同一のアドレスを持つベクトル要素が連続している連続領域が検出される。連続領域のベクトル要素のうち、最小の要素番号「S」を持つベクトル要素の制御情報が「0110[S][S]」として出力され、最大の要素番号「L」を持つベクトル要素の制御情報が「1101[L][S]」として出力され、その他のベクトル要素の制御情報が「0100[x][x]」として出力される。 As a result of detection, a continuous region in which vector elements having the same address including the largest vector element (the last vector element) among the four vector elements is continuous is detected. Of the vector elements in the continuous area, the control information of the vector element having the smallest element number “S” is output as “0110 [S] [S]”, and the control information of the vector element having the largest element number “L” is output. Is output as “1101 [L] [S]”, and control information of other vector elements is output as “0100 [x] [x]”.
ただし、入力REG100から出力されるベクトル要素の制御情報が「0110[x][x]」でありかつ、アドレス比較回路230の出力が1の場合、制御情報として「0110[x][x]」ではなく、「0100[x][x]」が生成される。制御情報の第3ビットは、同じアドレスを持つベクトル要素が連続している場合、当該のベクトル要素のうち最小の要素番号を持つベクトル要素であることを示す情報であり、1つ前のクロックサイクルから同じアドレスを持つベクトル要素が連続する場合は、条件にあてはまらないため異なる制御情報が生成される。
However, when the control information of the vector element output from the
検出の結果、4つのベクトル要素のうち、最小のベクトル要素(先頭のベクトル要素)を含み同じアドレスを持つベクトル要素が連続している連続領域が検出される。同じアドレスを持つベクトル要素が存在する場合、連続領域のベクトル要素のうち、最小の要素番号「S」を持つベクトル要素の制御情報は「0110[S][S]」として出力される。最大の要素番号「L」を持つベクトル要素の制御情報は「1101[L][S]」として出力される。その他のベクトル要素の制御情報は「0100[x][x]」として出力される。 As a result of the detection, a continuous region in which vector elements having the same address including the smallest vector element (first vector element) among the four vector elements is continuous is detected. When vector elements having the same address exist, the control information of the vector element having the smallest element number “S” among the vector elements in the continuous area is output as “0110 [S] [S]”. The control information of the vector element having the largest element number “L” is output as “1101 [L] [S]”. The control information of other vector elements is output as “0100 [x] [x]”.
制御情報REG210〜213は、制御情報生成回路110が出力した制御情報を保持する。先頭要素番号選択回路120は、アドレス比較回路230の出力値が1であり、かつ制御情報REG210〜213から出力された制御情報のうち、制御情報が「0110[x][x]」であるベクトル要素が存在する場合、当該のベクトル要素の要素番号を出力する。制御情報が「0110[x][x]」であるベクトル要素が複数存在する場合、当該のベクトル要素のうちで最大の要素番号を持つベクトル要素の要素番号が出力される。制御情報が「0110[x][x]」であるベクトル要素が存在しない場合は、先頭要素番号REG220の出力が選択される。
The control information REG210 to 213 holds the control information output from the control
先頭要素番号REG220は、先頭要素番号選択回路120の出力を取り込む。持ち回りREG200〜203は入力REG100〜103が出力するベクトル要素を取り込む。
The leading
制御情報修正回路240(制御情報修正部)は、制御情報REG213から出力された制御情報が「1101[x][x]」であるベクトル要素が存在しかつ、アドレス比較回路230の出力が1の場合、制御情報として「1101[x][x]」ではなく「0100[x][x]」を生成する。制御情報の第4ビットは、同じアドレスを持つベクトル要素が連続している場合、当該のベクトル要素のうち最大の要素番号を持つベクトル要素であることを示す情報であり、1つ後のクロックサイクルに同じアドレスを持つベクトル要素が存在する場合、条件にあてはまらないため制御情報として「0100[x][x]」が生成される。
The control information correction circuit 240 (control information correction unit) has a vector element whose control information output from the
先頭要素番号置換回路250は、アドレス連続情報REG260の出力値が1であり、かつ制御情報として「1101[x][x]」を持つベクトル要素の制御情報の先頭要素番号を示す情報の書き換えを行う。制御情報の先頭要素番号は、同じクロックサイクル内で連続して同じアドレスを持つベクトル要素の先頭の要素番号を示しており、アドレス連続情報REG260の出力が1の場合、1つ前のクロックサイクルから同じアドレスを持つベクトル要素が連続していることになるので、書き換えが行われる。また当該のベクトル要素が複数存在する場合は、当該のベクトル要素のうち最小のベクトル要素の制御情報の先頭要素番号のみ書き換えられる。
The head element
図4を参照すると、リストベクトル処理装置(展開処理)2000の詳細な構成が示されている。 Referring to FIG. 4, a detailed configuration of list vector processing device (development processing) 2000 is shown.
リストベクトル処理装置(展開処理)2000は、4つのベクトル要素復元回路2001〜2004を保持している。4つのベクトル要素復元回路2001〜2004の構成は同じであるため、本実施例では、ベクトル要素復元回路2001についてのみ説明する。
The list vector processing device (development processing) 2000 holds four vector
制御情報バッファ400は、主記憶制御装置(リプライ受け取り)6000から出力される制御情報を一時的保持するバッファである。制御情報バッファ400は、比較回路540の出力が1の場合、制御情報を出力する。
The
データバッファ410は、主記憶制御装置(リプライ受け取り)6000から出力されるデータを一時的保持するバッファである。データバッファ400は、比較回路540の出力が1の場合、データを出力する。
The
制御情報デコーダ420は、制御情報を受け取ると、制御情報からベクトル要素の要素番号と先頭要素番号を出力する。要素番号は制御情報の2番目のフィールドに格納されている値である。先頭要素番号は制御情報の3番目のフィールドに格納されている値である。
When receiving the control information, the
選択回路550は、比較回路540の出力が1の場合は制御情報デコーダ420が出力する先頭要素番号を選択し、比較回路540の出力が0の場合は加算器530が出力する先頭要素番号を選択する。
The
選択回路551は、比較回路540の出力が1の場合は制御情報デコーダ420が出力する要素番号を選択し、比較回路540の出力が0の場合は要素番号REG510が出力する要素番号を選択する。
The
選択回路552は、比較回路540の出力が1の場合はデータバッファ410が出力するデータを選択し、比較回路540の出力が0の場合はデータREG520が出力する要素番号を選択する。
The
生成要素番号REG500は選択回路550が出力する値を保持するレジスタである。要素番号REG510は選択回路551が出力する値を保持するレジスタである。データREG520は選択回路552が出力するデータを保持するレジスタである。加算器530は先頭要素番号REG500が出力した値に+1を加算した値を出力する加算器である。
The generation element number REG500 is a register that holds a value output from the
比較回路540は生成要素番号REG500の値と要素番号REG510の値を比較し、値が一致する場合、1を出力し、一致しない場合、0を出力する。
The
要素番号出力REG600は、生成要素番号REG500が出力する値を保持するレジスタである。データ出力REG610は、データREG520が出力するデータを保持するレジスタである。調停回路2005はベクトル要素復元回路2001〜2004から出力される要素番号とデータの調停を行い、ベクトル処理装置3001〜3004に出力する。
The element
次に、図3に示されるリストベクトル処理装置(圧縮処理)1000が行う圧縮処理の動作を図5に示すタイムチャートを使用して説明する。 Next, the operation of the compression processing performed by the list vector processing apparatus (compression processing) 1000 shown in FIG. 3 will be described using the time chart shown in FIG.
図7に、図5を元に情報移動や依存関係を矢印で補足した図を追加している。本実施例では、ベクトル処理装置3001〜3004が出力するベクトル要素の個数を12要素として説明を行う。
FIG. 7 is a diagram in which information movement and dependency relationships are supplemented with arrows based on FIG. In the present embodiment, description will be made assuming that the number of vector elements output by the
クロックサイクルT2において、アドレス入力REG100〜103はベクトル処理装置3001〜3004が出力したベクトル要素(要素番号0〜3)のアドレスを取り込む。以下同様に、クロックサイクルT3において、アドレス入力REG100〜103はベクトル処理装置3001〜3004が出力したベクトル要素(要素番号4〜7)のアドレスを取り込む。クロックサイクルT4において、アドレス入力REG100〜103はベクトル処理装置3001〜3004が出力したベクトル要素(要素番号8〜11)のアドレスを取り込む。
In clock cycle T2, address inputs REG100 to 103 fetch the addresses of vector elements (
クロックサイクルT3において、アドレス持ち回りREG200〜203はアドレス入力REG100〜103が出力したベクトル要素(要素番号0〜3)のアドレスを取り込む。以下同様に、クロックサイクルT4において、アドレス持ち回りREG200〜203はアドレス入力REG100〜103が出力したベクトル要素(要素番号4〜7)のアドレスを取り込む。クロックサイクルT5において、アドレス持ち回りREG200〜203はアドレス入力REG100〜103が出力したベクトル要素(要素番号8〜11)のアドレスを取り込む。
In the clock cycle T3, the
クロックサイクルT4において、アドレス出力REG300〜303はアドレス持ち回りREG200〜203が出力したベクトル要素(要素番号0〜3)のアドレスを取り込む。以下同様に、クロックサイクルT5において、アドレス出力REG300〜303はアドレス持ち回りREG200〜203が出力したベクトル要素(要素番号4〜7)のアドレスを取り込む。クロックサイクルT6において、アドレス出力REG300〜303はアドレス持ち回りREG200〜203が出力したベクトル要素(要素番号8〜11)のアドレスを取り込む。
In the clock cycle T4, the address outputs REG300 to 303 fetch the addresses of the vector elements (
クロックサイクルT2において、制御情報生成回路110はアドレス入力REG100〜103からアドレスを受け取り、同じクロックサイクルで入力されたベクトル要素(要素番号0〜3)間でのアドレスの比較を行う。そして図3を参照して説明された制御情報生成回路110での処理が実行される。クロックサイクルT2においては、ベクトル要素(要素番号0〜3)のアドレスはそれぞれ「YY」、「ZZ」、「AA」、「AA」であるため、制御情報(要素番号0〜3)として、それぞれ「1000[0][0]」、「1000[1][1]」、「0110[2][2]」、「1101[3][2]」が生成される。
In the clock cycle T2, the control
クロックサイクルT3において、制御情報REG210〜213は、制御情報生成回路110が出力した制御情報(要素番号0〜3)を取り込む。
In the clock cycle T3, the control information REG210 to 213 takes in the control information (
クロックサイクルT3において、アドレス入力REG100が出力するアドレス(要素番号4)とアドレス持ち回りREG200の出力するアドレス(要素番号3)が一致する。そのため、アドレス比較回路230は判定結果として1を出力する。
In the clock cycle T3, the address (element number 4) output from the address input REG100 matches the address (element number 3) output from the address carry-over REG200. Therefore, the
クロックサイクルT4において、アドレス連続情報REG260は、アドレス比較回路230の出力値の1を取り込む。
In the clock cycle T4, the address continuation information REG260 takes in the
クロックサイクルT3において、制御情報生成回路110はアドレス入力REG100〜103からアドレスを受け取り、同じクロックサイクルで入力されたベクトル要素(要素番号4〜7)間でのアドレスの比較を行う。そして図3を参照して説明された制御情報生成回路110での処理が実行される。クロックサイクルT3においては、ベクトル要素(要素番号4〜7)のアドレスはそれぞれ「AA」、「AA」、「AA」、「AA」であり、またアドレス比較回路230の出力が1であるため、制御情報(要素番号4〜7)として、それぞれ「0100[4][4]」、「0100[5][5]」、「0100[6][6]」、「0100[7][4]」を生成する。
In the clock cycle T3, the control
クロックサイクルT4において、制御情報REG210〜213は、制御情報生成回路110が出力した制御情報(要素番号4〜7)を取り込む。
In the clock cycle T4, the control information REG210 to 213 takes in the control information (
クロックサイクルT4において、アドレス入力REG100が出力するアドレス(要素番号8)とアドレス持ち回りREG200の出力するアドレス(要素番号7)が一致する。そのため、アドレス比較回路230は判定結果として1を出力する。
In clock cycle T4, the address (element number 8) output from the address input REG100 matches the address (element number 7) output from the address carry-over REG200. Therefore, the
クロックサイクルT5において、アドレス連続情報REG260は、アドレス比較回路230の出力値の1を取り込む。
In the clock cycle T5, the address continuation information REG260 takes in the
クロックサイクルT4において、制御情報生成回路110はアドレス入力REG100〜103からアドレスを受け取り、同じクロックサイクルで入力されたベクトル要素(要素番号8〜11)間でのアドレスの比較を行う。そして図3を参照して説明された制御情報生成回路110での処理が実行される。クロックサイクルT4においては、ベクトル要素(要素番号8〜11)のアドレスはそれぞれ「AA」、「AA」、「BB」、「CC」であり、またアドレス比較回路230の出力が1である。そのため、制御情報(要素番号8〜11)として、それぞれ「0100[8][8]」、「1101[9][8]」、「1000[10][10]」、「1000[11][11]」が生成される。
In the clock cycle T4, the control
クロックサイクルT5において、制御情報REG210〜213は、制御情報生成回路110が出力した制御情報(要素番号8〜11)を取り込む。
In the clock cycle T5, the control information REG210 to 213 takes in the control information (
クロックサイクルT5において、アドレス入力REG100にベクトル要素が存在しないため、アドレス比較回路230は判定結果として0を出力する。
In clock cycle T5, since there is no vector element in address input REG100,
クロックサイクルT6において、アドレス連続情報REG260は、アドレス比較回路230の出力値である0を取り込む。
In
クロックサイクルT3において、アドレス比較回路230の出力値が1であり、かつ、制御情報REG210〜213が出力する制御情報(要素番号0〜3)のうち制御情報REG212が出力する制御情報(要素番号2)が「0110[2][2]」であるため、先頭要素番号選択回路120は当該のベクトル要素の要素番号である2を出力する。
In the clock cycle T3, the output value of the
クロックサイクルT4において、先頭要素番号REG220は先頭要素番号選択回路120の出力値である2を取り込む。
In clock cycle T4, the leading element number REG220 takes in the
クロックサイクルT4において、制御情報REG210〜213が出力する制御情報(要素番号4〜7)の中に制御情報が「0110[x][x]」であるベクトル要素が存在しないため、先頭要素番号REG220の出力値である2が出力される。
In the clock cycle T4, since the vector element whose control information is “0110 [x] [x]” does not exist in the control information (
クロックサイクルT5において、先頭要素番号REG220は先頭要素番号選択回路120の出力値である2を取り込む。
In the clock cycle T5, the leading element number REG220 takes in the
クロックサイクルT3において、アドレス比較回路230の出力値が1であるため、制御情報修正回路240は、制御情報REG213が出力する制御情報「1101[3][2]」を「0100[3][2]」に変換して出力する。
Since the output value of the
クロックサイクルT3において、先頭要素番号置換回路250は、制御情報REG210〜212が出力する制御情報(要素番号0〜2)と制御情報修正回路240が出力する制御情報(要素番号3)を受け取る。受け取った制御情報(要素番号0〜3)は「1101[x][x]」(xは任意)の制御情報を持っていないので、制御情報(要素番号0〜3)がそのまま出力される。
In the clock cycle T3, the head element
クロックサイクルT4において、アドレス比較回路230の出力値が1であるため、制御情報修正回路240は、制御情報REG213が出力する制御情報「1101[7][4]」を「0100[7][4]」に変換して出力する。
Since the output value of the
クロックサイクルT4において、先頭要素番号置換回路250は、制御情報REG210〜212が出力する制御情報(要素番号4〜6)と制御情報修正回路240が出力する制御情報(要素番号7)を受け取る。受け取った制御情報(要素番号4〜7)は「1101[x][x]」(xは任意)の制御情報を持っていないので、制御情報(要素番号4〜7)がそのまま出力される。
In the clock cycle T4, the head element
クロックサイクルT5において、アドレス比較回路230の出力値が0であるため、制御情報修正回路240は、制御情報REG213が出力する制御情報「1000[11][11]」をそのまま出力する。
Since the output value of the
クロックサイクルT5において、先頭要素番号置換回路250は、制御情報REG210〜212が出力する制御情報(要素番号8〜10)と制御情報修正回路240が出力する制御情報(要素番号11)を受け取る。受け取った制御情報(要素番号8〜11)のうち、要素番号9の制御情報が「1101[9][8]」である。そのため、先頭要素番号が先頭要素番号REG220の出力する2に置換され、制御情報として「1101[9][2]」が出力される。そのほかの制御情報(要素番号8、10、11)はそのまま出力される。
In the clock cycle T5, the head element
クロックサイクルT4において、制御情報出力REG310〜313は先頭要素番号置換回路250が出力した制御情報(要素番号0〜3)を取り込む。以下同様に、クロックサイクルT5において、制御情報出力REG310〜313は先頭要素番号置換回路250が出力した制御情報(要素番号4〜7)を取り込む。クロックサイクルT6において、制御情報出力REG310〜313は先頭要素番号置換回路250が出力した制御情報(要素番号8〜11)を取り込む。
In the clock cycle T4, the control information outputs REG310 to 313 take in the control information (
後続処理として、主記憶制御装置(リクエスト発行)は、アドレス出力REG300〜303からアドレスを取り込み、制御情報出力REG310〜313から制御情報を取り込み、ベクトル処理装置3001〜3004からデータを取り込むと主記憶へのメモリリクエストを生成する。このとき制御情報が「1xxx[x][x]」(xは任意)に当該するベクトル要素のみリクエストが生成され、制御情報が当該しないベクトル要素についてはリクエストは生成されない。これにより主記憶へのアクセス回数が削減される。
As a subsequent process, the main memory control device (request issuance) fetches an address from the address outputs REG300 to 303, fetches control information from the control information outputs REG310 to 313, and fetches data from the
次に図4の圧縮処理の動作を図6に示すタイムチャートを使用して説明する。ここでは、あらかじめ制御情報バッファ400に制御情報が格納され、データバッファ410にデータが格納されているとして説明する。
Next, the operation of the compression process of FIG. 4 will be described using the time chart shown in FIG. Here, description will be made assuming that control information is stored in the
クロックサイクルT1において、比較回路540の出力値が1であるため、制御情報バッファ400は、バッファに格納されている制御情報「1000[1][1]」を出力する。
In the clock cycle T1, since the output value of the
クロックサイクルT1において、比較回路540の出力値が1であるため、データバッファ410は、バッファに格納されているデータ「DATA1」を出力する。
In the clock cycle T1, since the output value of the
クロックサイクルT1において、制御情報デコーダ420は制御情報バッファ400から制御情報「1000[1][1]」を受け取ると、制御情報から先頭要素番号「1」と要素番号「1」を取り出す。取り出した先頭要素番号は選択回路550に出力され、取り出した要素番号は選択回路551に出力される。
When the
クロックサイクルT1において、比較回路540の出力値が1であるため、選択回路550は制御情報デコーダ420から先頭要素番号「1」を選択し、その値を出力する。
In the clock cycle T1, since the output value of the
クロックサイクルT2において、生成要素番号REG500は選択回路550が出力した先頭要素番号「1」を取り込む。
In the clock cycle T2, the generation element number REG500 takes in the head element number “1” output from the
クロックサイクルT1において、比較回路540の出力値が1であるため、選択回路551は制御情報デコーダ420から要素番号「1」を選択し、その値を出力する。
In the clock cycle T1, since the output value of the
クロックサイクルT2において、要素番号REG510は選択回路551が出力した先頭要素番号「1」を取り込む。
In the clock cycle T2, the element number REG510 takes in the head element number “1” output from the
クロックサイクルT1において、比較回路540の出力値が1であるため、選択回路552はデータバッファ410が出力するデータ「DATA1」を選択し、その値を出力する。
In the clock cycle T1, since the output value of the
クロックサイクルT2において、データREG520は選択回路552が出力したデータ「DATA1」を取り込む。
In the
クロックサイクルT2において、比較回路540は、生成要素番号REG500が出力値と要素番号REG510の出力値を比較し、一致するため、判定結果として1を出力する。
In the clock cycle T2, the
クロックサイクルT3において、要素番号出力REG600は、生成要素番号REG500が出力する要素番号「1」を取り込む。 In the clock cycle T3, the element number output REG600 takes in the element number “1” output from the generated element number REG500.
クロックサイクルT3において、データ出力REG610は、データREG520が出力するデータ「DATA1」を取り込む。 In the clock cycle T3, the data output REG610 takes in the data “DATA1” output from the data REG520.
クロックサイクルT2において、比較回路540の出力値が1であるため、制御情報バッファ400は、バッファに格納されている制御情報「1101[9][7]」を出力する。
In the clock cycle T2, since the output value of the
クロックサイクルT2において、比較回路540の出力値が1であるため、データバッファ410は、バッファに格納されているデータ「DATA2」を出力する。
In the clock cycle T2, since the output value of the
クロックサイクルT2において、制御情報デコーダ420は制御情報バッファ400から制御情報「1101[9][7]」を受け取ると、制御情報から先頭要素番号「7」と要素番号「9」を取り出す。取り出した先頭要素番号「7」は選択回路550に出力され、取り出した要素番号「9」は選択回路551に出力される。
When receiving the control information “1101 [9] [7]” from the
クロックサイクルT2において、比較回路540の出力値が1であるため、選択回路550は制御情報デコーダ420から先頭要素番号「7」を選択し、その値を出力する。
In the clock cycle T2, since the output value of the
クロックサイクルT3において、生成要素番号REG500は選択回路550が出力した先頭要素番号「7」を取り込む。
In the
クロックサイクルT2において、比較回路540の出力値が1であるため、選択回路551は制御情報デコーダ420から要素番号「9」を選択し、その値を出力する。
In the clock cycle T2, since the output value of the
クロックサイクルT3において、要素番号REG510は選択回路551が出力した先頭要素番号「9」を取り込む。
In the clock cycle T3, the element number REG510 takes in the head element number “9” output from the
クロックサイクルT2において、比較回路540の出力値が1であるため、選択回路552はデータバッファ410が出力するデータ「DATA2」を選択し、その値を出力する。
In the clock cycle T2, since the output value of the
クロックサイクルT3において、データREG520は選択回路552が出力したデータ「DATA2」を取り込む。
In the clock cycle T3, the data REG520 takes in the data “DATA2” output from the
クロックサイクルT3において、加算器530は、「生成要素番号REG500の出力値+1(7+1)」を計算し、その計算結果である8を出力する。
In clock cycle T3,
クロックサイクルT3において、比較回路540は、生成要素番号REG500の出力値と要素番号REG510の出力値を比較し、一致しないため、判定結果として0を出力する。
In the clock cycle T3, the
クロックサイクルT4において、要素番号出力REG600は、生成要素番号REG500が出力する要素番号「7」を取り込む。 In clock cycle T4, the element number output REG600 takes in the element number “7” output from the generated element number REG500.
クロックサイクルT4において、データ出力REG610は、データREG520が出力するデータ「DATA2」を取り込む。 In the clock cycle T4, the data output REG610 takes in the data “DATA2” output from the data REG520.
クロックサイクルT3において、比較回路540の出力値が0であるため、選択回路550は加算器530が出力する値「8」を選択し、その値を出力する。
Since the output value of the
クロックサイクルT4において、生成要素番号REG500は選択回路550が出力した値「8」を取り込む。
In the clock cycle T4, the generation element number REG500 takes in the value “8” output from the
クロックサイクルT3において、比較回路540の出力値が0であるため、選択回路551は要素番号REG510から要素番号「9」を選択し、その値を出力する。
Since the output value of the
クロックサイクルT4において、要素番号REG510は選択回路551が出力した先頭要素番号「9」を取り込む。
In the clock cycle T4, the element number REG510 takes in the head element number “9” output from the
クロックサイクルT3において、比較回路540の出力値が0であるため、選択回路552はデータREG520が出力するデータ「DATA2」を選択し、その値を出力する。
In the clock cycle T3, since the output value of the
クロックサイクルT4において、データREG520は選択回路552が出力したデータ「DATA2」を取り込む。
In the clock cycle T4, the data REG520 takes in the data “DATA2” output from the
クロックサイクルT4において、加算器530は、「生成要素番号REG500の出力値+1(8+1)」を計算し、その計算結果である9を出力する。
In clock cycle T4,
クロックサイクルT4において、比較回路540は、生成要素番号REG500の出力値と要素番号REG510の出力値を比較し、一致しないため、判定結果として0を出力する。
In the clock cycle T4, the
クロックサイクルT5において、要素番号出力REG600は、生成要素番号REG500が出力する要素番号「8」を取り込む。 In clock cycle T5, the element number output REG600 takes in the element number “8” output from the generated element number REG500.
クロックサイクルT5において、データ出力REG610は、データREG520が出力するデータ「DATA2」を取り込む。 In the clock cycle T5, the data output REG610 takes in the data “DATA2” output from the data REG520.
クロックサイクルT4において、比較回路540の出力値が0であるため、選択回路550は加算器530が出力する値「9」を選択し、その値を出力する。
In the clock cycle T4, since the output value of the
クロックサイクルT5において、生成要素番号REG500は選択回路550が出力した値「9」を取り込む。
In the clock cycle T5, the generation element number REG500 takes in the value “9” output from the
クロックサイクルT4において、比較回路540の出力値が0であるため、選択回路551は要素番号REG510から要素番号「9」を選択し、その値を出力する。
In the clock cycle T4, since the output value of the
クロックサイクルT5において、要素番号REG510は選択回路551が出力した先頭要素番号「9」を取り込む。
In the clock cycle T5, the element number REG510 takes in the head element number “9” output from the
クロックサイクルT4において、比較回路540の出力値が0であるため、選択回路552はデータREG520が出力するデータ「DATA2」を選択し、その値を出力する。
In the clock cycle T4, since the output value of the
クロックサイクルT5において、データREG520は選択回路552が出力したデータ「DATA2」を取り込む。
In the clock cycle T5, the data REG520 takes in the data “DATA2” output from the
クロックサイクルT5において、比較回路540は、生成要素番号REG500の出力値と要素番号REG510の出力値を比較し、一致するため、判定結果として1を出力する。
In the clock cycle T5, the
クロックサイクルT6において、要素番号出力REG600は、生成要素番号REG500が出力する要素番号「9」を取り込む。 In clock cycle T6, the element number output REG600 takes in the element number “9” output from the generated element number REG500.
クロックサイクルT6において、データ出力REG610は、データREG520が出力するデータ「DATA2」を取り込む。 In the clock cycle T6, the data output REG610 takes in the data “DATA2” output from the data REG520.
以降、同様の処理を繰り返すことにより、リストベクトル処理装置(展開処理)2000はリストベクトル処理装置(圧縮処理)1000で削減したリクエストを復元することができる。 Thereafter, by repeating the same processing, the list vector processing device (decompression processing) 2000 can restore the requests reduced by the list vector processing device (compression processing) 1000.
要素番号出力REG600で取り込まれた要素番号とデータ出力REG610に取り込まれたデータは、この後調停回路2005に出力される。調停回路2005は、取り込んだデータに対して競合調停を行い、その後ベクトル処理装置3001〜3004に出力する。
The element number fetched by the element
420…制御情報デコーダ
530…加算器
540…比較回路
550〜552…選択回路
1000…リストベクトル処理装置(圧縮処理)
2000…リストベクトル処理装置(展開処理)
2001〜2004…ベクトル要素復元回路
420 ...
2000 ... List vector processing device (development processing)
2001-2004 ... Vector element restoration circuit
Claims (4)
前記第1ベクトルデータの中で要素番号の順序が最後のベクトル要素のアドレスと、前記第2ベクトルデータの中で要素番号の順序が最初のベクトル要素のアドレスとの照合を実行する照合部と、
前記照合の結果が一致したとき、前記第1ベクトルデータの中で前記最後のベクトル要素を含み、要素番号が前記最後のベクトル要素と連続し、且つ同じアドレスを示しているベクトル要素と、前記第2ベクトルデータの中で前記最初のベクトル要素を含み、要素番号が前記最初のベクトル要素と連続し、且つ同じアドレスを示しているベクトル要素とからなるアドレス共通ベクトル要素群を設定する同一アドレス連続領域結合部と、
ベクトル要素に示されたアドレスに従って前記メモリの情報を読み出す指令を入力したとき、前記アドレス共通ベクトル要素群に属するベクトル要素に対して、前記アドレス共通ベクトル要素群に属するいずれかの代表ベクトル要素に示されるアドレスに基づいて前記メモリにアクセスすることにより読み出された情報を返すリプライ部とを具備し、
前記代表ベクトル要素は、前記アドレス共通ベクトル要素群の中で要素番号が最後のベクトル要素である
リストベクトル処理装置。 First vector data including a plurality of vector elements indicating addresses on the memory is input in a first clock cycle, and second vector data including a plurality of vector elements indicating addresses on the memory is input to the first clock cycle. A vector data input section for input in a subsequent second clock cycle;
A matching unit that performs matching between the address of the last vector element in the order of element numbers in the first vector data and the address of the first vector element in the order of element numbers in the second vector data;
When the result of the collation matches, the first vector data includes the last vector element, the element number is continuous with the last vector element, and indicates the same address; The same address continuous area for setting an address common vector element group including the first vector element in two vector data, the element number being continuous with the first vector element, and the vector element indicating the same address A coupling part;
When a command for reading the memory information is input according to the address indicated in the vector element, the vector element belonging to the address common vector element group is indicated in any representative vector element belonging to the address common vector element group. A reply unit that returns information read by accessing the memory based on the address to be read ,
The list vector processing device, wherein the representative vector element is the last vector element in the common address vector element group.
前記同一アドレス連続領域結合部は、
前記第1ベクトルデータに含まれる複数のベクトル要素にそれぞれ対応し、最後フラグが設定される制御情報を生成し、前記第1ベクトルデータの中で同じアドレスを示し連続するベクトル要素からなる第1クロックサイクル内アドレス共通ベクトル要素群の中で要素番号が最後のベクトル要素に対応する前記制御情報に設定される前記最後フラグを立てる第1クロックサイクル内アドレス共通ベクトル認識部と、
前記第2ベクトルデータに含まれる複数のベクトル要素にそれぞれ対応する制御情報を生成し、前記第1ベクトルデータの中で要素番号が最後のベクトル要素の前記最後フラグが立っており且つ前記第2ベクトルデータの中で最初のベクトル要素に示されるアドレスが前記最後のベクトル要素に示されるアドレスと同じであるとき、前記最後フラグを倒し、前記第2ベクトルデータの中で同じアドレスを示し連続するベクトル要素からなる第2クロックサイクル内アドレス共通ベクトル要素群の中で要素番号が最後のベクトル要素に対応する前記制御情報に含まれる前記最後フラグを立てる制御情報修正部
とを備え、
前記アドレス共通ベクトル要素群に属するベクトル要素の領域の最後の要素番号は、前記最後フラグにより指定される
リストベクトル処理装置。 A list vector processing apparatus according to claim 1,
The same address continuous area combination part is:
A first clock composed of successive vector elements indicating the same address in the first vector data, each corresponding to a plurality of vector elements included in the first vector data, generating control information in which a last flag is set. An address common vector recognizing unit in the first clock cycle that sets the last flag set in the control information corresponding to the last vector element in the cycle common address vector element group;
Control information corresponding to each of a plurality of vector elements included in the second vector data is generated, the last flag of the last vector element having an element number in the first vector data is set, and the second vector When the address indicated by the first vector element in the data is the same as the address indicated by the last vector element, the last flag is defeated and the same vector address indicating the same address is indicated in the second vector data. A control information correction unit for setting the last flag included in the control information corresponding to the last vector element having an element number in the second clock cycle address common vector element group consisting of
And
A list vector processing apparatus in which a last element number of a vector element region belonging to the address common vector element group is designated by the last flag .
前記第1ベクトルデータの中で要素番号の順序が最後のベクトル要素のアドレスと、前記第2ベクトルデータの中で要素番号の順序が最初のベクトル要素のアドレスとの照合を実行する照合ステップと、 A collation step of performing collation between an address of a vector element whose element number is last in the first vector data and an address of a vector element whose element number is first in the second vector data;
前記照合の結果が一致したとき、前記第1ベクトルデータの中で前記最後のベクトル要素を含み、要素番号が前記最後のベクトル要素と連続し、且つ同じアドレスを示しているベクトル要素と、前記第2ベクトルデータの中で前記最初ベクトルを含み、要素番号が前記最初ベクトルと連続し、且つ同じアドレスを示しているベクトル要素とからなるアドレス共通ベクトル要素群を設定する同一アドレス連続領域結合ステップと、 When the result of the collation matches, the first vector data includes the last vector element, the element number is continuous with the last vector element, and indicates the same address; The same address continuous region combining step for setting an address common vector element group including the first vector in two vector data, the element number being continuous with the first vector, and the vector element indicating the same address;
ベクトル要素に示されたアドレスに従って前記メモリの情報を読み出す指令を入力したとき、前記アドレス共通ベクトル要素群に属するベクトル要素に対して、前記アドレス共通ベクトル要素群に属するいずれかの代表ベクトル要素に示されるアドレスに基づいて前記メモリにアクセスすることにより読み出された情報を返すリプライステップとを具備し、 When a command for reading the memory information is input according to the address indicated in the vector element, the vector element belonging to the address common vector element group is indicated in any representative vector element belonging to the address common vector element group. A reply step for returning information read by accessing the memory based on the address to be read,
前記代表ベクトル要素は、前記アドレス共通ベクトル要素群の中で要素番号が最後のアドレス要素である The representative vector element is an address element having the last element number in the address common vector element group.
リストベクトル処理方法。 List vector processing method.
前記同一アドレス連続領域結合ステップは、 The same address continuous region combining step includes:
前記第1ベクトルデータに含まれる複数のベクトル要素にそれぞれ対応し、最後フラグが設定される制御情報を生成し、前記第1ベクトルデータの中で同じアドレスを示し連続するベクトル要素からなる第1クロックサイクル内アドレス共通ベクトル要素群の中で要素番号が最後のベクトル要素に対応する前記制御情報に設定される前記最後フラグを立てる第1クロックサイクル内アドレス共通ベクトル認識ステップと、 A first clock composed of successive vector elements indicating the same address in the first vector data, each corresponding to a plurality of vector elements included in the first vector data, generating control information in which a last flag is set. A first clock cycle address common vector recognition step for setting the last flag set in the control information whose element number corresponds to the last vector element in the in-cycle address common vector element group;
前記第2ベクトルデータに含まれる複数のベクトル要素にそれぞれ対応する制御情報を生成し、前記第1ベクトルデータの中で要素番号が最後のベクトル要素の前記最後フラグが立っており且つ前記第2ベクトルデータの中で最初のベクトル要素に示されるアドレスが前記最後のベクトル要素に示されるアドレスと同じであるとき、前記最後フラグを倒し、前記第2ベクトルデータの中で同じアドレスを示し連続するベクトル要素からなる第2クロックサイクル内アドレス共通ベクトル要素群の中で要素番号が最後のベクトル要素に対応する前記制御情報に含まれる前記最後フラグを立てる制御情報修正ステップ とを備え、 Control information corresponding to each of a plurality of vector elements included in the second vector data is generated, the last flag of the last vector element having an element number in the first vector data is set, and the second vector When the address indicated by the first vector element in the data is the same as the address indicated by the last vector element, the last flag is defeated and the same vector address indicating the same address is indicated in the second vector data. A control information correction step for setting the last flag included in the control information whose element number corresponds to the last vector element in the address common vector element group in the second clock cycle consisting of:
前記アドレス共通ベクトル要素群に属するベクトル要素の領域の最後の要素番号は、前記最後フラグにより指定される The last element number of the vector element region belonging to the common address vector element group is specified by the last flag.
リストベクトル処理方法。 List vector processing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007000256A JP4784514B2 (en) | 2007-01-04 | 2007-01-04 | List vector processing apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007000256A JP4784514B2 (en) | 2007-01-04 | 2007-01-04 | List vector processing apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008165685A JP2008165685A (en) | 2008-07-17 |
JP4784514B2 true JP4784514B2 (en) | 2011-10-05 |
Family
ID=39695053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007000256A Expired - Fee Related JP4784514B2 (en) | 2007-01-04 | 2007-01-04 | List vector processing apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4784514B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0520350A (en) * | 1991-07-10 | 1993-01-29 | Koufu Nippon Denki Kk | Vector processing device |
JP2908331B2 (en) * | 1996-07-29 | 1999-06-21 | 甲府日本電気株式会社 | List vector processing system |
JPH10334081A (en) * | 1997-05-29 | 1998-12-18 | Kofu Nippon Denki Kk | List vector processor |
JP2000172675A (en) * | 1998-12-04 | 2000-06-23 | Nec Kofu Ltd | List vector processor |
-
2007
- 2007-01-04 JP JP2007000256A patent/JP4784514B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008165685A (en) | 2008-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4527640B2 (en) | Data reading device | |
KR100706246B1 (en) | Memory card capable of improving read performance | |
US11093168B2 (en) | Processing of neural networks on electronic devices | |
WO2023093260A1 (en) | Instruction processing apparatus and method, and computer device and storage medium | |
CN115357216A (en) | Data processing method, medium, electronic device, and program product | |
US9529654B2 (en) | Recoverable and fault-tolerant CPU core and control method thereof | |
JP5979966B2 (en) | Circuit design support apparatus, circuit design support method, and program | |
US6678638B2 (en) | Processor having execution result prediction function for instruction | |
JP4784514B2 (en) | List vector processing apparatus and method | |
US10997497B2 (en) | Calculation device for and calculation method of performing convolution | |
US12106029B2 (en) | High-level synthesis device and high-level synthesis method | |
US11222068B2 (en) | Information processing device, information processing method, and data structure | |
US8700887B2 (en) | Register, processor, and method of controlling a processor using data type information | |
JPH0683019B2 (en) | Digital signal processor | |
US6985624B2 (en) | Image processing apparatus and its method | |
US20120011343A1 (en) | Data processing apparatus and method | |
CN116860661A (en) | Data buffer based on data flow, data processing method and artificial intelligent chip | |
JP2565590B2 (en) | Data processing device | |
JPH04104345A (en) | Write control system for partial rewrite data of main storage device with ecc mechanism | |
JP2003196087A (en) | Memory addressing system of microcontroller and page mapping device | |
JP2000285019A (en) | Cache control circuit | |
JP2007115015A (en) | Memory system and retrieval method | |
JP2861435B2 (en) | Pipeline type arithmetic unit | |
JPH05181642A (en) | Arithmetic unit | |
JP2020004064A (en) | Memory controller, control method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110307 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110420 |
|
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: 20110614 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110627 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4784514 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140722 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |