JP6215726B2 - Associative memory - Google Patents

Associative memory Download PDF

Info

Publication number
JP6215726B2
JP6215726B2 JP2014022398A JP2014022398A JP6215726B2 JP 6215726 B2 JP6215726 B2 JP 6215726B2 JP 2014022398 A JP2014022398 A JP 2014022398A JP 2014022398 A JP2014022398 A JP 2014022398A JP 6215726 B2 JP6215726 B2 JP 6215726B2
Authority
JP
Japan
Prior art keywords
circuit
reference data
data storage
distance
dimension
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
Application number
JP2014022398A
Other languages
Japanese (ja)
Other versions
JP2015149113A (en
Inventor
ハンスユルゲン マタウシュ
ハンスユルゲン マタウシュ
智信 赤澤
智信 赤澤
翔悟 山崎
翔悟 山崎
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.)
Hiroshima University NUC
Original Assignee
Hiroshima University NUC
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 Hiroshima University NUC filed Critical Hiroshima University NUC
Priority to JP2014022398A priority Critical patent/JP6215726B2/en
Publication of JP2015149113A publication Critical patent/JP2015149113A/en
Application granted granted Critical
Publication of JP6215726B2 publication Critical patent/JP6215726B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、連想メモリに関し、特に、クロックカウント式の連想メモリの次元数を拡張する技術に関する。   The present invention relates to an associative memory, and more particularly to a technique for extending the number of dimensions of a clock count type associative memory.

近年、文字認識・画像認識などに代表されるパターンマッチングを必要とするアプリケーションが大変注目されている。特に、パターンマッチングをLSI(Large Scale Integrated circuit)上で実現することにより、将来、人工知能およびモバイル機器などの高機能アプリケーションに適用可能になり、この技術の実現は、非常に注目を浴びている。   In recent years, applications that require pattern matching typified by character recognition and image recognition have attracted much attention. In particular, by realizing pattern matching on LSI (Large Scale Integrated circuit), it will be applicable to high-function applications such as artificial intelligence and mobile devices in the future, and the realization of this technology has received much attention. .

パターンマッチングでは、データベースに保存された複数の参照データの中から、完全に検索データと一致するパターンを検索する「完全一致検索処理」と、検索データと最も類似するパターンを検索する「最類似検索処理」とがある。   In pattern matching, "complete match search process" that searches for a pattern that completely matches the search data from multiple reference data stored in the database, and "most similar search" that searches for the most similar pattern to the search data. Treatment ".

前者は、CAM(Content Addressable Memory)と呼ばれ、ネットワークルータのIPアドレステーブルのルーティングおよびプロセッサのキャッシュなどの実現に用いられる。人間の脳のような柔軟な検索・比較をコンピュータに処理させるには、後者の最類似検索処理を実現することが必要不可欠である。このような柔軟な比較を実現する機能を持つメモリのことを特に連想メモリ(Associative Memory)と呼ぶ。   The former is called CAM (Content Addressable Memory), and is used to realize the routing of the IP address table of the network router and the cache of the processor. In order for a computer to perform flexible search / comparison such as the human brain, it is indispensable to realize the latter most similar search process. A memory having such a function for realizing a flexible comparison is particularly called an associative memory.

連想メモリの例として、検索データと参照データとのマンハッタン距離またはユークリッド距離を用いて最類似検索処理を行うものが知られている(非特許文献1参照)。   As an example of an associative memory, one that performs a most similar search process using a Manhattan distance or a Euclidean distance between search data and reference data is known (see Non-Patent Document 1).

S.Sasaki et al., "Digital Associative Memory for Word-Parallel Manhattan-Distance-Based Vector Quantization," ESSCIRC'2012, 2012, pp.185-188S. Sasaki et al., "Digital Associative Memory for Word-Parallel Manhattan-Distance-Based Vector Quantization," ESSCIRC'2012, 2012, pp.185-188

本願発明者は、これまでに、検索に係るクロックカウント数を削減する機構(有効ビット設定部)とユークリッド距離検索のための二乗計算回路(距離演算回路)とを備えたクロックカウント式の連想メモリを発明し、特願2013−025465(以下、先願と称する)において開示した。これにより、データ規模が増大しても高速な検索が可能なユークリッド/マンハッタン距離検索連想メモリをエラーフリー、高電力効率に実現した。   The inventor of the present application has so far provided a clock count type associative memory including a mechanism (effective bit setting unit) for reducing a clock count number for search and a square calculation circuit (distance calculation circuit) for Euclidean distance search. Was disclosed in Japanese Patent Application No. 2013-255465 (hereinafter referred to as the prior application). As a result, an Euclidean / Manhattan distance search associative memory capable of high-speed search even when the data scale increases is realized with error-free and high power efficiency.

しかし、ハードウェアに実装可能なデータサイズには制約がある。先願発明に係る連想メモリは、原理的にはデータサイズに制約がないが、データサイズの増加により動作周波数が低下してしまう。この点において、小さなハードウェアによって大きな次元までの1NN(1-Nearest Neighbor)検索を実現することができれば効率が向上する。   However, there are restrictions on the data size that can be implemented in hardware. Although the associative memory according to the invention of the prior application has no restriction on the data size in principle, the operating frequency is lowered by the increase of the data size. In this regard, if 1NN (1-Nearest Neighbor) search up to a large dimension can be realized with small hardware, the efficiency is improved.

上記問題に鑑み、本発明は、アプリケーション上でより大きなデータサイズが要求される場合に次元数の拡張が可能な連想メモリを提供することを目的とする。   In view of the above problems, an object of the present invention is to provide an associative memory capable of extending the number of dimensions when a larger data size is required on an application.

本発明の一局面に従った連想メモリは、E×M次元(ただし、E,Mはいずれも2以上の整数である。)の検索データをM次元ずつE回に分けて保存する検索データ保存回路と、R個(ただし、Rは2以上の整数である。)のE×M次元の参照データをR個のM次元ずつE回に分けて保存する参照データ保存回路と、前記検索データ保存回路および前記参照データ保存回路に新たなデータが保存されるたびに、前記検索データ保存回路に保存された検索データと前記参照データ保存回路に保存された個々の参照データとの各次元の部分距離を計算する距離計算回路と、前記検索データ保存回路および前記参照データ保存回路に新たなデータが保存されるたびに、個々の参照データごとに、前記距離計算回路によって計算された各次元の部分距離を累積加算する次元数拡張回路と、前記E×M次元の検索データおよび前記R個のE×M次元の参照データがそれぞれE回に分けて前記検索データ保存回路および前記参照データ保存回路に保存された後に、個々の参照データごとに、前記次元数拡張回路によって累積加算された部分距離を合計して前記E×M次元の検索データと個々の前記E×M次元の参照データとの距離を計算し、当該距離に応じたクロック数をカウントしたタイミングを示すタイミング信号を出力する距離/クロック数変換回路とを備えているものである。   The associative memory according to one aspect of the present invention stores search data that stores E × M-dimensional search data (where E and M are integers of 2 or more) divided into M times in E times. A circuit, a reference data storage circuit that stores R (where R is an integer equal to or greater than 2) E × M-dimensional reference data divided into R M-dimensional E times, and the search data storage Each time new data is stored in the circuit and the reference data storage circuit, a partial distance in each dimension between the search data stored in the search data storage circuit and the individual reference data stored in the reference data storage circuit A distance calculation circuit that calculates a partial distance of each dimension calculated by the distance calculation circuit for each reference data each time new data is stored in the search data storage circuit and the reference data storage circuit Dimensionality expansion circuit for accumulatively adding, and the E × M dimensional search data and the R E × M dimensional reference data are divided into E times and stored in the search data storage circuit and the reference data storage circuit, respectively. After that, for each reference data, the partial distances cumulatively added by the dimension number extension circuit are summed to obtain the distance between the E × M dimensional search data and each E × M dimensional reference data. A distance / clock number conversion circuit that outputs a timing signal indicating the timing of calculating and counting the number of clocks corresponding to the distance is provided.

これによると、E×M次元の検索データおよび参照データがM次元ずつE回に分けて検索データ保存回路および参照データ保存回路に保存され、検索データ保存回路および参照データ保存回路に新たなデータが保存されるたびに検索データと参照データの各次元の部分距離が計算され、さらに累積加算される。これにより、E×M次元のデータの次元数がM次元に圧縮され、最大でM次元のデータしか扱えない連想メモリにおいて実質的にE×M次元のデータの取り扱いが可能となる。   According to this, E × M-dimensional search data and reference data are stored in the search data storage circuit and the reference data storage circuit divided into E times for each M dimension, and new data is stored in the search data storage circuit and the reference data storage circuit. Each time the data is stored, the partial distance of each dimension of the search data and the reference data is calculated and further cumulatively added. As a result, the number of dimensions of the E × M dimensional data is compressed to the M dimension, and it becomes possible to substantially handle the E × M dimensional data in the associative memory that can handle only the M dimensional data at the maximum.

