JP2009058690A - Storage location extracting apparatus and storage location extracting method - Google Patents

Storage location extracting apparatus and storage location extracting method Download PDF

Info

Publication number
JP2009058690A
JP2009058690A JP2007224881A JP2007224881A JP2009058690A JP 2009058690 A JP2009058690 A JP 2009058690A JP 2007224881 A JP2007224881 A JP 2007224881A JP 2007224881 A JP2007224881 A JP 2007224881A JP 2009058690 A JP2009058690 A JP 2009058690A
Authority
JP
Japan
Prior art keywords
calculation result
byte
predetermined condition
calculation
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007224881A
Other languages
Japanese (ja)
Other versions
JP5029228B2 (en
Inventor
Takeshi Shimoyama
武司 下山
Akihiro Mihata
昭博 御幡
Kazunari Shioda
一成 汐田
Junichi Kugimiya
淳一 釘宮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007224881A priority Critical patent/JP5029228B2/en
Publication of JP2009058690A publication Critical patent/JP2009058690A/en
Application granted granted Critical
Publication of JP5029228B2 publication Critical patent/JP5029228B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To parallelize processes necessary for common portion extraction, and to speed up processing so as to enhance efficiency in entire processing. <P>SOLUTION: A common address extracting apparatus 10 performs a log addition processing of first round sieve processing to each byte and, for the value of each byte after the first round of log addition processing is completed, turns ON the parity bit attached to the address of the byte satisfying the condition. Then, the common address extracting apparatus 10 performs a log addition processing of second round sieve processing to each byte maintaining the state of holding the value of the parity bit. For each value held by the byte after the second round of sieve processing is completed, the common address extracting apparatus 10 turns OFF the parity bit attached to the address of the byte not satisfying the condition. After that, the common address extracting apparatus 10 extracts the address of the byte whose value of corresponding parity bit is 1 as the common portion of the memory address satisfying the condition. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

この発明は、複数の演算結果記憶領域にそれぞれ記憶された各演算結果のうち所定の条件を満足する演算結果の記憶位置を抽出する記憶位置抽出装置および記憶位置抽出方法に関する。   The present invention relates to a storage position extraction apparatus and a storage position extraction method for extracting a storage position of a calculation result that satisfies a predetermined condition from among calculation results stored in a plurality of calculation result storage areas.

近年、インターネット等の広がりにより、決済や個人認証を、ネットワークを通じて電子的に行う必要性が増しているが、その情報セキュリティを保持するための基盤技術の一つとしてRSA暗号が用いられている。このRSA暗号の安全性は素因数分解問題の困難性に基づいており、この暗号を安全に利用するためには、RSA暗号の安全性評価を精密に行い、その実装パラメータが適切に設定されているかを評価することが重要となっている。   In recent years, due to the spread of the Internet and the like, there is an increasing need to perform settlement and personal authentication electronically through a network, but RSA cryptography is used as one of the basic technologies for maintaining the information security. The security of this RSA cipher is based on the difficulty of the prime factorization problem. In order to use this cipher safely, the security evaluation of the RSA cipher is performed precisely and the implementation parameters are set appropriately. It is important to evaluate

このような評価のためには、現在知られている最も効率的な素因数分解アルゴリズムがどのくらいの計算量で実施できるのかを図る必要があり、素因数分解アルゴリズムをソフトウェアの面だけでなく、専用ハードウェアによる評価が欠かせない。   For such an evaluation, it is necessary to determine how much the most efficient prime factorization algorithm known at present can be implemented, and the prime factorization algorithm is not limited to software aspects, but also to dedicated hardware. Evaluation by is indispensable.

例えば、RSA暗号の安全性を評価するうえで重要となる素因数分解アルゴリズムの中で、現時点で最も効率的な手法として知られている方法は一般数体篩法である。具体的に、一般数体篩法は、多項式選択ステップ、関係式探索ステップ、行列計算ステップおよび平方根計算ステップの四つのステップから構成される(非特許文献1参照)。   For example, among prime factorization algorithms that are important in evaluating the security of RSA cryptography, the most known method at present is the general number field sieving method. Specifically, the general number field sieving method includes four steps: a polynomial selection step, a relational expression search step, a matrix calculation step, and a square root calculation step (see Non-Patent Document 1).

この一般数体篩法に必要な計算量として、上記のステップの中で最も本質的な部分は関係式探索ステップである。この関係式探索ステップは、さらに篩処理部と関係式検査部の2種類の処理から構成されているが、中でも篩処理が計算量の上で本質的であることが知られている。   As a calculation amount necessary for the general number field sieving method, the most essential part of the above steps is a relational expression search step. This relational expression search step is further composed of two types of processes, ie, a sieving process part and a relational expression checking part, and it is known that sieving process is essential in terms of calculation amount.

この篩処理とは、メモリを初期化する操作ならびにログ加算と閾値判定を合わせた処理のことをいう。このログ加算処理では、各々1バイト(8ビット)のデータ容量を持つメモリ空間を準備し、用意された多数の素数各々について、一定の条件を満たすアドレスのデータに対して、素数の対数値を加算する処理を行う。また、閾値判定処理では、全ての素数に対しログ加算処理が行われたあと、あらかじめ決められた閾値以上となるメモリデータのアドレスを抽出する処理が行われる(特許文献1参照)。そして、この篩処理を複数回を実施する度毎に各々抽出されたメモリアドレスの共通部分を求める処理も重要であり、併せて効率的に実施される必要がある。   The sieving process is an operation for initializing a memory and a process that combines log addition and threshold determination. In this log addition process, a memory space having a data capacity of 1 byte (8 bits) is prepared, and the logarithmic value of the prime number is set for each of the prepared prime numbers for the address data satisfying a certain condition. Perform the addition process. In the threshold determination process, after the log addition process is performed on all prime numbers, a process of extracting an address of memory data that is equal to or greater than a predetermined threshold is performed (see Patent Document 1). And the process which calculates | requires the common part of the memory address each extracted, whenever this sieving process is implemented in multiple times is also important, and needs to be implemented efficiently.

従来より、メモリアドレスの共通部分を求める手法としては、この共通部分を求める際に、複数の篩処理それぞれについて抽出されたアドレスを一旦外部記憶装置に蓄え、それらのデータを突き合わせることで、共通部分を求める方法が知られている。   Conventionally, as a method for obtaining the common part of the memory address, when obtaining this common part, the addresses extracted for each of the plurality of sieving processes are temporarily stored in an external storage device, and these data are matched to each other. A method for obtaining a part is known.

具体的に説明すると、図9に示すように、一回目の篩処理が終了した後の各バイトの値に対して、閾値「6」以上であるかを判定し、閾値「6」以上の値を保持するバイトのアドレス「1」、「5」を装置外部のバッファに転送し、バッファに保持される。続いて、二回目の篩処理が終了した後に同様の処理を行って、閾値「6」以上の値を保持するバイトのアドレス「3」、「5」を転送し、同じくバッファに保持される。そして、各々のバッファに保持された結果から、共通部分「5」を抽出する。ここで、ハードウェアからバッファへデータ転送する処理およびバッファに保持された共通部分を抽出する処理は逐次処理となる。   More specifically, as shown in FIG. 9, it is determined whether the value of each byte after the first sieving process is over the threshold “6”, and the value over the threshold “6”. Are transferred to a buffer outside the apparatus and held in the buffer. Subsequently, after the second sieving process is completed, the same process is performed to transfer the addresses “3” and “5” of the bytes holding the value of the threshold value “6” or more, which are also held in the buffer. Then, the common part “5” is extracted from the results held in the respective buffers. Here, the process of transferring data from the hardware to the buffer and the process of extracting the common part held in the buffer are sequential processes.

特開2007−188263号公報JP 2007-188263 A 伊豆哲也、木田祐司「素因数分解の現状について」日本応用数理学会論文誌、Vol.13, No.2(20030625) pp. 289-303, 2003.Tetsuya Izu, Yuji Kida “Current Status of Factoring”, Journal of the Japan Society for Applied Mathematics, Vol.13, No.2 (20030625) pp. 289-303, 2003.

ところで、上記したバッファへのデータ転送を行ってメモリアドレスの共通部分を抽出する技術では、共通部分を抽出する際に、通常外部記憶装置への出力バスは単一であるため、篩処理結果を抽出する際、ならびに共通部分を抽出する際において、いずれも並列化が困難であるため、逐次処理によるデータ転送時間の増加や、処理時間の増加等の問題が発生し、処理全体の効率が低下するという課題があった。   By the way, in the technique for extracting the common part of the memory address by performing the data transfer to the buffer as described above, when extracting the common part, since the output bus to the external storage device is usually single, Both extraction and common part extraction are difficult to parallelize, causing problems such as increased data transfer time due to sequential processing and increased processing time, reducing overall processing efficiency. There was a problem to do.

そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、共通部分抽出に必要となる処理の並列化を可能とし、処理全体の効率化を図って処理時間を高速化することを目的とする。   Accordingly, the present invention has been made to solve the above-described problems of the prior art, and enables parallelization of processes required for common part extraction, thereby increasing the efficiency of the entire process and increasing the processing time. It aims to become.

上述した課題を解決し、目的を達成するため、本発明は、複数の演算結果記憶領域にそれぞれ記憶された各演算結果のうち所定の条件を満足する演算結果の記憶位置を抽出する記憶位置抽出装置であって、前記所定の条件を満足する演算結果であることを示す第一の情報を演算結果記憶領域に対応付けて記憶する記憶手段と、各演算結果が更新されるごとに前記所定の条件を満足しなくなった演算結果に対応する第一の情報を、当該所定の条件を満足しないことを示す第二の情報に変更する変更手段と、前記変更手段により変更された変更結果に基づいて前記所定の条件を満足する演算結果の記憶位置を抽出する抽出手段と、を備えたことを特徴とする。   In order to solve the above-described problems and achieve the object, the present invention is a storage position extraction that extracts a storage position of a calculation result that satisfies a predetermined condition from each calculation result stored in each of a plurality of calculation result storage areas. A storage unit that stores first information indicating that the calculation result satisfies the predetermined condition in association with the calculation result storage area, and the predetermined information every time each calculation result is updated. Based on the change result changed by the change means, the change means for changing the first information corresponding to the calculation result that no longer satisfies the condition to the second information indicating that the predetermined condition is not satisfied Extraction means for extracting a storage position of a calculation result satisfying the predetermined condition.

また、本発明は、上記の発明において、初回の演算における演算結果のうち、前記所定の条件に満足する演算結果の演算結果記憶領域に対応付けて前記第一の情報を設定する設定手段をさらに備え、前記変更手段は、初回以後の演算において、前記所定の条件を満足しなくなった演算結果に対応する第一の情報を、当該所定の条件を満足しないことを示す第二の情報に変更することを特徴とする。   In the above invention, the present invention may further include setting means for setting the first information in association with the calculation result storage area of the calculation result satisfying the predetermined condition among the calculation results in the first calculation. The changing means changes the first information corresponding to the calculation result that does not satisfy the predetermined condition in the calculation after the first time to the second information indicating that the predetermined condition is not satisfied. It is characterized by that.

また、本発明は、上記の発明において、演算開始時点において、全ての演算結果記憶領域に対応付けて前記第一の情報を設定する設定手段をさらに備え、前記変更手段は、前記所定の条件を満足しなくなった演算結果に対応する第一の情報を、当該所定の条件を満足しないことを示す第二の情報に変更することを特徴とする。   In the above invention, the present invention further includes a setting unit that sets the first information in association with all the calculation result storage areas at the calculation start time, and the changing unit sets the predetermined condition as follows. The first information corresponding to the calculation result that is no longer satisfied is changed to second information indicating that the predetermined condition is not satisfied.

また、本発明は、複数の演算結果記憶領域にそれぞれ記憶された各演算結果のうち所定の条件を満足する演算結果の記憶位置を抽出する記憶位置抽出方法であって、前記所定の条件を満足する演算結果であることを示す第一の情報を演算結果記憶領域に対応付けて記憶する記憶工程と、各演算結果が更新されるごとに前記所定の条件を満足しなくなった演算結果に対応する第一の情報を、当該所定の条件を満足しないことを示す第二の情報に変更する変更工程と、前記変更工程により変更された変更結果に基づいて前記所定の条件を満足する演算結果の記憶位置を抽出する抽出工程と、を含んだことを特徴とする。   In addition, the present invention is a storage position extraction method for extracting a storage position of a calculation result that satisfies a predetermined condition among the calculation results respectively stored in a plurality of calculation result storage areas, wherein the predetermined condition is satisfied A storage step of storing first information indicating that the calculation result is associated with the calculation result storage area, and a calculation result that does not satisfy the predetermined condition each time the calculation result is updated A change step for changing the first information to second information indicating that the predetermined condition is not satisfied, and a calculation result satisfying the predetermined condition based on the change result changed by the change step And an extraction step for extracting the position.

本発明によれば、演算装置内部にパリティビットをアドレス毎に準備し、本パリティビットを用いて抽出アドレス情報を処理することにより、共通部分抽出に必要となる処理の並列化を可能とし、処理全体の効率化を図って処理時間を高速化することが可能である。   According to the present invention, a parity bit is prepared for each address in the arithmetic unit, and the extracted address information is processed using the parity bit, thereby enabling parallel processing necessary for common part extraction. It is possible to increase the overall efficiency and increase the processing time.

以下に添付図面を参照して、この発明に係る記憶位置抽出装置および記憶位置抽出方法の実施例を詳細に説明する。   Embodiments of a storage location extraction apparatus and a storage location extraction method according to the present invention will be described below in detail with reference to the accompanying drawings.

以下の実施例では、実施例1に係る共通アドレス抽出装置の概要および特徴、共通アドレス抽出装置の構成および処理の流れを順に説明し、最後に実施例1による効果を説明する。   In the following embodiments, the outline and features of the common address extraction device according to the first embodiment, the configuration of the common address extraction device, and the flow of processing will be described in order, and finally the effects of the first embodiment will be described.

[実施例1に係る共通アドレス抽出装置の概要および特徴]
まず最初に、図1を用いて、実施例1に係る共通アドレス抽出装置の概要および特徴を説明する。図1は、実施例1に係る共通アドレス抽出装置の概要および特徴を説明するための図である。
[Outline and Features of Common Address Extraction Device According to Embodiment 1]
First, the outline and characteristics of the common address extracting apparatus according to the first embodiment will be described with reference to FIG. FIG. 1 is a diagram for explaining the outline and features of the common address extracting apparatus according to the first embodiment.

実施例1の共通アドレス抽出装置10では、複数の演算結果記憶領域にそれぞれ記憶された各演算結果のうち所定の条件を満足する演算結果のメモリアドレスを抽出することを概要とする。そして、この共通アドレス抽出装置10では、処理全体の効率化を図って処理を高速化する点に主たる特徴がある。   The common address extracting apparatus 10 according to the first embodiment outlines extracting a memory address of an operation result satisfying a predetermined condition from each operation result stored in each of a plurality of operation result storage areas. The common address extracting apparatus 10 is mainly characterized in that the processing is speeded up by improving the efficiency of the entire processing.

この主たる特徴について具体的に説明すると、共通アドレス抽出装置10は、アドレスごとのログ加算処理結果を記憶する1バイトの記憶領域と、ログ加算処理結果が選択条件に適合するか否かを示すフラグをアドレスごとに記憶する1ビットの記憶領域(パリティビット)とを対応付けて記憶するメモリを有する。   The main feature will be described in detail. The common address extraction device 10 includes a 1-byte storage area for storing the log addition processing result for each address, and a flag indicating whether the log addition processing result meets the selection condition. Is stored in association with a 1-bit storage area (parity bit) for storing each address.

このような構成のもと、共通アドレス抽出装置10は、各バイトに対して篩処理一回目のログ加算処理を実施する(図1の(1)参照)。そして、共通アドレス抽出装置10は、一回目のログ加算処理が終了した後の各バイトの値に対して、条件を満足するバイトのアドレスに付属するパリティビットをオンとする(図1の(2)参照)。具体的には、共通アドレス抽出装置10は、一回目のログ加算処理が終了した後にバイトが保持する値それぞれに対して、閾値以上であるか判定し、その結果、閾値以上の値を保持するバイトのアドレスのパリティビットを「1」とする。   Under such a configuration, the common address extraction apparatus 10 performs the first log addition process for the sieving process on each byte (see (1) in FIG. 1). Then, the common address extracting apparatus 10 turns on the parity bit attached to the address of the byte that satisfies the condition for the value of each byte after the first log addition processing is completed ((2 in FIG. 1). )reference). Specifically, the common address extraction apparatus 10 determines whether or not each value held by the byte after the first log addition processing is completed is equal to or greater than a threshold value, and as a result, retains a value equal to or greater than the threshold value. The parity bit of the byte address is set to “1”.

