多处理器系统的制作方法

文档序号:6651848阅读:135来源:国知局
专利名称:多处理器系统的制作方法
技术区域本发明涉及具备多个处理器(processor)的多处理器系统。
背景技术
下面参照图19~图27,对作为已有的多处理器系统的具备网络处理器和实时处理器的已有的多处理器系统进行说明。
图19是具备网络处理器和实时处理器的已有的多处理器系统的方框图。
在图19中,网络处理器101是实现多处理器系统100的通信功能的处理器,连接在因特网等外部网络执行通信处理。例如网络处理器101从网络的WWW(环球网)的站点等下载AV数据(音频·视频数据)等。
实时处理器201是实现多处理器系统100的AV功能(取入音频·视频数据的功能)、显示功能等的处理部,网络处理部101对从外部网络取得的AV数据进行译码处理,并进行显示等。
网络处理用CPU(中央运算装置)102对整个网络处理部101进行控制。实时处理用的CPU202控制整个实时处理部201。
主存储器103中存储CPU102对网络处理部101进行控制时使用的软件。主存储器203中存储CPU202对实时处理部201进行控制时使用的软件。
CPU102读出在主存储器103中存储的软件,控制各种处理。CPU202读出在主存储器203中存储的软件,控制各种处理。
操作系统(OS)104是CPU102对网络处理部101进行控制用的软件,存储在主存储器103。操作系统(OS)204是CPU202对实时处理部201进行控制用的软件,存储在主存储器203。
OS104安装实现以TCP/IP协议为依据的通信步骤用的TCP/IP协议堆栈113。OS204安装实现以TCP/IP协议为依据的通信步骤用的TCP/IP协议堆栈213。
网络处理器101具有连接网络处理器101和外部网络用的网络接口105。网络接口用例如以太网(注册商标)接口等实现。
OS104安装网络器件驱动器115。网络器件驱动器115在TCP/IP协议堆栈113下面对网络接口105进行控制。网络器件驱动器利用例如以太网(注册商标)器件驱动器等实现。
公共存储器301暂时存储在网络处理器101与实时处理器201之间进行通信的数据。
利用网络处理器101具有的总线接口106、实时处理器201具有的总线接口206、以及源极公共总线302,将网络处理器101、实时处理器201、公共存储器301相互连接。
公共总线具有302具有地址/数据线311。网络处理器101利用总线接口106和地址/数据线311对公共存储器301进行数据访问。同样,实时处理器201利用总线接口206和地址/数据线311对公共存储器301进行数据访问。
公共总线302具有中断通知线314~317。中断通知线314~317在网络处理器101与实时处理器201之间传递中断。
总线接口106具有发送完成通知输出·接收完成通知输入手段116,总线接口206具有发送完成通知输出·接收完成通知输入手段217。
发送完成通知输出·接收完成通知输入手段116将中断信号输出到中断通知线314,从断通知线315输入信号,使CPU102发生中断。
发送完成通知输出·接收完成通知输入手段217向中断通知线317输出中断信号,从中断通知线316输入信号,使CPU202发生中断。
又,总线接口106具有发送完成通知输入·接收完成通知输出手段117。发送完成通知输入·接收完成通知输出手段117从中断通知线317输入信号,使CPU102发生中断,将中断信号输出到中断通知线316。
总线接口206具有发送完成通知输入·接收完成通知输出手段216。发送完成通知输入·接收完成通知输出手段216从中断通知线314输入信号,使CPU202发生中断,将中断信号输出到中断通知线315。
OS104安装假想网络器件驱动器114。假想网络器件114在TCP/IP协议堆栈113下面控制总线接口106,对与TCP/IP协议堆栈113的数据交换、对公共存储器301的数据访问、中断信号的输入输出进行控制。
OS204安装假想网络器件驱动器214。假想网络器件214在TCP/IP协议堆栈213下面控制总线接口206,对与TCP/IP协议堆栈213的数据交换、对公共存储器301的数据访问、中断信号的输入输出进行控制。
还有,假想网络器件驱动器用安装与例如以太网(注册商标)器件驱动器相同的呼出I/F(函数)的器件驱动器等实现。
下面,利用图20~图25对这样构成的已有的多处理器系统100的动作进行说明。但是在这里以网络处理器101作为数据发送侧,以实时处理器201作为数据接收侧进行说明。
图20表示发送侧的网络处理器101的假想网络器件驱动器114与接收侧的实时处理器201的假想网络器件驱动器214的动作流程。又,图21表示发送侧的网络处理器101的假想网络器件驱动器114与接收侧的实时处理器201的假想网络器件驱动器214的动作顺序。又,图22~图25是多处理器系统110的动作的说明图。
发送侧的网络处理器101的假想网络器件驱动器114在步骤2001中一旦从TCP/IP协议堆栈113接收发送请求,就在步骤2002经由总线接口106和公共总线302将从TCP/IP协议堆栈113接收的发送数据写入公共存储器301(参照图22(1))。
一旦写入结束,就假想网络器件驱动器114在步骤2003控制发送完成通知输出·接收完成通知输入手段116,向中断通知线314输出发送完成的中断信号(s-INT发送),接收侧的实时处理器201的发送完成通知输入·接收完成通知输出手段216在接收到上述发送完成的中断信号之后(r-INT接收),将接收开始的中断信号输入到CPU20,使中断发生,使假想网络器件驱动器214起到(参照图23(2))。
假想网络器件驱动器214在步骤2005中一旦输入接收开始的中断信号,就在步骤2006中经由公共总线302与总线接口206将写入于公共存储器301的数据读出,使TCP/IP协议堆栈213进行处理(参照图24(3))。
一旦读出完成,假想网络器件驱动器214在步骤2007中就对发送完成通知输入·接收完成通知输出手段216进行控制,将接收完成的中断信号输出到中断通知线315(r-INT)。发送侧的网络处理器101的发送完成通知输出·接收完成通知输入手段116在接收到上述接收完成的中断信号之后(s-INT),将发送开始的中断信号输入到CPU102使中断发生(参照图25(4))。
假想网络器件驱动器114在步骤2004一旦输入发送开始的中断信号,就判断为数据发送完成,从TCP/IP协议堆栈113,转移到等待来自TCP/IP协议堆栈113的发送请求的状态。
已有的多处理器系统反复进行上述动作,以从网络处理器101对实时处理器201发送数据。例如,已有的多处理器系统反复进行上述动作,向实时处理器201输送网络处理器101从WWW(环球网)的站点等下载的AV数据(参照例如日本特表2001-524713号公报。)。
如上所述,在已有的多处理器系统中,为了从发送侧向接收侧发送数据,设置公共存储器,发送侧的处理器向公共存储器写入发送数据,接收侧的处理器从公共存储器读出发送数据。又,在已有的多处理器系统中,利用从发送侧向接收侧的输出发送完成中断信号的输出动作和接收侧进行的发送完成的中断输入检测动作、以及从接收侧向发送侧输出接收完成的中断信号的输出动作和发送侧进行的接收完成的中断输入检测动作,对公共存储器进行排斥控制。
接着,对其他已有的多处理器系统进行说明。图26是已有的多处理器系统的方框图。与根据图19说明的构件对应的构件标以相同的标号并省略其说明。该多处理器系统在具备多个实时处理器这一点上,与上述已有的多处理器系统不同。在这里,以具有两个实时处理器A201a、B201b的情况为例进行说明。
在该多处理器系统100中,为了从一个网络处理器101向两个实时处理器A201a、B201b发送数据,设置比图19所示的多处理器系统加倍的中断通知线。又,在从网络处理器101向实时处理器A201a、B201b发送数据的情况下,发送侧的假想网络器件驱动器114在对具有接收侧的实时处理器A201a、B201b的发送完成通知输入·接收完成通知输出手段216a、216b来的信号输入全部进行检测之后,判定数据的发送完成,转移到等待来自TCP/IP协议堆栈113的发送请求的状态。
下面,利用图27对这样构成的已有的多处理器系统100的动作进行说明。但是,在这里以网络处理器101作为数据发送侧,以实时处理器A201a、B201b作为数据接收侧进行说明。图27表示发送侧的网络处理器101的假想网络器件驱动器114与接收侧的实时处理器A201a、B201b的假想网络器件驱动器214a、214b的动作流程图。
发送侧的网络处理器101的假想网络器件驱动器114一旦在步骤S2701从TCP/IP协议堆栈113接收到发送请求,就在步骤S2702经由总线接口106和公共总线302,将从TCP/IP协议堆栈113接收的发送数据的写入公共存储器301。
一旦写入结束,假想网络器件驱动器114就在步骤S2703对发送完成通知输出·接收完成通知输入手段116进行控制,向中断通知线314a、314b输出发送完成的中断信号。
接收侧的实时处理器A201a、B201b的发送完成通知输入·接收完成通知输出手段216a、216b在接收到上述发送完成的中断信号之后,将接收开始的中断信号输入到CPU202a、202b,使中断发生,使假想网络器件驱动器214a、214b启动。
假想网络器件驱动器214a、214b在步骤S2706一旦输入接收开始的中断信号,就在步骤S2707经由公共总线302和总线接口206a、206b将写入公共存储器301的数据读出,使TCP/IP协议堆栈213a、213b进行处理。
一旦读出完成,假想网络器件驱动器214a、214b在步骤S2708就控制发送完成通知输入·接收完成通知输出手段216a、216b,向中断通知线315a、315b输出计数完成的中断信号。
发送侧的网络处理器101的发送完成通知输出·接收完成通知输入手段116每当从发送完成通知输入·接收完成通知输出手段216a、216b计数到上述计数完成的中断信号,就使CPU102发生中断。
发送侧的网络处理器101的假想网络器件驱动器114在步骤S2704和步骤S2705中对各实时处理器A201a、B201b的接收完成的中断输入全部进行检测时,判定为数据的发送完成后,转移到等待来自TCP/IP协议堆栈113的发送请求的状态。
这种已有的多处理器系统100通过反复进行上述动作,从一个网络处理器101向两个实时处理器A201a、B201b发送数据。例如这种已有的多处理器系统反复进行上述动作,网络处理器101从向实时处理器A201a、B201b传送从WWW(环球网)的站点等下载的AV数据。
这样,在系统内的各处理器之间进行1对n(在图26所示的例子中n=2)的数据通信的已有的多处理器系统中,对接收侧的处理器进行的接收完成的中断输入全部进行检测之后,才判定为数据的发送完成,转移到等待TCP/IP协议堆栈113来的发送请求的状态。
如上所述,在已有的多处理器系统中,为了进行系统内的各处理器之间的1对n的数据通信,设置(2×n)条通知线,利用从发送侧向接收侧的输出发送完成中断信号的输出动作和接收侧进行的发送完成的中断输入检测动作、以及从接收侧向发送侧输出接收完成的中断信号的输出动作和发送侧进行的接收完成的中断输入检测动作,对公共存储器进行排斥控制。
这些公共存储器的排斥控制动作中的后者、即从接收侧向发送侧输出接收完成的中断信号的输出动作和发送侧进行的接收完成的中断输入检测动作,是为了防止公共存储器内的数据被后来的发送数据覆盖的动作。也就是说,在已有的多处理器系统中,即使是接收侧的处理器的读出动作迟,在读出完成之前,使发送侧的处理器不进行写入,实现避免因数据覆盖而发生数据消化和数据丧失的数据保证。
但是,在系统内的各处理器安装的TCP/IP协议堆栈软件中本来装有对于数据消化和数据丧失的数据保证结构,在已有的多处理器系统中,数据保证结构与上述公共存储器的排斥控制总共装入两个,因此是冗余的。

发明内容
本发明是为解决上述问题而作出的,其目的在于提供只利用从发送侧向接收侧的输出发送完成中断信号(通知将发送数据写入公共存储器的信号)的输出动作和接收侧进行的发送完成的中断输入检测动作执行数据通信时的公共存储器的排斥控制,关于相对于数据消化和数据丧失的数据保证,只利用TCP/IP协议堆栈软件(协议软件)执行,以此排除各处理器之间进行数据通信时数据保证的冗余性的多处理器系统。
为了实现上述目的,本发明的多处理器系统,具备进行数据发送的处理器、进行数据接收的处理器、将各处理器之间加以连结的公共总线、以从各处理器经过所述公共总线进行访问的公共的存储器,在各处理器之间进行数据通信时,发送侧的处理器将发送数据写入所述公共存储器,接收侧的处理器从所述公共存储器读出发送数据,同时通过所述公共总线,从发送侧的处理器到接收侧的处理器,输出关于发送数据被写入所述公共存储器的通知信号,并进行所述公共存储器的排斥控制,其中,发送侧的处理器具有向接收侧的处理器输出所述通知信号的通知信号输出手段,而且具有存储能够执行各处理器之间的数据通信和数据保证的第1协议软件、以及执行向所述公共存储器写入从该第1协议软件接收的发送数据和利用所述通知信号输出手段进行通知信号的输出的第1器件驱动软件的第1存储手段,接收侧的处理器具有从发送侧的处理器输入所述通知信号的通知信号输入手段,而且具有存储能够执行各处理器之间的数据通信和数据保证的第2协议软件、以及在利用所述通知信号输入手段输入所述通知信号之后,从所述公共存储器读出发送数据,使该第2协议软件处理该读出的发送数据的第2器件驱动软件的第2存储手段,所述公共总线具有在数据通信时将所述通知信号从发送侧的处理器发送到接收侧的处理器的通知线。
又,本发明的多处理器系统,发送侧的处理器安装的所述第1器件驱动软件在对所述公共存储器写入发送数据刚完成时,利用所述通信信号输出手段向接收侧的处理器输出所述通知信号。
又,本发明的多处理器系统,发送侧的处理器安装的所述第1器件驱动软件在对所述公共存储器写入发送数据刚开始时,利用所述通信信号输出手段向接收侧的处理器输出所述通知信号。
又,本发明的多处理器系统,发送侧的处理器安装的所述第1器件驱动软件在写入所述公共存储器的发送数据达到预定的数据量的时刻,利用所述通信信号输出手段向接收侧的处理器输出所述通知信号。
又,本发明的多处理器系统,发送侧的处理器还具备一旦经过预先规定的时间,就发出时间已到的通知的定时器,所述第1器件驱动软件在向所述公共存储器写入发送数据完成之后使所述定时器开始计时,收到所述定时器的时间到的通知之后将接着的发送数据写入所述公共存储器。
又,本发明的多处理器系统,所述公共存储器安装在从接收侧的处理器访问所述公共存储器的速度比从发送侧的处理器访问所述公共存储器的速度快的位置。
又,本发明的多处理器系统,所述公共存储器包含在具有接收侧的处理器的所述第2存储手段或在所述接收侧的处理器与所述第2存储手段分开设置的第3存储手段中。
又,本发明的多处理器系统,接收侧的处理器安装的所述第2器件驱动软件,取代从所述公共存储器读出发送数据并使所述第2协议软件处理该读出的发送数据,使写入发送数据的所述第2存储手段或所述第3存储手段的区域的指针对所述第2协议软件进行指示并进行处理。
又,本发明的多处理器系统,在进行数据通信时从一个发送侧处理器向多个接收侧处理器对发送数据进行发送,,具备从发送侧的处理器接收所述通知信号时,向接收侧的多个处理器分配所述通知信号的通知信号分配手段。
采用本发明,在各处理器之间进行数据通信时,只利用从发送侧的处理器向接收侧的处理器输出通知信号的输出动作以及接收侧的处理器进行的通知信号的输入检测动作,对公共存储器进行排斥控制,数据的保证只利用协议软件执行,因此与已有的多处理器系统相比,各处理器之间进行数据通信时,可以排除数据保证的冗长性。
又由于不需要已有的多处理器系统进行的从接收侧向发送侧输出接收完成的中断信号的输出动作以及发送侧进行的接收完成的中断输入检测动作,因此能够减少通知线的条数,缩小多处理器系统的电路面积,同时能够减少与上述动作相应的电力消耗。


图1是本发明实施形态1的多处理器系统的方框图。
图2是本发明实施形态1的多处理器系统的发送侧和接收侧的各假想网络器件驱动器的动作流程图。
图3是本发明实施形态1的多处理器系统的发送侧和接收侧的各假想网络器件驱动器的动作顺序图。
图4是本发明实施形态1的多处理器系统的动作说明图。
图5是本发明实施形态1的多处理器系统的动作说明图。
图6是本发明实施形态1的多处理器系统的动作说明图。
图7是本发明实施形态2的多处理器系统的方框图。
图8是本发明实施形态2的多处理器系统的发送侧和接收侧的各假想网络器件驱动器的动作流程图。
图9是本发明实施形态2的多处理器系统的发送侧和接收侧的各假想网络器件驱动器的动作顺序图。
图10是本发明实施形态3的多处理器系统的方框图。
图11是本发明实施形态3的多处理器系统的发送侧和接收侧的各假想网络器件驱动器的动作流程图。
图12是本发明实施形态3的多处理器系统的发送侧和接收侧的各假想网络器件驱动器的动作顺序图。
图13是本发明实施形态3的多处理器系统的动作说明图。
图14是本发明实施形态3的多处理器系统的动作说明图。
图15是本发明实施形态3的多处理器系统的动作说明图。
图16是本发明实施形态4的多处理器系统的方框图。
图17是本发明实施形态4的多处理器系统的发送侧和接收侧的各假想网络器件驱动器的动作流程图。
图18是本发明实施形态4的多处理器系统的发送侧和接收侧的各假想网络器件驱动器的动作顺序图。
图19是已有的多处理器系统的方框图。
图20是上述已有的多处理器系统的发送侧和接收侧的各假想网络器件驱动器的动作流程图。
图21是上述已有的多处理器系统的发送侧和接收侧的各假想网络器件驱动器的动作顺序图。
图22是上述已有的多处理器系统的动作说明图。
图23是上述已有的多处理器系统的动作说明图。
图24是上述已有的多处理器系统的动作说明图。
图25是上述已有的多处理器系统的动作说明图。
图26是已有的多处理器系统的方框图。
图27是上述已有的多处理器系统的发送侧和接收侧的各假想网络器件驱动器的动作流程图。
具体实施例方式
实施形态1图1是本发明实施形态1的多处理器系统的方框图。对与根据图19说明的部分对应的构件标以相同的标号并省略其说明。
该多处理器系统100与图19所示的多处理器系统相同,具有网络处理器101、实时处理器201、连接网络处理器101与实时处理器201之间的公共总线302、以及从各处理器经由公共总线302访问的公共存储器301,但是,与图19所示的多处理器系统相比,中断通知线的条数为一半。
在图1中,公共总线302具有中断通知线312、313。中断通知线312、313在网络处理器101与实时处理器301之间传递中断。
又,网络处理器101的总线接口106具有发送完成通知输出手段111。实时处理器201的总线接口206具有发送完成通知输出手段212。
发送完成通知输出手段111将中断信号输出到中断通知线312。发送完成通知输出手段212将中断信号输出到中断通知线313。
又,网络处理器101的总线接口106具有接收开始通知输入手段112。实时处理器201的总线接口206具有接收开始通知输入手段211。
接收开始通知输入手段112从中断通知线313输入信号,使CPU102发生中断。接收开始通知输入手段211从中断通知线312输入信号,使CPU202发生中断。
网络处理器101的假想网络器件驱动器114与已有的多处理器系统相同,在TCP/IP协议堆栈113下面对总线接口106进行控制,控制与TCP/IP协议堆栈113的数据授受和对公共存储器301的数据访问、中断信号的输入输出。
实时处理器201的假想网络器件驱动器214也和已有的多处理器系统相同,在TCP/IP协议堆栈213下面对总线接口206进行控制,控制与TCP/IP协议堆栈213的数据交换和对公共存储器301的数据访问、中断信号的输入输出。
但是,与已有的多处理器系统不同,假想网络器件驱动器114、214在进行数据通信时不进行从接收侧向发送侧输出接收完成的中断信号的输出动作以及利用发送侧进行的接收完成的中断输入检测动作。
以下,用图2~图6对该多处理器系统100的动作的一个例子进行说明。但是在这里,以网络101为数据发送侧,以实时处理器201为数据接收侧进行说明。从实时处理器201向网络处理器101发送数据时也可以同样实施。
图2表示发送侧的网络处理器101的假想网络器件驱动器114与接收侧的实时处理器201的假想网络器件驱动器214的动作流程。又,图3是发送侧的网络处理器101的假想网络器件驱动器114和接收侧的实时处理器201的假想网络器件驱动器214的动作顺序图。又,图4~图6为多处理器系统100的动作说明图。
发送侧的网络处理器101的假想网络器件驱动器114在步骤S201中从TCP/IP协议堆栈113接收到发送请求时,在步骤S202中经由总线接口106和公共总线302将从TCP/IP协议堆栈113接收到的发送数据写入公共存储器301(参照图4(1))。
一旦写入结束,假想网络器件驱动器114在步骤S203中,控制发送完成通知输出手段(通知信号输出手段)111,向中断通知线312输出发送完成中断信号(通知将发送数据写入公共存储器的通知信号)(s-INT发送)。接收侧的实时处理器201的接收开始通知输入手段(通知信号输入手段)211在接收到利用中断通知线312发送的上述发送完成的中断信号之后(r-INT接收),将接收开始的中断信号输入到CPU202,使中断发生,使假想网络器件驱动器114启动(参照图5(2))。
这样,在这里发送完成通知输出手段111作为通知信号输出手段输出关于将发送数据写入公共存储器301的通知信号、即发送完成的中断信号。又,接收开始通知输入手段211作为通知信号输入手段,输入来自发送侧的网络处理器101的通知信号、即发送完成的中断信号。又,中断通知线312在进行数据通信时将作为通知信号的发送完成的中断信号从发送侧的网络处理器101向接收侧的实时处理器201发送。
假想网络器件驱动器214在步骤S204中一旦输入接收开始的中断信号,就在步骤S205中经由公共总线302和总线接口206,读出在公共存储器301中写入的数据,使TCP/IP协议堆栈213处理该读出的发送数据(参照图6(3))。
另一方面,发送侧的网络处理器101的假想网络器件驱动器114在向中断通知线312输出发送完成的中断信号之后,转移到等待来自TCP/IP协议堆栈113的发送请求的状态。
因此,在接收侧的实时处理器201的假想网络器件驱动器214进行的公共存储器301的读出动作迟缓的情况下,公共存储器301上的发送数据有可能被发送侧的网络处理器101的假想网络器件驱动器114进行的下一次发送数据的写入所覆盖。
但是,用于进行数据通信的软件、即TCP/IP协议堆栈的TCP协议,具有核对检测数据包的数据消化用的检查和以及检测数据丧失用的顺序号,对数据的一部分乃至于全体的改写进行的检测后要求再发送,以此实现数据保证的功能,因此该多处理器系统100最终能够进行正确数据的通信。也就是说,即使是利用发送侧的网络处理器101的假想网络器件驱动器114进行的下一次发送数据的写入,改写了公共存储器301上的数据,也由于接收侧的实时处理器201的TCP/IP协议堆栈213要求再发送,所以该多处理器系统100能够进行正确数据的通信。
这样,在这里,发送侧的网络处理器101的TCP/IP协议堆栈113作为能够执行各处理部之间的数据通信和数据保证的第1协议软件起作用,接收侧的实时处理部201的TCP/IP协议堆栈213作为能够在各处理器之间进行数据通信和数据保证的第2协议软件起作用。
又,发送侧的网络处理器101的假想网络器件驱动器114作为从TCP/IP协议堆栈113接收的发送数据在公共存储器301的写入和发送完成通知输出手段(通知信号输出手段)111进行的发送完成的中断信号(通知信号)的输出的执行用的第1器件驱动软件起作用。
又,接收侧的实时处理器201的假想网络器件驱动器214,作为利用接收开始通知输入手段(通知信号输入手段)211输入发送完成的中断信号(通知信号)之后,从公共存储器301读出发送数据,使TCP/IP协议堆栈213处理该读出的发送数据的第2器件驱动软件起作用。
如上所述,在本实施形态1中,对于数据的保证只由TCP/IP协议堆栈执行,因此可以只采用一条公共存储器的排斥控制用的中断通知线(已有的多处理器系统的一半),已有的多处理器系统中进行的从接收侧向发送侧输出接收完成的中断信号的动作以及利用发送侧进行的接收完成的中断输入检测动作可以不要。
在本实施形态1中,发送侧的假想网络器件驱动器114在将发送数据写入公共存储器301完成后(包括刚完成),利用发送完成通知输出手段111输出发送完成的中断信号,然后转移到等待来自TCP/IP协议堆栈113的发送请求的状态,但是,也可以在将发送数据写入公共存储器301之前(包括写入前瞬间)输出中断信号,在发送数据写入公共存储器301完成之后,转移到等待发送请求的状态,又可以在发送数据写入公共存储器301的写入量达到预定的数据量的时刻输出中断信号,在将发送信号写入公共存储器301写入完成后转移到等待发送请求的状态。
又,在本实施形态1中,采用在作为第1存储手段的主存储器103存储TCP/IP协议堆栈113(第1协议软件)与假想网络器件驱动器114(第1器件驱动软件)的结构,但是例如作为第1存储手段也可以设置分别存储TCP/IP协议堆栈113和假想网络器件驱动器114的两个存储器的结构。
同样,在本实施形态1中,采用在作为第2存储手段的主存储器203存储TCP/IP协议堆栈213(第2协议软件)与假想网络器件驱动器214(第2器件驱动软件)的结构,但是例如作为第2存储手段也可以设置分别存储TCP/IP协议堆栈213和假想网络器件驱动器214的两个存储器的结构。
第2实施形态图7是本发明实施形态2的多处理器系统的方框图。但是与根据图1、图19说明的构件对应的构件标以相同的标号,并省略其说明该多处理器系统100的网络处理器101和实时处理器201具备定时器,这一点不同于实施形态1的多处理器系统。
在图7中,一旦预定的规定时间(预测值)到,定时器107、207就发出时间已到的通知。
网络处理器101的假想网络器件驱动器114在发送数据时在向公共存储器301写入发送数据完成之后使定时器107开始计时,在从定时器107接收到时间到的通知之后,转移到等待TCP/IP协议堆栈113来的发送请求的状态,将接着的发送数据写入公共存储器301。
又,实时处理器201的假想网络器件驱动器214在发送数据时在向公共存储器301写入发送数据完成之后使定时器207开始计时,在从定时器207接收到时间到的通知之后,转移到等待TCP/IP协议堆栈213来的发送请求的状态,将接着的发送数据写入公共存储器301。
还有,规定的时间在对从数据接收侧的公共存储器301读出数据需要的时间进行预测之后设定。
下面利用图8、图9对该多处理器系统100的动作的一个例子进行说明。在这里,以网络处理器101作为数据发送侧,以实时处理器201作为数据接收侧进行说明,但是在从实时处理器201向网络处理器101发送数据的情况下也同样能够实施。又,在本实施形态2中,是在对公共存储器301写入数据完成后,刚从发送完成通知输出手段111输出发送完成的中断信号的瞬间启动定时107器开始计时的。
图8是发送侧的网络处理器101的假想网络器件驱动器114与接收侧的实时处理器201的假想网络器件驱动器214的动作流程图。而图9是发送侧的网络处理器101的假想网络器件驱动器114与接收侧的实时处理器201的假想网络器件驱动器214的动作顺序图。
发送侧的网络处理器101的假想网络器件驱动器114在步骤S801中一旦从TCP/IP协议堆栈113计时到发送请求,就在步骤S802经由总线接口106和公共总线302在公共存储器301写入从TCP/IP协议堆栈113计时到的发送数据。
一旦写入结束,假想网络器件驱动器114在步骤S803就控制发送完成通知输出手段(通知信号输出手段)111,对中断通知线312输出发送完成的中断信号(通知发送数据被写入公共存储器的通知信号)。
接收侧的实时处理器201的接收开始通知输入手段(通知信号输入手段)211在接收到由中断通知线312发送的上述发送完成的中断信号之后,将接收开始的中断信号输入到CPU202使其发生中断,启动假想网络器件驱动器114。
在步骤S806一旦有接收开始的中断信号输入,假想网络器件驱动器214就在步骤S807经由公共总线302和总线接口206读出在公共存储器301写入的数据,使TCP/IP协议堆栈213处理该读出的发送数据。
另一方面,发送侧的网络处理器101的假想网络器件驱动器114在向中断通知线312输出发送完成的中断信号之后,在步骤S804立即使定时器107启动,开始进行计时。
如上所述,在定时器107设定接收侧的实时处理器201从公共存储器301读出数据需要的时间的预测值。一旦经时间预测值,定时器107就通知假想网络器件驱动器114时间已到。假想网络器件驱动器114在步骤S805一旦接收到来自定时器107的时间到的通知,就判定为计时完成,转移到等待来自TCP/IP协议堆栈113的发送请求的状态。
采用本实施形态2,则发送侧的假想网络器件驱动器114在计时到定时器107来的时间到的通知之前,没有转移到等待来自TCP/IP协议堆栈113的发送请求的状态,因此能够减少写入公共存储器301的发送数据被发送侧的假想网络器件驱动器114接着写入的数据所覆盖的可能性,能够减少利用TCP协议进行的再发送处理。
还有,在本实施形态2中,以在对公共存储器301的数据写入完成之后由发送完成通知输出手段111输出发送完成的中断信号后立即启动定时器107开始进行计时的例子进行说明,但是也可以在对公共存储器301进行数据写入之后经过任意一定的时间后再启动定时器107。也可以在对公共存储器301写入数据之前(包括写入之前瞬间)、或写入公共存储器301的发送数据达到规定的数据量的时刻输出中断信号的情况下,在对公共存储器写入发送数据完成之后(包括刚完成)启动定时器107。
又与实施形态1相同,作为第1存储手段,可以设置存储TCP/IP协议堆栈113(第1协议软件)和假想网络器件驱动器114(第1器件驱动软件)的一个存储器,也可以设置分别存储上述两个软件的两个存储器。又,作为第2存储手段,可以设置存储TCP/IP协议堆栈213(第2协议软件)和假想网络器件驱动器214(第2器件驱动软件)的一个存储器,也可以设置分别存储上述两个软件的两个存储器。
实施形态3图10是本发明实施形态3的多处理器系统的方框图。对与根据图1、图19说明的构件对应的构件标以相同的标号,并且省略其说明。
该多处理器系统100在接收侧的处理器具有的主存储器中包含暂时存储各处理器之间进行数据通信时发送的数据的存储区域(公共存储器)这一点,不同于实施形态1、2中的多处理器系统。
也就是说,在该多处理器系统100中,可以形成这样的结构,即共用网络处理器101具有的主存储器103与实时处理器201具有的主存储器203,从发送侧直接将数据写入接收侧的主存储器。
在图10中,网络处理器101具有的主存储器103与实时处理器201具有的主存储器203是可以共用的存储器。
网络处理器101的假想网络器件驱动器114在从网络处理器101向实时处理器201发送数据时,对总线接口106进行控制,经由接收侧的实时处理器201是总线接口206在主存储器203写入发送数据。同样,实时处理器201的假想网络器件驱动器214在从实时处理器201向网络处理器101发送数据时,对总线接口206进行控制,经由接收侧的网络处理器101的总线接口106在主存储器103写入发送数据。
又,接收侧的处理器的假想网络器件驱动器将写入发送数据的主存储器的区域的指针向TCP/IP协议堆栈指示。TCP/IP协议堆栈根据TCP/IP协议对该指针所示的区域的数据进行处理。
下面,利用图11~图15对该多处理器系统100的动作的一个例子进行说明。但是在这里,以网络处理器101作为数据发送侧,以实时处理器201作为数据接收侧进行说明,但是在从实时处理器201向网络处理器101发送数据的情况下也能够同样实施。
图11是发送侧的网络处理器101的假想网络器件驱动器114和接收侧的实时处理器201的假想网络器件驱动器214的动作流程图。图12是发送侧的网络处理器101的假想网络器件驱动器114和接收侧的实时处理器201的假想网络器件驱动器214动作的动作顺序图。图13~图15是多处理器系统100的动作说明图。
发送侧的网络处理器101的假想网络器件驱动器114在步骤S1101中一旦接收到来自TCP/IP协议堆栈113的发送请求,就在步骤S1102经由总线接口106、公共总线302、以及接收侧的实时处理器201的总线接口206,将从TCP/IP协议堆栈113接收到的发送数据写入主存储器203(参照图13(1))。
一旦写入结束,假想网络器件驱动器114就在步骤S1103对发送完成通知输出手段(通知信号输出手段)111进行控制,向中断通知线312输出发送完成的中断信号(通知发送数据被写入公共存储器的通知信号)(s-INT发送)。接收侧的实时处理器201的接收开始通知输入手段(通知信号输入手段)211在利用中断通知线312发送的上述发送完成的中断信号被接收到之后(r-INT接收)将接收开始的中断信号输入到CPU202使其发生中断,使假想网络器件驱动器214启动(参照图14(2))。
假想网络器件驱动器214在步骤S1104一旦输入接收开始的中断信号,就在步骤S1105将写入主存储器203的发送数据的存储器区域的指针向TCP/IP协议堆栈213指示,使TCP/IP协议堆栈213对发送数据进行处理(参照图15(3))。
另一方面,发送侧的网络处理器101的假想网络器件驱动器114在向中断通知线312输出发送完成的中断信号之后转移到等待来自TCP/IP协议堆栈113的发送请求的状态。
如上所述,采用本实施形态3,则不需要从公共存储器向接收侧的读出动作(拷贝动作),能够减少假想网络器件驱动器的负荷。而且进行减少所需要的拷贝时间减少,因此能够减少写入接收侧的主存储器的发送数据被发送侧的处理器写入的下一发送数据所覆盖的可能性,能够减少利用TCP协议进行的再发送处理。
还有,在本实施形态3中,能够共用主存储器,但是也可以在接收侧的处理器内在主存储器之外设置公共存储器(第3存储手段)。即使是在这种情况下,公共存储器也安装在从接收侧的处理器访问所述公共存储器的速度比从发送侧的处理器访问所述公共存储器的速度快的位置,因此能够减少利用TCP协议进行的再发送处理。
又,与实施形态1相同,发送侧的假想网络器件驱动器114在将发送数据写入主存储器203(公共存储器)完成后(包括刚完成),利用发送完成通知输出手段111输出发送完成的中断信号,然后转移到等待来自TCP/IP协议堆栈113的发送请求的状态,但是,也可以在将发送数据写入主存储器203之前(包括写入前瞬间)输出中断信号,在发送数据写入主存储器203完成之后,转移到等待发送请求的状态,又可以在发送数据写入主存储器203的写入量达到预定的数据量的时刻输出中断信号,在将发送数据写入主存储器203写入完成后转移到等待发送请求的状态。又可以与实施形态2相同设置定时器。
又与实施形态1相同,作为第1存储手段,可以设置存储TCP/IP协议堆栈113(第1协议软件)与假想网络器件驱动器114(第1器件驱动软件)的一个存储器,但是也可以设置分别存储TCP/IP协议堆栈113和假想网络器件驱动器114的两个存储器。又,作为第2存储手段,可以设置存储TCP/IP协议堆栈213(第2协议软件)与假想网络器件驱动器214(第2器件驱动软件)的一个存储器,但是也可以设置分别存储TCP/IP协议堆栈213和假想网络器件驱动器214的两个存储器。在采用设置两个存储器的结构的情况下,可以是在任一方包含公共存储器,也可以是包含在双方。
实施形态4图16是本发明实施形态4的多处理器系统的方框图。对与根据图1、图19说明的构件对应的构件标以相同的标号,并且省略其说明。
该多处理器系统100在具有实时处理器这一点上与上述实施形态1的多处理器系统不同。在这里,以具有两个实时处理器A201a、B201b的情况为例进行说明。
在图16中,通知信号分配手段303在从为例处理器101向实时处理器A201a、B201b发送数据的情况下(1对2的数据通信),一旦从为例处理器101经由中断通知线312接收到发送完成的中断信号,就向中断通知线312a、312b分配输出。各中断通知线312a、312b将上述发送完成的中断信号传送到接收侧的实时处理器A201a、B201b。
下面,根据图17、图18对该多处理器系统100的动作的一个例子进行说明。但是在这里,以为例处理器101为数据发送侧,以实时处理器A201a、B201b作为数据接收侧进行说明。还有,在从实时处理器A201a或实时处理器B201b向网络处理器101发送数据的情况与实施形态1相同可以实施。
图17是发送侧的网络处理器101的假想网络器件驱动器114和接收侧的实时处理器A201a、B201b的假想网络器件驱动器214a、214b的动作流程图。图18是发送侧的网络处理器101的假想网络器件驱动器114和接收侧的实时处理器A201a、B201b的假想网络器件驱动器214a、214b的动作顺序图。
发送侧的网络处理器101的假想网络器件驱动器114一旦在步骤S1701中接收到来自TCP/IP协议堆栈113的发送请求,就在步骤S1702经由总线接口106和公共总线302将从TCP/IP协议堆栈113接收的发送数据写入公共存储器301。
一旦写入结束,假想网络器件驱动器114在步骤S1703就对发送完成通知输出手段(通知信号输出手段)111进行控制,对中断通知线312输出发送完成的中断信号(通知发送数据被写入公共存储器的通知信号)。
通知信号分配手段303在输入发送侧的网络处理器101来的发送完成的中断信号时,向各中断通知线312a、312b分配输出与上述发送完成中断信号相同的信号。
接收侧的实时处理器A201a、B201b的接收开始通知输入手段(通知信号输入手段)211a、211b,在接收到利用中断通知线312a、312b发送的上述发送完成的中断信号之后向CPU202a、202b输入接收开始的中断信号,使其发生中断,使假想网络器件驱动器214a、214b启动。
假想网络器件驱动器214a、214b在步骤S 1704中一旦接收到接收开始的中断信号,就在步骤S 1705经由公共总线302与总线接口206a、206b读出在公共存储器301写入的数据,使TCP/IP协议堆栈213a、213b处理该读出的发送数据。
另一方面,发送侧的网络处理器101的假想网络器件驱动器114在向中断通知线312输出发送完成的中断信号之后,再教育到等待来自TCP/IP协议堆栈113的发送请求的状态。
还有,在本实施形态4中,对从一个网络处理器向两个实时处理器进行发送数据的发送的情况进行说明,但是当然1对n的数据通信也同样能够实施。还有,在也从例如实时处理器A向网络处理器与实时处理器B进行数据发送的情况下,只要使通知信号分配手段具有将来自实时处理器A的中断信号分配到网络处理器和实时处理器B的功能即可。
又,与实施形态1相同,发送侧的假想网络器件驱动器114在将发送数据写入公共存储器301完成后(包括刚完成),利用发送完成通知输出手段111输出发送完成的中断信号,然后转移到等待来自TCP/IP协议堆栈113的发送请求的状态,但是,也可以在将发送数据写入公共存储器301之前(包括写入前瞬间)输出中断信号,在发送数据写入公共存储器301完成之后,转移到等待发送请求的状态,又可以在发送数据写入公共存储器301的写入量达到预定的数据量的时刻输出中断信号,在将发送数据写入公共存储器301写入完成后转移到等待发送请求的状态。又可以与实施形态2相同设置定时器,也可以与实施形态3相同,以各处理器具有的主存储器作为公共存储器。
又与实施形态1相同,作为第1存储手段,可以设置存储TCP/IP协议堆栈113(第1协议软件)与假想网络器件驱动器114(第1器件驱动软件)的一个存储器,但是也可以设置分别存储TCP/IP协议堆栈113和假想网络器件驱动器114的两个存储器。又,作为第2存储手段,可以设置存储TCP/IP协议堆栈213(第2协议软件)与假想网络器件驱动器214(第2器件驱动软件)的一个存储器,但是也可以设置分别存储TCP/IP协议堆栈213和假想网络器件驱动器214的两个存储器。在采用设置两个存储器的结构的情况下,而且是在各处理器能够共有这些存储器的情况下,可以是在任一方包含公共存储器,也可以是包含在双方。
如上所述,采用实施形态1~实施形态4,在1对n的通信中,发送侧的处理器具有的发送完成通知手段(通知信号输出手段)上连接的公共存储器的排斥控制用的中断通知线可以是1条,对接收侧的n个处理器进行发送完成的中断信号的发送的中断通知线可以是以往的多处理器系统的一半。
又,采用实施形态1~实施形态4,则已有的多处理器系统中进行的从接收侧向发送侧输出接收完成的中断信号的输出动作以及利用发送侧进行的接收完成的中断输入检测动作可以不要,因此在处理器之间的通信为高速度通信的多处理器系统中是有用的。而且在与因特网等连接的AV设备、具有AV功能的便携式电话等使用的多处理器系统中是有用的。而且也能够使用于与因特网连接的机器人、图像处理装置、图像识别装置等用途。
还有,上述实施形态1~4中,为了简化说明,公共存储器上的缓存器采用一个,但是用多个缓存器和环形缓存器也能够得到相同的效果。
权利要求
1.一种多处理器系统,具备进行数据发送的处理器、进行数据接收的处理器、将各处理器之间加以连结的公共总线、以及从各处理器经过所述公共总线进行访问的公共存储器,在各处理器之间进行数据通信时,发送侧的处理器将发送数据写入所述公共存储器,接收侧的处理器从所述公共存储器读出发送数据,同时通过所述公共总线,从发送侧的处理器向接收侧的处理器,输出将发送数据写入所述公共存储器的通知的通知信号,并进行所述公共存储器的排斥控制,其特征在于,发送侧的处理器具有向接收侧的处理器输出所述通知信号的通知信号输出手段,而且具有能够执行各处理器之间的数据通信和数据保证的第1协议软件、以及执行向所述公共存储器写入从该第1协议软件接收的发送数据和利用所述通知信号输出手段进行通知信号的输出的第1器件驱动软件的第1存储手段,接收侧的处理器具有从发送侧的处理器输入所述通知信号的通知信号输入手段,而且具有能够执行各处理器之间的数据通信和数据保证的第2协议软件、以及在利用所述通知信号输入手段输入所述通知信号之后,从所述公共存储器读出发送数据,使该第2协议软件处理该读出的发送数据的第2器件驱动软件的第2存储手段,所述公共总线具有在数据通信时将所述通知信号从发送侧的处理器发送到接收侧的处理器的通知线。
2.根据权利要求1所述的多处理器系统,其特征在于,发送侧的处理器安装的所述第1器件驱动软件在对所述公共存储器写入发送数据刚完成时,利用所述通信信号输出手段向接收侧的处理器输出所述通知信号。
3.根据权利要求1所述的多处理器系统,其特征在于,发送侧的处理器安装的所述第1器件驱动软件在对所述公共存储器写入发送数据刚开始时,利用所述通信信号输出手段向接收侧的处理器输出所述通知信号。
4.根据权利要求1所述的多处理器系统,其特征在于,发送侧的处理器安装的所述第1器件驱动软件在写入所述公共存储器的发送数据达到预定的数据量的时刻,利用所述通信信号输出手段向接收侧的处理器输出所述通知信号。
5.根据权利要求1所述的多处理器系统,其特征在于,发送侧的处理器还具备一旦经过预先规定的时间,就发出时间已到的通知的定时器,发送侧的处理器安装的所述第1器件驱动软件在向所述公共存储器写入发送数据完成之后使所述定时器开始计时,收到所述定时器的时间到的通知之后将接着的发送数据写入所述公共存储器。
6.根据权利要求1所述的多处理器系统,其特征在于,所述公共存储器安装在从接收侧的处理器访问所述公共存储器的速度比从发送侧的处理器访问所述公共存储器的速度快的位置。
7.根据权利要求6所述的多处理器系统,其特征在于,所述公共存储器包含在具有接收侧的处理器的所述第2存储手段或在所述接收侧的处理器与所述第2存储手段分开设置的第3存储手段中。
8.根据权利要求7所述的多处理器系统,其特征在于,接收侧的处理器安装的所述第2器件驱动软件,取代从所述公共存储器读出发送数据并使所述第2协议软件处理该读出的发送数据,使写入发送数据的所述第2存储手段或所述第3存储手段的区域的指针对所述第2协议软件进行指示并进行处理。
9.根据权利要求1所述的多处理器系统,在进行数据通信时从一个发送侧处理器向多个接收侧处理器对发送数据进行发送,其特征在于,具备从发送侧的处理器接收所述通知信号时,向接收侧的多个处理器分配所述通知信号的通知信号分配手段。
全文摘要
本发明揭示一种排除在各处理器之间进行数据通信时的数据保证的冗余性的多处理器系统。在网络处理器(101)与实时处理器(201)之间进行数据通信时,只根据从发送侧的网络处理器(101)向接收侧的实时处理器(201)发送完成的中断信号输出动作和接收侧的实时处理器(201)进行的发送完成的中断输入检测动作进行公共存储器的排斥控制,只根据TCP/IP协议堆栈软件(213)执行对数据消化和数据丧失的数据保证。
文档编号G06F15/163GK1790309SQ20051013613
公开日2006年6月21日 申请日期2005年12月16日 优先权日2004年12月16日
发明者吉田善正, 中原充也 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1