上記の連想メモリにおいて、前記次元数拡張回路が、第1および第2のマルチプレクサと、全加算器と、第1および第2のDフリップフロップとを有するものであってもよく、前記第1のマルチプレクサは、前記距離計算回路によって計算された第1の次元の部分距離および前記第1のDフリップフロップの出力がそれぞれ第1および第2の入力として与えられ、第1の制御信号によって前記第1および第2の入力のいずれか一方を選択的に出力するものであってもよく、前記第2のマルチプレクサは、前記距離計算回路によって計算された第2の次元の部分距離および前記第2のDフリップフロップの出力がそれぞれ第1および第2の入力として与えられ、前記第1の制御信号によって前記第1および第2の入力のいずれか一方を選択的に出力するものであってもよく、前記全加算器は、前記第1のマルチプレクサの出力と前記第2のマルチプレクサの出力とを全加算するものであってもよく、前記第1のDフリップフロップは、前記全加算器の出力がデータ入力され、第2の制御信号によって入力データの保存が制御されるものであってもよく、前記第2のDフリップフロップは、前記全加算器の出力がデータ入力され、前記第2の制御信号の反転である第3の制御信号によって入力データの保存が制御されるものであってもよい。   In the content addressable memory, the dimension extension circuit may include first and second multiplexers, full adders, and first and second D flip-flops. The multiplexer is supplied with the first dimension partial distance calculated by the distance calculation circuit and the output of the first D flip-flop as first and second inputs, respectively, and the first control signal causes the first And the second input may selectively output one of the second input, the second multiplexer may include the second dimension partial distance calculated by the distance calculation circuit and the second D. The outputs of the flip-flops are given as first and second inputs, respectively, and one of the first and second inputs is selectively selected by the first control signal. The full adder may be a full adder of the output of the first multiplexer and the output of the second multiplexer, and the first D flip-flop The output of the full adder may be data-inputted, and the storage of input data may be controlled by a second control signal. The second D flip-flop The storage of input data may be controlled by a third control signal that is input and is an inversion of the second control signal.

これによると、距離計算回路によって計算された各次元の部分距離を2次元分まとめて累積加算することができ、データ信号線を削減することができる。   According to this, the partial distances of each dimension calculated by the distance calculation circuit can be accumulated and added together for two dimensions, and data signal lines can be reduced.

前記距離計算回路が、前記部分距離として、前記検索データ保存回路に保存された検索データと前記参照データ保存回路に保存された個々の参照データとの各次元の差分絶対値を計算してもよい。   The distance calculation circuit may calculate a difference absolute value of each dimension between the search data stored in the search data storage circuit and individual reference data stored in the reference data storage circuit as the partial distance. .

これによると、検索データと参照データとの間のマンハッタン距離を計算することができる。   According to this, the Manhattan distance between the search data and the reference data can be calculated.

前記距離計算回路が、前記部分距離として、前記検索データ保存回路に保存された検索データと前記参照データ保存回路に保存された個々の参照データとの各次元の差分二乗値を計算してもよい。   The distance calculation circuit may calculate a difference square value of each dimension between the search data stored in the search data storage circuit and individual reference data stored in the reference data storage circuit as the partial distance. .

これによると、検索データと参照データとの間のユークリッド距離を計算することができる。   According to this, the Euclidean distance between the search data and the reference data can be calculated.

本発明によると、連想メモリで取り扱い可能なデータ次元数を任意に拡張することができる。これにより、大きなデータサイズが要求されるアプリケーションにもクロックカウント式の連想メモリを適用できるようになる。   According to the present invention, the number of data dimensions that can be handled by an associative memory can be arbitrarily expanded. As a result, the clock count type associative memory can be applied to an application that requires a large data size.

本発明の一実施形態に係る連想メモリにおける次元数拡張を説明する模式図FIG. 5 is a schematic diagram for explaining dimension expansion in an associative memory according to an embodiment of the present invention. 本発明の一実施形態に係る連想メモリの概略構成図1 is a schematic configuration diagram of an associative memory according to an embodiment of the present invention. 一例に係るタイミング信号のタイミングチャートTiming chart of an example timing signal 一例に係る次元数拡張回路の構成図Configuration diagram of dimension extension circuit according to an example 図4の次元数拡張回路の動作例を示す図The figure which shows the operation example of the dimension number expansion circuit of FIG. 図4の次元数拡張回路の動作例を示す図5Aに続く図The figure following FIG. 5A which shows the operation example of the dimension expansion circuit of FIG. 一例に係る制御回路の構成図Configuration diagram of a control circuit according to an example 図6の制御回路の入出力信号のタイミングチャートTiming chart of input / output signals of the control circuit of FIG. 一例に係るDC制御回路の構成図Configuration diagram of DC control circuit according to an example 図8のDC制御回路の入出力信号のタイミングチャートTiming chart of input / output signals of DC control circuit of FIG. 一例に係るDEC制御回路の構成図Configuration diagram of a DEC control circuit according to an example 図10のDEC制御回路の入出力信号のタイミングチャートTiming chart of input / output signals of the DEC control circuit of FIG.

以下、図面を参照しながら本発明を実施するための形態について説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、本発明は、下記の実施形態に限定されるものではない。   DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals and description thereof will not be repeated. Further, the present invention is not limited to the following embodiment.

≪次元数拡張の概要≫
本発明の一実施形態に係る連想メモリは、先願発明に係る連想メモリにおいて検索データおよび参照データの次元数を拡張可能にしたものである。すなわち、先願発明に係る連想メモリは最大で設計時に指定したM次元(Mは2以上の整数)のデータしか扱えなかったのに対して、本実施形態に係る連想メモリは、データの次元数をE×M次元(Eは2以上の整数)にまで拡張することができる。
≪Overview of dimension expansion≫
An associative memory according to an embodiment of the present invention is such that the number of dimensions of search data and reference data can be expanded in the associative memory according to the invention of the prior application. In other words, the associative memory according to the invention of the prior application can handle only M-dimensional data (M is an integer of 2 or more) specified at the time of design, whereas the associative memory according to the present embodiment has the number of data dimensions. Can be expanded to E × M dimensions (E is an integer of 2 or more).

図1は、本発明の一実施形態に係る連想メモリにおける次元数拡張を説明する模式図である。データの次元数がE×M次元の場合において、検索データと参照データとの間のa=hかつj次元目の二乗計算結果(部分距離)をdh,(h−1)M+jとすると、検索データと参照データとの間の距離(例えば、ユークリッド距離)Dは次式(1)のように計算される。 FIG. 1 is a schematic diagram for explaining dimension expansion in an associative memory according to an embodiment of the present invention. When the number of data dimensions is E × M, if a = h between the search data and the reference data and the square calculation result (partial distance) of the j-th dimension is dh , (h−1) M + j , A distance (for example, Euclidean distance) D E between the search data and the reference data is calculated as the following equation (1).

ここで、式(1)においてΣa=1 の計算を先に行う。すなわち、図1に示したように、E×M次元のデータをE行×M列の行列形式で表した場合において、先に列方向(図中の破線枠)の累積加算を行う。これにより、E×M次元のデータの次元数がM次元に圧縮され、最大でM次元のデータしか扱えない先願発明に係る連想メモリにおいて実質的にE×M次元のデータの取り扱いが可能となる。 Here, the calculation of Σ a = 1 E is performed first in the equation (1). That is, as shown in FIG. 1, when E × M dimensional data is expressed in a matrix format of E rows × M columns, first, cumulative addition in the column direction (broken line frame in the figure) is performed. As a result, the number of dimensions of E × M dimensional data is compressed to M dimensions, and it is possible to substantially handle E × M dimensional data in the associative memory according to the prior application that can handle only M dimensional data at the maximum. Become.

本実施形態に係る連想メモリは、先願発明に係る連想メモリに、E×M次元のデータの次元数を上記のように圧縮してM次元のデータにする機能を追加したものである。以下、本実施形態に係る連想メモリの詳細について説明する。   The associative memory according to the present embodiment is obtained by adding the function of compressing the number of dimensions of E × M-dimensional data to M-dimensional data as described above to the associative memory according to the prior invention. Details of the associative memory according to the present embodiment will be described below.

≪本実施形態に係る連想メモリの構成例≫
図2は、本発明の一実施形態に係る連想メモリの概略構成を示す。本実施形態に係る連想メモリ100は、メモリアレイ部10と、Winner検出器20とを備える。
<< Configuration example of associative memory according to this embodiment >>
FIG. 2 shows a schematic configuration of an associative memory according to an embodiment of the present invention. The associative memory 100 according to the present embodiment includes a memory array unit 10 and a Winner detector 20.

メモリアレイ部10は、メモリ部1、行デコーダ2、列デコーダ3、読出/書込回路4、および検索データ保存回路5を含む。   Memory array unit 10 includes a memory unit 1, a row decoder 2, a column decoder 3, a read / write circuit 4, and a search data storage circuit 5.

メモリ部1は、参照データ保存回路(Storage Cell)SC11〜SC1M,SC21〜SC2M,…,SCR1〜SCRMと、距離計算回路(Distance Calculator)DC11〜DC1M,DC21〜DC2M,…,DCR1〜DCRMと、次元数拡張回路(Dimensional Extension Circuit)DEC11〜DEC1M/2,DEC21〜DEC2M/2,…,DECR1〜DECRM/2と、距離/クロック数変換回路(Distance Evaluator)DE〜DEとを含む。なお、MおよびRは、いずれも2以上の整数である。 Memory unit 1, the reference data storage circuit (Storage Cell) SC 11 ~SC 1M , SC 21 ~SC 2M, ..., SC R1 and to SC RM, the distance calculation circuit (Distance Calculator) DC 11 ~DC 1M , DC 21 ~ DC 2M ,..., DC R1 to DC RM , Dimensional Extension Circuits DEC 11 to DEC 1M / 2 , DEC 21 to DEC 2M / 2 ,..., DEC R1 to DEC RM / 2 , and distance / clock number conversion circuit and a (Distance Evaluator) DE 1 ~DE R . M and R are both integers of 2 or more.

行デコーダ2は、メモリ部1の行方向のアドレスを指定する。列デコーダ3は、メモリ部1の列方向のアドレスを指定する。読出/書込回路4は、参照データを行デコーダ2および列デコーダ3によって指定された参照データ保存回路SC11〜SC1M,SC21〜SC2M,…,SCR1〜SCRMに書き込むとともに、検索データを検索データ保存回路5に書き込む。 The row decoder 2 designates an address in the row direction of the memory unit 1. The column decoder 3 designates an address in the column direction of the memory unit 1. The read / write circuit 4 writes the reference data to the reference data storage circuits SC 11 to SC 1M , SC 21 to SC 2M ,..., SC R1 to SC RM designated by the row decoder 2 and the column decoder 3 and retrieves them. Data is written into the search data storage circuit 5.