続いて、共通アドレス抽出装置10は、パリティビットの値を保持した状態のまま、各バイトに対して篩処理二回目のログ加算処理を実施する(図1の(3)参照)。そして、共通アドレス抽出装置10は、二回目の篩処理が終了した後のバイトが保持する値それぞれに対して、条件を満足しないバイトのアドレスに付属するパリティビットをオフとする(図1の(4)参照)。具体的には、共通アドレス抽出装置10は、二回目の篩処理が終了した後にバイトが保持する値それぞれに対して、閾値未満の値であるかを判定し、その結果、閾値未満の値を保持するバイトのアドレスのパリティビットを0とする。   Subsequently, the common address extraction apparatus 10 performs the second log addition process for the sieving process on each byte while maintaining the parity bit value (see (3) in FIG. 1). Then, the common address extracting apparatus 10 turns off the parity bit attached to the address of the byte that does not satisfy the condition for each value held by the byte after the second sieving process is completed ((( 4)). Specifically, the common address extraction apparatus 10 determines whether each value held by the byte after the second sieving process is completed is a value less than a threshold value, and as a result, determines a value less than the threshold value. The parity bit of the byte address to be held is set to 0.

その後、共通アドレス抽出装置10は、対応するパリティビットの値が1であるバイトのアドレスを、条件を満足するメモリアドレスの共通部分として、抽出して格納する(図1の(5)参照)。なお、上記では、篩処理を二回実行して共通部分を抽出する場合を説明するが、篩処理を二回以上実行して共通部分を抽出するようにしてもよい。   Thereafter, the common address extracting device 10 extracts and stores the address of the byte whose corresponding parity bit value is 1 as a common part of the memory address satisfying the condition (see (5) in FIG. 1). In addition, although the case where a sieving process is performed twice and a common part is extracted is described above, the sieving process may be performed twice or more to extract a common part.

このように、共通アドレス抽出装置10は、共通部分抽出に必要となる処理の並列化を可能とする結果、上記した主たる特徴のごとく、処理全体の効率化を図って処理を高速化することが可能である。   As described above, the common address extracting apparatus 10 can increase the efficiency of the entire processing and speed up the processing as described above, as a result of enabling parallel processing of the processing required for the common part extraction. Is possible.

[共通アドレス抽出装置10の構成]
次に、図2を用いて、図1に示した共通アドレス抽出装置10の構成を説明する。図2は、実施例1に係る共通アドレス抽出装置10の構成を示すブロック図である。なお、以下では、FPGAに共通アドレス抽出装置を適用した場合として説明する。
[Configuration of Common Address Extractor 10]
Next, the configuration of the common address extracting apparatus 10 shown in FIG. 1 will be described with reference to FIG. FIG. 2 is a block diagram illustrating the configuration of the common address extracting apparatus 10 according to the first embodiment. In the following description, a common address extraction device is applied to the FPGA.

同図に示すように、この共通アドレス抽出装置10は、演算部11a〜11n、メモリ12a〜12n、制御部13を備え、因子基底データベース20a、20bとそれぞれ接続される。演算部11a〜11nには、メモリ12a〜12nがそれぞれ割当てられている。以下にこれらの各部の処理を説明する。   As shown in the figure, the common address extracting apparatus 10 includes operation units 11a to 11n, memories 12a to 12n, and a control unit 13, and is connected to factor basis databases 20a and 20b, respectively. Memories 12a to 12n are allocated to the arithmetic units 11a to 11n, respectively. The processing of each of these units will be described below.

因子基底データベース20a、20bは、3つ組の自然数(p、s、log)である因子基底の集合を記憶する。この因子基底とは、pが素数であり、sが0以上p未満の自然数、logがpの対数値log2(p)の小数点以下を切り上げた自然数である。因子基底データベース20a、20bでは、それぞれ異なる因子基底の集合が記憶され、因子基底データベース20aに格納された因子基底(p、s、log)は、一回目の篩処理で用いられ、因子基底データベース20bに格納された因子基底(p、s、log)は、二回目の篩処理で用いられるものとする。なお、因子基底データベース20a、20bそれぞれは、因子基底の総数として、約5000万個程度を記憶する。   The factor basis databases 20a and 20b store a set of factor bases that are triple natural numbers (p, s, log). The factor basis is a natural number in which p is a prime number, s is a natural number of 0 or more and less than p, and a logarithm value log2 (p) of log p is rounded up. In the factor basis databases 20a and 20b, different sets of factor bases are stored, and the factor basis (p, s, log) stored in the factor basis database 20a is used in the first sieving process, and the factor basis database 20b The factor bases (p, s, log) stored in are used in the second sieving process. Each of the factor base databases 20a and 20b stores about 50 million as the total number of factor bases.

演算部11は、因子基底データベース20から因子基底を読み出して、因子基底を用いてログ加算処理を行う。図3の例を用いて具体的に説明すると、まず、演算部11aは、各バイトの値を0に初期化し、因子基底データベース20から(p、s、log)を読み出す。そして、演算部11aは、s<Sであるか否か判定し(つまり、sの値がメモリサイズをはみ出すか否かを判定し)、s<Sである場合には、メモリ空間におけるバイト位置sのメモリ値を読み出し、その値にlogの値を加算し、その値を同じバイト位置に書き戻す。   The calculation unit 11 reads the factor base from the factor base database 20 and performs log addition processing using the factor base. Specifically, using the example of FIG. 3, first, the calculation unit 11 a initializes the value of each byte to 0 and reads (p, s, log) from the factor base database 20. Then, the arithmetic unit 11a determines whether or not s <S (that is, determines whether or not the value of s protrudes from the memory size). If s <S, the byte position in the memory space is determined. Read the memory value of s, add the value of log to that value, and write the value back to the same byte position.

そして、演算部11aは、s+pを改めてsとし、メモリ12aのメモリサイズをはみ出すまで(つまり、s+pの値がS以上となるまで)、上記の処理を繰り返す。そして、演算部11aは、メモリサイズをはみ出した場合には、s−Sを改めてsとし、(p、s、log)を演算部11bに引き渡す。その後、全ての演算部11a〜11nが上記の処理を行うと、最後の演算部11nは、一回目の篩処理を終了した旨(または、一回目以降の篩処理が終了した旨)を後述する閾値判定部13aに通知する。   The calculation unit 11a then repeats the above process until s + p is changed to s, and the memory size of the memory 12a protrudes (that is, until the value of s + p becomes equal to or greater than S). Then, when the memory size exceeds the memory size, the calculation unit 11a sets s−S to s again and delivers (p, s, log) to the calculation unit 11b. After that, when all the arithmetic units 11a to 11n perform the above processing, the final arithmetic unit 11n will be described later that the first sieving process has been completed (or that the first and subsequent sieving processes have been completed). The threshold determination unit 13a is notified.

ここで、図4を用いてログ加算処理の計算例について説明する。図4の例では、因子基底データベース20に因子基底(p、s、log)として、(3,0,2)、(5,0,3)、(7,4,3),(11,4,4),(13,6,4),(17,3,5),(19,2,5)が記憶されている場合に、演算部11aは、その因子基底を順番に読み出して、ログ加算処理を行い、全ての因子基底を用いて行ったログ加算処理結果の合計をメモリ12に記憶させる。つまり、図4の例では、ログ加算処理結果の合計として、アドレス0〜6には、それぞれ「5」、「0」、「5」、「7」、「7」、「3」、「6」が記憶されている。その後、後述する制御部13が、ログ加算処理が終了した後にバイトが保持する値それぞれに対して、閾値「6」以上であるか判定し、その結果、閾値「6」以上の値を保持するバイトのアドレスであるアドレス「3」、「4」、「6」のパリティビットを1とする。   Here, a calculation example of the log addition processing will be described with reference to FIG. In the example of FIG. 4, (3, 0, 2), (5, 0, 3), (7, 4, 3), (11, 4) are stored as factor bases (p, s, log) in the factor base database 20. , 4), (13, 6, 4), (17, 3, 5), (19, 2, 5) are stored, the arithmetic unit 11a sequentially reads out the factor bases and logs Addition processing is performed, and the total of log addition processing results performed using all factor bases is stored in the memory 12. In other words, in the example of FIG. 4, as the total of the log addition processing results, “5”, “0”, “5”, “7”, “7”, “3”, “6” Is stored. Thereafter, the control unit 13 to be described later determines whether or not each value held by the byte after the log addition processing is finished is equal to or greater than the threshold “6”, and as a result, retains a value equal to or greater than the threshold “6”. The parity bits of addresses “3”, “4”, and “6”, which are byte addresses, are set to 1.

