多处理器系统、其控制方法和信息存储介质的制作方法

文档序号:6456347阅读:155来源:国知局
专利名称:多处理器系统、其控制方法和信息存储介质的制作方法
技术领域
本发明涉及一种具有用于经由总线相互交换数据的多个处理器 的多处理器系统、该系统的控制方法和信息存储介质。
背景技术
具有多个处理器的多处理器系统是可得到的,其中每个处理器均 执行信息处理。在该多处理器系统中,多种处理模块,诸如每个处理
器、存储器模块、GPU (图形处理单元)等,经由诸如环形总线的总 线相互连接,以进行数据交换。该多处理器系统所包括的处理器数目 可以多于在执行应用程序时所需的处理器数目,以便应付任一处理器 损坏的情形。

发明内容
本发明要解决的技术问题
即使某个处理器由于损坏而不可用时,上述多处理器系统仍能执 行应用程序。然而,当某个处理器被损坏时,由于缺少已损坏的处理 器所承担的与其它处理模块的数据交换,在总线中由于相应处理模块 之间的数据交换而导致的数据传输量的平衡发生了改变,这可能会影 响到相应处理模块之间的数据传输效率。
在采用经由环形类型的总线连接的、包括某个由于损坏而不能操 作的处理器的处理模块的情况下,把一项处理任意分配给除已损坏的 处理器之外的其它处理器将导致要由相应处理器所执行的处理内容 的改变。这可能会导致在环形类型总线上的数据传输路径的方向和距 离的改变。结果,当试图使用不同的、但是同一构造的多处理器系统 执行相同的程序时,不同的程序执行环境根据哪个处理器受到损坏可能会导致程序处理速度等方面的不同。
本发明已经考虑到了上述的情形,并且本发明的一个目的是提供 一种多处理器系统、其控制方法和信息存储介质,其中如果在多个处 理器中有某个处理器被损坏,数据传输效率不太会受到已损坏的处理 器的影响。
本发明的另 一个目的是提供一种多处理器系统、其控制方法和信 息存储介质,其中程序执行环境不太可能由于多个处理器中的哪个处 理器被损坏而发生改变。
解决技术问题的手段
为了实现上述目的,根据本发明的一个方面,提供了一种具有多 个处理模块和用于在各处理模块之间中继数据传输的总线的多处理 器系统,其中所述处理模块包括预定数目的三个或更多个处理器,所 述多处理器系统包括损坏处理器指定装置,用于在预定数目的处理 器中指定至少一个已损坏的处理器;通信受限处理器选择装置,用于 选择在根据已损坏的处理器连接到总线的位置所确定的位置处连接
到总线的至少一个处理器作为通信受到限制的通信受限处理器;以及 通信限制装置,用于限制通信受限处理器经由总线进行的数据传输。
根据本发明的另 一个方面,提供了 一种用于控制具有多个处理模 块和用于在各处理模块之间中继数据传输的总线的多处理器系统的 控制方法,其中所述处理模块包括预定数目的三个或更多个处理器, 所述控制方法包括在预定数目的处理器中指定至少一个已损坏的处 理器的步骤;选择在根据已损坏的处理器连接到总线的位置所确定的 位置处连接到总线的至少 一个处理器作为通信受到限制的通信受限 处理器的步骤;以及限制通信受限处理器经由总线进行的数据传输的 步骤。
根据本发明的另一个方面,提供了一种计算机可读信息存储介 质,其存储有由具有多个处理模块和用于在各处理模块之间中继数据 传输的总线的多处理器系统所执行的程序,其中所述处理模块包括预 定数目的三个或更多个处理器,该程序使所述多处理器系统用作损坏处理器指定装置,用于在预定数目的处理器中指定至少一个已损坏
的处理器;通信受限处理器选择装置,用于选择在根据已损坏的处理 器连接到总线的位置所确定的位置处连接到总线的至少一个处理器 作为通信受到限制的通信受限处理器;和通信限制装置,用于限制通 信受限处理器经由总线进行的数据传输。
根据本发明的另 一个方面,提供了 一种具有多个处理模块和用于 在各处理模块之间中继数据传输的环形类型总线的多处理器系统,其 中所述处理模块包括多个处理器,所述多处理器系统包括表存储装
置,用于存储一个表明由多个处理器中的某些处理器所构成的处理器 子集与多个处理器指示信息项之间的关联的表,其中所述处理器指示
信息项中的每个信息项指示所述处理器子集中的任一个处理器;损坏 处理器指定装置,用于在多个处理器中指定至少一个已损坏的处理 器;以及表生成装置,用于生成所述的表,使得所述处理指示信息项 中的每个信息项根据已损坏的处理器连接到环形类型总线的位置指 示多个处理器中除已损坏的处理器之外的任一个处理器,其中所述处 理器子集中的每个处理器基于包括多个预定处理的应用程序和所生 成的表执行与指示该处理器的处理器指示信息项相关联的预定处理, 其中每个预定处理与任一处理器指示信息项相关联。
根据本发明的另 一个方面,提供了 一种用于控制具有多个处理模 块和用于在各处理模块之间中继数据传输的总线的多处理器系统的 控制方法,其中所述处理模块包括预定数目的三个或更多个处理器, 所述控制方法包括在多个处理器中指定至少一个已损坏的处理器的 步骤;以及生成一个表明由多个处理器中的某些处理器所构成的处理 器子集与多个处理器指示信息项之间的关联的表的步骤,其中所述处
理器指示信息项中的每个信息项指示所述处理器子集中的任一个处 理器,使得所述处理指示信息项中的每个信息项根据已损坏的处理器 连接到环形类型总线的位置指示多个处理器中除已损坏的处理器之 外的任一个处理器,其中所述处理器子集中的每个处理器基于包括多 个预定处理的应用程序和所生成的表执行与指示该处理器的处理器指示信息项相关联的预定处理,其中每个预定处理与任一处理器指示 信息项相关联。
根据本发明的另一个方面,提供了一种计算机可读信息存储介 质,其存储有要由具有多个处理模块和用于在各处理模块之间中继数
据传输的环形类型总线的多处理器系统所执行的程序,其中所述处理 模块包括预定数目的三个或更多个处理器,该程序使所述多处理器系
统用作损坏处理器指定装置,用于在多个处理器中指定至少一个已 损坏的处理器;以及表生成装置,用于生成一个表明由多个处理器中 的某些处理器所构成的处理器子集与多个处理器指示信息项之间的 关联的标,其中所述处理器指示信息项中的每个信息项指示所述处理 器子集中的任一个处理器,使得所述处理指示信息项中的每个信息项 根据已损坏的处理器连接到环形类型总线的位置指示多个处理器中 除已损坏的处理器之外的任一个处理器,其中所述处理器子集中的每 个处理器基于包括多个预定处理的应用程序和所生成的表执行与指 示该处理器的处理器指示信息项相关联的预定处理,其中每个预定处 理与任一处理器指示信息项相关联。


图1是示出根据本发明的一个实施例的多处理器系统的硬件结 构的图示;
图2是示出连接到总线的多个处理模块的结构的图示;
图3是示出一个子处理器的简化结构的图示;
图4是示出根据本发明的该实施例的多处理器系统的示例性功 能的功能框图5是示出处理器关联表的一个例子的图示;
图6是解释由处理器指示信息所指定的子处理器之间的位置关 系的一个例子的图示;
图7是解释由处理器指示信息所指定的子处理器之间的位置关 系的另一个例子的图示;图8是解释由处理器指示信息所指定的子处理器之间的位置关 系的另一个例子的图示;和
图9是由根据本发明的该实施例的多处理器系统所执行的处理 的一个例子的流程图。
具体实施例方式
下面将参考附图描述本发明的一个实施例。
图1是示出了根据该实施例的多处理器系统的硬件结构的图示, 如图所示,多处理器系统IO是包含MPU (微处理单元)11,主存储 器20,图像处理单元24,监视器26,输入输出处理单元28,声音处 理单元30,扬声器32,光盘读取单元34,硬盘38,接口 (I/F)40、 44,操作装置42,摄像机单元46和网络接口 48的计算机系统。
图2是示出MPU11的结构的图示。如图所示,MPU11包括主 处理器12,子处理器14a、 14b、 14c、 14d、 14e、 14f、 14g、 14h,总 线16和总线控制器17。
特别地,多处理器系统10的那些经由总线16执行数据传输的结 构元件在下文中被称作"处理模块"。也就是说,根据该实施例的多处 理器系统包括多个处理模块和用于在各处理模块之间中继数据交换 的总线,其中所述处理模块包括多个处理器。特别地,在该实施例中, 如图2所示,十二个处理模块,即主处理器12、子处理器14a至14h、 主存储器20、图像处理单元24和输入输出处理单元28经由总线16 相互连接,以进行数据交换。
主处理器12基于存储在ROM (只读存储器)(未示出)中的 操作系统和从诸如DVD (数字多功能光盘)-议0]\1等的光盘36读取 的或者经由通信网络传输的程序和数据执行各种信息处理,并控制子 处理器14a至14h。
子处理器14a至14h根据来自主处理器12的指令并基于从诸如 例如DVD-ROM等的光盘36读取或者经由通信网路提供的程序和数 据等执行多种信息处理。这里将参考子处理器14a作为例子来描述每个子处理器的结构。 要注意的是,其它子处理器的结构与子处理器14a的结构相同。图3 是示出一个子处理器14a的筒化结构的图示。如图所示,子处理器14a 包括子处理器单元15a、本地存储器15b和总线接口单元15c。子处 理器单元15a执行分配给子处理器14a的程序,以执行信息处理,如 计算等。本地存储器15b存储分配给子处理器14a的程序和数据的至 少一部分,并作为子处理器单元15a的工作存储器来操作。
总线接口单元15c响应于来自子处理器单元15c的访问请求等与 其它处理模块交换数据。即总线接口单元15c在子处理器单元14a和 其它处理模块之间中继数据。在一个特定的例子中,响应于来自子处 理器单元15a的对预定存储空间内的一个地址(逻辑地址)进行访问 的请求(写或读数据请求),总线接口单元15c引用预先保存在其中 的存储器地址转换表将所请求的逻辑地址转换为物理地址。要注意的 是,物理地址在这里诸如是在主存储20中或者在每个子处理器的本 地存储器中的存储器地址等,指示每个处理模块的物理存储位置。总 线接口单元15c还将由子处理器单元15c发出的数据转发到由转换得 到的物理地址所表示的处理模块,或者把数据传输请求发送到由转换 得到的物理地址所表示的处理模块并从该处理模块接收数据。
一旦经由总线16接收到来自另一个处理模块的、指示在本地存 储器15b中的一个存储器地址的访问请求,总线接口单元15c将数据 写入本地存储器15b中,或者把所指定的本地存储器15b中的数据发 送到已发出访问请求的处理模块。如上所述,子处理器14a可以经由 总线16与其它处理器模块交换数据。
响应于来自每个处理单元的请求,总线16在各处理模块之间交 换各种数据。特别地,根据该实施例,总线16是包括四条数据传输 路径16a、 16b、 16c和16d的双向环形总线。在这些路径中,数据传 输路径16a和16b总是顺时针传递数据,而数据传输路径16a和16b 总是逆时针传递数据。由总线控制器17确定四条数据传输路径中的 哪一条用于在各处理模块之间传输数据。总线16具有与连接到其上的处理模块数目相同的连接端口 ,使得各处理模块在对应的连接端口
的相应位置处被连接到总线16。也就是说,每个处理模块相对于总线 16经由对应的连接端口交换数据。
总线控制器17控制经由总线16在各处理模块之间的数据传输。 在一个特定的例子中,响应于来自每个处理模块的数据传输请求,总 线控制器17首先基于发送器处理模块连接到总线16的位置以及传输 目的地处理模块连接到总线16的位置确定要使用顺时针还是逆时针 数据传输路径用于期望的数据传输。也就是说,总线控制器17确定 要使用的数据传输路径,使得数据在发送器处理模块和传输目的地处 理模块之间在能够减少连接到总线16上的处理模块的数量的方向上 传输。也就是说,假设例如子处理器14a是发送器处理模块,而主处 理器12、主存储器20、子处理器14b、子处理器14d和子处理器14f 中的任一个是传输目的地处理模块,则在顺时针数据传输路径上连接 的处理模块数目较少,如图2中所示。因此,总线控制器17确定使 用数据传输路径16a或16b。相反,当子处理器14a是发送器处理模 块,而传输目的地处理模块是子处理器14c、子处理器14e、子处理器 14g、输入输出处理单元28和图像处理单元24中的任一个时,总线 控制器17判断以逆时针发送数据,因而确定使用数据传输路径16c 或16d作为数据传输路径。
进一步地,总线控制器17根据当发出数据传输请求时各数据传 输路径的使用状态等来确定在相同方向上的两条数据传输路径中的 哪一条路径要用作数据传输路径。特别是当在数据发送器和数据接收 器之间在顺时针和逆时针数据传输路径上所连接的处理模块数目相 同时(例如从子处理器14a到子处理器14h的数据传输),使用顺时 针和逆时针数据传输路径都可以。也就是说,总线控制器17根据使 用状态等在四条数据传输路径中确定要使用的数据传输路径。根据由 总线控制器17做出的决定,每个处理模块使用 一条数据传输路径执 行与其它处理模块的数据传输。
主存储器20包括诸如RAM等的存储器元件,以及用于在存储器元件和总线16之间中继数据传输的存储器控制器。从光盘36和/ 或硬盘38读取或者经由通信网路提供的程序和数据当必要时被写入 到主存储器20中。主存储器20还用作主处理器12和子处理器14a 至14b的工作存储器。
图像处理单元24包括GPU (图形处理单元)和帧緩存。GPU 基于从主处理器12和/或子处理器14a至14h所发送的数据将各种屏 幕图像提供到帧緩存内。提供给帧緩存的屏幕图像被转换成视频信号 并以预定的时序被输出到监视器26。特别地,监视器26可以是家用 电视接收器。
输入输出处理单元28被连接到声音处理单元30、光盘读取单元 34、硬盘38、接口 40和44、以及网络接口 48。输入输出处理单元 28控制主处理器12和子处理器14a至14h与声音处理单元30、光盘 读取单元34、硬盘38、接口 (1/F)40和44、以及网络接口48之间 的数据交换。
声音处理单元30包括SPU (声音处理单元)和声音緩存。在声 音緩存中存储从光盘36或硬盘38读取的诸如游戏音乐、游戏声效、 消息等的各种声音数据。SPU再现各种声音数据并经由扬声器32输 出。扬声器32可以是例如家用电视接收器的内置扬声器。
响应于来自主处理器12和子处理器14a至14h的指令,光盘读 取单元34从光盘36读取程序和数据。多处理器系统10可以形成为 能够从除了光盘36之外的任何计算机可读信息存储介质读取程序和 数据。
光盘36是典型的光盘(计算机可读信息存储介质),如 DVD-ROM等。硬盘38是典型的硬盘设备。在光盘36和/或硬盘38 中,各种程序和数据以计算机可读的方式被存储。
接口 (I/F)40、 44被用于连接各种外设,如操作装置42、摄像 机单元46等。接口可以是例如USB (通用串行总线)接口或根据蓝
牙TM标准的无线通信接口 。
操作装置42是通用操作输入装置,供使用者输入各种操作(例如游戏操作)。输入输出处理单元28每隔预定的时间周期(例如每 隔1/60秒)扫描操作装置42的各单元的状态,并将描述扫描结果的 操作信号提供给主处理器12和/或子处理器14a至14h。主处理器12 和/或子处理器14a至14h基于其操作信号确定由使用者执行的操作的 内容。特别地,多处理器系统10被形成为适于连接到多个操作装置 42,使得主处理器12和/或子处理器14a至14h基于来自相应操作装 置42的操作信号输入执行各种处理。
摄像机单元46包括例如已经熟知的数字摄像头,其每隔预定的 时间周期(例如每隔1/60秒)接收黑/白图像、灰度图像或有色捕捉 的图像。根据该实施例,摄像机单元46将捕捉的图像作为根据JPEG (联合摄影专家组)格式的图像数据输入。例如,摄像机单元46被 放置在监视器36上,其摄像机镜头指向用户,并经由电缆连接到接 口 44。网络接口 48连接到输入输出处理单元28和通信网络,中继多 处理器系统10经由通信网络与其它信息装置所进行的数据传输。
下面将描述当子处理器14a至14h中的任一个受到损坏时由如此 构造的多处理器系统10所实现的功能。如图4中所示,多处理器系 统10在功能方面包括损坏处理器指定单元50、通信受限处理器选择 单元52、通信限制单元54、表生成单元56和处理执行控制单元58。 这些功能例如通过执行存储在ROM (未示出)和/或主存储器20等 内的程序的MPU 11来实现。该程序可以被存储在诸如光盘36等的 计算机可读信息存储介质内,或者经由诸如因特网等的通信网络来提 供。
损坏处理器指定单元50在子处理器14a至14h中指定至少一个 受到损坏的子处理器(下文中称为已损坏的处理器)。已损坏的处理 器可能是在MPU 11的制造期间发现受损的子处理器,或者是在使用 期间受到损坏因而不能正常工作的子处理器。作为替代,已损坏的处 理器也可能是在装运设备等的情况下限制使用的子处理器。在一个特 定的例子中,根据该实施例的多处理器系统10可以得到损坏处理器 识别信息,该信息标识出一个已损坏的处理器,并被预先存储在(未示出的)非易失性存储器中,损坏处理器指定单元50从该非易失性 存储器中读取所述损坏处理器识别信息,以识别出一个被损坏的处理 器。另外,当多处理器系统IO上电时,损坏处理器指定单元50可以 执行预定的硬件诊断程序等,从而识别出已损坏的处理器。损坏处理 器指定单元50可以根据诊断程序的执行结果等更新存储在非易失性 存储器中的损坏处理器识别信息,并基于更新后的损坏处理器识别信 息来指定已损坏的处理器。
通信受限处理器选择单元52根据由损坏处理器指定单元50所指 定的已损坏的处理器从子处理器14a至14h中选择一个通信将要受到 限制的子处理器(下文中称为通信受限处理器)。特别地,通信受限 处理器选择单元52选择在根据已损坏的处理器连接到总线16的位置 (连接位置)所确定的位置处连接到总线16的至少一个子处理器作 为通信受限处理器。
被选为通信受限处理器的子处理器的数目可以根据配备给多处
理器系统10的子处理器的数目(这里是八个)、当多处理器系统IO
执行应用程序时所使用的子处理器的数目、以及已损坏的处理器的数
目来确定。假设在执行应用程序时使用了六个子处理器,并存在一个
已损坏的处理器,则从配备给多处理器系统10的子处理器的数目中
减去这些数目所得到的数目、即l ( = 8-6-1)就是要选为通信受限
处理器的子处理器的数目。作为替代,通信受限处理器的数目也可以
这样来确定即使得已损坏的处理器的数目和通信受限处理器的数目 之和等于一个预定的数值。
下面将描述针对通信受限处理器选择单元52从子处理器14a至 14h中选择一个通信受限处理器的方法的特定例子。
在一个例子中,通信受限处理器选择单元52这样来选择通信受 限处理器使得在已损坏的处理器连接到总线16的位置与通信受限 处理器连接到总线16的位置之间连接到总线16的处理模块的数目变 化较小。也就是说,假设例如存在一个已损坏的处理器和一个通信受 限处理器。在这种情况下,在总线16的路径上距离已损坏处理器连接到总线16的位置最远的位置处(即在环形内的相对位置处)连接 到总线16的子处理器被选为通信受限处理器。具体来说,在图2的 例子中,当子处理器14a是已损坏的处理器时,子处理器14h被选为 通信受限处理器。类似地,当子处理器14b是已损坏的处理器时,子 处理器14g被选为通信受限处理器;当子处理器14c是已损坏的处理 器时,子处理器14f被选为通信受限处理器;当子处理器14d是已损 坏的处理器时,子处理器14e被选为通信受限处理器。如果已损坏的 处理器和通信处理器互换,也可以应用上述已损坏的处理器和通信受 限处理器的这种组合。也就是说,例如当子处理器14h是已损坏的处 理器时,子处理器14a被选为通信受限处理器。
利用以上述方式选择的通信受限处理器,在顺时针路径或逆时针 路径上,在已损坏的处理器连接到总线16的位置与通信受限处理器 连接到总线16的位置之间有五个处理模块连接到总线16上,其数目 的差别为零。即使当奇数个处理模块连接到总线16,或者选择两个或 更多个通信受限处理器时,也如此选择通信受限处理器使得在每条 路径上,在已损坏的处理器连接到总线16的位置与通信受限处理器 连接到总线16的位置之间连接到总线16的处理模块的数目变化较 小,从而使已损坏的处理器和通信受限处理器在彼此远离的相应位置 处连接到总线16上。通过上述方式,不经由总线16传输数据的已损 坏的处理器连接到总线16的位置与经由总线16的数据传输受到限制 的通信受限处理器连接到总线16的位置之间可以被设置为彼此远离, 而由除这些子处理器之外的各处理模块经由环形总线的数据传输可 以始终一致。
作为替代,通信受限处理器选择单元52也可以基于在多处理器 系统10中所涉及的多个处理模块中的一个预定的处理模块(下文中 称为焦点处理模块)连接到总线16的位置来选择通信受限处理器。 在一个特定的例子中,通信受限处理器选择单元52选择使用总线16 的多条数据传输路径中的一条不同于从已损坏的处理器至焦点处理 模点处理模块的数据传输的子处理器作为通信受限处理器。
例如,焦点处理模块是诸如主存储器20、图像处理单元24等的 处理模块,希望它执行与各子处理器的大量数据传输。这里在一个特 定的例子中将描述主存储器20作为焦点处理模块的情况。在这种情 况下,如上所述,顺时针数据传输路径16a或16b被用于从子处理器 14a、 14c、 14e和14g到主存储器20的数据传输。下文中这四个子处 理器共同被称作第一子处理器组。同时,逆时针数据传输路径16c或 16d被用于从子处理器14b、 14d、 14f和14h到主存储器20的数据传 输。下文中这四个子处理器共同被称作第二子处理器组。
假设主存储器20是焦点处理模块,并存在一个已损坏的处理器 和一个通信受限处理器,通信受限处理器选择单元52当已损坏的处 理器属于第一子处理器组时从属于第二子处理器组的那些子处理器 中选择通信受限处理器,而当已损坏的处理器属于第二子处理器组时 从属于第一子处理器组的那些子处理器中选择通信受限处理器。通过 上述方式,在那些除已损坏的处理器和通信受限处理器之外的子处理 器中有相同数目的、这里是三个子处理器分别属于第一和第二子处理 器組。通过上述方式,在后面将要描述的对通信受限处理器经由总线 16所进行的数据传输的限制使得主存储器20或者说焦点处理模块与 除已损坏的处理器和通信受限处理器之外的子处理器之间的数据传 输能够分散在多条数据传输路径上。这使得不太可能由某些数据传输 路径不均勻地执行数据传输。要注意的是,如上所述在距离已损坏的 处理器最远的位置处连接到总线16的通信受限处理器所属的子处理 器組与已损坏的处理器所属的子处理器組不同。
对于涉及两个或更多个已损坏的处理器或通信受限处理器的情 况,通信受限处理器选择单元52可以如此选择通信受限处理器使 得分别属于第一和第二子处理器的除已损坏的处理器和通信受限处 理器之外的子处理器的数目之间的差别较小。
要注意的是,尽管上面描述了当存在一个已损坏的处理器时根据 已损坏的处理器连接到总线16的位置来选择通信受限处理器的情况,但是,当损坏处理器指定单元52没有指定已损坏的处理器时,通信 受限处理器选择单元52也能选择通信受限处理器。在这种情况下, 通信受限处理器的数目可以基于配备给多处理器系统10的子处理器 的数目和当多处理器系统10执行应用程序时所使用的子处理器的数 目来确定。在上文中, 一个预定的子处理器可以被选作通信受限处理 器。在一个特定的例子中,通信受限处理器选择单元52可以选择一 个预定的子处理器作为通信受限处理器,如选择其温度可能由于多处 理器系统10的电路布局而升高的子处理器等,这根据使用多处理器 系统10的环境而确定。
通信限制单元54对由通信受限处理器选择单元52所选择的通信 受限处理器经由总线16所进行的数据传输加以限制。作为一个特定 的例子,通信限制单元54可以限制通信受限处理器的程序执行,从 而限制通信受限处理器所进行的数据传输。在这种情况下,通信受限 处理器像已损坏的处理器那样不执行与其它处理模块的数据传输。作 为替代,可以把由通信受限处理器中的总线接口单元15c针对总线16 所进行的数据传输的数据传输带宽限制在一个预定的数值以下,同时 通信受限处理器仍继续执行应用程序,从而限制了数据传输。
作为另一种替代,通信限制单元54可以使通信受限处理器执行
预定的程序(下文中称为系统程序),从而限制通信受限处理器所进
行的数据传输。在上文中,系统程序是预先存储在多处理器系统10
中的ROM等内的程序,其类型与要由其它子处理器执行的应用程序
不同。此外,系统程序是这样一类程序其使得该子处理器执行该系
统程序时与其它处理模块交换的数据量小于同一子处理器执行应用 程序时与其它处理模块交换的数据量。特别地,当系统程序独立于其
它应用程序时,正在执行系统程序的通信受限处理器不需要与其它子 处理器交换数据。也就是说,通信限制单元54通过使通信受限处理 器执行这样的系统程序来限制由该处理器所进行的数据传输。特别 地,系统程序可以由操作系统直接激活并可以在操作系统控制卞执 行。通过这种安排,在该子处理器执行系统程序时的数据传输所涉及的数据量与应用程序的情况相比更容易受到控制。
如上所述,通过选择在根据已损坏的处理器连接到总线16的位 置所确定的位置处连接到总线16的子处理器作为通信受限处理器, 并对由所选的通信受限处理器经由总线16进行的数据传输加以限制, 多处理器系统10能够确保由于在总线16内的数据传输而导致的负载 均匀,使得数据传输效率不容易受到已损坏的处理器连接到总线16 的位置的影响。
表生成单元56生成一个处理器关联表,这个表表明了子处理器 14a至14h中的某些处理器与多个处理器指示信息项之间的关联,其 中每个处理器指示信息项指示子处理器14a至14h中的某些处理器中 的任一个。处理器关联表可以被预先存储在多处理器系统10中的主 存储器20等内,并由表生成单元56更新。处理器指示信息是标识多 处理器系统10中任一个子处理器的信息,并被表示成逻辑处理器号, 例如大于或等于零的整数。在这种情况下,处理器指示信息项的数目 与执行应用程序时所使用的子处理器的数目相同,少于配备给多处理 器系统10的子处理器的数目(这里是八个)。图5是示出了处理器 关联表的一个例子的图示,其中六个逻辑处理器号、即零到五分别与 相应的子处理器相关联,因而每个逻辑处理器号表示子处理器中的一 个。
表生成单元56如此生成所述处理器关联表,使得每个处理器指 示信息项根据已损坏的处理器连接到总线16的位置指示多个子处理 器中除已损坏的处理器之外的任一个。在任一子处理器被通信受限处 理器选择单元52选择作为通信受限处理器的情况下,表生成单元56 可以如此生成所述处理器关联表,使得每个处理器指示信息项根据已 损坏的处理器和通信受限处理器连接到总线16的位置指示多个子处 理器中除已损坏的处理器和通信受限处理器之外的任一个。此外,在 通信受限处理器被安排执行预定的系统程序的情况下,如以上所述的 情形,可以如此生成处理器关联表,使得多个处理器指示信息项中的 一个预定的特定处理器指示信息项指示一个通信受限处理器。作为一个特定的例子,表生成单元56从除已损坏的处理器之外 的多个子处理器中确定要由相应的处理器指示信息项根据除已损坏 的处理器之外的各子处理器连接到总线16的位置所指示的子处理器。 例如,当已损坏的处理器属于第一子处理器组时,首先确定逻辑处理 器号0表示子处理器14b,接着确定要由相应的逻辑处理器号所表示 的子处理器,其中如此执行后一项确定使得所指示的各子处理器连 接到总线16的位置是顺时针排列的。同时,当已损坏的处理器属于 第二子处理器组时,首先确定逻辑处理器号0表示子处理器14a,接 着确定要由相应的逻辑处理器号所表示的子处理器,其中如此执行后 一个确定使得所指示的各子处理器连接到总线16的位置是逆时针 排列的。
图6和7是解释如上所述确定的由相应的逻辑处理器号所表示的 子处理器之间的位置关系的图示。在附图中,连接到总线16的处理 模块之间的位置关系被简化地示出,如在图2中所示。特别地,在图 6和7中处理器指示信息通过六个逻辑处理器号、即从零到五来表示, 其中由逻辑处理器号n所表示的子处理器被标记为子处理器(n)。 图6示出其中子处理器14a是已损坏的处理器并且子处理器14h被选 作通信受限处理器的例子。图7示出其中子处理器14d是已损坏的处 理器并且子处理器14e被选作通信受限处理器的例子。
如上所述,通过根据子处理器连接到总线16的位置确定由相应 的逻辑处理器号所指示的子处理器,当从由某个逻辑处理器号所表示 的任一子处理器看去时,不管哪个子处理器是已损坏的处理器,均可 以确保在子处理器连接到总线16的位置之间有相同的位置关系。特 别地,例如当数据从子处理器(0)传输到在图6中由其它逻辑处理 器号所表示的其它子处理器时,使用顺时针数据传输路径将数据传输 到子处理器(1)和(2);使用逆时针数据传输路径将数据传输到子 处理器(5)和(4);顺时针或逆时针数据传输路径均可以用于到子 处理器(3)的数据传输。同时,对于从子处理器(0)到在图7中由 其它逻辑处理器号所表示的其它子处理器的数据传输,使用逆时针数据传输路径将数据传输到子处理器(1)和(2);使用顺时针数据传 输路径将数据传输到子处理器(5)和(4)。对于到子处理器(3) 的数据传输,任一方向上的数据传输路径均可以使用,类似于在图6 中所示的情况。除了传输路径的方向被反向之外,数据经由相同方向 上的数据传输路径所传输到的子处理器的组合在图6和7中所示的例 子中是相同的。通过这种安排,当根据逻辑处理器号把包含在应用程 序中的预定处理的执行任务分配给相应的子处理器时,无论哪个子处 理器受到损坏,均能确保执行应用程序的各子处理器之间的数据传输 的恒定环境,这将在下文描述。
此外,由表生成单元56所执行的从除已损坏的处理器之外的多 个子处理器中确定要由处理器指示信息项所指示的子处理器的步骤 可以根据除已损坏的处理器之外的各子处理器连接到总线16的位置 以及多个处理模块中一个预定处理模块连接到总线16位置之间的位 置关系来进行,其中所述预定的处理模块可以是上述由通信受限处理 器选择单元52选择通信受限处理器时所使用的焦点处理模块。
作为这种情况的一个特定的例子,当例如主存储器20是焦点处 理模块时,表生成单元56如此确定要由逻辑处理器号所表示的子处 理器使得所指示的各子处理器连接到总线16的位置是逆时针排列 的,从主存储器20连接到总线16的位置处开始。图8是解释当子处 理器14a是已损坏的处理器并且子处理器14h是通信受限处理器时由 如此确定的各逻辑处理器号所表示的子处理器的连接位置之间的位 置关系的图示,类似于图6。
通过如上所述根据子处理器和焦点处理模块的连接位置之间的 位置关系确定由逻辑处理器号所表示的子处理器,无论哪个子处理器 是已损坏的处理器,均可以使从焦点处理模块到由逻辑处理器号所表 示的各子处理器的数据传输方向保持不变。在图8中所示的例子中, 例如使用逆时针数据传输路径将数据从主存储器20传输到子处理器 (0)、 (1)和(2),而使用顺时针数据传输路径将数据从主存储 器20传输到子处理器(5)、 (4)和(3)。不管哪个子处理器受到损坏,这种对应关系都保持不变。
此外,当数据从焦点处理模块传输时,由相应的逻辑处理号所表 示的各子处理器的数据传播距离的顺序保持不变,而不管已损坏的处
理器的连接位置在哪里。例如,在图8中所示的例子中,其中在数据 从主存储器20通过逆时针数据传输路径所发送到的各子处理器中, 子处理器(0 )连接得最靠近主存储器20,子处理器(1)是第二近的, 子处理器(2)是第三近的,数据以该顺序通过总线16传输,经过一 个比一个长的距离,该顺序保持不变,而不管哪个子处理器受到损坏。 通过上述方式,焦点处理模块和执行应用程序的相应子处理器之间的 传输数据量受到已损坏的处理器的位置影响较小。
基于从例如光盘36和/或硬盘38等读取然后存储在主存储器20 中的应用程序以及由表生成单元56所生成的处理器关联表,处理执 行控制单元58控制由相应的处理器指示信息项所指示的每个子处理 器,以便执行作为该应用程序一部分的预定处理。在这种情况下,该 应用程序包括多个预定的处理,其中每个预定处理与处理器指示信息 项中的任一个相关联。多个预定处理中的每一个是程序执行的单位, 并被分配给每个子处理器,并且并行执行多个预定的处理。由处理器 指示信息项所指示的子处理器中的每个处理器在处理执行控制单元 58的控制下执行与指示该子处理器的处理器指示信息项相关联的预 定处理。
在一个特定的例子中,处理执行控制单元58生成一个存储器地 址转换表,该存储器地址转换表表明了对应于逻辑处理器号预先确定 的逻辑地址与表示由该逻辑处理器号所指示的子处理器的存储器位 置的物理地址之间的关系。所生成的存储器地址转换表被分配给每个 子处理器中的总线接口单元15c,使得每个子处理器可以使用一个逻 辑处理器号访问通过该逻辑处理器号所指示的子处理器。此外,当引 用存储器转换表时,主存储器20可以将用于某个预定处理的程序数 据发送到由每个逻辑处理号所指示的子处理器,使得该子处理器执行 预定的处理。如上文所述,多处理器系统io根据已损坏的处理器连接到总线
16的位置确定要由相应的处理器指示信息项所指示的子处理器,并且 每个子处理器执行与指示该子处理器的处理器指示信息项相关联的 预定处理。通过这种安排,执行相应的预定处理的子处理器之间的位 置关系能够保持相对稳定,尽管已损坏的处理器连接到总线16的位 置存在不同。这使得程序执行环境不太可能发生改变,并且减少了由 于每个装置的个体差异导致的程序处理速度等方面的不同。
这里,将基于图9所示的流程图描述由多处理器系统IO执行的 过程的流程的一个例子。在图中所示的处理当例如多处理器系统10 被上电等情况下被执行。
首先,多处理器系统IO从非易失性存储器中读取损坏处理器识 别信息并且指定已损坏的处理器(Sl)。当存在已损坏的处理器时, 根据已损坏的处理器的连接位置选择通信受限处理器(S2)。这里确 定在总线16的路径上距离已损坏的处理器连接到总线16的位置最远 的位置处所连接的一个子处理器被选择作为通信受限处理器。另一方 面,当不存在已损坏的处理器时,多处理器系统10选择一个预定的 子处理器作为通信受限处理器(S3)。
然后,多处理器系统10根据在步骤S1所指定的已损坏的处理器 以及在步骤S2或S3所选择的通信受限处理器生成一个处理器关联表 (S4)。进一步地,基于在步骤S2或S3所选择的通信受限处理器以 及在步骤S4所生成的处理器关联表生成一个存储器地址转换表(S5 ), 并且所生成的存储器地址转换表被分配给每个子处理器的总线接口 单元15c(S6)。特别地,步骤S1至S6中的处理可以由在多处理器 系统10中运行的操作系统执行。
在上文中,在步骤S5所生成的存储器地址转换表是表明了对应 于一个逻辑处理器号的逻辑地址与表示由该逻辑处理器号所指示的 子处理器的物理地址之间的关联,以及从其读取预定系统程序的预定 逻辑地址与表示通信受限处理器的物理地址之间关联的地址转换表。 借助于分配给各子处理器的总线接口单元15c的存储器地址转换表,通信受限处理器能够执行系统程序,而由该逻辑处理器号所指示的每 个子处理器执行作为与该逻辑处理器号相关联的应用程序的一部分 的预定处理。
需要注意的是,本发明不限于上面所描述的实施例,可应用各种 改动的实施例。例如,即使当多个处理器连接到除环形类型总线之外 的任何类型的总线时,只要该总线包含多条数据传输路径,多处理器
系统10就可以选择通信受限处理器,使得经由相应数据传输路径执
行与焦点处理模块之间的数据传输的处理器的数目变化较小。通过上 述方式,传输数据量可以在多条数据传输路径上均匀地分布,使得可 以提高数据传输效率。特别地,根据本发明的多处理器系统可以是具 有相同类型的多个处理器的不同种类的信息处理装置。
通信受限处理器选择单元52可以根据由损坏处理器指定单元50 所指定的已损坏的处理器的数目确定要被选为通信受限处理器的处 理器的数目。例如,通信受限处理器选择单元52如此选择通信受限 处理器,使得通信受限处理器的数目等于已损坏的处理器的数目。在 这种情况下,当子处理器根据在与焦点处理模块进行数据传输时所使 用的数据传输路径被分成多个子处理器组时,如上所述,通信受限处 理器选择单元52可以如此选择通信受限处理器,使得除已损坏的处 理器和通信受限处理器之外的相同数目的处理器被包含在各子处理 器组中。此外,在与每个已损坏的处理器的连接位置相对的位置处连 接到环形类型总线上的子处理器可以被选择作为通信受限处理器。
权利要求
1.一种具有多个处理模块和用于在各处理模块之间中继数据传输的总线的多处理器系统,其中所述处理模块包括预定数目的三个或更多个处理器,所述多处理器系统包括损坏处理器指定装置,用于在预定数目的处理器中指定至少一个已损坏的处理器;通信受限处理器选择装置,用于选择至少一个在根据已损坏的处理器连接到总线的位置所确定的位置处连接到总线的处理器作为通信受到限制的通信受限处理器;和通信限制装置,用于限制通信受限处理器经由总线进行的数据传输。
2. 根据权利要求l的多处理器系统,其中 所述总线是环形类型的总线,并且所述通信受限处理器选择装置这样来选择通信受限处理器使得 在已损坏的处理器连接到总线的位置与通信受限处理器连接到总线 的位置之间连接到总线的处理模块的数目变化较小。
3. 根据权利要求l的多处理器系统,其中 所述总线包括多条数据传输路径,并且预定数目的处理器分别使用多条数据传输路径中的任一条路径 执行与多个处理模块中的一个预定的处理模块之间的数据传输,并且所述通信受限处理器选择装置选择使用多条数据传输路径中的 一条不同于在从已损坏的处理器到该预定数据模块的数据传输中所 使用的数据传输路径的数据传输路径执行与所述预定处理模块之间 的数据传输的处理器作为通信受限处理器。
4. 根据权利要求1的多处理器系统,其中所述通信限制装置限 制通信受限处理器的程序执行,从而限制通信受限处理器的数据传 输。
5. 根据权利要求1的多处理器系统,还包括用于存储预定程序的装置;其中所述通信限制装置使通信受限处理器执行该预定程序,从而限制通信受限处理器的数据传输。
6. 根据权利要求l的多处理器系统,其中所述总线是环形类型的总线,并且所述多处理器系统还包括表存储装置,用于存储一个表明由预定数目的处理器中的某些处理器所构成的存储器子集与多个处理器指示信息项之间的关联的表,其中所述处理器指示信息项中的每个信息项指示所述处理器子集中的任一个处理器,以及表生成装置,用于生成所述的表,使得所述处理器指示信息项中的每个信息项分别根据已损坏的处理器连接到环形类型总线的位置指示在预定数目的处理器中除已损坏的处理器之外的任一个处理器,并且处理器子集中的每个处理器基于包括多个预定处理的应用程序和所生成的表执行与指示该处理器的处理器指示信息项相关联的预定处理,其中每个预定处理分别与处理器指示信息项中的任一个相关联。
7. 根据权利要求6的多处理器系统,其中所述表生成装置根据除已损坏的处理器之外的每个处理器连接到总线的位置从除已损坏的处理器之外的预定数目的处理器中确定要由相应的处理器指示信息项所指示的处理器。
8. 根据权利要求7的多处理器系统,其中所述表生成装置根据除已损坏的处理器之外的处理器连接到环形类型总线的位置与多个处理模块中的预定处理模块连接到环形类型总线的位置之间的位置关系从除已损坏的处理器之外的预定数目的处理器中确定要由相应的处理器指示信息项所指示的处理器。
9. 一种用于控制具有多个处理模块和用于在各处理模块之间中继数据传输的总线的多处理器系统的控制方法,其中所述处理模块包括预定数目的三个或更多个处理器,所述控制方法包括在预定数目的处理器中指定至少一个已损坏的处理器的步骤;选择至少 一 个在根据已损坏的处理器连接到总线的位置所确定的位置处连接到总线的处理器作为通信受到限制的通信受限处理器的步骤;和限制通信受限处理器经由总线所进行的数据传输的步骤。
10. —种计算机可读信息存储介质,其存储有要由具有多个处理模块和用于在各处理模块之间中继数据传输的总线的多处理器系统所执行的程序,其中所述处理模块包括预定数目的三个或更多个处理器,该程序使所述多处理器系统用作损坏处理器指定装置,用于在预定数目的处理器中指定至少一个已损坏的处理器;通信受限处理器选择装置,用于选择至少一个在根据已损坏的处理器连接到总线的位置所确定的位置处连接到总线的处理器作为通信受到限制的通信受限处理器;和通信限制装置,用于限制通信受限处理器经由总线传输数据。
11. 一种具有多个处理模块和用于在各处理模块之间中继数据传输的环形类型总线的多处理器系统,其中所述处理模块包括多个处理器,所述多处理器系统包括表存储装置,用于存储一个表明由多个处理器中的某些处理器所构成的处理器子集与多个处理器指示信息项之间的关联的表,其中所述处理器指示信息项中的每个信息项指示所述处理器子集中的任一个处理器;损坏处理器指定装置,用于在多个处理器中指定至少一个已损坏的处理器;和表生成装置,用于生成所述的表,使得所述处理器指示信息项中的每个信息项根据已损坏的处理器连接到环形类型总线的位置分别指示多个处理器中除已损坏的处理器之外的任一个处理器,其中所述处理器子集中的每个处理器基于包括多个预定处理的应用程序和所生成的表执行与指示该处理器的处理器指示信息项相关联的预定处理,其中每个预定处理与任一处理器指示信息项相关联。
12. 根据权利要求11的多处理器系统,其中所述表生成装置根据除已损坏的处理器之外的每个处理器连接到总线的位置从除已损坏的处理器之外的多个处理器中确定要由每个处理器指示信息项所指示的处理器。
13. 根据权利要求12的多处理器系统,其中所述表生成装置根据除已损坏的处理器之外的各处理器连接到环形类型总线的位置与多个处理器模块中的预定处理器模块连接到环形类型总线的位置之间的位置关系从除已损坏的处理器之外的多个处理器中确定要由每个处理器指示信息项所指示的处理器。
14. 一种用于控制具有多个处理模块和用于在各处理模块之间中继数据传输的环形类型总线的多处理器系统的控制方法,其中所述处理模块包括多个处理器,所述控制方法包括在多个处理器中指定至少一个已损坏的处理器的步骤;和生成一个表明由多个处理器中的某些处理器所构成的处理器子集与多个处理器指示信息项之间的关联的表的步骤,其中所述处理器指示信息项中的每个信息项指示所述处理器子集中的任一处理器,使得所述处理器指示信息项中的每个信息项分别根据已损坏的处理器连接到环形类型总线的位置指示多个处理器中除已损坏的处理器之外的任一个处理器,其中所述处理器子集中的每个处理器基于包括多个预定处理的应用程序和所生成的表执行与指示该处理器的处理器指示信息项相关联的预定处理,其中每个预定处理与任一处理器指示信息项相关联。
15. —种计算机可读信息存储介质,其存储有要由具有多个处理模块和用于在各处理模块之间中继数据传输的环形类型总线的多处理器系统所执行的程序,其中所述处理模块包括预定数目的三个或更多个处理器,该程序使所述多处理器系统用作损坏处理器指定装置,用于在多个处理器中指定至少一个已损坏的处理器;和表生成装置,用于生成一个表明由多个处理器中的某些处理器所构成的处理器子集与多个处理器指示信息项之间的关联的表的步骤,其中所述处理器指示信息项中的每个信息项指示处理器子集中的任一个处理器,使得所述处理器指示信息项中的每个信息项分别根据已损坏的处理器连接到环形类型总线的位置指示多个处理器中除已损坏的处理器之外的任一个处理器,其中所述处理器子集中的每个处理器基于包括多个预定处理的应用程序和所生成的表执行与指示该处理器的处理器指示信息项相关联的预定处理,其中每个预定处理与任一处理器指示信息项相关联。
全文摘要
一种多处理器系统,其中即使多个处理器中有处理器出现了故障,也不会影响数据传输的效率。该多处理器系统具有多个处理模块和用于在各处理模块之间中继数据传输的总线,其中所述处理模块包括预定数目的三个或更多个处理器,识别出发生故障的至少一个故障处理器;选择在对应于故障处理器连接到总线的地方的位置处连接到总线的至少一个处理器作为通信受到限制的通信受限处理器;并限制通信受限处理器经由总线进行的数据传输。
文档编号G06F11/20GK101529387SQ20078004010
公开日2009年9月9日 申请日期2007年9月26日 优先权日2006年11月9日
发明者堀川勉, 大川保吉 申请人:索尼计算机娱乐公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1