JP4421593B2 - Multiprocessor system, control method thereof, program, and information storage medium - Google Patents

Multiprocessor system, control method thereof, program, and information storage medium Download PDF

Info

Publication number
JP4421593B2
JP4421593B2 JP2006304559A JP2006304559A JP4421593B2 JP 4421593 B2 JP4421593 B2 JP 4421593B2 JP 2006304559 A JP2006304559 A JP 2006304559A JP 2006304559 A JP2006304559 A JP 2006304559A JP 4421593 B2 JP4421593 B2 JP 4421593B2
Authority
JP
Japan
Prior art keywords
processor
processors
sub
designation information
faulty
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.)
Active
Application number
JP2006304559A
Other languages
Japanese (ja)
Other versions
JP2008123135A (en
JP2008123135A5 (en
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
Original Assignee
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 Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2006304559A priority Critical patent/JP4421593B2/en
Priority to US12/444,747 priority patent/US8266476B2/en
Priority to PCT/JP2007/068651 priority patent/WO2008056489A1/en
Priority to CN2007800401077A priority patent/CN101529387B/en
Priority to EP07807867.2A priority patent/EP2085885B1/en
Publication of JP2008123135A publication Critical patent/JP2008123135A/en
Publication of JP2008123135A5 publication Critical patent/JP2008123135A5/ja
Application granted granted Critical
Publication of JP4421593B2 publication Critical patent/JP4421593B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a multiprocessor system in which the change of the execution environment of a program is hardly generated even when there is any processor having a fault in a plurality of processors. <P>SOLUTION: This multiprocessor system is configured to identify a faulty processor having a fault in a plurality of processors, and to generate a table in which a part of processors and processor specification information so as to specify any of the part of processors are associated with each other to specify any processor excluding the faulty processor based on each processor specification information according to the connection position in which the faulty processor is connected to a ring-shaped bus, and to execute predetermined processing associated with the processor specification information to specify the processor based on an application program in which a plurality of pieces of predetermined processing is associated with any of the processor specification information and the generated table by each of the part of processors. <P>COPYRIGHT: (C)2008,JPO&amp;INPIT

Description

本発明は、リング型バスを介して相互にデータ通信可能な複数のプロセッサを備えるマルチプロセッサシステム、その制御方法、プログラム及び情報記憶媒体に関する。   The present invention relates to a multiprocessor system including a plurality of processors capable of data communication with each other via a ring bus, a control method thereof, a program, and an information storage medium.

複数のプロセッサを備え、これらのプロセッサがそれぞれ情報処理を実行可能なマルチプロセッサシステムがある。このようなマルチプロセッサシステムの中には、各プロセッサ、メモリモジュール、GPU(Graphics Processing Unit)等の各種の処理モジュールが、リング型バスを介して相互にデータ通信可能に接続されているものがある。さらにこのようなマルチプロセッサシステムは、プロセッサに障害がある場合に備えて、アプリケーションプログラムの実行に必要な数よりも多くのプロセッサを含んで構成される場合がある。   There is a multiprocessor system that includes a plurality of processors, and each of these processors can execute information processing. Among such multiprocessor systems, there are those in which various processing modules such as processors, memory modules, and GPUs (Graphics Processing Units) are connected to each other via a ring bus so as to allow data communication. . Further, such a multiprocessor system may be configured to include more processors than are necessary for executing an application program in case a processor is faulty.

上記説明したマルチプロセッサシステムは、一部のプロセッサが障害によって使用できない場合であっても、アプリケーションプログラムを実行することができる。しかしながら、一部のプロセッサに障害がある場合、障害を有するプロセッサを除く他のプロセッサに任意に処理が割り当てられると、各プロセッサが実行する処理の内容が変化し、その結果としてリング型バスを介して伝送されるデータの伝送方向や伝送距離にも変化が生じる。そのため、同じプログラムを同じ構成のマルチプロセッサシステムで実行させる場合であっても、どのプロセッサに障害があるかによってプログラムの実行環境に変化が生じてしまい、プログラムの処理速度等にも差が生じる場合がある。   The multiprocessor system described above can execute an application program even when some of the processors cannot be used due to a failure. However, when some of the processors are faulty, if processing is arbitrarily assigned to other processors other than the faulty processor, the contents of the processing executed by each processor change, and as a result, via the ring bus. Changes also occur in the transmission direction and transmission distance of data transmitted in this manner. Therefore, even when the same program is executed on a multiprocessor system with the same configuration, the program execution environment changes depending on which processor has a fault, and the processing speed of the program also differs. There is.

本発明は上記実情に鑑みてなされたものであって、その目的の一つは、複数のプロセッサの中のどのプロセッサに障害があっても、プログラムの実行環境に変化が生じにくいマルチプロセッサシステム、その制御方法、プログラム、及び情報記憶媒体を提供することにある。   The present invention has been made in view of the above circumstances, and one of its purposes is a multiprocessor system in which the execution environment of a program is unlikely to change regardless of which of the plurality of processors is faulty, To provide a control method, a program, and an information storage medium.

上記課題を解決するための本発明に係るマルチプロセッサシステムは、複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するリング型バスと、を備えるマルチプロセッサシステムであって、前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルを記憶するテーブル記憶手段と、前記複数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定する障害プロセッサ特定手段と、前記障害プロセッサの前記リング型バスに対する接続位置に応じて、前記各プロセッサ指定情報が前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかのプロセッサを指定するように、前記テーブルを生成するテーブル生成手段と、を含み、前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプログラム、及び前記生成されたテーブルに基づいて、当該プロセッサを指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行することを特徴とする。また、本発明に係る他のマルチプロセッサシステムは、複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するリング型バスと、を備えるマルチプロセッサシステムであって、前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルであって、前記複数のプロセッサ指定情報のそれぞれが、障害を有する少なくとも一つの障害プロセッサの前記リング型バスに対する接続位置に応じて決まる、前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかのプロセッサを指定するテーブルを記憶するテーブル記憶手段を含み、前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプログラム、及び前記テーブルに基づいて、当該プロセッサを指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行することを特徴とする。 In order to solve the above problems, a multiprocessor system according to the present invention is a multiprocessor system including a plurality of processing modules including a plurality of processors and a ring bus that relays data communication between the processing modules. Table storage means for storing a table associating a part of the plurality of processors and a plurality of processor designation information respectively designating any of the some processors; Of the plurality of processors excluding the faulty processor, the processor designation information includes a faulty processor specifying means for specifying at least one faulty processor having a fault, and a connection position of the faulty processor to the ring bus. I will specify one of these processors And a table generation means for generating the table. Each of the processors includes a plurality of predetermined processes, and each of the predetermined processes is associated with one of the processor designation information. The predetermined processing associated with the processor designation information for designating the processor is executed based on the application program and the generated table. Another multiprocessor system according to the present invention is a multiprocessor system including a plurality of processing modules including a plurality of processors and a ring bus that relays data communication between the processing modules. A table associating a part of the plurality of processors with a plurality of processor designation information for designating each of the some processors, wherein each of the plurality of processor designation information indicates a failure. Table storage means for storing a table designating any one of the plurality of processors excluding the failed processor, which is determined according to a connection position of the at least one failed processor with respect to the ring bus. Each of the processors of the unit includes a plurality of predetermined processes Both the predetermined processes associated with the processor designation information for designating the processor are executed based on the application program in which each of the predetermined processes is associated with any of the processor designation information and the table. It is characterized by.

また、本発明に係るマルチプロセッサシステムの制御方法は、複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するリング型バスと、を備えるマルチプロセッサシステムの制御方法であって、前記複数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定するステップと、前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルを、前記障害プロセッサの前記リング型バスに対する接続位置に応じて、前記各プロセッサ指定情報が前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかのプロセッサを指定するように生成するステップと、を含み、前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプログラム、及び前記生成されたテーブルに基づいて、当該プロセッサを指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行することを特徴とする。また、本発明に係る他のマルチプロセッサシステムの制御方法は、複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するリング型バスと、を備えるマルチプロセッサシステムの制御方法であって、前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルであって、前記複数のプロセッサ指定情報のそれぞれが、障害を有する少なくとも一つの障害プロセッサの前記リング型バスに対する接続位置に応じて決まる、前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかのプロセッサを指定するテーブルを取得するステップと、前記一部のプロセッサのそれぞれが、複数の所定処理を含むとともに、当該各所定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプログラム、及び前記テーブルに基づいて、当該プロセッサを指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行するステップと、を含むことを特徴とする。 The multiprocessor system control method according to the present invention is a multiprocessor system control method comprising a plurality of processing modules including a plurality of processors and a ring bus that relays data communication between the processing modules. A step of identifying at least one faulty processor having a fault among the plurality of processors, a part of the plurality of processors, and a plurality of designations for specifying any one of the part processors, respectively. The processor designation information designates one of the plurality of processors excluding the faulty processor according to the connection position of the faulty processor to the ring bus. Generating Each of the processors includes a plurality of predetermined processes, and designates the processor based on the application program in which each of the predetermined processes is associated with one of the processor designation information and the generated table. The predetermined process associated with the processor designation information is executed. According to another aspect of the present invention, there is provided a control method for a multiprocessor system comprising: a plurality of processing modules including a plurality of processors; and a ring bus that relays data communication between the processing modules. A table associating a part of the plurality of processors with a plurality of processor designation information respectively designating one of the some processors, wherein the plurality of processor designation information Obtaining a table designating any one of the plurality of processors excluding the failed processor, each of which is determined according to a connection position of at least one failed processor having a failure to the ring bus; , Each of the partial processors includes a plurality of predetermined processes. And executing the predetermined process associated with the processor designation information for designating the processor based on the application program in which each of the predetermined processes is associated with any one of the processor designation information and the table. And a step of performing.

また、本発明に係るプログラムは、複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するリング型バスと、を備えるマルチプロセッサシステムにより実行されるプログラムであって、前記複数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定する障害プロセッサ特定手段、及び前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルを、前記障害プロセッサの前記リング型バスに対する接続位置に応じて、前記各プロセッサ指定情報が前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかのプロセッサを指定するように生成するテーブル生成手段、として前記マルチプロセッサシステムを機能させ、前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプログラム、及び前記生成されたテーブルに基づいて、当該プロセッサを指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行することを特徴とするプログラムである。このプログラムは、コンピュータ読み取り可能な情報記憶媒体に記憶されてよい。   A program according to the present invention is a program executed by a multiprocessor system including a plurality of processing modules including a plurality of processors and a ring bus that relays data communication between the processing modules. Among the plurality of processors, a faulty processor specifying means for specifying at least one faulty processor having a fault, and a plurality of processors respectively specifying a part of the plurality of processors and the part of the processors The processor designation information designates one of the plurality of processors excluding the faulty processor according to the connection position of the faulty processor to the ring bus. Table generating means to generate, The multiprocessor system is made to function, and each of the partial processors includes a plurality of predetermined processes, and each of the predetermined processes is associated with one of the processor designation information, and The program is characterized by executing the predetermined process associated with the processor designation information for designating the processor based on the generated table. This program may be stored in a computer-readable information storage medium.

以下、本発明の一実施形態について、図面を参照しながら説明する。   Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

図1は、本実施形態に係るマルチプロセッサシステムのハードウェア構成を示す図である。同図に示すように、マルチプロセッサシステム10は、MPU(Micro Processing Unit)11と、メインメモリ20と、画像処理部24と、モニタ26と、入出力処理部28と、音声処理部30と、スピーカ32と、光ディスク読み取り部34と、ハードディスク38と、インタフェース(I/F)40,44と、操作デバイス42と、カメラユニット46と、ネットワークインタフェース48と、を含んで構成されるコンピュータシステムである。   FIG. 1 is a diagram illustrating a hardware configuration of a multiprocessor system according to the present embodiment. As shown in the figure, the multiprocessor system 10 includes an MPU (Micro Processing Unit) 11, a main memory 20, an image processing unit 24, a monitor 26, an input / output processing unit 28, an audio processing unit 30, The computer system includes a speaker 32, an optical disk reading unit 34, a hard disk 38, interfaces (I / F) 40 and 44, an operation device 42, a camera unit 46, and a network interface 48. .

図2は、MPU11の構成を示す図である。同図に示すように、MPU11は、メインプロセッサ12と、サブプロセッサ14a,14b,14c,14d,14e,14f,14g,14hと、バス16と、バスコントローラ17と、を含んで構成される。   FIG. 2 is a diagram illustrating the configuration of the MPU 11. As shown in the figure, the MPU 11 includes a main processor 12, sub processors 14a, 14b, 14c, 14d, 14e, 14f, 14g, and 14h, a bus 16, and a bus controller 17.

なお、マルチプロセッサシステム10の構成要素のうち、バス16を介して相互にデータ通信を行うものを以下では処理モジュールという。すなわち、本実施形態に係るマルチプロセッサシステムは、複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するバスと、を含んで構成される。具体的に本実施形態においては、図2に示すように、メインプロセッサ12、サブプロセッサ14a乃至14h、メインメモリ20、画像処理部24、及び入出力処理部28の12個の処理モジュールが、バス16を介して相互にデータ通信可能に接続されている。   Of the components of the multiprocessor system 10, those that perform data communication with each other via the bus 16 are hereinafter referred to as processing modules. That is, the multiprocessor system according to the present embodiment includes a plurality of processing modules including a plurality of processors and a bus that relays data communication between the processing modules. Specifically, in the present embodiment, as shown in FIG. 2, twelve processing modules of the main processor 12, the sub processors 14a to 14h, the main memory 20, the image processing unit 24, and the input / output processing unit 28 are connected to the bus. 16 are connected to each other through data communication.

メインプロセッサ12は、図示しないROM(Read Only Memory)に記憶されるオペレーティングシステムや、例えばDVD(Digital Versatile Disk)−ROM等の光ディスク36から読み出されるプログラム及びデータ、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて、各種情報処理を行ったり、サブプロセッサ14a乃至14hに対する制御を行ったりする。   The main processor 12 is an operating system stored in a ROM (Read Only Memory) (not shown), a program and data read from an optical disk 36 such as a DVD (Digital Versatile Disk) -ROM, and a program supplied via a communication network. Based on the data and the like, various information processing is performed, and the sub-processors 14a to 14h are controlled.

サブプロセッサ14a乃至14hは、メインプロセッサ12からの指示に従い、例えばDVD−ROM等の光ディスク36から読み出されるプログラム及びデータ、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて、各種の情報処理を行う。   The sub-processors 14a to 14h perform various types of information processing based on a program and data read from the optical disk 36 such as a DVD-ROM, a program and data supplied via a communication network, for example, in accordance with instructions from the main processor 12. I do.

ここで、各サブプロセッサの構成について、サブプロセッサ14aを例として説明する。なお、他のサブプロセッサの構成についても、サブプロセッサ14aと同様である。図3は、サブプロセッサ14aの概略の構成を示す図である。同図に示すように、サブプロセッサ14aは、サブプロセッサユニット15a,ローカルメモリ15b及びバスインタフェースユニット15cを含んで構成される。サブプロセッサユニット15aは、サブプロセッサ14aに割り当てられたプログラムを実行することにより、演算処理等の情報処理を行う。ローカルメモリ15bは、サブプロセッサ14aに割り当てられたプログラムやデータの少なくとも一部を格納し、サブプロセッサユニット15aのワークメモリとして動作する。   Here, the configuration of each sub-processor will be described by taking the sub-processor 14a as an example. The configuration of other sub processors is the same as that of the sub processor 14a. FIG. 3 is a diagram showing a schematic configuration of the sub-processor 14a. As shown in the figure, the sub processor 14a includes a sub processor unit 15a, a local memory 15b, and a bus interface unit 15c. The sub processor unit 15a performs information processing such as arithmetic processing by executing a program assigned to the sub processor 14a. The local memory 15b stores at least a part of programs and data assigned to the sub processor 14a, and operates as a work memory of the sub processor unit 15a.

また、バスインタフェースユニット15cは、サブプロセッサユニット15aからのアクセス要求等に応じて、他の処理モジュールとの間でデータの送受信を行う。すなわち、バスインタフェースユニット15cは、サブプロセッサ14aと他の処理モジュールとの間のデータ通信を中継する。具体例として、バスインタフェースユニット15cは、サブプロセッサユニット15aから所与のメモリ空間上のアドレス(論理アドレス)に対するアクセス要求(データ書き込み要求又はデータ読み出し要求)があった場合に、予め保持しているメモリアドレス変換テーブルを用いて要求された論理アドレスを物理アドレスに変換する。ここで物理アドレスは、メインメモリ20内のメモリアドレスや各サブプロセッサのローカルメモリ内のメモリアドレス等、各処理モジュールの物理的なメモリ位置を示すアドレスである。さらにバスインタフェースユニット15cは、変換された物理アドレスによって示される処理モジュールに対してサブプロセッサユニット15aが出力するデータを送信したり、逆に変換された物理アドレスによって示される処理モジュールに対してデータ送信要求を送信して、当該処理モジュールからデータを受信したりする。   The bus interface unit 15c transmits and receives data to and from other processing modules in response to an access request from the sub processor unit 15a. That is, the bus interface unit 15c relays data communication between the sub processor 14a and other processing modules. As a specific example, the bus interface unit 15c holds in advance when there is an access request (data write request or data read request) for an address (logical address) in a given memory space from the sub processor unit 15a. The requested logical address is converted into a physical address using the memory address conversion table. Here, the physical address is an address indicating a physical memory position of each processing module, such as a memory address in the main memory 20 or a memory address in the local memory of each sub processor. Further, the bus interface unit 15c transmits data output from the sub-processor unit 15a to the processing module indicated by the converted physical address, or conversely transmits data to the processing module indicated by the converted physical address. Send a request and receive data from the processing module.

また、バスインタフェースユニット15cは、他の処理モジュールからバス16を介してローカルメモリ15b内のメモリアドレスを指定したアクセス要求があった場合、当該アクセス要求に応じてローカルメモリ15b内にデータを書き込んだり、指定されたローカルメモリ15b内のデータをアクセス要求元の処理モジュールに送信したりする。これにより、サブプロセッサ14aは、バス16を介して他の処理モジュールとの間でデータの送受信が可能となる。   When there is an access request specifying a memory address in the local memory 15b from another processing module via the bus 16, the bus interface unit 15c writes data in the local memory 15b in response to the access request. The data in the designated local memory 15b is transmitted to the processing module that is the access request source. As a result, the sub-processor 14a can transmit and receive data to and from other processing modules via the bus 16.

バス16は、各処理モジュールの要求に応じて、各処理モジュール間で各種のデータを伝送する。具体的に、本実施形態においては、バス16は双方向のリング型バスであり、計4本のデータ伝送路16a,16b,16c及び16dを含んで構成されている。このうち、データ伝送路16a及び16bは常に時計回りでデータを伝送し、これとは逆にデータ伝送路16c及び16dは反時計回りでデータを伝送する。ここで、各処理モジュール間の通信に4本のデータ伝送路のうちのどのデータ伝送路が使用されるかは、バスコントローラ17によって決定される。また、バス16は、接続される処理モジュールと同じ数の接続ポートを含んでおり、各処理モジュールはそれぞれ対応する接続ポートの位置でバス16に接続されている。すなわち、各処理モジュールは、対応する接続ポートを介してバス16に対するデータの送信及びバス16からのデータの受信を行う。   The bus 16 transmits various types of data between the processing modules in response to requests from the processing modules. Specifically, in the present embodiment, the bus 16 is a bidirectional ring bus, and includes a total of four data transmission paths 16a, 16b, 16c, and 16d. Among these, the data transmission paths 16a and 16b always transmit data in the clockwise direction, and conversely, the data transmission paths 16c and 16d transmit data in the counterclockwise direction. Here, the bus controller 17 determines which of the four data transmission paths is used for communication between the processing modules. The bus 16 includes the same number of connection ports as the processing modules to be connected, and each processing module is connected to the bus 16 at the position of the corresponding connection port. That is, each processing module transmits data to the bus 16 and receives data from the bus 16 via a corresponding connection port.

バスコントローラ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を使用するデータ伝送路として決定する。   The bus controller 17 controls data communication via the bus 16 between the processing modules. As a specific example, when there is a data transmission request from each processing module, the bus controller 17 first determines the clock based on the connection position of the transmission source processing module to the bus 16 and the connection position of the transmission destination processing module to the bus 16. It is determined whether data transmission is to be performed using a surrounding data transmission path or a counterclockwise data transmission path. Here, the bus controller 17 transmits data in such a direction that the number of processing modules connected to the bus 16 is reduced between the connection position of the transmission source processing module and the connection position of the transmission destination processing module. Next, the data transmission path is determined. That is, for example, when the sub processor 14a is a transmission source processing module, if any of the main processor 12, the main memory 20, the sub processor 14b, the sub processor 14d, or the sub processor 14f is a transmission destination processing module, FIG. As shown in FIG. 2, the number of processing modules connected in the clockwise data transmission path is smaller on the data transmission path. Therefore, the bus controller 17 determines to use either the data transmission path 16a or 16b. Conversely, the transmission source processing module is the sub processor 14a, and the transmission destination processing module is any of the sub processor 14c, the sub processor 14e, the sub processor 14g, the input / output processing unit 28, or the image processing unit 24. In this case, the bus controller 17 transmits data in the counterclockwise direction, and determines the data transmission path using the data transmission path 16c or 16d.

さらにバスコントローラ17は、同じ方向の2本のデータ伝送路のいずれを使用するかを、データ送信の要求があった時点における各データ伝送路の使用状況等に応じて決定する。また、送信元から送信先までのデータ伝送の経路上において接続される処理モジュールの数が時計回りと反時計回りのいずれも同じである場合(例えばサブプロセッサ14aからサブプロセッサ14hへのデータ伝送の場合)、時計回り及び反時計回りのいずれのデータ伝送路が使用されてもよい。すなわち、バスコントローラ17は4本全てのデータ伝送路の中から使用状況等において使用するデータ伝送路を決定する。このバスコントローラ17の決定に従って、各処理モジュールは、それぞれいずれかのデータ伝送路を用いて他の処理モジュールとの間でデータ通信を行う。   Further, the bus controller 17 determines which of the two data transmission paths in the same direction is used according to the usage status of each data transmission path at the time when the data transmission request is made. Further, when the number of processing modules connected on the data transmission path from the transmission source to the transmission destination is the same in both the clockwise and counterclockwise directions (for example, data transmission from the sub processor 14a to the sub processor 14h). ), Either a clockwise or counterclockwise data transmission path may be used. In other words, the bus controller 17 determines a data transmission path to be used in the usage situation from all four data transmission paths. In accordance with the determination by the bus controller 17, each processing module performs data communication with another processing module using one of the data transmission paths.

メインメモリ20は、RAM等のメモリ素子と、当該メモリ素子及びバス16の間のデータ通信を中継するメモリコントローラと、を含んで構成される。メインメモリ20には、光ディスク36やハードディスク38から読み出されたプログラム及びデータや、通信ネットワークを介して供給されたプログラム及びデータが必要に応じて書き込まれる。また、メインメモリ20はメインプロセッサ12やサブプロセッサ14a乃至14hの作業用としても用いられる。   The main memory 20 includes a memory element such as a RAM and a memory controller that relays data communication between the memory element and the bus 16. Programs and data read from the optical disk 36 and the hard disk 38 and programs and data supplied via the communication network are written into the main memory 20 as necessary. The main memory 20 is also used for work of the main processor 12 and the sub processors 14a to 14h.

画像処理部24は、GPU(Graphics Processing Unit)とフレームバッファとを含んで構成される。GPUは、メインプロセッサ12やサブプロセッサ14a乃至14hから送信されるデータに基づいてフレームバッファに各種画面を描画する。フレームバッファに形成された画面は、所定のタイミングでビデオ信号に変換されてモニタ26に出力される。なお、モニタ26には例えば家庭用テレビ受像機が用いられる。   The image processing unit 24 includes a GPU (Graphics Processing Unit) and a frame buffer. The GPU renders various screens in the frame buffer based on data transmitted from the main processor 12 and the sub processors 14a to 14h. The screen formed in the frame buffer is converted into a video signal at a predetermined timing and output to the monitor 26. As the monitor 26, for example, a home television receiver is used.

入出力処理部28には、音声処理部30、光ディスク読み取り部34、ハードディスク38、インタフェース40及び44、並びにネットワークインタフェース48が接続される。入出力処理部28は、メインプロセッサ12及びサブプロセッサ14a乃至14hと、音声処理部30、光ディスク読み取り部34、ハードディスク38、インタフェース(I/F)40及び44、ネットワークインタフェース48と、の間のデータ授受を制御する。   Connected to the input / output processing unit 28 are an audio processing unit 30, an optical disk reading unit 34, a hard disk 38, interfaces 40 and 44, and a network interface 48. The input / output processing unit 28 is data between the main processor 12 and the sub-processors 14a to 14h, the audio processing unit 30, the optical disk reading unit 34, the hard disk 38, the interfaces (I / F) 40 and 44, and the network interface 48. Control giving and receiving.

音声処理部30は、SPU(Sound Processing Unit)とサウンドバッファとを含んで構成される。サウンドバッファには、光ディスク36やハードディスク38から読み出されたゲーム音楽、ゲーム効果音やメッセージなどの各種音声データが記憶される。SPUは、これらの各種音声データを再生してスピーカ32から出力させる。なお、スピーカ32には例えば家庭用テレビ受像機の内蔵スピーカが用いられる。   The sound processing unit 30 includes an SPU (Sound Processing Unit) and a sound buffer. The sound buffer stores various audio data such as game music, game sound effects and messages read from the optical disk 36 and the hard disk 38. The SPU reproduces these various audio data and outputs them from the speaker 32. As the speaker 32, for example, a built-in speaker of a home television receiver is used.

光ディスク読み取り部34は、メインプロセッサ12及びサブプロセッサ14a乃至14hからの指示に従って、光ディスク36に記憶されたプログラムやデータを読み取る。なお、マルチプロセッサシステム10は、光ディスク36以外の他のコンピュータ読み取り可能な情報記憶媒体に記憶されたプログラムやデータを読み取り可能に構成されてもよい。   The optical disk reading unit 34 reads programs and data stored on the optical disk 36 in accordance with instructions from the main processor 12 and the sub processors 14a to 14h. Note that the multiprocessor system 10 may be configured to be able to read programs and data stored in computer-readable information storage media other than the optical disk 36.

光ディスク36は例えばDVD−ROM等の一般的な光ディスク(コンピュータ読み取り可能な情報記憶媒体)である。また、ハードディスク38は一般的なハードディスク装置である。光ディスク36やハードディスク38には各種プログラムやデータがコンピュータ読み取り可能に記憶される。   The optical disk 36 is a general optical disk (computer-readable information storage medium) such as a DVD-ROM. The hard disk 38 is a general hard disk device. Various programs and data are stored in the optical disk 36 and the hard disk 38 so as to be readable by a computer.

インタフェース(I/F)40,44は、操作デバイス42やカメラユニット46等の各種周辺機器を接続するためのインタフェースである。このようなインタフェースとしては、例えばUSB(Universal Serial Bus)インタフェースが用いられる。また、例えばBluetooth(登録商標)規格などによる無線通信インタフェースが用いられてもよい。   The interfaces (I / F) 40 and 44 are interfaces for connecting various peripheral devices such as the operation device 42 and the camera unit 46. For example, a USB (Universal Serial Bus) interface is used as such an interface. For example, a wireless communication interface based on the Bluetooth (registered trademark) standard may be used.

操作デバイス42は汎用操作入力手段であり、ユーザが各種操作(例えばゲーム操作)を入力するために用いられる。入出力処理部28は、所定時間(例えば1/60秒)ごとに操作デバイス42の各部の状態をスキャンし、その結果を表す操作信号をメインプロセッサ12やサブプロセッサ14a乃至14hに供給する。メインプロセッサ12やサブプロセッサ14a乃至14hは、ユーザによって行われた操作の内容をその操作信号に基づいて判断する。なお、マルチプロセッサシステム10は複数の操作デバイス42を接続可能に構成されており、各操作デバイス42から入力される操作信号に基づいて、メインプロセッサ12やサブプロセッサ14a乃至14hが各種処理を実行するようになっている。   The operation device 42 is general-purpose operation input means, and is used by the user to input various operations (for example, game operations). The input / output processing unit 28 scans the state of each unit of the operation device 42 every predetermined time (for example, 1/60 seconds), and supplies an operation signal representing the result to the main processor 12 and the sub processors 14a to 14h. The main processor 12 and the sub processors 14a to 14h determine the content of the operation performed by the user based on the operation signal. The multiprocessor system 10 is configured to be capable of connecting a plurality of operation devices 42, and the main processor 12 and the sub processors 14a to 14h execute various processes based on operation signals input from the operation devices 42. It is like that.

カメラユニット46は、例えば公知のデジタルカメラを含んで構成され、白黒、グレイスケール又はカラーの撮影画像を所定時間(例えば1/60秒)ごとに入力する。本実施の形態におけるカメラユニット46は、撮影画像をJPEG(Joint Photographic Experts Group)形式の画像データとして入力するようになっている。また、カメラユニット46は、例えばレンズをユーザに向けた状態でモニタ26の上に設置され、ケーブルを介してインタフェース44に接続される。ネットワークインタフェース48は入出力処理部28と通信ネットワークとに接続されており、マルチプロセッサシステム10による通信ネットワークを介した他の情報装置との間のデータ通信を中継するようになっている。   The camera unit 46 includes, for example, a known digital camera, and inputs black and white, grayscale, or color photographed images every predetermined time (for example, 1/60 seconds). The camera unit 46 in the present embodiment is configured to input a captured image as image data in JPEG (Joint Photographic Experts Group) format. The camera unit 46 is installed on the monitor 26 with the lens facing the user, for example, and is connected to the interface 44 via a cable. The network interface 48 is connected to the input / output processing unit 28 and a communication network, and relays data communication with other information devices via the communication network by the multiprocessor system 10.

以下では、サブプロセッサ14a乃至14hのいずれかが障害を有する場合に、上記構成を有するマルチプロセッサシステム10が実現する機能について、説明する。マルチプロセッサシステム10は、機能的に、図4に示すように、障害プロセッサ特定部50と、通信制限プロセッサ選択部52と、通信制限部54と、テーブル生成部56と、処理実行制御部58と、を含んで構成される。これらの機能は、例えばMPU11が図示しないROMやメインメモリ20等に格納されたプログラムを実行することによって実現できる。このプログラムは、光ディスク36等のコンピュータ読み取り可能な情報記憶媒体に格納されて提供されてもよいし、インターネット等の通信ネットワークを介して提供されてもよい。   Hereinafter, functions realized by the multiprocessor system 10 having the above-described configuration when any of the sub-processors 14a to 14h has a failure will be described. As shown in FIG. 4, the multiprocessor system 10 functionally includes a faulty processor identification unit 50, a communication restriction processor selection unit 52, a communication restriction unit 54, a table generation unit 56, and a process execution control unit 58. , Including. These functions can be realized, for example, when the MPU 11 executes a program stored in a ROM, the main memory 20 or the like (not shown). This program may be provided by being stored in a computer-readable information storage medium such as the optical disc 36 or may be provided via a communication network such as the Internet.

障害プロセッサ特定部50は、サブプロセッサ14a乃至14hのうち、障害を有する少なくとも一つのサブプロセッサ(以下、障害プロセッサという)を特定する。ここで障害プロセッサは、MPU11の製造時に不具合が判明したサブプロセッサであってもよいし、マルチプロセッサシステム10の使用中に故障等の不具合が発生して正常動作できなくなったサブプロセッサであってもよいし、例えば装置の出荷時等において予めその使用を制限するものとして設定されたサブプロセッサであってもよい。具体例として、例えば本実施形態に係るマルチプロセッサシステム10は、図示しない不揮発性メモリ内に予め障害プロセッサを特定する障害プロセッサ識別情報を保持してもよい。障害プロセッサ特定部50は、この不揮発性メモリ内に保持された障害プロセッサ識別情報を読み出すことによって、障害プロセッサを特定する。また、例えば障害プロセッサ特定部50は、マルチプロセッサシステム10の電源が投入された時点などにおいて、所定のハードウェア診断プログラムを実行することによって、障害プロセッサを特定してもよい。あるいは、障害プロセッサ特定部50は、このような診断プログラムの実行結果等に応じて前述した不揮発性メモリ内の障害プロセッサ識別情報を更新し、更新された障害プロセッサ識別情報に基づいて障害プロセッサを特定してもよい。   The faulty processor specifying unit 50 specifies at least one subprocessor having a fault (hereinafter referred to as a faulty processor) among the subprocessors 14a to 14h. Here, the faulty processor may be a sub-processor that has been found to be defective when the MPU 11 is manufactured, or may be a sub-processor that has failed due to a fault or the like during use of the multiprocessor system 10 and cannot operate normally. Alternatively, for example, it may be a sub-processor that is set in advance to restrict its use when the device is shipped. As a specific example, for example, the multiprocessor system 10 according to the present embodiment may hold failure processor identification information for specifying a failure processor in advance in a nonvolatile memory (not shown). The faulty processor specifying unit 50 specifies the faulty processor by reading the faulty processor identification information held in the nonvolatile memory. Further, for example, the faulty processor specifying unit 50 may specify a faulty processor by executing a predetermined hardware diagnostic program at the time when the power of the multiprocessor system 10 is turned on. Alternatively, the faulty processor specifying unit 50 updates the faulty processor identification information in the nonvolatile memory described above according to the execution result of such a diagnostic program, and specifies the faulty processor based on the updated faulty processor identification information. May be.

通信制限プロセッサ選択部52は、障害プロセッサ特定部50が特定した障害プロセッサに応じて、サブプロセッサ14a乃至14hの中から通信制限の対象となるサブプロセッサ(以下、通信制限プロセッサという)を選択する。具体的に、通信制限プロセッサ選択部52は、障害プロセッサのバス16に対する接続位置に対応する位置においてバス16に接続された少なくとも一つのサブプロセッサを、通信制限プロセッサとして選択する。   The communication restriction processor selection unit 52 selects a sub processor (hereinafter referred to as a communication restriction processor) that is subject to communication restriction from the sub processors 14a to 14h in accordance with the failure processor identified by the failure processor identification unit 50. Specifically, the communication restriction processor selection unit 52 selects, as a communication restriction processor, at least one sub-processor connected to the bus 16 at a position corresponding to the connection position of the failed processor to the bus 16.

ここで、通信制限プロセッサとして選択されるサブプロセッサの数は、マルチプロセッサシステム10が備えるサブプロセッサの数(8個)と、マルチプロセッサシステム10がアプリケーションプログラムの実行の際に使用するサブプロセッサの数と、障害プロセッサの数と、に応じて決定されてよい。例えばアプリケーションプログラムが使用するサブプロセッサの数が6個で、障害プロセッサの数が1個であれば、マルチプロセッサシステム10が備えるサブプロセッサの数からこれらの数を減算して得られる数である1(=8−6−1)が、通信制限プロセッサとして選択されるサブプロセッサの数になる。また、通信制限プロセッサの数は、障害プロセッサの数と通信制限プロセッサの数との和が所定の数になるように決定されてもよい。   Here, the number of sub-processors selected as the communication restricted processor is the number of sub-processors (8) included in the multi-processor system 10 and the number of sub-processors used by the multi-processor system 10 when executing the application program. And the number of faulty processors. For example, if the number of sub-processors used by the application program is six and the number of faulty processors is one, the number obtained by subtracting these numbers from the number of sub-processors included in the multiprocessor system 10 is 1 (= 8-6-1) is the number of sub-processors selected as communication-restricted processors. Further, the number of communication restricted processors may be determined such that the sum of the number of faulty processors and the number of communication restricted processors is a predetermined number.

以下、通信制限プロセッサ選択部52が、サブプロセッサ14a乃至14hの中から通信制限プロセッサを選択する選択方法の具体例について、説明する。   Hereinafter, a specific example of a selection method in which the communication restriction processor selection unit 52 selects a communication restriction processor from the sub processors 14a to 14h will be described.

一例として、通信制限プロセッサ選択部52は、障害プロセッサのバス16に対する接続位置と通信制限プロセッサのバス16に対する接続位置との間における、バス16に対して接続される処理モジュールの個数の差が小さくなるように、通信制限プロセッサを選択する。すなわち、例えば障害プロセッサ及び通信制限プロセッサがそれぞれ一つずつの場合、バス16の経路上において障害プロセッサの接続位置から最も離れた位置(リングの反対側にあたる位置)に接続されたサブプロセッサが、通信制限プロセッサとして選択される。具体的に、図2の例においては、障害プロセッサがサブプロセッサ14aであればサブプロセッサ14hが、サブプロセッサ14bであればサブプロセッサ14gが、サブプロセッサ14cであればサブプロセッサ14fが、サブプロセッサ14dであればサブプロセッサ14eが、それぞれ通信制限プロセッサとして選択される。また、これらの障害プロセッサと通信制限プロセッサとの組み合わせは、障害プロセッサと通信制限プロセッサが逆の場合にも成り立つ。すなわち、例えば障害プロセッサがサブプロセッサ14hであればサブプロセッサ14aが通信制限プロセッサとして選択される。   As an example, the communication restriction processor selection unit 52 has a small difference in the number of processing modules connected to the bus 16 between the connection position of the failed processor to the bus 16 and the connection position of the communication restriction processor to the bus 16. The communication restriction processor is selected as follows. That is, for example, when there is one faulty processor and one communication restriction processor, the sub processor connected to the position farthest from the connection position of the faulty processor on the path of the bus 16 (position opposite to the ring) communicates. Selected as a restricted processor. Specifically, in the example of FIG. 2, if the failed processor is the sub processor 14a, the sub processor 14h is used. If the failed processor is the sub processor 14b, the sub processor 14g is used. If the failed processor is the sub processor 14c, the sub processor 14f is used. If so, each of the sub-processors 14e is selected as a communication restriction processor. Further, the combination of the faulty processor and the communication restriction processor is valid even when the faulty processor and the communication restriction processor are reversed. That is, for example, if the failed processor is the sub processor 14h, the sub processor 14a is selected as the communication restricted processor.

このように通信制限プロセッサを選択すれば、障害プロセッサのバス16に対する接続位置と通信制限プロセッサのバス16に対する接続位置との間における、バス16に接続される処理モジュールの個数は、時計回りの場合も反時計回りの場合も5個になり、その差は0になる。なお、バス16に接続される処理モジュールの個数が奇数の場合や、通信制限プロセッサが複数選択される場合等であっても、同様に障害プロセッサ及び通信制限プロセッサのバス16に対する接続位置の間におけるバス16に接続される処理モジュールの個数の差が小さくなるように通信制限プロセッサを選択することによって、障害プロセッサ及び通信制限プロセッサは互いに離れた位置においてバス16に接続することとなる。これにより、バス16を介したデータ通信を行わない障害プロセッサ及びデータ通信を制限された通信制限プロセッサのバス16に対する接続位置を分散させることができ、これらのサブプロセッサを除いた各処理モジュールによるリング型バスを介したデータ通信を均一化させることができる。   When the communication restriction processor is selected in this way, the number of processing modules connected to the bus 16 between the connection position of the failed processor to the bus 16 and the connection position of the communication restriction processor to the bus 16 is clockwise. In the case of counterclockwise, the number is 5 and the difference is 0. Even when the number of processing modules connected to the bus 16 is an odd number or when a plurality of communication restriction processors are selected, the failure processor and the communication restriction processor are connected between the connection positions of the bus 16 in the same manner. By selecting the communication restriction processor so that the difference in the number of processing modules connected to the bus 16 is reduced, the faulty processor and the communication restriction processor are connected to the bus 16 at positions apart from each other. As a result, the connection positions of the faulty processor that does not perform data communication via the bus 16 and the communication limited processor that restricts data communication to the bus 16 can be distributed, and the ring by each processing module excluding these sub-processors. Data communication via the mold bus can be made uniform.

また、通信制限プロセッサ選択部52は、マルチプロセッサシステム10に含まれる複数の処理モジュールのうちの所定の処理モジュール(以下では、注目処理モジュールという)のバス16に対する接続位置に基づいて、通信制限プロセッサを選択してもよい。具体例として、通信制限プロセッサ選択部52は、バス16を構成する複数のデータ伝送路のうち、障害プロセッサから注目処理モジュールへのデータ通信に用いられるデータ伝送路とは異なるデータ伝送路を用いて注目処理モジュールへのデータ通信を行うサブプロセッサを、通信制限プロセッサとして選択する。   Further, the communication restriction processor selection unit 52 is based on the connection position of the predetermined processing module (hereinafter referred to as the attention processing module) to the bus 16 among the plurality of processing modules included in the multiprocessor system 10. May be selected. As a specific example, the communication restriction processor selection unit 52 uses a data transmission path that is different from the data transmission path used for data communication from the failed processor to the target processing module among the plurality of data transmission paths constituting the bus 16. A sub-processor that performs data communication with the processing module of interest is selected as a communication restricted processor.

例えば注目処理モジュールは、メインメモリ20や画像処理部24など、各サブプロセッサとのデータ通信が多いと想定される処理モジュールである。ここでは具体例として、メインメモリ20が注目処理モジュールである場合について、説明する。前述したように、サブプロセッサ14a,14c,14e及び14gからメインメモリ20へのデータ通信には、時計回りのデータ伝送路16a又は16bが用いられる。以下では、これら4個のサブプロセッサを併せて第1サブプロセッサ群という。また、サブプロセッサ14b,14d,14f及び14hからメインメモリ20へのデータ通信には、反時計回りのデータ伝送路16c又は16dが用いられる。以下では、これら4個のサブプロセッサを併せて第2サブプロセッサ群という。   For example, the target processing module is a processing module that is assumed to have a lot of data communication with each sub-processor such as the main memory 20 and the image processing unit 24. Here, as a specific example, the case where the main memory 20 is the attention processing module will be described. As described above, the clockwise data transmission path 16a or 16b is used for data communication from the sub processors 14a, 14c, 14e, and 14g to the main memory 20. Hereinafter, these four sub-processors are collectively referred to as a first sub-processor group. For data communication from the sub processors 14b, 14d, 14f and 14h to the main memory 20, the counterclockwise data transmission path 16c or 16d is used. Hereinafter, these four sub processors are collectively referred to as a second sub processor group.

ここで、メインメモリ20が注目処理モジュールで、かつ障害プロセッサ及び通信制限プロセッサがそれぞれ一つずつの場合、通信制限プロセッサ選択部52は、第1サブプロセッサ群の中に障害プロセッサがあれば、第2サブプロセッサ群から通信制限プロセッサを選択する。また、第2サブプロセッサ群の中に障害プロセッサがあれば、逆に第1サブプロセッサ群から通信制限プロセッサを選択する。結果として、障害プロセッサ及び通信制限プロセッサを除いた6個のサブプロセッサのうち、第1サブプロセッサ群に属するサブプロセッサの数と第2サブプロセッサ群に属するサブプロセッサの数とはいずれも3個で等しくなる。こうすれば、後述するように通信制限プロセッサによるバス16を介したデータ通信を制限することによって、注目処理モジュールであるメインメモリ20と、障害プロセッサ及び通信制限プロセッサを除いた各サブプロセッサと、の間のデータ通信を複数のデータ伝送路間で分散させることができ、いずれかのデータ伝送路にデータ通信が偏りにくくすることができる。なお、前述した例におけるバス16の経路上において障害プロセッサの接続位置から最も離れた位置に接続された通信制限プロセッサは、同時に、障害プロセッサが属するサブプロセッサ群とは別のサブプロセッサ群に属するサブプロセッサにもなっている。   Here, when the main memory 20 is the processing module of interest, and there is one faulty processor and one communication restriction processor, the communication restriction processor selection unit 52 determines that the first subprocessor group has a faulty processor. A communication restricted processor is selected from the two sub-processor group. On the other hand, if there is a faulty processor in the second sub processor group, a communication restricted processor is selected from the first sub processor group. As a result, out of the six sub-processors excluding the failed processor and the communication restriction processor, the number of sub-processors belonging to the first sub-processor group and the number of sub-processors belonging to the second sub-processor group are all three. Will be equal. In this way, by restricting data communication via the bus 16 by the communication restriction processor as will be described later, the main memory 20 that is the processing module of interest and each of the sub-processors excluding the failed processor and the communication restriction processor The data communication between them can be distributed among a plurality of data transmission paths, and the data communication can hardly be biased to any one of the data transmission paths. Note that the communication restriction processor connected to the position farthest from the connection position of the failed processor on the path of the bus 16 in the above-described example is simultaneously connected to a sub processor group that is different from the sub processor group to which the failed processor belongs. It is also a processor.

また、障害プロセッサ又は通信制限プロセッサが複数となる場合、通信制限プロセッサ選択部52は、これら障害プロセッサと通信制限プロセッサとを除いたサブプロセッサのうち、第1サブプロセッサ群に属するサブプロセッサの数と第2サブプロセッサ群に属するサブプロセッサの数との差が小さくなるように、通信制限プロセッサを選択することとしてもよい。   Further, when there are a plurality of faulty processors or communication restriction processors, the communication restriction processor selection unit 52 determines the number of subprocessors belonging to the first subprocessor group among the subprocessors excluding these faulty processors and communication restriction processors. The communication restricted processor may be selected so that the difference from the number of sub processors belonging to the second sub processor group becomes small.

なお、以上の説明においては、障害プロセッサが存在する場合に、当該障害プロセッサのバス16に対する接続位置に応じて通信制限プロセッサを選択する場合の例について説明したが、通信制限プロセッサ選択部52は、障害プロセッサ特定部50によって特定される障害プロセッサが存在しない場合にも、通信制限プロセッサを選択することとしてもよい。この場合の通信制限プロセッサの数は、マルチプロセッサシステム10が備えるサブプロセッサの数と、マルチプロセッサシステム10がアプリケーションプログラムの実行の際に使用するサブプロセッサの数と、に応じて決定されてよい。また、この場合に通信制限プロセッサとして選択されるサブプロセッサは、所定のものであってよい。具体例として、通信制限プロセッサ選択部52は、例えば回路配置上マルチプロセッサシステム10の使用時に温度が上昇しやすいサブプロセッサ等、マルチプロセッサシステム10の使用環境に応じて決定される所定のサブプロセッサを、通信制限プロセッサとして選択する。   In the above description, when there is a faulty processor, an example in which a communication restriction processor is selected according to the connection position of the faulty processor with respect to the bus 16 has been described. Even when there is no faulty processor specified by the faulty processor specifying unit 50, the communication restricted processor may be selected. In this case, the number of communication limited processors may be determined according to the number of sub processors included in the multiprocessor system 10 and the number of sub processors used by the multiprocessor system 10 when executing the application program. In this case, the sub processor selected as the communication restriction processor may be a predetermined one. As a specific example, the communication restricted processor selection unit 52 selects a predetermined sub-processor determined according to the use environment of the multi-processor system 10 such as a sub-processor whose temperature tends to rise when the multi-processor system 10 is used due to circuit arrangement. Select as the communication restriction processor.

通信制限部54は、通信制限プロセッサ選択部52が選択した通信制限プロセッサによる、バス16を介したデータ通信を制限する。具体例として、通信制限部54は、通信制限プロセッサによるプログラムの実行を制限することで、通信制限プロセッサによるデータ通信を制限してもよい。この場合、通信制限プロセッサは、障害プロセッサと同様に他の処理モジュールとの間のデータ通信を行わないこととなる。また、通信制限部54は、通信制限プロセッサにアプリケーションプログラムを実行させつつ、通信制限プロセッサ内のバスインタフェースユニット15cによるバス16との間のデータ通信の帯域を所定値以下に制限することで、データ通信を制限してもよい。   The communication restriction unit 54 restricts data communication via the bus 16 by the communication restriction processor selected by the communication restriction processor selection unit 52. As a specific example, the communication restriction unit 54 may restrict data communication by the communication restriction processor by restricting execution of a program by the communication restriction processor. In this case, the communication restricted processor does not perform data communication with other processing modules in the same manner as the failed processor. In addition, the communication restriction unit 54 causes the communication restriction processor to execute the application program, and restricts the data communication bandwidth with the bus 16 by the bus interface unit 15c in the communication restriction processor to be equal to or less than a predetermined value. Communication may be restricted.

あるいは通信制限部54は、通信制限プロセッサに所定のプログラム(以下では、システムプログラムという)を実行させることによって、通信制限プロセッサによるデータ通信を制限してもよい。この場合のシステムプログラムは、例えば予めマルチプロセッサシステム10内のROM等に記憶された、他のサブプロセッサによって実行されるアプリケーションプログラムとは異なる種類のプログラムである。また、このシステムプログラムは、当該システムプログラムを実行するサブプロセッサが他の処理モジュールとの間で送受信するデータの量が、アプリケーションプログラムの場合と比較して少ないプログラムである。特にこのシステムプログラムが他のアプリケーションプログラムと独立したプログラムであれば、当該システムプログラムを実行する通信制限プロセッサは他のサブプロセッサとの間でデータ通信を行う必要はなくなる。通信制限部54は、このようなシステムプログラムを通信制限プロセッサに実行させることによって、通信制限プロセッサによるデータ通信を制限できる。なお、このシステムプログラムは、オペレーティングシステムから直接起動され、オペレーティングシステムの制御に基づいて実行されるプログラムであってよい。こうすれば、アプリケーションプログラムの場合と比較して、システムプログラムを実行するサブプロセッサが行うデータ通信の通信量を制御しやすくできる。   Alternatively, the communication restriction unit 54 may restrict data communication by the communication restriction processor by causing the communication restriction processor to execute a predetermined program (hereinafter referred to as a system program). The system program in this case is a different type of program from an application program that is stored in advance in a ROM or the like in the multiprocessor system 10 and executed by another sub-processor. Further, this system program is a program in which the amount of data transmitted and received between the sub-processor that executes the system program and other processing modules is smaller than that of the application program. In particular, if this system program is a program independent of other application programs, the communication restricted processor that executes the system program does not need to perform data communication with other sub-processors. The communication restriction unit 54 can restrict data communication by the communication restriction processor by causing the communication restriction processor to execute such a system program. The system program may be a program that is directly started from the operating system and executed based on the control of the operating system. This makes it easier to control the amount of data communication performed by the sub-processor that executes the system program than in the case of the application program.

以上説明したように、障害プロセッサのバス16に対する接続位置に対応する位置においてバス16に接続されたサブプロセッサを通信制限プロセッサとして選択し、当該通信制限プロセッサのバス16を介したデータ通信を制限することによって、マルチプロセッサシステム10は、バス16内のデータ伝送による負荷を均一化させ、障害プロセッサのバス16に対する接続位置によるデータ通信効率への影響を生じにくくさせることができる。   As described above, the sub processor connected to the bus 16 is selected as the communication restriction processor at the position corresponding to the connection position of the faulty processor to the bus 16, and the data communication via the bus 16 of the communication restriction processor is restricted. As a result, the multiprocessor system 10 can make the load due to data transmission in the bus 16 uniform, and make it less likely to affect the data communication efficiency due to the connection position of the faulty processor to the bus 16.

テーブル生成部56は、プロセッサ対応テーブルを生成する。ここでプロセッサ対応テーブルは、サブプロセッサ14a乃至14hのうちの一部のサブプロセッサと、当該一部のサブプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルである。なお、プロセッサ対応テーブルはマルチプロセッサシステム10内のメインメモリ20等に予め記憶され、テーブル生成部56は当該記憶されたプロセッサ対応テーブルを更新することとしてもよい。プロセッサ指定情報は、マルチプロセッサシステム10内のいずれかのサブプロセッサを指定するための情報であって、例えば0以上の整数による論理プロセッサ番号として表される。この場合において、プロセッサ指定情報の数は、アプリケーションプログラムの実行の際に使用されるサブプロセッサの数に対応し、マルチプロセッサシステム10が備えるサブプロセッサの数(8個)より少ない数である。図5は、このようなプロセッサ対応テーブルの一例を示す図である。図5の例においては、0から5までの6個の論理プロセッサ番号が、それぞれいずれかのサブプロセッサに関連づけられており、これによって各論理プロセッサ番号はいずれかのサブプロセッサを指定している。   The table generation unit 56 generates a processor correspondence table. Here, the processor correspondence table is a table that associates some of the sub-processors 14a to 14h with a plurality of pieces of processor designation information that respectively designate one of the partial sub-processors. The processor correspondence table may be stored in advance in the main memory 20 or the like in the multiprocessor system 10, and the table generation unit 56 may update the stored processor correspondence table. The processor designation information is information for designating any sub-processor in the multiprocessor system 10 and is represented as a logical processor number by an integer of 0 or more, for example. In this case, the number of processor designation information corresponds to the number of sub-processors used when executing the application program, and is smaller than the number of sub-processors (eight) included in the multiprocessor system 10. FIG. 5 is a diagram showing an example of such a processor correspondence table. In the example of FIG. 5, six logical processor numbers from 0 to 5 are associated with any one of the sub processors, and each logical processor number designates one of the sub processors.

テーブル生成部56は、このプロセッサ対応テーブルを、障害プロセッサのバス16に対する接続位置に応じて、各プロセッサ指定情報が障害プロセッサを除く複数のサブプロセッサのうちのいずれかのサブプロセッサを指定するように生成する。また、通信制限プロセッサ選択部52がいずれかのサブプロセッサを通信制限プロセッサとして選択している場合、テーブル生成部56は、障害プロセッサ及び通信制限プロセッサのバス16に対する接続位置に応じて、各プロセッサ指定情報が障害プロセッサ及び通信制限プロセッサを除く複数のサブプロセッサのうちのいずれかのサブプロセッサを指定するように、プロセッサ対応テーブルを生成してもよい。また、例えば前述した例のように通信制限プロセッサに所定のシステムプログラムを実行させる場合などにおいては、複数のプロセッサ指定情報のうち、予め定められた特定のプロセッサ指定情報が通信制限プロセッサを指定するように、プロセッサ対応テーブルを生成してもよい。   The table generation unit 56 uses the processor correspondence table so that each processor designation information designates one of the plurality of sub processors excluding the faulty processor according to the connection position of the faulty processor to the bus 16. Generate. When the communication restriction processor selection unit 52 selects any of the sub processors as the communication restriction processor, the table generation unit 56 designates each processor according to the connection position of the failed processor and the communication restriction processor to the bus 16. The processor correspondence table may be generated such that the information specifies any one of the plurality of sub processors excluding the failed processor and the communication restricted processor. In addition, for example, in the case where the communication restricted processor is caused to execute a predetermined system program as in the above-described example, the predetermined specific processor designation information among the plurality of processor designation informations designates the communication restricted processor. In addition, a processor correspondence table may be generated.

具体例として、テーブル生成部56は、障害プロセッサを除く各サブプロセッサのバス16に対する接続位置に応じて、障害プロセッサを除く複数のサブプロセッサの中から各プロセッサ指定情報が指定するサブプロセッサを決定する。例えば前述した第1サブプロセッサ群の中に障害プロセッサがある場合、論理プロセッサ番号0によって指定されるサブプロセッサをサブプロセッサ14bとし、以下、各論理プロセッサ番号によって指定されるサブプロセッサのバス16に対する接続位置が順に時計回りに並ぶように、各論理プロセッサ番号が指定するサブプロセッサを決定する。また、第2サブプロセッサ群の中に障害プロセッサがある場合、論理プロセッサ番号0によって指定されるサブプロセッサをサブプロセッサ14aとし、以下、各論理プロセッサ番号によって指定されるサブプロセッサのバス16に対する接続位置が順に反時計回りに並ぶように、各論理プロセッサ番号が指定するサブプロセッサを決定する。   As a specific example, the table generation unit 56 determines a sub-processor designated by each processor designation information from among a plurality of sub-processors excluding the failed processor according to the connection position of each sub-processor excluding the failed processor with respect to the bus 16. . For example, when there is a faulty processor in the first sub-processor group described above, the sub-processor designated by the logical processor number 0 is referred to as a sub-processor 14b, and hereinafter, the sub-processors designated by the respective logical processor numbers are connected to the bus 16. The sub-processor designated by each logical processor number is determined so that the positions are arranged in the clockwise order. If there is a faulty processor in the second sub-processor group, the sub-processor designated by the logical processor number 0 is defined as a sub-processor 14a. Hereinafter, the connection position of the sub-processor designated by each logical processor number to the bus 16 The sub-processors designated by the respective logical processor numbers are determined so that are arranged in the counterclockwise order.

図6及び図7は、このように決定された各論理プロセッサ番号によって指定されるサブプロセッサの位置関係を示す説明図である。これらの図においては、図2に示す各処理モジュールのバス16に対する接続位置の位置関係が、簡略化して示されている。なお、図6及び図7においては、プロセッサ指定情報は0から5までの6個の論理プロセッサ番号によって表されることとし、論理プロセッサ番号nによって指定されるサブプロセッサはサブプロセッサ(n)と表記されている。図6は、サブプロセッサ14aが障害プロセッサであり、サブプロセッサ14hが通信制限プロセッサとして選択されている場合の例について示している。また、図7は、サブプロセッサ14dが障害プロセッサであり、サブプロセッサ14eが通信制限プロセッサとして選択されている場合の例について示している。   6 and 7 are explanatory diagrams showing the positional relationship of the sub-processors designated by the logical processor numbers determined as described above. In these drawings, the positional relationship of the connection positions of the processing modules shown in FIG. 2 with respect to the bus 16 is shown in a simplified manner. 6 and 7, the processor designation information is represented by six logical processor numbers from 0 to 5, and the sub processor designated by the logical processor number n is represented as sub processor (n). Has been. FIG. 6 shows an example in which the sub processor 14a is a faulty processor and the sub processor 14h is selected as a communication restricted processor. FIG. 7 shows an example in which the sub processor 14d is a faulty processor and the sub processor 14e is selected as a communication restricted processor.

このように、各サブプロセッサの接続位置に応じて各論理プロセッサ番号が指定するサブプロセッサが決定されることによって、ある論理プロセッサ番号によって指定されるサブプロセッサから見た他のサブプロセッサの接続位置は、どのサブプロセッサが障害プロセッサである場合でも、同様の位置関係にあるようにすることができる。具体的に、例えば図6において、サブプロセッサ(0)から他の論理プロセッサ番号によって指定されるサブプロセッサにデータが送信される場合、サブプロセッサ(1)及びサブプロセッサ(2)に対するデータ送信には時計回りのデータ伝送路が使用される。また、サブプロセッサ(5)及びサブプロセッサ(4)に対するデータ送信には反時計回りのデータ伝送路が使用され、サブプロセッサ(3)に対するデータ送信にはいずれの向きのデータ伝送路も使用されうる。一方、図7の場合におけるサブプロセッサ(0)から他の論理プロセッサ番号によって指定されるサブプロセッサに対するデータ送信については、サブプロセッサ(1)及びサブプロセッサ(2)に対しては反時計回りのデータ伝送路が使用され、サブプロセッサ(5)及びサブプロセッサ(4)に対しては時計回りのデータ伝送路が使用される。そして、サブプロセッサ(3)に対するデータ送信には図6の場合と同様にいずれの向きのデータ伝送路も使用されうる。このように、データ伝送路の向きが逆になるものの、図6の場合も図7の場合も同じ方向のデータ伝送路によってデータが送信されるサブプロセッサの組み合わせは一致する。こうすれば、後述するようにアプリケーションプログラムに含まれる所定処理の実行を論理プロセッサ番号に応じて各サブプロセッサに割り当てることによって、どのサブプロセッサに障害があっても、アプリケーションプログラムを実行する各サブプロセッサ間のデータ伝送の環境に変化が生じないようにすることができる。   In this way, by determining the sub-processor specified by each logical processor number according to the connection position of each sub-processor, the connection position of other sub-processors as viewed from the sub-processor specified by a certain logical processor number is Even if any sub-processor is a faulty processor, the same positional relationship can be achieved. Specifically, for example, in FIG. 6, when data is transmitted from the sub processor (0) to a sub processor specified by another logical processor number, data transmission to the sub processor (1) and the sub processor (2) is performed. A clockwise data transmission path is used. Further, a counterclockwise data transmission path is used for data transmission to the sub-processor (5) and the sub-processor (4), and a data transmission path in any direction can be used for data transmission to the sub-processor (3). . On the other hand, regarding data transmission from the sub processor (0) to the sub processor specified by another logical processor number in the case of FIG. 7, the counterclockwise data is sent to the sub processor (1) and the sub processor (2). A transmission path is used, and a clockwise data transmission path is used for the sub-processor (5) and the sub-processor (4). Then, the data transmission path in any direction can be used for data transmission to the sub processor (3) as in the case of FIG. Thus, although the direction of the data transmission path is reversed, the combinations of sub-processors to which data is transmitted through the data transmission path in the same direction are the same in both the case of FIG. 6 and the case of FIG. In this way, as will be described later, by assigning execution of a predetermined process included in the application program to each sub processor according to the logical processor number, each sub processor that executes the application program regardless of which sub processor has a failure. It is possible to prevent a change in the environment of data transmission between.

さらに、テーブル生成部56は、障害プロセッサを除く各サブプロセッサのバス16に対する接続位置と、複数の処理モジュールのうちの所定の処理モジュールのバス16に対する接続位置と、の位置関係に応じて、障害プロセッサを除く複数のサブプロセッサの中から各プロセッサ指定情報が指定するサブプロセッサを決定してもよい。この場合における所定の処理モジュールは、前述した通信制限プロセッサ選択部52による通信制限プロセッサの選択に用いられた注目処理モジュールと同じ処理モジュールであってよい。   In addition, the table generation unit 56 determines the failure according to the positional relationship between the connection position of each sub-processor excluding the failed processor with respect to the bus 16 and the connection position of the predetermined processing module among the plurality of processing modules with respect to the bus 16. A sub-processor designated by each processor designation information may be determined from a plurality of sub-processors excluding the processor. The predetermined processing module in this case may be the same processing module as the attention processing module used for selecting the communication restriction processor by the communication restriction processor selection unit 52 described above.

この場合の具体例として、例えば注目処理モジュールがメインメモリ20の場合、テーブル生成部56は、メインメモリ20のバス16に対する接続位置から開始して、各論理プロセッサ番号によって指定されるサブプロセッサのバス16に対する接続位置が順に反時計回りに並ぶように、各論理プロセッサ番号が指定するサブプロセッサを決定する。図8は、図6と同様にサブプロセッサ14aが障害プロセッサであり、サブプロセッサ14hが通信制限プロセッサとして選択されている場合に、このように決定された各論理プロセッサ番号によって指定されるサブプロセッサの位置関係を示す説明図である。   As a specific example in this case, for example, when the processing module of interest is the main memory 20, the table generation unit 56 starts from the connection position of the main memory 20 to the bus 16, and the bus of the sub processor specified by each logical processor number. The sub-processors designated by the respective logical processor numbers are determined so that the connection positions with respect to 16 are arranged in order counterclockwise. FIG. 8 shows a case where the sub processor 14a is a faulty processor and the sub processor 14h is selected as the communication restricted processor as in FIG. It is explanatory drawing which shows a positional relationship.

このように、各サブプロセッサの接続位置と注目処理モジュールの接続位置との位置関係に応じて各論理プロセッサ番号が指定するサブプロセッサを決定することによって、注目処理モジュールから各論理プロセッサ番号が指定するサブプロセッサへのデータ通信の向きは、どのサブプロセサが障害プロセッサである場合でも、変化しないこととなる。例えば図8の例においては、メインメモリ20からサブプロセッサ(0)、サブプロセッサ(1)及びサブプロセッサ(2)に対するデータ送信には反時計回りのデータ伝送路が使用される。また、メインメモリ20からサブプロセッサ(5)、サブプロセッサ(4)及びサブプロセッサ(3)に対するデータ送信には時計回りのデータ伝送路が使用される。そして、これらの対応関係は、どのサブプロセッサに障害がある場合であっても、変化しない。   In this way, by determining the sub-processor designated by each logical processor number according to the positional relationship between the connection position of each sub-processor and the connection position of the target processing module, each logical processor number is specified from the target processing module. The direction of data communication to the sub-processor does not change regardless of which sub-processor is the failed processor. For example, in the example of FIG. 8, a counterclockwise data transmission path is used for data transmission from the main memory 20 to the sub processor (0), the sub processor (1), and the sub processor (2). A clockwise data transmission path is used for data transmission from the main memory 20 to the sub-processor (5), sub-processor (4), and sub-processor (3). These correspondences do not change regardless of which sub-processor has a fault.

また、各論理プロセッサ番号が指定するサブプロセッサの、注目処理モジュールからデータを送信する場合のデータ伝送距離の順序も、障害サブプロセッサの接続位置に関わらず変化しないこととなる。例えば図8の例においては、メインメモリ20から時計回りのデータ伝送路によってデータが送信される各サブプロセッサのうち、最も近い位置に接続されているのはサブプロセッサ(0)であり、次いでサブプロセッサ(1)、サブプロセッサ(2)の順にバス16内のデータ伝送距離が長くなる。この順序は、どのサブプロセッサに障害がある場合でも、同様である。これにより、障害プロセッサの位置による、注目処理モジュールとアプリケーションプログラムを実行する各サブプロセッサとの間のデータ伝送量への影響を少なくすることができる。   In addition, the order of the data transmission distances when the data is transmitted from the target processing module of the sub processor specified by each logical processor number is not changed regardless of the connection position of the faulty sub processor. For example, in the example of FIG. 8, the sub processor (0) connected to the closest position among the sub processors to which data is transmitted from the main memory 20 through the clockwise data transmission path is the sub processor (0). The data transmission distance in the bus 16 becomes longer in the order of the processor (1) and the sub processor (2). This order is the same regardless of which sub-processor has a fault. Thereby, it is possible to reduce the influence of the position of the faulty processor on the data transmission amount between the target processing module and each sub-processor executing the application program.

処理実行制御部58は、例えば光ディスク36やハードディスク38等から読み出されてメインメモリ20に格納されたアプリケーションプログラムと、テーブル生成部56によって生成されたプロセッサ対応テーブルと、に基づいて、各プロセッサ指定情報が指定するサブプロセッサのそれぞれに、アプリケーションプログラムの一部の所定処理を実行させる制御を行う。この場合におけるアプリケーションプログラムは、複数の所定処理を含んでおり、当該各所定処理がそれぞれプロセッサ指定情報のいずれかに関連づけられていることとする。この複数の所定処理は、互いに異なるサブプロセッサに割り当てられ、並行して実行されるプログラムの実行単位である。各プロセッサ指定情報によって指定されるサブプロセッサのそれぞれは、処理実行制御部58の制御に基づいて、当該サブプロセッサを指定するプロセッサ指定情報に関連づけられた所定処理を実行する。   The process execution control unit 58 specifies each processor based on, for example, an application program read from the optical disk 36 or the hard disk 38 and stored in the main memory 20 and the processor correspondence table generated by the table generation unit 56. Control is performed to cause each of the sub processors specified by the information to execute a predetermined process of a part of the application program. The application program in this case includes a plurality of predetermined processes, and each of the predetermined processes is associated with one of the processor designation information. The plurality of predetermined processes are execution units of programs assigned to different sub-processors and executed in parallel. Each of the sub processors specified by each processor specifying information executes a predetermined process associated with the processor specifying information specifying the sub processor based on the control of the process execution control unit 58.

具体例として、処理実行制御部58は、論理プロセッサ番号に対応して予め定められた論理アドレスを、当該論理プロセッサ番号によって指定されるサブプロセッサのメモリ位置を示す物理アドレスに対応づけるメモリアドレス変換テーブルを生成する。そして、生成したメモリアドレス変換テーブルを各サブプロセッサ内のバスインタフェースユニット15cに対して配信する。これにより、各サブプロセッサは、論理プロセッサ番号を用いて当該論理プロセッサ番号が指定するサブプロセッサにアクセスすることができる。また、メインメモリ20は、当該メモリ変換テーブルを用いて、各論理プロセッサ番号によって指定されるサブプロセッサに対して、それぞれのサブプロセッサに実行させる所定処理のプログラムデータを送信することができる。   As a specific example, the process execution control unit 58 associates a predetermined logical address corresponding to a logical processor number with a physical address indicating a memory location of a sub processor specified by the logical processor number. Is generated. Then, the generated memory address conversion table is distributed to the bus interface unit 15c in each sub processor. Thus, each sub processor can access the sub processor specified by the logical processor number using the logical processor number. In addition, the main memory 20 can transmit program data of a predetermined process to be executed by each sub processor to the sub processor specified by each logical processor number using the memory conversion table.

以上説明したように、マルチプロセッサシステム10は、障害プロセッサのバス16に対する接続位置に応じて各プロセッサ指定情報が指定するサブプロセッサを決定し、これらのサブプロセッサが当該サブプロセッサを指定するプロセッサ指定情報に関連づけられた所定処理を実行する。こうすれば、障害プロセッサの接続位置の違いによって、各所定処理が実行されるサブプロセッサの位置関係が大きく変化することを防ぐことができる。これによって、プログラムの実行環境の変化を生じにくくすることができ、装置の個体差によるプログラムの処理速度等の違いを少なくすることができる。   As described above, the multiprocessor system 10 determines the subprocessor specified by each processor specifying information according to the connection position of the failed processor to the bus 16, and the processor specifying information by which these subprocessors specify the subprocessor. A predetermined process associated with is executed. In this way, it is possible to prevent the positional relationship of the sub-processors on which each predetermined process is executed from changing greatly due to the difference in the connection position of the failed processor. As a result, it is possible to make it difficult for changes in the program execution environment to occur, and to reduce differences in program processing speed and the like due to individual differences between apparatuses.

ここで、マルチプロセッサシステム10が実行する処理の流れの一例について、図9のフロー図に基づいて説明する。この図に示される処理は、例えばマルチプロセッサシステム10の電源投入時などに実行される。   Here, an example of the flow of processing executed by the multiprocessor system 10 will be described based on the flowchart of FIG. The processing shown in this figure is executed, for example, when the multiprocessor system 10 is turned on.

まず、マルチプロセッサシステム10は、不揮発性メモリに格納された障害プロセッサ識別情報を読み出して、障害プロセッサを特定する(S1)。そして、障害プロセッサが存在する場合には、障害プロセッサの接続位置に応じて通信制限プロセッサを選択する(S2)。ここでは、バス16の経路上において障害プロセッサの接続位置から最も離れた位置に接続された1個のサブプロセッサが、通信制限プロセッサとして選択されることとする。一方、障害プロセッサが存在しない場合には、所定のサブプロセッサを通信制限プロセッサとして選択する(S3)。   First, the multiprocessor system 10 reads the failed processor identification information stored in the nonvolatile memory and identifies the failed processor (S1). If there is a faulty processor, a communication restricted processor is selected according to the connection position of the faulty processor (S2). Here, it is assumed that one sub-processor connected to the position farthest from the connection position of the faulty processor on the path of the bus 16 is selected as the communication restriction processor. On the other hand, if there is no faulty processor, a predetermined sub processor is selected as a communication restricted processor (S3).

次にマルチプロセッサシステム10は、S1で特定された障害プロセッサ及びS2又はS3で選択された通信制限プロセッサに応じて、プロセッサ対応テーブルを生成する(S4)。さらに、S3で選択された通信制限プロセッサと、S4で生成されたプロセッサ対応テーブルと、に基づいて、メモリアドレス変換テーブルを生成し(S5)、生成したメモリアドレス変換テーブルを各サブプロセッサのバスインタフェースユニット15cに対して配信する(S6)。なお,S1〜S6に関する処理は、マルチプロセッサシステム10上で走行するオペレーティングシステムによって実行されてもよい。   Next, the multiprocessor system 10 generates a processor correspondence table according to the failed processor identified in S1 and the communication restricted processor selected in S2 or S3 (S4). Further, a memory address conversion table is generated based on the communication restricted processor selected in S3 and the processor correspondence table generated in S4 (S5), and the generated memory address conversion table is used as a bus interface for each sub processor. Distribute to the unit 15c (S6). Note that the processing related to S1 to S6 may be executed by an operating system running on the multiprocessor system 10.

この場合において、S5で生成されるメモリアドレス変換テーブルは、論理プロセッサ番号に対応する論理アドレスを、当該論理プロセッサ番号によって指定されるサブプロセッサを示す物理アドレスに対応づけるとともに、所定のシステムプログラムの読み出し先として予め定められた論理アドレスを、通信制限プロセッサを示す物理アドレスに対応づけるアドレス変換テーブルである。このメモリアドレス変換テーブルが各サブプロセッサのバスインタフェースユニット15cに配信されることによって、通信制限プロセッサはシステムプログラムを実行し、論理プロセッサ番号によって指定された各サブプロセッサは当該論理プロセッサ番号に関連づけられたアプリケーションプログラムの一部の所定処理を実行することができる。   In this case, the memory address conversion table generated in S5 associates the logical address corresponding to the logical processor number with the physical address indicating the sub processor specified by the logical processor number and reads a predetermined system program. It is an address conversion table associating a predetermined logical address with a physical address indicating a communication restricted processor. By distributing this memory address conversion table to the bus interface unit 15c of each sub processor, the communication restricted processor executes the system program, and each sub processor specified by the logical processor number is associated with the logical processor number. A predetermined process of a part of the application program can be executed.

なお、本発明は上記実施形態に限定されるものではなく、種々の変形実施が可能である。例えば、複数のプロセッサがリング型バス以外のバスで接続されている場合であっても、当該バスが複数のデータ伝送路を含んで構成されていれば、それぞれのデータ伝送路を介して注目処理モジュールとデータ通信を行うプロセッサの数の差が小さくなるように、通信制限プロセッサを選択することとしてもよい。これにより、複数のデータ伝送路間でデータ通信量の偏りをなくし、データ伝送の効率を向上させることができる。また、本発明の実施の形態に係るマルチプロセッサシステムは、同種プロセッサを複数備える各種の情報処理装置であってよい。   In addition, this invention is not limited to the said embodiment, A various deformation | transformation implementation is possible. For example, even when a plurality of processors are connected by a bus other than a ring bus, if the bus includes a plurality of data transmission paths, the attention process is performed via each data transmission path. The communication restricted processor may be selected so that the difference in the number of processors that perform data communication with the module is reduced. As a result, it is possible to eliminate an uneven data communication amount between a plurality of data transmission paths and to improve data transmission efficiency. Further, the multiprocessor system according to the embodiment of the present invention may be various information processing apparatuses including a plurality of similar processors.

また、通信制限プロセッサ選択部52は、障害プロセッサ特定部50が特定した障害プロセッサの数に応じて、通信制限プロセッサとして選択するプロセッサの数を決定してもよい。例えば通信制限プロセッサ選択部52は、通信制限プロセッサの数が障害プロセッサの数と同じになるように、通信制限プロセッサを選択する。この場合において、例えば前述したように各サブプロセッサを注目処理モジュールとのデータ通信に使用するデータ伝送路によって複数のサブプロセッサ群に分類した場合、通信制限プロセッサ選択部52は、各サブプロセッサ群に含まれる障害プロセッサ及び通信制限プロセッサを除いたサブプロセッサの数が等しくなるように、通信制限プロセッサを選択してもよい。また、各障害プロセッサの接続位置に対応して、それぞれの障害プロセッサとリング型バスの反対側の位置において接続されるサブプロセッサを、通信制限プロセッサとして選択してもよい。   Further, the communication restricted processor selection unit 52 may determine the number of processors to be selected as the communication restricted processor according to the number of failed processors specified by the failed processor specifying unit 50. For example, the communication restriction processor selection unit 52 selects a communication restriction processor so that the number of communication restriction processors is the same as the number of faulty processors. In this case, for example, as described above, when each sub processor is classified into a plurality of sub processor groups according to the data transmission path used for data communication with the processing module of interest, the communication restricted processor selection unit 52 assigns each sub processor group to each sub processor group. The communication restriction processor may be selected so that the number of sub-processors excluding the faulty processor and the communication restriction processor included is equal. Further, corresponding to the connection position of each faulty processor, a sub-processor connected to each faulty processor at a position opposite to the ring bus may be selected as the communication restriction processor.

本発明の実施の形態に係るマルチプロセッサシステムのハードウェア構成図である。It is a hardware block diagram of the multiprocessor system which concerns on embodiment of this invention. バスに接続された複数の処理モジュールを示す構成図である。It is a block diagram which shows the some processing module connected to the bus | bath. サブプロセッサの概略の構成を示す図である。It is a figure which shows the schematic structure of a sub processor. 本発明の実施の形態に係るマルチプロセッサシステムの機能例を示す機能ブロック図である。It is a functional block diagram which shows the function example of the multiprocessor system which concerns on embodiment of this invention. プロセッサ対応テーブルの一例を示す図である。It is a figure which shows an example of a processor corresponding | compatible table. プロセッサ指定情報によって指定されるサブプロセッサの位置関係の一例を示す説明図である。It is explanatory drawing which shows an example of the positional relationship of the sub processor designated by processor designation information. プロセッサ指定情報によって指定されるサブプロセッサの位置関係の別の例を示す説明図である。It is explanatory drawing which shows another example of the positional relationship of the sub processor designated by processor designation | designated information. プロセッサ指定情報によって指定されるサブプロセッサの位置関係の別の例を示す説明図である。It is explanatory drawing which shows another example of the positional relationship of the sub processor designated by processor designation | designated information. 本発明の実施の形態に係るマルチプロセッサシステムによって実行される処理の一例を示すフロー図である。It is a flowchart which shows an example of the process performed by the multiprocessor system which concerns on embodiment of this invention.

符号の説明Explanation of symbols

10 マルチプロセッサシステム、11 MPU、12 メインプロセッサ、14a〜14h サブプロセッサ、16 バス、17 バスコントローラ、20 メインメモリ、24 画像処理部、26 モニタ、28 入出力処理部、30 音声処理部、32 スピーカ、34 光ディスク読み取り部、36 光ディスク、38 ハードディスク、40,44 インタフェース、42 操作デバイス、46 カメラユニット、48 ネットワークインタフェース、50 障害プロセッサ特定部、52 通信制限プロセッサ選択部、54 通信制限部、56 テーブル生成部、58 処理実行制御部。   10 multiprocessor system, 11 MPU, 12 main processor, 14a to 14h sub-processor, 16 bus, 17 bus controller, 20 main memory, 24 image processing unit, 26 monitor, 28 input / output processing unit, 30 audio processing unit, 32 speaker 34, optical disk reader, 36 optical disk, 38 hard disk, 40, 44 interface, 42 operation device, 46 camera unit, 48 network interface, 50 fault processor identification unit, 52 communication restriction processor selection part, 54 communication restriction part, 56 table generation Part, 58 process execution control part.

Claims (8)

複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するリング型バスと、を備えるマルチプロセッサシステムであって、
前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルを記憶するテーブル記憶手段と、
前記複数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定する障害プロセッサ特定手段と、
前記障害プロセッサの前記リング型バスに対する接続位置に応じて、前記各プロセッサ指定情報が前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかのプロセッサを指定するように、前記テーブルを生成するテーブル生成手段と、
を含み、
前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプログラム、及び前記生成されたテーブルに基づいて、当該プロセッサを指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行する
ことを特徴とするマルチプロセッサシステム。
A multiprocessor system comprising a plurality of processing modules including a plurality of processors and a ring bus that relays data communication between the processing modules.
Table storage means for storing a table associating a part of the plurality of processors with a plurality of processor designation information respectively designating any one of the some processors;
A faulty processor specifying means for specifying at least one faulty processor having a fault among the plurality of processors;
Table generation for generating the table so that each processor designation information designates any one of the plurality of processors excluding the faulty processor according to a connection position of the faulty processor to the ring bus. Means,
Including
Each of the partial processors includes a plurality of predetermined processes, and each of the predetermined processes is associated with one of the processor designation information and the generated table based on the generated table. A multiprocessor system, wherein the predetermined process associated with the processor designation information for designating the processor is executed.
請求項1に記載のマルチプロセッサシステムにおいて、
前記テーブル生成手段は、前記障害プロセッサを除く前記各プロセッサの前記リング型バスに対する接続位置に応じて、前記障害プロセッサを除く前記複数のプロセッサの中から前記各プロセッサ指定情報が指定するプロセッサを決定する
ことを特徴とするマルチプロセッサシステム。
The multiprocessor system of claim 1, wherein
The table generation means determines a processor designated by each processor designation information from among the plurality of processors excluding the faulty processor according to a connection position of each processor except the faulty processor to the ring bus. A multiprocessor system characterized by that.
請求項2に記載のマルチプロセッサシステムにおいて、
前記テーブル生成手段は、前記障害プロセッサを除く前記各プロセッサの前記リング型バスに対する接続位置と、前記複数の処理モジュールのうちの所定の処理モジュールの前記リング型バスに対する接続位置と、の位置関係に応じて、前記障害プロセッサを除く前記複数のプロセッサの中から前記各プロセッサ指定情報が指定するプロセッサを決定する
ことを特徴とするマルチプロセッサシステム。
The multiprocessor system according to claim 2, wherein
The table generating means has a positional relationship between a connection position of each processor excluding the faulty processor to the ring bus and a connection position of a predetermined processing module to the ring bus among the plurality of processing modules. In response, a processor designated by each of the processor designation information is determined from the plurality of processors excluding the failed processor.
複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するリング型バスと、を備えるマルチプロセッサシステムの制御方法であって、
前記複数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定するステップと、
前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルを、前記障害プロセッサの前記リング型バスに対する接続位置に応じて、前記各プロセッサ指定情報が前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかのプロセッサを指定するように生成するステップと、
を含み、
前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプログラム、及び前記生成されたテーブルに基づいて、当該プロセッサを指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行する
ことを特徴とするマルチプロセッサシステムの制御方法。
A control method for a multiprocessor system comprising: a plurality of processing modules including a plurality of processors; and a ring bus that relays data communication between the processing modules.
Identifying at least one faulty processor having a fault among the plurality of processors;
A table for associating a part of the plurality of processors with a plurality of processor designation information for designating each of the some processors according to a connection position of the faulty processor to the ring bus. Generating each processor designation information so as to designate any one of the plurality of processors excluding the failed processor;
Including
Each of the partial processors includes a plurality of predetermined processes, and each of the predetermined processes is associated with one of the processor designation information and the generated table based on the generated table. A control method for a multiprocessor system, comprising: executing the predetermined process associated with the processor designation information for designating a processor.
複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するリング型バスと、を備えるマルチプロセッサシステムにより実行されるプログラムであって、
前記複数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定する障害プロセッサ特定手段、及び
前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルを、前記障害プロセッサの前記リング型バスに対する接続位置に応じて、前記各プロセッサ指定情報が前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかのプロセッサを指定するように生成するテーブル生成手段、
として前記マルチプロセッサシステムを機能させ、
前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプログラム、及び前記生成されたテーブルに基づいて、当該プロセッサを指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行する
ことを特徴とするプログラム。
A program executed by a multiprocessor system including a plurality of processing modules including a plurality of processors and a ring bus that relays data communication between the processing modules.
A faulty processor specifying means for specifying at least one faulty processor having a fault among the plurality of processors, and a plurality of processors respectively specifying a part of the plurality of processors and the part of the processors. The processor designation information designates one of the plurality of processors excluding the faulty processor according to the connection position of the faulty processor to the ring bus. Table generating means to generate,
The multiprocessor system as
Each of the partial processors includes a plurality of predetermined processes, and each of the predetermined processes is associated with one of the processor designation information and the generated table based on the generated table. A program for executing the predetermined process associated with the processor designation information for designating the processor.
請求項5に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。   A computer-readable information storage medium storing the program according to claim 5. 複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するリング型バスと、を備えるマルチプロセッサシステムであって、A multiprocessor system comprising a plurality of processing modules including a plurality of processors and a ring bus that relays data communication between the processing modules.
前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルであって、前記複数のプロセッサ指定情報のそれぞれが、障害を有する少なくとも一つの障害プロセッサの前記リング型バスに対する接続位置に応じて決まる、前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかのプロセッサを指定するテーブルを記憶するテーブル記憶手段を含み、A table associating a part of the plurality of processors with a plurality of processor designation information for designating any one of the some processors, wherein each of the plurality of processor designation information is a fault Table storage means for storing a table for designating any one of the plurality of processors excluding the failed processor, which is determined according to a connection position of at least one failed processor with respect to the ring bus.
前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプログラム、及び前記テーブルに基づいて、当該プロセッサを指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行するEach of the processors includes a plurality of predetermined processes, and designates the processors based on the application program in which each of the predetermined processes is associated with one of the processor designation information and the table. The predetermined process associated with the processor designation information is executed.
ことを特徴とするマルチプロセッサシステム。A multiprocessor system characterized by that.
複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するリング型バスと、を備えるマルチプロセッサシステムの制御方法であって、A control method for a multiprocessor system comprising: a plurality of processing modules including a plurality of processors; and a ring bus that relays data communication between the processing modules.
前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルであって、前記複数のプロセッサ指定情報のそれぞれが、障害を有する少なくとも一つの障害プロセッサの前記リング型バスに対する接続位置に応じて決まる、前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかのプロセッサを指定するテーブルを取得するステップと、A table associating a part of the plurality of processors with a plurality of processor designation information for designating any one of the some processors, wherein each of the plurality of processor designation information is a fault Obtaining a table designating any one of the plurality of processors excluding the failed processor, which is determined according to a connection position of the at least one failed processor with respect to the ring bus;
前記一部のプロセッサのそれぞれが、複数の所定処理を含むとともに、当該各所定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプログラム、及び前記テーブルに基づいて、当該プロセッサを指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行するステップと、Each of the some processors includes a plurality of predetermined processes, and each of the predetermined processes is specified based on an application program associated with any one of the processor specifying information and the table. Executing the predetermined process associated with the processor designation information;
を含むことを特徴とするマルチプロセッサシステムの制御方法。A control method for a multiprocessor system.
JP2006304559A 2006-11-09 2006-11-09 Multiprocessor system, control method thereof, program, and information storage medium Active JP4421593B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006304559A JP4421593B2 (en) 2006-11-09 2006-11-09 Multiprocessor system, control method thereof, program, and information storage medium
US12/444,747 US8266476B2 (en) 2006-11-09 2007-09-26 Multiprocessor system, its control method, and information recording medium
PCT/JP2007/068651 WO2008056489A1 (en) 2006-11-09 2007-09-26 Multiprocessor system, its control method, and information recording medium
CN2007800401077A CN101529387B (en) 2006-11-09 2007-09-26 Multiprocessor system, its control method, and information recording medium
EP07807867.2A EP2085885B1 (en) 2006-11-09 2007-09-26 Multiprocessor system, its control method, and information recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006304559A JP4421593B2 (en) 2006-11-09 2006-11-09 Multiprocessor system, control method thereof, program, and information storage medium

Publications (3)

Publication Number Publication Date
JP2008123135A JP2008123135A (en) 2008-05-29
JP2008123135A5 JP2008123135A5 (en) 2009-12-03
JP4421593B2 true JP4421593B2 (en) 2010-02-24

Family

ID=39507846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006304559A Active JP4421593B2 (en) 2006-11-09 2006-11-09 Multiprocessor system, control method thereof, program, and information storage medium

Country Status (1)

Country Link
JP (1) JP4421593B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892804B2 (en) 2008-10-03 2014-11-18 Advanced Micro Devices, Inc. Internal BUS bridge architecture and method in multi-processor systems
US8373709B2 (en) * 2008-10-03 2013-02-12 Ati Technologies Ulc Multi-processor architecture and method
JP6869660B2 (en) * 2016-08-01 2021-05-12 キヤノン株式会社 Information processing device and control method of information processing device

Also Published As

Publication number Publication date
JP2008123135A (en) 2008-05-29

Similar Documents

Publication Publication Date Title
KR101713009B1 (en) Scalable compute fabric
US20160210159A1 (en) User Mode Driver Extension and Preprocessing
US8661440B2 (en) Method and apparatus for performing related tasks on multi-core processor
JP2017068345A (en) Bus system
EP2704009B1 (en) Information processing apparatus, information processing method, and program
US8266476B2 (en) Multiprocessor system, its control method, and information recording medium
JP4421593B2 (en) Multiprocessor system, control method thereof, program, and information storage medium
JP4421592B2 (en) Multiprocessor system, control method thereof, program, and information storage medium
JP5232104B2 (en) Multimedia processing control device
JP7277592B2 (en) Scalable Game Console CPU/GPU Design for Home Game Console and Cloud Gaming
CN112218140A (en) Video synchronous playing method, device, system and storage medium
JP6106986B2 (en) Arithmetic processing device, information processing device and interrupt control method
JP4446968B2 (en) Data processing device
JP5116237B2 (en) Display control apparatus, load distribution method, and program
JP6056363B2 (en) Processing device and control method of processing device
JP2007109109A (en) Medium processor
US20130246611A1 (en) Method and apparatus for sharing a function with an external device and performing an operation
US20100299682A1 (en) Method and apparatus for executing java application
KR20140112860A (en) System on-Chip and operating method of the same
JP6024752B2 (en) Information processing apparatus and control method thereof
JP2007241922A (en) Arbitration method for use of shared resource, and arbitration device therefor
WO2014045500A1 (en) Lsi and method for producing lsi
JP5390316B2 (en) Image processing apparatus and image processing method
CN115658351A (en) 2D copying method, device, electronic equipment and computer readable storage medium
JP2007272358A (en) Information processor

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091020

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091020

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091201

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091202

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4421593

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131211

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250