メモリ12a〜12nは、メモリ空間としてS=219バイトをトータルで有し、アドレスごとのログ加算処理結果を記憶するデータ容量として1バイトの記憶領域と、ログ加算処理結果が選択条件に適合するか否かを示すフラグをアドレスごとに記憶する1ビットのパリティビットを有する。 Memory 12a~12n has S = 2 19 bytes memory space in total, compatible 1 and byte storage area as a data capacity to store a log addition processing result for each address, the log addition process result selection conditions A 1-bit parity bit is stored for each address.

制御部13は、閾値判定部13aと共通アドレス抽出部13bとを備える。この閾値判定部13aは、一回目の篩処理が終了した後の各メモリ12a〜12nのバイトの値に対して、閾値以上であるかを判定し、閾値以上であるバイトのアドレスに付属するパリティビットをオンとする。また、一回目の篩処理以後では、篩処理が終了した後の各バイトの値に対して、閾値未満であるかを判定し、閾値未満であるバイトのアドレスに付属するパリティビットをオフとする。   The control unit 13 includes a threshold value determination unit 13a and a common address extraction unit 13b. The threshold value determination unit 13a determines whether or not the byte value of each of the memories 12a to 12n after the first sieving process is over the threshold value, and the parity attached to the byte address that is equal to or more than the threshold value. Turn on the bit. In addition, after the first sieving process, it is determined whether the value of each byte after the sieving process is less than the threshold value, and the parity bit attached to the address of the byte that is less than the threshold value is turned off. .