距離計算回路DC11〜DC1Mは、それぞれ、参照データ保存回路SC11〜SC1Mに対応して設けられる。また、距離計算回路DC21〜DC2Mは、それぞれ、参照データ保存回路SC21〜SC2Mに対応して設けられる。以下、同様にして、距離計算回路DCR1〜DCRMは、それぞれ、参照データ保存回路SCR1〜SCRMに対応して設けられる。 Distance calculating circuit DC 11 to DC 1M, respectively, are provided corresponding to the reference data storage circuit SC 11 to SC 1M. The distance calculating circuit DC 21 to DC 2M are respectively provided corresponding to the reference data storage circuit SC 21 to SC 2M. In the same manner, the distance calculating circuit DC R1 to DC RM are each provided corresponding to the reference data storage circuit SC R1 to SC RM.

次元数拡張回路DEC11〜DEC1M/2は、それぞれ、距離計算回路DC11〜DC1Mの隣り合う2個に対応して1個設けられる。また、次元数拡張回路DEC21〜DEC2M/2は、それぞれ、距離計算回路DC21〜DC2Mの隣り合う2個に対応して1個設けられる。以下、同様にして、次元数拡張回路DECR1〜DECRM/2は、それぞれ、距離計算回路DCR1〜DCRMの隣り合う2個に対応して1個設けられる。 One dimension expansion circuit DEC 11 to DEC 1M / 2 is provided corresponding to two adjacent ones of the distance calculation circuits DC 11 to DC 1M , respectively. Further, the number of dimensions expand circuit DEC 21 ~DEC 2M / 2, respectively, one is provided corresponding to two adjacent distance calculating circuit DC 21 to DC 2M. Hereinafter, similarly, one dimension extension circuit DEC R1 to DEC RM / 2 is provided corresponding to two adjacent ones of the distance calculation circuits DC R1 to DC RM , respectively.

距離/クロック数変換回路DEは、次元数拡張回路DEC11〜DEC1M/2に対応して設けられる。また、距離/クロック数変換回路DEは、次元数拡張回路DEC21〜DEC2M/2に対応して設けられる。以下、同様にして、距離/クロック数変換回路DEは、次元数拡張回路DECR1〜DECRM/2に対応して設けられる。 The distance / clock number conversion circuit DE 1 is provided corresponding to the dimension number expansion circuits DEC 11 to DEC 1M / 2 . The distance / clock number conversion circuit DE 2 is provided corresponding to the dimension number expansion circuits DEC 21 to DEC 2M / 2 . In the same manner, the distance / clock number conversion circuit DE R is provided corresponding to the number of dimensions expansion circuit DEC R1 ~DEC RM / 2.

参照データ保存回路SC11〜SC1M,SC21〜SC2M,…,SCR1〜SCRMは、行デコーダ2、列デコーダ3、および読出/書込回路4によって書き込まれた参照データを保存する。この場合、参照データ保存回路SC11〜SC1Mは、N×M(Nは1以上の整数)ビットの参照データ1を保存する。また、参照データ保存回路SC21〜SC2Mは、N×Mビットの参照データ2を保存する。以下、同様にして、参照データ保存回路SCR1〜SCRMは、N×Mビットの参照データRを保存する。すなわち、参照データ保存回路SC11〜SC1M,SC21〜SC2M,…,SCR1〜SCRMは、R個のM次元の参照データ(各次元はNビットデータ)を保存する。 Reference data storage circuits SC 11 to SC 1M , SC 21 to SC 2M ,..., SC R1 to SC RM store reference data written by the row decoder 2, the column decoder 3, and the read / write circuit 4. In this case, the reference data storage circuits SC 11 to SC 1M store N × M (N is an integer of 1 or more) bits of reference data 1. The reference data storage circuits SC 21 to SC 2M store N × M bit reference data 2. Similarly, the reference data storage circuits SC R1 to SC RM store N × M bits of reference data R. That is, the reference data storage circuits SC 11 to SC 1M , SC 21 to SC 2M ,..., SC R1 to SC RM store R M-dimensional reference data (each dimension is N-bit data).

検索データ保存回路5は、N×Mビットの検索データを保存する。すなわち、検索データ保存回路5は、M次元の検索データ(各次元はNビットデータ)を保存する。   The search data storage circuit 5 stores N × M bit search data. That is, the search data storage circuit 5 stores M-dimensional search data (each dimension is N-bit data).

上記のように、検索データ保存回路5および参照データ保存回路SC11〜SC1M,SC21〜SC2M,…,SCR1〜SCRMが保存可能な検索データおよび参照データの次元数はM次元であるため、E×M次元の検索データおよび参照データをE回に分けてこれらデータ保存回路に保存する。具体的には、検索データ保存回路5は、E×M次元の検索データをM次元ずつE回に分けて保存する。一方、参照データ保存回路SC11〜SC1M,SC21〜SC2M,…,SCR1〜SCRMは、R個のE×M次元の参照データをR個のM次元ずつE回に分けて保存する。 As described above, the search data storage circuit 5 and the reference data storage circuits SC 11 to SC 1M , SC 21 to SC 2M ,..., SC R1 to SC RM can store the number of dimensions of search data and reference data in M dimensions. Therefore, E × M-dimensional search data and reference data are divided into E times and stored in these data storage circuits. Specifically, the search data storage circuit 5 stores the E × M-dimensional search data by dividing the M-dimensional search data into E times. On the other hand, the reference data storage circuits SC 11 to SC 1M , SC 21 to SC 2M ,..., SC R1 to SC RM store R pieces of E × M-dimensional reference data by dividing each of the R M-dimensional reference data into E times. To do.

なお、E×M次元の検索データおよびR個のE×M次元の参照データは、図示しないメモリに保存されており、図示しない制御回路によってE回に分けて当該メモリからM次元ずつ読み出される。そして、当該メモリから読み出されたM次元の検索データおよびR個のM次元の参照データは、行デコーダ2、列デコーダ3、および読出/書込回路4によって検索データ保存回路5および参照データ保存回路SC11〜SC1M,SC21〜SC2M,…,SCR1〜SCRMにそれぞれ書き込まれる。 Note that the E × M-dimensional search data and the R E × M-dimensional reference data are stored in a memory (not shown), and are read out from the memory M times in E times by a control circuit (not shown). Then, the M-dimensional search data and the R M-dimensional reference data read from the memory are stored in the search data storage circuit 5 and the reference data storage by the row decoder 2, the column decoder 3, and the read / write circuit 4, respectively. circuit SC 11 ~SC 1M, SC 21 ~SC 2M, ..., are respectively written to the SC R1 to SC RM.

距離計算回路DC11〜DC1Mは、それぞれ、検索データ保存回路5および参照データ保存回路SC11〜SC1Mに新たなデータが保存されるたびに、検索データ保存回路5に保存されたN×Mビットの検索データと参照データ保存回路SC11〜SC1Mに保存されたN×Mビットの参照データ1との各次元の部分距離を計算する。また、距離計算回路DC21〜DC2Mは、それぞれ、検索データ保存回路5および参照データ保存回路SC21〜SC2Mに新たなデータが保存されるたびに、検索データ保存回路5に保存されたN×Mビットの検索データと参照データ保存回路SC21〜SC2Mに保存されたN×Mビットの参照データ2との各次元の部分距離を計算する。以下、同様にして、距離計算回路DCR1〜DCRMは、それぞれ、検索データ保存回路5および参照データ保存回路SCR1〜SCRMに新たなデータが保存されるたびに、検索データ保存回路5に保存されたN×Mビットの検索データと参照データ保存回路SCR1〜SCRMに保存されたN×Mビットの参照データRとの各次元の部分距離を計算する。これら距離計算回路DC11〜DC1M,DC21〜DC2M,…,DCR1〜DCRMによる部分距離の計算は並列に行われる。 The distance calculation circuits DC 11 to DC 1M respectively store N × M stored in the search data storage circuit 5 each time new data is stored in the search data storage circuit 5 and the reference data storage circuits SC 11 to SC 1M. A partial distance in each dimension between the bit search data and the N × M bit reference data 1 stored in the reference data storage circuits SC 11 to SC 1M is calculated. The distance calculating circuit DC 21 to DC 2M, respectively, each time a new data is stored in the search data storage circuit 5 and the reference data storage circuit SC 21 to SC 2M, stored in the search data storage circuit 5 N A partial distance in each dimension between the search data of × M bits and the reference data 2 of N × M bits stored in the reference data storage circuits SC 21 to SC 2M is calculated. In the same manner, the distance calculating circuit DC R1 to DC RM, respectively, each time a new data is stored in the search data storage circuit 5 and the reference data storage circuit SC R1 to SC RM, the search data storage circuit 5 A partial distance of each dimension between the stored N × M bit search data and the N × M bit reference data R stored in the reference data storage circuits SC R1 to SC RM is calculated. The partial distances are calculated in parallel by these distance calculation circuits DC 11 to DC 1M , DC 21 to DC 2M ,..., DC R1 to DC RM .

