相联存储器及其检索方法及路由器及网络系统的制作方法

文档序号:7674332阅读:332来源:国知局
专利名称:相联存储器及其检索方法及路由器及网络系统的制作方法
技术领域
本发明涉及相联存储器(associative memory)及其检索方法及路由器及网络系统,尤其涉及具有检索屏蔽(mask)功能的相联存储器及其检索方法、使用该相联存储器的路由器和网络系统。
背景技术
在现有用于计算机网络系统中的网络设备(例如路由器)中,为了计算最佳传送目的地,必需有考虑和比较网址的有效部分的长度的功能,为了实现该功能,使用相联存储器。
图11示出现有的计算机网络系统的一连接例。加入网络的用户设备(例如个人计算机)为了与其它用户设备相识别,在该设备加入网络时,按照预先决定的规则,分配特定的网址。这里,说明用多位数的数值、例如3位数的数值(a.b.c)来表现网址的情形。另外,预先决定的规则取分层结构,例如用网址的开头数值表示英国、德国、日本等国家,用第2个数值表示国内的企业名。后面,将该分层称为段(segment)。图11中,模拟表示段的分层结构。图中粗线包围的一个矩形为一个段。图11中,作为最上位的段,存在网址的开头数值为1的段1、开头数值为2的段2、和开头数值为3的段3。在段1下面的层中,有具有前两个数值为1.2的网址的段4、和具有前两个数值为1.3的网址的段5;在段4中,连接着具有网址1.2.6的用户设备401-1。在段2下面的层中,有具有前两个数值为2.6的网址的段6;在段6中,连接着具有网址2.6.4的用户设备401-2、和具有网址2.6.5的用户设备401-3。另外,在段3下面的层中,有具有前两个数值为3.2的网址的段7。在图中例示的地址中,*意味着随意(don’t care)。
假设这些各网址是用8进制数表现其各位的整体,用9比特(bit)的比特列来表现。例如,网址(1.2.*)由2进制的比特列“001.010.000”表现。后面,将该表现的比特列称为存储数据。这里,因为网址中的*为随意,所以必需表示对应的2进制数表现的存储数据“001.010.000”的比特列的前6比特有效,其后的比特无效。因此,使称为屏蔽信息的信息与存储数据成对来存储。后面将该对,称为结构化数据。在所述实例中,对应的屏蔽信息由2进制表现的比特列“111.111.000”表现。这里,“1”表示屏蔽无效状态,“0”表示屏蔽有效状态。
各段为了传送加入网络的用户设备间的通信数据,具有网络设备。在图11的连接例中,段1具有网络设备400-1,段2具有网络设备400-2,段3具有网络设备400-3,段4具有网络设备400-4,段5具有网络设备400-5,段6具有网络设备400-6,段7具有网络设备400-7。另外,在图11的连接例中,各网络设备与该段正下方的网络设备或用户设备相连接。并且,网络设备400-1还与网络设备400-2、网络设备400-3和网络设备400-6连接。
段所具有的网络设备具有如下功能根据从连接于该网络设备上的用户设备或其它网络设备输入的传送数据、及附加于传送数据中的目的网址和网络设备的连接关系,计算最佳的传送路径,经由该最佳路径,向传送目的地传送数据。
这里,在图11中,网络设备400-1对目的网址是对应于用户设备401-2的(2.6.4)的通信数据进行传送时,从图中可知,与传送到与表示段2的网址(2.*.*)相对应的网络设备400-2相比较,传送到与表示段6的网址(2.6.*)相对应的网络设备400-6最好。即,可知选择考虑屏蔽信息而与目的网址一致的网址之中、与具有屏蔽有效状态的比特数最少的屏蔽信息的网址相对应的网络设备最好。
这样,不直接由通信线路连接各用户设备、而通过网络设备控制传送数据的传送来进行通信,从而高效地使用有限的通信线路。
下面,用图12来说明这些现有网络设备的传送目的地网址计算。图中例示了网络设备400-1,但其它网络设备也可以与网络设备400-1一样构成。将在输入网络设备400-1的传送数据中附加的目的网址作为检索数据101,输入现有的相联存储器100。现有的相联存储器100以所述结构化数据的形式,来存储表示连接于网络设备400-1上的网络设备400-2、400-3、400-4、400-5和400-6所属的段的网址。因此,在图12的实例中,在1次相联存储器字(相联存储器·字)109-1中,以如上所述由存储数据“010.000.000”和屏蔽数据“111.000.000”的对来表现的结构化数据的形式,存储表示网络设备400-2所属的段2的网址(2.*.*)。同样,以上述结构化数据的形式,在1次相联存储器字109-2中存储表示网络设备400-3所属的段3的网址(3.*.*),在1次相联存储器字109-3中存储表示网络设备400-4所属的段4的网址(1.2.*),在1次相联存储器字109-4中存储表示网络设备400-5所属的段5的网址(1.3.*),在1次相联存储器字109-5中存储表示网络设备400-6所属的段6的网址(2.6.*)。
除与通常的存储器一样指定地址并写入、读出存储数据外,相联存储器100还具备如下功能将与考虑对应的屏蔽信息并与检索数据101进行比较的结果一致的存储数据之中、屏蔽信息的屏蔽有效状态的比特最少的存储数据相对应的一致线102,变为有效状态。以前,作为这种相联存储器100,例如已知日本专利3191737号等中公开的存储器。
通过编码器402将相联存储器100输出的一致线102-1~102-5编码成存储器地址信号403。在存储器404中,将存储在相联存储器100的各1次相联存储器字109-1~109-5中的表示段的网址所对应的网络设备的网址,存储在地址与相联存储器100的存储地址相同的字中。例如,由于地址(2.*.*)存储在相联存储器100的1次相联存储器字109-1中,所以将与之对应的图11的网络设备400-2的网址存储在存储器404的字1中。同样,将网络设备400-3的网址存储在存储器404的字2中,将网络设备400-4的网址存储在字3中,将网络设备400-5的网址存储在字4中,将网络设备400-6的网址存储在字5中。存储器404将把存储器地址信号403指定为读取地址的存储数据,作为存储器数据信号405输出。存储器数据信号405被用作传送数据的新的传送目的地网址。
另外,虽未图示,但各网络设备400-1至400-7在其内部具有CPU,通过该CPU进行上述网络设备的动作控制。
下面,说明各现有网络设备的传送目的地地址计算动作例。例如,在被输入网络设备400-1中的传送数据的目的网址与用户设备401-3相对应的(2.6.5)的情况下,若由现有的相联存储器100进行检索,则1次相联存储器字109-1的(2.*.*)和1次相联存储器字109-5的(2.6.*)一致,但其中仅与屏蔽信息的有效状态的比特最少的1次相联存储器字109-5相对应的一致线102-5变为有效状态。从而,编码器402输出“5”,作为存储器地址信号403,并且存储器404输出存储在字5中的网络设备400-6的网址(2.6.*),作为存储器数据信号405。由此,网络设备400-1向网络设备400-6传送附加的目的网址为(2.6.5)的输入通信数据。网络设备400-6根据传送来的数据来进行与上述一样的动作,网络设备依次传送数据,最后,将数据传送至作为目的地的具有(2.6.5)的网址的用户设备401-3。
(现有相联存储器的说明)图13是表示现有相联存储器的结构例的框图。n比特m字(也称为word)结构(m、n为自然数)的相联存储器100,具有n比特m字结构的1次检索用相联存储器103和n比特m字结构的2次检索用相联存储器104,并具有用于输入n比特检索数据101的1次位线(bit line)105-1~105-n、和输出最终检索结果的m条一致线102-1~102-m。
n比特m字结构的1次检索用相联存储器103将1次位线105-1~105-n设为输入,将1次一致线116-1~116-m和中间数据线106-1~106-n设为输出。1次检索用相联存储器103具有1次相联存储器字109-1~109-m,可存储各n比特的存储数据和屏蔽信息构成的结构化数据。1次相联存储器字109-j(j为1以上m以下的自然数)具有用于存储n比特存储数据的数据单元110-j-1~110-j-n、和存储对应的n比特屏蔽信息的屏蔽单元111-j-1~111-j-n。这里,结构化数据的随意“*”状态的比特,通过将存储数据的无效状态存储在与存储数据的相应比特相对应的数据单元110中、且将屏蔽信息的有效状态存储在对应的屏蔽单元111中来表现。1次检索用相联存储器103进行1次检索,检索考虑对应屏蔽信息并与1次位线105-1~105-n的状态相比较的结果一致的存储数据,将有效状态输出到与存储着一致的存储数据的1次相联存储器字109相对应的1次一致线116,并将无效状态输出到其它的1次一致线116。另外,对一致的存储数据进行设存储数据的有效状态为真的逻辑或运算,将得到的值输出到中间数据线106-1~106-n。将中间数据线106-1~106-n的状态作为n比特的中间数据107输入到2次位线108-1~108-n。
n比特m字结构的2次检索用相联存储器104将2次位线108-1~108-n设为输入,将2次一致线126-1~126-m设为输出。2次检索用相联存储器104具有可存储n比特的2次存储数据的2次相联存储器字112-1~112-m。第j个2次相联存储器字112-j具有用于存储n比特2次存储数据的数据单元113-j-1~113-j-n。2次检索用相联存储器104进行2次检索,检索与2次位线108-1~108-n的状态一致的2次存储数据,将有效状态输出到与存储一致的2次存储数据的2次相联存储器字112相对应的2次一致线126,并将无效状态输出到其它的2次一致线126。将2次一致线126-1~126-m的状态作为一致线102-1~102-n,输出到外部。在该现有例中,将与存储在对应的1次相联存储器字109-j的数据单元110-j-1~110-j-n中的n比特存储数据相同的值,作为n比特的2次存储数据,存储在数据单元113-j-1~113-j-n中。
图14是表示n比特m字结构的现有相联存储器100的n比特m字结构的1次检索用相联存储器103的结构例框图。n比特m字结构的1次检索用相联存储器103具有n比特的1次相联存储器字109-1~109-m、电阻121-1~121-n、和逻辑非门122-1~122-n。第j个1次相联存储器字109-j具有n个相联存储器单元118-j-1~118-j-n。在第j个1次相联存储器字109-j上,为了输入而连接对应的数据字线115-j和屏蔽字线117-j,为了输出而连接对应的1次一致线116-j和一致数据中间逻辑线114-1~114-n,为了输入输出而连接n条1次位线105-1~105-n。
在第j个1次相联存储器字109-j的第k比特(k为1以上、n以下的自然数)的相联存储器单元118-j-k上,为了输入而连接对应的数据字线115-j和屏蔽字线117-j,为了输出而连接对应的1次一致线116-j和一致数据中间逻辑线114-k,为了输入输出而连接1次位线105-k。
相联存储器单元118-j-k具备存储经1次位线105-k从外部输入的存储数据的对应的比特信息的数据单元110-j-k、对存储在数据单元110-j-k中的比特信息与从外部经1次位线105-k输入的信息进行比较的比较器119-j-k、存储从外部经1次位线105-k输入的屏蔽信息的对应比特信息的屏蔽单元111-j-k、和逻辑门120-j-k。这里,在存储在屏蔽单元111-j-k中的比特信息是屏蔽有效状态的情况下,将存储数据的无效状态存储在对应的数据单元110-j-k中。
另外,在本例中,将屏蔽信息的屏蔽有效状态设为“0”,将屏蔽无效状态设为“1”,将存储数据的有效状态设为“1”,将无效状态设为“0”。与存储数据一样,将中间数据线106-1~106-n的有效状态设为“1”,将无效状态设为“0”。将1次一致线116-1~116-m、2次一致线126-1~126-m和一致线102-1~102-m的有效状态设为“1”,将无效状态设为“0”。
数据单元100-j-k在对应的数据字线115-j为有效状态的情况下,若对应的1次位线105-k上写入数据被驱动,则作为存储数据存储,若对应的1次位线105-k未被驱动,则将存储的存储数据输出到对应的1次位线105-k。若对应的数据字线115-j为无效状态,则不对1次位线105-k进行任何操作。另外,无论对应的数据字线115-j的值如何,都将存储的存储数据输出到相同的相联存储器单元118-j-k中的比较器119-j-k和逻辑门120-j-k。
屏蔽单元111-j-k在对应的屏蔽字线117-j为有效状态的情况下,若对应的1次位线105-k上写入数据被驱动,则将写入数据存储为屏蔽信息,若对应的1次位线105-k未被驱动,则将存储的屏蔽信息输出到对应的1次位线105-k中。若对应的屏蔽字线117-j为无效状态,则不对1次位线105-k进行任何操作。另外,无论对应的屏蔽字线117-j的值如何,都将存储的屏蔽信息输出到相同的相联存储器单元118-j-k中的比较器119-j-k。
在开始1次检索动作之前,1次一致线116-1~116-m被预充电到高电平,变为有效状态“1”。
比较器119-j-k将在对应的1次位线105-k、及与之相同的相联存储器单元118-j-k中的数据单元110-j-k中存储的存储数据、和存储在屏蔽单元111-j-k中的屏蔽信息设为输入。比较器119-j-k在屏蔽信息为屏蔽有效状态“0”时,将对应的1次一致线116-j变为释放状态,在此外的情况下,若1次位线105-k的值与存储数据一致,则将对应的1次一致线116-j变为开放状态,若不一致,则输出无效状态“0”。因此,第j个1次相联存储器字109-j中的n个比较器119-j-1~119-j-n构成接线(wired)AND逻辑连接,即,在全部将1次一致线116-j设为开放状态时,1次一致线116-j变为有效状态“1”,在此外的情况下变为无效状态“0”,将1次一致线116的有效状态“1”设为真。即,在1次检索动作时,只在为了屏蔽有效状态“0”而去除从比较对象中除去屏蔽信息的比特后,1次相联存储器字109-j存储的存储数据与1次位线105-1~105-n的值完全一致的情况下,1次一致线116-j才变为有效状态“1”,在此外的情况下变为无效状态“0”。
当相同的1次相联存储器字109-j中的1次一致线116-j为有效状态“1”、且相同的相联存储器单元118-j-k中的数据单元110-j-k中存储的存储数据为有效状态“1”时,逻辑门120-j-k向对应的一致数据中间逻辑线114-k输出中间数据线106的无效状态“0”,并在此外的情况下变为开放状态。一致数据中间逻辑线114-k经电阻121-k连接于中间数据线106的有效状态“1”,与对应的m个逻辑门120-1-k~120-m-k构成接线逻辑连接。因此,被连接的m个逻辑门120-1-k~120-m-k全部将一致数据中间逻辑线114-k变为开放状态时,一致数据中间逻辑线114-k变为中间数据线106的有效状态“1”,在此外的情况下变为中间数据线106的无效状态“0”。
逻辑非门122-1~122-n将对应的一致数据中间逻辑线114-1~114-n的逻辑状态反转,并输出到中间数据线106-1~106-n。
因此,在中间数据线106-k中,具有通过m个逻辑门120-1-k~120-m-k、一致数据中间逻辑线114-k、电阻121-k和逻辑非门122-k、在执行1次检索后变为有效状态“1”的1次一致线161-1~161-m的全部第k比特的相联存储器单元118-1-k~118-m-k中的数据单元110-1-k~110-m-k中存储的存储数据彼此得到将存储数据的有效状态设为真的逻辑或运算的结果。在本例中,得到将存储数据的有效状态“1”设为真的逻辑或运算的结果。通过这些动作,向中间数据线106-1~106-n输出在执行1次检索后与检索数据101一致的存储数据中、与无效状态“0”的比特数最少的存储数据相同的值。
图15是表示n比特m字结构的现有相联存储器100的n比特m字结构的2次检索用相联存储器104的结构例的框图。n比特m字结构的2次检索用相联存储器104具有2次相联存储器字112-1~112-m。第j个2次相联存储器字112-1~112-j具有n个相联存储器单元123-j-1~123-j-n。在2次相联存储器字112-j上,为了输入而连接对应的数据字线125-j,为了输出而连接对应的2次一致线126-j,为了输入输出而连接n条2次位线108-1~108-n。
第j个2次相联存储器字112-j的第k比特的相联存储器单元123-j-k上,为了输入而连接对应的数据字线125-j,为了输出而连接对应的2次一致线126-j,为了输入输出而连接2次位线108-k。
相联存储器单元123-j-k具备存储经2次位线108-k从外部输入的2次存储数据的对应比特信息的数据单元113-j-k;和对存储在数据单元113-j-k中的比特信息与从外部经2次位线108-k输入的信息进行比较的比较器124-j-k。
数据单元113-j-k在对应的数据字线125-j为有效状态的情况下,若对应的2次位线108-k上写入数据被驱动,则将存储为2次存储数据,若对应的2次位线108-k未被驱动,则将存储的2次存储数据输出到对应的2次位线108-k中。若对应的数据字线125-j为无效状态,则不对2次位线108-k进行任何操作。另外,无论对应的数据字线125-j的值如何,都将存储的2次存储数据输出到相同的相联存储器单元123-j-k中的比较器124-j-k。
在开始2次检索动作之前,2次一致线126-1~126-j被预充电到高电平,变为有效状态“1”。
比较器124-j-k将对应的2次位线108-k、及与之相同的相联存储器单元123-j-k中的数据单元113-j-k中存储的2次存储数据设为输入。在2次位线108-k的值与2次存储数据一致时,比较器124-j-k将对应的2次一致线126-j变为释放状态,在不一致时,输出无效状态“0”。第j个2次相联存储器字112-j中的n个比较器124-j-1~124-j-n构成接线AND逻辑连接,即,在将全部2次一致线126-j设为开放状态时,2次一致线126-j变为有效状态“1”,在此外的情况下变为无效状态“0”,将2次一致线126的有效状态“1”设为真。即,在2次检索动作时,只在2次相联存储器字112-j存储的2次存储数据与2次位线108-1~108-n的值完全一致的情况下,2次一致线126-j才变为有效状态“1”,在此外的情况下变为无效状态“0”。
(现有相联存储器的动作)下面,用图16来说明将上述现有相联存储器100用于图11的网络设备400-1的传送目的地网址计算中时的动作。因而图16中,将相联存储器100假设为9位(bit)5字(word)的结构。
作为存储在各1次相联存储器字109-1~109-5中的存储数据、屏蔽信息,存储着图11的网络设备400-1的连接信息。此时,连接信息中的随意“*”状态的比特通过将存储数据的对应比特设为存储数据的无效状态“0”、将屏蔽信息的对应比特设为屏蔽有效状态“0”来表现。
即,因为在1次相联存储器字109-1中,用结构化数据来表现表示段2的网址(2.*.*),所以用2进制数表现,存储“010.000.000”作为存储数据,存储“111.000.000”作为屏蔽信息。同样,因为在1次相联存储器字109-2中,用结构化数据来表现表示段3的网址(3.*.*),所以用2进制数表现,存储“011.000.000”作为存储数据,存储“111.000.000”作为屏蔽信息。因为在1次相联存储器字109-3中用结构化数据来表现表示段4的网址(1.2.*),所以用2进制数表现,存储“001.010.000”作为存储数据,存储“111.111.000”作为屏蔽信息。因为在1次相联存储器字109-4中用结构化数据来表现表示段5的网址(1.3.*),所以用2进制数表现,存储“001.011.000”作为存储数据,存储“111.111.000”作为屏蔽信息。因为在1次相联存储器字109-5中,用结构化数据来表现表示段6的网址(2.6.*),所以用2进制数表现,存储“010.110.000”作为存储数据,存储“111.111.000”作为屏蔽信息。
另外,在2次检索用相联存储器104的2次相联存储器字112-1~112-5中,设存储与对应的1次相联存储器字109-1~109-5的存储数据相同的值来作为2次存储数据。因此,分别在2次相联存储器字112-1中,以2进制表现来存储“010.000.000”,在2次相联存储器字112-2中,以2进制表现来存储“011.000.000”,在2次相联存储器字112-3中,以2进制表现来存储“001.010.000”,在2次相联存储器字112-4中,以2进制表现来存储“000.011.000”,在2次相联存储器字112-5中,以2进制表现来存储“010.110.000”。
在1次检索动作之前,设将全部1次一致线116-1~116-5预充电到高电平,变为有效状态“1”。另外,在2次检索动作之前,设将全部2次一致线126-1~126-5预充电到高电平,变为有效状态“1”。
下面,说明输入图11的用户设备401-3的8进制数表现的网址(2.6.5)作为检索数据101,并进行检索动作情况下的动作。
将检索数据101的9比特的2进制数表现的值“010.110.101”输入9条1次位线105-1~105-9,1次检索用相联存储器103执行1次检索。作为结果,存储在1次相联存储器字109-1中的8进制数表现的(2.*.*)和存储在1次相联存储器字109-5中的8进制数表现的(2.6.*)与1次位线105-1~105-9的状态一致。因此,作为1次检索的结果,1次一致线116-1、116-5这两条线变为有效状态“1”,其余的1次一致线116-2、116-3和116-4变为无效状态“0”。
此时,从中间数据线106-1输出针对1次相联存储器字109-1内的对应存储数据“0”和1次相联存储器字109-5内的对应存储数据“0”的、将“1”设为真的逻辑或结果“0”。从中间数据线106-2输出针对1次相联存储器字109-1内的对应存储数据“1”和1次相联存储器字109-5内的对应存储数据“1”的、将“1”设为真的逻辑或结果“1”。后面一样,分别从中间数据线106-3输出针对“0”和“0”的、将“1”设为真的逻辑或结果“0”,从中间数据线106-4输出针对“0”和“1”的、将“1”设为真的逻辑或结果“1”,从中间数据线106-5输出针对“0”和“1”的、将“1”设为真的逻辑或结果“1”,从中间数据线106-6输出针对“0”和“0”的、将“1”设为真的逻辑或结果“0”,从中间数据线106-7输出针对“0”和“0”的、将“1”设为真的逻辑或结果“0”,从中间数据线106-8输出针对“0”和“0”的、将“1”设为真的逻辑或结果“0”,从中间数据线106-9输出针对“0”和“0”的、将“1”设为真的逻辑或结果“0”。因此,得到以2进制数表现的“010110000”,作为中间数据107。
将中间数据107的值输入2次位线108-1~108-9,2次检索用相联存储器104执行2次检索。作为结果,仅存储在2次相联存储器字112-5中的2进制数表现的“010110000”与2次位线108-1~108-9的状态完全一致。因此,仅2次一致线126-5变为有效状态“1”,其余的2次一致线126-1、126-2、126-3和126-4变为无效状态“0”。从而,相联存储器100仅向一致线102-5输出有效状态“1”。
因此,可知现有的相联存储器100可仅向考虑对应的屏蔽信息后与输入的检索数据101进行比较的结果一致的存储数据中、屏蔽信息的屏蔽有效状态的比特最少的存储数据所对应的一致线102-5输出有效状态。另外,即使由于未图示的时钟信号而在1次检索、2次检索中分别需要1个时钟时间的情况下,由于独立具有执行1次检索的1次检索用相联存储器103、和执行2次检索用相联存储器的2次检索用相联存储器104,所以可知能在每个时钟输入检索数据101,并执行传送目的地网址的计算。
上述现有的n比特m字结构的相联存储器100,将n比特m字结构的1次检索用相联存储器103生成的n比特的中间数据107设为2次检索用相联存储器104的输入,所以2次检索用相联存储器104必需是n比特m字结构。
这里,1次检索用相联存储器103的数据单元110-1-1~110-m-n、屏蔽单元111-1-1~111-m-n、和2次检索用相联存储器104的数据单元113-1-1~113-m-n,可由6个MOS晶体管所构成的一般静态RAM元件构成。此时,构成静态SRAM元件的各MOS晶体管的面积一般与制造现有的相联存储器100时允许的最小面积的MOS晶体管相等。
但是,如图14所示,1次一致线116-j由于需要与n个相联存储器单元118-j-1~118-j-n中的比较器119-j-1~119-j-n进行接线逻辑连接的布线长度,所以布线电容非常大,为了驱动该布线电容,构成比较器119的MOS晶体管的面积变得非常大。例如,在0.25μm制造工艺的情况下,为了连接64个相联存储器单元118,必需约1mm的布线长度,该布线长度的布线电容约为0.3pF左右。用于驱动该电容的晶体管尺寸必需是制造工艺允许的最小面积的M0S晶体管的10-30倍。同样,如图15所示,2次一致线126-j也需要与n个相联存储器单元123-j-1~123-j-n进行接线逻辑连接的布线长度,构成比较器124的MOS晶体管的面积也必需为最小面积的MOS晶体管的10-30倍。另外,如图14所示,一致数据中间逻辑线114-k也必需与m个1次相联存储器字109-1~109-m中的逻辑门120-1-k~120-m-k进行接线逻辑连接的布线长度,构成逻辑门120的MOS晶体管的面积也必需为最小面积的MOS晶体管的10-30倍。
这里,假设构成比较器119、比较器124和逻辑门120的MOS晶体管的面积为最小面积的MOS晶体管的10倍,另外,若假设比较器119由4个MOS晶体管构成,比较器120由3个MOS晶体管构成,逻辑门120由2个MOS晶体管构成,则构成1次检索用相联存储器103的相联存储器单元118的面积是最小面积的MOS晶体管的72倍,构成2次检索用相联存储器104的相联存储器单元123的面积是最小面积的MOS晶体管的36倍。
因此,在现有的n比特m字结构的相联存储器100中,1次检索用相联存储器103与2次检索用相联存储器104都是n比特m字结构,所以存在如下问题无论检索数据101的比特宽如何,1次检索用相联存储器103以外的构成要素的合计面积都需要1次检索用相联存储器103的面积的0.5倍。
另外,m条1次一致线116-1~116-m中、在1次检索后也保持有效状态的一致线最大也仅是与屏蔽信息的比特长相同的n条,其余的(m-n)条在放电检索前预充电到有效状态的电荷。m条2次一致线126-1~126-m中、在2次检索后也保持有效状态的一致线仅为1条,其余的(m-1)条在放电检索前预充电到有效状态的电荷。因此,在1字64比特下为32768字结构的情况下,使1次一致线116、2次一致线126重合,即使在最小的情况下,每次检索动作中也需要(32768-64)+(32768-1)=65471条的布线电容。一致数据中间逻辑线114-1~114-n、1次位线105-1~105-n、2次位线108-1~108-n都为n条,在上述实例中,共计为192条,所以可忽视。即,可知现有的相联存储器100的功耗大部分是每次检索动作中预充电1次一致线116、2次一致线126所需的功率。这里,在0.25μm制造工艺中,在1字64比特下为32768字结构的情况下,1次一致线116、2次一致线126每条的布线电容如上所述分别为约0.3pF。因此,若将电源电压设为2.5V,将执行检索的周期设为20ns,则芯片整体的功耗为(0.3pF×2.5V)÷20ns×2.5V×65471条=6.14W,存在功耗非常大的问题。
因此,存在将现有的相联存储器100用于计算传送目的地网址中的网络设备的功耗也非常大的问题。
在日本专利3191737号中还记载了如下结构例,即在1次检索用相联存储器中,设置n比特的选择部件与n比特的存储部件,而且,通过控制各相联存储器单元内的比较器的动作,基本不使1次检索用相联存储器的晶体管数量增加地兼用2次检索用相联存储器的结构要素。此时,虽然解决了上述芯片面积、功耗的问题,但由于在1次检索、2次检索中兼用相同的结构要素,所以不能在每个时钟输入检索数据101,存在传送目的地网址的计算执行速度降低到上述相联存储器100时的2分之1以下的问题。

发明内容
因此,本发明的目的在于提供一种相联存储器,可在每个时钟执行输出对与检索数据一致的存储数据之中对应的屏蔽信息的有效状态比特的数量最少的存储数据进行识别的信号的运算,且每单位芯片面积的存储电容大。
另一目的在于提供一种相联存储器,可在每个时钟执行输出对与检索数据一致的存储数据之中对应的屏蔽信息的有效状态比特的数量最少的存储数据进行识别的信号的运算,且功耗小。
再一目的在于提供一种可降低网络设备的功耗和高速传送数据的网络系统。
为了实现上述目的,在本发明中,作为方案1是一种相联存储器,其特征在于,具备第1存储器,该第1存储器具备分别存储m个n比特长的第1存储数据的m条字(m、n为自然数)和1个或多个屏蔽信息,所述屏蔽信息对应于所述第1存储数据的1个或多个,能通过对应的比特的屏蔽有效状态、屏蔽无效状态来设定是否从检索对象中除去所述第1存储数据的各比特列,以字单位将输入的n比特长的1次检索数据与所述第1存储数据相比较,对一致的字输出1次一致信号,而且,将一致的字内的所述第1存储数据彼此的逻辑运算结果作为中间数据来输出;压缩运算部件,执行将所述中间数据的比特宽压缩到p(p为自然数)比特长的运算,作为2次检索数据输出;第2存储器,使对所述第1存储数据在每个字进行所述压缩运算而得到的p比特长的m个第2存储数据,对应于所述第1存储数据的各字来存储,以字单位将所述2次检索数据与所述第2存储数据相比较,对一致的字输出2次一致信号;和无效化部件,当每个字从所述第1存储器输出的所述1次一致信号不一致时,将对应的所述2次一致信号变为不一致状态。
作为方案2是一种相联存储器,其特征在于,具备第1存储器,将m个(m为自然数)结构化数据存储在m个字中,该m个结构化数据包括n比特长的第1存储数据(n为自然数)和屏蔽信息,所述屏蔽信息可通过对应的比特的屏蔽有效状态、屏蔽无效状态来设定是否从检索对象中除去所述第1存储数据的各比特列,以字单位将输入的n比特长的1次检索数据与所述结构化数据中的所述第1存储数据相比较,对一致的字输出1次一致信号,而且,将一致的字内的所述屏蔽信息彼此的逻辑运算结果作为中间数据来输出;压缩运算部件,执行将所述中间数据的比特宽压缩到p(p为自然数)比特长的运算,作为2次检索数据输出;第2存储器,使对所述第1存储数据在每个字进行所述压缩运算而得到的p比特长的m个第2存储数据,对应于所述第1存储数据的各字来存储,以字单位将所述2次检索数据与所述第2存储数据相比较,对一致的字输出2次一致信号;和无效化部件,当每个字从所述第1存储器输出的所述1次一致信号不一致时,将对应的所述2次一致信号变为不一致状态。
作为方案3是一种相联存储器,其特征在于,具备第1存储器,将m个(m为自然数)结构化数据存储在m个字中,该m个结构化数据包括n比特长的第1存储数据(n为自然数)和屏蔽信息,所述屏蔽信息可通过对应的比特的屏蔽有效状态、屏蔽无效状态来设定是否从检索对象中除去所述第1存储数据的各比特列,以字单位将输入的n比特长的1次检索数据与所述结构化数据中的所述第1存储数据相比较,对一致的字输出1次一致信号,而且,将一致的字内的所述屏蔽信息彼此与所述1次检索数据的逻辑运算结果作为中间数据来输出;压缩运算部件,执行将所述中间数据的比特宽压缩到p(p为自然数)比特长的运算,作为2次检索数据输出;第2存储器,使对所述第1存储数据在每个字进行所述压缩运算而得到的p比特长的m个第2存储数据,对应于所述第1存储数据的各字来存储,以字单位将所述2次检索数据与所述第2存储数据相比较,对一致的字输出2次一致信号;和无效化部件,当每个字从所述第1存储器输出的所述1次一致信号不一致时,将对应的所述2次一致信号变为不一致状态。
作为方案4是一种相联存储器,就权利要求1-3之一所述的相联存储器而言,其特征在于所述压缩运算部件对所述中间数据的处于无效状态的比特的数量进行计数,并根据该计数值来执行所述压缩运算。
作为方案5是一种相联存储器,就权利要求4所述的相联存储器而言,其特征在于所述计数值是从所述中间数据的第1比特位置向第2比特位置连续的处于无效状态的比特的数量。
作为方案6是一种相联存储器,就权利要求1-3之一所述的相联存储器而言,其特征在于所述压缩运算部件对所述中间数据的处于有效状态的比特的数量进行计数,并根据该计数值来执行所述压缩运算。
作为方案7是一种相联存储器,就权利要求6所述的相联存储器而言,其特征在于所述计数值是从所述中间数据的第1比特位置向第2比特位置连续的处于有效状态的比特的数量。
作为方案8是一种相联存储器,就权利要求1-3之一所述的相联存储器而言,其特征在于所述第1存储器当所述屏蔽信息在全部比特表示屏蔽有效状态时,不存储所述屏蔽信息和对应的所述第1存储数据。
作为方案9是一种相联存储器,就权利要求1-3之一所述的相联存储器而言,其特征在于设置使所述1次一致信号与所述2次一致信号的输出定时同步的部件。
作为方案10是一种相联存储器,就权利要求1-3之一所述的相联存储器而言,其特征在于所述无效化部件包含预充电控制部件,在所述1次一致信号处于不一致状态时使所述2次一致信号的信号电平放电,在所述1次一致信号处于一致状态时使所述2次一致信号的信号电平充电。
作为方案11是一种网络设备,具备路径信息表格,该路径信息表格包括存储路径信息的多个字和1个或多个屏蔽信息,所述屏蔽信息对应于所述路径信息的1个或多个、并可通过对应的比特的状态来设定是否从检索对象中除去所述路径信息的各比特列,其特征在于,具备1次检索部件,以字单位将作为1次检索数据输入的、输入通信数据中的目的网址与所述路径信息相比较,输出对一致的字进行识别的1次一致信号,而且,将一致的字内的所述路径信息彼此的逻辑运算结果作为中间数据来输出;压缩运算部件,对所述中间数据执行压缩比特宽的运算,生成2次检索数据;2次检索部件,使对所述路径信息在每个字执行所述压缩运算而得到的第2存储数据,对应于所述路径信息的各字来存储,以字单位将所述2次检索数据与所述第2存储数据相比较,输出对一致的字进行识别的2次一致信号;无效化部件,1次一致信号每个字都不一致时,通过将对应的所述2次一致信号变为不一致状态,生成最终一致信号;和确定部件,根据所述最终一致信号来确定与所述输入通信数据相对应的输出通信数据的传送目的地地址。
作为方案12是一种网络设备的传送目的地地址确定方法,其特征在于,具备路径信息表格,该路径信息表格包括存储路径信息的多个字和1个或多个屏蔽信息,所述屏蔽信息对应于所述路径信息的1个或多个、并可通过对应的比特的状态来设定是否从检索对象中除去所述路径信息的各比特列,当将输入通信数据中的目的网址作为1次检索数据输入时,执行以字单位将所述目的网址与所述路径信息相比较的1次检索,生成一致的字内的所述路径信息彼此的逻辑运算结果,作为中间数据,对所述中间数据执行压缩比特宽的运算,生成2次检索数据,执行2次检索,以字单位将所述2次检索数据与对所述1次检索中一致的1个或多个所述字内的路径信息执行所述压缩运算而得到结果相比较,根据所述2次检索中对应于一致字的所述路径信息,确定与所述输入通信数据相对应的输出通信数据的传送目的地地址。
作为方案13是一种网络设备,具备路径信息表格,该路径信息表格包括将路径信息与屏蔽信息成对存储的多个字,所述屏蔽信息可通过对应的比特的状态来设定是否从检索对象中除去所述路径信息的各比特列,其特征在于,具备1次检索部件,以字单位将作为1次检索数据输入的、输入通信数据中的目的网址与所述路径信息相比较,输出对一致的字进行识别的1次一致信号,而且,将一致的字内的所述屏蔽信息彼此与所述1次检索数据的逻辑运算结果作为中间数据来输出;压缩运算部件,对所述中间数据执行压缩比特宽的运算,生成2次检索数据;2次检索部件,使对所述路径信息在每个字执行所述压缩运算而得到的第2存储数据,对应于所述路径信息的各字来存储,以字单位将所述2次检索数据与所述第2存储数据相比较,输出对一致的字进行识别的2次一致信号;无效化部件,1次一致信号每个字都不一致时,通过将对应的所述2次一致信号变为不一致状态,生成最终一致信号;和确定部件,根据所述最终一致信号来确定与所述输入通信数据相对应的输出通信数据的传送目的地地址。
作为方案14是一种网络设备的传送目的地地址确定方法,其特征在于,具备路径信息表格,该路径信息表格包括将路径信息与屏蔽信息成对存储的多个字,所述屏蔽信息可通过对应的比特的状态来设定是否从检索对象中除去所述路径信息的各比特列,当将输入通信数据中的目的网址作为1次检索数据输入时,执行以字单位将所述目的网址与所述路径信息相比较的1次检索,生成一致的字内的所述屏蔽信息彼此与所述1次检索数据的逻辑运算结果,作为中间数据,对所述中间数据执行压缩比特宽的运算,生成2次检索数据,执行2次检索,以字单位将所述2次检索数据与对所述1次检索中一致的1个或多个所述字内的路径信息执行所述压缩运算而得到结果相比较,根据所述2次检索中对应于一致字的所述路径信息,确定与所述输入通信数据相对应的输出通信数据的传送目的地地址。
作为方案15是一种网络设备,具备路径信息表格,该路径信息表格包括将路径信息与屏蔽信息成对存储的多个字,所述屏蔽信息可通过对应的比特的状态来设定是否从检索对象中除去所述路径信息的各比特列,其特征在于,具备1次检索部件,以字单位将作为1次检索数据输入的、输入通信数据中的目的网址与所述路径信息相比较,输出对一致的字进行识别的1次一致信号,而且,将一致的字内的所述屏蔽信息彼此的逻辑运算结果作为中间数据来输出;压缩运算部件,对所述中间数据执行压缩比特宽的运算,生成2次检索数据;2次检索部件,使对所述屏蔽信息在每个字执行所述压缩运算而得到的第2存储数据,对应于所述路径信息的各字来存储,以字单位将所述2次检索数据与所述第2存储数据相比较,输出对一致的字进行识别的2次一致信号;无效化部件,1次一致信号每个字都不一致时,通过将对应的所述2次一致信号变为不一致状态,生成最终一致信号;和确定部件,根据所述最终一致信号来确定与所述输入通信数据相对应的输出通信数据的传送目的地地址。
作为方案16是一种网络设备的传送目的地地址确定方法,其特征在于,具备路径信息表格,该路径信息表格包括将路径信息与屏蔽信息成对存储的多个字,所述屏蔽信息可通过对应的比特的状态来设定是否从检索对象中除去所述路径信息的各比特列,当将输入通信数据中的目的网址作为1次检索数据输入时,执行以字单位将所述目的网址与所述路径信息相比较的1次检索,生成一致的字内的所述屏蔽信息彼此的逻辑运算结果,作为中间数据,对所述中间数据执行压缩比特宽的运算,生成2次检索数据,执行2次检索,以字单位将所述2次检索数据与对所述1次检索中一致的1个或多个所述字内的屏蔽信息执行所述压缩运算而得到结果相比较,根据所述2次检索中对应于一致字的所述路径信息,确定与所述输入通信数据相对应的输出通信数据的传送目的地地址。
作为方案17是一种网络系统,其特征在于经权利要求11、13、15之一所述的网络设备在连接于网络上的通信设备之间进行数据通信。
作为方案18是一种网络系统,其特征在于使用权利要求12、14、16之一所述的方法,在连接于网络上的通信设备之间进行数据通信。


图1是表示本发明实施方式一的相联存储器的一结构例的框图。
图2是表示本发明实施方式一的相联存储器的动作例的图。
图3是表示本发明实施方式二的相联存储器的一结构例的框图。
图4是表示本发明实施方式二的相联存储器的动作例的图。
图5是表示本发明实施方式三的相联存储器的一结构例的框图。
图6是表示本发明实施方式三的相联存储器的1次相联存储器的一结构例的框图。
图7是表示本发明实施方式三的相联存储器的动作例的图。
图8是表示本发明实施方式四的相联存储器的一结构例的框图。
图9是表示本发明实施方式五的相联存储器的一结构例的框图。
图10是表示将本发明的相联存储器用于传送目的地网址计算中的本发明的网络设备的一结构例的框图。
图11是表示计算机网络的连接例的图。
图12是现有的网络设备的传送目的地地址计算的说明图。
图13是表示现有相联存储器的结构例的框图。
图14是表示现有相联存储器中1次相联存储器的结构例的框图。
图15是表示现有相联存储器中2次相联存储器的结构例的框图。
图16是表示现有相联存储器的动作例的图。
具体实施例方式
(实施例一的结构)下面,参照附图来详细说明本发明的实施方式一。图1是表示本发明的相联存储器1的一结构例的框图。n比特m字结构(m、n为自然数)的相联存储器1具有n比特m字结构的相联存储器2、p比特m字结构(p为自然数)的2次检索用相联存储器3、和m个无效化部件22-1~22-m,并具有用于输入n比特检索数据10的1次位线12-1~12-n、和输出最终检索结果的m条一致线11-1~11-m。
n比特m字结构的相联存储器2具有n比特m字结构的1次检索用相联存储器4和计数部件17,将1次位线12-1~12-n设为输入,将1次一致线13-1~13-m和计数输出线18-1~18-p设为输出。
1次检索用相联存储器4具有可存储各n比特的存储数据和屏蔽信息构成的结构化数据的1次相联存储器字7-1~7-m,将1次位线12-1~12-n设为输入,将1次一致线13-1~13-m和中间数据线14-1~14-n设为输出。1次相联存储器字7-j(j为1以上m以下的自然数)具有用于存储n比特存储数据的数据单元5-j-1~5-j-n、和存储对应的n比特屏蔽信息的屏蔽单元6-j-1~6-j-n。这里,设结构化数据的随意“*”状态的比特通过将存储数据的无效状态存储在与存储数据的相应比特相对应的数据单元5中、且将屏蔽信息的有效状态存储在对应的屏蔽单元6中来表现。1次检索用相联存储器4进行1次检索,该1次检索考虑对应的屏蔽信息并与1次位线12-1~12-n的状态相比较,检索一致的存储数据,1次检索用相联存储器4将有效状态输出到与存储一致的存储数据的1次相联存储器字7相对应的1次一致线13,并将无效状态输出到其它的1次一致线13。另外,对一致的存储数据彼此进行设存储数据的有效状态为真的逻辑或运算,将得到的值作为n比特的中间数据15输出到中间数据线14-1~14-n。从图中可知,实施方式一的n比特m字结构的1次检索用相联存储器4可构成为与用图13说明的现有n比特m字结构的相联存储器100的1次检索用相联存储器103完全一样。将n比特的中间数据15的状态输入到n条计数输入线16-1~16-n。
计数部件17将n条计数输入线16-1~16-n设为输入,将p条计数输出线18-1~18-p设为输出。计数部件17计数从与网址最下位分层相对应的中间数据15的比特位置连接到上位分层侧的中间数据的无效状态的比特的数量,直到出现最初的中间数据的有效状态的比特为止,将计数结果作为p比特的2次检索数据19输出到计数输出线18-1~18-p。将p比特的2次检索数据19输入p条2次位线20-1~20-p。
此时,计数结果的最小值在10进制数下为0,最大值在10进制数下为n。因此,在将计数结果编码成2进制数的情况下,计数输出线18-1~18-p的条数p为满足下式1的自然数。
p-1≤Log2(n+1)≤p……式1若设X为正实数,将函数Roundup(X)定义为变换为舍去正实数X的小数点以下的整数的函数,则式1可如下记述。
p=Roundup(Log2(n+1))……式2例如,在中间数据15的比特宽n在10进制数下为9的情况下,2次检索数据19的比特宽p在10进制数下变为4,在中间数据15的比特宽n在10进制数下128的情况下,2次检索数据19的比特宽p在10进制数下变为8。表1中示出计数输入线16-1~16-n的条数n在10进制数下为9时、将计数结果编码成4比特的2进制数的计数部件17的真值表。
表1


表1中,*表示随意。
不用说,计数输入线16-1~16-n的条数n在9以外的情况下也可同样构成。在计数输入线16-1~16-n的条数n在10进制数下为64的情况下,计数部件17可由约8000门的组合电路实现,在以0.25μm制造工艺实现的情况下,信号延迟变为4ns左右。
p比特m字结构的2次检索用相联存储器3将2次位线20-1~20-p设为输入,将2次一致线21-1~21-m设为输出。2次检索用相联存储器3具有可存储p比特的2次存储数据的2次相联存储器字9-1~9-m。第j个2次相联存储器字9-j具有用于存储p比特2次存储数据的数据单元8-j-1~8-j-p。2次检索用相联存储器3进行2次检索,检索与2次位线20-1~20-p的状态一致的2次存储数据;将有效状态输出到与存储一致的2次存储数据的2次相联存储器字9相对应的2次一致线21,并将无效状态输出到其它的2次一致线21。从图中可知,实施方式一的p比特m结构的2次检索用相联存储器3与用图13说明的现有的n比特m字结构的2次检索用相联存储器104相比较,除将1字的结构变更为p比特外,可完全一样构成。
m条2次相联存储器字9-1~9-m与m条1次相联存储器字7-1~7-m一对一对应。对应的方法是任意的,但在本实施例中,设第j个2次相联存储器字9-j与第j个1次相联存储器字7-j对应。第j个2次相联存储器字9-j的数据单元8-j-1~8-j-p中,存储作为对于对应的1次相联存储器字7-j存储的n比特的存储数据执行与计数部件17对n比特的计数输入线16-1~16-n执行的运算相同的运算结果得到的p比特的运算结果,作为p比特的2次存储数据。
第j个无效化部件22-j将2次相联存储器字9-j输出的2次一致线21-j、及与2次相联存储器字9-j相对应的1次相联存储器字7-j输出的1次一致线13-j设为输入。无效化部件22-j在1次一致线13-j为1次一致线的无效状态的情况下,向一致线11-j输出一致线的无效状态,并在1次一致线13-j为1次一致线的有效状态的情况下,向一致线11-j输出2次一致线21-j的状态。图1中,示出由将1次一致线的有效状态、2次一致线的有效状态设为真的逻辑与运算电路构成无效化部件22-j的情况,但不用说,也可由接线逻辑电路等来构成。
(实施例一的动作)下面,用图2来说明将上述本发明的实施方式一的相联存储器1用于图11的网络设备400-1的传送目的地网址计算中时的动作。图2中,将相联存储器1假设为9位5字的结构。因为检索数据10的比特宽n为9,所以相联存储器2中的1次检索用相联存储器4为9位5字结构。另外,因为检索数据10的比特宽n为9,所以通过式1,2次检索数据19的比特宽p变为4,2次检索用相联存储器3的结构变为4位5字结构。另外,计数部件17将按照表1将9比特的计数输入线16-1~16-9的状态变换为4比特后的值输出到计数输出线18-1~18-4。
另外,以下说明中,将屏蔽信息的屏蔽有效状态设为“0”,将屏蔽无效状态设为“1”,将存储数据的有效状态设为“1”,将无效状态设为“0”。与存储数据一样,将中间数据线14-1~14-9的有效状态设为“1”,将无效状态设为“0”。将1次一致线13-1~13-5、2次一致线21-1~21-5和一致线11-1~11-5的有效状态设为“1”,将无效状态设为“0”。
设存储图11的网络设备400-1的连接信息,作为存储在各9比特的1次相联存储器字7-1~7-5中的存储数据、屏蔽信息。此时,通过将存储数据的对应比特设为存储数据的无效状态“0”、将屏蔽信息的对应比特设为屏蔽有效状态“0”,来表现连接信息中的随意“*”状态的比特。
即,在1次相联存储器字7-1中,用结构化数据来表现表示段2的网址(2.*.*),所以用2进制数表现,存储“010.000.000”作为存储数据,存储“111.000.000”作为屏蔽信息。同样,因为在1次相联存储器字7-2中用结构化数据来表现表示段3的网址(3.*.*),所以用2进制数表现,存储“011.000.000”作为存储数据,存储“111.000.000”作为屏蔽信息。因为在1次相联存储器字7-3中用结构化数据来表现表示段4的网址(1.2.*),所以用2进制数表现,存储“001.010.000”作为存储数据,存储“111.111.000”作为屏蔽信息。因为在1次相联存储器字7-4中用结构化数据来表现表示段5的网址(1.3.*),所以用2进制数表现,存储“001.011.000”作为存储数据,存储“111.111.000”作为屏蔽信息。因为在1次相联存储器字7-5中用结构化数据来表现表示段6的网址(2.6.*),所以用2进制数表现,存储“010.110.000”作为存储数据,存储“111.111.000”作为屏蔽信息。
另外,在各4比特的2次相联存储器字9-1~9-5中,分别存储与计数部件17对9比特的计数输入线16-1~16-9执行的运算一样、按照表1将对应的1次相联存储器字7-1~7-5存储的9比特的存储数据的值变换为4比特的值,作为2次存储数据。因此,2次相联存储器字9-1将按照表1变换1次相联存储器字7-1存储的存储数据“010.000.000”后的结果得到的、用10进制数表现的7、用2进制数表现的“0111”存储为2次存储数据。2次相联存储器字9-2将按照表1变换1次相联存储器字7-2存储的存储数据“011.000.000”后的结果得到的、用10进制数表现的6、用2进制数表现的“0110”存储为2次存储数据。2次相联存储器字9-3将按照表1变换1次相联存储器字7-3存储的存储数据“001.010.000”后的结果得到的、用10进制数表现的4、用2进制数表现的“0100”存储为2次存储数据。2次相联存储器字9-4将按照表1变换1次相联存储器字7-4存储的存储数据“001.011.000”后的结果得到的、用10进制数表现的3、用2进制数表现的“0011”存储为2次存储数据。2次相联存储器字9-5将按照表1变换1次相联存储器字7-5存储的存储数据“010.110.000”后的结果得到的、用10进制数表现的4、用2进制数表现的“0100”存储为2次存储数据。
在1次检索动作之前,设将全部1次一致线13-1~13-5预充电到高电平,变为有效状态“1”。另外,在2次检索动作之前,设将全部2次一致线21-1~21-5预充电到高电平,变为有效状态“1”。
下面,说明输入图11的用户设备401-3的8进制数表现的网址(2.6.5)作为检索数据10并进行检索动作情况下的动作。
将检索数据10的9比特的2进制数表现的值“010.110.101”输入9条1次位线12-1~12-9,相联存储器2中的1次检索用相联存储器4执行1次检索。作为结果,存储在1次相联存储器字7-1中的8进制数表现的(2.*.*)和存储在1次相联存储器字7-5中的8进制数表现的(2.6.*)与1次位线12-1~12-9的状态一致。因此,作为1次检索的结果,1次一致线13-1、13-5这两条线变为有效状态“1”,其余的1次一致线13-2、13-3和13-4变为无效状态“0”。
此时,从中间数据线14-1输出针对1次相联存储器字7-1内的对应存储数据“0”和1次相联存储器字7-5内的对应存储数据“0”的、将“1”设为真的逻辑或结果“0”。从中间数据线14-2输出针对1次相联存储器字7-1内的对应存储数据“1”和1次相联存储器字7-5内的对应存储数据“1”的、将“1”设为真的逻辑或结果“1”。后面一样,分别从中间数据线14-3输出针对“0”和“0”的、将“1”设为真的逻辑或结果“0”,从中间数据线14-4输出针对“0”和“1”的、将“1”设为真的逻辑或结果“1”,从中间数据线14-5输出针对“0”和“1”的、将“1”设为真的逻辑或结果“1”,从中间数据线14-6输出针对“0”和“0”的、将“1”设为真的逻辑或结果“0”,从中间数据线14-7输出针对“0”和“0”的、将“1”设为真的逻辑或结果“0”,从中间数据线14-8输出针对“0”和“0”的、将“1”设为真的逻辑或结果“0”,从中间数据线14,9输出针对“0”和“0”的、将“1”设为真的逻辑或结果“0”。因此,得到以2进制数表现的“010110000”,作为9比特的中间数据15,输入计数输入线16-1~16-9。
计数部件17将按照表1变换9比特的计数输入线16-1~16-9的状态后的结果得到的、用10进制数表现的4、用2进制数表现的“0100”的值作为4比特的2次检索数据19输出到计数输出线18-1~18-4。
将2次检索数据19的值输入2次位线20-1~20-4,2次检索用相联存储器3执行2次检索。结果,存储在2次相联存储器字9-3、和9-5中的2进制数表现的“0100”与2次位线20-1~20-4的状态完全一致。因此,2次一致线21-3和21-5变为有效状态“1”,其余的2次一致线21-1、21-2和21-4变为无效状态“0”。
2次检索结束后,因为1次一致线13-1为有效状态“1”,所以无效化部件22-1向一致线11-1输出2次一致线21-1的状态“0”。因为1次一致线13-2为无效状态“0”,所以无效化部件22-2向一致线11-2输出无效状态“0”。因为1次一致线13-3为无效状态“0”,所以无效化部件22-3向一致线11-3输出无效状态“0”。因为1次一致线13-4为无效状态“0”,所以无效化部件22-4向一致线11-4输出无效状态“0”。因为1次一致线13-5为有效状态“1”,所以无效化部件22-5向一致线11-5输出2次一致线21-5的状态“1”。因此,2次检索结束后,仅一致线11-5变为有效状态“1”,其余的一致线11-1、11-2、11-3和11-4变为无效状态“0”。因此,可知本发明实施方式一的相联存储器1与上述现有相联存储器100一样,仅向考虑对应的屏蔽信息后与输入的检索数据10进行比较的结果一致的存储数据中、屏蔽信息的屏蔽有效状态的比特最少的存储数据所对应的一致线11-5正确输出有效状态。
另外,与现有相联存储器100一样,本发明实施方式一的相联存储器1如图1所示,独立具有执行1次检索的1次检索用相联存储器4、和执行2次检索用相联存储器的2次检索用相联存储器3,所以即使由于未图示的时钟信号而在1次检索、2次检索中分别所需1时钟时间的情况下,也可在每个时钟输入检索数据10,并执行传送目的地网址的计算。
这里,若比较图13所示的现有相联存储器100与图1所示的相联存储器1的结构要素,则执行1次检索和中间数据生成的1次检索用相联存储器103与1次检索用相联存储器4都是n比特m字结构、相同,但不同之处在于将n比特m字结构的2次检索用相联存储器104变更为p比特m字结构的2次检索用相联存储器3这点,及追加n比特的计数部件17和m个无效化部件22-1~22-m这点。
如上所述,假设构成现有相联存储器100的比较器119、比较器124、和逻辑门120的MOS晶体管的面积为最小面积的MOS晶体管的10倍,另外,假设比较器119由4个MOS晶体管构成,比较器120由3个MOS晶体管构成,逻辑门120由2个MOS晶体管构成,则构成1次检索用相联存储器103的相联存储器单元118的面积变为最小面积的MOS晶体管的72倍,构成2次检索用相联存储器104的相联存储器单元123的面积变为最小面积的MOS晶体管的36倍。
如上所述,相联存储器1的1次检索用相联存储器4、2次检索用相联存储器3的每1比特的结构,分别与现有相联存储器100的1次检索用相联存储器103、2次检索用相联存储器104一样。因此,在1字64比特下为32768字结构的情况下,1次检索用相联存储器4的面积变为最小面积的MOS晶体管的150994944倍。另外,通过式1,2次相联存储器的结构变为7比特32768字结构,所以2次检索用相联存储器3的面积变为8257536倍。计数部件17如上所述在64比特输入的情况下由约8000门构成,若假设1门由4个最小面积的MOS晶体管构成,则计数单元17的面积变为最小面积的MOS晶体管的32000倍。另外,无效化部件22由逻辑与门构成,1个逻辑与门由6个最小面积的MOS晶体管构成,则32678个无效化部件22的面积总计变为最小面积的MOS晶体管的196068倍。
如上所述,无效化部件22、计数部件17的面积与1次检索用相联存储器4、2次检索用相联存储器3的面积相比较非常小,所以可忽视。因此,当设现有相联存储器100的面积为1时,相联存储器1的面积作为芯片整体由下式3表示。这里,用舍去正实数X的小数点以下后变换为实数的所述Roundup(X)函数来表现。
(72×n+36×Roundup(Log2(n+1)))/((72+36)×n)……式3根据式3,在检索数据10的比特宽n为64的情况下,相联存储器1的面积变为现有相联存储器100的面积的约70.3%,可削减约31%的面积。因此,本发明的相联存储器1在芯片面积与现有相联存储器100相同的情况下,可增大约42.2%的存储容量。并且,从式3容易知道,检索数据10的比特宽n越大,则本发明的面积削减效果也越大。例如,在检索数据10的比特宽n为128比特的情况下,相联存储器1的面积变为现有相联存储器100的约68.8%。
另外,m条1次一致线13-1~13-m中、在1次检索后也保持有效状态的一致线与现有的1次检索用相联存储器103一样,即使最大也仅是与屏蔽信息的比特长相同的n条,其余的(m-n)条在放电检索前预充电到有效状态的电荷。在0.25μm制造工艺中构成64比特32768字的相联存储器1的情况下,每条1次一致线13的布线电容如上所述变为约0.3pF。因此,若将电源电压设为2.5V,将执行检索的周期设为20ns,则32768条1次一致线13的预充电必需的总计功耗的最小值为(0.3pF×2.5V)÷20ns×2.5V×(32768-64)条=3.07W。因此,本发明实施方式一的相联存储器1的1次检索用相联存储器4的功耗,与现有相联存储器100的1次检索用相联存储器103的功耗无区别。
另外,如上所述,由于最大必需预充电(m-1)条具有与1次一致线13相同的布线电容的2次一致线21,所以64比特32768字结构的现有相联存储器100的2次检索用相联存储器104的功耗变为(0.3pF×2.5V)÷20ns×2.5V×(32768-1)条=3.07W。
在本发明的相联存储器1的2次检索用相联存储器3中,m条2次一致线21-1~21-m中在2次检索后也保持有效状态的一致线最小为1条、最大为m条,在放电检索前预充电到有效状态的电荷的一致线最大为(m-1)条,最小为0条。另外,2次一致线21的每1条的布线电容与2次检索用相联存储器3的比特宽p成正比。因此,在0.25μm制造工艺中构成64比特32768字的相联存储器1的情况下,若将电源电压设为2.5V,将执行检索的周期设为20ns,则32768条2次一致线21的预充电必需的总计功耗的最大值为(0.3pF×2.5V)÷20ns×2.5V×7/64×(32768-1)条=0.34W。
这里,如上所述,因为相联存储器1的字数量m与比特宽n相比较非常大,所以(m-n)(m-1)近似成立。因此,当设现有相联存储器100的功耗为1时,相联存储器1的芯片整体的功耗由下式4表示。这里,用舍去正实数X的小数点以下后变换为实数的所述Roundup(X)函数来表现。
(1+Roundup(Log2(n+1))/n)/2 …… 式4根据式4,在检索数据10的比特宽n为64的情况下,相联存储器1的功耗变为现有相联存储器100的功耗的约55.4%,可削减约44.5%的功耗。并且,从式4容易知道,检索数据10的比特宽n越大,则本发明的功耗削减效果也越大。例如,在检索数据10的比特宽n为128比特的情况下,相联存储器1的功耗变为现有相联存储器100的约53.1%。
这里,在图1的n比特的中间数据15的全部比特未同时变为无效状态的情况下、即在未将屏蔽信息的全部比特为屏蔽有效状态等结构化数据存储在1次检索用相联存储器4中的情况下,计数结果的最小值在10进制数下为0,最大值在10进制数下为(n-1)。因此,在将计数结果编码成2进制数的情况下,计数输出线18-1~18-p的条数p变为满足下式5的自然数。
p=Roundup(Log2(n)) …… 式5例如,在中间数据15的比特宽n在10进制数下为128的情况下,2次检索数据19的比特宽p在10进制数下为7。因此,与基于式1的情况下相比较,可缩小2次检索用相联存储器3原比特宽,可进一步削减相联存储器1整体的面积和功耗。
当然,计数部件17将计数结果编码成2次检索数据19的方法不限于编码到2进制数,是任意的。此时的2次检索数据19的比特宽p与式1、式5无关,由编码方法来确定。
另外,在本实施例中,构成为使1个屏蔽信息与1个存储数据相对应,但也可构成为使1个屏蔽信息与多个存储数据相对应。
并且,在本实施例中,因为将对应于网址最下位分层的中间数据15的比特位置设为中间数据线14-n、将对应于网址最上分层的中间数据15的比特位置设为中间数据线14-1,所以计数部件17从中间数据线14-n开始计数沿上位比特方向连续的中间数据的无效状态的比特数,但网址的最下位分层、最上分层也可分别对应于中间数据15的任意比特位置。
(实施例二的结构)下面,参照附图来详细说明本发明的实施方式二。图3是表示本发明实施方式二的n比特m字结构(m、n为自然数)的相联存储器23的一结构例的框图。将本实施例的n比特m字结构的相联存储器23的结构要素与实施方式一的n比特m字结构的相联存储器1相比较,不同之处仅在于将相联存储器2变更为相联存储器24,将作为相联存储器24的结构要素的计数部件17变更为计数部件25,和伴随着将计数部件25的输出线的名称变更为计数输出线26-1~26-p(p为自然数),其它部分一样构成。即,在本实施例的相联存储器23的结构要素中,从实施方式一的相联存储器1变更的仅为计数部件25。因此,仅说明与实施例一不同之处。
本实施例的计数部件25将计数输入线16-1~16-n上的n比特中间数据15设为输入,向p条计数输出线26-1~26-p上输出p比特的2次检索数据19。实施方式一的计数部件17计数从对应于网址最下位分层的中间数据15的比特位置连接到上位分层侧的中间数据的无效状态的比特的数量,直到出现最初的中间数据的有效状态的比特为止,而本实施例的计数部件25单纯对计数输入线16-1~16-n中输入中间数据的无效状态的条数进行计数。此时,计数结果的最小值在10进制数下为0,最大值在10进制数下为n。因此,在将计数结果编码成2进制数的情况下,计数输出线26-1~26-p的条数p为满足上述式1的自然数。将p比特的2次检索数据19输入到p条2次位线20-1~20-p。
p比特m字结构的2次检索用相联存储器3具有m条p比特宽的2次相联存储器字9-1~9-m。m条2次相联存储器字9-1~9-m与m条1次相联存储器字7-1~7-m一对一对应。对应的方法是任意的,但在本实施例中,设第j个(j为1以上m以下的自然数)2次相联存储器字9-j与第j个1次相联存储器字7-j对应。构成第j个2次相联存储器字9-j的p个数据单元8-j-1~8-j-p中,存储作为对于对应的1次相联存储器字7-j存储的n比特的存储数据执行与计数部件25对n比特的计数输入线16-1~16-n执行的运算相同的运算结果得到的p比特的运算结果,作为p比特的2次存储数据。即,构成第j个2次相联存储器字9-j的p个数据单元8-j-1~8-j-p中,存储对应的1次相联存储器字7-j存储的n比特的存储数据中为存储数据的无效状态的比特总数,作为2次存储数据。
(实施例二的动作)下面,用图4来说明将上述本发明的实施方式二的相联存储器23用于图11的网络设备400-1的传送目的地网址计算中时的动作。与图2的实施方式一的相联存储器1的动作说明一样,在图4中,将相联存储器23假设为9位5字的结构。因为检索数据10的比特宽n为9,所以相联存储器24中的1次检索用相联存储器4为9位5字结构。另外,因为检索数据10的比特宽n为9,所以通过式1,2次检索数据19的比特宽p变为4,2次检索用相联存储器3的结构变为4位5字结构。
另外,在本说明中,与图2的实施方式一的相联存储器1的动作说明一样,将屏蔽信息的屏蔽有效状态设为“0”,将屏蔽无效状态设为“1”,将存储数据的有效状态设为“1”,将无效状态设为“0”。与存储数据一样,将中间数据线14-1~14-9的有效状态设为“1”,将无效状态设为“0”。将1次一致线13-1~13-5、2次一致线21-1~21-5和一致线11-1~11-5的有效状态设为“1”,将无效状态设为“0”。
与图2的实施方式一的相联存储器1的动作说明一样,设在存储在各9比特的1次相联存储器字7-1~7-5中的存储数据、屏蔽信息中,存储图11的网络设备400-1的连接信息。此时,通过将存储数据的对应比特设为存储数据的无效状态“0”、将屏蔽信息的对应比特设为屏蔽有效状态“0”,来表现连接信息中的随意“*”状态的比特。
另外,在各4比特的2次相联存储器字9-1~9-5中,分别存储与计数部件25对9比特的计数输入线16-1~16-9执行的运算一样、计数对应的1次相联存储器字7-1~7-5存储的9比特的存储数据中作为存储数据无效状态“0”的比特数的结果,作为2次存储数据。因此,2次相联存储器字9-1将作为1次相联存储器字7-1存储的存储数据“010.000.000”中的存储数据无效状态“0”的比特总数的、用10进制数表现的8、用2进制数表现的“1000”存储为2次存储数据。2次相联存储器字9-2将作为1次相联存储器字7-2存储的存储数据“011.000.000”中的存储数据无效状态“0”的比特总数的、用10进制数表现的7、用2进制数表现的“0111”存储为2次存储数据。2次相联存储器字9-3将作为1次相联存储器字7-3存储的存储数据“001.010.000”中的存储数据无效状态“0”的比特总数的、用10进制数表现的7、用2进制数表现的“0111”存储为2次存储数据。2次相联存储器字9-4将作为1次相联存储器字7-4存储的存储数据“001.011.000”中的存储数据无效状态“0”的比特总数的、用10进制数表现的6、用2进制数表现的“0110”存储为2次存储数据。2次相联存储器字9-5将作为1次相联存储器字7-5存储的存储数据“010.110.000”中的存储数据无效状态“0”的比特总数的、用10进制数表现的6、用2进制数表现的“0110”存储为2次存储数据。
在1次检索动作之前,设将全部1次一致线13-1~13-5预充电到高电平,变为有效状态“1”。另外,在2次检索动作之前,设将全部2次一致线21-1~21-5预充电到高电平,变为有效状态“1”。后面,仅就与图2的实施方式一的相联存储器1的动作不同之处,来说明输入图11的用户设备401-3的8进制数表现的网址(2.6.5)作为检索数据10并执行检索动作时的动作。
将检索数据10的9比特的2进制数表现的值“010.110.101”输入9条1次位线12-1~12-9,相联存储器24中的1次检索用相联存储器4执行1次检索。作为1次检索的结果,与图2的实施方式一的相联存储器1的动作一样,1次一致线13-1、13-5这两条线变为有效状态“1”,其余的1次一致线13-2、13-3和13-4变为无效状态“0”。另外,作为中间数据线14-1~14-9上的9比特的中间数据15,得到用2进制数表现的“010110000”,输入计数输入线16-1~16-9。
计数部件25计数9比特的计数输入线16-1~16-9中、输入中间数据的无效状态“0”的条数。将作为结果得到的、用10进制数表现的6、用2进制数表现的“0110”,作为4比特的2次检索数据19输出到计数输出线26-1~26-4。
将2次检索数据19的值输入2次位线20-1~20-4,2次检索用相联存储器3执行2次检索。结果,存储在2次相联存储器字9-4、和9-5中的2进制数表现的“0110”与2次位线20-1~20-4的状态完全一致。因此,2次一致线21-4和21-5变为有效状态“1”,其余的2次一致线21-1、21-2和21-3变为无效状态“0”。
2次检索结束后,因为1次一致线13-1为有效状态“1”,所以无效化部件22-1向一致线11-1输出2次一致线21-1的状态“0”。因为1次一致线13-2为无效状态“0”,所以无效化部件22-2向一致线11-2输出无效状态“0”。因为1次一致线13-3为无效状态“0”,所以无效化部件22-3向一致线11-3输出无效状态“0”。因为1次一致线13-4为无效状态“0”,所以无效化部件22-4向一致线11-4输出无效状态“0”。
因为1次一致线13-5为有效状态“1”,所以无效化部件22-5向一致线11-5输出2次一致线21-5的状态“1”。因此,2次检索结束后,仅一致线11-5变为有效状态“1”,其余的一致线11-1、11-2、11-3和11-4变为无效状态“0”。因此,可知本发明实施方式二的相联存储器23与上述现有相联存储器100一样,仅向考虑对应的屏蔽信息后与输入的检索数据10进行比较的结果一致的存储数据中、屏蔽信息的屏蔽有效状态的比特最少的存储数据所对应的一致线11-5正确输出有效状态。
本发明实施方式二的相联存储器23中的面积、功耗的削减效果与实施方式一的相联存储器1一样。因为本实施例的计数部件25单纯对计数输入线16-1~16-n中输入中间数据的无效状态的条数进行计数,所以在从计数输入线16-1~16-n向计数部件25输入正规化的物理量、例如电荷量、电流、光量等的情况下,可容易计数。
因为计数输入线16-1~16-n的条数n恒定,所以不用说,计数部件25也可计数输入线16-1~16-n中输入中间数据的有效状态的条数进行计数,并在2次相联存储器字9中存储对应的1次相联存储器字7存储的n比特存储数据中作为存储数据有效状态的比特总数,作为2次存储数据。
另外,与实施方式一的相联存储器1的说明一样,可知在图3的n比特的中间数据15的全部比特未同时变为无效状态的情况下、即在未将屏蔽信息的全部比特为屏蔽有效状态等结构化数据存储在1次检索用相联存储器4中的情况下,计数输出线26-1~26-p的条数p也可通过上述式5得到。可进一步削减相联存储器23整体的面积和功耗。
当然,计数部件25将计数结果编码成2次检索数据19的方法不限于编码到2进制数,是任意的。此时的2次检索数据19的比特宽p与式1、式5无关,由编码方法来确定。
(实施例三的结构)下面,参照附图来详细说明本发明的实施方式三。图5是表示本发明实施方式三的相联存储器27的一结构例的框图。n比特m字结构(m、n为自然数)的相联存储器27具有n比特m字结构的相联存储器28、p比特m字结构(p为自然数)的2次检索用相联存储器48和m个无效化部件22-1~22-m,并具有用于输入n比特检索数据10的1次位线12-1~12-n、和输出最终检索结果的m条一致线11-1~11-m。n比特m字结构的相联存储器28具有n比特m字结构的1次检索用相联存储器29和计数部件32,将1次位线12-1~12-n设为输入,将1次一致线13-1~13-m和计数输出线50-1~50-p设为输出。
图1中所示的实施方式一的相联存储器1是通过由对检索考虑对应的屏蔽信息后与检索数据进行比较的结果一致的存储数据的1次检索的结果一致的存储数据彼此、将存储数据的有效状态设为真的逻辑或运算、生成中间数据15的1次检索用相联存储器14构成的情况的实施例,而图5所示实施方式三的相联存储器27是通过由对检索考虑对应的屏蔽信息后与检索数据进行比较的结果一致的存储数据的1次检索的结果一致的存储数据所对应的屏蔽信息彼此、将屏蔽信息的有效状态设为真的逻辑与运算、生成中间数据15的1次检索用相联存储器29构成的情况的实施例。
1次检索用相联存储器29具有可存储各n比特的存储数据和屏蔽信息构成的结构化数据的1次相联存储器字30-1~30-m,将1次位线12-1~12-n设为输入,将1次一致线13-1~13-m和中间数据线31-1~31-n设为输出。1次相联存储器字30-j(j为1以上m以下的自然数)具有用于存储n比特存储数据的数据单元5-j-1~5-j-n、和存储对应的n比特屏蔽信息的屏蔽单元6-j-1~6-j-n。这里,设结构化数据的随意“*”状态的比特通过将屏蔽信息的有效状态存储在对应的屏蔽单元6中来表现。1次检索用相联存储器29进行1次检索,考虑对应屏蔽信息并与1次位线12-1~12-n的状态相比较,检索一致的存储数据;将有效状态输出到对应于存储一致的存储数据的1次相联存储器字30的1次一致线13,并将无效状态输出到其它的1次一致线13。另外,对一致的存储数据所对应的屏蔽信息彼此进行设屏蔽信息的有效状态为真的逻辑与运算,将得到的值作为n比特的中间数据15输出到中间数据线31-1~31-n。将n比特的中间数据15的状态输入到n条计数输入线16-1~16-n。
计数部件32将n条计数输入线16-1~16-n设为输入,将p条计数输出线50-1~50-p设为输出。计数部件32计数从与网址最下位分层相对应的中间数据15的比特位置连接到上位分层侧的中间数据的无效状态的比特的数量,直到出现最初的中间数据的有效状态的比特为止,将计数结果作为p比特的2次检索数据19输出到计数输出线50-1~50-p。将p比特的2次检索数据19输入p条2次位线20-1~20-p。
此时,计数结果的最小值在10进制数下为0,最大值在10进制数下为n。因此,在将计数结果编码成2进制数的情况下,计数输出线50-1~50-p的条数p为满足上述式1的自然数。
p比特m字结构的2次检索用相联存储器48将2次位线20-1~20-p设为输入,将2次一致线21-1~21-m设为输出。2次检索用相联存储器48具有可存储p比特的2次存储数据的2次相联存储器字49-1~49-m。第j个2次相联存储器字49-j具有用于存储p比特2次存储数据的数据单元8-j-1~8-j-p。2次检索用相联存储器48进行2次检索,检索与2次位线20-1~20-p的状态一致的2次存储数据;将有效状态输出到与存储一致的2次存储数据的2次相联存储器字49相对应的2次一致线21,并将无效状态输出到其它的2次一致线21。从图中可知,实施方式三的p比特m结构的2次检索用相联存储器48,与用图1说明的实施方式一的p比特m字结构的2次检索用相联存储器3完全一样构成。
m条2次相联存储器字49-1~49-m与m条1次相联存储器字30-1~30-m一对一对应。对应的方法是任意的,但在本实施例中,设第j个2次相联存储器字49-j与第j个1次相联存储器字30-j对应。与实施方式一的相联存储器1的2次检索用相联存储器3的不同之处仅在于第j个2次相联存储器字49-j的数据单元8-j-1~8-j-p中,存储作为对于对应的1次相联存储器字30-j存储的n比特的屏蔽信息执行与计数部件32对n比特的计数输入线16-1~16-n执行的运算相同的运算结果得到的p比特的运算结果,作为p比特的2次存储数据。
第j个无效化部件22-j将2次相联存储器字49-j输出的2次一致线21-j、及与2次相联存储器字49-j相对应的1次相联存储器字30-j输出的1次一致线13-j设为输入。无效化部件22-j在1次一致线13-j为1次一致线的无效状态的情况下,向一致线11-j输出一致线的无效状态,并在1次一致线13-j为1次一致线的有效状态的情况下,向一致线11-j输出2次一致线21-j的状态。图5中,示出由将1次一致线的有效状态、2次一致线的有效状态设为真的逻辑与运算电路构成无效化部件22-j的情况,但不用说,也可由接线逻辑电路等来构成。
图6是表示n比特m字结构的实施方式三的相联存储器27中的n比特m字结构的1次检索用相联存储器29的一结构例框图。n比特m字结构的1次检索用相联存储器29具有n比特的1次相联存储器字30-1~30-m和电阻38-1~38-n。第j个1次相联存储器字30-j具有n个相联存储器单元33-j-1~33-j-n。在第j个1次相联存储器字30-j上,为了输入而连接对应的数据字线36-j、和屏蔽字线37-j,为了输出而连接对应的1次一致线13-j、和中间数据线31-1~31-n,为了输入输出而连接n条1次位线12-1~12-n。
在第j个1次相联存储器字30-j的第k比特(k为1以上、n以下的自然数)的相联存储器单元33-j-k上,为了输入而连接对应的数据字线36-j和屏蔽字线37-j,为了输出而连接对应的1次一致线13-j、和中间数据线31-k,为了输入输出而连接1次位线12-k。
相联存储器单元33-j-k具备存储经1次位线12-k从外部输入的存储数据的对应比特信息的数据单元5-j-k、比较存储在数据单元5-j-k中的比特信息与从外部经1次位线12-k输入的信息的比较器34-j-k、存储从外部经1次位线12-k输入的屏蔽信息的对应比特信息的屏蔽单元6-j-k、和逻辑门35-j-k。
另外,在本实施例中,将屏蔽信息的屏蔽有效状态设为“0”,将屏蔽无效状态设为“1”,将存储数据的有效状态设为“1”,将无效状态设为“0”。与屏蔽信息一样,将中间数据线31-1~31-n的有效状态设为“0”,将无效状态设为“1”。将1次一致线13-1~13-m、2次一致线21-1~21-m和一致线11-1~11-m的有效状态设为“1”,将无效状态设为“0”。
数据单元5-j-k在对应的数据字线36-j为有效状态的情况下,若对应的1次位线12-k上写入数据被驱动,则存储为存储数据,若对应的1次位线12-k未被驱动,则将存储的存储数据输出到对应的1次位线12-k。若对应的数据字线36-j为无效状态,则不对1次位线12-k进行任何操作。另外,无论对应的数据字线36-j的值如何,都将存储的存储数据输出到相同的相联存储器单元33-j-k中的比较器34-j-k。
屏蔽单元6-j-k在对应的屏蔽字线37-j为有效状态的情况下,若对应的1次位线12-k上写入数据被驱动,则将写入数据存储为屏蔽信息,若对应的1次位线12-k未被驱动,则将存储的屏蔽信息输出到对应的1次位线12-k中。若对应的屏蔽字线37-j为无效状态,则不对1次位线12-k进行任何操作。另外,无论对应的屏蔽字线37-j的值如何,都将存储的屏蔽信息输出到相同的相联存储器单元33-j-k中的比较器34-j-k和逻辑门35j-k。
1次一致线13-1~13-m在开始1次检索动作之前,被预充电到高电平,变为有效状态“1”。
比较器34-j-k将存储在对应的1次位线12-k、与之相同的相联存储器单元33-j-k中的数据单元5-j-k中的存储数据、和存储在屏蔽单元6-j-k中的屏蔽信息设为输入。比较器34-j-k在屏蔽信息为屏蔽有效状态“0”时,将对应的1次一致线13-j变为释放状态,在此外的情况下,若1次位线12-k的值与存储数据一致,则将对应的1次一致线13-j变为开放状态,若不一致,则输出无效状态“0”。第j个1次相联存储器字30-j中的n个比较器34-j-1~34-j-n构成接线AND逻辑连接,即,在全部将1次一致线13-j设为开放状态时,1次一致线13-j变为有效状态“1”,在此外的情况下变为无效状态“0”,将1次一致线13的有效状态“1”设为真。即,在1次检索动作时,只在为了屏蔽有效状态“0”而去除从比较对象中除去屏蔽信息的比特后,1次相联存储器字30-j存储的存储数据与1次位线12-1~12-n完全一致的情况下,1次一致线13-j才变为有效状态“1”,在此外的情况下变为无效状态“0”。
逻辑门35-j-k当相同的1次相联存储器字30-j中的1次一致线13-j为有效状态“1”、且相同的相联存储器单元33-j-k中的屏蔽单元6-j-k中存储的屏蔽信息为无效状态“1”时,向对应的中间数据线31-k输出中间数据线31的无效状态“1”,并在此外的情况下变为开放状态。中间数据线31-k经电阻38-k连接于中间数据线31的有效状态“0”,与对应的m个逻辑门35-1-k~35-m-k构成将中间数据线31的有效状态“0”设为真的接线AND逻辑连接。即,在中间数据线31-k中,得到将屏蔽信息的有效状态“0”设为真时的逻辑与运算结果,该结果通过对具有通过m个逻辑门35-1-k~35-m-k和电阻38-k在执行1次检索后变为有效状态“1的1次一致线13-1~13-m的全部第k比特的相联存储器单元33-1-k~33-m-k中的屏蔽单元6-1-k~6-m-k中存储的屏蔽信息彼此进行逻辑与运算得到。通过这些动作,向中间数据线31-1~31-n输出在执行1次检索后与检索数据10一致的存储数据所对应的屏蔽信息中、与屏蔽信息的有效状态“0”的比特数最少的屏蔽信息相同的值。
(实施例三的动作)下面,用图7来说明将上述本发明的实施方式三的相联存储器27用于图11的网络设备400-1的传送目的地网址计算中时的动作。与图2的实施方式一的相联存储器1的动作说明一样,在图7中,将相联存储器27假设为9位5字的结构。因为检索数据10的比特宽n为9,所以相联存储器28中的1次检索用相联存储器29为9位5字结构。另外,因为检索数据10的比特宽n为9,所以通过式1,2次检索数据19的比特宽p变为4,2次检索用相联存储器48的结构变为4位5字结构。
在本说明中,将屏蔽信息的屏蔽有效状态设为“0”,将屏蔽无效状态设为“1”,将存储数据的有效状态设为“1”,将无效状态设为“0”。与屏蔽信息一样,将中间数据线31-1~31-9的有效状态设为“0”,将无效状态设为“1”。将1次一致线13-1~13-5、2次一致线21-1~21-5和一致线11-1~11-5的有效状态设为“1”,将无效状态设为“0”。
与图2的实施方式一的相联存储器1的动作说明一样,设存储图11的网络设备400-1的连接信息,作为存储在各9比特的1次相联存储器字30-1~30-5中的存储数据、屏蔽信息。此时,通过将屏蔽信息的对应比特设为屏蔽有效状态“0”来表现连接信息中的随意“*”状态的比特。连接信息中的随意“*”状态的比特所对应的存储数据的比特状态是任意的,但为了说明方便,存储存储数据的无效状态“0”。从而,图7的1次相联存储器字30-1~30-5存储的存储数据、屏蔽信息与图2的1次相联存储器字7-1~7-5存储的存储数据、屏蔽信息相同。
另外,在各4比特的2次相联存储器字49-1~49-5中,分别存储与计数部件32对9比特的计数输入线16-1~16-9执行的运算一样、计数对应的1次相联存储器字30-1~30-5存储的9比特屏蔽信息中、从网址的最下位分层所对应的比特位置连接到上位分层侧的屏蔽信息的有效状态“0”的比特数、直到出现最初的屏蔽信息的无效状态“1”比特为止的结果,作为2次存储数据。因此,因为1次相联存储器字30-1存储屏蔽信息“111.000.000”,所以在2次相联存储器字49-1中存储用10进制数表现的6、用2进制数表现的“0110”,作为2次存储数据。因为1次相联存储器字30-2存储屏蔽信息“111.000.000”,所以在2次相联存储器字49-2中存储用10进制数表现的6、用2进制数表现的“0110”,作为2次存储数据。因为1次相联存储器字30-3存储屏蔽信息“111.111.000”,所以在2次相联存储器字49-3中存储用10进制数表现的3、用2进制数表现的“0011”,作为2次存储数据。因为1次相联存储器字30-4存储屏蔽信息“111.111.000”,所以在2次相联存储器字49-4中存储用10进制数表现的3、用2进制数表现的“0011”,作为2次存储数据。因为1次相联存储器字30-5存储屏蔽信息“111.111.000”,所以在2次相联存储器字49-5中存储用10进制数表现的3、用2进制数表现的“0011”,作为2次存储数据。
在1次检索动作之前,设将全部1次一致线13-1~13-5预充电到高电平,变为有效状态“1”。另外,在2次检索动作之前,设将全部2次一致线21-1~21-5预充电到高电平,变为有效状态“1”。
下面,说明输入图11的用户设备401-3的8进制数表现的网址(2.6.5)作为检索数据10并进行检索动作情况下的动作。
将检索数据10的9比特的2进制数表现的值“010.110.101”输入9条1次位线12-1~12-9,相联存储器28中的1次检索用相联存储器29执行1次检索。作为结果,存储在1次相联存储器字30-1中的8进制数表现的(2.*.*)、和存储在1次相联存储器字30-5中的8进制数表现的(2.6.*),与1次位线12-1~12-9的状态一致。因此,作为1次检索的结果,1次一致线13-1、13-5这两条线变为有效状态“1”,其余的1次一致线13-2、13-3和13-4变为无效状态“0”。
此时,从中间数据线31-1输出针对1次相联存储器字30-1内的对应屏蔽信息“1”和1次相联存储器字30-5内的对应屏蔽信息“1”的、将“0”设为真的逻辑与结果“1”。从中间数据线31-2输出针对1次相联存储器字30-1内的对应屏蔽信息“1”和1次相联存储器字30-5内的对应屏蔽信息“1”的、将“0”设为真的逻辑与结果“1”。后面一样,分别从中间数据线31-3输出针对“1”和“1”的、将“0”设为真的逻辑与结果“1”,从中间数据线31-4输出针对“0”和“1”的、将“0”设为真的逻辑与结果“1”,从中间数据线31-5输出针对“0”和“1”的、将“0”设为真的逻辑与结果“1”,从中间数据线31-6输出针对“0”和“1”的、将“0”设为真的逻辑与结果“1”,从中间数据线31-7输出针对“0”和“0”的、将“0”设为真的逻辑与结果“0”,从中间数据线31-8输出针对“0”和“0”的、将“0”设为真的逻辑与结果“0”,从中间数据线31-9输出针对“0”和“0”的、将“0”设为真的逻辑与结果“0”。因此,得到以2进制数表现的“111111000”,作为9比特的中间数据15,输入计数输入线16-1~16-9。
计数部件32计数9条计数输入线16-1~16-9的状态中、从网址的最下位分层所对应的比特位置16-9连接到上位分层侧的屏蔽信息的有效状态“0”的比特数,直到出现最初的屏蔽信息的无效状态“1”的比特为止,并将作为结果得到的、用10进制数表现的3、用2进制数表现的“0011”输出到计数输出线50-1~50-4。将计数输出线50-1~50-4的状态作为4比特的2次检索数据19输入2次位线20-1~20-4。
若将2次检索数据19输入2次位线20-1~20-4,则2次检索用相联存储器48执行2次检索。结果,存储在2次相联存储器字49-3、49-4和49-5中的2进制数表现的“0011”与2次位线20-1~20-4的状态完全一致。因此,2次一致线21-3、21-4和21-5变为有效状态“1”,其余的2次一致线21-1和21-2变为无效状态“0”。
2次检索结束后,因为1次一致线13-1为有效状态“1”,所以无效化部件22-1向一致线11-1输出2次一致线21-1的状态“0”。因为1次一致线13-2为无效状态“0”,所以无效化部件22-2向一致线11-2输出无效状态“0”。因为1次一致线13-3为无效状态“0”,所以无效化部件22-3向一致线11-3输出无效状态“0”。因为1次一致线13-4为无效状态“0”,所以无效化部件22-4向一致线11-4输出无效状态“0”。因为1次一致线13-5为有效状态“1”,所以无效化部件22-5向一致线11-5输出2次一致线21-5的状态“1”。因此,2次检索结束后,仅一致线11-5变为有效状态“1”,其余的一致线11-1、11-2、11-3和11-4变为无效状态“0”。因此,可知本发明实施方式三的相联存储器27与上述现有相联存储器100一样,仅向考虑对应的屏蔽信息后与输入的检索数据10进行比较的结果一致的存储数据中、屏蔽信息的屏蔽有效状态的比特最少的存储数据所对应的一致线11-5正确输出有效状态。
本发明实施方式三的相联存储器27中的面积、功耗的削减效果与实施方式一的相联存储器1一样。
本实施例的计数部件32与实施方式二的相联存储器23的计数部件25一样,也可单纯对计数输入线16-1~16-n中输入中间数据有效状态的条数进行计数。另外,同样因为计数输入线16-1~16-n的条数n恒定,所以不用说,计数部件32也可对计数输入线16-1~16-n中输入中间数据无效状态的条数进行计数。另外,不用说,计数部件32也可计数从中间数据15的网址的最上位分层所对应的比特位置连接到上位分层侧的屏蔽信息的无效状态的比特数,直到出现最初的屏蔽信息的有效状态的比特为止。当然,无论计数部件32的运算方法如何,在2次相联存储器字49中存储针对对应的1次相联存储器字30存储的n比特的屏蔽信息执行与计数部件25执行的运算一样的运算的值,作为2次存储数据。
另外,与实施方式一的相联存储器1的说明一样,可知在图5的n比特的中间数据15的全部比特未同时变为有效状态的情况下、即在未将屏蔽信息的全部比特为屏蔽有效状态等结构化数据存储在1次检索用相联存储器29中的情况下,计数输出线50-1~50-p的条数p也可通过上述式5得到,可进一步削减相联存储器27整体的面积和功耗。
当然,计数部件32将计数结果编码成2次检索数据19的方法不限于编码到2进制数,是任意的。此时的2次检索数据19的比特宽p与式1、式5无关,由编码方法来确定。
另外,比较图7与图2可知,通过逻辑与运算作为对于本实施例的1次检索用相联存储器29输出的、1次检索的结果一致的存储数据所对应的屏蔽信息彼此、将屏蔽有效状态设为真的逻辑与结果的中间数据线31-1~31-n、和将存储数据的有效状态设为真的检索数据10,可得到与实施例1的1次检索用相联存储器4输出的中间数据线14-1~14-n相同的值。因此,可由上述结构来代替实施例1的1次检索用相联存储器4。
(实施例四的结构)下面,参照附图来详细说明本发明的实施方式四。图8是表示本发明实施方式四的n比特m字结构(m、n为自然数)的相联存储器41的一结构例的框图。将本实施例的n比特m字结构的相联存储器41的结构要素与实施方式一的n比特m字结构的相联存储器1相比较,不同之处仅在于追加时钟信号39作为来自外部的输入信号,变更成将2次检索数据19存储在2次检索数据存储部件42中,在1次一致线13-1~13-m中插入m比特的存储部件43,和将第j个(j为1以上、m以下的自然数)无效化部件22-j的一输入信号从1次一致线13-j变更为存储部件43输出的同步化1次一致线44-j,其它部分一样构成。因此,仅说明与实施例一不同之处。
在本实施例中,n比特m字结构的相联存储器2输出的p条(p为1以上、n以下的自然数)的计数输出线18-1~18-p,与时钟信号39同步存储在2次检索数据存储部件42中。2次检索数据存储部件42向对应的p条2次位线20-1~20-p输出存储的p比特的状态。
m比特的存储部件43将1次一致线13-1~13-m设为输入,将同步化1次一致线44-1~44-m设为输出。将同步化1次一致线44-1~44-m分别输入对应的无效化部件22-1~22-m中。m比特的存储部件43同步于时钟信号来存储1次检索用相联存储器4对检索数据10执行1次检索的结果输出的1次一致线13-1~13-m。将存储部件43存储的所述1次一致线13-1~13-m的状态输出到同步化1次一致线44-1~44-m,以使2次检索用相联存储器3执行对应于该检索数据10的2次检索的结果与输出到2次一致线21-1~21-m的定时同步。
m条2次相联存储器字9-1~9-m与m条1次相联存储器字7-1~7-m一对一对应。对应的方法是任意的,但在本实施例中,设第j个2次相联存储器字9-j与第j个1次相联存储器字7-j对应。
第j个无效化部件22-j将通过存储部件43对2次相联存储器字9-j输出的2次一致线21-j、和与2次相联存储器字9-j相对应的1次相联存储器字7-j输出的1次一致线13-j同步化的同步化1次一致线44-j设为输入。无效化部件22-j在同步化1次一致线44-j为1次一致线无效状态的情况下,向一致线11-j输出一致线的无效状态,并在同步化1次一致线44-j为1次一致线的有效状态的情况下,向一致线11-j输出2次一致线21-j的状态。
在实施方式一的相联存储器1、实施方式二的相联存储器23、实施方式三的相联存储器27中,连续执行对同一检索数据10的1次检索与2次检索,但在本实施例中,通过具备分别存储1次检索用相联存储器4输出的1次一致线13-1~13-m、和计数输出线18-1~18-p的部件,可由1次检索用相联存储器4与2次检索用相联存储器3来构成流水线处理。由此,可提高时钟信号39的频率。
为了使时钟信号39的频率进一步提高,可知可通过在进一步插入存储部件的情况下,使存储部件43向同步化1次一致线44-1~44-m输出对检索数据10的1次检索的结果的定时、与向2次一致线21-1~21-m输出对该检索数据的2次检索的结果的定时同步来输出实现。例如,通过在相联存储器2中具备存储中间数据15的存储部件,也可流水线处理1次检索用相联存储器4的1次检索的执行、与计数部件17的运算。
另外,如插入存储所述中间数据15的存储部件的结构那样,在实施方式一的相联存储器1、实施方式二的相联存储器23、实施方式三的相联存储器27中,向1次一致线13-1~13-m输出对检索数据10的1次检索结果的定时、与向2次一致线21-1~21-m输出对该检索数据10的2次检索结果的定时不同的情况下,通过在1次一致线13-1~13-m中插入存储部件,进行同步化即可。
(实施例五的结构)下面,参照附图来详细说明本发明的实施方式五。图9是表示本发明实施方式五的n比特m字结构(m、n为自然数)的相联存储器45的一结构例的框图。将本实施例的n比特m字结构的相联存储器45的结构要素与实施方式四的n比特m字结构的相联存储器41相比较,不同之处仅在于将p比特m字结构(p为1以上、n以下的自然数)2次检索用相联存储器3变更为2次检索用相联存储器46,将无效化部件22-1~22-m变更为无效化部件47,无效化部件47仅将同步化1次一致线44-1~44-m设为输入,将2次一致线21-1~21-m设为输出,将2次检索用相联存储器46对应于2次检索结果变更状态后的2次一致线21-1~21-m作为一致线11-1~11-m输出到外部,其它部分一样构成。因此,仅说明与实施例四的不同之处。
将同步化1次一致线44-1~44-m上对应于1次检索结果的2次检索数据设为输入。
无效化部件47将同步化1次一致线44-1~44-m设为输入,将2次一致线21-1~21-m设为输出,具有m个预充电控制部件51-1~51-m。本实施例的无效化部件47的特征在于在2次检索用相联存储器46执行对应于检索数据10的2次检索之前,对应于输出到同步化1次一致线44-1~44-m上的该检索数据10所对应的1次检索结果,将对应的2次一致线21-1~21-m预充电到有效状态,或放电到无效状态。第j个(j为1以上、m以下的自然数)预充电控制部件51-j将同步化1次一致线44-j设为输入,在同步化1次一致线44-j为1次一致线的有效状态时,将2次一致线22-j预充电到2次一致线的有效状态,在同步化1次一致线44-j为1次一致线的无效状态时,将2次一致线22-j放电到2次一致线的无效状态。即,无效化部件47在2次检索之前将1次检索用相联存储器4对检索数据10执行1次检索的结果一致的1次相联存储器字7-j所对应的2次一致线22-j预充电到一致线的有效状态,将作为1次检索的结果不一致的1次相联存储器字7所对应的2次一致线21放电到无效状态。1次相联存储器字7-1~7-m、与2次一致线21-1~21-m的对应方法是任意的,但在本实施例中,1次相联存储器字7-j与2次一致线21-j对应。
不同之处仅在于实施例四的2次检索用相联存储器3在执行2次检索之前将全部2次一致线21-1~21-m预充电到2次一致线的有效状态,而本发明的2次检索用相联存储器46在执行2次检索之前不执行2次一致线21-1~21-m的预充电,其它部分与实施方式四的2次检索用相联存储器3一样构成。与实施方式四的2次检索用相联存储器3一样,2次检索用相联存储器46对存储在2次检索数据存储部件42中的2次检索数据执行2次检索的结果,在2次相联存储器字9-j的全部数据单元8-j-1~8-j-p中存储的2次存储数据与2次检索数据一致的情况下,2次相联存储器字9-j将2次一致线2 1-j变为开放状态,在此外的情况下,向2次一致线21-j输出2次一致线的无效状态。在本实施例中,设2次一致线21的有效状态与一致线11的有效状态为相同状态,将2次一致线21-1~21-m作为一致线11-1~11-m输出到相联存储器45的外部。
即,一致线11-j仅在1次检索用相联存储器4对检索数据10执行1次检索的结果、1次相联存储器字7-j一致、且2次检索用相联存储器46对该检索数据10所对应的1次检索数据执行2次检索的结果、2次相联存储器字9-j一致的情况下,变为一致线的有效状态,在此外的情况下为一致线的无效状态。因此,无效化部件47与实施方式四的无效化部件22一样作用。
与实施方式四的相联存储器41一样,实施方式五的相联存储器45通过具有分别存储1次检索用相联存储器4输出的1次一致线13-1~13-m和计数输出线18-1~18-p的部件,从而可由1次检索用相联存储器4与2次检索用相联存储器46来构成流水线处理。从而可提高时钟信号39的频率。
在实施方式五的相联存储器45中,2次检索用相联存储器46的m条2次一致线21-1~21-m在每次2次检索时,最大仅将与检索数据10的比特长n相对应的n条预充电到有效状态,最大也放电n条。
这里,与实施方式一的说明一样,在0.25μm制造工艺中构成64比特32768字的相联存储器45的情况下,若将电源电压设为2.5V,将执行检索的周期设为20ns,则每次2次检索时预充电、放电所需的总计功耗的最大值为(0.3pF×7/64×2.5V)÷20ns×2.5V×64条=0.0006W。此时,因为1次检索用相联存储器4执行1次检索时的功耗与实施方式一一样为3.07W,所以2次检索用相联存储器46的功耗变为相联存储器45整个的功耗的0.02%。
这里,与式4一样进行与(m-n)(m-1)的近似时,当设现有相联存储器100的功耗为1时,相联存储器45的芯片整体的功耗用下式6表示。这里,用舍去正实数X的小数点以下并变换成实数的所述Roundup(X)函数来表现。
(1+Roundup(Log2(n+1))/n)×n/m)/2=
(1+Roundup(Log2(n+1))/m)/2 …… 式6根据式6,在检索数据10的比特宽n为64,相联存储器41的字数为32768的情况下,相联存储器45的功耗为现有相联存储器100的功耗的约50.01%,可削减约49.9%的功耗。在n<<m的情况下,式6的值变为约0.50,实施方式五的相联存储器45的功耗约变为现有相联存储器100的功耗1/2。
(实施例六)下面,图10中示出表示将本发明实施方式一的相联存储器1用于传送目的地网址计算中的本发明的网络设备的一结构例的框图。本发明的网络设备400将输入通信数据408与时钟信号39设为输入,输出输出通信数据409。输入通信数据408具有送出源网址410、传送目的地网址411、目的网址412、及数据部413。输出通信数据409具有送出源网址410、第2传送目的地网址414、目的网址412和数据部413。图10中,以将本发明的网络设备400适用于图11的网络装置400-1中的情况为例进行说明。
网络设备400由目的网址抽取部406、本发明实施方式一的相联存储器1、编码器402、存储器404和传送目的地网址变更部407构成。网络设备400同步于时钟信号39进行动作。
目的网址抽取部406抽取输入通信数据408的目的网址412,作为检索数据10,输入相联存储器1。
实施方式一的相联存储器1如上所述,具有1次检索用相联存储器4、计数部件17、2次检索用相联存储器3和无效化部件22。在本例中,相联存储器1为9位5字结构。另外,计数部件17按照表1和式1将1次检索用相联存储器4输出的9比特的中间数据15变换成4比特的2次检索数据19,并输出到4位5字结构的2次检索用相联存储器3。这里,在图10中,设存储数据的有效状态为“1”,无效状态为“0”。设屏蔽信息的有效状态为“0”,无效状态为“1”。
1次检索用相联存储器4以所述结构化数据的形式来存储网址,所述网址表示连接于图11的网络设备400-1上的网络设备400-2、400-3、400-4、400-5和400-6所属的段。因此,在图10的实例中,在1次相联存储器字7-1中,以上述用存储数据“010.000.000”与屏蔽信息“111.000.000”的对来表现的结构化数据的形式,存储表示网络设备400-2所属的段2的网址(2.*.*)。同样,在1次相联存储器字7-2中,以用存储数据“011.000.000”与屏蔽信息“111.000.000”的对来表现的结构化数据的形式,存储表示网络设备400-3所属的段3的网址(3.*.*)。在1次相联存储器字7-3中,以用存储数据“001.010.000”与屏蔽信息“111.111.000”的对来表现的结构化数据的形式,存储表示网络设备400-4所属的段4的网址(1.2.*)。在1次相联存储器字7-4中,以用存储数据“001.011.000”与屏蔽信息“111.111.000”的对来表现的结构化数据的形式,存储表示网络设备400-5所属的段5的网址(1.3.*)。在1次相联存储器字7-5中,以用存储数据“010.110.000”与屏蔽信息“111.111.000”的对来表现的结构化数据的形式,存储表示网络设备400-6所属的段6的网址(2.6.*)。
另外,如上所述,2次相联存储器字9-1将按照表1变换1次相联存储器字7-1存储的存储数据“010.000.000”后的结果得到的、用10进制数表现的7、用2进制数表现的“0111”,存储为2次存储数据。2次相联存储器字9-2将按照表1变换1次相联存储器字7-2存储的存储数据“011.000.000”后的结果得到的、用10进制数表现的6、用2进制数表现的“0110”,存储为2次存储数据。2次相联存储器字9-3将按照表1变换1次相联存储器字7-3存储的存储数据“001.010.000”后的结果得到的、用10进制数表现的4、用2进制数表现的“0100”存储为2次存储数据。2次相联存储器字9-4将按照表1变换1次相联存储器字7-4存储的存储数据“001.011.000”后的结果得到的、用10进制数表现的3、用2进制数表现的“0011”,存储为2次存储数据。2次相联存储器字9-5将按照表1变换1次相联存储器字7-5存储的存储数据“010.110.000”后的结果得到的、用10进制数表现的4、用2进制数表现的“0100”存储为2次存储数据。
相联存储器1如上所述,仅向考虑对应的屏蔽信息后与输入的检索数据10进行比较的结果一致的存储数据中、屏蔽信息的屏蔽有效状态的比特最少的存储数据所对应的一致线11-1~11-5输出有效状态。
编码器402将相联存储器1输出的一致线11-1~11-5编码成存储器地址信号403,输出到存储器404。
存储器404中,将存储在相联存储器1的各1次相联存储器字7-1~7-5中的表示段的网址所对应的网络设备的网址,存储在与相联存储器1的存储地址对应的地址字中。在本例中,设与相联存储器1的存储地址相同的地址对应。例如,在相联存储器1的1次相联存储器字7-1中存储地址(2.*.*),而将与之对应的图11的网络设备400-2的网址存储在存储器404的字1中。同样,在存储器404的字2中存储网络设备400-3的网址,在字3中存储网络设备400-4的网址,在字4中存储网络设备400-5的网址,在字5中存储网络设备400-6的网址。存储器404将把存储器地址信号403指定为读取地址的存储数据,作为存储器数据信号405输出到传送目的地网址变更部407。不用说,这里也可通过将一致线11-1~11-m的状态直接输入存储器404的字线,削除编码器402。
传送目的地网址变更部407在将输出通信数据409的第2传送目的地地址414变更成存储器数据信号405的值后,传送到对应于第2传送目的地网址414的网络设备或用户设备。
下面,以从适用于图11的网络装置400-1的情况下的用户设备401-1向用户设备401-3传送通信数据为例来说明本发明的网络设备400的动作。因此,若用8进制数表现网址,则输入通信数据408的送出源网址410变为(1.2.6),目的网址412变为(2.6.5),传送目的地网址411当然变为网络设备400-1的网址。
若向网络设备400-1输入所述输入通信数据408,则目的网址抽取部406将目的网址412用8进制数表现的(2.6.5)的值作为检索数据10输出到相联存储器1。
在相联存储器1中,1次检索用相联存储器4对所述用8进制数表现的(2.6.5)的检索数据10进行1次检索,作为结果,1次相联存储器字7-1和7-5一致,向1次一致线13-1和13-5输出有效状态。另外,如上所述,对一致的存储数据彼此执行将存储数据的有效状态设为真的逻辑或运算,将用2进制数表现的“010.110.000”作为9比特的中间数据15输出到计数部件17。计数部件17按照表1将9比特的中间数据15变换为用2进制数表现的“0100”的4比特的2次检索数据19,并输出到4位5字结构的2次检索用相联存储器3。2次检索用相联存储器3对2次检索数据19执行2次检索,作为结果,2次相联存储器字9-3和9-5一致,向2次一致线21-3和21-5输出有效状态。无效化部件22在对应的1次一致线13-1~13-5为无效状态的情况下,在将2次一致线21-1~21-5的状态变更为无效状态后,输出到一致线11-1~11-5。因此,无效化部件22仅向一致线11-5输出有效状态。
从而,编码器402输出“5”作为存储器地址信号403,存储器404输出网络设备400-6的网址,作为存储器数据信号405。传送目的地网址变更部407将输出通信数据409的第2传送目的地网址414变更成存储器数据信号405的状态,并向网络设备400-6传送输出通信数据409。这样,可知网络设备400选择对目的网址412的最佳路径,进行传送。
由于本发明的网络设备400由本发明的相联存储器1构成,所以尽管在每个时钟执行传送目的地网址计算,但与现有的网络设备相比较,可大幅度削减功耗。因此,因为可在电源装置、冷却装置等中使用小规模的装置,所以可不牺牲传送速度地削减作为网络设备整体的成本。
另外,在现有的相联存储器100与本发明的相联存储器1为相同的芯片面积的情况下,伴随每个芯片的结构化数据的存储字数的增加,可削减内置于网络设备400中的相联存储器1的个数。因此,因为不需要多个相联存储器输出的检索结果的比较处理,所以可高速化使用网络设备400的计算机网络系统的数据传送速度。
产业上的可利用性如上所述,本发明的相联存储器具有计数部件,对利用考虑屏蔽信息后将从外部提供的检索数据与存储的存储数据进行比较的第1检索结果计算的中间数据,执行压缩比特宽的运算,生成第2检索数据;第2检索部件,将所述存储数据和所述屏蔽信息所对应的第2存储数据与所述第2检索数据进行比较;和无效化部件,无效化对应于第1检索结果不一致的存储数据的第2检索部件的比较结果,所以尽管在每个时钟执行输出识别与检索数据一致的存储数据中、对应屏蔽信息有效状态的比特数最少的存储数据的信号的运算,但与现有的相联存储器相比较,也可大幅度削减芯片面积。例如,在检索数据为64比特宽的情况下,与现有的相联存储器相比较,可削减约31%的芯片面积。即,在相同芯片面积的情况下可使存储容量增大约42%。因为检索数据的比特宽越大,则本发明的面积削减效果变得越大,所以在适用于将网址的比特宽从32比特扩大到128比特的下一代因特网等的情况下,可发挥显著的效果。
另外,本发明的相联存储器尽管在每个时钟执行输出识别与检索数据一致的存储数据中、对应屏蔽信息有效状态的比特数最少的存储数据的信号的运算,但与现有的相联存储器相比较,也可削减约50%的功耗。
另外,若将本发明的相联存储器组装在进行传送目的地网址计算的网络设备中,则与以前相比较,功耗变小,所以可在电源装置、冷却装置等中使用小规模的装置,具有可削减作为网络设备整体的成本等好的效果。
在适用于计算机网络系统的网络设备中的情况下,可高速化数据传送速度。这是因为如上所述,通过增加每个芯片的存储容量,可削减内置于网络设备中的相联存储器的芯片数,从而不需要多个芯片输出的检索结果的比较处理。
权利要求
1.一种相联存储器,其特征在于,具备第1存储器,该第1存储器具备分别存储m个n比特长的第1存储数据的m条字(m、n为自然数),和1个或多个屏蔽信息,对应于所述第1存储数据的1个或多个,能通过对应的比特的屏蔽有效状态、屏蔽无效状态来设定是否从检索对象中除去所述第1存储数据的各比特列,以字单位将输入的n比特长的1次检索数据与所述第1存储数据相比较,对一致的字输出1次一致信号,而且,将一致的字内的所述第1存储数据之间的逻辑运算结果作为中间数据来输出;压缩运算部件,执行将所述中间数据的比特宽压缩到p(p为自然数)比特长的运算,作为2次检索数据输出;第2存储器,使对所述第1存储数据在每个字进行所述压缩运算而得到的p比特长的m个第2存储数据,对应于所述第1存储数据的各字来存储,以字单位将所述2次检索数据与所述第2存储数据相比较,对一致的字输出2次一致信号;和无效化部件,当每个字从所述第1存储器输出的所述1次一致信号不一致时,将对应的所述2次一致信号变为不一致状态。
2.一种相联存储器,其特征在于,具备第1存储器,将m个(m为自然数)结构化数据存储在m个字中,该m个结构化数据包括n比特长的第1存储数据(n为自然数)和屏蔽信息,所述屏蔽信息可通过对应的比特的屏蔽有效状态、屏蔽无效状态来设定是否从检索对象中除去所述第1存储数据的各比特列,以字单位将输入的n比特长的1次检索数据与所述结构化数据中的所述第1存储数据相比较,对一致的字输出1次一致信号,而且,将一致的字内的所述屏蔽信息之间的逻辑运算结果作为中间数据来输出;压缩运算部件,执行将所述中间数据的比特宽压缩到p(p为自然数)比特长的运算,作为2次检索数据输出;第2存储器,使对所述第1存储数据在每个字进行所述压缩运算而得到的p比特长的m个第2存储数据,对应于所述第1存储数据的各字来存储,以字单位将所述2次检索数据与所述第2存储数据相比较,对一致的字输出2次一致信号;和无效化部件,当每个字从所述第1存储器输出的所述1次一致信号不一致时,将对应的所述2次一致信号变为不一致状态。
3.一种相联存储器,其特征在于,具备第1存储器,将m个(m为自然数)结构化数据存储在m个字中,该m个结构化数据包括n比特长的第1存储数据(n为自然数)和屏蔽信息,所述屏蔽信息可通过对应的比特的屏蔽有效状态、屏蔽无效状态来设定是否从检索对象中除去所述第1存储数据的各比特列,以字单位将输入的n比特长的1次检索数据与所述结构化数据中的所述第1存储数据相比较,对一致的字输出1次一致信号,而且,将一致的字内的所述屏蔽信息之间与所述1次检索数据的逻辑运算结果作为中间数据来输出;压缩运算部件,执行将所述中间数据的比特宽压缩到p(p为自然数)比特长的运算,作为2次检索数据输出;第2存储器,使对所述第1存储数据在每个字进行所述压缩运算而得到的p比特长的m个第2存储数据,对应于所述第1存储数据的各字来存储,以字单位将所述2次检索数据与所述第2存储数据相比较,对一致的字输出2次一致信号;和无效化部件,当每个字从所述第1存储器输出的所述1次一致信号不一致时,将对应的所述2次一致信号变为不一致状态。
4.根据权利要求1~3任一项所述的相联存储器,其特征在于所述压缩运算部件对所述中间数据的处于无效状态的比特的数量进行计数,并根据该计数值来执行所述压缩运算。
5.根据权利要求4所述的相联存储器,其特征在于所述计数值是从所述中间数据的第1比特位置向第2比特位置连续的处于无效状态的比特的数量。
6.根据权利要求1~3任一项所述的相联存储器,其特征在于所述压缩运算部件对所述中间数据的处于有效状态的比特的数量进行计数,并根据该计数值来执行所述压缩运算。
7.根据权利要求6所述的相联存储器,其特征在于所述计数值是从所述中间数据的第1比特位置向第2比特位置连续的处于有效状态的比特的数量。
8.根据权利要求1~3任一项所述的相联存储器,其特征在于当所述屏蔽信息在全部比特表示屏蔽有效状态时,所述第1存储器不存储所述屏蔽信息和对应的所述第1存储数据。
9.根据权利要求1~3任一项所述的相联存储器,其特征在于设置使所述1次一致信号与所述2次一致信号的输出定时同步的部件。
10.根据权利要求1~3任一项所述的相联存储器,其特征在于所述无效化部件包含预充电控制部件,该预充电控制部件在所述1次一致信号处于不一致状态时使所述2次一致信号的信号电平放电,在所述1次一致信号处于一致状态时使所述2次一致信号的信号电平充电。
11.一种网络设备,具备路径信息表格,该路径信息表格包括存储路径信息的多个字和1个或多个屏蔽信息,所述屏蔽信息对应于所述路径信息的1个或多个、并可通过对应的比特的状态来设定是否从检索对象中除去所述路径信息的各比特列,所述网络设备的特征在于,具备1次检索部件,以字单位将作为1次检索数据输入的、输入通信数据中的目的网址与所述路径信息相比较,输出对一致的字进行识别的1次一致信号,而且,将一致的字内的所述路径信息之间的逻辑运算结果作为中间数据来输出;压缩运算部件,对所述中间数据执行压缩比特宽的运算,生成2次检索数据;2次检索部件,使对所述路径信息在每个字执行所述压缩运算而得到的第2存储数据,对应于所述路径信息的各字来存储,以字单位将所述2次检索数据与所述第2存储数据相比较,输出对一致的字进行识别的2次一致信号;无效化部件,对于每个字,1次一致信号都不一致时,通过将对应的所述2次一致信号变为不一致状态,生成最终一致信号;和确定部件,根据所述最终一致信号来确定与所述输入通信数据相对应的输出通信数据的传送目的地地址。
12.一种网络设备的传送目的地地址确定方法,其特征在于具备路径信息表格,该路径信息表格包括存储路径信息的多个字和1个或多个屏蔽信息,所述屏蔽信息对应于所述路径信息的1个或多个、并可通过对应的比特的状态来设定是否从检索对象中除去所述路径信息的各比特列,当将输入通信数据中的目的网址作为1次检索数据输入时,执行以字单位将所述目的网址与所述路径信息相比较的1次检索,生成一致的字内的所述路径信息之间的逻辑运算结果,作为中间数据,对所述中间数据执行压缩比特宽的运算,生成2次检索数据,执行2次检索,该2次检索以字单位将所述2次检索数据与对所述1次检索中一致的1个或多个所述字内的路径信息执行所述压缩运算而得到结果相比较,根据所述2次检索中对应于一致字的所述路径信息,确定与所述输入通信数据相对应的输出通信数据的传送目的地地址。
13.一种网络设备,具备路径信息表格,该路径信息表格包括将路径信息与屏蔽信息成对存储的多个字,所述屏蔽信息可通过对应的比特的状态来设定是否从检索对象中除去所述路径信息的各比特列,所述网络设备的特征在于,具备1次检索部件,以字单位将作为1次检索数据输入的、输入通信数据中的目的网址与所述路径信息相比较,输出对一致的字进行识别的1次一致信号,而且,将一致的字内的所述屏蔽信息之间与所述1次检索数据的逻辑运算结果作为中间数据来输出;压缩运算部件,对所述中间数据执行压缩比特宽的运算,生成2次检索数据;2次检索部件,使对所述路径信息在每个字执行所述压缩运算而得到的第2存储数据,对应于所述路径信息的各字来存储,以字单位将所述2次检索数据与所述第2存储数据相比较,输出对一致的字进行识别的2次一致信号;无效化部件,1次一致信号每个字都不一致时,通过将对应的所述2次一致信号变为不一致状态,生成最终一致信号;和确定部件,根据所述最终一致信号来确定与所述输入通信数据相对应的输出通信数据的传送目的地地址。
14.一种网络设备的传送目的地地址确定方法,其特征在于具备路径信息表格,该路径信息表格包括将路径信息与屏蔽信息成对存储的多个字,所述屏蔽信息可通过对应的比特的状态来设定是否从检索对象中除去所述路径信息的各比特列,当将输入通信数据中的目的网址作为1次检索数据输入时,执行以字单位将所述目的网址与所述路径信息相比较的1次检索,生成一致的字内的所述屏蔽信息之间与所述1次检索数据的逻辑运算结果,作为中间数据,对所述中间数据执行压缩比特宽的运算,生成2次检索数据,执行2次检索,以字单位将所述2次检索数据与对所述1次检索中一致的1个或多个所述字内的路径信息执行所述压缩运算而得到结果相比较,根据所述2次检索中对应于一致字的所述路径信息,确定与所述输入通信数据相对应的输出通信数据的传送目的地地址。
15.一种网络设备,具备路径信息表格,该路径信息表格包括将路径信息与屏蔽信息成对存储的多个字,所述屏蔽信息可通过对应的比特的状态来设定是否从检索对象中除去所述路径信息的各比特列,所述网络设备的特征在于,具备1次检索部件,以字单位将作为1次检索数据输入的、输入通信数据中的目的网址与所述路径信息相比较,输出对一致的字进行识别的1次一致信号,而且,将一致的字内的所述屏蔽信息之间的逻辑运算结果作为中间数据来输出;压缩运算部件,对所述中间数据执行压缩比特宽的运算,生成2次检索数据;2次检索部件,使对所述屏蔽信息在每个字执行所述压缩运算而得到的第2存储数据,对应于所述路径信息的各字来存储,以字单位将所述2次检索数据与所述第2存储数据相比较,输出对一致的字进行识别的2次一致信号;无效化部件,1次一致信号每个字都不一致时,通过将对应的所述2次一致信号变为不一致状态,生成最终一致信号;和确定部件,根据所述最终一致信号来确定与所述输入通信数据相对应的输出通信数据的传送目的地地址。
16.一种网络设备的传送目的地地址确定方法,其特征在于具备路径信息表格,该路径信息表格包括将路径信息与屏蔽信息成对存储的多个字,所述屏蔽信息可通过对应的比特的状态来设定是否从检索对象中除去所述路径信息的各比特列,当将输入通信数据中的目的网址作为1次检索数据输入时,执行以字单位将所述目的网址与所述路径信息相比较的1次检索,生成一致的字内的所述屏蔽信息之间的逻辑运算结果,作为中间数据,对所述中间数据执行压缩比特宽的运算,生成2次检索数据,执行2次检索,以字单位将所述2次检索数据与对所述1次检索中一致的1个或多个所述字内的屏蔽信息执行所述压缩运算而得到结果相比较,根据所述2次检索中对应于一致字的所述路径信息,确定与所述输入通信数据相对应的输出通信数据的传送目的地地址。
17.一种网络系统,其特征在于经权利要求11、13、15任一项所述的网络设备,在连接于网络上的通信设备之间进行数据通信。
18.一种网络系统,其特征在于使用权利要求12、14、16任一项所述的方法,在连接于网络上的通信设备之间进行数据通信。
全文摘要
相联存储器(23)的一次检索用相联存储器(4),将有效状态输出至考虑屏蔽信息而与检索数据(10)一致的对应于存储数据的1次一致线(13),而且,将存储数据的有效状态为真时,对上述一致的存储数据彼此的逻辑或运算结果作为中间数据(15)输出至计数部件(25)。计数部件(25)将对中间数据(15)的存储数据的无效状态的比特数进行计数的运算结果,作为2次检索数据(19)输出至2次检索用相联存储器(3)。2次检索用相联存储器(3)将对上述存储数据进行了上述运算的2次存储数据之中检索到2次检索数据(19)的结果,输出至2次一致线(21)。无效化部件(22)将无效状态的1次一致线(13)相对应的2次一致线(21)变更为无效状态,作为一致线(11)输出外部。
文档编号H04L12/46GK1589481SQ01823949
公开日2005年3月2日 申请日期2001年12月10日 优先权日2001年12月10日
发明者小仓直志 申请人:彩虹端科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1