具体的には、閾値判定部13aは、演算部11nから一回目の篩処理が終了した旨の通知を受け付けると、篩処理が終了した後の各バイトの値に対して、閾値以上であるか判定し、その結果、閾値判定部13aは、閾値以上の値を保持するバイトのアドレスのパリティビットを1とする。また、共通アドレス抽出装置10は、演算部11nから一回目以降の篩処理が終了した旨の通知を受け付けると、篩処理が終了した後の各バイトの値それぞれに対して、閾値未満の値であるかを判定し、その結果、閾値未満の値を保持するバイトのアドレスのパリティビットを0とする。   Specifically, when the threshold determination unit 13a receives a notification that the first sieving process has been completed from the calculation unit 11n, is the threshold value greater than or equal to the threshold for each byte value after the sieving process is completed? As a result, the threshold value determination unit 13a sets the parity bit of the address of the byte holding a value equal to or greater than the threshold value to 1. In addition, when the common address extraction apparatus 10 receives a notification that the first and subsequent sieving processes have been completed from the arithmetic unit 11n, the common address extracting apparatus 10 sets a value less than the threshold for each byte value after the sieving process is completed. As a result, the parity bit of the address of the byte holding the value less than the threshold is set to 0.

図5の例を用いて説明すると、閾値判定部13aは、一回目の篩処理が終了した後の各バイトの値に対して、閾値(図5の例では、閾値「6」)以上であるかを判定し、閾値以上であるアドレス「1」および「5」に付属するパリティビットを「1」とする。その後、二回目の篩処理が終了した後の各バイトの値に対して、閾値未満の値であるかを判定し、その結果、パリティビットが「1」であって閾値未満であるアドレス「1」に付属するパリティビットを「0」とする。その結果、篩処理1回目および篩処理2回目両方の結果の共通部分をパリティビットが「1」であるアドレス「5」として後述する共通アドレス13bが抽出する。   If it demonstrates using the example of FIG. 5, the threshold value determination part 13a is more than a threshold value (threshold "6" in the example of FIG. 5) with respect to the value of each byte after the 1st sieve process is complete | finished. The parity bits attached to the addresses “1” and “5” that are equal to or greater than the threshold are set to “1”. Thereafter, it is determined whether the value of each byte after the second sieving process is less than a threshold value. As a result, an address “1” having a parity bit “1” and less than the threshold value is determined. The parity bit attached to “0” is set to “0”. As a result, a common address 13b, which will be described later, is extracted as an address “5” having a parity bit “1” as a common part of the results of both the first and second sieving processes.

共通アドレス抽出部13bは、対応するパリティビットの値が1であるバイトのアドレスを、閾値以上であるメモリアドレスの共通部分として、抽出する。例えば、前述した図5の例を用いて説明すると、共通アドレス抽出部13bは、同図に示すように、パリティビットが「1」であるアドレス「5」をメモリアドレスの共通部分として抽出する。   The common address extraction unit 13b extracts the address of the byte whose corresponding parity bit value is 1 as the common part of the memory address equal to or greater than the threshold value. For example, referring to the example of FIG. 5 described above, the common address extraction unit 13b extracts the address “5” having the parity bit “1” as a common part of the memory address as shown in FIG.

[共通アドレス抽出装置による処理]
次に、図6を用いて、実施例1に係る共通アドレス抽出装置10による全体の処理の流れを説明する。図6は、実施例1に係る共通アドレス抽出装置10の全体の処理動作を示すフローチャートである。
[Processing by common address extractor]
Next, the overall processing flow by the common address extracting apparatus 10 according to the first embodiment will be described with reference to FIG. FIG. 6 is a flowchart illustrating the overall processing operation of the common address extracting apparatus 10 according to the first embodiment.

同図に示すように、共通アドレス抽出装置10は、各バイトの値を0に初期化し(ステップS101)、一回目の篩処理(後に、図7を用いて詳述)を実行する(ステップS102)。そして、共通アドレス抽出装置10は、一回目の篩処理が終了した後の各バイトの値に対して、閾値以上であるかを判定し、閾値以上であるバイトのアドレスに付属するパリティビットをオンとする(ステップS103)。   As shown in the figure, the common address extracting device 10 initializes the value of each byte to 0 (step S101), and executes the first sieving process (detailed later using FIG. 7) (step S102). ). Then, the common address extraction device 10 determines whether or not each byte value after the first sieving process is equal to or greater than the threshold value, and turns on the parity bit attached to the byte address that is equal to or greater than the threshold value. (Step S103).

