[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH02501604A - associative memory system - Google Patents

associative memory system

Info

Publication number
JPH02501604A
JPH02501604A JP50529387A JP50529387A JPH02501604A JP H02501604 A JPH02501604 A JP H02501604A JP 50529387 A JP50529387 A JP 50529387A JP 50529387 A JP50529387 A JP 50529387A JP H02501604 A JPH02501604 A JP H02501604A
Authority
JP
Japan
Prior art keywords
memory
shift register
bitmap
index
memory system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP50529387A
Other languages
Japanese (ja)
Inventor
アレン,マレイ ウィリアム
ジャヤソーリアー
コロン,ロバート マイケル
Original Assignee
コモンウェルス サイエンティフィック アンド インダストリアル リサーチ オーガナイゼイション
ユニサーチ リミティド
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 コモンウェルス サイエンティフィック アンド インダストリアル リサーチ オーガナイゼイション, ユニサーチ リミティド filed Critical コモンウェルス サイエンティフィック アンド インダストリアル リサーチ オーガナイゼイション
Publication of JPH02501604A publication Critical patent/JPH02501604A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。 (57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 連想記憶メモリシステム 本発明は連想記憶メモリシステムに関する0本発明は又能動メモリ回路及び1つ 又はそれ以上の能動メモリ回路を含んでなる連想記憶メモリシステムにも関する 。[Detailed description of the invention] associative memory system The invention relates to an associative memory system.The invention also relates to an active memory circuit and an associative memory system. or an associative memory system comprising one or more active memory circuits. .

各レコードが多数の属性又は多数の情報を含む様なレコード形式におけるデータ を多量に含むコンピュータシステムにおいて、各詳細レコードがその記憶ロケー ションのみに基いてアクセスされるとすれば特定の属性を有するレコードを見い 出すためのレコードのサーチの処理はかなりの量の計算時間を要することになろ う。Data in a record format where each record contains multiple attributes or multiple pieces of information In a computer system containing a large number of If records with specific attributes are to be accessed based on The process of searching for records to output requires a considerable amount of calculation time. cormorant.

この問題はディスクの様な外部記憶装置に記録が格納される場合に一層強調され る。This problem is even more accentuated when records are stored on external storage devices such as disks. Ru.

この問題を緩和する1つの方法はレコードをその属性又は内容に基いてアクセス 可能な形で格納することである。この種のメモリシステムは連想記憶メモリシス テムとして知られそれを実現する1つの方法はレコードのファイルをビットマツ プマトリクスを形成する様にコード化することでありそれに基いてサーチが行な われて特定の命題を満足するレコードが見い出される。One way to alleviate this problem is to access records based on their attributes or content. It is important to store it in the form that is possible. This type of memory system is an associative memory system. One way to accomplish this is to convert the record file to bitmatsu, known as a system. It is coded to form a matrix, and searches are performed based on it. records that satisfy a particular proposition are found.

ビットマツプマトリクスは各行が特定のレコードを表わし各列がビットマツプと して知られるビットの配列を具備している。用いられたコード化の形式に応じて 行内の各ビットは通常それぞれのレコードの予め定められた属性を表わす。その ビットが1であればレコードは属性を持ちそのビットがOであればレコードは属 性を持たない、したがって、各ビットマツプはどのレコードが特定の属性を持ち どれが持たないかの指標を提供する。A bitmap matrix is a bitmap matrix where each row represents a particular record and each column represents a bitmap. It has an arrangement of bits known as depending on the form of encoding used Each bit within a row typically represents a predetermined attribute of the respective record. the If the bit is 1, the record has an attribute, and if the bit is O, the record has an attribute. Therefore, each bitmap has no information about which records have specific attributes. Provide an indication of which ones do not have.

どのレコードが特定の属性の組み合わせを持つかの様な複合した命題については その命題に対応する選択されたビットマツプに対する論理演算又は一連の論理演 算を行なってどのレコードが命題を満足するかに関する指標を提供するビットマ ツプを発生することによって解決される。For complex propositions such as which records have a particular combination of attributes, A logical operation or series of logical operations on the selected bitmap corresponding to the proposition. A bitmap that performs calculations to provide an indication of which records satisfy a proposition. It is resolved by generating a tsup.

本発明の1つの目的はホストコンピュータと共に用いられ比較的安価であり比較 的高速にレコードをサーチすることが可能な連想記憶メモリシステム、特に速度 に関してはメモリシステムなしでホストコンピュータによってサーチが達成され るであろう速度の連想記憶メモリシステムを提供することである。One object of the present invention is that it can be used with a host computer and is relatively inexpensive and comparatively Associative memory system that can search records at high speed, especially speed As for the search is accomplished by the host computer without a memory system The purpose of the present invention is to provide an associative memory system with speeds that will be faster than ever before.

本発明の別の目的は、ビットマツプマトリクスに対する論理演算を達成すること が可能な活性メモリ回路を提供することである。Another object of the present invention is to perform logical operations on bitmap matrices. An object of the present invention is to provide an active memory circuit capable of

本発明のさらに別の目的は、1つ又はそれ以上の活性メモリ回路を含む連想記憶 メモリシステムを提供することである。Yet another object of the invention is to provide an associative memory comprising one or more active memory circuits. It is to provide a memory system.

本発明によれば、複数のレコードを記憶するホストメモリとホストプロセッサバ スを有するホストコンピュータとの結合のための連想記憶メモリシステムであっ て、該メモリシステムは: 該ホストコンピュータに記憶されるレコードを表現するビットマツプマトリクス を記憶するためであって、使用において、該ホストプロセッサバスへ接続され該 ホストコンピュータによってアドレス可能なインデクスメモリ手段と、該メモリ 手段に記憶されたビットマツプをアクセスし該ビットマツプに対するビットマツ プ演算を達成し、使用において、該ホストプロセッサバスへ接続され該ホストコ ンピュータより制御されるインデクスプロセッサ手段と、該インデクスメモリ手 段と該インデクスプロセッサ手段との間に接続され、該メモリ手段と該プロセッ サ手段との間のビットマツプの通過のために採用されたメモリシステムバスとを 具備する連想記憶メモリシステムが提供される。According to the present invention, a host memory for storing a plurality of records and a host processor buffer are provided. is an associative memory system for connection with a host computer that has a So, the memory system is: A bitmap matrix representing records stored in the host computer. , and in use, connects the host processor bus index memory means addressable by a host computer; The bitmap stored in the means is accessed and the bitmap corresponding to the bitmap is accessed. In use, the host processor bus is connected to the host processor bus. an index processor means controlled by a computer and the index memory hand; the memory means and the processor means; A memory system bus employed for the passage of bitmaps to and from the An associative memory system is provided comprising: an associative memory system;

好適には前記インデクスメモリ手段は複数のインデクスメモリを具備し該複数の インデクスメモリの各々は:メモリセルのアレイと; シフトレジスタであって、該アレイへ接続されたパラレル人力/出力バスと、該 シフトレジスタの対向する端部におけるシリアル入力ポート及びシリアル出力ポ ートとを有し、該パラレル人力/出力バスは該アレイ内のデータの選択された行 のアクセスが可能であるシフトレジスタとを具備し:前記メモリシステムバスは 8亥インデクスメモリの8亥シリアル入力及び出力ポートを前記インデクスプロ セッサ手段へパラレルに接続し; 同時にアクセスされた該データの選択された行は少なくとも1つのビットマツプ を形成する。Preferably, the index memory means includes a plurality of index memories, and the index memory means includes a plurality of index memories. Each of the index memories includes: an array of memory cells; a shift register with a parallel input/output bus connected to the array; Serial input port and serial output port at opposite ends of the shift register and the parallel power/output bus connects selected rows of data in the array. and a shift register that is capable of accessing the memory system bus. Connect the 8 serial input and output ports of the 8 index memory to the index processor. connected in parallel to the processor means; The selected rows of the data accessed at the same time are at least one bitmap form.

本発明によれば行及び列に配置され少なくともビットマツプの一部を記憶するの に適するメモリセルのアレイと;少なくともビットマツプの一部を記憶するのに 適したシフトレジスタと; 該アレイと該シフトレジスタとの間に接続された論理ユニットとを具備し、 該アレイ、シフトレジスタ及び論理ユニットは集積回路よりなり、該シフトレジ スタは該アレイの選択された列をコピーすることが可能であり、該論理ユニット は該シフトレジスタの内容と該アレイの選択された列との選択された論理演算を 達成することが可能であり、該演算の結果は該シフトレジスタ内に記憶される能 動メモリ回路が提供される。According to the present invention, the bitmap is arranged in rows and columns and stores at least a part of the bitmap. an array of memory cells suitable for storing at least a portion of a bitmap; with a suitable shift register; a logic unit connected between the array and the shift register; The array, shift register and logic unit are comprised of integrated circuits; The logical unit can copy selected columns of the array. performs the selected logical operation between the contents of the shift register and the selected column of the array. and the result of the operation is stored in the shift register. A dynamic memory circuit is provided.

本発明によれば以上に定義した1つ又はそれ以上の能動メモリを含む以上に定義 した連想記憶メモリも又提供される。According to the invention, the above-defined active memories include one or more of the above-defined active memories. A content addressable memory is also provided.

本発明の好適な具体例が以下の添付図を参照して単なる例として記述される: 第1図はレコードの配列とレコードの配列に対して与えられた命題に対応するビ ットマツプの図であり;第2図は複合命題に呼応するビットマツプを発生する複 数の成分命題に呼応するレコードを表わす複数のビットマツプの図であり; 第3図はレコードのアレイに対するスーパーインポーズドコードインデクスを含 むビットマツプマトリクスの図であり;第4図はプール属性を表わすビットマツ プの図であり;第5図は2進数でコード化された属性に対する論理演算を含むビ ットマツプマトリクスのサーチの図であり;第6図はビットマツプマトリクスに 対して行なわれるより大/より小の分類の図であって分類を達成するアルゴリズ ムのリストを含む図であり; 第7図はいかにしてビットマツプマトリクスの最小値が見い出されるかを表わす 図であって最小値を決定するアルゴリズムのリストを含む図であり; 第8図はホストコンピュータに付属した本発明に係るメモリシステムのブロック 図であり; 第9図は第8図のシステム内のメモリの配置を示す図であり; 第10図は第8図のシステム内のメモリの配置をさらに示す図であり; 第11図は第8図のシステムが遂行することができるビットマツプ演算を表わす 図であり; 第12図は第8図のシステムのメモ、リチップの図であり;第13図は第8図の システムのメモリユニットの図であり:第14図は第8図のシステムのインデク スプロセッサの図であり: 第15図は第8図のシステムのデータの流れの図であり;第16図は本発明に係 る能動メモリ回路のブロック図であり: 第17図は第16図の回路のより詳細なブロック図であり:第18図は第16図 の回路のシフトレジスタセルと論理セルの回路図であり; 第19図は第16図の能動メモリを採用するインデクスメモリシステムのアーキ テクチアの図であり;第20図はスーパーインポーズドコードワード計算ユニッ トの図であり; 第21図は呼応するレコードのアドレスを決定し記憶するためのユニットの図で あり; 第22図は圧縮/拡大ユニットの図であり;第23図は特殊なテーブル参照ユニ ットの図であり;第24図は複数のカスケード接続された能動メモリの図であり ; 第25図は第16図の能動メモリ回路を採用した第8図のメモリシステムの図で ある。Preferred embodiments of the invention are described, by way of example only, with reference to the following accompanying figures: Figure 1 shows the array of records and the bits corresponding to the propositions given for the array of records. Figure 2 is a diagram of a bitmap that corresponds to a compound proposition; is a diagram of a plurality of bitmaps representing records corresponding to component propositions of a number; Figure 3 contains a superimposed code index for an array of records. Figure 4 is a diagram of a bitmap matrix representing pool attributes; Figure 5 is a diagram of a bit containing logical operations on binary coded attributes. Fig. 6 is a diagram of searching a bitmap matrix; An illustration of the greater/less than classification performed on the algorithm that accomplishes the classification. is a diagram containing a list of programs; Figure 7 shows how the minimum value of the bitmap matrix is found. 2 is a diagram containing a list of algorithms for determining the minimum value; FIG. 8 is a block diagram of a memory system according to the present invention attached to a host computer. It is a diagram; FIG. 9 is a diagram showing the arrangement of memory in the system of FIG. 8; FIG. 10 is a diagram further illustrating the arrangement of memory within the system of FIG. 8; Figure 11 represents the bitmap operations that the system of Figure 8 can perform. It is a diagram; Figure 12 is a memo and re-chip diagram for the system in Figure 8; Figure 13 is a diagram of the system in Figure 8. Figure 14 is a diagram of the memory unit of the system; Figure 14 is an index of the system of Figure 8; Here is a diagram of the processor: FIG. 15 is a diagram of the data flow of the system of FIG. 8; FIG. 16 is a diagram of the data flow of the system of FIG. This is a block diagram of an active memory circuit: 17 is a more detailed block diagram of the circuit of FIG. 16; FIG. 18 is a more detailed block diagram of the circuit of FIG. is a circuit diagram of a shift register cell and a logic cell of the circuit; Figure 19 shows the architecture of an index memory system that uses the active memory shown in Figure 16. Figure 20 is a diagram of the superimposed codeword calculation unit. It is a diagram of Figure 21 is a diagram of a unit for determining and storing the address of the corresponding record. can be; Figure 22 is a diagram of the compression/expansion unit; Figure 23 is a diagram of the special table reference unit. Figure 24 is a diagram of multiple cascaded active memories; ; Figure 25 is a diagram of the memory system of Figure 8 that employs the active memory circuit of Figure 16. be.

第1図に示されるファイル2はコンピュータシステム内に組み込まれたメモリ内 又はディスクの様な二次記憶装置上に記憶され、多数のレコード4を具備してい る。ファイル2を指標付は又はサーチするにあたり、1組のレコード4が特定の 性質又は命題に合うか否かを決定する必要がある。例えば各レコード4は車両の 色、車両の所有者、車両が登録された州、及び登録の日付の様な車両登録に関す る情報を含んでいる。第1図に示される様に、成る命題はどの車両が赤色で、N 、S、W、州で登録され、1985年1月1日以後に登録されたかをファル2よ り決定することである。その様な命題に対応するレコードの組は第1図に示され る様にビットマツプ6から決定することができる。ビットマツプ6はレコード4 の1個あたり1ビツトのビット配列である。特定のレコード4に対応するビット はそのレコード4が命題を満足又は命題に呼応すれば′1となり呼応しなければ 0となる。かくして、ビットマツプ6は命題を満足するレコードの組の圧縮され た表現を与える0図示された例において、4096個のレコードのテーブル又は ファイル2はビットマツプ6のために4096ビツト又は512バイトを必要と する。File 2 shown in Figure 1 is stored in the memory built into the computer system. or stored on a secondary storage device such as a disk, comprising a number of records 4. Ru. When indexing or searching file 2, a set of records 4 is It is necessary to decide whether it matches the property or proposition. For example, each record 4 is of a vehicle. Information about the vehicle registration such as color, vehicle owner, state where the vehicle was registered, and date of registration. Contains information about As shown in Figure 1, the proposition is which vehicle is red and N , S, W, state, and whether it was registered on or after January 1, 1985, from Fal 2. It is a matter of making decisions. The set of records corresponding to such a proposition is shown in Figure 1. It can be determined from the bitmap 6 as shown in FIG. Bitmap 6 is record 4 This is a bit array with one bit per piece. Bit corresponding to specific record 4 is '1 if record 4 satisfies or corresponds to the proposition, and if it does not correspond to the proposition, then It becomes 0. Thus, bitmap 6 is a compressed set of records that satisfy the proposition. In the illustrated example, a table of 4096 records or File 2 requires 4096 bits or 512 bytes for bitmap 6. do.

第1図は成る複合命題を表わしている。複合命題に呼応するビットマツプ6又は レコード4は第2図に示される様に複合命題を構成する成分の単一命題に呼応す るレコードを表わすビットマツプ8,10、及び12に対する簡単な論理演算に よって計算することができる。前の例にしたがって、命題はそれぞれレコード内 において車両が赤色であるレコード、N、S、W、州で登録されたレコード、登 録の日付が1985年1月1日以降であるレコードを示す3つのビットマツプ8 .10及び12を決定するために3つの命題に分解することができる。Figure 1 represents the complex proposition consisting of: Bitmap 6 or Record 4 corresponds to a single proposition that is a component of a compound proposition as shown in Figure 2. A simple logical operation on bitmaps 8, 10, and 12 representing records Therefore, it can be calculated. Following the previous example, each proposition is Records where the vehicle is red, records registered in N, S, W, states, registrations. Three bitmaps showing records whose recording date is after January 1, 19858 .. 10 and 12 can be decomposed into three propositions to determine.

第2図に示される様に3つのビットマツプ8.1(lび12へのAND演算を行 なうと複合命題に呼応するレコードを表わすビットマツプ6が得られる。各ビッ トマツプがメモリ内に保持されれば、初等的なビットマツプ8,10及び12が 既に得られているとして最終的なビットマツプ6の計算は即座に行なえる。Perform an AND operation on the three bitmaps 8.1 (l and 12) as shown in Figure 2. A bitmap 6 representing records corresponding to the compound proposition is then obtained. Each bit Once the topmaps are kept in memory, the elementary bitmaps 8, 10 and 12 are Assuming that the bitmap 6 has already been obtained, the final bitmap 6 can be calculated immediately.

高速のビットマツププロセッサによる充分な恩恵を受けるためには、それ以上に 初等的なビットマツプに対する論理演算によって初等的命題のビットマツプを計 算することが可能である必要がある。この事を達成する1つの方法は“Part ial−Match Retrieval via Plethod of S uperimposed Codes” Robe−rts C,S、(197 9) Proceedings of IEEE Vol、67、Na12.p p、1624−2642に記載のスーパーインポースドコードインデクス法を使 用することである。この方法を第3図を参照して概略的に記述する。レコード4 の配列はビットマトリクス14としてスーパーインボーズドコードインデクス内 に表わされている。To fully benefit from a fast bitmap processor, you need more than that. Compute bitmaps of elementary propositions by logical operations on elementary bitmaps. It must be possible to calculate One way to accomplish this is to ial-Match Retrieval via Plethod of S upperimposed Codes” Robe-rts C,S, (197 9) Proceedings of IEEE Vol. 67, Na12. p using the superimposed code indexing method described in p. It is to use it. This method will be described schematically with reference to FIG. record 4 The array is in the superimposed code index as bit matrix 14. It is expressed in

前の例にしたがってどのレコード4が赤い車両を有しているかを決定するために 、予め定めた命題コード2oが発生される。コード20は命題を満足するために は命題に呼応するレコードを示す最終的なビットマツプ22を決定するためにビ ットマツプの列16及び18について論理的AND演算がなされなければならな いことを示している。マトリクス14の各列はビットマツプであると考えられ命 題2oによって示される論理演算を達成することによってビットマツプ22が得 られる。To determine which record 4 has a red vehicle according to the previous example: , a predetermined proposition code 2o is generated. Code 20 is to satisfy the proposition is used to determine the final bitmap 22 representing the records corresponding to the proposition. A logical AND operation must be performed on columns 16 and 18 of the map. It shows that Each column of matrix 14 can be thought of as a bitmap. Bitmap 22 is obtained by accomplishing the logical operation shown by Problem 2o. It will be done.

スーパーインポーズドコードインデクスの利点は次の様である: 1、 指標(インデクス)が圧縮されており例えば4096個のレコードに対す る指標はメモリを64にバイトしか占有しない。The advantages of superimposed code indexes are: 1. The index is compressed, for example, for 4096 records. The index occupies only 64 bytes of memory.

Z 指標が第3図に示される様な列フォーマットで表わされれば、任意の特定の 命題に対して指標の一部のみが処理される。If the Z index is expressed in column format as shown in Figure 3, any particular Only a portion of the indicators are processed for the proposition.

スーパーインポーズドコードインデクスの威力は着目するレコードの属性がこの 形で表わされる様な方法を用いることによって増大される。The power of the superimposed code index is that the attributes of the record of interest are It is increased by using methods such as those expressed in the form.

しかしながら、スーパーインポーズドコードの欠点は次の様である: 1、 すべての順序情報が失なわれるのでより大きいかより小さいかの命題は達 成されないが、それらはしばしば不連続の属性の様に範囲をコード化することに よって近似される。However, the disadvantages of superimposed code are as follows: 1. Since all ordering information is lost, the greater or less proposition cannot be reached. Although not done, they are often used to encode ranges like discrete attributes. Therefore, it is approximated.

2、 誤選択が起こる成る(通常は小さい)Wi率が存在するので、命題に呼応 してつくられるビットマツプは命題を満足又は命題に呼応するレコードの組以上 を含んでいる。この事に関する主な問題点は非等値命題に呼応するレコード例え ばN、S、W、で登録されていない車両を見い出す目的でスーパーインポーズド コードを使用することはできないということである。2. Since there is a (usually small) Wi rate at which a wrong choice occurs, The bitmap created by Contains. The main problem with this is that the record analogy corresponding to the non-equality proposition Superimposed for the purpose of finding unregistered vehicles in N, S, W, etc. This means that the code cannot be used.

しかしながら指標を処理する別の方法がある。レコードのプール属性は単一のビ ットとしてコード化することができて、例えば属性が車両の所有者が登録費を支 払ったか否かであれば単に真又は偽の答えが要求される。第4図に示される様に レコードのプール属性は、レコード28の配列26についてのものであり属性を 表わす単一のビットを具備するビットマツプ24を単に調べるだけで決定するこ とができる。ビットマツプ24は属性が真であるかの即座の指示を捉供する。属 性が偽となる命題に対するビットマツプ30は、第4図に示される様にマツプ3 0の論理的反転をとることによって計算される。However, there are other ways to process indicators. A record's pool attribute is For example, if the attribute indicates that the vehicle owner paid the registration fee. If you paid or not, a true or false answer is simply required. As shown in Figure 4 The record pool attribute is for array 26 of record 28, and the attribute is can be determined by simply examining the bitmap 24 with a single bit representing I can do it. Bitmap 24 provides an immediate indication of whether the attribute is true. genus The bitmap 30 for a proposition whose gender is false is map 3 as shown in FIG. Calculated by taking the logical inversion of 0.

これは第5図に示される様に、完全等値性命題がもたらされるプロセスに導かれ る。成る属性、例えば登録の州が2進数でコード化されその属性のテーブル32 はプール属性の集まりであり、完全等値性命題は真及び偽のプール命題の連続と して配置することができる。非等値性命題は同様にして処理することができる。This leads to a process that yields the complete equality proposition, as shown in Figure 5. Ru. Attributes consisting of, for example, the state of registration, are encoded in binary numbers and a table 32 of the attributes is a collection of pool properties, and a complete equality proposition is a series of true and false pool propositions. and can be placed. Non-equality propositions can be handled in a similar manner.

第5図に示される様に、一連のプール演算又は論理演算がテーブル32の列34  、36及び38に関して実行されて登録の州がN、S、W、であるレコードを 示すビットマツプ39が決定される。As shown in FIG. , 36 and 38, and the state of registration is N, S, W. The bitmap 39 shown is determined.

しかしながら前述のアプローチの欠点は属性の有するビット数が少数(すなわち 5以下)でなければ命題に呼応するレコードの組を計算するためにスーパーイン ポーズドコード属性におけるよりも多大な時間を必要とすることである。しかし ながら、それは可能な値の数が非常に少ない属性については部分的ながら有益で ある。However, the drawback of the above approach is that the attributes have a small number of bits (i.e. 5 or less), use a superinput to compute the set of records corresponding to the proposition. The problem is that it requires more time than the paused code attribute. but However, it is partially useful for attributes with a very small number of possible values. be.

第6図に示される様に、レコードの順序を決定することを含む命題はビットマツ プを用いて計算することができる。境界値よりも大きいか小さいかを決定するア ルゴリズムが第6図にPASCAL形式で詳述されており、ここでラベルL、G 及びB [i] はビットマツプの列又はkXfビットマトリクスを表わし、k はテーブル40内のレコードの数であり、nはテーブル40内のコード化された レコードのビット数である。Wはテストワード42でありより大又はより小命題 の基本となるコードを表わす。このアルゴリズムは命題内に設けられたテストワ ード42に関してテーブル40内のレコードの分類を達成する。アルゴリズムは テストワード42より小であることが知られたレコードを表わすLマツプ44と テストワード42より大であることが知られたレコードを表わすGマツプよりな る2つの作業用ビットマツプを有している。テストワードとは異なる最初のビッ ト(最上位ビットから最下位ビットへと比較する)がテストワード内の対応する ビットよりも大であるならば所与のワード又はコード化されたレコードはテスト ワード42より大である。そのビットはO又は1の値しかとれないので成るワー ドがテストワードより大であるならば最初に異なるビットテストワードにおいて Oでコード化されたレコード又はワードのそのビットは1であるはずである。テ ストワード内の成るビットがOであるならば、そのビットが考慮中のビットであ る時テストワードより大であると決定されたコード化されたワードの組はそのビ ットにおいて1であるコード化されたワード又はレコードの組である。As shown in Figure 6, the proposition involving determining the order of records is It can be calculated using An algorithm that determines whether the value is greater than or less than the boundary value. The algorithm is detailed in Figure 6 in PASCAL format, where the labels L, G and B[i] represent a bitmap column or kXf bit matrix, and k is the number of records in table 40 and n is the number of encoded records in table 40. It is the number of bits of the record. W is test word 42, greater than or less than proposition represents the basic code. This algorithm is Sorting of the records in table 40 with respect to code 42 is accomplished. The algorithm is an L map 44 representing records known to be less than test word 42; From a G-map representing records known to be greater than test word 42. It has two working bitmaps. The first bit is different from the test word. (compare from most significant bit to least significant bit) to the corresponding bit in the test word. A given word or coded record is tested if the bit is greater than Greater than word 42. The bit can only take the value O or 1, so the word first in a different bit test word if the code is greater than the test word. That bit of an O coded record or word should be 1. Te If a bit in the stword is O, then that bit is the bit under consideration. The set of coded words determined to be greater than the test word when A set of coded words or records that is 1 in the set.

同様にして、特定のビット位置においてテストワードが1を存するならば、その ピント位置の考慮においてテストワードより小であるコード化されたワードの組 はそのビット位置において0の値を有するコード化されたレコードの組である。Similarly, if the test word has a 1 in a particular bit position, then A set of coded words that is smaller than the test word in terms of focus position. is the set of encoded records that have a value of 0 in that bit position.

テストワード42が特定のビット位置において0を有する時、テーブル40の分 類されていない参照値或いはコード化されたワードはテスワード42に等しくあ り続けるか又はテストワード42より大であると決定されるかのいずれかである 。テストワード42がそのビット位置において1である時、分類されていないコ ード化されたワードはテストワード42と等しくあり続けるか又はテストワード 42より小であると決定されるかのいずれかである。一度でもコード化されたワ ードがテストワードより大又は小と分類されたら、その分類は変更されない。分 類操作は1つの属性あたり数ピントマツプの操作が必要とされるので、本質的な 順序情報を保護する方法において粗な属性をコード化することは経済的であろう 。When test word 42 has a 0 in a particular bit position, the minutes in table 40 An unclassified reference value or coded word is equivalent to a test word 42. either continues to be or is determined to be greater than test word 42. . When test word 42 is 1 in that bit position, an unclassified code coded word remains equal to test word 42 or Either it is determined to be less than 42. Words that have been encoded even once If a word is classified as greater or less than the test word, its classification remains unchanged. minutes Class operations require the operation of several focus maps for each attribute, so the essential It would be economical to encode coarse attributes in a way that protects order information .

例えば、1年の範囲を有する日付属性は9ビツトにコード化される。For example, a date attribute with a range of one year is encoded as 9 bits.

連想メモリの文献からのアルゴリズムを採用することによって、第7図に示され る様に、属性の最小値及び最小値を含むレコードの位置を見い出すことがビット マツプ操作を用いて可能となる。第7図にリストされたアルゴリズムはPASC AL形弐でありラベルM及びB [i] はビットマツプの行を表わしW[i]  はビットマトリクス48のうち最も小さい又は最小のコード化されたワードの 1つのピントを表わす。アルゴリズムの完了後のMビットマツプ50はどのレコ ードがマトリクス48のうち最小のコード化されたワードを含むかを示し、nは マトリクス48のコード化されたレコード内のビット数である。このアルゴリズ ムは一度に左から右へ(最上位ビットから最下位ビットへ)マトリクス48のビ ットマツプを解析することによって最小のワードW52と共にMビットマツプ5 0を計算する。By adopting an algorithm from the associative memory literature, the It is possible to find the minimum value of an attribute and the position of the record containing the minimum value, as in This is possible using map operations. The algorithms listed in Figure 7 are PASC It is AL type 2, and the labels M and B [i] represent the rows of the bitmap, and W [i] is the smallest or smallest coded word of the bit matrix 48. Indicates one focus. Which record does M bitmap 50 after the algorithm completes? indicates whether the code contains the smallest coded word of the matrix 48, where n is is the number of bits in the coded record of matrix 48. This algorithm The bits of matrix 48 are moved from left to right (most significant bit to least significant bit) one at a time. M bitmap 5 with the smallest word W52 by parsing the bitmap Calculate 0.

マトリクス48の任意の特定のビット位置においてビットマツプ50は未だ捨て られていないレコードに関する指示を含みワードW52はそれまでに決定された 最小ワードのピントを含むであろう。未だ捨てられていないレコードがそのビッ ト位置において値Oであるコード化されたワードを有する時、そのビット位置に おいてlであるコード化されたワードを有するレコードは最小ではあり得ない、 そのビット位置において1であるコード化されたワードを有するレコードに対応 するビットマツプ50内のビットはは必然的にOとなる。最小のワードも又その ビット位置においてOを有する。しかしながら、未だ捨てられていないレコード のすべてが考慮下のビット位置において1であれば、すべてのレコードは捨てら れず最小ワードはそのビット位置においてlとなるであろう。At any particular bit position of matrix 48 bitmap 50 is still discarded. Word W52 contains instructions regarding records that have not been previously determined. It will contain the minimum word focus. The record that has not yet been thrown away has that bit. When we have a coded word with value O in bit position, A record with a coded word that is l cannot be minimal, corresponds to a record that has a coded word that is 1 in that bit position The bit in the bitmap 50 that follows is necessarily O. The smallest word is also the Has an O in the bit position. However, records that have not yet been discarded are all 1 in the bit position under consideration, all records are discarded. the smallest word would be l at that bit position.

アルゴリズム内のステップ(M AND B[i])=Mは演算(M ANDB [i]) XORMによって発生するビットマツプ内のビットがすべてOである か否か(“オールゼロテスト″)のためのテストに帰着され、その理由はそれら がすべて0であればMビットマツプ50は不変であり演算される必要がないから である。Step in the algorithm (M AND B[i]) = M is the operation (M ANDB [i]) All bits in the bitmap generated by XORM are O The result is a test for whether or not (“all zero test”), and the reason is that they If all 0, the M bit map 50 is unchanged and does not need to be calculated. It is.

このステップは計算時間のかなりの部分を占めるので以下に示す能動メモリ回路 からのオールゼロ出力を用いてそれを減らすことによって、アルゴリズムはより 高速となりアルゴリズムを実用的なものとする。Since this step takes up a significant portion of the computation time, the active memory circuit shown below By using the all-zero output from and reducing it, the algorithm becomes more It is fast and makes the algorithm practical.

以前に記述した様にビットマップインデクス上で多様な命題を達成することが可 能である。指標(インデクス)は好適にはスーパーインポーストコードワードの テーブルに、わずかの数の値、非等値命題が可能な命題、及び命題に対する情報 の順序が必要である属性の完全2進化コードを加えたものである。メモリ空間の 節約のために、すべての完全2進化属性は小数のビットでコード化される。As described previously, it is possible to achieve various propositions on bitmap indexes. It is Noh. The index is preferably the superimport codeword. The table contains a small number of values, propositions with possible non-equality propositions, and information about the propositions. This is the addition of the complete binary code of the attributes that require the order of . of memory space For economy, all fully binary attributes are encoded with a small number of bits.

前述の演算をビットマツプマトリクス上で達成することを可能にする連想記憶メ モリシステム62がホストコンピュータ60に接続されて第8図に示されている 。ホストコンピュータ60は中央処理ユニット64、メモリ66、多数のディス クの様な大容量記憶装置68、及び外部機器のための入出カポ−ドア0とを具備 する市販のコンピュータシステムである。ホストプロセッサバス72も又設けら れホストコンピュータ60のユニット64 、66 、68及び70間でのデー タ転送を可能にする。An associative memory method that allows the above-mentioned operations to be accomplished on a bitmap matrix. A memory system 62 is shown connected to a host computer 60 in FIG. . The host computer 60 includes a central processing unit 64, memory 66, and multiple disk drives. Equipped with a mass storage device 68 such as a storage device, and an input/output port 0 for external equipment This is a commercially available computer system. A host processor bus 72 is also provided. data between units 64, 66, 68 and 70 of host computer 60. data transfer.

連想記憶メモリシステム62はインデクスメモリユニット74、インデクスプロ セッサ76及びインデクスメモリユニット74をインデクスプロセッサ76へ接 続しメモリユニット74とプロセッサ76との間のデータ転送を可能にするメモ リシステムバス78とを具備している。The associative memory system 62 includes an index memory unit 74 and an index processor. Connect the processor 76 and index memory unit 74 to the index processor 76. memory that enables data transfer between continuous memory unit 74 and processor 76; It is equipped with a resystem bus 78.

インデクスメモリ回路74とインデクスプロセッサ76はホストプロセッサバス 72へ接続されている。インデクスプロセッサ76はインデクスメモリ74との データの送受を行ない、ホストプロセッサバス72を介してホストコンピュータ 60から受け取った命令に応じてデータの演算を達成する。The index memory circuit 74 and index processor 76 are connected to a host processor bus. 72. The index processor 76 communicates with the index memory 74. It sends and receives data to the host computer via the host processor bus 72. Data operations are accomplished in response to instructions received from 60.

ホストコンピュータ60はホストプロセッサバス72を介してインデクスメモリ ユニット74からのデータをアクセスすることができ、コンピュータ60にとっ てインデクスメモリユニット74は16ビツトワードの標準的なランダムアクセ スメモリに見える。メモリユニット74がホストコンピュータ60によってアク セスされている間でもメモリの競合なしでメモリシステムバス78を介してイン デクスプロセッサ76によってデータがインデクスメモリユニット74からアク セスされる。この事はメモリシステム62がホストコンピュータ60に関して自 律的に動作するバス78を含むためである。The host computer 60 accesses the index memory via the host processor bus 72. Data from unit 74 can be accessed and provided to computer 60. The index memory unit 74 has standard random access of 16-bit words. Looks like memory. Memory unit 74 is accessed by host computer 60. memory content through memory system bus 78 without memory contention even while being accessed. Data is accessed from index memory unit 74 by index processor 76. be accessed. This means that memory system 62 is autonomous with respect to host computer 60. This is because it includes a bus 78 that operates regularly.

インデクスメモリユニット74はホストコンピュータ60内に記憶されたレコー ドのコード化された表現であるビットマツプマトリクスを記憶するために用いら れる。インデクスプロセッサ76はインデクスメモリユニット74内に記憶され るマトリクスのビットマツプ演算を達成すべく設計されている。メモリシステム 62のプロトタイプは組み立てられており、付属インデクスマシ(AIM)とし て知られている。メモリシステム62の残された記述としては、行の長さ409 6ビントで列の長さ256ビツトのビットマトリクスを記憶し演算することの可 能なインデクスメモリユニット74を含むAIMの実現に関するものであろう。Index memory unit 74 stores records stored within host computer 60. used to store bitmap matrices, which are coded representations of It will be done. Index processor 76 is stored within index memory unit 74. It is designed to accomplish bitmap operations on matrices. memory system The 62 prototype has been assembled and is equipped with an attached index machine (AIM). It is known as The remaining description of the memory system 62 is the line length 409 Capable of storing and calculating bit matrices with 6 bits and a column length of 256 bits. It would be of interest to implement an AIM that includes a capable index memory unit 74.

メモリシステム62は任意の現実的サイズのピントマトリクスを記憶し演算する ために用いることができることが理解される。Memory system 62 stores and operates on pin matrices of any practical size. It is understood that it can be used for

メモリシステム62はビットマトリクスのビットを1つのレコードに対してシリ アルにアクセスし、すべてのレコードをパラレルにアクセスするビットシリアル ワードパラレルの連想記憶メモリシステムである。The memory system 62 serially stores the bits of the bit matrix for one record. bit-serial to access al and access all records in parallel It is a word parallel associative memory system.

インデクスメモリユニット74は第9図に示される様に垂直なプリント回路ボー ド82上に適合する様に4個のグループで配置された32個のインデクスメモリ 80を具備している。メモリ80はまた2バンクに分けて配置されそれぞれは2 56 X 4096のビットマトリクスを記憶することのできる16個のメモリ 80を具備している。4096個のビット列又はビットマツプは第10図に示さ れる様にメモリ80内の対応する位置に16個のインデクスフモリ80中の25 6個のビット部分82内に記憶される。The index memory unit 74 is arranged on a vertical printed circuit board as shown in FIG. 32 index memories arranged in 4 groups to fit on the board 82 It is equipped with 80. The memory 80 is also arranged in two banks, each with two banks. 16 memories that can store 56 x 4096 bit matrices It is equipped with 80. The 4096 bit string or bitmap is shown in Figure 10. 25 of the 16 index memories 80 are placed in corresponding locations in the memory 80 so that It is stored in a six bit portion 82.

インデクスプロセッサ76は第11図に示される様にマトリクス88から2つの 4096個のビット列又はビットマツプ84及び86をアクセスし列84及び8 6に対する選択されたビットマツプ演算を行ない結果の列あるいはビットマツプ 90をマトリクス88へ返すべく採用される。現在のところ、AIMはこの機能 を1回の16マイクロ秒サイクル内で達成することができる。これはホストコン ピュータ60に対してビットマツプ90の全ビットがゼロであるかどうか、もし そうでなければ列90内で1であるビットに関連するレコードのアドレスに関す る情報を提供することを含む。Index processor 76 extracts two data from matrix 88 as shown in FIG. 4096 bit strings or bitmaps 84 and 86 are accessed and columns 84 and 8 are accessed. Perform the selected bitmap operation on 6 and write the resulting column or bitmap 90 is employed to return to matrix 88. Currently, AIM does not have this function. can be achieved within one 16 microsecond cycle. This is the host computer If all bits of bitmap 90 are zero for computer 60, for the address of the record associated with the bit that is otherwise 1 in column 90. including providing information on

インデクスメモリ80は第12図に示される様にTMS 4161EV4ビデオ メモリチツプを具備しており、これは64にビットのダイナミックRAMアレイ 92と256ビツトのシフトレジスタ94を含んでいる。メモリアレイ92はパ ラレル256ビツトバス96を介してシフトレジスタ94へ接続されている。The index memory 80 is a TMS 4161EV4 video as shown in FIG. It is equipped with a memory chip, which is a 64-bit dynamic RAM array. 92 and 256 bit shift registers 94. Memory array 92 is It is connected to shift register 94 via parallel 256-bit bus 96.

TMS 9141チツプ80は基本的にはアレイ92の任意の選択された行をア クセスすることのできるシフトレジスタ94が設けられた標準的なRAMである 。アレイ92の行は4096個のビット列又はビットマツプの256ビツト部分 82を具備している。TMS 9141 chip 80 basically accesses any selected row of array 92. This is a standard RAM with a shift register 94 that can be accessed. . The rows of array 92 are 4096 bit strings or 256 bit portions of a bitmap. It is equipped with 82.

アドレスライン98によってアレイ92内の特定の256ビツト行をアクセスし TR/QE入カライフカライン100ブルにすることによってデータが行とシフ トレジスタ94との間で転送される。転送の方向はリード/ライトライン102 で支配される。シフトレジスタ94とアレイ92の選択された行の間の転送を行 なうためには、インデクスプロセッサ76によって転送要求が発せられ行が選択 される。この段階においてホストコンピュータ60からの任意のアクセス要求と プロセッサ76からの転送要求とを同期させる必要がありこのことはインデクス メモリユニット74内の3ウ工−任意化回路(図示せず)によって達成される。Address line 98 accesses a particular 256-bit row within array 92. By making the TR/QE input Karaifuka line 100 Birr, the data is shifted to the row. The data is transferred to and from the register 94. The direction of transfer is the read/write line 102 ruled by. Performs a transfer between shift register 94 and a selected row of array 92 In order to do this, a transfer request is issued by the index processor 76 and a row is selected. be done. At this stage, any access request from the host computer 60 It is necessary to synchronize the transfer request from the processor 76, and this This is accomplished by a three-part arbitraryization circuit (not shown) within memory unit 74.

他の時間においてインデクスプロセッサ76はホストコンピュータ60からのア クセス要求を訪客することなくシフトレジスタ94の内容を操作する。At other times, index processor 76 receives access from host computer 60. To operate the contents of a shift register 94 without making an access request to a customer.

シフトレジスタ94は第12図に示される様に一端にシリアル出力ポート104 を含み、他端にシリアル入力ボート106を含んでおり、これはシフトレジスタ 94をクロックライン108に同期させることを可能とし、シフトレジスタ94 の一端において出力ポート104を経てデータが出力され、シフトレジスタ94 の他端において入力ポート106を経てデータが入力される。The shift register 94 has a serial output port 104 at one end as shown in FIG. and a serial input port 106 at the other end, which is a shift register. 94 to clock line 108 and shift register 94 Data is outputted at one end via output port 104 and transferred to shift register 94. Data is input via input port 106 at the other end.

インデクスメモリユニット74は第13図に示される様に2つのバンク110及 び112に配置されそれぞれは以前に述べた様に16個のインデクスメモリ80 を具備している。ビットマツプ演算が行なわれる時、1つのオペランドはバンク 110から選択され他のオペランドはバンク112から選択される。オペランド はホストコンピュータ60によって選択され各バンク110及び112内におい て予め定めた行が各バンク110及び112内のアレイ92の各々においてアク セスされ予め定めた行の内容がバンク110及び112のシフトレジスタ94に 転送される。バンク110及び112のシフトレジスタ94はそれによって双方 ともビットマツプを包含する。第1のバンク110内のシフトレジスタ94のシ リアル出力ポート104のすべてはパラレルに第1のバンク出力バス114 ヲ 経てメモリシステムバス78へ接続されている。同様にして、第2のバンク11 2内のシフトレジスタ94のシリアル出力ポート104のすべては16ビツトの 第2のバンク出力バス116を経てメモリシステムバス78へ接続されている。The index memory unit 74 has two banks 110 and 110 as shown in FIG. and 112, each of which has 16 index memories 80 as previously mentioned. Equipped with: When a bitmap operation is performed, one operand is a bank 110 and other operands are selected from bank 112. operand are selected by host computer 60 and stored in each bank 110 and 112. A predetermined row is activated in each of the arrays 92 within each bank 110 and 112. The contents of the accessed and predetermined rows are transferred to shift registers 94 of banks 110 and 112. be transferred. The shift registers 94 of banks 110 and 112 are thereby both Both include bitmaps. The shift register 94 in the first bank 110 All of the real output ports 104 are connected to the first bank output bus 114 in parallel. The memory system bus 78 is connected to the memory system bus 78 via the memory system bus 78 . Similarly, the second bank 11 All of the serial output ports 104 of shift registers 94 in It is connected to memory system bus 78 via second bank output bus 116 .

2つのバンク110及び112内のレジスタ94に記憶されているビットマツプ 演算のためのオペランドはクロックライン108を用いてレジスタ94を同期さ せることによってバス114及び116を経てインデクスプロセッサ76へ出力 される。2つのバンク110及び112のレジスタ94内のビットマツプのビッ トはシリアルに出力されるが、第10図に示される様に各部分82のビットにつ いて16ビツトが各バンク出力バス114及び116に沿ってインデクスプロセ ッサ76へ同時に出力され、それらは16ビツトワードとなる。インデクスプロ セッサ76はバンク出力バス114及び116を経て入力される16ビツトワー ドに対して選択されたビットマツプ演算を行ない結果の16ビツトワードをメモ リシステムバス78に沿って16ビツトバンク入力バス118へ戻す。バス78 は少なくとも3つの16ビツトデータの経路を含んでいる。Bitmap stored in registers 94 in two banks 110 and 112 Operands for operations are synchronized in registers 94 using clock line 108. output to index processor 76 via buses 114 and 116 by be done. Bits of the bitmap in registers 94 in two banks 110 and 112 The bits in each part 82 are output serially, as shown in Figure 10. 16 bits are used for index processing along each bank output bus 114 and 116. They are output simultaneously to processor 76 as 16-bit words. index pro Processor 76 receives 16-bit data input via bank output buses 114 and 116. Performs the selected bitmap operation on the code and memorizes the resulting 16-bit word. along system bus 78 back to 16-bit bank input bus 118. bus 78 contains at least three 16-bit data paths.

バンク入力バス118はバンク110及び112内のレジスタ94016個のシ リアル入力ポー目06ヘパラレルに接続されている。したがって、16ビツトワ ードがバンク出力バス114及び116を介して出力されると、結果の16ビツ トワードがバンク110及び112内のシフトレジスタ94の反対側の端部に記 憶される。選択されたビットマツプ演算の終りに、結果のビットマツプは第1の バンク110のシフトレジスタ94及び第2のバンク112のシフトレジスタ9 4内に記憶される。そこでインデクスプロセッサ76は結果のビットマツプを第 1のバンク110又は第2バンク112のアレイ92内のホストコンピュータ6 0によって選択された予め定めた行へ転送する。Bank input bus 118 connects 94,016 registers in banks 110 and 112. It is connected in parallel to real input port 06. Therefore, 16 bits When the code is output via bank output buses 114 and 116, the resulting 16-bit The keywords are written at opposite ends of shift registers 94 in banks 110 and 112. be remembered. At the end of the selected bitmap operation, the resulting bitmap is Shift register 94 of bank 110 and shift register 9 of second bank 112 4. The index processor 76 then indexes the resulting bitmap. host computer 6 in array 92 of one bank 110 or second bank 112; Transfer to a predetermined line selected by 0.

インデクスプロセッサ76は双方向バス122を介してホストプロセッサバス7 2に接続されたホストインターフェースボート120を含んでいる。Index processor 76 connects to host processor bus 7 via bidirectional bus 122. 2, including a host interface port 120 connected to the host interface port 120.

プロセッサ76はまたそれぞれ双方向バス126及び128を介してホストイン ターフェースポート120とメモリシステムバス78との間で接続されたシリア ルファンクションユニット124を含んでいる。Processor 76 also connects to host interfaces via bidirectional buses 126 and 128, respectively. Serial interface port 120 and memory system bus 78 includes a function unit 124.

シリアルファンクションユニット124はホストインターフェースポート120 からの命令に応答して動作しシステムバス78を経てユニット124へ入力され た16ビツトワードへのビットマツプ演算を行なう。それはまた結果の16ビソ トワードをテストワードと比較して、結果のワードのすべてのビットが0か否か を決定し結果のワード内の1であるビットのオフセットロケーション又はアドレ スロケーションを記録するための回路を含んでいる。シリアルファンクションユ ニット124はホストインターフェースポートでトリガされた時256サイクル を実行する様に構成することができ、各サイクルは2つの16ビツトワードをア クセスすること、ワードに対するビットマツプ演算を行なうこと、結果のワード を解析すること及びバス78へ結果のワードを出力することを含んでいる。Serial function unit 124 connects host interface port 120 input to unit 124 via system bus 78. Performs a bitmap operation on a 16-bit word. It is also the result of 16 bits Compare the word with the test word and see if all bits of the resulting word are 0. Determine the offset location or address of the bit that is 1 in the resulting word. Contains circuitry for recording slocations. Serial function unit nit 124 is 256 cycles when triggered on the host interface port can be configured to perform two 16-bit words each cycle. perform a bitmap operation on a word, the resulting word and outputting the result word on bus 78.

ホストインターフェースポート120は制御ユニットを含みホストコンピュータ 60からの命令を受け取る。ホストコンピュータ60から受け取った命令に答え て、ボート120はシリアルファンクションユニット124の演算及びインデク スメモリュニソト74内及びその間のデータ転送を制御する。Host interface port 120 includes a control unit and is connected to a host computer. Receive orders from 60. respond to commands received from host computer 60 Therefore, the board 120 performs calculation and index processing of the serial function unit 124. Controls data transfer within and between the Smemory Stores 74.

インデクスメモリユニット74とインデクスプロセッサ76との間のデータの流 れが第15図に示されているが、すべてのデータ経路は示されていない、ビット マツプ演算を行なうにあたり2つの16ビツトワードがプロセッサ76によって バンク110及び112からアクセスされ各ワードは同時にシリアルファンクシ ョンユニット124へ入力される。2つのワードはそれぞれゲート130及び1 32を通過されそれぞれマスクレジスタ134及び】36の状態に従ってゲート 内でマスクされる。ゲート130及び132はプール論理ユニット138の入力 へ接続されそれはワードに対して選択された論理演算を行ない演算の16ビツト の結果をシフト論理ユニッ[40と−致論理ユニット142へ出力する。プール 論理ユニット138はAND、 AND NOT、 OR,ORNOT、 NO T、 XOR,XORNOT ORC0PYの様な多数の論理演算を行なうこと ができる。 copyは一方のオペランドをゼロにしOR演算することにより達 成される。実行される演算はホストコンピュータ60から受け取った命令に応じ てホストインターフェースポート120内の制御ユニット144によって選択さ れる。Data flow between index memory unit 74 and index processor 76 This is shown in Figure 15, but not all data paths are shown. Two 16-bit words are processed by processor 76 to perform the map operation. Accessed from banks 110 and 112, each word is accessed simultaneously by the serial function input to the application unit 124. The two words are connected to gates 130 and 1, respectively. 32 and gates according to the states of mask registers 134 and ]36, respectively. masked inside. Gates 130 and 132 are inputs to pool logic unit 138. It performs the selected logical operation on the word and the 16 bits of the operation outputs the result to shift logic unit [40 and -match logic unit 142]. pool The logic unit 138 is AND, AND NOT, OR, ORNOT, NO Performing many logical operations such as T, XOR, XORNOT ORC0PY Can be done. Copy is achieved by setting one operand to zero and performing an OR operation. will be accomplished. The operations to be executed are based on instructions received from the host computer 60. selected by control unit 144 in host interface port 120. It will be done.

0致論理ユニット142はプール論理ユニッ目38によって出力される結果の1 6ビツトワードをテストワードレジスタ148に格納される16ビツトテストワ ードと比較する結果のソードがテストワードと一致すれば制御ユニット144は FIFOヒツトレジスタ150内に一致する結果ワードのオフセット又はアドレ スロケーションを記憶する。オールゼロテストを達成するためにはテストワード レジスタ138にはすべてのビットがゼロであるワードがロードされる。シフト 論理ユニットは結果の16ビツトワードを記憶し一方それらは0致論理ユニット 142において比較され結果のワードはインデクスメモリユニット74内のバン ク110及び112へ出力される。制御ユニット134は0致論理ユニット14 2とシフト論理ユニット並びにメモリシステム62の他の要素を制御しホストコ ンピュータ62からの命令を受け取りそれは命令レジスタ152に記憶される。The zero matching logical unit 142 is one of the results output by the pool logical unit 38. The 6-bit word is stored in the test word register 148 as a 16-bit test word. If the resulting word compared with the test word matches the test word, the control unit 144 Offset or address of matching result word in FIFO hit register 150 Memorize location. Test words to achieve all zero test Register 138 is loaded with a word in which all bits are zero. shift The logic unit stores the 16-bit words of the result while they are stored in the zero-match logic unit. The resulting words are compared at 142 and stored in a bank in index memory unit 74. The output signals are output to networks 110 and 112. The control unit 134 has a zero match logic unit 14. 2 and the shift logic unit as well as other elements of the memory system 62 and control the host controller. It receives instructions from computer 62 and stores them in instruction register 152.

命令レジスタ152はシリアルファンクションユニット120内ルジスタ134 .136.148及び150のバンクの一部として表わされているが、レジスタ 152は通常制御ユニッ) 144の一部を形成する。The instruction register 152 is connected to the register 134 in the serial function unit 120. .. 136, 148 and 150, but the register 152 usually forms a part of the control unit) 144.

第16図に示される様な能動メモリ回路又はチップ150は前述した様なビット マツプマトリクスに対するビットマツプ演算を遂行するために設計される。回路 150はビットのアレイを記憶することのできるメモリ部152、好適には双方 向であるシフトレジスタ154、論理ユニット又は回路156及び演算中のビッ トマツプを一時的に記憶するための0時記憶エリア又は部158を具備する。An active memory circuit or chip 150 as shown in FIG. It is designed to perform bitmap operations on map matrices. circuit 150 is a memory section 152 capable of storing an array of bits, preferably both Shift register 154, logic unit or circuit 156, and bits under operation A zero o'clock storage area or section 158 is provided for temporarily storing the tomato map.

チップ150は使用においてメモリ部152内に記憶されたビットのアレイを包 含する。ビットのアレイはビットマツプマトリクスを表わす、アレイの大きさは 重要でないが256 X 256ビツトが好ましい。ビットで表わされるチップ 150内に保持されるデータは通常のメモリとは異なる形式で処理される。Chip 150 in use includes an array of bits stored within memory portion 152. Contains. An array of bits represents a bitmap matrix, the size of the array is Although not critical, 256 x 256 bits is preferred. chips expressed in bits Data held within 150 is handled differently than in regular memory.

レコードのテーブルへのインデクスの一部を具備するビットマトリクスは、使用 において、メモリ部152のアレイ上に直接マツピングされる。アレイ内の行1 60は単一のレコード(複雑なレコードに対して通常256ビツトで充分である )を表わすインデクスピットを保持している。アレイの任意の列162は第1〜 7図を参照して記述されたタイプのテーブル又はマトリクスのビットマツプを保 持する。A bit matrix containing part of the index into a table of records is used , directly mapped onto the array of memory section 152. row 1 in array 60 for a single record (256 bits is usually sufficient for complex records) ) is maintained. Any column 162 of the array is 7. Stores a bitmap of a table or matrix of the type described with reference to Figure 7. hold

チップ150上のシフトレジスタ154は以前に言及したAIMで用いられたメ モリバンク110及び112へのシフトレジスタ94と同様である。Shift register 154 on chip 150 is similar to the memory used in the previously mentioned AIM. It is similar to the shift register 94 to Moribanks 110 and 112.

チップ150はメモリ部152内に記憶されたビットアレイから選択された列を バンク110及び112における様にシフトレジスタ154上にコピーすること ができる。シフトレジスタの内容を選択された列とシフトレジスタ154の以前 の内容に対してなされた論理演算の結果で置き換えることも可能である。Chip 150 stores selected columns from the bit array stored in memory portion 152. Copying onto shift register 154 as in banks 110 and 112 Can be done. The contents of the shift register are transferred to the selected column and the previous shift register 154. It is also possible to replace it with the result of a logical operation performed on the contents of .

データはそれぞれシフトイン及びシフトアウトライン164及び166によって レジスタ154に対してシフトイン及びシフトアウトがなされる。チップ150 は行/列選択入カライン168と、連続した行におけるメモリ部152へのデー タの入出力のための打入/出カライン170も具備している。チップ又は回路1 50によってなされる演算の制御とメモリ部152及び158のメモリ要素の選 択のために複数の制御ライン172も又設けられている。シフトレジスタ154 に記憶される列のビットがすべてゼロでない場合はいつでも低レベルになるオー ルゼロ出カライン174も又設けられている。オールゼロライン174は最小限 のアルゴリズムで実際上遂行されることを可能とする。コマンドライン172は 特に、シフトレジスタ154、論理ユニット156及びメモリ部152と一時記 憶部158からのビットマツプの入出力の動作を制御する信号を入力する。Data is transferred by shift-in and shift-out lines 164 and 166, respectively. Shifts in and out of register 154 are performed. Chip 150 is the row/column selection input line 168 and the data input to the memory section 152 in consecutive rows. There is also an input/output line 170 for data input/output. Chip or circuit 1 50 and the selection of memory elements in memory sections 152 and 158. A plurality of control lines 172 are also provided for selection. shift register 154 An output signal that goes low whenever the bits of the column stored in the column are not all zeros. A zero output line 174 is also provided. All zero line 174 is minimal can be practically performed using the following algorithm. Command line 172 is In particular, shift register 154, logic unit 156, memory section 152 and temporary storage A signal for controlling input/output operations of the bitmap from the storage section 158 is input.

ライン172の入力はチップ又は回路150に対して以前に記述したビットマッ プインデクス動作を達成するために次の機能を達成することを命令する。The input on line 172 is the bit map previously described for chip or circuit 150. commands to accomplish the following functions to accomplish the index operation:

(i)シフトレジスタ154の内容と選択されたビットマツプ162とのAND をとりその結果をシフトレジスタ154に記憶する。(i) AND of the contents of the shift register 154 and the selected bitmap 162 and stores the result in the shift register 154.

(ii)シフトレジスタ154の内容と選択されたビットマツプとのORをとり その結果をシフトレジスタ154に置く。(ii) OR the contents of the shift register 154 and the selected bitmap. The result is placed in shift register 154.

(ij)シフトレジスタ154の内容と選択されたビットマツプ162とのXO Rをとりシフトレジスタ154へ入力する。(ij) XO between the contents of the shift register 154 and the selected bitmap 162 R is taken and input to the shift register 154.

(iv)選択されたビットマツプ162をシフトレジスタ154ヘコピーする。(iv) Copy the selected bitmap 162 to the shift register 154.

(V)シフトレジスタ154の内容をメモリ部152の選択された列162ヘコ ピーする。(V) Transfer the contents of the shift register 154 to the selected column 162 of the memory section 152. beep.

(vi)シフトレジスタ154の内容の反転を行なう。(vi) The contents of the shift register 154 are inverted.

(カ)シフトレジスタ154の内容を1ビツトシフトアツプする。(F) Shift up the contents of the shift register 154 by 1 bit.

(vii)シフトレジスタ154の内容を1ビツトシフトダウンする。(vii) Shift down the contents of shift register 154 by 1 bit.

より大/より小への分類操作を含む多くの目的のために、一度にシフトレジスタ 154に記憶することのできないいくつかの追加的な列又はビットマツプが記憶 される一時記憶部158を有することが便利である。その列は論理演算において メモリ部152に記憶されたビットアレイの列と同様に関与する。回路150は 前に記述したすべてのビットマツプ論理演算が半導体チップの基板上で完遂され ることを可能とする。命題の処理の上で最終的なビットマツプは命題に呼応する レコードを同定するために検討することが可能となる。この検討はシフトアウト ライン166を通してビットマツプをアクセスする外部回路によって達成される 。テーブル又はファイルに対する指標は多数のチップ150上に記憶されるので 、そして数レコードのみが命題に呼応するのであろうから、最終的なビットマツ プを記憶するシフトレジスタ154内のビットのほとんどはすべて0となるであ ろう。したがってオールゼロライン174はチップ150内に記憶されるコード インデクスに対応するレコードを詳細に調べる必要があるか否かの指示を提供す る。オールゼロ出力174が高レベルであればそのチップ150に関連するレコ ードについてはそれらは命題に呼応しないものとして捨てられる。したがってオ ールゼロ出カライン174があれば、オールゼロ出カライン174上に低レベル の信号を有するチップのみについて命題に呼応するレコードを決定するためにそ れぞれのシフトレジスタ154内に記憶された最終的なビットマツプを抽出する ために検討すれば足りるので、所与のファイルに関するすべてのチップ150を サーチする必要はない。Shift registers at once for many purposes including greater/less than sorting operations Some additional columns or bitmaps that cannot be stored in It is convenient to have a temporary storage section 158 that is The column is The same applies to the columns of the bit array stored in the memory section 152. The circuit 150 is All the bitmap logic operations described earlier are accomplished on the semiconductor chip substrate. It is possible to Upon processing the proposition, the final bitmap corresponds to the proposition. It becomes possible to examine records in order to identify them. This consideration has shifted out. This is accomplished by external circuitry accessing the bitmap through line 166. . Since the index for a table or file is stored on multiple chips 150, , and since only a few records will correspond to the proposition, the final bit matsu Most of the bits in the shift register 154 that stores the Dew. Therefore, all zero line 174 is the code stored within chip 150. Provides an indication of whether the record corresponding to the index should be examined further. Ru. If the all zero output 174 is at a high level, the record related to that chip 150 is As for the codes, they are discarded as not corresponding to the proposition. Therefore, If there is an all-zero output line 174, there is a low level on the all-zero output line 174. To determine the record corresponding to the proposition only for chips with a signal of Extract the final bitmap stored in each shift register 154 It is sufficient to consider all chips 150 for a given file. No need to search.