なお、部分距離は、検索データと参照データとの各次元の差分絶対値および差分二乗値のいずれでもよい。検索データと参照データとの間の距離をマンハッタン距離で評価する場合、差分距離として差分絶対値を用いるとよい。検索データと参照データとの間の距離をユークリッド距離で評価する場合、差分距離として差分二乗値を用いるとよい。距離計算回路の具体的な回路構成については先願の明細書および図面に詳しく説明されている。以下では、便宜上、部分距離として差分二乗値を用いるものとして説明する。   The partial distance may be either a difference absolute value or a difference square value of each dimension between the search data and the reference data. When the distance between the search data and the reference data is evaluated by the Manhattan distance, the difference absolute value may be used as the difference distance. When the distance between the search data and the reference data is evaluated by the Euclidean distance, a difference square value may be used as the difference distance. The specific circuit configuration of the distance calculation circuit is described in detail in the specification and drawings of the prior application. In the following description, for the sake of convenience, the description will be made assuming that the difference square value is used as the partial distance.

次元数拡張回路DEC11〜DEC1M/2は、それぞれ、検索データ保存回路5および参照データ保存回路SC11〜SC1Mに新たなデータが保存されるたびに、距離計算回路DC11〜DC1Mによって計算された各次元の部分距離を2次元分まとめて累積加算する。また、次元数拡張回路DEC21〜DEC2M/2は、それぞれ、検索データ保存回路5および参照データ保存回路SC21〜SC2Mに新たなデータが保存されるたびに、距離計算回路DC21〜DC2Mによって計算された各次元の部分距離を2次元分まとめて累積加算する。以下、同様にして、次元数拡張回路DECR1〜DECRM/2は、それぞれ、検索データ保存回路5および参照データ保存回路SCR1〜SCRMに新たなデータが保存されるたびに、距離計算回路DCR1〜DCRMによって計算された各次元の部分距離を2次元分まとめて累積加算する。これら次元数拡張回路DEC11〜DEC1M/2,DEC21〜DEC2M/2,…,DECR1〜DECRM/2による部分距離の累積加算は並列に行われる。 Dimensionality expansion circuit DEC 11 ~DEC 1M / 2, respectively, each time a new data is stored in the search data storage circuit 5 and the reference data storage circuit SC 11 to SC 1M, by the distance calculation circuit DC 11 to DC 1M The calculated partial distances in each dimension are accumulated and added together for two dimensions. Further, the dimension number expansion circuits DEC 21 to DEC 2M / 2 are respectively connected to the distance calculation circuits DC 21 to DC each time new data is stored in the search data storage circuit 5 and the reference data storage circuits SC 21 to SC 2M. The partial distances of each dimension calculated by 2M are cumulatively added together for two dimensions. Hereinafter, in the same manner, the dimension number expansion circuits DEC R1 to DEC RM / 2 each time the new data is stored in the search data storage circuit 5 and the reference data storage circuits SC R1 to SC RM , respectively. The partial distances of each dimension calculated by DC R1 to DC RM are cumulatively added together for two dimensions. These dimensional number increasing circuit DEC 11 ~DEC 1M / 2, DEC 21 ~DEC 2M / 2, ..., cumulative addition of the partial distance by the DEC R1 ~DEC RM / 2 is performed in parallel.

距離計算回路DC11〜DC1M,DC21〜DC2M,…,DCR1〜DCRMに1対1に対応するように次元数拡張回路を配置してもよいが、Eが2の冪乗で表される場合、logEだけ余分にビット数が必要となる。E=64の場合、ハードウェア上に用意された次元の64倍の次元まで処理できるが、1次元当たり6ビット余分に用意しておく必要がある。そこで、データ信号線を削減するために、本実施形態のように、各次元数拡張回路において2次元分の部分距離の累積加算を行うようにするとよい。 The dimension expansion circuit may be arranged so as to correspond to the distance calculation circuits DC 11 to DC 1M , DC 21 to DC 2M ,..., DC R1 to DC RM one by one, but E is a power of 2 If represented, an extra bit number is required by log 2 E. In the case of E = 64, it is possible to process up to 64 times the dimension prepared on the hardware, but it is necessary to prepare an extra 6 bits per dimension. Therefore, in order to reduce data signal lines, it is preferable to perform cumulative addition of partial distances for two dimensions in each dimension number expansion circuit as in this embodiment.

距離計算回路DC11〜DC1M,DC21〜DC2M,…,DCR1〜DCRMからは、それぞれ、2Nビットの部分距離(差分二乗値)が出力される。したがって、2個の距離計算回路から出力される2次元分の部分距離は4Nビットとなる。このとき、各距離計算回路から出力される各次元の部分距離を逐次的にa=1からa=Eまで累積加算する場合、各次元数拡張回路の出力ビット幅は2次元当たり4N+2logEビット必要となる。これに対して、本実施形態のように、2個の距離計算回路から出力される2次元分の部分距離をまとめて累積加算を行うことで、各次元数拡張回路の出力ビット幅は(2N+1)+logEビットに削減することができる。例えば、E=22N−1倍の次元拡張を行う場合、次元数拡張回路DEC11〜DEC1M/2,DEC21〜DEC2M/2,…,DECR1〜DECRM/2の出力ビット幅は4Nビットとなり、2個の距離計算回路から出力される2次元分の部分距離である4Nビットと等しくすることができる。また、例えば、N=8ビット、すなわち、E=32768倍の次元数拡張を行う場合、次元数拡張回路DEC11〜DEC1M/2,DEC21〜DEC2M/2,…,DECR1〜DECRM/2の出力ビット幅は4N=32ビットとなる。ここで、M=16次元とすると、本実施形態に係る連想メモリ100は、約50万次元まで拡張したデータを取り扱うことができる。 From the distance calculation circuits DC 11 to DC 1M , DC 21 to DC 2M ,..., DC R1 to DC RM , 2N-bit partial distances (differential square values) are output. Therefore, the two-dimensional partial distance output from the two distance calculation circuits is 4N bits. At this time, when the partial distances of each dimension output from each distance calculation circuit are sequentially accumulated from a = 1 to a = E, the output bit width of each dimension number expansion circuit is 4N + 2 log 2 E bits per two dimensions. Necessary. On the other hand, as in the present embodiment, by performing cumulative addition of the partial distances for two dimensions output from the two distance calculation circuits, the output bit width of each dimension number expansion circuit is (2N + 1). ) + Log 2 E bits. For example, when the dimension extension of E = 2 2N-1 is performed, the output bit widths of the dimension extension circuits DEC 11 to DEC 1M / 2 , DEC 21 to DEC 2M / 2 ,..., DEC R1 to DEC RM / 2 are 4N bits, which can be made equal to 4N bits, which are two-dimensional partial distances output from two distance calculation circuits. For example, when N = 8 bits, that is, E = 32768 times of dimension extension, the dimension extension circuits DEC 11 to DEC 1M / 2 , DEC 21 to DEC 2M / 2 ,..., DEC R1 to DEC RM The output bit width of / 2 is 4N = 32 bits. Here, if M = 16 dimensions, the associative memory 100 according to the present embodiment can handle data expanded to about 500,000 dimensions.

距離/クロック数変換回路DEは、E×M次元の検索データおよびR個のE×M次元の参照データがそれぞれE回に分けて検索データ保存回路5および参照データ保存回路SC11〜SC1Mに保存された後に、次元数拡張回路DEC11〜DEC1M/2によって累積加算された部分距離を合計してE×M次元の検索データとE×M次元の参照データ1との距離を計算し、当該距離に応じたクロック数をカウントしたタイミングを示すタイミング信号Cを出力する。また、距離/クロック数変換回路DEは、E×M次元の検索データおよびR個のE×M次元の参照データがそれぞれE回に分けて検索データ保存回路5および参照データ保存回路SC21〜SC2Mに保存された後に、次元数拡張回路DEC21〜DEC2M/2によって累積加算された部分距離を合計してE×M次元の検索データとE×M次元の参照データ2との距離を計算し、当該距離に応じたクロック数をカウントしたタイミングを示すタイミング信号Cを出力する。以下、同様にして、距離/クロック数変換回路DEは、E×M次元の検索データおよびR個のE×M次元の参照データがそれぞれE回に分けて検索データ保存回路5および参照データ保存回路SCR1〜SCRMに保存された後に、次元数拡張回路DECR1〜DECRM/2によって累積加算された部分距離を合計してE×M次元の検索データとE×M次元の参照データRとの距離を計算し、当該距離に応じたクロック数をカウントしたタイミングを示すタイミング信号Cを出力する。これら距離/クロック数変換回路DE〜DEによる、距離に応じたクロック数のカウントは並列に行われる。 The distance / clock number conversion circuit DE 1 divides the E × M dimensional search data and the R E × M dimensional reference data into E times, respectively, for the search data storage circuit 5 and the reference data storage circuits SC 11 to SC 1M. Are stored in the dimensionality expansion circuit DEC 11 to DEC 1M / 2 , and the distances accumulated by the dimensional number expansion circuits DEC 11 to DEC 1M / 2 are added to calculate the distance between the E × M dimensional search data and the E × M dimensional reference data 1. A timing signal C 1 indicating the timing at which the number of clocks corresponding to the distance is counted is output. Further, the distance / clock number conversion circuit DE 2 divides the E × M dimensional search data and the R E × M dimensional reference data into E times, respectively, for the search data storage circuit 5 and the reference data storage circuit SC 21 . After being stored in the SC 2M , the partial distances accumulated and added by the dimension number extension circuits DEC 21 to DEC 2M / 2 are summed to obtain the distance between the E × M dimensional search data and the E × M dimensional reference data 2. It computes, and outputs a timing signal C 2 which shows the timing obtained by counting the number of clocks corresponding to the distance. In the same manner, the distance / clock number conversion circuit DE R, the search data storage circuit 5 and the reference data stored E × M dimensional search data and the R E × M-dimensional reference data is divided into E times each The partial distances accumulated by the dimension extension circuits DEC R1 to DEC RM / 2 after being stored in the circuits SC R1 to SC RM are summed to obtain E × M dimensional search data and E × M dimensional reference data R distance to the calculation of the outputs a timing signal C R indicating the timing obtained by counting the number of clocks corresponding to the distance. According to these distance / clock number conversion circuit DE 1 ~DE R, the number of clocks counted in accordance with the distance is performed in parallel.