そして、共通アドレス抽出装置10は、各バイトの値を0に初期化し(ステップS104)、二回目の篩処理を実行する(ステップS105)。その後、共通アドレス抽出装置10は、二回目の篩処理が終了した後、篩処理が終了した後の各バイトの値に対して、閾値未満であるかを判定し、閾値未満であるバイトのアドレスに付属するパリティビットをオフとする(ステップS106)。   Then, the common address extraction apparatus 10 initializes the value of each byte to 0 (step S104), and executes the second sieving process (step S105). Thereafter, after the second sieving process is completed, the common address extraction apparatus 10 determines whether the value of each byte after the sieving process is completed is less than the threshold value, and the address of the byte that is less than the threshold value Is turned off (step S106).

そして、共通アドレス抽出装置10は、対応するパリティビットの値が1であるバイトのアドレスを、閾値以上であるメモリアドレスの共通部分として、抽出する(ステップS107)。   Then, the common address extraction device 10 extracts the address of the byte whose corresponding parity bit value is 1 as the common part of the memory address equal to or greater than the threshold (step S107).

続いて、図7を用いて、実施例1に係る共通アドレス抽出装置10による篩処理の流れを説明する。図7は、実施例1に係る共通アドレス抽出装置10の篩処理の動作を示すフローチャートである。   Subsequently, the flow of the sieving process performed by the common address extracting apparatus 10 according to the first embodiment will be described with reference to FIG. FIG. 7 is a flowchart illustrating the sieving operation of the common address extracting apparatus 10 according to the first embodiment.

同図に示すように、共通アドレス抽出装置10の演算部11aは、因子基底データベース20から因子基底(p、s、log)を読み出す(ステップS201)。そして、演算部11aは、s<Sであるか否か判定し(ステップS202)、s<Sである場合には(ステップS202肯定)、メモリ空間におけるバイト位置sのメモリ値を読み出し、その値にlogの値を加算し、その値を同じバイト位置に書き戻す(ステップS203)。   As shown in the figure, the calculation unit 11a of the common address extraction device 10 reads the factor base (p, s, log) from the factor base database 20 (step S201). Then, the calculation unit 11a determines whether or not s <S (step S202). If s <S (Yes in step S202), the memory unit reads the memory value at the byte position s in the memory space, and determines the value. The value of log is added to and the value is written back to the same byte position (step S203).

そして、演算部11aは、s+pを改めてsとし(ステップS204)、ステップS202に戻って、s<Sであるか否か(つまり、s+pの値がSを超えたか否か)判定し、s<Sでないと判定されるまで上記したステップS202〜S205の処理を繰り返す。一方、ステップS202において、演算部11aは、s<Sでないと判定した場合には(ステップS202否定)、s−Sを改めてsとし、(p、s、log)を演算部11bに引き渡す(ステップS205)。ここで、演算部11bに引き渡すと同時に、因子基底データベース20に格納されている次の因子基底(p、s、log)を読み出し、読み出した因子基底(p、s、log)を用いて、上記したステップS202〜S205と同様の処理を行う。   Then, the arithmetic unit 11a sets s + p to s (step S204), returns to step S202, determines whether s <S (that is, whether the value of s + p exceeds S), and s < The processes in steps S202 to S205 described above are repeated until it is determined not to be S. On the other hand, if it is determined in step S202 that s <S is not satisfied (No in step S202), s−S is changed to s, and (p, s, log) is transferred to the calculator 11b (step S202). S205). Here, the next factor base (p, s, log) stored in the factor base database 20 is read out simultaneously with the delivery to the calculation unit 11b, and the above-described factor base (p, s, log) is used to The same processing as in steps S202 to S205 is performed.

その後、演算部11bは、演算部11aから(p、s、log)を受信すると、上記したステップS202〜S205と同様の処理を行い、次の演算部11cに(p、s、log)を引き渡し(ステップS206〜S209)、演算部11nまで処理を繰り返す(ステップS210〜S212)。そして、演算部11nは、因子基底データベース20に格納されている全ての因子基底(p、s、log)を用いたログ加算処理を行った後、上記したステップS103に移行する。なお、図6に示した一回目の篩処理と二回目の篩処理とは同様の処理を行うが、一回目の篩処理では、因子基底データベース20aに格納された因子基底(p、s、log)を用いてログ加算処理を行い、二回目の篩処理では、因子基底データベース20bに格納された因子基底(p、s、log)を用いてログ加算処理を行う。   After that, when the calculation unit 11b receives (p, s, log) from the calculation unit 11a, the calculation unit 11b performs the same processing as steps S202 to S205 described above, and delivers (p, s, log) to the next calculation unit 11c. (Steps S206 to S209), the processing is repeated up to the calculation unit 11n (Steps S210 to S212). Then, the arithmetic unit 11n performs log addition processing using all factor bases (p, s, log) stored in the factor base database 20, and then proceeds to step S103 described above. The first sieving process and the second sieving process shown in FIG. 6 perform the same process, but in the first sieving process, the factor basis (p, s, log) stored in the factor basis database 20a is used. ), And in the second sieving process, the log addition process is performed using the factor base (p, s, log) stored in the factor base database 20b.

[実施例1の効果]
上述してきたように、共通アドレス抽出装置10は、演算装置内部にパリティビットをアドレス毎に準備し、本パリティビットを用いて抽出アドレス情報を処理することにより、共通部分抽出に必要となる処理の並列化を可能とし、処理全体の効率化を図って処理時間を高速化することが可能である。
[Effect of Example 1]
As described above, the common address extraction device 10 prepares a parity bit for each address in the arithmetic device, and processes the extracted address information using this parity bit, thereby performing processing necessary for common part extraction. Parallelization is possible, and the processing time can be increased by improving the efficiency of the entire processing.

また、実施例1によれば、ハードウェアロジックとして実現することにより、閾値判定、共通項抽出の処理が並列に実行可能であり、またさらに閾値判定と同時に共通項の抽出およびメモリの初期化が可能となり、これにより共通項抽出処理にかかる時間が大幅に圧縮され、素因数分解における篩処理全体の演算効率が著しく向上する。また、FPGA(例えば、Virtex4)に内蔵されているメモリロジックエレメントは、各1バイトエレメントに、1ビットのパリティを含んだ9bitを単位としており、本アルゴリズムをハードウェア実装する際には特に有効である。   Also, according to the first embodiment, by realizing as hardware logic, threshold value determination and common term extraction processing can be executed in parallel, and further, common term extraction and memory initialization can be performed simultaneously with threshold value determination. As a result, the time required for the common term extraction process is greatly reduced, and the calculation efficiency of the entire sieving process in the prime factorization is remarkably improved. In addition, the memory logic element built in the FPGA (for example, Virtex 4) has a unit of 9 bits including 1-bit parity in each 1-byte element, which is particularly effective when this algorithm is implemented in hardware. is there.

さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例2として本発明に含まれる他の実施例を説明する。   Although the embodiments of the present invention have been described so far, the present invention may be implemented in various different forms other than the embodiments described above. Therefore, another embodiment included in the present invention will be described below as a second embodiment.

(1)パリティビット
本発明は、処理開始時点において全てのパリティビットをオンにし、各演算後に条件に適合しないアドレスに付属するパリティビットをオフとするようにしてもよい。具体的には、図8に示すように、共通アドレス抽出装置10aは、演算開始時点では、各バイトに付属するパリティビットを全て1とすると共に、各バイトの値を0に初期化する(図8、(1)参照)。そして、共通アドレス抽出装置10aは、パリティビットの値を保持した状態のまま、各バイトに対して篩処理一回目を実施する(図8の(2)参照)。
(1) Parity bits In the present invention, all parity bits may be turned on at the start of processing, and parity bits attached to addresses that do not meet the conditions may be turned off after each calculation. Specifically, as shown in FIG. 8, the common address extraction device 10a initializes all the parity bits attached to each byte to 1 and initializes the value of each byte to 0 (see FIG. 8). 8, see (1)). Then, the common address extracting device 10a performs the first sieving process on each byte while keeping the value of the parity bit (see (2) in FIG. 8).

