WO2002091386A1 - Memoire associative, procede de recherche dans ladite memoire, dispositif de reseau et systeme de reseau - Google Patents

Memoire associative, procede de recherche dans ladite memoire, dispositif de reseau et systeme de reseau Download PDF

Info

Publication number
WO2002091386A1
WO2002091386A1 PCT/JP2001/003562 JP0103562W WO02091386A1 WO 2002091386 A1 WO2002091386 A1 WO 2002091386A1 JP 0103562 W JP0103562 W JP 0103562W WO 02091386 A1 WO02091386 A1 WO 02091386A1
Authority
WO
WIPO (PCT)
Prior art keywords
search
data
associative memory
bit
primary
Prior art date
Application number
PCT/JP2001/003562
Other languages
English (en)
French (fr)
Inventor
Naoyuki Ogura
Original Assignee
Terminus Technology Limited
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 Terminus Technology Limited filed Critical Terminus Technology Limited
Priority to CNA018231888A priority Critical patent/CN1505819A/zh
Priority to EP01925898A priority patent/EP1385173A4/en
Priority to US10/475,031 priority patent/US6956756B2/en
Priority to JP2002588556A priority patent/JP3957637B2/ja
Priority to KR20037013975A priority patent/KR100666241B1/ko
Priority to PCT/JP2001/003562 priority patent/WO2002091386A1/ja
Priority to TW91108664A priority patent/TWI226065B/zh
Publication of WO2002091386A1 publication Critical patent/WO2002091386A1/ja
Priority to US11/252,360 priority patent/US7397682B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements

Definitions

  • the present invention relates to an associative memory, a search method therefor, a network device, and a network system.
  • the present invention relates to an associative memory having a search mask function, a search method therefor, and a network device and a network system using the same.
  • Figure 33 shows a connection example of a conventional computer / network configuration.
  • a user device for example, a computer terminal
  • a specific network address according to the applicable rules.
  • the net address is described as being represented by a multi-digit number, for example, a 3-digit number (abc).
  • the predetermined rule is that, for example, the first number of the network address indicates a country such as the United Kingdom, the United States, Japan, and the like, and the second number indicates the country.
  • the name of the city in the city, and the third number indicates the name of the company in the city, It has a hierarchical structure. Hereinafter, this hierarchy is referred to as a segment.
  • Figure 33 schematically shows the hierarchical structure of the segments.
  • one rectangle surrounded by a thick line is one segment.
  • the first segment of the network address is segment 1
  • the second segment is segment 2
  • the first segment is 3. 3 exists as the highest segment.
  • segment 1 there is a segment 4 with a network address with the top two numbers being 1.2, and a network with the top two numbers being 1.3.
  • Work ⁇ There is a segment 5 that has an address.
  • a user device PC401-1 that has a network address; L.2.6 is connected. ing.
  • segment 2 In the hierarchy below segment 2, there is a segment 6 with a network 'address whose top two numbers are 2.3, and there is a netpage in segment 6 PC device 40 1 — 2 with network address 2.3.4 and user device PC 40 1 — 3 with network address 2.3.5 And are connected.
  • segment 3 In the hierarchy below the segment 3, there is a segment 7 having a network address whose upper two numbers are 3.5. In the address illustrated in the figure, * means don't care.
  • each of these net addresses is represented by a 9-bit string in which each digit is represented by an octal number.
  • a network address (1.2. *) Is represented by a bit sequence (01.0.100.0.000).
  • the bit string of this expression is referred to as storage data.
  • * in the network address is a don't care
  • the upper 6 bits of the bit string of the corresponding storage data (0 1 1 0 1 0.
  • the bit is valid and the bits below it are invalid.
  • this pair is referred to as structured data.
  • this pair is referred to as structured data.
  • it is represented by a bit string (111.11.1.00).
  • “1” indicates a mask invalid state
  • 0” indicates a mask valid state.
  • Each segment has a network device, for example, a router, for transferring communication data between user devices participating in the network.
  • segment 1 is network device 400-1; segment 2 is network device 400-2; and segment 3 is network device.
  • the network device 400-6 and the segment 7 have the network device 400-7, respectively.
  • each network device is connected to a network device or a user device immediately below the segment.
  • the network devices 400-1 are network devices 400-2, network devices 400-3, and network devices 40-0. Also connected to 0-6.
  • the network equipment included in each segment is used for communication data input from user equipment or other network equipment connected to the network equipment.
  • a function for calculating whether or not transfer is possible based on a source network address and a destination network address and a transfer rule set in advance;
  • Address and networking-It has a function to calculate the optimal transfer route based on the connection relationship between network devices and to generate the destination network address. Control.
  • the communication data whose destination network address is (2.3.4) corresponding to the PC 410-122 is transmitted to the network device 400.
  • the network device corresponding to the network address (2. *. *) Can be clearly seen from the figure.
  • the network device 400-6 It is more optimal to transfer to the network device 400-6 corresponding to the network's address (2.3. *) Than to transfer it to 400-2.
  • the network' address is used in the network device corresponding to the network address that matches the destination network 'address and the mask information in consideration of the mask information. It is optimal to select a network device that has the mask information with the least number of bits in the mask valid state.
  • Table 1 (a) shows a setting example of the computer network transfer rules described in this example.
  • Table 1 (a) Transfer rule 1 Transfer allowed from inside segment 4 to segment 2 Transfer rule 2 Segment "! From inside--Transfer allowed inside segment 3 Transfer rule 3 From segment 4 inside segment 6 Rejected transfer to the inside Transfer rule 4 Segment 4 Allowed transfer from PC401-11 in the segment 4 to PC401--2 in the segment 6 Transfer rule 5 Segment "! From inside, PC401 in the segment 6-- Rejected transfer to 3
  • the network device controls the transfer of communication data and performs communication, thereby providing a finite communication line. Is used efficiently while ensuring safety.
  • FIG. 34 is a block diagram showing a configuration example of a conventional network device.
  • the conventional network device 42 is shown in FIG.
  • the configuration and operation will be explained by taking the case where 0 to 1 is applied as an example.
  • the network device 422 receives the input transfer data 402 as an input and outputs the output transfer data 403.
  • the input transfer address 402 is a source network address 404, a transfer destination network address 405, and a destination network address 404. 0 6 and a data section 4 07.
  • the output transfer server 403 includes a source network address 404, a second destination network address 408, and a destination network address. It has a address 406 and a data section 407.
  • FIG. 34 shows an example in which the conventional network device 422 is applied to the network device 400-1 of FIG. 33, so that the input transfer data 4
  • the transfer destination network address 402 of address 02 is, of course, the network address of network device 400-1.
  • the network link device 4 2 2 includes a source network address extraction unit 409, a destination network ⁇ address extraction unit 4 10, and an associative memory 10. 1, a CPU 4 13, an encoder 4 14, a memory 4 16, a destination network / address change unit 4 18, and a data transfer unit 4 21 .
  • the source network address extraction unit 409 outputs the source network address 404 of the input transfer data 402 to the source network address. 'Extract as address information 4 1 1 and input to CPU 4 13.
  • the destination network address / address extraction unit 410 receives the destination network of the input transfer data 402 and the destination network address information 410 to the destination network address information 410. Extracted as 2 and input to associative memory 101 and CPU 413.
  • the network device 422 includes a segment to which oneself belongs among network devices connected to the network device 422 in the network.
  • the network address of the segment to which the network device outside the network belongs is stored in the associative memory 101 of the associative memory 101.
  • FIG. 34 shows an example in which the conventional network device 4 ⁇ 22 is applied to the network device 400-1 in FIG. 33, so the associative memo is used.
  • the network address ( 2. *. *) Of the segment 2 to which the network device 400-2 belongs is stored in the word 102-1 as described above. De night (0 1
  • the associative memory 101 has a function to write and read stored data by specifying an address in the same way as a normal memory, as well as input destination network address information 4 Matching line 1 0 5 — 1 that corresponds to the storage data that has the least number of bits in the mask valid state of the mask information among the storage data that match as a result of comparing 1 2 with the corresponding mask information. ⁇ 1 0 5 — Has the function to make 3 valid.
  • As the associative memory 101 for example, there is Japanese Patent Application No. 2000-0-181046.
  • the match lines 1 05-1 to 1 0 5-3 output from the associative memory 101 are encoded into the memory address signal 4 15 by the encoder 4 14.
  • the memory 416 contains the associative memory of the associative memory 101.
  • the network address of the segment consisting of the stored data and mask information stored in the word The network address of the corresponding network device is stored in the word of the same address as the storage address of the associative memory 101. For example, the address (2. *. *) Is stored in the associative memory 'word' 102-1 of the associative memory 101, and the corresponding address in FIG.
  • the network address of network device 400-2 is stored in word 4 of memory 416.
  • the address of the network device 400 — 6 is assigned to word 2 of the memory 416, and the address of the network device 400 — 3 is assigned to the word 3 of word 3. Is stored.
  • the memory 416 outputs the stored data designated as the memory address signal 415 as the read address as the memory data signal 417.
  • the transfer destination network / address change unit 4 18 The changed transfer data 4 19 is generated by changing the transfer destination network 'address 4 0 5 of 4 0 2 to the value of the memory' data signal 4 17. Input to overnight transfer section 4 2 1.
  • the CPU 413 sends the source network address information 411 and the destination network address information 412 based on the transfer rules shown in Table 1 (b). Judge whether transfer is possible or not and input the judgment result to the data transfer section 4 21 as a transfer control signal 420.
  • the data transfer section 4 21 outputs the changed transfer data 4 19 as output transfer data 4 3 if the transfer control signal 4 2 0 permits transfer, and outputs the transfer control signal 4 2 No output if 0 rejects the transfer.
  • the source network address 404 of the input transfer data 402 is (1.2.3)
  • the destination network address 406 is (3.
  • the matching line corresponding to (3. *. *) Stored in the associative memory word 102-3. 1 0 5 — 3 outputs valid status.
  • the encoder 4 14 outputs “3” as the memory address 4 15, and the memory 4 16 outputs the network address of the network device 400-3. Output as a memory signal 4 17.
  • the transfer destination network address change unit 418 allows the transfer destination network of the input transfer data 402 to be transferred to the network device. Change to the net address of 4 0 0-3 and input the changed transfer data 4 19 into the data transfer section 4 2 1.
  • the source network address information 411 is (1.2.3), and the destination network address information 412 is (3.5.3).
  • the CPU 4 13 applies the transfer rule 2 and inputs the transfer control signal 4 20 in the transfer permission state to the data transfer section 4 2 1.
  • the data transfer section 421 transfers the changed transfer data 419 to the network device 400-3 as the output transfer data 403.
  • Network devices 4 0 0-3 perform the same operation as described above based on the transferred data, and secure security for network devices along the optimal route one after another in the evening. It continues to be transferred while, finally destination Ne Uz preparative work. a de-less (3. 5.6) can be transferred to the user equipment having a.
  • FIG. 28 is a block diagram showing a configuration example of a conventional associative memory.
  • the associative memory 101 is composed of an n-bit two-input one-output selector 123 and an n-bit m-word associative memory 1102—1 to L0 2—m. , An n-bit latch 121, a control circuit 130, and logic gates 1 16 — 1 to 1 16 — n.
  • the j-th associative memory word 1 0 2 -j has n associative memory 'cells 1 0 7 — j 1 1 to 1 0 7 — j 1 n.
  • the j-th associative memory word 1 0 2 — j has the corresponding data 'word line 1 0 3 — j, mask' word line 106-j, and the comparison control signal 10 4 are connected for input, and the corresponding match line 1 0 5 — j, and n match data intermediate logic lines 1 1 4 1 1 to 1 1 4 1 n are connected for output, n
  • the bit lines 1 1 3 — 1 to 1 1 3 — n are connected for input and output.
  • the j-th associative memory word 1 0 2 the k-th associative memory of j 'cell 1 0 7 — j — k has the corresponding data word line 1 0 3 — j
  • the mask word line 106-j and the comparison control signal 104 are connected for input, and the corresponding match line 105-j and the match data intermediate logic line 114-k are output.
  • Bit lines 1 1 3—k are connected for input and output.
  • the associative memory 'cell 1 07 — j — k stores the corresponding bit information of the storage data input from the outside via the bit line 1 13 — k
  • the data 'cell 108-j-k and the bit information stored in the data' cell 108-j-k and the information input from outside via the bit line 113-k Comparator 1 1 0 — j — k and mask that stores the corresponding bit information of the mask information input from the outside via bit line 1 13 3 — k 'cell 1 09 — j — k And a logic gate 1 1 1 1 1 j 1 k.
  • the corresponding data' cell 1 0 8-j-k has the invalid state of the stored data.
  • the mask valid state of the mask information is "0”
  • the mask invalid state is "1”
  • the valid state of the storage device is "1”
  • the invalid state is "0”.
  • the valid state of the coincidence data OR line 1 17—1 to 1 1 7—n is set to “1” and the invalid state is set to “0”.
  • the valid state of the match line 1 0 5 — 1 to 1 0 5 — m is “1”, and the invalid state is “0”.
  • Data 'cell 1 08—j—k is written to the corresponding bit line 1 13—k when the corresponding data word line 103–j is enabled, and the data is driven. If the corresponding bit line 113-k is not driven, the stored data is output to the corresponding bit line 113-k if the corresponding bit line 113-k is not driven. To If the corresponding data line 1 0 3—j is inactive, no operation is performed on bit line 1 13—k. Also, regardless of the value of the corresponding data word line 103-j, the stored data stored is the same associative memory. Output to j — k and logic gate 1 1 1 — j — k.
  • Mask 'cell 1 09-j---k is written to the corresponding bit line 1 13-k when the corresponding mask word line 106-j is enabled.
  • the write data as mask information Stores and outputs the stored mask information to the corresponding bit line 1 13—k if the corresponding bit line 1 13—k is not driven Corresponding mask word line 1 If 0 6—j is in an invalid state, no operation is performed on bit line 1 13—k. Also, regardless of the value of the corresponding mask-word line 106-j, the stored mask information is stored in the same associative memory 'cell 1 07- :) ⁇ Comparator 1 1 in 1k 0— j is output to k.
  • the match lines 105-1-1 to 105-m are precharged to a high level before the start of the search operation, and are in the valid state "1".
  • Comparator 1 1 0 — j — k is the corresponding pit line 1 1 3 — k and the same associative memory 'cell 1 0 7 — :)' data in 1 k 'cell 1 0 8 — Input the memory data stored in j — k, the mask 'cell 1 09 — the mask information stored in j — k, and the comparison control signal 104.
  • the comparison control signal 104 is in the invalid state "0" and the mask information is the mask valid state "0”
  • the comparator 1 1 0—j—k releases the corresponding match line 1 05—j Otherwise, if the value of bit line 113-k matches the stored data, the corresponding match line 105-J is opened, otherwise it is disabled.
  • Associative memory When n comparators in word 1 0 2 — j 1 1 0 — j — 1 to 1 1 0 — j — n are all open match lines 1 0 5 — j In addition, the match line 1 05—j is in the valid state “1”, otherwise it is in the invalid state “0,”. The valid state “1,” of the match line 105 is true. -Configure the AND logic connection. That is, at the time of the search operation, the associative memo is excluded except for bits that are excluded from the comparison because the comparison control signal 104 is in the invalid state “0” and the mask information is the mask valid state “0”. Reword 1 0 2 — The stored data stored in j and the bit line 1 1 3 1 1 to 1 1 3 — Match line 1 0 5—j only if n is exactly the same Becomes valid state "1", otherwise becomes invalid state "0".
  • Logic gate 1 1 1 — j-1 k is the same associative memory word 1 0 1 — Matching line 1 0 5—j in j is valid state “1” and the same associative memory 'cell 1 0 7— j — data in k 'k 1 0 8— j — When the stored data stored in k is valid, the corresponding matched data intermediate theory Is output, otherwise it is left open. In this example, since the valid state of the stored data is "1", the stored data stored in the data cell 1 08—j—k is “1” and the coincidence line 1 05—j is “1”. When "1”, "0" is output to the corresponding coincident data intermediate logic line 1 1 4 — k, otherwise, the release status is output.
  • Each match data intermediate logic line 1 1 1 4 1 k is pulled up by a resistor 1 1 1 5 k, and the corresponding m logic gates 1 1 1 1 1 k 1 1 1 1 1 m-k constitute a wired logical connection. Therefore, the connected m logic gates 1 1 1 1 1 1 1 k-: L 1 1 1 m-k are all coincident data intermediate logic lines 1 1 4-k are open. In this case, the matching data intermediate logic lines 114-k become “1", otherwise, they become "0". In other words, it is a wired AND connection with "1" set to true.
  • Logic gates 1 16—1 to 1 16—n invert the logic states of the corresponding match data intermediate logic lines 1 1 4 1 1 to 1 1 4 1 n, and match data logic OR lines 1 1 7 — 1 to 1 1 7—Output as n.
  • the coincident data OR line 1 17—k has m logical gates 1 1 1—1—k to l 1 1—m—k and the coincident data intermediate logical line 1 14—k , Resistance 1 15—k and logic gate 1 16— All associative memory cells 1 0 7 — 1 — k to l 0 7 — m — k with a match line 1 0 5 — 1 to 1 0 5 — m that is in the valid state “1” during the search operation
  • the result of performing a logical OR operation on the stored data stored in cells 108-1-1 — 1 to 108_m—k with the valid state of the stored data set to true Will be obtained.
  • the result of the OR operation with the valid state "1" of the stored data set to true is obtained.
  • the match data OR lines 1 17 — 1 to 1 1 7 — n have the most invalid state among the stored data that matched the search data 1 12 during the search operation.
  • the same value as stored data with a small number of "0" bits will be output.
  • the n-bit latch 122 stores the state of the coincidence data OR line 1117_1 to 117—n internally when the latch control signal 122 is enabled. . In addition, the stored state is output to the latch output lines 12 0 — 1 to 12 0 1 n.
  • the n-bit 2 input 1 output selector 1 2 3 outputs the data output to the bit line 1 1 3 —;! to 1 13 _n according to the state of the selection signal 1 2 4. Select one of search data 1 1 2 — 1 to 1 1 2 — n and latch output line 1 2 0 — 1 to 1 2 0 — n.
  • the control circuit 130 controls the operation of the associative memory 101, so that the latch control signal 122, the selection signal 124, and the comparison signal are synchronized with the clock signal 131. Outputs control signal 104.
  • FIG. 29 shows a configuration example of a conventional associative memory 'cell 107.
  • the two bit lines 1-1-13a and 113b correspond to the bit lines shown in FIG. 28, however, in FIG. — Represented by i.
  • Memory is connected via these two bit lines.
  • 108 is an inverted logic gate (G101), an inverted logic gate (G102), and an inverted logic gate (G101), whose inputs and outputs are connected to each other. 2) Connect the output of 302 to the bit line 113a, and set the data line 103 to high.
  • a MOS transistor (T101) 3 that becomes conductive when it is at the high level 0 3 and the output of the inverted logic gate (G101) 3 01 connected to bit line 113b and data is turned on when word line 103 is high.
  • This is a general SRAM element composed of a 0S transistor (T102) 304.
  • the mask cell 109 also has an inverting logic gate (G103) 310 with its inputs and outputs connected to each other, an inverting logic gate (G104) 311, and an inverting logic gate (G104).
  • the output of the gate (G104) 311 is connected to the bit line 113a, and the mask word line 106 is high.
  • a MOS transistor (T1 0 8) 3 1 2 and the output of the inverted logic gate (G 10 3) 3 10 are connected to bit line 1 13 b and masked.
  • This is a general static SRAM element composed of an M 0 S transistor (T 1 09) 3 13 which becomes conductive.
  • the comparator 110 is a MOS transistor (T103) 305, a MOS transistor (T104) 306, a MOS transistor (T105) 307, a MOS transistor (T105). It consists of T106) 308 and MOS transistor (T107) 309. MOS transistor (T10.3) 305 and MOS transistor (T104) 306 Are inserted in series between the bit lines 113a and 113b.
  • M0S transistor (T103) 305 is at data level when the output of the inversion logic gate (G101) 301 in cell 108 is high. It becomes conductive.
  • the MOS transistor (T104) 306 is conducting when the output of the inverted logic gate (G102) 302 in the data cell 108 is at a high level. .
  • the MOS transistor (T106) 308 and the MOS transistor (T107) 309 are connected in parallel, and the two MOS transistors connected in parallel form the MOS transistor (T106). Along with T105) 307, it is inserted in series between the match line 105 and the low potential.
  • the MOS transistor (T106) 308 becomes conductive when the output of the inverted logic gate (G104) 311 in the mask cell 109 is high-level.
  • the MOS transistor (T107) 309 is turned on when the comparison control signal 104 is in the valid state "1".
  • the MOS transistor (T105) 307 has a high potential at the connection point between the MOS transistor (T103) 305 and the MOS transistor (T104) 306. ⁇ Conducted at level. Both the output of the bit line 113a and the inverted logic gate (G101) 301 are high. ⁇ Rail or bit line 113b and the inverted logic gate (G102) ) When both outputs of 302 are in the high level, the connection point of MOS transistor (T103) 305 and MOS transistor (T104) 306 is no As a result, the MOS transistor (T105) 307 is brought into the conducting state.
  • MOS transistor (T 1 0 5) 3 0 7 becomes conductive.
  • MOS transistor (T106) 308 is stored in mask-cell 109 When the mask information is “0”, it is open, and when it is “1,”, it becomes conductive.
  • the match line 105 is pre-charged to a high potential before starting the search operation.
  • a plurality of associative memory cells 107 are connected to the MOS transistor (T106) 308 and the MOS transistor (T107) 3 When connected via 0 9, even if one associative memory cell 107 outputs a low level, the match line 105 becomes a low level. Connection.
  • the associative memory cell 1 0 7 When the MOS transistor (T105) 307 is conducting, the MOS transistor (T106) 308 connected in parallel and the MOS transistor (T107) 3 If at least one of 0 9 is conductive, the associative memory cell 1 0 7 outputs an invalid state “0” to the match line 1 0 5, otherwise the match line 1 0 5 is released. I do. In other words, when the mask information is in the mask valid state “0” and the comparison control signal 104 is in the invalid state “0”, the match line 1 05 regardless of the comparison result between the search data 112 and the stored data Is set to the open state, otherwise, the search data 1 1 2 and the data stored in cell 1 08 on the data lines 11 3 a and 11 3 b are stored. If the values match each other, it is set to the open state, and if they are different, the invalid state "0" is output.
  • the match data intermediate logic line 114 is pulled up by the resistor 115 shown in Fig. 28 and is set to "1" before the search operation.
  • the logic gate 111 is composed of a MOS transistor (T110) 314 inserted in series between the match data intermediate logic line 114 and the low potential, and an M0S transistor. Evening (Tl1 1) consists of 3 15. MOS transistor (T110) 314 conducts when match line 105 is in valid state "1" In the invalid state “0 ,, the state is open.
  • the MOS transistor (Till) 315 is the inversion logic gate (G102) inside the data cell 108.
  • Fig. 31 shows the timing chart at that time.
  • the associative memory 101 is composed of three 9-bit words, and the memory data stored in each of the associative memory words 10 2—1 to 10
  • the network information stores network information other than the network address (1. *. *) Of the network device 400-1 in FIG. 33.
  • the bit of the don't care "*” state in the connection information stores the corresponding bit of the stored data in the invalid state "0" of the stored data, and masks the corresponding bit of the mask information. It is represented by the valid state "0, '.
  • the associative memory 'word 1 0 2-1-1 represents (2 *. *)
  • the stored data is represented by binary numbers (0 1 0 0 0 0 0.
  • the associative memory word 102--2 contains (2. 3. *) is represented by structured data, so (0 1 0. 0 1 1.1.0 0 0) is stored as binary data in the storage data and (1 1 1. 1 1 1. 0) is used as mask information. 0 0) is stored.
  • the selection signal 124 output from the control circuit 130 causes the n-bit 2-input 1-output selector 123 to search for the data 1 Select 1 2 and output to bit line 1 1 3—1 to L 1 3—9. Also, the control circuit 130 outputs an invalid state “0” to the comparison control signal 104, and in each of the associative memory cells 107-1-1—1 to 107—m—ri, Regardless of the result of comparison between the corresponding bits of the stored data and the search data 112, the corresponding match line 105 is set to the released state when the mask information in the mask data is in the mask valid state "0". Permission to do so. In other words, the comparison takes into account don't care "*".
  • the octal representation (2. *. *) Stored in the associative memory 'word 1 02-1' of the associative memory 101 and the associative memory 'word 1 0 2—2
  • the octal representation (2.3 *) stored in the matches the search data 1 12 on the bit lines 1 13 3 1 to L 13 9. Therefore, as a result of the primary search, two matching lines 1 0 5 — 1 and 1 0 5 — 2 are in the valid state “1”, and the remaining lines are “1”.
  • the match line 1 0 5—3 is invalid "0".
  • the storage data “0” corresponding to the coincidence data intermediate logic line 1 141-1 in the associative memory node 102-1 is obtained.
  • the associative memory 'word 1 0 2-2 The logical sum result "0" of the storage data "0” corresponding to the coincident data intermediate logic line 1 1 4-1 in "2" with "1" set to true Is output.
  • the latch control signal 1 22 output from the control circuit 1-30 is enabled, and the n-bit latch 1 2 1 is set to the match data OR line 1 1 7—1 to 1 1 7 — Stores the state of 9 internally. Therefore, n The latch 1 2 1 stores "0 1 0 0 1 1 0 0 0" in binary notation and outputs the value to the latch output lines 1 2 0-1 to 1 2 0-9.
  • timing (3) in FIG. 31 is inserted to make the states of the clock signals 13 1 of both the timing (2) and the evening timing (4) the same. Therefore, the associative memory 101 keeps the final state of the timing (2).
  • the n-bit 2 input 1 output selector 123 outputs a latch output by the selection signal 124 output from the control circuit 130.
  • the associative memory 1 0 1 starts a secondary search.
  • the result of the primary search executed at timing (2) held in the matching lines 1 05-1 to 1 0 5-3 is used.
  • two match lines 1 0 5 — 1 and 1 0 5 — 2 hold the valid state “1”
  • the data match line 1 0 5 — 3 holds the invalid state “0” are doing.
  • each associative memory 'cell 1 0 7 — 1 — 1 to 1 0 7 — ⁇ — ⁇ is the bit line corresponding to the stored data in it, regardless of the mask information in it.
  • the comparison result of 1 13 does not match, the invalid state “0” is output to the match line 1 05.
  • the memory data stored in each of the associative memory words 10 2 — 1 to 10 2 — 3 and the bit lines 11 are taken into account without considering the don't care “*”. Compare with the state of 3—1 to 1 1 3—9 “0 1 0 0 1 1 0 0 0”.
  • match line 1 05-2 The only thing that continues to do is match line 1 05-2.
  • the match line corresponding to the storage data having the least number of mask-enabled bits in the mask information among the storage data that match as a result of the comparison between the input search data 1 12 and the corresponding mask information in consideration of the corresponding mask information It can be seen that the valid state is output only to 105-5-2.
  • a plurality of network addresses expressed as a set of storage data and mask information are stored in one word of the associative memory.
  • a plurality of network addresses entered for the search are compared with the corresponding mask information in consideration of the corresponding mask information. It is not possible to output storage data that minimizes the bit of the mask valid state in the mask information area corresponding to the storage data area corresponding to the address.
  • the PC 40 1-1 having a network address (1.2.6) is a PC having a network address (2.3.5).
  • FIG. 32 an operation example will be described in which data transfer to 4 0 1 to 3 is determined by using a conventional associative memory 101 as to whether transfer is possible or not.
  • the source network of each transfer rule In the transfer rules 1 to 5 in Table 1 (b), the source network of each transfer rule, the address and the destination network, and the 9-bit storage data of the address, The 9-bit mask information is concatenated with each other to form an 18-bit mask.
  • Stored data, concatenated, and the network address of the source of each transfer rule 1 Stores a set of 9-bit stored data and a structured data expressed by mask information It is assumed that
  • the associative memory 101 has 18 bits and 5 words.
  • Table 1 (b) the 9-bit stored data and the 9-bit mask information that constitute the 9-bit structured data of the source network address of each transfer rule are shown in FIG.
  • the associative memory word 10 2 — 1 1 0 2 — 5 corresponding to the transfer rule is stored as the upper 9 bits of the stored data and mask information.
  • the information shall be stored as the lower 9 bits of the associative memory word 10 2 — 1 10 2 — 5 corresponding to the transfer rule, respectively, as stored data and mask information.
  • Fig. 32 shows the 18-bit structured data stored in each of the associative memory codes 10 2-1 1 0 2-5 of the associative memory 101. It is as follows.
  • the associative memory 101 converts the search data 112 of (1.2.6.23.5.5) in octal notation to the bit line 1. 13 and a comparison is made taking into account the stored data stored in the associative memory word 102-1-1 and L02-5 and the corresponding mask information.
  • the octal representation (1.2. * 2. *. *) Stored in the associative memory word 102-1-1 and the associative memory word 102-2-3
  • the octal representation (1.2. * 2.3. *) Stored in the associative memory word 102--5 and the 8 true representation (1. *. * 2) stored in the associative memory word 102-5 3.5.5) matches the search data 1 1 2 on the bit line 1 13.
  • the match line 1 0 5 — 1, 1 0 5 — 3, 1 0 5 — 5 are in the valid state “1”, and the remaining matching lines 1 0 5 — 2, 1 0 5-4 are in the invalid state “0” Obviously, as the result of the primary search, the match line 1 0 5 — 1, 1 0 5 — 3, 1 0 5 — 5 are in the valid state “1”, and the remaining matching lines 1 0 5 — 2, 1 0 5-4 are in the invalid state “0” Obviously, as the result of the primary search, the match line 1 0 5 — 1, 1 0 5 — 3, 1 0 5 — 5 are in the valid state “1”, and the remaining matching lines 1 0 5 — 2, 1 0 5-4 are in the invalid state “0” Obviously, as the result of the primary search, the match line 1 0 5 — 1, 1 0 5 — 3, 1 0 5 — 5 are in the valid state “1”, and the remaining matching lines 1 0 5 — 2, 1 0 5-4 are
  • the corresponding match line 105 holds the valid state “1” 18
  • a logical sum result with "1" set to true is obtained and stored in the n-bit latch 102.
  • the octal representation stored in the associative memory word 102-1 — 1 is (12.0.2.0.0.0), and the binary representation is "01.01.010.
  • the associative memory 101 is in the state of the latch output line 120, in octal notation (1. 2. 0 2. 3.5) And outputs "001.001.0.101.101" in binary notation to bit line 113, and associative memory word 10 2 — 1 to: Compares the stored data stored in L 0 2 — 5 without considering the corresponding mask information. At this time, all storage data stored in the associative memory word 1 0 2 — 1 to 1 0 2 — 5 will not match, and all matching lines 1 0 5 — 1 to 1 0 5 — 5 will be invalid Outputs state "0".
  • the input transfer data the source network address and the destination network in the evening—the transfer rules for the address.
  • the function of determining whether or not transfer is possible based on the above has been realized by software processing using a binary tree search algorithm or the like by the CPU as described above. This software processing requires several hundred clocks or more, and the transfer destination network ⁇
  • an object of the present invention is to provide an input data composed of a plurality of search areas.
  • the search area is considered in consideration of priority. Associating a signal that identifies the word that minimizes the number of masked bits in the masked state of the mask information in the matched codes To provide memory.
  • Another object of the present invention is to reduce the total cost of a networked device that performs a high-speed transfer availability determination.
  • the associative memory of the present invention provides, as means 1, a mask that can be set by a valid state or an invalid state according to whether or not one or more bits of storage data are excluded from a search target.
  • a mask that can be set by a valid state or an invalid state according to whether or not one or more bits of storage data are excluded from a search target.
  • N is an integer of 2 or more
  • One or more bits of the stored data corresponding to the valid state are excluded from the search target.
  • a primary search signal is identified. Search means,
  • Intermediate data generating means for outputting the generated intermediate data
  • each of the partial bit areas obtained by dividing the intermediate data into N is input, and the word is determined according to the state of the secondary search control signal. It is possible to control whether or not to perform a secondary search selectively only on the bit area of the storage data or the mask information corresponding to the partial bit area in, and the search result is selected.
  • the word validity information indicating whether or not the corresponding word is continuously selected for each word is updated each time the primary search and each secondary search are executed.
  • Control means for outputting the secondary search control signal so as to execute the secondary search.
  • the associative memory of the present invention provides, as means 2, a mask that can be set according to an enabled state or an inactive state as to whether or not to be excluded from a search target for each bit or a plurality of bits of stored data.
  • a mask that can be set according to an enabled state or an inactive state as to whether or not to be excluded from a search target for each bit or a plurality of bits of stored data.
  • N is an integer of 2 or more
  • a primary search means for outputting a primary identification signal for identifying a bit selected as a result of a primary search for excluding one or more bits from a search target;
  • a logical operation is performed by inputting one or more sets of stored data corresponding to the word that is still selected, mask information corresponding to the word, and external search data.
  • each of the partial bit areas obtained by dividing the intermediate data into N pieces is input and corresponds to the partial bit area in the code.
  • N secondary search means for outputting a secondary identification signal for identifying a selected code as a result of performing a secondary search selectively only on the bit area of the stored data or mask information
  • the N intermediate data generation means and the N secondary search means include: a first intermediate data generation means; a first intermediate data generated as a result of the primary search; A first secondary search is performed on the first partial bit area by inputting to the search means, and the second intermediate data generation means generates the second intermediate data generated as a result of the first secondary search.
  • the second data is input to the second secondary search means, and the second secondary search is performed on the second partial bit area.
  • the third intermediate data generator generates the second secondary search.
  • the third intermediate data generated as a result of the above is input to the third secondary search means, and a secondary search is performed on the third partial bit area.
  • the N-th intermediate data generating means inputs the N-th intermediate data generated as a result of the (N-1) -th secondary search into the N-th secondary search means, and sets the N-th intermediate data in the N-th partial bit area. And perform a secondary search.
  • a word corresponding to each word is selected through the primary search and each secondary search.
  • the word valid information of whether or not the search is continued is updated and stored every time a secondary search is executed for each of the J-th to K-th (J and K are 1 or more and N or less), and the selection state of each word
  • a signal indicating the selected state of the word is input and one or more of the stored data corresponding to the word in the selected state, the mask information corresponding to the word, and the external search data are selected.
  • the secondary search is selectively performed only on the pit area corresponding to the J-th to K-th partial bit areas of the stored data or mask information in the word.
  • One or more shared secondary search means capable of controlling whether or not to execute a search and outputting a signal identifying a word selected as a result of the search;
  • the secondary search control signal is output so as to sequentially execute the K-th secondary search from the J-th secondary search, and the word valid information in the storage unit is updated every time the secondary search is performed.
  • Control means for outputting the storage control signal
  • the associative memory of the present invention is provided as means 4 in the primary search means,
  • One or more attribute data is set as a search data and the stored data is stored.
  • a second associative memory for outputting as a search result an attribute matching signal corresponding to the word in which the word is stored,
  • the corresponding attribute match signal indicates a match as a result of the search of the attribute data in the second associative memory. Is output.
  • An associative memory according to the present invention includes:
  • the primary search enable signal When the primary search enable signal is in the valid state, all bits of the external search data are used as the search data, and the mask data is in the mask valid state for each word. Performs a primary search that excludes a bit or multiple bits from the search target.
  • the secondary search control signal When the secondary search control signal is valid, it is specified by the state of the secondary search control signal of the stored data or mask information in the word. Means for performing a secondary search selectively only on the bit area to be
  • the associative memory includes, as means 6, a primary identification signal output by the primary search means and a first to N-th secondary identification signals output by the N secondary search means. Means for storing one or more of them, and means for storing one or more of the first to N-th intermediate data, thereby achieving pipeline processing. It makes it possible.
  • the associative memory according to the present invention includes, as a means 7, whether or not a corresponding word is continuously selected for each word through the primary search and each secondary search input to the intermediate data generating means.
  • the wiring for inputting the information to the intermediate data generating means and the wiring for the primary identification signal or the secondary identification signal are formed. They are shared.
  • the associative memory of the present invention assigns each partial bit area of the intermediate data the same priority as the corresponding partial bit area of the external search data, and assigns the intermediate data
  • the secondary search is executed for the partial bit areas in order from the highest priority to the lowest priority as a search data.
  • the associative memory according to the present invention includes, as means 9, one bit or a plurality of bits that are excluded from the search target by the mask information corresponding to the primary search as the storage data.
  • a specific bit pattern is stored, and, as a secondary search, the storage data or the partial bit area to be searched for the storage data is the intermediate data input as search data.
  • a word that matches the data or the partial bit area of the intermediate data is selected.
  • the associative memory of the present invention as means 10, is excluded from the search target by the mask information corresponding to the primary search in the stored data.
  • a single bit or a plurality of bits to be searched is a specific bit.
  • a secondary search is performed assuming that the pattern is a pattern. In this case, the intermediate data input as the search data or a code matching the partial bit area of the intermediate data is output.
  • the specific bit pattern is configured such that all the bits are in an invalid state of stored data.
  • the logical operation is a logical sum operation in which the valid state of the storage data corresponding to the word in the selected state is true.
  • the result of the logical sum operation is defined as the intermediate data, and the secondary search selects a word having a stored data that matches the intermediate data.
  • the logical operation is an AND operation of mask information corresponding to the words in the selected state, the true state of the mask information being true, If the bit of the logical product operation result is in a mask information invalid state, the information of the same bit position of the external search data is set to the state of the same bit position in the intermediate data, and the logical product operation is performed. If the pit of the result is the valid state of the mask information, the invalid state of the stored data is regarded as the state of the same bit position of the intermediate data to generate the intermediate data, and the secondary search performs the secondary search. This is to select a code that has a memory date and time that matches that of the night.
  • the logical operation is a logical AND operation between mask information corresponding to the selected words in which the valid state of the mask information is true.
  • the result of the AND operation is defined as intermediate data, and the secondary search has mask information that matches the intermediate data.
  • a word that has been selected by that time is selected.
  • the network device of the present invention includes, as means 15, a source network address and a destination network address associated with the input transfer data as a component. Judgment input data is used as search data. One or more transfer rules are searched to determine whether or not the input data can be transferred, based on a matching state when the search is performed.
  • the transfer rule includes: storage data including a bit area corresponding to each component of the determination input data; transfer enable / disable information; and one or more of the transfer rules in the storage data.
  • storage data including a bit area corresponding to each component of the determination input data; transfer enable / disable information; and one or more of the transfer rules in the storage data.
  • the judgment input data including the source network address and the destination network address associated with the input transfer data as constituent elements are retrieved as search data, and the transfer is performed. Performs a primary search that excludes one or more bits of the corresponding storage data from the search target corresponding to the case where the mask information is mask-enabled for each rule.
  • one or a plurality of transfer rules that are continuously selected each time in the primary search and the secondary search are configured.
  • the structure of the intermediate data updated by the result of the logical operation with one or more sets among the stored data, the mask information, and the judgment input data.
  • the bit area corresponding to the component is used as search data, and the next search is selectively executed for the storage data or mask information of the bit area corresponding to the component, and
  • the transfer of the input transfer data is determined.
  • the network device includes, as means 16, a determination that includes, as constituent elements, a source network address and a destination network address associated with the input transfer data.
  • the input data is used as search data.
  • One or more transfer rules are searched to determine whether or not the input transfer data can be transferred, based on a match state, and
  • the transfer rule includes a storage data including a bit area corresponding to each component of the determination input data, transfer enable / disable information, and one or more of the transfer rules in the storage data.
  • a network device having a transfer rule table represented by mask information indicating whether or not one or more of a 1-bit or multi-bit area is excluded from a search target,
  • a primary search means for outputting a primary identification signal for identifying a transfer rule selected as a result of performing a primary search for excluding the search rule from a search target;
  • Intermediate data generating means for outputting the generated intermediate data
  • the intermediate data One of each of the partial bit areas obtained by dividing the data is input, and a secondary search control signal is applied to the bit area of the storage data or mask information corresponding to the partial bit area in the transfer rule.
  • a secondary search control signal is applied to the bit area of the storage data or mask information corresponding to the partial bit area in the transfer rule.
  • One or more shared secondary searches that can selectively control whether or not to perform a secondary search and output a secondary identification signal that identifies the transfer rule selected as a result of the search Means,
  • the transfer rule validity information indicating whether or not the corresponding transfer rule continues to be selected for each transfer rule is updated each time the primary search and each secondary search are executed.
  • the secondary search is sequentially performed using the partial bit areas of the intermediate data as search data.
  • the network device of the present invention may include, as means 17, a network device including a source network address and a destination network address associated with the input transfer data.
  • the judgment input data composed of a number of elements (N is an integer of 2 or more) is used as the search data, and is determined by the matching state when one or more transfer rules are searched. Determines whether transfer of input transfer data is possible,
  • the transfer rule includes a storage data including a bit area corresponding to each component of the judgment input data, transfer enable / disable information, and the storage data for one or more of the transfer rules.
  • One or more bits in the evening A network device having a transfer rule table represented by mask information indicating whether one or more of the network regions is excluded from the search target.
  • a primary search means for outputting a primary identification signal for identifying a transfer rule selected as a result of performing the primary search
  • a logical operation that takes as input one or more sets of stored data corresponding to the transfer rule that continues to be selected, mask information corresponding to the word, and external search data N intermediate data generating means for outputting the intermediate data generated by
  • N secondary search means for outputting a signal for identifying a transfer rule selected as a result of performing a secondary search selectively on only the bit region of the stored data or the mask information; Means for determining whether or not the input transfer data can be transferred, based on the transfer permission information referred to by the transfer rule selected by the next search means.
  • the N intermediate data generation means and the N secondary search means include a first intermediate data generation means, and the first intermediate data generated as a result of the primary search. Means, and performs a first secondary search on the first partial bit area, and the second intermediate data generating means outputs the second intermediate data generated as a result of the first secondary search.
  • the data is input to the second secondary search means, and a second secondary search is performed on the second partial bit area.
  • the intermediate data generating means inputs the third intermediate data generated as a result of the second secondary search to the third secondary search means, and outputs the second intermediate data to the third partial bit area.
  • the Nth intermediate data generating means performs the Nth intermediate data generated as a result of the (N-1) th secondary search. And performs a secondary search on the Nth partial bit area.
  • the network system according to the present invention includes, as means 18, data between devices connected to the network via the network devices according to means 15 to 17. It performs communication. BRIEF DESCRIPTION OF THE FIGURES
  • FIG. 1 is a block diagram showing a configuration example of the content addressable memory according to the first embodiment of the present invention.
  • FIG. 2 is a block diagram showing details of a configuration example of the content addressable memory according to the first embodiment of the present invention.
  • FIG. 3 is a block diagram showing a configuration example of a single-region search associative memory in the associative memory according to the first embodiment of the present invention.
  • FIG. 4 is a circuit diagram showing a configuration example of an associative memory cell of a single area search associative memory in the associative memory according to the first embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating the operation of the associative memory according to the first embodiment of this invention.
  • FIG. 6 is an explanatory diagram showing an example of an operation state in step S100 of the content addressable memory according to the first embodiment of the present invention.
  • FIG. 7 is an explanatory diagram showing an example of an operation state in step S101 of the associative memory according to the first embodiment of the present invention.
  • FIG. 8 is an explanatory diagram showing an example of an operation state in step S102 of the associative memory according to the first embodiment of the present invention.
  • FIG. 9 is an explanatory diagram illustrating an example of an operation state of the associative memory according to the first embodiment of this invention at step S105.
  • FIG. 10 is a block diagram showing a second configuration example of the single-region search associative memory in the associative memory according to the first embodiment of the present invention.
  • FIG. 11 is a block diagram showing details of a configuration example of the content addressable memory according to the second embodiment of this invention.
  • FIG. 12 is a block diagram showing a configuration example of a single-area search associative memory in the associative memory according to the second embodiment of the present invention.
  • FIG. 13 is a block diagram showing a configuration example of the content addressable memory according to the third embodiment of the present invention.
  • FIG. 14 is a block diagram showing details of a configuration example of the content addressable memory according to the third embodiment of the present invention.
  • FIG. 15 is a block diagram showing a configuration example of the primary associative memory in the associative memory according to the third embodiment of the present invention.
  • FIG. 16 is a circuit diagram showing a configuration example of an associative memory cell of a primary associative memory in the associative memory according to the third embodiment of the present invention.
  • FIG. 17 is a block diagram illustrating a configuration example of a secondary associative memory in the associative memory according to the third embodiment of this invention.
  • FIG. 18 is a circuit diagram showing a configuration example of an associative memory cell of a secondary associative memory in the associative memory according to the third embodiment of the present invention.
  • FIG. 19 is an explanatory diagram showing an operation example of the associative memory for single area search of the associative memory according to the third embodiment of this invention.
  • FIG. 20 is an explanatory diagram showing an example of an operation state of the associative memory according to the third embodiment of the present invention at step S100.
  • FIG. 21 is an explanatory diagram showing an example of an operation state in step S101 of the content addressable memory according to the third embodiment of the present invention.
  • FIG. 22 is an explanatory diagram showing an example of an operation state ′ in step S102 of the content addressable memory according to the third embodiment of the present invention.
  • FIG. 23 is an explanatory diagram showing an example of an operation state in step S105 of the content addressable memory according to the third embodiment of the present invention.
  • FIG. 24 is a block diagram showing details of a configuration example of the content addressable memory according to the fourth embodiment of the present invention.
  • FIG. 25 is a block diagram showing a configuration example of the primary associative memory in the associative memory according to the fourth embodiment of the present invention.
  • FIG. 26 is a block diagram illustrating a configuration example of the content addressable memory according to the fifth embodiment of the present invention.
  • FIG. 27 is a block diagram showing a configuration example of a network device of the present invention using the associative memory of the present invention for transferability determination.
  • FIG. 28 is a block diagram showing a configuration example of a conventional associative memory.
  • FIG. 29 is a circuit diagram showing a configuration example of a conventional associative memory cell.
  • FIG. 30 is a diagram showing an operation example of a conventional associative memory.
  • FIG. 31 is a timing chart illustrating an operation example of a conventional associative memory.
  • FIG. 32 is a diagram showing an operation example when a plurality of network addresses are searched by the conventional associative memory.
  • FIG. 33 is a diagram showing a connection example of a configuration of a conventional computer network.
  • - Figure 34 is a block diagram showing an example of the configuration of a conventional network device that uses a conventional associative memory for the destination network. ⁇ Address calculation. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 is a block diagram showing a configuration example of a Hi word associative memory 1 of the present invention.
  • the associative memory 1 receives as input a clock signal 41, a start signal 42, and an input data 2 composed of r search data 3-1 to 3-r. The output is the match signal 5-1 to 5-m of the book.
  • the associative memory 1 is an associative memory for searching a single area of m words 36-1 to 36-r, the main control circuit 6, the logical product means 39-1 to 39-m, and the memory. Means 43-1 to 43-111 are provided.
  • the main control circuit 6 receives the clock signal 41 and the start signal 42 as inputs, and stores the storage control signal 12, the primary search enable signal 10—1 to 10—m, and the secondary search enable signal. 1 1 — 1 to 1 1—r is output.
  • the main control circuit 6 has an internal variable 28 that can be read and written. The value of internal variable 28 is represented by p.
  • the main control circuit 6 starts the search operation for the input data 2 when the start signal 42 is in the valid state, and synchronizes with the clock signal 41 to store the control signal 12 and the primary search enable signal 10 — 1 to 10 — m and the secondary search permission signal 11 — 1 to 11 — r are used to explain the operation of the associative memory according to the first embodiment of the present invention shown in FIG. Output according to the chart.
  • the i-th associative memory for single area search 36-i is common to search data 3-i, primary search enable signal 10-i, secondary search enable signal 1 1-i, and m Matching lines 3 8—1 to 3 8—m are input and m matching lines 3 7—i— :! ⁇ 3 7— output i—m You.
  • the search operation in the single area of the associative memory for single area search 36-i is controlled by the primary search permission signal 10i-i and the secondary search permission signal 11i-i as follows.
  • the primary search enable signal 1 0—i is in the valid state, the primary search is performed to compare the search data 3—i with the stored data stored inside considering the corresponding mask information.
  • the associative memory 1 is composed of the i-th associative memory for single-area search 3 6—i and the secondary search is performed following the primary search
  • the match line 3 7-i-1 to 3-i-1 which corresponds to the storage data with the smallest number of pits in the valid state of the mask information among the storage data matching the search data 3-i in consideration of the mask information 3 It is assumed that the valid state can be output only to i—m.
  • the i-th associative memory for single area search 36—i is the primary search permission signal 10—i and the secondary search permission signal 11—i both are in an invalid state
  • the valid state of the common match line 38 is output for all m match lines 37-i-1 to 37-i-m.
  • the priority of the search data 3-1 is set to 1 which is the highest, the priority of the search data 3-2 is 2, and similarly, the priority of the search data 3-r is the lowest r. Assume. Here, the number of bits of each search data 3-1 to 3-r does not need to be the same. Also, if the search data 3 — ⁇ to 31-1 are input to the corresponding associative memory for single area search 36-1 to 36-r, the order in the input data 2 is Duty It is intention. In addition, the order of the ⁇ single-area search associative memories 36-1 to 36-r in the associative memory 1 is not limited as long as the connection relationship is established. Absent.
  • the j-th logical AND means 3 9—j receives r matching lines 3 7-j -7—j—r and one common matching line 38—j as inputs, The result of the logical AND operation that sets the valid state to true is output as signal 40 — j.
  • the AND signal 40-j and the match signal 5-j are the same.
  • the j-th storage means 4 3 — j receives the AND signal 40-j s and the storage control signal 12, and outputs the common match line 38 — j. Stores the state of the common match line 38 1 or j according to the state of the control signal 1 2 or stores the value of the AND signal 4 0 — j, or initializes the valid state of the common match line 3 8, The operation is performed.
  • FIG. 2 is a block diagram showing details of a configuration example of the associative memory according to the first embodiment of this invention.
  • the associative memory for single area search 36-1 is n-bit m words
  • the associative memory for single area search 36-r is s-bit m words, the number of bits forming one word. The only difference is the internal configuration is the same.
  • the single-region search associative memory 36-1 has an n-bit associative memory word 44-1-1-l to 44-m-1 and a control circuit 45-1.
  • the associative memory for single area search 36-r has an associative memory of s bits, word 44-1-r to 441-m, and a control circuit 45-; r. .
  • J 'th associative memory word 4 4—j — 1 is the number of data' cell 8 — j 1 1 1 1 to 8 — j 1 n — 1 and n mask cells 9 — j One 1 One 1-9 One j One! Has 1 — 1 (, j th associative memo Reword 4 4—j one is s data “cells 8—j—11 r to 8—j—s—; r and s masks” cell 9—j—1—r to 9 It has one j-s-r.
  • the associative memory for single area search 36 is composed of an n-bit 2-input 1-output enable selector 82, an n-bit m-word associative memory word 4 4—1 to 4 4—, It has a control circuit 45, logic gates 58-1 to 58-and resistors 57-1 to 57-n.
  • the j-th associative memory word 44-j has n associative memory 'cells 83-j-1 to 83-j-n.
  • the corresponding data word line 5 3-j, the mask word line 5 4-1 j, the common match line 3 8-j, and the comparison control Signal 85 is connected for input, the corresponding match line 37-j, and n match intermediate logic lines 52-l to 52-n are connected for output, and n match lines.
  • the bit lines 51-1 to 51-n are connected for input and output.
  • the mask valid state of the mask information is "0"
  • the mask invalid state is "1”
  • the valid state of the stored data is "1”
  • the invalid state is "0”.
  • the valid state of the coincidence logical OR line 52-1-1 to 52-n is set to "1” and the invalid state is set to "0”.
  • the valid state of the match line 37-1 to 37-m and the common match line 38-1 to 38-m is "1"
  • the invalid state is "0".
  • Matching lines 3 7 — 1 to 37 — m are precharged to the high-level in advance. ⁇ Assume that they are in the valid state “1”.
  • the k-th associative memory of the j-th associative memory 4 4 1 j j 'associative memory' cell 8 3-j-1 k has the corresponding data 'word line 5 3-j and Mask ⁇ Word line 54-j, common match line 38-j, and comparison control signal 85 are connected for input, corresponding match line 37-j, and match data intermediate logic Lines 52 k are connected for output, and bit lines 51 k are connected for input and output.
  • Each associative memory 'cell 8 3-j-k is a data that stores the corresponding bit information of the stored data input from the outside via the bit line 5 1-k-cell 8- Comparator 8 4 that compares the bit information stored in j — k with the data stored in cell 8 — j — k and the information input from outside via the bi-linear and soft lines 5 1 1 k — J— k and a mask that stores the corresponding bit information of the mask information input via the external bit line 5 1 — k ′ cell 9 — j — k and logical gate 5 6 — j — K.
  • the bit information stored in the mask cell 9-1-1-k is in a mask-enabled state of the mask information, the corresponding data in the cell 8-j-k contains invalid storage data. Stores state.
  • the comparator 8 4—j-1 k is connected to the corresponding bit line 5 1—k and the same associative memory in the cell 8 3—j—k.
  • the stored memory data, the mask information stored in cell 9-j-1k, and the comparison control signal 85 are input. If the comparison control signal 85 is in the invalid state “0” and the mask information is the mask valid state “0”, the comparator 84—j—k releases the corresponding match line 37—j and releases it. Otherwise, if the value of bit line 51 1-k matches the stored data, the corresponding match line 37-j is opened, and if they do not match, invalid state "0" is output. I do.
  • N comparators in the associative memory word 4 4—j 8 4—— j—1 to 84—j When all n have the matching line 3 7—j open The match line 37 — j is in the valid state “1”, otherwise it is in the invalid state “0”. A wired AND logical connection with the valid state "1" set to true is configured. In the search operation, the comparison control signal 85 is in the invalid state "0" and the mask information is in the mask valid state "0". The memory data stored in the associative memory lead 44-j and the bit lines 51-1-1 to 51-n are complete, except for the bits excluded from the comparison because of this. The match line 3 7—j is in the valid state “1” only if the match is made, otherwise it is in the invalid state “0”. Of course, a normal logic gate may be used to achieve the same operation.
  • the logic gate 5 6—j—k is the same associative memory 'word 4 4 1 1
  • the common match line 3 8—j in the j is valid “1” and the same associative memory' cell 8 3 — J — data in k 'k 8 — memory stored in cell j — k is enabled, the corresponding matched data is in the intermediate state. Is output, otherwise it is left open.
  • the valid state of the storage data is "1”
  • the storage data stored in cell 8-j-1k is "1” and the coincidence line 5—j is "1".
  • "0" is output to the corresponding coincident data intermediate logical line 52-k, otherwise, the release status is output.
  • the intermediate logic lines 52-1 to 52-n are pulled up by resistors 57-1 to 57-n, and the corresponding m logic gates 56 -1-1-5 6-m-n constitutes a wired logical connection. Therefore, the matching data intermediate logical line 1 1 4 1 of the conventional associative memory 101:! As in the case of ⁇ 1 1 4 1 n, when the connected m logic gates 5 6 all have the match data intermediate logic line 52 open.
  • the logic gates 5 8 — 1 to 5 8 — n are the corresponding matching data.
  • the intermediate logic lines 5 2 — 1 to 5 2 — n are inverted, and the intermediate data lines 9 2 — 1 to 9 2 — Output as n.
  • the intermediate data line 9 2 — k has m logic gates 5 6 1 1 1 1 k to 5 6 — m—k, which coincides with the intermediate logic line 5 2 — k, the resistance 5 7 — k, All the associative memory cells 8 3-l _ k-having matching lines 37-1 to 37-in that are in the valid state "1" during the search operation by the logic gate 58-k and 8 3 — Data in m—k ⁇ Cell 8—1 — 1 to 8 — OR operation between stored data stored in m—k with the valid state of storage data set to true
  • the result obtained is as follows. In this example, a result obtained by performing a logical sum operation with the valid state “1” of the stored data set to true is obtained.
  • the same operation may be performed by using a normal logic gate.
  • the intermediate data — evening line 9 2 — 1 to 9 2 — n contains the most invalid bit “0” of the stored data that matches the search data 3 during the search operation. The same value as the smaller number of stored data will be output.
  • the control circuit 45 receives the primary search permission signal 10 and the secondary search permission signal 11 as inputs, and outputs a comparison control signal 85, a selection signal 86, and an invalidation signal 87.
  • the control circuit 45 controls the search operation of the associative memory for single area search 36. Therefore, when both the primary search enable signal 10 and the secondary search enable signal 11 are in the invalid state "0", Outputs the valid state "1" to the invalidation signal 87.
  • the primary search enable signal 10 is in the valid state "1”
  • the invalidation signal 87 becomes the valid state "0”
  • the selection signal 86 becomes the invalid state "0”
  • the comparison control signal 85 becomes the invalid state.
  • the secondary search permission signal 1 1 is in the valid state "1”
  • the invalidation signal 87 is changed to the valid state "0”
  • An invalid state "1” is output to the selection signal 86 and an invalid state "1” to the comparison control signal 85.
  • Selector 82 with n bits 2 inputs and 1 output enable is used to select signal 86, invalidate signal 87, intermediate data line 92-1 to 92-n, search data 3-1 ⁇ 3 — n is input and bit lines 5 1 — 1 to 5 1 — 1 are output.
  • the disable signal 87 is in the valid state "1”
  • the bit line 5 1 — 1 to 51 — n is connected to all the associative memories.
  • Words 4 4—1 to 4 4 1 Output search invalid data that would result in a 1 m comparison result. Otherwise, search if the selection signal 86 is in the invalid state "0".
  • Data 3 — 1 — 3 — n if the selection signal 86 is in the valid state “1”, intermediate data lines 92 2 — 1 — 92 2 — n, bit lines 5 1 1 — 5 1—Output to n.
  • the clock signal 13 1 is deleted from the input to the control circuit 45, and the primary search signal 10 and the secondary search signal 11 The only difference is that they are added, and the other parts are configured similarly.
  • the cell 83 has a point that a common match line 38 is added, and a logic gate. Except for the point that the signal for turning on the MOS transistor (T 10) 2 14 that constitutes the gate 56 is changed from the match line 37 to the common match line 38, Associative memory 'Same as cell 107.
  • n-bit 2 input 1 selector with output enable 8 2 in Fig. 3 is the bit line 5 1 — 1 to 5 1 — n all bit lines corresponding to bit line 5 la, 5 lb "0" is output to the set of.
  • bit line 51b is set to the value of the bit line 51a. Since the inverted value is input, both bit lines 51a and 51b do not become "0".
  • the comparator 84 When the bit lines 51a and 51b are both "0", the comparator 84 outputs the M0S transistor (series) inserted in series between the bit lines 13a and 13b. T 3) 205 and MOS transistor (T 4) 206 In this case, the potential at the connection point of the MOS transistor (T 3) 205 and the transistor ( ⁇ 4) 206 is at the low level, and the MOS transistor ( ⁇ 5) 2 07 does not become conductive. Therefore, the comparator 84 releases the match line 37.
  • the associative memory cell 83 of the present invention can be constituted by the same 19 transistors as the conventional associative memory cell 107, and the circuit scale does not change.
  • the circuit size of the associative memory cell as a whole is about 620,000 transistors.
  • the main control circuit 6 can be composed of about 500 transistors, and the logical AND means 39 and the storage means 43 can be composed of about 50 transistors per word. It can be seen that in the case of the 10 24 bits and 32 bits of the above, the circuit scale is increased by only a few% compared with the conventional associative memory 101.
  • FIG. 5 is a flowchart showing an operation of the associative memory according to the first embodiment of the present invention at the time of a search operation for input data composed of a plurality of search data.
  • the associative memory 1 is connected to the network from the PC 401-1 having the network address (1.26) in FIG. 33.
  • the 9-bit transmission source address (1.2.6) at the time of data transfer is searched for as 3 to 1, and the 9-bit destination address (2.3.5) is retrieved.
  • search data 3 2.
  • the search data 3-1 is given the highest priority of 1
  • the search data 3-2 is given the priority of 2.
  • the associative memory 1 is composed of associative memories for single area search 36-1 and 36-2 of 9 words and 5 words. Also, in Table 1 (b), the 9-bit stored data and the 9-bit mask that constitute the 9-bit structured data of the source network address of each transfer rule Memory information for associative memory for single area search 36-1 associative memory word 4 4-1- ⁇ ⁇ 4 4-5-1 Shall be stored.
  • the values output from 8 2-2 are represented as bit line data 9 5-1 and 9 5-2, respectively.
  • the value of the intermediate data line 92 of the single-area search associative memory 36 is used as the intermediate data 93--1
  • the intermediate data line of the single-area search associative memory 36-2 is used as the intermediate data line 92. Is expressed as 9 3 — 2 in the middle.
  • All matching lines 3 7 — 1 —- ;! to 3 7 — m— r are pre-charged to the valid state “1” in advance.
  • Step S100 When the start signal 42 becomes the valid state "1", the search operation starts.
  • the main control circuit 6 executes the operation of step S100 in the flowchart of FIG. 5 in synchronization with the clock signal 41, and the value p of the internal variable 28 is initialized to 1. Also, the main control circuit 6 initializes the storage control signal 12 and the storage means 4 3-1 to 4 3-m to the valid state "1" of the common match line 38-1 to 38-m. Output information.
  • an invalid state “0” is output to all the primary search permission signals 10 — 1 to 10 — r and all the secondary search permission signals 11 — 1 to 1 1 — r.
  • FIG. 6 shows a case where the content addressable memory 1 is transferred from the PC 401-1 having the network address (1.2.6) in FIG. 33 to the network address (2.
  • FIG. 10 is a diagram for explaining an operation state in step S100 when used for judging whether or not data can be transferred to a PC 401-3 having 3.5). Since all primary search enable signals 1 0—1 to 1 0—2 and secondary search enable signals 1 1—1 to 1 1—2 are in the disabled state “0”, the disable signals 8 7 — 1, 8 7 — 2 are both in the valid state “1”, and n-bit 2 input 1 output selectors with output enable 8 2 — 1, 8 2 — Bit line data output from 8 2 — 9 5 — 1, 9 5 and 2 are both search invalidation data.
  • the match lines 3 7—1—1 to 3 7—5—1 and the match lines 3 7—1—2 to 3 7—5—2 all keep the valid state “1”.
  • the common match lines 38-1 to 38-8 which are the outputs of the storage means 43-1 to 43-5, are initialized to the valid state "1" by the memory control signal 12. I have. Therefore, AND signals 4 0 — 1 to 4 0 — 5 all become "1”.
  • the intermediate data 9 3-1 is the logic of all the memory data stored in the associative memory 4 4 1-1-1 to 4 4-1 1 5
  • the result of the sum operation is "0 0 1 .0 1 0 .1 1 1 0”.
  • the intermediate data 9 3 — 2 is stored in the associative memory 'word 4 4 — 2 ⁇ 1 to 4
  • the result of the logical sum operation of all the stored data stored in 4-2-5 is “Oil. 0 1 1. 101”.
  • the operation of the main control circuit 6 shifts to the flow chart step S101 in FIG. 5, and all the primary search enable signals 10-1 — 1 0 — Output valid state "1" to r and output invalid state "0" to all secondary search enable signals 1 1 1 1 to 1 1 1 r.
  • the value of the logical product signal 40 — 1 to 40 — m at step S 101 is stored in the storage means 43 — 1 to 43 — m when the next step S 102 is performed.
  • a signal to be stored is output as a storage control signal 12.
  • FIG. 7 shows a case where the associative memory 1 is transferred from the PC 401-1 having the network address (1.2.6) shown in FIG. 33 to the network address (2.
  • FIG. 14 is a diagram for explaining an operation state in step S101 when the method is used to determine whether or not data transfer to the PC 410-3 having 3.5) is possible.
  • the selector 8 2 with n bits 2 inputs 1 output enable 1 outputs the value of the search data 3-1 "0 0. 0 1 0. 1 1 0" as the bit line data 95-1, and is invalid for the comparison control signal 85-1. "0" is output. Therefore, the value of the bit line data 95-1 and the storage data stored in the associative memory and word 441-11-1 to 44-1-5-1 are also used for corresponding mask information.
  • the value of the bit line data 95--2 and the storage data stored in the associative memory 'side 44-1-2 to 44-5-2' are also taken into consideration with the corresponding mask information. Then, the matching lines 3 7 — 1 — 2, 3 7 — 3 — 2, and 3 7 — 5 — 2 are in the valid state “1”, and the matching lines 3 7 — 2 — 2 and 3 7-4-2 become invalid status "0".
  • the storage means 4 3 — 1 to 4 3 — 5 outputs the value “1” initialized in step S 100 to the common match line 38 — 1 to 38 — 5, the logical product Signals 40 — 1, 40 — 3, and 40 — 5 become “1”, and AND signals 40 — 2 and 40 — 4 become “0”.
  • the values of the logical product signals 40-1 to 40-5 are stored in the storage means 43-1 to 43-5 when the process proceeds to the next step by the storage control signal 12.
  • step S102 of the flowchart in FIG. 5 the operation of the main control circuit 6 shifts to step S102 of the flowchart in FIG. 5, and the primary search enable signal 10—1 to 10 — R, secondary search enable signal 1 1 1 1 1 to 1 1 — Secondary search enable signal 1 1 corresponding to associative memory for single area search 3 6—1, which has the highest priority among r 1 1 — Output valid state "1" to only 1 and output invalid state "0" to other signals.
  • the storage means 43-3 to 43m The storage control signal 12 is output as a signal for storing the data in the storage control signal 12.
  • FIG. 8 shows an associative memory 1 with the network address (1.2.6) in FIG.
  • FIG. 11 is a diagram for explaining an operation state in step S102 when the data transfer to the PC 401-3 having the data (2.3.5) is used to determine whether transfer is possible.
  • the storage means 4 3-1 to 4 3-5 output the value stored in step S 101, the common match lines 38-1, 38-3, and 38-15 are output. It becomes “1", and the common match lines 38_2 and 38-4 become “0". For this reason, the intermediate data 93-1 of the associative memory for single area search 36-1 is stored in the associative memory words 44-1-1-1, 44-1-3-1, and 44--5.
  • the result of the logical OR operation of the stored data stored in the unit 1 is "0 0 1 .0 1 1 .0 0 0".
  • the intermediate data 93-2 of the associative memory for single area search 36-2 is the associative memory 'word 44-1-1, 4 4-1-3, and 4 4-15-
  • the result of the logical sum operation of the storage data stored in 2 is "0 1 0. 0 1 1. 0 1".
  • the secondary search enable signal 11-1 is in the valid state "1", so that n bits 2 inputs 1 output rice
  • the selector with a doublet 8 2-1 outputs the value of the intermediate data 9 3-1 "0 0 1. 0 1 0. 0 0 0" as the bit line data 95-1.
  • the valid state "1" is output to the comparison control signal 85-1. Therefore, the mask information corresponding to the value of the bit line data 95-1 and the storage data stored in the associative memory ⁇ ⁇ ⁇ ⁇ 4 4 1 1 1 1 to 4 4 5 5 4 1 is considered.
  • the comparison is performed as is, and the matching lines 3 7 — 1 1 1 and 3 7 — 3 — 1 are in the valid state “1”, and the matching lines 3 7 — 2 — 1, 3 7- 4-1, and 3 7-5-1 become invalid status "0".
  • the primary search enable signal 1 0-2 and the secondary search enable signal 1 1-1 2 are both in the invalid state "0”.
  • the invalidation signal 8 7 — 2 becomes the valid state “1” and the n-bit 2 input 1 output selector with selector 8 2 — 2 transmits the search invalidation data to the bit line data 9 5 — 2 and an invalid state "0,” is output to the comparison control signal 85-2. Therefore, the matching lines 3 7 — 1 — 2 to 3 7 — 5 — 2 are all in the valid state “1”.
  • step S104 add 1 to the value of the internal variable p, proceed to step S105, and enable the primary search enable signal 1 0 — 1 to 1 0 — r, secondary search enable signal 1 1 1 1 to 1 1 1 1 r, the priority of which is equal to the value ⁇ of internal variable 2 8, single-area search associative memory 3 6 — 2 corresponding to ⁇ Next search enable signal 1 1 Outputs valid state "1" only to 1 ⁇ , and outputs invalid state "0" to other signals.
  • step S 105 when the value of the AND signal 40 — 1 to 40 — m in step S 105 is shifted to the next step S 103, the storage means 43 — 1 to 43 — Note on m A signal for storage is output as the storage control signal 1 2.
  • steps S103, S104, and SI05 are shown to be executed in the same state of the clock signal 41, but the clock signal 4 It goes without saying that the operation may be divided by 1.
  • FIG. 9 shows that the associative memory 1 is transferred from the PC 401-1 having the network address (1.2.6) in FIG. 33 to the network address (2.
  • FIG. 7 is a diagram for explaining an operation state in step S105 when the method is used to determine whether or not data can be transferred to a PC 401-3 having .3.5).
  • the storage means 4 3 — 1 to 4 3 — 5 output the value stored in step S 102, the common match lines 3 8 — 1 and 3 8 — 3 become “1”. Therefore, the common match lines 38-8, 38-8, and 38-5 become "0".
  • the associative memory for single-area search 3 6-1 is stored in the associative memory 'word 4 4-1-1 and 4 4-3-1 in the intermediate memory 9 3-1.
  • the result of the logical sum operation of the stored data is “0 0 1. 0 1 0. 0 0 0”.
  • the intermediate data 93-2 of the associative memory for single area search 36-2 is stored in the associative memories' 4-1-1 and 4-3-2.
  • the result of the logical OR operation of the stored data is "0 1 0. 0 1 1 0 0 0".
  • the primary search enable signal 1 0 — 1 and the secondary search enable signal 1 1 — 1 are both in the disabled state “0”, so the disable signal 8 7 — 1 becomes valid state "1", n-bit 2 input 1 selector with output enable 8 2 — 1 outputs search invalidation data as bit line data 95 — 1 and compares Invalid state "0" is output for control signal 8 5 — 1. Therefore, all the matching lines 3 7 — 1 — 1 to 3 7 — 5 — 1 are in the valid state “1”.
  • the secondary search enable signal 1 1 1 2 is valid in the associative memory for single area search 3 6 — 2 with the priority 2 “1”
  • the n-bit 2 input 1 output enable selector 8 2-2 outputs the intermediate data 3-2 value "0 1 0 0 1 1 1. 0 0 0" to the bit line data. Evening 95-2 is output, and the comparison control signal 85-2 outputs the valid state "1". Therefore, the value of the bit line data 95--2 and the storage data stored in the associative memory word 4 4-1-2 to 4 4-5-2 are converted into the corresponding mask information.
  • the match line 3 7 — 3 — 2 is in the valid state “1”, and the match line 3 7 — 1 — 2, 3 7 — 2 — 2, 3 7 — 4 1-2 and 3 7-5-are in the invalid state "0".
  • the logical product signal 40 — 3 becomes the valid state “1”, and the logical product signals 40 — 1, 40 — 2, 40 — 4, and 40 — 5 Becomes invalid state "0".
  • the states of the AND signals 40 — 1 to 40 — 5 are stored in the storage means 43-1 to 43-5 by the storage control signal 12 when moving to the next step.
  • the number r of the associative memory for single area search 36 included in 1 is compared.
  • the value of the internal variable 28 and the number r of the associative memory for single area search 36 included in the associative memory 1 are both 2, and the search result ends.
  • the match signals 5-1 to 5-5 only the match signal 5-3 outputs the valid state "1", which is obtained as a final search result. become.
  • From the PC 41-1 with a network address (1.2.6) to the PC 41-3 with a network address (2.3.5) Data transfer should be subject to transfer rule 3, which indicates correct results.
  • a wait cycle is inserted immediately before step S102 and step S105 of the flowchart in FIG. 5 to store intermediate data 93-1 to 93-r. It goes without saying that the operating frequency can be increased by inserting a latch.
  • step S105 a secondary search is performed from the words that matched when the secondary search was performed in step S102, so that FIG.
  • the value of the intermediate data 93-1 in the step S105 shown in the figure is the same as the value of the intermediate data 93-1 in the step S102 shown in FIG. Therefore, in step S105 of the flow chart of FIG. 5, when the value of the internal variable 28 is p, the valid state is set to the secondary search signal 1 1 — 1 to 1 1 — p. It can be seen that the same result can be obtained by outputting.
  • the valid state is output to all the secondary search enable signals 11-1 to 11-1r in the operation of the main control circuit 6 in step S102 of the flowchart of FIG.
  • a search operation that is equivalent to the conventional 'associative memory 101' can be achieved by changing to
  • memory 1 can be used equivalent to r conventional associative memories 101.
  • the transfer enable / disable determination operation is performed by three search operations in steps S101, S102, and S105. It is possible. Assuming that a single search operation by the associative memory of the present invention requires one clock, the transferability determination operation can be performed with the number of clocks obtained by adding 1 to the number r of search areas. .
  • FIG. 10 is a block diagram showing a second configuration example of the single area search associative memory in the associative memory according to the first embodiment of the present invention. Comparing each component of the single-region search associative memory 22 of the second configuration shown in FIG. 10 with the configuration of the single-region search associative memory 36 shown in FIG.
  • n bits 2 Input 1 selector with output enable 8 2 is changed to n-bit 2 input 1 output selector 96, and logical gate 3 7 — j is inserted at jth match line 3 7 — j
  • the invalidation signal 87 output from the control circuit 45 becomes m logic gates ⁇ 8 — 1 to 7 8 — Input to m and the j-th associative memory 'n 7 associative memories in the node 7 0 — 1' cell 6 9 — j — 1 to 6 9 —
  • the associative memory for single area search 36 shown in Fig. 3 The configuration is the same. Therefore, only the differences from the associative memory for single area search 36 will be described.
  • the n-bit 2 input 1 output selector 96 receives the selection signal 86, the Nakaguru data line 92-1 to 92-n, and the search data 3-1 to 3-n as inputs. And bit lines 5 1 — 1 to 51 — n are output.
  • the n-bit 2 input 1 output selector 96 sets the search data 3 ⁇ to 3 — n when the selection signal S 6 is invalid, and the intermediate data line 9 when the selection signal 86 is valid.
  • 2 — 1 to 9 2 — n are output to bit lines 5 1 — 1 to 5 1 — n.
  • the internal match line 9 7 — 1 to 9 7 — m is the match line 3 7 —; ⁇ 3 7 — Like in, it is pre-charged to the high level in advance, and it is assumed that the valid state is "1". Similarly to the match line 3 7 — j in Fig. 3, n comparators 8 4 — j —.l to 8 4 — j — 11 in the j-th associative memory word 4 41 j When all the internal match lines 97-j are open, the internal match line 97-j keeps the valid state "1", otherwise it becomes invalid state "0". And a logical AND connection with the valid state "1 '" of the internal match line 97 set to true.Of course, the same operation is performed using a normal logical gate. It doesn't matter.
  • the j-th logical gate 7 8 — j receives the internal match line 9 7 — j and the invalidation signal 8 7 as input, and the match line 3 7 — j as output.
  • the invalidation signal 8 7 is in the valid state
  • the valid state of the common match line 3 8 is output to the match line 3 7 — j.
  • the internal match line 7 8 — j is State Output to match line 3 7—j.
  • the match lines 37 — 1 to 37 — m are controlled by the logical gates 78 — 1 to 78 — m.
  • the m match lines 3 7 — 1 to 3 7 — m The function to output the valid state is realized.
  • FIG. 11 is a block diagram showing details of a configuration example of the associative memory according to the second embodiment of this invention.
  • the associative memory 29 of the second embodiment shown in FIG. 11 is composed of r single-area search associative memories 26-1 to 26-r, each of which is the j-th associative memory 'word 27. — J — 1 to 2 7— j —
  • the output signals of the comparison result of r are wired and logically connected to one match line 3 7-j, and are further connected to the match line 3 7 _ j.
  • the state held dynamically is used to generate intermediate data.
  • the match line 37-: ⁇ is precharged to the valid state "1" only when the start signal 42 is in the valid state. Therefore, the logical product means 3 in the associative memory 1 of the first embodiment shown in FIG. 9-j, the storage means 43-j, and the common match line 38-j are wired and logically connected in the associative memory 29 of the second embodiment shown in FIG. This is realized by the matching line 37-j. Therefore, the storage control signal 12 output from the main control circuit 6 is not connected anywhere. In FIG. 11, the state of the match line 37-j is directly output to the outside as the match signal 5-j. Other than these, the configuration of the associative memory 1 of the first embodiment shown in FIG. 2 is completely the same, and a similar search operation can be performed on input data composed of a plurality of search data. It is clear.
  • r single-area search associative memories 26- ;! to 26--r have m matching lines. 3 7-1 to 3 7—m only.
  • the number of associative memories for single area search 36-1 to 36-r is mxr number of matching lines 3 7 — 1— 1 to 37—m—r and m shared match lines 38 — 1 to 38—m, which is the sum (mx (r + 1)) of lines, associating with the second embodiment.
  • the number of wires is greatly reduced.
  • the wiring area is greatly reduced and the chip area is reduced as compared with the associative memory of the first embodiment, and at the same time, the power consumption is greatly reduced. It has the advantage that it can be reduced.
  • FIG. 12 is a block diagram of a configuration example of a single-area search associative memory in the associative memory according to the second embodiment.
  • the configuration of the single area search associative memory 26 shown in FIG. 12 is the same as that of the first embodiment shown in FIG.
  • the common match line 3 8—j was deleted from the j-th associative memory word 27-j, and the j-th N associative memories that make up associative memory word 2 7—j 'cells 7 1 — j — 1 to 7 1 —!
  • the match line 37-j which is the output signal, is connected to the n logical gates 56-j'-1 to 56-j-n. Since it is generated by a wire-AND logical connection, the common match line 38-j can be shared with the match line 37_j even within the single-area search associative memory 26. It is possible.
  • the match lines 37-1 to 37-m are generated using normal logic gates instead of wired AND logic connections, and the match lines 37- Even in the associative memory for single area search where 1 to 37—m is output from the logical gate 78 to 1 to 781, the logical gate that outputs the match line 37—j
  • the associative memory 29 can be used as the associative memory 26 for searching a single area.
  • the state of match line 37-j is directly output to the outside as match signal 5-j, but the state of match line 37-j is input to the buffer. Needless to say, the waveform may be shaped and then output as the match signal 5-j.
  • FIG. 13 is a block diagram showing a configuration example of the m-word associative memory 25 according to the third embodiment of the present invention.
  • the associative memory for single-area search 36-1 to 36-r is a single-area search memory.
  • the associative memory for retrieval 4-1-41-r has been changed and the AND means 39-1-39-m have been changed to AND means 13-1-13-m
  • the only difference is that they are added, and AND means 15-1 to 15-m are added, and the other parts are configured similarly.
  • the search result when the primary search enable signal 10 is in the valid state and the secondary search enable signal 11 is in the valid state is also output to the same match line 37-1 to 37-m, but in this example, the search result is output when the primary search permission signal 10 is in the valid state.
  • Match line 17-1 to 17-m and secondary match line 18-1 to 18-m that output search results when the secondary search permission signal 11 is enabled This is an example of a case where the associative memory 25 of the present invention is composed of associative memories 41 to 4—r for simple single area search. Next, only differences from the first embodiment will be described.
  • the i-th single-area search associative memory 4 1 i is the same as the search data 3 — ⁇ , the primary search enable signal 10 0 — i, the secondary search enable signal 1 1 1 i, and m Line 3 8 — 1 to 3 8 — m is input, and the search results in a single area are converted into m primary matching lines 1 7 — i— l to 1 7 — i— m and m 2 Output as the next match line 1 8— i— 1-to 18— i— m.
  • the associative memory 4 for single area search 4 The search operation in the single area of i is based on the primary search enable signal 1 0—i and the secondary search enable signal 1 1—i as follows. Is controlled. Primary search enable signal 1 0 — When i is valid, search data 3 — i is compared with stored data, taking into account the corresponding mask information. Is output to the primary match line 1 7 — i — 1 to 1 7 — i1 m. When the secondary search enable signal 1 1 i is valid, m common match lines 3 8 — 1 to 3 8 — m are used by using both or one of the stored data and mask information stored inside.
  • the associative memory 25 was composed of the i-th associative memory for single-area search 41-i, and the secondary search was performed following the primary search.
  • the secondary match line 1 8 — i — corresponds to the search data 3 — i that corresponds to the storage data that has the least number of bits in the valid state of the mask information among the storage data that match in consideration of the mask information. 1 to 1 8 — The valid state can be output only to i — m.
  • j-th logical AND means 1 3— j is r primary match lines 1 7 — j — 1 to 1 7-j one r, one common match line 3 8-j v and one match signal Signal 5 — j is input, and the result of the logical AND operation that makes the valid state of the common match line 38 true is output as the logical product signal 40 — j.
  • FIG. 14 is a block diagram showing details of a configuration example of the associative memory according to the third embodiment of this invention.
  • the first associative memory for single-area search 411 has an n-bit m-word configuration
  • the r-th associative memory for single-area search 41-r is an s-bit m-word
  • the internal configuration is exactly the same except for the number of bits that make up one word.
  • the associative memory for single area search 41 i of the i-th g-bit m-word is a g-bit that performs a search operation when the primary search permission signal 10 0 — i is in a valid state.
  • G The primary associative memory of m words 2 0 — i and the secondary search enable signal 1 1 — The search operation is performed when the i is valid.
  • the secondary associative memory of g bits m words 2 1 — i is independent. Will be described.
  • the associative memory for single area search 4 — i of the associative memory 25 of the embodiment of FIG. 13 is not limited to the configuration shown in FIG. 14. It is needless to say that the configuration can also be made using associative memory as shown in the gazette.
  • Primary associative memory 2 0 — i is input for search data 3 — i, primary search enable signal 10 0 — i, and common match line 3 8 — 1 to 3 8 — m
  • the search result at is output to the primary match line 1 7—11 i ⁇ l 7—m—i, and the intermediate data 93—i is output.
  • the primary search permission signal 1 0 — i is in the invalid state
  • the primary match line 17 — i — 1 to 17 — i — m is changed to the valid state of the common match line 38. Output.
  • Primary associative memory 2 0 — i has m associative memory words 7 — 1 — i to 7 — m— i, where: i th associative memory 'word 7 — j — i Has g data 'cells 8 — j — l i i-8-j — g — i and g masks' cells 9 — j 1 li-9 — j — g — i.
  • the second associative memory 2 1 —; ⁇ receives the intermediate data 9 3 — i and the secondary search enable signal 1 1 1 i as inputs and searches the search results in a single area with the secondary match line 1 8— 1 1 i ⁇ 1 8— m— Output to i. However, if the secondary search enable signal 1 1 — i is in an invalid state, the valid state of the common match line 3 8 is output for all secondary match lines 18 — i — 1 to 18 — i — m I do.
  • the second associative memory 2 1—i has m associative memory words 2 4—1—i to 24—m_i, and the j-th associative memory ′ word 2 4 — J — i has g data cells 2 3 _ j — 1 1 i to 2 3 — j — g — i.
  • the j-th associative memory 'word 2 4—j the data of the k-th bit of i' cell 2 3—j _k—i contains the primary associative data It is assumed that the same value as the stored data stored in memory 2 0—i is stored in cell 8—j—k—i in advance. However, if the bit information stored in the corresponding mask cell 9—j-1k is in the mask valid state, the data is stored in the cell 23-3—j—k. Is stored as the second storage data.
  • the primary associative memory 20 is an associative memory of n bits and m words, words 7 — l to 7 — m, logical gates 58 — 1 to 58 — n, and resistors 57 — 1 to 5 7— n.
  • the jth associative memory 'word 7-j' has n associative memory 'cells 50-j-1 to 50-j-n.
  • the associative memory word 7—j has the corresponding data word line 53–j, the mask word line 54–j, the common match line 38–j, and the primary word.
  • the search enable signal 10 is connected for input, and the corresponding primary match line 17 — j, and the n matching data intermediate logic lines 52 — 1 to 52 — n are connected for output. -, N bit lines 5 1-;! To 5 1 n are connected for input and output.
  • the mask valid state of the mask information is "0" and the mask is invalid.
  • the state is set to "1”
  • the valid state of the storage device is set to "1”
  • the invalid state is set to "0”.
  • the valid state of the coincidence data OR lines 52-1 to 52-n is set to "1” and the invalid state is set to "0".
  • Primary match line 1 7—1 to 17—m, secondary match line 18—1 to 18—m, and common match line 3 8—1 to 38—m The state is set to "0".
  • the associative memory 'word 7-j' of the k-th bit of the associative memory 'cell 50-1j-k has a corresponding data word line 53-j and a mask
  • Lines 54—j, common match line 38—j, and primary search enable signal 10 are connected for input, and the corresponding primary match line 17—j and match data intermediate logic.
  • Lines 52 k are connected for output, and bit lines 51 k are connected for input and output.
  • Each associative memory 'cell 50 0-j-k is a cell storing the corresponding bit information of the stored data inputted from the outside via the bit line 51-k.
  • Comparator 55 comparing the bit information stored in the data cell 8—k with the information input from outside via the bit line 51—k. j-k, a mask cell 91-j-k for storing the corresponding bit information of the mask information input from the outside via the bit line 51-k, and a logic gate 56- j — k.
  • each component of the primary associative memory 20 shown in FIG. 15 is compared with the configuration of the single area search associative memory 36 in the first embodiment shown in FIG.
  • the external search data 3 _ 1-3-n is directly input to the bit line 5 1-1-5 1-II-the intermediate data line 9 2-1-9 2-n It is directly output to the outside as the intermediate data 93, and accordingly, the selector 8 with n bits 2 inputs 1 output enable 2 and that the control circuit 45 has been deleted, and the signals input to the comparators 55-1 11 to 55-m-n have been changed from the comparison control signal 85 to the primary search enable signal 10
  • the single area search shown in Figure 3 It is exactly the same as the associative memory 36.
  • the intermediate data 93 output from the intermediate data lines 92-1 to 92- ⁇ are also generated by the same operation as the associative memory for single area search 36 shown in FIG.
  • Comparator 5 5—j—k has the corresponding bit line 5 1—: k and the same associative memory 'cell 50 0—j—k in cell' cell 8—j—k
  • the mask information stored in cell 9 j — k, and the primary search enable signal 10 are input, and the primary match line 17 — j is output. . If the primary search enable signal 10 is valid "1" and the value of the bit line 51-k does not match the stored data, the corresponding primary match will be made for the comparator 5 5—j — k An invalid state "0" is output to line 17-j, and otherwise, the primary match line 17-j is opened.
  • the associative memory word 7 the stored data stored in the j and the bit line 5 1—1 to 51—n only match the primary match line 1 if and only if they match exactly. 7 — j becomes valid state "1", and if they do not completely match, it becomes invalid state "0".
  • it may be configured using a normal logical gate so as to perform the same operation.
  • the associative memory cell 50 of the present invention uses a signal input to the comparator 55 for comparison control.
  • the signal was changed from signal 85 to primary search enable signal 10 and the match line 3 7 — 1 to 3 7 — m was changed to the primary match line 1 7 —:!
  • the MOS transistor (T7) 209 whose conduction state is controlled by the comparison control signal 85 is deleted, and the primary search enable signal 10 Except for the addition of a MOS transistor (T 12) 216 whose conduction state is more controlled, the content addressable memory of the first embodiment shown in FIG. It is configured like this. Therefore, only the differences from the associative memory cell 83 of the first embodiment will be described.
  • Comparator 5 5. is a MOS transistor (T3) 205, a MOS transistor (T4) 206, a MOS transistor (T5) 207, and an M0S transistor. (T 6) 208 and a MOS transistor (T 12) 216.
  • the MOS transistor (T 3) 205 and the MOS transistor (T 4) 206 are inserted in series between the bit lines 51 a and 5 lb.
  • the M-0 S transistor (T 3) 205 becomes conductive when the output of the inverted logic gate (G 1) 201 in the cell 8 is at a high level.
  • MOS transistor (T4) 206 Is turned on when the output of the inverted logic gate (G 2) 202 in cell 8 is a high level.
  • MOS transistor (T 6) 208, MOS transistor (T 12) 210 and MOS transistor (T 5) 207 are connected between primary match line 17 and low potential. Inserted in series.
  • the MOS transistor (T 6) 208 becomes conductive when the output of the inverted logic gate (G 4) 211 in the mask cell 9 is at a high level.
  • the MOS transistor (T 12) 2 16 becomes conductive when the primary search enable signal 10 is in the valid state “1”.
  • the MOS transistor (T5) 207 becomes conductive when the potential at the connection point between the MOS transistor (T3) 205 and the MOS transistor (T4) 206 is at a high level. .
  • the output of the bit line 51 a and the inverted logic gate (G 1) 201 are both high level, or the output of the bit line 5 lb and the inverted logic gate (G 2) 202 is When both transistors are at the high level, the connection point between the MOS transistor (T3) 205 and the MOS transistor (T4) 206 becomes a high level, and the MOS transistor (T3) 205 (T 5) 207 is turned on.
  • the MOS transistor (T5) 207 becomes conductive. State.
  • the MOS transistor (T 6) 208 is open when the mask information stored in the mask cell 9 is “0”, and is conductive when the mask information is “1”. It is assumed that the primary match line 17 has been precharged to a high potential in advance. As a result, when a plurality of associative memory cells 50 are connected to the primary match line 17 via the MOS transistor (T6) 208, one associative memory cell 50 is connected. Even if 0 is output as a low level signal, the primary match line 17 is connected to a wire AND connection so that it is at the low level. Become.
  • the associative memory 'cell 50 outputs an invalid state "0" to the primary match line 17 only when both are in the conductive state, and otherwise leaves the primary match line 17 open.
  • the primary match line 17 is set regardless of the comparison result between the search data 3 and the stored data.
  • Fig. 17 shows a configuration example of the secondary associative memory 21.
  • the second-order associative memory 21 is composed of associative memory 'mode 24'-1 to 24 '-111, and the j-th associative memory word 24-j is n associative memories.
  • Associative Memory Word 2 4—j is connected to the corresponding data word line 6 1—j and the secondary search enable signal 11 1 for input, and the corresponding secondary match line 18 1—j is output.
  • And n bit lines 59-1 to 59-n are connected for input and output.
  • the j-th associative memory word 2 4 the k-th associative memory of j 'cell 6 0 — j 1 k has the corresponding data line 6 1-j , And the secondary search enable signal 1 1 are connected for input, the corresponding secondary match line 18 — j is connected for output, and the bit line 59 — k is connected for input and output.
  • the associative memory 'cell 105-j-k is a data cell 23-j-k for storing the corresponding bit information of the second storage data, and the bit line 59- It is provided with a comparator 62-j-k for comparing intermediate data 93 input via k with the bit information stored in the data cell 23-j-k.
  • the secondary match line 18—1 to 18—m is pre-charged to the high level beforehand.
  • the comparator 6 2—j — k is in the state where the secondary search enable signal 1 1 is valid “1”, and the same associative memory 'data in cell 60 — j — k' cell 2 3—j 1 k If the value of the bit line 59-k does not match the second storage data stored in the second, the invalid state "0" is output to the corresponding secondary match line 18-j, otherwise Open the secondary match line 1 8— j.
  • the n comparators 6 2 — j — 1 to 6 2 — j — II in the associative memory '-word 2 4— j All While the secondary match line 18 — j is open, the secondary match line 18 — j is in the valid state “1”, Otherwise, it is in an invalid state "0", and a wired AND logical connection is established in which the valid state "1" of the secondary match line 18 is true. That is, when the secondary search enable signal 11 is in the invalid state "0", the secondary match line 18-j is always in the valid state "1", and the secondary search enable signal 11 is in the valid state.
  • the bit line 5 9 — 1 to 5 9 — n exactly matches the storage data stored in the associative memory word 2 4 — j and the secondary Deadlines 1 8 — j are in the valid state "1", and if they do not completely match, the invalid state is "0".
  • it may be configured using a normal logic gate so as to perform the same operation.
  • the bit line 59 a in the associative memory cell 60 of the secondary associative memory 21 1 , 59b, data-word line 61, and data 'cell 23' are similar to the associative memory 'cell 50 of the primary associative memory 20.
  • the comparator 62 includes a MOS transistor (T 23) 22, a MOS transistor (T 24) 22, a MOS transistor (T 25) 22, and a MOS transistor (T 23). 3 2) 2 3 6
  • the MOS transistor (T23) 225 and the MOS transistor (T24) 226 are inserted in series between the bit lines 59a and 59b.
  • the MOS transistor (T23) 225 is turned on when the output of the inverted logic gate (G21) 221 in the cell 23 is at a high level.
  • the MOS transistor (T 24) 222 is turned on when the output of the inverted logic gate (G 222) 222 in the data cell 23 is at a high level.
  • the MOS transistor (T32) 236 and the M0S transistor (T25) 227 are low with the secondary match line 18 Inserted in series between potentials.
  • the MOS transistor (T32) 236 is turned on when the secondary search enable signal 11 is in the valid state "1".
  • the MOS transistor (T2 5) 2 27 is conductive when the potential at the connection point between the MOS transistor (T2 3) 2 25 and the MOS transistor (T2 4) 2 26 is high. State. Both the output of the bit line 59a and the inversion logic gate (G21) 22 1 are at high level, or the bit line 59b and the inversion logic gate (G22) 22 22 When both outputs are high level, the connection point of the MOS transistor (T23) 22 5 and 1 ⁇ 0S transistor (T24) 2 26 is high level. As a result, the MOS transistor (T 25) 227 is turned on.
  • the MOS transistor (T2 5) 2 27 becomes conductive. It is assumed that the secondary match line 18 is precharged to a high potential in advance. Thus, when a plurality of associative memory cells 60 are connected to the secondary match line 18 via the MOS transistor (T32) 23 36, one associative memory cell Even if the low level is output even with 60, the secondary match line 18 becomes a low-level wired AND connection.
  • the associative memory cell 60 is only connected when the serially connected MOS transistor (T 32) 23 6 is conducting.
  • An invalid state "0" is output to the secondary match line 18; otherwise, the secondary match line 18 is opened. That is, when the secondary search enable signal 11 is in the invalid state "0", the secondary match line 18 is open regardless of the comparison result between the intermediate data 23 and the second stored data.
  • the secondary search enable signal 11 is in the valid state "1"
  • the data is stored in the intermediate data 23 on the bit lines 59a and 59b and the data cell 23.
  • the stored second data matches, the state is set to the open state; otherwise, the invalid state "0" is output.
  • the secondary search enable signal 11 is controlled by the secondary search enable signal 11 1 to control the M 0 S transistor (T 3 2) 2 3 6 so that the secondary search enable signal 11 is in the invalid state “0”.
  • the secondary match line 18 is released in the second state, but the secondary search permission signal 11 is in an invalid state as in the case of the single area search associative memory 36 of the first embodiment.
  • this can be realized by providing a means for setting both the bit lines 59a and 59b to "0" in the case of "0".
  • the single-area search associative memory 4 described above is stored in the transfer destination network in the network device 4001 in FIG. 33 in the same manner as in the description of the operation of the conventional associative memory 101.
  • the operation when used for calculating the network address will be described with reference to FIG.
  • the stored data stored in the associative memory words 7 — 1 to 7 — 3 of the primary associative memory 20 Assume that the mask information stores connection information other than the network address (1. *) of the network device 400-1 in FIG. 33. At this time, the bit in the don't care "*" state in the connection information is represented by setting the corresponding bit of the mask information to the mask valid state "0". The state of the corresponding bit of the stored data is arbitrary, but in this example, the invalid state “0” of the stored data is stored.
  • the net in Fig. 33 is used as the second storage data stored in each of the associative memory words 24-1 to 24-3 of the secondary associative memory 21, the net in Fig. 33 is used. It is assumed that the value in which the bit in the “don't care” state is replaced with the invalid state “0” of the stored data in the connection information of the device 4 0 0 — 1 is stored. ⁇ (01.00.00.00.00) is assigned to word 24-1, and (01.00.0111.00.00) is assigned to associative memory word 244-2. In the associative memory word 24-4-3, (01.1.0.00.00.00) is stored.
  • the value of the primary match line 17-1 is input to the common match line 18-1 from the outside to explain the associative memory 4 for single area search, and the common match is input. It is assumed that the value of the primary match line 1 7-2 is input to the line 18-2, and the value of the primary match line 17-3 is input to the common match line 18-3.
  • the octal representation (3. *. *) Stored in 3 does not match. Therefore, the two primary match lines 17-1 and 17-2 are in the valid state "1", and the remaining primary match lines 17-3 are in the invalid state "0".
  • the value "1" of the primary match line 17-1 is input to the common match line 18-1 from the outside, and the primary match line 1 is input to the common match line 18-8-2.
  • the value “1,” of 7-2 is input, and the value “0” of the primary match line 17-3 is input to the common match line 18-3.
  • the storage data “0” corresponding to the matching data intermediate logical line 5 2-1 in the associative memory word 7-1 and the associative memory word 7- The logical sum result "0" with “1” set to true for the stored data "0" corresponding to the coincident intermediate logical line 5 2-1 in 2 is output.
  • the matching data in the associative memory ⁇ level 7 1 1 the storage data “1” corresponding to the intermediate logical line 5 2 2 2 and the associative memory 'word 7 1 1
  • the logical sum result "1" of "1” for the stored data "1” corresponding to the coincident intermediate logic line 521-1 is output.
  • the secondary associative memory 21 performs a secondary search on the value of the input intermediate data 23, "0 1 0 0 1 1 0 0 0".
  • the second storage data stored in the associative memory word 24-2 completely matches, and the corresponding secondary match line 18-2 is opened.
  • Other associative memories ⁇ Since the second storage data stored in the codes 244-1 and 24-3 do not match, they are invalid for the corresponding secondary match lines 18-1 and 18-3. Outputs status "0". Therefore, only the secondary match line 18-2 keeps the valid state "1" after the secondary search.
  • the associative memory for single area search 4 stores the search data 3 of (2.3.3) in octal notation in the same manner as the associative memory for single area search 36 described in FIG.
  • the secondary match line 1 8 which corresponds to the storage data with the least number of bits in the mask effective state of the mask information among the storage data that match as a result of the comparison considering the corresponding mask information. It can be seen that the valid state "1" is output only to 2.
  • FIG. 20 Using FIG. 20, FIG. 21, FIG. 22, and FIG. 23 as an example, a case where data transfer to data transfer to 1-3 is used will be described with reference to FIG. 5. Each will be described specifically.
  • the 9-bit transmission source address (1.2.6) at the time of data transfer is set as the search data 3-1.
  • the 9-bit destination address (2.3.5) is used as the search data 3-1, the search data 3-1 is assigned the highest priority, and the search data-the evening 3-2 is given the priority Rank 2
  • FIG. 20 FIG. 21, FIG. 22, and FIG.
  • the associative memory 25 is a 9-bit 5-word associative memory for single area search 4 — 1 and 4 — 2
  • Secondary associative memory 2 Assume that the associative memory word 2 4 — 1 — 1 to 2 4 — 5 — 1 corresponding to the transfer rule of 1 is stored as the second storage data. .
  • the 9-bit mask information constituting the 9-bit structured data of the source network address of each transfer rule in Table 1 (b) is stored in the associative memory for single area search.
  • -1 associative memory 2 0-1 associative memory corresponding to the transfer rule of 1 'word 7-1 1-1-7-5-1
  • the 9-bit stored data constituting the 9-bit structured data of the destination network 'address of each transfer rule in Table 1 (b) is stored in the associative memory for single area search 412.
  • Primary associative memory 2 0 associative memory word corresponding to 2 transfer rules 7 — 1 — 2 to 7 — 5 — Stored as storage memory for 2 and secondary associative memory Assume that the associative memory word 2 4 — 1 — 2 to 2 4 — 5 — 2 corresponding to the transfer rule of 2 1 — 2 is stored as the second memory.
  • the 9-bit mask information constituting the 9-bit structured data of the destination network address of each transfer rule in Table 1 (b) is associated with a single area search Primary associative memory of memory 4—2, associative memory corresponding to the transfer rule of 0—2, ⁇ —do 7—1—2 to 7—5—2, stored as a mask
  • the 9-bit stored data and 9-bit mask information that make up the 9-bit structured data of the destination network address of each transfer rule in Table 1 (b) The associative memory for the single area search associative memory 3 6 — 2 corresponding to the transfer rule ⁇ Word 4 4 — 1 — 2 to 4 4 — 5 — 2 Shall be stored.
  • All primary match lines 1 7 — 1 1 1 to 1 7-m_ r and all secondary match lines 1 8 — 1 1 1 to: L 8 — m— r are valid beforehand. Pre-charged.
  • FIG. 20 shows an example in which the associative memory 1 is transferred from the PC 410-1 having the network address (1.2.6) in FIG. 33 to the network address (2).
  • FIG. 6 is a diagram for explaining an operation state in step S100 of FIG. 5 when the data is used to determine whether or not data can be transferred to a PC 410-3 having PC 3.5. .
  • the primary associative memory 2 0—1 releases all primary match lines 1 7—1—1 to 1 7—5—1 As a result, all the primary match lines 1 7-1-1 to 1 7 1 5-1 as the result retain the valid state "1". Since the secondary search enable signal 1 1 — 1 is in the invalid state “0”, the secondary associative memory 2 1 — 1 releases all secondary match lines 1 8 — 1 1 1 to; L 8 — 5 — 1 State, and as a result, all secondary match lines 1 8 — 1-1 to 18 — 5-1 maintain the valid state “1”.
  • the primary associative memory 2 0—2 releases all primary match lines 1 7—1—2 to 1 7—5—2 As a result, all the primary match lines 1 7 — 1 — 2 to 1 7 — 5 — 2 hold the valid state “1”. Since the secondary search enable signal 1 1 and 1 2 are in the invalid state "0", the secondary associative memory 2 1 — 2 releases all secondary match lines 1 8 — 1 — 2 to 1 8 — 5 — 2 As a result, all secondary match lines 1 8 — 1 1 1 to 1 8 — 5 — 1 maintain the valid state “1”. Therefore, the coincidence signals 5-1 to 5-5 output from the AND means 15-1 to 15-5 all become the valid state "1".
  • the common match lines 3 8 1 1 to 3 8 — 5 which are the outputs of the storage means 4 3 -1 ⁇ to 4 3 -5 are initialized to the valid state “1” by the storage control signal 12. I have. Therefore, AND signals 4 0 — 1 to 4 0 — 5 are all "1" Obviously, the intermediate data 93-1 is the result of the logical sum operation of all storage data stored in the associative memory 'mode 4 4-1-1 to 4 4-1-1 5 " 0 0 1. 0 1 0 1 1 0 ".
  • the intermediate data 9 3 — 2 is the logical OR operation result of all the stored data stored in the associative memory ⁇ ⁇ 4 4 2 — 1 to 4 4-2 15.
  • FIG. 21 shows a case where the associative memory 25 is transferred from the PC 401-1 having the network address (1.2.6) in FIG. 33 to the network address.
  • FIG. 9 is a diagram for explaining an operation state in step S101 when the data transfer to the PC 401-3 having (2.3.5) is used to determine whether transfer is possible or not; .
  • the primary associative memory 20-2 of the primary search enable signal 1 0-2 is in the valid state "1". Overnight 3 — 2 value "0 1 0. 0 1 1. 0 1, and the associative memory mode 7 — 1 — 2 to 7 — 5 — 2 Is compared with the corresponding mask information, and the primary match lines 1 7 — 1 1 2, 1 7 — 3 — 2, and 1 7 — 5 — 2 are valid. , And the primary match lines 1 7-2-2 and 1 7-4-2 are invalid "0" Becomes
  • the secondary associative memory 2 1 — 1 Since the secondary search enable signal 1 1 1 1 is in the invalid state "0", the secondary associative memory 2 1 — 1 is connected to all secondary match lines 1 8 — 1 — 1 to 1 8 — 5 — 1 All the secondary match lines 1 8 — 1 — 1 to 1 8 — 5 _ 1 remain in the valid state “1”. Since the secondary search enable signal 1 1 1 2 is in the invalid state "0", the secondary associative memory 2 1 — 2 releases all secondary match lines 1 8 — 1 — 2 to 1 8 — 5 — 2 As a result, all secondary match lines 1 8 — 1 — 2 to 1 8 — 5 — 2 maintain the valid state “1”. Therefore, the coincidence signals 5-1 to 5-5 output from the AND means 15-1 to 15-5 are all in the valid state "1".
  • the storage means 4 3 — 1 to 4 3 — 5 outputs the value “1” initialized in step S 100 to the common match line 3 8 — 1 to 3 8 — 5, the logical product signal 4 0 — 1, 40 — 3, and 40 — 5 become “1”, and the AND signals 40 — 2, and 40 — 4 become “0”.
  • 93-1 is the result of the logical sum operation of all the stored data stored in the associative memory, word 4 4 — 1 — 1 to 4 4 — 1 — 5. 0 0 1 .0 1 0 .1 1 1 1 1 1 ".
  • the intermediate data 93-3-2 is the result of the logical OR operation of all the stored data stored in the associative memory word 44-2-2 to 1-44-2-5. 0 1 1 .1 0 1 ".
  • the values of the AND signals 40-1 to 40-5 are stored in the storage means 43-1 to 43-5 when the next step is performed by the storage control signal 12.
  • FIG. 22 shows an example in which the associative memory 2-5 is transferred from the PC 401-1 having the network address (1.2.6) in FIG. 33 to the network address. (1.3.5) to PC 4 0 1-3
  • FIG. 7 is a diagram for explaining an operation state in step S102 when used for determining whether or not transfer is possible in all cases.
  • the storage means 4 3 — 1 to 4 3 — 5 output the value stored in step S 101, the common match lines 38 — 1, 38 — 3, and 38 — 5 are “ 1 ", and the common match lines 38-8 and 38-4 become” 0 ". Therefore, the value of the intermediate data 9 3 1 1 of the associative memory 4-1 for single area search is stored in the associative memory ⁇ words 7-1-1, 7-3-1, and 7-5-1 The result of the logical sum operation of the stored data is "0 0 1 .0 1 1 .0 0 0 0". Also, the value of the intermediate data 9 3 — 2 of the associative memory for single area search 4 — 2 is as follows: The logical sum operation result of the stored data is "0 1 0. 0 1 1 1 0 1".
  • the valid state “1” is input to the secondary search enable signal 1 1 — 1 and the secondary associative memory 2 1 — 1 Is the value of the intermediate data 9 3 — 1 “0 0. 1 0 1. 0 0 0” and the second stored in the associative memory.
  • Word 2 4 — 1 — 1 to 2 4 — 5 — 1 The secondary match lines 1 8 — 1 — 1 and 1 8 — 3 — 1 are in the valid state “1” as a result, and the secondary match lines 1 8 — 2 — 1, 1 8—4—1 and 1 8—5—1 are in the invalid state “0”.
  • the primary associative memory 2 0 — 1 of the single area search associative memory 4 — 1 has all the primary match lines 1 7 because the primary search enable signal 1 0 — 1 is in the invalid state “0”. — 1 1 1 to 1 7 — 5 — 1 is in the released state, and as a result, all primary match lines 1 7 — 1 1 1 to 1 7— 5 — 1 are in the valid state “1” I do. -The primary associative memory 2 0 — 2 of the single area search associative memory 4 — 2 has all 1s because the primary search enable signal 1 0 — 2 is in the invalid state “0”.
  • the state of the AND signal 4 0 — 1 to 4 0 — .5 is stored in the storage means 4 3 _ 1 to 4 3 — 5 at the time of moving to the next step by the storage control signal 12, [Steve 3 1 0 3 to 3 1 0 5]
  • FIG. 23 shows that the associative memory 25 is transferred from the PC 401-1 having the network address (1.2.6) in FIG. 33 to the network address (2.3).
  • FIG. 5 is a diagram for explaining an operation state in step S105 when the method is used for judging whether or not data can be transferred to a PC 401-3 having .5). Since the storage means 4 3 — 1 to 4 3 — 5 output the value stored in step S 102, the common match lines 38 — 1 and 38 — 3 become “1”. Therefore, the common match lines 38-8, 38-8, and 38-8 become "0". For this reason, the value of the intermediate data 93-1 of the associative memory for single area search 4-1 is determined by the logic of the stored data stored in the associative memory words 7-1-1 and 7-3-1.
  • the result of the sum operation is "001".
  • the value of the intermediate data 9 3 — 2 in the associative memory for single area search 4 1 to 2 is the stored data stored in the associative memory word 7 — 1 — 2 and 7 — 3 — 2
  • the result of the OR operation is “0 1 0. 0 1 1.
  • the associative memory for single area search having a priority of 1 is the primary associative memory 2 0 — 1 of 1—1 because the primary search enable signal 1 0 — 1 is in the invalid state “0”.
  • Primary match line 1 7 — 1 —:! 1 1 7 — 5 — 1 is in the released state, and as a result, all primary match lines 1 7 — 1 — 1 to 1 7 — 5 — 1 hold the valid state “1”.
  • the secondary associative memory 2 1 — 1 of the single area search associative memory 4 — 1 has all secondary match lines 1 8 — 1 because the secondary search enable signal 1 1 — 1 is in the invalid state “0”.
  • — 1 to 1 8 — 5 — 1 is released, and as a result, all secondary match lines 1 8 — 1 1 1 to 1 8-5-1 hold the valid state “1”.
  • the effective state "1" is input to the secondary search enable signal 1 1 to 2 in the primary associative memory 2 0—2 of 2 1
  • the associative memory 2 1-2 is the value of the intermediate data 9 3-2 "0 1 0. 0 1 1. 0 0 0, and the associative memory 'word 2 4-1-2 to 2 4-5-2
  • the second match line 1 8 — 3 — 2 is compared with the second memory data stored in the second memory, and as a result, the valid state is “1” and the second match line 1 8—1—2, 1 8—2—2, 1 8—4—2, and 1 8 — 5 — 2 becomes invalid state “0”.
  • the primary associative memory 2 0 — 2 of the single area search associative memory 4 — 2 has all the primary match lines 1 7 because the primary search enable signal 10 — 2 is in the invalid state “0”. — 1 — 2 to 1 7— 5 — 2 is released, and as a result, all primary match lines 1 7—1 1 2 to 1 7-5-2 are kept in the valid state “1” I do.
  • the number r of the associative memories for single area search 36 is compared with r.
  • the value p of the internal variable 28 and the number r of the associative memories 4 for single area search included in the associative memory 25 are both 2, and the search result ends.
  • the match signals 5-1 to 5-5 only the match signal 5 to 3 outputs the valid state "1". This is obtained as the final search result. Become.
  • step S105 a secondary search is further performed from the words that matched when the secondary search was performed in step S102.
  • the value of the intermediate data 93-1 at step S105 shown in Fig. 22 and the value of the intermediate data 93-1 at step S102 shown in Fig. 22 are, of course, the same. is there. Therefore, in step S105 of the flowchart of FIG. 5, when the value of the internal variable 28 is p, the valid state is output to the secondary search signal 111-1-1p. It can be seen that the same result can be obtained.
  • the logical product means 15-1 to 15-m are deleted, and the shared common match line 3 8-:! ⁇ 3 8 — m, logical product means 4 0-;! ⁇ 4 0-m and storage means-4 3-1 to 4 3-m, each secondary associative memory 2 1-; ⁇ 2 1 — r Common match line dedicated to each 3 8 — 1 — ⁇ ⁇
  • m logical product means corresponding to the secondary associative memory 2 1 ⁇ 1 1 are effective in place of the coincidence signal 5 ⁇ 1 to 5 ⁇ m for 1 3 — 1—1 to 1 3—m—1.
  • the state is input, and r logical product means 1 3— 1— 2 to 13—m—2 corresponding to the secondary associative memory 2 1—2 are replaced with the coincidence signal 5—1 to 5—m.
  • For 3—m—r input the secondary match line 1 8—1— (r-1) to 18-m— (r-1) instead of the match signal 5—1 to 5—m.
  • the secondary associative memory 2 1— 1 to 2 1— r can be operated independently.
  • the primary search permission signal 10 0-1 to; 10-r and the secondary search permission signal 11 1 1 to 11-r can all be in the valid state, and the pipeline operation. It goes without saying that the valid state may be output only to the portion that should be operated according to the frequency. Also, the above storage means 4 3 1 1 1 1 to 4 3—m—r are deleted, and the primary search permission signal 10—1—1 0—r Secondary search permission signal 1 1—1 1—1 1—r If all the valid states are output, all operations are completed in one clock. Also, as described above, the operating frequency of the pipeline is increased by inserting a latch for storing the intermediate data 93-1 to 93-: r. It is easy to see that it is possible.
  • FIG. 24 is a block diagram showing a configuration example of the m-word associative memory 35 according to the fourth embodiment of the present invention.
  • the associative memory 35 of the fourth embodiment shown in FIG. 24 is composed of r pieces of associative memories for single area search 30-1-30-primary associative memory 31-r which constitutes r. 1 to 3 1 — r It's j-th associative memory ⁇ Word 3 2 1 j — l to 3 2 — j —
  • the output signal of the comparison result of r is a single primary match line 1 7 — j And AND logic connection, and primary match line
  • the state held dynamically in 1 7 — j is used to generate intermediate data 9 3 — 1 to 9 3 — r.
  • the primary match line 17-1j is precharged to the valid state "1" only when the start signal 42 is in the valid state.
  • the second-order associative memory 2 1 — 1 to 2 1 — r that forms the single-area search associative memory 2 6 — 1 to 2 6 — r Word 2 4 — j 1 1 to 2 4 — j-r Output signal of comparison result
  • the logical product means 15—j in the associative memory 25 of the third embodiment shown in FIG. 14 is different from that of the associative memory 35 of the fourth embodiment shown in FIG. This is realized by a secondary match line 18—j, which is connected with a wired AND logic.
  • the state of the secondary match line 18-j is directly output to the outside as a match signal 5-j.
  • the j-th primary match line 17—j of the associative memory 35 shown in FIG. 24 is set to a valid state “1” when the start signal 42 is in a valid state.
  • r associative memories for single-area search 3 0—1 to 30 r Primary associative memories 3 1—1 to 3 1—constituting r r each j-th associative memory.
  • the associative memory 35 shown in Fig. 4 consists of a primary match line 17j connected to a wired AND logic and a MOS transistor 33-j.
  • the configuration of the associative memory 25 of the third embodiment is exactly the same as that shown in Fig. 14. It is apparent that the same search operation can be performed on an input data composed of a plurality of search data. is there.
  • the number of associative memories for r single area search 30-0 to 30-r is m primary matching lines. This is a total (2 m) of 1 7 — 1 to 17 — m and m secondary matching lines 18 — 1 to 18 1 m.
  • the number of wirings between r single-area search associative memories 411 to 4-1r is mxr primary match lines 1 7—1—1 to 1 7 _m—r, mx r secondary match lines 1 8—1—1 to 18—m— and m shared match lines 3 8—1 to 38—m (Mx (2 ⁇ r + 1)), and it can be seen that the number of wires is significantly reduced in the associative memory 35 of the fourth embodiment.
  • the wiring between the r single-region search associative memories 30-1 through 30-0-r is routed over the entire area of the associative memory 35, so that the wiring capacity becomes large, and the wiring is maintained. The power consumed every time a state transitions is very large. Therefore, in the associative memory 35 of the fourth embodiment, as compared with the associative memory 25 of the third embodiment, the wiring area is greatly reduced and the chip area is reduced, and at the same time, the power consumption is reduced. Is greatly reduced.
  • FIG. 25 shows a block diagram of a configuration example of the primary associative memory in the associative memory according to the fourth embodiment.
  • the configuration of the primary associative memory 31 shown in FIG. 25 is different from the primary associative memory 20 of the third embodiment shown in FIG.
  • the common coincidence line 3 8—j has been deleted from j, and the j-th associative memory 'word 3 2 —j n associative memory cells 80-j-1 to 80 -j — Logical gate in n 5 6-j-1 to 5 6— j — except that the input of n was changed from the common match line 3 8 — j to the primary match line 1 7 — j
  • the primary coincidence line 17—j which is an output signal, is connected to n logic gates 56—j—1 to 56—j—n. Since they are generated by AND logic connection, the common match line 38-j can be shared with the primary match line 17-j even in the primary associative memory 31. It is.
  • the primary match lines 17—1 to 17—m are generated using normal logic gates instead of wired AND logic connections, the same configuration as in FIG. Even in a primary associative memory in which the primary match line 1 7—1 to 17—m is output from a logic gate, the primary match line 17—j is used as the logic gate that outputs the primary match line 17—j.
  • the association of the fourth embodiment is achieved. It goes without saying that it can be used as the primary associative memory 31 of the memory 35.
  • FIG. 26 is a block diagram showing a configuration example of the associative memory according to the fifth embodiment of the present invention.
  • the search data 48 is added as a component of the search data 47, and the search data 48 is input and m match lines 90-1 to 90-m are output.
  • Associative memory 4 9 has been added.
  • Fig. 1 except that the logical matching means 9 1-1 to 9 1 and the corresponding match line 90-1 to 90-m as an input signal of 1 m are added.
  • the structure is exactly the same as that of the associative memory 25 shown in FIG.
  • the associative memory 46 in FIG. 26 can perform the same search operation as that of the associative memory 25 on a plurality of pieces of search data 3 — 1 to 3 — r. It has a function to narrow down search results in advance using data 48. This makes it possible to switch and use a plurality of tables of the transfer rules described in Table 1 (b).
  • the transfer rule of Table 1 (b) is stored in a specific word of the associative memory for searching a single area 4 1 1 to 4 — r, and the storage data of the corresponding word in the associative memory 49 and And store the data that represent "weekdays".
  • a transfer rule that allows the other memory of the associative memory for single area search 4-1 to 4-r to only allow transfer from a specific PC to a specific PC and reject all other transfers is specified. If the stored data is stored and the data representing the "holiday" is stored as the stored data of the corresponding word in the associative memory 49, the transfer rule is changed according to the search data 48. In other words, the transfer rule can be set more flexibly than the associative memory 25 shown in FIG.
  • FIG. 27 is a block diagram illustrating a configuration example of the network device of the present invention.
  • FIG. 27 shows a network machine according to the present invention.
  • the device 450 is applied to the network device 400-1 of FIG. 33 in the same way as the description of the conventional network device 4222 shown in FIG.
  • the configuration and operation will be described.
  • the network device 450 in FIG. 27 is the same as the conventional network device shown in FIG.
  • the input transfer data 402 is input and the output transfer data 403 is output.
  • the input transfer data 402 is composed of a source network address 404, a destination network address 405, and a destination network 'address 4'. It has 0 6 and 4 7
  • the output transfer data 403 includes a source network address 404, a second destination network 'address 408, and a destination network address 4 06 and a data section 407.
  • network device 450 is described as an example applied to network device 400-1 in FIG. 33, so input transfer data transfer 402
  • the destination network's address 405 is the network of the network device 400-1 shown in Fig. 33. ⁇
  • the address is the address.
  • a network device 450 of the present invention shown in FIG. 27 includes a source network address extraction unit 409 and a destination network address extraction unit 4. 10, the associative memory 101, the encoder 414, the memory 416, the destination network / address change unit 418, and the data transfer unit 421, It comprises an associative memory 1 of the invention, an encoder 451, and a memory 453.
  • the transmission source network address information 4 11 and the destination network address information 4 1 2 Is input, a transfer enable / disable judgment calculation is performed, and the calculation result is used as a transfer control signal 420.
  • the CPU 413 having the function of outputting is controlled by the associative memory 1, the encoder 451, and the memory 453.
  • the configuration is different.
  • the other components, the source network, the address extractor 409, the destination network-address extractor 410, the associative memory 101, and the encoder 4 14 and the memory 4 16 are the same as the conventional network device described in FIG. 34, and are applied to the network device 400-1 in FIG. 33.
  • the information to be set in this case is the same as in Fig. 34. Therefore, only the parts different from the conventional network equipment 422 will be described.
  • the associative memory 1 shown in Fig. 27 is composed of associative memories 36-1 and 36-2 for searching a single area of 5 words of 9 bits.
  • the source network address information 411 output from the source network address extraction unit 409 is detected in the associative memory for searching a single area 36 1.
  • the search network 3-1 is input as the destination network address extraction unit 4 10, and the destination network output address information 4 1 2 is output as a single area search. It is entered in the associative memory 3 6 — 2 as search data 3 — 2.
  • the priority of search data 3-1 is set to the highest priority 1
  • the priority of search data 3-2 is set to 2.
  • the 9-bit storage data constituting the 9-bit structured data of the transmission source network address of each transfer rule is stored as 9-bit mask information.
  • the associative memory for the single-area search 36-1 associative memory word corresponding to the transfer rule of 4 4-1-1 to 4 4-5-1 Shall be stored.
  • the destination network of each transfer rule in Table 1 (b) the 9-bit storage data and the 9-bit data that make up the 9-bit structured data of the address
  • the mask information of the unit is stored in the associative memory words 441-1-2 to 44-5-2, which correspond to the transfer rules of the associative memory for single area search 36-2, respectively. It is assumed that it is stored as mask information. It is also assumed that a start signal and a clock signal are supplied to the associative memory 1 by a control circuit (not shown).
  • the match signals 5-1 to 515 output from the associative memory 1 as a search result are encoded by the encoder 451 into a memory address signal 451.
  • the memory 453 stores information indicating the transfer permission “1” or the transfer rejection “0” in Table 1 (b), and the associative memory 1 stores the transfer rule in Table 1 (b), and stores the mask. It is assumed that the information is stored in the word of the same address as that of the associative memory word in which the information is stored. For example, associative memory word 44-11-1 of associative memory 1 and associative memory 'word 44-1-1-2 store information corresponding to transfer rule 1, which corresponds to this. The information indicating the transfer permission "1" to be transferred is stored in the memory 1 of the memory 453 at the first level.
  • the memory 453 outputs the storage data designated by the memory address signal 452 as a read address to the data transfer section 421 as a transfer control signal 420.
  • the data transfer section 4 21 outputs the modified transfer data 4 19 as the output transfer data 4 3 if the transfer control signal 4 2 0 permits the transfer, and the transfer control signal 4 2 0 Does not output if refuses to forward.
  • the transmission source network As the address 404, the PC shown in FIG. It has a network 41'-1 network 'address (1.2.6) and a destination network.
  • the PC 41-3 As the address 410, the PC 41-3 shown in Fig. 33 The operation when the input transfer data 402 having the “network” address (2.3.5) is input will be described.
  • the match line 1 0 5 1 2 corresponding to (2.3. *) Stored in the word associative memory 1 0 2-2 outputs a valid state.
  • the encoder 4 14 outputs “2,” as the memory address 4 15 and the memory 4 16 outputs the network device 4 0 6
  • the work address is output as a memory data signal 417.
  • the transfer destination network The transfer destination address of the input transfer data 402 is changed by the address change unit 418.
  • the network address 405 is changed to the network * address of the network device 400-6, and the transfer data is changed to the data transfer section 4 2 1 4 1 Enter as 9.
  • (1.2.6) is input to the associative memory 1 as the search data 3-1 from the transmission source network / address extraction unit 409, and the destination network (2.3.5) is input as the search data 3-2 from the network / address extraction unit 410.
  • the transfer rules stored in the search data 3-1, 3, 12 and the associative memory for single area search 36, 1, 36, 2 are the associative memory of the first embodiment. This is the same as in the description of the operation. Therefore, match signal 5-3 will output a valid state, and the other match lines 5-1, 5-2, 5-4, and 5-5 will output an invalid state.
  • the encoder 45 1 outputs “3” as the memory address 452, and the memory 45 3 transfers the information “0” indicating the transfer rejection of the transfer rule 3 It is output to the data transfer section 4 21 as a control signal 4 220. Therefore, the data transfer section 4 2 1 Evening 419 is not output as output transfer data 403. From PC 401-1-3 with network address (1.2.6) to PC 401-1-3 with network address (2.3.5) Since the data transfer must be rejected according to the transfer rule 3, it can be seen that the network device 450 of the present invention has correctly performed the transfer enable / disable determination operation.
  • the memory address signal 452 is generated by the encoder 451, but the coincidence signals 5-1 to 5-5 are directly input as the word lines of the memory 453. It goes without saying that the encoder 4 5 1 can be deleted by setting.
  • a network device that executes the transfer enable / disable determination operation using the associative memory of the present invention can execute the transfer enable / disable determination operation in three clocks. Therefore, as compared with the conventional network device shown in FIG. 34, which requires several hundred clocks to perform the transfer enable / disable determination operation by the software processing of the CPU like the conventional network device. Computer Network ⁇ System data transfer speed can be greatly increased. O
  • the transfer rules can be deleted, added, or changed simply by modifying the data stored in the associative memory of the present invention, so that the transfer rules can be executed in the time required for ordinary memory access. Therefore, with the network device of the present invention, it is possible to delete, add, or change a transfer rule without interrupting the transfer operation.
  • the associative memory of the present invention when a search is performed on input data composed of a plurality of search areas in consideration of mask information, all stored data corresponding to the input data match.
  • the number of mask enabled bits in the mask information that constitutes structured data for each search area in consideration of the priority order As a result of the comparison, the signal for identifying the word with the minimum value can be output to the outside at a high speed with a clock number equal to or less than the number of search areas plus one.
  • it can be realized with an increase in the circuit size by several percent compared to the conventional associative memory.
  • the associative memory of the present invention has no restrictions on the order of words for storing structured data and the location of words to be stored, and adds and deletes structured data only in the time required for normal memory access. This has the effect of making corrections. This also has the effect of simplifying software processing for managing structured data in associative memory.
  • the network device incorporating the associative memory of the present invention can perform the transfer enable / disable determination operation at a speed several hundred times or more higher than before.
  • the transfer permission / non-permission determination operation is performed by using software processing using a binary tree search algorithm, etc., with several hundred clocks. This is because the memory can perform the transfer enable / disable operation in three clocks.
  • -Also in a network device incorporating the associative memory of the present invention, it is possible to delete, add, or change a transfer rule without interrupting the transfer operation. It has the advantage of being able to.
  • the transfer rule can be deleted, added, or changed in the time required for normal memory access. This eliminates the need to create a huge search table when deleting, adding, or changing transfer rules in network devices that used to perform transfer enable / disable calculations in conventional software processing. This also has the advantage of reducing network downtime and simplifying operation management. In addition, it has the advantage that the security of the whole network is improved because the new transfer rules are quickly reflected.
  • a network device incorporating the associative memory of the present invention has an advantage in that the total cost of a network device capable of executing transfer determination at high speed can be reduced. As described above, by mounting the associative memory of the present invention capable of calculating the transfer permission / prohibition at high speed, it is not necessary to mount an expensive high-speed CPU system.
  • a network system that can ensure security, can transfer data at high speed, and is easy to operate and manage can be provided. It has the advantage that it can be constructed.

Description

明 細 書 連想メモリ とその検索方法およびネ ヅ ト ワーク機器およびネ ッ ト ワーク · システム 技術分野
本発明は、 連想メモリおよびその検索方法およびネ ヅ ト ワーク機 器およびネ ヅ ト ワーク · システムに関する。 特に検索マスク機能を 有する連想メモリ とその検索方法およびそれを用いたネ ヅ ト ワーク 機器およびネ ヅ トワーク · システムに関する。 背景技術
従来のコ ン ピュータ · ネ ヅ ト ワーク · システムに用いられるネ ヅ ト ワーク機器には、 コ ンピュータ · ネ ヅ ト ワーク · システムの安全 性を確保するために、 次に示すよう に転送可否を計算する機能が不 可欠である。
従来のコ ンピュータ . ネ ヅ ト ワークの構成の接続例を図 3 3 に示 す。 ネ ッ ト ワークに参加しているユーザ機器 (例えばコ ン ピュータ 端末など) は、 他のユーザ機器と識別するために、 その機器がネ ッ ト ワークに参加する ときに、 あ らかじめ決められた規則に従って特 定の ネ ヅ ト ワーク · ア ドレスを割 り 当て られる。 ここではネ ッ ト ヮ —ク ' ア ド レスは複数桁の数値、 例えば 3桁の数値 ( a . b . c ) で表現されるものと して説明する。 また、 あ らかじめ決められた規 則は、 例えばネ ヅ ト ワーク · · ア ド レスの先頭の数値でイ ギリス、 ド ィ ヅ、 日本などの国を示し、 第 2番目の数値で国の中の都市名を示 し、 更に第 3番目の数値で都市の中の企業名を示す、 という よう に 階層構造をとつている。 以降、 この階層をセグメ ン ト と呼ぶこ とと する。 図 3 3 においては、 セグメ ン トの階層構造を模擬的に示した ものである。 図において太線で囲まれた 1つの矩形が 1 つのセグメ ン ト である。 図 3 3では、 ネ ヅ ト ワーク · ア ド レスの先頭の数値が 1であるセグメ ン ト 1 と、 先頭の数値が 2であるセグメ ン ト 2 と、 先頭の数値が 3であるセグメ ン ト 3が、 最上位のセグメ ン ト と して 存在している。 セグメ ン ト 1 の下の階層に、 上位 2つの数値が 1 . 2であるネ ヅ ト ワーク · ア ド レス を持つセグメ ン ト 4 と、 上位 2つ の数値が 1 . 3であるネ ッ ト ワーク ■ ア ド レスを持つセグメ ン ト 5 とがあ り、 セグメ ン ト 4の中にネ ッ ト ワーク · ア ド レス ; L . 2 . 6 を持つユーザ機器 P C 4 0 1 — 1 が接続されている。 セグメ ン ト 2 の下の階層に、 上位 2つの数値が 2 . 3であるネ ッ ト ワーク ' ア ド レス を持つセ グメ ン ト 6があ り 、 セグメ ン ト 6の中にネ ヅ ト ヮー ク ' ア ド レス 2 . 3 . 4を持つュ一ザ機器 P C 4 0 1 — 2 とネ ッ ト ヮ一ク ' ア ド レス 2 . 3 . 5を持つュ一ザ機器 P C 4 0 1 — 3 とが 接続されている。 また、 セグメ ン ト 3 の下の階層に、 上位 2つの数 値が 3 . 5であるネ ヅ ト ワーク · ア ド レスを持つセグメ ン ト 7 があ る。 図に例示されているア ドレスにおいて、 *は ドン ト · ケアを意 味する。
これら各ネ ヅ ト ヮ一ク · ア ド レスは、 その各桁を 8進数で表現し た全体で 9 ビ ヅ 卜のビッ ト列で表現されるものと仮定する。 例えば、 ネ ヅ ト ワーク · ア ド レス ( 1 . 2 . * ) はビ ヅ ト列 ( 0 0 1 . 0 1 0 . 0 0 0 ) で表現される。 以降、 この表現のビッ ト列を記憶デー 夕 と呼ぶ。 ここで、 ネ ヅ ドワーク . ア ド レスの中の *は ドン ト . ケ ァであるので、 対応する記憶データ ( 0 0 1 . 0 1 0 . 0 0 0 ) の ビッ ト列の上位 6 ビ ヅ トが有効であ り、 それ以下のビ ヅ トは無効で ある こ とを示す必要がある。 そこで、 マスク情報と呼ばれる情報を 記憶デ一夕 と対に して記憶させている。 以降、 この対を構造化デ一 夕 と呼ぶ。 前記の例では、 ビ ヅ ト列 ( 1 1 1 . 1 1 1 . 0 0 0 ) で 表現される。 ここで、 " 1 "がマスク無効状態を、 " 0 "がマスク有効状 態を示している。
各セグメ ン トは、 ネ ッ ト ワークに参加しているユーザ機器間の通 信データを転送するためにネ ヅ ト ワーク機器、 例えばルータを、 有 している。 図 3 3 の接続例では、 セグメ ン ト 1 はネ ヅ ト ワーク機器 4 0 0 — 1 を、 セグメ ン ト 2 はネ ヅ ト ワーク機器 4 0 0 — 2 を、 セ グメ ン ト 3 はネ ヅ ト ワーク機器 4 0 0 — 3 を、 セグメ ン ト 4はネ ヅ ト ワーク機器 4 0 0 — 4 を、 セグメ ン ト 5 はネ ヅ ト ワーク機器 4 0 0 — 5 を、 セグメ ン ト 6 はネ ヅ ト ワーク機器 4 0 0 — 6 を、 セグメ ン ト 7 はネ ヅ ト ワーク機器 4 0 0 — 7 を、 それそれ有している。 ま た、 図 3 3 の接続例では、 各ネ ヅ ト ワーク機器はそのセグメ ン ト直 下のネ ヅ ト ワーク機器またはユーザ機器と接続されている。 さ らに、 ネ ヅ ト ヮ一ク機器 4 0 0 — 1 は、 ネ ヅ ト ワーク機器 4 0 0 — 2、 ネ ヅ ト ワーク機器 4 0 0 — 3 , およびネ ヅ ト ヮ 一ク機器 4 0 0 - 6 と も接続している。
各セ グメ ン トが有するネ ヅ ト ワーク機器は、 そのネ ヅ ト ワーク機 器に接続されているユーザ機器または他のネ ッ ト ワーク機器か ら入 力された通信データに対して、 通信データに付随する送出元ネ ッ ト ワーク · ア ド レス と宛先ネ ヅ ト ワーク · ア ド レスおよびあ らか じめ 設定されている転送規則を基に転送の可否を計算する機能と、 前記 宛先ア ド レス とネ ッ ト ヮ一 -ク機器の接続関係を基に最適な転送ルー トを計算し、転送先ネ ツ ト ワーク · ア ド レスを生成する機能を有し、 通信デ一夕の転送を制御する。 ここで図 3 3 において宛先ネ ヅ ト ヮ一ク · ァ ド レスが P C 4 0 1 一 2 に対応する ( 2 . 3 . 4 ) である通信.デー夕 を、 ネ ヅ 卜 ワーク 機器 4 0 0 — 1が転送する場合、 図から明らかに分かる よう に、 ネ ヅ ト ワーク . ア ド レス ( 2 . * . * ) に対応するネ ッ ト ヮ一ク機器
4 0 0 — 2 に転送するよ り も、 ネ ッ ト ワーク ' ア ド レス ( 2 . 3 . * ) に対応するネ ヅ ト ワーク機器 4 0 0 — 6 に転送する方が、 最適 である。 つま り、 宛先ネ ヅ ト ワーク ' ア ド レス とマスク情報を考慮 して一致するネ ッ ト ワーク · ア ド レスに対応するネ ッ ト ワーク機器 の中で、 そのネ ヅ ト ワーク ' ア ド レスにおいてマスク有効状態のビ ヅ ト数が最も少ないマスク情報を持つ、 ネ ッ ト ワーク機器を選ぶの が最適である。
また本例で説明する、 コ ン ピュータ · ネ ッ ト ワークの転送規則の 設定例を表 1 ( a) に示す。 表 1 ( a ) 転送規則 1 セグメント 4内部から、 セグメント 2内部への、 転送を許可 転送規則 2 セグメント"!内部から、 - セグメント 3内部への、 転送を許可 転送規則 3 セグメント 4内部から、 セグメント 6内部への、 転送を拒絶 転送規則 4 セグメント 4内部の PC401一 1から,セグメント 6内部の PC401 - -2への、転送を許可 転送規則 5 セグメント"!内部から, セグメント 6内部の PC401 - - 3への、転送を拒絶
表 1 ( b )
Figure imgf000007_0001
規則 1 と してセグメ ン ト 4内部からセグメ ン ト 2 内部への転送を 許可する。 規則 2 と してセグメ ン ト 1 内部からセグメ ン ト 3 内部へ の転送を許可する。 規則 3 と してセグメ ン ト 4内部からセグメ ン ト 6内部への転送を拒絶する。 規則 4 と してセグメ ン ト 4内部の!3 C 4 0 1 — 1か らセグメ ン ト 6 内部の P C 4 0 1 - 2への転送を許可 する。 規則 5 と してセグメ ン ト 1 内部からセグメ ン ト 6 内部の P C 4 0 1 — 3への転送を拒絶する。 送出先ネ ヅ ト ワーク ' ア ド レスと 宛先ネヅ ト ワーク · ア ド レスをそれぞれ記憶データ とマスク情報の 組で表現した場合、 表 1 ( a ) の転送規則は、 表 1 ( b ) のように 記述できる。 これらの転送規則は、 コ ン ピュータ ' ネ ッ ト ワーク ' システムの安全性を確保するために必要である。 表 1 ( a ) の転送 規則の場合、 セグメ ン ト 4 からセグメ ン ト 6 への転送は、 P C 4 0 1 — 1 から : P C 4 0 1 — 2 への転送のみを許可し、 他はすべて拒絶 する ことによ り、 例えば P C 4 0 1 — 3 に格納されている重要なデ —夕を不正な閲覧、 複写、 改竄、 消去などから守ることができる。 このよ う に、 各ユーザ機器同士を直接通信回線で接続するのでは な く ネ ッ ト ワーク機器によ り通信データの転送を制御して通信を行 う こ とによ り、 有限の通信回線を、 安全性を確保しながら効率よ く 使用している。
次に図面を参照 して、 従来のネ ッ ト ワーク機器の説明を行う。 図 3 4 は従来のネ ヅ ト ワーク機器の一構成例を示すブロ ック図である 図 3 4では従来のネ ヅ ト ワーク機器 4 2 2 について、 図 3 3 のネ ヅ ト ワーク機器 4 0 0 — 1 に適用 した場合を例に して、 その構成と動 作を説明する。
ネ ヅ ト ワーク機器 4 2 2 は、 入力転送デ一夕 4 0 2 を入力と し、 出力転送データ 4 0 3 を出力する。 入力転送デ一夕 4 0 2 は、 送出 元ネ ヅ ト ワーク · ア ド レス 4 0 4 と、 転送先ネ ッ ト ワーク ' ァ ドレ ス 4 0 5 と、 宛先ネ ヅ ト ワーク ' ア ド レス 4 0 6 と、 データ部 4 0 7 を有している。 出力転送デ一夕 4 0 3 は、 送出元ネ ッ ト ワーク · ア ド レス 4 0 4 と、第 2の転送先ネ ヅ ト ワーク ' ァ ド レス 4 0 8 と、 宛先ネ ッ ト ワーク · ア ド レス 4 0 6 と、 データ部 4 0 7 を有してい る。 図 3 4 では従来のネ ッ ト ワーク機器 4 2 2 を、 図 3 3 のネ ヅ ト ワーク機器 4 0 0 — 1 に適-用 した場合を例に して説明するので、 入 力転送データ 4 0 2 の転送先ネ ヅ ト ワーク · ア ド レス 4 0 5 は当然 ネ ヅ ト ワーク機器 4 0 0 - 1 のネ ヅ ト ワーク · ア ド レス となってい る o
ネ ヅ ト ヮ一ク機器 4 2 2 は、 送出元ネ ヅ ト ワーク · ア ド レス抽出 部 4 0 9 と、 宛先ネ ヅ ト ワーク ■ ア ド レス抽出部 4 1 0 と、 連想メ モリ 1 0 1 と、 C P U 4 1 3 と、 エンコーダ 4 1 4 と、 メモリ 4 1 6 と、 転送先ネ ッ ト ワーク · ア ド レス変更部 4 1 8 と、 デ一夕転送 部 4 2 1により構成される。
送出元ネ ヅ ト ヮ一ク · ア ド レス抽出部 4 0 9は、 入力転送デ一夕 4 0 2の送出元ネ ッ ト ワーク · ァ ド レス 4 0 4を送出元ネ ッ ト ヮ一 ク ' ア ド レス情報 4 1 1 と して抽出 し、 C P U 4 1 3 に入力する。 宛先ネ ッ ト ヮ一ク · ア ド レス抽出部 4 1 0は、 入力転送データ 4 0 2の宛先ネ ヅ ト ワーク . ア ド レス 4 0 6 を宛先ネ ヅ ト ワーク · ア ド レス情報 4 1 2 と して抽出 し、 連想メモ リ 1 0 1 と C P U 4 1 3に 入力する。
ネ ヅ ト ワーク機器 4 2 2 には、 ネ ヅ ト ワーク中でネ ヅ ト ヮ一ク機 器 4 2 2 に接続されているネ ヅ ト ワーク機器の中で、 自分自身が属 するセグメ ン トの外部にあるネ ヅ ト ワーク機器の属するセグメ ン ト のネ ヅ ト ワーク · ア ド レス を、 連想メモ リ 1 0 1 の連想メモリ · ヮ — ド 1 0 2 にそれそれ格納 している。 図 3 4では従来のネ ヅ ト ヮ一 ク機器 4· 2 2 を、 図 3 3のネ ヅ ト ワーク機器 4 0 0 - 1 に適用 した 場合を例に して説明しているので、 連想メモ リ · ワー ド 1 0 2 — 1 には、 ネ ヅ ト ワーク機器 4 0 0 — 2が属するセグメ ン ト 2のネ ヅ ト ワーク . ア ド レス ( 2 . * . * ) を前述のように記憶デ一夕 ( 0 1
0 . 0 0 0 . 0 0 0 ) とマスク情報 ( 1 1 1 . 0 0 0 . 0 0 0 ) の 対で表現される構造化デ一-夕の形式で記憶している。 同様に、 連想 メモリ ' ワー ド 1 0 2— 2 にはネ ヅ ト ワーク機器 4 0 0 — 6が属す るセグメ ン ト 6のネッ ト ワーク . ア ドレス ( 2. 3 . * .) を、 連想 メモ リ ■ ヮ一 ド 1 0 3 — 3 にはネ ヅ ト ヮ一ク機器 4 0 0 — 3が属す るセグメ ン ト 3のネ ッ ト ワーク ' ア ド レス ( 3 . * . * ) を記憶し ている。 連想メモ リ 1 0 1 は、 通常のメモリ と同様にア ド レスを指 定して記憶データの書き込み、 読み出 しを行う機能のほかに、 入力 した宛先ネ ヅ ト ワーク · ア ド レス情報 4 1 2 と、 対応するマスク倩 報を考慮して比較した結果一致する記憶デ一夕の中で、 マスク情報 のマスク有効状態のビツ ト が最も少ない記憶データに対応する一致 線 1 0 5 — 1〜 1 0 5 — 3 を有効状態にする機能を有 している。 連 想メモリ 1 0 1 と しては、 例えば、 特願 2 0 0 0 — 1 8 1 4 0 6が ある。
連想メモリ 1 0 1 が出力 した一致線 1 0 5 — 1〜 1 0 5— 3 はェ ンコーダ 4 1 4によ り メモリ · ア ド レス信号 4 1 5に符号化される。 メモ リ 4 1 6 には、 連想メモリ 1 0 1 の各連想メモリ . ワー ドに格 納されている記憶データ、 マスク情報によ り構成されるセグメ ン ト のネ ヅ ト ワーク · ア ド レスに対応する ネ ヅ ト ワーク機器のネ ヅ ト ヮ —ク · ア ド レスを、 連想メ モリ 1 0 1 の格納ア ド レス と同一のア ド レスのワー ドに記憶させてある。 たとえば、 連想メモ リ 1 0 1 の連 想メモリ ' ワー ド 1 0 2 — 1 にはア ド レス ( 2 . * . * ) が記憶さ れているが、 これに対応する図 3 3 のネ ヅ ト ワーク機器 4 0 0 - 2 のネ ヅ ト ワーク · ア ド レスがメモ リ 4 1 6のワー ド 1 に格納されて いる。 同様にメ モ リ 4 1 6 のワー ド 2 にはネ ヅ ト ワーク機器 4 0 0 — 6 のア ド レスが、 ワー ド 3 にはネ ヅ ト ワーク機器 4 0 0— 3のァ ド レスが格納されている。 メモリ 4 1 6 はメモリ ' ア ド レス信号 4 1 5 をリ ー ド · ア ド レス と-して指定される格納データを、 メモ リ · データ信号 4 1 7 として出力する。
転送先ネ ッ ト ワーク · ア ド レス変更部 4 1 8は、 入力転送データ 4 0 2の転送先ネ ヅ ト ワーク ' ア ド レス 4 0 5 を メ モ リ ' データ信 号 4 1 7の値に変更するこ とによ り 変更済転送データ 4 1 9 を生成 し、 デ一夕転送部 4 2 1 に入力する。 C P U 4 1 3 は、 送出元ネ ヅ ト ワーク · ア ド レス情報 4 1 1 , 宛先ネ ヅ ト ワーク · ア ド レス情報 4 1 2 に対して、 表 1 ( b ) に示す転送規則を基に転送の可否を判 定し、 判定結果を転送制御信号 4 2 0 と してデータ転送部 4 2 1 に 入力する。 データ転送部 4 2 1 は、 転送制御信号 4 2 0 が転送を許 可していれば変更済転送デ一夕 4 1 9 を出力転送データ 4 0 3 と し て出力し、 転送制御信号 4 2 0が転送を拒絶していれば出力しない。 例えば入力転送データ 4 0 2の送出元ネ ッ ト ワーク · ア ド レス 4 0 4が ( 1 . 2 . 3 )、 宛先ネ ヅ ト ワーク ' ア ド レス 4 0 6が ( 3 .
5 . 6 ) の場合、 連想メモ リ 1 0 1 での検索動作終了時には、 連想 メ モ リ . ワー ド 1 0 2 — 3 が格納してい る ( 3 . * . * ) に対応す る一致線 1 0 5 — 3が有効状態を出力する。 これによ り エンコーダ 4 1 4はメモリ · ア ド レス 4 1 5 と して" 3 "を出力 し、 メモリ 4 1 6はネ ヅ ト ワーク機器 4 0 0— 3 のネ ヅ ト ワーク · ア ド レス をメ モ リ ' デ一夕信号 4 1 7 と して出力する。 転送先ネ ヅ ト ワーク · ア ド レス変更部 4 1 8 によ り、 入力転送データ 4 0 2 の転送先ネ ッ ト ヮ —ク · ア ド レス 4 0 5 を、 ネ ヅ ト ヮ一ク機器 4 0 0 — 3 のネ ヅ ト ヮ 一ク · ア ド レス に変更しデータ転送部 4 2 1 に変更済転送データ 4 1 9 と して入力する 。 送出元ネ ヅ ト ワーク · ア ド レス情報 4 1 1が ( 1 . 2 . 3 ), 宛先ネ ッ ト ヮ一ク . ア ド レス情報 4 1 2が ( 3 . 5 .
6 ) であるので C P U 4 1 3は、 転送規則 2 を適用 し、 転送許可状 態の転送制御信号 4 2 0 をデータ転送部 4 2 1 に入力する。 これに よ り データ転送部 4 2 1 は、 変更済転送データ 4 1 9 を出力転送デ 一夕 4 0 3 と してネ ヅ ト ワーク機器 4 0 0 — 3 に向けて転送する。 ネ ッ ト ワーク機器 4 0 0 — 3は転送されてきたデータに基づいて上 述したのと同様な動作を行い、 デ一夕は次々 と最適な経路のネ ッ ト ワーク機器に安全性を確保しながら転送され続け、 最終的に宛先ネ ヅ ト ワーク . ア ド レス ( 3 . 5 . 6 ) を有するユーザ機器に転送さ れることができる。
[従来の連想メモリの説明]
図 2 8は、 従来の連想メモリの一構成例を示すプロ ヅ ク図である。 連想メモ リ 1 0 1 は、 nビッ ト 2入力 1 出力セ レ ク タ 1 2 3 と、 n ビッ ト m語の連想メモ リ ' ヮ一 ド 1 0 2 — 1 〜 ; L 0 2 — mと、 nビ ヅ ト ' ラ ヅ チ 1 2 1 と、 制御回路 1 3 0 と、 論理ゲー ト 1 1 6 — 1 〜 1 1 6 — nを有 している。. j 番目の連想メモリ · ワー ド 1 0 2 - j は、 n個の連想メモ リ ' セル 1 0 7 — j一 1〜 1 0 7 — j一 nを 備えている。 j番目の連想メモリ · ワー ド 1 0 2 — j には、 対応す るデータ ' ヮ― ド線 1 0 3 — j と、 マスク ' ワー ド線 1 0 6 — j と、 および比較制御信号 1 0 4が入力のために接続され、 対応する一致 線 1 0 5 — j、 および n本の一致デ一夕中間論理線 1 1 4一 1〜 1 1 4一 nが出力のために接続され、 n本のビ ヅ ト線 1 1 3 — 1〜 1 1 3— nが入出力のために接続されている。
j番目の連想メモリ · ワー ド 1 0 2 — j の kビッ ト 目の連想メモ リ ' セル 1 0 7 — j — kには、 対応するデ一夕 · ワー ド線 1 0 3 — j と、 マスク · ワー ド線 1 0 6 — j と、 および比較制御信号 1 0 4 が入力のために接続され、 対応する一致線 1 0 5 — j、 および一致 データ中間論理線 1 1 4一 kが出力のために接続され、 ビッ ト線 1 1 3— kが入出力のために接続されている。
連想メモリ ' セル 1 0 7 — j — kは、 ビ ヅ ト線 1 1 3 — kを介し て外部から入力される記憶データの対応する ビツ ト情報を格納する データ ' セル 1 0 8— j一 k と、 データ ' セル 1 0 8— j — kに記 憶されたビ ト情報と外部から ビッ ト線 1 1 3— kを介して入力さ れる情報とを比較する比較器 1 1 0— j — k と、 外部から ビッ ト線 1 1 3— kを介して入力されるマスク情報の対応するビッ ト情報を 格納するマスク ' セル 1 0 9— j — kと、 および論理ゲー ト 1 1 1 一 j一 k とを備えている。 ここで、 マスク ' セル 1 0 9— j — kに 格納されたビッ ト情報がマスク有効状態の場合には、 対応するデー 夕 ' セル 1 0 8— j— kには、 記憶データの無効状態を格納する。 なお、 本例では、 マスク情報のマスク有効状態を" 0 "、 マスク無効 状態を" 1 "と し、 記憶デ一夕の有効状態を" 1 "、 無効状態を" 0 "とす る。 記憶デ一夕 と同様に、 一致データ論理和線 1 1 7— 1〜 1 1 7 — nの有効状態を" 1 "、 無効状態を" 0 "とする。 一致線 1 0 5— 1〜 1 0 5— mの有効状態を" 1 "、 無効状態を" 0 "とする。
データ ' セル 1 0 8— j — kは、 対応するデータ · ワー ド線 1 0 3— j が有効状態の場合、 対応する ビツ ト線 1 1 3—kに書き込み デ一夕が ドライ ブされていれば記憶デ一夕 と して格納し、 対応する ビ ヅ ト線 1 1 3— kが ドライ ブされていなければ格納している記憶 データ を対応する ビ ヅ ト線 1 1 3— kに出力する 。 対応するデ一 夕 ' ヮ一 ド線 1 0 3— j が無効状態ならば、 ビッ ト線 1 1 3— kに 対してなんら操作は行わない。 また、 対応するデータ · ワー ド線 1 0 3— j の値にかかわらず、 格納している記憶データを同一の連想 メモ リ ' セル 1 0 7— j — kの中の比較器 1 1 0— j — kと論理ゲ ート 1 1 1— j— kに出力する。
マス ク ' セル 1 0 9— j -— kは、 対応するマスク · ワー ド線 1 0 6— j が有効状態の場合、 対応する ビッ ト線 1 1 3— kに書き込み データが ドライ ブされていれば書き込みデータ をマスク情報と して 格納 し、 対応するビッ ト線 1 1 3— kが ドライ ブされていなければ、 格納しているマスク情報を対応する ビヅ ト線 1 1 3— kに出力する 対応するマスク ' ワー ド線 1 0 6— j が無効状態ならば、 ビヅ ト線 1 1 3— kに対してなんら操作は行わない。 また、 対応するマスク - ワー ド線 1 0 6— j の値にかかわ らず、 格納しているマスク情報を 同一の連想メモリ ' セル 1 0 7 — :) · 一 kの中の比較器 1 1 0— j 一 kに出力する。
一致線 1 0 5— 1 〜 1 0 5— mは、 検索動作の開始前には、 ハイ · レベルにプリ · チャージされ、 有効状態" 1 ',になっているものとす る。
比較器 1 1 0— j — kは、 対応する ピッ ト線 1 1 3— k と、 それ に同一の連想メモ リ ' セル 1 0 7 — :) ' 一 kの中のデータ ' セル 1 0 8— j — kに格納されている記憶デ一夕 と、 マスク ' セル 1 0 9— j — kに格納されているマスク情報と、 および比較制御信号 1 0 4 を入力とする。 比較器 1 1 0— j — kは、 比較制御信号 1 0 4 が無 効状態" 0 "かつマスク情報がマスク有効状態" 0 "ならば、対応する一 致線 1 0 5— j を解放状態に し、 それ以外の場合には、 ビッ ト線 1 1 3— kの値と記憶データが一致するならば対応する一致線 1 0 5 - J を開放状態に し、 一致しないな らば無効状態" 0 "を出力する。 連想メモリ ■ ワー ド 1 0 2 — j の中の n個の比較器 1 1 0— j — 1 〜 1 1 0— j — nがすべて一致線 1 0 5— j を開放状態に している ときに、 一致線 1 0 5— j は有効状態" 1 "とな り、 それ以外の場合 には無効状態" 0,,となる、一致線 1 0 5 の有効状態" 1,,を真と したヮ ィ ァ一 ド A N D論理接続を-構成している。つま り、検索動作時には、 比較制御信号 1 0 4が無効状態" 0,,かつマスク情報がマスク有効状 態" 0 "のために比較対象から除外されたビッ ト を除いて、 連想メモ リ ' ワー ド 1 0 2 — jが格納している記憶デ一夕 とビ ヅ ト線 1 1 3 一 1〜 1 1 3 — nが完全に一致する場合に限り、 一致線 1 0 5— j は有効状態" 1 "となり、 それ以外の場合は無効状態" 0"となる。
論理ゲー ト 1 1 1 — j一 kは、 同一の連想メモリ · ワー ド 1 0 1 — j の中の一致線 1 0 5— jが有効状態" 1 "かつ、 同一の連想メモ リ ' セル 1 0 7— j — kの中のデ一夕 ' セル 1 0 8— j — kに格納 された記憶データが有効状態のときに、 対応する一致データ中間論 埋線 1 1 4一 kに" 0 "を出力 し、 それ以外の場合には開放状態にす る。 ここで本例では記憶データの有効状態が" 1 "であるので、 デー 夕 ' セル 1 0 8— j — kに格納された記憶データが" 1,,かつ一致線 1 0 5— jが" 1 "のときに、 対応する一致データ中間論理線 1 1 4 — kに" 0"を出力し、 それ以外の場合には解放状態を出力する。
各一致デ一夕中間論理線 1 1 4一 kは、 抵抗 1 1 5— kによ り プ ル ' ァ ヅ プされてお り、 対応する m個の論理ゲー ト 1 1 1— 1一 k 〜 1 1 1一 m— kとワイア一 ド論理接続を構成している。 したがつ て、 接続されている m個の論理ゲ一 ト 1 1 1一 1一 k〜 : L 1 1一 m — kがすべて一致データ中間論理線 1 1 4— kを開放状態に してい る ときに、 一致データ 中間論理線 1 1 4— kは" 1 "とな り、 それ以 外の場合には" 0 "となる。つま り " 1 "を真と したワイ ア一 ド AND接 続となっている。
論理ゲー ト 1 1 6— 1〜 1 1 6— nは、 対応する一致データ 中間 論理線 1 1 4一 1 ~ 1 1 4一 nの論理状態を反転し、 一致データ論 理和線 1 1 7— 1〜 1 1 7— nとして出力する。
したがって、 一致デーダ論理和線 1 1 7— kには、 m個の論理ゲ ー ト 1 1 1— 1 — k〜 l 1 1— m— kと一致デ一夕中間論理線 1 1 4— k、 抵抗 1 1 5— k、 および論理ゲー ト 1 1 6— によ り、 検 索動作時に有効状態" 1 "となっている一致線 1 0 5— 1〜 1 0 5 — mを有するすべての連想メ モリ · セル 1 0 7— 1 — k〜 l 0 7 — m — kの中のデ一夕 ' セル 1 0 8— 1 — 1〜 1 0 8 _ m— kに格納さ れている記憶データ どう しを、 記憶データの有効状態を真と した論 理和演算した結果が得られる こ とになる。 本例では、 記憶データの 有効状態" 1 "を真と した論理和演算した結果が得られる。 これらの 動作によ り、 一致データ論理和線 1 1 7 — 1〜 1 1 7 — nには、 検 索動作時に検索データ 1 1 2 と一致した記憶デ一夕の中で、 最も無 効状態" 0 "のビ ッ ト数が少ない記憶デ一夕 と同じ値が出力されるこ とになる。
nビッ ト · ラ ッチ 1 2 1 は、 ラ ヅチ制御信号 1 2 2が有効状態の 時に、 一致デ一夕論理和線 1 1 7 _ 1〜 1 1 7 — nの状態を内部に 格納する。 また、 格納 した状態をラ ッチ出力線 1 2 0 — 1〜 1 2 0 一 nに出力する。
nビヅ ト 2入力 1 出力セ レクタ 1 2 3は、 ビヅ ト線 1 1 3 — ;!〜 1 1 3 _ nに出力するデ一夕 を、 選択信号 1 2 4の状態によ り、 検 索データ 1 1 2 — 1〜 1 1 2 — nとラ ヅチ出力線 1 2 0— 1〜 1 2 0— nの一方から選択する。
制御回路 1 3 0 は、 連想メモ リ 1 0 1の動作を制御するため、 ク ロ ッ ク信号 1 3 1 に同期して、 ラ ッチ制御信号 1 2 2、 選択信号 1 2 4、 および比較制御信号 1 0 4を出力する。
[従来の連想メモリの詳細説明]
次に、 図 2 9 に従来の連想メモリ 'セル 1 0 7の一構成例を示す。 こ こで、 2本のビッ ト線 1- 1 3 a , 1 1 3 bは図 2 8に示されてい る各ビヅ ト線に対応するものであるが、 図 2 8 においては 1 1 3 — iで代表して表現している。 この 2本のビッ ト線を介してメモ リ · セルへのデータの読み書きや、 検索デ一夕 1 1 2の入力を行う。 デ 一夕 を書き込む場合、 および検索データの入力を行う場合には、 ビ ヅ ト線 1 1 3 bにはビ ヅ ト線 1 1 3 aの値を反転した値を入力する デ一夕 ' セル 1 0 8 は、 入出力が相互に接続された反転論理ゲー ト ( G 1 0 1 ) 3 0 1、 反転論理ゲー ト ( G 1 0 2 ) 3 0 2 と、 反転 論理ゲー ト ( G 1 0 2 ) 3 0 2の出力をビッ ト線 1 1 3 aに接続し デ—夕 · ワー ド線 1 0 3がハイ ■ レベルのときに導通状態となる M O S ト ラ ンジスタ ( T 1 0 1 ) 3 0 3 と、 反転論理ゲー ト ( G 1 0 1 ) 3 0 1 の出力をビッ ト線 1 1 3 bに接続しデータ ' ワー ド線 1 0 3 がハイ ' レベルのときに導通状態となる M 0 S ト ランジスタ ( T 1 0 2 ) 3 0 4 とによ り構成される一般的なス夕ティ ッ ク S R AM 素子である。
また、 マスク · セル 1 0 9 も、 入出力が相互に接続された反転論 理ゲー ト ( G 1 0 3 ) 3 1 0、 反転論理ゲー ト ( G 1 0 4 ) 3 1 1 と、 反転論理ゲー ト ( G 1 0 4 ) 3 1 1 の出力をビ ヅ ト線 1 1 3 a に接続しマスク · ワー ド線 1 0 6 がハイ ■ レベルのときに導通状態 となる M O S トラ ンジスタ ( T 1 0 8 ) 3 1 2 と、 反転論理ゲー ト ( G 1 0 3 ) 3 1 0の出力をビッ ト線 1 1 3 bに接続しマスク · ヮ — ド線 1 0 6がハイ ■ レベルのときに導通状態となる M 0 S ト ラ ン ジス夕 ( T 1 0 9 ) 3 1 3 とによ り構成される一般的なスタティ ヅ ク S R AM素子である。
比較器 1 1 0は M O S ト ランジスタ ( T 1 0 3 ) 3 0 5、 M O S トラ ンジスタ ( T 1 0 4 ) 3 0 6、 M O S ト ランジスタ ( T 1 0 5 ) 3 0 7、 M O S ト ラ ンジスタ ( T 1 0 6 ) 3 0 8、 および M O S ト ランジス夕 ( T 1 0 7 ) 3 0 9 によ り構成される。 M O S トラ ンジ ス夕 ( T 1 0 .3 ) 3 0 5 と M O S ト ランジスタ ( T 1 0 4 ) 3 0 6 はビ ヅ ト線 1 1 3 a , 1 1 3 bの間に直列に挿入される。 M 0 S ト ラ ンジス夕 ( T 1 0 3 ) 3 0 5は、 データ ' セル 1 0 8 内の反転論 理ゲー ト ( G 1 0 1 ) 3 0 1の出力がハイ ' レベルのと きに導通状 態となる。 M O S ト ランジスタ ( T 1 0 4 ) 3 0 6は、 データ . セ ル 1 0 8 内の反転論理ゲー ト ( G 1 0 2 ) 3 0 2の出力がハイ · レ ペルのときに導通状態となる。 M O S ト ラ ンジスタ ( T 1 0 6 ) 3 0 8 と M O S トラ ンジスタ ( T 1 0 7 ) 3 0 9 は並列接続され、 こ の並列接続された 2つの M O S ト ラ ンジスタは、 M O S ト ランジス 夕 ( T 1 0 5 ) 3 0 7 とともに、 一致線 1 0 5 と低電位の間に直列 に揷入される。 M O S ト ランジスタ ( T 1 0 6 ) 3 0 8は、 マスク · セル 1 0 9 内の反転論理ゲー ト ( G 1 0 4 ) 3 1 1の出力がハイ - レペルの時に導通状態となる。 M O S ト ランジスタ ( T 1 0 7 ) 3 0 9は、 比較制御信号 1 0 4が有効状態" 1 "の時に導通状態となる。
M O S ト ラ ンジスタ ( T 1 0 5 ) 3 0 7は、 M O S ト ラ ンジスタ ( T 1 0 3 ) 3 0 5 と M O S ト ラ ンジスタ ( T 1 0 4 ) 3 0 6の接 続点の電位がハイ · レベルの時に導通状態となる。 ビヅ ト線 1 1 3 aと反転論理ゲー ト ( G 1 0 1 ) 3 0 1の出力がともにハイ ■ レぺ ル、 またはビッ ト線 1 1 3 b と反転論理ゲー ト ( G 1 0 2 ) 3 0 2 の出力がともにハイ . レペルのときに、 M O S ト ランジスタ ( T 1 0 3 ) 3 0 5 と M O S ト ラ ンジスタ ( T 1 0 4 ) 3 0 6の接続点は ノ、ィ · レベルとな り、 M O S ト ラ ンジスタ ( T 1 0 5 ) 3 0 7 を導 通状態とする。
従って、 データ . セル 1 0 8 に格納されている記憶データ と、 ビ 、ソ ト線 1 1 3 a , 1 1 3 b-上の検索デ一夕 1 1 2が異なる場合に M O S ト ランジスタ ( T 1 0 5 ) 3 0 7は導通状態になる。 また M O S ト ランジスタ ( T 1 0 6 ) 3 0 8はマス ク - セル 1 0 9内に格納 されているマスク情報が" 0 "のときには開放状態であ り、" 1, 'のとき に導通状態となる。 一致線 1 0 5 は検索動作を開始する前に高電位 にプリ ' チャージされているものとする。 これによ り、 複数の連想 メモリ ' セル 1 0 7がー致線 1 0 5 に M O S ト ランジスタ ( T 1 0 6 ) 3 0 8、 および M O S トランジスタ ( T 1 0 7 ) 3 0 9 を介し て接続されている とき、 一つの連想メモ リ · セル 1 0 7でも ロ ウ ' レベルを出力 している と一致線 1 0 5はロ ウ · レベルとなるよ うな ワイアー ド AN D接続となる。
M O S ト ラ ンジスタ ( T 1 0 5 ) 3 0 7 が導通状態のときに、 並 列接続された M O S ト ランジスタ ( T 1 0 6 ) 3 0 8、 M O S ト ラ ンジス夕 ( T 1 0 7 ) 3 0 9のどち らか一つでも導通状態の場合に 連想メモリ · セル 1 0 7は一致線 1 0 5 に無効状態" 0 "を出力 し、 それ以外の時には一致線 1 0 5 を開放状態とする。 すなわち、 マス ク情報がマス ク有効状態" 0 "かつ比較制御信号 1 0 4が無効状態 "0 "の場合には検索データ 1 1 2 と記憶データの比較結果によ らず 一致線 1 0 5 を開放状態と し、 それ以外の場合にはビ、ソ ト線 1 1 3 a , 1 1 3 b上の検索データ 1 1 2 とデ一夕 ' セル 1 0 8に格納さ れている記憶デ一夕が一致する と きに開放状態と し、 異なる場合に は無効状態" 0 "を出力する。
次に、 論理ゲー ト 1 1 1 と一致デ一夕中間論理線 1 1 4の働きを 説明する。 一致データ中間論理線 1 1 4は図 2 8の抵抗 1 1 5 によ り プル ' アッ プされ検索動作前には" 1 "になっている。 論理ゲー ト 1 1 1 は、 一致データ 中間論理線 1 1 4 と低電位との間に直列に揷 入された M O S ト ランジスタ ( T 1 1 0 ) 3 1 4 と、 M 0 S ト ラ ン ジス夕 ( T l 1 1 ) 3 1 5で構成されている。 M O S ト ランジスタ ( T 1 1 0 ) 3 1 4は、 一致線 1 0 5が有効状態" 1 "のときに導通 状態とな り、 無効状態" 0,,のときには開放状態となる。 MO S トラ ンジス夕 ( T i l l ) 3 1 5は、 データ ' セル 1 0 8内部の反転論 理ゲー ト ( G 1 0 2 ) 3 0 2の出力がハイ ' レペルの場合に導通状 態とな り、 ロ ウ ' レベルの場合には開放状態となる。 つま り、 デ一 夕 . セル 1 0 8に格納されている記憶データが有効状態" 1 "のと き に導通状態とな り、 無効状態" 0 "のときには開放状態となる。 これ によ り論理ゲー ト 1 1 1は、 一致線 1 0 5が有効状態" 1 "かつデ一 夕 · セル 1 0 8に格納された記憶デ一夕が有効状態" 1 "のときに、 一致データ 中間論理線 1 1 4に" 0 "を出力 し、 それ以外の場合には 開放状態にする
[従来の連想メモリの動作]
次に、 上述の従来の連想メモリ 1 0 1を、 図 3 3のネ ヅ ト ワーク 機器 4 0 0— 1における転送先ネ ツ ト ワーク · ア ド レスの計算に用 いた場合の動作を、 図 3 0 を用いて説明する。 そのときのタイ ミ ン グチャートを図 3 1に示す。
連想メ モ リ 1 0 1 を 9 ビ ッ ト 3語の構成と仮定し、 各連想メ モ リ · ワー ド 1 0 2— 1〜 1 0 2— 3に格納されている記憶デ一夕、 マス ク情報には、 図 3 3のネ ヅ ト ワーク機器 4 0 0— 1のネ ヅ ト ヮ 一.ク ' ア ド レス ( 1 . * . * ) 以外の接続倩報を記憶.している もの とする。 このとき、 接続情報の中の ドン ト · ケア" *,,状態のビ ヅ ト は、 記憶データの該当ビッ ト を記憶デ一夕の無効状態" 0"、 マスク 情報の該当ビヅ トをマスク有効状態" 0, 'とすることで表現される。 つま り、 連想メモリ ' ワー ド 1 0 2— 1には ( 2. * . * ) を構 造化データで表現するため-、 記憶データには 2進数で ( 0 1 0 . 0 0 0 . 0 0 0 ) を、 マスク情報と して ( 1 1 1 . 0 0 0. 0 0 0 ) で格納してある。 同様に連想メモリ ' ワー ド 1 0 2— 2には ( 2. 3. * ) を構造化データで表現するため、 記憶データには 2進数で ( 0 1 0. 0 1 1. 0 0 0 ) を、 マスク情報と して ( 1 1 1. 1 1 1. 0 0 0 ) を格納してある。 連想メモ リ ' ワー ド 1 0 2— 3には ( 3. * . * ) を構造化デ一夕で表現するため、 記憶データには 2 進数で ( 0 1 1. 0 0 0. 0 0 0 ) を、 マスク情報と して ( 1 1 1. 0 0 0. 0 0 0 ) を格納してある。
以降、 検索デ一夕 1 1 2 と して図 3 3の P C 4 0 1— 2の 8進数 のネ ヅ ト ワーク ' ア ド レス ( 2. 3. 4 ) を入力 し検索動作を行つ た場合の動作説明をする。
まず、 図 3 1のタイ ミ ング ( 1 ) で、 すべての一致線 1 0 5— 1 〜 1 0 5— 3は、 ハイ · レベルにプリ ' チャージされ、 有効状態" 1,, になっている。
次に図 3 1のタイ ミ ング ( 2 ) で、 制御回路 1 3 0が出力する選 択信号 1 2 4によ り、 nビ ヅ ト 2入力 1出力セレクタ 1 2 3は検索 デ一夕 1 1 2を選択し、 ビ ッ ト線 1 1 3— 1〜 ; L 1 3— 9に出力す る。 また、 制御回路 1 3 0は比較制御信号 1 0 4に無効状態" 0 "を 出力 し、 各連想メモ リ ' セル 1 0 7— 1— 1〜 1 0 7— m— riにお いて、 その中の記憶データ と検索データ 1 1 2の対応ビッ トの比較 結果によ らずに、 その中のマスク情報がマスク有効状態" 0"の場合 には対応する一致線 1 0 5 を解放状態とする こ とを許可する。 つま り ド ン ト · ケア" * "も考慮して比較する。 これによ り 、 連想メモリ 1 0 1の連想メモリ ' ワー ド 1 0 2— 1に格納されている 8進表現 の ( 2 . * . * ) と、 連想メ モリ ' ワー ド 1 0 2— 2に格納されて いる 8進表現の ( 2. 3 * ) がビ ヅ ト線 1 1 3— 1〜 ; L 1 3 — 9 上の検索データ 1 1 2と一致する。従って、 1次検索の結果と して、 一致線 1 0 5 — 1、 1 0 5 — 2の 2本が有効状態" 1 "とな り、 残 り の一致線 1 0 5— 3は無効状態" 0"となる。
ここで、 一致データ論理和線 1 1 7 — 1 か らは、 連想メモリ · ヮ ー ド 1 0 2 — 1 内の一致データ中間論理線 1 1 4一 1 に対応する記 億データ " 0 "と、 連想メモリ ' ワー ド 1 0 2 — 2 内の一致データ中 間論理線 1 1 4— 1 に対応する記憶データ " 0 "に対しての、" 1 "を真 と した論理和結果" 0 "が出力される。 一致デ一夕論理和線 1 1 7 — 2からは、 連想メモリ · ワー ド 1 0 2 — 1 内の一致データ中間論理 線 1 1 4— 2 に対応する記憶データ " 1 "と、 連想メモリ ' ワー ド 1 0 2— 1 内の一致デ一夕中間論理線 1 1 4一 2 に対応する記憶デ一 夕 " 1 "に対しての" 1 "を真とした論理和結果" 1 "が出力される。以降 同様に、一致デ一夕論理和線 1 1 7 — 3 からは" 0,,と" 0 "に対しての "1 "を真と した論理和結果" 0"が、一致データ論理和線 1 1 7 — 4か らは" 0 "と" 0 "に対しての" 1 "を真と した論理和結果" 0 "が、 一致デ —夕論理和線 1 1 7 — 5 からは" 0,,と" 1 "に対しての" 1,,を真と し た論理和結果" 1 "が、 一致デ一夕論理和線 1 1 7 — 6からは" 0 "と " 1 "に対しての" 1 "を真と した論理和結果" 1 "が、一致デ一夕論理和 線 1 1 7 — 7からは" 0,,と" 0 " に対しての" 1,,を真と した論理和結 果" 0 "が、 一致デ一夕論理和線 1 1 7 — 8からは" 0 "と" 0 " に対し ての" 1 "を真と した論理和結果" 0 "が、一致デ一.夕論理和線 1 1 7 - 9からは" 0 "と" 0 " に対しての" 1 "を真と した論理和結果" 0 "が、 それそれ出力される。 従って、 一致データ論理和線 1 1 7— 1〜 1 1 7 — 9 には、 2進表現で" 0 1 0 0 1 1 0 0 0, 'が出力される こ と になる。
この状態で、 制御回路 1-3 0が出力するラ ッチ制御信号 1 2 2 が 有効状態にな り、 nビッ ト ' ラ ッチ 1 2 1 は一致データ論理和線 1 1 7— 1〜 1 1 7 — 9の状態を内部に格納する。 したがって、 nビ ヅ ト ' ラ ヅ チ 1 2 1 は 2進表現で" 0 1 0 0 1 1 0 0 0 "を格納し、 その値をラッチ出力線 1 2 0 - 1〜 1 2 0— 9に出力する。
図 3 1 のタイ ミ ング ( 3 ) は、 本例では、 タイ ミ ング ( 2 ) と夕 イ ミ ング ( 4 ) 双方のクロ ッ ク信号 1 3 1の状態を同一にするため に挿入されており、 連想メ モ リ 1 0 1 は、 タイ ミ ング ( 2 ) の最終 状態を保持し続ける。
次に図 3 1 のタイ ミ ング ( 4 ) で、 制御回路 1 3 0 が出力する選 択信号 1 2 4によ り 、 nビ ヅ ト 2入力 1 出力セ レクタ 1 2 3 はラ ヅ チ出力線 1 2 0を選択し、 その情報" 0 1 0 0 1 1 0 0 0 "を対応す る ビ ヅ ト線 1 1 3 — 1〜 1 1 3 — 9 に出力した後、 連想メモリ 1 0 1 は 2次検索を開始する。 2次検索では、 一致線 1 0 5 — 1〜 1 0 5 — 3 に保持されている、 タイ ミ ング ( 2 ) で実行した 1次検索の 結果を利用する。 本例では、 一致線 1 0 5— 1および 1 0 5 — 2の 2本が有効状態" 1 "を保持してお り、 データー致線 1 0 5 — 3 は無 効状態" 0 "を保持している。 また、 制御回路 1 3 0 は比較制御信号 1 0 4に有効状態" 1 "を出力する。 これによ り、 各連想メモリ ' セ ル 1 0 7 — 1 — 1〜 1 0 7 — πι— ηは、 その中のマスク情報によら ず、 その中の記憶デ一夕 と対応する ビッ ト線 1 1 3の比較結果が不 一致の場合には、 一致線 1 0 5 に無効状態" 0 "を出力する。 つま り ド ン ト · ケア" *,,を考慮せず、 各連想メモリ · ワー ド 1 0 2— 1〜 1 0 2 — 3 に格納されている記憶デ一夕 自体とビ ヅ ト線 1 1 3— 1 〜 1 1 3 — 9の状態" 0 1 0 0 1 1 0 0 0 "とを比較し、 不一致の場 合には対応する一致線 1 0 5 — 1 〜 1 0 5— 3に無効状態" 0 "を出 力することになる。 - 本例では、 ビッ ト線 1 1 3 — 1〜 : L 1 3 — 9 の状態" 0 1 0 0 1 1 0 0 0 "に対して、 連想メモリ ■ ワード 1 0 2 — 2が格納する記憶デ —夕が完全に一致し、 対応する一致線 1 0 5 — 2 を開放状態にする。 他の連想メ モ リ ' ワー ド 1 0 2 — 1および 1 0 2 — 3が格納する記 憶データは一致しないので、 対応する一致線 1 0 5 — 1 および 1 0 5 — 3 に無効状態" 0 "を出力する。 したがって、 2次検索開始前に 有効状態" 1 "を保持していた一致線 1 0 5 — 1 , 1 0 5 — 2の 2本 の中で、 2次検索後も有効状態" 1 "を保持し続けるのは、 一致線 1 0 5— 2のみとなる。
したがって、 入力 した検索データ 1 1 2 と、 対応するマスク情報 を考慮して比較した結果一致する記憶データの中で、 マスク情報の マス ク有効状態のビッ トが最も少ない記憶データに対応する一致線 1 0 5— 2のみに有効状態を出力することがわかる。
従来の連想メモリ 1 0 1 では、 次に示すよ うに、 連想メモリ · ヮ — ド 1語中に、 記憶データ とマスク情報の組で表現された複数のネ ヅ ト ワーク · ア ド レスを格納した場合には、 検索のために入力 した 複数のネ ッ ト ワーク · ア ド レス と、 対応するマスク情報を考慮して 比較 した結果一致する記憶デ一夕の中で、 それそれのネ ヅ ト ヮー ク · ア ド レスに対応する記憶データの領域に対応するマスク情報の 領域のマスク有効状態のビッ トが最小となるような記憶デ一タ を出 力することができない。
図 3 3 においてネ ヅ ト ヮ一ク · ア ド レス ( 1 . 2 . 6 ) を持つ P C 4 0 1 — 1 か ら、 ネ ヅ ト ワーク ' ア ド レス ( 2 . 3 . 5 ) を持つ P C 4 0 1 — 3へのデ一夕転送について、 転送の可否を従来の連想 メモリ 1 0 1で判定した場合の動作例を図 3 2を用いて説明する。
表 1 ( b ) の転送規則 1〜 5 において、 各転送規則の送出元ネ ッ ト ワーク . ア ド レス と宛先ネ ヅ ト ワーク . ア ド レスの 9 ビ ヅ ト の記 憶デ一夕同士、 9 ビッ トのマスク情報同士を連結し、 1 8 ビ ヅ トの 記憶データ、 を連結し各転送規則の送出元ネ ッ ト ワーク · ア ド レス 1 それそれ 9 ビヅ ト の記憶デ一夕 とマスク情報で表現される構造化 デ一夕で表現した組を記憶しているものとする。
連想メモリ 1 0 1 を 1 8 ビッ ト 5語の構成と仮定する。 表 1 ( b ) における各転送規則の送出元ネ ッ ト ワーク · ア ド レスの 9 ビ ヅ ト の 構造化データ を構成する 9 ビ ヅ ト の記憶データ、 9 ビ ヅ ト のマス ク 情報を、 転送規則に対応する連想メ モ リ · ワー ド 1 0 2 — 1 1 0 2— 5のそれそれ記憶データ、 マスク情報の上位 9 ビ ヅ ト と して格 納するものとする。 また、 表 1 ( b ) における各転送規則の宛先ネ ヅ ト ワーク · ア ド レスの 9 ビ ヅ ト の構造化デ一夕 を構成する 9 ビ ヅ トの記憶デ一夕、 9 ビッ ト のマスク情報を、 転送規則に対応する連 想メモリ · ワー ド 1 0 2 — 1 1 0 2— 5のそれそれ記憶データ、 マスク情報の下位 9 ビヅ ト と して格納するものとする。 この結果、 連想メ モ リ 1 0 1 の各連想メ モ リ · ヮ一 ド 1 0 2 — 1 1 0 2 — 5 に格納される 1 8 ビッ トの構造化デ一夕 を図 3 2 に示すとお り であ る。
前述の動作説明と同様に、 1 次検索では、 連想メ モ リ 1 0 1 は、 8進表現で ( 1 . 2 . 6 2 . 3 . 5 ) の検索データ 1 1 2 をビ ヅ ト線 1 1 3 に出力 し、 連想メモ リ ' ワー ド 1 0 2 — 1 〜 ; L 0 2— 5 に格納されている記憶データ と、 対応するマスク情報も考慮して 比較を行う 。 これによ り、 連想メモリ · ワー ド 1 0 2 — 1 に格納さ れている 8進表現の ( 1 . 2 . * 2 . * . * ) と、 連想メモ リ - ワー ド 1 0 2 — 3 に格納されている 8進表現の ( 1 . 2 . * 2. 3 . * ) と、 連想メ モ リ ワー ド 1 0 2 — 5 に格納されている 8真 表現の ( 1 . * . * 2 . 3 . 5 ) がビ ヅ ト線 1 1 3上の検索デ一 夕 1 1 2 と一致する。 従って、 1次検索の結果と して、 一致線 1 0 5— 1、 1 0 5 — 3、 1 0 5 — 5の 3本が有効状態" 1 "とな り、 残 りの一致線 1 0 5— 2, 1 0 5 - 4は無効状態" 0"となる。
こ こで、 前述の動作説明と同様に、 連想メモリ · ワー ド 1 0 2 — 1〜 1 0 2 — 5において、 対応する一致線 1 0 5が有効状態" 1 "を 保持 している 1 8 ビ ヅ トの記憶デ一夕の各ビ ヅ ト に対して、 " 1 "を 真と した論理和結果を求め、 nビ ヅ ト · ラ ッチ 1 0 2 に格納する。 つま り、 連想メ モ リ · ワー ド 1 0 2 — 1 に格納されている 8進表現 で ( 1 . 2 . 0 2 . 0 . 0 )、 2進表現で" 0 0 1 . 0 1 0 . 0 0 0. 0 1 0 . 0 0 0 . 0 0 0 "と、 連想メモリ , ワー ド 1 0 2 — 3に 格納されている 8進表現で ( 1 . 2 . 0 2. 3. 0 )、 2進表現で " 0 0 1 . 0 1 0 . 0 0 0 . 0 1 0 . 0 1 1 . 0 0 0 "と、 連想メ モ リ 'ワー ド 1 0 2— 5に格納されている 8進表現で( 1 . 0 . 0 2 . 3 . 5 )、 2進表現で" 0 0 1 . 0 0 0 . 0 0 0 . 0 1 0 . 0 1 1 . 1 0 1 "の各ビッ トに対して、 " 1 "を真とした論理和演算の実行結果 として得られる 2進表現で" 0 0 1 . 0 1 0. 0 0 0 . 0 1 0 . 0 1 1 . 1 0 1 "、 8進表現で ( 1 . 2. 0 2. 3. 5 ) を nビ ヅ ト ' ラヅチ 1 2 1は記憶し、 この値をラヅチ出力線 1 2 0に出力する。 前述の動作説明と同様に、 2次検索では、 連想メ モ リ 1 0 1 は、 ラ ヅ チ出力線 1 2 0の状態、 8·進表現で ( 1 . 2. 0 2. 3 . 5 )、 2進表現で" 0 0 1 . 0 1 0 . 0 0 0 . 0 1 0 . 0 1 1 . 1 0 1 "を、 ビ ヅ ト線 1 1 3に出力 し、 連想メモリ ' ワー ド 1 0 2 — 1〜 : L 0 2 ― 5 に格納されている記憶データ と、 対応するマスク情報を考慮せ ずに比較を行う。 このとき、 連想メモリ ' ワー ド 1 0 2 — 1〜 1 0 2— 5 に格納されているすべての記憶データが不一致とな り、 一致 線 1 0 5— 1〜 1 0 5— 5は全て無効状態" 0 "を出力する。
ネ ッ ト ワーク ' ア ド レス ( 1 . 2 . 6 ) を持つ P C 4 0 1 — 1 か ら、 ネ ッ ト ワーク ' ア ド レ ス ( 2 . 3 . 5 ) を持つ P C 4 0 1 — 3 へのデータ転送は、 転送規則 3 によ り拒絶されねばならない。 つま り、 連想メモ リ 1 0 1で検索した場合、 連想メモリ ' ワー ド 1 0 2 一 3 に対応する一致線 1 0 5 — 3 のみが有効状態" 1,,を出力するの が本来あるべき動作である。 しか し、 従来の連想メモリ 1 0 1 では 上述のよう に、 検索終了後の一致線 1 0 5 — 1 1 0 5 — 5 は不正 な状態となってしまう。
このため、 ネ ッ ト ワークの安全性を確保するために、 入力転送デ —夕の送出元ネ ッ ト ヮ一ク · ア ド レス と宛先ネ ヅ ト ワーク ■ ァ ド レ スに対して転送規則を基に転送の可否を判定する機能は、 従来のネ ヅ ト ワーク機器では上述のように C P Uによ り、 二分木検索アルゴ リ ズムなどを応用 したソフ ト ウエア処理で実現していた。 このソフ ト ウエア処理には数百クロ ック以上が必要であ り、 転送先ネ ッ ト ヮ
—ク ' ア ド レスの計算は連想メモ リ によ り高速化しているにも関わ らず、 ネ ッ ト ワークの安全性を確保 しょう とする とネ ッ ト ワーク全 体の通信速度が低下するという問題があった。
また、 二分木検索アルゴリ ズムなどを応用 したソ フ ト ウエア処理 で転送可否判定演算を実行する場合には、 あ らかじめ巨大な検索テ —プルを作成する必要があるため、 転送規則の削除、 追加、 変更を 行う ためには、 ネ ッ ト ワーク機器の転送動作を中断しなければな ら ない という問題があった。 そのため、 ネ ヅ ト ワーク機器の管理者が 転送規則の削除、 追加、 変更を頻繁に行わな く な り、 ネ ッ ト ワーク 全体の安全性が低下したま ま運用せざるをえないという 問題があつ また、 転送可否判定を少しでも高速に実行 しょう とすると、 高価 な高速 C P Uシステムを搭載しなければならず、 ネ 、ソ ト ワーク機器 全体としての価格が上昇してしまうという問題があった。
そこで、 本発明の目的は、 複数の検索領域から構成される入力デ
—夕に対してマスク情報を考慮して検索を行ったときに、 入力デ一 夕に対応する記憶データがすべて一致するワー ドが複数個あった場 合に、 優先順位を考慮して検索領域ごとに構造化データを構成する マスク情報のマス ク有効状態のビヅ ト数を一致したヮ一 ドの中で比 較した結果、 最少となるようなワー ドを識別する信号を出力する連 想メモリ を提供することにある。
更に他の目的と して、 入力転送デ一夕に対 して転送規則を基に転 送の可否を判定する機能を高速に実行するネ ッ ト ワーク機器を提供 することにある。
更に他の目的と して、 転送動作を中断せずに、 転送規則の削除、 追加、 変更を実行するこ とができるネ ッ ト ワーク機器を提供するこ とにある。
更に他の目的と して、 転送可否判定を高速に実行するネ ッ ト ヮ一 ク機器の トータルコス トを削減することである。
更に他の目的と して、 安全性を確保し、 かつ、 高速にデ一夕 を転 送できるネッ トワーク . システムを提供することにある。 発明の開示
本発明の連想メモリ は、 手段 1 と して、 記憶データの 1 ビッ ト ま たは複数ビ ッ ト ごとに検索対象から除外するか否かを、 有効状態、 無効状態によ り設定可能なマスク情報を当該記憶データの 1 ワー ド または複数ワードごとに有する連想メモリ において、
N個 ( Nは 2以上の整数) の部分ビツ ト領域から構成される外部 検索デ一夕の全ビ ヅ トに対して 1 ワー ド ごとにマスク情報がマスク 有効状態の場合に対応する当該記憶データの 1 ビツ ト または複数ビ ッ ト を検索対象から除外する 1 次検索を行った結果選出される ヮ一 ドを識別する 1次識別信号を出力する 1次検索手段と、
選出状態にあ り続けている ワー ドに対応する記憶デ一タ同士、 該 ワー ドに対応するマスク情報同士、 および外部検索データの中の一 組または複数組を入力と した論理演算によ り生成される 中間デ一夕 を出力する中間データ生成手段と、
前記外部検索データの部分ビツ ト領域の構成と同様に前記中間デ 一夕 を N個に分割した部分ビッ ト領域の各々一つを入力と し、 2次 検索制御信号の状態によ り ワー ドにおける当該部分ビッ ト領域に対 応する前記記憶データ またはマスク情報のビッ ト領域に対してのみ 選択的に 2次検索を実行するか否かを制御可能であ り 、 且つ検索の 結果選出されるワー ドを識別する 2次識別信号を出力する一つまた は複数の共有 2次検索手段と、
1 次検索および各 2 次検索をとお して、 ワー ド毎に対応するヮ一 ドが選出され続けているか否かのワー ド有効情報を 1 次検索および 各 2次検索実行の度に更新、 記憶し、 その選出状態、 非選出状態を 前記中間データ生成手段に出力する記憶手段と、
前記外部検索デ一夕の全ビ ッ ト領域を検索デ一夕 と して前記 1 次 検索を行った後、 前記中間データの前記 N個の部分ビ ッ ト領域を順 次検索データ と して前記 2 次検索を実行するよう に前記 2次検索制 御信号を出力する制御手段とを、 有するものである。
本発明の連想メモリ は、 手段 2 と して、 記憶データの 1 ビッ ト ま たは複数ピッ ト ごとに検索対象か ら除外するか否かを、 有効状態、 無効状態によ り設定可能なマスク情報を当該記憶デ一夕の 1 ワー ド または複数ワードごとに有する連想メモリにおいて、 N個 ( Nは 2以上の整数) の部分ビッ ト領域から構成される外部 検索データの全ビ ッ トに対して 1 ワー ド ごとにマスク情報がマスク 有効状態の場合に対応する当該記憶データの 1 ビッ ト または複数ビ ッ ト を検索対象か ら除外する 1 次検索を行った結果選出されるヮ一 ドを識別する 1次識別信号を出力する 1次検索手段と、
選出状態にあ り続けている ワー ドに対応する記憶データ同士、 該 ヮ一 ドに対応するマスク情報同士、 および外部検索デ一夕の中の一 組または複数組を入力と した論理演算によ り生成される中間データ を出力する N個の中間デ一夕生成手段と、
前記外部検索データの部分ビッ ト領域の構成と同様に前記中間デ —夕 を N個に分割 した部分ビヅ ト領域の各々一つを入力と し、 ヮー ドにおける当該部分ビッ ト領域に対応する前記記憶データまたはマ スク情報のビ ッ ト領域に対してのみ選択的に 2次検索を行った結果 選出される ヮ一 ドを識別する 2次識別信号を出力する N個の 2 次検 索手段とを有し、
前記 N個の中間データ生成手段と N個の 2 次検索手段は、 第 1 の 中間デ一夕生成手段は 1 次検索の結果生成された第 1 の中間デ一夕 を前記第 1 の 2次検索手段に入力 し第 1 の部分ビツ ト領域に対して 第 1 の 2次検索を行い、 第 2 の中間デ一夕生成手段は第 1 の 2次検 索の結果生成された第 2 の中間デ一夕を前記第 2 の 2次検索手段に 入力 し第 2 の部分ビッ ト領域に対して第 2 の 2次検索を行い、 第 3 の中間デ一夕生成手段は第 2 の 2 次検索の結果生成された第 3 の中 間デ一夕を前記第 3 の 2次検索手段に入力 して第 3 の部分ビッ ト領 域に対して 2 次検索を行い、 以下同様に構成し、 第 Nの中間データ 生成手段は第 ( N— 1 ) の 2次検索の結果生成された第 Nの中間デ —夕 を前記第 Nの 2 次検索手段に入力 し第 Nの部分ビッ ト領域に対 して 2次検索を行う、 ものである。
本発明の連想メモ リ は、 手段 3 と して、 前記第 1 から第 Nの 2 次 検索手段において、 1次検索および各 2次検索をとお してヮ一 ド毎 に対応するワー ドが選出され続けているか否かのワー ド有効情報を 第 Jから第 Kの ( J、 Kは 1以上 N以下の整数) 各 2次検索の実行 の度に更新、 記憶し、 各ワー ドの選出状態、 非選出状態を出力する 記憶手段と、
ヮ一 ドの選出状態を示す信号を入力 と し、 選出状態にあるワー ド に対応する記憶データ同士、 該ワー ドに対応するマスク情報同士、 および外部検索デ一夕の中の一組または複数組を入力とした前記論 理演算によ り生成される第 Jから第 Kの中間データを出力する共有 中間データ生成手段と、
2次検索制御信号の状態によ り ワー ドにおける前記記憶デ一夕 ま たはマスク情報の第 Jから第 Kの部分ビヅ ト領域に対応するピ ト 領域に対してのみ選択的に 2次検索を実行するか否かを制御可能で あ り、 且つ検索の結果選出されるワー ドを識別する信号を出力する 一つまたは複数の共有 2次検索手段と、
第 Jの 2 次検索から第 Kの 2次検索を順次実行するよう に前記 2 次検索制御信号を出力 し、 また前記 2次検索の度に前記記憶手段の 前記ワー ド有効情報を更新するため前記記憶制御信号を出力する制 御手段とを、
有するこ とによ り、 第 Jから第 Kの前記 2次検索手段の構成要素を 共有するものである。
本発明の連想メモ リ は、 手段 4 と して、 前記 1 次検索手段におい て、
一つまたは複数の属性デ一夕を検索デ一夕 と し、 前記記憶データ が格納されてい る前記ワー ド と対応する属性一致信号を検索結果と して出力する第 2の連想メモリ を有し、
1 次検索と して、 前記外部検索デ一夕の全ビッ ト に対して 1 ヮ一 ドごとにマスク情報がマス ク有効状態の場合に対応する当該記憶デ —夕の 1 ビッ ト または複数ビッ ト を検索対象から除外した結果選出 され、 且つ対応する前記属性一致信号が前記属性データを前記第 2 の連想メモ リ で検索した結果一致を示している、 ヮ一 ドを識別する 1次識別信号を出力するものである。
本発明の連想メモリ は、 手段 5 と して、 前記 1 次検索手段におい て、
検索データ と して 1 次制御許可信号が有効状態のときには前記外 部検索データ を選択し、 他の場合には前記中間データを選択する選 択手段と、
1次検索許可信号が有効状態のときには該外部検索データの全ビ ヅ ト を検索データ と して 1 ワー ド ごとにマス ク情報がマスク有効状 態の場合に対応する当該記憶デ一夕の 1 ビッ ト または複数ビツ トを 検索対象から除外する 1 次検索を行い、 2次検索制御信号が有効状 態の ときにはワー ドにおける前記記憶データ またはマスク情報の 2 次検索制御信号の状態によ り指定される ビッ ト領域に対してのみ選 択的に 2次検索を実行する手段とを有し、
1次制御許可信号を有効に し前記外部検索データの全ビツ ト領域 を検索デ一タ と して前記 1 次検索を行った後、 前記中間データの前 記 N個の部分ビッ ト領域を順次検索データ と して前記 2次検索を実 行するよう に前記 2 次検索制御信号を出力する制御手段とを有する こ とによ り、 1 次検索手段の構成要素と 2次検索手段の構成要素と を共有するものである。 本発明の連想メモ リ は、 手段 6 と して、 前記 1 次検索手段が出力 する 1 次識別信号、 および前記 N個の 2 次検索手段が出力する第 1 から第 Nの 2次識別信号の中の一つまたは複数を記憶する手段と、 前記第 1 から第 Nの中間データの中の一つまたは複数を記憶する手 段の、 一方または双方を有する こ とによ りパイ プライ ン処理を可能 にするものである。
本発明の連想メモ リ は、 手段 7 と して、 前記中間データ生成手段 に入力する 1 次検索および各 2次検索を とお してワー ド毎に対応す るワー ドが選出され続けているか否かの情報の、 更新、 記憶を結線 論理を用いて構成することによ り 、 当該情報を前記中間データ生成 手段に入力するための配線と、 1 次識別信号または 2次識別信号の 配線とを共用するものである。
本発明の連想メモ リ は、 手段 8 と して、 前記中間データの各部分 ビッ ト領域に、 前記外部検索デ一夕の対応する部分ビッ ト領域と同 じ優先順位を付与し、 該中間データの該部分ビッ ト領域について優 先順位の高位から低位への順に検索デ一夕 と して前記 2 次検索を実 行するものである。
本発明の連想メモ リ は、 手段 9 と して、 前記記憶データ と して 1 次検索の際に対応する前記マスク情報によ り検索対象から除外され る 1 ビッ ト または複数のビ ッ ト に特定ビヅ ト · パターンを格納 し、 2次検索と して、 該記憶デ一夕 ま たは該記憶データの検索対象とな る部分ビッ ト領域が、 検索データ と して入力される前記中間データ または前記中間デ一夕の部分ビッ ト領域と一致したワー ドを選出す るものである。 - 本発明の連想メモリ は、 手段 1 0 と して、 前記記憶データ におい て 1 次検索の際に対応する前記マスク情報によ り検索対象から除外 される 1 ビ ッ ト または複数のビッ ト が特定ビ ヅ ト . パターンである とみな して 2次検索を行い、 該記憶データまたは該記憶デ一夕の検 索対象となる部分ビッ ト領域が、 検索デ一夕 と して入力される前記 中間データ または前記中間データの部分ビッ ト領域と一致したヮ一 ドを達出するものである。
本発明の連想メモリ は、 手段 1 1 と して、 前記特定ビツ ト · パ夕 —ンは、 すべての当該ビッ トが記憶データの無効状態によ り構成さ れているものである。
本発明の連想メ モリ は、 手段 1 2 と して、 前記論理演算は、 選出 状態にある ワー ドに対応する記憶デ一夕同士の、 記憶デ一夕の有効 状態を真とする論理和演算であ り、 その論理和演算結果を前記中間 データ と し、 前記 2次検索は、 該中間デ一夕 と一致する記憶デ一夕 を有するワードを選出するものである。
本発明の連想メ モリ は、 手段 1 3 と して、 前記論理演算は、 選出 状態にある ワー ド に対応するマスク情報同士の、 マスク情報の有効 状態を真とする論理積演算であ り、 該論理積演算結果のビッ トがマ ス ク情報の無効状態ならば前記外部検索データの同一のビッ ト位置 の情報を中間デ一夕の同一ビッ ト位置の状態と し、 該論理積演算結 果のピッ ト がマス ク情報の有効状態ならば記憶データの無効状態を 前記中間データの同一ビッ ト位置の状態と して前記中間デ一夕 を生 成し、 前記 2次検索は該中間デ一夕 と一致する記憶デ一夕を有する ヮ一 ドを選出するものである。
本発明の連想メ モ リ は、 手段 1 4 と して、 前記論理演算は、 選出 状態にある ワー ド に対応するマスク情報同士の、 マスク情報の有効 状態を真とする論理積演算であ り、 その論理積演算結果を中間デー 夕 と し、 前記 2次検索は該中間デ一夕 と一致するマスク情報を有 し 且つその時点までに選出状態にあるワー ドを選出するものである。 本発明のネ ッ ト ワーク機器は、 手段 1 5 と して、 入力転送データ に付随する送信元ネ ッ ト ワーク · ア ド レスおよび宛先ネ ッ ト ヮ一 ク ■ ア ド レス を構成要素に含む判定入力デ一夕 を検索データ と して 一つまたは複数個の転送規則に対して検索を行ったときの一致状態 によ り該入力転送デ一夕の転送可否を判定し、
前記転送規則は、 前記判定入力データの各構成要素に対応するビ ツ ト領域を含む記憶データ と、 転送可否情報と、 前記転送規則の 1 つまたは複数個毎に前記記憶デ一夕の中で 1 ビッ ト または複数ビッ 卜の領域の 1 つまたは複数を検索対象から除外するか否かを表すマ スク情報によ り表現される転送規則テーブルを有するネ 、ソ ト ワーク 機器において、
前記入力転送データに付随する前記送信元ネ ッ ト ワーク · ァ ド レ スおよび前記宛先ネ ッ トワーク · ア ド レスを構成要素に含む前記判 定入力データ を検索デ一夕 と して、 前記転送規則ごとにマス ク情報 がマスク有効状態の場合に対応する対応する記憶デ一夕の 1 ビ ッ ト または複数ビッ トを検索対象から除外する 1次検索を行い
前記 1 次検索の結果、 選出された一つまたは複数の転送規則を構 成する記憶データ 同士、 マスク情報同士、 前記判定入力デ一夕の中 の、 一組または複数組を入力と した論理演算によ り 中間データ を生 成し、
前記判定入力データの第 1 の構成要素から最終の構成要素に対し て同様に順次、 前記 1 次検索、 前記 2次検索の度に選出されつづけ ている一つまたは複数の転送規則を構成する、 記憶データ同士、 マ スク情報同士、 前記判定入力データの中の、 一組または複数組を入 力と した前記論理演算の結果によ り更新された中間データの当該構 成要素に対応する ビ ッ ト領域を検索データ と して、 当該構成要素に 対応する ビ ツ ト領域の記憶デ一タ またはマス ク情報について選択的 に 次検索を実行し、
最終的に選出された転送規則によ り、 当該入力転送デ一夕の転送 の可否を決定するものである。
本発明のネ ッ トワーク機器は、 手段 1 6 と して、 入力転送データ に付随する送信元ネ ッ ト ワーク · ア ド レスおよび宛先ネ ッ ト ヮ一 ク · ア ド レスを構成要素に含む判定入力データ を検索データ と して 一つまたは複数個の転送規則に対して検索を行ったときの一致状態 によ り該入力転送データの転送可否を判定し、
前記転送規則は、 前記判定入力データの各構成要素に対応する ビ ッ ト領域を含む記憶デ一夕 と、 転送可否情報と、 前記転送規則の 1 つまたは複数個毎に前記記憶データの中で 1 ビッ ト または複数ピツ トの領域の 1 つまたは複数を検索対象から除外するか否かを表すマ スク情報によ り表現される転送規則テーブルを有するネ ッ ト ヮ一ク 機器において、
判定入力デ一夕の全ビ ッ ト を検索データ と して、 前記転送規則ご とにマス ク倩報がマスク有効状態の場合に対応する当該記憶デ一夕 の 1 ピ ッ ト または複数ビ ッ ト を検索対象から除外する 1 次検索を行 つた結果選出される転送規則を識別する 1次識別信号を出力する 1 次検索手段と、
選出状態にあ り続けている転送規則に対応する記憶データ同士、 該ワー ドに対応するマスク情報同士、 および判定入力デ一夕の中の 一組または複数組を入力と した論理演算によ り生成される中間デ一 夕を出力する中間データ生成手段と、
前記判定入力デ一夕の構成要素のビツ ト領域と同様に前記中間デ 一夕を分割 した部分ビッ ト領域の各々一つを入力と し、 2次検索制 御信号によ り 転送規則における当該部分ビッ ト領域に対応する前記 記憶データ またはマスク情報のビ ッ ト領域に対してのみ選択的に 2 次検索を実行するか否かを制御可能であ り、 且つ検索の結果選出さ れる転送規則を識別する 2 次識別信号を出力する一つまたは複数の 共有 2次検索手段と、
1 次検索および各 2次検索をとお して、 転送規則毎に対応する転 送規則が選出され続けているか否かの転送規則有効情報を 1 次検索 および各 2 次検索実行の度に更新、 記憶し、 その選出状態、 非選出 状態を示す一致信号を前記中間データ生成手段に出力する記憶手段 と、
前記判定入力デ一夕の全ビッ ト領域を検索データ と して前記 1 次 検索を行った後、 前記中間データ の各部分ビッ ト領域を順次検索デ 一夕 と して前記 2次検索を実行するよう に前記 2次検索制御信号を 出力する制御手段と、
前記一致信号によ り参照 した転送可否情報によ り 当該入力転送デ —夕の転送の可否を決定する手段と、 有するものである。
本発明のネ ッ ト ワーク機器は、 手段 1 7 と して、 入力転送デ一夕 に付随する送信元ネ ヅ ト ワーク · ア ド レスおよび宛先ネ ヅ ト ヮ一 ク · ア ド レスを含む N個 ( Nは 2 以上の整数) の構成要素から構成 される判定入力データを検索デ一夕 と して一つまたは複数個の転送 規則に対して検索を行った ときの一致状態によ り該入力転送データ の転送可否を判定し、
前記転送規則は、 前記判-定入力データの各構成要素に対応する ビ ッ ト領域を含む記憶デ一夕 と、 転送可否情報と、 前記転送規則の 1 つまたは複数個毎に前記記憶デ一夕の中で 1 ビッ ト または複数ビッ トの領域の 1 つまたは複数を検索対象から除外するか否かを表すマ スク情報によ り表現される転送規則テーブルを有するネ ツ ト ワーク 機器において、
判定入力データの全ビッ ト を検索データ と して、 前記転送規則ご とにマスク情報がマスク有効状態の場合に対応する当該記憶デ一夕 の 1 ビ ト または複数ビッ ト を検索対象から除外する 1 次検索を行 つた結果選出される転送規則を識別する 1 次識別信号を出力する 1 次検索手段と、
選出状態にあ り続けている転送規則に対応する記憶デ一夕 同士、 該ワー ドに対応するマスク情報同士、 および外部検索デ一夕の中の 一組または複数組を入力と した論理演算によ り生成される中間デ一 夕を出力する N個の中間データ生成手段と、
前記判定入力デ一夕の構成要素のビッ ト領域と同様に前記中間デ 一夕を分割 した部分ビッ ト領域の各々一つを入力と し、 転送規則に おける当該部分ピッ ト領域に対応する前記記憶デ一夕 またはマスク 情報のビッ ト領域に対してのみ選択的に 2次検索を行った結果選出 される転送規則を識別する信号を出力する N個の 2次検索手段と 前記第 Nの 2次検索手段によ り選出された転送規則によ り参照し た転送可否情報によ り 当該入力転送データの転送の可否を決定する 手段とを有し
前記 N個の中間データ生成手段と N個の 2 次検索手段は、 第 1 の 中間デ一夕生成手段は 1次検索の結果生成された-第 1 の中間データ を前記第 1 の 2次検索手段に入力 し第 1 の部分ビッ ト領域に対して 第 1 の 2 次検索を行い、 第 · 2 の中間データ生成手段は第 1 の 2 次検 索の結果生成された第 2の中間データを前記第 2 の 2 次検索手段に 入力 し第 2 の部分ビッ ト領域に対して第 2 の 2次検索を行い、 第 3 の中間データ生成手段は第 2 の 2 次検索の結果生成された第 3 の中 間デ一タを前記第 3 の 2次検索手段に入力 して第 3 の部分ビッ ト領 域に対して 2 次検索を行い、 以下同様に構成し、 第 Nの中間データ 生成手段は第 ( N— 1 ) の 2次検索の結果生成された第 Nの中間デ —夕を前記第 Nの 2 次検索手段に入力し第 Nの部分ビッ ト領域に対 して 2次検索を行うものである。
本発明のネ ヅ ト ワークシステムは、 手段 1 8 と して、 手段 1 5 か ら 1 7 に記載の前記ネ ヅ ト ワーク機器を介してネ ヅ ト ヮ一クに接続 された機器間でデータ通信を行うものである。 図面の簡単な説明
図 1 は、 本発明の第一の実施の形態の連想メモリ の一構成例を示 すプロヅ ク図である。
図 2 は、 本発明の第一の実施の形態の連想メモリ の一構成例の詳 細を示すプロヅ ク図である。
図 3 は、 本発明の第一の実施の形態の連想メモリ における単一領 域検索用連想メモリの一構成例を示すプロ ック図である。
図 4 は、 本発明の第一の実施の形態の連想メモリ における単一領 域検索用連想メモリ の連想メモリ · セルの一構成例を示す回路図で める。
図 5 は、 本発明の第一の実施の形態の連想メモリ の動作を説明す るフローチャートである。
図 6 は、 本発明の第一の実施の形態の連想メモリ のステッ プ S 1 0 0での動作状態の一例を示す説明図である。
図 7 は、 本発明の第一の実施の形態の連想メモ リ のステッ プ S 1 0 1での動作状態の一例を示す説明図である。 図 8 は、 本発明の第一の実施の形態の連想メモ リのステッ プ S 1 0 2での動作状態の一例を示す説明図である。
図 9 は、 本発明の第一の実施の形態の連想メモリ のステ ップ S 1 0 5での動作状態の一例を示す説明図である。
図 1 0 は、 本発明の第一の実施の形態の連想メモリ における単一 領域検索用連想メモリの第二の構成例を示すプロック図である。
図 1 1 は、 本発明の第二の実施の形態の連想メモリ の一構成例の 詳細を示すブロ ック図である。
図 1 2 は、 本発明の第二の実施の形態の連想メモリ における単一 領域検索用連想メモリのー構成例を示すブロック図である。
図 1 3 は、 本発明の第三の実施の形態の連想メモリ の一構成例を 示すプロ ック図である。
図 1 4 は、 本発明の第三の実施の形態の連想メモリ の一構成例の 詳細を示すブロ ック図である。
図 1 5 は、 本発明の第三の実施の形態の連想メモ リ における 1 次 連想メモリの一構成例を示すブロック図である。
図 1 6 は、 本発明の第三の実施の形態の連想メモリ における 1 次 連想メモリの連想メモリ · セルの一構成例を示す回路図である。
図 1 7 は、 本発明の第三の実施の形態の連想メモ リ における 2次 連想メモリの一構成例を示すブロック図である。
図 1 8 は、 本発明の第三の実施の形態の連想メモリ における 2 次 連想メモリの連想メモリ · セルの一構成例を示す回路図である。
図 1 9 は、 本発明の第三の実施の形態の連想メモリ の単一領域検 索用連想メモリの動作例を示す説明図である。
図 2 0 は、 本発明の第三の実施の形態の連想メモ リ のステッ プ S 1 0 0での動作状態の一例を示す説明図である。 図 2 1 は、 本発明の第三の実施の形態の連想メモリ のステ ップ S 1 0 1での動作状態の一例を示す説明図である。
図 2 2 は、 本発明の第三の実施の形態の連想メモリ のステップ S 1 0 2 での動作状態の一例'を示す説明図である。
図 2 3 は、 本発明の第三の実施の形態の連想メモリ のステッ プ S 1 0 5 での動作状態の一例を示す説明図である。
図 2 4 は、 本発明の第四の実施の形態の連想メモリ の一構成例の 詳細を示すブロ ック図である。
図 2 5 は、 本発明の第四の実施の形態の連想メモリ における 1 次 連想メモリの一構成例を示すプロヅク図である。
図 2 6 は、 本発明の第五の実施の形態の連想メモリ の一構成例を 示すプロ ック図である。
図 2 7 は、 本発明の連想メモ リ を転送可否判定に用いた本発明の ネッ トワーク機器の一構成例を示すプロヅ ク図である。
図 2 8 は、 従来の連想メモリの一構成例を示すブロ ック図である。 図 2 9 は、 従来の連想メモ リ ■ セルの一構成例を示す回路図であ る。
図 3 0は、 従来の連想メモリの動作例を示す図である。
図 3 1 は、 従来の連想メモ リ の動作例を説明するタイ ミ ング · チ ャ一 トである。
図 3 2 は、 従来の連想メモリ で複数のネ ッ ト ワーク · ア ド レスの 検索を行った場合の動作例を示す図である。
図 3 3 は、 従来のコ ン ピュータ · ネ ヅ ト ワークの構成の接続例を 示す図である。 - 図 3 4 は、 従来の連想メモリ を転送先ネ ヅ ト ワーク ■ ア ド レス計 算に用いた従来のネ ヅ ト ワーク機器の一構成例を示すプロ ヅ ク図で ある 発明を実施するための最良の形態
[第一の実施例の構成]
次に、 本発明の第一の実施の形態について図面を参照して詳細に 説明する。 図 1は、 本発明の Hi語の連想メモ リ 1の構成例を示すブ ロ ッ ク図である。 連想メモリ 1は、 ク ロ ヅ ク信号 4 1、 開始信号 4 2 , および r個の検索デ一夕 3— 1〜 3— rによ り構成される入力 デ一夕 2を入力と し、 m本の一致信号 5— 1〜 5— mを出力とする。 また、 連想メモ リ 1は、 m語の単一領域検索用連想メモリ 3 6 — 1 〜 3 6— r、 主制御回路 6、 論理積手段 3 9 — 1〜 3 9— m、 およ び記憶手段 43— 1〜43— 111を有してぃる。
主制御回路 6は、 ク ロ ヅ ク信号 4 1、 開始信号 4 2を入力と し、 記憶制御信号 1 2、 1次検索許可信号 1 0— 1〜 1 0— m、 および 2次検索許可信号 1 1 — 1〜 1 1— rを出力 とする。 主制御回路 6 は読み書きが可能な内部変数 2 8を有 している。 内部変数 2 8の値 を pで表す。 主制御回路 6は、 開始信号 4 2が有効状態のとき入力 データ 2の検索動作を開始し、 ク ロ ッ ク信号 4 1に同期して、 記憶 制御信号 1 2、 1次検索許可信号 1 0— 1〜 1 0— m、 および 2次 検索許可信号 1 1 — 1〜 1 1 — rを、 図 5 に示す本発明の第一の実 施の形態の連想メモリ の動作を説明するフ ロ一チャー トに従って出 力する。
i番目の単一領域検索用連想メモリ 3 6 - iは、 検索データ 3— i、 1次検索許可信号 1 0· - i、 2次検索許可信号 1 1一 i、 およ ぴ m本の共通一致線 3 8— 1〜 3 8— mを入力とし、 単一領域での 検索結果と して m本の一致線 3 7— i— :! 〜 3 7— i— mを出力す る。 単一領域検索用連想メモリ 3 6— i の単一領域での検索動作は 1 次検索許可信号 1 0— i 、 2次検索許可信号 1 1 — i によ り次の よう に制御される。 1次検索許可信号 1 0— i が有効状態の場合に は、 検索データ 3— i と内部に格納した記憶データ とを、 対応する マス ク情報を考慮して比較する 1 次検索を行い、 結果を一致線 3 7 — i— 1 〜 3 7— i— mに出力する。 2次検索許可信号 1 1一 iが 有効状態の場合には、 内部に格納した記憶データ と、 マスク情報の 双方または一方を用いて、 m本の共通一致線 3 8— 1 〜 3 8— mの 状態に応じた中間データを生成し、 中間データ による 2次検索を行 つた結果を一致線 3 7— i— 1 〜 3 7— i— mに出力する。 中間デ 一夕による 2次検索と しては、 連想メモリ 1 を i番目の単一領域検 索用連想メモリ 3 6— i を単独で構成し 1 次検索に続けて 2次検索 を行った場合に、 検索デ一夕 3— i とマスク情報を考慮して一致す る記憶データの中で最もマスク情報の有効状態のピッ ト数が少ない 記憶データに対応する一致線 3 7 - i - 1 〜 3 7— i— mのみに有 効状態を出力することができるものとする。
ただ し、 i番目の単一領域検索用連想メモ リ 3 6— i は、 1 次検 索許可信号 1 0— i 、 2次検索許可信号 1 1 — i が、 ともに無効状 態の場合には、 m本の一致線 3 7— i— 1 〜 3 7— i— mにすぺて 共通一致線 3 8の有効状態を出力する。
本例では、 検索データ 3 — 1 の優先順位を最も高い 1 と し、 検索 デ一夕 3— 2の優先順位を 2 , 以下同様に検索デ一夕 3— rの優先 順位を最低の r と仮定する。 こ こ で、 各検索デ一夕 3— 1 〜 3— r のビ ヅ ト数は同じである必-要はない。 また、 検索データ 3 — 丄 〜 3 一 は、 それそれ、 対応する単一領域検索用連想メモリ 3 6— 1 〜 3 6— rに入力されるのであれば、 入力データ 2 の中での順序は任 意である。 また、 連想メモリ 1 内部での、 Γ個の単一領域検索用連 想メモリ 3 6— 1〜 3 6— rの順序も、 接続関係さえ対応がとれて いれば任意であることはいうまでもない。
j 番目の論理積手段 3 9— j は、 r本の一致線 3 7 - j - 7— j — r、 および 1本の共通一致線 3 8— j を入力と し、 共通 致線 3 8 の有効状態を真とする論理積演算を行つた結果を、 信号 4 0 — j と して出力する。 本例では、 論理積信号 4 0 - j と一 致信号 5— j は同一である。
j 番目の記憶手段 4 3 — j は、 論理積信号 4 0 - j s および記憶 制御信号 1 2 を入力と し、 共通一致線 3 8 — j を出力とする。 記憶 制御信号 1 2の状態に応じて、 共通一致線 3 8 一 j の状態を保持、 または論理積信号 4 0 — j の値を記憶、 または共通一致線 3 8 の有 効状態に初期化、 の動作を行う。
図 2 は、 本発明の第一の実施の形態の連想メモ リ の一構成例の詳 細を示すブロ ック図である。 本例では、 単一領域検索用連想メモリ 3 6— 1 は nビッ ト m語、 単一領域検索用連想メモリ 3 6— r は s ビ ト m語と、 1語を構成する ビ ッ ト数が異なるのみで内部の構成 は同一である。
単一領域検索用連想メモリ 3 6 ― 1 は、 nビヅ トの連想メモリ · ワー ド 4 4— 1— l〜 4 4—m— 1 と、 制御回路 4 5— 1 を有 して いる。 単一領域検索用連想メモリ 3 6— rは、 s ビヅ 卜の連想メモ リ ' ワー ド 4 4— 1 — r〜 4 4 一 m — と、 制御回路 4 5—; r を有 している。
J ' 番目の連想メモリ · ワー ド 4 4— j — 1 は 、 n個のデータ ' セ ル 8 — j 一 1 一 1〜 8 — j 一 n — 1 および、 n個のマスク · セル 9 — j 一 1 一 1〜 9 一 j 一! 1 — 1 を有 している( , j 番目の連想メモ リ ' ワー ド 4 4— j 一 は、 s個のデータ ' セル 8— j — 1一 r〜 8— j — s— ; rおよび、 s個のマスク ' セル 9— j— 1— r〜 9一 j— s— rを有している。
[第一の実施例の単一領域検索用連想メモリの構成]
次に上述の単一領域検索用連想メ モ リ 3 6 の構成例を図 3 を用い て説明する。 単一領域検索用連想メ モ リ 3 6 は、 nビッ ト 2入力 1 出カイネーブル付きセレクタ 8 2 と、 n ビ ヅ ト m語の連想メモリ · ワー ド 4 4— 1〜 4 4— と、 制御回路 4 5 と、 論理ゲー ト 5 8— 1〜 5 8— と、 抵抗 5 7— 1〜 5 7— nを有している。 j 番目の 連想メモリ · ワー ド 4 4— j は、 n個の連想メ モ リ ' セル 8 3— j — 1 〜 8 3— j — nを有している。 連想メモリ ' ヮ一 ド 4 4— j に は、 対応するデータ · ワー ド線 5 3 - j と、 マス ク · ワー ド線 5 4 一 j と、 共通一致線 3 8— j と、 および比較制御信号 8 5 が入力の ために接続され、 対応する一致線 3 7— j 、 および n本の一致デ一 夕中間論理線 5 2— l 〜 5 2— nが出力のために接続され、 n本の ビヅ ト線 5 1— 1〜 5 1— nが入出力のために接続されている。
なお、 本例では、 マスク情報のマスク有効状態を" 0 "、 マスク無効 状態を" 1 "と し、 記憶データの有効状態を" 1 "、 無効状態を" 0 "とす る。 記憶デ一夕 と同様に、 一致デ一夕論理和線 5 2— 1 〜 5 2— n の有効状態を" 1 "、 無効状態を" 0 "とする。 一致線 3 7— 1〜 3 7— m、 共通一致線 3 8— 1〜 3 8— mの有効状態を" 1 "、 無効状態を " 0 "とする。
一致線 3 7 — 1 〜 3 7— mは、 あ らかじめハイ ' レベルにプリ ■ チャージされ、 有効状態" 1 "になっているものとする。
j 番目の連想メ モ リ · ヮ一 ド 4 4一 j の k ビ ッ ト 目の連想メ モ リ ' セル 8 3 - j一 kには、 対応するデータ ' ワー ド線 5 3 - j と、 マスク ■ ワー ド線 5 4 - j と、 共通一致線 3 8 - j と、 および比較 制御信号 8 5 が入力のために接続され、 対応する一致線 3 7— j 、 および一致デ一夕 中間論理線 5 2— kが出力のために接続され、 ビ ヅ ト線 5 1— kが入出力のために接続されている。
各連想メモリ ' セル 8 3— j — kは、. ビ ッ ト線 5 1 — kを介して 外部から入力される記憶デ一夕の対応する ビツ ト情報を格納するデ —夕 ' セル 8— j — k と、 デ一夕 ' セル 8— j — kに記憶されたビ ッ ト情報と外部から ビ、ソ ト線 5 1一 kを介して入力される情報とを 比較する比較器 8 4— j— k と、 外部から ビッ ト線 5 1 — kを介し て入力されるマスク情報の対応する ビッ ト情報を格納するマスク ' セル 9— j — kと、 および論理ゲー ト 5 6— j— kとを備えている。 ここで、 マスク · セル 9一 j一 kに格納されたビヅ ト情報がマスク 情報のマスク有効状態の場合には、 対応するデ一夕 ' セル 8— j— kには、 記憶データの無効状態を格納する。
比較器 8 4— j 一 kは、 対応する ビ ヅ ト線 5 1 — k と、 それに同 一の連想メモリ ' セル 8 3— j — kの中のデ一夕 ■ セル 8— j 一 k に格納されている記憶デ一夕 と、 マスク ' セル 9— j一 kに格納さ れているマスク情報と、 および比較制御信号 8 5 を入力とする。 比 較器 8 4— j — kは、 比較制御信号 8 5 が無効状態" 0 "かつマスク 情報がマスク有効状態" 0 "ならば、 対応する一致線 3 7— j を解放 状態に し、 それ以外の場合には、 ビッ ト線 5 1— kの値と記憶デ一 夕が一致するなら ば対応する一致線 3 7— j を開放状態に し、 一致 しないならば無効状態" 0 "を出力する。 連想メモ リ · ワー ド 4 4— j の中の n個の比較器 8 4—— j ― 1 〜 8 4 - j一 nがすべて一致線 3 7 — j を開放状態に している と きに、 一致線 3 7— j は有効状態 " 1 "とな り、 それ以外の場合には無効状態" 0 "となる、 一致線 3 7の 有効状態" 1 "を真と したワイア一 ド AN D論理接続を構成している つま り、 検索動作時には、 比較制御信号 8 5が無効状態" 0"かつマ スク情報がマスク有効状態" 0 "のために比較対象から除外されたビ ヅ ト を除いて、 連想メモリ · ヮ一 ド 44— j が格納している記憶デ 一夕 と ビヅ ト線 5 1— 1 ~ 5 1 — nが完全に一致する場合に限り、 一致線 3 7— j は有効状態" 1 "とな り、 それ以外の場合は無効状態 "0"となる。 も ちろん同様の動作となるよう に通常の論理ゲー ト を 用いて構成してもかまわない。
論理ゲ一 ト 5 6— j— kは、 同一の連想メモリ ' ワー ド 4 4一 j の中の共通一致線 3 8— j が有効状態" 1 "かつ、 同一の連想メモ リ ' セル 8 3— j — kの中のデ一夕 ' セル 8— j — kに格納された 記憶デ一夕が有効状態のと きに、 対応する一致デ一夕 中間論理線 5 2— kに" 0 "を出力 し、 それ以外の場合には開放状態にする。 ここ で本例では記憶デ一夕の有効状態が" 1 "であるので、 デ一夕 ' セル 8 - j 一 kに格納された記憶データが" 1 "かつ一致線 5— jが" 1 " のときに、 対応する一致データ中間論理線 5 2— kに" 0"を出力 し、 それ以外の場合には解放状態を出力する。
一致デ一夕 中間論理線 5 2 - 1〜 5 2— nは、 抵抗 5 7 - 1〜 5 7— nによ り プル ' アップされてお り、 対応する m個の論理ゲ一 ト 5 6 - 1— 1〜 5 6— m— nとワイ ア一 ド論理接続を構成している したがって、 従来の連想メ モリ 1 0 1の一致データ中間論理線 1 1 4一 :! 〜 1 1 4一 nと同様に、 接続されている m個の論理ゲー ト 5 6がすべて一致データ中間論理線 5 2を開放状態に している ときに. 一致データ 中間論理 g 5 2—は" 1 "とな り、 それ以外の場合には" 0 " となる。 つま り " 1 "を真と したワイ アー ド AND接続となっている。 も ちろん同様の動作となる ように通常の論理ゲー ト を用いて構成し てもかまわない。
論理ゲ一 ト 5 8 — 1〜 5 8— nは、 対応する一致データ 中間論理 線 5 2— 1〜 5 2 — nの論理状態を反転し、 中間デ一タ線 9 2 — 1 〜 9 2— nとして出力する。
したがって、 中間データ線 9 2 — kには、 m個の論理ゲー ト 5 6 一 1 一 k〜 5 6 — m— kと一致デ一夕中間論理線 5 2— k、 抵抗 5 7 — k、 および論理ゲー ト 5 8— kによ り、 検索動作時に有効状態 "1 "となっている一致線 3 7— 1 〜 3 7 — inを有するすべての連想 メモリ · セル 8 3— l _ k〜 8 3 — m— kの中のデ一夕 · セル 8— 1 — 1〜 8 — m— kに格納されている記憶データ どう しを、 記憶デ 一夕の有効状態を真と した論理和演算した結果が得られる こ とにな る。 本例では、 記億デ一夕の有効状態" 1 "を真と した論理和演算レ た結果が得られる。 もちろん同様の動作となるように通常の論理ゲ — ト を用いて構成してもかまわない。 これらの動作によ り、 中間デ —夕線 9 2 — 1 〜 9 2 — nには、 検索動作時に検索デ一夕 3 と一致 した記憶データの中で、 最も無効状態" 0 "のビッ ト数が少ない記憶 データと同じ値が出力されることになる。
制御回路 4 5 は、 1次検索許可信号 1 0、 2次検索許可信号 1 1 を入力と し、 比較制御信号 8 5、 選択信号 8 6、 および無効化信号 8 7 を出力する。 制御回路 4 5は、 単一領域検索用連想メモリ 3 6 の検索動作を制御するため、 1次検索許可信号 1 0 , 2次検索許可 信号 1 1 が双方ともに無効状態" 0 "の場合には無効化信号 8 7 に有 効状態" 1 "を出力する。 1次検索許可信号 1 0が有効状態" 1 "の場合 には無効化信号 8 7に有効状態" 0 "を、選択信号 8 6に無効状態" 0 " を、 比較制御信号 8 5 に無効状態" 0 "を出力する。 2次検索許可信 号 1 1が有効状態" 1 "の場合には無効化信号 8 7に有効状態" 0 "を、 選択信号 8 6 に無効状態" 1 "を、 比較制御信号 8 5 に無効状態" 1 " を出力する。
nビ ッ ト 2入力 1 出力イ ネ一ブル付きセ レクタ 8 2 は、 選択信号 8 6、 無効化信号 8 7、 中間データ線 9 2— 1〜 9 2 — n、 検索デ —タ 3 — 1 ~ 3 — nを入力 と し、 ビヅ ト線 5 1 — 1〜 5 1 — 1 を出 力とする。 nビッ ト 2入力 1 出力イ ネ一ブル付きセ レクタ 8 2は、 無効化信号 8 7が有効状態" 1 "のときには、 ビッ ト線 5 1 — 1 ~ 5 1 — nに全ての連想メモリ · ワー ド 4 4— 1 〜 4 4一 mの比較結果 がー致となるような検索無効データを出力し、 それ以外の場合には、 選択信号 8 6が無効状態" 0 "の場合には検索データ 3 — 1〜 3 — n を、 選択信号 8 6が有効状態" 1 "の場合には中間デ一夕線 9 2 _ 1 〜 9 2— nを、 ビ ヅ ト線 5 1— 1〜 5 1— nに出力する。
以上説明したよう に、 本発明の第一の実施の形態の連想メモリ に おける単一領域検索用連想メモリ 3 6の構成と、 従来の連想メモリ 1 0 1の構成を比較する と、 共通一致線 3 8 — 1〜 3 8 — mが追加 されている点、 論理ゲ一 ト 5 6 — j — 1〜 5 6 — j — nの入力が一 致線 1 0 5 — j か ら共通一致線 3 8 — j に変更されている点、 nビ ヅ ト ' ラ ッチ 1 2 1 が削除されている点、 nビ ヅ ト 2入力 1 出力セ レクタ 1 2 3が nビ ッ ト 2入力 1 出力イ ネ一ブル付きセ レクタ 8 2 に変更されている点、 および制御回路 4 5への入力からクロ ッ ク信 号 1 3 1が削除され 1次検索信号 1 0 , 2次検索信号 1 1が追加さ れている点のみが異な り、 他の部分は同様に構成される。 したがつ て、 単一領域検索用連想メ モリ 3 6の外部にて、 仮に、 共通一致線 3 8— 1 〜 3 8— mを、 それそれラ ヅチを介して、 対応する一致線 3 7 — 1〜 3 7 — mと結線 した場合には、 1 次検索許可信号 1 0 に 有効状態を印可した後、 2 次検索許可信号 1 1 に有効状態を印可す る こ とによ り 、 従来の連想メモリ 1 0 1 と同様の動作に、 入力 した 検索データ 3 — 1〜 3— nと、 対応するマスク情報を考慮して比較 した結果一致する記憶データの中で、 マスク情報のマス ク有効状態 のビッ トが最も少ない記憶データ に対応する一致線 3 7 のみに有効 状態を出力することが可能なことは明らかである。
[第一の実施例の構成詳細]
次に、 上述の連想メモリ · セル 8 3 の構成例を図 4を用いて説明 する。 図 2 9 に示す従来の連想メモ リ · セル 1 0 7 と比較すれば分 かる よう に、 本発明の連想メモリ , セル 8 3 は、 共通一致線 3 8が 追加されている点、 および論理ゲー ト 5 6 を構成する M O S ト ラン ジス夕 ( T 1 0 ) 2 1 4が導通状態とするための信号が一致線 3 7 から共通一致線 3 8に変更されている点を除けば、 従来の連想メモ リ ' セル 1 0 7 と同様である。
ここで、 図 3の nビヅ ト 2入力 1 出力イ ネ一ブル付きセ レクタ 8 2 に有効状態" 1 "を入力 したときに、 ビヅ ト線 5 1 a、 5 1 bに出 力される検索無効データについて説明する。 検索無効データ と して 図 3 の nビ ヅ ト 2入力 1 出カイ ネーブル付きセレクタ 8 2はビ ヅ ト 線 5 1 — 1 〜 5 1 — nに対応するすべてのビッ ト線 5 l a、 5 l b の組に、 "0 "を出力する。
従来の連想メモリ ·セル 1 0 7 と同様に、 データを書き込む場合、 および有効な検索データの入力を行う場合には、 ビ ヅ ト線 5 1 bに はビ ヅ ト線 5 1 aの値を反転した値を入力するため、 ビ ヅ ト線 5 1 a、 5 1 bがともに" 0 "とはならない。
比較器 8 4はビッ ト線 5 1 a、 5 1 bがともに" 0 "である場合、 ビ ヅ ト線 1 3 a、 1 3 bの間に直列に揷入された M 0 S ト ランジスタ ( T 3 ) 2 0 5 と M O S ト ラ ンジスタ ( T 4 ) 2 0 6のどち らが導 通状態となっても、 M O S トランジスタ ( T 3 ) 2 0 5 と]\40 3 ト ランジス夕 ( Τ 4 ) 2 0 6 の接続点の電位はロ ウ ' レベルであ り、 M O S ト ラ ンジスタ ( Τ 5 ) 2 0 7 は導通状態とならない。 したが つて、 比較器 8 4は一致線 3 7を解放状態とすることになる。
本例ではビッ ト線 5 1 a、 5 1 bをともに" 0 "にすることで、 検索 無効デ一夕の機能を実現したが、 比較器 8 4の構成に応じて検索無 効データと して他の状態を選択可能なことはいう までもない。
上述のよう に本発明の連想メモリ · セル 8 3は、 従来の連想メモ リ ' セル 1 0 7 と同 じ 1 9個の ト ランジスタで構成でき、 回路規模 は変わらない。 1 0 2 4ワー ド、 3 2 ビッ トの場合には連想メモリ · セル全体で約 6 2万 ト ランジスタの回路規模となる。 連想メモ リ 1 において、 主制御回路 6は 5 0 0 ト ラ ンジスタ程度で構成でき、 論 理積手段 3 9 と記憶手段 4 3は 1語あた り 5 0 ト ランジスタ程度で 構成できるため、 前述の 1 0 2 4 ヮ一 ド、 3 2 ビヅ トの場合に、 従 来の連想メ モ リ 1 0 1 と比較して数%の回路規模の増加と しかなら ないことがわかる。
[第一の実施例の動作]
次に図面を参照して、 本発明の第一の実施の形態の連想メモリ の、 複数の検索デ一夕から構成される入力デ一夕 に対する検索動作につ いて説明する。 図 5 は本発明の第一の実施の形態の連想メモリ の複 数の検索データか ら構成される入力デ一夕に対しての検索動作時の 動作を示すフローチャートである。
また、 フ ローチャー ト の各ステヅ プについて、 連想メモリ 1 を、 図 3 3 におけるネ ヅ ト ヮ—ク ' ア ド レス ( 1 . 2 · 6 ) を持つ P C 4 0 1 — 1 からネ ッ ト ワーク . ア ド レス ( 2 . 3 . 5 ) を持つ P C 4 0 1一 3へのデ一夕転送についての転送の可否判定に用いた場合 を例と して、 図 6 、 図 7、 図 8、 および図 9 を用いて具体的に説明 する。 デ一夕転送時の 9 ビ ヅ トの送出元ア ド レス ( 1 . 2 . 6 ) を 検索デ一夕 3 — 1 と し、 9 ビ ッ ト の宛先ア ド レス ( 2 . 3 . 5 ) を 検索デ一夕 3 — 2 とする。 こ こで検索データ 3 — 1 の優先順位を最 も高い 1 と し、 検索データ 3 — 2 の優先順位を 2 とする。 図 6 、 図
7、 図 8、 および図 9 において、 連想メモリ 1 は、 9 ビ ヅ ト 5語の 単一領域検索用連想メモリ 3 6 — 1 、 および 3 6 — 2 によ り構成さ れるものとする。 また、 表 1 ( b ) における各転送規則の送出元ネ ヅ ト ワーク · ア ド レスの 9 ビ ヅ ト の構造化デ一夕 を構成する 9 ビ ヅ ト の記憶データ、 9 ビ ッ ト のマス ク情報を、 単一領域検索用連想メ モリ 3 6 — 1 の転送規則に対応する連想メモ リ · ワー ド 4 4 — 1 — 丄 〜 4 4 - 5 - 1 のそれそれ記憶データ、 マスク情報と して格納す るものとする。 また、 表 1 ( b ) における各転送規則の宛先ネ ヅ ト ワーク · ア ド レスの 9 ビ ヅ ト の構造化データ を構成する 9 ビ ヅ トの 記憶デ一夕、 9 ピ ヅ トのマスク情報'を、 単一領域検索用連想メモリ 3 6一 2 の転送規則に対応する連想メ モリノ ワー ド 4 4 - 1„- 2〜 4 4 _ 5 — 2 のそれそれ記憶デ一夕、 マスク情報と して格納するも のとする。 nビ ヅ ト 2入力 1 出力イ ネ一ブル付きセレクタ 8 2 — 1、
8 2 — 2 から出力される値を、. それそれビヅ ト線デ一夕 9 5 — 1、 9 5 — 2 と表すこ とにする。 また、 単一領域検索用連想メモリ 3 6 一 1 の中間データ線 9 2 の値を中間データ 9 3 — 1 、 単一領域検索 用連想メ モ リ 3 6 — 2の中間デ一夕線 9 2 の値を中間デ一夕 9 3 — 2 と表すことにする。
すべての一致線 3 7 — 1 —-;! 〜 3 7 — m— rは、 あ らかじめ有効状 態" 1 "にプリ ' チヤ一ジされているものとする。
[ステッ プ S 1 0 0 ] 開始信号 4 2が有効状態" 1 "になる と検索動作が開始する。主制御 回路 6はク ロ ヅク信号 4 1 に同期 して図 5のフローチャー トのステ ヅプ S 1 0 0の動作を実行 し、 内部変数 2 8の値 pは 1 に初期化さ れる。 また、 主制御回路 6 は、 記憶制御信号 1 2 に、 記憶手段 4 3 — 1 〜 4 3 — mを共通一致線 3 8 - 1〜 3 8 — mの有効状態" 1 "に 初期化するための情報を出力する。 また、 すべての 1次検索許可信 号 1 0 — 1 〜 1 0 — r、 およびすベての 2次検索許可信号 1 1 — 1 〜 1 1— rには無効状態" 0"を出力する。
図 6 は、 連想メモリ 1 を、 図 3 3 におけるネ ヅ ト ワーク · ァ ド レ ス ( 1 . 2 . 6 ) を持つ P C 4 0 1 — 1 からネ ヅ ト ワーク ' ア ド レ ス ( 2 . 3 . 5 ) を持つ P C 4 0 1 — 3へのデータ転送についての 転送の可否判定に用いた場合の、 ステ ッ プ S 1 0 0での動作状態を 説明する図である。 すべての 1次検索許可信号 1 0— 1〜 1 0 — 2、 2次検索許可信号 1 1 — 1 〜 1 1 — 2が無効状態" 0 "であるため、 無効化信号 8 7 — 1、 8 7 — 2は、 とも に有効状態" 1 "とな り、 n ビッ ト 2入力 1 出力イ ネ一プル付きセレクタ 8 2 — 1、 8 2 — 2か ら出力される ビッ ト線データ 9 5 — 1、 9 5 — 2は、 ともに検索無 効化デ一夕 となる。 したがって、 一致線 3 7— 1 — 1〜 3 7 — 5 — 1、 および一致線 3 7— 1 — 2 ~ 3 7 — 5 — 2は、 すべて有効状態 " 1 "を保持する。 また、 記憶手段 4 3 — 1〜 4 3 — 5 の出力である 共通一致線 3 8— 1 〜 3 8 — 5は、 記憶制御信号 1 2 によ り有効状 態" 1 "に初期化されている。 そのため、 論理積信号 4 0 — 1〜 4 0 — 5はすべて" 1 "となる。 その結果と して、 中間デ一夕 9 3 — 1 は、 連想メモ リ · ヮ一 ド 4 4一- 1 — 1 〜 4 4 — 1一 5 に格納されている すべての記憶デ一夕の論理和演算結果" 0 0 1 . 0 1 0 . 1 1 0 "と なる。 また、 中間データ 9 3 — 2 は、 連想メモリ ' ワー ド 4 4 — 2 ― 1〜 4 4 - 2 - 5 に格納されているすべての記憶デ一夕の論理和 演算結果" O i l . 0 1 1 . 1 0 1 "となる。
[ステップ S 1 0 1 ]
次に、 クロ ッ ク信号 4 1 に同期して主制御回路 6の動作は、 図 5 のフ ローチャー ト のステッ プ S 1 0 1 に移行し、 すべての 1次検索 許可信号 1 0 — 1〜 1 0 — rに有効状態" 1 "を出力 し、 すべての 2 次検索許可信号 1 1 一 1〜 1 1 一 rに無効状態" 0 "を出力する。 ま た、 ステヅプ S 1 0 1での論理積信号 4 0 — 1 〜 4 0 — mの値を、 次のステップ S 1 0 2 に移行する ときに記憶手段 4 3 — 1〜 4 3 — mに記憶させるための信号を記憶制御信号 1 2に出力する。
図 7は、 連想メモリ 1 を、 図 3 3 におけるネ ヅ ト ワーク · ァ ド レ ス ( 1 . 2 . 6 ) を持つ P C 4 0 1 — 1 からネ ヅ ト ワーク ' ァ ド レ ス ( 2. 3 . 5 ) を持つ P C 4 0 1 — 3へのデ一タ転送についての 転送の可否判定に用いた場合の、 ステッ プ S 1 0 1での動作状態を 説明する図である。
単一領域検索用連想メモリ 3 6 _ 1 においては 1 次検索許可信号 1 0 - 1が有効状態" 1 "であるため、 nビヅ ト 2入力 1 出力イ ネ一ブ ル付きセレクタ 8 2 — 1は検索データ 3 — 1 の値" 0 0 1 . 0 1 0 . 1 1 0 "をビヅ ト線データ 9 5 — 1 と して出力 し、 比較制御信号 8 5 ― 1 には無効状態" 0 "が出力される。 そのため、 ビ ヅ ト線データ 9 5— 1の値と、 連想メ モ リ , ワー ド 4 4 一 1 一 1〜 4 4 — 5 — 1 に 格納されている記憶データ とを、 対応するマスク情報も考慮して比 較を行い、 結果と して一致線 3 7 — 1 — 1、 3 7 — 2 — 1、 3 7 — 3— 1、 3 7 — 4— 1、 ぉょび 3 7— 5 — 1 が有効状態" 1 "となる。 単一領域検索用連想メモ リ 3 6 — 2 においては 1次検索許可信号 1 0 — 2が有効状態" 1 "であるため、 nビッ ト 2入力 1 出力イ ネ一 ブル付きセレクタ 8 2 — 2は検索データ 3 — 2の値" 0 1 0 . 0 1 1 1 0 1 "をビッ ト線データ 9 5 — 2 として出力し、 比較制御信号 8 5 — 2 には無効状態" 0 "が出力される。 そのため、 ビヅ ト線データ 9 5— 2の値と、 連想メモリ ' ヮ一 ド 4 4ー 1 — 2〜 4 4ー 5 — 2に 格納されている記憶データ とを、 対応するマスク情報も考慮して比 較を行い、 結果と して一致線 3 7 — 1 — 2、 3 7 — 3 — 2、 および 3 7 — 5 — 2が有効状態" 1 "とな り、 一致線 3 7 — 2 — 2、 および 3 7 - 4 - 2は無効状態" 0"となる。
記憶手段 4 3 — 1〜 4 3 — 5 はステ ヅプ S 1 0 0 で初期化された 値" 1 "を共通一致線 3 8 — 1 〜 3 8 — 5 に出力 しているため、 論理 積信号 4 0 — 1、 4 0 - 3 , および 4 0 — 5 が" 1 "とな り、 論理積 信号 4 0 — 2、 および 4 0 — 4は" 0 "となる。 論理積信号 4 0— 1 〜 4 0 — 5の値は、 記憶制御信号 1 2 によって、 次のステ ヅプに移 行するときに記憶手段 4 3 - 1〜 4 3— 5に記憶される。
[ステヅブ S 1 0 2 ]
次に、 クロ ック信号 4 1 に同期して主制御回路 6の動作は、 図 5 のフ ローチャー トのステッ プ S 1 0 2 に移行し、 1次検索許可信号 1 0 — 1〜 1 0— r、 2次検索許可信号 1 1一 1 〜 1 1 — rの中で、 優先順位が最も高い 1である単一領域検索用連想メモリ 3 6— 1 に 対応する 2次検索許可信号 1 1 — 1 のみに有効状態" 1 "を出力 し、 他の信号には無効状態" 0 "を出力する。 また、 ステッ プ S 1 0 2で の論理積信号 4 0 - 1〜 4 0 — Π1の値を、 次のステヅプ S 1 0 3 に 移行する と きに記憶手段 4 3 — 1 〜 4 3 — mに記億させるための信 号を記憶制御信号 1 2に出力する。
図 8 は、 連想メモ リ 1 を、 図 3 3 におけるネ ヅ ト ワーク . ァ ド レ ス ( 1 . 2 . 6 ) を持つ: P C 4 0 1 — 1 からネ ッ ト ワーク ' ァ ド レ ス ( 2 . 3 . 5 ) を持つ P C 4 0 1 — 3へのデータ転送についての 転送の可否判定に用いた場合の、 ステッ プ S 1 0 2での動作状態を 説明する図である。
記憶手段 4 3 — 1 〜 4 3 - 5はステ ヅ プ S 1 0 1 で記憶された値 を出力 しているため、 共通一致線 3 8— 1、 3 8 — 3、 および 3 8 一 5が" 1 "とな り、 共通一致線 3 8 _ 2、 および 3 8— 4は" 0 "とな る。 このため、 単一領域検索用連想メモ リ 3 6 — 1の中間データ 9 3— 1 は、 連想メモリ ' ワー ド 4 4— 1 — 1、 4 4— 3 — 1、 およ び 4 4 - 5 一 1 に格納されている記憶データの論理和演算結果" 0 0 1 . 0 1 0 . 0 0 0 "となる。 また、 単一領域検索用連想メ モリ 3 6— 2の中間デ一夕 9 3 — 2は、連想メモリ ' ワー ド 4 4— 1 一 2、 4 4 一 3 — 2、 および 4 4 一 5 — 2 に格納されている記憶デ一夕の 論理和演算結果" 0 1 0. 0 1 1 . 1 0 1 "となる。
優先順位が最も高い 1である単一領域検索用連想メモリ 3 6 — 1 においては、 2次検索許可信号 1 1 — 1 が有効状態" 1 "であるため、 nビヅ ト 2入力 1 出力イネ一ブル付きセ レクタ 8 2 — 1 は中間デ一 夕 9 3 — 1 の値" 0 0 1 . 0 1 0 . 0 0 0 "をビヅ ト線デ一夕 9 5 — 1 と して出力 し、 比較制御信号 8 5 — 1 には有効状態" 1 "が出力さ れる。 そのため、 ビッ ト線データ 9 5 — 1の値と、 連想メモリ ' ヮ — ド 4 4一 1 一 1〜 4 4— 5 — 1 に格納されている記憶デ一夕 とを 対応するマスク情報を考慮せずにそのまま比較を行い、 結果と して 一致線 3 7 — 1 一 1、 および 3 7 — 3 — 1が有効状態" 1 "とな り、 一致線 3 7 — 2 — 1、 3 7 - 4 - 1 , および 3 7 — 5 — 1 は無効状 態 " 0 "となる。 - 単一領域検索用連想メモリ 3 6 — 2 においては 1次検索許可信号 1 0 — 2、 2次検索許可信号 1 1 一 2 ともに無効状態" 0 "であるた め無効化信号 8 7 — 2が有効状態" 1 "とな り、 nビ ッ ト 2入力 1 出 カイ ネーブル付きセ レクタ 8 2 — 2は検索無効化デ一夕 をビッ ト線 データ 9 5 — 2 と して出力 し、 比較制御信号 8 5 — 2 には無効状態 "0,"が出力される。 そのため、 一致線 3 7 — 1 — 2〜 3 7 — 5 — 2 は、 すべて有効状態" 1 "となる。
一致線 3 7 — 1 - 1 〜 3 7 — 5 — 1、 一致線 3 7 — 1 — 2〜 3 7 — 5 — 2、 および共通一致線 3 8 — 1〜 3 8 — 5 の、 それぞれ対応 する信号の論理積演算結果よ り、 論理積信号 4 0 — 1、 および 4 0 一 3が有効状態" 1 "とな り、 論理積信号 4 0 — 2、 4 0 — 4、 およ び 4 0— 5 は無効状態" 0 "となる。 論理積信号 4 0 — 1〜 4 0 — 5 の状態は、 記憶制御信号 1 2によって、 次のステ ップに移行する と きに記憶手段 4 3— 1〜 4 3— 5に記憶される。
[ステヅプ S 1 0 3〜 S 1 0 5 ]
次に、 ク ロ ック信号 4 1 に同期 して主制御回路 6の動作は、 図 5 のフ ローチャー トのステッ プ S 1 0 3 に移行し、 内部変数 2 8の値 と、 連想メモリ 1 が有する単一領域検索用連想メモリ 3 6の個数 r とを比較する。 値が一致した場合には検索動作は終了 し、 最終的 な検索結果が、 有効状態を出力 している一致信号 5 — 1 〜 5— mと して得られる。 不一致の場合には、 ステ ップ S 1 0 4に進み内部変 数 pの値に 1 を加算した後、 ステ ップ S 1 0 5 に進み、 1次検索許 可信号 1 0 — 1〜 1 0 — r、 2次検索許可信号 1 1 一 1 〜 1 1 一 r の中で、 優先順位が内部変数 2 8の値 ρ と等しい単一領域検索用連 想メモリ 3 6 — ρに対応する 2次検索許可信号 1 1 一 ρのみに有効 状態" 1 "を出力 し、 他の信号には無効状態" 0 "を出力する。 また、 ス テヅ プ S 1 0 5での論理積信号 4 0 — 1〜 4 0 — mの値を、 次のス テヅ プ S 1 0 3 に移行する ときに記憶手段 4 3 — 1〜 4 3 — mに記 憶させるための信号を記憶制御信号 1 2 に出力する。 こ こでは、 ス テ ヅ プ S 1 0 3、 S 1 0 4、 S I 0 5は、 ク ロ ヅ ク信号 4 1 の同一 状態で実行される場合を示 したが、 適宜、 クロ ッ ク信号 4 1 によ り 動作を分割しても構わないことはいうまでもない。
図 9 は、 連想メモ リ 1 を、 図 3 3 におけるネ ヅ ト ワーク · ァ ド レ ス ( 1 . 2 . 6 ) を持つ P C 4 0 1 — 1 からネ ヅ ト ワーク . ァ ド レ ス ( 2 . 3 . 5 ) を持つ P C 4 0 1 — 3へのデータ転送についての 転送の可否判定に用いた場合の、 ス テ ッ プ S 1 0 5での動作状態を 説明する図である。
記憶手段 4 3 — 1〜 4 3 — 5はステ ヅ プ S 1 0 2で記憶された値を 出力 しているため、 共通一致線 3 8 — 1、 および 3 8 — 3 が" 1 "と な り 、 共通一致線 3 8 — 2、 3 8 — 4、 および 3 8 — 5は" 0 "とな る。 このため、 単一領域検索用連想メモリ 3 6 — 1の中間デ一夕 9 3 — 1 は、 連想メモ リ ' ワー ド 4 4 — 1 — 1、 および 4 4 — 3 — 1 に格納されている記憶データの論理和演算結果" 0 0 1 . 0 1 0. 0 0 0 "となる。 また、 単一領域検索用連想メ モ リ 3 6 — 2の中間デ一 夕 9 3 — 2 は、 連想メモリ ' ヮ一 ド 4 4 — 1一 2、 および 4 4 — 3 — 2 に格納されている記憶データの論理和演算結果" 0 1 0 . 0 1 1 0 0 0 "となる。
単一領域検索用連想メ モ リ 3 6 - 1 においては 1次検索許可信号 1 0 — 1、 2次検索許可信号 1 1 — 1 ともに無効状態" 0 "であるた め無効化信号 8 7 — 1 が有効状態" 1 "とな り、 nビ ッ ト 2入力 1 出 カイ ネーブル付きセレクタ 8 2 — 1 は検索無効化データをビッ ト線 デ一夕 9 5 — 1 と して出力 し、 比較制御信号 8 5 — 1 には無効状態 "0 "が出力される。 そのため、 一致線 3 7 — 1 — 1 〜 3 7 — 5— 1 は、 すべて有効状態" 1 "となる。 内部変数 2 8 の値 pが 2 であるため、 優先順位が 2 である単一領 域検索用連想メモ リ 3 6 — 2 においては、 2 次検索許可信号 1 1一 2 が有効状態" 1 "とな り、 n ビッ ト 2入力 1 出力イ ネ一ブル付きセ レクタ 8 2 — 2 は中間データ 3 — 2 の値" 0 1 0 . 0 1 1 . 0 0 0 " をビヅ ト線デ一夕 9 5 — 2 と して出力し、 比較制御信号 8 5 — 2 こ は有効状態" 1 "が出力される。 そのため、 ビヅ ト線データ 9 5 — 2 の値と、 連想メモ リ ' ワー ド 4 4 — 1 — 2〜 4 4 — 5 — 2 に格納さ れている記憶データ とを、 対応するマスク情報を考慮せずに、 その まま比較を行い、 結果と して一致線 3 7 — 3 — 2 が有効状態" 1 "と な り、 一致線 3 7 — 1 — 2、 3 7 — 2 — 2、 3 7 — 4一 2、 および 3 7 - 5 - は無効状態" 0 "となる。
一致線 3 7 — 1 — 1 〜 3 7 — 5 — 1 、 一致線 3 7 — 1 - 2 〜 3 7 — 5 — 2、 および共通一致線 3 8 — 1 〜 3 8 — 5 の、 それそれ対応 する信号の論理積演算結果よ り 、 論理積信号 4 0 — 3 が有効状態 " 1 "とな り、 論理積信号 4 0 — 1 、 4 0 — 2、 4 0 - 4 , および 4 0 — 5 は無効状態" 0 "となる。 論理積信号 4 0 — 1 〜 4 0 — 5 の状 態は、 記憶制御信号 1 2 によって、 次のステ ップに移行すると きに 記憶手段 4 3— 1〜 4 3— 5に記憶される。
次のク ロ ッ ク信号 4 1 に伺期して主制御回路 6 の動作は、 図 5 の フ ローチャー トのステップ S 1 0 3 に移行し、 内部変数 2 8 の値 p と、 連想メ モ リ 1 が有する単一領域検索用連想メモリ 3 6 の個数 r とを比較する。 図 9 の例では、 内部変数 2 8 の値 と、 連想メモリ 1 が有する単一領域検索用連想メモリ 3 6 の個数 rは、 ともに 2で あ り、 検索結果終了する。 このとき、 一致信号 5 — 1 〜 5 — 5 の中 で有効状態" 1 "を出力 しているものは一致信号 5 — 3 のみであ り、 これが最終的な検索結果と して得られる こ とになる。 前述のように、 ネ ヅ トワーク . ア ド レス ( 1 . 2 . 6 ) を持つ P C 4 0 1 — 1か ら、 ネ ッ ト ワーク . ア ド レス ( 2 . 3 . 5 ) を持つ P C 4 0 1 — 3への データ転送は、 転送規則 3 が適用されるべきであ り、 正しい結果が 得られていることがわかる。
図 5のフ ローチャー ト のステ ヅ プ S 1 0 2、 ステ ヅ プ S 1 0 5の 直前にウェイ ト ' サイ クルを挿入し、 中間データ 9 3 — 1〜 9 3 — rを格納するためのラ ッチを挿入するこ とによ り 、 動作周波数を高 くすることができることはいうまでもない。
また、 ステ ヅプ S 1 0 5では、 ステヅプ S 1 0 2で 2次検索を行 つたときに一致したワー ドの中か ら、 さ らに 2次検索を行うのであ るから、 図 9 に示すステ ヅ プ S 1 0 5での中間データ 9 3 — 1 の値 と、 図 8に示すステ ヅ プ S 1 0 2での中間データ 9 3 — 1 の値は当 然、 同一である。 したがって、 図 5のフ 口一チヤ一 トのステヅ ブ S 1 0 5 において、 内部変数 2 8の値が pのと きに、 2次検索信号 1 1 — 1〜 1 1 — pに有効状態を出力 しても、 同 じ結果が得られるこ とがわかる。
また、 図 5のフ ローチャー ト のステ ヅ プ S 1 0 2 における主制御 回路 6の動作をすベての 2次検索許可信号 1 1 — 1〜 1 1 — rに有 効状態を出力する よう に変更すれば、 従来の '連想メモリ 1 0 1 とま つた く等価な検索動作になることは明らかである。 また、 i番目の 検索デ一夕 3 — i に対して 1次検索許可信号 1 0 — i と 2次検索許 可信号 1 1一 i を独立に制御する こ とによ り、 1個の連想メモ リ 1 を、 r個の従来の連想メモ リ 1 0 1 と等価に使用できる ことも明ら かである。 動作を選択する こめの入力信号を主制御回路 6に追加す るこ とによ り、 本発明の図 5のフローチャー トの動作と、 上述の複 数の動作を切り替えて使用できることはいうまでもない。 上述のよう に、 本発明の連想メモ リ では、 ステヅプ S 1 0 1 、 ス テ ヅ プ S 1 0 2、 および S 1 0 5 における 3 回の検索動作によ り転 送可否判定演算を実行する こ とが可能である。 本発明の連想メモリ による 1 回の検索動作に 1 ク ロ ッ クを要する とすれば、 転送可否判 定演算は検索領域の個数 r に 1 を加算したク ロ ック数で実行できる ことになる。
また、 上述のよう に、 最終的に適用されるべき転送規則に対応す る一致信号のみを有効状態にする ため、 転送規則の格納順序、 格納 する語の位置には制限がない。 したがって、 転送規則の追加、 削除、 修正の際にソー ト処理やテーブル作成などの多 く のク ロ ック数がか かる前処理は不要であ り、 通常のメ モリ · アクセスに要する時間の みで転送規則の追加、 削除、 修正が可能である。 これによ り、 連想 メモ リ を管理するソフ ト ウエアを非常に簡単にするこ とが可能であ る。
また、 本発明の第一の構成例では、 上述のよう に従来の連想メモ リ 1 0 1 と比べて数%の回路規模の増加で構成するこ とが可能であ る。
[第一の実施例の単一領域検索用連想メモリの第二の構成]
図 1 0 は、 本発明の第一の実施の形態の連想メモリ における、 単 一領域検索用連想メモリ の第二の構成例を示すブロ ッ ク図である。 図 1 0 に示す第二の構成の単一領域検索用連想メモリ 2 2の各構成 要素を、 図 3 に示した単一領域検索用連想メモリ 3 6 の構成と比較 する と、 n ビッ ト 2入力 1 出カイ ネーブル付きセ レクタ 8 2 が nビ ッ ト 2入力 1 出力セ レクタ 9 6 に変更されたことと、 j 番目の一致 線 3 7 — j に論理ゲー ト 3 7 — j が挿入されたことと、 それに伴い、 制御回路 4 5 から出力される無効化信号 8 7 が m個の論理ゲー ト Ί 8 — 1〜 7 8 — mに入力されるこ と と、 j 番目の連想メモリ ' ヮ一 ド 7 0 — 1 の中の n個の連想メモ リ ' セル 6 9 — j — 1〜 6 9 — j — nから比較結果と して出力される信号の名称が内部一致線 9 7 - j に変更されたこ との他は、 図 3 に示した単一領域検索用連想メモ リ 3 6 と全 く 同様に構成される。 したがって、 単一領域検索用連想 メモリ 3 6 と異なる点についてのみ説明する。
nビ ヅ ト 2 入力 1 出力セ レクタ 9 6 は、 選択信号 8 6、 中閭デ一 夕線 9 2 - 1〜 9 2 — n、 検索デ一夕 3 — 1 〜 3 — nを入力と し、 ビ ヅ ト線 5 1 — 1 〜 5 1 — nを出力とする。 nビ ヅ ト 2入力 1 出力 セレクタ 9 6 は、 選択信号 S 6が無効状態の場合には検索データ 3 ー 丄 〜 3 — nを、 選択信号 8 6が有効状態の場合には中間データ線 9 2— 1〜 9 2 — nを、 ビヅ ト線 5 1 — 1〜 5 1 — nに出力する。 内部一致線 9 7 — 1〜 9 7 — mは、 図 3 の一致線 3 7 — ;!〜 3 7 — inと同様に、 あ らかじめハイ · レベルにプリ · チャージされ、 有 効状態" 1 "になっている ものとする。 また、 図 3 の一致線 3 7 — j と同様に、 j 番目の連想メモリ · ワー ド 4 4一 j の中の n個の比較 器 8 4 — j —.l〜 8 4 — j — 11がすべて内部一致線 9 7 - j を開放 状態に している と きに、 内部一致線 9 7 — j は有効状態" 1 "を保持 し、 それ以外の場合には無効状態" 0 "となるよう な内部一致線 9 7 の有効状態" 1 ' 'を真と したワイ ア一 ド A N D論理接続を構成してい る。 もちろん同様の動作となるよ う に通常の論理ゲー ト を用いて構 成してもかまわない。
j 番目の論理ゲー ト 7 8 — j は、 内部一致線 9 7 — j と無効化信 号 8 7 を入力と し、 一致線 · 3 7 — j を出力とする。 また、 無効化信 '号 8 7が有効状態の場合には一致線 3 7 — j に共通一致線 3 8 の有 効状態を出力 し、 それ以外の場合には内部一致線 7 8 — j の状態を 一致線 3 7— j に出力する。
つま り、 ビヅ ト線 5 1 — 1〜 5 1 — nに検索無効化データを出力 する機能を有する図 3 に示す単一領域検索用連想メモ リ 3 6 と異な り、 図 1 0 に示す第二の構成の単一領域検索用連想メモリ 2 2では、 論理ゲー ト 7 8— 1 〜 7 8 — mによ り一致線 3 7 — 1 〜 3 7 — mを 制御するこ とによ り 、 1 次検索許可信号 1 0 と 2次検索許可信号 1 1 が、 ともに無効状態の場合には、 m本の一致線 3 7 — 1〜 3 7 — mにすベて共通一致線 3 8 の有効状態を出力する機能を実現してい る。 第二の構成の単一領域検索用連想メモリ 2 2の場合では、 比較 器 8 4— 1 — ;!〜 8 4 — m— nの構成に依存せずに、 確実に上述の 機能を実現するこ とが可能である。 また、 論理ゲー ト 7 8— 1〜 7 8— mの挿入位置を、 図 1 の論理積手段 3 9 — 1〜 3 9 — mの入力 に移動しても連想メモリ 1 全体と しては全く 等価なこ とはいう まで もない。
[第二の実施例の構成]
次に、 本発明の第二の実施の形態について図面を参照して詳細に 説明する。 図 1 1 は、 本発明の第二の実施の形態の連想メモリ の一 構成例の詳細を示すブロ ッ ク図である。 図 1 1 に示す第二の実施の 形態の連想メモリ 2 9 は、 r個の単一領域検索用連想メモリ 2 6 — 1〜 2 6 — rのそれぞれ j 番目の連想メモ リ ' ワー ド 2 7 — j — 1 〜 2 7— j — rの比較結果の出力信号どう しを 1 本の一致線 3 7 - j にワイ ア一 ド A N D論理接続し、 さ らに一致線 3 7 _ j にダイ ナ ミ ックに保持されている状態を中間データ生成に利用するものであ る。 ここで一致線 3 7—: Γは、 開始信号 4 2 が有効状態のときのみ 有効状態" 1 "にプリ ' チャージされるものとする。 したがって、 図 2 に示した第一の実施の形態の連想メモリ 1 における論理積手段 3 9— j と、 記憶手段 4 3— j と、 および共通一致線 3 8— j は、 図 1 1 に示す第二の実施の形態の連想メモ リ 2 9 では、 ワイア一 ド A N D論理接続された一致線 3 7— j によ り実現している。 そのため、 主制御回路 6 から出力される記憶制御信号 1 2 は、 どこにも接続さ れない。 また、 図 1 1 では、 一致線 3 7— j の状態を一致信号 5— j と して直接外部に出力している。 これらの他は、 図 2 に示す第一 の実施の形態の連想メモリ 1 の構成と全 く 同様であ り、 複数の検索 データから構成される入力データに対して同様な検索動作を実行で きることは明らかである。
図 1 1 に示す第二の実施の形態の連想メモ リ 2 9では、 r個の単 一領域検索用連想メモリ 2 6 - ;!〜 2 6— r間の配線数は、 m本の 一致線 3 7 - 1〜 3 7— mのみである。 図 2 に示す第一の実施の形 態の連想メモリ 1 では、 : r個の単一領域検索用連想メモリ 3 6 - 1 〜 3 6— r間の配線数は、 m x r本の一致線 3 7— 1— 1〜 3 7— m— r と m本の共用一致線 3 8— 1〜 3 8— mの合計 (m x ( r + 1 ) ) 本であ り、 第二の実施の形態の連想メモリ 2 9では配線数が大 幅に減少している こ とがわかる。 r個の単一領域検索用連想メ モリ 2 6— 1〜 2 6—; r間の配線は、 連想メモリ 2 9 の全域に渡って配 線されるために.、 配線容量が大き く な り、 保持している状態が遷移 するたびに消費する電力は非常に大きい。 したがって、 第二の実施 の形態の連想メモリ 2 9では第一の実施の形態の連想メモリ に比べ て、 配線領域が大き く減少 しチッ プ面積が削減される と同時に、 消 費電力を大幅に削減できるという利点を有する。
図 1 2 に、 第二の実施の形態の連想メモリ における単一領域検索 用連想メモリ の一構成例のブロ ック図を示す。 図 1 2 に示す単一領 域検索用連想メモリ 2 6の構成は、 図 3 に示す第一の実施の形態の 単一領域検索用連想メ モ リ 3 6 と比較する と、 j 番目の連想メ モ リ · ワー ド 2 7— j から共通一致線 3 8— j が削除されたことと、 それに伴い j 番目の連想メモリ · ワー ド 2 7— j を構成する n個の 連想メモリ ' セル 7 1 — j — 1 〜 7 1 —!]'ー 11内の論理ゲ一 ト 5 6 — «]' — 1 〜 5 6— j — nの入力が共通一致線 3 8— j から一致線 3 7—: ί に変更されたこ との他は、 図 3 に示す第一の実施の形態の単 一領域検索用連想メモリ 3 6 と全く同様である。
図 1 2 に示す単一領域検索用連想メモリ 2 6 では、 出力信号であ る一致線 3 7— j を、 n個の論理ゲー ト 5 6— j' — 1 〜 5 6— j — nをワイ ア一 ド A N D論理接続する ことによ り 生成しているため、 単一領域検索用連想メモリ 2 6の内部においても共通一致線 3 8— j を一致線 3 7 _ j と共用することが可能である。
もちろん、 ワイ アー ド A N D論理接続ではな く通常の論理ゲー ト を 用いて一致線 3 7 - 1 〜 3 7— mを生成している場合、 および図 1 0 に示すよう に一致線 3 7 - 1 ~ 3 7— mが論理ゲー ト 7 8— 1 〜 7 8一 mか ら出力されているよう な単一領域検索用連想メモリ にお いても、 一致線 3 7— j を出力する論理ゲー ト と して、 無効状態の ときのみ出力を駆動 し、 有効状態のときには出力を開放状態にする 機能を有している論理ゲー トを使用する こ とによ り、 第二の実施の 形態の連想メモリ 2 9 の単一領域検索用連想メモリ 2 6 と して用い ることが可能なことはいう までもない。
また、 図 1 1 では一致線 3 7— j の状態を一致信号 5— j と して 直接外部に出力 しているが、 一致線 3 7— j の状態をバッファに入 力するこ とによ り 波形を整-形してから一致信号 5— j と して出力 し てもよいことはいうまでもない。
[第三の実施例の構成] 次に、 本発明の第三の実施の形態について図面を参照して詳細に 説明する。 図 1 3 は、 本発明の第三の実施の形態の m語の連想メモ リ 2 5 の構成例を示すブロ ック図である。 本例の m語の連想メ モリ 2 5 の構成要素を、 第一の実施の形態の連想メモリ 1 と比較すると、 単一領域検索用連想メモリ 3 6— 1 〜 3 6— rが単一領域検索用連 想メモリ 4— 1 〜 4 一 rに変更されているこ とと、 論理積手段 3 9 一 1 〜 3 9— mが論理積手段 1 3— 1 〜 1 3— mに変更されている こと と、 および論理積手段 1 5— 1 〜 1 5— mが追加されているこ とのみが異な り、 他の部分は同様に構成される。 第一の実施の連想 メモ リ 1 を構成する単一領域検索用連想メモリ 3 6では、 1 次検索 許可信号 1 0 が有効状態の場合の検索結果も、 2 次検索許可信号 1 1 が有効状態の場合の検索結果も、 同一の一致線 3 7 - 1 〜 3 7 - mに出力されたが、 本例では、 1 次検索許可信号 1 0 が有効状態の 場合の検索結果を出力する 1 次一致線 1 7— 1 〜 1 7— mと、 2次 検索許可信号 1 1 が有効状態の場合の検索結果を出力する 2次一致 線 1 8— 1 〜 1 8— mとを独立に有する ような単一領域検索用連想 メモ リ 4 一 1 〜 4 — rによ り本発明の連想メモ リ 2 5 を構成した場 合の例である。 次に、 第一の実施例と異なる点についてのみ説明を 行う。
i番目の単一領域検索用連想メモリ 4 一 iは、 検索デ一夕 3 — 丄、 1 次検索許可信号 1 0— i、 2次検索許可信号 1 1 一 i、 および m 本の共逋一致線 3 8 — 1 〜 3 8— mを入力と し、 単一領域での検索 結果を、 m本の 1 次一致線 1 7— i— l 〜 1 7— i— m、 および m 本の 2次一致線 1 8— i— 1 -〜 1 8— i— mとして出力する。
単一領域検索用連想メモリ 4 一 iの単一領域での検索動作は 1 次 検索許可信号 1 0— i、 2 次検索許可信号 1 1 — i によ り次のよう に制御される。 1 次検索許可信号 1 0 — i が有効状態の場合には、 検索データ 3 — i と内部に格納した記憶データ とを、 対応するマス ク情報を考慮 して比較する 1次検索を行い、 結果を 1 次一致線 1 7 — i — 1 〜 1 7 — i一 mに出力する。 2 次検索許可信号 1 1一 iが 有効状態の場合には、 内部に格納 した記憶データ と、 マスク情報の 双方または一方を用いて、 m本の共通一致線 3 8 — 1 〜 3 8 — mの 状態に応じた中間データを生成し、 中間データによる 2次検索を行 つた結果を 2 次一致線 1 8 — i — 1 ~ 1 8 — i — mに出力する。 中 間データによる 2 次検索と しては、 連想メモ リ 2 5 を i番目の単一 領域検索用連想メ モ リ 4一 i単独で構成し 1 次検索に続けて 2 次検 索を行った場合に、 検索データ 3 — i とマス ク情報を考慮して一致 する記憶データの中で最もマスク情報の有効状態のビッ ト数が少な い記憶データに対応する 2次一致線 1 8 — i — 1 〜 1 8 — i — mの みに有効状態を出力することができるものとする。
ただ し、 1 次検索許可信号 1 0 — i が無効状態の場合には m本の 1次一致線 1 7 — i — 1 〜 1 7 — i — mにすベて共通一致線 3 8の 有効状態を出力 し、 2次検索許可信号 1 1一 iが無効状態の場合に は m本の 2次一致線 1 8 — i — 1 〜 1 8 — i — mにすベて共通一致 線 3 8の有効状態を出力する。
j番目の論理積手段 1 3— j は、 r本の 1 次一致線 1 7 — j — 1 〜 1 7 - j 一 r、 1 本の共通一致線 3 8 - j v および 1 本の一致信 号 5 — j を入力と し、 共通一致線 3 8 の有効状態を真とする論理積 演算を行った結果を、 論理積信号 4 0 — j と して出力する。
j番目の論理獱手段 1 5 _ j は、 r本の 2次一致線 1 8 — j一 1 ~ 1 8 — j — r を入力と し、 共通一致線 3 8 の有効状態を真とする 論理積演算を行った結果を、 一致信号 5— :)' として出力する。 図 1 4は、 本発明の第三の実施の形態の連想メモ リ の一構成例の 詳細を示すブロ ック図である。 本例では、 1番目の単一領域検索用 連想メモ リ 4一 1 は nビッ ト m語の構成と し、 r番目の単一領域検 索用連想メモリ 4一 rは s ビヅ ト m語の構成とするが、 1語を構成 する ビッ ト数が異なるのみで内部の構成は全く 同一とする。 本例で は、 i番目の gビ ヅ ト m語の単一領域検索用連想メモ リ 4一 iは、 1次検索許可信号 1 0 — i が有効状態のときに検索動作を行う gビ ヅ ト m語の 1次連想メモリ 2 0 — i と、 2次検索許可信号 1 1 — i が有効状態のときに検索動作を行う gビッ ト m語の 2次連想メモリ 2 1 — i とを独立に有する場合についての説明を行う。 図 1 3の実 施例の連想メモリ 2 5の単一領域検索用連想メモリ 4 — iは図 1 4 に示すよう な構成に限定されず、 例えば特開平 1 1 — 0 7 3 7 8 2 号公報に示されるような連想メモ リ を用いても構成する ことが可能 であることはいうまでもない。
1次連想メモリ 2 0 — iは、 検索デ一夕 3 — i と、 1次検索許可 信号 1 0— i と、 共通一致線 3 8 — 1〜 3 8 — mを入力と し、 単一 領域での検索結果を 1次一致線 1 7— 1一 i〜 l 7— m— i に出力 する とともに、 中間デ一夕 9 3 — i を出力とする。 ただ し、 1次検 索許可信号 1 0 — iが無効状態の場合には 1 次一致線 1 7— i — 1 〜 1 7 — i — mにすベて共通一致線 3 8の有効状態を出力する。 1 次連想メモ リ 2 0 — iは m個の連想メモリ · ワー ド 7 — 1 — i〜 7 — m— i を有してお り、 : i 番目の連想メモリ ' ワー ド 7 — j — iは、 g個のデータ ' セル 8 — j — l一 i〜 8 — j — g— iおよび、 g個 のマスク ' セル 9— j一 l i〜 9— j — g— iを有している。
2次連想メモリ 2 1 — ; ί は、 中間データ 9 3 — i と、 2次検索許 可信号 1 1一 iを入力と し、 単一領域での検索結果を 2次一致線 1 8— 1一 i ~ 1 8— m— iに出力する。 ただ し、 2次検索許可信号 1 1 — iが無効状態の場合には 2次一致線 1 8— i— 1〜 1 8— i — mにすベて共通一致線 3 8の有効状態を出力する。 2次連想メモ リ 2 1— iは m個の連想メ モ リ · ワー ド 2 4— 1— i〜 2 4— m_ iを有してお り、 j番目の連想メモ リ ' ワー ド 2 4— j — iは、 g 個のデ一夕 · セル 2 3 _ j — 1一 i〜 2 3— j — g— iを有してい る。 j番目の連想メモリ ' ワー ド 2 4— j — iの kビ ヅ ト 目のデ一 夕 ' セル 2 3— j _ k— iには、 第二の記憶データ と して、 1次連 想メモ リ 2 0— iの対応するデータ ' セル 8— j — k— iに格納し ている記憶データ と同じ値をあらか じめ格納 しているものとする。 ただ し、 対応するマスク · セル 9 — j一 kに格納されたビ ヅ ト情報 がマスク有効状態の場合には、 デ一夕 ' セル 2 3— j— kには記憶 デ一夕の無効状態を、 第二の記憶デ一夕 と して格納するものとする。
[第三の実施例の単一領域検索用連想メモリの構成]
次に上述の 1次連想メモリ 2 0の構成例を図 1 5を用いて説明す る。 1次連想メモリ 2 0は、 nビ ッ ト m語の連想メモ リ ' ワー ド 7 — l〜 7—mと、 論理ゲー ト 5 8— 1〜 5 8— nと、 抵抗 5 7 — 1 〜 5 7— nを有している。 j番目の連想メモ リ ' ワー ド 7— j は、 n個の連想メモリ ' セル 5 0 - j - 1〜 5 0— j — nを有している。 連想メモ リ · ワー ド 7— j には、 対応するデータ ' ワー ド線 5 3— j と、 マスク ' ワー ド線 5 4— j と、 共通一致線 3 8— j と、 およ び 1次検索許可信号 1 0が入力のために接続され、 対応する 1次一 致線 1 7— j、 および n本の一致データ中間論理線 5 2 _ 1〜 5 2 — nが出力のために接続さ-れ、 n本のビ ヅ ト線 5 1— ;!〜 5 1 一 n が入出力のために接続されている。
なお、 本例では、 マスク情報のマスク有効状態を" 0 "、 マスク無効 状態を" 1 "と し、 記憶デ一夕の有効状態を" 1 "、 無効状態を" 0 "とす る。 記憶データ と同様に、 一致データ論理和線 5 2— 1〜 5 2— n の有効状態を" 1 "、 無効状態を" 0 "とする。 1次一致線 1 7— 1〜 1 7— m、 2次一致線 1 8— 1〜 1 8— m、 および共通一致線 3 8— 1〜 3 8— mの有効状態を" 1"、 無効状態を" 0"とする。
1次一致線 1 7— 1〜 ; 1 7— mは、 あ らか じめハイ ' レペルにプ リ ' チャージされ、 有効状態" 1"になっているものとする。
連想メ モ リ ' ワー ド 7— jの kビ ヅ ト 目の連想メ モ リ ' セル 5 0 一 j — kには、 対応するデータ · ワー ド線 5 3— j と、 マスク · ヮ — ド線 5 4— j と、 共通一致線 3 8— j と、 および 1次検索許可信 号 1 0が入力のために接続され、 対応する 1次一致線 1 7— j、 お よび一致データ中間論理線 5 2— kが出力のために接続され、 ビ ヅ ト線 5 1— kが入出力のために接続されている。
各連想メモ リ ' セル 5 0— j — kは、 ビ ヅ ト線 5 1 — kを介して 外部から入力される記憶デ一夕の対応するビ ッ ト情報を格納するデ —夕 ' セル 8— )' 一 kと、 データ ' セル 8— j一 kに記憶されたビ ッ ト情報と外部か ら ビッ ト線 5 1— kを介して入力される情報とを 比較する比較器 5 5— j一 kと、 外部から ビ ヅ ト線 5 1— kを介し て入力されるマス ク情報の対応する ビッ ト情報を格納するマスク · セル 9一 j — kと、 および論理ゲー ト 5 6— j — kとを備えている。 こ こで、 図 1 5に示す 1次連想メ モ リ 2 0の各構成要素は、 図 3 に示した第一の実施の形態における単一領域検索用連想メモリ 3 6 の構成と比較する と、 外部からの検索データ 3 _ 1〜 3— nがビ ヅ ト線 5 1 — 1〜 5 1 — IIに-直接入力され、 中間デ一夕線 9 2 - 1〜 9 2— nの状態が中間データ 9 3 と して直接外部に出力される こ と と、 それに伴い、 nビッ ト 2入力 1出カイネーブル付きセレクタ 8 2 と、 制御回路 4 5 が削除されたこ と と、 比較器 5 5— 1 一 1 〜 5 5— m— nに入力される信号が比較制御信号 8 5 から 1 次検索許可 信号 1 0 に変更されたこと と、 および一致線 3 7— 1 〜 3 7 — の 名称が 1 次一致線 1 7— 1 〜 1 7—πιに変更されたこ との他は、 図 3 に示した単一領域検索用連想メモ リ 3 6 と全く 同様である。 中間 データ線 9 2— 1 〜 9 2— ηから出力される中間データ 9 3 も、 図 3 に示した単一領域検索用連想メモ リ 3 6 と全く 同様の操作によ り 生成される。
したがって、 第一の実施の形態の単一領域検索用連想メモ リ 3 6 と異なる点についてのみ説明する。
比較器 5 5— j— kは、 対応する ビ ッ ト線 5 1 —: k と、 それに同一 の連想メモリ ' セル 5 0— j — kの中のデ一夕 ' セル 8 — j — kに 格納されている記憶データ と、 マスク . セル 9 一 j — k に格納され ているマスク情報と、 および 1 次検索許可信号 1 0 を入力と し、 1 次一致線 1 7— j を出力とする。 比較器 5 5— j — kは、 1 次検索 許可信号 1 0 が有効状態" 1 "かつ、 ビッ ト線 5 1 — kの値と記憶デ 一夕 が一致 しないな ら ば対応する 1 次一致線 1 7 — j に無効状態 " 0 "を出力 し、 それ以外の場合には 1 次一致線 1 7— j を開放状態 にする。 連想メモリ ' ヮ一 ド 7— j の中の n個の比較器 5 5— j — 1 〜 5 5— j — nがすべて 1 次一致線 1 7— j を開放状態に してい る と きに、 1 次一致線 1 7— j は有効状態" 1 "とな り、 それ以外の 場合には無効状態" 0 "となる、 1 次一致線 1 7の有効状態" 1 "を真と したワイ ア一 ド A N D論理接続を構成している。 つま り 、 1 次検索 許可信号 1 0 が無効状態" 0 "のと きには常に 1 次一致線 1 7— j を 有効状態" 1 "とし、 1 次検索許可信号 1 0が有効状態" 1 "のときには マスク情報がマスク有効状態" 0 "のために比較対象から除外された ビ ヅ ト を除いて連想メモリ · ワー ド 7 — j が格納している記憶デー 夕 と ビ ヅ ト線 5 1 — 1〜 5 1 — nが完全に一致する場合に限り、 1 次一致線 1 7 — j は有効状態" 1 "とな り 、 完全に一致しない場合に は無効状態" 0 "となる。 も ちろん同様の動作となるよう に通常の論 理ゲー トを用いて構成してもかまわない。
[第ョの実施例の単一領域検索用連想メモリの構成詳細]
次に、 上述の連想メモリ · セル 5 0 の構成例を図 1 6 を用いて説 明する。 図 4に示す第一の実施の形態の連想メモ リ · セル 8 3 と比 較すれば分かるよう に、 本発明の連想メモリ · セル 5 0 は、 比較器 5 5 に入力される信号が比較制御信号 8 5から 1次検索許可信号 1 0に変更されたこ とと、 一致線 3 7 — 1〜 3 7 — mの名称が 1 次一 致線 1 7 — :! 〜 1 7— mに変更されたこ と、 それに伴い比較制御信 号 8 5 によ り 導通状態が制御される M O S ト ランジスタ ( T 7 ) 2 0 9が削除され、 1次検索許可信号 1 0 によ り導通状態が制御され る M O S ト ラ ンジスタ ( T 1 2 ) 2 1 6が追加されていることの他 は、 図 4に示す第一の実施の形態の連想メモリ ■ セル 8 3 と全く 同 様に構成される。 したがって、 第一の実施の形態の連想メモリ · セ ル 8 3 と異なる点についてのみ説明を行う。
比較器 5 5.は M O S ト ラ ンジス タ ( T 3 ) 2 0 5、 M O S トラ ン ジス夕 ( T 4 ) 2 0 6、 M O S ト ラ ンジスタ ( T 5 ) 2 0 7、 M 0 S ト ラ ンジス タ ( T 6 ) 2 0 8、 および M O S ト ラ ンジス タ ( T 1 2 ) 2 1 6 によ り構成される。 M O S ト ランジスタ ( T 3 ) 2 0 5 と M O S ト ラ ンジス タ ( T 4 ) 2 0 6はビ ヅ ト線 5 1 a , 5 l bの 間に直列に挿入される。 M-0 S ト ラ ンジスタ ( T 3 ) 2 0 5は、 デ 一夕 ' セル 8 内の反転論理ゲー ト ( G 1 ) 2 0 1 の出力がハイ · レ ペルのときに導通状態となる。 M O S ト ランジスタ ( T 4 ) 2 0 6 は、 データ ' セル 8 内の反転論理ゲー ト ( G 2 ) 2 0 2の出力がハ ィ · レペルのときに導通状態となる。 M O S ト ラ ンジスタ ( T 6 ) 2 0 8、 M O S ト ラ ンジスタ ( T 1 2 ) 2 1 6 および M O S トラ ンジス夕 ( T 5 ) 2 0 7は、 1次一致線 1 7 と低電位の間に直列に 挿入される。 M O S ト ランジスタ ( T 6 ) 2 0 8 は、 マスク ' セル 9内の反転論理ゲ一 ト ( G 4 ) 2 1 1の出力がハイ · レベルの時に 導通状態となる。 M O S ト ランジスタ ( T 1 2 ) 2 1 6 は、 1次検 索許可信号 1 0が有効状態" 1 "の時に導通状態となる。
M O S ト ラ ンジスタ ( T 5 ) 2 0 7 は、 M O S ト ラ ンジスタ ( T 3 ) 2 0 5 と M O S ト ランジスタ ( T 4 ) 2 0 6 の接続点の電位が ハイ · レベルの時に導通状態となる。 ビヅ ト線 5 1 aと反転論理ゲ — ト ( G 1 ) 2 0 1 の出力がともにハイ . レベル、 またはビ ヅ ト線 5 l bと反転論理ゲー ト ( G 2 ) 2 0 2の出力がともにハイ ' レぺ ルのときに、 M O S ト ランジスタ ( T 3 ) 2 0 5 と M O S トラ ンジ スタ ( T 4 ) 2 0 6の接続点はハイ · レベルとな り、 M 0 S ト ラン ジス夕 (T 5 ) 2 0 7を導通状態とする。
従って、 デ一夕 · セル 8 に格納されている記憶データ と、 ビ ヅ ト 線 5 1 , 5 1 b上の検索データ 3が異なる場合に M O S トラ ンジ ス夕 ( T 5 ) 2 0 7は導通状態になる。 また M O S トラ ンジスタ ( T 6 ) 2 0 8はマスク · セル 9 内に格納されているマスク情報が" 0 " のときには開放状態であ り、 " 1 "のときに導通状態となる。 1次一 致線 1 7はあ らか じめ高電位にプリ · チャージされているものとす る。 これによ り、 複数の連想メモ リ · セル 5 0が 1次一致線 1 7に M O S ト ラ ンジスタ ( T 6.) 2 0 8 を介して接続されている とき、 一つの連想メモリ · セル 5 0でも ロ ウ ' レペルを出力 している と 1 次一致線 1 7はロ ウ · レベルとなるよう なワイ ア一 ド A N D接続と なる。
M O S ト ラ ンジス タ ( T 5 ) 2 0 7が導通状態のと きに、 直列接 続された M O S ト ラ ンジスタ ( Τ 6 ) 2 0 8、 M O S ト ランジスタ ( Τ 1 2 ) 2 1 6が、 とも に導通状態の場合にのみ連想メモリ ' セ ル 5 0は 1次一致線 1 7に無効状態" 0 "を出力 し、 それ以外の時に は 1次一致線 1 7 を開放状態とする。 すなわち、 マスク情報がマス ク有効状態" 0 "または 1次検索許可信号 1 0が無効状態" 0 "の場合 には検索データ 3 と記憶データの比較結果によ らず 1 次一致線 1 7 を開放状態と し、 マスク情報がマスク無効状態" 1 "かつ 1次検索許 可信号 1 0が有効状態" 1 "の場合にはビッ ト線 5 1 a , 5 1 b上の 検索データ 3 とデ一夕 · セル 8に格納されている記憶デ一夕が一致 するときに開放状態と し、 異なる場合には無効状態" 0 "を出力する。 本例では、 1次検索許可信号 1 0 によ り M O S ト ラ ンジスタ ( T 1 2 ) 2 1 6 を制御するこ とで、 1次検索許可信号 1 0が無効状態 " 0 "の場合に 1次一致線 1 7 を解放状態とする こ とを実現したが、 第一の実施の形態の単一領域検索用連想メモ リ 3 6 と同様に 1次検 索許可信号 1 0が無効状態" 0 "の場合にビッ ト線 5 1 a、 5 1 bを ともに" 0 "にする手段を設けるこ とによつて も実現できるこ とはい う までもない。 また、 図 1 0 に示した第一の実施の形態の第二の構 成の単一領域検索用連想メ モリ 2 2 と同様に、 1次検索許可信号 1 0 が無効状態の場合には 1 次一致線を有効状態とする論理ゲー ト を 挿入することによっても実現できることもいうまでもない。
次に 2次連想メモ リ 2 1 の構成例を図 1 7 に示す。 2次連想メモ リ 2 1 は、 連想メモ リ ' ヮ-ー ド 2 4— 1 〜 2 4 — 111から構成され、 j 番目の連想メモリ · ワー ド 2 4— j は、 n個の連想メモリ ' セル 6 0 — j 一 ;! 〜 6 0 — j — nを備えている。 連想メモ リ ' ワー ド 2 4— j には、 対応するデータ ' ワー ド線 6 1 — j と、 および 2 次検 索許可信号 1 1 が入力のために接続され、 対応する 2次一致線 1 8 一 j が出力のために接続され、 n本のビ ヅ ト線 5 9— 1 〜 5 9— n が入出力のために接続されている。
j 番目の連想メ モ リ · ワー ド 2 4 — j の k ビ ヅ ト 目の連想メ モ リ 'セル 6 0— j 一 kには、 対応するデ一夕 ' ワー ド線 6 1 - j と、 および 2次検索許可信号 1 1 が入力のために接続され、 対応する 2 次一致線 1 8— j が出力のために接続され、 ビ ヅ ト線 5 9— kが入 出力のために接続されている。 また、 連想メモリ ' セル 1 0 5 — j — kは、 第二の記憶データ の対応する ビ ッ ト情報を格納するデ一 夕 · セル 2 3— j — kと、 ビ ヅ ト線 5 9— kを介して入力される中 間デ一タ 9 3 とデータ ' セル 2 3— j — kに記憶されたビ ヅ ト情報 とを比較する比較器 6 2— j— kとを備えている。
連想メモ リ ' セル 6 0— j — kにおいて、 ビ ヅ ト線 5 9— k、 デ 一夕 ' ワー ド線 6 1 — j , データ ' セル 2 3— j — kの動作は、 従 来の連想メモリ · セル 1 0 7 と同様である。
2次一致線 1 8— 1 〜 1 8— mは、 あ らかじめハイ ■ レベルにプ リ · チャージされているものとする。
比較器 6 2— j — kは、 2次検索許可信号 1 1 が有効状態" 1,,かつ、 同一の連想メモリ ' セル 6 0— j — kの中のデータ ' セル 2 3— j 一 kに格納されている第二の記憶データ とビッ ト線 5 9— kの値が 一致 しないならば対応する 2次一致線 1 8— j に無効状態" 0 "を出 力し、 それ以外の場合には 2次一致線 1 8— j を開放状態にする。 したがって、 連想メモリ ' -ワー ド 2 4— j の中の n個の比較器 6 2 — j — 1 〜 6 2 — j — IIがすべて 2次一致線 1 8 — j を開放状態に している ときに、 2次一致線 1 8— j は有効状態" 1 "とな り、 それ 以外の場合には無効状態" 0 "となる、 2次一致線 1 8の有効状態" 1 " を真と したワイ アー ド A N D論理接続を構成している。 つま り、 2 次検索許可信号 1 1 が無効状態" 0 "のと きには常に 2次一致線 1 8 ― j を有効状態" 1 "と し、 2次検索許可信号 1 1が有効状態" 1 "のと きには、 連想メモ リ · ワー ド 2 4 — j が格納 している記憶データ と ビッ ト線 5 9 — 1〜 5 9 — nが完全に一致する場合に限り、 2次一 致線 1 8 — j は有効状態" 1 "とな り、 完全に一致 しない場合には無 効状態" 0 "となる。 もちろん同様の動作となるよ うに通常の論理ゲ ―トを用いて構成してもかまわない。
次に、 2次連想メ モリ 2 1の連想メモリ . セル 6 0 の構成例を図 1 8を用いて説明する。 図 1 6に示す 1次連想メ モリ 2 0の連想メ モ リ · セル 5 0 と比較すれば分かるよう に、 2次連想メモリ 2 1の 連想メモリ · セル 6 0 における、 ビッ ト線 5 9 a、 5 9 b、 デ一夕 - ワー ド線 6 1、 およびデータ ' セル 2 3 は、 1次連想メモリ 2 0の 連想メモリ ' セル 5 0 と同様である。
比較器 6 2 は、 M O S ト ラ ンジスタ ( T 2 3 ) 2 2 5、 M O S ト ランジス夕 ( T 2 4 ) 2 2 6、 M O S ト ランジスタ ( T 2 5 ) 2 2 7、 および M O S トラ ンジスタ ( T 3 2 ) 2 3 6 によ り構成される。 M O S ト ラ ンジスタ ( T 2 3 ) 2 2 5 と M O S ト ランジスタ ( T 2 4 ) 2 2 6 はビッ ト線 5 9 a, 5 9 bの間に直列に揷入される。 M O S トラ ンジスタ ( T 2 3 ) 2 2 5は、 デ一夕 . セル 2 3内の反転 論理ゲー ト ( G 2 1 ) 2 2 1の出力がハイ . レベルのと きに導通状 態となる。 M O S ト ランジスタ ( T 2 4 ) 2 2 6 は、 データ . セル 2 3 内の反転論理ゲー ト ( G 2 2 ) 2 2 2の出力がハイ . レベルの と きに導通状態となる。 M O S ト ランジスタ ( T 3 2 ) 2 3 6、 お よび M 0 S ト ランジスタ ( T 2 5 ) 2 2 7は、 2次一致線 1 8 と低 電位の間に直列に挿入される。 M O S ト ランジスタ ( T 3 2 ) 2 3 6は、 2次検索許可信号 1 1が有効状態" 1 "の時に導通状態となる。
M O S ト ランジスタ ( T 2 5 ) 2 2 7は、 M O S トラ ンジスタ ( T 2 3 ) 2 2 5 と M O S ト ラ ンジスタ ( T 2 4 ) 2 2 6の接続点の電 位がハイ · レベルの時に導通状態となる。 ビ ヅ ト線 5 9 aと反転論 理ゲー ト ( G 2 1 ) 2 2 1 の出力がともにハイ ' レベル、 またはビ ヅ ト 線 5 9 b と反転論理ゲー ト ( G 2 2 ) 2 2 2の出力がともにハ ィ · レペルの と きに、 M O S ト ラ ンジス タ ( T 2 3 ) 2 2 5 と 1\ 0 S ト ラ ンジス タ ( T 2 4 ) 2 2 6の接続点はハイ . レベルとな り、 MO S トランジスタ (T 2 5 ) 2 2 7を導通状態とする。
従って、 データ ·セル 2 3 に格納されている第二の記憶データ と、 ビ ヅ ト線 5 9 a, 5 9 b上の中間デ一夕 2 3が異なる場合に M O S ト ラ ンジス タ ( T 2 5 ) 2 2 7 は導通状態になる。 2次一致線 1 8 はあ らかじめ高電位にプリ · チャージされているものとする。 これ によ り、 複数の連想メモリ ' セル 6 0が 2次一致線 1 8 に M O S ト ラ ンジス夕 ( T 3 2 ) 2 3 6 を介して接続されている と き、 一つの 連想メモリ · セル 6 0でもロ ウ · レペルを出力 している と 2次一致 線 1 8はロウ . レベルとなるようなワイア一ド A ND接続となる。
M O S ト ラ ンジスタ ( T 2 5 ) 2 2 7が導通状態のときに、 直列 接続された M O S ト ラ ンジス タ ( T 3 2 ) 2 3 6が導通状態の場合 にのみ連想メモリ · セル 6 0 は 2次一致線 1 8に無効状態" 0 "を出 力 し、 それ以外の時には 2次一致線 1 8 を開放状態とする。 すなわ ち、 2次検索許可信号 1 1 が無効状態" 0 "の場合には中間データ 2 3 と第二の記憶データの比-較結果によ らず 2次一致線 1 8 を開放状 態と し、 2次検索許可信号 1 1 が有効状態" 1 "の場合にはビッ ト線 5 9 a , 5 9 b上の中間データ 2 3 とデータ · セル 2 3 に格納され ている第二の記憶データが一致する ときに開放状態と し、 異なる場 合には無効状態" 0 "を出力する。
本例では、 2次検索許可信号 1 1 によ り M 0 S ト ラ ンジスタ ( T 3 2 ) 2 3 6 を制御するこ とで、 2次検索許可信号 1 1が無効状態 "0 "の場合に 2次一致線 1 8を解放状態とするこ とを実現したが、 第一の実施の形態の単一領域検索用連想メモリ 3 6 と同様に 2次検 索許可信号 1 1 が無効状態" 0 "の場合にビッ ト線 5 9 a、 5 9 bを ともに" 0 "にする手段を設ける こ とによつても実現できる こ とはい うまでもない。
[第三の実施例の単一領域検索用連想メモリの動作]
次に、 上述の単一領域検索用連想メモリ 4 を、 従来の連想メモ リ 1 0 1 の動作説明のときと同様に図 3 3のネ ヅ ト ワーク機器 4 0 0 一 1 における転送先ネ ッ ト ワーク · ア ド レスの計算に用いた場合の 動作を、 図 1 9を用いて説明する。
単一領域検索用連想メモ リ 4を 9 ビッ ト 3語の構成と仮定し、 1 次連想メモ リ 2 0の各連想メモリ · ワー ド 7 — 1〜 7 — 3に格納さ れている記憶データ、 マスク情報には、 図 3 3のネ ヅ ト ワーク機器 4 0 0 — 1 のネ ヅ ト ワーク . ア ド レス ( 1 . * ) 以外の接続情 報を記憶しているものとする。 このとき、 接続情報の中の ドン ト · ケア" * "状態のビ ヅ トは、 マスク情報の該当 ビッ ト をマスク有効状 態" 0 "とする こ とで表現される。 記憶データの該当ビ ッ トの状態は 任意であるが、 本例では記憶データの無効状態" 0 "を格納するこ と にする。
つま り、 連想メモリ ' ワー ド 7 — 1 には ( 2. * . * ) を構造化 データで表現するため、 記憶デ一夕 には 2進数で ( 0 1 0. 0 0 0. 0 0 0 ) を、 マスク倩報と して ( 1 1 1 . 0 0 0 . 0 0 0 ) で格納 してある。 同様に連想メモ リ ' ワー ド 7 — 2 には ( 2 . 3 . * ) を 構造化データで表現するため、 記憶デ一夕には 2進数で ( 0 1 0 . 0 1 1 . 0 0 0 ) を、 マスク情報と,して ( 1 1 1 . 1 1 1. 0 0 0 ) を格納してある。 連想メモ リ ' ワー ド 7 — 3 には ( 3 . * . * ) を 構造化デ一夕で表現するため、 記憶データには 2進数で ( 0 1 1 . 0 0 0. 0 0 0 ) を、 マスク情報と して ( 1 1 1 . 0 0 0. 0 0 0 ) を格納してある。
2次連想メ モ リ 2 1 の各連想メ モ リ · ワー ド 2 4 - 1〜 2 4 - 3 に格納されている第二の記憶デ一夕 と して、 図 3 3 のネ ッ ト ヮ一ク 機器 4 0 0 — 1 の接続情報において ドン ト ' ケア" 状態のビ ヅ ト を記憶データの無効状態" 0 "に置換した値を記憶 しているものとす る。 つま り、 連想メモリ · ワー ド 2 4— 1 には ( 0 1 0 . 0 0 0 . 0 0 0 ) を、 連想メモ リ ' ワー ド 2 4— 2 には ( 0 1 0 . 0 1 1 . 0 0 0 ) を、 連想メモリ ' ワー ド 2 4 — 3 には ( 0 1 1 . 0 0 0 . 0 0 0 ) を、 それそれ格納してある。
また、 図 1 9では単一領域検索用連想メモ リ 4の説明のため、 外 部から、 共通一致線 1 8 — 1 には 1次一致線 1 7 — 1の値が入力さ れ、 共通一致線 1 8 — 2 には 1次一致線 1 7 — 2の値が入力され、 共通一致線 1 8 — 3 には 1次一致線 1 7 — 3の値が入力されている ものとする。
以降、 検索データ 1 1 2 と して図 3 3の P C 4 0 1 一 2の 8進表現 のネ ッ ト ワーク ' ア ド レス ( 2 . 3 . 4 ) を入力 し検索動作を行つ た場合の動作説明をする。
あ らかじめ、 すべての 1次一致線 1 7— 1 〜 1 7 — 3、 および 2 次一致線 1 8 — 1〜 ; L 8 — 3は、 有効状態" 1 "にプリ ' チャージさ れているものとする。 8進表現で ( 2 . 3 . 4 ) の検索データ 3 をビヅ ト線 5 1 — 1〜 5 1 — 9 に入力する と、 1 次連想メモリ 4は、 マスク情報による ド ン ト ' ケア" *"も考慮して 1次検索を実行 し、 1 次連想メモリ 4の 連想メモリ · ワー ド 7— 1 に格納されている 8進表現の ( 2 . * . * )と、連想メモリ .ワー ド 7 — 2に格納されている 8進表現の( 2. 3. * )がビヅ ト線 5 1 — 1〜 5 1 — 9上の検索データ 3 と一致し、 連想メモリ . ヮ一 ド 7 — 3 に格納されている 8進表現の ( 3 . * . * ) は不一致となる。 したがって、 1次一致線 1 7 — 1、 1 7 - 2 の 2本が有効状態" 1 "とな り、 残 り の 1次一致線 1 7 — 3 は無効状 態" 0 "となる。 このとき、 上述のように外部から、 共通一致線 1 8 - 1 には 1 次一致線 1 7— 1の値" 1 "が入力され、 共通一致線 1 8 — 2 には 1次一致線 1 7— 2の値" 1,,が入力され、 共通一致線 1 8 — 3には 1次一致線 1 7— 3の値" 0 "が入力される。
ここで、 中間データ線 9 2 _ 1からは、 連想メモ リ · ワー ド 7 — 1 内の一致データ中間論理線 5 2 — 1 に対応する記憶データ " 0 "と. 連想メモリ · ワー ド 7— 2 内の一致デ一夕中間論理線 5 2 — 1 に対 応する記憶データ " 0 "に対しての、 " 1 "を真と した論理和結果" 0 " が出力される。 中間データ線 9 2 — 2からは、 連想メモリ ' ヮ一 ド 7 — 1 内の一致データ 中間論理線 5 2 — 2 に対応する記憶データ " 1 "と、 連想メモリ ' ワー ド 7 — 1 内の一致デ一夕中間論理線 5 2 一 に対応する記憶デ一夕 " 1 "に対しての" 1 "を真と した論理和結 果" 1 "が出力される。
以降同様に、 中間デ一夕線 9 2 — 3 からは" 0,,と" 0 "に対しての " 1 "を真とした論理和結果" 0 "が、 中間デ一夕線 9 2 — 4からは" 0 " と" 0 "に対しての" 1 "を真と した論理和結果"び"が、 中間デ一夕線 9 2 — 5からは" 0 "と" 1,,に対しての" 1 "を真と した論理和結果" 1,, が、 中間デ一夕線 9 2— 6からは" 0 "と"; [ "に対しての" 1 "を真と し た論理和結果" 1 "が、 中間デ一夕線 9 2— 7 からは" 0 "と" 0 " に対 しての" 1 "を真と した論理和結果" 0,,が、中間データ線 9 2 — 8 から は" 0 "と" 0 " に対しての" 1 "を真と した論理和結果" 0 "が、 中間デ —夕線 9 2 — 9 からは" 0 "と" 0,, に対しての" 1 "を真とした論理和 結果" 0 "が、 それそれ出力される。 従って、 中間デ一夕線 9 2— 1 〜 9 2 — 9 に出力される 2進表現で" 0 1 0 0 1 1 0 0 0 "が、 中間 デ一夕 2 3 として 2次連想メモリ 2 1 に入力される。
2次連想メモ リ 2 1 は、 入力された中間デ一夕 2 3 の値" 0 1 0 0 1 1 0 0 0 "に対して、 2次検索を実行する。 本例では、 連想メモリ · ワー ド 2 4 — 2 が格納する第二の記憶データが完全に一致し、 対応 する 2次一致線 1 8 — 2 を開放状態にする。 他の連想メモリ ■ ヮ一 ド 2 4— 1 、 および 2 4— 3が格納する第二の記憶データは一致し ないので、 対応する 2次一致線 1 8 — 1、 および 1 8— 3 に無効状 態" 0 "を出力する。 したがって、 2次検索後も有効状態" 1 "を保持し 続けるのは、 2次一致線 1 8— 2のみとなる。
上述のよう に、 単一領域検索用連想メモ リ 4は、 図 3 で説明した 単一領域検索用連想メモリ 3 6 と同様に、 8進表現で ( 2 . 3 . 3 ) の検索データ 3 を入力した場合、 対応するマスク情報を考慮して比 較した結果一致する記憶データの中で、 マス ク情報のマスク有効状 態のビッ トが最も少ない記憶データに対応する 2次一致線 1 8 — 2 のみに有効状態" 1 "を出力することがわかる。
[第三の実施例の動作]
次に本発明の第三の実施の形態の連想メモ リの、 複数の検索デ一 夕から構成される入力デ一夕に対しての検索動作について、 図 5 に 示す本発明の連想メ モリ の複数の検索データから構成される入力デ 一夕に対しての検索動作時の動作を示す、 上述したフ ローチャー ト に則 して説明する。 ここでは、 第一の実施の形態の連想メモリ 1の 説明のとき と同様に、 第三の実施の形態の連想メモ リ 2 5 を、 図 3
3 におけるネ ヅ ト ワーク . ア ド レス ( 1 . 2 . 6 ) を持つ P C 4 0 1 — 1からネ ヅ ト ワーク ' ア ド レス ( 2 . 3 . 5 ) を持つ P C 4 0
1一 3へのデータ転送についての転送の可否判定に用いた場合を例 と して、 図 2 0、 図 2 1、 図 2 2、 および図 2 3 を用いて、 図 5の フローチャートの各ステヅプごとに具体的に説明する。 第一の実施の形態の連想メモ リ 1の説明の とき と同様に、 データ 転送時の 9 ビ ヅ ト の送出元ア ド レス ( 1 . 2 . 6 ) を検索デ一夕 3 — 1 と し、 9 ビッ トの宛先ア ト' レス ( 2 . 3 . 5 ) を検索データ 3 一 2 と し、 検索データ 3 — 1 の優先順位を最も高い 1 と し、 検索デ —夕 3 — 2の優先順位を 2 とする。 図 2 0、 図 2 1、 図 2 2、 およ び図 2 3において、 連想メ モ リ 2 5 は、 9 ビ ヅ ト 5語の単一領域検 索用連想メモリ 4 — 1、 および 4— 2によ り構成されるものとする。 表 1 ( b ) における各転送規則の送出元ネ ッ ト ワーク ' ア ド レス の 9 ビ ッ ト の構造化データ を構成する 9 ビッ ト の記憶データを、 単 一領域検索用連想メ モ リ 4一 1の 1次連想メ モ リ 2 0 ― 1の転送規 則に対応する連想メモリ · ワー ド 7 — 1 — 1〜 7 — 5 — 1の記憶デ 一夕 と して格納し、 さ らに 2次連想メモリ 2 1 — 1 の転送規則に対 応する連想メモリ · ワー ド 2 4— 1 — 1〜 2 4— 5 — 1 の第二の記 憶デ一夕 と して格納するものとする。 また、 表 1 ( b ) における各 転送規則の送出元ネ ッ ト ワーク · ア ド レスの 9 ビッ ト の構造化デー 夕を構成する 9 ビッ トのマスク情報を、 単一領域検索用連想メモリ 4 - 1 の 1 次連想メ モ リ 2 0 - 1 の転送規則に対応する連想メ モ リ ' ワー ド 7 — 1一 1〜 7 — 5 — 1 のマス ク情報と して格納するも のとする。
表 1 ( b ) における各転送規則の宛先ネ ヅ ト ワーク ' ア ド レスの 9 ビッ トの構造化データを構成する 9 ビヅ トの記憶データを、 単一 領域検索用連想メモリ 4一 2の 1次連想メモ リ 2 0 — 2の転送規則 に対応する連想メモリ · ワー ド 7 — 1 — 2〜 7 — 5 — 2の記憶デ一 夕 と して格納し、 さ らに 2次連想メ モリ 2 1 — 2の転送規則に対応 する連想メモリ · ワー ド 2 4 — 1 — 2〜 2 4 — 5 — 2の第二の記憶 デ一夕 と して格納するものとする。 また、 表 1 ( b ) における各転 送規則の宛先ネ ヅ ト ワーク · ア ド レスの 9 ビヅ 卜の構造化デ一夕を 構成する 9 ビッ トのマスク情報を、 単一領域検索用連想メモ リ 4— 2の 1次連想メモリ 2 0 — 2の転送規則に対応する連想メモリ · ヮ — ド 7 — 1 — 2〜 7 — 5— 2のマスク倩報と して格納するものとす また、 表 1 ( b ) における各転送規則の宛先ネ ヅ ト ワーク · ア ド レスの 9 ビ ヅ トの構造化デ一夕を構成する 9 ビヅ トの記憶デ一夕、 9 ビッ トのマスク情報を、 単一領域検索用連想メモリ 3 6 — 2 の転 送規則に対応する連想メモ リ ■ ワー ド 4 4— 1 — 2〜 4 4— 5 — 2 のそれそれ記憶デ一夕、 マスク情報と して格納するものとする。
すべての 1次一致線 1 7 — 1一 1 〜 1 7 - m_ r、 およびすベて の 2次一致線 1 8 — 1一 1 〜 : L 8 — m— rは、 あらかじめ有効状態 " 1 "にプリ ' チャージされているものとする。
第三の実施の形態の連想メモリ 2 5 の主制御回路 6の、 図 5のフ ローチャー トの各ステップにおける動作は、 第一の実施の形態の連 想メモリ 1 の場合と同様で-ある。 また、 図 2 0、 図 2 1、 図 2 2、 および図 2 3におけるクロ ヅ ク信号 4 1および開始信号 4 2の状態 は、 第一の実施の形態の連想メモリ 1 と同様とする。 [ステップ S 1 0 0 ]
図 2 0は、 連想メモ リ 1 を、 図 3 3 におけるネ ヅ ト ワーク · ア ド レス ( 1 . 2 . 6 ) を持つ P C 4 0 1 — 1 か らネ ヅ ト ワーク ' ア ド レス ( 2 . 3 . 5 ) を持つ P C 4 0 1 — 3へのデータ転送について の転送の可否判定に用いた場合の、 図 5のステ ッ プ S 1 0 0での動 作状態を説明する図である。
1次検索許可信号 1 0— 1が無効状態" 0 "であるため、 1次連想メ モリ 2 0 — 1 はすべての 1次一致線 1 7 — 1 — 1 〜 1 7 — 5 — 1 を 解放状態と し、 結果と してすベての 1 次一致線 1 7— 1 — 1〜 1 7 一 5 — 1 は有効状態" 1 "を保持する。 2次検索許可信号 1 1 — 1 が 無効状態" 0 "であるため、 2次連想メモリ 2 1 — 1はすべての 2次 一致線 1 8 — 1一 1 〜 ; L 8 — 5 — 1 を解放状態と し、 結果と してす ベての 2次一致線 1 8 — 1 - 1〜 1 8 ― 5 - 1 は有効状態" 1 "を保 持する。
1次検索許可信号 1 0— 2が無効状態" 0 "であるため、 1次連想メ モリ 2 0 — 2 はすべての 1次一致線 1 7 — 1 — 2〜 1 7 — 5 — 2 を 解放状態と し、 結果と してすベての 1次一致線 1 7 — 1 — 2〜 1 7 — 5 — 2は有効状態" 1 "を保持する。 2次検索許可信号 1 1一 2が 無効状態" 0 "であるため、 2次連想メモリ 2 1 — 2はすべての 2次 一致線 1 8 — 1 — 2〜 1 8 — 5 — 2 を解放状態と し、 結果と してす ベての 2次一致線 1 8 — 1一 1〜 1 8 — 5 — 1 は有効状態" 1 "を保 持する。 したがって、 論理積手段 1 5 — 1〜 1 5 — 5から出力され る一致信号 5— 1〜 5— 5はすべて有効状態" 1 "となる。
また、 記憶手段 4 3 — 1 ·~ 4 3 — 5 の出力である共通一致線 3 8 一 1 〜 3 8 — 5は、 記憶制御信号 1 2 によ り 有効状態" 1 "に初期化 されている。 そのため、 論理積信号 4 0 — 1 〜 4 0 — 5はすべて" 1 " となる。 その結果と して、 中間データ 9 3 — 1 は、 連想メモリ ' ヮ ー ド 4 4— 1 — 1 ~ 4 4 - 1一 5 に格納されているすべての記憶デ 一夕の論理和演算結果" 0 0 1 . 0 1 0 1 1 0 "となる。 また、 中 間デ一夕 9 3 — 2 は、 連想メモリ ' ヮ - ド 4 4— 2 — 1〜 4 4ー 2 一 5 に格納されているすべての記憶デ 夕の論理和演算結果" 0 1
1. 0 1 1 . 1 0 1 "となる。
[ステップ S 1 0 1 ]
図 2 1は、 連想メモ リ 2 5 を、 図 3 3におけるネ ヅ ト ワーク · ァ ド レス ( 1 . 2 . 6 ) を持つ P C 4 0 1 — 1 からネ ヅ ト ヮ一ク ' ァ ド レス ( 2 . 3 . 5 ) を持つ P C 4 0 1 — 3へのデータ転送につい ての転送の可否判定に用いた場合の、 ステ ヅ プ S 1 0 1 での動作状 態を説明する図である。
単一領域検索用連想メ モ リ 4 — 1 の 1次連想メ モ リ 2 0 - 1 にお いては、 1次検索許可信号 1 0— 1が有効状態" 1 "であるため、 検 索データ 3 — 1の値" 0 0 1 . 0 1 0 . 1 1 0 "と、 連想メモリ ' ヮ
— ド 7— 1 - 1〜 7 — 5 — 1 に格納されている記憶データとを、 対 応するマスク情報も考慮して比較を行い、 結果と して 1次一致線 1
7 — 1 — 1、 1 7 — 2— 1、 1 7 - 3 - 1 , 1 7 — 4一 1、 および
1 7 - 5 - 1が有効状態" 1 "となる。
単一領域検索用連想メ モ リ 4一 2の 1次連想メ モ リ 2 0 — 2 にお いては、 1次検索許可信号 1 0 — 2が有効状態" 1 "であるため、 検 索デ一夕 3 — 2の値" 0 1 0 . 0 1 1 . 1 0 1,,と、 連想メモ リ · ヮ ー ド 7— 1 — 2〜 7 — 5 — 2に格納されている記憶デ一夕 とを、 対 応するマスク情報も考慮レて比較を行い、 結果と して 1 次一致線 1 7 — 1一 2、 1 7 — 3 — 2、 および 1 7 — 5 — 2が有効状態" 1,,と な り、 1次一致線 1 7— 2 — 2、 および 1 7 — 4— 2 は無効状態" 0 " となる。
2次検索許可信号 1 1一 1 が無効状態" 0 "であるため、 2次連想メ モ リ 2 1 — 1 はすべての 2次一致線 1 8 — 1 — 1〜 1 8 — 5 — 1 を 解放状態と し、 結果と してすベての 2次一致線 1 8 — 1 — 1〜 1 8 — 5 _ 1 は有効状態" 1 "を保持する。 2次検索許可信号 1 1一 2が 無効状態" 0 "であるため、 2次連想メモ リ 2 1 — 2 はすべての 2次 一致線 1 8 — 1 — 2〜 1 8 — 5 — 2 を解放状態と し、 結果と してす ベての 2次一致線 1 8 — 1 — 2〜 1 8— 5 — 2は有効状態" 1 "を保 持する。 したがって、 論理積手段 1 5 — 1〜 1 5 — 5から出力され る一致信号 5— 1〜 5— 5は、 すべて有効状態" 1 "となる。
記憶手段 4 3 — 1〜 4 3 — 5 はステップ S 1 0 0で初期化された 値" 1 "を共通一致線 3 8 — 1〜 3 8 — 5 に出力 しているため、 論理 積信号 4 0 — 1、 4 0 — 3、 および 4 0 — 5が" 1 "とな り、 論理積 信号 4 0 — 2、 および 4 0 — 4は" 0 "となる。 その結果と して、 中 間デ一夕 9 3 — 1 は、 連想メモリ , ワー ド 4 4 — 1 — 1〜 4 4 — 1 — 5 に格納されているすべての記憶データの論理和演算結果" 0 0 1 . 0 1 0 . 1 1 0 "となる。 また、 中間デ一夕 9 3 — 2は、 連想メ モリ · ワー ド 4 4— 2 — 1 〜 4 4 — 2 — 5に格納されているすべて の記憶データの論理和演算結果" 0 1 1 . 0 1 1 . 1 0 1 "となる。 論理積信号 4 0— 1〜 4 0 — 5 の値は、 記憶制御信号 1 2によって、 次のステ ヅ ブに移行すると きに記憶手段 4 3 — 1〜 4 3 — 5 に記憶 される。
[ステップ S 1 0 2 ]
図 2 2 は、 連想メ乇リ 2- 5 を、 図 3 3におけるネ ヅ ト ワーク · ァ ド レス ( 1 . 2 . 6 ) を持つ P C 4 0 1 — 1 からネ ッ ト ワーク ' ァ ド レス ( 2 . 3 . 5 ) を持つ P C 4 0 1 — 3へのデ一夕転送につい ての転送の可否判定に用いた場合の、 ステ ップ S 1 0 2での動作状 態を説明する図である。
記億手段 4 3 — 1〜 4 3 — 5はステヅプ S 1 0 1 で記憶された値 を出力 しているため、 共通一致線 3 8— 1、 3 8 — 3、 および 3 8 — 5が" 1 "とな り、 共通一致線 3 8 — 2、 および 3 8— 4は" 0 "とな る。 このため、 単一領域検索用連想メモリ 4 — 1 の中間データ 9 3 一 1 の値は、 連想メモリ ■ ワー ド 7 — 1 — 1、 7 — 3 — 1、 および 7 - 5 - 1 に格納されている記憶データの論理和演算結果" 0 0 1 . 0 1 0 . 0 0 0 "となる。 また、 単一領域検索用連想メモリ 4— 2の 中間デ一夕 9 3 — 2の値は、 連想メモリ · ヮ一ド 7 — 1 — 2、 7 - 3一 2、 および 7 — 5一 2に格納され.ている記憶データの論理和演 算結果" 0 1 0. 0 1 1 . 1 0 1 "となる。
優先順位が最も高い 1 である単一領域検索用連想メモリ 4 — 1 に おいては、 2次検索許可信号 1 1 — 1 に有効状態" 1 "が入力され、 2次連想メモリ 2 1 — 1 は、 中間データ 9 3 — 1の値" 0 0 1 . 0 1 0 . 0 0 0 "と、 連想メモリ . ワー ド 2 4— 1 — 1〜 2 4— 5 — 1 に 格納されている第二の記憶デ一夕 との比較を行い、 結果として 2次 一致線 1 8 — 1 — 1、 および 1 8 — 3 — 1 が有効状態" 1 "とな り、 2次一致線 1 8 — 2 — 1、 1 8— 4 — 1、 および 1 8 — 5— 1 は無 効状態" 0 "となる。 単一領域検索用連想メモ リ 4 — 1の 1次連想メ モリ 2 0 — 1 は、 1 次検索許可信号 1 0 — 1 が無効状態" 0 "である ため、 すべての 1次一致線 1 7 — 1一 1〜 1 7 — 5 — 1 を解放状態 と し、 結果と してすベての 1次一致線 1 7 — 1一 1〜 1 7— 5 — 1 は有効状態" 1 "を保持する。- 単一領域検索用連想メモリ 4— 2の 1次連想メモリ 2 0 — 2 は、 1次検索許可信号 1 0 — 2が無効状態" 0 "であるため、 すべての 1 次一致線 1 7 — 1 — 2〜 1 7 — 5 — 2 を解放状態と し、 結果と して すべての 1 次一致線 1 7 — 1 — 2〜 1 7 — 5 — 2 は有効状態" 1 "を 保持する。 単一領域検索用連想メモリ 4 — 2 の 2次連想メモリ 2 1 — 2 は、 2 次検索許可信号 1 1 — 2が無効状態" 0 "であるため、 す ベての 2次一致線 1 8 — 1 — 2〜 1 8 — 5 — 2 を解放状態と し、 結 果と してすベての 2次一致線 1 8 — 1 — 2〜 1 8 — 5 — 2 は有効状 態" 1 "を保持する。
したがって、 2次一致線 1 8 — 1 — 1 〜 1 8 — 5 — 1、 2次一致 線 1 8 — 1 — 2〜 1 8 — 5 — 2 の対応する信号どう しの論理積演算 結果よ り、 論理積手段 1 5 — 1 〜 1 5 — 5 は、 一致信号 5 — 1 、 お よび 5 — 3 に有効状態" 1,,を出力 し、 一致信号 5 — 2 、 5 — 4、 お よび 5— 5には無効状態" 0 "を出力する。
1次一致線 1 7 — 1一 1 〜 1 7 _ 5 - 1 、 1 次一致線 1 7 — 1 — 2〜 1 7 — 5 — 2、 一致信号 5 — ;! 〜 5 — 5 、 および共通一致線 3 8 — 1 〜 3 8 — 5 の、 それぞれ対応する信号どう しの論理積演算結 果よ り、 論理積手段 1 3 — 1 ~ 1 3 - 5 は、 論理積信号 4 0 — 1、 および 4 0 — 3 に有効状態" 1 "を出力し、 論理積信号 4 0 — 2、 4 0 — 4、 および 4 0 — 5 には無効状態" 0 "を出力する。 論理積信号 4 0 — 1 ~ 4 0 — .5 の状態は、 記憶制御信号 1 2 によって、 次のス テヅ プに移行する ときに記憶手段 4 3 _ 1 〜 4 3 — 5 に記憶される , [ステヅブ 3 1 0 3〜 3 1 0 5 ]
図 2 3 は、 連想メモリ 2 5 を、 図 3 3 におけるネ ヅ トワーク . ァ ド レス ( 1 . 2 . 6 ) を持つ P C 4 0 1 — 1 からネ ヅ ト ワーク ' ァ ド レス ( 2 . 3 . 5 ) を持つ P C 4 0 1 — 3へのデータ転送につい ての転送の可否判定に用いた場合の、 ステッ プ S 1 0 5 での動作状 態を説明する図である。 記憶手段 4 3 — 1 〜 4 3 — 5 はステ ヅブ S 1 0 2で記憶された値 を出力 しているため、 共通一致線 3 8 — 1、 および 3 8 — 3が" 1 " とな り、 共通一致線 3 8— 2、 3 8 — 4、 および 3 8 — 5は" 0 "と なる。 このため、 単一領域検索用連想メモリ 4— 1の中間データ 9 3 — 1 の値は、 連想メモリ · ワー ド 7— 1一 1、 および 7 — 3 — 1 に格納されている記憶データの論理和演算結果" 0 0 1 · 0 1 0 . 0 0 0 "となる。 また、 単一領域検索用連想メモリ 4一 2の中間デ一夕 9 3 — 2の値は、 連想メモ リ ' ワー ド 7 — 1 — 2、 および 7 — 3 — 2 に格納されている記憶データの論理和演算結果" 0 1 0 . 0 1 1 . 0 0 0 "となる。
優先順位が 1である単一領域検索用連想メモリ 4一 1の 1 次連想 メモ リ 2 0 — 1 は、 1次検索許可信号 1 0 — 1が無効状態" 0 "であ るため、 すべての 1次一致線 1 7 — 1 — :! 〜 1 7 — 5 — 1 を解放状 態と し、 結果と してすベての 1次一致線 1 7 — 1 — 1〜 1 7 — 5 — 1 は有効状態" 1 "を保持する。 単一領域検索用連想メモリ 4— 1の 2次連想メモリ 2 1 — 1は、 2次検索許可信号 1 1 — 1 が無効状態 "0 "であるため、 すべての 2次一致線 1 8— 1 — 1 ~ 1 8 — 5 — 1 を解放状態と し、 結果と してすベての 2次一致線 1 8 — 1一 1 〜 1 8 - 5 - 1は有効状態" 1 "を保持する。
優先順位が 2である単一領域検索用連想メ モリ 4一 2の 1次連想 メモリ 2 0— 2 においては、 2次検索許可信号 1 1一 2 に有効状態 " 1 "が入力され、 2次連想メモリ 2 1 — 2は、 中間データ 9 3 — 2 の値" 0 1 0 . 0 1 1 . 0 0 0,,と、 連想メモリ ' ワー ド 2 4— 1 — 2〜 2 4 — 5 — 2に格納さ-れている第二の記憶デ一夕 との比較を行 い、 結果と して 2次一致線 1 8 — 3 — 2が有効状態" 1 "とな り、 2 次一致線 1 8 — 1 — 2、 1 8 — 2 — 2、 1 8 — 4— 2、 および 1 8 — 5 — 2 は無効状態" 0 "となる。 単一領域検索用連想メモ リ 4一 2 の 1次連想メモリ 2 0 — 2 は、 1次検索許可信号 1 0 — 2が無効状 態" 0 "であるため、 すべての 1次一致線 1 7 — 1 — 2〜 1 7— 5 — 2を解放状態と し、 結果と してすベての 1次一致線 1 7— 1一 2〜 1 7 - 5 - 2は有効状態" 1 "を保持する。
したがって、 2次一致線 1 8— 1 — 1〜 ; L 8 — 5 — 1、 2次一致 線 1 8— 1一 2〜 1 8— 5 — 2の対応する信号どう しの論理積演算 結果よ り、 論理積手段 1 5 — 1〜 1 5 — 5は、 一致信号 5 — 3 のみ に有効状態" 1 "を出力し、 残りの一致信号 5 — 1、 5 — 2、 5— 4、 および 5— 5には無効状態" 0 "を出力する。
1次一致線 1 7 — 1一 1〜 1 7— 5 — 1、 1次一致線 1 7 — 1 — 2〜 1 7 — 5 — 2、 一致信号 5 — 1〜 5 — 5、 および共通一致線 3 8— 1〜 3 8 — 5の、 それそれ対応する信号どう しの論理積演算結 果よ り、 論理積手段 1 3 — 1〜 ; L 3 — 5 は、 論理積信号 4 0— 3 に 有効状態" 1 "を出力 し、 論理積信号 4 0 — 1、 4 0— 2、 4 0 — 4、 および 4 0 — 5 には無効状態" 0 "を出力する。 論理積信号 4 0 — 1 〜 4 0— 5の状態は、 記憶制御信号 1 2によって、 次のステッ プに 移行するときに記憶手段 4 3— 1〜 4 3 _ 5に記憶される。
次のクロ ッ ク信号 4 1 に同期して主制御回路 6の動作は、 図 5の フローチヤ一 トのステップ S 1 0 3 に移行し、 内部変数 2 8の値 p と、 連想メモ リ 1 が有する単一領域検索用連想メモリ 3 6の個数 r とを比較する。 図 2 3の例では、 内部変数 2 8の値 p と、 連想メモ リ 2 5が有する単一領域検索用連想メ モ リ 4の個数 rは、 ともに 2 であ り、 検索結果終了する。 このとき、 一致信号 5— 1〜 5 — 5の 中で有効状態" 1 "を出力 しているものは一致信号 5 — 3のみであ り . これが最終的な検索結果と して得られることになる。 前述のよう に、 ネ ヅ ト ワーク ' ア ド レス ( 1 . 2 . 6 ) を持つ P C 4 0 1— 1から、 ネ ッ ト ワーク . ア ド レス ( 2 . 3 . 5 ) を持つ P C 4 0 1 — 3への データ転送は、 転送規則 3 が適用されるべきであ り、 正しい結果が 得られていることがわかる。
ま た、 図 5のフ ローチヤ 一 ト のステ ヅ プ S 1 0 2、 ステ ヅ プ S I
0 5 の直前にウェイ ト ■ サイ クルを挿入し、 中間デ一夕 9 3 - 1〜 9 3 — rを格納するためのラ ヅチを挿入する こ とによ り、 動作周波 数を高くすることができることはいうまでもない。
また、 ステ ップ S 1 0 5 では、 ステヅプ S 1 0 2で 2次検索を行 つたときに一致したワー ド の中から、 さ らに 2次検索を行うのであ るから、 図 2 3 に示すステ ッ プ S 1 0 5での中間デ一夕 9 3 — 1 の 値と、 図 2 2に示すステッ プ S 1 0 2での中間デ一夕 9 3— 1 の値 は当然、 同一である。 したがって、 図 5のフ ローチャ ー ト のステ ヅ プ S 1 0 5 において、 内部変数 2 8の値が pのときに、 2次検索信 号 1 1一 1〜 1 1一 pに有効状態を出力 しても、 同じ結果が得られ ることがわかる。
また、 上述の説明からわかるよう に、 1次連想メモ リ 2 0 - 1〜
2 0— 2 と、 2次連想メモ リ 2 1 — 1 と、 および 2次連想メモ リ 2
1一 2はそれそれ時間的に順番に動作し、 かつ動作するタイ ミ ング が重なる こ とはない。 したがって、 結線を変更すればパイ プライ ン 処理が可能であることが容易にわかる。
例えば、 図 1 5において、 論理積手段 1 5 — 1〜 1 5 — mを削除 し、 共有している共通一致線 3 8 — :! 〜 3 8 — m、 論理積手段 4 0 ― ;! 〜 4 0 — mと記憶手段- 4 3 — 1 〜 4 3— mを、 各 2次連想メモ リ 2 1 — ;! 〜 2 1 — rそれぞれに専用に共通一致線 3 8 — 1 — 丄 〜
3 8 - m - r , 論理積手段 4 0 — 1 — 1〜 4 0 — m— rおよび記憶 手段 4 3— 1— 1〜 4 3— m— rと有するよう に変更する。 このと き各 2次連想メモ リ 2 1— 1〜 2 1 — rに対応する r組の共逋一致 線 ( 3 8— 1— 1〜 3 8— m - 1 ) 〜 ( 3 8— l— r〜 3 8—m— r ) はそれそれ対応する 1次連想メモリ 2 1 — .1 ~ 2 1 — rにのみ 入力する。 これによ り各 2次連想メモ リ 2 1— 1〜 2 1— rごとに 中間データ 9 3— 1〜 93— rを生成することが可能となる。
また、 2次連想メモリ 2 1— 1に対応する m個の論理積手段 1 3 — 1 — 1〜 ; 1 3— m— 1には一致信号 5— 1〜 5— mの代わ り に有 効状態を入力 し、 2次連想メモリ 2 1 — 2に対応する r個の論理積 手段 1 3— 1— 2〜 1 3— m— 2には一致信号 5— 1〜 5— mの代 わ り に 2次一致線 1 8— 1 — 1〜 1 8— m— 1を入力 し、 以下同様 に 2次連想メモリ 2 1— rに対応する r個の論理積手段 1 3— 1 - r〜 l 3— m— rには一致信号 5— 1〜 5— mの代わ り に 2次一致 線 1 8— 1 — ( r - 1 ) ~ 1 8 - m - ( r - 1 ) を入力するよう に し、 最後の 2次一致線 1 8— 1一 r〜 ; 1 8— m— rを一致信号 5— 1〜 5— mのよう に結線を変更する こ とによ り、 2次連想メモ リ 2 1— 1~ 2 1— rを独立に動作させることが可能となる。
この と きには、 1次検索許可信号 1 0— 1〜 ; 1 0— r、 2次検索 許可信号 1 1一 1〜 1 1— rはすべて有効状態で構わない し、 パイ プライ ンの動作周波数に応じて動作させるべき箇所にのみ有効状態 を出力しても よいことはいう までもない。 また、 上記記憶手段 4 3 一 1 一 1〜 4 3— m— rを削除し、 1次検索許可信号 1 0— 1〜 1 0 - r 2次検索許可信号 1 1一 1〜 1 1— rにすベて有効状態が 出力されていれば 1クロ ックですべての動作を終了ことになる。 ま た、 前述のように、 中間データ 9 3 — 1〜 9 3—: rを格納する ため のラ ツチを挿入する ことによ りパイ プライ ンの動作周波数を高 く す ることも可能であることも容易にわかる。
[第四の実施例の構成]
次に、 本発明の第四の実施の形態について図面を参照して詳細に 説明する。 図 2 4は、 本発明の第四の実施の形態の m語の連想メモ リ 3 5の構成例を示すブロ ック図である。
図 2 4に示す第四の実施の形態の連想メモ リ 3 5は、 r個の単一 領域検索用連想メモ リ 3 0 - 1 - 3 0 — rを構成する 1次連想メモ リ 3 1 — 1〜 3 1 — rのそれそれ j番目の連想メモリ ■ ワー ド 3 2 一 j — l〜 3 2 — j — rの比較結果の出力信号どう しを 1本の 1次 一致線 1 7 — j にワイ ア一 ド A N D論理接続し、 さ らに 1次一致線
1 7 — j にダイナミ ヅクに保持されている状態を中間データ 9 3 — 1〜 9 3 — rの生成に利用するものである。 こ こで 1次一致線 1 7 一 j は、 開始信号 4 2が有効状態のときのみ、 有効状態" 1 "にプリ · チヤ一ジされるものとする。 さ らに連想メモリ 3 5では、 単一領域 検索用連想メモリ 2 6 — 1〜 2 6 — rを構成する 2次連想メモリ 2 1 — 1〜 2 1 — rのそれぞれ j番目の連想メモ リ ' ワー ド 2 4 — j 一 1〜 2 4 ― j - rの比較結果の出力信号同士を 1本の 2次一致線
1 8 — j にワイ アー ド A N D論理接続している。 ここで 2次一致線 1 8 — j は、 あ らか じめ有効状態" 1,,にプリ ' チャージされるもの とする。 また、 m個の M O S トラ ンジスタ 3 3 — 1〜 3 3 — mと m 個の反転 M O S ト ラ ンジスタ 3 4 — l〜 3 4 — mを有し、 j番目の M O S トラ ンジスタ 3 3 - j と反転 M O S ト ラ ンジスタ 3 4— j は. 1次一致線 1 7 — j と低電位の間に直列に挿入されている。 M 0 S トランジスタ 3 3 — j は主制御回路 6か ら出力される記憶制御信号 1 2が有効状態のと きに導通状態となる。 反転 M O S ト ランジスタ 3 4 — j は、 2次一致線 1 8 — mが無効状態" 0 "のときに導通状態 となる。
上述のよう に図 1 4に示 した第三の実施の形態の連想メ モリ 2 5 における論理積手段 1 5— jは、 図 2 4に示す第四の実施の形態の 連想メモ リ 3 5では、 ワイ ア一 ド A N D論理接続された 2次一致線 1 8— j によ り実現している。 また、 図 2 4に示す連想メモリ 3 5 では、 2次一致線 1 8— j の状態を一致信号 5— j と して直接外部 に出力している。
図 2 4に示す連想メ モリ 3 5の j番目の 1次一致線 1 7— j は、 開始信号 4 2が有効状態のときに有効状態" 1 "にプリ · チャージさ れた後、 図 5に示すフ ローチャー トの動作が終了する までの間、 r 個の単一領域検索用連想メ モリ 3 0— 1〜 3 0— rを構成する 1次 連想メモ リ 3 1— 1〜 3 1 — rのそれそれ j番目の連想メモリ . ヮ ー ド 3 2— j — 1〜 3 2— j 一 : rの比較結果がすべて一致し、 かつ 直前のステッ プでの 1次一致線 1 7— jの状態が有効状態" 1であ り、 かつ次のステップに移行する前に記憶制御信号 1 2が有効状態 とな り MO S トラ ンジスタ 3 3— jが導通状態となったときに 2次 一致線 1 8— jが有効状態" 1 "のと きのみ、有効状態" 1 "を保持する こ とになる。 つま り、 図 1 4における論理積手段 1 3— jは、 図 2 4に示す連想メモ リ 3 5では、 ワイ アー ド AND論理接続された 1 次一致線 1 7— j と反転 M O S ト ラ ンジスタ 3 4— j によ り構成さ れ、 また、 図 1 4における記憶手段 4 3— jは、 図 2 4に示す連想 メモ リ 3 5では、 ワイ アー ド AN D論理接続された 1次一致線 1 7 一 j と MO S トランジスタ 3 3— jによ り構成されることになる。 これらの他は、 図 1 4に.示す第三の実施の形態の連想メモリ 2 5 の構成と全く 同様である。 複数の検索データから構成される入力デ 一夕に対して同様な検索動作を実行できることは明らかである。 図 2 4に示す第四の実施の形態の連想メモ リ 3 5では r個の単一 領域検索用連想メモリ 3 0— 1〜 3 0— r間の配線数は、 m本の 1 次一致線 1 7 — 1〜 1 7— mと、 m本の 2次一致線 1 8— 1〜 1 8 一 mの合計 ( 2 m) 本である。 図 1 4に示す第三の実施の形態の連 想メモリ 2 5では、 r個の単一領域検索用連想メモリ 4一 1〜 4一 r間の配線数は、 m x r本の 1次一致線 1 7— 1— 1〜 1 7 _m— rと、 mx r本の 2次一致線 1 8 — 1 — 1〜 1 8— m— と、 m本 の共用一致線 3 8— 1〜 3 8— mの合計 (m x ( 2 x r + 1 )) 本で あ り、 第四の実施の形態の連想メ モリ 3 5では配線数が大幅に減少 しているこ とがわかる。 r個の単一領域検索用連想メモリ 3 0— 1 〜 3 0— r間の配線は、 連想メモ リ 3 5の全域に渡って配線される ために配線容量が大き くな り、 保持している状態が遷移するたびに 消費する電力は非常に大きい。 したがって、 第四の実施の形態の連 想メモリ 3 5では第三の実施の形態の連想メモリ 2 5に比べて、 配 線領域が大き く減少しチッ プ面積が削減される と同時に、 消費電力 を大幅に削減できるという利点を有する。
図 2 5に、 第四の実施の形態の連想メモリ における 1次連想メモ リのー構成例のプロ ック図を示す。 図 2 5に示す 1次連想メモリ 3 1の構成は、 図 1 5に示す第三の実施の形態の 1次連想メモリ 2 0 と比較する と、 j番目の連想メモ リ · ワー ド 3 2— jから共通一致 線 3 8— j が削除されたこ と と、 それに伴い j番目の連想メモ リ ' ワー ド 3 2 — jを構成する n個の連想メモリ · セル 8 0 - j - 1〜 8 0 - j — n内の論理ゲー ト 5 6 - j - 1〜 5 6— j — nの入力が 共通一致線 3 8— jから 1-次一致線 1 7— j に変更されたこ との他 は、 図 1 5 に示す第三の実施の形態の 1次連想メモリ 2 0 と全く 同 様である。 図 2 5 に示す 1 次連想メモリ 3 1 では、 出力信号である 1 次一致 線 1 7— j を、 n個の論理ゲ一 ト 5 6— j — 1 〜 5 6— j — nをヮ ィ ァ一 ド A N D論理接続することによ り生成しているため、 1 次連 想メモリ 3 1 の内部においても共通一致線 3 8— j を 1 次一致線 1 7— j と共用することが可能である。
もちろん、 ワイ アー ド A N D論理接続ではな く 通常の論理ゲー ト を用いて 1 次一致線 1 7— 1 〜 1 7— mを生成している場合、 およ び図 1 0 と同様な構成の、 1 次一致線 1 7— 1 〜 1 7— mが論理ゲ — トから出力されているよ うな 1 次連想メモリ においても、 1 次一 致線 1 7— j を出力する論理ゲー ト と して、 無効状態のときのみ出 力を駆動し、 有効状態のと きには出力を開放状態にする機能を有し ているものを使用する こ とによ り、 第四の実施の形態の連想メ モリ 3 5 の 1 次連想メモ リ 3 1 と して用いる こ とが可能なことはいう ま でもない。
また、 図 2 4では 2 次一致線 1 8— j の状態を一致信号 5— j と して直接外部に出力 しているが、 2次一致線 1 8— ' の状態をバッ ファに入力 して波形を整形してから一致信号 5 — j と して出力 して もよいこともいうまでもない。 [第五の実施例]
図 2 6 は、 本発明の第五の実施の形態の連想メモ リ の構成例を示 すブロ ック図である。 図 2 6 に示す第五の実施の形態の m語の連想 メモリ 4 6 を、 図 1 4 に示 した m語の第三の実施の形態の連想メモ リ 2 5 と比較する と、 入力デ一夕 4 7の構成要素と して検索データ 4 8 が追加されている こ と と、 検索デ一夕 4 8 を入力と し m本の一 致線 9 0 - 1 〜 9 0— mを出力する連想メモ リ 4 9 が追加されてい るこ とと、 論理積手段 9 1 — 1 ~ 9 1 一 mの入力信号と して対応す る一致線 9 0 — 1〜 9 0 — mが追加されているこ との他は、 図 1 4 に示した連想メモリ 2 5 と全く 同様に構成される。
したがって、 図 2 6 の連想メモリ 4 6 は、 複数の検索データ 3 — 1〜 3 — rに対して連想メモリ 2 5 と同様な検索動作を実行できる ことは明らかであ り、 さ らに、 検索データ 4 8 を用いて、 あ らかじ め検索結果の絞り込みを行う機能を有する。 これによ り、 表 1 ( b ) で説明した転送規則の表を、 複数個切 り替えて使用する ことが可能 になる。
例えば、 検索デ一夕 4 8 と して曜日を表す情報を入力した場合を 考える。 このとき、 単一領域検索用連想メモリ 4 一 1〜 4 — rの特 定のワー ドに表 1 ( b ) の転送規則を格納し、 かつ連想メモリ 4 9 の対応するワー ドの記憶データ と して"平日"を表すデ一夕 を格納 し てお く 。 また、 単一領域検索用連想メモリ 4— 1〜 4— rの他のヮ ― ドに特定の P Cから特定の P Cへの転送のみを許可し他の転送は すべて拒絶する"ような転送規則を格納し、 かつ連想メモリ 4 9の対 応するワー ドの記憶デ一夕 と して"休日"を表すデ一夕を格納 した場 合、 検索データ 4 8 に応じて転送規則を変更する こ とが可能になる。 つま り 図 1 4 に示した連想メモリ 2 5 に比べて、 転送規則を、 よ り 柔軟に設定することができる。
[第六の実施例]
次に図面を参照して、 第一の実施の形態の連想メモリ 1 を転送先 ネ ヅ ト ワーク · ア ド レス計算に用いた、 本発明のネ ヅ ト ワーク機器 の構成例を説明する。 図 2 7 は、 本発明のネ ッ ト ワーク機器の一構 成例を示すブロ ック図である。 図 2 7 では本発明のネ ヅ ト ワーク機 器 4 5 0 について、 図 3 4に示した従来のネ ッ ト ヮ一ク機器 4 2 2 の説明と同様に図 3 3のネ ヅ ト ワーク機器 4 0 0 — 1 に適用 した場 合を例に して、 その構成と動作を説明する。 もちろん、 図 3 3 の他 のネ ッ ト ワーク機器に適用 した場合も同様に構成することができる 図 2 7のネ ヅ ト ワーク機器 4 5 0は、 図 3 4に示した従来のネ ヅ ト ワーク機器 4 2 2 と同様に、 入力転送データ 4 0 2 を入力と し、 出力転送デ一夕 4 0 3 を出力する。 入力転送デ一夕 4 0 2は、 送出 元ネ ヅ ト ワーク · ア ドレス 4 0 4 と、 転送先ネ ヅ ト ワーク . ァ ド レ ス 4 0 5 と、 宛先ネ ッ ト ワーク ' ア ド レス 4 0 6 と、 デ一夕部 4 0 7を有 している。 出力転送データ 4 0 3は、 送出元ネ ッ ト ワーク · ア ド レス 4 0 4 と、第 2の転送先ネ ヅ ト ワーク 'ア ド レス 4 0 8 と、 宛先ネ ヅ ト ワーク · ア ドレス 4 0 6 と、 データ部 4 0 7 を有してい る。 ここでは、 ネ ッ ト ワーク機器 4 5 0は、 図 3 3のネ ッ ト ワーク 機器 4 0 0 - 1 に適用 した場合を例と して説明するので、 入力転送 デ一夕 4 0 2の転送先ネ ッ ト ワーク ' ア ド レス 4 0 5は、 図 3 3 に おけるネ ヅ ト ヮ一ク機器 4 0 0 — 1 のネ ヅ ト ワーク ■ ア ド レス とな つている。
図 2 7 に示す本発明のネ ッ ト ワーク機器 4 5 0は、 送出元ネ ッ ト ワーク · ア ド レス抽出部 4 0 9 と、 宛先ネ ヅ ト ヮ一ク · ア ド レス抽 出部 4 1 0 と、 連想メモリ 1 0 1 と、 エンコーダ 4 1 4 と、 メモ リ 4 1 6 と、 転送先ネ ヅ ト ワーク ' ア ド レス変更部 4 1 8 と、 データ 転送部 4 2 1 と、 本発明の連想メモ リ 1 と、 エンコーダ 4 5 1 と、 およびメモ リ 4 5 3 とによ り構成される。 図 3 4で説明した従来の ネ ヅ ト ワーク機器 4 2 2に-おいて、 送出元ネ ヅ ト ワーク · ア ド レス 情報 4 1 1 と, 宛先ネ ッ ト ワーク · ア ド レス情報 4 1 2 とを入力と して転送可否判定演算を行い演算結果を転送制御信号 4 2 0 と して 出力する機能を有 していた C P U 4 1 3 は、 本発明のネ ヅ トヮ一ク 機器 4 5 0 では、 連想メモ リ 1 と、 エンコーダ 4 5 1 と、 メモ リ 4 5 3 とによ り構成されていることが異なる。 他の構成要素である、 送出元ネ ヅ ト ワーク . ア ド レス抽出部 4 0 9 と、 宛先ネ ヅ ト ワーク - ア ド レス抽出部 4 1 0 と、 連想メ モ リ 1 0 1 と、 エンコーダ 4 1 4 と、 およびメモリ 4 1 6は、 図 3 4に説明した従来のネ ヅ ト ワーク 機器と同様であ り、 また、 図 3 3 におけるネ ッ ト ワーク機器 4 0 0 - 1 に適用 した場合に設定すべき情報についても図 3 4 と同様であ る。 したがって、 従来のネ ッ ト ワーク機器 4 2 2 と異なる部分につ いてのみ説明を行う。
図 2 7 に示す連想メモリ 1 は、 9 ビッ ト 5語の単一領域検索用連 想メモ リ 3 6 — 1、 および 3 6 — 2 によ り構成されている。 送出元 ネ ッ ト ワーク · ア ド レス抽出部 4 0 9が出力する送出元ネ ッ ト ヮ一 ク · ァ ド レス情報 4 1 1が単一領域検索用連想メ モ リ 3 6 — 1 に検 索デ一夕 3 — 1 と して入力され、 宛先ネ ヅ ト ワーク · ア ド レス抽出 部 4 1 0が出力する宛先ネ ッ ト ヮ一ク · ア ド レス情報 4 1 2が単一 領域検索用連想メモ リ 3 6 — 2に検索デ一夕 3 — 2 と して入力され る。 こ こで検索デ一夕 3— 1の優先順位を最も高い 1 と し、 検索デ —夕 3— 2の優先順位を 2とする。
また、 表 1 ( b ) における各転送規則の送出元ネ ッ トワーク · ァ ドレスの 9 ビッ トの構造化データ を構成する 9 ビツ トの記憶デ一夕 . 9 ビ ヅ ト のマス ク情報を、 単一領域検索用連想メ モ リ 3 6 — 1 の転 送規則に対応する連想メモ リ · ワー ド 4 4— 1 — 1〜 4 4— 5 — 1 のそれそれ記憶データ、 マ-スク情報と して格納するものとする。 ま た、 表 1 ( b ) における各転送規則の宛先ネ ッ ト ワーク . ア ド レス の 9 ビ ッ ト の構造化データ を構成する 9 ビッ トの記憶データ、 9 ビ ッ トのマスク情報を、 単一領域検索用連想メモリ 3 6— 2 の転送規 則に対応する連想メモリ · ワー ド 4 4一 1ー 2 〜 4 4— 5— 2 のそ れそれ記憶データ、 マスク情報と して格納してあるものとする。 ま た、 図示 しない制御回路によ り、 連想メ モリ 1 に対して開始信号と クロ ック信号が供給されているものとする。
連想メモリ 1 から検索結果と して出力される一致信号 5 — 1 〜 5 一 5 は、 エンコーダ 4 5 1 によ り メ モリ ' ア ド レス信号 4 5 1 に符 号.化される。 メモ リ 4 5 3 は、 表 1 ( b ) の転送許可" 1 "または転 送拒絶" 0 "を示す情報を、 連想メモ リ 1 が表 1 ( b ) の転送規則の 記憶デ一夕、 マスク情報が格納している連想メモリ · ワー ドと同一 のア ドレスのワー ドに記億している ものとする。 たとえば、 連想メ モリ 1 の連想メモリ · ワー ド 4 4一 1 — 1 、 連想メモリ ' ワー ド 4 4— 1 — 2 には、 転送規則 1 に対応する情報が格納されているが、 これに対応する転送許可" 1 "を示す情報がメモリ 4 5 3のヮ一 ド 1 に格納されている。 同様にメモリ 4 5 3 のワー ド 2 には転送規則 2 の転送許可" 1 "を示す情報が、 ワー ド 3 には転送規則 3の転送拒絶 " 0 "を示す情報が、ワー ド 4には転送規則 4 の転送許可" 1 "を示す情 報が、 ワー ド 5 には転送規則 5 の転送拒絶" 0 "を示す情報が格納さ れているものとする。 メモリ 4 5 3 はメモリ · ア ド レス信号 4 5 2 をリー ド · ア ド レスと して指定される格納データ を、 転送制御信号 4 2 0 と してデータ転送部 4 2 1 に出力する。 データ転送部 4 2 1 は、 転送制御信号 4 2 0が転送を許可していれば変更済転送データ 4 1 9 を出力転送デ一夕 4 0 3 と して出力 し、 転送制御信号 4 2 0 が転送を拒絶していれば出力しない。
ここで、 上述のよう に設定されているネ ヅ トヮ一ク機器 4 5 0 に 対して、 送出元ネ ヅ ト ワーク ■ ア ド レス 4 0 4 と して図 3 3 の P C 4 0 1 — 1 のネッ ト ワーク ' ア ド レス ( 1 . 2 . 6 ) を持ち、 宛先 ネ ヅ ト ワーク ■ ア ド レス 4 0 6 と して図 3 3 の P C 4 0 1 — 3のネ ヅ ト ワーク ' ア ド レス ( 2 . 3 . 5 ) を持つ入力転送データ 4 0 2 が入力された場合の動作について説明する。
連想メモリ 1 0 1 での検索動作終了時には、 連想メモリ ■ ワー ド 1 0 2 - 2が格納している ( 2 . 3 . * ) に対応する一致線 1 0 5 一 2 が有効状態を出力する。 これによ り エンコーダ 4 1 4 はメモ リ · ア ド レス 4 1 5 と して" 2,,を出力 し、 メモリ 4 1 6はネ ヅ ト ヮ —ク機器 4 0 0 — 6のネ ヅ ト ワーク · ア ド レスをメモリ · データ信 号 4 1 7 と して出力する。 転送先ネ ッ ト ワーク ' ア ド レス変更部 4 1 8 によ り、 入力転送データ 4 0 2の転送先ネ ヅ ト ワーク · ァ ド レ ス 4 0 5 を、 ネ ヅ ト ワーク機器 4 0 0— 6のネ ヅ ト ワーク * ァ ド レ スに変更しデ一夕転送部 4 2 1 に変更済転送データ 4 1 9 と して入 力する。
こ こで、 連想メ モ リ 1 には、 送出元ネ ヅ ト ワーク · ア ド レス抽出 部 4 0 9から検索データ 3 — 1 と して ( 1 . 2 . 6 ) が入力され、 宛先ネ ヅ ト ワーク · ア ド レス抽出部 4 1 0から検索データ 3 — 2 と して ( 2 . 3 . 5 ) が入力される。 これらの検索データ 3 — 1、 3 一 2の値と、 単一領域検索用連想メ モリ 3 6 — 1、 3 6 — 2が格納 している転送規則は、 第一の実施の形態の連想メモリ の動作説明の とき と同様である。 したがって一致信号 5 — 3が有効状態を出力 し、 他の一致線 5 — 1、 5 — 2、 5 — 4、 および 5 — 5は無効状態を出 力することになる。 これによ りエンコーダ 4 5 1 はメモリ ' ァ ド レ ス' 4 5 2 と して" 3 "を出力-し、 メモリ 4 5 3 は転送規則 3の転送拒 絶を表す情報" 0 "を転送制御信号 4 2 0 と してデータ転送部 4 2 1 に出力する。 したがって、 データ転送部 4 2 1 は、 変更済転送デ一 夕 4 1 9 を出力転送デ一夕 4 0 3 と して出力 しないこ とになる。 ネ ヅ ト ワーク . ア ド レス ( 1 . 2 . 6 ) を持つ P C 4 0 1 — 1 から、 ネ ヅ ト ワーク · ア ド レス ( 2 . 3 . 5 ) を持つ P C 4 0 1 — 3への データ転送は、 転送規則 3 によ り 拒絶されねばならないので、 本発 明のネ ッ ト ワーク機器 4 5 0 は転送可否判定演算を正し く行ってい ることがわかる。
本実施例ではエンコーダ 4 5 1 によ り メモリ · ア ド レス信号 4 5 2 を生成したが、 一致信号 5 — 1 〜 5 — 5 をメモリ 4 5 3 のワー ド 線と して直接入力する構成にすればエンコーダ 4 5 1 を削除できる ことはいうまでもない。
上述のよう に、 本発明の連想メモリ によ り転送可否判定演算を実 行するネ ッ ト ヮ一ク機器では、 転送可否判定演算を 3 ク ロ ックで実 行できる こ とになる。 したがって、 図 3 4 に示した従来のネ ヅ ト ヮ —ク機器のように C P Uのソフ ト ウェア処理によ り数百ク ロ ッ クを 要して転送可否判定演算を行う場合に比べて、 コ ン ピュータ · ネ ッ ト ワーク ■ システムのデ一タ転送速度を大幅に高速化する ことがで きる o
また、 転送速度を向上させるために高価な高速 C P Uを搭載する 必要がな く な り、 ネ ッ ト ワーク機器全体と しての価格を下げるこ と が可能である。
また、 転送規則の削除、 追加、 変更を行う には、 単に本発明の連 想メモリ の格納データを修正するだけでよいため、 通常のメモ リ · アクセス に要する時間で実行可能である。 したがって、 本発明のネ ッ ト ワーク機器では、 転送動作を中断せずに、 転送規則の削除、 追 加、 変更を行う ことが可能である。
上述のよう に、 本発明のネ ヅ ト ワーク機器を用いる こ とによ り、 安全性を確保し、 かつ、 高速にデ一夕を転送できるネ ヅ ト ワークシ ステムを構築することが可能である。 産業上の利用可能性
上述のよう に、 本発明の連想メモリ は、 複数の検索領域から構成 される入力データに対してマスク情報を考慮して検索を行った とき に、 入力デ一夕に対応する記憶データがすべて一致するワー ドが複 数個あった場合に、 優先順位を考慮して検索領域ごとに構造化デー 夕を構成するマス ク情報のマスク有効状態のビッ ト数について、 一 致したワー ドの中で比較した結果、 最少となるようなワー ドを識別 する信号を、 検索領域の個数に 1 を加えたク ロ ッ ク数以下で、 高速 に外部に出力できる という効果を有する。 しかも、 従来の連想メモ リ と比べて数%の回路規模の増加で実現できる。
また、 本発明の連想メモリ は、 構造化データを格納する語の順序、 格納する語の位置には制限がな く、 通常のメモリ · アクセスに要す る時間のみで構造化データの追加、 削除、 修正ができる という効果 を有する。 これによ り、 連想メモ リ の構造化データを管理する ソフ トウェア処理が簡単になるという効果もある。
また、 本発明の連想メモリ を組み込んだネ ッ ト ワーク機器は、 従 来に比較して数百倍以上高速に転送可否判定演算を行う こ とができ る。 すなわち、 従来のネ ヅ ト ワーク機器では 2分木検索アルゴリズ ムなどを用いたソ フ ト ウェア処理によ り数百クロ ックをかけて転送 可否判定演算を行っていたが、 本発明の連想メモ リ は 3 クロ ッ クで 転送可否判定演算を行えるからである。 - また、 本発明の連想メモリ を組み込んだネ ヅ ト ヮ一ク機器では、 転送動作を中断せずに、 転送規則の削除、 追加、 変更を行う こ とが できる という利点を有する。 上述のよう に、 本発明の連想メモ リ を 用いれば、 転送規則の削除、 追加、 変更は、 通常のメモリ · ァクセ スに要する時間で実行できるからである。 これによ り、 従来のソフ ト ウエア処理で転送可否判定演算を行っていたネ ツ ト ワーク機器に おいて転送規則の削除、 追加、 変更に伴う 巨大な検索テーブルの作 成が不要とな り、 ネ ッ トワークの通信不能時間が短縮されると とも に、 運用管理が容易になる という利点も有する。 さ らに、 新しい転 送規則が迅速に反映されるため、 ネ ッ ト ワーク全体の安全性が向上 するという利点を有する。
また、 本発明の連想メモリ を組み込んだネ ッ ト ワーク機器では、 転送可否判定を高速に実行可能なネ ッ ト ワーク機器の トータルコス ト を削減できる という利点を有する。 上述のよう に転送可否判定を 高速に演算可能な本発明の連想メモ リ を搭載する こ とによ り、 高価 な高速 C P Uシステムを搭載する必要がなく なるからである。
また、 本発明のネ ヅ ト ヮーク機器を用いるこ とによ り、 安全性を 確保し、 かつ、 高速にデ一夕を転送でき、 さ らに運用管理の容易な ネ ヅ ト ワーク · システムを構築する こ とができる という利点を有す る。

Claims

請求の範囲
1 . 記憶データの 1 ビッ ト または複数ビッ ト ごとに検索対象から除 外するか否かを、 有効状態、 無効状態によ り設定可能なマスク情報 を当該記憶データの 1 ヮー ドまたは複数ヮー ド ごとに有する連想メ モリ において、
N個 ( Nは 2以上の整数) の部分ビッ ト領域から構成される外部 検索データの全ビヅ トに対して 1 ワー ドごとにマスク情報がマスク 有効状態の場合に対応する当該記憶データの 1 ビ 、 y ト または複数ビ ッ ト を検索対象から除外する 1次検索を行った結果選出されるヮー ドを識別する 1次識別信号を出力する 1次検索手段と、
選出状態にあ り続けている ワー ドに対応する記憶デ一夕同士、 該 ヮ一 ドに対応するマスク情報同士、 および外部検索データの中の一 組または複数組を入力と した論理演算によ り生成される中間データ を出力する中間データ生成手段と、
前記外部検索データの部分ビッ ト領域の構成と同様に前記中間デ 一夕 を N個に分割 した部分ビッ ト領域の各々一つを入力と し、 2次 検索制御信号の状態によ り ワー ドにおける当該部分ビッ ト領域に対 応する前記記憶データ またはマスク情報のビッ ト領域に対してのみ 選択的に 2次検索を実行するか否かを制御可能であ り 、 且つ検索の 結果選出されるヮ一 ドを識別する 2次識別信号を出力する一つまた は複数の共有 2次検索手段と、
1次検索および各 2次検索をとお して、 ワー ド毎に対応するヮ一 ドが選出され続けているか-否かのヮー ド有効情報を 1 次検索および 各 2次検索実行の度に更新、 記憶し、 その選出状態、 非選出状態を 前記中間データ生成手段に出力する記憶手段と、 前記外部検索デ一夕の全ビッ ト領域を検索データ と して前記 1 次 検索を行った後、 前記中間デ一夕の前記 N個の部分ビッ ト領域を順 次検索データ と して前記 2 次検索を実行するよう に前記 2次検索制 御信号を出力する制御手段とを、
有することを特徴とする連想メモリ。
2 . 記憶デ一夕の 1 ビッ ト または複数ビッ ト ごとに検索対象か ら除 外するか否かを、 有効状態、 無効状態によ り設定可能なマスク情報 を当該記憶データの 1 ヮ一 ド または複数ヮー ドごとに有する連想メ モリにおいて、
N個 ( Nは 2以上の整数) の部分ビッ ト領域から構成される外部 検索データの全ビヅ ト に対して 1 ヮ一 ド ごとにマスク情報がマスク 有効状態の場合に対応する当該記憶データの 1 ビッ ト または複数ビ V ト を検索対象から除外する 1 次検索を行った結果選出される ヮー ドを識別する 1次識別信号を出力する 1次検索手段と、
選出状態にあ り続けている ワー ドに対応する記憶データ同士、 該 ヮ一 ドに対応するマスク情報同士、 および外部検索データの中の一 組または複数組を入力と した論理演算によ り生成される 中間デ一夕 を出力する N個の中間データ生成手段と、
前記外部検索データの部分ビ 、ソ ト領域の構成と同様に前記中間デ —夕 を N個に分割 した部分ビ ヅ ト領域の各々一つを入力 と し、 ヮ一 ドにおける当該部分ビツ ト領域に対応する前記記憶デ一夕 またはマ スク情報のビ、ソ ト領域に対してのみ選択的に 2次検索を行った結果 選出されるワー ドを識別する 2 次識別信号を出力する N個の 2 次検 索手段とを有し、
前記 N個の中間データ生成手段と N個の 2 次検索手段は、 第 1 の 中間データ生成手段は 1 次検索の結果生成された第 1 の中間データ を前記第 1 の 2次検索手段に入力 し第 1 の部分ビッ ト領域に対して 第 1 の 2次検索を行い、 第 2 の中間データ生成手段は第 1 の 2次検 索の結果生成された第 2の中間データ を前記第 2 の 2次検索手段に 入力 し第 2 の部分ビッ ト領域に対して第 2の 2次検索を行い、 第 3 の中間データ生成手段は第 2 の 2次検索の結果生成された第 3 の中 間デ一夕を前記第 3 の 2次検索手段に入力 して第 3 の部分ビッ ト領 域に対して 2 次検索を行い、 以下同様に構成し、 第 Nの中間データ 生成手段は第 (N— 1 ) の 2次検索の結果生成された第 Nの中間デ 一夕 を前記第 Nの 2 次検索手段に入力 し第 Nの部分ビツ ト領域に対 して 2次検索を行う ことを、 特徴とする連想メモリ。
3 . 前記第 1 から第 Nの 2次検索手段において、
1 次検索および各 2次検索をとお してヮ一 ド毎に対応する ヮ一 ド が選出され続けているか否かのワー ド有効情報を、 第 Jから第 Kの ( J、 Kは 1 以上 N以下の整数) 各 2 次検索の実行の度に更新、 記 憶し、 各ワー ドの選出状態、 非選出状態を出力する記憶手段と、 ワー ドの.選出状態を示す信号を入力と し、 選出状態にあるワー ド に対応する記憶データ同士、 該ワー ドに対応するマスク情報同士、 および外部検索データの中の一組または複数組を入力と した前記論 理演算によ り生成される第 Jから第 Kの中間データを出力する共有 中間データ生成手段と、
2次検索制御信号の状態によ り ワー ドにおける前記記憶データ ま たはマスク情報の第 Jから第 Kの部分ビツ ト領域に対応する ビヅ ト 領域に対してのみ選択的に 2 次検索を実行するか否かを制御可能で あ り 、 且つ検索の結果選出される ワー ドを識別する信号を出力する 一つまたは複数の共有 2次検索手段と、
第 J の 2 次検索から第 Kの 2次検索を順次実行するよう に前記 2 次検索制御信号を出力 し、 また前記 2次検索の度に前記記憶手段の 前記ワー ド有効情報を更新するため前記記憶制御信号を出力する制 御手段とを、
有することによ り、 第 Jから第 Kの前記 2次検索手段の構成要素を 共有することを特徴とする請求項 2に記載の連想メモリ。 '
4 . 前記 1次検索手段において、
一つまたは複数の属性データを検索デ一夕 と し、 前記記憶データ が格納されている前記ワー ド と対応する属性一致信号を検索結果と して出力する第 2の連想メモリを有し、
1次検索と して、 前記外部検索データの全ビッ ト に対して 1 ヮー ド ごとにマスク情報がマスク有効状態の場合に対応する当該記憶デ —夕の 1 ビッ ト または複数ビッ ト を検索対象から除外した結果選出 され、 且つ対応する前記属性一致信号が前記属性データを前記第 2 の連想メモ リ で検索 した結果一致を示している、 ワー ドを識別する 1次識別信号を出力するこ とを特徴とする請求項 1 から請求項 3 に 記載の連想メモリ。
5 . 前記 1次検索手段において、
検索データ と して 1 次制御許可信号が有効状態のときには前記外 部検索デ一夕 を選択し、 他の場合には前記中間データを選択する選 択手段と、
1 次検索許可信号が有効状態のときには該外部検索データの全ビ ヅ ト を検索デ一夕 と して 1 ワー ド ごとにマス ク情報がマスク有効状 態の場合に対応する当該記憶データの 1 ビッ ト または複数ビッ ト を 検索対象から除外する 1 次検索を行い、 2次検索制御信号が有効状 態のときにはワー ドにおける前記記憶デ一夕 またはマスク情報の 2 次検索制御信号の状態によ り指定される ビッ ト領域に対してのみ選 択的に 2次検索を実行する手段とを有し、
1 次制御許可信号を有効に し前記外部検索データの全ビツ ト領域 を検索データ と して前記 1 次検索を行った後、 前記中間データの前 記 N個の部分ビッ ト領域を順次検索データ と して前記 2次検索を実 行するよう に前記 2次検索制御信号を出力する制御手段とを有する ことにより、
1 次検索手段の構成要素と 2次検索手段の構成要素とを共有する ことを特徴とする請求項 1から請求項 3に記載の連想メモリ。
6 . 前記 1 次検索手段が出力する 1 次識別信号、 および前記 N個の 2次検索手段が出力する第 1 から第 Nの 2次識別信号の中の一つま たは複数を記憶する手段と、 前記第 1 から第 Nの中間データの中の 一つまたは複数を記憶する手段の、 一方または双方を有するこ とに よ り パイ プライ ン処理を可能にする ことを、 特徴とする請求項 2か ら請求項 3に記載の連想メモリ。
7 . 前記中間データ生成手段に入力す,る 1 次検索および各 2次検索 をとお してワー ド毎に対応するワー ドが選出され続けているか否か の情報の、 更新、 記憶を結線論理を用いて構成するこ とによ り、 当 該情報を前記中間データ生成手段に入力するための配線と、 1 次識 別信号または 2次識別信号の配線とを共用する こ とを特徴とする請 求項 1から請求項 3に記載の連想メモリ。
8 . 前記中間データの各部分ビッ ト領域に、 前記外部検索データの 対応する部分ビッ ト領域と同じ優先順位を付与し、 該中間データの 該部分ビツ ト領域について優先順位の高位から低位への順に検索デ —夕 と して前記 2 次検索を実行する ことを、 特徴とする請求項 1 お よび請求項 3に記載の連想メモリ。 -
9 . 前記記憶データ と して 1 次検索の際に対応する前記マスク情報 によ り検索対象から除外される 1 ビッ ト または複数のビッ トに特定 ピヅ ト · パターンを格納し、 2次検索と して、 該記憶デ一タ または 該記憶データの検索対象となる部分ビッ ト領域が、 検索データ と し て入力される前記中間デ一夕 または前記中間デ一夕の部分ビッ ト領 域と一致したワー ドを選出する、 こ とを特徴とする請求項 1 から請 求項 2 に記載の連想メモリ。
1 0 . 前記記憶デ一夕において 1 次検索の際に対応する前記マスク 情報によ り検索対象から除外される 1 ビッ ト または複数のビツ トが 特定ビッ ト · パターンである とみな して 2次検索を行い、 該記憶デ —夕 または該記憶データの検索対象となる部分ビッ ト領域が、 検索 データ と して入力される前記中間デ一夕 または前記中間デ一夕の部 分ビ ッ ト領域と一致したワー ドを選出する、 こ とを特徴とする請求 項 1 から請求項 2に記載の連想メモリ。
1 1 . 前記特定ビッ ト · パターンは、 すべての当該ビッ トが記憶デ —夕の無効状態によ り構成されている請求項 9 から請求項 1 0 に記 載の連想メモリ。
1 2 . 前記論理演算は、 選出状態にあるワー ドに対応する記憶デー 夕同士の、 記憶データの有効状態を真とする論理和演算であ り、 そ の論理和演算結果を前記中間データ と.し、 前記 2次検索は、 該中間 データ と一致する記憶データを有するワー ドを選出するこ とを特徴 とする請求項 9から請求項 1 1 に記載の連想メモリ。
1 3 . 前記論理演算は、 選出状態にあるワー ドに対応するマスク情 報同士の、 マスク情報の有効状態を真とする論理積演算であ り、 該 論理積演算結果のビツ 卜がマスク情報の無効状態ならば前記外部検 索データの同一のビッ ト位置の情報を中間デ一夕の同一ビッ ト位置 の状態と し、 該論理積演算結果のビッ トがマスク情報の有効状態な らば記憶データの無効状態を前記中間デ一夕の同一ビッ ト位置の状 態と して前記中間データを生成し、 前記 2次検索は該中間データ と 一致する記憶デ一夕 を有するワー ドを選出する こ とを特徴とする請 求項 9から請求項 1 1 に記載の連想メモリ。
1 4 . 前記論理演算は、 選出状態にあるワー ドに対応するマスク情 報同士の、 マスク情報の有効状態を真とする論理積演算であ り、 そ の論理積演算結果を中間デ一夕 と し、 前記 2 次検索は該中間デ一夕 と一致するマスク情報を有 し且つその時点までに選出状態にあ,るヮ — ドを選出するこ とを特徴とする請求項 1 か ら請求項 3 に記載の連 想メモリ。
1 5 . 入力転送データに付随する送信元ネ ッ ト ワーク ' ア ドレスお よび宛先ネ ッ ト ワーク · ア ド レスを構成要素に含む判定入力データ を検索デ一夕 と して一つまたは複数個の転送規則に対して検索を行 つたときの一致状態により該入力転送データの転送可否を判定し、 前記転送規則は、 前記判定入力デ一夕の各構成要素に対応する ビ ツ ト領域を含む記憶データ と、 転送可否情報と、 前記転送規則の 1 つまたは複数個每に前記記憶データの中で 1 ビッ ト または複数ビッ トの領域の 1 つまたは複数を検索対象から除外するか否かを表すマ スク情報によ り表現される転送規則テーブルを有するネッ トワーク 機器において、
前記入力転送データに付随する前記送信元ネ ッ ト ワーク · ァ ド レ スおよび前記宛先ネ ッ ト ワーク · ア ド レスを構成要素に含む前記判 定入力デ一夕 を検索データ と して、 前記転送規則ごとにマスク情報 がマスク有効状態の場合に対応する対応する記憶データの 1 ビ ッ ト または複数ビッ トを検索対象から除外する 1次検索を行い、
前記 1 次検索の結果、 選出された一つまたは複数の転送規則を構 成する記憶データ 同士、 マスク情報同士、 前記判定入力データの中 の、 一組または複数組を入力と した論理演算によ り 中間データを生 成し、
前記判定入力データの第 1 の構成要素か ら最終の構成要素に対し て同様に順次、 前記 1 次検索、 前記 2次検索の度に選出されつづけ ている一つまたは複数の転送規則を構成する、 記憶データ同士、 マ スク情報同士、 前記判定入力デ一夕の中の、 一組または複数組を入 力と した前記論理演算の結果によ り更新された中間データの当該構 成要素に対応する ビッ ト領域を検索データ と して、 当該構成要素に 対応する ビッ ト領域の記憶データ またはマス ク情報について選択的 に 2次検索を実行し、
最終的に選出された転送規則によ り、 当該入力転送データの転送 の可否を決定することを特徴とするネツ トワーク機器。
1 6 . 入力転送データに付随する送信元ネ ッ ト ヮ一ク · ア ドレスお よび宛先ネ ツ ト ワーク · ァ ド レスを構成要素に含む判定入力デ一タ を検索データ と して一つまたは複数個の転送規則に対して検索を行 つたときの一致状態により該入力転送データの転送可否を判定し、 前記転送規則は、 前記判定入力データの各構成要素に対応するビ ッ ト領域を含む記憶データ と、 転送可否情報と、 前記転送規則の 1 つまたは複数個毎に前記記憶データの中で 1 ビッ ト または複数ビッ トの領域の 1 つまたは複数を検索対象から除外するか否かを表すマ スク情報によ り表現される転送規則テーブルを有するネ ッ トワーク 機器において、
判定入力データの全ビ ッ ト を検索データ と して、 前記転送規則ご とにマスク情報がマスク有効状態の場合に対応する当該記憶データ の 1 ビッ ト または複数ビ ッ ト を検索対象から除外する 1 次検索を行 つた結果選出される転送規則を識別する i次識別信号を出力する 1 次検索手段と、
選出状態にあ り続けている転送規則に対応する記憶データ同士、 該ヮー ドに対応するマスク情報同士、 および判定入力デ一夕の中の 一組または複数組を入力と した論理演算によ り生成される中間デ一 夕を出力する中間データ生成手段と、
前記判定入力データの構成要素のビッ ト領域と同様に前記中間デ
—夕を分割した部分ビッ ト領域の各々一つを入力と し、 2次検索制 御信号によ り転送規則における当該部分ビッ ト領域に対応する前記 記憶デ一夕 またはマスク情報のビ ヅ ト領域に対してのみ選択的に 2 次検索を実行するか否かを制御可能であ り、 且つ検索の結果選出さ れる転送規則を識別する 2 次識別信号を出力する一つまたは複数の 共有 2次検索手段と、
1 次検索および各 2次検索をとお して、 転送規則毎に対応する転 送規則が選出され続けているか否かの転送規則有効情報を 1 次検索 および各 2次検索実行の度に更新、 記憶し、 その遷出状態、 非選出 状態を示す一致信号を前記中間デ一夕生成手段に出力する記憶手段 と、
前記判定入力データの全ビ ッ ト領域を検索データ と して前記 1 次 検索を行った後、 前記中間データの各部分ビッ ト領域を順次検索デ —夕 と して前記 2次検索を実行するよう に前記 2 次検索制御信号を 出力する制御手段と、
前記一致信号によ り参照した転送可否情報によ り 当該入力転送デ 一夕の転送の可否を決定する手段と、 有する こ とを特徴とするネ ッ トワーク機器。
1 7 . 入力転送データ に付随する送信元ネ ッ ト ワーク · ア ド レスお よび宛先ネ ッ ト ワーク · ァ ド レスを含む N個 ( Nは 2以上の整数) の構成要素から構成される判定入力データを検索デ一夕 と して一つ または複数個の転送規則に対して検索を行ったと きの一致状態によ り該入力転送データの転送可否を判定し、
前記転送規則は、 前記判定入力データの各構成要素に対応する ビ ッ ト領域を含む記憶デ一夕 と、 転送可否情報と、 前記転送規則の 1 つまたは複数個毎に前記記憶デ一夕の中で 1 ビ ッ ト または複数ビッ トの領域の 1 つまたは複数を検索対象から除外するか否かを表すマ スク情報によ り表現される転送規則テ一プルを有するネ ヅ ト ワーク 機器において、
判定入力データの全ビッ ト を検索データ と して、 前記転送規則ご とにマスク情報がマスク有効状態の場合に対応する当該記憶データ の 1 ビッ ト または複数ビッ ト を検索対象から除外する 1 次検索を行 つた結果選出される転送規則を識別する 1次識別信号を出力する 1 次検索手段と、
選出状態にあ り続けている転送規則に対応する記憶データ同士、 該ワー ドに対応するマスク情報同士、 および外部検索デ一夕の中の 一組または複数組を入力と した論理演算によ り生成される中間デ一 夕を出力する N個の中間データ生成手段と、
前記判定入力データの構成要素のビッ ト領域と同様に前記中間デ —タ を分割 した部分ビッ ト領域の各々一つを入力と し、 転送規則に おける当該部分ビッ ト領域に対応する前記記憶データまたはマスク 情報のビ ト領域に対してのみ選択的に 2次検索を行った結果選出 される転送規則を識別する信号を出力する N個の 2次検索手段と 前記第 Nの 2次検索手段によ り選出された転送規則によ り参照し た転送可否情報によ り 当該入力転送データの転送の可否を決定する 手段とを有し、
前記 N個の中間データ生成手段と N個の 2次検索手段は、 第 1 の 中間データ生成手段は 1 次検索の結果生成された第 1 の中間デ一夕 を前記第 1 の 2次検索手段に入力 し第 1 の部分ビッ ト領域に対して 第 1 の 2次検索を行い、 第 2 の中間データ生成手段は第 1 の 2 次検 索の結果生成された第 2 の中間データを前記第 2 の 2次検索手段に 入力 し第 2 の部分ビッ ト領域に対して第 2の 2次検索を行い、 第 3 の中間データ生成手段は第 2 の 2次検索の結果生成された第 3 の中 間デ一夕を前記第 3 の 2次検索手段に入力 して第 3の部分ビツ ト領 域に対して 2次検索を行い、 以下同様に構成し、 第 Nの中間データ 生成手段は第 ( N— 1 ) の 2次検索の結果生成された第 Nの中間デ —夕 を前記第 Nの 2次検索手段に入力 し第 Nの部分ビ、ソ ト領域に対 して 2次検索を行う、 ことを特徴とするネッ トワーク機器。
1 8 . 請求項 1 5 から 1 7 に記載の前記ネ ッ ト ワーク機器を介して ネ ヅ ト ワークに接続された機器間でデ一夕通信を行う ネ ヅ ト ワーク システム。
PCT/JP2001/003562 2001-04-25 2001-04-25 Memoire associative, procede de recherche dans ladite memoire, dispositif de reseau et systeme de reseau WO2002091386A1 (fr)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CNA018231888A CN1505819A (zh) 2001-04-25 2001-04-25 相联存储器及其检索方法、网络设备及网络系统
EP01925898A EP1385173A4 (en) 2001-04-25 2001-04-25 ASSOCIATIVE MEMORY, HIS SEARCH, NETWORK DEVICE AND NETWORK SYSTEM METHOD
US10/475,031 US6956756B2 (en) 2001-04-25 2001-04-25 Associative memory, method for searching the same, network device, and network system
JP2002588556A JP3957637B2 (ja) 2001-04-25 2001-04-25 連想メモリとその検索方法およびネットワーク機器およびネットワーク・システム
KR20037013975A KR100666241B1 (ko) 2001-04-25 2001-04-25 연상 메모리와 그 검색 방법 및 네트워크 기기 및네트워크 시스템
PCT/JP2001/003562 WO2002091386A1 (fr) 2001-04-25 2001-04-25 Memoire associative, procede de recherche dans ladite memoire, dispositif de reseau et systeme de reseau
TW91108664A TWI226065B (en) 2001-04-25 2002-04-26 Associative memory and search thereof, network machine and network system
US11/252,360 US7397682B2 (en) 2001-04-25 2005-10-17 Associative memory having a mask function for use in network devices and network system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2001/003562 WO2002091386A1 (fr) 2001-04-25 2001-04-25 Memoire associative, procede de recherche dans ladite memoire, dispositif de reseau et systeme de reseau

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US10475031 A-371-Of-International 2001-04-25
US11/252,360 Continuation US7397682B2 (en) 2001-04-25 2005-10-17 Associative memory having a mask function for use in network devices and network system

Publications (1)

Publication Number Publication Date
WO2002091386A1 true WO2002091386A1 (fr) 2002-11-14

Family

ID=11737276

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2001/003562 WO2002091386A1 (fr) 2001-04-25 2001-04-25 Memoire associative, procede de recherche dans ladite memoire, dispositif de reseau et systeme de reseau

Country Status (7)

Country Link
US (2) US6956756B2 (ja)
EP (1) EP1385173A4 (ja)
JP (1) JP3957637B2 (ja)
KR (1) KR100666241B1 (ja)
CN (1) CN1505819A (ja)
TW (1) TWI226065B (ja)
WO (1) WO2002091386A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007026560A (ja) * 2005-07-19 2007-02-01 Hitachi Ltd 半導体装置

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2005013566A1 (ja) * 2003-07-31 2006-09-28 富士通株式会社 データ検索方法及び装置
US7392229B2 (en) * 2005-02-12 2008-06-24 Curtis L. Harris General purpose set theoretic processor
US7515449B2 (en) * 2006-09-15 2009-04-07 International Business Machines Corporation CAM asynchronous search-line switching
US8065249B1 (en) 2006-10-13 2011-11-22 Harris Curtis L GPSTP with enhanced aggregation functionality
US7774286B1 (en) 2006-10-24 2010-08-10 Harris Curtis L GPSTP with multiple thread functionality
US8280901B2 (en) * 2008-01-03 2012-10-02 Masterfile Corporation Method and system for displaying search results
KR101011905B1 (ko) * 2010-02-09 2011-02-01 주식회사 강림정공 다줄 나사 탭핑 머시인
US8667230B1 (en) 2010-10-19 2014-03-04 Curtis L. Harris Recognition and recall memory
US20130080448A1 (en) * 2011-09-23 2013-03-28 The Boeing Company Associative Memory Technology in Intelligence Analysis and Course of Action Development
US9659110B2 (en) * 2011-10-20 2017-05-23 The Boeing Company Associative memory technology for analysis of requests for proposal
US9135997B2 (en) * 2013-01-18 2015-09-15 Fujitsu Limited System and method for filtering addresses
US10402816B2 (en) * 2016-12-31 2019-09-03 Square, Inc. Partial data object acquisition and processing
US10621590B2 (en) 2017-02-22 2020-04-14 Square, Inc. Line-based chip card tamper detection

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1173782A (ja) * 1997-08-29 1999-03-16 Nec Corp ルータを有するネットワークシステムおよび改良されたルータおよびそのルータに用いられる連想メモリ
JPH11261647A (ja) * 1998-03-12 1999-09-24 Nec Corp ルータ及び最長一致検索装置
JP2000322892A (ja) * 1999-05-10 2000-11-24 Nec Corp 連続検索動作可能な最短マスク出力機能付連想メモリ

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10255485A (ja) * 1997-03-10 1998-09-25 Kawasaki Steel Corp 連想メモリおよびネットワークフレーム中継器
US6647490B2 (en) * 1999-10-14 2003-11-11 Advanced Micro Devices, Inc. Training line predictor for branch targets

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1173782A (ja) * 1997-08-29 1999-03-16 Nec Corp ルータを有するネットワークシステムおよび改良されたルータおよびそのルータに用いられる連想メモリ
JPH11261647A (ja) * 1998-03-12 1999-09-24 Nec Corp ルータ及び最長一致検索装置
JP2000322892A (ja) * 1999-05-10 2000-11-24 Nec Corp 連続検索動作可能な最短マスク出力機能付連想メモリ

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1385173A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007026560A (ja) * 2005-07-19 2007-02-01 Hitachi Ltd 半導体装置

Also Published As

Publication number Publication date
JP3957637B2 (ja) 2007-08-15
US20060120128A1 (en) 2006-06-08
TWI226065B (en) 2005-01-01
EP1385173A1 (en) 2004-01-28
US7397682B2 (en) 2008-07-08
JPWO2002091386A1 (ja) 2004-08-26
CN1505819A (zh) 2004-06-16
US6956756B2 (en) 2005-10-18
EP1385173A4 (en) 2005-10-26
US20040080973A1 (en) 2004-04-29
KR100666241B1 (ko) 2007-01-10
KR20030092104A (ko) 2003-12-03

Similar Documents

Publication Publication Date Title
JP3191737B2 (ja) ルータを有するネットワークシステムおよび改良されたルータおよびそのルータに用いられる連想メモリ
WO2002091386A1 (fr) Memoire associative, procede de recherche dans ladite memoire, dispositif de reseau et systeme de reseau
US6389579B1 (en) Reconfigurable logic for table lookup
US6499081B1 (en) Method and apparatus for determining a longest prefix match in a segmented content addressable memory device
US6460112B1 (en) Method and apparatus for determining a longest prefix match in a content addressable memory device
US6574702B2 (en) Method and apparatus for determining an exact match in a content addressable memory device
JP3593920B2 (ja) 連続検索動作可能な最短マスク出力機能付連想メモリ
US5652902A (en) Asynchronous register for null convention logic systems
TW200401206A (en) Enhanced multiway radix tree and related methods
CN105849714A (zh) 用于在功率选通事件之后恢复数据阵列的多核装置和方法
JP3599273B2 (ja) 内容参照可能メモリの改良
US7054995B2 (en) Dynamic linking of banks in configurable content addressable memory systems
Nguyen et al. An efficient I/O architecture for RAM-based content-addressable memory on FPGA
JP2002508644A (ja) ブール論理に基づくアドレス分析の方法と装置
US10242124B2 (en) Content addressable memory and semiconductor device
JP3845845B2 (ja) 連想メモリ・システムおよびネットワーク機器およびネットワーク・システム
US20160358654A1 (en) Low-power ternary content addressable memory
JPWO2014038306A1 (ja) 不揮発性連想メモリを利用した全文検索システム及びこれに用いる文字列比較方法
Lipovski A four megabit dynamic systolic associative memory chip
Delgado-Frias et al. A programmable dynamic interconnection network router with hidden refresh
JPH0730407A (ja) プログラム可能制御、デコード及び/又はデータ操作を有するレジスタファイル
TW512345B (en) Association memory and its search method along with router and network system
AU2021106221A4 (en) An improved tcam cell design and method of operation for reduced power dissipation
Santhi et al. Design and Implementation of Reversible Logic Based Ternary Content Addressable Memory
Siddiqi et al. Memristor-Based Lightweight Encryption

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2002588556

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 1020037013975

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 018231888

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2001925898

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10475031

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2001925898

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1020037013975

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 2001925898

Country of ref document: EP