Winner検出器20は、距離/クロック数変換回路DE〜DEからそれぞれタイミング信号C〜Cを受ける。図3は、一例に係るタイミング信号のタイミングチャートである。そして、Winner検出器20は、その受けたタイミング信号C〜Cのうち、一致タイミングが早い順にk(kは1≦k≦Rを満たす整数)個のタイミング信号を検出し、その検出したk個のタイミング信号を検索データと参照データとの類似度を示すマッチ信号M〜Mとして出力する。 Winner detector 20, respectively receives a timing signal C 1 -C R from the distance / clock number conversion circuit DE 1 ~DE R. FIG. 3 is a timing chart of timing signals according to an example. Then, Winner detector 20, among the received timing signal C 1 -C R, k matches timing in chronological order (k is an integer satisfying a 1 ≦ k ≦ R) detects the number of timing signals, and the detection The k timing signals are output as match signals M 1 to M k indicating the similarity between the search data and the reference data.

≪次元数拡張回路の構成例≫
上述したように2個の距離計算回路から出力される2次元分の部分距離をまとめて累積加算を行う場合、式(1)は次式(2)のように変形される。
≪Configuration example of dimension extension circuit≫
As described above, when cumulative addition is performed on the two-dimensional partial distances output from the two distance calculation circuits, the expression (1) is transformed into the following expression (2).

次元数拡張回路DEC11〜DEC1M/2,DEC21〜DEC2M/2,…,DECR1〜DECRM/2は、それぞれ、式(2)におけるΣa=1 の計算を行う。 The dimension extension circuits DEC 11 to DEC 1M / 2 , DEC 21 to DEC 2M / 2 ,..., DEC R1 to DEC RM / 2 respectively calculate Σ a = 1 E in Equation (2).

図4は、次元数拡張回路の構成例を示す。次元数拡張回路は、二つのマルチプレクサ(MUX)11a,11bと、全加算器(Full Adder)12と、二つのDフリップフロップ(DFF)13a,13bとを含む。   FIG. 4 shows a configuration example of the dimension number extension circuit. The dimension extension circuit includes two multiplexers (MUX) 11a and 11b, a full adder (Full Adder) 12, and two D flip-flops (DFF) 13a and 13b.

MUX11aは、距離計算回路DCi(2j−1)(iは1≦i≦Rを満たす整数、jは1≦j≦M/2を満たす整数)によって計算された部分距離di(2j−1)が入力in0として、DFF13aの出力が入力in1としてそれぞれ与えられ、制御信号SDDによってin0およびin1のいずれか一方を選択的に出力する。部分距離di(2j−1)は差分二乗値であり、そのビット幅は2Nビットである。 The MUX 11a is a partial distance d i (2j−1 ) calculated by a distance calculation circuit DC i (2j−1) (i is an integer satisfying 1 ≦ i ≦ R, j is an integer satisfying 1 ≦ j ≦ M / 2). ) Is given as input in0, and the output of DFF 13a is given as input in1, and either one of in0 or in1 is selectively outputted by control signal SDD. The partial distance d i (2j−1) is a difference square value, and its bit width is 2N bits.

MUX11bは、距離計算回路DCi(2j)によって計算された部分距離di(2j)が入力in0として、DFF13bの出力が入力in1としてそれぞれ与えられ、制御信号SDDによってin0およびin1のいずれか一方を選択的に出力する。部分距離di(2j)は差分二乗値であり、そのビット幅は2Nビットである。 The MUX 11b is provided with the partial distance d i (2j) calculated by the distance calculation circuit DC i (2j) as an input in0, the output of the DFF 13b as an input in1, and either one of in0 or in1 by the control signal SDD. Selectively output. The partial distance d i (2j) is a difference square value, and its bit width is 2N bits.

MUX11aおよびMUX11bは、いずれも、SDDが“0”のときはin0を出力し、SDDが“1”のときはin1を出力する。   Both the MUX 11a and the MUX 11b output in0 when the SDD is “0”, and output in1 when the SDD is “1”.

全加算器12は、MUX11aの出力が入力Aとして、MUX11bの出力が入力Bとしてそれぞれ与えられ、AとBの全加算を行う2Nビットの全加算器である。CB(Carry Before)、CN(Carry Next)は、それぞれ、前のビットからの桁上げ信号、および次のビットへの桁上げ信号である。   The full adder 12 is a 2N-bit full adder that performs the full addition of A and B by receiving the output of the MUX 11a as the input A and the output of the MUX 11b as the input B, respectively. CB (Carry Before) and CN (Carry Next) are a carry signal from the previous bit and a carry signal to the next bit, respectively.

DFF13aは、全加算器12の出力OUTがデータ入力され、制御信号SDによって入力データの保存が制御される。具体的には、DFF13aは、SDの立ち上がりエッジのタイミングで入力データを保存する。   The DFF 13a receives the output OUT of the full adder 12 as data, and the storage of the input data is controlled by the control signal SD. Specifically, the DFF 13a stores input data at the timing of the rising edge of SD.

DFF13bは、全加算器12の出力OUTがデータ入力され、制御信号SDQによって入力データの保存が制御される。SDQはSDの反転信号である。具体的には、DFF13bは、SDQの立ち上がりエッジのタイミングで入力データを保存する。   The DFF 13b receives the output OUT of the full adder 12 as data and the storage of input data is controlled by the control signal SDQ. SDQ is an inverted signal of SD. Specifically, the DFF 13b stores input data at the timing of the rising edge of SDQ.

図5Aおよび図5Bは、図4の次元数拡張回路の動作例を示す図である。図5Aおよび図5Bを参照しながら上記構成の次元数拡張回路の動作例について説明する。なお、図中の矢印はデータの流れを表す。   5A and 5B are diagrams illustrating an operation example of the dimension number extension circuit of FIG. An example of the operation of the dimension extension circuit having the above configuration will be described with reference to FIGS. 5A and 5B. In addition, the arrow in a figure represents the flow of data.

step1:a=1で連想メモリ100にM次元の検索データおよびR個のM次元の参照データが保存され、これら検索データと個々の参照データとの間の各次元の部分距離が計算される。SDDが“0”であるため、全加算器12に2次元分のdi(2j−1)およびdi(2j)が入力されて加算される。全加算器12の加算結果がDFF13aおよびDFF13bにデータ入力されるが、この時点ではそのどちらにも取り込まれない。 In step 1: a = 1, M-dimensional search data and R M-dimensional reference data are stored in the associative memory 100, and a partial distance of each dimension between the search data and each reference data is calculated. Since SDD is “0”, two-dimensional d i (2j−1) and d i (2j) are input to the full adder 12 and added. Although the addition result of the full adder 12 is input to the DFF 13a and DFF 13b, it is not captured by either of them at this time.

step2:SDが“0”から“1”へ変化し、SDQが“1”から“0”へ変化する。SDが立ち上がることで、DFF13aが全加算器12の加算結果を保存し、DFF13aから保存値が出力される。   step 2: SD changes from “0” to “1”, and SDQ changes from “1” to “0”. When SD rises, the DFF 13a stores the addition result of the full adder 12, and the stored value is output from the DFF 13a.

step3:a=2で連想メモリ100に新たなM次元の検索データおよびR個のM次元の参照データが保存され、これら検索データと個々の参照データとの間の各次元の部分距離が計算される。SDDが“0”であるため、全加算器12に更新された2次元分のdi(2j−1)およびdi(2j)が入力されて加算される。全加算器12の加算結果がDFF13aおよびDFF13bにデータ入力されるが、SDが“1”のまま、SDQが“0”のままであるため、DFF13aおよびDFF13bに全加算器12の加算結果は取り込まれない。 Step 3: a new M-dimensional search data and R M-dimensional reference data are stored in the associative memory 100 at a = 2, and a partial distance of each dimension between the search data and each reference data is calculated. The Since SDD is “0”, the updated two-dimensional di (2j−1) and di (2j) are input to the full adder 12 and added. The addition result of the full adder 12 is input to the DFF 13a and DFF 13b, but since SD remains “1” and SDQ remains “0”, the addition result of the full adder 12 is taken into the DFF 13a and DFF 13b. I can't.

step4:SDが“1”から“0”へ変化し、SDQが“0”から“1”へ変化する。SDQが立ち上がることで、DFF13bが全加算器12の加算結果を保存し、DFF13bから保存値が出力される。   step 4: SD changes from “1” to “0”, and SDQ changes from “0” to “1”. When the SDQ rises, the DFF 13b stores the addition result of the full adder 12, and the stored value is output from the DFF 13b.

step5:SDDが“0”から“1”へ変化し、全加算器12にDFF13aの出力およびDFF13bの出力が入力されて加算される。これにより、a=1のときのdi(2j−1)およびdi(2j)の加算結果と、a=2のときのdi(2j−1)およびdi(2j)の加算結果とが加算される。すなわち、a=1からa=2までの2次元分の部分距離が累積加算される。全加算器12の加算結果がDFF13aおよびDFF13bにデータ入力されるが、SDが“0”のまま、SDQが“1”のままであるため、DFF13aおよびDFF13bに全加算器12の加算結果は取り込まれない。 Step 5: The SDD changes from “0” to “1”, and the output of the DFF 13a and the output of the DFF 13b are input to the full adder 12 and added. Thus, the addition result of the d i in the case of a = 1 (2j-1) and d i (2j), and the addition result of the d i in the case of a = 2 (2j-1) and d i (2j) Is added. That is, the partial distances for two dimensions from a = 1 to a = 2 are cumulatively added. The addition result of the full adder 12 is input to the DFF 13a and DFF 13b. However, since SD remains “0” and SDQ remains “1”, the addition result of the full adder 12 is taken into the DFF 13a and DFF 13b. I can't.

step6:SDが“0”から“1”へ変化し、SDQが“1”から“0”へ変化する。SDが立ち上がることで、DFF13aが全加算器12の加算結果、すなわち、a=1からa=2までの2次元分の部分距離の累積加算値を保存し、DFF13aから保存値が出力される。このとき、全加算器12においてDFF13bの出力とDFF13aの更新された出力とが加算され、新たな加算結果がDFF13aおよびDFF13bにデータ入力されるが、SDおよびSDQがいずれも立ち上がらないため、DFF13aおよびDFF13bに全加算器12の更新された加算結果は取り込まれない。   Step 6: SD changes from “0” to “1”, and SDQ changes from “1” to “0”. When SD rises, the DFF 13a stores the addition result of the full adder 12, that is, the cumulative addition value of the partial distances for two dimensions from a = 1 to a = 2, and the stored value is output from the DFF 13a. At this time, the output of the DFF 13b and the updated output of the DFF 13a are added in the full adder 12, and a new addition result is input to the DFF 13a and the DFF 13b. However, since neither SD nor SDQ rises, The updated addition result of the full adder 12 is not taken into the DFF 13b.

step7:a=3で連想メモリ100に新たなM次元の検索データおよびR個のM次元の参照データが保存され、これら検索データと個々の参照データとの間の各次元の部分距離が計算される。SDDが“1”から“0”へ変化し、全加算器12に更新された2次元分のdi(2j−1)およびdi(2j)が入力されて加算される。全加算器12の加算結果がDFF13aおよびDFF13bにデータ入力されるが、SDが“1”のまま、SDQが“0”のままであるため、DFF13aおよびDFF13bに全加算器12の加算結果は取り込まれない。 Step 7: New M-dimensional search data and R M-dimensional reference data are stored in the associative memory 100 at a = 3, and a partial distance of each dimension between the search data and each reference data is calculated. The The SDD changes from “1” to “0”, and updated two-dimensional di (2j−1) and di (2j) are input to the full adder 12 and added. The addition result of the full adder 12 is input to the DFF 13a and DFF 13b, but since SD remains “1” and SDQ remains “0”, the addition result of the full adder 12 is taken into the DFF 13a and DFF 13b. I can't.

step8:SDが“1”から“0”へ変化し、SDQが“0”から“1”へ変化する。SDQが立ち上がることで、DFF13bが全加算器12の加算結果を保存し、DFF13bから保存値が出力される。   Step 8: SD changes from “1” to “0”, and SDQ changes from “0” to “1”. When the SDQ rises, the DFF 13b stores the addition result of the full adder 12, and the stored value is output from the DFF 13b.

step9:SDDが“0”から“1”へ変化し、全加算器12にDFF13aの出力およびDFF13bの出力が入力されて加算される。これにより、a=1からa=2までのdi(2j−1)およびdi(2j)の累積加算結果と、a=3のときのdi(2j−1)およびdi(2j)の加算結果とが加算される。すなわち、a=1からa=3までの2次元分の部分距離が累積加算される。全加算器12の加算結果がDFF13aおよびDFF13bにデータ入力されるが、SDが“0”のまま、SDQが“1”のままであるため、DFF13aおよびDFF13bに全加算器12の加算結果は取り込まれない。 Step 9: The SDD changes from “0” to “1”, and the output of the DFF 13 a and the output of the DFF 13 b are input to the full adder 12 and added. Thus, a = from 1 to a = 2 d i (2j- 1) and d i and accumulation result of (2j), d i in the case of a = 3 (2j-1) and d i (2j) Are added together. In other words, two-dimensional partial distances from a = 1 to a = 3 are cumulatively added. The addition result of the full adder 12 is input to the DFF 13a and DFF 13b. However, since SD remains “0” and SDQ remains “1”, the addition result of the full adder 12 is taken into the DFF 13a and DFF 13b. I can't.

step10:SDが“0”から“1”へ変化し、SDQが“1”から“0”へ変化する。SDが立ち上がることで、DFF13aが全加算器12の加算結果、すなわち、a=1からa=3までの2次元分の部分距離の累積加算値を保存し、DFF13aから保存値が出力される。このとき、全加算器12においてDFF13bの出力とDFF13aの更新された出力とが加算され、新たな加算結果がDFF13aおよびDFF13bにデータ入力されるが、SDおよびSDQがいずれも立ち上がらないため、DFF13aおよびDFF13bに全加算器12の更新された加算結果は取り込まれない。   Step 10: SD changes from “0” to “1”, and SDQ changes from “1” to “0”. When SD rises, the DFF 13a stores the addition result of the full adder 12, that is, the cumulative addition value of the partial distances for two dimensions from a = 1 to a = 3, and the stored value is output from the DFF 13a. At this time, the output of the DFF 13b and the updated output of the DFF 13a are added in the full adder 12, and a new addition result is input to the DFF 13a and the DFF 13b. However, since neither SD nor SDQ rises, The updated addition result of the full adder 12 is not taken into the DFF 13b.

以後、同様の処理をa=Eまで繰り返すことで、DFF13aにa=1からa=Eまでの2次元分の部分距離の累積加算値が保存され、DFF13aから累積加算値Di(2j−1)が出力される。このように、次元数拡張回路によってE×M次元のデータの次元数がM次元に圧縮される。これにより、一度に最大でM次元のデータしか扱えないメモリアレイ部10を有する連想メモリ100において、処理可能なデータの次元数を任意に拡張することができる。 Thereafter, by repeating the same processing until a = E, the cumulative addition value of the two-dimensional partial distances from a = 1 to a = E is stored in the DFF 13a, and the cumulative addition value D i (2j−1 ) is stored from the DFF 13a. ) Is output. As described above, the number of dimensions of the E × M-dimensional data is compressed to M dimensions by the dimension number expansion circuit. Thereby, in the associative memory 100 having the memory array unit 10 that can handle only M-dimensional data at the maximum, the number of dimensions of data that can be processed can be arbitrarily expanded.

≪制御回路の構成例≫
次に、メモリアレイ部10へのデータ書き込み、距離計算回路DC11〜DC1M,DC21〜DC2M,…,DCR1〜DCRMの制御、および次元数拡張回路DEC11〜DEC1M/2,DEC21〜DEC2M/2,…,DECR1〜DECRM/2の制御について説明する。
≪Example of control circuit configuration≫
Next, data writing to the memory array 10, a distance calculation circuit DC 11 ~DC 1M, DC 21 ~DC 2M, ..., control of DC R1 to DC RM, and dimensionality expansion circuit DEC 11 ~DEC 1M / 2, DEC 21 ~DEC 2M / 2, ... , DEC R1 ~DEC RM / 2 of the control will be described.

図6は、制御回路の構成例を示す。本例に係る制御回路200は、DC制御回路(距離計算回路の制御回路)210と、DEC制御回路(次元数拡張回路の制御回路)220とを含む。図中の「D−FF」は、ネガティブエッジ型のDフリップフロップを表す。図7は、制御回路200の入出力信号のタイミングチャートである。   FIG. 6 shows a configuration example of the control circuit. The control circuit 200 according to this example includes a DC control circuit (control circuit for distance calculation circuit) 210 and a DEC control circuit (control circuit for dimension extension circuit) 220. “D-FF” in the drawing represents a negative edge type D flip-flop. FIG. 7 is a timing chart of input / output signals of the control circuit 200.

図8は、DC制御回路210の構成例を示す。図中の「FDIV」は分周回路(2分周)を表す。図9は、DC制御回路210の入出力信号のタイミングチャートである。DC制御回路210において、SQGが立ち上がるとCLKの反転信号としてRSTDQが立ち下がる。そして、1クロックカウントされることで、分周回路FDVIの出力が“1”になる。SQGも“1”なのでSQDはSQGの1クロック後に“1”になる。   FIG. 8 shows a configuration example of the DC control circuit 210. “FDIV” in the figure represents a frequency dividing circuit (frequency division by 2). FIG. 9 is a timing chart of input / output signals of the DC control circuit 210. In the DC control circuit 210, when SQG rises, RSTDQ falls as an inverted signal of CLK. Then, by counting one clock, the output of the frequency dividing circuit FDVI becomes “1”. Since SQG is also “1”, SQD becomes “1” one clock after SQG.

図10は、DEC制御回路220の構成例を示す。図中の「FDIV」は分周回路(2分周)を、「SRFF」はSRフリップフロップを表す。図11は、DEC制御回路220の入出力信号のタイミングチャートである。DEC制御回路220において、SQGが1回目に立ち下がると、分周回路FDVIの出力が“1”になる。これにより、その後はSQGとSDのタイミングが等しくなり、また、SDDはSDの反転信号となる。なお、厳密には、SDDはCLKに同期した信号である。   FIG. 10 shows a configuration example of the DEC control circuit 220. In the figure, “FDIV” represents a frequency dividing circuit (frequency division by 2), and “SRFF” represents an SR flip-flop. FIG. 11 is a timing chart of input / output signals of the DEC control circuit 220. In the DEC control circuit 220, when SQG falls for the first time, the output of the frequency dividing circuit FDVI becomes “1”. As a result, the timings of SQG and SD become equal thereafter, and SDD becomes an inverted signal of SD. Strictly speaking, SDD is a signal synchronized with CLK.

次に、図7のタイミングチャートを参照しながら制御回路200の動作例について説明する。   Next, an operation example of the control circuit 200 will be described with reference to the timing chart of FIG.

step I:R個のE×M次元の参照データの部分データであるR個のM次元の参照データ(a=1のときの参照データ)が参照データ保存回路SC11〜SC1M,SC21〜SC2M,…,SCR1〜SCRMに保存される(処理A)。また、E×M次元の検索データの部分データであるM次元の検索データ(a=1のときの検索データ)が検索データ保存回路5に保存される(処理B)。処理Aおよび処理Bは、行デコーダ2および列デコーダ3を1クロックずつ切り替えながら行われる。処理Aおよび処理Bが終了するとSQが立ち上がる。SQは図示しないCPUから出力される。以後、SQは、a=Eまで、すなわち、E×M次元のデータ検索によってwinnerが検出されるまで立ち上げ続ける。 step I: R M-dimensional reference data (reference data when a = 1), which is partial data of R E × M-dimensional reference data, are reference data storage circuits SC 11 to SC 1M , SC 21 to SC 2M ,..., SC R1 to SC RM are stored (processing A). Further, M-dimensional search data (search data when a = 1), which is partial data of E × M-dimensional search data, is stored in the search data storage circuit 5 (Process B). Process A and process B are performed while switching the row decoder 2 and the column decoder 3 one clock at a time. When process A and process B are completed, SQ rises. SQ is output from a CPU (not shown). Thereafter, SQ continues to rise until a = E, that is, until winner is detected by E × M-dimensional data search.

step II:SQが立ち上がると、SQとGCLKQの論理積であるSQGが立ち上がる。GCLKQは、GCLKの反転信号であり、GCLKは、距離計算回路において二乗計算(部分距離の計算)が終了すると“1”となる信号である。SQGは、距離計算回路において、検索データと参照データとの各次元の差分絶対値ADをラッチ回路で保存するためのラッチ信号として使用される。SQGをクロック信号CLKに同期させたのがSQGSYである。SQGSYが立ち上がってから1クロックでRSTDが立ち上がることで距離計算回路における図示しない二乗計算用のDフリップフロップをリセットする。そして、RSTDが再び立ち上がるタイミングでSQDが立ち上がる。SQDは、距離計算回路における図示しないマルチプレクサの切り替えに使用される。つまり、絶対値差計算から二乗計算に切り替わり、クロックが入力されるごとに逐次的に部分積の加算が行われる。SQDが立ち上がってからNクロックで二乗計算が終了し、GCLKが立ち上がる。なお、二乗計算を行う距離計算回路の具体的な構成については先願の明細書および図面に詳しく説明されている。   step II: When SQ rises, SQG which is the logical product of SQ and GCLKQ rises. GCLKQ is an inverted signal of GCLK, and GCLK is a signal that becomes “1” when the square calculation (partial distance calculation) is completed in the distance calculation circuit. SQG is used as a latch signal in the distance calculation circuit for storing the absolute difference value AD of each dimension between the search data and the reference data in the latch circuit. SQGSY synchronizes SQG with the clock signal CLK. When RSTD rises in one clock after SQGSY rises, the D flip-flop for square calculation (not shown) in the distance calculation circuit is reset. Then, SQD rises at the timing when RSTD rises again. The SQD is used for switching a multiplexer (not shown) in the distance calculation circuit. That is, the absolute value difference calculation is switched to the square calculation, and the partial products are sequentially added each time the clock is input. The square calculation is completed in N clocks after SQD rises, and GCLK rises. The specific configuration of the distance calculation circuit that performs the square calculation is described in detail in the specification and drawings of the prior application.

step III:GCLKの立ち上がりを受けて再び処理Aおよび処理Bが開始される。処理Aおよび処理Bが終了するとRSTDCが立ち上がる。つまり、本ステップでは、a=2のときのデータの書き込みと絶対値差計算が行われる。   Step III: Process A and process B are started again in response to the rising edge of GCLK. When process A and process B are completed, RSTDC rises. That is, in this step, data writing and absolute value difference calculation when a = 2 are performed.

step IV:RSTDCが立ち上がると、GCLKが立ち下がる。GCLKの立ち下がりによりSQGが立ち上がるため、距離計算回路において絶対値差がラッチされる。距離計算回路に関するRSTD、SQD、SQGについては以上の動作を繰り返す。a=2からSQGSYとSDの信号変化のタイミングは等しくなる。a=2でSQGSYが立ち上がることでSDも立ち上がり、次元数拡張回路におけるDFF13aにa=1のときの計算結果が保存される。   step IV: When RSTDC rises, GCLK falls. Since SQG rises due to the fall of GCLK, the absolute value difference is latched in the distance calculation circuit. The above operations are repeated for RSTD, SQD, and SQG related to the distance calculation circuit. Since a = 2, the signal change timings of SQGSY and SD are equal. When SQGSY rises when a = 2, SD rises, and the calculation result when a = 1 is stored in the DFF 13a in the dimension extension circuit.

step V:前ステップでa=2の場合の部分距離の計算が終了する。そして、GCLKが立ち上がることでSQGが立ち下がる。SQGSYもCLKに同期して立ち下がり、SDも立ち下がる。SDが立ち下がることでSDQが立ち上がり、次元数拡張回路におけるDFF13bにa=2のときの計算結果が保存される。そして、a=2からSDQのクロック同期信号としてSDDが動作する。SDDが立ち上がることで、次元数拡張回路におけるMUX11aおよび11bが切り替わり、a=1とa=2の場合の部分距離が累積加算される。本ステップでは、同時にa=3の場合の処理Aおよび処理Bが行われる。その処理が終わり、RSTDCが立ち上がることでSDが立ち上がるため、次元数拡張回路におけるDFF13aにa=1からa=2までの累積加算結果が保存される。そして、その1クロック後にSDDが立ち上がる。   step V: The calculation of the partial distance when a = 2 is completed in the previous step. And SQG falls when GCLK rises. SQGSY also falls in synchronization with CLK, and SD also falls. When SD falls, SDQ rises, and the calculation result when a = 2 is stored in DFF 13b in the dimension extension circuit. Then, the SDD operates as an SDQ clock synchronization signal from a = 2. When the SDD rises, the MUXs 11a and 11b in the dimension extension circuit are switched, and the partial distances when a = 1 and a = 2 are cumulatively added. In this step, processing A and processing B in the case of a = 3 are performed at the same time. When the process ends and SD rises when RSTDC rises, a cumulative addition result from a = 1 to a = 2 is stored in DFF 13a in the dimension number extension circuit. Then, SDD rises after one clock.

以上の動作を繰り返すことで、E×M次元の検索データがM次元ずつE回に分けて検索データ保存回路5に保存されるとともに、R個のE×M次元の参照データがR個のM次元ずつE回に分けて参照データ保存回路SC11〜SC1M,SC21〜SC2M,…,SCR1〜SCRMに保存され、さらに、距離計算回路および次元数拡張回路における処理がパイプライン化される。 By repeating the above operation, the E × M dimensional search data is divided into E times for each M dimension and stored in the search data storage circuit 5, and R E × M dimensional reference data are R M The data is stored in reference data storage circuits SC 11 to SC 1M , SC 21 to SC 2M ,..., SC R1 to SC RM divided into E times for each dimension, and the processing in the distance calculation circuit and the dimension number expansion circuit is pipelined Is done.

以上、本実施形態によると、連想メモリ100で取り扱い可能なデータ次元数を任意に拡張することができる。これにより、大きなデータサイズが要求されるアプリケーションにもクロックカウント式の連想メモリを適用できるようになる。   As described above, according to this embodiment, the number of data dimensions that can be handled by the associative memory 100 can be arbitrarily expanded. As a result, the clock count type associative memory can be applied to an application that requires a large data size.

なお、データの次元数を拡張すると検索データと参照データとの距離も大きくなるため、距離/クロック数変換回路における処理時間(クロック数カウント)が増大することが予想される。そこで、先願に開示されているように、距離/クロック数変換回路における有効ビットを設定する有効ビット設定部を設けることで、クロックカウント数を削減することができる。   Note that if the number of data dimensions is expanded, the distance between the search data and the reference data also increases, so that it is expected that the processing time (clock number count) in the distance / clock number conversion circuit will increase. Therefore, as disclosed in the prior application, the number of clock counts can be reduced by providing an effective bit setting unit for setting effective bits in the distance / clock number conversion circuit.

本実施形態に係る連想メモリ100では、E×M次元のデータが図示しないメモリからM次元ずつE回に分けて検索データ保存回路5および参照データ保存回路SC11〜SC1M,SC21〜SC2M,…,SCR1〜SCRMに保存されるが、変形例として、連想メモリ100の容量を拡張してE×M次元の検索データおよびR個のE×M次元の参照データのすべてを連想メモリ100に格納しておいてもよい。例えば、E×M次元のデータからM次元の部分データを選択して距離計算回路DC11〜DC1M,DC21〜DC2M,…,DCR1〜DCRMに入力するための選択回路を設けるか、または、検索データ保存回路5および参照データ保存回路SC11〜SC1M,SC21〜SC2M,…,SCR1〜SCRMをFIFO(First-In First Out)型のスタックメモリなどで構成することでそのような変形例が可能である。そのような変形例では、R個のM次元のデータの並列処理が可能となる。 In the associative memory 100 according to the present embodiment, E × M-dimensional data is divided into E times for each M dimension from a memory (not shown), and the search data storage circuit 5 and the reference data storage circuits SC 11 to SC 1M and SC 21 to SC 2M. ,..., SC R1 to SC RM are stored in the associative memory by expanding the capacity of the associative memory 100 and storing all the E × M dimensional search data and the R E × M dimensional reference data. You may store in 100. For example, is it possible to provide a selection circuit for selecting M-dimensional partial data from E × M-dimensional data and inputting it to the distance calculation circuits DC 11 to DC 1M , DC 21 to DC 2M ,..., DC R1 to DC RM Alternatively, the search data storage circuit 5 and the reference data storage circuits SC 11 to SC 1M , SC 21 to SC 2M ,..., SC R1 to SC RM are composed of a FIFO (First-In First Out) type stack memory or the like. Such a modification is possible. In such a modification, R pieces of M-dimensional data can be processed in parallel.

本発明に係る連想メモリは、パターン認識・学習、類似検索処理、知能情報処理、インテリジェント家電、監視システム、セキュリティ認証などの分野で利用することができる。   The associative memory according to the present invention can be used in fields such as pattern recognition / learning, similarity search processing, intelligent information processing, intelligent home appliances, monitoring systems, and security authentication.

100 連想メモリ
5 検索データ保存回路
SC 参照データ保存回路
DC 距離計算回路
DEC 次元数拡張回路
DE 距離/クロック数変換回路
11a MUX(第1のマルチプレクサ)
11b MUX(第2のマルチプレクサ)
12 全加算器
13a DFF(第1のDフリップフロップ)
13b DFF(第2のDフリップフロップ)
100 associative memory 5 search data storage circuit SC reference data storage circuit DC distance calculation circuit DEC dimension number expansion circuit DE distance / clock number conversion circuit 11a MUX (first multiplexer)
11b MUX (second multiplexer)
12 Full adder 13a DFF (first D flip-flop)
13b DFF (second D flip-flop)

Claims (4)

E×M次元(ただし、E,Mはいずれも2以上の整数である。)の検索データをM次元ずつE回に分けて保存する検索データ保存回路と、
R個(ただし、Rは2以上の整数である。)のE×M次元の参照データをR個のM次元ずつE回に分けて保存する参照データ保存回路と、
前記検索データ保存回路および前記参照データ保存回路に新たなデータが保存されるたびに、前記検索データ保存回路に保存された検索データと前記参照データ保存回路に保存された個々の参照データとの各次元の部分距離を計算する距離計算回路と、
前記検索データ保存回路および前記参照データ保存回路に新たなデータが保存されるたびに、個々の参照データごとに、前記距離計算回路によって計算された各次元の部分距離を累積加算する次元数拡張回路と、
前記E×M次元の検索データおよび前記R個のE×M次元の参照データがそれぞれE回に分けて前記検索データ保存回路および前記参照データ保存回路に保存された後に、個々の参照データごとに、前記次元数拡張回路によって累積加算された部分距離を合計して前記E×M次元の検索データと個々の前記E×M次元の参照データとの距離を計算し、当該距離に応じたクロック数をカウントしたタイミングを示すタイミング信号を出力する距離/クロック数変換回路とを備えている
ことを特徴とする連想メモリ。
A search data storage circuit that stores search data of E × M dimensions (where E and M are integers equal to or greater than 2) divided into M times in E times;
A reference data storage circuit that stores R (where R is an integer equal to or greater than 2) E × M-dimensional reference data divided into R M-dimensional reference E times;
Each time new data is stored in the search data storage circuit and the reference data storage circuit, each of the search data stored in the search data storage circuit and the individual reference data stored in the reference data storage circuit A distance calculation circuit for calculating a partial distance of the dimension;
Each time new data is stored in the search data storage circuit and the reference data storage circuit, a dimension number expansion circuit that cumulatively adds the partial distances of each dimension calculated by the distance calculation circuit for each reference data. When,
After the E × M-dimensional search data and the R E × M-dimensional reference data are stored in the search data storage circuit and the reference data storage circuit in E times, respectively, for each reference data Then, the distances between the E × M dimensional search data and the individual E × M dimensional reference data are calculated by summing the partial distances cumulatively added by the dimensionality expansion circuit, and the number of clocks corresponding to the distance An associative memory comprising: a distance / clock number conversion circuit that outputs a timing signal indicating a timing at which counting is performed.
前記次元数拡張回路が、第1および第2のマルチプレクサと、全加算器と、第1および第2のDフリップフロップとを有するものであり、
前記第1のマルチプレクサは、前記距離計算回路によって計算された第1の次元の部分距離および前記第1のDフリップフロップの出力がそれぞれ第1および第2の入力として与えられ、第1の制御信号によって前記第1および第2の入力のいずれか一方を選択的に出力するものであり、
前記第2のマルチプレクサは、前記距離計算回路によって計算された第2の次元の部分距離および前記第2のDフリップフロップの出力がそれぞれ第1および第2の入力として与えられ、前記第1の制御信号によって前記第1および第2の入力のいずれか一方を選択的に出力するものであり、
前記全加算器は、前記第1のマルチプレクサの出力と前記第2のマルチプレクサの出力とを全加算するものであり、
前記第1のDフリップフロップは、前記全加算器の出力がデータ入力され、第2の制御信号によって入力データの保存が制御されるものであり、
前記第2のDフリップフロップは、前記全加算器の出力がデータ入力され、前記第2の制御信号の反転である第3の制御信号によって入力データの保存が制御されるものである
ことを特徴とする請求項1に記載の連想メモリ。
The dimension extension circuit includes first and second multiplexers, a full adder, and first and second D flip-flops,
The first multiplexer has a first dimension partial distance calculated by the distance calculation circuit and an output of the first D flip-flop as first and second inputs, respectively, and a first control signal To selectively output one of the first and second inputs,
The second multiplexer is provided with a second dimension partial distance calculated by the distance calculation circuit and an output of the second D flip-flop as first and second inputs, respectively, and the first control. One of the first and second inputs is selectively output according to a signal;
The full adder fully adds the output of the first multiplexer and the output of the second multiplexer,
In the first D flip-flop, the output of the full adder is data-input, and storage of input data is controlled by a second control signal,
In the second D flip-flop, the output of the full adder is input as data, and storage of input data is controlled by a third control signal that is an inversion of the second control signal. The associative memory according to claim 1.
前記距離計算回路が、前記部分距離として、前記検索データ保存回路に保存された検索データと前記参照データ保存回路に保存された個々の参照データとの各次元の差分絶対値を計算する
ことを特徴とする請求項1または請求項2に記載の連想メモリ。
The distance calculation circuit calculates, as the partial distance, a difference absolute value of each dimension between search data stored in the search data storage circuit and individual reference data stored in the reference data storage circuit. The associative memory according to claim 1 or 2.
前記距離計算回路が、前記部分距離として、前記検索データ保存回路に保存された検索データと前記参照データ保存回路に保存された個々の参照データとの各次元の差分二乗値を計算する
ことを特徴とする請求項1または請求項2に記載の連想メモリ。
The distance calculation circuit calculates, as the partial distance, a difference square value of each dimension between search data stored in the search data storage circuit and individual reference data stored in the reference data storage circuit. The associative memory according to claim 1 or 2.
JP2014022398A 2014-02-07 2014-02-07 Associative memory Expired - Fee Related JP6215726B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014022398A JP6215726B2 (en) 2014-02-07 2014-02-07 Associative memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014022398A JP6215726B2 (en) 2014-02-07 2014-02-07 Associative memory

Publications (2)

Publication Number Publication Date
JP2015149113A JP2015149113A (en) 2015-08-20
JP6215726B2 true JP6215726B2 (en) 2017-10-18

Family

ID=53892359

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014022398A Expired - Fee Related JP6215726B2 (en) 2014-02-07 2014-02-07 Associative memory

Country Status (1)

Country Link
JP (1) JP6215726B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3731046B2 (en) * 2001-01-19 2006-01-05 国立大学法人広島大学 Semiconductor associative memory
JP5800422B2 (en) * 2011-11-07 2015-10-28 国立大学法人広島大学 Associative memory

Also Published As

Publication number Publication date
JP2015149113A (en) 2015-08-20

Similar Documents

Publication Publication Date Title
Kulkarni et al. Low overhead architectures for OMP compressive sensing reconstruction algorithm
Kumar et al. Low‐latency median filter core for hardware implementation of 5× 5 median filtering
US20210019147A1 (en) Parallel processor in associative content addressable memory
Chen et al. A low-power architecture for the design of a one-dimensional median filter
Chen et al. Scalable and systolic dual basis multiplier over GF (2m)
Azarderakhsh et al. Systolic Gaussian normal basis multiplier architectures suitable for high-performance applications
Cai et al. Convolution without multiplication: A general speed up strategy for CNNs
JP6215726B2 (en) Associative memory
Mahale et al. Hardware solution for real-time face recognition
Waris et al. AxSA: On the design of high-performance and power-efficient approximate systolic arrays for matrix multiplication
JP6215732B2 (en) Reconfigurable associative memory
JP5916563B2 (en) Associative memory
JP6327717B2 (en) k-neighbor associative memory
JP6085187B2 (en) Associative memory
JP6389438B2 (en) k-neighbor associative memory
Ghosh et al. A novel VLSI architecture for Walsh-Hadamard transform
Mukherjee et al. A novel architecture for conversion of binary to single digit double base numbers
Lee Super Digit-Serial Systolic Multiplier over GF (2^ m)
Meher High-throughput hardware-efficient digit-serial architecture for field multiplication over GF (2 m)
Cadenas et al. C-slow retimed parallel histogram architectures for consumer imaging devices
Vasanth et al. A Novel 8 bit digital comparator for 3x3 fixed kernel based modified shear sorting
Chen et al. Architecture design and VLSI hardware implementation of image encryption/decryption system using re-configurable 2D Von Neumann cellular automata
Ibrahim Low-complexity systolic array structure for field multiplication in resource-constrained IoT nodes
Antonio et al. Redundancy pruning for binary hyperdimensional computing architectures
Sultan et al. A compact low-power Mitchell-based error tolerant multiplier

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161214

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170921

R150 Certificate of patent or registration of utility model

Ref document number: 6215726

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees