CN101261590A - 信息处理设备、信息处理方法以及计算机程序 - Google Patents

信息处理设备、信息处理方法以及计算机程序 Download PDF

Info

Publication number
CN101261590A
CN101261590A CNA2008100029409A CN200810002940A CN101261590A CN 101261590 A CN101261590 A CN 101261590A CN A2008100029409 A CNA2008100029409 A CN A2008100029409A CN 200810002940 A CN200810002940 A CN 200810002940A CN 101261590 A CN101261590 A CN 101261590A
Authority
CN
China
Prior art keywords
processor
communication unit
processing
communication
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2008100029409A
Other languages
English (en)
Other versions
CN101261590B (zh
Inventor
久曾神宏
河村佑二
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Sony Corp
Original Assignee
Sony Corp
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp, Sony Computer Entertainment Inc filed Critical Sony Corp
Publication of CN101261590A publication Critical patent/CN101261590A/zh
Application granted granted Critical
Publication of CN101261590B publication Critical patent/CN101261590B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

提供了一种信息处理设备、信息处理方法以及计算机程序。与执行操作系统(OS)中的控制的主处理器不同的从处理器被指定为控制与通信单元对应的装置驱动程序,并因此响应于源自网卡的中断由从处理器执行通信控制,该网卡用作在配备有多个处理器并经由网络从事通信的信息处理设备中的通信单元。该结构使得主处理器能够以高等级的效率来执行数据处理,而没有数据处理中的时间滞后。

Description

信息处理设备、信息处理方法以及计算机程序
相关申请的交叉引用
本发明包含与2007年1月11日向日本专利局提交的日本专利申请JP2007-002986有关的主题,其全部内容通过参考而合并于此。
技术领域
本发明涉及信息处理设备、信息处理方法以及计算机程序。更具体地,本发明涉及采取利用多个处理器来执行数据处理的多处理器配置的信息处理设备、在这样的信息处理设备中采用的信息处理方法、以及计算机程序,其防止可归因于例如通信处理的数据处理效率的降低。
背景技术
当今,在通过使多个处理器同时从事操作来执行各种类型的数据处理的应用中,广泛地利用了采取在其中安装有多个处理器(CPU)的多处理器配置的信息处理设备,诸如PC。其中通过向多个CPU之一分配特定任务来执行不同类型的数据处理的多处理器环境被称为非对称多处理器环境。
在诸如如上所述环境之类的非对称多处理器环境中,可以安装主CPU(下文中,称为“PPU”(权威(power)处理器单元))以及多个从CPU(下文中,称为“SPU”(协同处理器单元))。各个处理器可被指定为执行如下所述的不同类型的处理:
(1)PPU基于OS执行处理。
(2)SPU中的每一个执行与诸如特别从事音频或图像处理的编码/解码功能或者DSP(数字信号处理器)功能之类的特定功能对应的处理。
要注意的是,SPU被设计为比标准DSP具有更好的针对通用程序执行的多功能性,这保证比DSP具有更好处理优点。图1呈现了在配备有非对称多处理器的信息处理设备中、可针对结合网络通信执行的数据处理采取的层级(hierarchical layer)的示例。如图1所示,用于执行数据通信的网卡101采取最低层,而从事数据处理执行的处理器被设置在相对于网卡的较高层级。PPU 111是从事OS执行的主要(primary)处理器。SPU 121-n是各自从事为其分派的特定类型处理的执行的处理器。
除了执行OS之外,PPU 111还控制程序130,诸如驱动网卡的驱动程序131和与例如TCP/IP的通信协议对应的协议栈132。在最高等级的层中设置用于发出对通信处理执行的请求的应用140。如图1所示,还在PPU 111(即主处理器)中处理在PPU 111上操作的协议栈132、驱动程序131等连同OS和来自网卡101的中断。
要注意的是,当在执行通信处理期间在用作传送目标数据获取位置或所接收数据存储位置的存储器与网卡之间传输传送目标分组或所接收分组时,利用了诸如图2所示的描述符之类的描述符。描述符是用于存储器存取的标识数据,并如图2所示可例如由地址字段、长度字段和状态字段构成,所述地址字段指明在存储器中、存在构成通信数据的分组的特定位置,长度字段指明分组大小,而状态字段指明传送/接收状态。
如先前说明的,来自网卡101的中断由在图1所示的信息处理设备中的PPU 111,即控制OS的主处理器,来处理。现在,参考图3呈现的流程图来说明PPU 111执行的分组传送/接收的流程。
首先,响应于源自应用的通信处理请求,PPU 111保护为分组传送/接收准备的存储区,并在步骤S101中基于驱动程序131来设置与所保护的存储区对应的描述符。在步骤S102中,执行通知处理,以便向网卡提供与已经设置的描述符有关的信息。例如,通过向网卡101的寄存器中写入信息来执行这个通知处理。
接下来,在步骤S103中,经由网卡101、根据描述符来执行数据传送/接收。在步骤S103之后,在步骤S104中出现PPU 111的中断处理。基于所述中断处理,PPU 111通过例如释放存储器空间来执行预定的通信后(post-communication)处理。
在步骤S103中经由网卡101执行的传送/接收处理期间,针对数据传送和数据接收执行不同类型的处理。现在,参考图4和5来详细说明数据传送处理和数据接收处理。
(数据传送处理)
图4呈现了经由网卡101依照描述符执行的数据传送处理的流程图。
如图4所示,经由从事数据传送处理的网卡101,在步骤S121中读出该描述符,并在步骤S123中结束DMA(直接存储器存取)之前,在步骤S122中基于在描述符中指明的值(即,地址和长度)来开始DMA。通过这个处理,从存储器中读出传送目标数据。在步骤S124中,网卡101向描述符中的状态字段写入指明DMA的成功/失败(即指明是否已经实现了存储器存取)的DMA结果,并且如果已经成功地从存储器读出数据,则经由网卡101执行数据传送。
接下来,在步骤S125中,经由网卡101进行关于是否还存在要被处理的任何剩余描述符的判断,并且如果判断存在未处理的描述符,则从步骤S121开始重复执行处理。当不再有未处理的描述符时,操作前进到步骤S126。随后将指明数据传送的成功/失败的传送/接收状态写入到与网卡对应的寄存器中(步骤S126),并然后执行PPU的中断通知处理(步骤S127)。
(数据接收处理)
如图5所示,从事数据接收处理的网卡101首先读出描述符(步骤S131)。在步骤S132中确认分组接收之后,基于在描述符中指明的值来执行DMA(直接存储存取),并将所接收的数据写入到存储器中(步骤S133和S134)。
接下来,网卡101将指明已经在步骤S133和步骤S134中执行的DMA的成功/失败(即,是否实现了存储器存取)的DMA结果写入到描述符中的状态字段中,并且还将实际分组大小写入到长度字段中(步骤S135)。在步骤S136中,指明数据接收的成功/失败的传送/接收状态被写入到与网卡对应的寄存器中,并在步骤S137中,执行PPU 111的中断通知处理。
当完成了通过DMA而经由网卡101执行的数据传送/接收处理时,在PPU 111上执行中断处理。现在,参考图6呈现的流程图来说明响应于来自网卡的中断通知而在PPU 111上执行的中断处理的序列。
当在步骤S141中在PPU上收到来自网卡101的中断时,通过例如执行寄存器清除来执行用于暂停当前正在进行的处理的处理(步骤S142)。然后启动中断处理程序(interrupt handler)。图7呈现了中断处理程序启动处理的流程图。
PPU执行从对应于网卡的寄存器中读出网卡状态的处理,以便确定中断的起因(步骤S151)。该状态是指明在数据传送/接收中的成功或错误的数据传送/接收状态,其已经在图4的步骤S126中或图5的步骤S136中经由网卡101写入。
接下来,PPU 111进入这样的状态,其进行关于是否完成状态传送的判断(步骤S152),并且如果作出“否”的判断,则其直接前进以执行步骤S154中的处理。另一方面,如果作出“是”的判断,则它释放已经存储了传送目标数据的存储区(步骤S153),并然后前进以执行步骤S154中的处理。如果在步骤S154中判断所述状态指明已经完成了接收,则PPU 111将所接收的分组移交到协议栈(步骤S155)。如果它在步骤S156中判断所述状态指明错误,则PPU 111复位网卡(步骤S157)。最后,在中断处理程序启动处理结束之前,PPU 111在步骤S158中清除中断状态。
在图6的步骤S143中执行了图7中呈现的流程图的处理之后,所述操作前进到步骤S144,以便例如通过恢复已经被清除的寄存器的内容来执行处理再继续(resumption)处理。
在上述的结构中,无论何时发生中断处理,PPU都需要暂停当前正在进行的处理。因此,如果在高速网络通信期间频繁地发生中断处理,则所述处理必然愈加经常地暂停。易于导致高速缓冲存储器破坏或者存储器存取位置破坏的中断处理必然占用PPU的更多处理时间,并从而降低处理性能。
发明内容
已经通过解决上述担忧而完成的本发明提供了这样的信息处理设备、信息处理方法和计算机程序,即使例如在执行数据通信处理时,也维持数据处理效率。
根据本发明的实施例,提供了一种配备有多个处理器的信息处理设备,包括:第一处理器,基于操作系统执行处理;通信单元,执行通信处理;以及第二处理器,基于与该通信单元对应的装置驱动程序执行处理。
此外,根据本发明的实施例,提供了一种在配备有多个处理器的信息处理设备中采用的信息处理方法,包括:与基于操作系统执行处理的第一处理器不同的第二处理器执行读取处理、以读出由通信单元设置的中断状态的步骤;以及第二处理器基于已读出的中断状态确定要执行的处理、并执行所确定的处理的步骤。
此外,根据本发明的实施例,提供了一种使配备有多个处理器的信息处理设备能够执行通信处理控制的计算机程序,包括:与基于操作系统执行处理的第一处理器不同的第二处理器执行读取处理、以读出由通信单元设置的中断状态的步骤;以及第二处理器基于已读出的中断状态确定要执行的处理、并执行如此确定的处理的步骤。
根据本发明的实施例,与控制操作系统(OS)的主处理器不同的从处理器从事与通信单元对应的装置驱动程序的控制,并且该从处理器基于源自网卡的中断来执行通信控制,该网卡用作在配备有多个处理器并经由网络从事通信的信息处理设备中的通信单元。结果,主处理器能够以高级别的效率执行数据处理,而没有时间滞后。
附图说明
图1呈现了在配备有CELL的信息处理设备中结合网络通信执行数据处理时可采取的处理层级的示例;
图2呈现了在描述符中可采用的结构示例;
图3呈现了PPU所执行的分组传送/接收的流程图;
图4呈现了基于所述描述符而经由网卡执行的数据传送处理序列的流程图;
图5呈现了基于所述描述符而经由网卡执行的数据接收处理序列的流程图;
图6呈现了响应于来自网卡的中断通知执行的PPU中断处理序列的流程图;
图7呈现了中断处理程序启动处理的序列的详细流程图;
图8呈现了在本发明实施例中可以在信息处理设备中采用的结构的示例;
图9示出了在本发明的第一实施例中信息处理设备的处理层级所采取的分层结构;
图10是呈现在网卡中可采用的功能结构的示例的框图;
图11呈现了在各自与特定SNR(信号通知寄存器)对应地设置的IP地址表中可采用的结构的示例;
图12图示了在映射与用作网卡地址空间的I/O地址空间相关地存储传送目标数据/所接收数据的主存储器(XDR)和本地储存器(LS:local stores)时执行的处理;
图13呈现了轮询数据传送/接收完成处理的序列的流程图;
图14呈现了为了使能用于将寄存器值复制数据记录在可由SPU参考的存储器(RAM)中的处理的执行而可采用的结构示例;
图15呈现了在协议栈和驱动程序之间的分组数据传输的序列的流程图;
图16呈现了在协议栈和驱动程序之间的分组数据传输的序列的流程图;
图17呈现了为了向SPU分派驱动程序和协议栈的执行而可采用的结构示例;
图18呈现了为了向SPU分派驱动程序、协议栈和应用的执行而可采用的结构示例;
图19呈现了在指定PPU和各种SPU之中的不同处理单元来执行驱动程序、协议栈和应用程序时可采用的结构示例;
图20呈现了在指定PPU和各种SPU之中的不同处理单元来执行驱动程序、协议栈和应用程序时可采用的结构示例;
图21呈现了将对应于网卡的驱动程序划分为传送部分和接收部分、并经由不同的SPU执行传送部分和接收部分时可采用的结构示例;以及
图22呈现了为了使各自对应于特定协议类型的不同SPU从事协议栈执行而可采用的结构示例。
具体实施方式
接下来是根据本发明的信息处理设备、信息处理方法和计算机程序的详细说明。
(实施例1)
首先,参考图8,描述在本发明的实施例中的信息处理设备中可采用的结构示例。在与前面描述类似的非对称多处理器环境中操作的根据本发明的信息处理设备包括单个PPU(权威处理器单元)和八个SPU(协作处理器单元)。
如图8所示,PPU 211构建在PPE(权威处理器元件)210中,而八个SPU 221各自构建在单独的SPE(协作处理器元件)220中。PPU 211用作用以控制OS的主处理器,而八个SPU 221是各自从事为其分派的特定类型的处理的执行的从处理器。
PPE 210包括由L1高速缓冲存储器212和L2高速缓冲存储器213构成的两级高速缓冲存储器。SPE 220各自包括被称作本地储存器(LS)222的存储空间,其能够以与L1高速缓冲存储器的速度等同的速度执行操作。SPE220经由存储器流控制器(MSC)223而主要通过DMA来存取主存储器(XDR)232。如图中所示出的,主存储器(XDR)232经由存储器接口控制器231进行连接,并且用作通信单元的网卡242经由输入/输出控制器(IOC)241进行连接。
参考图9,说明在本发明的第一实施例中的信息处理设备中的处理层级所采取的分层结构。图9示出了在网络通信执行期间采取的处理层级。如图9所示,在本发明的第一实施例中,与网卡对应的装置驱动程序被安装在特定的从处理器SPU中。
在图9中,用作通过其执行数据通信的通信单元的网卡301采取最低层,并且从事数据处理执行的处理器被设置在相对于网卡的较高等级的层中。要注意的是,在专利权利要求范围中的“通信单元”可等同于网卡301,“第一处理器”可等同于PPU 111,并且“第二处理器”可等同于SPU 1~SPU 8。
PPU 311执行程序330(诸如OS 330)和与例如TCP/IP的通信协议对应的协议栈331。协议栈331是用于控制经由网卡301执行的数据通信的通信控制程序。在最高等级的层中,设置应用340,其发出经由网卡301执行数据通信的请求。
在相关技术的对称多处理器环境中,基于驱动程序的处理是由前面说明的PPU来执行的。因此,当分组传送/接收发生时,执行中断处理,这导致PPU出当前正在进行的处理的暂时性暂停。可归因于中断的PPU处的处理暂停出乎意料地降低了PPU的性能级别,这导致处理器的能力不能被完全利用的不期望的情况。
此外,如果通过向PPU施加中断来执行分组传送/接收,则在以下处理之前出现延迟:
(1)在分组传送之后释放存储器;
(2)将已经接收的分组传输到协议栈;以及
(3)启动处理程序。
为了消减这些延迟,缓冲器需要保证缓冲器资源的浪费利用所需要的充足的容量裕度。
在网卡方还存在额外的方面需要解决,因为可用的宽网络频带可能由于关于PPU处理能力的瓶颈显现而在通信中不能被有效利用。
由于假设这些情况的原因在于PPU被分派为处理分组传送/接收的事实,所以在SPU-1到SPU-8之中的SPU之一中安装与网卡301对应的驱动程序350,以便在SPU 1~8之一中基于驱动程序350执行处理。在这个结构中,在SPU 1~8之一中处理来自网卡301的中断,这使PPU不再必须执行处理以从事驱动程序350,并使在PPU上执行的所有程序都不受中断处理的影响并不被中断。此外,由于在SPU 1~8之中的已经在其中安装了装置驱动程序的SPU中没有执行除装置驱动程序之外的程序,并因此在上述的结构中正在进行为实现DMA传输执行的中断处理时、没有可归因于另一应用程序的中断出现,所以使得能够对来自网卡的中断作出更快响应。即,由于传送目标数据/所接收数据可以以更高的频率来传输,所以可以降低在数据传输中使用的缓冲器尺寸。
要注意的是,尽管在图9呈现的示例中将驱动程序350安装在从处理器SPU-1(321-1)处,但是驱动程序350也可替代地安装在例如从处理器SPU-2的另一从处理器中,而不是从处理器SPU-1(321-1),并且这样的替换配置将无论如何都不会以任何方式来减损该实施例的优点。
为了确保象实施例中那样向经由SPU(321-1)操作的装置驱动程序350通知源自网卡301的中断,网卡必须能够在多处理器环境中将中断施加到任何处理器。
参考图10和图11说明在能够向任何处理器施加中断的网卡中可采用的结构的示例。图10是呈现在网卡301中可采用的功能结构的示例的框图。网卡301中的传送/接收单元351获得被传送到网络的信号,并接收诸如要在安装了网卡301的终端处接收的以太网(注册商标)帧或者IP分组之类的数据,该数据包括在与已经从网络获得的信号对应的数据中。要注意的是,传送/接收单元351可根据任何通信方法,例如有线通信方法或无线通信方法,来执行数据传送/接收。
地址分析单元352检查在传送/接收单元351所接收的数据(例如,IP分组)中指明的接收方IP地址,并执行在表管理单元353中存储的表的搜索。在表管理单元353中,存储了如图11所示的表,其包含各自与特定SNR(信号通知寄存器)对应地设置的IP地址。
如图10所示,与每一处理器对应地设置SNR,以用于实现与各种类型装置的同步。例如,当作为信息处理设备的组成部分的各种装置中的任一个要施加中断到特定处理器时,将指明中断出现的数据等写入到与向其施加中断的处理器对应的SNR中。然后,基于在SNR中写入的数据,对应的处理器通过例如将装置提供的数据传输到存储器的特定区域(未示出)来执行中断处理。
在这个实施例中实现的信息处理设备操作在非对称多处理器环境中,其中信息处理设备中的多个处理器中的每一个执行各类数据处理之中的特定处理。当在这个设备中经由网卡301接收数据时,在向处理器通知中断之前,必须首先识别用于接收数据的特定处理器。相应地,经由网卡301参考诸如图11所示的表,以便识别用以接收数据的特定接收方处理器。
例如,基于图11所示的包含IP地址的表来识别与所接收的数据(IP分组)对应的SNR并将中断施加到所识别的处理器上,所述IP地址中的每一个被分派给特定的处理器或者诸如处理器所执行的应用程序的特定程序,并并且所述IP地址中的每一个与特定SNR(信号通知寄存器)对应地被设置。
更具体地,图10所示的网卡301中的中断生成单元354通过响应于地址分析单元352所发出的命令而向特定SNR通知IP分组接收,来生成中断。即,中断生成单元354将指明已经源自网卡301的中断的数据等写入到与地址分析单元352基于在表管理单元353中存储的表识别的处理器对应的SNR中。与某一SNR对应的处理器(例如,SPU-1)然后基于已经写入到SNR的数据来执行中断处理。
要注意的是,当在图9所示的结构中PPU 311或SPU 321经由网卡301执行数据通信时,必须与用作网卡301的地址空间的I/O地址空间相关地映射用作存储传送目标数据/所接收数据的存储区的主存储器(XDR)或者本地储存器(LS)。参考图12,给出关于可如何执行这样的映射处理的说明。主存储器(XDR)和本地储存器(LS)被映射在称作有效地址(EA)的64位地址空间中,以便允许将任何有效地址(EA)以任意各种尺寸(例如,4kB、64kB、1MB或者16MB)映射在用作网卡301的地址空间的I/O地址空间中。例如,当装置存取DMA的地址空间以便传输描述符或分组数据时,使用I/O页面表(IOPT)指定有效地址(EA),以便相对于用作网卡301的地址空间的I/O地址空间来映射用作存储区的主存储器(XDR)或本地储存器(LS),在所述存储区中存储传送目标数据/所接收的数据。
由于指定SPU-1(321-1)来执行装置驱动程序,所以该实施例实现了如下的附加优点,即SPU可连续从事装置驱动程序的执行,而不影响其它程序。这意味着可通过轮询来执行传送/接收完成处理。现在,参考图13呈现的流程图来说明轮询的数据传送/接收完成处理的序列。
在步骤S201中,控制与网卡对应的装置驱动程序的SPU执行用于从对应于网卡的寄存器中读出网卡的状态以便确定中断的起因的处理。该状态等同于前面说明的在图4的步骤S126或图5的步骤S136中经由网卡写入的、用于指明数据传送/接收的成功或错误的数据传送/接收状态。如果在步骤S202中判断所述状态字段为空,则SPU返回到步骤S201,以重复地检查所述状态。
如果在步骤S203中判断所述状态指明已经完成了传送,则SPU在步骤S204中释放其中已经存储了传送目标数据的对应存储区。如果在步骤S205中判断所述状态指明已经完成了接收,则SPU前进到步骤S206以便将所接收的分组移交到协议栈。如果在步骤S207中判断所述状态指明错误,则SPU前进到步骤S208以复位网卡。最后,在步骤S209中,清除中断处理,并从而中断处理结束。
需要注意的是,如果要重复执行图13所示的处理,则被分派为装置驱动程序控制处理器的SPU需要重复地检查中断状态。将中断状态记录在与网卡对应的寄存器中,并因此SPU需要参考寄存器。诸如图14所示的处理结构仅需要SPU读取在存储器(RAM)355中的中断状态记录区域356中的数据,以便查明(ascertain)中断状态,其中通过所述处理结构执行网卡处理以便将寄存器值复制数据记录在SPU可参考的存储器(RAM)355中。在这种情况中,SPU能够通过读取存储器中的数据而不是通过对装置寄存器的读取访问来查明中断状态,这保证比需要寄存器参考的处理具有更高的处理速度。
要注意的是,在图9所示的分层结构中,诸如TCP或UDP的协议栈331被设置为要由PPU 311执行的执行目标,并且与网卡301对应的驱动程序350被设置为要由SPU-1(321-1)执行的执行目标。参考在图15和图16中呈现的流程图来说明可在这个分层结构中的协议栈和驱动程序之间传输分组数据的序列。
图15呈现的流程图示出了在经由网卡301执行的数据传输处理期间在协议栈和驱动程序之间的分组数据传输的序列。要注意的是,由于参考通过假设应用程序是主处理执行者而提供的说明可更好地理解本发明,并因此通过假设应用程序是流程图中的处理的主执行者来给出接下来的描述。然而,勿庸置疑的是,处理的实际执行者是执行应用程序的处理器。在数据传送处理中,在由PPU 311执行的协议栈331处从应用程序340接收传送目标分组数据(步骤S301)。接下来,在步骤S302中,协议栈331向驱动程序通知要存储所传送的分组数据的主存储器(XDR)的地址和大小。
接下来,在步骤S303中,SPU-1(321-1)执行的驱动程序350通过经由存储器流控制器(MFC)执行的DMA而将主存储器(XDR)中的分组数据复制到与SPU-1(321-1)对应的本地储存器(LS)中。然后,在步骤S304中,驱动程序350向协议栈331通知MFC DMA的完成。最后,在步骤S305中,协议栈331释放分组数据已经占用的主存储区(XDR)。
通过这个处理序列,将已被应用340设置为传送目标的数据从协议栈331移交到驱动程序350。此外,通过前面参考图12说明的映射处理,被复制到对应于SPU-1(321-1)的本地储存器(LS)中的数据被映射到用作网卡301的地址空间的I/O地址空间中,并且经由网卡执行传送处理。
接下来,参考图16中呈现的流程图,说明在经由网卡301执行数据接收处理期间在协议栈和驱动程序之间的分组数据传输序列。在数据接收处理中,在步骤S321中,由PPU 311执行的协议栈331向作为SPU-1(321-1)的执行目标的驱动程序350通知主存储器(XDR)处的接收缓冲器的地址和大小。
接下来,在步骤S322中,驱动程序350将已经在网卡301处接收的所接收分组数据记录在对应于SPU-1(321-1)的本地储存器(LS)中。在步骤S323中,SPU-1(321-1)执行的驱动程序350通过经由存储器流控制器(MFC)执行的DMA而将本地储存器(LS)中的分组数据复制到主存储器(XDR)中。然后,在步骤S324中,驱动程序350向协议栈331通知MFC DMA的完成。最后,在步骤S325中,协议栈331将所接收的分组数据移交到应用程序340。
通过这个处理序列,从协议栈331向应用340提供首先从驱动程序350移交到协议栈331的、由应用程序340接收的数据
(其它实施例)
在参考图9说明的分层结构中,分派单个从处理器(在图9呈现的示例中的从处理器SPU-1(321-1))来控制对应于网卡的驱动程序350。然而,也可在替换的分层结构中采用本发明。现在,结合图17以及随后的图来描述这样的替换分层结构。
(SPU执行驱动程序和协议栈的示例)
参考图17,说明了当将驱动程序和协议栈的执行分派到SPU时可采用的结构示例。图17呈现了这样的示例,其中给定的从处理器(例如SPU-1(321-1),而不是被指定为OS执行处理器的主处理器PPU 311)被指定为执行除了对应于网卡的驱动程序361之外的协议栈362。
与参考图9说明的结构不同,在这个实施例中,协议栈362不是由主处理器PPU 311控制。结果,进一步降低了PPU 311上的处理负荷。通过采用使协议栈操作在SPU上的结构,可以安装除了被分派为由PPU执行的协议栈之外的协议栈,作为SPU的执行目标,而不影响使用PPU上的协议栈的其它标准应用程序。结果,实现了这样的优点,可以容易地定制协议栈,以保证在分组大小和重发算法方面与SPU的最佳兼容性。
(由SPU执行驱动程序、协议栈和应用的示例)
参考图18,说明当经由SPU控制驱动程序、协议栈和应用时可采用的结构示例。图18呈现了这样的示例,其中给定的从处理器(即在图中呈现的示例中的SPU-1(321-1),而不是主处理器PPU 311)被指定为执行协议栈366和应用程序367连同对应于网卡的驱动程序365。要注意的是,应用程序367是使用网卡301执行通信处理的应用程序。尽管未示出,但是在系统中也存在其它应用程序,并且这些应用程序由PPU和其它SPU来执行。
如图18所示,通过在安装了驱动程序365和协议栈366的相同SPU处安装应用367,消除了在PPU和SPU之间传输分组数据的需要,并因此可以在完全不受诸如PPU的性能等级和负荷的因素影响的情况下进行数据通信。
(由PPU和SPU中的不同处理器执行驱动程序、协议栈和应用的示例)
接下来,参考图19和20来说明为了经由PPU和SPU中的不同处理器执行驱动程序、协议栈和应用而可以采用的结构示例。图19呈现了通过PPU和SPU之中的不同处理器来执行装置驱动程序371、协议栈372和应用程序373的结构示例。在图19呈现的示例中,由SPU-1(321-1)执行驱动程序371,由SPU-2(321-2)执行协议栈372,并由PPU 311执行应用程序340。
在图20呈现的示例中,由SPU-1(321-1)执行驱动程序381,由SPU-2(321-2)执行协议栈382,并由SPU-3(321-3)执行应用程序383。
通过采用这些结构中的任一个,在各种处理器上分散处理负荷,以便防止任一给定处理器上的处理负荷变得过重。
(驱动程序被划分为要由不同SPU处理的传送部分和接收部分的示例)
接下来,说明对应于网卡的驱动程序被划分为要由不同SPU处理的传送部分和接收部分的结构示例。图21示出了将对应于网卡301的驱动程序划分为传送部分和接收部分、并由SPU-1(321-1)执行传送驱动程序391而由SPU-2(321-2)执行接收驱动程序392的结构。该结构允许不同的处理器控制对应于数据传送处理和数据接收处理的驱动程序。
(分派不同的SPU来控制各自对应于特定协议类型的协议栈的示例)
接下来,说明分派不同的SPU来控制各自对应于特定协议类型的协议栈的结构示例。图22示出这样的结构,其中将协议栈划分为TCP协议栈和UDP协议栈,并由SPU-1(321-1)执行TCP协议栈401而由SPU-2(321-2)执行UDP协议栈402。要注意的是,在图22所示的结构中,由SPU-3(321-3)执行驱动程序403。
所述结构允许不同的SPU来从事各自对应于特定协议的控制,并因此可以容易地实现特定处理器能够执行为特定协议定制的处理的处理结构。
本领域的技术人员应理解,取决于设计需求和其它因素,可以进行各种修改、组合、子组合和替换,只要它们处于所附权利要求或其等效的范围内即可。
要注意的是,在说明书中描述的处理序列可以以硬件、软件、或者通过组合特定的硬件和软件配置所实现的结构来实现。可通过在专用硬件单元中内建的计算机的存储器中安装在其中记录了处理序列的程序、并执行该程序,或者可通过将这样的程序安装在能够执行各种处理的通用计算机中、并执行该程序,而基于软件来执行所述处理序列。
例如,可以将程序预先记录在用作记录介质的硬盘或ROM(只读存储器)中。作为选择,可以将程序暂时性地或永久性地存储(记录)在可移除记录介质中,诸如在软盘、CD-ROM(致密盘只读存储器)、MO(磁光)盘、DVD(数字通用盘)、磁盘或者半导体存储器中。这样的可移除记录介质可提供为封装软件程序产品。
要注意的是,代替将可移除记录介质中的程序安装在计算机中,可以无线地将程序从下载网址传输到计算机。作为选择,可以通过经由诸如LAN(局域网)或因特网的网络进行的有线连接而将程序传输到计算机中,并且已经接收到向其传输的程序的计算机可将程序安装到诸如内部硬盘的记录介质中。要注意的是,尽管上面参考结合TCP/IP协议采用本发明的示例的实施例而给出说明,但是可以替代地结合诸如RTP/UDP/IP的另一协议采用本发明。
要注意的是,可以如上所述以时间次序执行在说明书中描述的各种类型的处理,或者取决于执行处理的设备的处理能力或者根据需要来同时或分开执行它们。此外,在说明书中使用的术语“系统”指的是包括多个装置的逻辑聚合(aggregate)结构,所述多个装置采取了在单个情况中并非必须安装的各种结构。
如上所述,根据本发明的实施例,与执行操作系统(OS)中的控制的主处理器(CELL中的PPU)不同的从处理器(CELL中的SPU)被指定为控制与通信单元对应的装置驱动程序,并因此从处理器响应于源自网卡的中断来执行通信控制,所述网卡用作在配备有多个处理器并经由网络从事通信的信息处理设备中的通信单元。结果,可以在主处理器处以高级别的效率来执行数据处理,而没有数据处理中的时间滞后。

Claims (15)

1.一种配备有多个处理器的信息处理设备,包括:
第一处理器,基于操作系统执行处理;
通信单元,执行通信处理;以及
第二处理器,基于与通信单元对应的装置驱动程序执行处理。
2.根据权利要求1的信息处理设备,其中:
所述第二处理器读出由该通信单元设置的中断状态,基于已经读出的中断状态确定要执行的处理,并执行所确定的处理。
3.根据权利要求2的信息处理设备,其中:
该第二处理器执行如下操作:
如果通信单元已设置的中断状态指明已经完成了传送,则释放在存储器中用于存储传送目标数据的存储区;
如果中断状态指明已经完成了接收,则基于协议栈处理所接收的数据;以及
如果中断状态指明错误,则执行通信单元的复位处理。
4.根据权利要求2的信息处理设备,其中:
所述第二处理器重复地执行用于读出该通信单元已设置的中断状态的读取处理。
5.根据权利要求2的信息处理设备,其中:
所述通信单元将中断状态写入到与通信单元对应的寄存器区域,并执行用于将中断状态复制到第二处理器可存取的存储区的复制处理;以及
第二处理器从所述存储区获得已由该通信单元设置的中断状态。
6.根据权利要求1的信息处理设备,已经在其中安装了:
应用程序,使得能够经由通信单元进行通信;以及
协议栈,使得能够执行与在经由通信单元执行的数据通信中采用的通信协议对应的通信控制处理,其中:
当经由通信单元执行数据通信时,在所述协议栈和装置驱动程序之间传输通信数据。
7.根据权利要求6的信息处理设备,其中:
由该第一处理器执行所述协议栈;以及
进行在协议栈和第二处理器所执行的装置驱动程序之间的通信数据传输,作为包括数据复制处理的处理,从而在安装在信息处理设备的主存储器和对应于第二处理器设置的本地储存器之间复制数据。
8.根据权利要求1的信息处理设备,其中:
第二处理器基于以下协议栈执行处理,该协议栈使得能够执行与在经由通信单元执行的数据通信中采用的通信协议对应的通信控制处理。
9.根据权利要求1的信息处理设备,其中:
所述第二处理器执行使得能够经由通信单元进行通信的应用程序。
10.根据权利要求1的信息处理设备,还包括:
第三处理器,其基于以下协议栈执行处理,该协议栈使得能够执行与在经由通信单元执行的数据通信中采用的通信协议对应的通信控制处理。
11.根据权利要求1的信息处理设备,还包括:
第三处理器,其基于以下协议栈执行处理,该协议栈使得能够执行与在经由通信单元执行的数据通信中采用的通信协议对应的通信控制处理;以及
第四处理器,控制使得能够经由该通信单元进行通信的应用程序。
12.根据权利要求1的信息处理设备,其中:
所述对应于通信单元的装置驱动程序包括与经由通信单元执行的数据传送处理对应的传送驱动程序和与经由通信单元执行的数据接收处理对应的接收驱动程序,该传送驱动程序和该接收驱动程序由不同的处理器来执行。
13.根据权利要求1的信息处理设备,其中:
不同的处理器中的每一个被指定为基于以下协议栈执行处理的处理器,该协议栈使得能够执行与在经由通信单元执行的数据通信中采用的特定通信协议对应的通信控制处理。
14.一种在配备有多个处理器的信息处理设备中采用的信息处理方法,包括:
与基于操作系统执行处理的第一处理器不同的第二处理器执行读取处理以读出由通信单元设置的中断状态的步骤;以及
第二处理器基于已读出的中断状态确定要执行的处理并执行所确定的处理的步骤。
15.一种使配备有多个处理器的信息处理设备能够执行通信处理控制的计算机程序,包括:
与对操作系统(OS)执行控制的第一处理器不同的第二处理器执行读取处理以读出由通信单元设置的中断状态的步骤;以及
第二处理器基于已读出的中断状态确定要执行的处理并执行所确定的处理的步骤。
CN2008100029409A 2007-01-11 2008-01-11 信息处理设备、信息处理方法 Expired - Fee Related CN101261590B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007002986 2007-01-11
JP002986/07 2007-01-11
JP296676/07 2007-11-15
JP2007296676A JP2008192128A (ja) 2007-01-11 2007-11-15 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
CN101261590A true CN101261590A (zh) 2008-09-10
CN101261590B CN101261590B (zh) 2013-09-11

Family

ID=39752142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100029409A Expired - Fee Related CN101261590B (zh) 2007-01-11 2008-01-11 信息处理设备、信息处理方法

Country Status (2)

Country Link
JP (1) JP2008192128A (zh)
CN (1) CN101261590B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5792138B2 (ja) * 2012-09-21 2015-10-07 日本電信電話株式会社 メディアサーバ、処理割当・割込振分方法、処理割当方法及び割込振分方法
JP5997868B2 (ja) 2014-09-19 2016-09-28 株式会社aLab デバイスプロキシ装置及びその制御方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1790309A (zh) * 2004-12-16 2006-06-21 松下电器产业株式会社 多处理器系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH087694B2 (ja) * 1987-07-24 1996-01-29 株式会社日立製作所 割込制御方式
JPH02201569A (ja) * 1989-01-31 1990-08-09 Nec Corp マイクロプロセッサ間通信方式
JPH03223955A (ja) * 1990-01-29 1991-10-02 Nec Corp 情報処理システム
JPH0561812A (ja) * 1991-09-04 1993-03-12 Nec Eng Ltd 情報処理システム
EP0535821B1 (en) * 1991-09-27 1997-11-26 Sun Microsystems, Inc. Method and apparatus for dynamically steering undirected interrupts
US6148361A (en) * 1998-12-17 2000-11-14 International Business Machines Corporation Interrupt architecture for a non-uniform memory access (NUMA) data processing system
US6356951B1 (en) * 1999-03-01 2002-03-12 Sun Microsystems, Inc. System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction
JP2001209625A (ja) * 2000-01-27 2001-08-03 Hitachi Ltd 並列計算機システムにおけるネットワークインタフェース選択方法及び装置
CN1371065A (zh) * 2002-03-05 2002-09-25 重庆市科学技术委员会 分离式网络计算机
JP4530758B2 (ja) * 2004-08-06 2010-08-25 財団法人名古屋産業科学研究所 マルチピッチねじを備えたナット部材およびその製造方法
JP4148223B2 (ja) * 2005-01-28 2008-09-10 セイコーエプソン株式会社 プロセッサおよび情報処理方法
JP4645281B2 (ja) * 2005-04-19 2011-03-09 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
JP2007012021A (ja) * 2005-06-01 2007-01-18 Sony Corp 情報処理装置および情報処理方法、並びにプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1790309A (zh) * 2004-12-16 2006-06-21 松下电器产业株式会社 多处理器系统

Also Published As

Publication number Publication date
JP2008192128A (ja) 2008-08-21
CN101261590B (zh) 2013-09-11

Similar Documents

Publication Publication Date Title
CN100478926C (zh) 发送数据的方法和系统及接收数据的方法和系统
US8171236B2 (en) Managing migration of a shared memory logical partition from a source system to a target system
JP3777095B2 (ja) 論理区分化コンピュータのイベント・ドリブン通信インタフェース
TW530215B (en) Creation of mini dump files from full dump files
CN1128406C (zh) 数据处理系统及其中断处理方法
US7457900B2 (en) Method for discovering and partitioning PCI devices
JP5737050B2 (ja) 情報処理装置、割込み制御方法および割込み制御プログラム
US7707337B2 (en) Object-based storage device with low process load and control method thereof
US20110145471A1 (en) Method for efficient guest operating system (os) migration over a network
EP0889622B1 (en) Apparatus and method for remote buffer allocation and management for message passing between network nodes
CN101159765B (zh) 网络接口方法、装置和系统
US7797588B2 (en) Mechanism to provide software guaranteed reliability for GSM operations
CN102033840B (zh) 总线协议转换装置和总线协议转换方法
WO2014180110A1 (zh) 数据处理装置及数据处理方法
US20080104337A1 (en) RDMA copy-on-write
GB2339517A (en) Message transmission between network nodes connected by parallel links
KR20150132432A (ko) 네트워크를 통한 메모리 공유
JP2009199197A (ja) 計算機システム、データ一致化方法およびデータ一致化処理プログラム
CN112463307A (zh) 一种数据传输方法、装置、设备及可读存储介质
CN101261590B (zh) 信息处理设备、信息处理方法
US20090307458A1 (en) Virtual real memory exportation for logical partitions
US20100329259A1 (en) Upper layer based dynamic hardware transmit descriptor reclaiming
JP2000330960A (ja) プロセッサ間通信装置
KR100932968B1 (ko) 호스트 컴퓨터의 개입이 없는 toe의 tcp 재전송 처리방법
US8645668B2 (en) Information processing apparatus, information processing method and computer program

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Tokyo, Japan

Applicant after: Sony Corp.

Applicant after: SNE platform Limited by Share Ltd.

Address before: Tokyo, Japan

Applicant before: Sony Corp.

Applicant before: Sony Computer Entertainment Inc.

Address after: Tokyo, Japan

Applicant after: Sony Corp.

Applicant after: SONY COMPUTER ENTERTAINMENT Inc.

Address before: Tokyo, Japan

Applicant before: Sony Corp.

Applicant before: SNE platform Limited by Share Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130911

Termination date: 20220111