KR20060071069A - Information processing apparatus, information processing method, information processing system, and computer program for information processing - Google Patents

Information processing apparatus, information processing method, information processing system, and computer program for information processing Download PDF

Info

Publication number
KR20060071069A
KR20060071069A KR1020050021349A KR20050021349A KR20060071069A KR 20060071069 A KR20060071069 A KR 20060071069A KR 1020050021349 A KR1020050021349 A KR 1020050021349A KR 20050021349 A KR20050021349 A KR 20050021349A KR 20060071069 A KR20060071069 A KR 20060071069A
Authority
KR
South Korea
Prior art keywords
information processing
information
command
processing apparatus
subprocessor
Prior art date
Application number
KR1020050021349A
Other languages
Korean (ko)
Inventor
신이찌 다나까
유끼요시 히로세
Original Assignee
소니 가부시끼 가이샤
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
Priority claimed from JP2004369126A external-priority patent/JP2005251163A/en
Application filed by 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR20060071069A publication Critical patent/KR20060071069A/en

Links

Images

Classifications

    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B3/00Ohmic-resistance heating
    • H05B3/02Details
    • H05B3/06Heater elements structurally combined with coupling elements or holders
    • H05B3/08Heater elements structurally combined with coupling elements or holders having electric connections specially adapted for high temperatures
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B3/00Ohmic-resistance heating
    • H05B3/20Heating elements having extended surface area substantially in a two-dimensional plane, e.g. plate-heater
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24DDOMESTIC- OR SPACE-HEATING SYSTEMS, e.g. CENTRAL HEATING SYSTEMS; DOMESTIC HOT-WATER SUPPLY SYSTEMS; ELEMENTS OR COMPONENTS THEREFOR
    • F24D13/00Electric heating systems
    • F24D13/02Electric heating systems solely using resistance heating, e.g. underfloor heating
    • F24D13/022Electric heating systems solely using resistance heating, e.g. underfloor heating resistances incorporated in construction elements
    • F24D13/024Electric heating systems solely using resistance heating, e.g. underfloor heating resistances incorporated in construction elements in walls, floors, ceilings
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B3/00Ohmic-resistance heating
    • H05B3/10Heating elements characterised by the composition or nature of the materials or by the arrangement of the conductor
    • H05B3/12Heating elements characterised by the composition or nature of the materials or by the arrangement of the conductor characterised by the composition or nature of the conductive material
    • H05B3/14Heating elements characterised by the composition or nature of the materials or by the arrangement of the conductor characterised by the composition or nature of the conductive material the material being non-metallic
    • H05B3/145Carbon only, e.g. carbon black, graphite
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B3/00Ohmic-resistance heating
    • H05B3/20Heating elements having extended surface area substantially in a two-dimensional plane, e.g. plate-heater
    • H05B3/22Heating elements having extended surface area substantially in a two-dimensional plane, e.g. plate-heater non-flexible
    • H05B3/26Heating elements having extended surface area substantially in a two-dimensional plane, e.g. plate-heater non-flexible heating conductor mounted on insulating base

Landscapes

  • Multi Processors (AREA)

Abstract

네트워크를 통하여 접속된 복수의 정보 처리 장치 사이에서, 사용자의 조작에 대응한 분산 처리를 확실하고 또한 효과적으로 행할 수 있도록 한다.It is possible to reliably and effectively perform distributed processing corresponding to a user's operation between a plurality of information processing apparatuses connected via a network.

정보 처리 장치(1, 2, 3 및 4) 내의 정보 처리 컨트롤러(11, 12, 13 및 14)는, 각각 메인 프로세서(21), 서브 프로세서(23), DMAC(다이렉트 메모리 액세스 컨트롤러)(25) 및 DC(디스크 컨트롤러)(27)를, 버스(29)를 통하여 접속한 것으로 한다. 메인 프로세서(21)는, 자(自) 장치의 동작 상태에 관한 정보를 장치 정보로서, 정보 처리 컨트롤러에 접속된 메인 메모리(26)에 기입함과 더불어, 타(他) 장치로부터의 요구에 대응하여, 그 장치 정보를 타 장치에 송신한다. 이에 의해, 임의의 정보 처리 장치는, 자신 및 다른 정보 처리 장치의 동작 상태를 보고, 사용자의 조작에 대응한 프로그램을 실행하는 정보 처리 장치를 선택하여, 그 장치에 해당 프로그램을 실행시킨다.The information processing controllers 11, 12, 13, and 14 in the information processing apparatuses 1, 2, 3, and 4 are the main processor 21, the subprocessor 23, and the DMAC (direct memory access controller) 25, respectively. And DC (disk controller) 27 are connected via bus 29. The main processor 21 writes information on the operation state of the own device as the device information into the main memory 26 connected to the information processing controller, and responds to requests from other devices. The device information is transmitted to the other device. Thereby, the arbitrary information processing apparatus sees the operation | movement state of itself and another information processing apparatus, selects the information processing apparatus which runs the program corresponding to a user's operation, and makes the apparatus run the said program.

정보 처리 장치, 정보 처리 컨트롤러, 메인 프로세서 Information processing unit, information processing controller, main processor

Description

정보 처리 장치, 정보 처리 방법, 정보 처리 시스템 및 정보 처리용 컴퓨터 프로그램{INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, INFORMATION PROCESSING SYSTEM, AND COMPUTER PROGRAM FOR INFORMATION PROCESSING}Information processing apparatus, information processing method, information processing system and computer program for information processing {INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, INFORMATION PROCESSING SYSTEM, AND COMPUTER PROGRAM FOR INFORMATION PROCESSING}

도 1은 본 발명의 네트워크 시스템의 일례를 나타내는 도면이다.1 is a diagram illustrating an example of a network system of the present invention.

도 2는 본 발명의 정보 처리 장치가 구비하는 정보 처리 컨트롤러의 설명에 제공하는 도면이다.It is a figure used for description of the information processing controller with which the information processing apparatus of this invention is equipped.

도 3은 소프트웨어 셀의 일례를 나타내는 도면이다.3 is a diagram illustrating an example of a software cell.

도 4는 DMA 커맨드가 스테이터스 회신 커맨드인 경우의 소프트웨어 셀의 데이터 영역을 도시하는 도면이다.4 is a diagram showing a data area of a software cell when the DMA command is a status return command.

도 5는 복수의 정보 처리 장치가 가상적인 1대의 정보 처리 장치로서 동작하는 모양을 도시하는 도면이다.5 is a diagram showing how a plurality of information processing apparatuses operate as one virtual information processing apparatus.

도 6은 정보 처리 컨트롤러의 소프트웨어 구성의 일례를 나타내는 도면이다.6 is a diagram illustrating an example of a software configuration of the information processing controller.

도 7은 4대의 정보 처리 장치가 가상적인 1대의 정보 처리 장치로서 동작하는 모양을 도시하는 도면이다.7 is a diagram showing how four information processing apparatuses operate as one virtual information processing apparatus.

도 8은 도 7의 시스템에 있어서의 분산 처리의 예를 나타내는 도면이다.FIG. 8 is a diagram illustrating an example of distributed processing in the system of FIG. 7.

도 9는 각 정보 처리 장치 및 시스템의 구체예를 도시하는 도면이다.9 is a diagram illustrating a specific example of each information processing apparatus and system.

도 10은 도 9에 있어서의 하드디스크 레코더의 하드웨어 구성을 나타내는 도면이다.FIG. 10 is a diagram illustrating a hardware configuration of the hard disk recorder in FIG. 9.

도 11은 도 9에 있어서의 하드디스크 레코더의 소프트웨어 구성을 나타내는 도면이다.FIG. 11 is a diagram showing the software configuration of the hard disk recorder in FIG.

도 12는 도 9에 있어서의 PDA의 하드웨어 구성을 나타내는 도면이다.12 is a diagram illustrating a hardware configuration of the PDA in FIG. 9.

도 13은 도 9에 있어서의 PDA의 소프트웨어 구성을 나타내는 도면이다.FIG. 13 is a diagram showing the software configuration of the PDA in FIG.

도 14는 도 9에 있어서의 포터블 CD 플레이어의 하드웨어 구성을 나타내는 도면이다.FIG. 14 is a diagram illustrating a hardware configuration of the portable CD player in FIG. 9.

도 15는 도 9에 있어서의 포터블 CD 플레이어의 소프트웨어 구성을 나타내는 도면이다.FIG. 15 is a diagram showing the software configuration of the portable CD player in FIG.

도 16은 본 발명의 네트워크 시스템의 다른 예를 나타내는 도면이다.16 is a diagram illustrating another example of the network system of the present invention.

도 17은 본 발명의 정보 처리 장치가 구비하는 정보 처리 컨트롤러의 설명에 제공하는 도면이다.It is a figure used for description of the information processing controller with which the information processing apparatus of this invention is equipped.

도 18은 DMAC의 내부 구조를 나타내는 도면이다.18 is a diagram illustrating an internal structure of a DMAC.

도 19는 정보 처리 장치내의 커맨드/레스펀스 구조를 나타내는 도면이다.19 is a diagram showing a command / response structure in the information processing apparatus.

도 20은 서브 프로세서가 메인 메모리에 액세스할 때의 순서를 나타내는 도면이다.20 is a diagram illustrating a sequence when the subprocessor accesses the main memory.

도 21은 워크 메모리의 내부 구조를 나타내는 도면이다.21 is a diagram illustrating an internal structure of the work memory.

도 22는 서브 프로세서의 내부 구조를 나타내는 도면이다.22 is a diagram illustrating an internal structure of a subprocessor.

도 23은 컨트롤 레지스터의 내부 구조를 나타내는 도면이다.Fig. 23 shows the internal structure of a control register.

도 24는 복수의 정보 처리 장치가 가상적인 1대의 정보 처리 장치로서 동작하는 모양을 나타내는 도면이다.It is a figure which shows the state in which several information processing apparatuses operate as one virtual information processing apparatus.

도 25는 4대의 정보 처리 장치가 가상적인 1대의 정보 처리 장치로서 동작하는 모양을 나타내는 도면이다.FIG. 25 is a diagram showing how four information processing apparatuses operate as one virtual information processing apparatus. FIG.

도 26은 도 25의 시스템에 있어서의 분산 처리의 예를 나타내는 도면이다.FIG. 26 is a diagram illustrating an example of distributed processing in the system of FIG. 25.

도 27은 각 정보 처리 장치 및 시스템의 구체예를 나타내는 도면이다.27 is a diagram illustrating a specific example of each information processing apparatus and system.

도 28은 도 27에 있어서의 하드디스크 레코더의 하드웨어 구성을 나타내는 도면이다.FIG. 28 is a diagram showing the hardware configuration of the hard disk recorder in FIG.

도 29는 도 27에 있어서의 하드디스크 레코더의 소프트웨어 구성을 나타내는 도면이다.FIG. 29 is a diagram showing the software configuration of the hard disk recorder in FIG.

도 30은 도 27에 있어서의 PDA의 하드웨어 구성을 나타내는 도면이다.30 is a diagram illustrating a hardware configuration of the PDA in FIG. 27.

도 31은 도 27에 있어서의 PDA의 소프트웨어 구성을 나타내는 도면이다.FIG. 31 is a diagram showing the software configuration of the PDA in FIG.

도 32는 도 27에 있어서의 포터블 CD 플레이어의 하드웨어 구성을 나타내는 도면이다.32 is a diagram illustrating a hardware configuration of the portable CD player in FIG. 27.

도 33은 도 27에 있어서의 포터블 CD 플레이어의 소프트웨어 구성을 나타내는 도면이다.33 is a view showing the software configuration of the portable CD player in FIG. 27.

도면의 주요 부분에 대한 부호의 설명Explanation of symbols for the main parts of the drawings

9 : 네트워크 9: network

1, 2, 3 및 4 : 정보 처리 장치1, 2, 3 and 4: information processing unit

11 : 정보 처리 컨트롤러11: information processing controller

21-1 : 메인 프로세서21-1: main processor

23-1, 23-2, 23-3 : 서브 프로세서23-1, 23-2, 23-3: Subprocessor

25-1 : DMAC(다이렉트 메모리 액세스 컨트롤러25-1: DMAC (Direct Memory Access Controller)

27-1 : 디스크 컨트롤러27-1: Disk Controller

[특허 문헌1] 일본 특허 공개공보 제 2002-342165호[Patent Document 1] Japanese Patent Laid-Open No. 2002-342165

[특허 문헌2] 일본 특허 공개공보 제 2002-351850호 공보[Patent Document 2] Japanese Patent Laid-Open No. 2002-351850

[특허 문헌3] 일본 특허 공개공보 제 2002-358289호 공보[Patent Document 3] Japanese Patent Application Laid-Open No. 2002-358289

[특허 문헌4] 일본 특허 공개공보 제 2002-366533호 공보[Patent Document 4] Japanese Patent Application Laid-Open No. 2002-366533

[특허 문헌5] 일본 특허 공개공보 제 2002-366534호 공보[Patent Document 5] Japanese Patent Application Laid-Open No. 2002-366534

[특허 문헌6] 미국 특허 6,587,906[Patent Document 6] US Patent 6,587,906

[특허 문헌7] 미국 특허 6,667,920[Patent Document 7] US Patent 6,667,920

[특허 문헌8] 미국 특허 6,728,845[Patent Document 8] US Patent 6,728,845

[특허 문헌9] 미국 특허공개 2004-0039895[Patent Document 9] US Patent Publication 2004-0039895

[특허 문헌10] 미국 특허공개 2004-0054880[Patent Document 10] US Patent Publication 2004-0054880

[특허 문헌11] 미국 특허공개 2004-0098496[Patent Document 11] US Patent Publication 2004-0098496

본 발명은, 정보 처리 장치, 정보 처리 방법, 정보 처리 시스템 및 정보 처 리용 컴퓨터 프로그램에 관한 것이다.The present invention relates to an information processing apparatus, an information processing method, an information processing system, and a computer program for information processing.

최근, 그리드·컴퓨팅이 주목받고 있다. 그리드·컴퓨팅이란, 네트워크에 접속된 복수의 정보 처리 장치를 협조 동작시켜, 높은 연산 성능을 실현하는 기술이다.In recent years, grid computing has attracted attention. Grid computing is a technique for cooperatively operating a plurality of information processing apparatuses connected to a network to realize high computational performance.

예를 들면, 특허 문헌1(일본 특허 공개공보 제 2002-342165호), 특허 문헌2(일본 특허 공개공보 제 2002-351850호), 특허 문헌3(일본 특허 공개공보 제 2002-358289호), 특허 문헌4(일본 특허 공개공보 제 2002-366533호) 및 특허 문헌5(일본 특허 공개공보 제 2002-366534호)에는, 균일한 모듈러 구조, 공통의 컴퓨팅·모듈, 및 균일한 소프트웨어 셀을 이용함으로써, 고속 처리용 컴퓨터·아키텍처를 실현하는 것이 개시되어 있다.For example, Patent Document 1 (Japanese Patent Laid-Open Publication No. 2002-342165), Patent Document 2 (Japanese Patent Laid-Open Publication No. 2002-351850), Patent Document 3 (Japanese Patent Laid-Open Publication No. 2002-358289), Patent In Document 4 (Japanese Patent Laid-Open Publication No. 2002-366533) and Patent Document 5 (Japanese Patent Laid-Open Publication No. 2002-366534), by using a uniform modular structure, a common computing module, and a uniform software cell, It is disclosed to realize a computer architecture for high speed processing.

또한, 특허 문헌6(미국 특허 6,587,906), 특허 문헌7(미국 특허 6,667,920), 특허 문헌8(미국 특허 6,728,845), 특허 문헌9(미국 특허공개 2004-0039895), 특허 문헌10(미국 특허공개 2004-0054880) 및 특허 문헌11(미국 특허공개 2004-0098496)에는, 정보 처리 장치내에 복수개 존재하는 프로세서를 독립·병렬로 동작시킴으로써, 처리를 고속화시키는 것이 개시되어 있다.In addition, Patent Document 6 (US Patent 6,587,906), Patent Document 7 (US Patent 6,667,920), Patent Document 8 (US Patent 6,728,845), Patent Document 9 (US Patent Publication 2004-0039895), Patent Document 10 (US Patent Publication 2004- 0054880 and Patent Document 11 (U.S. Patent Application Publication No. 2004-0098496) disclose speeding up a process by operating a plurality of processors in an information processing apparatus independently and in parallel.

그러나, 네트워크를 통하여 복수의 정보 처리 장치가 접속된 네트워크 시스템에 있어서, 사용자의 해당 네트워크 시스템에 대한 조작에 대응한 처리를, 네트워크 시스템 전체에서 분산적으로 실행하기 위해서는, 각각의 정보 처리 장치, 또는 네트워크 시스템을 관리하는 정보 처리 장치가, 다른 정보 처리 장치의 동작 상황을 파악하고 있을 필요가 있다.However, in a network system in which a plurality of information processing apparatuses are connected via a network, each information processing apparatus or, in order to execute a process corresponding to an operation of the user's network system in a distributed manner throughout the network system, or It is necessary for the information processing apparatus which manages a network system to grasp | ascertain the operation state of another information processing apparatus.

따라서, 본 발명은, 네트워크를 통하여 접속된 복수의 정보 처리 장치 사이에서, 이와 같은 분산 처리를 확실하고 또한 효과적으로 행할 수 있도록 한 것이다.Therefore, this invention makes it possible to reliably and effectively perform such distributed processing among a plurality of information processing apparatuses connected via a network.

본 발명의 정보 처리 장치는, 네트워크를 통하여 다른 정보 처리 장치와 접속되고, 소정의 커맨드에 따라서 정보 처리를 행하는 정보 처리 장치에 있어서, 상기 다른 정보 처리장치로부터 동작 상태에 관한 정보를 수집하여, 장치 정보 테이블을 작성하는 능력 교환 수단과, 상기 커맨드가 발생했을 때, 해당 커맨드의 실행에 필요한 자원에 관한 정보와, 상기 장치 정보 테이블의 동작 상태에 관한 정보를 비교하여, 해당 커맨드가 실행 가능한 정보 처리 장치를 특정하는 장치 특정 수단을 구비하는 것을 특징으로 한다.An information processing apparatus of the present invention is connected to another information processing apparatus via a network, and performs information processing in accordance with a predetermined command, wherein the information processing apparatus collects information on an operation state from the other information processing apparatus. Information processing that can execute the command by comparing the capability exchange means for creating the information table with the information on the resources required for the execution of the command when the command is generated and the information on the operation state of the device information table. And device specifying means for specifying the device.

상기의 구성의, 본 발명의 정보 처리 장치에서는, 이것이 네트워크를 통하여 다른 정보 처리 장치와 접속된 경우, 다른 정보 처리장치로부터, 그 동작 상태에 관한 정보를 수집하여 장치 정보 테이블을 작성하고, 소정의 커맨드가 발생했을 때에는, 해당 커맨드의 실행에 필요한 자원에 관한 정보와, 장치 정보 테이블의 동작 상태에 관한 정보를 비교하여, 해당 커맨드를 실행 가능한 정보 처리 장치를 특정하기 때문에, 복수의 정보 처리 장치 사이에서 분산 처리가 확실하고 또한 효과적으로 실행된다.In the information processing apparatus of the present invention having the above configuration, when this is connected to another information processing apparatus via a network, information about the operation state is collected from the other information processing apparatus to create an apparatus information table, and the predetermined When a command is generated, the information on the resources required for the execution of the command is compared with the information on the operation state of the device information table, so that the information processing device capable of executing the command is identified. In the distributed processing is surely and effectively executed.

[1. 네트워크 시스템 및 정보 처리 장치의 기본적 구성 : 파트 1][One. Basic configuration of network systems and information processing devices: Part 1]

도 1은, 본 발명의 네트워크 시스템의 일례를 나타내고, 네트워크(9)를 통하여 복수의 정보 처리 장치(1, 2, 3 및 4)가 접속된 것이다.1 shows an example of the network system of the present invention, in which a plurality of information processing apparatuses 1, 2, 3, and 4 are connected via a network 9.

(1-1. 정보 처리 장치 및 정보 처리 컨트롤러)(1-1.Information Processing Unit and Information Processing Controller)

정보 처리 장치(1, 2, 3 및 4)는, 각각 후술하는 바와 같은 각종의 AV(Audio and Visual) 기기나 포터블 기기이다.The information processing apparatuses 1, 2, 3 and 4 are various AV (Audio and Visual) apparatuses and portable apparatuses which will be described later, respectively.

정보 처리 장치(1)에 대하여 나타내면, 정보 처리 장치(1)는, 컴퓨터 기능부로서 정보 처리 컨트롤러(11)를 구비한다. 정보 처리 컨트롤러(11)는, 메인 프로세서(21-1), 서브 프로세서(23-1, 23-2 및 23-3), DMAC(다이렉트 메모리 액세스 컨트롤러)(25-1), 및 DC(디스크 컨트롤러)(27-1)를 갖는다.Referring to the information processing apparatus 1, the information processing apparatus 1 includes an information processing controller 11 as a computer function unit. The information processing controller 11 includes a main processor 21-1, subprocessors 23-1, 23-2, and 23-3, a DMAC (direct memory access controller) 25-1, and a DC (disk controller). 27-1.

메인 프로세서(21-1)는, 서브 프로세서(23-1, 23-2 및 23-3)에 의한 서브 프로세서 프로그램의 실행(데이터 처리)의 스케줄 관리와, 정보 처리 컨트롤러(11)(정보 처리 장치(1))의 전반적인 관리를 행한다. 단, 메인 프로세서(21-1)내에서 관리를 위한 프로그램 이외의 프로그램이 동작하도록 구성할 수도 있다. 그 경우에는, 메인 프로세서(21-1)는 서브 프로세서로서도 기능하게 된다. 메인 프로세서(21-1)는, LS(로컬 스토리지)(22-1)를 갖는다.The main processor 21-1 includes schedule management of execution (data processing) of the subprocessor programs by the subprocessors 23-1, 23-2, and 23-3, and the information processing controller 11 (information processing device). General management of (1)) is performed. However, in the main processor 21-1, a program other than the program for management can also be configured to operate. In that case, the main processor 21-1 also functions as a subprocessor. The main processor 21-1 has an LS (local storage) 22-1.

서브 프로세서는, 1개이어도 무방하지만, 바람직하게는 복수로 한다. 이 예는, 복수인 경우이다.Although one subprocessor may be sufficient, Preferably it is multiple. This example is the case of plural numbers.

각 서브 프로세서(23-1, 23-2 및 23-3)는, 메인 프로세서(21-1)의 제어에 의해 병렬적 그리고 독립적으로, 서브 프로세서 프로그램을 실행하여, 데이터를 처리한다. 또한, 경우에 따라서 메인 프로세서(21-1)내의 프로그램이 서브 프로세서 (23-1, 23-2 또는 23-3)내의 서브 프로세서 프로그램과 제휴하여 동작하도록 구성할 수도 있다. 후술하는 기능 프로그램도 메인 프로세서(21-1)내에서 동작하는 프로그램이다. 각 서브 프로세서(23-1, 23-2 및 23-3)도, LS(로컬 스토리지)(24-1, 24-2 및 24-3)를 갖는다.Each of the subprocessors 23-1, 23-2, and 23-3 executes the subprocessor program in parallel and independently under the control of the main processor 21-1 to process data. In some cases, the program in the main processor 21-1 may be configured to operate in cooperation with the subprocessor program in the subprocessors 23-1, 23-2 or 23-3. The functional program described later is also a program operating in the main processor 21-1. Each subprocessor 23-1, 23-2 and 23-3 also has LS (local storage) 24-1, 24-2 and 24-3.

DMAC(25-1)는, 정보 처리 컨트롤러(11)에 접속된 DRAM(다이내믹 RAM) 등으로 이루어지는 메인 메모리(26-1)에 저장되어 있는 프로그램 및 데이터에 액세스하는 것이고, DC(27-1)는, 정보 처리 컨트롤러(11)에 접속된 외부 메모리부(28-1 및 28-2)에 액세스하는 것이다.The DMAC 25-1 accesses programs and data stored in the main memory 26-1 made of DRAM (dynamic RAM) or the like connected to the information processing controller 11, and the DC 27-1. Accesses the external memory units 28-1 and 28-2 connected to the information processing controller 11.

외부 메모리부(28-1 및 28-2)는, 고정 디스크(하드디스크)이어도, 분해 가능 디스크이어도 무방하고, 또한 MO, CD±RW, DVD±RW 등의 광 디스크, 메모리 디스크, SRAM(스태틱 RAM), ROM 등, 각종의 것을 이용할 수 있다. 따라서, DC(27-1)는, 디스크 컨트롤러라고 칭하지만, 외부 메모리부 컨트롤러이다.The external memory units 28-1 and 28-2 may be fixed disks (hard disks) or removable disks, and optical disks such as MO, CD ± RW, DVD ± RW, memory disks, and SRAM (static). Various things, such as RAM) and ROM, can be used. Therefore, the DC 27-1 is called a disk controller, but is an external memory unit controller.

도 1의 예와 같이, 정보 처리 컨트롤러(11)에 대하여 외부 메모리부(28)를 복수 접속할 수 있도록, 정보 처리 컨트롤러(11)를 구성할 수 있다.As in the example of FIG. 1, the information processing controller 11 can be configured such that a plurality of external memory units 28 can be connected to the information processing controller 11.

메인 프로세서(21-1), 각 서브 프로세서(23-1, 23-2 및 23-3), DMAC(25-1), 및 DC(27-1)는, 버스(29-1)에 의해 접속된다.The main processor 21-1, each of the subprocessors 23-1, 23-2, and 23-3, the DMAC 25-1, and the DC 27-1 are connected by the bus 29-1. do.

정보 처리 컨트롤러(11)에는, 해당 정보 처리 컨트롤러(11)를 구비하는 정보 처리 장치(1)를 네트워크 전체를 통하여 일의적으로 식별할 수 있는 식별자가, 정보 처리 장치 ID로서 할당된다.The information processing controller 11 is assigned, as an information processing device ID, an identifier that can uniquely identify the information processing apparatus 1 including the information processing controller 11 through the entire network.

메인 프로세서(21-1), 및 각 서브 프로세서(23-1, 23-2 및 23-3)에 대해서도 마찬가지로, 각각을 특정할 수 있는 식별자가, 메인 프로세서 ID 및 서브 프로세서 ID로서 할당된다.Similarly, for the main processor 21-1 and each of the subprocessors 23-1, 23-2, and 23-3, identifiers that can be specified are assigned as the main processor ID and the subprocessor ID.

정보 처리 컨트롤러(11)는, 원 칩 IC(집적 회로)로서 구성하는 것이 바람직하다.It is preferable to configure the information processing controller 11 as a one-chip IC (integrated circuit).

다른 정보 처리 장치(2, 3 및 4)도 마찬가지로 구성된다. 여기서, 페어런트 번호가 동일한 유닛은, 브랜치 번호가 상이하더라도, 특히 특기사항이 없는 한, 동일한 기능을 하는 것으로 한다. 또한, 이하의 설명에 있어서 브랜치 번호가 생략되어 있는 경우에는, 브랜치 번호의 상이에 의한 차이를 발생하지 않는 것으로 한다.The other information processing apparatuses 2, 3, and 4 are similarly configured. Here, units with the same parent number are assumed to have the same function, even if the branch numbers are different, unless otherwise specified. In addition, when a branch number is abbreviate | omitted in the following description, it is assumed that the difference by a branch number does not generate | occur | produce.

(1-2. 각 서브 프로세서로부터 메인 메모리에의 액세스)(1-2. Access to main memory from each subprocessor)

전술한 바와 같이, 1개의 정보 처리 컨트롤러내의 각 서브 프로세서(23)는, 독립적으로 서브 프로세서 프로그램을 실행하여, 데이터를 처리하지만, 상이한 서브 프로세서가 메인 메모리(26)내의 동일 영역에 대하여 동시에 판독 또는 기입을 행한 경우에는, 데이터의 부정합을 발생시킬 수 있다. 따라서, 서브 프로세서(23)로부터 메인 메모리(26)에의 액세스는, 이하와 같은 순서에 의해 행한다.As described above, each subprocessor 23 in one information processing controller independently executes a subprocessor program to process data, but different subprocessors simultaneously read or read the same area in the main memory 26. In the case of writing, data mismatch can occur. Therefore, access to the main memory 26 from the subprocessor 23 is performed in the following procedure.

도 2a에 나타내는 바와 같이, 메인 메모리(26)는, 어드레스 지정 가능한 복수의 메모리 로케이션 0∼M에 의해 구성된다. 각 메모리 로케이션에 대해서는, 데이터의 상태를 나타내는 정보를 저장하기 위한 추가 세그먼트 0∼M이 할당된다. 추가 세그먼트는, F/E 비트, 서브 프로세서 ID 및 LS 어드레스(로컬 스토리지 어드레스)를 포함하는 것으로 된다. 또한, 각 메모리 로케이션에는, 후술하는 액세스 키 0∼M도 할당된다. F/E 비트는, 이하와 같이 정의된다.As shown in FIG. 2A, the main memory 26 is constituted by a plurality of addressable memory locations 0 to M. For each memory location, additional segments 0 to M for storing information indicating the state of data are allocated. The additional segment is supposed to include the F / E bit, the subprocessor ID, and the LS address (local storage address). Each memory location is also assigned access keys 0 to M described later. The F / E bit is defined as follows.

F/E 비트=0은, 서브 프로세서(23)에 의해 판독되고 있는 처리중의 데이터, 또는 공백 상태이기 때문에 최신 데이터가 아닌 무효 데이터이고, 판독 불가인 것을 나타낸다. 또한, F/E 비트=0은, 해당 메모리 로케이션에 데이터 기입 가능한 것을 나타내고, 기입 후에 1로 설정된다.The F / E bit = 0 indicates that data is being processed by the subprocessor 23 or invalid data which is not the latest data because it is empty, and thus cannot be read. F / E bit = 0 indicates that data can be written to the memory location, and is set to 1 after writing.

F/E 비트=1은, 해당 메모리 로케이션의 데이터가 서브 프로세서(23)에 의해 판독되지 않고, 미 처리의 최신 데이터인 것을 나타낸다. 해당 메모리 로케이션의 데이터는 판독 가능하고, 서브 프로세서(23)에 의해 판독된 후에 0으로 설정된다. 또한, F/E 비트=1은, 해당 메모리 로케이션이 데이터 기입 불가인 것을 나타낸다.F / E bit = 1 indicates that the data of the corresponding memory location is not read by the subprocessor 23 and is the latest unprocessed data. The data at that memory location is readable and is set to zero after being read by the subprocessor 23. In addition, the F / E bit = 1 indicates that the memory location is impossible to write data.

또한, 상기 F/E 비트=0(판독 불가/기입 가)의 상태에 있어서, 해당 메모리 로케이션에 대하여 판독 예약을 설정하는 것은 가능하다. F/E 비트=0의 메모리 로케이션에 대하여 판독 예약을 행하는 경우에는, 서브 프로세서(23)는, 판독 예약을 행하는 메모리 로케이션의 추가 세그먼트에, 판독 예약 정보로서 해당 서브 프로세서(23)의 서브 프로세서 ID 및 LS 어드레스를 기입한다.Further, in the state of the F / E bit = 0 (non-read / write value), it is possible to set a read reservation for the memory location. When a read reservation is made to a memory location of F / E bit = 0, the subprocessor 23 adds the subprocessor ID of the subprocessor 23 as read reservation information to an additional segment of the memory location where the read reservation is made. And the LS address.

그 후, 데이터 기입측의 서브 프로세서(23)에 의해, 판독 예약된 메모리 로케이션에 데이터가 기입되어, F/E 비트=1(판독 가/기입 불가)로 설정되었을 때, 미리 판독 예약 정보로서 추가 세그먼트에 기입된 서브 프로세서 ID 및 LS 어드레스에 판독된다.Subsequently, when the data is written to the memory location reserved for reading by the sub-processor 23 on the data writing side, and is set to F / E bit = 1 (read / write impossible), it is added as read reservation information in advance. The subprocessor ID written in the segment and the LS address are read.

복수의 서브 프로세서에 의해 데이터를 다단계로 처리할 필요가 있을 경우, 이와 같이 각 메모리 로케이션의 데이터의 판독/기입을 제어함으로써, 전 단계의 처리를 행하는 서브 프로세서(23)가, 처리완료 데이터를 메인 메모리(26)내의 소정 어드레스에 기입한 후에 곧 바로, 후 단계의 처리를 행하는 별도의 서브 프로세서(23)가 전 처리후의 데이터를 판독하는 것이 가능하게 된다.When data needs to be processed in multiple stages by a plurality of sub-processors, the sub-processor 23 which performs the previous stage of processing by the sub-processor 23 performing the previous stages is controlled by controlling the read / write of the data of each memory location. Immediately after writing to a predetermined address in the memory 26, a separate subprocessor 23 which performs the processing of the next step becomes able to read the data after the previous processing.

도 2b에 나타내는 바와 같이, 각 서브 프로세서(23)내의 LS(24)도, 어드레스 지정 가능한 복수의 메모리 로케이션 0∼L에 의해 구성된다. 각 메모리 로케이션에 대해서는, 마찬가지로 추가 세그먼트 0∼L이 할당된다. 추가 세그먼트는, 비지 비트를 포함하는 것으로 된다.As shown in FIG. 2B, the LS 24 in each subprocessor 23 is also composed of a plurality of addressable memory locations 0 to L. For each memory location, additional segments 0 to L are similarly allocated. The additional segment will contain busy bits.

서브 프로세서(23)가 메인 메모리(26)내의 데이터를 자신의 LS(24)의 메모리 로케이션에 판독할 때에는, 판독처의 메모리 로케이션에 대응하는 비지 비트를 1로 설정하여 예약한다. 비지 비트가 1인 메모리 로케이션에는, 다른 데이터는 저장할 수 없다. LS(24)의 메모리 로케이션에 판독 후, 비지 비트는 0으로 되고, 임의의 목적으로 사용할 수 있게 된다.When the subprocessor 23 reads data in the main memory 26 to the memory location of its LS 24, the busy bit corresponding to the memory location of the read destination is set to 1 and reserved. No other data can be stored in the memory location where the busy bit is one. After reading the memory location of the LS 24, the busy bit becomes zero and can be used for any purpose.

도 2a에 나타내는 바와 같이, 또한 각 정보 처리 컨트롤러와 접속된 메인 메모리(26)에는, 복수의 샌드 박스가 포함된다. 샌드 박스는, 메인 메모리(26)내의 영역을 획정하는 것으로, 각 샌드 박스는, 각 서브 프로세서(23)에 할당되고, 그 서브 프로세서를 배타적으로 사용할 수 있다. 즉, 각각의 서브 프로세서(23)는, 자신에게 할당된 샌드 박스를 사용할 수 있지만, 이 영역을 넘어 데이터의 액세스를 행할 수는 없다.As shown in FIG. 2A, the main memory 26 further connected to each information processing controller includes a plurality of sandboxes. The sandbox defines an area in the main memory 26. Each sandbox is assigned to each subprocessor 23, and the subprocessor can be used exclusively. That is, each subprocessor 23 can use the sandbox assigned to itself, but cannot access data beyond this area.

메인 메모리(26)는, 복수의 메모리 로케이션으로 구성되지만, 샌드 박스는, 이들의 메모리 로케이션의 집합이다. The main memory 26 is composed of a plurality of memory locations, but the sandbox is a collection of these memory locations.

또한, 메인 메모리(26)가 배타적인 제어를 실현하기 위해, 도 2c에 나타내는 바와 같은 키 관리 테이블이 이용된다. 키 관리 테이블은, 정보 처리 컨트롤러내의 SRAM과 같은 비교적 고속의 메모리에 저장되고, DMAC(25)와 관련지어진다.In addition, in order for the main memory 26 to realize exclusive control, a key management table as shown in Fig. 2C is used. The key management table is stored in a relatively high speed memory such as SRAM in the information processing controller and is associated with the DMAC 25.

키 관리 테이블 내에는, 정보 처리 컨트롤러 내의 서브 프로세서의 수와 동수의 엔트리가 존재하고, 각 엔트리에는, 서브 프로세서 ID 및, 그것에 대응하는 서브 프로세서 키 및 키 마스크가 관련지어져서 저장된다.In the key management table, there is an entry equal to the number of subprocessors in the information processing controller, and each entry is stored in association with the subprocessor ID, the subprocessor key and the key mask corresponding thereto.

서브 프로세서(23)가 메인 메모리(26)를 사용할 때의 프로세스는, 이하와 같다. 우선, 서브 프로세서(23)는 DMAC(25)에, 판독 또는 기입의 커맨드를 송신한다. 이 커맨드에는, 자신의 서브 프로세서 ID와, 액세스 요구처인 메인 메모리(26)의 어드레스가 포함된다.The process when the subprocessor 23 uses the main memory 26 is as follows. First, the subprocessor 23 transmits a read or write command to the DMAC 25. This command includes its subprocessor ID and the address of the main memory 26 as the access request destination.

DMAC(25)는, 이 커맨드를 실행하기 전에, 키 관리 테이블을 참조하여, 액세스 요구원의 서브 프로세서(23)의 서브 프로세서 키를 조사한다. 다음으로, DMAC(25)는, 조사한 액세스 요구원의 서브 프로세서 키와, 액세스 요구처인 메인 메모리(26) 내의 도 2a에 나타낸 메모리 로케이션에 할당된 액세스 키를 비교하여, 2개의 키가 일치한 경우에만, 상기의 커맨드를 실행한다.The DMAC 25 checks the subprocessor key of the subprocessor 23 of the access request source by referring to the key management table before executing this command. Next, the DMAC 25 compares the subprocessor key of the examined access request source with the access key assigned to the memory location shown in FIG. 2A in the main memory 26 serving as the access request destination, and the two keys match. Only execute the above command.

도 2c에 나타낸 키 관리 테이블상의 키 마스크는, 그 임의의 비트가 1로 됨에 의해, 그 키 마스크에 관련지어진 서브 프로세서 키의 대응하는 비트가 0 또는 1로 될 수 있다.In the key mask on the key management table shown in Fig. 2C, the arbitrary bit becomes 1, so that the corresponding bit of the subprocessor key associated with the key mask can be 0 or 1.

예를 들면, 서브 프로세서 키가 1010이라고 하자. 통상적으로, 이 서브 프로세서 키에 의해 1010의 액세스 키를 갖는 샌드 박스에의 액세스만이 가능하게 된 다. 그러나, 이 서브 프로세서 키와 관련지어진 키 마스크가 0001로 설정되어 있는 경우에는, 키 마스크의 비트가 1로 설정된 자릿수에 대해서만, 서브 프로세서 키와 액세스 키와의 일치 판정이 마스크되고, 이 서브 프로세서 키 1010에 의해, 액세스 키가 1010 또는 1011 중 어느 하나인 액세스 키를 갖는 샌드 박스에의 액세스가 가능하게 된다.For example, suppose the subprocessor key is 1010. Typically, this subprocessor key only allows access to a sandbox with an access key of 1010. However, when the key mask associated with this subprocessor key is set to 0001, only the number of digits in which the bit of the key mask is set to 1 is matched with the subprocessor key and the access key, and this subprocessor key is masked. The 1010 enables access to a sandbox having an access key whose access key is either 1010 or 1011.

이상과 같이 하여, 메인 메모리(26)의 샌드 박스의 배타성이 실현된다. 즉, 1개의 정보 처리 컨트롤러 내의 복수의 서브 프로세서에 의해 데이터를 다단계로 처리할 필요가 있는 경우, 이상과 같이 구성함으로써, 전 단계의 처리를 행하는 서브 프로세서와, 후 단계의 처리를 행하는 서브 프로세서만이, 메인 메모리(26)의 소정 어드레스에 액세스할 수 있도록 되어, 데이터를 보호할 수 있다.As described above, the exclusivity of the sandbox of the main memory 26 is realized. In other words, when it is necessary to process data in multiple stages by a plurality of subprocessors in one information processing controller, by configuring as described above, only the subprocessor performing the previous stage processing and the subprocessor performing the subsequent stage processing. The predetermined address of the main memory 26 can be accessed, thereby protecting data.

예를 들면, 이하와 같이 사용하는 것이 고려된다. 우선, 정보 처리 장치의 기동 직후에는, 키 마스크의 값은 모두 제로이다. 메인 프로세서 내의 프로그램이 실행되어, 서브 프로세서 내의 서브 프로세서 프로그램과 제휴 동작하는 것으로 한다. 제1 서브 프로세서에 의해 실행된 처리 결과 데이터를 일단, 메인 메모리(26)에 저장하고, 제2 서브 프로세서에 송신하고자 할 때에는, 해당하는 메인 메모리 영역은, 당연히 어느 쪽의 서브 프로세서로부터도 액세스 가능해야 한다. 그와 같은 경우에, 메인 프로세서 내의 프로그램은, 키 마스크의 값을 적절히 변경하여, 복수의 서브 프로세서로부터 액세스할 수 있는 메인 메모리 영역을 마련함으로써, 서브 프로세서에 의한 다단계적인 처리를 가능하게 한다.For example, use as follows is considered. First, immediately after the start of the information processing apparatus, the values of the key masks are all zero. It is assumed that a program in the main processor is executed to cooperate with the subprocessor program in the subprocessor. When the processing result data executed by the first subprocessor is to be stored in the main memory 26 and transmitted to the second sub processor, the corresponding main memory area is naturally accessible from either subprocessor. Should be. In such a case, the program in the main processor appropriately changes the value of the key mask to provide a main memory area accessible from a plurality of subprocessors, thereby enabling multi-step processing by the subprocessor.

보다 구체적으로는, 다른 정보 처리장치로부터의 데이터→제1 서브 프로세서 에 의한 처리→제1 메인 메모리 영역→제2 서브 프로세서에 의한 처리→제2 메인 메모리 영역이라고 하는 순서로 다단계 처리가 행해질 때에는, More specifically, when the multi-step process is performed in the order of data from another information processing apparatus → processing by the first subprocessor → processing by the first sub memory → processing by the second sub processor → second main memory area,

제1 서브 프로세서의 서브 프로세서 키 : 0100, Subprocessor key of the first subprocessor: 0100,

제1 메인 메모리 영역의 액세스 키 : 0100, Access key of the first main memory area: 0100,

제2 서브 프로세서의 서브 프로세서 키 : 0101, Subprocessor key of the second subprocessor: 0101,

제2 메인 메모리 영역의 액세스 키 : 0101, Access key of the second main memory area: 0101,

과 같은 설정대로라면, 제2 서브 프로세서는 제1 메인 메모리 영역에 액세스할 수 없다. 따라서, 제2 서브 프로세서의 키 마스크를 0001로 함으로써, 제2 서브 프로세서에 의한 제1 메인 메모리 영역에의 액세스를 가능하게 할 수 있다.As described above, the second subprocessor cannot access the first main memory area. Therefore, by setting the key mask of the second subprocessor to 0001, it is possible to enable access to the first main memory area by the second subprocessor.

(1-3. 소프트웨어 셀의 생성 및 구성)(1-3. Creating and Configuring Software Cells)

도 1의 네트워크 시스템에서는, 정보 처리 장치(1, 2, 3 및 4) 사이에서의 분산 처리를 위해, 정보 처리 장치(1, 2, 3 및 4) 사이에서 소프트웨어 셀이 전송된다. 즉, 임의의 정보 처리 장치내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(21)는, 커맨드, 프로그램 및 데이터를 포함하는 소프트웨어 셀을 생성하여, 네트워크(9)를 통하여 다른 정보 처리 장치에 송신함으로써, 처리를 분산할 수 있다.In the network system of FIG. 1, software cells are transmitted between the information processing devices 1, 2, 3, and 4 for distributed processing between the information processing devices 1, 2, 3, and 4. That is, the main processor 21 included in the information processing controller in any information processing apparatus generates a software cell containing a command, a program, and data, and transmits the same to another information processing apparatus via the network 9. Can be dispersed.

도 3에, 소프트웨어 셀의 구성의 일례를 나타낸다. 이 예의 소프트웨어 셀은, 전체적으로, 송신원 ID, 송신처 ID, 응답처 ID, 셀 인터페이스, DMA 커맨드, 프로그램, 및 데이터에 의해 구성된다.3 shows an example of the configuration of the software cell. The software cell of this example is entirely composed of a transmission source ID, a transmission destination ID, a response destination ID, a cell interface, a DMA command, a program, and data.

송신원 ID에는, 소프트웨어 셀의 송신원인 정보 처리 장치의 네트워크 어드 레스 및 정보 처리 장치 ID, 또한 그 정보 처리 장치내의 정보 처리 컨트롤러가 구비하는 메인 프로세서(21) 및 각 서브 프로세서(23)의 식별자(메인 프로세서 ID 및 서브 프로세서 ID)가 포함된다.In the transmission source ID, the network address and information processing device ID of the information processing device which is the transmission source of the software cell, and the identifier of the main processor 21 and each subprocessor 23 included in the information processing controller in the information processing device (main Processor ID and subprocessor ID).

송신처 ID 및 응답처 ID에는, 각각 소프트웨어 셀의 송신처인 정보 처리 장치, 및 소프트웨어 셀의 실행 결과의 응답처인 정보 처리 장치에 대한, 동일한 정보가 포함된다.The transmission destination ID and the response destination ID each include the same information about the information processing device that is the destination of the software cell and the information processing device that is the destination of the execution result of the software cell.

셀 인터페이스는, 소프트웨어 셀의 이용에 필요한 정보로서, 글로벌 ID, 필요한 서브 프로세서의 정보, 샌드 박스 사이즈, 및 전회의 소프트웨어 셀 ID로 구성된다.The cell interface is information required for use of the software cell, and is composed of a global ID, information of a necessary subprocessor, a sandbox size, and a previous software cell ID.

글로벌 ID는, 네트워크 전체를 통하여 해당 소프트웨어 셀을 일의적으로 식별할 수 있는 것으로, 송신원 ID, 및 소프트웨어 셀의 작성 또는 송신의 일시(날짜 및 시각)에 기초하여 작성된다.The global ID can uniquely identify the corresponding software cell throughout the network, and is created based on the source ID and the date and time (date and time) of the creation or transmission of the software cell.

필요한 서브 프로세서의 정보는, 해당 소프트웨어 셀의 실행에 필요한 서브 프로세서의 수가 설정된다. 샌드 박스 사이즈는, 해당 소프트웨어 셀의 실행에 필요한 메인 메모리(26)내 및 서브 프로세서(23)의 LS(24)내의 메모리량이 설정된다.The number of subprocessors required is set to the number of subprocessors required for the execution of the software cell. The sandbox size is set in the amount of memory in the main memory 26 and the LS 24 of the subprocessor 23 necessary for the execution of the software cell.

전회의 소프트웨어 셀 ID는, 스트리밍 데이터 등의 순차적인 실행을 요구하는 1 그룹의 소프트웨어 셀 내의, 전회의 소프트웨어 셀의 식별자이다.The last software cell ID is an identifier of the previous software cell in a group of software cells that require sequential execution of streaming data or the like.

소프트웨어 셀의 실행 섹션은, DMA 커맨드, 프로그램 및 데이터로 구성된다. DMA 커맨드에는, 프로그램의 기동에 필요한 일련의 DMA 커맨드가 포함되고, 프로그램에는, 서브 프로세서(23)에 의해 실행되는 서브 프로세서 프로그램이 포함된다. 여기서의 데이터는, 이 서브 프로세서 프로그램을 포함하는 프로그램에 의해 처리되는 데이터이다.The execution section of the software cell is composed of DMA commands, programs and data. The DMA command includes a series of DMA commands necessary for starting the program, and the program includes a subprocessor program executed by the subprocessor 23. Data here is data processed by the program containing this subprocessor program.

또한, DMA 커맨드에는, 로딩 커맨드, 킥 커맨드, 기능 프로그램 실행 커맨드, 스테이터스 요구 커맨드, 및 스테이터스 회신 커맨드가 포함된다.The DMA command also includes a loading command, a kick command, a function program execution command, a status request command, and a status reply command.

로딩 커맨드는, 메인 메모리(26)내의 정보를 서브 프로세서(23)내의 LS(24)에 로딩하는 커맨드이고, 로딩 커맨드 자체 이외에, 메인 메모리 어드레스, 서브 프로세서 ID 및 LS 어드레스를 포함한다. 메인 메모리 어드레스는, 정보의 로딩원인 메인 메모리(26)내의 소정 영역의 어드레스를 나타낸다. 서브 프로세서 ID 및 LS 어드레스는, 정보의 로딩처인 서브 프로세서(23)의 식별자 및 LS(24)의 어드레스를 나타낸다.The loading command is a command for loading information in the main memory 26 into the LS 24 in the subprocessor 23, and includes, in addition to the loading command itself, a main memory address, a subprocessor ID, and an LS address. The main memory address indicates an address of a predetermined area in the main memory 26 which is the source of loading of information. The subprocessor ID and the LS address indicate an identifier of the subprocessor 23 which is the loading destination of the information and the address of the LS 24.

킥 커맨드는, 서브 프로세서 프로그램의 실행을 개시하는 커맨드이고, 킥 커맨드 자체 이외에, 서브 프로세서 ID 및 프로그램 카운터를 포함한다. 서브 프로세서 ID는, 킥 대상의 서브 프로세서(23)를 식별하고, 프로그램 카운터는, 서브 프로세서 프로그램 실행용 프로그램 카운터를 위한 어드레스를 부여한다.The kick command is a command for starting execution of a subprocessor program and includes, in addition to the kick command itself, a subprocessor ID and a program counter. The subprocessor ID identifies the subprocessor 23 to be kicked, and the program counter gives an address for the subprocessor program execution program counter.

기능 프로그램 실행 커맨드는, 후술하는 바와 같이, 임의의 정보 처리 장치가 다른 정보 처리 장치에 대하여, 기능 프로그램의 실행을 요구하는 커맨드이다. 기능 프로그램 실행 커맨드를 수신한 정보 처리 장치내의 정보 처리 컨트롤러는, 후술하는 기능 프로그램 ID에 의해, 기동해야 할 기능 프로그램을 식별한다.The function program execution command is a command for which an arbitrary information processing apparatus requests execution of a function program to another information processing apparatus as described later. The information processing controller in the information processing apparatus that receives the function program execution command identifies the function program to be started by the function program ID described later.

스테이터스 요구 커맨드는, 송신처 ID에서 나타나는 정보 처리 장치의 현재의 동작 상태(상황)에 관한 장치 정보를, 응답처 ID에서 나타나는 정보 처리 장치 에 송신하는 것을 요구하는 커맨드이다. 기능 프로그램에 대해서는 후술하지만, 도 6에 나타내는 정보 처리 장치의 메인 메모리(26)가 기억하는 소프트웨어의 구성도에 있어서 기능 프로그램으로 분류되는 프로그램이다. 기능 프로그램은, 메인 메모리(26)에 로딩되어, 메인 프로세서(21)에 의해 실행된다.The status request command is a command for requesting transmission of device information relating to the current operating state (situation) of the information processing apparatus indicated by the transmission destination ID to the information processing apparatus indicated by the response destination ID. Although a functional program is mentioned later, it is a program classified as a functional program in the block diagram of the software which the main memory 26 of the information processing apparatus shown in FIG. 6 stores. The function program is loaded into the main memory 26 and executed by the main processor 21.

스테이터스 회신 커맨드는, 상기 스테이터스 요구 커맨드를 수신한 정보 처리 장치가, 자신의 장치 정보를 해당 스테이터스 요구 커맨드에 포함되는 응답처 ID에서 나타나는 정보 처리 장치에 응답하는 커맨드이다. 스테이터스 회신 커맨드는, 실행 섹션의 데이터 영역에 장치 정보를 저장한다.The status reply command is a command in which the information processing apparatus that has received the status request command responds to the information processing apparatus whose device information is indicated by the response destination ID included in the status request command. The status reply command stores the device information in the data area of the execution section.

도 4에, DMA 커맨드가 스테이터스 회신 커맨드인 경우의 소프트웨어 셀의 데이터 영역의 구조를 나타낸다.4 shows the structure of the data area of the software cell when the DMA command is a status return command.

정보 처리 장치 ID는, 정보 처리 컨트롤러를 구비하는 정보 처리 장치를 식별하기 위한 식별자이고, 스테이터스 회신 커맨드를 송신하는 정보 처리 장치의 ID를 나타낸다. 정보 처리 장치 ID는, 전원 투입시, 그 정보 처리 장치내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(21)에 의해, 전원 투입시의 일시, 정보 처리 장치의 네트워크 어드레스 및 정보 처리 장치내의 정보 처리 컨트롤러에 포함되는 서브 프로세서(23)의 수 등에 기초하여 생성된다.The information processing apparatus ID is an identifier for identifying the information processing apparatus provided with the information processing controller, and represents the ID of the information processing apparatus which transmits the status reply command. When the power is turned on, the information processing device ID is set by the main processor 21 included in the information processing controller in the information processing device to the network address of the information processing device and the information processing controller in the information processing device. It is generated based on the number of subprocessors 23 included and the like.

정보 처리 장치 종별 ID에는, 해당 정보 처리 장치의 특징을 나타내는 값이 포함된다. 정보 처리 장치의 특징이란, 예를 들면, 후술하는 하드디스크 레코더, PDA(Personal Digital Assistants), 포터블 CD(Compact Disc) 플레이어 등이다. 또한, 정보 처리 장치 종별 ID는, 영상 음성 기록, 영상 음성 재생 등, 정보 처리 장치의 기능을 나타내는 것이어도 무방하다. 정보 처리 장치의 특징이나 기능을 나타내는 값은 미리 결정되어 있는 것으로 하여, 정보 처리 장치 종별 ID를 판독함에 의해, 해당 정보 처리 장치의 특징이나 기능을 파악하는 것이 가능하다.The information processing apparatus type ID includes a value indicating a characteristic of the information processing apparatus. The characteristics of the information processing apparatus are, for example, a hard disk recorder, a PDA (Personal Digital Assistants), a portable CD (Compact Disc) player, and the like described later. In addition, the information processing apparatus type ID may represent the function of an information processing apparatus, such as video audio recording and video audio reproduction. The value indicating the feature or function of the information processing device is determined in advance, and the feature or function of the information processing device can be grasped by reading the information processing device type ID.

MS(마스터/슬레이브) 스테이터스는, 후술하는 바와 같이 정보 처리 장치가 마스터 장치 또는 슬레이브 장치 중 어느 것으로 동작하고 있는가를 나타내는 것으로, 이것이 0으로 설정되어 있는 경우에는 마스터 장치로서 동작하고 있는 것을 나타내고, 1로 설정되어 있는 경우에는 슬레이브 장치로서 동작하고 있는 것을 나타낸다.The MS (master / slave) status indicates whether the information processing device is operating as a master device or a slave device as described later. When this is set to 0, it indicates that it is operating as a master device. If set, this indicates that the device is operating as a slave device.

메인 프로세서 동작 주파수는, 정보 처리 컨트롤러 내의 메인 프로세서(21)의 동작 주파수를 나타낸다. 메인 프로세서 사용율은, 메인 프로세서(21)에 의해 현재 동작하고 있는 모든 프로그램에 대한, 메인 프로세서(21)에서의 사용율을 나타낸다. 메인 프로세서 사용율은, 대상 메인 프로세서의 전체 처리 능력에 대한 사용중의 처리 능력의 비율을 나타낸 값으로, 예를 들면 프로세서 처리 능력 평가를 위한 단위인 MIPS를 단위로서 산출되고, 또는 단위 시간당 프로세서 사용 시간에 기초하여 산출된다. 후술하는 서브 프로세서 사용율에 대해서도 마찬가지다.The main processor operating frequency represents the operating frequency of the main processor 21 in the information processing controller. The main processor utilization rate represents the utilization rate in the main processor 21 for all programs currently operating by the main processor 21. The main processor utilization rate is a value representing the ratio of the processing power in use to the total processing power of the target main processor, and is calculated as a unit, for example, MIPS, which is a unit for evaluating processor processing power, or in processor usage time per unit time. Calculated on the basis of The same applies to the subprocessor utilization rate described later.

서브 프로세서 수는, 해당 정보 처리 컨트롤러가 구비하는 서브 프로세서(23)의 수를 나타낸다. 서브 프로세서 ID는, 해당 정보 처리 컨트롤러 내의 각 서브 프로세서(23)를 식별하기 위한 식별자이다.The number of subprocessors represents the number of subprocessors 23 included in the information processing controller. The subprocessor ID is an identifier for identifying each subprocessor 23 in the information processing controller.

서브 프로세서 스테이터스는, 각 서브 프로세서(23)의 상태를 나타내는 것으로, unused, reserved, busy 등의 상태가 있다. unused는, 해당 서브 프로세서가 현재 사용되고 있지 않고, 사용 예약도 되어 있지 않은 것을 나타낸다. reserved는, 현재는 사용되고 있지 않지만, 사용이 예약되어 있는 상태를 나타낸다. busy는, 현재 사용중인 것을 나타낸다.The subprocessor status indicates the state of each subprocessor 23, and there are states such as unused, reserved, and busy. unused indicates that the subprocessor is not currently being used or reserved for use. reserved indicates a state in which use is reserved although not currently used. busy indicates that it is currently in use.

서브 프로세서 사용율은, 해당 서브 프로세서에 의해 현재 실행하고 있는, 또는 해당 서브 프로세서에 실행이 예약되어 있는 서브 프로세서 프로그램에 대한, 해당 서브 프로세서에서의 사용율을 나타낸다. 즉, 서브 프로세서 사용율은, 서브 프로세서 스테이터스가 busy인 경우에는, 현재의 사용율을 나타내고, 서브 프로세서 스테이터스가 reserved인 경우에는, 나중에 사용될 예정의 추정 사용율을 나타낸다.The subprocessor utilization rate represents the utilization rate in the subprocessor for a subprocessor program currently being executed by the subprocessor or for which execution is reserved for the subprocessor. In other words, the subprocessor utilization rate indicates the current utilization rate when the subprocessor status is busy, and the estimated utilization rate that will be used later when the subprocessor status is reserved.

서브 프로세서 ID, 서브 프로세서 스테이터스 및 서브 프로세서 사용율은, 1개의 서브 프로세서(23)에 대하여 1 세트 설정되고, 1개의 정보 처리 컨트롤러 내의 서브 프로세서(23)의 수의 세트 수만큼 설정된다.The subprocessor ID, the subprocessor status, and the subprocessor usage rate are set one set for one subprocessor 23, and are set by the number of sets of the number of subprocessors 23 in one information processing controller.

메인 메모리 총용량 및 메인 메모리 사용량은, 각각 해당 정보 처리 컨트롤러에 접속되어 있는 메인 메모리(26)의 총 용량 및 현재 사용중인 용량을 나타낸다.The main memory total capacity and the main memory usage amount represent the total capacity of the main memory 26 connected to the information processing controller and the capacity currently being used, respectively.

외부 메모리부 수는, 해당 정보 처리 컨트롤러에 접속되어 있는 외부 메모리부(28)의 수를 나타낸다. 외부 메모리부 ID는, 해당 정보 처리 컨트롤러에 접속되어 있는 외부 메모리부(28)를 일의적으로 식별하는 정보이다. 외부 메모리부 종별 ID는, 해당 외부 메모리부의 종류(예를 들면, 하드디스크, CD±RW, DVD±RW, 메모리 디스크, SRAM, ROM 등)를 나타낸다.The number of external memory sections indicates the number of external memory sections 28 connected to the information processing controller. The external memory unit ID is information for uniquely identifying the external memory unit 28 connected to the information processing controller. The external memory unit type ID indicates the type of the external memory unit (for example, hard disk, CD ± RW, DVD ± RW, memory disk, SRAM, ROM, and the like).

외부 메모리부 총용량 및 외부 메모리부 사용량은, 각각 외부 메모리부 ID에 의해 식별되는 외부 메모리부(28)의 총용량 및 현재 사용중인 용량을 나타낸다.The external memory unit total capacity and the external memory unit usage amount represent the total capacity of the external memory unit 28 identified by the external memory unit ID and the capacity currently being used, respectively.

외부 메모리부 ID, 외부 메모리부 종별 ID, 외부 메모리부 총용량 및 외부 메모리부 사용량은, 1개의 외부 메모리부(28)에 대하여 1 세트 설정되고, 해당 정보 처리 컨트롤러에 접속되어 있는 외부 메모리부(28)의 수의 세트 수만큼 설정된다. 즉, 1개의 정보 처리 컨트롤러에 복수의 외부 메모리부가 접속되어 있는 경우, 각각의 외부 메모리부에는 상이한 외부 메모리부 ID가 할당되고, 외부 메모리부 종별 ID, 외부 메모리부 총용량 및 외부 메모리부 사용량도 따로따로 관리된다.The external memory section ID, the external memory section type ID, the external memory section total capacity, and the external memory section usage are set one set for one external memory section 28, and are connected to the information processing controller. Is set by the number of sets. That is, when a plurality of external memory units are connected to one information processing controller, each external memory unit is assigned a different external memory unit ID, and the external memory unit type ID, external memory unit total capacity, and external memory unit usage are also separately. Managed separately.

(1-4. 소프트웨어 셀의 실행)(1-4. Execution of the software cell)

임의의 정보 처리 장치내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(21)는, 이상과 같은 구성의 소프트웨어 셀을 생성하여, 네트워크(9)를 통하여 다른 정보 처리 장치 및 해당 장치내의 정보 처리 컨트롤러에 송신한다. 송신원의 정보 처리 장치, 송신처의 정보 처리 장치, 응답처의 정보 처리 장치, 및 각 장치내의 정보 처리 컨트롤러는, 각각 상기의 송신원 ID, 송신처 ID 및 응답처 ID에 의해 식별된다.The main processor 21 included in the information processing controller in the arbitrary information processing apparatus generates a software cell having the above-described configuration and transmits it to the other information processing apparatus and the information processing controller in the apparatus via the network 9. . The information processing apparatus of a transmission source, the information processing apparatus of a transmission destination, the information processing apparatus of a response destination, and the information processing controller in each apparatus are respectively identified by the said transmission source ID, a transmission destination ID, and a response destination ID.

소프트웨어 셀을 수신한 정보 처리 장치내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(21)는, 그 소프트웨어 셀을 메인 메모리(26)에 저장한다. 또한, 송신처의 메인 프로세서(21)는, 소프트웨어 셀을 판독하여, 그것에 포함되는 DMA 커맨드를 처리한다.The main processor 21 included in the information processing controller in the information processing apparatus that has received the software cell stores the software cell in the main memory 26. The main processor 21 of the transmission destination reads the software cell and processes the DMA commands included therein.

구체적으로, 송신처의 메인 프로세서(21)는, 우선 로딩 커맨드를 실행한다. 이에 의해, 로딩 커맨드에 의해 지시된 메인 메모리 어드레스로부터, 로딩 커맨드에 포함되는 서브 프로세서 ID 및 LS 어드레스에 의해 특정되는 서브 프로세서내의 LS(24)의 소정 영역에, 정보가 로딩된다. 여기서 로딩되는 정보는, 수신한 소프트웨어 셀에 포함되는 서브 프로세서 프로그램 또는 데이터, 또는 그 밖의 지시된 데이터이다.Specifically, the main processor 21 of the transmission destination first executes a loading command. As a result, information is loaded from the main memory address indicated by the loading command to a predetermined region of the LS 24 in the subprocessor specified by the subprocessor ID and the LS address included in the loading command. The information loaded here is a subprocessor program or data included in the received software cell, or other indicated data.

다음으로, 메인 프로세서(21)는, 킥 커맨드를, 이것에 포함되는 서브 프로세서 ID에 의해 지시된 서브 프로세서에, 마찬가지로 킥 커맨드에 포함되는 프로그램 카운터와 더불어 송신한다.Next, the main processor 21 transmits the kick command to the subprocessor indicated by the subprocessor ID included therein, together with the program counter included in the kick command.

지시된 서브 프로세서는, 그 킥 커맨드 및 프로그램 카운터에 따라서, 서브 프로세서 프로그램을 실행한다. 그리고, 실행 결과를 메인 메모리(26)에 저장한 후, 실행을 완료한 것을 메인 프로세서(21)에 통지한다.The indicated subprocessor executes the subprocessor program in accordance with the kick command and the program counter. After the execution result is stored in the main memory 26, the main processor 21 is notified that the execution is completed.

또한, 송신처의 정보 처리 장치내의 정보 처리 컨트롤러에 있어서 소프트웨어 셀을 실행하는 프로세서는 서브 프로세서(23)에 한정되는 것은 아니고, 메인 프로세서(21)가 소프트웨어 셀에 포함되는 기능 프로그램 등의 메인 메모리용 프로그램을 실행하도록 지정하는 것도 가능하다.In addition, the processor which executes a software cell in the information processing controller in the information processing apparatus of a transmission destination is not limited to the subprocessor 23, The main memory program, such as a function program which the main processor 21 contains in a software cell, It is also possible to specify to run.

이 경우에는, 송신원의 정보 처리 장치는, 송신처의 정보 처리 장치에, 서브 프로세서 프로그램 대신에, 메인 메모리용 프로그램 및 그 메인 메모리용 프로그램에 의해 처리되는 데이터를 포함하고, DMA 커맨드가 로딩 커맨드인 소프트웨어 셀을 송신하여, 메인 메모리(26)에 메인 메모리용 프로그램 및 그것에 의해 처리되는 데이터를 기억시킨다.In this case, the information processing apparatus of the transmission source includes, in the information processing apparatus of the transmission destination, a main memory program and data processed by the main memory program instead of the subprocessor program, and the DMA command is a loading command. The cell is transmitted so that the main memory 26 stores the main memory program and the data processed by it.

다음으로, 송신원의 정보 처리 장치는, 송신처의 정보 처리 장치에, 송신처의 정보 처리 장치내의 정보 처리 컨트롤러에 대한 메인 프로세서 ID, 메인 메모리 어드레스, 메인 메모리용 프로그램을 식별하기 위한 후술하는 기능 프로그램 ID 등의 식별자, 및 프로그램 카운터를 포함하고, DMA 커맨드가 킥 커맨드 또는 기능 프로그램 실행 커맨드인 소프트웨어 셀을 송신하여, 메인 프로세서(21)에 해당 메인 메모리용 프로그램을 실행시킨다.Subsequently, the information processing apparatus of the transmission source, to the information processing apparatus of the transmission destination, a main processor ID for the information processing controller in the information processing apparatus of the transmission destination, a main memory address, a function program ID to be described later for identifying a program for the main memory, and the like And a program counter, the DMA command transmits a software cell which is a kick command or a function program execution command, and causes the main processor 21 to execute the main memory program.

이상과 같이, 본 발명의 네트워크 시스템에서는, 송신원의 정보 처리 장치는, 서브 프로세서 프로그램 또는 메인 메모리용 프로그램을 소프트웨어 셀에 의해 송신처의 정보 처리 장치에 송신함과 더불어, 해당 서브 프로세서 프로그램을 송신처의 정보 처리 장치내의 정보 처리 컨트롤러에 포함되는 서브 프로세서(23)에 로딩시켜, 해당 서브 프로세서 프로그램 또는 해당 메인 메모리용 프로그램을 송신처의 정보 처리 장치에 실행시킬 수 있다.As described above, in the network system of the present invention, the information processing apparatus of the transmission source transmits the subprocessor program or the main memory program to the information processing apparatus of the transmission destination by the software cell, and transmits the subprocessor program information of the transmission destination. The subprocessor 23 included in the information processing controller in the processing apparatus can be loaded, and the subprocessor program or the main memory program can be executed by the information processing apparatus of the transmission destination.

송신처의 정보 처리 장치내의 정보 처리 컨트롤러에서는, 수신한 소프트웨어 셀에 포함되는 프로그램이 서브 프로세서 프로그램인 경우에는, 해당 서브 프로세서 프로그램을 지정된 서브 프로세서에 로딩시킨다. 그리고, 소프트웨어 셀에 포함되는 서브 프로세서 프로그램 또는 메인 메모리용 프로그램을 실행시킨다.In the information processing controller in the information processing apparatus of the transmission destination, when the program included in the received software cell is a subprocessor program, the subprocessor program is loaded into the designated subprocessor. Then, the subprocessor program or the main memory program included in the software cell is executed.

따라서, 사용자가 송신처의 정보 처리 장치를 조작하지 않더라도 자동적으로, 해당 서브 프로세서 프로그램 또는 해당 메인 메모리용 프로그램을 송신처의 정보 처리 장치내의 정보 처리 컨트롤러에 실행시킬 수 있다.Therefore, even if the user does not operate the information processing apparatus of the transmission destination, the subprocessor program or the main memory program can be automatically executed by the information processing controller in the information processing apparatus of the transmission destination.

이와 같이 하여 정보 처리 장치는, 자(自) 장치내의 정보 처리 컨트롤러가 서브 프로세서 프로그램 또는 기능 프로그램 등의 메인 메모리용 프로그램을 갖고 있지 않는 경우에는, 네트워크에 접속된 다른 정보 처리 장치로부터 이들을 취득할 수 있다. 또한, 각 서브 프로세서와 메인 메모리 사이에서는 DMA 방식에 의해 데이터가 전송되고, 또한 전술한 샌드 박스를 사용함으로써, 1개의 정보 처리 컨트롤러 내에서 데이터를 다단계로 처리할 필요가 있는 경우에도, 고속 그리고 높은 시큐러티로 처리를 실행할 수 있다.In this way, when the information processing controller in the own apparatus does not have a main memory program such as a subprocessor program or a function program, the information processing apparatus can acquire them from another information processing apparatus connected to the network. have. In addition, data is transmitted between the subprocessors and the main memory by the DMA method, and by using the above-described sandbox, even if it is necessary to process data in multiple stages in one information processing controller, Security can be performed.

[2. 네트워크 시스템으로서의 분산 처리 파트 : 1][2. Distributed Processing Part as Network System: 1]

소프트웨어 셀의 사용에 의한 분산 처리의 결과, 도 5의 상단에 나타내는 바와 같이 네트워크(9)에 접속되어 있는 복수의 정보 처리 장치(1, 2, 3 및 4)는, 도 5의 하단에 나타내는 바와 같이, 가상적인 1대의 정보 처리 장치(7)로서 동작한다. 단, 그를 위해서는, 이하와 같은 구성에 의해, 이하와 같은 처리가 실행될 필요가 있다.As a result of the distributed processing by using the software cell, as shown in the upper end of FIG. 5, the plurality of information processing apparatuses 1, 2, 3, and 4 connected to the network 9 are shown in the lower end of FIG. 5. Similarly, it operates as one virtual information processing apparatus 7. However, for that purpose, the following processes need to be performed with the following structures.

(2-1. 시스템의 소프트웨어 구성과 프로그램의 로딩)(2-1.System Configuration and Program Loading)

도 6에, 개개의 정보 처리 컨트롤러의 메인 메모리(26)가 기억하는 소프트웨어의 구성을 나타낸다. 이들의 소프트웨어(프로그램)는, 정보 처리 장치에 전원이 투입되기 전에는, 해당 정보 처리 컨트롤러에 접속되는 외부 메모리부(28)에 기록되어 있는 것이다.6 shows a configuration of software stored in the main memory 26 of each information processing controller. These software (programs) are recorded in the external memory unit 28 connected to the information processing controller before power is supplied to the information processing apparatus.

각 프로그램은, 기능 또는 특징에 의해, 제어 프로그램, 기능 프로그램 및 디바이스 드라이버로 분류된다.Each program is classified into a control program, a function program, and a device driver by a function or a feature.

제어 프로그램은, 각 정보 처리 컨트롤러가 동일한 것을 구비하고, 각 정보 처리 컨트롤러의 메인 프로세서(21)가 실행하는 것으로, 후술하는 MS(마스터/슬레이브) 매니저 및 능력 교환 프로그램을 포함한다.The control program is provided with the same information processing controllers, and is executed by the main processor 21 of each information processing controller, and includes an MS (master / slave) manager and a capability exchange program described later.

기능 프로그램은, 메인 프로세서(21)가 실행하는 것으로, 기록용, 재생용, 소재 검색용 등, 정보 처리 컨트롤러마다 정보 처리 장치에 대응한 것이 구비된다.The function program is executed by the main processor 21, and the one corresponding to the information processing apparatus is provided for each information processing controller, such as for recording, reproducing, and material searching.

디바이스 드라이버는, 정보 처리 컨트롤러(정보 처리 장치)의 입출력(송수신)용으로, 방송 수신, 모니터 출력, 비트 스트림 입출력, 네트워크 입출력 등, 정보 처리 컨트롤러마다 정보 처리 장치에 대응한 것이 구비된다.The device driver is provided for the input / output (transmission / reception) of the information processing controller (information processing apparatus) and corresponds to the information processing apparatus for each information processing controller such as broadcast reception, monitor output, bit stream input / output, network input / output, and the like.

케이블의 삽입 등에 의해 정보 처리 장치가 물리적으로 네트워크(9)에 접속된 상태로, 정보 처리 장치에 주 전원이 투입되어, 정보 처리 장치가 전기적·기능적으로도 네트워크(9)에 접속되면, 그 정보 처리 장치의 정보 처리 컨트롤러의 메인 프로세서(21)는, 제어 프로그램에 속하는 각 프로그램, 및 디바이스 드라이버에 속하는 각 프로그램을, 메인 메모리(26)에 로딩한다.When the information processing device is physically connected to the network 9 by the insertion of a cable or the like, the main power is supplied to the information processing device, and the information processing device is electrically and functionally connected to the network 9. The main processor 21 of the information processing controller of the processing apparatus loads each program belonging to the control program and each program belonging to the device driver into the main memory 26.

로딩 순서로서는, 메인 프로세서(21)는, 우선 DC(27)에 판독 명령을 실행시킴으로써, 외부 메모리부(28)로부터 프로그램을 판독하고, 다음으로, DMAC(25)에 기입 명령을 실행시킴으로써, 그 프로그램을 메인 메모리(26)에 기입한다.As the loading order, the main processor 21 first executes a read command to the DC 27 to read a program from the external memory unit 28 and then executes a write command to the DMAC 25. The program is written to the main memory 26.

기능 프로그램에 속하는 각 프로그램에 대해서는, 필요할 때에 필요한 프로그램만을 로딩하도록 구성해도 무방하고, 또는 다른 카테고리에 속하는 프로그램과 마찬가지로, 주 전원 투입 직후에 각 프로그램을 로딩하도록 구성해도 무방하다.Each program belonging to the functional program may be configured to load only necessary programs when necessary, or similarly to programs belonging to other categories, each program may be loaded immediately after the main power is turned on.

기능 프로그램에 속하는 각 프로그램은, 네트워크에 접속된 모든 정보 처리 장치의 외부 메모리부(28)에 기록되어 있을 필요는 없고, 어느 하나의 정보 처리 장치의 외부 메모리부(28)에 기록되어 있으면, 전술한 방법에 의해 다른 정보 처리 장치로부터 로딩할 수 있으므로, 결과적으로 도 5의 하단에 나타내는 바와 같이, 가상적인 1대의 정보 처리 장치(7)로서 기능 프로그램을 실행할 수 있다.Each program belonging to the functional program does not need to be recorded in the external memory unit 28 of all the information processing apparatuses connected to the network, and if it is recorded in the external memory unit 28 of any one of the information processing apparatuses, Since it can be loaded from another information processing apparatus by one method, as a result, as shown at the bottom of FIG. 5, a functional program can be executed as one virtual information processing apparatus 7.

또한, 전술한 바와 같이, 메인 프로세서(21)에 의해 처리되는 기능 프로그램은, 서브 프로세서(23)에 의해 처리되는 서브 프로세서 프로그램과 제휴 동작하는 경우가 있다. 따라서, 메인 프로세서(21)가 외부 메모리부(28)로부터 기능 프로그램을 판독하여, 메인 메모리(26)에 기입할 때, 대상으로 되는 기능 프로그램과 제휴 동작하는 서브 프로세서 프로그램이 존재하는 경우에는, 해당 서브 프로세서 프로그램도 함께 동일한 메인 메모리(26)에 기입한다. 이 경우, 제휴 동작하는 서브 프로세서 프로그램은, 1개인 경우도 있지만, 복수개인 것도 있을 수 있다. 복수개인 경우에는, 모든 제휴 동작하는 서브 프로세서 프로그램을 메인 메모리(26)에 기입한다.In addition, as described above, the functional program processed by the main processor 21 may cooperate with the subprocessor program processed by the subprocessor 23 in some cases. Therefore, when the main processor 21 reads the function program from the external memory unit 28 and writes it to the main memory 26, when there is a subprocessor program which cooperates with the target function program, The subprocessor program is also written in the same main memory 26. In this case, although there may be one subprocessor program which cooperates, there may exist several. In the case of plural numbers, all the subprocessor programs which operate in association are written into the main memory 26.

메인 메모리(26)에 기입된 서브 프로세서 프로그램은, 그 후, 서브 프로세서(23)내의 LS(24)에 기입되고, 메인 프로세서(21)에 의해 처리되는 기능 프로그램과 제휴 동작한다.The subprocessor program written in the main memory 26 is then written into the LS 24 in the subprocessor 23 and cooperatively operates with the function program processed by the main processor 21.

도 3의 소프트웨어 셀에 도시한 바와 같이, 기능 프로그램에는, 프로그램마다 프로그램을 일의적으로 식별할 수 있는 식별자가, 기능 프로그램 ID로서 할당된다. 기능 프로그램 ID는, 기능 프로그램의 작성 단계에서, 작성 일시나 정보 처리 장치 ID 등으로부터 결정된다.As shown in the software cell of Fig. 3, an identifier capable of uniquely identifying a program for each program is assigned to the functional program as the functional program ID. The function program ID is determined from the creation date, the information processing apparatus ID, and the like in the step of creating the function program.

서브 프로세서 프로그램에도 서브 프로세서 프로그램 ID가 할당되고, 이에 의해 서브 프로세서 프로그램을 일의적으로 식별 가능하다. 할당되는 서브 프로세서 프로그램 ID는, 제휴 동작의 상대로 되는 기능 프로그램의 기능 프로그램 ID와 관련성이 있는 식별자, 예를 들면 기능 프로그램 ID를 페어런트 번호로 한 후에 마지막 끝부분에 브랜치 번호를 부가시킨 식별자이어도 무방하지만, 제휴 동작의 상대로 되는 기능 프로그램의 기능 프로그램 ID와는 관련성이 없는 식별자이어도 무방하다.The subprocessor program ID is also assigned to the subprocessor program, whereby the subprocessor program can be uniquely identified. The subprocessor program ID to be allocated may be an identifier associated with the function program ID of the function program to be associated with the cooperative operation, for example, the function program ID is the parent number and the branch number is added at the end. For example, the identifier may be irrelevant to the function program ID of the function program that is the partnering operation.