その後、共通アドレス抽出装置10aは、一回目の篩処理が終了した後の各バイトの値に対して、条件を満足するバイトのアドレス(閾値として定めた値である6以上の値を持つバイトのアドレス)については、パリティビットを「1」のまま変化させず、条件を満足しないバイトのアドレス(同じく6未満であるバイトのアドレス)に付属するパリティビットを「0」とし、同時に全てのバイトの値を0に初期化する(図8の(3)参照)。   Thereafter, the common address extraction device 10a determines the address of the byte that satisfies the condition (the value of the byte having a value of 6 or more that is a threshold value) for each byte value after the first sieving process is completed. For the address), the parity bit remains “1”, the parity bit attached to the address of the byte that does not satisfy the condition (the address of the byte that is also less than 6) is set to “0”, and all the bytes are simultaneously The value is initialized to 0 (see (3) in FIG. 8).

続いて、共通アドレス抽出装置10aは、パリティビットの値を保持した状態のまま、各バイトに対して篩処理二回目を実施する(図8の(4)参照)。そして、共通アドレス抽出装置10aは、二回目の篩処理が終了した後の各バイトの値に対して、条件を満足するバイトのアドレス(閾値として定めた値である6以上の値を持つバイトのアドレス)については、パリティビットを変化させず、条件を満足しないバイトのアドレス(同じく6未満であるバイトのアドレス)に付属するパリティビットを0とし、同時に全てのバイトの値を0に初期化する(図8の(5)参照)。その後、対応するパリティビットの値が1であるバイトのアドレスを抽出する。   Subsequently, the common address extraction device 10a performs the second sieving process on each byte while keeping the value of the parity bit (see (4) in FIG. 8). Then, the common address extracting device 10a, for each byte value after the second sieving process is completed, for the byte address satisfying the condition (a byte having a value of 6 or more which is a value determined as a threshold value). For (address), the parity bit attached to the address of the byte that does not satisfy the condition (the address of the byte that is also less than 6) is set to 0 without changing the parity bit, and all the byte values are initialized to 0 at the same time. (See (5) in FIG. 8). Thereafter, the address of the byte whose corresponding parity bit value is 1 is extracted.

このように、処理開始時点において全てのパリティビットをオンにし、各演算後は、閾値未満の値を保持するバイトのアドレスに付属するパリティビットをオフにするので、回路の構造を単純化することが可能である。   In this way, all parity bits are turned on at the start of processing, and after each operation, the parity bit attached to the address of the byte holding the value less than the threshold value is turned off, thus simplifying the circuit structure. Is possible.

(2)システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、演算部11と制御部13を統合してもよい。
(2) System Configuration The components of the illustrated devices are functionally conceptual and need not be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. For example, the calculation unit 11 and the control unit 13 may be integrated.

また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。   In addition, among the processes described in this embodiment, all or part of the processes described as being performed automatically can be performed manually, or the processes described as being performed manually can be performed. All or a part can be automatically performed by a known method. In addition, the processing procedure, control procedure, specific name, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified.

(付記1)複数の演算結果記憶領域にそれぞれ記憶された各演算結果のうち所定の条件を満足する演算結果の記憶位置を抽出する記憶位置抽出装置であって、
前記所定の条件を満足する演算結果であることを示す第一の情報を演算結果記憶領域に対応付けて記憶する記憶手段と、
各演算結果が更新されるごとに前記所定の条件を満足しなくなった演算結果に対応する第一の情報を、当該所定の条件を満足しないことを示す第二の情報に変更する変更手段と、
前記変更手段により変更された変更結果に基づいて前記所定の条件を満足する演算結果の記憶位置を抽出する抽出手段と、
を備えたことを特徴とする記憶位置抽出装置。
(Supplementary Note 1) A storage position extraction device that extracts a storage position of a calculation result that satisfies a predetermined condition among calculation results stored in a plurality of calculation result storage areas,
Storage means for storing the first information indicating that the calculation result satisfies the predetermined condition in association with the calculation result storage area;
Changing means for changing the first information corresponding to the calculation result that does not satisfy the predetermined condition each time the calculation result is updated to second information indicating that the predetermined condition is not satisfied;
Extraction means for extracting a storage position of a calculation result that satisfies the predetermined condition based on a change result changed by the change means;
A storage position extraction apparatus comprising:

(付記2)初回の演算における演算結果のうち、前記所定の条件に満足する演算結果の演算結果記憶領域に対応付けて前記第一の情報を設定する設定手段をさらに備え、
前記変更手段は、初回以後の演算において、前記所定の条件を満足しなくなった演算結果に対応する第一の情報を、前記第二の情報に変更することを特徴とする付記1に記載の記憶位置抽出装置。
(Additional remark 2) It is further provided with the setting means which sets said 1st information in association with the calculation result storage area of the calculation result which satisfies the said predetermined condition among the calculation results in the first calculation,
The storage according to claim 1, wherein the changing unit changes the first information corresponding to the calculation result that no longer satisfies the predetermined condition in the calculation after the first time to the second information. Position extraction device.

(付記3)演算開始時点において、全ての演算結果記憶領域に対応付けて前記第一の情報を設定する設定手段をさらに備え、
前記変更手段は、前記所定の条件を満足しなくなった演算結果に対応する第一の情報を、前記第二の情報に変更することを特徴とする付記1に記載の記憶位置抽出装置。
(Additional remark 3) It is further provided with the setting means which sets said 1st information in correlation with all the calculation result storage areas at the time of calculation start,
The storage position extraction apparatus according to appendix 1, wherein the changing unit changes the first information corresponding to the calculation result that no longer satisfies the predetermined condition to the second information.

(付記4)前記演算結果記憶領域に対する演算を並列に行うことを特徴とする付記1〜3のいずれか一つに記載の記憶位置抽出装置。 (Supplementary Note 4) The storage position extraction apparatus according to any one of Supplementary Notes 1 to 3, wherein the computation on the computation result storage area is performed in parallel.

(付記5)前記変更手段は、前記第一の情報を更新する処理を並列に行うことを特徴とする付記1〜4のいずれか一つに記載の記憶位置抽出装置。 (Additional remark 5) The said change means performs the process which updates said 1st information in parallel, The memory location extraction apparatus as described in any one of additional marks 1-4 characterized by the above-mentioned.

(付記6)前記変更手段によって前記第一の情報が前記第二の情報に変更されると同時に、前記演算結果記憶領域を初期化する演算結果初期化手段をさらに備えることを特徴とする付記1〜5のいずれか一つに記載の記憶位置抽出装置。 (Supplementary Note 6) The supplementary note 1 further includes computation result initialization means for initializing the computation result storage area at the same time when the first information is changed to the second information by the changing means. The memory position extraction device according to any one of?

(付記7)前記記憶手段は、前記演算結果記憶領域として、一バイトを一単位とすることを特徴とする付記1〜6のいずれか一つに記載の記憶位置抽出装置。 (Supplementary note 7) The storage position extracting device according to any one of supplementary notes 1 to 6, wherein the storage means uses one byte as one unit as the calculation result storage area.

(付記8)前記記憶手段は、九バイトを一単位とし、そのうち八ビットを前記演算結果記憶領域とし、一ビットを前記第一の情報を記憶する領域とすることを特徴とする付記1〜7のいずれか一つに記載の記憶位置抽出装置。 (Supplementary note 8) The storage means uses nine bytes as one unit, of which eight bits are used as the calculation result storage region, and one bit is used as a region for storing the first information. The memory position extraction device according to any one of the above.

(付記9)複数の演算結果記憶領域にそれぞれ記憶された各演算結果のうち所定の条件を満足する演算結果の記憶位置を抽出する記憶位置抽出方法であって、
前記所定の条件を満足する演算結果であることを示す第一の情報を演算結果記憶領域に対応付けて記憶する記憶工程と、
各演算結果が更新されるごとに前記所定の条件を満足しなくなった演算結果に対応する第一の情報を、当該所定の条件を満足しないことを示す第二の情報に変更する変更工程と、
前記変更工程により変更された変更結果に基づいて前記所定の条件を満足する演算結果の記憶位置を抽出する抽出工程と、
を含んだことを特徴とする記憶位置抽出方法。
(Supplementary note 9) A storage position extraction method for extracting a storage position of a calculation result satisfying a predetermined condition among calculation results stored in a plurality of calculation result storage areas,
A storage step of storing first information indicating that the calculation result satisfies the predetermined condition in association with the calculation result storage area;
A change step of changing the first information corresponding to the calculation result that does not satisfy the predetermined condition each time the calculation result is updated to second information indicating that the predetermined condition is not satisfied,
An extraction step for extracting a storage position of a calculation result that satisfies the predetermined condition based on the change result changed by the change step;
A memory location extraction method characterized by comprising:

(付記10)初回の演算における演算結果のうち、前記所定の条件に満足する演算結果の演算結果記憶領域に対応付けて前記第一の情報を設定する設定工程をさらに含み、
前記変更工程は、初回以後の演算において、前記所定の条件を満足しなくなった演算結果に対応する第一の情報を、前記第二の情報に変更することを特徴とする付記9に記載の記憶位置抽出方法。
(Supplementary Note 10) The method further includes a setting step of setting the first information in association with the calculation result storage area of the calculation result satisfying the predetermined condition among the calculation results in the first calculation,
The storage according to appendix 9, wherein the changing step changes the first information corresponding to the calculation result that no longer satisfies the predetermined condition in the calculation after the first time to the second information. Location extraction method.

(付記11)演算開始時点において、全ての演算結果記憶領域に対応付けて前記第一の情報を設定する設定工程をさらに含み、
前記変更工程は、前記所定の条件を満足しなくなった演算結果に対応する第一の情報を、前記第二の情報に変更することを特徴とする付記9に記載の記憶位置抽出方法。
(Supplementary Note 11) Further includes a setting step of setting the first information in association with all the calculation result storage areas at the calculation start time point,
The storage position extraction method according to appendix 9, wherein the changing step changes the first information corresponding to the calculation result that no longer satisfies the predetermined condition to the second information.

(付記12)前記演算結果記憶領域に対する演算を並列に行うことを特徴とする付記9〜11のいずれか一つに記載の記憶位置抽出方法。 (Additional remark 12) The storage position extraction method according to any one of additional remarks 9 to 11, wherein the calculation on the calculation result storage area is performed in parallel.

(付記13)前記変更工程は、前記第一の情報を更新する処理を並列に行うことを特徴とする付記9〜12のいずれか一つに記載の記憶位置抽出方法。 (Additional remark 13) The said change process performs the process which updates said 1st information in parallel, The memory location extraction method as described in any one of additional remarks 9-12 characterized by the above-mentioned.

(付記14)前記変更工程によって前記第一の情報が前記第二の情報に変更されると同時に、前記演算結果記憶領域を初期化する演算結果初期化手段をさらに含んだことを特徴とする付記9〜13のいずれか一つに記載の記憶位置抽出方法。 (Supplementary Note 14) The supplementary note further includes computation result initialization means for initializing the computation result storage area at the same time when the first information is changed to the second information by the changing step. The memory location extraction method according to any one of 9 to 13.

(付記15)前記記憶工程は、前記演算結果記憶領域として、一バイトを一単位とすることを特徴とする付記9〜14のいずれか一つに記載の記憶位置抽出方法。 (Supplementary note 15) The storage location extraction method according to any one of supplementary notes 9 to 14, wherein the storage step uses one byte as one unit as the calculation result storage area.

(付記16)前記記憶工程は、九バイトを一単位とし、そのうち八ビットを前記演算結果記憶領域とし、一ビットを前記第一の情報を記憶する領域とすることを特徴とする付記9〜15のいずれか一つに記載の記憶位置抽出方法。 (Supplementary note 16) Supplementary notes 9 to 15, wherein the storage step uses nine bytes as a unit, of which eight bits are used as the calculation result storage region, and one bit is used as a region for storing the first information. The memory location extraction method according to any one of the above.

以上のように、本発明に係る記憶位置抽出装置および記憶位置抽出方法は複数の演算結果記憶領域にそれぞれ記憶された各演算結果のうち所定の条件を満足する演算結果の記憶位置を抽出する場合に有用であり、特に、共通部分抽出に必要となる処理の並列化を可能とし、処理全体の効率化を図って処理を高速化することに適する。   As described above, the storage position extraction apparatus and the storage position extraction method according to the present invention extract a storage position of a calculation result that satisfies a predetermined condition from each calculation result stored in each of a plurality of calculation result storage areas. In particular, it is possible to parallelize the processes required for common part extraction, and it is suitable for increasing the efficiency of the entire process and speeding up the process.

実施例1に係る共通アドレス抽出装置10の概要および特徴を説明するための図である。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram for explaining an overview and features of a common address extraction device 10 according to a first embodiment. 実施例1に係る共通アドレス抽出装置10の構成を示すブロック図である。1 is a block diagram illustrating a configuration of a common address extraction device 10 according to a first embodiment. ログ加算処理について説明するための図である。It is a figure for demonstrating a log addition process. ログ加算処理の計算例について説明するための図である。It is a figure for demonstrating the example of a calculation of log addition processing. 閾値判定処理について説明するための図である。It is a figure for demonstrating a threshold determination process. 実施例1に係る共通アドレス抽出装置10の全体の処理動作を示すフローチャートである。3 is a flowchart illustrating an overall processing operation of the common address extracting apparatus 10 according to the first embodiment. 実施例1に係る共通アドレス抽出装置10の篩処理の動作を示すフローチャートである。4 is a flowchart illustrating an operation of sieving processing of the common address extracting apparatus 10 according to the first embodiment. 実施例2に係る共通アドレス抽出装置10aを説明するための図である。It is a figure for demonstrating the common address extraction apparatus 10a which concerns on Example 2. FIG. 従来の篩処理を説明するための図である。It is a figure for demonstrating the conventional sieve process.

符号の説明Explanation of symbols

10、10a 共通アドレス抽出装置
11a〜11n 演算部
12a〜12n メモリ
13 制御部
13a 閾値判定部
13b 共通アドレス抽出部
20a、20b 因子基底データベース
DESCRIPTION OF SYMBOLS 10, 10a Common address extraction apparatus 11a-11n Operation part 12a-12n Memory 13 Control part 13a Threshold determination part 13b Common address extraction part 20a, 20b Factor base database

Claims (4)

複数の演算結果記憶領域にそれぞれ記憶された各演算結果のうち所定の条件を満足する演算結果の記憶位置を抽出する記憶位置抽出装置であって、
前記所定の条件を満足する演算結果であることを示す第一の情報を演算結果記憶領域に対応付けて記憶する記憶手段と、
各演算結果が更新されるごとに前記所定の条件を満足しなくなった演算結果に対応する第一の情報を、当該所定の条件を満足しないことを示す第二の情報に変更する変更手段と、
前記変更手段により変更された変更結果に基づいて前記所定の条件を満足する演算結果の記憶位置を抽出する抽出手段と、
を備えた記憶位置抽出装置。
A storage position extraction device that extracts a storage position of a calculation result that satisfies a predetermined condition among the calculation results stored in a plurality of calculation result storage areas,
Storage means for storing the first information indicating that the calculation result satisfies the predetermined condition in association with the calculation result storage area;
Changing means for changing the first information corresponding to the calculation result that does not satisfy the predetermined condition each time the calculation result is updated to second information indicating that the predetermined condition is not satisfied;
Extraction means for extracting a storage position of a calculation result that satisfies the predetermined condition based on a change result changed by the change means;
A memory location extraction apparatus.
初回の演算における演算結果のうち、前記所定の条件を満足する演算結果の演算結果記憶領域に対応付けて前記第一の情報を設定する設定手段をさらに備え、
前記変更手段は、初回以後の演算において、前記所定の条件を満足しなくなった演算結果に対応する第一の情報を、前記第二の情報に変更することを特徴とする請求項1に記載の記憶位置抽出装置。
Of the calculation results in the first calculation, further comprising setting means for setting the first information in association with the calculation result storage area of the calculation results satisfying the predetermined condition,
2. The change unit according to claim 1, wherein the change unit changes the first information corresponding to the calculation result that no longer satisfies the predetermined condition in the calculation after the first time to the second information. Memory location extraction device.
演算開始時点において、全ての演算結果記憶領域に対応付けて前記第一の情報を設定する設定手段をさらに備え、
前記変更手段は、前記所定の条件を満足しなくなった演算結果に対応する第一の情報を、前記第二の情報に変更することを特徴とする請求項1に記載の記憶位置抽出装置。
A setting means for setting the first information in association with all the calculation result storage areas at the calculation start time;
The storage position extraction apparatus according to claim 1, wherein the changing unit changes the first information corresponding to the calculation result that no longer satisfies the predetermined condition to the second information.
複数の演算結果記憶領域にそれぞれ記憶された各演算結果のうち所定の条件を満足する演算結果の記憶位置を抽出する記憶位置抽出方法であって、
前記所定の条件を満足する演算結果であることを示す第一の情報を演算結果記憶領域に対応付けて記憶部に記憶する記憶工程と、
各演算結果が更新されるごとに前記所定の条件を満足しなくなった演算結果に対応する第一の情報を、当該所定の条件を満足しないことを示す第二の情報に変更する変更工程と、
前記変更工程により変更された変更結果に基づいて前記所定の条件を満足する演算結果の記憶位置を抽出する抽出工程と、
を含んだ記憶位置抽出方法。
A storage position extraction method for extracting a storage position of a calculation result that satisfies a predetermined condition among each calculation result stored in each of a plurality of calculation result storage areas,
A storage step of storing in the storage unit the first information indicating that the calculation result satisfies the predetermined condition in association with the calculation result storage area;
A change step of changing the first information corresponding to the calculation result that does not satisfy the predetermined condition each time the calculation result is updated to second information indicating that the predetermined condition is not satisfied,
An extraction step for extracting a storage position of a calculation result that satisfies the predetermined condition based on the change result changed by the change step;
Memory location extraction method.
JP2007224881A 2007-08-30 2007-08-30 Memory position extraction apparatus and memory position extraction method Expired - Fee Related JP5029228B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007224881A JP5029228B2 (en) 2007-08-30 2007-08-30 Memory position extraction apparatus and memory position extraction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007224881A JP5029228B2 (en) 2007-08-30 2007-08-30 Memory position extraction apparatus and memory position extraction method

Publications (2)

Publication Number Publication Date
JP2009058690A true JP2009058690A (en) 2009-03-19
JP5029228B2 JP5029228B2 (en) 2012-09-19

Family

ID=40554492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007224881A Expired - Fee Related JP5029228B2 (en) 2007-08-30 2007-08-30 Memory position extraction apparatus and memory position extraction method

Country Status (1)

Country Link
JP (1) JP5029228B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6878206B2 (en) 2001-07-16 2005-04-12 Applied Materials, Inc. Lid assembly for a processing system to facilitate sequential deposition techniques

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04118720A (en) * 1990-09-10 1992-04-20 Hitachi Ltd Retrieving method utilizing knowledge
JPH04195587A (en) * 1990-11-28 1992-07-15 Nec Corp Logical operation system for information processor
JPH04281562A (en) * 1991-03-11 1992-10-07 Meidensha Corp Retrieving device by fuzzy inference
JPH06290161A (en) * 1993-03-31 1994-10-18 Chiyoda Corp Information processing system with combination limitation
JP2004005012A (en) * 2002-05-09 2004-01-08 Cool Vision Ltd Auction method and server conducting auction
JP2004144731A (en) * 2002-08-27 2004-05-20 Kanazawa Inst Of Technology Location estimating method and apparatus and calibration method and apparatus using the same
JP2006178599A (en) * 2004-12-21 2006-07-06 Fuji Xerox Co Ltd Document retrieval device and method
JP2006277233A (en) * 2005-03-29 2006-10-12 Fujitsu Ltd Tag testing device, tag testing method, and tag testing program

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04118720A (en) * 1990-09-10 1992-04-20 Hitachi Ltd Retrieving method utilizing knowledge
JPH04195587A (en) * 1990-11-28 1992-07-15 Nec Corp Logical operation system for information processor
JPH04281562A (en) * 1991-03-11 1992-10-07 Meidensha Corp Retrieving device by fuzzy inference
JPH06290161A (en) * 1993-03-31 1994-10-18 Chiyoda Corp Information processing system with combination limitation
JP2004005012A (en) * 2002-05-09 2004-01-08 Cool Vision Ltd Auction method and server conducting auction
JP2004144731A (en) * 2002-08-27 2004-05-20 Kanazawa Inst Of Technology Location estimating method and apparatus and calibration method and apparatus using the same
JP2006178599A (en) * 2004-12-21 2006-07-06 Fuji Xerox Co Ltd Document retrieval device and method
JP2006277233A (en) * 2005-03-29 2006-10-12 Fujitsu Ltd Tag testing device, tag testing method, and tag testing program

Also Published As

Publication number Publication date
JP5029228B2 (en) 2012-09-19

Similar Documents

Publication Publication Date Title
JP5269610B2 (en) Perform cyclic redundancy check operations according to user level instructions
US10164884B2 (en) Search apparatus, search configuration method, and search method
CN103246484B (en) A kind of date storage method, Apparatus and system
CN110109926B (en) Ordering device and ordering method for Equihash algorithm data
CN112417036A (en) Method and device for processing metadata of object in distributed storage system
CN114527953B (en) Memory data processing system, method, apparatus, computer device and medium
JP2019091257A (en) Information processing device, information processing method, and program
JP2016170526A (en) Retrieval device, retrieval method, program, and recording medium
CN111651137B (en) Ordering method, ordering device, electronic device and computer equipment
CN105528183B (en) A kind of method and storage equipment of storing data
Nelson et al. Shepard: A fast exact match short read aligner
JP5029228B2 (en) Memory position extraction apparatus and memory position extraction method
CN110022203A (en) A kind of SM3 acceleration method and device
US20090212817A1 (en) Configuration information writing apparatus, configuration information writing method and computer program product
CN113168314A (en) Update management device, update management system, and update management method
JP3652518B2 (en) SIMD type arithmetic unit and arithmetic processing unit
JP6189266B2 (en) Data processing apparatus, data processing method, and data processing program
JP2018132900A (en) Storage method, storage device and storage program
WO2020124275A1 (en) Method, system, and computing device for optimizing computing operations of gene sequencing system
CN109951275A (en) Key generation method, device, computer equipment and storage medium
JP6876132B2 (en) Message processing method and message processing device
CN108234552A (en) A kind of date storage method and device
US10263638B2 (en) Lossless compression method for graph traversal
JP2018132899A (en) Storage method, storage device and storage program
Nelson et al. Ramps: a reconfigurable architecture for minimal perfect sequencing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111213

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120511

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: 20120529

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: 20120611

R150 Certificate of patent or registration of utility model

Ref document number: 5029228

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: 20150706

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees