异步传输模式交换电路及其控制方法

文档序号:7581809阅读:347来源:国知局
专利名称:异步传输模式交换电路及其控制方法
技术领域
本发明涉及用于处理ATM信元的ATM交换电路和用于控制ATM交换电路的方法。具体地说,本发明涉及一种即使在增加该ATM交换电路输出端的总数时能够提高地址存储器的使用效率的ATM交换电路,以及该ATM交换电路的控制方法。
按常规,ATM(异步传送模式)传输装置以及ATM交换装置已广泛使用。例如,1994年公开的日本未决专利公开申请No.平6-62041揭示了该ATM传输装置。就是说,当在常规ATM传输装置中进行广播通信时,进入的ATM信元临时存储在存储器中,然后读取存储的ATM信元以便输出。上述传输装置和交换电路装配有如图44所示的ATM交换电路。即如图44所示,在该常规ATM交换电路中,由多路复用电路101多路复用经输入端1011到输入端101N进入的ATM信元,然后,把多路复用的信元传送到信元缓冲存储器102。信元缓冲存储器102根据从空地址存储器107给出的空地址把进入的信元存储在其中。写控制单元104根据来自多路复用单元101的多路复用信元的标题部分检验用于输出信元的输出端1031至103N。此后,写控制单元104向空地址管理存储器107发出一个请求,通过该请求输出用来存储信元的空地址。另外,写控制单元104命令相关的地址存储器在其中存储从空地址管理存储器107提供的空地址。
地址存储器1061至106N对应于FIFO(先入先出)存储器。设置这些地址存储器1061至106N与上述输出端1031至103N相对应。然后,响应从写控制单元104发出的指令,这些地址存储器1061至106N在其中存储从空地址管理存储器107提供的空地址。空地址管理存储器107把信元缓冲存储器102的空地址存储在其中并管理存储的空地址。应指出,当读控制单元105发出读指令时,上述空地址对应于该地址,从与该读指令对应的地址存储器输出该地址。
根据这些地址存储器1061至106N和空地址管理存储器107,与输出端1031至103N相对应存储/管理从输出端1031至103N输出的信元的地址。然后,在输出信元时,信元缓冲存储器103通过接收读控制单元105的指令响应由地址存储器1061至106N输出的地址读出存储的信元。此后,把从信元缓冲存储器102读取的信元提供给分离单元103。分离单元103分离从信元缓冲存储器102提供的信元,以便把分离的信元提供给相应的输出端1031至103N。
然而,上述常规ATM交换电路具有下列问题。即如图44所示,该常规ATM交换电路装配有与输出端1031至103N相对应的地址存储器1061至106N。结果是,当增加上述输出端的总数时,存在着将增加上面说明的地址存储器的总量的问题。依据装配有常规ATM交换电路的通信系统的操作条件,频繁传输ATM信元。结果是,一些输出端的使用频率高,而其它输出端的使用频率低。这种情况下,当通过采用与输出端1031至103N相对应的地址存储器1061至106N装配ATM交换系统时,存在着将降低与输出端对应的、其使用频率低的地址存储器的使用效率的另一个问题。
为解决常规ATM交换电路的上述问题已做出本发明,因此,本发明的一个目的地是提供一种ATM交换电路,能够防止增加输出端的总数时造成地址存储器的增加,并能避免这些地址存储器的使用效率降低。
为实现该目的地,根据本发明第一方面的ATM交换电路的特征在于在ATM(异步传送模式)交换电路中包括一个ATM信元缓冲存储器,用于在其中存储ATM信元;和ATM信元管理装置,用于发出输入的ATM信元的存储请求和指示与输入的ATM信元的目的地对应的输出端的目的地信息,和当输出ATM信元时发出输出请求和目的地信息,其中根据由存储请求定义的缓冲器地址把输入的ATM信元写入信元缓冲存储器;根据由输出请求定义的另一个缓冲器地址从信元缓冲存储器读出写入的ATM信元,以便传输到ATM信元管理装置;接收传输的ATM信元时,ATM信元管理装置根据目的地信息把接收的ATM信元传输到输出端,ATM交换电路包括空地址管理装置,用于管理信元缓冲存储器的空地址,和在接收从ATM信元管理装置发出的存储请求时把空地址作为缓冲器地址输出到信元缓冲存储器;和缓冲器地址管理装置,用于在缓冲器地址管理装置接收从ATM信元管理装置发出的存储请求和从空地址管理装置传输的多个缓冲器地址时把多个缓冲器地址相互依次链接,由此以一个链式结构形成指向同一输出端的ATM信元的该缓冲器地址;在接收从ATM信元管理装置发出的输出请求和目的地信息时,缓冲器地址管理装置从与接收的目的地信息对应的链式结构读出对应的缓冲器地址,从而把读出的缓冲器地址传输到信元缓冲存储器和空地址管理装置。
另外,根据本发明第二方面的ATM交换电路的特征在于根据本发明第一方面的ATM交换电路,缓冲器地址管理装置包括缓冲器地址存储单元,用于从空地址管理装置接收一个缓冲器地址,从而把接收的缓冲器地址链接到后续缓冲器地址,由此以链式结构形成指向该输出端的缓冲器地址;指针存储单元,用于相对于每个链式结构在其中存储写指针和读指针,写指针指出位于缓冲器地址存储单元的链式结构最后部分的最新缓冲器地址,读指针指出位于链式结构标题部分的缓冲器地址;和控制单元,用于控制指针存储单元,以便读出与目的地信息对应的写指针,并在接收从信元管理装置发出的存储请求和目的地信息时把从空地址管理装置得到的缓冲器地址存储到由写指针指向的输出端上的存储区之后的存储区,和在接收从信元管理装置发出的输出请求和目的地信息时用于从指针存储单元读出读指针,由此把表示读指针的缓冲器地址传输到信元缓冲存储器和空地址管理装置。
另外,根据本发明第三方面的ATM交换电路的特征在于在ATM(异步传送模式)交换电路中包括一个ATM信元缓冲存储器,用于在其中存储ATM信元;和ATM信元管理装置,用于发出输入的ATM信元的存储请求和指示与输入的ATM信元的目的地对应的输出端的目的地信息,和当输出ATM信元时发出输出请求和目的地信息,其中根据由存储请求定义的缓冲器地址把输入的ATM信元写入信元缓冲存储器;根据由输出请求定义的另一个缓冲器地址从信元缓冲存储器读出写入的ATM信元,以便传输到ATM信元管理装置;接收传输的ATM信元时,ATM信元管理装置根据目的地信息把接收的ATM信元传输到输出端,ATM交换电路包括空地址管理装置,用于管理信元缓冲存储器的空地址,和在接收从ATM信元管理装置发出的存储请求时把空地址作为缓冲器地址输出到信元缓冲存储器;和缓冲器地址管理装置,用于以这样一种方式管理缓冲器地址,即当把能够存储缓冲器地址的″L(符号″L″是任意自然数)″段存储区定义为一页时,通过将多页相互链接形成链式结构并与每个输出端相对应做出该链式结构;接收从信元管理装置发出的存储请求以及从空地址管理装置传输的缓冲器地址时,把所接收的缓冲器地址依次存储到链式结构的页的存储区中;在接收从ATM信元管理装置发出的输出请求和目的地信息时,缓冲器地址管理装置从与接收的目的地信息对应的链式结构的页的存储区依次读出对应的缓冲器地址,从而把读出的缓冲器地址传输到信元缓冲存储器和空地址管理装置。
另外,根据本发明第四方面的ATM交换电路的特征在于在根据本发明第三方面的的ATM交换电路中,缓冲器地址管理装置包括
缓冲器地址存储单元,在将用于存储缓冲器地址的″L″段存储区定义为一页时,通过把这些页相互链接以形成链式结构,以及通过采用与相应输出端对应的链式结构,用于在其中存储从空地址管理装置得到的缓冲器地址;指针存储单元,用于相对于每个链式结构在其中存储写指针和读指针,写指针指出位于缓冲器地址存储单元的链式结构最后部分的页中包含的最新缓冲器地址,读指针指出位于链式结构标题部分的页中包含的第一缓冲器地址;和一个控制单元,用于控制所述指针存储单元,以便读出与目的地信息对应的写指针,并在接收从信元管理装置发出的存储请求和目的地信息时把从空地址管理装置得到的缓冲器地址存储到由写指针指向的输出端上的存储区之后的存储区;和在接收从信元管理装置发出的输出请求和目的地信息时用于从指针存储单元读出读指针,由此把指示读指针的缓冲器地址传输到信元缓冲存储器和空地址管理装置。
另外,根据本发明第五方面的ATM交换电路,其特征在于包括多路复用装置,用于产生输入的ATM信元的存储请求和指示与输入的ATM信元的目的地对应的输出端的目的地信息;分离装置,用于在输出ATM信元时产生一个输出请求和目的地信息;信元缓冲存储器,在将能够存储ATM信元的″L″段存储区定义为一页时,通过把这些页相互链接以便形成链式结构,以及通过采用与相应输出端对应的相应链式结构,用于在其中存储从多路复用装置得到的ATM信元,并且还用于读取ATM信元以便把读出的ATM信元发送到分离装置;和信元缓冲存储器控制装置,用于进行控制,以便把从多路复用装置得到的ATM信元依次存储到与目的地信息对应的链式结构中,并且在接收从多路复用装置产生的存储请求和目的地时,指向信元缓冲存储器;并用于进行控制,以便从与目的地信息对应的链式结构依次读取ATM信元,从而把读取的ATM信元传输到分离装置,并且在接收从分离装置得到的输出请求和目的地信息时,指向信元缓冲存储器。
另外,根据本发明第六方面的ATM交换电路的特征在于在根据本发明第五方面的ATM交换电路中,信元缓冲存储器控制装置包括地址存储单元,用于把写缓冲器地址和读缓冲器地址存储到其中,写缓冲器地址指定位于信元缓冲存储器的链式结构最后部分的页中包含的最新ATM信元,读缓冲器地址指定位于链式结构标题部分的另一页中包含的第一ATM信元;和控制单元,用于以这样一种方式控制所述信元缓冲器存储器,即当从多路复用装置接收存储请求和目的地信息时,控制单元从地址存储单元读取与目的地信息对应的写缓冲器地址,以便根据读取的写缓冲器地址控制信元缓冲存储器,而当从所述分离装置接收输出请求和目的地信息时,控制单元从地址存储单元读取读缓冲器地址,以便根据读取的读缓冲器地址控制信元缓冲存储器。
另外,根据本发明第七方面的ATM交换电路控制方法,其特征在于一种通过控制下列装置来控制ATM(异步传送模式)交换电路的方法一个用于把ATM信元存储到其中的ATM信元缓冲存储器;用于发出输入的ATM信元的存储请求和指示与输入的ATM信元的目的地对应的输出端的目的地信息,以及在输出ATM信元时用于发出输出请求和目的地信息的ATM信元管理装置,其中根据由存储请求定义的缓冲器地址把输入的ATM信元写入信元缓冲存储器;根据由输出请求定义的另一个缓冲器地址从信元缓冲存储器读出写入的ATM信元,以便传输到ATM信元管理装置;接收传输的ATM信元时,ATM信元管理装置根据目的地信息把接收的ATM信元传输到输出端,ATM交换电路控制方法包括第一步骤,用于管理信元缓冲存储器的空地址,和在接收从ATM信元管理装置发出的存储请求时把空地址作为缓冲器地址输出到信元缓冲存储器;和第二步骤,用于在接收从ATM信元管理装置发出的存储请求和从第一步骤作为缓冲器地址传输的空地址时,把多个缓冲器地址相互依次链接,由此以一个链式结构形成指向同一输出端的ATM信元的该多个缓冲器地址;和第三步骤,在接收从ATM信元管理装置发出的输出请求和目的地信息时,用于从与接收的其目的地对应的链式结构读出对应的缓冲器地址,从而把读出的缓冲器地址传输到信元缓冲存储器,其中在第一步骤管理在第三步骤读取的缓冲器地址。
另外,根据本发明第八方面的ATM交换电路控制方法,其特征在于一种通过控制下列装置来控制ATM(异步传送模式)交换电路的方法一个用于把ATM信元存储到其中的ATM信元缓冲存储器;用于发出输入的ATM信元的存储请求和指示与输入的ATM信元的目的地对应的输出端的目的地信息,以及在输出ATM信元时用于发出输出请求和目的地信息的ATM信元管理装置,其中根据由存储请求定义的缓冲器地址把输入的ATM信元写入信元缓冲存储器;根据由输出请求定义的另一个缓冲器地址从信元缓冲存储器读出写入的ATM信元,以便传输到ATM信元管理装置;接收传输的ATM信元时,ATM信元管理装置根据目的地信息把接收的ATM信元传输到输出端,ATM交换电路控制方法包括第一步骤,用于管理信元缓冲存储器的空地址,和在接收从ATM信元管理装置发出的存储请求时把空地址作为缓冲器地址输出到信元缓冲存储器;第二步骤,用于以这样一种方式管理缓冲器地址,即当把能够存储缓冲器地址的″L(符号″L″是任意自然数)″段存储区定义为一页时,通过将多页相互链接形成链式结构并与每个输出端相对应做出该链式结构;接收从信元管理装置发出的存储请求以及从第一步骤传输的缓冲器地址时,把所接收的缓冲器地址依次存储到链式结构页的存储区中;和第三步骤,用于以这样一种方式管理缓冲器地址,即在接收从ATM信元管理装置发出的输出请求和目的地信息时,缓冲器地址管理装置从与接收的目的地信息对应的链式结构页的存储区依次读出对应的缓冲器地址,从而把读出的缓冲器地址传输到信元缓冲存储器和空地址管理装置;其中在第一步骤管理在第三步骤读取的缓冲器地址。
此外,根据本发明第九方面的ATM交换电路的控制方法,其特征在于用于控制ATM(异步传送模式)交换电路的方法,包括第一步骤,用于产生输入的ATM信元的存储请求和指示与输入的ATM信元的目的地对应的输出端的目的地信息;第二步骤,用于在输出ATM信元时产生一个输出请求和目的地信息;第三步骤,在将能够存储ATM信元的″L″段存储区定义为一页时,通过把这些页相互链接以便形成链式结构,以及通过采用与相应输出端对应的相应链式结构,用于在其中存储在第一步骤处理的ATM信元,并且还用于读取ATM信元以便把读出的ATM信元发送到第二步骤;和第四步骤,用于进行控制,以便接收从第一步骤发出的存储请求和目的地时把在第一步骤处理的ATM信元依次存储到与目的地信息对应的链式结构中;其中在接收从第二步骤发出的输出请求和目的地信息时,从与目的地信息对应的链式结构依次读取ATM信元,以便相对于所述读取的ATM信元执行在第二步骤定义的处理操作。
通过下面结合附图的描述,本发明的上面和其它目的,新颖的优点和特征将变得更加显而易见

图1是表示根据本发明第一实施例的ATM交换电路布置的示意方框图2是表示图1中的第一ATM交换电路中所采用的地址存储器的结构的结构图;图3是解释图1所示的第一ATM交换电路的链结构的解释示意图;图4是用于表示图1中的第一ATM交换电路中所采用的指针存储器的结构的结构图;图5是用于描述图1中的第一ATM交换电路所采用的控制单元进行ATM信元存储操作的处理操作的流程图;图6是用于解释通过图1的第一ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图7是用于解释通过图1的第一ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图8是用于解释通过图1的第一ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图9是用于解释通过图1的第一ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图10是用于解释图1的第一ATM交换电路所采用的控制单元进行信元输出处理操作的流程图;图11是用于解释通过图1的第一ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图12是用于解释通过图1的第一ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图13是用于解释通过图1的第一ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图14是用于解释通过图1的第一ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图15是表示根据本发明第二实施例的ATM交换电路布置的示意方框图;图16是表示图15中的第二ATM交换电路中所采用的地址存储器结构的结构图17是表示图15中的第二ATM交换电路中所采用的页存储器结构的结构图;图18是解释图15所示的第二ATM交换电路的链结构的解释示意图;图19是用于表示图15中的第二ATM交换电路中所采用的指针存储器的结构的结构图;图20是用于描述图15的第二ATM交换电路的控制单元进行ATM信元存储操作的处理操作的流程图;图21是用于解释通过图15的第二ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图22是用于解释通过图15的第二ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图23是用于解释通过图15的第二ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图24是用于解释通过图15的第二ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图25是用于解释图15的第二ATM交换电路所采用的控制单元进行信元输出处理操作的流程图;图26是用于解释通过图15的第二ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图27是用于解释通过图15的第二ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图28是用于解释通过图15的第二ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图29是用于解释通过图15的第二ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图30是表示根据本发明第三实施例的ATM交换电路布置的示意方框图;图31是表示图30中的第三ATM交换电路中所采用的信元缓冲存储器的结构的结构图32是解释图30所示的第三ATM交换电路的链结构的解释示意图;图33是用于表示图30中的第三ATM交换电路中所采用的地址存储器的结构的结构图;图34是用于描述图30的第三ATM交换电路的控制单元进行ATM信元存储操作的处理操作的流程图;图35是用于解释通过图30的第三ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图36是用于解释通过图30的第三ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图37是用于解释通过图30的第三ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图38是用于解释通过图30的第三ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图39是用于解释图30的第三ATM交换电路所采用的控制单元进行信元输出处理操作的流程图;图40是用于解释通过图30的第三ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图41是用于解释通过图30的第三ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图42是用于解释通过图30的第三ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;图43是用于解释通过图30的第三ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图;和图44是表示常规的ATM交换电路布置的结构图。
参照附图,将描述根据本发明多个优选实施例的ATM交换电路。
图1是表示根据本发明第一实施例的ATM交换电路布置的示意方框图。图2是表示图1中的第一ATM交换电路中所采用的地址存储器的结构的结构图。图3是解释图1所示的第一ATM交换电路的链结构的解释示意图。图4是用于表示图1中的第一ATM交换电路中所采用的指针存储器的结构的结构图。图5是用于描述图1中的第一ATM交换电路所采用的控制单元进行ATM信元存储操作的处理操作的流程图。图6是用于解释通过图1的第一ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图。图7是用于解释通过图1的第一ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图。图8是用于解释通过图1的第一ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图。图9是用于解释通过图1的第一ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图。图10是用于解释图1的第一ATM交换电路所采用的控制单元进行信元输出处理操作的流程图。图11是用于解释通过图1的第一ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图。图12是用于解释通过图1的第一ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图。图13是用于解释通过图1的第一ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图。图14是用于解释通过图1的第一ATM交换电路所采用的控制单元的处理操作使指针移动的解释示意图。
如图1所示,该第一ATM(异步传送模式)交换电路由多路复用单元1,信元缓冲存储器2,分离单元3,写控制单元4,读控制单元5,指针存储器6,控制单元7,地址存储器8,和空地址管理存储器9组成。
当从输入端11,12,---,1N接收到ATM信元时,多路复用单元1使ATM信元互相多路复用来产生多路复用的ATM信元,并且接着将该多路复用的ATM信元发送给信元缓冲存储器2。
当从多路复用单元1接收到该多路复用的ATM信元以及从空地址管理存储器9接收到写缓冲地址时,信元缓冲存储器2将该接收的ATM信元存储到由该写缓冲地址指出的存储区内。当信元缓冲存储器2从地址存储器8接收到一个读缓冲地址时,该信元缓冲存储器2读取一个存储在由该读缓冲地址指出的存储区中的ATM信元,并且接着将读取的信元输出到分离单元3。
当接收到从信元缓冲存储器2读取的ATM信元时,分离单元3分离上述ATM信元。其后,分离单元3将分离的ATM信元发送到多个输出端31,322,---,3N中的相关输出端。
当从多路复用单元1输出多路复用ATM信元时,写控制单元4根据包含在该多路复用ATM信元中的标题部分的信息,检查上述信元发送到哪一个输出端。写控制单元4将表示上述发送信元的输出端的端口信号和该发送信元的存储请求都送到控制单元7。其后,当从控制单元7接收到存储许可时,写控制单元4将一个地址输出请求送到空地址管理存储器9。当读控制单元5输出ATM信元到输出端31,322,---,3N时,该读控制单元5将输出端31和缓冲地址的输出指令都发送到控制单元7。
空地址管理存储器9管理信元缓冲存储器2中的空缓冲地址区,当接收到从写控制单元4发出的地址输出请求时,空地址管理存储器9将对应于空地址区域的缓冲地址送到信元缓冲存储器2和地址存储器8。如图2所示,该地址存储器8由下一指针存储单元8A和缓冲地址存储单元8B构成。将缓冲地址“BA”存储到该缓冲地址存储单元8B的相关存储区。该缓冲地址表示存储在信元缓冲存储器2中的ATM信元的存储区。应该清楚,上面解释的缓冲地址“BA”用于从信元缓冲存储器2读取一个ATM信元。
下一指针存储单元8A将用于修改每个缓冲存储器的信息存储在其中以形成一链结构。例如,假定发送给输出端31的ATM信元的缓冲地址等于“BA11”,以及在第一次提到的ATM信元后面的另一个ATM信元的缓冲地址等于“BA12”。此时,这样的信息构成为一对上面的缓冲地址“BA11”并且还表示对应于下一指针“NP11”的下一缓冲地址“BA12”。该下一指针“NP11”与缓冲地址“BA11”一起存储到下一指针存储单元8A。
如前面解释的,发送给输出端31的ATM信元的缓冲地址“BA11”,“BA12”,---,“BA1m”由下一指针“NP11”,“NP12”,---,“NP1(m-1)”链接以形成逻辑链结构。结果是,如图3所示,形成对应于输出端31的地址链AC1。类似地,由下一指针“NP21”到“NP2(n-1)”,---,“NPN1”到“NPN(P-1)”形成地址链AC2,---,ACN。
与上述方式类似,包含在缓冲地址存储单元8B内的未使用区通过下一指针“NP1”到“NPq”彼此顺序链接以形成一逻辑链结构。因此,形成一自由链FC。如图3所示,其中未存储地址的这些未使用区由符号“*”表示,其它图中与此类似。
缓冲地址“BA”和下一指针“NP”在控制单元7的控制下从地址存储器8读取或写入到地址存储器8。换句话说,如图2所示,当地址存储器8从控制单元7接收到表示读取操作的访问指令信号a4和指出存储区的指针信号a3时,根据指针信号a3从指针8C指出的存储区读取下一指针存储器8A的下一指针“NP”和缓冲地址存储单元8B的下一指针“BA”,然后将其提供给控制单元7。
在地址存储器8从控制单元7接收到指针信号a3和表示写操作的地址指令信号4a的情况下,缓冲地址“BA”和指针“NP”都写入到由指针8C指出的下一指针存储器8A以及缓冲地址存储单元8B的存储区。
如图4所示,指针存储器6具有链存在/缺失存储单元6A,写指针存储单元6B,和读指针存储单元6C。如该图所示,存在/缺失数据“E1”,“E2”,---,“EN”和“EF”存储到链存在/缺失存储单元6A。存在/缺失数据“E1”,“E2”,---,“EN”表示是否存在地址链AC1,AC2,---,ACN,反之存在/缺失数据“EF”表示是否存在自由链。在该实施例中,当存在/缺失数据“E1”,“E2”,---,“EN”和“EF”的各个值等于“1”时,这些数据表示“链存在”,反之,当存在/缺失数据的各个值等于“0”时,这些数据表示“链不存在,或者缺失”。
如图4所示,写指针“WP1”,“WP2”,---,“WPN”和“WPF”存储到写指针存储单元6B。
写指针“WP1”,“WP2”,---,“WPN”对应于表示地址链AC1,AC2,---,ACN的最后部分的缓冲地址的指针。此外,写指针“WPF”对应于表示自由链FC的最后部分的未使用区的指针。采用表示地址存储器的存储区的指针,或者用于指出这些存储区的指针作为各个指针。
如图4所示,读指针“RP1”,“RP2”,---,“RPN”和“RPF”存储到读指针存储单元6C。读指针“RP1”,“RP2”,---,“RPN”对应于表示地址链AC1,AC2,---,ACN的开始部分的缓冲地址的这些指针。反之,读指针“RPF”对应于表示自由链FC的开始部分的未使用区的这些指针。
上面解释的读指针和上面描述的写指针在控制单元7的控制下都从指针存储器6读出或写入到指针存储器6。换句话说,当指针存储器6从控制单元7接收到表示地址链和自由链端口信号,以及表示读出写入操作的访问指令信号a2时,从链存在/缺失存储单元6A,写指针存储单元6B,读指针存储单元6C读取对应于端口信号a1的存在/缺失数据,写指针,以及读指针。然后,将存在/缺失数据,写指针,以及读指针提供给控制单元7。
此外,在通过指针存储器6从控制单元7接收到表示地址链和自由链的端口信号a1,和表示读出/写入操作的访问指令信号a2的情况下,将从控制单元7接收的写入数据分别存储到链存在/缺失存储单元6A,写指针存储单元6B,读指针存储单元6C中作为存在/缺失数据,写指针,和读指针。
当控制单元7接收到从写控制单元5送出的存储请求时,该控制单元7执行图5中的流程图所定义的操作过程。在该第一实施例,假定从多路复用单元1输出的ATM信元发送到输出端3K(符号“K”=1到N)。当接收到上述存储请求时,控制单元7将表示自由链FC的端口信号a1-1,和表示从链存在/缺失存储单元6A读取的数据的访问指令信号a2-1发送到指针存储器6。然后,当从指针存储器6接收到存在/缺失数据“EF”时,控制单元7判断存在/缺失数据“EF”的值是否为“0”(步骤S1)。当存在/缺失数据“EF”的值为“1”时,控制单元7判断是否存在自由链FC,因此该控制单元7允许写控制单元4存储输入的ATM信元(步骤S2)。
当完成上面步骤S2所定义的处理操作时,控制单元7判断对应于输出端3K的地址链CK的存在/缺失数据“EK”的值是否等于“0”(步骤S3)。为执行步骤S3定义的处理操作,控制单元7将端口信号a1-2和访问指令信号a2-1发送到指针存储器6。该端口信号a1-2表示输出端3K,访问指令信号a2-1表示从链存在/缺失存储单元6A读出的数据。然后,当从指针存储器6接收到存在/缺失数据“EK”时,控制单元7执行上面解释的判定。
在存在/缺失数据“EK”的值等于“1”以及存在对应于输出端3K的地址链ACK的情况下,控制单元7执行NP(WPK)RPF的处理操作(步骤S4)。上面步骤S4所定义的上述处理操作的内容如图6所示。即,通过地址链ACK的下一指针“NPkr”指出由自由链的读指针“RPF”指出的未使用区。该下一指针“NPkr”可以与由写指针“WPk”指出的缓冲地址“BAkr”成对出现。
为执行步骤S4定义的处理操作,控制单元7将端口信号a1-1和访问指令信号a2-2发送到指针存储器6。该端口信号a1-1表示自由链FC,访问指令信号a2-2表示从读指针存储单元6C读出的读指针。结果是,当从指针存储器6接收到读指针“RPF”时,控制单元7将端口信号a1-3和访问指令信号a2-3送到指针存储器6。该端口信号a1-3表示地址链ACK,访问指令信号a2-3表示从写指针存储单元6B读出的写指针。结果是,当从指针存储器6接收到写指针“WPk”时,控制单元7将该写指针“WPk”设定为指针信号a3。写指针“WPk”指出缓冲地址“BAk”。然后,控制单元7将该指针信号a3和表示关于下一指针存储单元8A的写入操作的访问指令信号a2-4发送到地址存储器8。此外,控制单元7将读指针“RPF”作为写数据提供给地址存储器8。结果是,该读指针“RPF”作为缓冲地址“BAk”的下一指针“NPk”存储到地址存储器8的下一指针存储单元8A。因此,由自由链FC的读指针“RPF”指出的未使用区可以由地址链“ACk”的下一指针“NPkr”指出。
当步骤S4定义的处理操作结束时,控制单元7执行WPk←RPF(步骤S5)的处理操作。如图7所示执行步骤S5定义的处理操作,即,由自由链FC的读指针“RPF”指出的未使用区可以由写指针“WPk”的指出。
为执行步骤S5定义的处理操作,控制单元7将端口信号a1-1和访问指令信号a2-5送到指针存储器6。该端口信号a1-1表示自由链FCK,访问指令信号a2-5表示从读指针存储单元6C读出的读指针。结果是,当从指针存储器6接收到读指针“RPF”时,控制单元7将端口信号a1-3和访问指令信号a2-6发送到指针存储器6。该端口信号a1-3表示地址链ACK,访问指令信号a2-6表示从写指针存储单元6B读出的写指针。
此外,控制单元7将读指针“RPF”作为写数据发送给指针存储器6。结果是,读指针“RPF”存储为写指针“WPk”。因此,由自由链FC的读指针“RPF”指出的未使用区可以由地址链“ACk”的下一指针“NPkr”指出。
此外,当完成前一步骤S3定义的处理操作时,如果不存在地址链“ACk”,控制单元7就执行RPk←RPFWPk←RPF,和E←1(步骤S6)的处理操作。步骤S6定义的处理操作执行如下即,由自由链FC的读指针“RPF”指出的未使用区可以由地址链ACk的写指针“WPk”以及读指针“RPk”指出。结果是,控制单元7最新产生对应于输出端3k的地址链ACk。然后,控制单元7将指针存储器6的存在/缺失数据“Ek”设定为“1”。
为执行步骤S6定义的处理操作,控制单元7将端口信号a1-1和访问指令信号a2-7发送到指针存储器6。该端口信号a1-1表示自由链FC,访问指令信号a2-7表示从读指针存储单元6C读出的读指针。结果是,当从指针存储器6接收到读指针“RPF”时,控制单元7将端口信号a1-3和访问指令信号a2-8发送到指针存储器6。该端口信号a1-3表示地址链ACk,访问指令信号a2-8表示从写指针存储单元6B,读指针存储单元6C读出的写指针。此外,控制单元7将读指针“RPF”作为写数据提供给指针存储器6。结果是,该读指针“RPF”存储为读指针“RPk”和写指针“WPk”。因此,由自由链FC的读指针“RPF”指出的未使用区可以由地址链“ACk”的读指针“RPk”,和写指针“WPk”指出。
其后,控制单元7发送表示地址链ACk的端口信号a1-3和表示关于链存在/缺失存储单元6A的写操作的访问指令信号a2-9。此外,控制单元7将值“1”作为写数据发送给指针存储器6。结果是,值“1”作为存在/缺失数据“Ek”存储到该指针存储器6。
当完成步骤S5或者步骤S6定义的处理操作时,控制单元7判断自由链FC的写指针WPF是否等同于读指针RPF(步骤S7)。在该步骤S7定义的处理操作对应于这样的处理操作,即,在已完成步骤S6定义的处理操作之后,控制单元7检查是否存在自由链FC。为执行步骤S7定义的处理操作,控制单元7将表示自由链FC的端口信号a1-1和访问指令信号a2-10发送到指针存储器6。该访问指令信号a2-10表示来自写指针存储单元6B和读指针存储单元6C的指针。结果是,控制单元7从指针存储器6接收自由链FC的写指针WPF和读指针RPF以执行上述判定操作。
在自由链FC的写指针“WPF”和读指针“RPF”不同的情况下,控制单元7执行RPF←NP(RPF)(步骤S8)的处理操作。
如图8所示,以类似方式完成步骤S8定义的处理操作,由自由链FC的下一指针NP1指出的未使用区可以由自由链FC的读指针RPF指出。结果是,控制单元7将读指针“RPF”移动到自由链FC的新的开始处。
为执行步骤S8定义的处理操作,控制单元7将端口信号a1-1和访问指令信号a2-5发送到指针存储器6。该端口信号a1-1表示自由链FC,访问指令信号a2-5表示从读指针存储单元6C读出的读指针。结果是,当从指针存储器6接收到读指针“RPF”时,控制单元7将读指针“RPF”设定为指针信号a3。其后,控制单元7将该指针信号a3和表示关于下一指针存储单元8A的读操作的访问指令信号a4发送到地址存储单元8的下一指针存储单元8A。结果是,当控制单元7从地址存储单元8接收到下一指针“NPk”时,该控制单元7发送表示自由链FC的端口信号a-1,以及表示关于读指针存储单元6C的写操作的访问指令信号a2-11。
另外,控制单元7将下一指针“NPk”作为写数据发送到指针存储器6。因此,在该指针存储器6中,下一指针“NPk”被存储为读指针“RPF”。结果,自由链FC的下一指针NP1指出的未使用区可以由自由链FC的读指针“RPF”指出。
另外,当前一步骤S7中自由链FC的的写指针WPF与读指针RPF相同时,控制单元7将自由链FC的存在/缺失数据“EF”的值设定为“0”(步骤S9)。该处理操作的执行显示没有出现自由链FC。
为执行步骤S9定义的处理操作,控制单元7将端口信号a1-1和访问指令信号a2-9都发送到指针存储器6。该端口信号a1-1表示自由链FC,而访问指令信号a2-9表示对应于链存在/缺失存储单元6A的写操作。另外,控制单元7将值“0”作为写数据发送给指针存储器6。接着,值“0”作为存在/缺失数据“EF”存储到指针存储器6中。
当步骤S8或步骤S9中定义的处理操作完成时,控制单元7执行BA(WP)←空缓冲地址(步骤S10)的处理操作如下执行步骤S10中定义的该处理操作即,如图9所示,当地址存储器8从空地址管理存储器9接收一个空缓冲地址时,控制单元7控制上述空缓冲地址作为缓冲地址“BAk(r+1)”存储到由写指针“WPk”指出的缓冲地址存储单元8B的存储区内。控制单元7在步骤S10之后完成图5中的所有处理操作。
如果在前面的步骤S1中没有自由链FC,那么控制单元7将不许可存储输入信元提供给写控制单元4(步骤S11),并且其后,完成图5中的所有处理操作。
如上面解释的,当控制单元7从写控制单元4接收一个存储请求时,该控制单元7执行这样的处理操作,即将新缓冲地址存储到相关地址链ACk的最后部分。
另一方面,当控制单元7接收到由缓冲地址接收的输出端3k和缓冲地址的输出指令时,该控制单元7开始图10中流程图所定义的处理操作。换句话说,当接收到输出端3k和输出指令时,控制单元7控制输出缓冲地址(步骤21)。在该步骤S21中定义的处理操作以下面的方式进行,即,从缓冲地址存储单元8B得到地址链“ACk”的读指针“RPk”指出的缓冲地址。
为执行步骤S21定义的处理操作,控制单元7将端口信号a1-3和访问指令信号a2-5都发送给指针存储器6。该端口信号a1-3表示地址链ACk,而访问指令信号a2-5表示从读指针存储单元6C读出的读指针。结果,当从指针存储器6接收到读指针“RPk”时,控制单元7将读指针“RPk”设定为指针信号a3。其后,控制单元7将该指针信号a3和指示从缓冲地址存储单元8B读出的缓冲地址的访问指令信号a4都发送到地址存储器8。接着,将缓冲地址“BAk1”从地址存储器8发送到信元缓冲存储器2和空地址管理存储器9中。
当完成步骤S21定义的处理操作时,控制单元7检查自由链FC的存在/缺失数据“EF”是否等于值“0”(步骤S22)。当出现自由链FC时,控制单元7执行
NP(WPF)RPK的处理操作(步骤S23)。在上面步骤S23中定义的上述处理操作的内容示于图12。即,自由链FC的下一指针“NPq+1”指出由地址链ACk的读指针“RPk”指出的未使用区。换句话说,自由链FC的下一指针“NPq+1”能够指出已经从其中输出缓冲地址BAk1的存储区。
结果,控制单元7将地址链ACk的起始连接到自由链FC的最后部分。
为执行步骤S23定义的处理操作,控制单元7将端口信号a1-3和访问指令信号a2-5都发送给指针存储器6。该端口信号a1-3表示地址链ACk,而访问指令信号a2-5表示从读指针存储单元6C读出的读指针。结果,当从指针存储器6接收到读指针“RPk”时,控制单元7将端口信号a1-1和访问指令信号a2都发送给指针存储器6。该端口信号a1-1表示自由链FC,而访问指令信号a2-12表示从写指针存储单元6B读出的写指针。接着,当从指针存储器6接收到写指针“WPF”时,控制单元7将该写指针“WPF”设置为指针信号a3。其后,控制单元7将该指针信号a3和表示关于下一指针存储单元8A的写操作的访问指令信号a4都发送到地址存储器8。另外,控制单元7将读指针“RPk”作为写数据提供给地址存储器8。接着,将该读指针“RPk”作为自由链FC的下一指针“NPq+1”存储到地址存储器8的下一指针存储单元8A中。结果,自由链“FC”的下一指针“NPq+1”可以指出由地址链ACk的读指针“RPk”指出的未使用区。
当步骤S23定义的处理操作结束时,控制单元7执行WPF←RPk(步骤S24)的处理操作。
如图13所示进行步骤S24中定义的处理操作。即,地址链ACk的读指针“RPk”指出的未使用区域可以由自由链“FC”的写指针“WPF”指出。结果,控制单元7将写指针WPF移到自由链FC的最后部分。
为执行步骤S24定义的处理操作,控制单元7将端口信号a1-1和访问指令信号a2-5都发送给指针存储器6。该端口信号al-1表示自由链FC,而访问指令信号a2-5表示从读指针存储单元6C读出的读指针。结果,当从指针存储器6接收到读指针“RPk”时,控制单元7将端口信号a1-1和访问指令信号a2-12都发送给指针存储器6。该端口信号a1-1表示自由链FC,而访问指令信号a2-12表示从写指针存储单元6B读出的写指针。
另外,控制单元7将读指针“RPk”作为写数据提供给地址存储器8。结果,读指针“RPk”被存储为写指针“WPF”。因此,自由链“FC”的写指针“WPF”可以指出由地址链ACk的读指针“RPk”指出的未使用区。
另外,当前面的步骤S22定义的处理操作执行以后,如果没有自由链FC,则控制单元7执行处理操作RPF←RPk,WPF←RPk,和EF←1(步骤S25)。
如下进行步骤S25定义的处理操作即,地址链ACk的读指针“RPk”指出的未使用区可以由自由链“FC”的写指针“WPF”以及读指针“RPF”指出。接着,控制单元7重新产生一个自由链FC。然后,控制单元7将指针存储器6的存在/缺失数据“EF”设定为“1”。
为执行步骤S25定义的处理操作,控制单元7将端口信号a1-3和访问指令信号a2-5都发送给指针存储器6。该端口信号a1-3表示地址链ACk,而访问指令信号a2-5表示从读指针存储单元6C读出的读指针。结果,当从指针存储器6接收到读指针“RPk”时,控制单元7将端口信号a1-1和访问指令信号a2-14都发送给指针存储器6。该端口信号a1-1表示自由链FC,而访问指令信号a2-14表示关于写指针存储单元6B和读指针存储单元6C的写操作。另外,控制单元7将读指针“RPk”作为写数据提供给指针存储器6。接着,该读指针“RPk”被作为读指针“RPF”和写指针“WPF”来存储。结果,自由链“FC”的读指针“RPF”以及写指针“WPF”都可以指出由自由链“FC”的读指针“RPF”指出的未使用区。
此后,控制单元7将指示自由链FC的端口信号a1-1和表示写操作的访问指令信号a2-9都发送给链存在/缺失存储单元6A。另外,控制单元7将值“1”作为写数据发送给指针存储器6。接着,将值“1”作为存在/缺失数据“EF”存储到该指针存储器6中。
当步骤S24或步骤S25定义的处理操作完成时,控制单元7判断地址链ACk的写指针WPk是否与读指针RPk相同(步骤S26)。为执行该步骤S26的处理操作,控制单元7将表示地址链ACk的端口信号a1和访问指令信号a2都发送到指针存储器6。该访问指令信号a2表示从写指针存储单元6B以及从读指针存储单元6C读取的操作。接着,控制单元7从指针存储器6接收地址链ACk的写指针WPk和读指针RPk,从而执行上述判断操作。
在地址链ACk的写指针“WPk”与读指针“RPk”不同的情况下,控制单元7执行处理操作RPk←NP(RPk)(步骤S27)。
步骤S27定义的处理操作以这样的方式执行,如图14所示,地址链ACk读指针RPk可以指出由这样的一个下一指针NPk1指出的缓冲地址“BAk2”。接着,控制单元7将读指针“RPk”移到地址链ACk的起始。
为执行步骤S27定义的处理操作,控制单元7将端口信号a1-3和访问指令信号a2-5都发送给指针存储器6。该端口信号a1-3表示地址链ACk,而访问指令信号a2-5表示从读指针存储单元6C读出的读指针。结果,当从指针存储器6接收到读指针“RPk”时,控制单元7将读指针“RPk”设定为一个指针信号a3。其后,控制单元7发送该指针信号a3和表示关于下一指针存储单元8A的读取操作的访问指令信号a4。接着,当控制单元7从地址存储器8接收到下一指针“NPk”时,该控制单元7发送表示地址链ACk的端口信号a1-3以及表示关于读指针存储单元6C的写操作的访问指令信号a2-11。另外,控制单元7将下一指针“NPk”作为写数据发送给指针存储器6。因此,在该指针存储器6中,下一指针“NPk”作为读指针“RPk”存储。结果,地址链ACk的读指针“RPk”可以指出由下一指针NPk1指出的缓冲地址BAk2。
另外,当在步骤S26中地址链ACk的写指针WPk与读指针RPF相同时,控制单元7将地址链ACk的存在/缺失数据“EF值”设定为“0”(步骤S28)。执行该处理操作表示不出现地址链ACk。
为执行步骤S27定义的处理操作,控制单元7将端口信号a1-3和访问指令信号a2-9都发送给指针存储器6。该端口信号a1-3表示地址链ACk,而访问指令信号a2-9表示关于链存在/缺失存储单元6A的写操作。另外,控制单元7将值“0”作为写数据发送到指针存储器6。接着,在指针存储器6中存在/缺失数据“EF”变为0值。
当在步骤S28定义的处理操作结束时,控制单元7完成图10所示的处理操作。
在第一ATM交换电路中的全部操作现在,描述在图1所示的第一ATM交换电路中执行的全部操作。
进入输入端11,12,---,1N的ATM信元通过多路复用单元1被多路复用,然后该多路复用的ATM信元被提供给信元缓冲存储器2。当输出本多路复用的信元时,写控制单元4检查本多路复用信元的目的地。当本多路复用的ATM信元的目的地是输出端3k时,写控制单元4既将指示该输出端3k的端口信号又将本多路复用的ATM信元的存储请求送到控制单元7。
接收到上述的存储请求后,控制单元7检查关于在步骤S1中自由链FC是否存在。如果自由链不存在,则控制单元7在步骤S11给出不许可存储上述信元的信号。当写控制单元4接收到该不许可存储上述信元的信号时,该写控制单元4丢弃该多路复用的ATM信元。
相反地,当自由链FC在步骤S1存在时,控制单元7在步骤S2允许写控制单元4存储输入的信元。在从控制单元7接收到上述存储许可后,写控制单元4发送一个地址输出请求给空地址管理存储器9。响应于该地址输出请求,控制单元7从空地址管理存储器9读取一个相应于一个空区域的地址的缓冲器地址,并然后将该该缓冲器地址提供给信元缓冲存储器2和地址存储器8。当从空地址管理存储器9接收到该缓冲器地址时,从多路复用单元1输出的上述多路复用的ATM信元被存储到由该缓冲器地址指定的存储区域。
由地址存储器8接收到上述缓冲器地址后,控制单元7在步骤S3检查关于地址链ACK是否存在。当该地址链ACK存在时,控制单元7在步骤S4和S5将自由链FC的首部连接到地址链ACK的最后部分,从而在地址链ACK中使用于存储缓冲器地址的未用区域是可靠的。然后,控制单元7控制如此一个操作使地址链ACK中的读指针“RPK”指出新定义最后部分。相反地,当地址链ACK不存在时,控制单元7在步骤S6新生成一个地址链ACK从而使用于存储缓冲器地址的未用区域可靠。在步骤S7自由链FC的写指针WPF不同于读指针RPF的情况下,控制单元7判断自由链FC依然存在。从而控制单元7将写指针RPF传送给自由链FC的一个新的首部分。相反地,当写指针WPF等于读指针RPF时,控制单元7判断自由链FC不存在,并从而在步骤S9设置自由链FC的存在/缺失数据EF的值为“0”。
当未用区域的可靠性实现后,控制单元7将上述缓冲器地址作为“BAK(r+1)”存入该未用区域。输入的ATM信元的缓冲器地址BAK(r+1)以上述方式被连接到地址链ACK的最后部分。
另一方面,当信元输出到输出端3K时,读控制单元3既将输出端3K又将缓冲器地址的输出指令发送给控制单元7。作为结果,控制单元7在步骤S21控制地址存储器8。当地址链ACK的首部分的缓冲器地址BAK+1被从地址存储器8读出时,读控制单元5将读缓冲器地址BAK1发送给信元缓冲存储器2和空地址管理存储器9。
在信元缓冲存储器2中,ATM信元在一控制器(未图示)的控制下被从由缓冲器地址BAK1指定的存储区域中读出并传送到输出端3K。同样,空地址管理存储器9管理该缓冲器地址BAK1作为空缓冲器地址。
当缓冲器地址BAK1从地址存储器8输出时,控制单元7执行下述控制操作。换句话说,控制单元7在步骤S22检查关于自由链FC是否存在。如果自由链FC存在,则控制单元7在步骤S23切断地址链ACK的首部分然后将切断的首部分连接到自由链FC的最后部分。结果,这样一个缓冲器地址BAK1已经从中输出的未用区域被连接到自由链FC的最后部分,然后,在步骤S24,控制单元7使自由链FC的写指针WPF指出新定义的最后部分。相反地,如果自由链FC不存在,则控制单元7,在步骤S25,通过使用该缓冲器地址BAK1已经从中输出的未用区域,生成一个新的自由链FC。
然后,控制单元7在步骤S26检查关于地址链ACK是否存在。当地址链ACK存在时,控制单元7在步骤S27将读指针RPK传送给地址链ACK中新定义的首部分。从而完成全部的处理操作。
相反地,当地址链ACK不存在时,控制单元7将地址链ACK的存在/缺失数据EK的值设为“0”。从而完成全部的处理操作。
如上述所解释的,当缓冲器地址被输出后变成未用区域的存储区域被连接到自由链FC的最后部分。
如上所述,依照第一实施例的ATM交换电路,地址存储器8可以一般用于在输出端31到3N。因而,既然相应于输出端31到3N地址链的长度可以依照输出端的使用频率调整,依靠输出端31到3N,地址存储器8可以被有效的使用。第二ATM交换电路的概述参见附图,依照本发明第二实施例的ATM交换电路将被详细描述。
图15是一原理方框图,用于图示依照本发明的第二实施例的ATM交换电路的方案。图16是一结构图,用于表明在图15中所示的第二ATM交换电路中使用的地址存储器的结构。图17是一结构图,用于表示在图15中所示的第二ATM交换电路中使用的页存储器的结构。图18是一示意图,用于解释在图15中所示的第二ATM交换电路的链结构。图19是一结构图,用于表明在图15中所示的第二ATM交换电路中使用的指针存储器的结构。图20是一流程图,用于描述通过在图15中所示的第二ATM交换电路中使用的控制单元的ATM信元存储操作的处理操作。图21是一示意图,用于解释通过在图15中所示的第二ATM交换电路中使用的控制单元的处理操作中的指针的移动。图22是一示意图,用于解释通过在图15中所示的第二ATM交换电路中使用的控制单元的处理操作中的指针的移动。图23是一示意图,用于解释通过在图15中所示的第二ATM交换电路中使用的控制单元的处理操作中的指针的移动。图24是一示意图,用于解释通过在图15中所示的第二ATM交换电路中使用的控制单元的处理操作中的指针的移动。图25是一流程图,用于解释通过在图15中所示的第二ATM交换电路中使用的控制单元的信元输出处理操作。图26是一示意图,用于描述在图15中所示的第二ATM交换电路中使用的控制单元的处理操作中的指针的移动。图27是一示意图,用于描述在图15中所示的第二ATM交换电路中使用的控制单元的处理操作中的指针的移动。图28是一示意图,用于描述在图15中所示的第二ATM交换电路中使用的控制单元的处理操作中的指针的移动。图29是一示意图,用于描述在图15中所示的第二ATM交换电路中使用的控制单元的处理操作中的指针的移动。第二ATM交换电路的方案如图15所示,该第二ATM(异步传输模式)交换电路由多路复用单元1,信元缓冲存储器2,分离单元3,写控制单元4,读控制单元5,指针存储器11,控制单元12,页存储器13,地址存储器14,和空地址管理存储器9组成。应当了解,在图1中所示的相同的参考标号将被用来指示在图15中相同或相近似的电路单元,因而,它的详细描述被省略。
在地址存储器14中存储缓冲器地址。缓冲器地址在一个ATM信元被存储到信元缓冲存储器2时使用。如图16中所示,地址存储器14用来将一个缓冲器地址“BA”存储到一个存储区域,并且“L”个存储区域被成组编号为一个逻辑页。也就是说,在地址存储器14中,一个页号“1”拥有由偏移值“0”到“L-1”指示的存储区域。同样的,页号“2”,…,“M”每个都拥有由偏移值“0”到“L-1”指示的存储区域。于是,每个缓冲器地址“BA”由上述的页号和上述的偏移值指定。
页存储器13作为链结构用于存储用来修改地址存储器的页的信息。例如,为了使缓冲器地址被存入所有的存储区域和和已经被存储的发送到输出端31的信元的页号,当页号升至下一页,下一页号被存入页存储器13。换句话说,如图17所示,下一个页号“PG”依照页号被存入页存储器13。类似地,相应于每个页号“2”,---,“M”的下一个页号被分别存入页存储器13。
如在图18中所示,页链PC1,PC2,---,PCN,相应于输出端31,32,---,3N,在页号和存入页存储器13的下一页号的基础上形成。
类似地,由地址存储器14中未存入缓冲器地址的未用区域组成的自由页,经由下一页号PG,按顺序互相链接,从而构成一个逻辑链结构。结果自由页链FPC就构成了。
如图19所示,指针存储器11包括链存在/缺失存储单元11A,写指针存储单元11B,和读指针存储单元11C。此外,写指针存储单元11B包括页号存储单元11D和偏移值存储单元11E。读指针存储器11C包括页号存储单元11F和偏移值存储单元11A。
在链存在/缺失存储单元11A中,存储有存在/缺失数据“E1”,“E2”,---,“EN”和“EF”。这些存在/缺失数据“E1”,“E2”,---,“EN”表示页链PC1,PC2,---,PCN是否存在,而存在/缺失数据“EF”表示自由页链FPC是否存在。
等于页链PC1的写指针的WP1”的页号“WPP1”被存入页号存储单元11D。同样,与页号“WPP1”相同,偏移值“WPO1”被存入偏移值存储单元11E。偏移值“WPO1”指定的存储区域在由页号“WPP1”指定的页中。
相类似地,页链PC2,---,PCN的写指针的“WP2”,---,“WPN”的页号“WPP2”,---,“WPPN”被存入页号存储单元11D,而页号“WPP2”,---,“WPPN”的偏移值“WPO2”,---,“WPON”被存入偏移值存储单元11E。同样,自由页链FPC的写指针作为页号“WPPE”被存入页号存储单元11D。
相类似地,页链PC1,PC2,---,PCN的读指针的“RP1”,“RP2”,---,“RPN”的页号“RPP1”,“RPP2”,---,“RPPN”被存入页号存储单元11F,而页号“RPP1”,“RPP2”,---,“RPPN”的偏移值“RPO1”,“RPO2”,---,“RPON”被存入偏移值存储单元11G。同样,自由页链FPC的读指针作为页号“RPPE”被存入页号存储单元11F。第二ATM交换电路中的写操作接收到从写控制单元4发出的存储请求后,控制单元12执行如流程20所示的处理操作。现在假设从多路复用单元1输出的ATM信元被发送到输出端3K。控制单元12发送一个端口信号b1-1和一个访问指令信号b2-2给指针存储单元11。端口信号b1指示相应于输出端3K的页链PCK,而访问指令信号b2指示关于链存在/缺失存储单元11A和偏移值存储单元11E的读操作。然后,从指针存储单元11接收到存在/缺失数据“EK”和偏移值“WPOK”后,控制单元12判断关于数据EK的值是否等于“1”和偏移值WPOK的值是否等于“L-1”(步骤S31)。也就是说,在步骤S31定义的处理操作检查关于当页链PCK存在时由写指针“WPK”指出的页内是否存在一个空存储区域。
在步骤S31,控制单元12判断页链PCK存在并且偏移值WPOK的值不等于“L-1”的情况下,控制单元12判断关于自由页链FPC的存在/缺失数据EF的值是否等于“0”(步骤S32)。因此,控制单元12发送一个端口信号“b1-2”和一个访问指令信号“b2-2”给指针存储器11。该端口信号b1-2表示一个自由页链FPC,而访问指令信号b2-2表示从链存在/缺失存储单元11A的读操作。然后,当从指针存储器11中接收到存在/缺失数据EF后,控制单元12可以执行上述判断。
如果控制单元12在步骤S32中判断出自由页链FPC存在,则该控制单元12发送一个存储许可给写控制单元4(步骤S33)。该存储许可允许存储输入的ATM信元。当在步骤S33定义的处理操作完成后,控制单元12判断关于页链PCK的存在/缺失数据EK是否等于“0”(步骤S34)。因此,控制单元12发送一个端口信号“b1-3”和一个访问指令信号“b2-2”给指针存储器11。该端口信号b1-3指示输出端3K,而访问指令信号b2-2表示从链存在/缺失存储单元11A的读操作。然后,当从指针存储器11中接收到数据EK后,控制单元12执行上述判断。
当在步骤S34判断出页链PCK存在时控制单元12执行PG(WPPK)←RPPF(步骤S35)的处理操作。
如图21所示,在步骤S35中定义的处理操作以这样的方式执行使由自由页链FPC中的读指针“RPPF”指向的页可以由页链PCK的最后页的下一页号“PG”指出(步骤S35)。上述最后页相应于由写指针“WPK”指出的某一页。
为执行在步骤S35定义的处理 操作,控制单元12同时发送端口信号b1-2和访问指令信号b2-3给指针存储器11。该端口信号b1-2指示自由页链FPC,而访问指令信号b2-3指示从读指针存储单元11C读出的指针。结果,当从指针存储器11接收到自由页链FPC的页号RPPF时,控制单元12同时发送一个端口信号b1-1和一个访问指令信号“b2-4”给指针存储器11。该端口信号b1-1指示页链PCK,而访问指令信号b2-4表示从页号存储单元11D的读操作。因此,当从指针存储器11接收到写指针WPK的页号WPPK时,控制单元12设置页号WPPK作为页信号a5。然后,控制单元12发送该页信号b5和另一个表示写操作的访问指令信号b6给页存储器13。同样,控制单元12发送页号RPPF作为写数据给页存储器13。相应地,读指针RPPF作为下一页号PG被存入对应于页存储器13地页号WPPK的存储区域。结果,由自由页链FPC中的读指针RPPF指向的页可以通过写指针WPK指向的页的下一页号PG指出。
当在步骤S35定义的处理操作完成后,控制单元12执行处理操作WPPK←RPPF,和WPOK←0(步骤S36)。
在步骤S36中定义的处理操作以这样的方式执行,如图22所示,使由页号RPPF指向的页可以通过写指针WPK的页号WPPK指出,并且写指针WPPK的偏移值WPOK的值被设为“0”。
为执行在步骤S36定义的处理操作,控制单元12同时发送端口信号b1-1和访问指令信号“b2-5”给指针存储器11。该端口信号b1-1指示页链PCK,而访问指令信号b2-5指示关于写指针存储单元11B的写操作。
同样,控制单元12发送数值“0”作为写数据给指针存储器11。从而,该数值“0”作为写指针“WPK”的偏移值“WPOK”被存储。
然后,控制单元12同时发送一个端口信号b1-2和一个访问指令信号“b2-6”给指针存储器11。该端口信号b1-2表示自由页链FPC,而访问指令信号b2-6表示从页号存储单元11F的读操作。因此,当从指针存储器11接收到页号RPPF时,控制单元12发送表示页链PCK的页信号b1-1和另一个表示写操作的访问指令信号“b2-7”给页号存储单元11D。同样,控制单元12发送读指针RPPF作为写数据给指针存储单元11。相应地,页号RPPF作为页指针WPK的页号WPPK被存储。结果,由自由页链FPC中的页号RPPF指向的页可以通过写指针WPK指出。
在步骤S34中页链PCK不存在的情况下,控制单元12执行如下处理操作RPPK←RPPF,RPOK←0,WPPK←RPPF,WPOK←0,EK←1(步骤S37)。
在步骤S37中定义的处理操作以这样的方式执行,使自由页链FPC的读指针RPK指向的未用区域既可以通过页链PCK的读指针又可以通过写指针WPK指出。结果,控制单元12新形成一个相应于输出端3K的页链“PCK”。然后,控制单元12设置指针存储器11的存在/缺失数据“EK”为“1”。
为执行在步骤S37中处理操作,控制单元12同时发送表示页链PCK的端口信号b1-1和访问指令信号“b2-8”给指针存储器11。该访问指令信号b2-8表示关于存储单元11E和11G的偏移值的写操作。同样,控制单元12发送“0”作为写数据给指针存储器11。结果,作为写指针WPK的偏移值WPOK和读指针RPK的偏移值RPOK,数值“0”被存储到该指针存储器11。
然后,控制单元12同时发送表示自由页链FPC的端口信号b1-2和访问指令信号b2-6给指针存储器11。该访问指令信号b2-6表示从页号存储单元11F的读操作。从指针存储单元11接收到页号RPPF后,结果,控制单元12同时发送表示页链PCK的端口信号b1-1和访问指令信号“b2-9”给指针存储器11。该访问指令信号b2-9表示关于页号存储单元11D和11F的写操作。
同样,控制单元12发送页号RPPF作为写数据给指针存储器11。结果,作为写指针WPK的页号WPPK和读指针RPK的页号RPPK,页号RPPM被存储到该指针存储器11。
然后,控制单元12同时发送表示页链PCK的端口信号b1-1和访问指令信号“b2-10”给指针存储器11。该访问指令信号b2-10表示关于链存在/缺失存储单元11A的写操作。同样,控制单元12发送“1”作为写数据给指针存储器11。结果,作为存在/缺失数据“EK”,数值“1”被存储。
当在步骤S36或步骤S37定义的处理操作完成后,控制单元12判断关于自由页链FPC的页号WPPF是否等于页号RPPF(步骤S38)。为执行步骤S38定义的处理操作,控制单元12同时发送表示自由页链FPC的端口信号b1-2和访问指令信号“b2-11”给指针存储器11。该访问指令信号b2-11表示从页号存储单元11D和11F中的读操作。结果,从指针存储器11接收到自由页链FPC的页号“WPPF”和“RPPF”时,控制单元12执行上述判断。
在上一步骤S38中自由页链FPC的页号WPPF不同于页号RPPF的情况下,控制单元12执行处理操作RPPF←PG(RPPF)(步骤S39)如图23所示,在步骤S39中定义的处理操作以这种方式执行,使由自由页链FPC的首页的下一个页号PG指向的页可以通过等于自由页链FPC的读指针的页号RPPF指出。结果,当定义的处理操作执行到步骤S38终止时,如果顺向后的方向按1页依次转移自由页链FPC的首页,控制单元12将页号RPPF传送给自由页链FPC的新的首页。
为执行在步骤S39中定义的处理操作,控制单元12同时发送表示自由页链FPC的端口信号b1-2和访问指令信号b2-6给指针存储器11。该访问指令信号b2-6表示从页号存储单元11F中的读操作。结果,从指针存储器11接收到页号RPPF后,控制单元12设置这个页号RPPF作为页信号b5。然后,控制单元12同时发送页信号b5和表示读操作的访问指令信号b6给页存储器13。结果,当从页存储单元13收到下一页号时,控制单元12同时发送表示自由页链FPC的端口信号b1-2和表示从页号存储单元11F中的读操作的访问指令信号“b2-12”给指针存储器11。
同样,控制单元12发送下一页号PG作为写数据给指针存储器11。结果,下一页号PG作为页号RPPF存储在指针存储器11中。
在上一步骤S38中自由页链FPC的页号WPPF等于页号RPPF的情况下,控制单元12设置自由页链FPC的存在/缺失数据EF值为“0”(步骤S40)。
这个处理操作的执行,表示一个事实,即自由页链FPC不存在。
为执行在步骤S40定义的处理操作,控制单元12同时发送表示自由页链FPC的端口信号b1-2和表示从链存在/缺失存储单元11A中的写操作的访问指令信号b2-10给指针存储器11。同样,控制单元12发送数值“0”作为写数据给指针存储器11。结果,作为存在/缺失数据EF RPPF,数值“0”被存储在该指针存储器11。此外,在页链PCK存在,并且在前面的步骤S31中偏移值WPOK不等于数值“L-1”的情况下,控制单元12给偏移值WPOK加1(步骤S41)。
为执行在步骤S41中定义的处理操作,控制单元12同时发送端口信号b1-1和访问指令信号“b2-13”给指针存储器11。该端口信号b1-1表示页链PCK,而该访问指令信号b2-13表示从偏移值存储单元11E的读操作。结果,当从指针存储器11接收到偏移值WPOK时,控制单元12执行一个给WPOK的值加“1”的计算。然后,控制单元12同时发送端口信号b1-1和访问指令信号“b2-14”给指针存储器11。该端口信号b1-1表示页链PCK,而该访问指令信号b2-14表示关于偏移值存储单元11E的写操作。
同样,控制单元12发送数值“WPOK+1”作为写数据给指针存储器11。结果,作为偏移值数据“WPOK”,该数值“WPOK+1”被存储。
当在步骤S39,步骤S40,或步骤S41中定义的处理操作完成后,控制单元12执行BA(WPK)←空缓冲器地址的处理操作(步骤S42)。
在步骤S42中定义的处理操作执行如下也就是,如图24所示,当地址存储器14从空地址管理存储器9接收到空缓冲器地址时,控制单元12控制上述的空缓冲器地址作为缓冲器地址“BA”存入由写指针“WPK”指定的未用区域。
如果在前面的步骤S32中没有自由页链FPC,则控制单元12提供给写控制单元4,不允许存储输入的信元(步骤S43),然后则完成了图5中全部的处理操作。
如前面所解释的,当控制单元12从写控制单元4接收到存储请求,该控制单元12执行这样的处理操作使一个新的缓冲器地址被存储到相应的页链PCK的最后部分。在第二ATM交换电路中的缓冲器地址控制另一方面,当从读控制单元5接收到输出端3K和缓冲器地址的输出指令,控制单元12开始一个由如图25所示的流程图所定义的处理操作。换句话说,同时接收到输出端3K和输出指令后,控制单元12控制输出一个缓冲器地址(步骤S51)。在该步骤S51中定义的处理操作以这样的方式执行,如图26中所示,使得因为页链PCK相应于输出端3K,由页链PCK的读指针RPK指出的缓冲器地址“BA”被输出。
为执行在步骤S51中定义的处理操作,控制单元12同时发送端口信号b1-1和访问指令信号“b2-15”给指针存储器11。该端口信号b1-1表示页链PCK,而该访问指令信号b2-16表示从页号存储单元11F和偏移存储单元11G的读操作。结果,从指针存储器6接收到读指针“RPK”,控制单元12设置读指针“RPK”为指针信号b3。该读指针RPK由页号RPPK和偏移值RPOK组成。然后,控制单元12同时发送该指针信号b3和表示读操作的访问控制信号b4给地址存储器14。结果,缓冲器地址“BA”从地址存储器14既被传送给信元缓冲存储器2又被传送给空地址管理存储器9,这个缓冲器地址BA由页号RPPK和偏移值RPOK指定。
当在步骤S51中定义的处理操作完成时,控制单元12检查关于页链PCK的写指针WPK是否不同于读指针RPK,而且检查偏移值RPOK是否不同于“L-1”(步骤S52)。
为执行在步骤S52中的处理操作,控制单元12同时发送表示页链PCK的端口信号b1-1和访问指令信号“b2-16”给指针存储器11。该访问指令信号b2-16表示从页号存储单元11D,11F和偏移值存储单元11E,11G的读操作。然后,从指针存储器11既收到写指针WPK又收到读指针RPK。该写指针WPK由页号“WPPK”和偏移值“WPOK”组成,而该读指针RPK由页号“RPPK”和偏移值“RPOK”组成。
在步骤52中,在控制单元12判断写指针WPK等于读指针RPK或偏移值RPOK的值等于“L-1”的情况下,控制单元12,以与上述步骤S32相类似的方式,判断自由页链FPC的存在/缺失数据EF的值等于“0”(步骤S53)。
当在该步骤S53中控制单元12判断自由页链FPC存在时,该控制单元执行PG(WPPF)←RPRK(步骤S54)的处理操作在步骤S54中定义处理操作被执行,如图27所示。也就是,由页号RPPK指定的页可以由下一页号PG指出。下一页号PG相应于由自由页链FPC的页号WPPF指定的页的下一页。
为执行在步骤S54中定义的处理操作,控制单元12同时发送端口信号b1-1和访问指令信号b2-6给指针存储器11。该端口信号b1-1表示页链PCK,而该访问指令信号b2-6表示从页号存储单元11F中的读操作。结果,当从指针存储器11接收到页号RPPK时,控制单元12同时发送端口信号b1-2和访问指令信号b2-4给指针存储器11。该端口信号b1-2表示自由页链FPC,而该访问指令信号b2-4表示从页号存储单元11D中的读操作。然后,当从指针存储器11接收到页号WPPK时,控制单元12设置这个页号WPPF作为页信号b5。然后,控制单元12同时发送页信号b5和另一表示写操作的访问指令信号b6给页存储器13。同样地,控制单元12将页号RPPK作为写数据发送给页存储器13。相应地,值“RPPK”作为下一个页号PG被存入相应于页存储器13的页号WPPF的存储区域。结果,由页号RPPK指定的某页可以通过下一页号PG指出。
当在步骤S54中定义的处理操作完成后,控制单元12执行WPPF←RPPK的处理操作(步骤S55)。
执行在步骤S55中定义的处理操作,如图28中所示。也就是,由页号RPPK指定的某页可以通过页号WPPF指出。
为执行在步骤S55中定义的处理操作,控制单元12同时发送端口信号b1-1和访问指令信号b2-6给指针存储器11。该端口信号b1-1表示页链PCK,而该访问指令信号b2-6表示从页号存储单元11F的读操作。结果,当从指针存储器11接收到页号RPPK时,控制单元12同时发送端口信号b1-2和访问指令信号b2-6给指针存储器11。该端口信号b1-2表示自由页链FPC,而该访问指令信号b2-6表示关于页号存储单元11D中的写操作。同样,控制单元12发送数值RPPK作为写数据给指针存储器11。相应地,值RPPK作为页号WPPF被存储。结果,由页号RPPK指定的某页可以通过页号WPPF指出。
相反地,当在前面的步骤S53中自由页链FPC不存在时,控制单元12执行RPPF←RPPK,WPPF←RPPK,和EF←1的处理操作(步骤S56)。
在步骤S56中定义的处理操作以下述方式执行即,由页链PCK的页号RPPK指向的页既可以通过页号WPPF又可以通过自由页链FPC的页号RPPF指出。结果,控制单元12新生成一个自由页链FPC。然后,控制单元12设置指针存储器11的存在/缺失数据EF为“1”。
为执行在步骤S56中定义的处理操作,控制单元12同时发送端口信号b1-1和访问指令信号b2-6给指针存储器11。该端口信号b1-1表示页链PCK,而该访问指令信号b2-6表示从页号存储单元11F中的读操作。结果,当从指针存储器11接收到页号RPPK时,控制单元12同时发送端口信号b1-2和访问指令信号b2-9给指针存储器11。该端口信号b1-2表示自由页链FPC,而该访问指令信号b2-9表示关于页号存储单元11D和11F中的写操作。同样,控制单元12发送数值RPPK作为写数据给指针存储器11。相应地,值RPPK作为页号WPPF和页号RPPF被存储。然后,控制单元12同时发送表示自由页链FPC的端口信号b1-2和访问指令信号b2-10给指针存储器11。该访问指令信号b2-10表示关于链存在/缺失存储单元11A的写操作。控制单元12发送数值“1”作为写数据给指针存储器11。结果,作为存在/缺失数据EF,数值“1”被存储。结果,形成一个新的自由页链FPC。
当在步骤S55或者在步骤S56中定义的处理操作完成后,控制单元12判断关于页链PCK的写指针WPK是否等于写指针RPK(步骤S57)。为执行在步骤S57中定义的处理操作,控制单元12同时发送表示页链PCK的端口信号b1-1和访问指令信号b2-16给指针存储器11。该访问指令信号b2-16表示关于从页号存储单元11D和11F中也表示从偏移值存储单元11E和11G中的读操作。随后,当控制单元12从指针存储器11接收写指针“WPK”和读指针“RPK”时,该控制单元12执行上述判断。该写指针WPK由页号WPPK和偏移值WPOK组成,而该读指针RPK由页号RPPK和偏移值RPOK组成。
当控制单元12判断写指针WPK不同于读指针RPK,控制单元12执行RPPK←PG(RPPK)和RPOK←0(步骤S58)的处理操作。
如图29所示,在步骤S58中定义处理操作以这样的方式执行使由页链PCK的首页的下一页号PG指定的页可以通过读指针RPK的页号RPPK被指出,此外,偏移值RPOK被设为“0”。
为执行在步骤S58中定义的处理操作,控制单元12同时发送表示页链PCK的端口信号b1-1和访问指令信号b2-6给指针存储器11。该访问指令信号b2-6表示从页号存储单元11F的读操作。结果,当从指针存储器11接收到页号RPPK时,控制单元12设置这个页号RPPK作为页信号b5。然后,控制单元12同时发送页信号b5和表示读操作的访问指令信号b6给页存储器13。结果,当从页存储器13中接收到下一页号PG时,控制单元12同时发送表示页链PCK的端口信号b1-1和表示从页号存储单元11F的写操作的访问指令信号b2-12给指针存储器11。同样,控制单元12发送页号PG作为写数据给指针存储器11。结果,作为页号RPPK,下一页号PG被存储在该指针存储器11中。
然后,控制单元12同时发送表示页链PCK的端口信号b1-1和表示关于偏移值存储单元11G中的写操作的访问指令信号“b2-17”给指针存储器11。同样,控制单元12发送数值“0”作为写数据给。结果,作为偏移值RPO,数值“0”被存储在该指针存储器11中。然后,在步骤S58中定义的处理操作结束。
另一方面,当控制单元12在步骤S57中判断写指针WPK等于读指针RPK时,控制单元12设置页链PCK的存在/缺失数据EK的值为“0”(步骤S59)。
另外,在步骤S52中,在页链的PCK的写指针WPK不等于读指针RPK,而且偏移值RPOK也不等于值“L-1”的情况下,控制单元12给偏移值RPOK加“1”(步骤S60)。
为执行在步骤S60中定义的处理操作,控制单元12同时发送表示页链PCK的端口信号b1-1和表示从偏移值存储单元11G中的读操作的访问指令信号b2-17给指针存储器11。结果,当从指针存储器11接收到偏移值RPOK时,控制单元12给该偏移值RPOK加“1”。然后,控制单元12同时发送表示页链PCK的端口信号b1-1和表示从偏移值存储单元11G中的写操作的访问指令信号b2-17给指针存储器11。同样,控制单元12发送另一数值“RPOK+1”作为写数据给指针存储器11。结果,作为偏移值RPOK,数值“WPOK+1”被存储。然后,在步骤S60中定义的处理操作结束。
现在,将对图15中的第二ATM交换电路中所执行的全部操作进行说明。
进入输入端口11,12,…,1N中的ATM信元由多路复用信元1多路转接,随后将多路转接后的ATM信元提供给信元缓冲存储器2。当输出此多路转接信元时,写控制信元4检测此多路转接信元的目的地。当此多路转接ATM信元的目的地为输出端口3k时,写控制信元4同时将指示此输出端口3k的端口信号以及此多路转接ATM信元的存储请求传送给控制信元12。
当控制信元12接收到上述存储请求时,如果控制信元12在步骤S31及S41判定存在与输出端口3k相对应的页链PCk且写指针WPk的偏移值WPOk与值L-1不同时,则此控制信元12将把现在的偏移值WPOk加“1”,并将由该写指针WPk所指示的存储区移动1个存储区,于是该写指针WPk将指向未用区。随后,在步骤S42,控制信元12把从未占用地址管理存储器9接收来的未占用缓冲区地址作为缓冲区地址“BA”存储进由写指针WPk所指向的未用区中。
同样,如果接收到上述存储请求且在步骤S31不存在页链PCk,或是该写指针WPk的偏移值WPOk等于值“L-1”,则控制信元12将判定在由该写指针WPk所指出的页面中不存在未用区。此后,当在步骤S32不存在自由页链FPC时,控制信元12将控制写控制信元4在步骤S43废弃源自多路复用信元1的ATM信元。
当在步骤S32存在自由页链FPC时,控制信元12将允许写控制信元4在步骤S33存储所输入的ATM信元。此后,在步骤S34出现了页链PCk时,控制信元12在步骤S35和S36将自由页链FPC的标题段与页链PCk的最后一段连在一起,于是用于将缓冲区地址存入其中的未用区被插入到页链PCk中。此后,控制信元12控制进行一步操作使得页链PCk的读指针“RPk”指向其最后一段。相反,当在步骤S34不存在页链PCk时,控制信元12将在步骤S37重新产生一个页链PCk以插入一个用于将缓冲区地址存入其中的未用区。
插入了未用区之后,如果在步骤S38自由页链FPC的页号WPPF与页号RPPF不同时,则控制信元12将判定该仍然存在自由页链FPC。于是,控制信元12将页号RPPF移动到该自由页链FPC的一个新的标题页。相反,当在步骤S38该自由页链FPC的页号WPPF与页号RPPF相同时,则在步骤S40控制信元12将判定不再存在自由页链FPC。
此后,在步骤S42,控制信元12将从未占用地址管理存储器9接收来的未占用缓冲区地址作为缓冲区地址“BA“存储在由该写指针WPk所指出的未用区中。
如上所述,所输入的ATM信元的缓冲区地址“BA”被存储到该页链PCk的最后一页中。
另一方面,当ATM信元被输出到端口3k时,读控制信元5同时将指示了输出端口3k的端口信号及指示了缓冲区地址的输出指令发送给控制信元12。其结果是,在步骤S51控制信元12对地址储存存储器14进行控制。地址储存存储器14读取由与输出端口3k相对应的页链PCk的读指针RPk所指出的缓冲区地址BA,随后将所读出的此缓冲区地址BA同时提供给信元缓冲存储器2以及未占用地址管理存储器9。在此未占用地址管理存储器9中,从由缓冲区地址BA所指明的存储区中读出ATM信元,随后在控制信元12的控制下将所读出的ATM信元传送到输出端口3k。同样,在此未占用地址管理存储器9中,也是将缓冲区地址BA作为未占用缓冲区地址进行管理的。
当从地址储存存储器14中输出了缓冲区地址BA时,如果在步骤S52及S60写指针WPk或页链PCk中有任一个与读指针RPk相同,或读指针RPk的偏移值WPOk与值“L-1”不同,则控制信元12便把现在的偏移值WPOk加1。其结果是,读指针RPk将指向下一个缓冲区地址。
当在步骤S52该页链PCk的写指针WPk不同于读指针RPk,且该读指针RPk的偏移值WPOk与“L-1”值相同时,则控制信元12便可以判定在由该读指针RPk所指明的页面中不存在该缓冲区地址BA。此后,当在步骤S53出现了自由页链FPC时,控制信元12将在步骤S54及S55把由读指针RPk所指明的页面连到自由页链FPC的最后一段上,从而将此页面汇编进该自由页链FPC中。同样,在步骤S53,当没有自由页链FPC时,控制信元12在步骤S56重新产生一个自由页链FPC。
当控制信元12在步骤S57完成了将由写指针WPk所指向的页面汇编进自由页链FPC中的步骤而写指针WPk又不同于读指针RPk时,控制信元12将判定存在页链PCk,并在随后执行步骤S58所定义的处理操作。其结果是,读指针RPk可以指出页链PCk的标题页。同样,在步骤S57,当写指针WPk与读指针RPk相同时,控制信元12将判定不存在页链PCk,此后便完成了全部的处理操作。
如上所述,依照上述根据本第二实施例的ATM交换电路的电路配置,尽管在根据第一实施例的ATM交换电路中需要下指针储存信元8A,仍可以省略掉址储存存储器8的下指针储存信元8A。例如,当地址储存存储器8中可以存储64,000条缓冲区地址时,下指针储存信元8A的存储容量需要16位×64k=1,024千字节相反,当在1页面中可以存储256条缓冲区地址时,页面储存存储器13的存储容量只需要8位×256=2千字节其结果是,由于下指针储存信元8A的存储容量被大幅度地降低了,与页面储存存储器13的存储容量的增加量相比,可以减小所得的存储器容量。第三ATM交换电路概述接下来将参照附图对根据本发明第三实施例的另一种ATM交换电路进行详细地说明。
图30所示为根据本发明第三实施例的ATM交换电路的结构方框图。图31所示为图30所示的第三ATM交换电路中所采用的信元缓冲存储器的结构示意图。图32所示为用于解释图30所示的第三ATM交换电路的链形结构的示意图。图33所示为图30所示的第三ATM交换电路中所采用的地址储存存储器的结构示意图。图34所示为用于解释图30所示的ATM交换电路中所采用的控制信元所执行的处理操作的流程图。图35所示为用于解释由图30所示的第三ATM交换电路中所采用的控制信元的处理操作所进行的一次指针移动的示意图。图36所示为用于解释由图30所示的第三ATM交换电路中所采用的控制信元的处理操作所进行的一次指针移动的示意图。图37所示为用于解释由图30所示的第三ATM交换电路中所采用的控制信元的处理操作所进行的一次指针移动的示意图。图38所示为用于解释由图30所示的第三ATM交换电路中所采用的控制信元的处理操作所进行的一次指针移动的示意图。图39所示为用于解释由图30所示的第三ATM交换电路中所采用的控制信元的处理操作所进行的一次信元输出处理操作的流程图。图40所示为用于说明由图30所示的第三ATM交换电路中所采用的控制信元的处理操作所进行的一次指针移动的示意图。图41所示为用于说明由图30所示的第三ATM交换电路中所采用的控制信元的处理操作所进行的一次指针移动的示意图。图42所示为用于说明由图30所示的第三ATM交换电路中所采用的控制信元的处理操作所进行的一次指针移动的示意图。图43所示为用于说明由图30所示的第三ATM交换电路中所采用的控制信元的处理操作所进行的一次指针移动的示意图。第三ATM交换电路的结构如图30所示,此第三ATM交换电路(异步传输模式)由一个多路复用信元1,信元缓冲存储器21,分离信元3,写控制信元4,读控制信元5,控制信元22,页面储存存储器13,及一个地址储存存储器23组成。其应被理解的是对于图30中的相同,或相类似电路元件将采用与图1及图15中所示相同的参考数符。因此将省略对其详细的说明。
信元缓冲存储器21在其中存储有一个ATM信元。如图31所示,信元缓冲存储器21被用于将信元“CE”存储进一个存储区中,而“L”条存储区被聚合在一起以作为一个逻辑页面进行处理。也就是说,在信元缓冲存储器21中,页号“1”具有由偏移值“0”到“L-1”所指示的存储区。类似地,页号“2”,…“M”具有由偏移值“0”到“L-1”所指示的存储区。因此每个信元“CE”是根据上述页号及上述偏移值来指定的。
如图32所示,根据存储在页面储存存储器13中对应于输出端口31,32,…,3N的下页号“PG”在信元缓冲存储器21中形成了页链BPC1,BPC2,…,BPCN。
类似地,利用页面储存存储器13的下页号PG将由信元缓冲存储器21内其中未存储有信元的未用区构成的自由页面彼此顺序地链接在一起从而形成了一个逻辑链结构。其结果是,形成了一个自由页链BFPC。
如图33所示,地址储存存储器23配备有一个链存在/不存在存储信元23A,一个写地址存储信元23B,及一个读地址存储信元23C。另外,此写地址存储信元23B配备有一个页号存储信元23D,及一个偏移值存储信元23E。读地址存储信元23C配备有一个页号存储信元23F及一个偏移值存储信元23G。
“E1”,“E2”,…“EN”及“EF”的存在/不存在数据被存入链存在/不存在存储信元23A中。“E1”,“E2”,…“EN”及“EF”的这些存在/不存在数据表明了是否存在页链BPC1,BPC2,…,BPCN。分别提供这些页链BPC1,BPC2,…,BPCN以与输出端口31,32,…,3N向对应。类似地,指示了是否存在自由页链BFPC的“EF”的存在/不存在数据被存储进链存在/不存在存储信元23A中。
页链BPC1的写地址“WA1”的页号“WAP1”被存储进页号存储信元23D中。当该写地址WA1的页号等于WP1时,页号WAP1的偏移值WAO1便被存储进偏移值存储信元23E中。偏移值“WAO1”指明了由页号“WAP1”所指明的一个页面内的一个存储区。
类似地,写地址“WA2”,…。“WAN”的页号“WAP2”,…,“WAPN”被存储进页号存储信元23D中,而页号“WAP2”,…,“WAPN”的偏移值“WAO2”,…,“WAON”被存储进偏移值存储信元23E中。同样,将自由页链BFPC的一个写地址作为一个页号“WAPA”存入页号存储信元23D中。
类似地,页链BPC1,BPC2,…,BPCN的读地址“RA1”,“RA2”,…,“RAN”的页号“RAP1”,“RAP2”,…,“RAPN”被存储进页号存储信元23F中,而页号“RAP1”,“RAP2”,…,“RAPN”的偏移值“RAO1”,“RAO2”,…,“RAON”被存储进偏移值存储信元23G中。同样,将自由页链BFPC的一个读地址作为一个页号“RAPA”被存储进页号存储信元23F中。第二ATM交换电路中的写操作一旦接收到从写控制信元4发出的存储请求,控制信元22便执行图34的流程图中所示的处理操作。现在假设从多路复用信元1中输出的一个ATM信元是被发往输出端口3k的。控制信元22将一个端口信号“c3-1”及一个存取指令信号“c4-1”传送给地址储存存储器23。端口信号c3-1指示与输出端口3k相对应的一条页链BPCk,而存取指令信号c4-1指示对链存在/不存在存储信元23A及偏移值存储信元23E的读取操作。此后,一旦接收到来自地址储存存储器23的存在/不存在数据“Ek”及偏移值“WAOk”,控制信元22便判断数据Ek是否等于值“1”而偏移值WAOk是否等于值“L-1”(步骤S61)。也就是说,步骤S61所定义的处理操作是检测当存在页链BPCk时在由写地址“WAk所指出的一个页面中是否存在一个空存储区。
当在步骤S61控制信元22判定不存在页链BPCk,或偏移值WAOk等于值“L-1”时,此控制信元22便判断自由页链BFPC的存在/不存在数据EF是否等于“0”(步骤S62)。如果控制信元22在步骤S62判定存在有自由页链BFPC,则此控制信元22将判断页链BPCk的存在/不存在数据Ek是否等于“0”(步骤S63)。
当其在步骤S63判定存在有页链BPCk时,则控制信元22执行PG(WAPk)←RAPF(步骤S64)的处理操作。
如图35所示,步骤S64所定义的处理操作是以如此的一种方式来执行的由自由页链BFPC的页号RAPF所指向的一个页面可以由页链“BPCk”的最后一个页面的下页号“PG”来指出。上述最后页面对应于由写地址“WAk”所指向的一个页面。为了执行步骤S64所定义的处理操作,控制信元22同时将一个端口信号“c3-2”及一个存取指令信号“c4-2”传送给地址储存存储器23。端口信号c3-2指示该自由页链BFPC,而存取指令信号c4-2则指示来自读地址存储信元23C的读取操作。其结果是,当从地址储存存储器23接收到页号RAPF时,控制信元22同时将端口信号c3-1及存取指令信号“c4-3”发送给地址储存存储器23。端口信号c3-1表明了页链BPCk,而存取指令信号c4-3则代表了来自页号存储信元23D的读取操作。此后,当从地址储存存储器23接收到该页链BPCk的页号WAPk时,控制信元22将页号WAPk设置为一个页面信号b5。此后,控制信元22同时将此页面信号b5及指示了一次写操作的另一存取指令信号b6发送给页面储存存储器13。
另外,控制信元22还将该页号RAPF作为写数据传送给页面储存存储器13。因此,该页号RAPF作为下页号PG被存储进对应于页面储存存储器13的页号WAPk的存储区中。其结果是,由自由页链BFPC的页号RAPF所指向的一个页面可以由写地址WAk所指向的页面的下页号PG来指出。
当完成了步骤S64所定义的处理操作时,控制信元22执行WAPk←RAPF,及WAOk←0(步骤S65)的处理操作。
步骤S65所定义的处理操作是以如此一种方式来执行的如图36所示,由页号RAPF所指出的一个页面可以由页号WAPk指出而写地址WAk的偏移值WAOk则被设置为“0”。
为了执行步骤S65所定义的处理操作,控制信元22同时将端口信号c3-2及存取指令信号“c4-2”传送给地址储存存储器23。端口信号c3-2指示该自由页链BFPC,而存取指令信号c4-2则指示来自页号存储信元23F的读取操作。其结果是,一旦接收到来自地址储存存储器23的页号RAPF,控制信元22便同时将指示页链BPCk的端口信号c3-1及存取指令信号“c4-4”发送给地址储存存储器23。此存取指令c4指示了对页号存储信元23D的一次写操作。同样,控制信元22将该页号RAPF作为写数据发送给地址储存存储器23。因此,将该页号RAPF存储为页号WAPk。
此后,控制信元22同时将端口信号c3-1及存取指令信号“c4-5”发送给地址储存存储器23。端口信号c3-1表明了页链BPCk,而存取指令信号c4-5则代表了对偏移值存储信元23E的一次写操作。另外,控制信元22还将一个“0”值作为写数据传送给地址储存存储器23。
因此,该“0”值被作为读地址WAk的偏移值WAOk存储起来。其结果是,由该页号RAPF指向的一个页面可以由该页号WAPk指出。
在步骤S63不存在页链BPCk的情况中,控制信元22将执行RAPk←RAPF,RAOk←0,WAPk←RAPk,WAOk←0,Ek←1的处理操作(步骤S66)步骤S66所定义的处理操作是以如此一种方式来执行的由自由页链BFPC的页号RAPF所指向的一个未用区可以由页链BPCk的读地址RAk的页号RAPk以及写地址WAk的页号WAPk来指出。其结果是,控制信元22重新形成一条与输出端口3k相对应的页链“BPCk”。随后,控制信元22将地址储存存储器23的存在/不存在数据“Ek”设置为“1”。
为了执行步骤S66所定义的处理操作,控制信元22同时将指示了页链BPCk的端口信号c3-1及存取指令信号“c4-6”传送给地址储存存储器23。此存取指令信号c4-6指示了对偏移值存储信元23E及偏移值存储信元23G的写操作。同样,控制信元22将“0”作为写数据发送给地址储存存储器23。其结果是,该“0”值被作为一个偏移值WAOk及一个偏移值RAOk存储进此地址储存存储器23中。
此后,控制信元22同时将指示了自由页链BFPC的端口信号c3-2及存取指令信号c4-2传送给地址储存存储器23。其结果是,一旦接收到来自地址储存存储器23的页号RAPF,控制信元22便同时将指示了页链BPCk的端口信号c3-1及存取指令信号“c4-7”传送给地址储存存储器23。此存取指令信号c4-7指示了对页号存储信元23D及页号存储信元23F的一次写操作。同样,控制信元22还将该页号RAPF作为写数据发送给地址储存存储器23。其结果是,读地址RAPF被作为读地址RAk的一个页号RAPk及写地址WAk的一个页号WAPk存储进此地址储存存储器23中。
此后,控制信元22同时将指示了页链BPCk的端口信号c3-1及存取指令信号“c4-8”传送给地址储存存储器23。此存取指令信号c4-8指示了对页号存储信元23D及链存在/不存在存储信元23A的一次写操作。同样,控制信元22将值“1”作为写数据发送给地址储存存储器23。其结果是,值“1”被存储为存在/不存在数据“Ek”。因此,由自由页链BFPC的页号RAPF指向的未用区可以由页链BPCk的读地址RAk的页号RAPk及写地址WAk的页号WAPk指出。
当完成了步骤S65或步骤S66所定义的处理操作时,控制信元22便判断自由页链BFPC的页号WAPF是否与页号RAPF相同(步骤S67)。为了执行步骤S67所定义的处理操作,控制信元22同时将指示了自由页链BFPC的端口信号c3-2及存取指令信号c4-2传送给地址储存存储器23。其结果是,一旦接收到来自地址储存存储器23的页号RAPF,控制信元22便同时将指示了自由页链BFPC的端口信号c3-2及存取指令信号“c4-9”传送给地址储存存储器23。此存取指令信号c4-9指示了对页号存储信元23D及页号存储信元23F的一次读操作。其结果是,一旦接收到来自地址储存存储器23的页号“WAPF”及“RAPF”,控制信元22将执行上述判断处理。
在完成了步骤S67所定义的处理操作之后,控制信元22执行RAPF←PG(RAPF)(步骤S68)的处理操作。
如图37所示,步骤S68所定义的处理操作是以如此一种方式来执行的由自由页链BFPC的下页号PG所指向的一个页面可以由该自由页链BFPC的页号RAPF指出。其结果是,控制信元22将页号RAPF移动到该自由页链BFPC的一个新标题页。
为了进行步骤S68所定义的处理操作,控制信元22同时将指示了自由页链BFPC的端口信号c3-2及存取指令信号“c4-2”传送给地址储存存储器23。此存取指令信号c4-2指示了来自页号存储信元23F的一次读操作。其结果是,一旦接收到来自地址储存存储器23的页号RAPF,控制信元22便将此页号RAPF设置为页面信号b5。此后,控制信元22同时将页面信号b5及存取指令信号b6传送给页面储存存储器13。其结果是,当接收到来自页面存储信元13的下页号PG时,控制信元22同时将指示了自由页链BFPC的端口信号c3-2以及代表了对页号存储信元23F的写操作的存取指令信号“c4-10”传送给地址储存存储器23。另外,控制信元22还把下页号PG作为写数据发送给地址储存存储器23。其结果是,下页号PG作为页号RAPF被存储到地址储存存储器23中。其结果是,由自由页链BFPC的下页号PG所指向的一个页面可以由该自由页链BFPC的页号RAPF指出。
当在先前步骤S67中自由页链BFPC的页号WAPF与页号RAPF相同的情况中,控制信元22将自由页链BFPC的存在/不存在数据EF设置为“0”(步骤S69)。执行此处理操作将表明不存在自由页链BFPC。另外,在先前步骤S61中存在页链BPCk,且偏移值WAOk不同于“L-1”值的情况中,控制信元22将把偏移值WAOk的值加“1”(步骤S70)。
为了执行步骤S70所定义的处理操作,控制信元22同时将端口信号c3-1及存取指令信号“c4-11”传送给地址储存存储器23。其结果是,当从地址储存存储器23接收到偏移值WAOk时,控制信元22将进行把该偏移值WAOk加“1”的计算。此后,控制信元22同时将端口信号c3-1以及一个存取指令信号“c4-5”传送给地址储存存储器23。端口信号c3-1表示页链BPCk,而存取指令信号c4-5则代表了对偏移值存储信元23E的一次写操作。另外,控制信元22还把值“WAOk+1”作为写数据发送给地址储存存储器23。其结果是,值“WAOk+1”被存储为偏移值“WAOk”。
当完成了步骤S68,步骤S69,或步骤S70所定义的处理操作时,控制信元22执行信元(WAk)←输入信元的处理操作(步骤S71)。
步骤S71所定义的处理操作是以如下方式执行的即,如图38所示,控制信元22对将被存储进由写地址“WAk”所指向的未用区中的信元进行控制。
为了进行步骤S71所定义的处理操作,控制信元22同时将指示了页链BPCk的端口信号c3-1,和存取指令信号“c4-12”传送给地址储存存储器23。此存取指令信号c4-12指示了来自页号存储信元23D及偏移值存储信元23E的一次读操作。其结果是,将从地址储存存储器23接收到由页号WAPk及偏移值WAOk构成的写地址WAk。控制信元22将此WAk设置为一个设置信号c1。此后,控制信元22同时将一个地址信号c1及一个指示了写操作的存取指令信号c2传送给信元缓冲存储器21。其结果是,该信元被存储进信元缓冲存储器21里由此写地址WAk所指向的一个未用区中。
另一方面,当在先前步骤S62不存在自由页链BFPC时,控制信元22将控制信元缓冲存储器21以废弃该输入信元(步骤S72),随后完成图34所示的处理操作。第二ATM交换电路中的信元输出控制另一方面,当从读控制信元5接收到输出端口3k及一个信元的输出指令时,控制信元22将启动图39所示的流程图所定义的处理操作。换句话说,一旦接收到输出端口3k及该输出指令,此控制信元22将控制输出一个信元(步骤S81)。步骤S81所定义的处理操作是以如此一种方式来执行的如图40所示,由于页链BPCk对应于输出端口3k,则将输出一个由该页链BPCk的读指针RAk所指向的一个信元“CE”。
为了执行步骤S82所定义的处理操作,控制信元22同时将端口信号c3-1及一个存取指令信号“c4-13”传送给地址储存存储器23。此端口信号c3指示了页链BPCk,而该存取指令信号则指示了来自页号存储信元23F及偏移值存储信元23G的读操作。其结果是,一旦从地址储存存储器23接收到读地址“RAk”,控制信元22将把该读地址“RAk”设置为一个地址信号。第三ATM交换电路中的信元输出控制另一方面,当从读控制信元5接收到输出端口3k及一个信元的输出指令时,控制信元22将启动由图39所示的流程图所定义的处理操作。换句话说,一旦接收到输出端口3k及该输出指令,控制信元22将控制输出一个ATM信元(步骤S81)。此步骤S81所定义的处理操作是以如此一种方式来执行的如图40所示,由于页链BPCk对应于输出端口3k,则将输出由该页链BPCk的读地址RAk所指出的一个信元“CE”。
为了执行步骤S81所定义的处理操作,控制信元22同时将端口信号c3-1及存取指令信号“c4-13”传送给地址储存存储器23。此端口信号c3-1指示了页链BPCk,而存取指令信号则指示了来自页号存储信元23F及偏移值存储信元23G的读操作。其结果是,一旦从地址储存存储器23接收到读地址“RAk”,控制信元22将该读地址“RAk”设置为一个地址信号c1。此读地址RAk由页号RAPk及偏移值RAOk构成。此后,控制信元22同时将此地址信号c1及指示了一次写操作的存取指令信号c2传送给信元缓冲存储器21。其结果是,从信元缓冲存储器21中的一个存储区中读出一个ATM并将所读出的ATM信元提供给分离信元3。此存储区是由页号RAPk及偏移值RAOk指定的。
当完成了步骤S81所定义的处理操作时,控制信元22检测该页链BPCk的写地址WAk是否与读地址RAk不同,以及,偏移值RAOk是否与值“L-1”不同(步骤S81)。
为了执行步骤S81所定义的处理操作,控制信元22同时将代表了页链BPCk的端口信号c3-1及存取指令信号“c4-14”传送给地址储存存储器23。此存取指令信号c4-14代表了来自偏移值存储信元23E,及偏移值存储信元23G的读操作。此后,从地址储存存储器23接收到一个写地址WAk及一个读地址RAk。此写地址WAk由一个页号“WAPk”及一个偏移值“WAOk”构成,而该读地址“RAk”则由一个页号“RAPk”及一个偏移值“RAOk”构成。
当控制信元22在步骤S82判定写地址WAk等于读地址RAk或偏移值RAOk等于值“L-1”时,控制信元22将判定该自由页链BFPC的存在/不存在数据等于“0”(步骤S83)。为了执行此判定处理,控制信元22同时将指示了自由页链BFPC的端口信号c3-2及存取指令信号c4-15传送给地址储存存储器23。此存取指令信号c4-15代表了来自链存在/不存在存储信元23A的读操作。此后,当从地址储存存储器23接收到存在/不存在数据EF时,控制信元22将执行上述判定处理。
当控制信元22在步骤S83判定存在该自由页链BFPC时,控制信元22将执行PG(WAPF)←RAPk(步骤S84)的处理操作。
步骤S84所定义的此处理操作是如图41所示来执行的。即,由页号RAPk所指向的一个页面可以由下页号PG来指示。下页号PG对应于由自由页链BFPC的页号WAPF所指示的页面之后的一个页面。
为了执行步骤S84所定义的处理操作,控制信元22同时将端口信号c3-1及存取指令信号c4-2传送给地址储存存储器23。端口信号c3-1指示了页链BPCk,而存取指令信号则指示了来自页号存储信元23F的读操作。此后,当从地址储存存储器23接收到页号RAPk时,控制信元22同时将端口信号c3-2及存取指令信号c4-3发送给地址储存存储器23。端口信号c3-2表明了自由页链BFPC,而存取指令信号c4-3则代表了来自页号存储信元23D的读操作。此后,当从地址储存存储器23接收到页号WAPF时,控制信元22将页号WAPF设置为页面信号b5。此后,控制信元22将此页面信号b5及指示了写操作的另一存取指令信号b6发送给页面储存存储器13。另外,控制信元13还把该页号RAPk作为写数据传送给页面储存存储器13。因此,将“RAPk”的值作为下页号PG存储进一个与页面储存存储器13的页号WAPF相对应的存储区中。其结果是,由该页号RAPk所指向的一个页面可以由下页号PG指出。
当完成了步骤S84所定义的处理操作时,控制信元22执行WAPF←RAPk(步骤S85)的处理操作。
步骤S85所定义的处理操作是如图42所示来执行的。即,由页号RAPk所指示的一个页面可以由页号WAPF来指出。
为了执行步骤S85所定义的处理操作,控制信元22同时将端口信号c3-1及存取指令信号c4-2传送给地址储存存储器23。端口信号c3-1指示了页链BPCk,而存取指令信号c4-2则指示了来自页号存储信元23F的读操作。其结果是,当从地址储存存储器23接收到页号RAPk时,控制信元22同时将端口信号c3-2及存取指令信号c4-4传送给地址储存存储器23。端口信号c3-2显示了自由页链BFPC,而存取指令信号c4-4则代表了对页号存储信元23D的写操作。另外,控制信元22还把RAPk的值作为写数据传送给地址储存存储器23。其结果是,页号RAPk指向的一个页面可以由页号WAPF指出。
相反,当在先前步骤S83不存在自由页链BFPC时,控制信元22将执行如下处理操作RAPF←RAPk,WAPF←RAPk,及EF←1步骤S86所定义的处理操作是以如下方式来执行的即由页链BPCk的页号RAPk所指示的一个页面可以由自由页链BFPC的页号WAPF及页号RAPF指出。其结果是,控制信元22重新产生一个自由页链BFPC。随后,控制信元22将地址储存存储器23的存在/不存在数据EF设置为“1”。
为了执行步骤S86所定义的处理操作,控制信元22同时将端口信号c3-1及存取指令信号c4-2传送给地址储存存储器23。端口信号c3-1指示了页链BPCk,而存取指令信号则指示了来自页号存储信元23F的读操作。其结果是,当从地址储存存储器23接收到页号RAPk时,控制信元22同时将端口信号c3-2及存取指令信号c4-7发送给地址储存存储器23。端口信号c3-2表明了自由页链BFPC,而存取指令信号c4-7则代表了对页号存储信元23D和页号存储信元23F的写操作。另外,控制信元22还把RAPk的值作为写数据传送给地址储存存储器23。因此,RAPk的值被存储为页号WAPF及页号RAPF。此后,控制信元22同时将指示了自由页链BFPC的端口信号c3-2及存取指令信号c4-8传送给地址储存存储器23。此存取指令信号c4-8指示了对链存在/不存在存储信元23A的写操作。控制信元22把值“1”作为写数据传送给地址储存存储器23。从而将值“1”存储为存在/不存在数据EF。其结果是,重新形成了一个自由页链BFPC。
当完成了步骤S85或步骤S86所定义的处理操作时,控制信元22将判断页链BPCk的写地址WAk是否与读地址RAk相同(步骤S87)。
当控制信元22判定写地址WAk不同于读地址RAk时,控制信元22将执行如下处理操作RAPk←PG(RAPk),及RAOk←0(步骤S88)。
如图43所示,步骤S88所定义的处理操作是以如此一种方式来执行的由该页链BPCk的标题页的下页号PG所指向的一个页面可以由读地址RAk的页号RAPk指出,而偏移值RAOk则被设置为“0”。
为了执行步骤S88所定义的处理操作,控制信元22同时将指示了页链BPCk的端口信号c3-1,及存取指令信号c4-2传送给地址储存存储器23。此存取指令信号c4-2指示了来自页号存储信元23F的读操作。其结果是,一旦从地址储存存储器23接收到页号RAPk,控制信元22便将把此页号RAPk设置为页面信号b5。此后,控制信元22同时将该页面信号b5及指示了读操作的存取指令信号b6传送给页面储存存储器13。其结果是,当从页面储存存储器13接收到下页号PG时,控制信元22同时将指示了页链BPCk的端口信号c3-1及代表了对页号存储信元23F的写操作的存取指令信号传送给地址储存存储器23。另外,控制信元2还把下页号PG作为写数据发送给地址储存存储器23。其结果是,将下页号PG作为页号RAPk存储进地址储存存储器23中。
此后,控制信元22同时将指示了页链BPCk的端口信号c3-1,及指示了对偏移值存储信元23G的写操作的存取指令信号“c4-16”传送给地址储存存储器23。另外,控制信元22还将“0”作为写数据进行发送。其结果是,值“0”被作为偏移值RAOk存储进地址储存存储器23中。到此,步骤S88所定义的处理操作便结束了。
另一方面,当控制信元22在步骤S87判定写地址WAk与读地址RAk相同时,此控制信元22将把页链BPCk的存在/不存在数据Ek设置为“0”(步骤S89)。
另外,当在步骤S82页链BPCk的写地址WAk不同于读地址RAk且偏移值RAOk不同于值“L-1”时,控制信元22将把偏移值RAOk加“1”(步骤S90)。
为了执行步骤S90所定义的处理操作,控制信元22同时将指示了页链BPCk的端口信号c3-1及指示了来自偏移值存储信元23G的读操作的存取指令信号“c4-17”传送给地址储存存储器23。其结果是,一旦从地址储存存储器23接收到偏移值RAOk,控制信元22便把此偏移值RAOk加“1”。接下来,控制信元22同时将指示了页链BPCk的端口信号c3-1以及指示了对偏移值存储信元23G的写操作的存取指令信号“c4-16”传送给地址储存存储器23。另外,控制信元22还把另一个值“RAOk+1”作为写数据发送给地址储存存储器23。其结果是,此值“RAOk+1”被存储为偏移值“RAOk”,到此,步骤S90所定义的处理操作便结束了。第三ATM交换电路的全部操作现在,将对图30所示的第三ATM交换电路所执行的全部操作进行说明。
进入输入端口11,12,…,1N中的ATM信元被多路复用信元1多路转接,随后将多路转接后的ATM信元提供给信元缓冲存储器21。当输出此多路转接信元时,写控制信元4检测此多路转接信元的目的地。当此多路转接ATM信元的目的地为输出端口3k时,写控制信元4同时将指示了此输出端口3k的端口信号及此多路转接ATM信元的存储请求输出给控制信元22。
当控制信元22接收到上述存储请求时,如果控制信元12在步骤S61及S70判定存在与输出端口3k相对应的页链BPCk且此写地址WAk的偏移值WAOk不同于值L-1时,则此控制信元22将把现在的偏移值WAOk加“1”,并将由该写地址WAk所指示的存储区移动1个存储区,于是该写地址WAk将指向未用区。随后,在步骤S71,控制信元22控制信元缓冲存储器21将源自多路复用信元1的该ATM信元存储进由写地址WAk所指向的未用区中。
同样,如果接收到上述存储请求并在步骤S61不存在页链PCk,或者是该写地址WAk的偏移值WAOk等于“L-1”,控制信元22均将判定在由该写地址WAk所指出的页面中没有未用区。此后,当在步骤S62不存在自由页链BFPC时,由于控制信元22判定没有一个用于将一个新ATM信元存入其中的未用区,其将控制信元缓冲存储器21在步骤S73废弃源自多路复用信元1的ATM信元。
当在步骤S62存在自由页链BFPC且在步骤S63存在页链BPCk时,控制信元22在步骤S64和S65将把自由页链BFPC的标题段连到页链BPCk的最后一段上。此后,控制信元12控制进行如此的操作以将读地址“RAk”指向页链BPCk的最后一段。相反,当在步骤S63不存在页链BPCk时,控制信元22将在步骤S66重新产生一个页链BPCk以插入一个用于将信元存入其中的未用区。
插入完未用区后,如果在步骤S67该自由页链BFPC的页号WAPF与页号RAPF不同,则控制信元22将判定仍然存在该自由页链BFPC。于是,控制信元22将把页号RAPF移动到该自由页链BFPC的一个新的标题页。相反,当在步骤S67该自由页链BFPC的页号WAPF与RAPF相同时,则控制信元22将在步骤S69判定不存在自由页链BFPC。
此后,在步骤S71,控制信元22将控制信元缓冲存储器21把源自多路复用信元1的ATM信元存入由写地址WAk所指出的未用区中。
另一方面,当ATM信元被输出到端口3k时,读控制信元5同时将输出端口3k以及该ATM信元的输出指令发送给控制信元22。其结果是,控制信元22在步骤S81从地址储存存储器23接收到读地址RAk。此后,控制信元22控制信元缓冲存储器21将由该读地址RAk指向的存储区的ATM信元输出给分离信元3。其结果是,信元缓冲存储器21从所指明的存储区中输出一个信元,并将所读出的此信元发送给分离信元3。分离信元3随后将接收到的ATM信元传送到输出端口3k。
当从信元缓冲存储器21输出了该ATM信元时,如果在步骤S82页链BPCk的写地址WAk不同于读地址RAk,或者在步骤S90该读地址RAk的偏移值RAOk不同于值“L-1”时,则控制信元22将把现在的偏移值RAOk加“1”,并将由该读地址RAk所指向的存储区移动1个存储区。其结果是,读地址RAk指向下一个缓冲区地址。
当在步骤S82页链BPCk的写地址WAk与读地址RAk相同,或读地址RAk的偏移值RAOk与值“L-1”相同时,控制信元22便可以判定在由该读地址RAk所指示的页面中不存在该ATM信元。此后当在步骤S83出现了自由页链BFPC时,控制信元12便在步骤S84及S85把由读地址RAk所指示的页面连到由读地址RAk所指示的自由页链BFPC的最后一段上,从而将此页面汇编进该自由页链BFPC中。另外,在步骤S83,当没有自由页链BFPC时,控制信元22在步骤S86重新产生一个自由页链BFPC。
在控制信元22在步骤S87完成了将由写地址WAk所指向的页面汇编进自由页链BFPC中的步骤而写地址WAk又与读地址RAk不同的情况中,控制信元22将判定存在页链BPCk,并在随后执行步骤S88所定义的处理操作。其结果是,读地址RAk可以指出页链BPCk的标题页。同样,在步骤S87,当写地址WAk与读地址相同时,控制信元22将判定不存在页链BPCk,此后便完成了全部的处理操作。
如上所述,依照上述根据本第三实施例的ATM交换电路的电路结构,将可以省略未占用地址管理存储器9及地址储存存储器14,尽管在根据第二实施例的ATM交换电路中需要这些存储区。总存储器容量可以被减小。
尽管已经参照附图对本发明的第一到第三实施例进行了详细地说明,但本发明并不局限于此,可以在不背离本发明的技术范围及精神的条件下进行更改。例如,第一到第三ATM交换电路采用的均是单独的存储器。而另选地,也可以采用具有多种必要存储器功能的单一存储器。
如上所详述地,本发明可以实现如下的优点。即,由于当ATM信元被存储进信元缓冲存储器时所用的缓冲区地址以及将被存储的信元均是利用链结构的方式来进行管理的,则所有的输出端口均可以共用或共享作为缓冲器管理装置的存储器功能。
其结果是,其能够避免当上述输出端口的总数增加时而引起的上述存储器总数的增加。另外,其能够避免存储器使用效率的降低。
显而易见本发明并不局限于上述实施例,在不背离本发明的范围及精神的条件下可以对其进行更改及修正。
权利要求
1.ATM(异步传送模式)交换电路,在该电路中包括一个ATM信元缓冲存储器,用于在其中存储ATM信元;和ATM信元管理装置,用于发出输入的ATM信元的存储请求和指示与所述输入的ATM信元的目的地对应的输出端的目的地信息,和当输出所述ATM信元时发出输出请求和目的地信息,其中根据由所述存储请求定义的缓冲器地址把所述输入的ATM信元写入所述信元缓冲存储器;根据由所述输出请求定义的另一个缓冲器地址从所述信元缓冲存储器读出所述写入的ATM信元,以便传输到ATM信元管理装置;接收所述传输的ATM信元时,所述ATM信元管理装置根据所述目的地信息把所述接收的ATM信元传输到所述输出端,所述ATM交换电路包括空地址管理装置,用于管理所述信元缓冲存储器的空地址,和在接收从所述ATM信元管理装置发出的所述存储请求时把空地址作为缓冲器地址输出到所述信元缓冲存储器;和缓冲器地址管理装置,用于在所述缓冲器地址管理装置接收从所述ATM信元管理装置发出的存储请求和从所述空地址管理装置传输的多个缓冲器地址时把多个缓冲器地址相互依次链接,由此以一个链式结构形成指向同一输出端的ATM信元的该缓冲器地址;在接收从所述ATM信元管理装置发出的输出请求和目的地信息时,所述缓冲器地址管理装置从与所述接收的目的地信息对应的所述链式结构读出对应的缓冲器地址,从而把所述读出的缓冲器地址传输到所述信元缓冲存储器和所述空地址管理装置。
2.根据权利要求1所述的ATM交换电路,其中所述缓冲器地址管理装置包括缓冲器地址存储单元,用于从所述空地址管理装置接收一个缓冲器地址,从而把所述接收的缓冲器地址链接到后续缓冲器地址,由此以链式结构形成指向所述输出端的缓冲器地址;指针存储单元,用于相对于每个所述链式结构在其中存储写指针和读指针,所述写指针指出位于所述缓冲器地址存储单元的链式结构最后部分的最新缓冲器地址,所述读指针指出位于所述链式结构标题部分的缓冲器地址;和控制单元,用于控制所述指针存储单元,以便读出与所述目的地信息对应的写指针,并在接收从所述信元管理装置发出的存储请求和目的地信息时把从所述空地址管理装置得到的缓冲器地址存储到由所述写指针指向的输出端上的存储区之后的存储区,和在接收从所述信元管理装置发出的输出请求和目的地信息时用于从所述指针存储单元读出读指针,由此把表示所述读指针的缓冲器地址传输到所述信元缓冲存储器和所迟空地址管理装置。
3.ATM(异步传送模式)交换电路,在该电路中包括一个ATM信元缓冲存储器,用于在其中存储ATM信元;和ATM信元管理装置,用于发出输入的ATM信元的存储请求和指示与所述输入的ATM信元的目的地对应的输出端的目的地信息,和当输出所述ATM信元时发出输出请求和目的地信息,其中根据由所述存储请求定义的缓冲器地址把所述输入的ATM信元写入所述信元缓冲存储器;根据由所述输出请求定义的另一个缓冲器地址从所述信元缓冲存储器读出所述写入的ATM信元,以便传输到所述ATM信元管理装置;接收所述传输的ATM信元时,所述ATM信元管理装置根据所述目的地信息把所述接收的ATM信元传输到所述输出端,所述ATM交换电路包括空地址管理装置,用于管理所述信元缓冲存储器的空地址,和在接收从所述ATM信元管理装置发出的所述存储请求时把空地址作为缓冲器地址输出到所迟信元缓冲存储器;和缓冲器地址管理装置,用于以这样一种方式管理缓冲器地址,即当把能够存储所述缓冲器地址的″L(符号″L″是任意自然数)″段存储区定义为一页时,通过将多个所述页相互链接形成链式结构并与每个所述输出端相对应做出该链式结构;接收从所述信元管理装置发出的存储请求以及从所述空地址管理装置传输的缓冲器地址时,把所述接收的缓冲器地址依次存储到所述链式结构的页的存储区中;在接收从所述ATM信元管理装置发出的输出请求和目的地信息时,所述缓冲器地址管理装置从与所述接收的目的地信息对应的链式结构的页的所述存储区依次读出对应的缓冲器地址,从而把所述读出的缓冲器地址传输到所述信元缓冲存储器和所述空地址管理装置。
4.根据权利要求2所述的ATM交换电路,其中所述缓冲器地址管理装置包括缓冲器地址存储单元,在将用于存储所述缓冲器地址的所述″L″段存储区定义为一页时,通过把所述页相互链接以形成链式结构,以及通过采用与相应输出端对应的链式结构,用于在其中存储从所述空地址管理装置得到的缓冲器地址;指针存储单元,用于相对于每个所述链式结构在其中存储写指针和读指针,所述写指针指出位于所述缓冲器地址存储单元的链式结构最后部分的页中包含的最新缓冲器地址,所述读指针指出位于所述链式结构标题部分的页中包含的第一缓冲器地址;和控制单元,用于控制所述指针存储单元,以便读出与所述目的地信息对应的写指针,并在接收从所述信元管理装置发出的存储请求和目的地信息时把从所述空地址管理装置得到的缓冲器地址存储到由所述写指针指向的输出端上的存储区之后的存储区;和在接收从所述信元管理装置发出的输出请求和目的地信息时用于从所述指针存储单元读出读指针,由此把指示所述读指针的缓冲器地址传输到所述信元缓冲存储器和所述空地址管理装置。
5.ATM交换电路,其特征在于包括多路复用装置,用于产生输入的ATM信元的存储请求和指示与所述输入的ATM信元的目的地对应的输出端的目的地信息;分离装置,用于在输出所述ATM信元时产生一个输出请求和目的地信息;信元缓冲存储器,在将能够存储所述ATM信元的″L″段存储区定义为一页时,通过把所述页相互链接以便形成链式结构,以及通过采用与相应输出端对应的相应链式结构,用于在其中存储从所述多路复用装置得到的ATM信元,并且还用于读取ATM信元以便把读出的ATM信元发送到所述分离装置;和信元缓冲存储器控制装置,用于进行控制,以便把从所述多路复用装置得到的ATM信元依次存储到与所述目的地信息对应的链式结构中,并且在接收从所述多路复用装置产生的存储请求和目的地时,指向所述信元缓冲存储器;并用于进行控制,以便从与所述目的地信息对应的链式结构依次读取ATM信元,从而把读取的ATM信元传输到所述分离装置,并且在接收从所述分离装置得到的输出请求和目的地信息时,指向所述信元缓冲存储器。
6.根据权利要求5所述的ATM交换电路,其中所述信元缓冲存储器控制装置包括地址存储单元,用于把写缓冲器地址和读缓冲器地址存储到其中,所述写缓冲器地址指定位于所述信元缓冲存储器的链式结构最后部分的页中包含的最新ATM信元,所述读缓冲器地址指定位于链式结构标题部分的另一页中包含的第一ATM信元;和控制单元,用于以这样一种方式控制所述信元缓冲器存储器,即当从所述多路复用装置接收存储请求和目的地信息时,所述控制单元从所述地址存储单元读取与所述目的地信息对应的写缓冲器地址,以便根据所述读取的写缓冲器地址控制所述信元缓冲存储器,而当从所述所述分离装置接收输出请求和目的地信息时,所述控制单元从所述地址存储单元读取读缓冲器地址,以便根据所述读取的读缓冲器地址控制所述信元缓冲存储器。
7.控制ATM(异步传送模式)交换电路的方法,通过控制如下部分一个用于把ATM信元存储到其中的ATM信元缓冲存储器;用于发出输入的ATM信元的存储请求和指示与所述输入的ATM信元的目的地对应的输出端的目的地信息,以及在输出所述ATM信元时用于发出输出请求和目的地信息的ATM信元管理装置,其中根据由所述存储请求定义的缓冲器地址把所述输入的ATM信元写入所述信元缓冲存储器;根据由所述输出请求定义的另一个缓冲器地址从所述信元缓冲存储器读出所述写入的ATM信元,以便传输到所述ATM信元管理装置;接收所述传输的ATM信元时,所输ATM信元管理装置根据所述目的地信息把所述接收的ATM信元传输到所述输出端,所述ATM交换电路控制方法包括第一步骤,用于管理所述信元缓冲存储器的空地址,和在接收从所述ATM信元管理装置发出的所述存储请求时把空地址作为缓冲器地址输出到所述信元缓冲存储器;第二步骤,用于在接收从所述ATM信元管理装置发出的存储请求和从所述第一步骤作为缓冲器地址传输的空地址时,把多个缓冲器地址相互依次链接,由此以一个链式结构形成指向同一输出端的ATM信元的该多个缓冲器地址;和第三步骤,在接收从所述ATM信元管理装置发出的输出请求和目的地信息时,用于从与所述接收的其目的地对应的所述链式结构读出对应的缓冲器地址,从而把所述读出的缓冲器地址传输到所述信元缓冲存储器,其中在第一步骤管理在第三步骤读取的所述缓冲器地址。
8.控制ATM(异步传送模式)交换电路的方法,通过控制如下部分用于把ATM信元存储到其中的ATM信元缓冲存储器;用于发出输入的ATM信元的存储请求和指示与所述输入的ATM信元的目的地对应的输出端的目的地信息,以及在输出所述ATM信元时用于发出输出请求和目的地信息的ATM信元管理装置,其中根据由所述存储请求定义的缓冲器地址把所述输入的ATM信元写入所述信元缓冲存储器;根据由所述输出请求定义的另一个缓冲器地址从所述信元缓冲存储器读出所述写入的ATM信元,以便传输到所述ATM信元管理装置;接收所述传输的ATM信元时,所述ATM信元管理装置根据所述目的地信息把所述接收的ATM信元传输到所述输出端,所述ATM交换电路控制方法包括第一步骤,用于管理所述信元缓冲存储器的空地址,和在接收从所述ATM信元管理装置发出的所述存储请求时把空地址作为缓冲器地址输出到所述信元缓冲存储器;第二步骤,用于以这样一种方式管理缓冲器地址,即当把能够存储所述缓冲器地址的″L(符号″L″是任意自然数)″段存储区定义为一页时,通过将多个所述页相互链接形成链式结构并与每个所述输出端相对应做出该链式结构;接收从所述信元管理装置发出的存储请求以及从所述第一步骤传输的缓冲器地址时,把所述接收的缓冲器地址依次存储到所述链式结构页的存储区中;和第三步骤,用于以这样一种方式管理缓冲器地址,即在接收从所述ATM信元管理装置发出的输出请求和目的地信息时,所述缓冲器地址管理装置从与所述接收的目的地信息对应的链式结构页的所述存储区依次读出对应的缓冲器地址,从而把所述读出的缓冲器地址传输到所述信元缓冲存储器和所述空地址管理装置;其中在第一步骤管理在第三步骤读取的所述缓冲器地址。
9.用于控制ATM(异步传送模式)交换电路的方法,包括第一步骤,用于产生输入的ATM信元的存储请求和指示与所述输入的ATM信元的目的地对应的输出端的目的地信息;第二步骤,用于在输出所述ATM信元时产生一个输出请求和目的地信息;第三步骤,在将能够存储所述ATM信元的″L″段存储区定义为一页时,通过把所述页相互链接以便形成链式结构,以及通过采用与相应输出端对应的相应链式结构,用于在其中存储在所述第一步骤处理的ATM信元,并且还用于读取ATM信元以便把读出的ATM信元发送到所述第二步骤;和第四步骤,用于进行控制,以便接收从所述第一步骤发出的存储请求和目的地时把在所述第一步骤处理的ATM信元依次存储到与所述目的地信息对应的链式结构中;其中在接收从所述第二步骤发出的输出请求和目的地信息时,从与所述目的地信息对应的链式结构依次读取ATM信元,以便相对于所述读取的ATM信元执行在所述第二步骤定义的处理操作。
全文摘要
在ATM(异步传送模式)交换电路中,即使在增加输出端的总数时也能提高地址存储器的使用效率。该ATM交换电路由一个ATM信元缓冲存储器,一个ATM信元管理单元,一个地址存储器,一个空地址管理单元,以及一个缓冲地址管理单元构成。在该ATM交换电路中,可相对于输出端共同使用地址存储器。结果是,由于可以根据输出端的使用频率调节与输出端对应的地址链的长度,可依据多个输出端有效地使用地址存储器。
文档编号H04L12/28GK1241078SQ99102600
公开日2000年1月12日 申请日期1999年2月23日 优先权日1998年2月20日
发明者水越伸幸 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1