信息处理设备、信息处理方法以及计算机程序的制作方法

文档序号:6457738阅读:138来源:国知局
专利名称:信息处理设备、信息处理方法以及计算机程序的制作方法
技术领域
本发明涉及信息处理设备、信息处理方法以及计算机程序。更具体地, 本发明涉及采取利用多个处理器来执行数据处理的多处理器配置的信息处 理设备、在这样的信息处理设备中釆用的信息处理方法、以及计算机程序, 其防止可归因于例如通信处理的数据处理效率的降低。
背景技术
当今,在通过使多个处理器同时从事操作来执行各种类型的数据处理的 应用中,广泛地利用了采取在其中安装有多个处理器(CPU)的多处理器配 置的信息处理设备,诸如PC。其中通过向多个CPU之一分配特定任务来执行不同类型的数据处理的多处理器环境被称为非对称多处理器环境。在诸如如上所述环境之类的非对称多处理器环境中,可以安装主CPU (下文中,称为"PPU"(权威(power)处理器单元))以及多个从CPU(下文中,称为"SPU"(协同处理器单元))。各个处理器可被指定为执行如下所述的不同类型的处理 (1 ) PPU基于OS执行处理。(2) SPU中的每一个执行与诸如特别从事音频或图像处理的编码/解码功能 或者DSP (数字信号处理器)功能之类的特定功能对应的处理。要注意的是,SPU被设计为比标准DSP具有更好的针对通用程序执行 的多功能性,这保证比DSP具有更好处理优点。图l呈现了在配备有非对 称多处理器的信息处理设备中、可针对结合网络通信执行的数据处理采取的 层级(hierarchical layer)的示例。如图1所示,用于执行数据通信的网卡101 采取最低层,而从事数据处理执行的处理器被设置在相对于网卡的较高层级。PPU 111是从事OS执行的主要(primary)处理器。SPU121-n是各自 从事为其分派的特定类型处理的执行的处理器。除了执行OS之外,PPU111还控制程序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的寄存器中写入信息来执 4亍这个通知处理。接下来,在步骤S103中,经由网卡101、根据描述符来执行数据传送/ 接收。在步骤S103之后,在步骤S104中出现PPUlll的中断处理。基于所 述中断处理,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中,执行PPUlll的中断通知处理。当完成了通过DMA而经由网卡101执行的数据传送/接收处理时,在 PPU 111上执行中断处理。现在,参考图6呈现的流程图来说明响应于来自 网卡的中断通知而在PPU 111上4丸行的中断处理的序列。当在步骤S141中在PPU上收到来自网卡101的中断时,通过例如执行 寄存器清除来执行用于暂停当前正在进行的处理的处理(步骤S142)。然后 启动中断处理程序(interrupt handler )。图7呈现了中断处理程序启动处理的 流程图。的起因(步骤S151)。该状态是指明在数据传送/接收中的成功或错误的数据 传送/接收状态,其已经在图4的步骤S126中或图5的步骤S136中经由网 卡101写接下来,PPU 111进入这样的状态,其进行关于是否完成状态传送的判
断(步骤S152),并且如果作出"否,,的判断,则其直接前进以执行步骤S154 中的处理。另一方面,如果作出"是"的判断,则它释放已经存储了传送目 标数据的存储区(步骤S153),并然后前进以执行步骤S154中的处理。如 果在步骤S154中判断所述状态指明已经完成了接收,则PPU lll将所接收 的分组移交到协议栈(步骤S155)。如果它在步骤S156中判断所述状态指 明错误,则PPU111复位网卡(步骤S157)。最后,在中断处理程序启动处 理结束之前,PPU111在步骤S158中清除中断状态。
在图6的步骤S143中执行了图7中呈现的流程图的处理之后,所述操 作前进到步骤S144,以便例如通过恢复已经被清除的寄存器的内容来执行 处理再继续(resumption)处理。
在上述的结构中,无论何时发生中断处理,PPU都需要暂停当前正在进 行的处理。因此,如果在高速网络通信期间频繁地发生中断处理,则所述处 理必然愈加经常地暂停。易于导致高速緩冲存储器破坏或者存储器存取位置 破坏的中断处理必然占用PPU的更多处理时间,并从而降低处理性能。

发明内容
已经通过解决上述担忧而完成的本发明提供了这样的信息处理设备、信 息处理方法和计算机程序,即使例如在执行数据通信处理时,也维持数据处 理效率。
根据本发明的实施例,提供了 一种配备有多个处理器的信息处理设备, 包括第一处理器,基于操作系统执行处理;通信单元,执行通信处理;以 及第二处理器,基于与该通信单元对应的装置驱动程序执行处理。
此外,根据本发明的实施例,提供了一种在配备有多个处理器的信息处 理设备中釆用的信息处理方法,包括与基于操作系统执行处理的第一处理 器不同的第二处理器执行读取处理、以读出由通信单元设置的中断状态的步 骤;以及第二处理器基于已读出的中断状态确定要执行的处理、并执行所确 定的处理的步骤。
此外,根据本发明的实施例,提供了一种使配备有多个处理器的信息处 理设备能够执行通信处理控制的计算机程序,包括与基于操作系统执行处 理的第 一处理器不同的第二处理器执行读取处理、以读出由通信单元设置的中断状态的步骤;以及第二处理器基于已读出的中断状态确定要执行的处 理、并执行如此确定的处理的步骤。
根据本发明的实施例,与控制操作系统(OS)的主处理器不同的从处 理器从事与通信单元对应的装置驱动程序的控制,并且该从处理器基于源自 网卡的中断来执行通信控制,该网卡用作在配备有多个处理器并经由网络从 事通信的信息处理设备中的通信单元。结果,主处理器能够以高级别的效率 执行数据处理,而没有时间滞后。


图1呈现了在配备有CELL的信息处理设备中结合网络通信执行数据处 理时可釆取的处理层级的示例;
图2呈现了在描述符中可釆用的结构示例;
图3呈现了 PPU所执行的分组传送/接收的流程图4呈现了基于所述描述符而经由网卡执行的数据传送处理序列的流程
图5呈现了基于所述描述符而经由网卡执行的数据接收处理序列的流程
图6呈现了响应于来自网卡的中断通知执行的PPU中断处理序列的流 程图7呈现了中断处理程序启动处理的序列的详细流程例;
图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之中的不同处理单元来执行驱动程 序、协议栈和应用程序时可采用的结构示例;
经由不同的SPU执行传送部分和接收部分时可采用的结构示例;以及
图22呈现了为了使各自对应于特定协议类型的不同SPU从事协议栈执 行而可采用的结构示例。
具体实施例方式
接下来是根据本发明的信息处理设备、信息处理方法和计算机程序的详 细i兌明。
(实施例1)
首先,参考图8,描述在本发明的实施例中的信息处理设备中可采用的 结构示例。在与前面描述类似的非对称多处理器环境中操作的根据本发明的 信息处理设备包括单个PPU (权威处理器单元)和八个SPU (协作处理器单 元)。
如图8所示,PPU 211构建在PPE (权威处理器元件)210中,而八个 SPU 221各自构建在单独的SPE (协作处理器元件)220中。PPU 211用作 用以控制OS的主处理器,而八个SPU221是各自从事为其分派的特定类型 的处理的执行的从处理器。
PPE 210包括由LI高速缓冲存储器212和L2高速緩冲存储器213构成 的两级高速緩冲存储器。SPE 220各自包括被称作本地储存器(LS) 222的存储空间,其能够以与Ll高速緩冲存储器的速度等同的速度执行操作。SPE 220经由存储器流控制器(MSC) 223而主要通过DMA来存取主存储器 (XDR) 232。如图中所示出的,主存储器(XDR) 232经由存储器接口控 制器231进行连接,并且用作通信单元的网卡242经由输入/输出控制器 (IOC) 241进行连接。
参考图9,说明在本发明的第一实施例中的信息处理设备中的处理层级 所采取的分层结构。图9示出了在网络通信执行期间釆取的处理层级。如图 9所示,在本发明的第一实施例中,与网卡对应的装置驱动程序被安装在特 定的从处理器SPU中。
在图9中,用作通过其执行数据通信的通信单元的网卡301采取最低层, 并且从事数据处理执行的处理器被设置在相对于网卡的较高等级的层中。要 注意的是,在专利权利要求范围中的"通信单元"可等同于网卡301,"第一 处理器,,可等同于PPUlll,并且"第二处理器,,可等同于SPU1 SPU8。
PPU 311执行程序330 (诸如OS 330 )和与例如TCP/IP的通信协议对 应的协议栈331。协议栈331是用于控制经由网卡301执行的数据通信的通 信控制程序。在最高等级的层中,设置应用340,其发出经由网卡301执行 数据通信的请求。
在相关技术的对称多处理器环境中,基于驱动程序的处理是由前面说明 的PPU来执行的。因此,当分组传送/接收发生时,执行中断处理,这导致 PPU出当前正在进行的处理的暂时性暂停。可归因于中断的PPU处的处理 暂停出乎意料地降低了 PPU的性能级别,这导致处理器的能力不能被完全 利用的不期望的情况。
此外,如果通过向PPU施加中断来执行分组传送/接收,则在以下处理 之前出现延迟
(1) 在分组传送之后释放存储器;
(2) 将已经接收的分组传输到协议栈;以及 。)启动处理程序。
为了消减这些延迟,緩冲器需要保证緩沖器资源的浪费利用所需要的充 足的容量裕度。
在网卡方还存在额外的方面需要解决,因为可用的宽网络频带可能由于 关于PPU处理能力的瓶颈显现而在通信中不能被有效利用。由于假设这些情况的原因在于PPU被分派为处理分组传送/接收的事
实,所以在SPU- 1到SPU-8之中的SPU之一中安装与网卡301对应的驱 动程序350,以便在SPU 1 ~ 8之一中基于驱动程序350执行处理。在这个 结构中,在SPUl-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和图ll说明在能够向任何处理器施加中断的网卡中可采用的 结构的示例。图10是呈现在网卡301中可采用的功能结构的示例的框图。 网卡301中的传送/接收单元351获得被传送到网络的信号,并接收诸如要在 安装了网卡301的终端处接收的以太网(注册商标)帧或者IP分组之类的 数据,该数据包括在与已经从网络获得的信号对应的数据中。要注意的是, 传送/接收单元351可根据任何通信方法,例如有线通信方法或无线通信方 法,来执行数据传送/接收。
地址分析单元352检查在传送/接收单元351所接收的数据(例如,IP 分组)中指明的接收方IP地址,并执行在表管理单元353中存储的表的搜 索。在表管理单元353中,存储了如图11所示的表,其包含各自与特定SNR (信号通知寄存器)对应地设置的IP地址。
如图IO所示,与每一处理器对应地设置SNR,以用于实现与各种类型 装置的同步。例如,当作为信息处理设备的组成部分的各种装置中的任一个要施加中断到特定处理器时,将指明中断出现的数据等写入到与向其施加中
断的处理器对应的SNR中。然后,基于在SNR中写入的数据,对应的处理 器通过例如将装置提供的数据传输到存储器的特定区域(未示出)来执行中 断处理。
在这个实施例中实现的信息处理设备操作在非对称多处理器环境中,其 中信息处理设备中的多个处理器中的每一个执行各类数据处理之中的特定 处理。当在这个设备中经由网卡301接收数据时,在向处理器通知中断之前, 必须首先识别用于接收数据的特定处理器。相应地,经由网卡301参考诸如 图ll所示的表,以便识别用以接收数据的特定接收方处理器。
例如,基于图11所示的包含IP地址的表来识别与所接收的数据(IP分 组)对应的SNR并将中断施加到所识别的处理器上,所述IP地址中的每一 个被分派给特定的处理器或者诸如处理器所执行的应用程序的特定程序,并 并且所述IP地址中的每一个与特定SNR (信号通知寄存器)对应地被设置。
更具体地,图10所示的网卡301中的中断生成单元354通过响应于地 址分析单元352所发出的命令而向特定SNR通知IP分组接收,来生成中断。 即,中断生成单元354将指明已经源自网卡301的中断的数据等写入到与地 址分析单元352基于在表管理单元353中存储的表识别的处理器对应的SNR 中。与某一SNR对应的处理器(例如,SPU-1 )然后基于已经写入到SNR 的数据来执行中断处理。
要注意的是,当在图9所示的结构中PPU311或SPU321经由网卡301 执行数据通信时,必须与用作网卡301的地址空间的1/0地址空间相关地映 射用作存储传送目标数据/所接收数据的存储区的主存储器(XDR)或者本 地储存器(LS)。参考图12,给出关于可如何执行这样的映射处理的说明。 主存储器(XDR)和本地储存器(LS)被映射在称作有效地址(EA)的64 位地址空间中,以便允许将任何有效地址(EA)以任意各种尺寸(例如, 4kB、 64kB、 1MB或者16MB )映射在用作网卡301的地址空间的I/O地址 空间中。例如,当装置存取DMA的地址空间以便传输描述符或分组数据时, 使用1/0页面表(IOPT)指定有效地址(EA),以便相对于用作网卡301的 地址空间的1/0地址空间来映射用作存储区的主存储器(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执行的数据传输处理期间在 协议栈和驱动程序之间的分组数据传输的序列。要注意的是,由于参考通过过假设应用程序是流程图中的处理的主执行者来给出接下来的描述。然而, 勿庸置疑的是,处理的实际执行者是执行应用程序的处理器。在数据传送处理中,在由PPU311执行的协议栈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的地址空间的1/0地址空间中,并且经由网卡执行传送处理。接下来,参考图16中呈现的流程图,说明在经由网卡301执行数据接 收处理期间在协议栈和驱动程序之间的分组数据传输序列。在数据接收处理 中,在步骤S321中,由PPU311执行的协议栈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执行处理器的主处理器PPU311 )被指定为 执行除了对应于网卡的驱动程序361之外的协议栈362。与参考图9说明的结构不同,在这个实施例中,协议栈362不是由主处 理器PPU311控制。结果,进一步降低了 PPU311上的处理负荷。通过采用 使协议栈操作在SPU上的结构,可以安装除了被分派为由PPU执行的协议 栈之外的协议栈,作为SPU的执行目标,而不影响使用PPU上的协议栈的 其它标准应用程序。结果,实现了这样的优点,可以容易地定制协议栈,以 保证在分组大小和重发算法方面与SPU的最佳兼容性。 (由SPU执行驱动程序、协议栈和应用的示例)参考图18,说明当经由SPU控制驱动程序、协议栈和应用时可采用的 结构示例。图18呈现了这样的示例,其中给定的从处理器(即在图中呈现 的示例中的SPU-1 (321-1),而不是主处理器PPU311 )被指定为执行协 议栈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(数字通用盘)、磁盘或者半导体存储器中。这样的可移除记录介要注意的是,代替将可移除记录介质中的程序安装在计算机中,可以无线地将程序从下载网址传输到计算机。作为选4奪,可以通过经由诸如LAN (局域网)或因特网的网络进行的有线连接而将程序传输到计算机中,并且 已经接收到向其传输的程序的计算机可将程序安装到诸如内部硬盘的记录 介质中。要注意的是,尽管上面参考结合TCP/IP协议采用本发明的示例的 实施例而给出说明,但是可以替代地结合诸如RTP/UDP/IP的另 一协议釆用 本发明。要注意的是,可以如上所述以时间次序执行在说明书中描述的各种类型 的处理,或者取决于执行处理的设备的处理能力或者根据需要来同时或分开 执行它们。此外,在说明书中使用的术语"系统"指的是包括多个装置的逻 辑聚合(aggregate)结构,所述多个装置釆取了在单个情况中并非必须安装 的各种结构。如上所述,根据本发明的实施例,与执行操作系统(OS)中的控制的主 处理器(CELL中的PPU)不同的从处理器(CELL中的SPU)被指定为控 制与通信单元对应的装置驱动程序,并因此从处理器响应于源自网卡的中断来执行通信控制,所述网卡用作在配备有多个处理器并经由网络从事通信的 信息处理设备中的通信单元。结果,可以在主处理器处以高级别的效率来执 行数据处理,而没有数据处理中的时间滞后。
权利要求
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)执行控制的第一处理器不同的第二处理器执行读 取处理以读出由通信单元设置的中断状态的步骤;以及第二处理器基于已读出的中断状态确定要执行的处理并执行所确定的 处理的步骤。
全文摘要
提供了一种信息处理设备、信息处理方法以及计算机程序。与执行操作系统(OS)中的控制的主处理器不同的从处理器被指定为控制与通信单元对应的装置驱动程序,并因此响应于源自网卡的中断由从处理器执行通信控制,该网卡用作在配备有多个处理器并经由网络从事通信的信息处理设备中的通信单元。该结构使得主处理器能够以高等级的效率来执行数据处理,而没有数据处理中的时间滞后。
文档编号G06F9/46GK101261590SQ200810002940
公开日2008年9月10日 申请日期2008年1月11日 优先权日2007年1月11日
发明者久曾神宏, 河村佑二 申请人:索尼株式会社;索尼计算机娱乐公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1