チップ150上に記憶されるインデクスは外部記憶装置からチップ150上ヘロ ードされねばならず更新されなければならない。チップ150はインデクスを列 形式で処理するが、外部的な記憶及び更新についてメモリ部152の行をアクセ スできるようにすることが便利でありこれはビットアレイ内の選択された行内へ /から直接的にビットをシフトさせるシリアル入/出力ボート170を介してシ リアルにデータを入力することによって達成される。この動作の速度は1又は2  MHzであり25MH2又はそれ以上になるシフトイン/シフトアウト動作よ り遅い。行の入力/出力機能は標準的な単一ビットアクセスポートを用いても適 切に達成することができる。The index stored on the chip 150 is transferred from an external storage device onto the chip 150. must be read and updated. Chip 150 has an index column. format, but accesses rows in the memory section 152 for external storage and updating. It is useful to be able to access a selected row within a bit array. The serial input/output port 170 shifts bits directly from/to This is achieved by inputting data realistically. The speed of this operation is 1 or 2 Shift-in/shift-out operation at 25 MHz or higher It's slow. Line input/output functionality is also available using standard single-bit access ports. This can be achieved in earnest.

能動メモリ回路150は第19図により詳細に示される様に行列アドレスデコー ダ184によってアドレス可能な多数の1ビツト記憶要素182を具備するメモ リアレイ180を具備している。1ビツト記憶要素182のアレイ186も又設 けられ一時記憶部158を形成している。アレイ186は一時ビントマップアド レスデコーダ188を介してアクセスされる。デコーダ184及び188は選択 された行/列及びアドレス入力190に基いてアレイ182及び186をアクセ スする。これらの入力190は以前に記述された制御人力172の一部と行/列 選択入力168とを形成する。1ビツトメモリ要素182の各々はビン出力M1 92とビット出力の反転■194を供給する。データは制御人力172の一部を 形成する入力197を受け取るメモリ制御ユニット196から受け取った入力に 応じて選択された要素182のそれぞれラインM及び■192及び194上で書 き出される。双方向シフトレジスタ154はマスタースレーブフリップフロップ 198のアレイを具備している。フリップフロップ198の内容はフリップフロ ップ198の内容を反転することもできるそれぞれのシフト/反転ユニット10 0によってシフトアップ又はシフトダウンされる。論理ユニット1102は各フ リップフロップ198が以前に記述した様なシフトレジスタ154の内容とメモ リアレイ180の列との選択された論理演算を達成する様に設けられる。シフト /反転ユニット1100と論理ユニット1102とはコマンドデコーダ1104 から受け取る入力によって制御されて各シフト反転ユニット1100又は各論理 ユニッ目102は同時に同じ形式で機能する。したがって、論理、シフト及び反 転演算はビットマツプを形成するビットの列に対して行なわれる。コマンドデコ ーダ1104は制御ライン172の一部を形成するコマンドライン1106を介 して受け取られる入力に応じてユニット1100及び1102へ信号を出力する 。シフトレジスタ154は双方向であるのでデータはそれぞれシフトイン/シフ トアウト頂部ライン1108又はシフトイン/シフトアウト底部ライン1110 を用いてレジスタ154の頂部又はレジスタ154の底部を通してレジスタ15 4に対してシフトイン及びシフトアウトされる。オールゼロ出力174は多入力 NORゲート1112内でフリップフロップ198の内容に対するNOR演算を 行なうことによって得られる。Active memory circuit 150 performs matrix address decoding as shown in more detail in FIG. A memory comprising a number of 1-bit storage elements 182 addressable by a memory card 184. A rear array 180 is provided. An array 186 of 1-bit storage elements 182 is also provided. A temporary storage section 158 is formed. Array 186 is a temporary bint map address. accessed via the response decoder 188. Decoders 184 and 188 select arrays 182 and 186 based on row/column and address inputs 190 To do so. These inputs 190 are part of the previously described control personnel 172 and row/column A selection input 168 is formed. Each of the 1-bit memory elements 182 has a bin output M1 92 and the inversion of the bit output 194 are supplied. Data is part of control human power 172 Inputs received from memory control unit 196 which receive inputs 197 to form 192 and 194 of the selected element 182, respectively. It is brought out. Bidirectional shift register 154 is a master-slave flip-flop. It has 198 arrays. The contents of flip-flop 198 are flip-flop Each shift/invert unit 10 is also capable of inverting the contents of the 0 to shift up or down. Logical unit 1102 The contents and notes of shift register 154 as previously described by flip-flop 198 are arranged to perform selected logical operations with columns of rear array 180. shift /Inversion unit 1100 and logic unit 1102 are command decoder 1104 Each shift inversion unit 1100 or each logic Units 102 function simultaneously and in the same manner. Therefore, logic, shifts and antithesis The conversion operation is performed on the string of bits forming the bitmap. command deco The reader 1104 is connected via a command line 1106 that forms part of the control line 172. output signals to units 1100 and 1102 in response to inputs received by . Shift register 154 is bidirectional, so data can be shifted in and out respectively. Shift-out top line 1108 or shift-in/shift-out bottom line 1110 through the top of register 154 or the bottom of register 154 using Shifted in and out for 4. All zero output 174 has multiple inputs A NOR operation on the contents of flip-flop 198 is performed within NOR gate 1112. It is obtained by doing.

助動メモリ回路150が単一の半導体チップ上に構成されるとき、シフト/反転 ユニット1100の各々及びフリップフロップ198のそれぞれは第18図に示 される様に単一のシフトレジスタセル1150を形成する。シフトレジスタセル 1150はマスタースレーブフリップフロップ1152とそのほとんどがコマン ドデコーダ1104からの出力を受け取る制御ラインによって制御される複数の MOS FET )ランジスタ1154とを具備している。When the auxiliary memory circuit 150 is constructed on a single semiconductor chip, the shift/inversion Each of the units 1100 and each of the flip-flops 198 are shown in FIG. A single shift register cell 1150 is formed as shown in FIG. shift register cell 1150 is master-slave flip-flop 1152 and most of them are command A plurality of MOS FET) transistor 1154.

ルックスルー制御ライン1156はフリップフロップ1152の入力Sinを介 してデータの入出力を可能にし反転制御ライン1158は高レベルにセットされ るときシフトレジスタ1152の内容を反転する。オールゼロライン1160は フリップフロップ1152の出力51162が高レベルである時は常に低レベル にされる。シフトダウン制御ライン1164が高レベルであるときより上位のシ フトレジスタセル1150のフリップフロップの内容がフリップフロップ115 2の入力Sin 1164へ通過される。同様にしてシフトアップ制御ラインが 高レベルであるときより下位のシフトレジスタセル1150のフリップフロップ の内容がフリップフロップ1152の入力1164へ通過される。Look-through control line 1156 is connected through input Sin of flip-flop 1152. to enable data input and output, and the invert control line 1158 is set high. The contents of shift register 1152 are inverted. All zero line 1160 Low level whenever the output 51162 of flip-flop 1152 is high level be made into When the downshift control line 1164 is high, the higher level The contents of the flip-flop of the register cell 1150 are the contents of the flip-flop of the flip-flop 115. 2 is passed to the input Sin 1164. Similarly, the shift up control line Flip-flop of lower shift register cell 1150 when at high level is passed to input 1164 of flip-flop 1152.

第10図に示される様に論理ユニット1102のセル1170はORゲート11 72.ANDゲート1174及びXORゲー) 1176を具備しこれらは出力 ライン1166に出現したフリップフロップレジスタ1152の内容とラインM 117B上に出現した選択されたメモリセル182の内容との論理演算を達成す る。XOR機能を達成するためにはXORゲート1176はそれぞれフリップフ ロップ1152の内容と選択されたメモリセル182の内容の反転であるライン 1180及び1182からの入力を必要とする。選択された演算に従ってOR制 御ライン1184、A N D 1tlJ御1186又はXOR118Bが高レ ベルになると論理演算が遂行され選択された演算の結果はフリップフロップ11 52の入力1164のみに出力される。高及び低電圧ライン1190及び119 2は第18図に示される様にORゲート1172とAWDゲート1174のため に設けられている。As shown in FIG. 10, the cell 1170 of the logic unit 1102 is 72. AND gate 1174 and XOR gate) 1176, these output The contents of the flip-flop register 1152 appearing on line 1166 and line M 117B to accomplish a logical operation with the contents of the selected memory cell 182 appearing on Ru. To achieve the XOR function, the XOR gates 1176 each have a flip-flop. A line that is the inverse of the contents of the drop 1152 and the selected memory cell 182. Requires input from 1180 and 1182. OR system according to selected operation The control line 1184, A N D 1tlJ control line 1186 or XOR118B is high level. When the bell is reached, a logical operation is performed and the result of the selected operation is sent to the flip-flop 11. 52 input 1164 only. High and low voltage lines 1190 and 119 2 is for the OR gate 1172 and the AWD gate 1174 as shown in FIG. It is set in.

ラインM>S 1194が高レベルになるとき選択されたメモリセル182の内 容はライン1178を通してフリップフロップ1152の入力1164へ入力さ れる。同様にして、SUMライン1196が高レベルになるときフリップフロッ プ1152の内容はうイン1162を通して選択されたメモリセル182へ出力 される。When the line M>S 1194 goes high, the selected memory cell 182 is input through line 1178 to input 1164 of flip-flop 1152. It will be done. Similarly, when the SUM line 1196 goes high, the flip-flop The contents of input 1152 are output to the selected memory cell 182 through input 1162. be done.

メモリセル182はそれらの内容がシフトレジスタ154にシフトイン及びシフ トアウトされそれらに論理演算が実行されるべくデコーダ184及び188によ って選択された時アレイ180又はアレイ186からくる列内に選択される。Memory cells 182 have their contents shifted into and out of shift register 154. decoders 184 and 188 to perform logical operations on them. is selected in the column coming from array 180 or array 186.

能動メモリ回路の主な用途は連想記憶メモリに関するものであり、以前に言及し たAIMにおけるような情報の検索のためのインデクス及びより特殊な参照テー ブルを提供することを目的とする。The main application of active memory circuits is related to associative memory, which was mentioned earlier. indexes and more specialized reference tables for retrieval of information such as in AIM The purpose is to provide bulls.

コプロセッサとして設計された能動メモリを有するサブシステム1200は第1 9図に示す様にホストシステムバス1202を介してホストシステムに接続され る。多数の能動メモリチップ又は回路150を具備する能動メモリはアドレス及 び制御論理回路1206と共にメモリシステム1200へ組み込まれる。特定の 機能を実現するための能動メモリの制御は論理サブシステム1204内に組み入 れられた特殊な論理ユニット1208によってなされる。ホストシステムバス1 202へのアクセス、データの転送、及び全体の制御は命令デコード/解釈ユニ ッ) 1210により達成される。A subsystem 1200 with active memory designed as a coprocessor is 9, it is connected to the host system via the host system bus 1202. Ru. An active memory comprising multiple active memory chips or circuits 150 can be and control logic 1206 into memory system 1200. specific Control of active memory to implement functionality is incorporated within the logic subsystem 1204. This is done by a special logic unit 1208 that is created. host system bus 1 Access to 202, data transfer, and overall control are provided by the instruction decode/interpretation unit. ) 1210.

一般の指標付けに対しては論理ユニッ目208は第1〜7図を参照して記述され た動作を達成する。スーパーインポーズドコード化はこれらの動作の中で最も複 雑である。第20図は入力としてこま切れの定数を受け入れコードワード(レジ スタR11222内に)及びメモリサブシステム1200内に呼応するレコード のビットマツプのいずれか又は双方を形成するスーパーインポーズドコードワー ド計算ユニット1220を表わしている。このユニッ) 1220において用い られる乱数は線形順序回路を用いて計算される。For general indexing, logical unit 208 is described with reference to Figures 1-7. Achieve the desired behavior. Superimposed encoding is the most complex of these operations. It's rough. Figure 20 accepts a chopped constant as input and a codeword (register). in the memory subsystem 1200) and the corresponding record in the memory subsystem 1200. A superimposed codeword forming either or both bitmaps of 12 represents a code calculation unit 1220. This unit) used in 1220 The random numbers generated are calculated using a linear sequential circuit.

指標付は動作の結果はメモリシステム1200内の呼応するレコードのビットマ ツプである。ホストアプリケーションはビットマツプそれ自体でなく主として呼 応するレコードのロケーションに関心がある。第21図はオールゼロを報告しな い回路150すなわちオールゼロ出カライン上に低レベルの信号を出力する回路 のシフトレジスタからの呼応するビットマツプを抽出するための複数の能動メモ リ回路又はチップ150を保持し呼応するビットマツプ内の1ビツトに対応する アドレスをFIFO記憶ユニッ) 1232内に記憶するユニン) 1230を 表わしている。好適には、プロセスをパイプライン化することによってホストは アドレスが生成されるや否やそれを獲得する。Indexing means that the result of an operation is a bit map of the corresponding record in memory system 1200. It's Tsupu. The host application primarily uses the bitmap calls rather than the bitmap itself. We are interested in the location of the corresponding record. Figure 21 shows all zeros. circuit 150, that is, a circuit that outputs a low level signal on the all-zero output line. multiple active notes for extracting corresponding bitmaps from the shift registers of Holds a recircuit or chip 150 and corresponds to one bit in the corresponding bitmap. Store the address in the FIFO storage unit) 1232. It represents. Preferably, by pipelined processes, the host Obtain an address as soon as it is generated.

ユニット1232は自動的に次のアドレスを計算しそれらをFIFOユニット1 232内に記憶する。呼応するビットマツプ全体がスキャンされる前にFIFO ユニット1232が満杯になったらユニッ)1232はホストがその要求又は命 題を取り下げるかFIFO1232からアドレスを取り出すまで一時停止する。Unit 1232 automatically calculates the next addresses and transfers them to FIFO unit 1. 232. FIFO before the entire corresponding bitmap is scanned. When the unit 1232 is full, the host requests or orders the unit 1232. The process is paused until the subject is removed or the address is retrieved from the FIFO 1232.

呼応するビットマツプはビットレジスタ1231内に記憶され制御は選択/制御 ユニット1233によって行なわれる。The corresponding bitmap is stored in the bit register 1231 and the control is selected/controlled. This is done by unit 1233.

高度にダイナミックな応用において、第16図を参照して以前に記述された様に 行入力/出力ライン170を用いてインデクス全体の挿入又は削除を行なうこと が頻繁に必要となってくる。また、所与の通用期間内に多数のデータ全体を一度 に取り除くごみ処理が必要とされることもある。その様な動作を達成する1つの 方法は第22図に示す様な圧縮/拡張ユニット1234を使用することである。In highly dynamic applications, as previously described with reference to FIG. Inserting or deleting entire indexes using line input/output lines 170 is frequently required. Also, it is possible to process a large number of entire pieces of data at once within a given validity period. Garbage disposal may also be required. One way to achieve such behavior is to The method is to use a compression/expansion unit 1234 as shown in FIG.

ユニット1234はビットマツプの制御のもとに能動メモリ回路又はチップ15 0内に記憶されるインデクスの行を圧縮又は拡張する。圧縮モードにおいて、ビ ットマツプは除去されるべきインデクスの行の位置の各々に1を有している。ユ ニットは各行をさらにその行バツフア1236ヘコピーする。ユニット234は 除去されるまでの行の数のカウントを保持しそれを行バッファ1236の内容ヘ コピーすべき行を決定するために用いる。拡張はその逆に動作する。ビットマツ プは行が挿入されるべき位置の各々には1を有しておりコピー動作が最も高い行 アドレスから最低へと遂行される。空いた行にはゼロが挿入される。ビットマツ プ内に1つのビットがセットされていれば1つの行が挿入又は削除される。圧縮 /拡張ユニッ) 1234は選択/制御ユニット1235で制御され制御ビット マツプ記憶装置1237はどの行において圧縮又は拡張が行なわれるかを示すビ ットマツプを記憶する。Unit 1234 is an active memory circuit or chip 15 under control of the bitmap. Compress or expand the row at index stored in 0. In compressed mode, the bit The map has a 1 in each row position of the index to be removed. Yu The unit further copies each row to its row buffer 1236. The unit 234 is Keep a count of the number of lines to be removed and store it in the contents of line buffer 1236. Used to determine which lines to copy. Expansion works in the opposite way. bit pine The row with the highest copy activity has a 1 in each position where a row should be inserted. Performed from address to lowest. Zeros are inserted into empty lines. bit pine If one bit is set in the row, one row is inserted or deleted. compression / expansion unit) 1234 is controlled by the selection/control unit 1235 and is a control bit Map storage 1237 contains bits that indicate which rows will be compressed or expanded. memorize the map.

複数の能動メモリ回路又はチップ150は仮想記憶のサポート、データフローコ ンピュータのノードスイッチング、及びCADシステム内の対象物のトラックの 保持の様な高速テーブル参照への多くの応用に用いることが可能である。これは 能動メモリ回路150の非常に簡単な応用であり、たとえあっても等値性テスト のみを必要とし1つのヒツトのみが期待されるのみであるから、第19図の精巧 なアーキテクチャは必要とされない。第23図は集積された能動メモリチップ1 50を有する特殊なテーブル参照ユニット1236の好適な具体例を示している 。ホストはテストワードレジスタ1239内に記憶するためのテストワードを供 給しユニット1239はテーブル内のテストワードアドレスに関する指示をヒツ トレジスタ1240に返す、ユニット1238は制御ユニッH241を含んでい る。A plurality of active memory circuits or chips 150 provide virtual memory support, data flow control, and Computer node switching and tracking of objects in CAD systems It can be used in many applications for fast table lookups, such as retention. this is A very simple application of the active memory circuit 150, even if the equivalence test Since only one person is required and only one person is expected, the elaboration of Figure 19 no special architecture is required. Figure 23 shows integrated active memory chip 1 50 shows a preferred embodiment of a special table lookup unit 1236 having 50 . The host provides a test word for storage in test word register 1239. The supply unit 1239 inputs instructions regarding the test word address in the table. The unit 1238 includes a control unit H241. Ru.

能動メモリチップ150は好適には0時記憶アレイ186によって供給される追 加の列と共にメモリ要素182の正方形のアレイ180を有している。アレイ1 80を行から見た場合と列から見た場合とでは異なるのでビットに対する記憶要 素182の配置が対称である必要がないことは回路150の重要な応用から明ら かである。100.000レコードのファイルに対する指標は多くの場合128 ビツトに適合する。テーブル参照は1行あたり32ピントのみが必要であるが多 数の行がある。したがってそれはカスケード接続可能なユニット1250の32 ビツト正方形として能動メモリ回路150を設計することが好ましい。Active memory chip 150 preferably includes additional memory provided by zero time storage array 186. It has a square array 180 of memory elements 182 with additional columns. array 1 Since the view of 80 from the row is different from the view from the column, the storage requirements for bits are different. It is clear from important applications of circuit 150 that the arrangement of elements 182 need not be symmetrical. That's it. The index for a file of 100,000 records is often 128 Compatible with bits. Table references only require 32 pins per row, but many There are several rows. Therefore it is 32 of the cascadable units 1250. Preferably, active memory circuit 150 is designed as a bit square.

第24図に示される様に高密度チップはこれら多数のカスケード接続可能なユニ ット1250を有する。As shown in Figure 24, a high-density chip has many of these cascadable units. It has a cut 1250.

テーブル参照における゛用途において、テーブルの部分は各ユニット1250内 にあり初等的な演算はすべてのユニット1250において同時に達成される。一 般の指標付けの応用のためには、論理上の行は行方向にいくつかのユニット又は チップ1250にまたがって拡がる。最終的なビットマツプは1つの列内のすべ ての要素を選択する操作を用いて切れ切れに形成され最後に組み合わせのプロセ スがある。組み合わせのプロセスが選択されたシフトレジスタの内容をその行の 最も左のユニット1250のシフトレジスタへのコピーが可能であることが便利 である0列をカスケード接続することがシフトレジスタの論理的結合の最も簡単 な要求である。In the table reference application, the table portion is within each unit 1250. Elementary operations are accomplished in all units 1250 simultaneously. one For general indexing applications, a logical row may consist of several units or rows in the row direction. It extends across the chip 1250. The final bitmap contains everything in one column. It is formed into pieces using the operation of selecting all the elements, and finally the process of combining them. There is a The combinatorial process transfers the contents of the selected shift register to that row's It is convenient to be able to copy to the shift register of the leftmost unit 1250 The simplest logical combination of shift registers is to cascade the 0 columns that are This is a very demanding request.

能動メモリ回路150の最も容易に認識可能な応用は以前に記述した連想記憶メ モリシステム62における応用である。The most easily recognizable application of active memory circuit 150 is the associative memory method previously described. This is an application in the Mori system 62.

第25図に示される様に能動メモリ回路150を採用した連想記憶メモリシステ ム62はインデクスメモリユニット74を形成する16個のビデオメモリ80と 、インデクスプロセッサ76を形成する16個の能動メモリ回路150を具備し ている。インデクスプロセッサ76は能動メモリ回路150を制御するための以 前に記述したホストインターフェースポート120の様な制御ユニット(図示せ ず)も含んでいる。 4096ビツトの大きさを有するビットマツプ又は列は1 6ビツトバス1500を介して能動メモリ回路150上のビットマツプ記憶設備 へ転送される。能動メモリ回路150に記憶されるビットマツプに対するビット マツプ演算が実行され演算の結果は16ビツトデータバス1502を介してイン デクスメモリユニット74へ戻される。第25図に示されたアーキテクチャは第 8図のメモリシステム62よりも非常に速い速度で複合ビットマツプ演算を達成 する。第25図のアーキテクチャは同量のメモリと共に多量のビットマツプマト リクスを記憶することも又可能で、レジスタ94のシリアル入力ポートにおける データ入力によって出力された以前のデータを回復する必要なくメモリユニット 74内のレジスタ94からデータをシフトアウトすることができる。データの転 送に必要バスは16ビツトの大きさで良く、したがって第8図のメモリシステム 62における様に3つの16ビツトのワードの転送のかわりに16ビツトワード の転送のみが監視される必要がある。アーキテクチャ25のインデクスプロセッ サ76は1マイクロ秒以下のサイクルにおいてビットマツプ演算を実行すること が可能である。An associative memory system employing an active memory circuit 150 as shown in FIG. The system 62 has 16 video memories 80 forming an index memory unit 74. , 16 active memory circuits 150 forming an index processor 76. ing. Index processor 76 performs the following operations for controlling active memory circuit 150. A control unit such as host interface port 120 previously described (not shown) ) is also included. A bitmap or column with a size of 4096 bits is 1 Bitmap storage facility on active memory circuit 150 via 6-bit bus 1500 will be forwarded to. Bits for bitmap stored in active memory circuit 150 The map operation is executed and the result of the operation is imported via the 16-bit data bus 1502. The data is returned to the index memory unit 74. The architecture shown in Figure 25 is Achieves complex bitmap operations much faster than the memory system 62 in Figure 8. do. The architecture in Figure 25 uses a large amount of bitmap memory with the same amount of memory. It is also possible to store the risk at the serial input port of register 94. memory unit without the need to recover previous data output by data input Data can be shifted out from register 94 within 74. data transfer The bus required for data transfer only needs to be 16 bits in size, so the memory system shown in Figure 8 16-bit word instead of three 16-bit word transfers as in Only the transfer of the data needs to be monitored. Architecture 25 index process The processor 76 executes bitmap operations in cycles of 1 microsecond or less. is possible.

浄書(内容に変更なし) アルゴリズム : L:=0・ 6二:O・ for i:=1 to n d。Engraving (no changes to the content) Algorithm: L:=0・62:O・ for i:=1 to n d.

caseW[1lof O,:G:=G or not L and 8[i ];1: L:=L o r notG and not 8[;]end・ −−−−兎−−−−−−−−−−−っ r−一−−−−−−−−−−−コ 浄書(内容に変更なし) 浄書(内容に変更なし) 手続補正書く方式〉 特許庁長官 吉 1)文 毅 殿 1、事件の表示 PCT/AU87100284 2、発明の名称 連想記憶メモリシステム 3、補正をする者 事件との関係 特許出願人 住所 〒105東京都港区虎ノ門−丁目8番10号5、補正命令の日付 平成1年11月7日(発送日) 6、補正の対象 (1)特許法第184条の5第1項の規定による書面の「発明者の住所」「特許 出願人の代表者」の欄 (2)委任状 (3)明細書の翻訳文 (4)請求の範囲の翻訳文 (5)図面の翻訳文 7、補正の内容 +1) +2) 別紙の通り (3)明細書の翻訳文の浄書 (内容に変更なし) (4)請求の範囲の翻訳文の浄書 (内容に変更なし) (5)図面翻訳文の浄書(内容に変更なし)8、添付書類の目録 (1)訂正した特許法第184条の5 第1項の規定による書面 1通 (2)委任状及びその翻訳文 各2通 (3) 浄書した明細書の翻訳文 1通(4)浄書した請求の範囲の翻訳文 1 通(5)浄書した図面の翻訳文 1通 国際調査報告 −1−、−、l−+、、、、、−,,,,−−−、、PCT/AU 87100 284に閃スπLフΣ廚π?街=l廷9スK】でPゴσlzαM APPLIC ATICN hl:1. I’CT AIJ 8700284tE 42009 35 DE 2849944 FR2408868GB 2009469A、% lEX To ”WE フ君=R傅す−CM)J、5EAROI REPCRT  GJ酎耐χα貫c記、にγJひTTGI史、にテへ〇 O7(イ)284 ( CCNI)髪p)O54412313cA 116B376 EP 69764  WO8202615DE 3232675 a(658329JP 5E10 39341 t’s 4476528EX)OF ANNEKcaseW[1lof O, :G:=G or not L and 8 [i]; 1: L:=L o r notG and not 8[;]end・ −−−−Rabbit−−−−−−−−−− r-1----------- Engraving (no changes to the content) Engraving (no changes to the content) How to write procedural amendments> Yoshi, Commissioner of the Patent Office 1) Takeshi Moon 1.Display of the incident PCT/AU87100284 2. Name of the invention associative memory system 3. Person who makes corrections Relationship to the incident: Patent applicant Address: 8-10-5 Toranomon-chome, Minato-ku, Tokyo 105, Date of amendment order November 7, 1999 (shipment date) 6. Subject of correction (1) Inventor's address, patent “Applicant representative” column (2) Power of attorney (3) Translation of the specification (4) Translation of the scope of claims (5) Translation of drawings 7. Contents of correction +1) +2) As per attached sheet (3) Engraving of the translation of the specification (No change in content) (4) Engraving of the translation of the scope of claims (No change in content) (5) Engraving of drawing translation (no change in content) 8. List of attached documents (1) Amended Article 184-5 of the Patent Act One document pursuant to the provisions of paragraph 1 (2) Power of attorney and its translation (two copies each) (3) Translation of the written specification: 1 copy (4) Translation of the written claims: 1 (5) Translation of the painted drawing: 1 copy international search report -1-,-,l-+,,,,-,,,,----,,PCT/AU 87100 284 is a flash πL fu Σ廚π? City = l court 9th K] de Pgo σlzαM APPLIC ATICN hl:1. I’CT AIJ 8700284tE 42009 35 DE 2849944 FR2408868GB 2009469A,% lEX To “WE Fu-kun=R Fusu-CM) J, 5EAROI REPCRT  GJ chutai χα kan c record, Ni γJ Hi TTGI history, Ni Tehe〇 O7(a) 284 ( CCNI) Hair p) O54412313cA 116B376 EP 69764 WO8202615DE 3232675a (658329JP 5E10 39341 t’s 4476528EX) OF ANNEK

Claims (17)

【特許請求の範囲】[Claims] 1.複数のレコードを記憶するホストメモリ(66,68)とホストプロセッサ バス(72)を有するホストコンピュータ(60)との結合のための連想記憶メ モリシステム(62)であって、該メモリシステム(62)は: 該ホストコンピュータ(60)に記憶されるレコードを表現するビットマップマ トリクスを記憶するためであって、使用において、該ホストプロセッサバス(7 2)へ接続され該ホストコンピュータ(60)によってアドレス可能なインデク スメモリ手段(74)と、 該メモリ手段(74)に記憶されたビットマップをアクセスし該ビットマップに 対するビットマップ演算を達成し、使用において、該ホストプロセッサバス(7 2)へ接続され該ホストコンピュータ(60)より制御されるインデクスプロセ ッサ手段(76)と、 該インデクスメモリ手段(74)と該インデクスプロセッサ手段(76)との間 に接続され、該メモリ手段(74)と該プロセッサ手段(76)との間のビット マップの通過のために採用されたメモリシステムバス(78)とを具備する連想 記憶メモリシステム(62)。1. Host memory (66, 68) and host processor for storing multiple records Content addressable memory for coupling to a host computer (60) having a bus (72). A memory system (62), the memory system (62) having: A bitmap map representing records stored in the host computer (60). in use, the host processor bus (7 2) an index connected to and addressable by the host computer (60); memory means (74); accessing the bitmap stored in the memory means (74); In use, the host processor bus (7 2) an index process connected to the host computer (60) and controlled by the host computer (60); sensor means (76); between the index memory means (74) and the index processor means (76); a bit connected to the memory means (74) and the processor means (76); an association comprising a memory system bus (78) employed for the passage of the map; Storage memory system (62). 2.前記インデクスメモリ手段(74)は複数のインデクスメモリ(80)を具 備し該複数のインデクスメモリ(80)の各々は: メモリセルのアレイ(92)と; シフトレジスタ(94)であって、該アレイ(92)へ接続されたパラレル入力 /出力バス(96)と、該シフトレジスタ(94)の対向する端部におけるシリ アル入力ポート(106)及びシリアル出力ポート(104)とを有し、該パラ レル入力/出力バス(96)は該アレイ(92)内のデータの選択された行のア クセスが可能であるシフトレジスタ(94)とを具備し;前記メモリシステムバ ス(78)は該インデクスメモリ(80)の該シリアル入力及び出力ポート(1 06及び104)を前記インデクスプロセッサ手段(76)へパラレルに接続し ;同時にアクセスされた該データの選択された行は少なくとも1つのビットマッ プを形成する請求の範囲第1項記載の連想記憶メモリシステム(62)。2. The index memory means (74) includes a plurality of index memories (80). Each of the plurality of index memories (80) includes: an array of memory cells (92); a shift register (94) with a parallel input connected to the array (92); /output bus (96) and serial at opposite ends of said shift register (94). It has a serial input port (106) and a serial output port (104). The array input/output bus (96) provides access to selected rows of data within the array (92). a shift register (94) that can be accessed; The serial input and output port (1) of the index memory (80) 06 and 104) are connected in parallel to said index processor means (76). ; the selected rows of the data accessed at the same time have at least one bitmap; An associative memory system (62) according to claim 1, wherein the associative memory system (62) forms a group. 3.前記アレイ(92)が前記ホストコンピュータ(60)によりアクセスされ る一方、前記インデクスプロセッサ手段(76)は前記シフトレジスタ(94) をアクセスする請求の範囲第2項記載の連想記憶メモリシステム(62)。3. the array (92) is accessed by the host computer (60); while the index processor means (76) is connected to the shift register (94). 3. An associative memory system (62) according to claim 2, wherein the associative memory system (62) has access to a content addressable memory system (62). 4.前記インデクスメモリ(80)は第1又は第2のバンク(110又は112 )内に配置され、予め定めたビットマップ演算を達成するにあたり、前記インデ クスプロセッサ手段(76)は該第1のバンク(110)から第1のビットマッ プを該第2のバンク(112)から第2のビットマップアクセスし、該第1及び 第2のビットマップは該演算のオペランドを形成する請求の範囲第2項又は第3 項記載の連想記憶メモリシステム(62)。4. The index memory (80) has a first or second bank (110 or 112). ), and in achieving a predetermined bitmap operation, the said index A first bitmap processor means (76) extracts a first bitmap from said first bank (110). a second bitmap access from the second bank (112); The second bitmap forms an operand of the operation. The associative memory system (62) as described in Section 6. 5.前記演算を実行するに先立ちオペランドを形成する前記ビットマップはそれ ぞれのバンク(110,112)のシフトレジスタ(94)に記憶され該演算中 において前記インデクスプロセッサ手段(76)は各シフトレジスタ(94)シ リアル出力ポート(104)からのビットを同時にアクセスし、該アクセスされ たビットは各バンク(110,112)からの2ワードを形成し、該ワードに対 する演算を実行し、少なくとも1つのバンク(110,112)のシフトレジス タ(94)のシリアル入力ポート(106)へ演算の結果のワードを出力する請 求の範囲第4項に記載の連想記憶メモリシステム(62)。5. Before performing the operation, the bitmap forming the operand is It is stored in the shift register (94) of each bank (110, 112) and is used during the operation. In the index processor means (76) each shift register (94) The bits from the real output port (104) are accessed simultaneously and the accessed bits are The bits added form two words from each bank (110, 112) and The shift register of at least one bank (110, 112) A request for outputting the result word of the operation to the serial input port (106) of the computer (94). The associative memory system (62) according to claim 4. 6.前記演算は前記ビットマップが4096ビットを具備すれば16マイクロ秒 以下で達成される請求の範囲第5項記載の連想記憶メモリシステム(62)。6. The operation takes 16 microseconds if the bitmap has 4096 bits. An associative memory system (62) according to claim 5, which is accomplished by: 7.前記インデクスプロセッサ手段(76)は:使用において該ホストプロセッ サバス(72)へ接続されるホストインターフェースポート(120)と;該イ ンターフェースポート(120)と前記メモリシステムバス(20)とに接続さ れたシリアル機能ユニット(124)とを包含し; 該インターフェースポート(120)は前記ホストコンピュータ(60)に応答 して前記第1及び第2のビットマップをアクセスし該シリアル機能ユニットに該 第1及び第2のビットマップに対する予め定めたピットマップ演算を達成させる 請求の範囲第4項ないし第6項のいずれかに記載の連想記憶メモリシステム。7. said index processor means (76): in use said host processor; a host interface port (120) connected to the server (72); interface port (120) and the memory system bus (20). a serial functional unit (124); The interface port (120) is responsive to the host computer (60). to access the first and second bitmaps and apply them to the serial functional unit. accomplishing a predetermined pitmap operation on the first and second bitmaps; An associative memory system according to any one of claims 4 to 6. 8.前記シリアル機能ユニット(124)は前記メモリシステムバス(78)を 介して前記シリアル出力ポート(104)へ結合する入力ラインと該メモリシス テムバス(78)を介して前記シリアル入力ポート(106)へ結合する出力ラ インを有する論理ユニット(138)と該論理ユニット(138)の出力の監視 を可能にするディレイユニット(140)とを具備する請求の範囲第7項に記載 の連想記憶メモリシステム(62)。8. The serial functional unit (124) connects the memory system bus (78). an input line coupled to the serial output port (104) via the memory system; an output line coupled to said serial input port (106) via a system bus (78); Monitoring of a logical unit (138) with an input and the output of the logical unit (138) as set forth in claim 7, comprising a delay unit (140) that enables associative memory system (62). 9.行(160)及び列(162)に配置され少なくともビットマップの一部を 記憶するのに適するメモリセル(182)のアレイ(180)と; 少なくともビットマップの一部を記憶するのに適したシフトレジスタ(154) と; 該アレイ(180)と該シフトレジスタ(154)との間に接続された論理ユニ ット(156)とを具備し、該アレイ(180)、シフトレジスタ(154)及 び論理ユニット(156)は集積回路よりなり、該シフトレジスタ(154)は 該アレイ(180)の選択された列(162)をコピーすることが可能であり、 該論理ユニット(156)は該シフトレジスタ(154)の内容と該アレイ(1 80)の選択された列(162)との選択された論理演算を達成することが可能 であり、該演算の結果は該シフトレジスタ(154)内に記憶される能動メモリ 回路(150)。9. At least a portion of the bitmap is placed in row (160) and column (162). an array (180) of memory cells (182) suitable for storing; Shift register (154) suitable for storing at least part of the bitmap and; a logic unit connected between the array (180) and the shift register (154); the array (180), the shift register (154) and The logic unit (156) is composed of an integrated circuit, and the shift register (154) is it is possible to copy selected columns (162) of the array (180); The logic unit (156) combines the contents of the shift register (154) and the array (1 80) with the selected column (162) and the result of the operation is an active memory stored in the shift register (154). Circuit (150). 10.前記シフトレジスタ(154)はシフトレジスタセル(1150)の列を 具備し前記論理回路(156)は論理セル(1170)の列を具備し、該論理セ ル(1170)はそれぞれのシフトレジスタ(1150)とメモリセル(182 )のそれぞれの行(160)とに結合される請求の範囲第9項に記載の能動メモ リ回路。10. The shift register (154) has a column of shift register cells (1150). said logic circuit (156) comprising a column of logic cells (1170), said logic circuit (156) comprising a column of logic cells (1170); The cells (1170) have respective shift registers (1150) and memory cells (182). ) are combined with each line (160) of the active memo according to claim 9. Recircuit. 11.前記論理セル(1170)は対応する制御ライン(1184,1186又 は1188)がイネーブルであるとき前記シフトレジスタセル(1150)の内 容と前記メモリセル(182)の選択された列(162)との論理演算を達成し 選択された論理演算の結果はシフトレジスタ(1150)へ書き込まれる請求の 範囲第10項記載の能動メモリ回路。11. The logic cell (1170) has a corresponding control line (1184, 1186 or is in the shift register cell (1150) when the shift register cell (1188) is enabled. and the selected column (162) of said memory cell (182). The result of the selected logical operation is written to the shift register (1150). The active memory circuit according to range 10. 12.前記論理演算はNOT,AHD,OR,XOR,ANDNOT,ORNO T、及びXORNOTを含む請求の範囲第11項記載の能動メモリ回路。12. The logical operations are NOT, AHD, OR, XOR, ANDNOT, ORNO. 12. The active memory circuit of claim 11, comprising: T, and XORNOT. 13.前記各シフトレジスタセル(1150)はシフトレジスタセル(1150 )の列内にフリップフロップ(1152)とフリップフロップ(1152)の内 容を反転し別のフリップフロップ(1152)へ内容をシフトする回路とを含む 請求の範囲第10項ないし第12項のいずれかに記載の能動メモリ回路。13. Each shift register cell (1150) is a shift register cell (1150). ) in the column of flip-flop (1152) and flip-flop (1152) and a circuit to invert the content and shift the content to another flip-flop (1152). An active memory circuit according to any one of claims 10 to 12. 14.前記論理セル(1170)は第1及び第2の記憶制御ライン(1196及 び1194)がイネーブルであるときそれぞれ前記シフトレジスタセル(115 0)をメモリセル(182)の選択された列(162)内に記憶しメモリセル( 182)の選択された列(162)の内容を該シフトレジスタ(1150)に記 憶することを可能にする回路を含む請求の範囲第10項ないし第13項のいずれ かに記載の能動メモリ回路。14. The logic cell (1170) is connected to first and second storage control lines (1196 and and 1194) respectively are enabled. 0) in the selected column (162) of the memory cell (182) and stores the memory cell ( 182) in the selected column (162) in the shift register (1150). Any one of claims 10 to 13 including a circuit that enables An active memory circuit described in . 15.前記シフトレジスタ(154)内に記憶されたピットの内容がすべて低レ ベルであるときその出力がHレベルとなるNORゲート(1112)をさらに具 備する請求の範囲第9項ないし第14項のいずれかに記載の能動メモリ回路。15. The contents of the pits stored in the shift register (154) are all low level. It further includes a NOR gate (1112) whose output becomes H level when the signal is high. An active memory circuit according to any one of claims 9 to 14. 16.前記制御ライン(1184,1186,1888,1194及び1196 )に接続された出力を有するコマンドデコーダ(1104)をさらに具備し、前 記デコーダ(1104)はコマンドライン(1106)を介して受けとる入力に 応答する請求の範囲第11項ないし第14項に記載の能動メモリ回路。16. The control lines (1184, 1186, 1888, 1194 and 1196 ) further comprising a command decoder (1104) having an output connected to the The decoder (1104) receives input via the command line (1106). Active memory circuit according to the corresponding claims 11-14. 17.前記インデクスプロセッサ手段(76)は請求の範囲第9項ないし第16 項のいずれかに記載の1つ又はそれ以上の能動メモリ(150)を具備する請求 の範囲第1項ないし第3項のいずれかに記載の連想記憶メモリシステム(62) 。17. The index processor means (76) is defined in claims 9 to 16. Claim comprising one or more active memories (150) according to any of paragraphs The associative memory system (62) according to any one of items 1 to 3 of the range .
JP50529387A 1986-08-22 1987-08-21 associative memory system Pending JPH02501604A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
AU7618 1984-10-12
AU7619 1986-08-22
AU761886 1986-08-22
AU761986 1986-08-22

Publications (1)

Publication Number Publication Date
JPH02501604A true JPH02501604A (en) 1990-05-31

Family

ID=25612484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50529387A Pending JPH02501604A (en) 1986-08-22 1987-08-21 associative memory system

Country Status (1)

Country Link
JP (1) JPH02501604A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04148373A (en) * 1990-10-11 1992-05-21 Toshiba Corp Data retrieving system
JP2016539417A (en) * 2013-12-06 2016-12-15 華為技術有限公司Huawei Technologies Co.,Ltd. Column-oriented database processing method and processing device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04148373A (en) * 1990-10-11 1992-05-21 Toshiba Corp Data retrieving system
JP2016539417A (en) * 2013-12-06 2016-12-15 華為技術有限公司Huawei Technologies Co.,Ltd. Column-oriented database processing method and processing device
US10303691B2 (en) 2013-12-06 2019-05-28 Huawei Technologies Co., Ltd. Column-oriented database processing method and processing device

Similar Documents

Publication Publication Date Title
US5758148A (en) System and method for searching a data base using a content-searchable memory
US5293616A (en) Method and apparatus for representing and interrogating an index in a digital memory
JP2845392B2 (en) File search method and apparatus
US3402398A (en) Plural content addressed memories with a common sensing circuit
US20010052062A1 (en) Parallel computer within dynamic random access memory
US5053951A (en) Segment descriptor unit for performing static and dynamic address translation operations
EP0066061A2 (en) Relational algebra engine
JPS61145636A (en) Symbol string collating device
JPH0519238B2 (en)
JPH0820967B2 (en) Integrated circuit
KR910005154A (en) Pipelined Write Buffer Registers
US3290659A (en) Content addressable memory apparatus
US3618027A (en) Associative memory system with reduced redundancy of stored information
JPH01283625A (en) Solid wiring circuit for sorting data
AU595378B2 (en) Content-addressable memory system with active memory circuit
JPH02501604A (en) associative memory system
US4327407A (en) Data driven processor
RU2039376C1 (en) Device for information search
JPS63213046A (en) Segment descriptor device
JPS62137799A (en) Method and system for memory allowed address contents
JPH0766391B2 (en) Search method for associative matrix
JPS6143338A (en) Searching of thin data base using association technology
RU2065207C1 (en) Associative memory matrix
JPS6168636A (en) Data processor
SU1631607A1 (en) Device for data readout from large capacity associative memories