어느 쪽이든, 기능 프로그램과 서브 프로세서 프로그램이 제휴 동작하는 경우에는, 양자 모두 상대의 식별자인 프로그램 ID를 자(自) 프로그램내에 기억해 둘 필요가 있다. 기능 프로그램이 복수개의 서브 프로세서 프로그램과 제휴 동작하는 경우에도, 해당 기능 프로그램은, 그 복수개의 서브 프로세서 프로그램의 서브 프로세서 프로그램 ID를 모두 기억해 둔다.In either case, when the functional program and the subprocessor program cooperate with each other, it is necessary to store the program ID, which is the identifier of the counterpart, in the own program. Even when a function program cooperates with a plurality of subprocessor programs, the function program stores all the subprocessor program IDs of the plurality of subprocessor programs.

메인 프로세서(21)는, 자신이 동작하는 정보 처리 장치의 장치 정보(동작 상태에 관한 정보)를 저장하기 위한 영역을 메인 메모리(26)에 확보하고, 해당 정보를 자 장치의 장치 정보 테이블로서 기록한다. 여기서의 장치 정보는, 도 4에 나타낸 정보 처리 장치 ID 이하의 각 정보이다.The main processor 21 secures an area in the main memory 26 for storing device information (information on the operating state) of the information processing apparatus in which the main processor 21 operates, and records the information as the device information table of the own apparatus. do. The device information here is each information below the information processing device ID shown in FIG.

(2-2. 시스템에 있어서의 마스터/슬레이브의 결정)(2-2. Determination of Master / Slave in the System)

전술한 네트워크 시스템에서는, 임의의 정보 처리 장치에의 주 전원 투입시, 그 정보 처리 장치의 정보 처리 컨트롤러의 메인 프로세서(21)는, 마스터/슬레이브 매니저(이하, MS 매니저)를 메인 메모리(26)에 로딩하여, 실행한다.In the above-described network system, when the main power is supplied to any information processing apparatus, the main processor 21 of the information processing controller of the information processing apparatus supplies a master / slave manager (hereinafter referred to as MS manager) to the main memory 26. Load in and run

MS 매니저는, 자신이 동작하는 정보 처리 장치가 네트워크(9)에 접속되어 있 는 것을 검지하면, 동일한 네트워크(9)에 접속되어 있는 다른 정보 처리 장치의 존재를 확인한다. 여기서의 “접속” 또는 “존재”는, 전술한 바와 같이, 정보 처리 장치가 물리적으로 네트워크(9)에 접속되어 있을 뿐만 아니라, 전기적·기능적으로도 네트워크(9)에 접속되어 있는 것을 나타낸다.When the MS manager detects that the information processing apparatus on which it operates is connected to the network 9, the MS manager confirms the existence of another information processing apparatus connected to the same network 9. Here, "connection" or "existence" indicates that the information processing apparatus is not only physically connected to the network 9 but also electrically and functionally connected to the network 9 as described above.

이하에서는, 자신이 동작하는 정보 처리 장치를 자 장치, 다른 정보 처리 장치를 타 장치라고 칭한다. 해당 장치도, 해당 정보 처리 장치를 나타내는 것으로 한다.In the following, the information processing apparatus on which it operates is called a child apparatus, and another information processing apparatus is called another apparatus. The device also refers to the information processing device.

MS 매니저가 동일한 네트워크(9)에 접속되어 있는 다른 정보 처리 장치의 존재를 확인하는 방법을, 이하에 나타낸다.The method by which the MS manager confirms the existence of another information processing apparatus connected to the same network 9 is shown below.

MS 매니저는, DMA 커맨드가 스테이터스 요구 커맨드이고, 송신원 ID 및 응답처 ID가 해당 정보 처리 장치에서, 송신처 ID를 특정하지 않는 소프트웨어 셀을 생성하여, 해당 정보 처리 장치가 접속된 네트워크상에 송신하여, 네트워크 접속 확인용의 타이머를 설정한다. 타이머의 타임아웃 시간은, 예를 들면 10분으로 된다.The MS manager generates a software cell in which the DMA command is a status request command, the sender ID and the destination ID are not specified in the information processing apparatus, and does not specify the sender ID, and transmits it on the network to which the information processing apparatus is connected. Set the timer for checking network connection. The timeout time of the timer is, for example, 10 minutes.

해당 네트워크 시스템상에 다른 정보 처리 장치가 접속되어 있는 경우, 기타 장치는, 상기 스테이터스 요구 커맨드의 소프트웨어 셀을 수신하고, 상기 응답처 ID에서 특정되는 스테이터스 요구 커맨드를 발행한 정보 처리 장치에 대하여, DMA 커맨드가 스테이터스 회신 커맨드이고, 또한 데이터로서 자신(기타 장치)의 장치 정보를 포함하는 소프트웨어 셀을 송신한다. 이 스테이터스 회신 커맨드의 소프트웨어 셀에는, 적어도 해당 타 장치를 특정하는 정보(정보 처리 장치 ID, 메인 프로세서에 관한 정보, 서브 프로세서에 관한 정보 등) 및 해당 다른 장치의 MS 스테이 터스가 포함된다.When another information processing apparatus is connected on the network system, the other apparatus receives a software cell of the status request command and issues a DMA to the information processing apparatus that issues a status request command specified by the response destination ID. The command is a status reply command and transmits a software cell containing device information of itself (other device) as data. The software cell of the status reply command includes at least information (information processing device ID, information on the main processor, information on the subprocessor, etc.) identifying the other device, and the MS status of the other device.

스테이터스 요구 커맨드를 발행한 정보 처리 장치의 MS 매니저는, 상기 네트워크 접속 확인용 타이머가 타임 아웃될 때까지, 해당 네트워크 상의 타 장치로부터 송신되는 스테이터스 회신 커맨드의 소프트웨어 셀의 수신을 감시한다. 그 결과, MS 스테이터스=0(마스터 장치)을 나타내는 스테이터스 회신 커맨드가 수신된 경우에는, 자 장치의 장치 정보 테이블에 있어서의 MS 스테이터스를 1로 설정한다. 이에 의해, 해당 장치는 슬레이브 장치로 된다.The MS manager of the information processing device which issued the status request command monitors the reception of the software cell of the status reply command sent from another device on the network until the network connection confirmation timer times out. As a result, when a status reply command indicating MS status = 0 (master device) is received, the MS status in the device information table of the own device is set to one. As a result, the device becomes a slave device.

한편, 상기 네트워크 접속 확인용 타이머가 타임 아웃될 때까지의 동안에 스테이터스 회신 커맨드가 전혀 수신되지 않은 경우, 또는 MS 스테이터스=0(마스터 장치)을 나타내는 스테이터스 회신 커맨드가 수신되지 않은 경우에는, 자 장치의 장치 정보 테이블에 있어서의 MS 스테이터스를 0으로 설정한다. 이에 의해, 해당 장치는 마스터 장치로 된다.On the other hand, when the status reply command is not received at all until the network connection confirmation timer is timed out, or when the status reply command indicating MS status = 0 (master device) is not received, The MS status in the device information table is set to zero. As a result, the device becomes a master device.

즉, 어느 장치도 네트워크(9)에 접속되어 있지 않은 상태, 또는 네트워크(9)상에 마스터 장치가 존재하지 않은 상태에서, 새로운 정보 처리 장치가 네트워크(9)에 접속되면, 해당 장치는 자동적으로 마스터 장치로서 설정된다. 한편, 네트워크(9)상에 이미 마스터 장치가 존재하는 상태에서, 새로운 정보 처리 장치가 네트워크(9)에 접속되면, 해당 장치는 자동적으로 슬레이브 장치로서 설정된다.In other words, when no device is connected to the network 9 or no master device is present on the network 9, when a new information processing device is connected to the network 9, the device is automatically connected. It is set as a master device. On the other hand, when a new information processing apparatus is connected to the network 9 in a state where a master apparatus already exists on the network 9, the apparatus is automatically set as a slave apparatus.

마스터 장치 및 슬레이브 장치 중 어디 것에 대해서도, MS 매니저는, 정기적으로 스테이터스 요구 커맨드를 네트워크(9)상의 타 장치에 송신하여 스테이터스 정보를 조회함으로써, 타 장치의 상황을 감시한다. 그 결과, 네트워크(9)에 접속 되어 있는 정보 처리 장치의 주 전원이 차단되고, 또는 네트워크(9)로부터 정보 처리 장치가 분리됨으로써, 미리 판정용으로 설정된 소정 기간내에 특정한 타 장치로부터 스테이터스 회신 커맨드가 회신되지 않은 경우나, 네트워크(9)에 새로운 정보 처리 장치가 접속된 경우 등, 네트워크(9)의 접속 상태에 변화가 있었던 경우에는, 그 정보를 후술하는 능력 교환 프로그램에 통지한다.In either of the master device and the slave device, the MS manager periodically monitors the status of other devices by sending status request commands to other devices on the network 9 to inquire the status information. As a result, the main power supply of the information processing device connected to the network 9 is cut off, or the information processing device is disconnected from the network 9, so that a status reply command is issued from a specific other device within a predetermined period set for determination in advance. When there is a change in the connection state of the network 9, such as when no reply is made or when a new information processing device is connected to the network 9, the information exchange program is notified of the information.

(2-3. 마스터 장치 및 슬레이브 장치에 있어서의 장치 데이터의 취득)(2-3. Acquisition of Device Data in Master Device and Slave Device)

메인 프로세서(21)는, MS 매니저로부터, 네트워크(9)상의 타 장치의 조회 및 자 장치의 MS 스테이터스의 설정 완료의 통지를 받으면, 능력 교환 프로그램을 실행한다.The main processor 21 executes the capability exchange program when the MS manager receives notification of the inquiry of other devices on the network 9 and the completion of setting of the MS status of the own device.

능력 교환 프로그램은, 자 장치가 마스터 장치인 경우에는, 네트워크(9)에 접속되어 있는 모든 타 장치의 장치 정보, 즉 각 슬레이브 장치의 장치 정보를 취득한다.When the own device is the master device, the capability exchange program acquires device information of all other devices connected to the network 9, that is, device information of each slave device.

타 장치의 장치 정보의 취득은, 전술한 바와 같이, DMA 커맨드가 스테이터스 요구 커맨드인 소프트웨어 셀을 생성하여 타 장치에 송신하고, 그 후, DMA 커맨드가 스테이터스 회신 커맨드이고, 또한 데이터로서 타 장치의 장치 정보를 포함하는 소프트웨어 셀을 타 장치로부터 수신함으로써 가능하다.Acquiring the device information of the other device, as described above, generates a software cell whose DMA command is a status request command and transmits it to the other device, after which the DMA command is a status reply command and the device of the other device as data. It is possible by receiving a software cell containing information from another device.

능력 교환 프로그램은, 마스터 장치인 자 장치의 장치 정보 테이블과 마찬가지로, 네트워크(9)에 접속되어 있는 모든 타 장치(각 슬레이브 장치)의 장치 정보를 저장하기 위한 영역을 자 장치의 메인 메모리(26)에 확보하여, 이들 정보를 타 장치(슬레이브 장치)의 장치 정보 테이블로서 기록한다.Similar to the device information table of the child device which is the master device, the capability exchange program has an area for storing device information of all other devices (each slave device) connected to the network 9, and the main memory 26 of the child device. Is secured to the device information table as a device information table of another device (slave device).

즉, 마스터 장치의 메인 메모리(26)에는, 자 장치를 포함하는 네트워크(9)에 접속되어 있는 모든 정보 처리 장치의 장치 정보가, 장치 정보 테이블로서 기록된다.That is, in the main memory 26 of the master device, device information of all information processing devices connected to the network 9 including the child device is recorded as the device information table.

한편, 능력 교환 프로그램은, 자 장치가 슬레이브 장치인 경우에는, 네트워크(9)에 접속되어 있는 모든 타 장치의 장치 정보, 즉 마스터 장치 및 자 장치 이외의 각 슬레이브 장치의 장치 정보를 취득하여, 이들 장치 정보에 포함되는 정보 처리 장치 ID 및 MS 스테이터스를, 자 장치의 메인 메모리(26)에 기록한다.On the other hand, when the child device is a slave device, the capability exchange program acquires device information of all other devices connected to the network 9, that is, device information of each slave device other than the master device and the child device. The information processing device ID and the MS status contained in the device information are recorded in the main memory 26 of the own device.

즉, 슬레이브 장치의 메인 메모리(26)에는, 자 장치의 장치 정보가, 장치 정보 테이블로서 기록됨과 더불어, 자 장치 이외의 네트워크(9)에 접속되어 있는 마스터 장치 및 각 슬레이브 장치에 대한 정보 처리 장치 ID 및 MS 스테이터스가, 별도의 장치 정보 테이블로서 기록된다.That is, in the main memory 26 of the slave device, the device information of the child device is recorded as a device information table, and the master device and the information processing device for each slave device connected to the network 9 other than the child device. The ID and MS status are recorded as separate device information tables.

또한, 마스터 장치 및 슬레이브 장치 중 어느 것에 대해서도, 능력 교환 프로그램은, 상기한 바와 같이 MS 매니저로부터, 새롭게 네트워크(9)에 정보 처리 장치가 접속된 것이 통지되었을 때에는, 그 정보 처리 장치의 장치 정보를 취득하여, 전술한 바와 같이 메인 메모리(26)에 기록한다.In addition, in either of the master device and the slave device, the capability exchange program receives the device information of the information processing device when it is notified from the MS manager that the information processing device is newly connected to the network 9 as described above. Acquired and recorded in the main memory 26 as described above.

또한, MS 매니저 및 능력 교환 프로그램은, 메인 프로세서(21)에 의해 실행되는 것에 한정되지 않고, 어느 서브 프로세서(23)에 의해 실행되어도 무방하다. 또한, MS 매니저 및 능력 교환 프로그램은, 정보 처리 장치의 주 전원이 투입되어 있는 동안은 항상 동작하는 상주 프로그램인 것이 바람직하다.The MS manager and the capability exchange program are not limited to being executed by the main processor 21 but may be executed by any subprocessor 23. The MS manager and the capability exchange program are preferably resident programs that always operate while the main power supply of the information processing apparatus is turned on.

(2-4. 정보 처리 장치가 네트워크로부터 절단된 경우)(2-4. When the information processing device is cut off from the network)

마스터 장치 및 슬레이브 장치 중 어디 것에 대해서도, 능력 교환 프로그램은, 상기한 바와 같이 MS 매니저로부터, 네트워크(9)에 접속되어 있는 정보 처리 장치의 주 전원이 차단되고, 또는 네트워크(9)로부터 정보 처리 장치가 분리된 것이 통지되었을 때에는, 그 정보 처리 장치의 장치 정보 테이블을 자 장치의 메인 메모리(26)로부터 삭제한다.In either of the master device and the slave device, the capability exchange program, as described above, the main power supply of the information processing device connected to the network 9 is cut off from the MS manager, or the information processing device from the network 9. When it is notified that is separated, the device information table of the information processing device is deleted from the main memory 26 of the child device.

또한, 이와 같이 네트워크(9)로부터 절단된 정보 처리 장치가 마스터 장치인 경우에는, 이하와 같은 방법에 의해, 새롭게 마스터 장치가 결정된다.In addition, when the information processing apparatus cut | disconnected from the network 9 is a master apparatus, a master apparatus is newly determined by the following method.

구체적으로, 예를 들면, 네트워크(9)로부터 절단되어 있지 않은 정보 처리 장치는, 각각 자 장치 및 타 장치의 정보 처리 장치 ID를 수치로 치환하여, 자 장치의 정보 처리 장치 ID를 타 장치의 정보 처리 장치 ID와 비교하여, 자 장치의 정보 처리 장치 ID가 네트워크(9)로부터 절단되어 있지 않은 정보 처리 장중에서 최소인 경우, 그 슬레이브 장치는, 마스터 장치로 이행하여, MS 스테이터스를 0으로 설정하고, 마스터 장치로서, 전술한 바와 같이, 네트워크(9)에 접속되어 있는 모든 타 장치(각 슬레이브 장치)의 장치 정보를 취득하여, 메인 메모리(26)에 기록한다.Specifically, for example, the information processing apparatus not disconnected from the network 9 replaces the information processing apparatus IDs of the own apparatus and the other apparatus with numerical values, respectively, and replaces the information processing apparatus ID of the own apparatus with the information of the other apparatus. Compared with the processing device ID, when the information processing device ID of the own device is the minimum among the information processing fields not cut off from the network 9, the slave device moves to the master device and sets the MS status to 0. As the master device, as described above, device information of all other devices (each slave device) connected to the network 9 is acquired and recorded in the main memory 26.

(2-5. 장치 정보에 기초한 분산 처리)(2-5. Distributed Processing Based on Device Information)

도 5의 하단에 나타낸 바와 같이 네트워크(9)에 접속되어 있는 복수의 정보 처리 장치(1, 2, 3 및 4)를 가상적인 1대의 정보 처리 장치(7)로서 동작시키기 위해서는, 마스터 장치가 사용자의 조작 및 슬레이브 장치의 동작 상태를 파악할 필요가 있다.As shown in the lower part of Fig. 5, in order to operate the plurality of information processing apparatuses 1, 2, 3, and 4 connected to the network 9 as one virtual information processing apparatus 7, the master apparatus is a user. It is necessary to grasp the operation and operation status of the slave device.

도 7에, 4대의 정보 처리 장치가 가상적인 1대의 정보 처리 장치(7)로서 동 작하는 모양을 나타낸다. 정보 처리 장치(1)가 마스터 장치, 정보 처리 장치(2, 3 및 4)가 슬레이브 장치 A, B 및 C로서, 동작하고 있는 것으로 한다.7 shows how four information processing apparatuses operate as one virtual information processing apparatus 7. It is assumed that the information processing apparatus 1 is operating as the master apparatus, and the information processing apparatuses 2, 3, and 4 are slave apparatuses A, B, and C. FIG.

사용자가 네트워크(9)에 접속되어 있는 정보 처리 장치를 조작한 경우, 조작 대상이 마스터 장치(1)이면, 그 조작 정보는, 마스터 장치(1)에 있어서 직접 파악되고, 조작 대상이 슬레이브 장치이면, 그 조작 정보는, 조작된 슬레이브 장치로부터 마스터 장치(1)에 송신된다. 즉, 사용자의 조작 대상이 마스터 장치(1)와 슬레이브 장치 중 어느 것인지에 관계없이, 그 조작 정보는 항상 마스터 장치(1)에 있어서 파악된다. 조작 정보의 송신은, 예를 들면, DMA 커맨드가 조작 정보 송신 커맨드인 소프트웨어 셀에 의해 행해진다.When the user operates the information processing apparatus connected to the network 9, if the operation target is the master device 1, the operation information is directly grasped by the master device 1, and the operation target is the slave device. The operation information is transmitted from the operated slave device to the master device 1. That is, regardless of whether the operation target of the user is either the master apparatus 1 or the slave apparatus, the operation information is always grasped in the master apparatus 1. The operation information is transmitted by, for example, a software cell in which the DMA command is an operation information transmission command.

그리고, 마스터 장치(1)내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 그 조작 정보에 따라서, 실행하는 기능 프로그램을 선택한다. 그 때, 필요하면, 마스터 장치(1)내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 상기의 방법에 의해 자 장치의 외부 메모리부(28-1또는 28-2)로부터 메인 메모리(26-1)에 기능 프로그램을 로딩하지만, 다른 정보 처리 장치(슬레이브 장치)가 마스터 장치(1)에 기능 프로그램을 송신해도 무방하다.And the main processor 21-1 contained in the information processing controller 11 in the master apparatus 1 selects the function program to run according to the operation information. At that time, if necessary, the main processor 21-1 included in the information processing controller 11 in the master device 1 may use the external memory unit 28-1 or 28-2 of the child device by the above method. The function program is loaded from the main memory 26-1 to the main memory 26-1, but another information processing device (slave device) may transmit the function program to the master device 1.

기능 프로그램에는, 그 실행 단위마다 필요로 되는, 도 4에 나타낸 각 정보로서 나타나는 정보 처리 장치 종별 ID, 메인 프로세서 또는 서브 프로세서의 처리 능력, 메인 메모리 사용량, 외부 메모리부에 관한 조건 등의, 장치에 관한 요구 스펙이 규정되어 있다.The functional program includes information on the apparatus such as the information processing apparatus type ID shown as each information shown in FIG. 4 required for each execution unit, processing capacity of the main processor or subprocessor, main memory usage, and conditions relating to the external memory unit. Requirement specifications are specified.

마스터 장치(1)내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21- 1)는, 각 기능 프로그램에 대하여 필요로 되는 상기 요구 스펙을 판독한다. 또한, 미리 능력 교환 프로그램에 의해 메인 메모리(26-1)에 기록된 장치 정보 테이블을 참조하여, 각 정보 처리 장치의 장치 정보를 판독한다. 여기서의 장치 정보는, 도 4에 나타낸 정보 처리 장치 ID 이하의 각 정보를 나타내고, 메인 프로세서, 서브 프로세서, 메인 메모리 및 외부 메모리부에 관한 정보이다.The main processor 21-1 included in the information processing controller 11 in the master device 1 reads out the above-mentioned specification required for each function program. Further, the device information of each information processing device is read with reference to the device information table recorded in the main memory 26-1 by the capability exchange program in advance. The device information herein indicates information below the information processing device ID shown in FIG. 4 and is information about a main processor, a subprocessor, a main memory, and an external memory unit.

마스터 장치(1)내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 네트워크(9)상에 접속된 각 정보 처리 장치의 상기 장치 정보와, 기능 프로그램 실행에 필요로 되는 상기 요구 스펙을 순차적으로 비교한다.The main processor 21-1 included in the information processing controller 11 in the master device 1 includes the device information of each information processing device connected on the network 9 and the above-mentioned information required for executing a function program. Compare the requirements specification sequentially.

그리고, 예를 들면, 기능 프로그램이 녹화 기능을 필요로 하는 경우에는, 정보 처리 장치 종별 ID에 기초하여, 녹화 기능을 갖는 정보 처리 장치만을 특정하여 추출한다. 또한, 기능 프로그램을 실행하기 위해 필요한 메인 프로세서 또는 서브 프로세서의 처리 능력, 메인 메모리 사용량, 외부 메모리부에 관한 조건을 확보할 수 있는 슬레이브 장치를, 실행 요구 후보 장치로서 특정한다. 여기서, 복수의 실행 요구 후보 장치가 특정된 경우에는, 해당 후보 장치로부터 1개의 실행 요구 후보 장치를 특정하여 선택한다.For example, when the function program requires a recording function, only the information processing device having a recording function is identified and extracted based on the information processing device type ID. Further, a slave device capable of securing the processing capacity of the main processor or subprocessor, the main memory usage, and the external memory unit necessary to execute the function program is specified as the execution request candidate device. Here, when a plurality of execution request candidate devices are specified, one execution request candidate device is specified and selected from the candidate device.

실행 요구하는 슬레이브 장치가 특정되면, 마스터 장치(1)내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 그 특정된 슬레이브 장치에 대하여, 자 장치내의 정보 처리 컨트롤러(11)에 포함되는 메인 메모리(26-1)에 기록되어 있는 해당 슬레이브 장치의 장치 정보 테이블을 갱신한다.When the slave device requesting execution is specified, the main processor 21-1 included in the information processing controller 11 in the master device 1, to the specified slave device, the information processing controller 11 in the child device. The device information table of the corresponding slave device recorded in the main memory 26-1 included in is updated.

또한, 마스터 장치(1)내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세 서(21-1)는, DMA 커맨드가 기능 프로그램 실행 커맨드인 소프트웨어 셀을 생성하여, 해당 소프트웨어 셀의 셀 인터페이스에, 해당 기능 프로그램에 관한 필요한 서브 프로세서의 정보 및 샌드 박스 사이즈(도 3 참조)를 설정하여, 상기 실행 요구되는 슬레이브 장치에 대하여 송신한다.In addition, the main processor 21-1 included in the information processing controller 11 in the master device 1 generates a software cell in which the DMA command is a function program execution command, and generates a software cell at the cell interface of the software cell. The required subprocessor information and sandbox size (see Fig. 3) related to the function program are set, and transmitted to the slave device requested to be executed.

기능 프로그램의 실행이 요구된 슬레이브 장치는, 그 기능 프로그램을 실행함과 더불어, 자 장치의 장치 정보 테이블을 갱신한다. 그 때, 필요하면, 슬레이브 장치내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(21)는, 상기의 방법에 의해 자 장치의 외부 메모리부(28)로부터 메인 메모리(26)에 기능 프로그램 및 해당 기능 프로그램과 제휴 동작하는 서브 프로세서 프로그램을 로딩한다.The slave device requested to execute the function program executes the function program and updates the device information table of the own device. At that time, if necessary, the main processor 21 included in the information processing controller in the slave device is configured to perform a function program and the corresponding function program from the external memory unit 28 of the child device to the main memory 26 by the above-described method. Load a subprocessor program that operates in association.

기능 프로그램의 실행이 요구된 슬레이브 장치의 외부 메모리부(28)에, 필요한 기능 프로그램 또는 해당 기능 프로그램과 제휴 동작하는 서브 프로세서 프로그램이 기록되어 있지 않은 경우에는, 다른 정보 처리 장치가 해당 기능 프로그램 또는 서브 프로세서 프로그램을, 그 기능 프로그램 실행 요구처 슬레이브 장치에 송신하도록, 시스템을 구성하면 무방하다.If the necessary function program or the subprocessor program cooperatively operating with the function program is not recorded in the external memory unit 28 of the slave device that is requested to execute the function program, the other information processing apparatus may execute the function program or sub. The system may be configured to transmit the processor program to the functional program execution request slave device.

서브 프로세서 프로그램에 대해서는, 전술한 로딩 커맨드 및 킥 커맨드를 이용하여 다른 정보 처리 장치에 실행시킬 수도 있다.The subprocessor program may be executed by another information processing apparatus using the above-described loading command and kick command.

기능 프로그램의 실행 종료 후, 기능 프로그램을 실행한 슬레이브 장치내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(21)는, 종료 통지를 마스터 장치(1)내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)에 송신함과 더불어, 자 장치의 장치 정보 테이블을 갱신한다. 마스터 장치(1)내의 정보 처리 컨트롤러 (11)에 포함되는 메인 프로세서(21-1)는, 그 종료 통지를 수신하여, 기능 프로그램을 실행한 슬레이브 장치의 장치 정보 테이블을 갱신한다.After the execution of the function program is finished, the main processor 21 included in the information processing controller in the slave device which executed the function program sends a termination notification to the main processor 21 included in the information processing controller 11 in the master device 1. -1) and the device information table of the own device is updated. The main processor 21-1 included in the information processing controller 11 in the master device 1 receives the end notification and updates the device information table of the slave device that executed the function program.

마스터 장치(1)내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 자 장치 및 타 장치의 장치 정보 테이블의 참조 결과로부터, 해당 기능 프로그램을 실행할 수 있는 정보 처리 장치로서, 자신을 선택하는 경우도 있을 수 있다. 그 경우에는, 마스터 장치(1)가 해당 기능 프로그램을 실행한다.The main processor 21-1 included in the information processing controller 11 in the master device 1 is an information processing device capable of executing the corresponding function program from the reference result of the device information table of the own device and the other device. There may be times when you choose yourself. In that case, the master device 1 executes the function program.

도 7의 예에서, 사용자가 슬레이브 장치 A(정보 처리 장치(2))를 조작하고, 해당 조작에 대응한 기능 프로그램을 별도의 슬레이브 장치 B(정보 처리 장치(3))가 실행하는 경우에 대하여, 도 8에 이상의 분산 처리의 예를 나타낸다.In the example of FIG. 7, a case where a user operates slave device A (information processing device 2), and another slave device B (information processing device 3) executes a function program corresponding to the operation. 8 shows an example of the above dispersion processing.

도 8의 예에서는, 사용자가 슬레이브 장치 A를 조작함으로써, 슬레이브 장치 A를 포함하는 네트워크 시스템 전체의 분산 처리가 개시하여, 우선슬레이브 장치 A는, 단계 81에서, 그 조작 정보를 마스터 장치(1)에 송신한다.In the example of FIG. 8, when the user operates the slave device A, distributed processing of the entire network system including the slave device A starts, and the slave device A first transmits the operation information to the master device 1 in step 81. Send to

마스터 장치(1)는, 단계 72에서, 그 조작 정보를 수신하고, 또한 단계 73으로 진행하여, 자 장치의 메인 메모리(26-1)에 기록되어 있는 자 장치 및 타 장치의 장치 정보 테이블로부터, 각 정보 처리 장치의 동작 상태를 조사하여, 수신한 조작 정보에 대응한 기능 프로그램을 실행할 수 있는 정보 처리 장치를 선택한다. 이 예는, 슬레이브 장치B가 선택되는 경우이다.In step 72, the master device 1 receives the operation information and proceeds to step 73, from the device information table of the child device and the other device recorded in the main memory 26-1 of the child device, The operation state of each information processing apparatus is examined to select an information processing apparatus capable of executing a function program corresponding to the received operation information. This example is a case where the slave device B is selected.

다음으로, 마스터 장치(1)는, 단계 74에서, 그 선택한 슬레이브 장치 B에 대하여 기능 프로그램의 실행을 요구한다.Next, in step 74, the master device 1 requests execution of a function program for the selected slave device B. FIG.

슬레이브 장치 B는, 단계 95에서, 그 실행 요구를 수신하고, 또한 단계 96으 로 진행하여, 실행 요구된 기능 프로그램을 실행한다.In step 95, the slave device B receives the execution request, and proceeds to step 96 to execute the execution requested function program.

이상과 같이, 사용자는, 1대의 정보 처리 장치만을 조작함으로써, 다른 정보 처리 장치를 조작하지 않고, 복수의 정보 처리 장치(1, 2, 3 및 4)를 가상적인 1대의 정보 처리 장치(7)로서 동작시킬 수 있다.As described above, the user operates only one information processing apparatus so that the plurality of information processing apparatuses 1, 2, 3, and 4 are virtually operated by one information processing apparatus 7 without operating the other information processing apparatus. Can be operated as.

(2-6. 각 정보 처리 장치 및 시스템의 구체예)(2-6. Specific example of each information processing apparatus and system)

네트워크(9)를 통하여 상호 접속되는 정보 처리 장치(1, 2, 3 및 4)는, 기본적으로 상기한 바와 같은 정보 처리 컨트롤러(11, 12, 13 및 14)에 의해 정보 처리를 행하는 것이면, 어떠한 것이어도 무방하지만, 도 9에, 그 일례를 나타낸다.The information processing apparatuses 1, 2, 3, and 4 interconnected via the network 9 basically perform information processing by the information processing controllers 11, 12, 13, and 14 as described above. Although one may be sufficient, the example is shown in FIG.

이 예에서는, 정보 처리 컨트롤러(11)를 구비하는 정보 처리 장치(1)는, 하드디스크 레코더로서, 도 10에 도시하는 바와 같이, 하드웨어 구성으로서는, 도 1에 도시한 외부 메모리부(28-1)로서, 하드디스크를 내장하고, 도 1에 도시한 외부 메모리부(28-2)로서, DVD±R/RW, CD±R/RW, Blu-rayDisc(등록상표) 등의 광 디스크를 장착할 수 있도록 구성됨과 더불어, 정보 처리 컨트롤러(11)의 버스(29-1)에 접속된 버스(31-1)에, 방송 수신부(32-1), 영상 입력부(33-1), 음성 입력부(34-1), 영상 출력부(35-1), 음성 출력부(36-1), 조작 패널부(37-1), 리모콘 수광부(38-10) 및 네트워크 접속부(39-1)가 접속된 것이다.In this example, the information processing apparatus 1 including the information processing controller 11 is a hard disk recorder, as shown in FIG. 10, and as the hardware configuration, the external memory unit 28-1 shown in FIG. 1. ), A hard disk is built in, and an optical disk such as DVD ± R / RW, CD ± R / RW, Blu-rayDisc (registered trademark) or the like is mounted as the external memory unit 28-2 shown in FIG. In addition, the broadcast receiving unit 32-1, the video input unit 33-1, and the audio input unit 34 are connected to the bus 31-1 connected to the bus 29-1 of the information processing controller 11. -1), the video output unit 35-1, the audio output unit 36-1, the operation panel unit 37-1, the remote control light receiving unit 38-10 and the network connection unit 39-1 are connected. .

방송 수신부(32-1), 영상 입력부(33-1) 및 음성 입력부(34-1)는, 방송 신호를 수신하고, 또는 정보 처리 장치(1)의 외부로부터 영상 신호 및 음성 신호를 입력하여, 각각 소정 포맷의 디지털 데이터로 변환하여, 정보 처리 컨트롤러(11)에서의 처리를 위해 버스(31-1)에 송출하는 것이고, 영상 출력부(35-1) 및 음성 출력부 (36-1)는, 정보 처리 컨트롤러(11)로부터 버스(31-1)에 송출된 영상 데이터 및 음성 데이터를 처리하여, 디지털 데이터인 채로, 또는 아날로그 신호로 변환하여, 정보 처리 장치(1)의 외부에 송출하는 것이며, 리모콘 수광부(38-1)는, 리모콘 송신기(43-1)로부터의 리모콘(원격 조작) 적외선 신호를 수신하는 것이다.The broadcast receiving unit 32-1, the video input unit 33-1, and the audio input unit 34-1 receive a broadcast signal or input a video signal and an audio signal from the outside of the information processing apparatus 1, Each is converted into digital data of a predetermined format and sent to the bus 31-1 for processing by the information processing controller 11, and the video output unit 35-1 and audio output unit 36-1 To process the video data and audio data transmitted from the information processing controller 11 to the bus 31-1, convert them as digital data or convert them into analog signals and send them to the outside of the information processing apparatus 1. The remote control light receiving unit 38-1 receives the remote control (remote operation) infrared signal from the remote control transmitter 43-1.

도 9 및 도 10에 나타내는 바와 같이, 정보 처리 장치(하드디스크 레코더)(1)의 영상 출력부(35-1) 및 음성 출력부(36-1)에는, 모니터 표시 장치(41) 및 스피커 장치(42)가 접속된다.9 and 10, the monitor display device 41 and the speaker device are provided in the video output unit 35-1 and the audio output unit 36-1 of the information processing apparatus (hard disk recorder) 1. 42 is connected.

도 9의 예의, 정보 처리 컨트롤러(12)를 구비하는 정보 처리 장치(2)도, 하드디스크 레코더이고, 도 10에 있어서 괄호 안에 참조 번호를 붙여서 나타내는 바와 같이, 정보 처리 장치(1)와 마찬가지로 구성된 것이다. 단, 예를 들면, 도 9에 나타내는 바와 같이, 정보 처리 장치(하드디스크 레코더)(2)에는, 모니터 표시 장치 및 스피커 장치는 접속되지 않는다.The information processing apparatus 2 provided with the information processing controller 12 of the example of FIG. 9 is also a hard disk recorder, Comprising: Like the information processing apparatus 1, as shown with the reference number in brackets in FIG. will be. For example, as shown in FIG. 9, the monitor display device and the speaker device are not connected to the information processing device (hard disk recorder) 2.

정보 처리 장치(하드디스크 레코더)(1 및 2), 즉 정보 처리 컨트롤러(11 및 12)의 소프트웨어 구성으로서는, 도 11에 나타내는 바와 같이, 제어 프로그램으로서, MS 매니저 및 능력 교환 프로그램을 구비하고, 기능 프로그램으로서, 영상 음성 기록, 영상 음성 재생, 소재 검색 및 프로그램 녹화 예약을 위한 프로그램을 구비하고, 디바이스 드라이버로서, 방송 수신, 영상 출력, 음성 출력, 외부 메모리부 입출력 및 네트워크 입출력을 위한 프로그램을 구비한다.As a software configuration of the information processing apparatuses (hard disk recorders) 1 and 2, that is, the information processing controllers 11 and 12, as shown in FIG. 11, the control program includes an MS manager and a capability exchange program, and functions. As a program, a program for video audio recording, video audio playback, location search, and program recording reservation is provided. As a device driver, a program for broadcast reception, video output, audio output, external memory input / output, and network input / output is provided. .

도 9의 예의, 정보 처리 컨트롤러(13)를 구비하는 정보 처리 장치(3)는, PDA(Personal Digital Assistants)로서, 도 12에 도시하는 바와 같이, 하드웨어 구 성으로서는, 도 1에 도시한 외부 메모리부(28-5)로서, 메모리 카드 디스크를 장착할 수 있도록 구성됨과 더불어, 정보 처리 컨트롤러(13)의 버스(29-3)에 접속된 버스(51)에, 액정 표시부(52), 음성 출력부(53), 카메라부(54), 음성 입력부(55), 키보드부(56) 및 네트워크 접속부(57)가 접속된 것이다.In the example of FIG. 9, the information processing apparatus 3 including the information processing controller 13 is a personal digital assistant (PDA). As shown in FIG. 12, the external memory shown in FIG. 1 is a hardware configuration. The unit 28-5 is configured to mount a memory card disk, and to the bus 51 connected to the bus 29-3 of the information processing controller 13, the liquid crystal display unit 52 and audio output. The unit 53, the camera unit 54, the audio input unit 55, the keyboard unit 56, and the network connection unit 57 are connected.

또한, 도 1에서는 내부를 생략한 정보 처리 컨트롤러(13)는, 메인 프로세서(21-3), 서브 프로세서(23-7, 23-8 및 23-9), DMAC(다이렉트 메모리 액세스 컨트롤러)(25-3), DC(디스크 컨트롤러)(27-3), 및 버스(29-3)를 구비하고, 그 메인 프로세서(21-3)는, LS(로컬 스토리지)(22-3)를 갖고, 각 서브 프로세서(23-7, 23-8 및 23-9)는, LS(로컬 스토리지)(24-7, 24-8 및 24-9)를 갖는다.In addition, the information processing controller 13 which abbreviate | omitted the inside in FIG. 1 is the main processor 21-3, the subprocessors 23-7, 23-8, and 23-9, DMAC (direct memory access controller) 25 -3), DC (disk controller) 27-3, and bus 29-3, and the main processor 21-3 has LS (local storage) 22-3, and each The subprocessors 23-7, 23-8 and 23-9 have LS (local storage) 24-7, 24-8 and 24-9.

정보 처리 장치(PDA)(3), 즉 정보 처리 컨트롤러(13)의 소프트웨어 구성으로서는, 도 13에 도시하는 바와 같이, 제어 프로그램으로서, MS 매니저 및 능력 교환 프로그램을 구비하고, 기능 프로그램으로서, 영상 음성 기록, 영상 음성 재생, 전화번호부, 워드 프로세서 및 표 계산을 위한 프로그램, 및 Web 브라우저를 구비하고, 디바이스 드라이버로서, 영상 출력, 음성 출력, 카메라 영상 입력, 마이크 음성 입력 및 네트워크 입출력을 위한 프로그램을 구비한다.As the software configuration of the information processing apparatus (PDA) 3, that is, the information processing controller 13, as shown in FIG. 13, the control program is provided with an MS manager and a capability exchange program, and is a video and audio function as a function program. It has a program for recording, video audio playback, phone book, word processor and table calculation, and Web browser, and as a device driver, it has a program for video output, audio output, camera video input, microphone audio input and network input / output. do.

도 9의 예의, 정보 처리 컨트롤러(14)를 구비하는 정보 처리 장치(4)는, 포터블 CD 플레이어로서, 도 14에 도시하는 바와 같이, 하드웨어 구성으로서는, 도 1에 도시한 외부 메모리부(28-6)로서, CD(Compact Disc)를 장착할 수 있도록 구성됨과 더불어, 정보 처리 컨트롤러(14)의 버스(29-4)에 접속된 버스(61)에, 액정 표시부(62), 음성 출력부(63), 조작 버튼부(64) 및 네트워크 접속부(65)가 접속된 것이 다.The information processing apparatus 4 provided with the information processing controller 14 of the example of FIG. 9 is a portable CD player, and as shown in FIG. 14, as a hardware structure, the external memory part 28- shown in FIG. 6), a CD (Compact Disc) can be mounted, and a liquid crystal display 62 and an audio output unit (B) 61 are connected to a bus 61 connected to the bus 29-4 of the information processing controller 14. 63), the operation button portion 64 and the network connection portion 65 are connected.

또한, 도 1에서는 내부를 생략한 정보 처리 컨트롤러(14)는, 메인 프로세서(21-4), 서브 프로세서(23-10, 23-11 및 23-12), DMAC(다이렉트 메모리 액세스 컨트롤러)(25-4), DC(디스크 컨트롤러)(27-4), 및 버스(29-4)를 구비하고, 그 메인 프로세서(21-4)는, LS(로컬 스토리지)(22-4)를 갖고, 각 서브 프로세서(23-10, 23-11 및 23-12)는, LS(로컬 스토리지)(24-10, 24-11 및 24-12)를 갖는다.In addition, the information processing controller 14 which abbreviate | omitted the inside in FIG. 1 is the main processor 21-4, the subprocessors 23-10, 23-11, and 23-12, DMAC (direct memory access controller) 25 -4), a DC (disk controller) 27-4, and a bus 29-4, and the main processor 21-4 has an LS (local storage) 22-4, and each The subprocessors 23-10, 23-11, and 23-12 have LS (local storage) 24-10, 24-11, and 24-12.

정보 처리 장치(포터블 CD 플레이어)(4), 즉 정보 처리 컨트롤러(14)의 소프트웨어 구성으로서는, 도 15에 도시하는 바와 같이, 제어 프로그램으로서, MS 매니저 및 능력 교환 프로그램을 구비하고, 기능 프로그램으로서, 음악 재생을 위한 프로그램을 구비하며, 디바이스 드라이버로서, 음성 출력, CD 제어 및 네트워크 입출력을 위한 프로그램을 구비한다.As the software configuration of the information processing apparatus (portable CD player) 4, that is, the information processing controller 14, as shown in FIG. 15, the control program includes an MS manager and a capability exchange program, and as a function program, A program for music reproduction is provided, and as a device driver, a program for audio output, CD control, and network input / output is provided.

이상과 같은 도 9의 예의 네트워크 시스템에 있어서, 정보 처리 장치(1, 3 및 4)가 네트워크(9)상에 접속되어 있고, 정보 처리 장치(1)가 마스터 장치(MS 스테이터스=0)로서, 정보 처리 장치(3 및 4)가 슬레이브 장치(MS 스테이터스=1)로서, 설정되어 있는 것으로 한다.In the network system of the example of FIG. 9 described above, the information processing apparatuses 1, 3, and 4 are connected on the network 9, and the information processing apparatus 1 is a master apparatus (MS status = 0). It is assumed that the information processing apparatuses 3 and 4 are set as slave devices (MS status = 1).

이 상태에서, 새롭게 정보 처리 장치(2)가 네트워크(9)에 접속되면, 전술한 방법에 의해, 정보 처리 장치(2)내의 정보 처리 컨트롤러(12)에 포함되는 메인 프로세서(21-2)에 의해 실행되고 있는 MS 매니저는, 다른 정보 처리 장치(1, 3 및 4)에 MS 스테이터스를 조회하여, 정보 처리 장치(1)가 이미 마스터 장치로서 존재하는 것을 인식하고, 자 장치(정보 처리 장치(2))를 슬레이브 장치(MS 스테이터스=1) 로 설정한다. 또한, 마스터 장치에 설정되어 있는 정보 처리 장치(1)는, 새롭게 추가된 정보 처리 장치(2)를 포함하는 각 장치의 장치 정보를 수집하여, 메인 메모리(26-1)내의 장치 정보 테이블을 갱신한다.In this state, when the information processing apparatus 2 is newly connected to the network 9, the main processor 21-2 included in the information processing controller 12 in the information processing apparatus 2 by the above-described method. The MS manager executed by the MS inquires the MS status to the other information processing apparatuses 1, 3, and 4, recognizes that the information processing apparatus 1 already exists as a master apparatus, and recognizes the child apparatus (information processing apparatus ( 2)) to the slave device (MS status = 1). In addition, the information processing apparatus 1 set in the master apparatus collects device information of each apparatus including the newly added information processing apparatus 2 and updates the apparatus information table in the main memory 26-1. do.

이와 같은 상태에서, 사용자에 의해 슬레이브 장치인 정보 처리 장치(PDA)(3)에 의해 2시간의 방송 프로그램의 녹화 예약의 조작이 행해진 경우를 나타낸다.In this state, it shows the case where the recording reservation operation of the broadcast program for 2 hours is performed by the information processing apparatus (PDA) 3 which is a slave device by the user.

이 경우, 슬레이브 장치인 정보 처리 장치(PDA)(3)는, 사용자로부터 녹화 개시 시각, 녹화 종료 시각, 녹화 대상 방송 채널, 녹화 품질 등의 정보를 포함하는 녹화 예약 정보의 입력을 접수하고, 해당 녹화 예약 정보 및 DMA 커맨드로서의 녹화 예약 커맨드를 포함하는 소프트웨어 셀을 생성하여, 마스터 장치인 정보 처리 장치(1)에 송신한다.In this case, the information processing device (PDA) 3, which is a slave device, receives an input of recording reservation information including information such as recording start time, recording end time, recording target broadcast channel, recording quality, and the like from the user. A software cell containing the recording reservation information and the recording reservation command as the DMA command is generated and transmitted to the information processing device 1 which is the master device.

DMA 커맨드가 녹화 예약 커맨드인 소프트웨어 셀을 수신한 정보 처리 장치(1)내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 녹화 예약 커맨드를 판독함과 더불어, 메인 메모리(26-1)내의 장치 정보 테이블을 참조하여, 해당 녹화 예약 커맨드를 실행 가능한 정보 처리 장치를 특정한다.The main processor 21-1 included in the information processing controller 11 in the information processing apparatus 1 that receives the software cell in which the DMA command is the recording reservation command reads the recording reservation command, and the main memory 26 reads the recording reservation command. With reference to the device information table in -1), an information processing device capable of executing the corresponding recording reservation command is specified.

우선, 메인 프로세서(21-1)는, 장치 정보 테이블에 포함되는 각 정보 처리 장치(1, 2, 3 및 4)의 정보 처리 장치 종별 ID를 판독하여, 녹화 예약 커맨드에 대응하는 기능 프로그램을 실행 가능한 정보 처리 장치를 추출한다. 여기서는, 녹화 기능을 나타내는 정보 처리 장치 종별 ID를 갖는 정보 처리 장치(1 및 2)가 후보 장치로서 특정되고, 정보 처리 장치(3 및 4)는 후보 장치로부터 제외된다.First, the main processor 21-1 reads the information processing apparatus type ID of each of the information processing apparatuses 1, 2, 3, and 4 included in the device information table, and executes a function program corresponding to the recording reservation command. Extract possible information processing devices. Here, information processing apparatuses 1 and 2 having an information processing apparatus type ID indicating a recording function are specified as candidate apparatuses, and information processing apparatuses 3 and 4 are excluded from the candidate apparatuses.

다음으로, 마스터 장치인 정보 처리 장치(1)내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 장치 정보 테이블을 참조하여, 정보 처리 장치(1 및 2)의 메인 프로세서 또는 서브 프로세서의 처리 능력, 메인 메모리에 관한 정보 등의, 장치에 관한 정보를 판독하여, 정보 처리 장치(1 및 2)가 녹화 예약 커맨드에 대응하는 기능 프로그램의 실행에 필요한 요구 스펙을 만족하는지의 여부를 판단한다. 여기서는, 정보 처리 장치(1, 2) 모두, 녹화 예약 커맨드에 대응하는 기능 프로그램의 실행에 필요한 요구 스펙을 만족하는 것으로 한다.Next, the main processor 21-1 included in the information processing controller 11 in the information processing apparatus 1 that is the master device refers to the device information table, and the main processor of the information processing apparatuses 1 and 2 or Whether the information processing apparatuses 1 and 2 satisfy the requirement specification required for the execution of the function program corresponding to the recording reservation command by reading information about the apparatus such as the processing capacity of the subprocessor and the information about the main memory. Judge. Here, it is assumed that both the information processing apparatuses 1 and 2 satisfy the requirement specification required for the execution of the function program corresponding to the recording reservation command.

또한, 메인 프로세서(21-1)는, 장치 정보 테이블을 참조하여, 정보 처리 장치(1 및 2)의 외부 메모리부에 관한 정보를 판독하여, 외부 메모리부의 공백 용량이 해당 녹화 예약 커맨드의 실행에 필요한 용량을 만족하는지의 여부를 판단한다. 정보 처리 장치(1 및 2)는 하드디스크 레코더이기 때문에, 각각 하드디스크(28-1 및 28-3)의, 총 용량과 사용량의 차분이, 각각의 공백 용량에 상당한다.In addition, the main processor 21-1 reads the information about the external memory units of the information processing apparatuses 1 and 2 with reference to the device information table, so that the free space of the external memory unit is used to execute the recording reservation command. It is determined whether the required dose is satisfied. Since the information processing apparatuses 1 and 2 are hard disk recorders, the difference between the total capacity and the usage amount of the hard disks 28-1 and 28-3 corresponds to the respective blank capacities.

이 경우, 정보 처리 장치(1)의 하드디스크(28-1)의 공백 용량이, 녹화 시간으로 환산하여 10분이고, 정보 처리 장치(2)의 하드디스크(28-3)의 공백 용량이, 녹화 시간으로 환산하여 20시간이라고 하자.In this case, the free space of the hard disk 28-1 of the information processing device 1 is 10 minutes in terms of recording time, and the free space of the hard disk 28-3 of the information processing device 2 is recorded. Let's say it's 20 hours.

이 때, 마스터 장치인 정보 처리 장치(1)내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 해당 녹화 예약 커맨드의 실행에 필요한 2시간분의 공백 용량을 확보할 수 있는 정보 처리 장치를, 실행 요구처 슬레이브 장치로서 특정한다.At this time, the main processor 21-1 included in the information processing controller 11 in the information processing apparatus 1 that is the master device can secure a free space for two hours necessary for the execution of the recording reservation command. The information processing apparatus is identified as the execution request destination slave apparatus.

그 결과, 정보 처리 장치(2)만이 실행 요구처 슬레이브 장치로서 선택되고, 마스터 장치인 정보 처리 장치(1)내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 사용자에 의해 조작된 정보 처리 장치(3)로부터 송신된 녹화 예약 정보를 포함하는 해당 녹화 예약 커맨드를 정보 처리 장치(2)에 송신하여, 상기 2시간의 방송 프로그램의 녹화 예약의 실행을 요구한다.As a result, only the information processing device 2 is selected as the execution request destination slave device, and the main processor 21-1 included in the information processing controller 11 in the information processing device 1 as the master device is selected by the user. The recording reservation command including the recording reservation information transmitted from the operated information processing apparatus 3 is transmitted to the information processing apparatus 2, and the execution of the recording reservation of the two-hour broadcast program is requested.

그리고, 정보 처리 장치(2)내의 정보 처리 컨트롤러(12)에 포함되는 메인 프로세서(21-2)는, 해당 녹화 예약 커맨드를 해석하여, 녹화에 필요한 기능 프로그램을 외부 메모리부인 하드디스크(28-3)로부터 메인 메모리(26-2)에 로딩하고, 녹화 예약 정보에 따라서 녹화를 실행한다. 그 결과, 녹화 예약된 2시간의 방송 프로그램의 영상 음성 데이터가 정보 처리 장치(2)의 하드디스크(28-3)에 기록된다.Then, the main processor 21-2 included in the information processing controller 12 in the information processing apparatus 2 interprets the recording reservation command and transmits a function program necessary for recording to the hard disk 28-3, which is an external memory unit. ) Is loaded into the main memory 26-2, and recording is performed in accordance with the recording reservation information. As a result, the video and audio data of the broadcast program of two hours of recording reservation is recorded on the hard disk 28-3 of the information processing apparatus 2.

이와 같이, 도 9의 예의 네트워크 시스템에 있어서도, 사용자는, 1대의 정보 처리 장치만을 조작함으로써, 다른 정보 처리 장치를 조작하지 않고, 복수의 정보 처리 장치(1, 2, 3 및 4)를 가상적인 1대의 정보 처리 장치(7)로서 동작시킬 수 있다.Thus, even in the network system of the example of FIG. 9, a user operates only one information processing apparatus, and virtually operates the several information processing apparatuses 1, 2, 3, and 4, without operating another information processing apparatus. It can operate as one information processing apparatus 7.

[3. 네트워크 시스템 및 정보 처리 장치의 기본적 구성 : 파트 2][3. Basic configuration of network systems and information processing devices: Part 2]

도 16은, 본 발명의 네트워크 시스템의 다른 예를 나타내고, 네트워크(1009)를 통하여 복수의 정보 처리 장치(1001, 1002, 1003 및 1004)가 접속된 것이다.16 shows another example of the network system of the present invention, in which a plurality of information processing apparatuses 1001, 1002, 1003, and 1004 are connected through a network 1009. FIG.

(3-1. 정보 처리 장치 및 정보 처리 컨트롤러)(3-1.Information Processing Unit and Information Processing Controller)

정보 처리 장치(1001, 1002, 1003 및 1004)는, 각각 후술하는 바와 같은 각종의 AV(Audio and Visual) 기기나 포터블 기기이다.The information processing apparatuses 1001, 1002, 1003, and 1004 are various AV (Audio and Visual) devices and portable devices as described later, respectively.

정보 처리 장치(1001)에 대하여 나타내면, 정보 처리 장치(1001)는, 컴퓨터 기능부로서 정보 처리 컨트롤러(1011)를 구비한다. 정보 처리 컨트롤러(1011)는, 메인 프로세서(1021-1), 서브 프로세서(1023-1, 1023-2 및 1023-3), DMAC(다이렉트 메모리 액세스 컨트롤러)(1025-1), 컨트롤 레지스터(1028-1), 워크 메모리(1029-1), 및 DC(디스크 컨트롤러)(1030-1)를 갖는다.Referring to the information processing apparatus 1001, the information processing apparatus 1001 includes an information processing controller 1011 as a computer function unit. The information processing controller 1011 includes a main processor 1021-1, subprocessors 1023-1, 1023-2, and 1023-3, a direct memory access controller (DMAC) 1025-1, and a control register 1028-. 1), work memory 1029-1, and DC (disk controller) 1030-1.

메인 프로세서(1021-1)는, 서브 프로세서(1023-1, 1023-2 및 1023-3)에 의한 서브 프로세서 프로그램의 실행(데이터 처리)의 스케줄 관리와, 정보 처리 컨트롤러(1011)(정보 처리 장치(1001))의 전반적인 관리를 행한다. 단, 메인 프로세서(1021-1)내에서 관리를 위한 프로그램 이외의 프로그램이 동작하도록 구성할 수도 있다. 그 경우에는, 메인 프로세서(1021-1)는 서브 프로세서로서도 기능하게 된다. 메인 프로세서(1021-1)는, LS(로컬 스토리지)(1022-1)를 갖는다.The main processor 1021-1 includes schedule management of execution (data processing) of the subprocessor programs by the subprocessors 1023-1, 1023-2, and 1023-3, and an information processing controller 1011 (information processing device). (1001), overall management is performed. However, a program other than the program for management may be configured to operate in the main processor 1021-1. In that case, the main processor 1021-1 also functions as a subprocessor. The main processor 1021-1 has LS (local storage) 1022-1.

서브 프로세서는, 1개이어도 무방하지만, 바람직하게는 복수로 한다. 이 예는, 복수인 경우이다.Although one subprocessor may be sufficient, Preferably it is multiple. This example is the case of plural numbers.

각 서브 프로세서(1023-1, 1023-2 및 1023-3)는, 메인 프로세서(1021-1)의 제어에 의해 병렬적 또한 독립적으로, 서브 프로세서 프로그램을 실행하여, 데이터를 처리한다. 또한, 경우에 따라서 메인 프로세서(1021-1)내의 프로그램이 서브 프로세서(1023-1, 1023-2 또는 1023-3)내의 서브 프로세서 프로그램과 제휴하여 동작하도록 구성할 수도 있다. 후술하는 기능 프로그램도, 메인 프로세서(1021-1)내에서 동작하는 프로그램이다. 각 서브 프로세서(1023-1, 1023-2 및 1023-3)도, LS(로컬 스토리지)(1024-1, 1024-2 및 1024-3)를 갖는다.Each subprocessor 1023-1, 1023-2, and 1023-3 executes a subprocessor program in parallel and independently under the control of the main processor 1021-1 to process data. In some cases, the program in the main processor 1021-1 may be configured to operate in cooperation with the subprocessor program in the subprocessors 1023-1, 1023-2, or 1023-3. The functional program described later is also a program operating in the main processor 1021-1. Each subprocessor 1023-1, 1023-2, and 1023-3 also has LS (local storage) 1024-1, 1024-2, and 1024-3.

DMAC(1025-1)는, 각각 정보 처리 컨트롤러(1011)에 접속된, DRAM(다이내믹 RAM) 등으로 이루어지는 메인 메모리(1026-1) 및 SRAM(스태틱 RAM) 등으로 이루어지는 서브 메모리(1027-1)에 저장되어 있는 프로그램 및 데이터에 액세스하기 위한 것이다. DMAC(1025-1)를 개재시킴으로써, 각 서브 프로세서와 메인 메모리(1026-1) 사이에서는 DMA 방식에 의해 데이터 전송을 행할 수 있어, 고속화를 실현할 수 있다.The DMAC 1025-1 includes a main memory 1026-1 made of DRAM (dynamic RAM) and the like and a sub memory 1027-1 made of SRAM (static RAM) and the like connected to the information processing controller 1011, respectively. It is for accessing programs and data stored in. By interposing the DMAC 1025-1, data transfer can be performed between the subprocessors and the main memory 1026-1 by the DMA system, thereby achieving high speed.

컨트롤 레지스터(1028-1)는, 정보 처리 컨트롤러(1011)내에서 처리되어야 하는 서브 프로세서 프로그램을, 어떤 서브 프로세서가, 또한 서브 프로세서내에 복수개 ±존재하는 후술하는 프로세싱 스레드 중의 어느 것이, 처리하는지를 결정함과 더불어, 서브 프로세서에 의한 서브 프로세서 프로그램 실행의 진척을 관리하기 위해 사용된다.The control register 1028-1 determines which subprocessor processes which subprocessor program to be processed in the information processing controller 1011, and which of the following processing threads described below exist in the subprocessor. In addition, it is used to manage the progress of the subprocessor program execution by the subprocessor.

워크 메모리(1029-1)는, 정보 처리 컨트롤러(1011)내에 포함되는 SRAM 등으로 이루어지는 작업용 메모리로서, 메인 프로세서(1021-1), 및 서브 프로세서(1023-1, 1023-2 및 1023-3)에 의해 액세스된다.The work memory 1029-1 is a work memory composed of SRAM or the like included in the information processing controller 1011, and includes a main processor 1021-1 and subprocessors 1023-1, 1023-2, and 1023-3. Is accessed by

DC(1030-1)는, 정보 처리 컨트롤러(1011)에 접속된 외부 메모리부(1031-1 및 1031-2)에 액세스하는 것이다.The DC 1030-1 accesses the external memory units 1031-1 and 1031-2 connected to the information processing controller 1011.

외부 메모리부(1031-1 및 1031-2)는, 고정 디스크(하드디스크)이어도, 분해 가능 디스크이어도 무방하고, 또한 MO, CD±RW, DVD±RW 등의 광 디스크, 메모리 디스크, SRAM(스태틱 RAM), ROM 등, 각종의 것을 이용할 수 있다. 따라서, DC(1030-1)는, 디스크 컨트롤러라고 칭하지만, 외부 메모리부 컨트롤러이다.The external memory units 1031-1 and 1031-2 may be fixed disks (hard disks) or removable disks, and optical disks such as MO, CD ± RW, DVD ± RW, memory disks, and SRAM (static). Various things, such as RAM) and ROM, can be used. Therefore, although DC1030-1 is called a disk controller, it is an external memory part controller.

도 16의 예와 같이, 정보 처리 컨트롤러(1011)에 대하여 외부 메모리부 (1031)를 복수 접속할 수 있도록, 정보 처리 컨트롤러(1011)를 구성할 수 있다.As in the example of FIG. 16, the information processing controller 1011 can be configured such that a plurality of external memory units 1031 can be connected to the information processing controller 1011.

메인 프로세서(1021-1), 각 서브 프로세서(1023-1, 1023-2 및 1023-3), DMAC(1025-1), 컨트롤 레지스터(1028-1), 워크 메모리(1029-1), 및 DC(1030-1)는, 버스(1032-1)에 의해 접속된다.Main processor 1021-1, each subprocessor 1023-1, 1023-2 and 1023-3, DMAC 1025-1, control register 1028-1, work memory 1029-1, and DC 1030-1 is connected by a bus 1032-1.

정보 처리 컨트롤러(1011)에는, 해당 정보 처리 컨트롤러(1011)를 구비하는 정보 처리 장치(1001)를 네트워크 전체를 통하여 일의적으로 식별할 수 있는 식별자가, 정보 처리 장치 ID로서 할당된다.The information processing controller 1011 is assigned, as an information processing device ID, an identifier that can uniquely identify the information processing apparatus 1001 including the information processing controller 1011 through the entire network.

메인 프로세서(1021-1), 및 각 서브 프로세서(1023-1, 1023-2 및 1023-3)에 대해서도 마찬가지로, 각각을 특정할 수 있는 식별자가, 메인 프로세서 ID 및 서브 프로세서 ID로서 할당된다.Similarly, for the main processor 1021-1 and each of the subprocessors 1023-1, 1023-2, and 1023-3, identifiers that can be specified are assigned as the main processor ID and the subprocessor ID.

정보 처리 컨트롤러(1011)는, 원 칩 IC(집적 회로)로서 구성하는 것이 바람직하다.The information processing controller 1011 is preferably configured as a single chip IC (integrated circuit).

다른 정보 처리 장치(1002, 1003 및 1004)도, 마찬가지로 구성된다. 여기서, 페어런트 번호가 동일한 유닛은, 브랜치 번호가 상이하더라도, 특히 특기사항이 없는 한, 동일한 기능을 하는 것으로 한다. 또한, 이하의 설명에 있어서 브랜치 번호가 생략되어 있는 경우에는, 브랜치 번호의 상이에 의한 차이를 발생하지 않는 것으로 한다.The other information processing apparatuses 1002, 1003, and 1004 are similarly configured. Here, units with the same parent number are assumed to have the same function, even if the branch numbers are different, unless otherwise specified. In addition, when a branch number is abbreviate | omitted in the following description, it is assumed that the difference by a branch number does not generate | occur | produce.

(3-2. 각 서브 프로세서로부터 메인 메모리에의 액세스)(3-2. Access to main memory from each subprocessor)

전술한 바와 같이, 1개의 정보 처리 컨트롤러내의 각 서브 프로세서(1023)는, 독립적으로 서브 프로세서 프로그램을 실행하여, 데이터를 처리하지만, 상이한 서브 프로세서가 메인 메모리(1026)내의 동일 영역에 대하여 동시에 판독 또는 기입을 행한 경우에는, 데이터의 부정합을 발생시킬 수 있다. 따라서, 서브 프로세서(1023)로부터 메인 메모리(1026)에의 액세스는, 이하와 같은 순서에 의해 행한다.As described above, each subprocessor 1023 in one information processing controller independently executes a subprocessor program to process data, but different subprocessors simultaneously read or read the same area in the main memory 1026. In the case of writing, data mismatch can occur. Therefore, access to the main memory 1026 from the subprocessor 1023 is performed in the following procedure.

서브 메모리(1027) 및 워크 메모리(1029)에 대해서도 마찬가지로, 상이한 서브 프로세서가 동일 영역에 대하여 동시에 액세스하는 것이 고려되지만, 여기서는 메인 메모리(1026)에 대하여 나타낸다.Similarly with respect to the sub memory 1027 and the work memory 1029, different sub-processors are considered to access the same area at the same time, but the main memory 1026 is shown here.

도 17a에 도시하는 바와 같이, 메인 메모리(1026)는, 어드레스 지정 가능한 복수의 메모리 로케이션 0∼N에 의해 구성된다. 각 메모리 로케이션에 대해서는, 데이터의 상태를 나타내는 정보를 저장하기 위한 추가 세그먼트 0∼N이 할당된다. 추가 세그먼트는, F/E 비트, 서브 프로세서 ID 및 LS 어드레스(로컬 스토리지 어드레스)를 포함하는 것으로 된다. 또한, 각 메모리 로케이션에는, 후술하는 액세스 키 0∼N도 할당된다. F/E 비트는, 이하와 같이 정의된다.As shown in FIG. 17A, the main memory 1026 is composed of a plurality of addressable memory locations 0 to N. For each memory location, additional segments 0 to N for storing information indicating the state of data are allocated. The additional segment is supposed to include the F / E bit, the subprocessor ID, and the LS address (local storage address). Each memory location is also assigned access keys 0 to N described later. The F / E bit is defined as follows.

F/E 비트=0은, 서브 프로세서(1023)에 의해 판독되고 있는 처리중의 데이터, 또는 공백 상태이기 때문에 최신 데이터가 아닌 무효 데이터이고, 판독 불가인 것을 나타낸다. 또한, F/E 비트=0은, 해당 메모리 로케이션에 데이터 기입 가능한 것을 나타내고, 기입 후에 1로 설정된다.The F / E bit = 0 indicates that data is being processed by the subprocessor 1023 or invalid data that is not the latest data because it is in an empty state and cannot be read. F / E bit = 0 indicates that data can be written to the memory location, and is set to 1 after writing.

F/E 비트=1은, 해당 메모리 로케이션의 데이터가 서브 프로세서(1023)에 의해 판독되지 않고, 미 처리의 최신 데이터인 것을 나타낸다. 해당 메모리 로케이션의 데이터는 판독 가능하고, 서브 프로세서(1023)에 의해 판독된 후에 0으로 설 정된다. 또한, F/E 비트=1은, 해당 메모리 로케이션이 데이터 기입 불가인 것을 나타낸다.F / E bit = 1 indicates that the data of the memory location is not read by the subprocessor 1023 and is the latest unprocessed data. The data in that memory location is readable and is set to zero after being read by the subprocessor 1023. In addition, the F / E bit = 1 indicates that the memory location is impossible to write data.

또한, 상기 F/E 비트=0(판독 불가/기입 가)의 상태에서, 해당 메모리 로케이션에 대하여 판독 예약을 설정하는 것은 가능하다. F/E 비트=0의 메모리 로케이션에 대하여 판독 예약을 행하는 경우에는, 서브 프로세서(1023)는, 판독 예약을 행하는 메모리 로케이션의 추가 세그먼트에, 판독 예약 정보로서 해당 서브 프로세서(1023)의 서브 프로세서 ID 및 LS 어드레스를 기입한다.Further, in the state of the F / E bit = 0 (non-read / write value), it is possible to set a read reservation for the corresponding memory location. When a read reservation is made to a memory location of F / E bit = 0, the subprocessor 1023 adds the subprocessor ID of the subprocessor 1023 as read reservation information to an additional segment of the memory location where the read reservation is made. And the LS address.

그 후, 데이터 기입측의 서브 프로세서(1023)에 의해, 판독 예약된 메모리 로케이션에 데이터가 기입되어, F/E 비트=1(판독 가/기입 불가)로 설정되었을 때, 미리 판독 예약 정보로서 추가 세그먼트에 기입된 서브 프로세서 ID 및 LS 어드레스에 판독된다.Thereafter, when the data is written to the memory location reserved for reading by the subprocessor 1023 on the data writing side, and is set to F / E bit = 1 (read / write impossible), it is added as read reservation information in advance. The subprocessor ID written in the segment and the LS address are read.

복수의 서브 프로세서에 의해 데이터를 다단계로 처리할 필요가 있는 경우, 이와 같이 각 메모리 로케이션의 데이터의 판독/기입을 제어함으로써, 전 단계의 처리를 행하는 서브 프로세서(1023)가, 처리완료 데이터를 메인 메모리(1026)내의 소정 어드레스에 기입한 후에 곧 바로, 후 단계의 처리를 행하는 별도의 서브 프로세서(1023)가 전 처리후의 데이터를 판독하는 것이 가능하게 된다.When it is necessary to process data in multiple stages by a plurality of subprocessors, the subprocessor 1023 which performs the previous stage of processing by the sub-processor 1023 which performs the previous stages of the process by controlling the read / write of the data of each memory location in this way. Immediately after writing to the predetermined address in the memory 1026, a separate subprocessor 1023 which performs the processing of the next step becomes able to read the data after the previous processing.

도 17b에 도시하는 바와 같이, 각 서브 프로세서(1023)내의 LS(1024)도, 어드레스 지정 가능한 복수의 메모리 로케이션 0∼L에 의해 구성된다. 각 메모리 로케이션에 대해서는, 마찬가지로 추가 세그먼트 0∼L이 할당된다. 추가 세그먼트는, 비지 비트를 포함하는 것으로 된다.As shown in FIG. 17B, the LS 1024 in each subprocessor 1023 is also configured by a plurality of addressable memory locations 0 to L. For each memory location, additional segments 0 to L are similarly allocated. The additional segment will contain busy bits.

서브 프로세서(1023)가 메인 메모리(1026)내의 데이터를 자신의 LS(1024)의 메모리 로케이션에 판독할 때에는, 판독처의 메모리 로케이션에 대응하는 비지 비트를 1로 설정하여 예약한다. 비지 비트가 1인 메모리 로케이션에는, 다른 데이터는 저장할 수 없다. LS(1024)의 메모리 로케이션에 판독 후, 비지 비트는 0으로 되어, 임의의 목적으로 사용할 수 있게 된다.When the subprocessor 1023 reads the data in the main memory 1026 to the memory location of its LS 1024, the busy processor corresponding to the memory location of the read destination is set to 1 and reserved. No other data can be stored in the memory location where the busy bit is one. After reading into the memory location of the LS 1024, the busy bit becomes 0, which can be used for any purpose.

도 17a에 도시하는 바와 같이, 또한 각 정보 처리 컨트롤러와 접속된 메인 메모리(1026)에는, 복수의 샌드 박스가 포함된다. 샌드 박스는, 메인 메모리(1026)내의 영역을 획정하는 것이고, 각 샌드 박스는, 각 서브 프로세서(1023)에 할당되어, 그 서브 프로세서를 배타적으로 사용할 수 있다. 즉, 각각의 서브 프로세서(1023)는, 자신에게 할당된 샌드 박스를 사용할 수 있지만, 이 영역을 넘어 데이터의 액세스를 행할 수는 없다.As shown in FIG. 17A, the main memory 1026 further connected to each information processing controller includes a plurality of sandboxes. The sandbox defines an area in the main memory 1026, and each sandbox is assigned to each subprocessor 1023 so that the subprocessor can be used exclusively. That is, each subprocessor 1023 can use the sandbox assigned to itself, but cannot access data beyond this area.

메인 메모리(1026)는, 복수의 메모리 로케이션 0∼N으로 구성되지만, 샌드 박스는, 이들의 메모리 로케이션의 집합이다. 즉, 1개의 샌드 박스는, 1개 또는 복수의 메모리 로케이션으로 구성된다.The main memory 1026 is composed of a plurality of memory locations 0 to N, but the sandbox is a collection of these memory locations. That is, one sandbox is composed of one or a plurality of memory locations.

또한, 메인 메모리(1026)의 배타적인 제어를 실현하기 위해, 도 17c에 도시한 바와 같은 키 관리 테이블이 이용된다. 키 관리 테이블은, 정보 처리 컨트롤러내의 SRAM과 같은 비교적 고속의 메모리에 저장되어, DMAC(1025)와 관련지어진다. 단, 키 관리 테이블은, 워크 메모리(1029)에 저장되어도 무방하다.In addition, in order to realize exclusive control of the main memory 1026, a key management table as shown in Fig. 17C is used. The key management table is stored in a relatively high speed memory such as SRAM in the information processing controller and is associated with the DMAC 1025. However, the key management table may be stored in the work memory 1029.

키 관리 테이블내에는, 정보 처리 컨트롤러내의 서브 프로세서의 수와 동수의 엔트리가 존재하고, 각 엔트리에는, 서브 프로세서 ID 및, 그것에 대응하는 서 브 프로세서 키 및 키 마스크가 관련지어져서 저장된다.In the key management table, there are entries equal to the number of subprocessors in the information processing controller, and each entry is stored in association with the subprocessor ID, the subprocessor key and the key mask corresponding thereto.

서브 프로세서(1023)가 메인 메모리(1026)를 사용할 때의 프로세스는, 이하와 같다. 우선, 서브 프로세서(1023)는 DMAC(1025)에, 판독 또는 기입의 커맨드를 송신한다. 이 커맨드에는, 자신의 서브 프로세서 ID와, 액세스 요구처인 메인 메모리(1026)내의 어드레스가 포함된다.The process when the subprocessor 1023 uses the main memory 1026 is as follows. First, the subprocessor 1023 transmits a read or write command to the DMAC 1025. This command includes its subprocessor ID and an address in the main memory 1026 that is the access request destination.

DMAC(1025)는, 이 커맨드를 실행하기 전에, 키 관리 테이블을 참조하여, 액서스 요구원의 서브 프로세서(1023)의 서브 프로세서 키를 조사한다. 다음으로, DMAC(1025)는, 조사한 액세스 요구원의 서브 프로세서 키와, 액세스 요구처인 메인 메모리(1026)내의 도 17a에 도시한 메모리 로케이션에 할당된 액세스 키를 비교하여, 2개의 키가 일치한 경우에만, 상기의 커맨드를 실행한다.Before executing this command, the DMAC 1025 checks the subprocessor key of the subprocessor 1023 of the access request source by referring to the key management table. Next, the DMAC 1025 compares the subprocessor key of the examined access request source with the access key assigned to the memory location shown in FIG. 17A in the main memory 1026 serving as the access request destination, and the two keys match. Only in case of executing the above command.

도 17c에 도시한 키 관리 테이블상의 키 마스크는, 그 임의의 비트가 1로 됨으로써, 그 키 마스크에 관련지어진 서브 프로세서 키의 대응하는 비트가 0 또는 1로 될 수 있다.In the key mask on the key management table shown in Fig. 17C, any of the bits becomes 1, so that the corresponding bit of the subprocessor key associated with the key mask can be 0 or 1.

예를 들면, 서브 프로세서 키가 1010이라고 하자. 통상적으로, 이 서브 프로세서 키에 의해 1010의 액세스 키를 갖는 샌드 박스에의 액세스만이 가능하다. 그러나, 이 서브 프로세서 키와 관련지어진 키 마스크가 0001로 설정되어 있는 경우에는, 키 마스크의 비트가 1로 설정된 자릿수에 대해서만, 서브 프로세서 키와 액세스 키와의 일치 판정이 마스크되고, 이 서브 프로세서 키 1010에 의해, 액세스 키가 1010 또는 1011 중 어느 하나인 액세스 키를 갖는 샌드 박스에의 액세스가 가능하게 된다.For example, suppose the subprocessor key is 1010. Typically, this subprocessor key only allows access to a sandbox with an access key of 1010. However, when the key mask associated with this subprocessor key is set to 0001, only the number of digits in which the bit of the key mask is set to 1 is matched with the subprocessor key and the access key, and this subprocessor key is masked. The 1010 enables access to a sandbox having an access key whose access key is either 1010 or 1011.

이상과 같이 하여, 메인 메모리(1026)의 샌드 박스의 배타성이 실현된다. 즉, 1개의 정보 처리 컨트롤러내의 복수의 서브 프로세서에 의해 데이터를 다단계로 처리할 필요가 있는 경우, 이상과 같이 구성함으로써, 전 단계의 처리를 행하는 서브 프로세서와, 후 단계의 처리를 행하는 서브 프로세서만이, 메인 메모리(1026)내의 소정 어드레스에 액세스할 수 있게 되어, 데이터를 보호할 수 있다.In this manner, the exclusivity of the sandbox of the main memory 1026 is realized. In other words, when it is necessary to process data in multiple stages by a plurality of subprocessors in one information processing controller, by configuring as described above, only the subprocessor performing the previous stage and the subprocessor performing the subsequent stage The predetermined address in the main memory 1026 can be accessed, thereby protecting data.

예를 들면, 이하와 같이 사용하는 것이 고려된다. 우선, 정보 처리 장치의 기동 직후에는, 키 마스크의 값은 모두 제로이다. 메인 프로세서내의 프로그램이 실행되어, 서브 프로세서내의 서브 프로세서 프로그램과 제휴 동작하는 것으로 한다. 제1 서브 프로세서에 의해 실행된 처리 결과 데이터를 일단, 메인 메모리(1026)에 저장하고, 제2 서브 프로세서에 송신하고자 할 때에는, 해당하는 메인 메모리 영역은, 당연히 어느 쪽의 서브 프로세서로부터도 액세스 가능해야 한다. 그와 같은 경우에, 메인 프로세서내의 프로그램은, 키 마스크의 값을 적절하게 변경하여, 복수의 서브 프로세서로부터 액세스할 수 있는 메인 메모리 영역을 마련함으로써, 서브 프로세서에 의한 다단계적인 처리를 가능하게 한다.For example, use as follows is considered. First, immediately after the start of the information processing apparatus, the values of the key masks are all zero. It is assumed that a program in the main processor is executed to cooperate with the subprocessor program in the subprocessor. When the processing result data executed by the first subprocessor is to be stored in the main memory 1026 and transmitted to the second subprocessor, the corresponding main memory area is naturally accessible from either subprocessor. Should be. In such a case, the program in the main processor appropriately changes the value of the key mask to provide a main memory area that can be accessed from the plurality of subprocessors, thereby enabling multi-step processing by the subprocessor.

보다 구체적으로는, 다른 정보 처리장치로부터의 데이터→제1 서브 프로세서에 의한 처리→제1 메인 메모리 영역→제2 서브 프로세서에 의한 처리→제2 메인 메모리 영역이라고 하는 순서로 다단계 처리가 행하여질 때에는, More specifically, when the multi-step processing is performed in the order of data from another information processing apparatus → processing by the first subprocessor → processing by the first sub memory → processing by the second sub processor → second main memory area. ,

제1 서브 프로세서의 서브 프로세서 키 : 0100, Subprocessor key of the first subprocessor: 0100,

제1 메인 메모리 영역의 액세스 키 : 0100, Access key of the first main memory area: 0100,

제2 서브 프로세서의 서브 프로세서 키 : 0101, Subprocessor key of the second subprocessor: 0101,

제2 메인 메모리 영역의 액세스 키 : 0101, Access key of the second main memory area: 0101,

과 같은 설정대로라면, 제2 서브 프로세서는 제1 메인 메모리 영역에 액세스할 수 없다. 따라서, 제2 서브 프로세서의 키 마스크를 0001로 함으로써, 제2 서브 프로세서에 의한 제1 메인 메모리 영역에의 액세스를 가능하게 할 수 있다.As described above, the second subprocessor cannot access the first main memory area. Therefore, by setting the key mask of the second subprocessor to 0001, it is possible to enable access to the first main memory area by the second subprocessor.

(3-3. 각 서브 프로세서로부터 메인 메모리 및 서브 메모리에의 액세스)(3-3. Access to main memory and sub memory from each sub processor)

1개의 정보 처리 컨트롤러내의 각 서브 프로세서(1023)는, 메인 메모리(1026)에 대해서와 마찬가지로, 서브 메모리(1027)에 대해서도, 판독 또는 기입이 가능하지만, 그 커맨드에는, 몇개의 종류가 고려되고, 우선도의 고저가 있는 것도 있을 수 있다. 그래서 이하에, 각 서브 프로세서(1023)가 정확하게 메인 메모리(1026) 및 서브 메모리(1027)를 사용하기 위한 구성 및 순서를 나타낸다.Each subprocessor 1023 in one information processing controller can be read or written in the sub memory 1027 in the same manner as in the main memory 1026. However, some kinds of commands are considered for the command. Some may have priority. So, below, each subprocessor 1023 shows the structure and order for using the main memory 1026 and the sub memory 1027 correctly.

도 18에 도시하는 바와 같이, DMAC(1025)는 내부에, 메인 메모리 컨트롤 레지스터(1033) 및 서브 메모리 컨트롤 레지스터(1034)를 갖는다. 메인 메모리 컨트롤 레지스터(1033)는, 메인 메모리(1026)에 액세스하기 위한 것으로, 서브 메모리 컨트롤 레지스터(1034)는, 서브 메모리(1027)에 액세스하기 위한 것이다.As shown in FIG. 18, the DMAC 1025 has a main memory control register 1033 and a sub memory control register 1034 therein. The main memory control register 1033 is for accessing the main memory 1026, and the sub memory control register 1034 is for accessing the sub memory 1027.

메인 메모리 컨트롤 레지스터(1033)는, 이하의 4개의 블록으로 구성되고, 이하와 같이 각각이 메인 메모리(1026)에 액세스하기 위한 커맨드를 저장한다.The main memory control register 1033 is composed of the following four blocks, and each stores a command for accessing the main memory 1026 as follows.

우선 커맨드 블록에는, 우선도가 높은 커맨드를 복수개 저장한다. 그 커맨드는 우선적으로 처리된다.First, a plurality of commands having high priority are stored in the command block. The command is processed first.

통상 커맨드 블록1에는, 통상의 커맨드를 복수개 저장하고, 통상 커맨드 블록2에도, 통상의 커맨드를 복수개 저장한다. 통상 커맨드 블록1과 통상 커맨드 블 록2 사이에는, 기능적인 차는 없지만, 예를 들면, 메인 메모리(1026)에의 액세스 실행전의 커맨드를 한쪽의 블록에 저장하고, 실행후의 커맨드를 다른쪽의 블록에 저장하는 것에 의해, 실행전과 실행후의 커맨드를, 각각 집중적 및 연속적으로 처리할 수 있는 효과가 있다.The normal command block 1 stores a plurality of normal commands, and the normal command block 2 also stores a plurality of normal commands. Although there is no functional difference between the normal command block 1 and the normal command block 2, for example, the command before execution of access to the main memory 1026 is stored in one block, and the command after execution is stored in the other block. By doing so, there is an effect that the commands before execution and after execution can be processed intensively and continuously, respectively.

오더 커맨드 블록에는, 올바른 순서로 처리되어야 하는 커맨드를 복수개 저장한다. 즉, 각 서브 프로세서(1023)로부터의 커맨드를, 수신한 순서대로, 커맨드 송신원의 서브 프로세서의 서브 프로세서 ID와 더불어 저장한다. 이에 의해, 수신한 순서대로 커맨드를 처리하고, 또한 동일한 순서로 커맨드 송신원 서브 프로세서에 실행 결과를 회신할 수 있다.In the order command block, a plurality of commands to be processed in the correct order are stored. In other words, the commands from the subprocessors 1023 are stored together with the subprocessor IDs of the subprocessors of the command sender in the received order. As a result, the commands can be processed in the received order, and the execution results can be returned to the command sender subprocessor in the same order.

서브 메모리 컨트롤 레지스터(1034)도, 이하의 4개의 블록으로 구성되고, 이하와 같이 각각이 서브 메모리(1027)에 액세스하기 위한 커맨드를 저장한다.The sub memory control register 1034 is also composed of the following four blocks, and each stores a command for accessing the sub memory 1027 as follows.

우선 커맨드 블록에는, 우선도가 높은 커맨드를 복수개 저장한다. 그 커맨드는 우선적으로 처리된다.First, a plurality of commands having high priority are stored in the command block. The command is processed first.

리드 커맨드 블록에는, 리드 커맨드를 복수개 저장하고, 라이트 커맨드 블록에는, 라이트 커맨드를 복수개 저장한다.A plurality of read commands is stored in the read command block, and a plurality of write commands are stored in the write command block.

대기 커맨드 블록에는, 서브 메모리(1027)내의 임의의 영역에 대하여 액세스를 시도했지만, 대상 영역이 록되어 있어 액세스 불가였던 커맨드를 복수개 저장한다. 록 해제시에는, 그 커맨드는 우선 커맨드 블록으로 이동한다.Although an attempt was made to access an arbitrary area in the sub memory 1027, the standby command block stores a plurality of commands in which the target area is locked and cannot be accessed. Upon unlocking, the command first moves to the command block.

각 서브 프로세서(1023)는, 예를 들면, 도 19에 도시하는 바와 같은 구조의 커맨드에 의해, 메인 메모리(1026) 또는 서브 메모리(1027)에 액세스한다. 액세스 실행후의 메인 메모리(1026) 또는 서브 메모리(1027)로부터의 실행 결과의 레스펀스도, 동일 구조로 된다.Each subprocessor 1023 accesses the main memory 1026 or the sub memory 1027 by, for example, a command having a structure as shown in FIG. 19. The response of the execution result from the main memory 1026 or the sub memory 1027 after the access execution also has the same structure.

이 커맨드/레스펀스 구조에 있어서, 커맨드 타입으로서는, 리드와 라이트가 있다. 우선 커맨드 식별자는, 해당 커맨드가 우선도가 높은 커맨드인 것을 나타낸다. 통상 커맨드 식별자는, 메인 메모리(1026)에의 액세스시의 것이고, 해당 커맨드가 통상 커맨드 블록1 또는 통상 커맨드 블록2에 저장되는 것을 나타낸다.In this command / response structure, the command types are read and write. The priority command identifier indicates that the command is a high priority command. The normal command identifier is at the time of access to the main memory 1026, and indicates that the command is stored in the normal command block 1 or the normal command block 2.

체인 커맨드 식별자도, 메인 메모리(1026)에의 액세스시의 것이고, 해당 커맨드가 직전 또는 직후의 커맨드와 함께 연속적인 액세스가 필요하다는 것을 나타낸다. 또는, 연속하는 커맨드 열의 일련 번호이어도 무방하다. 체인 커맨드 식별자가 세트된 커맨드는, 오더 커맨드 블록에 저장되지만, 처리의 우선도는, 우선 커맨드 블록내의 커맨드보다 높은 것으로 한다.The chain command identifier is also at the time of access to the main memory 1026, and indicates that the command requires continuous access with the command immediately before or after it. Alternatively, the serial number of consecutive command strings may be used. The command in which the chain command identifier is set is stored in the order command block, but the priority of the processing is first higher than the command in the command block.

여기서의 어드레스는, 커맨드를 실행하는 메인 메모리(1026) 또는 서브 메모리(1027)내의 어드레스를 나타낸다. 또는, 워크 메모리(1029)내의 어드레스이어도 무방하다.The address here represents an address in the main memory 1026 or the sub memory 1027 for executing a command. Alternatively, the address may be an address in the work memory 1029.

서브 프로세서 식별자는, 커맨드 송신원의 서브 프로세서의 서브 프로세서 ID이다. 프로세싱 스레드 식별자는, 커맨드 송신원의 후술하는 프로세싱 스레드의 식별자이다.The subprocessor identifier is a subprocessor ID of the subprocessor of the command transmission source. The processing thread identifier is an identifier of a processing thread, which will be described later, from the command sender.

OK/NG는, 커맨드의 성공/실패를 나타낸다. 여기서의 데이터는, 리드 커맨드 실행시에 레스펀스에 포함되는 판독된 데이터, 또는 라이트 커맨드 실행시에 커맨드에 포함되는 기입되는 데이터이다.OK / NG indicates the success / failure of the command. The data herein is read data included in the response at the time of executing the read command, or data written in the command at the time of executing the write command.

도 18에 도시하는 바와 같이, DMAC(1025)내에는, 전술한 각 서브 프로세서(1023)가 메인 메모리(1026)에 정확하게 액세스하기 위한 메인 메모리 컨트롤 레지스터(1033), 및 각 서브 프로세서(1023)가 서브 메모리(1027)에 정확하게 액세스하기 위한 서브 메모리 컨트롤 레지스터(1034) 이외에, 메인 프로세서(1021)가 메인 메모리(1026) 또는 서브 메모리(1027)에 액세스하기 위한 리드 커맨드 및 라이트 커맨드를 각각 복수개 저장할 수 있는 메인 프로세서용 리드 커맨드 블록(1035) 및 메인 프로세서용 라이트 커맨드 블록(1036)을 마련할 수도 있다. 어드레스 변환 레지스터(1037)에 대해서는, 후술한다.As shown in FIG. 18, in the DMAC 1025, the main memory control register 1033 and each subprocessor 1023 for accurately accessing the main memory 1026 to each of the above-described subprocessors 1023 are provided. In addition to the sub memory control register 1034 for accurately accessing the sub memory 1027, the main processor 1021 may store a plurality of read commands and write commands for accessing the main memory 1026 or the sub memory 1027, respectively. The read command block 1035 for the main processor and the write command block 1036 for the main processor may be provided. The address conversion register 1037 will be described later.

또한, 복수의 서브 프로세서가 DMAC(1025)에 대하여, 우선도가 동일한 메모리 액세스 커맨드를 동일한 타이밍으로 송신한 경우에는, 이하의 순서에 따르는 것으로 한다. 즉, DMAC(1025)는, 내부에 메모리 액세스에 성공한 최후의 서브 프로세서를 나타내는 포인터를 갖는 것으로 하고, 복수의 서브 프로세서로부터 우선도가 동일한 메모리 액세스 커맨드를 동일한 타이밍으로 수신했을 때에는, 해당 포인터보다 값이 크고, 또한 해당 포인터와의 차분이 가장 작은 커맨드를 우선시키는 것으로 한다. 이 경우, 가장 큰 포인터 값의 다음은, 가장 작은 포인터 값으로 한다.When the plurality of subprocessors transmit the memory access commands having the same priority to the DMAC 1025 at the same timing, the following procedure is assumed. In other words, the DMAC 1025 has a pointer indicating the last subprocessor that has successfully accessed the memory. When the DMAC 1025 receives memory access commands having the same priority from the plurality of subprocessors at the same timing, the DMAC 1025 has a higher value than the pointer. It is assumed that this larger command and the difference with the pointer have the smallest priority. In this case, the next largest pointer value is assumed to be the smallest pointer value.

(3-4. 각 서브 프로세서로부터 메인 메모리에 정확하게 액세스하기 위한 서브 메모리에의 액세스)(3-4. Access to sub memory for accurate access to main memory from each sub processor)

DRAM 등에 의해 구성되는 메인 메모리(1026), 및 SRAM 등에 의해 구성되는 서브 메모리(1027)는, 당연히, 각각의 소자의 구조가 상이하기 때문에, 사용 목적 도 상이해진다.The main memory 1026 made of DRAM and the like, and the sub memory 1027 made of SRAM and the like, of course, differ in structure of each element, so that their purpose of use is also different.

따라서, 메인 메모리(1026)와 서브 메모리(1027)를 조합하여 사용하는 방법의 일례로서, 각 서브 프로세서(1023)가 메인 메모리(1026)에 액세스할 때의 어드레스 변환을 서브 메모리(1027)가 담당하는 것이 고려된다. 그 때문의 구성 및 순서를, 도 20을 이용하여 나타낸다.Therefore, as an example of a method of using the main memory 1026 and the sub memory 1027 in combination, the sub memory 1027 is responsible for address translation when each sub processor 1023 accesses the main memory 1026. Is considered. The structure and procedure for that are shown using FIG.

전술한 바와 같이, 메인 메모리(1026)는, 복수의 메모리 로케이션에 의해 구성되고, 또한 1개의 샌드 박스는, 1개 또는 복수의 메모리 로케이션으로 구성된다. 그리고, 각 서브 프로세서(1023)는, 자신에게 할당된 샌드 박스를 배타적으로 사용할 수 있다.As described above, the main memory 1026 is configured by a plurality of memory locations, and one sandbox is configured by one or a plurality of memory locations. Each subprocessor 1023 can exclusively use the sandbox assigned to itself.

예를 들면, 도 20a에 나타내는 바와 같이, 임의의 서브 프로세서(1023)에, 메인 메모리(1026)내의 샌드 박스1, 2, 3이 할당되어 있는 것으로 한다. 샌드 박스1은 0x800∼0x8FF, 샌드 박스2는 0x200∼0x2FF, 샌드 박스3은 0xF00∼0xFFF로 하고, 각 샌드 박스는 선두 어드레스에 의해 식별되는 것으로 한다. 즉, 할당되는 각 샌드 박스는, 어드레스가 연속하지 않아도 무방하다.For example, as illustrated in FIG. 20A, it is assumed that sandboxes 1, 2, and 3 in the main memory 1026 are allocated to an arbitrary subprocessor 1023. It is assumed that sandbox 1 is 0x800 to 0x8FF, sandbox 2 is 0x200 to 0x2FF, sandbox 3 is 0xF00 to 0xFFF, and each sandbox is identified by the head address. In other words, the sandboxes to be allocated may not have consecutive addresses.

해당 서브 프로세서(1023)는, 이들 샌드 박스1, 2, 3으로부터 데이터를 판독할 때에는, 우선, DMAC(1025)내의 어드레스 변환 레지스터(1037)에 액세스한다.The subprocessor 1023 first accesses the address conversion register 1037 in the DMAC 1025 when reading data from the sandboxes 1, 2, and 3.

어드레스 변환 레지스터(1037)는, 서브 프로세서(1023)와, 해당 서브 프로세서(1023)에 할당된 샌드 박스를 관련짓는 레지스터이고, 서브 프로세서(1023)의 수와 동수의 엔트리로 구성된다. 여기서는, Q1로 나타나는 엔트리가 해당 서브 프로세서(1023)에 대응하는 것으로 한다.The address translation register 1037 is a register that associates the subprocessor 1023 with the sandbox assigned to the subprocessor 1023 and is composed of an entry equal to the number of the subprocessors 1023. It is assumed here that the entry indicated by Q1 corresponds to the subprocessor 1023.

이 때, 서브 프로세서(1023)는, 자신에게 대응하는 Q1의 값을 판독한다. 또한, 판독된 Q1의 값(0x80)으로 나타나는, 서브 메모리(1027)내의 제1 어드레스로부터, 데이터(0x20)를 판독한다.At this time, the subprocessor 1023 reads the value of Q1 corresponding to itself. Further, data 0x20 is read from the first address in the sub memory 1027, which is indicated by the read value Q1 (0x80).

샌드 박스1의 영역은, Q1의 값에 기초하여 특정된다. 예를 들면, Q1의 값을 16배한 값이 샌드 박스1의 선두 어드레스를 나타내고, 그 선두 어드레스에 255를 가산한 값이 샌드 박스1의 종료 어드레스를 나타낸다. 따라서, 상기한 바와 같이 Q1의 값이 0x80일 때에는, 샌드 박스1의 영역은 0x800∼0x8FF이다.The area of the sandbox 1 is specified based on the value of Q1. For example, a value obtained by multiplying the value of Q1 by 16 times indicates the head address of sandbox 1, and a value obtained by adding 255 to the head address indicates the end address of sandbox 1. Therefore, as described above, when the value of Q1 is 0x80, the area of the sandbox 1 is 0x800 to 0x8FF.

또한, 서브 프로세서(1023)는, 상기의 제1 어드레스로부터 판독된 데이터(0x20)로 나타나는, 동일한 서브 메모리(1027)내의 제2 어드레스로부터, 데이터(0xF0)를 판독한다.Further, the subprocessor 1023 reads data 0xF0 from the second address in the same sub memory 1027, which is represented by the data 0x20 read from the first address.

샌드 박스2의 영역은, 이 제2 어드레스로부터 판독된 데이터에 기초하여 특정된다. 구체적으로, 샌드 박스1과 마찬가지로, 제2 어드레스로부터 판독된 데이터의 값을 16배한 값이 샌드 박스2의 선두 어드레스를 나타내고, 그 선두 어드레스에 255를 가산한 값이 샌드 박스2의 종료 어드레스를 나타낸다. 따라서, 상기한 바와 같이 제2 어드레스로부터 판독된 데이터가 0xF0일 때에는, 샌드 박스2의 영역은 0x200∼0x2FF이다.The area of the sandbox 2 is specified based on the data read out from this second address. Specifically, similarly to sandbox 1, a value 16 times the value of data read from the second address indicates the head address of sandbox 2, and a value obtained by adding 255 to the head address indicates the end address of sandbox 2. . Therefore, when the data read out from the second address is 0xF0 as described above, the area of the sandbox 2 is 0x200 to 0x2FF.

또한, 서브 프로세서(1023)는, 상기의 제2 어드레스로부터 판독된 데이터(0xF0)로 나타나는, 동일한 서브 메모리(1027)내의 제3 어드레스로부터, 데이터(0x00)를 판독한다. 0x00은, 할당된 샌드 박스의 종료를 나타낸다.Further, the subprocessor 1023 reads data 0x00 from the third address in the same sub memory 1027 indicated by the data 0xF0 read from the second address. 0x00 indicates the end of the assigned sandbox.

샌드 박스3의 영역은, 이 제3 어드레스로부터 판독된 데이터에 기초하여 특 정된다. 구체적으로, 샌드 박스1, 2와 마찬가지로, 제3 어드레스로부터 판독된 데이터의 값을 16배한 값이 샌드 박스3의 선두 어드레스를 나타내고, 그 선두 어드레스에 255를 가산한 값이 샌드 박스3의 종료 어드레스를 나타낸다. 따라서, 상기한 바와 같이 제3 어드레스로부터 판독된 데이터가 0x00일 때에는, 샌드 박스3의 영역은 0xF00∼0xFFF이다.The area of the sandbox 3 is specified based on the data read out from this third address. Specifically, similarly to sandboxes 1 and 2, a value 16 times the value of data read from the third address indicates the head address of sandbox 3, and a value obtained by adding 255 to the head address is the end address of sandbox 3 Indicates. Therefore, when the data read out from the third address is 0x00 as described above, the area of the sandbox 3 is 0xF00 to 0xFFF.

이상과 같이, 각 서브 프로세서(1023)는, 자신에게 할당된 샌드 박스의 어드레스가 비연속이더라도, 할당된 샌드 박스에 정확하게 액세스할 수가 있어, 할당된 샌드 박스로부터 데이터를 확실하게 판독할 수 있다.As described above, each subprocessor 1023 can accurately access the assigned sandbox even if the address of the sandbox assigned to it is discontinuous, and can reliably read data from the assigned sandbox.

다음으로, 동일한 서브 프로세서(1023)가, 메인 메모리(1026)내의 새로운 샌드 박스에 데이터를 기입하고, 해당 샌드 박스를 어드레스 변환 레지스터(1037)내의 자신에게 대응한 엔트리에 의해 관리되는 샌드 박스 그룹에 추가하기 위한 순서를, 도 20b를 이용하여 나타낸다.Next, the same subprocessor 1023 writes data to a new sandbox in the main memory 1026 and sends the sandbox to a sandbox group managed by the entry corresponding to itself in the address translation register 1037. The procedure for adding is shown using FIG. 20B.

해당 서브 프로세서(1023)가, 메인 메모리(1026)내의 0x000∼0x0FF의 영역인 샌드 박스4에 데이터를 기입했다고 하자. 이 때, 해당 서브 프로세서(1023)는, 우선, Q1의 값(Q1의 초기값, 예를 들면 상기한 바와 같이 0x80)을 판독한다.It is assumed that the subprocessor 1023 has written data in the sandbox 4 which is an area of 0x000 to 0x0FF in the main memory 1026. At this time, the subprocessor 1023 first reads the value of Q1 (the initial value of Q1, for example, 0x80 as described above).

다음으로, 해당 서브 프로세서(1023)는, 새롭게 데이터를 기입한 샌드 박스4를 특정할 수 있는 서브 메모리(1027)내의 어드레스에, 먼저 판독한 Q1의 값(0x80)을 기입한다. 예를 들면, 금회는 0x000∼0x0FF의 영역에 데이터를 기입했기 때문에, 선두 어드레스인 0x000을 16으로 나눈 0x00으로 나타나는 서브 메모리(1027)내의 어드레스에 Q1의 값(0x80)을 기입한다. 또한, Q1의 값(0x80)을 기입한 서브 메 모리(1027)내의 어드레스(0x00)를 새로운 Q1의 값으로서, 어드레스 변환 레지스터(1037)내의 Q1에 기입한다.Subsequently, the subprocessor 1023 writes a value (0x80) of Q1 that has been read first to an address in the sub memory 1027 that can identify the sandbox 4 into which data is newly written. For example, since data is written in the area of 0x000 to 0x0FF at this time, the value (0x80) of Q1 is written to the address in the sub memory 1027 indicated by 0x00 divided by 16 as the head address 0x000. Further, the address 0x00 in the sub memory 1027 in which the value of Q1 (0x80) is written is written to Q1 in the address conversion register 1037 as the value of the new Q1.

이상과 같이 하여, 각 서브 프로세서(1023)는, 새로운 샌드 박스를 기존의 샌드 박스 그룹에 추가할 수 있다. 이 경우에도, 각 샌드 박스의 어드레스가 비연속이어도 무방하다. 또한, 기존의 샌드 박스 그룹이 존재하지 않고, 최초의 샌드 박스를 서브 메모리(1027) 및 어드레스 변환 레지스터(1037)와 관련지을 때에도, 상기의 방법을 이용할 수 있다.As described above, each subprocessor 1023 can add a new sandbox to an existing sandbox group. Even in this case, the address of each sandbox may be discontinuous. The above method can also be used when there is no existing sandbox group and the first sandbox is associated with the sub memory 1027 and the address translation register 1037.

(3-5. 메인 프로세서 및 각 서브 프로세서로부터 워크 메모리에의 액세스)(3-5. Accessing Work Memory from the Main Processor and Each Subprocessor)

전술한 바와 같이, 메인 메모리(1026)는, DRAM 등에 의해 구성되고, 또한 DMA 방식에 의해 데이터가 전송되기 때문에, 각 서브 프로세서(1023)는, 대용량의 메인 메모리(1026)를 고속으로 사용할 수 있다. 또한, 서브 메모리(1027)는, SRAM 등에 의해 구성되고, 마찬가지로 고속으로 사용할 수 있다.As described above, since the main memory 1026 is constituted by a DRAM or the like and data is transferred by the DMA method, each subprocessor 1023 can use the large capacity main memory 1026 at high speed. . The sub memory 1027 is made of SRAM or the like, and can be used at high speed in the same manner.

또한, 메인 프로세서(1021) 및 각 서브 프로세서(1023)가, 정보 처리 컨트롤러에 접속된 메인 메모리(1026) 및 서브 메모리(1027)와 함께, 정보 처리 컨트롤러 내에 포함되는 워크 메모리(1029)를 작업용 메모리로서 공유하여 사용할 수 있으면, 한층 더 고속화를 실현할 수 있다.In addition, the main processor 1021 and each subprocessor 1023 work memory 1029 included in the information processing controller together with the main memory 1026 and the sub memory 1027 connected to the information processing controller. As long as it can be used as a share, it is possible to realize higher speed.

또한, 해당 워크 메모리(1029)에 의해 간단한 수치 연산을 할 수 있으면, 효율적이다. 워크 메모리(1029)는, 전술한 바와 같이 SRAM 등에 의해 구성되기 때문에, DRAM과 같은 대용량화는 기대할 수 없지만, 매우 고속이다.In addition, if a simple numerical operation can be performed by the work memory 1029, it is efficient. Since the work memory 1029 is made of SRAM or the like as described above, a large capacity such as DRAM cannot be expected, but it is very fast.

이하에, 메인 프로세서(1021) 및 각 서브 프로세서(1023)가 워크 메모리 (1029)에 액세스하는 경우의 구성 및 순서를 나타낸다.The configuration and procedure in the case where the main processor 1021 and each subprocessor 1023 access the work memory 1029 are shown below.

도 21에 나타내는 바와 같이, 워크 메모리(1029)는, 컨트롤러(1038)와 RAM(1039)으로 구성된다. RAM(1039)으로서는, SRAM을 이용할 수 있지만, 그것에 한정되는 것은 아니다. RAM(1039)은, 복수의 블록으로 구성된다. 각 블록에는, 어드레스가 할당되고, 데이터가 기억된다.As shown in FIG. 21, the work memory 1029 includes a controller 1038 and a RAM 1039. As the RAM 1039, an SRAM can be used, but is not limited thereto. The RAM 1039 is composed of a plurality of blocks. An address is assigned to each block, and data is stored.

메인 프로세서(1021) 및 각 서브 프로세서(1023)는, 컨트롤러(1038)를 통하여 RAM(1039)에 액세스한다. 구체적으로, 메인 프로세서(1021) 및 각 서브 프로세서(1023)는, 컨트롤러(1038)에 커맨드, 어드레스 또는 데이터 등을 송신하고, 컨트롤러(1038)는, 그것에 따라서 RAM(1039)에 액세스한다.The main processor 1021 and each subprocessor 1023 access the RAM 1039 through the controller 1038. Specifically, the main processor 1021 and each subprocessor 1023 transmit commands, addresses, data, and the like to the controller 1038, and the controller 1038 accesses the RAM 1039 accordingly.

처리 실행후, 컨트롤러(1038)는, 커맨드 송신원의 메인 프로세서(1021) 또는 서브 프로세서(1023)에 커맨드 실행 결과를 회신한다.After the execution of the process, the controller 1038 returns the command execution result to the main processor 1021 or the subprocessor 1023 of the command transmission source.

각 서브 프로세서(1023)가 워크 메모리(1029)에 액세스할 때의 커맨드는, 예를 들면 도 19에 도시한 바와 같은, 메인 메모리(1026) 또는 서브 메모리(1027)에의 액세스시에 이용하는 것과 동일하다. 처리 실행후의 워크 메모리(1029)로부터의 실행 결과의 레스펀스도, 동일 구조이다.Commands when each subprocessor 1023 accesses the work memory 1029 are the same as those used when accessing the main memory 1026 or the sub memory 1027 as shown in FIG. 19, for example. . The response of the execution result from the work memory 1029 after the processing execution is also the same structure.

단, 워크 메모리(1029)에 액세스하는 경우에는, 도 19에 도시한 커맨드 중의 우선 커맨드 식별자, 통상 커맨드 식별자, 체인 커맨드 식별자, 프로세싱 스레드 식별자는, 기본적으로 사용하지 않는다. 그러나, 워크 메모리(1029)가, 이들의 식별자에 대응 가능하면, 사용해도 무방하다. 커맨드 타입으로서는, 이하에 도시하는 바와 같은, 몇 개 정도가 고려된다.However, when the work memory 1029 is accessed, the priority command identifier, normal command identifier, chain command identifier, and processing thread identifier in the commands shown in FIG. 19 are not used basically. However, the work memory 1029 may be used as long as it can cope with these identifiers. As the command type, some are considered as shown below.

제1은, 리드 커맨드이다. 이것은, 워크 메모리(1029)내의 데이터를 판독하기 위해 사용된다. 메인 프로세서(1021) 및 각 서브 프로세서(1023)는, 리드 커맨드와 함께, 원하는 데이터를 기억하는 RAM(1039)내의 블록의 어드레스도 송신한다. 컨트롤러(1038)로부터는, 실행 결과로서, 리드 커맨드의 성공/실패를 나타내는 OK/NG로, 판독된 데이터가 회신된다.The first is a read command. This is used to read data in the work memory 1029. The main processor 1021 and each subprocessor 1023 also transmit the address of the block in the RAM 1039 that stores desired data together with the read command. The controller 1038 returns the read data as OK / NG indicating success / failure of the read command as the execution result.

제2는, 라이트 커맨드이다. 이것은, 워크 메모리(1029)내에 데이터를 기입하기 위해 사용된다. 메인 프로세서(1021) 및 각 서브 프로세서(1023)는, 라이트 커맨드, 데이터, 해당 데이터를 기억시키는 RAM(1039)내의 블록의 어드레스를 송신한다. 컨트롤러(1038)로부터는, 실행 결과로서, 라이트 커맨드의 성공/실패를 나타내는 OK/NG가 회신된다.The second is a write command. This is used to write data into the work memory 1029. The main processor 1021 and each subprocessor 1023 transmit a write command, data, and an address of a block in the RAM 1039 that stores the data. The controller 1038 returns an OK / NG indicating the success / failure of the write command as the execution result.

제3은, 가산 커맨드이다. 이것은, 워크 메모리(1029)내의 데이터를 가산하기 위해 사용된다. 메인 프로세서(1021) 및 각 서브 프로세서(1023)는, 가산 커맨드, 가산시키는 데이터를 기억하는 RAM(1039)내의 블록의 어드레스를 송신한다. 컨트롤러(1038)는, 수신한 어드레스의 블록에 있어서의 데이터에 1을 가산하여, 덮어쓰기 한다. 실행 결과로서, 가산 커맨드의 성공/실패를 나타내는 OK/NG가 회신된다.The third is an addition command. This is used to add data in the work memory 1029. The main processor 1021 and each subprocessor 1023 transmit an address of a block in the RAM 1039 that stores an addition command and data to be added. The controller 1038 adds 1 to the data in the block of the received address and overwrites it. As an execution result, OK / NG indicating the success / failure of the addition command is returned.

제4는, 세트 커맨드이다. 이것은, 워크 메모리(1029)내의 데이터를 비트 단위로 조작하기 위해 사용된다. 메인 프로세서(1021) 및 각 서브 프로세서(1023)는, 세트 커맨드, 조작하는 데이터를 기억하는 RAM(1039)내의 블록의 어드레스, 및 마스크 데이터를 송신한다.The fourth is a set command. This is used to manipulate data in the work memory 1029 bit by bit. The main processor 1021 and each subprocessor 1023 transmit a set command, an address of a block in the RAM 1039 that stores data to be operated, and mask data.

이에 대하여, 컨트롤러(1038)는, 수신한 마스크 데이터와, 수신한 어드레스의 블록에 있어서의 데이터를 비교하여, 마스크 데이터에 있어서 값이 1인 비트와 동일한 위치의, 데이터에 있어서의 비트의 값을 1로 한다. 실행 결과로서, 세트 커맨드의 완료를 나타내는 Completed가 회신된다. 이 때, 세트 커맨드 실행전의 데이터도 회신함으로써, 커맨드의 성공/실패를 확인할 수 있도록 하여도 무방하다.In contrast, the controller 1038 compares the received mask data with the data in the block of the received address, and compares the value of the bit in the data with the same position as the bit having the value 1 in the mask data. 1 As a result of execution, Completed indicating completion of the set command is returned. At this time, the data before execution of the set command may also be returned to confirm the success / failure of the command.

제5는, 클리어 커맨드이다. 이것도, 워크 메모리(1029)내의 데이터를 비트 단위로 조작하기 위해 사용된다. 메인 프로세서(1021) 및 각 서브 프로세서(1023)는, 클리어 커맨드, 조작하는 데이터를 기억하는 RAM(1039)내의 블록의 어드레스, 및 마스크 데이터를 송신한다.The fifth is a clear command. This is also used to manipulate data in the work memory 1029 in units of bits. The main processor 1021 and each subprocessor 1023 transmit a clear command, an address of a block in the RAM 1039 that stores data to be operated, and mask data.

이에 대하여, 컨트롤러(1038)는, 수신한 마스크 데이터와, 수신한 어드레스의 블록에 있어서의 데이터를 비교하여, 마스크 데이터에 있어서 값이 1인 비트와 동일한 위치의, 데이터에 있어서의 비트의 값을 0으로 한다. 실행 결과로서, 클리어 커맨드의 완료를 나타내는 Completed가 회신된다. 이 때, 클리어 커맨드 실행전의 데이터도 회신함으로써, 커맨드의 성공/실패를 확인할 수 있도록 하여도 무방하다.In contrast, the controller 1038 compares the received mask data with the data in the block of the received address, and compares the value of the bit in the data with the same position as the bit having the value 1 in the mask data. 0. As a result of execution, Completed indicating completion of the clear command is returned. At this time, the data before the clear command is also returned, so that the success / failure of the command can be confirmed.

이상과 같이, 메인 프로세서(1021) 및 각 서브 프로세서(1023)는, 대용량의 메인 메모리(1026) 및 고속의 서브 메모리(1027) 이외에, 워크 메모리(1029)를 병용할 수 있다. 또한, 워크 메모리(1029)를 메인 메모리(1026) 또는 서브 메모리(1027)의 캐쉬로서 이용하면, 한층 더 고속화를 기대할 수 있다.As described above, the main processor 1021 and each subprocessor 1023 can use the work memory 1029 in addition to the large capacity main memory 1026 and the high speed sub memory 1027. In addition, when the work memory 1029 is used as a cache of the main memory 1026 or the sub memory 1027, a higher speed can be expected.

(3-6. 각 서브 프로세서 내의 프로세싱 스레드)(3-6. Processing Threads in Each Subprocessor)

전술한 바와 같이, 1개의 정보 처리 컨트롤러내의 각 서브 프로세서(1023)는 구조상 독립되어 있다. 따라서, 각각의 서브 프로세서(1023)가 독립적으로 서브 프로세서 프로그램을 실행하여, 데이터를 처리할 수 있다. 또한, 각 서브 프로세서(1023)가 내부에, 가상적으로 독립한 복수의 프로세싱 스레드를 갖는 것도 고려된다. 그 구조를 도 22에 나타낸다.As described above, each subprocessor 1023 in one information processing controller is independent in structure. Thus, each subprocessor 1023 independently executes a subprocessor program to process data. It is also contemplated that each subprocessor 1023 has a plurality of virtually independent processing threads therein. The structure is shown in FIG.

서브 프로세서(1023)는, 내부에 갖는 아비터(1040)를 통하여, 버스(1032)와 접속된다. 서브 프로세서(1023)내에는, 또한 LS(로컬 스토리지)(1024)와 프로세싱 스레드(1041, 1042, 1043 및 1044)가 포함되고, 아비터(1040)는, 외부로부터의 신호를 적절한 프로세싱 스레드에 통지하는 역할을 담당한다.The subprocessor 1023 is connected to the bus 1032 through an arbiter 1040 included therein. The subprocessor 1023 also includes LS (local storage) 1024 and processing threads 1041, 1042, 1043 and 1044, and the arbiter 1040 notifies the appropriate processing thread of signals from the outside. Play a role.

도 22에서는 각 프로세싱 스레드(1041, 1042, 1043 및 1044)를 독립적으로 나타내고 있지만, 어디까지나 가상적인 독립이다. 프로세싱 스레드(1041, 1042, 1043 및 1044)는, 각각 프로세싱 스레드 식별자가 할당되고, 독립 또한 병렬로 동작 가능하다.In FIG. 22, each processing thread 1041, 1042, 1043, and 1044 is shown independently, but is virtually independent. The processing threads 1041, 1042, 1043 and 1044 are each assigned a processing thread identifier and can operate independently and in parallel.

각 프로세싱 스레드(1041, 1042, 1043 및 1044)는, 메인 메모리(1026), 서브 메모리(1027) 또는 워크 메모리(1029)에 대하여 독립적으로 액세스를 행하기 위하여, 커맨드 송신원의 프로세싱 스레드에 확실하게 레스펀스가 회신되도록 해야 한다. 이를 위한 순서를 이하에 나타낸다.Each processing thread 1041, 1042, 1043, and 1044 reliably addresses the processing thread of the command sender to independently access the main memory 1026, the sub memory 1027, or the work memory 1029. Make sure the fund is returned. The procedure for this is shown below.

각 프로세싱 스레드(1041, 1042, 1043 및 10440)가 각각의 메모리에 액세스할 때의 커맨드는, 예를 들면 도 19에 도시한 바와 같은, 각 서브 프로세서(1023)가 메모리에 액세스할 때에 이용하는 것과 동일하다. 처리 실행후의 각 메모리로 부터의 실행 결과의 레스펀스도, 동일 구조이다.The command when each processing thread 1041, 1042, 1043, and 10440 accesses each memory is the same as that used by each subprocessor 1023 when accessing the memory, for example, as shown in FIG. 19. Do. The response of the execution result from each memory after the processing execution is also the same structure.

도 19의 커맨드/레스펀스 구조에 대해서는 전술했지만, 서브 프로세서 식별자는 커맨드 송신원의 서브 프로세서의 서브 프로세서 ID이고, 또한 프로세싱 스레드 식별자는, 해당 서브 프로세서 내의 어느 프로세싱 스레드가 커맨드 송신원인지를 식별하기 위한 것이다.Although the command / response structure of FIG. 19 has been described above, the subprocessor identifier is the subprocessor ID of the subprocessor of the command sender, and the processing thread identifier is for identifying which processing thread in the subprocessor is the command sender. .

메인 메모리(1026), 서브 메모리(1027) 또는 워크 메모리(1029)로부터의 레스펀스는, 우선 서브 프로세서 식별자에 기초하여, 커맨드 송신원의 서브 프로세서(1023)에 회신된다. 또한, 프로세싱 스레드 식별자에 기초하여, 서브 프로세서(1023)내의 아비터(1040)에 의해, 커맨드 송신원의 프로세싱 스레드에 회신된다.The response from the main memory 1026, the sub memory 1027, or the work memory 1029 is first returned to the subprocessor 1023 of the command transmission source based on the subprocessor identifier. Further, based on the processing thread identifier, the arbiter 1040 in the subprocessor 1023 is returned to the processing thread of the command sender.

단, 동일한 처리를 행할 때 등, 서브 프로세서 내의 복수의 프로세싱 스레드 중의 어느 것이어도 무방한 경우에는, 프로세싱 스레드 식별자에 기초하지 않고서, 처리 부하가 가벼운 프로세싱 스레드에 회신하도록 하여도 무방하다. 또한, 메인 메모리(1026), 서브 메모리(1027) 또는 워크 메모리(1029)로부터 레스펀스를 수신할 때마다, 복수의 프로세싱 스레드 중의 1개를 차례차례로 선택하고, 그 선택된 프로세싱 스레드에 해당 레스펀스를 회신하도록 하여도 무방하다.However, when any of a plurality of processing threads in the subprocessor, for example, when performing the same processing, it is possible to return the processing load to the light processing thread without the processing thread identifier. In addition, each time a response is received from the main memory 1026, the sub memory 1027, or the work memory 1029, one of the plurality of processing threads is sequentially selected, and the response is selected for the selected processing thread. You may reply.

이상과 같이, 각 서브 프로세서(1023) 내의 복수의 프로세싱 스레드가, 메인 메모리(1026), 서브 메모리(1027) 또는 워크 메모리(1029)에 대하여 독립적으로 액세스를 행하는 경우에도, 커맨드 송신원의 프로세싱 스레드에 확실하게 레스펀스가 회신되도록 할 수 있다.As described above, even when a plurality of processing threads in each subprocessor 1023 independently access the main memory 1026, the sub memory 1027, or the work memory 1029, the processing threads of the command transmission source are provided. You can make sure that the response is returned.

(3-7. 컨트롤 레지스터에 의한 서브 프로세서 프로그램의 관리)(3-7. Subprocessor Program Management with Control Registers)

1개의 정보 처리 컨트롤러 내에 복수의 서브 프로세서(1023)가 존재하고, 또한 각 서브 프로세서(1023) 내에 복수의 프로세싱 스레드를 갖는 경우에, 정보 처리 컨트롤러 내에서 처리되어야 하는 서브 프로세서 프로그램을, 어느 프로세싱 스레드에 처리시킬지를 결정하는 것은, 정보 처리 컨트롤러의 고속화를 실현하는 데에 있어서 중요하다.In the case where a plurality of subprocessors 1023 exist in one information processing controller and there are a plurality of processing threads in each subprocessor 1023, which processing thread needs to process a subprocessor program to be processed in the information processing controller. Determining whether or not to process the data processing module is important for realizing speeding up the information processing controller.

그래서 이하에, 도 16에 도시한 컨트롤 레지스터(1028)를 사용함으로써, 각 프로세싱 스레드에 대하여 적절하게 서브 프로세서 프로그램의 처리를 할당하여, 정보 처리 컨트롤러를 효율적으로 동작시키는 구성 및 순서를 나타낸다.Thus, by using the control register 1028 shown in FIG. 16 below, a configuration and procedure for efficiently allocating the processing of the subprocessor program to each processing thread to efficiently operate the information processing controller are shown.

도 23에 나타내는 바와 같이, 컨트롤 레지스터(1028)는, 처리 대기 서브 프로세서 프로그램 레지스터(1045)와 서브 프로세서 프로그램 처리 진척 레지스터(1046)로 구성된다.As shown in FIG. 23, the control register 1028 is comprised from the process waiting subprocessor program register 1045 and the subprocessor program process progress register 1046. As shown in FIG.

처리 대기 서브 프로세서 프로그램 레지스터(1045)에 대하여 나타내면, 메인 프로세서(1021)는, 정보 처리 컨트롤러 내에서 처리되어야 하는 서브 프로세서 프로그램이 발생한 경우에는, 처리 대기 서브 프로세서 프로그램 레지스터(1045) 내에, 해당 서브 프로세서 프로그램 또는 이에 관련하는 데이터가 저장되어 있는 메인 메모리(1026), 서브 메모리(1027), 워크 메모리(1029), 또는 LS(로컬 스토리지)(1022 또는 1024)에 있어서의 어드레스를 기입한다.Referring to the processing wait subprocessor program register 1045, when the subprocessor program to be processed is generated in the information processing controller, the main processor 1021 is located in the processing wait subprocessor program register 1045. The address in the main memory 1026, the sub memory 1027, the work memory 1029, or the LS (local storage) 1022 or 1024 in which a program or data related thereto is stored is written.

처리되어야 하는 서브 프로세서 프로그램이 존재하지 않는 상태에서는, 처리 대기 서브 프로세서 프로그램 레지스터(1045)의 값은 제로이다. 모든 프로세싱 스레드는, 자신이 아무것도 서브 프로세서 프로그램을 실행하고 있지 않는 동안은, 정기적 또는 비정기적으로 처리 대기 서브 프로세서 프로그램 레지스터(1045)의 값을 판독하고, 그 결과, 제로가 아닌 값을 판독한 프로세싱 스레드가 처리를 행하는 것으로 한다.In the state where there is no subprocessor program to be processed, the value of the processing waiting subprocessor program register 1045 is zero. All of the processing threads read the value of the processing wait subprocessor program register 1045 periodically or irregularly, as long as nothing is executing the subprocessor program, and as a result, processing that reads a non-zero value. It is assumed that the thread performs processing.

이와 함께, 해당 프로세싱 스레드는, 처리 대기 서브 프로세서 프로그램 레지스터(1045)에 제로의 값을 기입한다. 처리를 행하는 프로세싱 스레드는, 판독한 처리 대기 서브 프로세서 프로그램 레지스터(1045)의 값에 기초하여, 처리 대상으로 되는 서브 프로세서 프로그램 또는 관련 데이터를 판독하여, 처리한다. 이 때, 서브 프로세서 프로그램은 이미 해당 프로세싱 스레드를 갖는 서브 프로세서(1023)에 판독되어 있고, 서브 프로세서 프로그램의 판독은 불필요한 것도 고려된다.At the same time, the processing thread writes a zero value to the processing wait subprocessor program register 1045. The processing thread which performs the process reads and processes the subprocessor program or related data to be processed based on the value of the read waiting subprocessor program register 1045. At this time, the subprocessor program has already been read into the subprocessor 1023 having the corresponding processing thread, and the reading of the subprocessor program is also considered unnecessary.

이와 같이 하여, 서브 프로세서 프로그램을 실행하지 않는, 처리 능력에 여유가 있는 프로세싱 스레드에 신속하게 서브 프로세서 프로그램의 처리를 할당할 수 있어, 정보 처리 컨트롤러를 효율적으로 동작시킬 수 있다.In this way, the processing of the subprocessor program can be promptly assigned to the processing thread having a sufficient processing capacity not to execute the subprocessor program, and the information processing controller can be operated efficiently.

서브 프로세서 프로그램 처리 진척 레지스터(1046)는, 서브 프로세서 프로그램의 처리가 할당된 프로세싱 스레드가, 처리 진척 상황을 기입하기 위한 2비트(x, y)의 레지스터이다. 예를 들면, (0, 0)은 미 처리를 나타내고, (0, 1)은 처리중의 단계1을 나타내고, (1, 0)은 처리중의 단계2를 나타내며, (1, 1)은 처리 완료를 나타낸다. 또한, 이 2비트와 함께, 프로세싱 스레드 식별자를 기입함으로써, 처리가 할당된 프로세싱 스레드를 나타내도록 하여도 무방하다.The subprocessor program processing progress register 1046 is a 2-bit (x, y) register for writing the processing progress status by the processing thread to which the processing of the subprocessor program is assigned. For example, (0, 0) represents unprocessed, (0, 1) represents step 1 in processing, (1, 0) represents step 2 in processing, and (1, 1) represents processing Indicates completion In addition, by writing the processing thread identifier together with these two bits, it is possible to indicate the processing thread to which the process is allocated.

또는, 정보 처리 컨트롤러 내의 각 프로세싱 스레드마다, 서브 프로세서 프로그램의 처리 진척 상황을 기입하기 위한 레지스터를 마련하여도 무방하다.Alternatively, a register for writing processing progress of the subprocessor program may be provided for each processing thread in the information processing controller.

서브 프로세서 프로그램 처리 진척 레지스터(1046)는, 정보 처리 컨트롤러 내의 메인 프로세서(1021), 모든 서브 프로세서(1023) 및 모든 프로세싱 스레드가 액세스 가능하고, 이에 의해, 서브 프로세서 프로그램의 처리 진척 상황을 적확하게 파악할 수 있다. 또한, 각 프로세싱 스레드마다 처리 진척 레지스터를 마련하는 경우에는, 복수의 서브 프로세서 프로그램이 동시에 실행되는 경우에도 처리 진척 상황의 파악이 가능하게 된다.The subprocessor program processing progress register 1046 is accessible to the main processor 1021, all subprocessors 1023, and all processing threads in the information processing controller, thereby accurately determining the progress of processing of the subprocessor program. Can be. In addition, in the case where a processing progress register is provided for each processing thread, the processing progress can be grasped even when a plurality of subprocessor programs are executed at the same time.

이상이, 각 서브 프로세서(1023)가 내부에, 가상적으로 독립한 복수의 프로세싱 스레드를 갖는 경우의 프로세싱 스레드 관리 방법의 예이다.The above is an example of a processing thread management method in the case where each subprocessor 1023 has a plurality of virtually independent processing threads therein.

또한, 이하에 있어서는, 서브 프로세서가 약간의 처리를 행하는 경우에는, 해당 서브 프로세서 내부의 어느 프로세싱 스레드가 처리를 행하여도 상관없는 것으로 하고, 프로세싱 스레드의 상이에 의한 실행 결과의 차이는 발생하지 않는 것으로 한다. 따라서, 서브 프로세서의 처리 내용에 대하여, 서브 프로세서 내부의 복수의 프로세싱 스레드가 어떻게 처리를 분담하는가에 대해서는 설명을 생략한다.In addition, in the following, when a subprocessor performs some processing, it does not matter which processing thread in the said subprocessor processes, and the difference of the execution result by the difference of a processing thread does not arise. do. Therefore, the description of how the plurality of processing threads in the subprocessor share processing with respect to the processing contents of the subprocessor is omitted.

(3-8. 소프트웨어 셀의 생성 및 구성)(3-8. Creating and Configuring Software Cells)

도 16의 네트워크 시스템에서는, 정보 처리 장치(1001, 1002, 1003 및 1004) 사이에서의 분산 처리를 위해, 정보 처리 장치(1001, 1002, 1003 및 1004) 사이에서 소프트웨어 셀이 전송된다. 즉, 임의의 정보 처리 장치내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(1021)는, 커맨드, 프로그램 및 데이터를 포함하는 소프트웨어 셀을 생성하여, 네트워크(1009)를 통하여 다른 정보 처리 장치에 송신함에 의해, 처리를 분산할 수 있다.In the network system of FIG. 16, software cells are transmitted between the information processing apparatuses 1001, 1002, 1003, and 1004 for distributed processing between the information processing apparatuses 1001, 1002, 1003, and 1004. That is, the main processor 1021 included in the information processing controller in an arbitrary information processing apparatus generates a software cell containing a command, a program, and data, and transmits it to another information processing apparatus via the network 1009. The processing can be distributed.

도 3에, 소프트웨어 셀의 구성의 일례를 나타낸다. 이 예의 소프트웨어 셀은, 전체적으로, 송신원 ID, 송신처 ID, 응답처 ID, 셀 인터페이스, DMA 커맨드, 프로그램, 및 데이터에 의해 구성된다.3 shows an example of the configuration of the software cell. The software cell of this example is entirely composed of a transmission source ID, a transmission destination ID, a response destination ID, a cell interface, a DMA command, a program, and data.

송신원 ID에는, 소프트웨어 셀의 송신원인 정보 처리 장치의 네트워크 어드레스 및 정보 처리 장치 ID, 또한 그 정보 처리 장치내의 정보 처리 컨트롤러가 구비하는 메인 프로세서(1021) 및 각 서브 프로세서(1023)의 식별자(메인 프로세서 ID 및 서브 프로세서 ID)가 포함된다.The transmission source ID includes a network address and an information processing device ID of an information processing device which is a transmission source of a software cell, and an identifier of a main processor 1021 and each subprocessor 1023 included in the information processing controller in the information processing device (main processor ID and subprocessor ID).

송신처 ID 및 응답처 ID에는, 각각 소프트웨어 셀의 송신처인 정보 처리 장치, 및 소프트웨어 셀의 실행 결과의 응답처인 정보 처리 장치에 대한, 동일한 정보가 포함된다.The transmission destination ID and the response destination ID each include the same information about the information processing device that is the destination of the software cell and the information processing device that is the destination of the execution result of the software cell.

셀 인터페이스는, 소프트웨어 셀의 이용에 필요한 정보이고, 글로벌 ID, 필요한 서브 프로세서의 정보, 샌드 박스 사이즈, 및 전회의 소프트웨어 셀 ID로 구성된다.The cell interface is information necessary for the use of a software cell, and is composed of a global ID, information of a required subprocessor, a sandbox size, and a previous software cell ID.

글로벌 ID는, 네트워크 전체를 통하여 해당 소프트웨어 셀을 일의적으로 식별할 수 있는 것으로, 송신원 ID, 및 소프트웨어 셀의 작성 또는 송신의 일시(날짜 및 시각)에 기초하여 작성된다.The global ID can uniquely identify the corresponding software cell throughout the network, and is created based on the source ID and the date and time (date and time) of the creation or transmission of the software cell.

필요한 서브 프로세서의 정보는, 해당 소프트웨어 셀의 실행에 필요한 서브 프로세서의 수가 설정된다. 샌드 박스 사이즈는, 해당 소프트웨어 셀의 실행에 필요한 메인 메모리(1026)내 및 서브 프로세서(1023)의 LS(1024)내의 메모리량이 설정된다.The number of subprocessors required is set to the number of subprocessors required for the execution of the software cell. The sandbox size is set in the amount of memory in the main memory 1026 and the LS 1024 of the subprocessor 1023 required for the execution of the software cell.

전회의 소프트웨어 셀 ID는, 스트리밍 데이터 등의 순차적인 실행을 요구하는 1 그룹의 소프트웨어 셀 내의, 전회의 소프트웨어 셀의 식별자이다.The last software cell ID is an identifier of the previous software cell in a group of software cells that require sequential execution of streaming data or the like.

소프트웨어 셀의 실행 섹션은, DMA 커맨드, 프로그램 및 데이터로 구성된다. DMA 커맨드에는, 프로그램의 기동에 필요한 일련의 DMA 커맨드가 포함되고, 프로그램에는, 서브 프로세서(1023)에 의해 실행되는 서브 프로세서 프로그램이 포함된다. 여기서의 데이터는, 이 서브 프로세서 프로그램을 포함하는 프로그램에 의해 처리되는 데이터이다.The execution section of the software cell is composed of DMA commands, programs and data. The DMA command includes a series of DMA commands necessary for starting the program, and the program includes a subprocessor program executed by the subprocessor 1023. Data here is data processed by the program containing this subprocessor program.

또한, DMA 커맨드에는, 로딩 커맨드, 킥 커맨드, 기능 프로그램 실행 커맨드, 스테이터스 요구 커맨드, 및 스테이터스 회신 커맨드가 포함된다.The DMA command also includes a loading command, a kick command, a function program execution command, a status request command, and a status reply command.

로딩 커맨드는, 메인 메모리(1026)내의 정보를 서브 프로세서(1023)내의 LS(1024)에 로딩하는 커맨드이고, 로딩 커맨드 자체 이외에, 메인 메모리 어드레스, 서브 프로세서 ID 및 LS 어드레스를 포함한다. 메인 메모리 어드레스는, 정보의 로딩원인 메인 메모리(1026)내의 소정 영역의 어드레스를 나타낸다. 서브 프로세서 ID 및 LS 어드레스는, 정보의 로딩처인 서브 프로세서(1023)의 식별자 및 LS(1024)의 어드레스를 나타낸다.The loading command is a command for loading information in the main memory 1026 into the LS 1024 in the subprocessor 1023 and includes a main memory address, a subprocessor ID, and an LS address in addition to the loading command itself. The main memory address indicates an address of a predetermined area in the main memory 1026 that is the source of loading the information. The subprocessor ID and the LS address indicate an identifier of the subprocessor 1023 which is the loading destination of the information and the address of the LS 1024.

킥 커맨드는, 서브 프로세서 프로그램의 실행을 개시하는 커맨드이고, 킥 커맨드 자체 이외에, 서브 프로세서 ID 및 프로그램 카운터를 포함한다. 서브 프로세서 ID는, 킥 대상의 서브 프로세서(1023)를 식별하고, 프로그램 카운터는, 서브 프로세서 프로그램 실행용 프로그램 카운터를 위한 어드레스를 부여한다.The kick command is a command for starting execution of a subprocessor program and includes, in addition to the kick command itself, a subprocessor ID and a program counter. The subprocessor ID identifies the subprocessor 1023 to be kicked, and the program counter gives an address for the subprocessor program execution program counter.

기능 프로그램 실행 커맨드는, 후술하는 바와 같이, 임의의 정보 처리 장치 가 다른 정보 처리 장치에 대하여, 기능 프로그램의 실행을 요구하는 커맨드이다. 기능 프로그램 실행 커맨드를 수신한 정보 처리 장치내의 정보 처리 컨트롤러는, 후술하는 기능 프로그램 ID에 의해, 기동해야 할 기능 프로그램을 식별한다.The function program execution command is a command for requesting execution of a function program to another information processing apparatus from another information processing apparatus as described later. The information processing controller in the information processing apparatus that receives the function program execution command identifies the function program to be started by the function program ID described later.

스테이터스 요구 커맨드는, 송신처 ID에서 나타나는 정보 처리 장치의 현재의 동작 상태(상황)에 관한 장치 정보를, 응답처 ID에서 나타나는 정보 처리 장치에 송신하는 것을 요구하는 커맨드이다. 기능 프로그램에 대해서는 후술하지만, 도 6에 도시하는 정보 처리 장치의 메인 메모리(1026)가 기억하는 소프트웨어의 구성도에서 기능 프로그램으로 분류되는 프로그램이다. 기능 프로그램은, 메인 메모리(1026)에 로딩되어, 메인 프로세서(1021)에 의해 실행된다.The status request command is a command for requesting transmission of device information relating to the current operating state (situation) of the information processing apparatus indicated by the transmission destination ID to the information processing apparatus indicated by the response destination ID. Although a functional program is mentioned later, it is a program classified as a functional program in the block diagram of the software which the main memory 1026 of the information processing apparatus shown in FIG. 6 stores. The function program is loaded into the main memory 1026 and executed by the main processor 1021.

스테이터스 회신 커맨드는, 상기의 스테이터스 요구 커맨드를 수신한 정보 처리 장치가, 자신의 장치 정보를 해당 스테이터스 요구 커맨드에 포함되는 응답처 ID에서 나타나는 정보 처리 장치에 응답하는 커맨드이다. 스테이터스 회신 커맨드는, 실행 섹션의 데이터 영역에 장치 정보를 저장한다.The status reply command is a command in which the information processing apparatus that has received the above status request command responds to the information processing apparatus whose device information is indicated by the response destination ID included in the status request command. The status reply command stores the device information in the data area of the execution section.

도 4에, DMA 커맨드가 스테이터스 회신 커맨드인 경우에 있어서의 소프트웨어 셀의 데이터 영역의 구조를 나타낸다.Fig. 4 shows the structure of the data area of the software cell when the DMA command is a status return command.

정보 처리 장치 ID는, 정보 처리 컨트롤러를 구비하는 정보 처리 장치를 식별하기 위한 식별자이고, 스테이터스 회신 커맨드를 송신하는 정보 처리 장치의 ID를 나타낸다. 정보 처리 장치 ID는, 전원 투입시, 그 정보 처리 장치내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(1021)에 의해, 전원 투입시의 일시, 정보 처리 장치의 네트워크 어드레스 및 정보 처리 장치내의 정보 처리 컨트롤러에 포함 되는 서브 프로세서(1023)의 수 등에 기초하여 생성된다.The information processing apparatus ID is an identifier for identifying the information processing apparatus provided with the information processing controller, and represents the ID of the information processing apparatus which transmits the status reply command. When the power is turned on, the information processing device ID is set by the main processor 1021 included in the information processing controller in the information processing device to the network address of the information processing device and the information processing controller in the information processing device. It is generated based on the number of subprocessors 1023 included.

정보 처리 장치 종별 ID에는, 해당 정보 처리 장치의 특징을 나타내는 값이 포함된다. 정보 처리 장치의 특징이란, 예를 들면, 후술하는 하드디스크 레코더, PDA(Personal Digital Assistants), 포터블 CD(Compact Disc) 플레이어 등이다. 또한, 정보 처리 장치 종별 ID는, 영상 음성 기록, 영상 음성 재생 등, 정보 처리 장치의 기능을 나타내는 것이어도 무방하다. 정보 처리 장치의 특징이나 기능을 나타내는 값은 미리 결정되어 있는 것으로 하고, 정보 처리 장치 종별 ID를 판독함에 의해, 해당 정보 처리 장치의 특징이나 기능을 파악하는 것이 가능하다.The information processing apparatus type ID includes a value indicating a characteristic of the information processing apparatus. The characteristics of the information processing apparatus are, for example, a hard disk recorder, a PDA (Personal Digital Assistants), a portable CD (Compact Disc) player, and the like described later. In addition, the information processing apparatus type ID may represent the function of an information processing apparatus, such as video audio recording and video audio reproduction. The values indicating the features and functions of the information processing apparatus are determined in advance, and the characteristics and functions of the information processing apparatus can be grasped by reading the information processing apparatus type ID.

MS(마스터/슬레이브) 스테이터스는, 후술하는 바와 같이 정보 처리 장치가 마스터 장치 또는 슬레이브 장치 중 어느 것으로 동작하고 있는가를 나타내는 것으로, 이것이 0으로 설정되어 있는 경우에는 마스터 장치로서 동작하고 있는 것을 나타내고, 1로 설정되어 있는 경우에는 슬레이브 장치로서 동작하고 있는 것을 나타낸다.The MS (master / slave) status indicates whether the information processing device is operating as a master device or a slave device as described later. When this is set to 0, it indicates that it is operating as a master device. If set, this indicates that the device is operating as a slave device.

메인 프로세서 동작 주파수는, 정보 처리 컨트롤러 내의 메인 프로세서(1021)의 동작 주파수를 나타낸다. 메인 프로세서 사용율은, 메인 프로세서(1021)에 의해 현재 동작하고 있는 모든 프로그램에 대한, 메인 프로세서(1021)에서의 사용율을 나타낸다. 메인 프로세서 사용율은, 대상 메인 프로세서의 전체 처리 능력에 대한 사용중의 처리 능력의 비율을 나타낸 값으로, 예를 들면 프로세서 처리 능력 평가를 위한 단위인 MIPS를 단위로 하여 산출되고, 또는 단위 시간당 프로세서 사용 시간에 기초하여 산출된다. 후술하는 서브 프로세서 사용율에 대해서도 마찬 가지다.The main processor operating frequency indicates the operating frequency of the main processor 1021 in the information processing controller. The main processor utilization rate represents the utilization rate in the main processor 1021 for all programs currently operating by the main processor 1021. The main processor utilization rate is a value representing the ratio of the processing power in use to the total processing power of the target main processor, for example, calculated in units of MIPS which is a unit for evaluating processor processing power, or the processor usage time per unit time. Calculated based on The same applies to the subprocessor utilization described later.

서브 프로세서 수는, 해당 정보 처리 컨트롤러가 구비하는 서브 프로세서(1023)의 수를 나타낸다. 서브 프로세서 ID는, 해당 정보 처리 컨트롤러 내의 각 서브 프로세서(1023)를 식별하기 위한 식별자이다.The number of subprocessors represents the number of subprocessors 1023 included in the information processing controller. The subprocessor ID is an identifier for identifying each subprocessor 1023 in the information processing controller.

서브 프로세서 스테이터스는, 각 서브 프로세서(1023)의 상태를 나타내는 것으로, unused, reserved, busy 등의 상태가 있다. unused는, 해당 서브 프로세서가 현재 사용되고 있지 않고, 사용 예약도 되어 있지 않은 것을 나타낸다. reserved는, 현재는 사용되고 있지 않지만, 예약되어 있는 상태를 나타낸다. busy는, 현재 사용중인 것을 나타낸다.The subprocessor status indicates the state of each subprocessor 1023, and there are states such as unused, reserved, and busy. unused indicates that the subprocessor is not currently being used or reserved for use. reserved is a state which is not currently used but is reserved. busy indicates that it is currently in use.

서브 프로세서 사용율은, 해당 서브 프로세서에 의해 현재 실행하고 있는, 또는 해당 서브 프로세서에 실행이 예약되어 있는 서브 프로세서 프로그램에 대한, 해당 서브 프로세서에서의 사용율을 나타낸다. 즉, 서브 프로세서 사용율은, 서브 프로세서 스테이터스가 busy인 경우에는, 현재의 사용율을 나타내고, 서브 프로세서 스테이터스가 reserved인 경우에는, 나중에 사용되는 예정의 추정 사용율을 나타낸다.The subprocessor utilization rate represents the utilization rate in the subprocessor for a subprocessor program currently being executed by the subprocessor or for which execution is reserved for the subprocessor. In other words, the subprocessor usage ratio indicates the current usage ratio when the subprocessor status is busy, and the estimated estimated usage ratio to be used later when the subprocessor status is reserved.

서브 프로세서 ID, 서브 프로세서 스테이터스 및 서브 프로세서 사용율은, 1개의 서브 프로세서(1023)에 대하여 한 세트 설정되고, 1개의 정보 처리 컨트롤러 내의 서브 프로세서(1023)의 수의 세트 수만큼 설정된다.The subprocessor ID, the subprocessor status, and the subprocessor usage rate are set one set for one subprocessor 1023, and set by the number of sets of the number of subprocessors 1023 in one information processing controller.

메인 메모리 총용량 및 메인 메모리 사용량은, 각각 해당 정보 처리 컨트롤러에 접속되어 있는 메인 메모리(1026)의 총 용량 및 현재 사용중인 용량을 나타낸 다.The main memory total capacity and the main memory usage amount represent the total capacity and the currently used capacity of the main memory 1026 connected to the information processing controller, respectively.

외부 메모리부 수는, 해당 정보 처리 컨트롤러에 접속되어 있는 외부 메모리부(1031)의 수를 나타낸다. 외부 메모리부 ID는, 해당 정보 처리 컨트롤러에 접속되어 있는 외부 메모리부(1031)를 일의적으로 식별하는 정보이다. 외부 메모리부 종별 ID는, 해당 외부 메모리부의 종류(예를 들면, 하드디스크, CD-RW, DVD-RW, 메모리 디스크, SRAM, ROM 등)를 나타낸다.The number of external memory sections indicates the number of external memory sections 1031 connected to the information processing controller. The external memory unit ID is information for uniquely identifying the external memory unit 1031 connected to the information processing controller. The external memory unit type ID indicates the type of the external memory unit (for example, hard disk, CD-RW, DVD-RW, memory disk, SRAM, ROM, and the like).

외부 메모리부 총용량 및 외부 메모리부 사용량은, 각각 외부 메모리부 ID에 의해 식별되는 외부 메모리부(1031)의 총 용량 및 현재 사용중인 용량을 나타낸다.The external memory unit total capacity and the external memory unit usage amount represent the total capacity of the external memory unit 1031 and the capacity currently being used, respectively identified by the external memory unit ID.

외부 메모리부 ID, 외부 메모리부 종별 ID, 외부 메모리부 총용량 및 외부 메모리부 사용량은, 1개의 외부 메모리부(1031)에 대하여 1 세트 설정되고, 해당 정보 처리 컨트롤러에 접속되어 있는 외부 메모리부(1031)의 수의 세트 수만큼 설정된다. 즉, 1개의 정보 처리 컨트롤러에 복수의 외부 메모리부가 접속되어 있는 경우, 각각의 외부 메모리부에는 상이한 외부 메모리부 ID가 할당되고, 외부 메모리부 종별 ID, 외부 메모리부 총용량 및 외부 메모리부 사용량도 따로따로 관리된다.The external memory unit ID1, the external memory unit type ID, the external memory unit total capacity, and the external memory unit usage amount are set one set for one external memory unit 1031, and are connected to the information processing controller 1031. Is set by the number of sets. That is, when a plurality of external memory units are connected to one information processing controller, each external memory unit is assigned a different external memory unit ID, and the external memory unit type ID, external memory unit total capacity, and external memory unit usage are also separately. Managed separately.

(3-9. 소프트웨어 셀의 실행)(3-9. Execution of the software cell)

임의의 정보 처리 장치내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(1021)는, 이상과 같은 구성의 소프트웨어 셀을 생성하여, 네트워크(1009)를 통하여 다른 정보 처리 장치 및 해당 장치내의 정보 처리 컨트롤러에 송신한다. 송신원의 정보 처리 장치, 송신처의 정보 처리 장치, 응답처의 정보 처리 장치, 및 각 장치내의 정보 처리 컨트롤러는, 각각 상기 송신원 ID, 송신처 ID 및 응답처 ID에 의해 식별된다.The main processor 1021 included in the information processing controller in the arbitrary information processing apparatus generates a software cell having the above configuration and transmits it to the other information processing apparatus and the information processing controller in the apparatus via the network 1009. . The information processing apparatus of a transmission source, the information processing apparatus of a transmission destination, the information processing apparatus of a response destination, and the information processing controller in each apparatus are respectively identified by the said transmission source ID, a transmission destination ID, and a response destination ID.

소프트웨어 셀을 수신한 정보 처리 장치내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(1021)는, 그 소프트웨어 셀을 메인 메모리(1026)에 저장한다. 또한, 송신처의 메인 프로세서(1021)는, 소프트웨어 셀을 판독하고, 그것에 포함되는 DMA 커맨드를 처리한다.The main processor 1021 included in the information processing controller in the information processing apparatus that has received the software cell stores the software cell in the main memory 1026. The main processor 1021 of the transmission destination reads the software cell and processes the DMA commands included therein.

구체적으로, 송신처의 메인 프로세서(1021)는, 우선 로딩 커맨드를 실행한다. 이에 의해, 로딩 커맨드에 의해 지시된 메인 메모리 어드레스로부터, 로딩 커맨드에 포함되는 서브 프로세서 ID 및 LS 어드레스에서 특정되는 서브 프로세서 내의 LS(1024)의 소정 영역에, 정보가 로딩된다. 여기서 로딩되는 정보는, 수신한 소프트웨어 셀에 포함되는 서브 프로세서 프로그램 또는 데이터, 또는 그 밖의 지시된 데이터이다.Specifically, the main processor 1021 of the transmission destination first executes a loading command. As a result, information is loaded from the main memory address indicated by the loading command to a predetermined area of the LS 1024 in the subprocessor specified by the subprocessor ID and the LS address included in the loading command. The information loaded here is a subprocessor program or data included in the received software cell, or other indicated data.

다음으로, 메인 프로세서(1021)는, 킥 커맨드를, 이것에 포함되는 서브 프로세서 ID에 의해 지시된 서브 프로세서에, 마찬가지로 킥 커맨드에 포함되는 프로그램 카운터와 함께 송신한다.Next, the main processor 1021 transmits the kick command to the subprocessor indicated by the subprocessor ID included therein, together with the program counter included in the kick command.

지시된 서브 프로세서는, 그 킥 커맨드 및 프로그램 카운터에 따라서, 서브 프로세서 프로그램을 실행한다. 그리고, 실행 결과를 메인 메모리(1026)에 저장한 후, 실행을 완료한 것을 메인 프로세서(1021)에 통지한다.The indicated subprocessor executes the subprocessor program in accordance with the kick command and the program counter. After the execution result is stored in the main memory 1026, the main processor 1021 is notified that the execution is completed.

또한, 송신처의 정보 처리 장치내의 정보 처리 컨트롤러에 있어서 소프트웨어 셀을 실행하는 프로세서는 서브 프로세서(1023)에 한정되는 것은 아니고, 메인 프로세서(1021)가 소프트웨어 셀에 포함되는 기능 프로그램 등의 메인 메모리용 프로그램을 실행하도록 지정하는 것도 가능하다.In addition, the processor which executes a software cell in the information processing controller in the information processing apparatus of a transmission destination is not limited to the subprocessor 1023, The program for main memory, such as a function program in which the main processor 1021 is contained in a software cell. It is also possible to specify to run.

이 경우에는, 송신원의 정보 처리 장치는, 송신처의 정보 처리 장치에, 서브 프로세서 프로그램 대신에, 메인 메모리용 프로그램 및 그 메인 메모리용 프로그램에 의해 처리되는 데이터를 포함하고, DMA 커맨드가 로딩 커맨드인 소프트웨어 셀을 송신하여, 메인 메모리(1026)에 메인 메모리용 프로그램 및 그것에 의해 처리되는 데이터를 기억시킨다.In this case, the information processing apparatus of the transmission source includes, in the information processing apparatus of the transmission destination, a main memory program and data processed by the main memory program instead of the subprocessor program, and the DMA command is a loading command. The cell is transmitted so that the main memory 1026 stores the main memory program and the data processed by it.

다음으로, 송신원의 정보 처리 장치는, 송신처의 정보 처리 장치에, 송신처의 정보 처리 장치내의 정보 처리 컨트롤러에 대한 메인 프로세서 ID, 메인 메모리 어드레스, 메인 메모리용 프로그램을 식별하기 위한 후술하는 기능 프로그램 ID 등의 식별자, 및 프로그램 카운터를 포함하고, DMA 커맨드가 킥 커맨드 또는 기능 프로그램 실행 커맨드인 소프트웨어 셀을 송신하여, 메인 프로세서(1021)에 해당 메인 메모리용 프로그램을 실행시킨다.Subsequently, the information processing apparatus of the transmission source, to the information processing apparatus of the transmission destination, a main processor ID for the information processing controller in the information processing apparatus of the transmission destination, a main memory address, a function program ID to be described later for identifying a program for the main memory, and the like. And a software counter, wherein the DMA command transmits a software cell which is a kick command or a function program execution command, and causes the main processor 1021 to execute the main memory program.

이상과 같이, 본 발명의 네트워크 시스템에서는, 송신원의 정보 처리 장치는, 서브 프로세서 프로그램 또는 메인 메모리용 프로그램을 소프트웨어 셀에 의해 송신처의 정보 처리 장치에 송신함과 더불어, 해당 서브 프로세서 프로그램을 송신처의 정보 처리 장치내의 정보 처리 컨트롤러에 포함되는 서브 프로세서(1023)에 로딩시켜, 해당 서브 프로세서 프로그램 또는 해당 메인 메모리용 프로그램을 송신처의 정보 처리 장치에 실행시킬 수 있다.As described above, in the network system of the present invention, the information processing apparatus of the transmission source transmits the subprocessor program or the main memory program to the information processing apparatus of the transmission destination by the software cell, and transmits the subprocessor program information of the transmission destination. The subprocessor 1023 included in the information processing controller in the processing apparatus can be loaded to execute the subprocessor program or the main memory program in the information processing apparatus of the transmission destination.

송신처의 정보 처리 장치내의 정보 처리 컨트롤러에서는, 수신한 소프트웨어 셀에 포함되는 프로그램이 서브 프로세서 프로그램인 경우에는, 해당 서브 프로세서 프로그램을 지정된 서브 프로세서에 로딩시킨다. 그리고, 소프트웨어 셀에 포함되는 서브 프로세서 프로그램 또는 메인 메모리용 프로그램을 실행시킨다.In the information processing controller in the information processing apparatus of the transmission destination, when the program included in the received software cell is a subprocessor program, the subprocessor program is loaded into the designated subprocessor. Then, the subprocessor program or the main memory program included in the software cell is executed.

따라서, 사용자가 송신처의 정보 처리 장치를 조작하지 않더라도 자동적으로, 해당 서브 프로세서 프로그램 또는 해당 메인 메모리용 프로그램을 송신처의 정보 처리 장치내의 정보 처리 컨트롤러에 실행시킬 수 있다.Therefore, even if the user does not operate the information processing apparatus of the transmission destination, the subprocessor program or the main memory program can be automatically executed by the information processing controller in the information processing apparatus of the transmission destination.

이와 같이 하여 정보 처리 장치는, 자 장치내의 정보 처리 컨트롤러가 서브 프로세서 프로그램 또는 기능 프로그램 등의 메인 메모리용 프로그램을 갖고 있지 않을 경우에는, 네트워크에 접속된 다른 정보 처리 장치로부터 이들을 취득할 수 있다. 또한, 각 서브 프로세서와 메인 메모리 사이에서는 DMA 방식에 의해 데이터 전송을 행하고, 또한 전술한 샌드 박스를 사용함으로써, 1개의 정보 처리 컨트롤러 내에서 데이터를 다단계로 처리해야 하는 경우에도, 고속이고 또한 높은 시큐러티로 처리를 실행할 수 있다.In this way, when the information processing controller in the own apparatus does not have a main memory program such as a subprocessor program or a function program, the information processing apparatus can acquire them from another information processing apparatus connected to the network. In addition, data transfer is performed between the subprocessors and the main memory by the DMA system, and by using the above-described sandbox, even when data must be processed in multiple stages in one information processing controller, high speed and high security Processing can be performed with

[4. 네트워크 시스템으로서의 분산 처리 그 2][4. Distributed Processing as a Network System 2

소프트웨어 셀의 사용에 의한 분산 처리의 결과, 도 24의 상단에 나타내는 바와 같이 네트워크(1009)에 접속되어 있는 복수의 정보 처리 장치(1001, 1002, 1003 및 1004)는, 도 24의 하단에 나타내는 바와 같이, 가상적인 1대의 정보 처리 장치(1007)로서 동작한다. 단, 그 때문에는, 이하와 같은 구성에 의해, 이하와 같은 처리가 실행될 필요가 있다.As a result of the distributed processing by using the software cell, as shown in the upper part of FIG. 24, the plurality of information processing apparatuses 1001, 1002, 1003, and 1004 connected to the network 1009 are shown in the lower part of FIG. 24. Similarly, it operates as one virtual information processing apparatus 1007. However, the following processes need to be performed with the following structures.

(4-1. 시스템의 소프트웨어 구성과 프로그램의 로딩)(4-1.System Configuration and Program Loading)

도 6에, 개개의 정보 처리 컨트롤러의 메인 메모리(1026)가 기억하는 소프트웨어의 구성을 나타낸다. 이들의 소프트웨어(프로그램)는, 정보 처리 장치에 전원이 투입되기 전에는, 해당 정보 처리 컨트롤러에 접속되는 외부 메모리부(1031)에 기록되어 있는 것이다.6 shows a configuration of software stored in the main memory 1026 of each information processing controller. These software (programs) are recorded in the external memory unit 1031 connected to the information processing controller before power is supplied to the information processing apparatus.

각 프로그램은, 기능 또는 특징에 의해, 제어 프로그램, 기능 프로그램 및 디바이스 드라이버로 분류된다.Each program is classified into a control program, a function program, and a device driver by a function or a feature.

제어 프로그램은, 각 정보 처리 컨트롤러가 동일한 것을 구비하고, 각 정보 처리 컨트롤러의 메인 프로세서(1021)가 실행하는 것으로, 후술하는 MS(마스터/슬레이브) 매니저 및 능력 교환 프로그램을 포함한다.The control program is provided with the same information processing controller, and is executed by the main processor 1021 of each information processing controller, and includes an MS (master / slave) manager and a capability exchange program described later.

기능 프로그램은, 메인 프로세서(1021)가 실행하는 것으로, 기록용, 재생용, 소재 검색용 등, 정보 처리 컨트롤러마다 정보 처리 장치에 대응한 것이 구비된다.The function program is executed by the main processor 1021, and is provided with an information processing apparatus corresponding to each information processing controller, such as recording, reproduction, and material search.

디바이스 드라이버는, 정보 처리 컨트롤러(정보 처리 장치)의 입출력(송수신)용으로, 방송 수신, 모니터 출력, 비트 스트림 입출력, 네트워크 입출력 등, 정보 처리 컨트롤러마다 정보 처리 장치에 대응한 것이 구비된다.The device driver is provided for the input / output (transmission / reception) of the information processing controller (information processing apparatus) and corresponds to the information processing apparatus for each information processing controller such as broadcast reception, monitor output, bit stream input / output, network input / output, and the like.

케이블의 삽입 등에 의해 정보 처리 장치가 물리적으로 네트워크(1009)에 접속된 상태에서, 정보 처리 장치에 주 전원이 투입되고, 정보 처리 장치가 전기적·기능적으로도 네트워크(1009)에 접속되면, 그 정보 처리 장치의 정보 처리 컨트롤러의 메인 프로세서(1021)는, 제어 프로그램에 속하는 각 프로그램, 및 디바이스 드라이버에 속하는 각 프로그램을, 메인 메모리(1026)에 로딩한다.When the information processing device is physically connected to the network 1009 by inserting a cable or the like, when the main power is supplied to the information processing device, and the information processing device is electrically and functionally connected to the network 1009, the information The main processor 1021 of the information processing controller of the processing apparatus loads each program belonging to the control program and each program belonging to the device driver into the main memory 1026.

로딩 순서로서는, 메인 프로세서(1021)는, 우선 DC(1030)에 판독 명령을 실 행시킴으로써, 외부 메모리부(1031)로부터 프로그램을 판독하고, 다음으로 DMAC(1025)에 기입 명령을 실행시킴으로써, 그 프로그램을 메인 메모리(1026)에 기입한다.As the loading order, the main processor 1021 first executes a read command to the DC 1030 to read a program from the external memory unit 1031, and then executes a write command to the DMAC 1025. The program is written to the main memory 1026.

기능 프로그램에 속하는 각 프로그램에 대해서는, 필요할 때에 필요한 프로그램만을 로딩하도록 구성해도 무방하고, 또는 다른 카테고리에 속하는 프로그램과 마찬가지로, 주 전원 투입 직후에 각 프로그램을 로딩하도록 구성해도 무방하다.Each program belonging to the functional program may be configured to load only necessary programs when necessary, or similarly to programs belonging to other categories, each program may be loaded immediately after the main power is turned on.

기능 프로그램에 속하는 각 프로그램은, 네트워크에 접속된 모든 정보 처리 장치의 외부 메모리부(1031)에 기록되어 있을 필요는 없고, 어느 하나의 정보 처리 장치의 외부 메모리부(1031)에 기록되어 있으면, 전술한 방법에 의해 다른 정보 처리 장치로부터 로딩할 수 있기 때문에, 결과적으로 도 24의 하단에 나타내는 바와 같이, 가상적인 1대의 정보 처리 장치(1007)로서 기능 프로그램을 실행할 수 있다.Each program belonging to the functional program does not need to be recorded in the external memory unit 1031 of all information processing apparatuses connected to the network, and if it is recorded in the external memory unit 1031 of any one information processing apparatus, Since it can be loaded from another information processing apparatus by one method, as a result, as shown at the bottom of FIG. 24, a functional program can be executed as one virtual information processing apparatus 1007. As shown in FIG.

또한, 전술한 바와 같이, 메인 프로세서(1021)에 의해 처리되는 기능 프로그램은, 서브 프로세서(1023)에 의해 처리되는 서브 프로세서 프로그램과 제휴 동작하는 경우가 있다. 따라서, 메인 프로세서(1021)가 외부 메모리부(1031)로부터 기능 프로그램을 판독하여, 메인 메모리(1026)에 기입할 때, 대상으로 되는 기능 프로그램과 제휴 동작하는 서브 프로세서 프로그램이 존재하는 경우에는, 해당 서브 프로세서 프로그램도 함께 동일한 메인 메모리(1026)에 기입한다. 이 경우, 제휴 동작하는 서브 프로세서 프로그램은, 1개인 경우도 있지만, 복수개인 경우도 있을 수 있다. 복수개인 경우에는, 모든 제휴 동작하는 서브 프로세서 프로그램을 메인 메모리(1026)에 기입한다.In addition, as described above, the functional program processed by the main processor 1021 may cooperate with the subprocessor program processed by the subprocessor 1023 in some cases. Therefore, when the main processor 1021 reads the function program from the external memory unit 1031 and writes it to the main memory 1026, when there exists a subprocessor program which cooperates with the target function program, The subprocessor program is also written to the same main memory 1026. In this case, although there may be one subprocessor program which cooperates, there may be a plurality of subprocessor programs. In the case of plural numbers, all the subprocessor programs which operate in association are written into the main memory 1026.

메인 메모리(1026)에 기입된 서브 프로세서 프로그램은, 그 후, 서브 프로세서(1023)내의 LS(1024)에 기입되고, 메인 프로세서(1021)에 의해 처리되는 기능 프로그램과 제휴 동작한다.The subprocessor program written in the main memory 1026 is then written into the LS 1024 in the subprocessor 1023 and cooperatively operates with the functional program processed by the main processor 1021.

도 3의 소프트웨어 셀에 나타낸 바와 같이, 기능 프로그램에는, 프로그램마다 프로그램을 일의적으로 식별할 수 있는 식별자가, 기능 프로그램 ID로서 할당된다. 기능 프로그램 ID는, 기능 프로그램의 작성의 단계에서, 작성 일시나 정보 처리 장치 ID 등으로부터 결정된다.As shown in the software cell of FIG. 3, an identifier capable of uniquely identifying a program for each program is assigned to the functional program as the functional program ID. The function program ID is determined from the creation date, the information processing device ID, and the like at the stage of the creation of the function program.

서브 프로세서 프로그램에도 서브 프로세서 프로그램 ID가 할당되고, 이에 의해 서브 프로세서 프로그램을 일의적으로 식별 가능하다. 할당되는 서브 프로세서 프로그램 ID는, 제휴 동작의 상대로 되는 기능 프로그램의 기능 프로그램 ID와 관련성이 있는 식별자, 예를 들면 기능 프로그램 ID를 페어런트 번호로 한 후에 마지막 끝부분에 브랜치 번호를 부가시킨 식별자이어도 무방하지만, 제휴 동작의 상대로 되는 기능 프로그램의 기능 프로그램 ID와는 관련성이 없는 식별자이어도 무방하다.The subprocessor program ID is also assigned to the subprocessor program, whereby the subprocessor program can be uniquely identified. The subprocessor program ID to be allocated may be an identifier associated with the function program ID of the function program to be associated with the cooperative operation, for example, the function program ID is the parent number and the branch number is added at the end. For example, the identifier may be irrelevant to the function program ID of the function program that is the partnering operation.

어느 쪽이든, 기능 프로그램과 서브 프로세서 프로그램이 제휴 동작하는 경우에는, 양자 모두 상대의 식별자인 프로그램 ID를 자 프로그램 내에 기억해 둘 필요가 있다. 기능 프로그램이 복수개의 서브 프로세서 프로그램과 제휴 동작하는 경우에도, 해당 기능 프로그램은, 그 복수개의 서브 프로세서 프로그램의 서브 프로세서 프로그램 ID를 모두 기억해 둔다.In either case, when the functional program and the subprocessor program cooperate with each other, it is necessary to store the program ID, which is the identifier of the counterpart, in the child program. Even when a function program cooperates with a plurality of subprocessor programs, the function program stores all the subprocessor program IDs of the plurality of subprocessor programs.

메인 프로세서(1021)는, 자신이 동작하는 정보 처리 장치의 장치 정보(동작 상태에 관한 정보)를 저장하기 위한 영역을 메인 메모리(1026)에 확보하여, 해당 정보를 자 장치의 장치 정보 테이블로서 기록한다. 여기서의 장치 정보는, 도 4에 도시한 정보 처리 장치 ID 이하의 각 정보이다.The main processor 1021 secures an area in the main memory 1026 for storing device information (information on the operating state) of the information processing device in which the main processor 1021 operates, and records the information as a device information table of the own device. do. The device information here is the information below the information processing device ID shown in FIG.

(4-2. 시스템에 있어서의 마스터/슬레이브의 결정)(4-2. Determination of Master / Slave in the System)

전술한 네트워크 시스템에서는, 임의의 정보 처리 장치에의 주 전원 투입시, 그 정보 처리 장치의 정보 처리 컨트롤러의 메인 프로세서(1021)는, 마스터/슬레이브 매니저(이하, MS 매니저)를 메인 메모리(1026)에 로딩하여, 실행한다.In the above-described network system, when the main power is supplied to any information processing apparatus, the main processor 1021 of the information processing controller of the information processing apparatus is configured to supply a master / slave manager (hereinafter referred to as MS manager) to the main memory 1026. Load in and run

MS 매니저는, 자신이 동작하는 정보 처리 장치가 네트워크(1009)에 접속되어 있는 것을 검지하면, 동일한 네트워크(1009)에 접속되어 있는 다른 정보 처리 장치의 존재를 확인한다. 여기서의 “접속” 또는 “존재”는, 전술한 바와 같이, 정보 처리 장치가 물리적으로 네트워크(1009)에 접속되어 있을 뿐만 아니라, 전기적·기능적으로도 네트워크(1009)에 접속되어 있는 것을 나타낸다.When the MS manager detects that the information processing apparatus on which it operates is connected to the network 1009, the MS manager confirms the existence of another information processing apparatus connected to the same network 1009. Here, "connection" or "existence" indicates that the information processing apparatus is not only physically connected to the network 1009, but also electrically and functionally connected to the network 1009 as described above.

이하에서는, 자신이 동작하는 정보 처리 장치를 자 장치, 다른 정보 처리 장치를 타 장치라고 칭한다. 해당 장치도, 해당 정보 처리 장치를 나타내는 것으로 한다.In the following, the information processing apparatus on which it operates is called a child apparatus, and another information processing apparatus is called another apparatus. The device also refers to the information processing device.

MS 매니저가 동일한 네트워크(1009)에 접속되어 있는 다른 정보 처리 장치의 존재를 확인하는 방법을, 이하에 나타낸다.A method of confirming the existence of another information processing apparatus connected to the same network 1009 by the MS manager is shown below.

MS 매니저는, DMA 커맨드가 스테이터스 요구 커맨드이고, 송신원 ID 및 응답처 ID가 해당 정보 처리 장치에서, 송신처 ID를 특정하지 않는 소프트웨어 셀을 생성하여, 해당 정보 처리 장치가 접속된 네트워크상에 송신하여, 네트워크 접속 확 인용 타이머를 설정한다. 타이머의 타임아웃 시간은, 예를 들면 10분으로 된다.The MS manager generates a software cell in which the DMA command is a status request command, the sender ID and the destination ID are not specified in the information processing apparatus, and does not specify the sender ID, and transmits it on the network to which the information processing apparatus is connected. Set the network connection verification timer. The timeout time of the timer is, for example, 10 minutes.

해당 네트워크 시스템상에 다른 정보 처리 장치가 접속되어 있는 경우, 기타 장치는, 상기 스테이터스 요구 커맨드의 소프트웨어 셀을 수신하고, 상기 응답처 ID에서 특정되는 스테이터스 요구 커맨드를 발행한 정보 처리 장치에 대하여, DMA 커맨드가 스테이터스 회신 커맨드이고, 또한 데이터로서 자신(기타 장치)의 장치 정보를 포함하는 소프트웨어 셀을 송신한다. 이 스테이터스 회신 커맨드의 소프트웨어 셀에는, 적어도 해당 타 장치를 특정하는 정보(정보 처리 장치 ID, 메인 프로세서에 관한 정보, 서브 프로세서에 관한 정보 등) 및 해당 타 장치의 MS 스테이터스가 포함된다.When another information processing apparatus is connected on the network system, the other apparatus receives a software cell of the status request command and issues a DMA to the information processing apparatus that issues a status request command specified by the response destination ID. The command is a status reply command and transmits a software cell containing device information of itself (other device) as data. The software cell of the status reply command includes at least information (information processing device ID, information on the main processor, information on the subprocessor, etc.) specifying the other device, and the MS status of the other device.

스테이터스 요구 커맨드를 발행한 정보 처리 장치의 MS 매니저는, 상기 네트워크 접속 확인용 타이머가 타임 아웃될 때까지, 해당 네트워크상의 타 장치로부터 송신되는 스테이터스 회신 커맨드의 소프트웨어 셀의 수신을 감시한다. 그 결과, MS 스테이터스=0(마스터 장치)을 나타내는 스테이터스 회신 커맨드가 수신된 경우에는, 자 장치의 장치 정보 테이블에 있어서의 MS 스테이터스를 1로 설정한다. 이에 의해, 해당 장치는 슬레이브 장치로 된다.The MS manager of the information processing device which issued the status request command monitors the reception of the software cell of the status reply command sent from another device on the network until the network connection confirmation timer times out. As a result, when a status reply command indicating MS status = 0 (master device) is received, the MS status in the device information table of the own device is set to one. As a result, the device becomes a slave device.

한편, 상기 네트워크 접속 확인용 타이머가 타임 아웃될 때까지의 동안에 스테이터스 회신 커맨드가 전혀 수신되지 않은 경우, 또는 MS 스테이터스=0(마스터 장치)을 나타내는 스테이터스 회신 커맨드가 수신되지 않은 경우에는, 자 장치의 장치 정보 테이블에 있어서의 MS 스테이터스를 0으로 설정한다. 이에 의해, 해당 장치는 마스터 장치로 된다.On the other hand, when the status reply command is not received at all until the network connection confirmation timer is timed out, or when the status reply command indicating MS status = 0 (master device) is not received, The MS status in the device information table is set to zero. As a result, the device becomes a master device.

즉, 어느 장치도 네트워크(1009)에 접속되어 있지 않은 상태, 또는 네트워크(1009)상에 마스터 장치가 존재하지 않는 상태에 있어서, 새로운 정보 처리 장치가 네트워크(1009)에 접속되면, 해당 장치는 자동적으로 마스터 장치로서 설정된다. 한편, 네트워크(1009)상에 이미 마스터 장치가 존재하는 상태에 있어서, 새로운 정보 처리 장치가 네트워크(1009)에 접속되면, 해당 장치는 자동적으로 슬레이브 장치로서 설정된다.In other words, if no device is connected to the network 1009 or if no master device is present on the network 1009, the new information processing device is connected to the network 1009. Is set as the master device. On the other hand, in a state where a master device already exists on the network 1009, when a new information processing device is connected to the network 1009, the device is automatically set as a slave device.

마스터 장치 및 슬레이브 장치 중 어느 것에 대해서도, MS 매니저는, 정기적으로 스테이터스 요구 커맨드를 네트워크(1009)상의 타 장치에 송신하여 스테이터스 정보를 조회함으로써, 타 장치의 상황을 감시한다. 그 결과, 네트워크(1009)에 접속되어 있는 정보 처리 장치의 주 전원이 차단되고, 또는 네트워크(1009)로부터 정보 처리 장치가 분리됨에 의해, 미리 판정용으로 설정된 소정 기간 내에 특정한 타 장치로부터 스테이터스 회신 커맨드가 회신되지 않은 경우나, 네트워크(1009)에 새로운 정보 처리 장치가 접속된 경우 등, 네트워크(1009)의 접속 상태에 변화가 있었던 경우에는, 그 정보를 후술하는 능력 교환 프로그램에 통지한다.In either of the master device and the slave device, the MS manager periodically monitors the status of other devices by sending status request commands to other devices on the network 1009 and inquiring status information. As a result, the main power supply of the information processing apparatus connected to the network 1009 is cut off, or the information processing apparatus is disconnected from the network 1009, so that a status reply command from a specific other device within a predetermined period set for determination in advance is obtained. Is not returned, or when there is a change in the connection state of the network 1009, such as when a new information processing device is connected to the network 1009, the information exchange program is notified of the information.

(4-3. 마스터 장치 및 슬레이브 장치에 있어서의 장치 데이터의 취득)(4-3. Acquisition of Device Data in Master Device and Slave Device)

메인 프로세서(1021)는, MS 매니저로부터, 네트워크(1009)상의 타 장치의 조회 및 자 장치의 MS 스테이터스의 설정 완료의 통지를 받으면, 능력 교환 프로그램을 실행한다.The main processor 1021 executes the capability exchange program when the MS manager receives notification of the inquiry of other devices on the network 1009 and the completion of setting of the MS status of the own device.

능력 교환 프로그램은, 자 장치가 마스터 장치인 경우에는, 네트워크(1009)에 접속되어 있는 모든 타 장치의 장치 정보, 즉 각 슬레이브 장치의 장치 정보를 취득한다.When the own device is the master device, the capability exchange program acquires device information of all other devices connected to the network 1009, that is, device information of each slave device.

타 장치의 장치 정보의 취득은, 전술한 바와 같이, DMA 커맨드가 스테이터스 요구 커맨드인 소프트웨어 셀을 생성하여 타 장치에 송신하고, 그 후, DMA 커맨드가 스테이터스 회신 커맨드이고, 또한 데이터로서 타 장치의 장치 정보를 포함하는 소프트웨어 셀을 타 장치로부터 수신함으로써 가능하다.Acquiring the device information of the other device, as described above, generates a software cell whose DMA command is a status request command and transmits it to the other device, after which the DMA command is a status reply command and the device of the other device as data. It is possible by receiving a software cell containing information from another device.

능력 교환 프로그램은, 마스터 장치인 자 장치의 장치 정보 테이블과 마찬가지로, 네트워크(1009)에 접속되어 있는 모든 타 장치(각 슬레이브 장치)의 장치 정보를 저장하기 위한 영역을 자 장치의 메인 메모리(1026)에 확보하여, 이들 정보를 타 장치(슬레이브 장치)의 장치 정보 테이블로서 기록한다.Similar to the device information table of the child device which is the master device, the capability exchange program has an area for storing device information of all other devices (each slave device) connected to the network 1009, and the main memory 1026 of the child device. Is secured to the device information table as a device information table of another device (slave device).

즉, 마스터 장치의 메인 메모리(1026)에는, 자 장치를 포함하는 네트워크(1009)에 접속되어 있는 모든 정보 처리 장치의 장치 정보가, 장치 정보 테이블로서 기록된다.That is, in the main memory 1026 of the master device, device information of all information processing devices connected to the network 1009 including the child device is recorded as the device information table.

한편, 능력 교환 프로그램은, 자 장치가 슬레이브 장치인 경우에는, 네트워크(1009)에 접속되어 있는 모든 타 장치의 장치 정보, 즉 마스터 장치 및 자 장치 이외의 각 슬레이브 장치의 장치 정보를 취득하여, 이들 장치 정보에 포함되는 정보 처리 장치 ID 및 MS 스테이터스를, 자 장치의 메인 메모리(1026)에 기록한다.On the other hand, when the child device is a slave device, the capability exchange program acquires device information of all other devices connected to the network 1009, that is, device information of each slave device other than the master device and the child device. The information processing device ID and the MS status contained in the device information are recorded in the main memory 1026 of the own device.

즉, 슬레이브 장치의 메인 메모리(1026)에는, 자 장치의 장치 정보가, 장치 정보 테이블로서 기록됨과 더불어, 자 장치 이외의 네트워크(1009)에 접속되어 있는 마스터 장치 및 각 슬레이브 장치에 대한 정보 처리 장치 ID 및 MS 스테이터스가, 별도의 장치 정보 테이블로서 기록된다.That is, in the main memory 1026 of the slave device, the device information of the child device is recorded as a device information table, and the master device and the information processing device for each slave device connected to the network 1009 other than the child device. The ID and MS status are recorded as separate device information tables.

또한, 마스터 장치 및 슬레이브 장치 중 어느 것에 대해서도, 능력 교환 프로그램은, 상기한 바와 같이 MS 매니저로부터, 새롭게 네트워크(1009)에 정보 처리 장치가 접속된 것이 통지되었을 때에는, 그 정보 처리 장치의 장치 정보를 취득하여, 전술한 바와 같이 메인 메모리(1026)에 기록한다.In addition, in either of the master device and the slave device, the capability exchange program receives the device information of the information processing device when it is notified from the MS manager that the information processing device is newly connected to the network 1009. Acquisition is performed and recorded in the main memory 1026 as described above.

또한, MS 매니저 및 능력 교환 프로그램은, 메인 프로세서(1021)에 의해 실행되는 것에 한정하지 않고, 어느 서브 프로세서(1023)에 의해 실행되어도 무방하다. 또한, MS 매니저 및 능력 교환 프로그램은, 정보 처리 장치의 주 전원이 투입되고 있는 동안은 항상 동작하는 상주 프로그램인 것이 바람직하다.The MS manager and the capability exchange program are not limited to being executed by the main processor 1021 but may be executed by any subprocessor 1023. The MS manager and the capability exchange program are preferably resident programs that always operate while the main power supply of the information processing apparatus is turned on.

(4-4. 정보 처리 장치가 네트워크로부터 절단된 경우)(4-4. When the information processing device is cut off from the network)

마스터 장치 및 슬레이브 장치 중 어느 것에 대해서도, 능력 교환 프로그램은, 상기한 바와 같이 MS 매니저로부터, 네트워크(1009)에 접속되어 있는 정보 처리 장치의 주 전원이 차단되고, 또는 네트워크(1009)로부터 정보 처리 장치가 분리된 것이 통지되었을 때에는, 그 정보 처리 장치의 장치 정보 테이블을 자 장치의 메인 메모리(1026)로부터 삭제한다.In either of the master device and the slave device, as described above, the main power supply of the information processing device connected to the network 1009 is cut off from the MS manager, or the information processing device from the network 1009. When notified that is separated, the device information table of the information processing device is deleted from the main memory 1026 of the child device.

또한, 이와 같이 네트워크(1009)로부터 절단된 정보 처리 장치가 마스터 장치인 경우에는, 이하와 같은 방법에 의해, 새롭게 마스터 장치가 결정된다.In addition, when the information processing apparatus cut | disconnected from the network 1009 in this way is a master apparatus, a master apparatus is newly determined by the following method.

구체적으로, 예를 들면, 네트워크(1009)로부터 절단되어 있지 않은 정보 처리 장치는, 각각 자 장치 및 타 장치의 정보 처리 장치 ID를 수치로 치환하여, 자 장치의 정보 처리 장치 ID를 타 장치의 정보 처리 장치 ID와 비교하여, 자 장치의 정보 처리 장치 ID가 네트워크(1009)로부터 절단되어 있지 않은 정보 처리 장치중 에서 최소인 경우, 그 슬레이브 장치는, 마스터 장치로 이행하여, MS 스테이터스를 0으로 설정하고, 마스터 장치로서, 전술한 바와 같이, 네트워크(1009)에 접속되어 있는 모든 타 장치(각 슬레이브 장치)의 장치 정보를 취득하여, 메인 메모리(1026)에 기록한다.Specifically, for example, the information processing apparatus not disconnected from the network 1009 replaces the information processing apparatus IDs of the own apparatus and the other apparatus with numerical values, respectively, and replaces the information processing apparatus ID of the own apparatus with the information of the other apparatus. Compared with the processing device ID, when the information processing device ID of the own device is the minimum among the information processing devices not disconnected from the network 1009, the slave device moves to the master device and sets the MS status to 0. As the master device, as described above, device information of all other devices (each slave device) connected to the network 1009 is obtained and recorded in the main memory 1026.

(4-5. 장치 데이터에 기초하는 분산 처리)(4-5. Distributed Processing Based on Device Data)

도 24의 하단에 나타낸 바와 같이 네트워크(1009)에 접속되어 있는 복수의 정보 처리 장치(1001, 1002, 1003 및 1004)를 가상적인 1대의 정보 처리 장치(1007)로서 동작시키기 위해서는, 마스터 장치가 사용자의 조작 및 슬레이브 장치의 동작 상태를 파악할 필요가 있다.As shown in the lower part of FIG. 24, in order to operate the plurality of information processing apparatuses 1001, 1002, 1003, and 1004 connected to the network 1009 as one virtual information processing apparatus 1007, the master apparatus is a user. It is necessary to grasp the operation and operation status of the slave device.

도 25에, 4대의 정보 처리 장치가 가상적인 1대의 정보 처리 장치(1007)로서 동작하는 모양을 나타낸다. 정보 처리 장치(1001)가 마스터 장치, 정보 처리 장치(1002, 1003 및 1004)가 슬레이브 장치 A, B 및 C로서, 동작하고 있는 것으로 한다.25 shows how four information processing apparatuses operate as one virtual information processing apparatus 1007. It is assumed that the information processing apparatus 1001 operates as the master apparatus, and the information processing apparatuses 1002, 1003, and 1004 operate as slave apparatuses A, B, and C. FIG.

사용자가 네트워크(1009)에 접속되어 있는 정보 처리 장치를 조작한 경우, 조작 대상이 마스터 장치(1001)이면, 그 조작 정보는, 마스터 장치(1001)에 있어서 직접 파악되고, 조작 대상이 슬레이브 장치이면, 그 조작 정보는, 조작된 슬레이브 장치로부터 마스터 장치(1001)에 송신된다. 즉, 사용자의 조작 대상이 마스터 장치(1001)와 슬레이브 장치 중 어느 것인가에 관계없이, 그 조작 정보는 항상 마스터 장치(1001)에 있어서 파악된다. 조작 정보의 송신은, 예를 들면, DMA 커맨드가 조작 정보 송신 커맨드인 소프트웨어 셀에 의해 행해진다.When the user operates the information processing apparatus connected to the network 1009, if the operation target is the master device 1001, the operation information is directly grasped by the master device 1001, and the operation target is the slave device. The operation information is transmitted from the operated slave device to the master device 1001. That is, regardless of whether the operation target of the user is either the master device 1001 or the slave device, the operation information is always grasped by the master device 1001. The operation information is transmitted by, for example, a software cell in which the DMA command is an operation information transmission command.

그리고, 마스터 장치(1001)내의 정보 처리 컨트롤러(1011)에 포함되는 메인 프로세서(1021-1)는, 그 조작 정보에 따라서, 실행하는 기능 프로그램을 선택한다. 그 때, 필요하면, 마스터 장치(1001)내의 정보 처리 컨트롤러(1011)에 포함되는 메인 프로세서(1021-1)는, 상기의 방법에 의해 자 장치의 외부 메모리부(1031-1 또는 1031-2)로부터 메인 메모리(1026-1)에 기능 프로그램을 로딩하지만, 다른 정보 처리 장치(슬레이브 장치)가 마스터 장치(1001)에 기능 프로그램을 송신하여도 무방하다.The main processor 1021-1 included in the information processing controller 1011 in the master device 1001 selects a function program to execute according to the operation information. At that time, if necessary, the main processor 1021-1 included in the information processing controller 1011 in the master device 1001 is configured to execute the external memory unit 1031-1 or 1031-2 of the child device by the above method. The function program is loaded from the main memory 1026-1 to the main memory 1026-1, but another information processing device (slave device) may transmit the function program to the master device 1001.

기능 프로그램에는, 그 실행 단위마다 필요로 되는, 도 4에 도시한 각 정보로서 나타나는 정보 처리 장치 종별 ID, 메인 프로세서 또는 서브 프로세서의 처리 능력, 메인 메모리 사용량, 외부 메모리부에 관한 조건 등의, 장치에 관한 요구 스펙이 규정되어 있다.The function program includes apparatuses such as information processing apparatus type IDs shown as information shown in FIG. 4 required for each execution unit, processing capability of the main processor or subprocessor, main memory usage, and conditions relating to the external memory unit. The specification of requirements is specified.

마스터 장치(1001)내의 정보 처리 컨트롤러(1011)에 포함되는 메인 프로세서(1021-1)는, 각 기능 프로그램에 대하여 필요로 되는 상기 요구 스펙을 판독한다. 또한, 미리 능력 교환 프로그램에 의해 메인 메모리(1026-1)에 기록된 장치 정보 테이블을 참조하여, 각 정보 처리 장치의 장치 정보를 판독한다. 여기서의 장치 정보는, 도 4에 도시한 정보 처리 장치 ID 이하의 각 정보를 나타내고, 메인 프로세서, 서브 프로세서, 메인 메모리 및 외부 메모리부에 관한 정보이다.The main processor 1021-1 included in the information processing controller 1011 in the master device 1001 reads out the above-mentioned specification required for each function program. In addition, the device information of each information processing apparatus is read with reference to the device information table recorded in the main memory 1026-1 by the capability exchange program in advance. The device information herein indicates information below the information processing device ID shown in FIG. 4 and is information about a main processor, a subprocessor, a main memory, and an external memory unit.

마스터 장치(1001)내의 정보 처리 컨트롤러(1011)에 포함되는 메인 프로세서(1021-1)는, 네트워크(1009)상에 접속된 각 정보 처리 장치의 상기 장치 정보와, 기능 프로그램 실행에 필요로 되는 상기 요구 스펙을 순차적으로 비교한다.The main processor 1021-1 included in the information processing controller 1011 in the master device 1001 includes the device information of each information processing device connected on the network 1009 and the above-mentioned information required to execute a function program. Compare the requirements specification sequentially.

그리고, 예를 들면, 기능 프로그램이 녹화 기능을 필요로 하는 경우에는, 정보 처리 장치 종별 ID에 기초하여, 녹화 기능을 갖는 정보 처리 장치만을 특정하여 추출한다. 또한, 기능 프로그램을 실행하기 위해 필요한 메인 프로세서 또는 서브 프로세서의 처리 능력, 메인 메모리 사용량, 외부 메모리부에 관한 조건을 확보할 수 있는 슬레이브 장치를, 실행 요구 후보 장치로서 특정한다. 여기서, 복수의 실행 요구 후보 장치가 특정된 경우에는, 해당 후보장치로부터 1개의 실행 요구 후보 장치를 특정하여 선택한다.For example, when the function program requires a recording function, only the information processing device having a recording function is identified and extracted based on the information processing device type ID. Further, a slave device capable of securing the processing capacity of the main processor or subprocessor, the main memory usage, and the external memory unit necessary to execute the function program is specified as the execution request candidate device. Here, when a plurality of execution request candidate devices are specified, one execution request candidate device is specified and selected from the candidate device.

실행 요구하는 슬레이브 장치가 특정되면, 마스터 장치(1001)내의 정보 처리 컨트롤러(1011)에 포함되는 메인 프로세서(1021-1)는, 그 특정된 슬레이브 장치에 대하여, 자 장치내의 정보 처리 컨트롤러(1011)에 포함되는 메인 메모리(1026-1)에 기록되어 있는 해당 슬레이브 장치의 장치 정보 테이블을 갱신한다.When the slave device requesting execution is specified, the main processor 1021-1 included in the information processing controller 1011 in the master device 1001 has an information processing controller 1011 in its own device with respect to the specified slave device. The device information table of the corresponding slave device recorded in the main memory 1026-1 included in the table is updated.

또한, 마스터 장치(1001)내의 정보 처리 컨트롤러(1011)에 포함되는 메인 프로세서(1021-1)는, DMA 커맨드가 기능 프로그램 실행 커맨드인 소프트웨어 셀을 생성하고, 해당 소프트웨어 셀의 셀 인터페이스에, 해당 기능 프로그램에 관한 필요한 서브 프로세서의 정보 및 샌드 박스 사이즈(도 3 참조)를 설정하여, 상기 실행 요구되는 슬레이브 장치에 대하여 송신한다.In addition, the main processor 1021-1 included in the information processing controller 1011 in the master device 1001 generates a software cell whose DMA command is a function program execution command, and generates a corresponding function on the cell interface of the software cell. The necessary subprocessor information and sandbox size (see Fig. 3) related to the program are set and transmitted to the slave device requested to be executed.

기능 프로그램의 실행을 요구된 슬레이브 장치는, 그 기능 프로그램을 실행함과 더불어, 자 장치의 장치 정보 테이블을 갱신한다. 그 때, 필요하면, 슬레이브 장치내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(1021)는, 상기의 방법에 의해 자 장치의 외부 메모리부(1031)로부터 메인 메모리(1026)에 기능 프로그램 및 해당 기능 프로그램과 제휴 동작하는 서브 프로세서 프로그램을 로딩한다.The slave device requested to execute the function program executes the function program and updates the device information table of the own device. At that time, if necessary, the main processor 1021 included in the information processing controller in the slave device is connected to the main memory 1026 from the external memory unit 1031 of the own device by the above method. Load a subprocessor program that operates in association.

기능 프로그램의 실행을 요구된 슬레이브 장치의 외부 메모리부(1031)에, 필요한 기능 프로그램 또는 해당 기능 프로그램과 제휴 동작하는 서브 프로세서 프로그램이 기록되어 있지 않은 경우에는, 다른 정보 처리 장치가 해당 기능 프로그램 또는 서브 프로세서 프로그램을, 그 기능 프로그램 실행 요구처 슬레이브 장치에 송신하도록, 시스템을 구성하면 무방하다.If the necessary function program or the subprocessor program cooperatively operating with the function program is not recorded in the external memory unit 1031 of the slave device that is requested to execute the function program, the other information processing apparatus is the function program or sub. The system may be configured to transmit the processor program to the functional program execution request slave device.

서브 프로세서 프로그램에 대해서는, 전술하는 로딩 커맨드 및 킥 커맨드를 이용하여 타 정보 처리 장치에 실행시킬 수도 있다.The subprocessor program may be executed by another information processing apparatus using the above-described loading command and kick command.

기능 프로그램의 실행 종료 후, 기능 프로그램을 실행한 슬레이브 장치내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(1021)는, 종료 통지를 마스터 장치(1001)내의 정보 처리 컨트롤러(1011)에 포함되는 메인 프로세서(1021-1)에 송신함과 더불어, 자 장치의 장치 정보 테이블을 갱신한다. 마스터 장치(1001)내의 정보 처리 컨트롤러(1011)에 포함되는 메인 프로세서(1021-1)는, 그 종료 통지를 수신하여, 기능 프로그램을 실행한 슬레이브 장치의 장치 정보 테이블을 갱신한다.After completion of the execution of the function program, the main processor 1021 included in the information processing controller in the slave device that executed the function program sends a termination notification to the main processor 1021 included in the information processing controller 1011 in the master device 1001. -1) and the device information table of the own device is updated. The main processor 1021-1 included in the information processing controller 1011 in the master device 1001 receives the end notification and updates the device information table of the slave device that executed the function program.

마스터 장치(1001)내의 정보 처리 컨트롤러(1011)에 포함되는 메인 프로세서(1021-1)는, 자 장치 및 타 장치의 장치 정보 테이블의 참조 결과로부터, 해당 기능 프로그램을 실행할 수 있는 정보 처리 장치로서, 자신을 선택하는 경우도 있을 수 있다. 그 경우에는, 마스터 장치(1001)가 해당 기능 프로그램을 실행한다.The main processor 1021-1 included in the information processing controller 1011 in the master device 1001 is an information processing device capable of executing the corresponding function program from the reference result of the device information table of the child device and the other device. There may be times when you choose yourself. In that case, the master device 1001 executes the function program.

도 25의 예에서, 사용자가 슬레이브 장치 A(정보 처리 장치(1002))를 조작하여, 해당 조작에 따른 기능 프로그램을 별도의 슬레이브 장치 B(정보 처리 장치 (1003))가 실행하는 경우에 관하여, 도 26에 이상의 분산 처리의 예를 나타낸다.In the example of FIG. 25, in the case where a user manipulates slave device A (information processing device 1002), and a separate slave device B (information processing device 1003) executes a function program according to the operation, 26 shows an example of the above dispersion processing.

도 26의 예에서는, 사용자가 슬레이브 장치 A를 조작함으로써, 슬레이브 장치 A를 포함하는 네트워크 시스템 전체의 분산 처리가 개시하여, 우선 슬레이브 장치 A는, 단계 1091에서, 그 조작 정보를 마스터 장치(1001)에 송신한다.In the example of FIG. 26, when the user operates the slave device A, the distributed processing of the entire network system including the slave device A starts, and the slave device A first transmits the operation information to the master device 1001 in step 1091. Send to

마스터 장치(1001)는, 단계 1092에서, 그 조작 정보를 수신하고, 또한 단계 1093으로 진행하여, 자 장치의 메인 메모리(1026-1)에 기록되어 있는 자 장치 및 타 장치의 장치 정보 테이블로부터, 각 정보 처리 장치의 동작 상태를 조사하여, 수신한 조작 정보에 대응한 기능 프로그램을 실행할 수 있는 정보 처리 장치를 선택한다. 이 예는, 슬레이브 장치 B가 선택되는 경우이다.In step 1092, the master device 1001 receives the operation information and proceeds to step 1093, from the device information table of the child device and the other device recorded in the main memory 1026-1 of the child device, The operation state of each information processing apparatus is examined to select an information processing apparatus capable of executing a function program corresponding to the received operation information. This example is a case where the slave device B is selected.

다음으로, 마스터 장치(1001)는, 단계 1094에서, 그 선택한 슬레이브 장치 B에 대하여 기능 프로그램의 실행을 요구한다.Next, in step 1094, the master device 1001 requests execution of the function program for the selected slave device B. FIG.

슬레이브 장치 B는, 단계 1095에서, 그 실행 요구를 수신하고, 또한 단계 1096으로 진행하여, 실행 요구된 기능 프로그램을 실행한다.In step 1095, the slave device B receives the execution request, and then proceeds to step 1096 to execute the execution requested function program.

이상과 같이, 사용자는, 1대의 정보 처리 장치만을 조작함으로써, 다른 정보 처리 장치를 조작하지 않고, 복수의 정보 처리 장치(1001, 1002, 1003 및 1004)를 가상적인 1대의 정보 처리 장치(1007)로서 동작시킬 수 있다.As described above, the user operates only one information processing apparatus so that the plurality of information processing apparatuses 1001, 1002, 1003, and 1004 are virtually operated by one information processing apparatus 1007 without operating the other information processing apparatus. Can be operated as.

(4-6. 각 정보 처리 장치 및 시스템의 구체예)(4-6. Specific example of each information processing apparatus and system)

네트워크(1009)를 통하여 상호 접속되는 정보 처리 장치(1001, 1002, 1003 및 1004)는, 기본적으로 상기한 바와 같은 정보 처리 컨트롤러(1011, 1012, 1013 및 1014)에 의해 정보 처리를 행하는 것이면, 어떠한 것이어도 무방하지만, 도 27 에, 그 일례를 나타낸다.The information processing apparatuses 1001, 1002, 1003, and 1004 interconnected via the network 1009 basically perform information processing by the information processing controllers 1011, 1012, 1013, and 1014 as described above. Although one may be sufficient, the example is shown in FIG.

이 예에서는, 정보 처리 컨트롤러(1011)를 구비하는 정보 처리 장치(1001)는, 하드디스크 레코더이고, 도 28에 나타내는 바와 같이, 하드웨어 구성으로서는, 도 16에 도시한 외부 메모리부(1031-1)로서, 하드디스크를 내장하고, 도 16에 도시한 외부 메모리부(1031-2)로서, DVD±R/RW, CD±R/RW, Blu-rayDisc(등록상표) 등의 광 디스크를 장착할 수 있도록 구성됨과 더불어, 정보 처리 컨트롤러(1011)의 버스(1032-1)에 접속된 버스(1051-1)에, 방송 수신부(1052-1), 영상 입력부(1053-1), 음성 입력부(1054-1), 영상 출력부(1055-1), 음성 출력부(1056-1), 조작 패널부(1057-1), 리모콘 수광부(1058-1) 및 네트워크 접속부(1059-1)가 접속된 것이다.In this example, the information processing apparatus 1001 including the information processing controller 1011 is a hard disk recorder, and as shown in FIG. 28, the external memory unit 1031-1 shown in FIG. 16 is a hardware configuration. As an external memory unit 1031-2 shown in Fig. 16, an optical disc such as DVD ± R / RW, CD ± R / RW, Blu-rayDisc (registered trademark) can be mounted. In addition, the broadcast receiver 1052-1, the video input unit 1053-1, and the audio input unit 1054 are connected to the bus 1051-1 connected to the bus 1032-1 of the information processing controller 1011. 1), the video output unit 1055-1, the audio output unit 1056-1, the operation panel unit 1057-1, the remote control light receiving unit 1058-1, and the network connection unit 1059-1 are connected.

방송 수신부(1052-1), 영상 입력부(1053-1) 및 음성 입력부(1054-1)는, 방송 신호를 수신하고, 또는 정보 처리 장치(1001)의 외부로부터 영상 신호 및 음성 신호를 입력하고, 각각 소정 포맷의 디지털 데이터로 변환하여, 정보 처리 컨트롤러(1011)에서의 처리를 위해 버스(1051-1)에 송출하는 것이고, 영상 출력부(1055-1) 및 음성 출력부(1056-1)는, 정보 처리 컨트롤러(1011)로부터 버스(1051-1)에 송출된 영상 데이터 및 음성 데이터를 처리하여, 디지털 데이터인 상태로, 또는 아날로그 신호로 변환하여, 정보 처리 장치(1001)의 외부에 송출하는 것이고, 리모콘 수광부(1058-1)는, 리모콘 송신기(1063-1)로부터의 리모콘(원격 조작) 적외선 신호를 수신하는 것이다.The broadcast receiving unit 1052-1, the video input unit 1053-1, and the audio input unit 1054-1 receive a broadcast signal or input a video signal and an audio signal from the outside of the information processing apparatus 1001, Each is converted into digital data of a predetermined format and sent to the bus 1051-1 for processing by the information processing controller 1011. The video output unit 1055-1 and the audio output unit 1056-1 To process the video data and audio data transmitted from the information processing controller 1011 to the bus 1051-1, convert them into digital data, or convert them into analog signals and send them to the outside of the information processing apparatus 1001. The remote control light receiver 1058-1 receives the remote control (remote operation) infrared signal from the remote control transmitter 1063-1.

도 27 및 도 28에 나타내는 바와 같이, 정보 처리 장치(하드디스크 레코더)(1001)의 영상 출력부(1055-1) 및 음성 출력부(1056-1)에는, 모니터 표시 장치 (1061) 및 스피커 장치(1062)가 접속된다.As shown in FIG. 27 and FIG. 28, the monitor display device 1061 and the speaker device are provided in the video output unit 1055-1 and the audio output unit 1056-1 of the information processing apparatus (hard disk recorder) 1001. 1062 are connected.

도 27의 예의, 정보 처리 컨트롤러(1012)를 구비하는 정보 처리 장치(1002)도, 하드디스크 레코더이고, 도 28에 있어서 괄호 안에 참조 번호를 붙여서 나타내는 바와 같이, 정보 처리 장치(1001)와 마찬가지로 구성된 것이다. 단, 예를 들면, 도 27에 나타내는 바와 같이, 정보 처리 장치(하드디스크 레코더)(1002)에는, 모니터 표시 장치 및 스피커 장치는 접속되지 않는다.The information processing apparatus 1002 provided with the information processing controller 1012 of the example of FIG. 27 is also a hard disk recorder, and is comprised similarly to the information processing apparatus 1001 as shown with the reference number in brackets in FIG. will be. For example, as shown in FIG. 27, the monitor display device and the speaker device are not connected to the information processing device (hard disk recorder) 1002.

정보 처리 장치(하드디스크 레코더)(1001 및 1002), 즉 정보 처리 컨트롤러(1011 및 1012)의 소프트웨어 구성으로서는, 도 29에 나타내는 바와 같이, 제어 프로그램으로서, MS 매니저 및 능력 교환 프로그램을 구비하고, 기능 프로그램으로서, 영상 음성 기록, 영상 음성 재생, 소재 검색 및 프로그램 녹화 예약을 위한 프로그램을 구비하고, 디바이스 드라이버로서, 방송 수신, 영상 출력, 음성 출력, 외부 메모리부 입출력 및 네트워크 입출력을 위한 프로그램을 구비한다.As a software configuration of the information processing apparatuses (hard disk recorders) 1001 and 1002, that is, the information processing controllers 1011 and 1012, as shown in FIG. 29, the control program includes an MS manager and a capability exchange program. As a program, a program for video audio recording, video audio playback, location search, and program recording reservation is provided. As a device driver, a program for broadcast reception, video output, audio output, external memory input / output, and network input / output is provided. .

도 27의 예의, 정보 처리 컨트롤러(1013)를 구비하는 정보 처리 장치(1003)는, PDA(Personal Digital Assistants)이고, 도 30에 도시하는 바와 같이, 하드웨어 구성으로서는, 도 16에 도시한 외부 메모리부(1031-5)로서, 메모리 카드 디스크를 장착할 수 있도록 구성됨과 더불어, 정보 처리 컨트롤러(1013)의 버스(1032-3)에 접속된 버스(1071)에, 액정 표시부(1072), 음성 출력부(1073), 카메라부(1074), 음성 입력부(1075), 키보드부(1076) 및 네트워크 접속부(1077)가 접속된 것이다.The information processing apparatus 1003 provided with the information processing controller 1013 of the example of FIG. 27 is PDA (Personal Digital Assistants), and as shown in FIG. 30, as a hardware structure, the external memory part shown in FIG. As a 1031-5, a memory card disk can be mounted, and a liquid crystal display 1072 and an audio output unit are provided on a bus 1071 connected to the bus 1032-3 of the information processing controller 1013. 1073, camera portion 1074, audio input portion 1075, keyboard portion 1076, and network connection portion 1077 are connected.

또한, 도 16에서는 내부를 생략한 정보 처리 컨트롤러(1013)는, 메인 프로세서(1021-3), 서브 프로세서(1023-7, 1023-8 및 1023-9), DMAC(다이렉트 메모리 액 세스 컨트롤러)(1025-3), 컨트롤 레지스터(1028-3), 워크 메모리(1029-3), DC(디스크 컨트롤러)(1030-3), 및 버스(1032-3)를 구비하고, 그 메인 프로세서(1021-3)는, LS(로컬 스토리지)(1022-3)를 갖고, 각 서브 프로세서(1023-7, 1023-8 및 1023-9)는, LS(로컬 스토리지)(1024-7, 1024-8 및 1024-9)를 갖는다.In addition, in FIG. 16, the information processing controller 1013 which has abbreviate | omitted the inside may include the main processor 1021-3, the subprocessors 1023-7, 1023-8, and 1023-9, DMAC (direct memory access controller) ( 1025-3, control register 1028-3, work memory 1029-3, DC (disk controller) 1030-3, and bus 1032-3, and the main processor 1021-3. ) Has LS (local storage) 1022-3, and each subprocessor 1023-7, 1023-8, and 1023-9 has LS (local storage) 1024-7, 1024-8, and 1024-. Has 9).

정보 처리 장치(PDA)(1003), 즉 정보 처리 컨트롤러(1013)의 소프트웨어 구성으로서는, 도 31에 도시하는 바와 같이, 제어 프로그램으로서, MS 매니저 및 능력 교환 프로그램을 구비하고, 기능 프로그램으로서, 영상 음성 기록, 영상 음성 재생, 전화번호부, 워드 프로세서 및 표 계산을 위한 프로그램, 및 Web 브라우저를 구비하고, 디바이스 드라이버로서, 영상 출력, 음성 출력, 카메라 영상 입력, 마이크 음성 입력 및 네트워크 입출력을 위한 프로그램을 구비한다.As the software configuration of the information processing apparatus (PDA) 1003, that is, the information processing controller 1013, as shown in FIG. 31, the control program is provided with an MS manager and a capability exchange program, and is a video and audio function. It has a program for recording, video audio playback, phone book, word processor and table calculation, and Web browser, and as a device driver, it has a program for video output, audio output, camera video input, microphone audio input and network input / output. do.

도 27의 예의, 정보 처리 컨트롤러(1014)를 구비하는 정보 처리 장치(1004)는, 포터블 CD 플레이어이고, 도 32에 도시한 바와 같이, 하드웨어 구성으로서는, 도 16에 도시한 외부 메모리부(1031-6)로서, CD(Compact Disc)를 장착할 수 있도록 구성됨과 더불어, 정보 처리 컨트롤러(1014)의 버스(1032-4)에 접속된 버스(1081)에, 액정 표시부(1082), 음성 출력부(1083), 조작 버튼부(1084) 및 네트워크 접속부(1085)가 접속된 것이다.The information processing apparatus 1004 provided with the information processing controller 1014 of the example of FIG. 27 is a portable CD player, and as shown in FIG. 32, as a hardware configuration, the external memory part 1031 shown in FIG. 16 is shown. 6), a CD (Compact Disc) can be mounted, and a liquid crystal display (1082) and an audio output unit (2) on a bus 1081 connected to the bus 1032-4 of the information processing controller 1014. 1083, the operation button part 1084, and the network connection part 1085 are connected.

또한, 도 16에서는 내부를 생략한 정보 처리 컨트롤러(1014)는, 메인 프로세서(1021-4), 서브 프로세서(1023-10, 1023-11 및 1023-12), DMAC(다이렉트 메모리 액세스 컨트롤러)(1025-4), 컨트롤 레지스터(1028-4), 워크 메모리(1029-4), DC(디스크 컨트롤러)(1030-4), 및 버스(1032-4)를 구비하고, 그 메인 프로세서(1021-4) 는, LS(로컬 스토리지)(1022-4)를 갖고, 각 서브 프로세서(1023-10, 1023-11 및 1023-12)는, LS(로컬 스토리지)(1024-10, 1024-11 및 1024-12)를 갖는다.In addition, the information processing controller 1014 which has abbreviate | omitted the inside in FIG. 16 is the main processor 1021-4, the subprocessors 1023-10, 1023-11, and 1023-12, DMAC (direct memory access controller) 1025. -4), a control register 1028-4, a work memory 1029-4, a DC (disk controller) 1030-4, and a bus 1032-4, and the main processor 1021-4. Has LS (local storage) 1022-4, and each subprocessor 1023-10, 1023-11, and 1023-12 has LS (local storage) 1024-10, 1024-11, and 1024-12. Has

정보 처리 장치(포터블 CD 플레이어)(1004), 즉 정보 처리 컨트롤러(1014)의 소프트웨어 구성으로서는, 도 33에 도시하는 바와 같이, 제어 프로그램으로서, MS 매니저 및 능력 교환 프로그램을 구비하고, 기능 프로그램으로서, 음악 재생을 위한 프로그램을 구비하며, 디바이스 드라이버로서, 음성 출력, CD 제어 및 네트워크 입출력을 위한 프로그램을 구비한다.As a software configuration of the information processing apparatus (portable CD player) 1004, that is, the information processing controller 1014, as shown in FIG. 33, the control program includes an MS manager and a capability exchange program, and as a function program, A program for music reproduction is provided, and as a device driver, a program for audio output, CD control, and network input / output is provided.

이상과 같은 도 27의 예의 네트워크 시스템에 있어서, 정보 처리 장치(1001, 1003 및 1004)가 네트워크(1009)상에 접속되어 있고, 정보 처리 장치(1001)가 마스터 장치(MS 스테이터스=0)로서, 정보 처리 장치(1003 및 1004)가 슬레이브 장치(MS 스테이터스=1)로서, 설정되어 있는 것으로 한다.In the network system of the example of FIG. 27 described above, the information processing apparatuses 1001, 1003, and 1004 are connected on the network 1009, and the information processing apparatus 1001 is the master apparatus (MS status = 0). It is assumed that the information processing apparatuses 1003 and 1004 are set as slave devices (MS status = 1).

이 상태에서, 새롭게 정보 처리 장치(1002)가 네트워크(1009)에 접속되면, 전술한 방법에 의해, 정보 처리 장치(1002)내의 정보 처리 컨트롤러(1012)에 포함되는 메인 프로세서(1021-2)에 의해 실행되고 있는 MS 매니저는, 다른 정보 처리 장치(1001, 1003 및 1004)에 MS 스테이터스를 조회하여, 정보 처리 장치(1001)가 이미 마스터 장치로서 존재하는 것을 인식하여, 자 장치(정보 처리 장치(1002))를 슬레이브 장치(MS 스테이터스=1)로 설정한다. 또한, 마스터 장치로 설정되어 있는 정보 처리 장치(1001)는, 새롭게 추가된 정보 처리 장치(1002)를 포함하는 각 장치의 장치 정보를 수집하여, 메인 메모리(1026-1)내의 장치 정보 테이블을 갱신한다.In this state, when the information processing apparatus 1002 is newly connected to the network 1009, the main processor 1021-2 included in the information processing controller 1012 in the information processing apparatus 1002 by the method described above. The MS manager executed by the MS inquires the MS status to other information processing apparatuses 1001, 1003, and 1004, recognizes that the information processing apparatus 1001 already exists as a master device, and recognizes the child device (information processing apparatus ( 1002)) to the slave device (MS status = 1). In addition, the information processing apparatus 1001 set as the master device collects device information of each device including the newly added information processing device 1002 and updates the device information table in the main memory 1026-1. do.

이와 같은 상태에서, 사용자에 의해 슬레이브 장치인 정보 처리 장치 (PDA)(1003)에 의해 2시간의 방송 프로그램의 녹화 예약의 조작이 행해진 경우를 나타낸다.In this state, it shows the case where the recording reservation operation of the broadcast program for 2 hours is performed by the information processing apparatus (PDA) 1003 which is a slave device by the user.

이 경우, 슬레이브 장치인 정보 처리 장치(PDA)(1003)는, 사용자로부터 녹화 개시 시각, 녹화 종료 시각, 녹화 대상 방송 채널, 녹화 품질 등의 정보를 포함하는 녹화 예약 정보의 입력을 접수하고, 해당 녹화 예약 정보 및 DMA 커맨드로서의 녹화 예약 커맨드를 포함하는 소프트웨어 셀을 생성하여, 마스터 장치인 정보 처리 장치(1001)에 송신한다.In this case, the information processing apparatus (PDA) 1003, which is a slave device, receives an input of recording reservation information including information such as recording start time, recording end time, recording target broadcast channel, recording quality, and the like from the user. A software cell including the recording reservation information and the recording reservation command as the DMA command is generated and transmitted to the information processing device 1001 which is the master device.

DMA 커맨드가 녹화 예약 커맨드인 소프트웨어 셀을 수신한 정보 처리 장치(1001)내의 정보 처리 컨트롤러(1011)에 포함되는 메인 프로세서(1021-1)는, 녹화 예약 커맨드를 판독함과 더불어, 메인 메모리(1026-1)내의 장치 정보 테이블을 참조하여, 해당 녹화 예약 커맨드를 실행 가능한 정보 처리 장치를 특정한다.The main processor 1021-1 included in the information processing controller 1011 in the information processing apparatus 1001 that receives the software cell in which the DMA command is the recording reservation command reads the recording reservation command, and the main memory 1026. With reference to the device information table in -1), an information processing device capable of executing the corresponding recording reservation command is specified.

우선, 메인 프로세서(1021-1)는, 장치 정보 테이블에 포함되는 각 정보 처리 장치(1001, 1002, 1003 및 1004)의 정보 처리 장치 종별 ID를 판독하여, 녹화 예약 커맨드에 대응하는 기능 프로그램을 실행 가능한 정보 처리 장치를 추출한다. 여기서는, 녹화 기능을 나타내는 정보 처리 장치 종별 ID를 갖는 정보 처리 장치(1001 및 1002)가 후보 장치로서 특정되고, 정보 처리 장치(1003 및 1004)는 후보 장치로부터 제외된다.First, the main processor 1021-1 reads the information processing apparatus type IDs of the information processing apparatuses 1001, 1002, 1003, and 1004 included in the device information table, and executes a function program corresponding to the recording reservation command. Extract possible information processing devices. Here, information processing apparatuses 1001 and 1002 having an information processing apparatus type ID indicating a recording function are specified as candidate apparatuses, and information processing apparatuses 1003 and 1004 are excluded from the candidate apparatus.

다음으로, 마스터 장치인 정보 처리 장치(1001)내의 정보 처리 컨트롤러(1011)에 포함되는 메인 프로세서(1021-1)는, 장치 정보 테이블을 참조하여, 정보 처리 장치(1001 및 1002)의 메인 프로세서 또는 서브 프로세서의 처리 능력, 메인 메모리에 관한 정보 등의, 장치에 관한 정보를 판독하고, 정보 처리 장치(1001 및 1002)가 녹화 예약 커맨드에 대응하는 기능 프로그램의 실행에 필요한 요구 스펙을 만족하는지의 여부를 판단한다. 여기서는, 정보 처리 장치(1001, 1002) 모두, 녹화 예약 커맨드에 대응하는 기능 프로그램의 실행에 필요한 요구 스펙을 만족하는 것으로 한다.Next, the main processor 1021-1 included in the information processing controller 1011 in the information processing device 1001 that is the master device refers to the device information table, and the main processor of the information processing devices 1001 and 1002 or Whether the information processing apparatuses 1001 and 1002 satisfy the requirements required for the execution of the function program corresponding to the recording reservation command by reading information about the apparatus such as the processing capacity of the subprocessor and the information on the main memory. Judge. Here, it is assumed that both of the information processing apparatuses 1001 and 1002 satisfy the requirement specification required for the execution of the function program corresponding to the recording reservation command.

또한, 메인 프로세서(1021-1)는, 장치 정보 테이블을 참조하여, 정보 처리 장치(1001 및 1002)의 외부 메모리부에 관한 정보를 판독하고, 외부 메모리부의 공백 용량이 해당 녹화 예약 커맨드의 실행에 필요한 용량을 만족하는지의 여부를 판단한다. 정보 처리 장치(1001 및 1002)는 하드디스크 레코더이기 때문에, 각각 하드디스크(1031-1 및 1031-3)의, 총 용량과 사용량과의 차분이, 각각의 공백 용량에 상당한다.In addition, the main processor 1021-1 reads information about the external memory units of the information processing apparatuses 1001 and 1002 with reference to the device information table, and the free space of the external memory unit is used for execution of the recording reservation command. It is determined whether the required dose is satisfied. Since the information processing apparatuses 1001 and 1002 are hard disk recorders, the difference between the total capacity and the usage amount of the hard disks 1031-1 and 1031-3 corresponds to the respective blank capacities.

이 경우, 정보 처리 장치(1001)의 하드디스크(1031-1)의 공백 용량이, 녹화 시간으로 환산하여 10분이고, 정보 처리 장치(1002)의 하드디스크(1031-3)의 공백 용량이, 녹화 시간으로 환산하여 20시간이라고 하자.In this case, the free space of the hard disk 1031-1 of the information processing apparatus 1001 is 10 minutes in terms of recording time, and the free space of the hard disk 1031-3 of the information processing apparatus 1002 records. Let's say it's 20 hours.

이 때, 마스터 장치인 정보 처리 장치(1001)내의 정보 처리 컨트롤러(1011)에 포함되는 메인 프로세서(1021-1)는, 해당 녹화 예약 커맨드의 실행에 필요한 2시간분의 공백 용량을 확보할 수 있는 정보 처리 장치를, 실행 요구처 슬레이브 장치로서 특정한다.At this time, the main processor 1021-1 included in the information processing controller 1011 in the information processing apparatus 1001 serving as the master device can secure a free space for two hours necessary for executing the recording reservation command. The information processing apparatus is identified as the execution request destination slave apparatus.

그 결과, 정보 처리 장치(1002)만이 실행 요구처 슬레이브 장치로서 선택되고, 마스터 장치인 정보 처리 장치(1001)내의 정보 처리 컨트롤러(1011)에 포함되 는 메인 프로세서(1021-1)는, 사용자에 의해 조작된 정보 처리 장치(1003)로부터 송신된 녹화 예약 정보를 포함하는 해당 녹화 예약 커맨드를 정보 처리 장치(1002)에 송신하여, 상기 2시간의 방송 프로그램의 녹화 예약의 실행을 요구한다.As a result, only the information processing device 1002 is selected as the execution request destination slave device, and the main processor 1021-1 included in the information processing controller 1011 in the information processing device 1001 serving as the master device is provided to the user. The recording reservation command including the recording reservation information transmitted from the information processing apparatus 1003 operated by the transmission is sent to the information processing apparatus 1002, and the execution of the recording reservation of the two-hour broadcast program is requested.

그리고, 정보 처리 장치(1002)내의 정보 처리 컨트롤러(1012)에 포함되는 메인 프로세서(1021-2)는, 해당 녹화 예약 커맨드를 해석하여, 녹화에 필요한 기능 프로그램을 외부 메모리부인 하드디스크(1031-3)로부터 메인 메모리(1026-2)에 로딩하고, 녹화 예약 정보에 따라서 녹화를 실행한다. 그 결과, 녹화 예약된 2시간의 방송 프로그램의 영상 음성 데이터가 정보 처리 장치(1002)의 하드디스크(1031-3)에 기록된다.Then, the main processor 1021-2 included in the information processing controller 1012 in the information processing apparatus 1002 interprets the recording reservation command, and transmits a function program required for recording to the hard disk 1031-3 serving as an external memory unit. ) Is loaded into the main memory 1026-2, and recording is performed in accordance with the recording reservation information. As a result, the video and audio data of the broadcast program of two hours of recording reservation is recorded on the hard disk 1031-3 of the information processing apparatus 1002.

이와 같이, 도 27의 예의 네트워크 시스템에 있어서도, 사용자는, 1대의 정보 처리 장치만을 조작함으로써, 다른 정보 처리 장치를 조작하지 않고, 복수의 정보 처리 장치(1001, 1002, 1003 및 1004)를 가상적인 1대의 정보 처리 장치(1007)로서 동작시킬 수 있다.Thus, even in the network system of the example of FIG. 27, the user operates only one information processing apparatus, thereby virtually operating the plurality of information processing apparatuses 1001, 1002, 1003, and 1004 without operating the other information processing apparatus. It can operate as one information processing apparatus 1007.

당업자에게는, 설계 요건이나 다른 인자에 따라, 특허 청구범위의 범주 또는 그 등가물 내에서 다양한 수정, 조합, 부 조합, 변경 등이 있을 수 있다는 것을 이해할 것이다.Those skilled in the art will understand that various modifications, combinations, subcombinations, changes, and the like may occur within the scope of the claims or equivalents thereof, depending on design requirements or other factors.

이상과 같이, 본 발명에 따르면, 네트워크를 통하여 접속된 복수의 정보 처리 장치 사이에서 분산 처리를 확실하고 또한 효과적으로 행할 수 있다.As described above, according to the present invention, distributed processing can be reliably and effectively performed between a plurality of information processing apparatuses connected via a network.

Claims (22)

네트워크를 통하여 다른 정보 처리 장치와 접속되고, 소정의 커맨드에 따라서 정보 처리를 행하는 정보 처리 장치에 있어서, An information processing apparatus which is connected to another information processing apparatus via a network and performs information processing in accordance with a predetermined command, 상기 다른 정보 처리 장치로부터 동작 상태에 관한 정보를 수집하여, 장치 정보 테이블을 작성하는 능력 교환 수단과, Capability exchange means for collecting information on an operation state from said other information processing apparatus and creating a device information table; 상기 커맨드가 발생했을 때, 해당 커맨드의 실행에 필요한 자원에 관한 정보와, 상기 장치 정보 테이블의 동작 상태에 관한 정보를 비교하여, 해당 커맨드를 실행 가능한 정보 처리 장치를 특정하는 장치 특정 수단When the command is generated, device specifying means for specifying an information processing apparatus capable of executing the command by comparing the information on the resources necessary for the execution of the command with the information on the operation state of the device information table. 을 포함하는 것을 특징으로 하는 정보 처리 장치.Information processing apparatus comprising a. 제 1 항에 있어서, The method of claim 1, 상기 능력 교환 수단은, 상기 다른 정보 처리 장치의 정보 처리 능력 데이터를 수집하여 상기 장치 정보 테이블에 보존하고, The capability exchange means collects and stores information processing capability data of the other information processing apparatus in the apparatus information table, 상기 장치 특정 수단은, 상기 커맨드의 실행에 필요한 정보 처리 능력과, 상기 다른 정보 처리 장치의 정보 처리 능력을 비교하여, 상기 커맨드를 실행 가능한 정보 처리 장치를 특정하는 것을 특징으로 하는 정보 처리 장치.And the device specifying means specifies an information processing device capable of executing the command by comparing the information processing capability required for executing the command with the information processing capability of the other information processing apparatus. 제 1 항에 있어서, The method of claim 1, 상기 능력 교환 수단은, 상기 다른 정보 처리 장치의 메모리 용량 데이터를 수집하여 상기 장치 정보 테이블에 보존하고, The capability exchange means collects and stores the memory capacity data of the other information processing apparatus in the apparatus information table, 상기 장치 특정 수단은, 상기 커맨드의 실행에 필요한 메모리 용량과, 상기 다른 정보 처리 장치의 메모리 용량을 비교하여, 상기 커맨드를 실행 가능한 정보 처리 장치를 특정하는 것을 특징으로 하는 정보 처리 장치.And the device specifying means specifies an information processing device capable of executing the command by comparing a memory capacity required for the execution of the command with a memory capacity of the other information processing device. 제 1 항에 있어서, The method of claim 1, 상기 능력 교환 수단은, 상기 다른 정보 처리 장치의 외부 기록 수단의 용량 데이터를 수집하여 상기 장치 정보 테이블에 보존하고, The capability exchange means collects and stores capacity data of the external recording means of the other information processing apparatus in the apparatus information table, 상기 장치 특정 수단은, 상기 커맨드의 실행에 필요한 외부 기록 수단의 용량과, 상기 다른 정보 처리 장치의 외부 기록 수단의 용량을 비교하여, 상기 커맨드를 실행 가능한 정보 처리 장치를 특정하는 것을 특징으로 하는 정보 처리 장치.The device specifying means specifies the information processing apparatus capable of executing the command by comparing the capacity of the external recording means necessary for the execution of the command with the capacity of the external recording means of the other information processing apparatus. Processing unit. 제 1 항에 있어서, The method of claim 1, 상기 능력 교환 수단은, 상기 다른 정보 처리 장치의 기능을 특정 가능한 정보 처리 장치 종별 식별자를 수집하여 상기 장치 정보 테이블에 보존하고, The capability exchange means collects the information processing apparatus type identifiers capable of specifying the functions of the other information processing apparatus and stores them in the apparatus information table. 상기 장치 특정 수단은, 상기 커맨드의 실행에 필요한 기능과, 상기 다른 정보 처리 장치의 정보 처리 장치 종별 식별자를 비교하여, 상기 커맨드를 실행 가능한 정보 처리 장치를 특정하는 것을 특징으로 하는 정보 처리 장치.And the device specifying means specifies an information processing device capable of executing the command by comparing a function necessary for executing the command with an information processing device type identifier of the other information processing device. 제 1 항에 있어서, The method of claim 1, 상기 능력 교환 수단은, 상기 장치 특정 수단에 의해 특정된 정보 처리 장치에 대하여 상기 커맨드를 송신하여 실행 요구하는 것을 특징으로 하는 정보 처리 장치.And the capability exchanging means transmits and executes the command to the information processing apparatus specified by the apparatus specifying means. 제 1 항에 있어서, The method of claim 1, 상기 능력 교환 수단은, 상기 다른 정보 처리 장치와 네트워크 간의 접속이 변경된 경우에, 상기 다른 정보 처리 장치의 동작 상태에 관한 정보를 수집하여, 상기 장치 정보 테이블을 갱신하는 것을 특징으로 하는 정보 처리 장치.And the capability exchange means collects information on the operation state of the other information processing apparatus and updates the device information table when the connection between the other information processing apparatus and the network is changed. 제 1 항에 있어서, The method of claim 1, 상기 능력 교환 수단은, 소정의 시간 간격으로 상기 다른 정보 처리 장치의 동작 상태에 관한 정보를 수집하여, 상기 장치 정보 테이블을 갱신하는 것을 특징으로 하는 정보 처리 장치.And the capability exchange means collects information on an operation state of the other information processing apparatus at predetermined time intervals and updates the device information table. 제 1 항에 있어서, The method of claim 1, 상기 다른 정보 처리 장치는 상기 커맨드를 처리하는 프로세서 수단을 복수 구비하고, 상기 능력 교환 수단은 상기 복수의 프로세서 수단 각각의 동작 상태에 관한 정보를 수집하여, 상기 장치 정보 테이블에 보존하는 것을 특징으로 하는 정보 처리 장치.The other information processing apparatus includes a plurality of processor means for processing the command, and the capability exchanging means collects information on an operating state of each of the plurality of processor means and stores them in the device information table. Information processing device. 제 1 항에 있어서, The method of claim 1, 상기 네트워크에 다른 정보 처리 장치가 접속되었는지의 여부를 판단하는 매니저 수단을 더 포함하고,Manager means for determining whether or not another information processing apparatus is connected to the network; 이 매니저 수단에 의해 상기 네트워크에 다른 정보 처리 장치가 접속되었다고 판단된 경우에는, 상기 능력 교환 수단에 의한 처리를 실행하는 것을 특징으로 하는 정보 처리 장치.And if it is determined by the manager means that another information processing apparatus is connected to the network, the processing by the capability exchanging means is executed. 네트워크를 통하여 다른 정보 처리 장치와 접속되는 정보 처리 장치가 소정의 커맨드에 따라서 정보 처리를 행하는 정보 처리 방법에 있어서, An information processing method in which an information processing apparatus connected to another information processing apparatus via a network performs information processing according to a predetermined command, 상기 다른 정보 처리장치로부터 동작 상태에 관한 정보를 수집하여, 장치 정보 테이블을 작성하는 능력 교환 단계와, An ability exchange step of collecting information on an operation state from the other information processing device and creating a device information table; 상기 커맨드가 발생했을 때, 해당 커맨드의 실행에 필요한 자원에 관한 정보와, 상기 장치 정보 테이블의 동작 상태에 관한 정보를 비교하여, 해당 커맨드를 실행 가능한 정보 처리 장치를 특정하는 장치 특정 단계When the command is generated, the device specifying step of specifying an information processing device capable of executing the command by comparing the information on the resources necessary for the execution of the command with the information on the operation state of the device information table. 를 포함하는 것을 특징으로 하는 정보 처리 방법.Information processing method comprising a. 제 11 항에 있어서, The method of claim 11, 상기 장치 특정 단계에서 특정된 정보 처리 장치에 대하여 상기 커맨드를 송신하여 실행 요구하는 실행 요구 단계를 더 포함하는 것을 특징으로 하는 정보 처리 방법.And an execution request step of transmitting the command to the information processing apparatus specified in the device specifying step to execute execution request. 제 11 항에 있어서, The method of claim 11, 상기 다른 정보 처리 장치는, 상기 커맨드를 처리하는 프로세서 수단을 복수 포함하고, The other information processing apparatus includes a plurality of processor means for processing the command, 상기 능력 교환 단계에서는, 상기 복수의 프로세서 수단 각각의 동작 상태에 관한 정보를 수집하여, 상기 장치 정보 테이블에 보존하는 것을 특징으로 하는 정보 처리 방법.In the capability exchanging step, the information processing method collects information on an operating state of each of the plurality of processor means and stores it in the device information table. 제 11 항에 있어서, The method of claim 11, 상기 네트워크에 다른 정보 처리 장치가 접속되었는지의 여부를 판단하는 관리 단계를 더 포함하고, A management step of determining whether another information processing apparatus is connected to the network; 이 관리 단계에서 상기 네트워크에 다른 정보 처리 장치가 접속되었다고 판단된 경우에는, 상기 능력 교환 단계를 실행하는 것을 특징으로 하는 정보 처리 방법.And in the case where it is determined that another information processing apparatus is connected to the network in this management step, the capability exchange step is executed. 하나의 정보 처리 장치와 다른 정보 처리 장치가 네트워크를 통하여 접속되고, 소정의 커맨드에 따라서 정보 처리를 행하는 정보 처리 시스템에 있어서, In an information processing system in which one information processing device and another information processing device are connected via a network, and perform information processing according to a predetermined command, 상기 하나의 정보 처리 장치는,The one information processing device, 상기 다른 정보 처리 장치로부터 동작 상태에 관한 정보를 수집하여, 장치 정보 테이블을 작성하는 능력 교환 수단과, Capability exchange means for collecting information on an operation state from said other information processing apparatus and creating a device information table; 상기 커맨드가 발생했을 때, 해당 커맨드의 실행에 필요한 자원에 관한 정보와, 상기 장치 정보 테이블의 동작 상태에 관한 정보를 비교하여, 해당 커맨드를 실행 가능한 정보 처리 장치를 특정하는 장치 특정 수단When the command is generated, device specifying means for specifying an information processing apparatus capable of executing the command by comparing the information on the resources necessary for the execution of the command with the information on the operation state of the device information table. 을 포함하는 것을 특징으로 하다 정보 처리 시스템.Information processing system comprising a. 제 15 항에 있어서, The method of claim 15, 상기 능력 교환 수단은, 상기 장치 특정 수단에 의해 특정된 정보 처리 장치에 대하여 상기 커맨드를 송신하여 실행 요구하는 것을 특징으로 하는 정보 처리 시스템.And the capability exchanging means transmits and executes the command to the information processing apparatus specified by the apparatus specifying means. 제 15 항에 있어서, The method of claim 15, 상기 다른 정보 처리 장치는, 상기 커맨드를 처리하는 프로세서 수단을 복수 포함하고, The other information processing apparatus includes a plurality of processor means for processing the command, 상기 능력 교환 수단은, 상기 복수의 프로세서 수단 각각의 동작 상태에 관한 정보를 수집하여, 상기 장치 정보 테이블에 보존하는 것을 특징으로 하는 정보 처리 시스템.And the capability exchange means collects information on an operation state of each of the plurality of processor means and stores the information in the device information table. 제 15 항에 있어서, The method of claim 15, 상기 하나의 정보 처리 장치는, 상기 네트워크에 다른 정보 처리 장치가 접속되었는지의 여부를 판단하는 매니저 수단을 더 포함하고, 이 매니저 수단에 의해 상기 네트워크에 다른 정보 처리 장치가 접속되었다고 판단된 경우에는, 상기 능력 교환 수단에 의한 처리를 실행하는 것을 특징으로 하는 정보 처리 시스템.The one information processing apparatus further includes manager means for determining whether another information processing apparatus is connected to the network, and when it is determined by the manager means that another information processing apparatus is connected to the network, An information processing system characterized by executing a process by said capability exchange means. 하나의 정보 처리 장치와 다른 정보 처리 장치가 네트워크를 통하여 접속된 정보 처리 시스템에 있어서 소정의 커맨드에 따라서 정보 처리를 행하기 위해, 상기 하나의 정보 처리 장치가 구비하는 컴퓨터를, In an information processing system in which one information processing device and another information processing device are connected via a network, a computer provided by the one information processing device is provided to perform information processing according to a predetermined command. 상기 다른 정보 처리 장치로부터 동작 상태에 관한 정보를 수집하여, 장치 정보 테이블을 작성하는 능력 교환 수단, 및 상기 커맨드가 발생했을 때, 해당 커맨드의 실행에 필요한 자원에 관한 정보와, 상기 장치 정보 테이블의 동작 상태에 관한 정보를 비교하여, 해당 커맨드를 실행 가능한 정보 처리 장치를 특정하는 장치 특정 수단으로서 기능시키기 위한 정보 처리용 컴퓨터 프로그램.An ability exchange means for collecting information on an operation state from the other information processing apparatus to create a device information table, and information on resources necessary for executing the command when the command is generated, and the device information table. An information processing computer program for comparing information relating to an operating state and functioning as a device specifying means for specifying an information processing apparatus that can execute the command. 제 19 항에 있어서, The method of claim 19, 상기 컴퓨터를, 상기 특정된 정보 처리 장치에 대하여 상기 커맨드를 송신하여 실행 요구하는 수단으로서도 기능시키는 것을 특징으로 하는 정보 처리용 컴퓨터 프로그램.An information processing computer program, characterized in that the computer also functions as a means for transmitting the command and requesting execution to the specified information processing apparatus. 제 19 항에 있어서, The method of claim 19, 상기 다른 정보 처리 장치는, 상기 커맨드를 처리하는 프로세서 수단을 복수 포함하고, The other information processing apparatus includes a plurality of processor means for processing the command, 상기 정보 처리용 컴퓨터 프로그램은, 상기 컴퓨터를, 상기 능력 교환 수단으로서는, 상기 복수의 프로세서 수단 각각의 동작 상태에 관한 정보를 수집하여, 상기 장치 정보 테이블에 보존하는 수단으로서 기능시키는 것을 특징으로 하는 정보 처리용 컴퓨터 프로그램.The information processing computer program causes the computer to function as a means for collecting information on an operating state of each of the plurality of processor means as the capability exchange means and storing the information in the device information table. Computer program for processing. 제 19 항에 있어서, The method of claim 19, 상기 정보 처리용 컴퓨터 프로그램은, 상기 컴퓨터를 상기 네트워크에 다른 정보 처리 장치가 접속되었는지의 여부를 판단하는 매니저 수단으로서도 기능시키고, The computer program for processing information also functions the computer as manager means for determining whether another information processing device is connected to the network, 이 매니저 수단으로서의 기능에 의해 상기 네트워크에 다른 정보 처리 장치가 접속되었다고 판단된 경우에는, 상기 컴퓨터를 상기 능력 교환 수단으로서 기능시키는 것을 특징으로 하는 정보 처리용 프로그램.And when it is determined that another information processing apparatus is connected to the network by the function as the manager means, the computer functions as the capacity exchange means.
KR1020050021349A 2004-12-21 2005-03-15 Information processing apparatus, information processing method, information processing system, and computer program for information processing KR20060071069A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00369126 2004-12-21
JP2004369126A JP2005251163A (en) 2004-02-03 2004-12-21 Information processing device, information processing method, information processing system and information processing program

Publications (1)

Publication Number Publication Date
KR20060071069A true KR20060071069A (en) 2006-06-26

Family

ID=37164623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050021349A KR20060071069A (en) 2004-12-21 2005-03-15 Information processing apparatus, information processing method, information processing system, and computer program for information processing

Country Status (1)

Country Link
KR (1) KR20060071069A (en)

Similar Documents

Publication Publication Date Title
KR101089965B1 (en) Network system, distributed processing method and information processing apparatus
US8103771B2 (en) Distributing processing apparatus, method, and system
KR20060043201A (en) Information processing system, information processing method, and computer program
CN100534159C (en) Information processing system, information processing method, and computer program
JP4599923B2 (en) Information processing system, information processing method, and computer program
KR101119870B1 (en) Information processing system and method
CN100440198C (en) Information processing system, information processing method, and computer program used therewith
KR20060043259A (en) Information processing device, network system condition presentation method and computer program
US7970137B2 (en) Content reproduction apparatus, content recording apparatus, network system, and content recording/reproduction method
KR101096308B1 (en) Information processing apparatus, information processing method, information processing system and recording medium
JP2006031525A (en) Information processor, information processing method and program
KR20060071069A (en) Information processing apparatus, information processing method, information processing system, and computer program for information processing
JP2005339401A (en) Information processor and control method thereof, information processing controller, information processing unit and control method thereof, and computer program
JP4349189B2 (en) Network system, program recording reservation method, and information processing apparatus
JP2005251163A (en) Information processing device, information processing method, information processing system and information processing program
JP2005267150A (en) Information processing system, information processing method, and computer program
JP2005293418A (en) Information processor, network system, throughput presentation method and program for throughput presentation

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination