WO2008062512A1 - Multiprocessor system - Google Patents

Multiprocessor system Download PDF

Info

Publication number
WO2008062512A1
WO2008062512A1 PCT/JP2006/323198 JP2006323198W WO2008062512A1 WO 2008062512 A1 WO2008062512 A1 WO 2008062512A1 JP 2006323198 W JP2006323198 W JP 2006323198W WO 2008062512 A1 WO2008062512 A1 WO 2008062512A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
multiprocessor system
application program
executed
application
Prior art date
Application number
PCT/JP2006/323198
Other languages
French (fr)
Japanese (ja)
Inventor
Hiromasa Takahashi
Takashi Chiba
Shunsuke Kamijo
Original Assignee
Fujitsu Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Limited filed Critical Fujitsu Limited
Priority to JP2008545270A priority Critical patent/JP5187194B2/en
Priority to PCT/JP2006/323198 priority patent/WO2008062512A1/en
Publication of WO2008062512A1 publication Critical patent/WO2008062512A1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/04Monitoring the functioning of the control system
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/029Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23428Select program from look up tables as function of detector states, pointer, index to program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2637Vehicle, car, auto, wheelchair
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the multi-core processor unit 11 includes four processor elements PEO to PE3. Note that the number of processor elements included in the multiprocessor system is not particularly limited.
  • the processor elements PEO to PE3 are connected to the memory bus 21 and also to the IZO bus 22, respectively.
  • Each processor element ⁇ 0 to ⁇ 3 is connected to a local area network (LAN1, LAN2) via an IZO bus 22.
  • LAN1, LAN2 local area network
  • various sensors including cameras
  • each processor element PE0 to PE3 is a sensor collected by each sensor via this local area network. Receive information.
  • the operation state management module 36 may be provided in another processor element that is provided in the processor element PE3 in the example shown in FIG. However, the operation state management module 36 is preferably provided in a processor element to which a low priority application is assigned. For example, in an application allocation rule, it is determined that the highest priority application is assigned to the processor element PEO, and the second and third highest priority applications are assigned to the processor elements PE1 and PE2, respectively.
  • the operating state management module 36 preferably operates on the processor element PE3! /! /.
  • FIG. 5 is an example of the traveling state determination table 12 and the priority processing information table 13.
  • the driving situation determination table 12 corresponding driving situations are defined for each combination of sensor information and mode information.
  • each sensor information is represented by a comparison result with a threshold value.
  • sensor information related to the vehicle speed sensor is represented by “high speed Z low speed”
  • information related to the solar radiation sensor is represented by “strong Z weak”.
  • the mode information is basically represented by “ON / OFF”.
  • traveling state is defined for the combination of sensor information and mode information.
  • priority processing information table 13 applications to be executed and their priorities are defined for each “running situation”. Therefore, by referring to these tables using sensor information and mode information, the application to be executed (and its priority) can be deduced.
  • the traveling state determination table 12 and the priority processing information table 13 are separated. Therefore, according to this configuration, it is possible to determine the driving situation and select an application to be executed independently of each other.
  • the present invention is not limited to this configuration, but it is also possible to provide one table that integrates the contents of these tables.
  • the processor element PE3 calls the operation state management module 36.
  • the operation state management module 36 accesses the reception unit 33 via the IZO bus 22 and reads the latest sensor information and mode information from the traveling state register 34. Then, the operation state management module 36 extracts a traveling state number for identifying the traveling state corresponding to the sensor information and the mode information from the traveling state determination table 12.
  • the operation state management module 36 accesses the priority processing information table 13 using the traveling state number extracted from the traveling state determination table 12. As a result, the application to be executed in the current driving situation and its priority are obtained.
  • the operation state management module 36 assigns the application to be executed to the processor elements ⁇ 0 to ⁇ 3 according to the priority order. At this time, these applications may be assigned to the processor elements ⁇ 0, ⁇ 1, ⁇ 2, and ⁇ 3 in order of priority.
  • these applications may be assigned to the processor elements ⁇ 0, ⁇ 1, ⁇ 2, and ⁇ 3 in order of priority.
  • “front monitoring ⁇ ”, “side monitoring L”, and “driver monitoring” are assigned to the processor elements PE0, PE1, and PE2, respectively.
  • “front monitoring H”, “night vision”, “side monitoring L”, and “driver monitoring” are the processor elements PE0, PE1, PE2, P, respectively. Assigned to E3. As a result, an application corresponding to the driving situation is executed.
  • FIG. 7 is a flowchart showing a procedure for determining the traveling situation. Steps Sl to S4 are executed by the reception unit 33 (and the interrupt controller 35), and steps S5 to S7 are executed by the operation state management module 36.
  • Step S5 is a step of waiting for an interrupt signal resulting from a change in the driving situation.
  • the operation state management module 36 is activated.
  • step S6 the sensor information and mode information held in the travel status register 34 are read.
  • step S7 by referring to the driving condition determination table 12, a driving condition number for identifying the current driving condition is acquired. In this way, the current driving situation is detected by executing the processing of the flowchart shown in FIG.
  • FIG. 8 is a flowchart of processing for assigning an application to a processor element. This process is executed by the operation state management module 36 subsequent to step S7 in the flowchart shown in FIG. Here, it is assumed that the operation state management module 36 operates in the processor element PE3. Furthermore, the number of applications to be executed in each driving situation shall be the same as or less than the number of processor elements.
  • steps S11 to S12 the priority processing information tape is obtained using the obtained traveling situation number. See Figure 13. This detects applications to run and their priorities.
  • steps S13 to S14 the application to be executed is assigned to the processor element according to the priority order. In this case, the highest priority application is first assigned to the processor element PEO. Subsequently, the second highest priority application is assigned to processor element PE1. Similarly, the third and fourth priority applications are assigned to the processor elements PE2 and PE3. However, if there are 3 or less applications to be executed, there are processor elements to which no application is assigned. Also, if there are more than 5 applications to be executed, it will not be executed !, and there will be applications.
  • step S15 a PEZ application allocation table is created.
  • applications A, B, C, and D are assigned to the profiler elements PEO, PE1, PE2, and PE3, respectively.
  • step S16 the OS is called in the processor element PE3, and the tasks of the processor elements PE0 to PE2 are terminated using the remote task termination function using the inter-PE communication library.
  • step S17 the OS is called in the processor element PE3, and the task of the processor element PE3 is terminated.
  • step S18 the processor element PE3 calls the OS, and uses the remote task activation function using the inter-PE communication library to activate the processor element PE0 for A.
  • steps S19 and S20 the processor elements P El and PE2 start the applications B and C, respectively.
  • step S21 the processor element PE3 calls the OS and starts the application D.
  • step S32 it is checked whether there are any applications that have not been assigned to the processor elements. If such an application remains, in step S33, the processing capability of each processor element is checked.
  • applications A to D have already been assigned to processor elements PEO to PE3, respectively. Therefore, the remaining processing power of processor elements PEO, PE1, PE2, and PE3 is 20%, 50%, 50%, and 60%, respectively!
  • step S34 an application that has not been assigned to a processor element.
  • applications E and F are assigned to the remaining processor elements.
  • the processor element PEO has only 20% processing capacity. That is, the processor element PEO cannot execute the applications E and F.
  • application E is assigned to processor element PE1.
  • application F is assigned to processor element PE2.
  • the subsequent processing is basically the same as the procedure described with reference to FIG. That is, when the creation of the PEZ application allocation table is completed in step S35, the task of each processor element is ended in steps S36 to S37. Subsequently, each of the applications A to F is started in steps S38 to S41!
  • the allocation method shown in FIG. 10 more applications than the number of processor elements can be executed in parallel. Therefore, the low cost of the multiprocessor system can be achieved.
  • the total processing amount of applications allocated to each processor element does not exceed the processing capacity of that processor element, real-time performance of each application is ensured.
  • the processing capabilities of the processor elements included in the multiprocessor system are not necessarily the same.
  • a part of the prepared application may be executed only by a specific processor element (or preferably executed by a specific processor element). Yes.
  • the processor element PEO has a mechanism for efficiently processing “forward monitoring H”, and the processor element PE3 has a mechanism for efficiently processing “night vision”.
  • “Night Vision”, which is preferably assigned to processor element PEO, is preferably assigned to processor element PE3.
  • the processor elements to be allocated are fixedly defined in the priority processing information table 13 as shown in FIG.
  • FIG. 13 is a flowchart showing the allocation procedure when processor elements having different capabilities are included.
  • the priority processing information table 13 it is assumed that the application B force processor element PEO included in the application to be executed is fixedly associated.
  • step S51 it is checked whether or not the application includes a specific processor element specified in the application to be executed. If such an application exists, in step S52, the application is assigned to the designated processor element. In this example, application B is assigned to processor element PEO prior to other applications.
  • steps S53 to S54 the remaining applications are processed in the same manner as steps S13 to S14. This assigns applications B, A, C, and D to processor elements PEO, PE1, PE2, and PE3, respectively.
  • the subsequent processing is basically the same as the procedure described with reference to FIG. 8 (or FIG. 10).
  • the contents of processing executed in the multiprocessor system may be displayed on the display device.
  • an application being executed is displayed on the display device.
  • the display contents will also change.
  • the operation state management module may operate on the processor element that executes the application with the lowest priority. In this case, it becomes easier to guarantee the responsiveness of the application with the higher priority.
  • each processor element may be reset and then rebooted.
  • the driving situation is determined based on both the sensor information and the mode information, but the driving situation is determined based on either the sensor information or the mode information. Try to judge.

Abstract

When sensor information or mode information changes, a reception unit (33) generates an interrupt signal. A driving state judging table (12) defines the correspondence relation of a combination pattern of the sensor information and the mode information with a driving state. A priority processing information table (13) defines the correspondence relation of the driving state with an application which is to be executed. When the reception unit (33) generates the interrupt signal, an operating state management module (36) determines the application which is to be executed with reference to the driving state judging table (12) and the priority processing information table (13) to allocate the application to the corresponding processor elements (PE0 to PE3).

Description

明 細 書  Specification
マノレチプロセッサシステム  Manolet processor system
技術分野  Technical field
[0001] 本発明は、複数のプロセッサエレメントを備えるマルチプロセッサシステムに係わり、 特に、外部環境によって動作モードが変化する制御対象装置に組み込まれたマル チプロセッサシステムに係わる。  The present invention relates to a multiprocessor system including a plurality of processor elements, and more particularly to a multiprocessor system incorporated in a control target device whose operation mode changes depending on an external environment.
背景技術  Background art
[0002] 近年、自動車の ITィ匕が進んできており、様々な制御を実現するためのシステムが 開発されている。この場合、従来のシステムでは、図 1 Aに示すように、 1つのアプリケ ーシヨンに対して 1つの ECU (Electronic Control Unit)が割り当てられる構成(以下、 分散処理型システム)が多かった。図 1Aに示す例では、 6つのアプリケーション (前 方監視、ナイトビジョン、右側方監視、左側方監視、ドライバ監視、後方監視)に対し てそれぞれ対応する ECU (la〜 If)が割り当てられている。そして、各 ECUが独立し て処理を実行する。したがって、分散処理型システムにおいては、下記の 3つのメリッ トが得られる。  [0002] In recent years, the IT industry of automobiles has advanced, and systems for realizing various controls have been developed. In this case, in the conventional system, as shown in FIG. 1A, there are many configurations in which one ECU (Electronic Control Unit) is assigned to one application (hereinafter referred to as a distributed processing system). In the example shown in Fig. 1A, the corresponding ECUs (la to If) are assigned to six applications (front monitoring, night vision, right side monitoring, left side monitoring, driver monitoring, and rear monitoring). Each ECU executes processing independently. Therefore, the following three benefits are obtained in a distributed processing system.
(1) ECU毎に独立してプログラムを開発できる。  (1) Programs can be developed independently for each ECU.
(2)障害が発生した場合の復旧が容易。  (2) Easy recovery when a failure occurs.
(3)新たな機能の追カ卩は、新たな ECUを追加するだけで実現される。  (3) To add new functions, simply add a new ECU.
[0003] ところが、分散処理型システムでは、処理すべきアプリケーションが増加すると、 EC Uの個数も増加するので、ワイヤーハーネスの増加に伴う重量増力!]、実装体積の増 カロ、消費電力の増大等の問題が生じる。そこで、この問題を解決するために、図 1B に示すように、外部環境を検出するための複数のセンサと 1個の集中処理ユニット 2と を LANで接続し、集中処理型ユニット 2が複数のアプリケーションを並列に実行する 構成 (以下、集中処理型システム)が提案されている。  [0003] However, in distributed processing systems, the number of ECUs increases as the number of applications to be processed increases. ], Problems such as increased mounting volume and increased power consumption occur. Therefore, in order to solve this problem, as shown in Fig. 1B, multiple sensors for detecting the external environment and one central processing unit 2 are connected via a LAN. A configuration for executing applications in parallel (hereinafter referred to as a centralized processing system) has been proposed.
[0004] 集中処理型システムにおける従来の構成としては、図 2A〜図 2Cに示す 3つの方 式が知られている。以下、集中処理型システムにおいて 6つのアプリケーション A〜F を処理する場合につ!ヽて説明する。 [0005] 図 2Aに示す第 1の方式では、集中処理ユニット 2が備えるプロセッサは 1つだけで ある。そして、アプリケーション A〜Fは、リアルタイム OSのタスク切替え機能を利用し て、時分割で処理される。この場合、要求される応答時間を満足するためには、すべ てのアプリケーションを処理してもなおプロセッサの処理能力に余裕がある必要があ る。ここで、必要となる処理能力は、近似的には、図 1Aに示した処理ユニット la〜: Lf の処理量の総和に時分割処理のオーバーヘッドを加えることにより求められる。した がって、処理すべきアプリケーションの数が増えると、高性能、高価格、高消費電力 のプロセッサが必要となる。 [0004] As a conventional configuration in a centralized processing system, three methods shown in FIGS. 2A to 2C are known. The following is for processing six applications A to F in a centralized processing system! I will explain in a moment. In the first method shown in FIG. 2A, the central processing unit 2 has only one processor. Applications A to F are processed in a time-sharing manner using the task switching function of the real-time OS. In this case, in order to satisfy the required response time, it is necessary to have sufficient processing capacity of the processor even if all applications are processed. Here, the required processing capacity is approximately obtained by adding the overhead of time-sharing processing to the total processing amount of the processing units la˜: Lf shown in FIG. 1A. Therefore, as the number of applications to be processed increases, high performance, high price, high power consumption processors are required.
[0006] 図 2Bに示す第 2の方式では、集中処理ユニット 2は、マルチプロセッサシステムで ある。ここでは、集中処理ユニット 2は、 4個のプロセッサエレメント(PE0〜PE3)を内 蔵する。そして、アプリケーション A〜Fは、リアルタイム OSを利用して、プロセッサェ レメント PE0〜PE3に動的に割り当てられる。よって、この方式においても、必要な応 答性を確保するためには、 4つのプロセッサエレメントを用いて 6つのアプリケーション を実行してもなお処理能力に余裕のあることが要求される。そして、この場合に必要 な処理能力は、概ね、第 1の方式と同じである。このため、第 2の方式においても、高 性能なマルチプロセッサが必要となり、低コストおよび低消費電力を実現することは 困難である。  In the second method shown in FIG. 2B, the central processing unit 2 is a multiprocessor system. Here, the central processing unit 2 contains four processor elements (PE0 to PE3). Applications A to F are dynamically allocated to processor elements PE0 to PE3 using a real-time OS. Therefore, even in this method, in order to ensure the required responsiveness, even if six applications are executed using four processor elements, there is still a need for sufficient processing capacity. In this case, the processing capacity required is almost the same as in the first method. For this reason, the second method also requires a high-performance multiprocessor, and it is difficult to realize low cost and low power consumption.
[0007] 図 2Cに示す第 3の方式では、集中処理ユニット 2は、実行すべきアプリケーション の数と同数のプロセッサエレメントを備える。すなわち、アプリケーション A〜Fは、そ れぞれプロセッサエレメント PE0〜PE5に固定的に割り当てられて!/、る。この構成に おいては、各プロセッサエレメントは、時分割処理を行う必要がなぐ予め決められた アプリケーションを実行するだけでょ 、ので、システム構成は比較的簡単である。  In the third method shown in FIG. 2C, the central processing unit 2 includes the same number of processor elements as the number of applications to be executed. That is, applications A to F are fixedly assigned to processor elements PE0 to PE5, respectively! /. In this configuration, since each processor element only executes a predetermined application that does not need to perform time-sharing processing, the system configuration is relatively simple.
[0008] このように、集中処理型システムは、分散処理型システムの問題点を解決するため に提案されている。しかし、第 1および第 2の方式では、分散処理型システムの特徴( 1)〜(3)を満足することができない。また、第 3の方式は、上記(1)および (2)は満足 するが、上記(3)を満足することができない。 As described above, the centralized processing system has been proposed to solve the problems of the distributed processing system. However, the first and second methods cannot satisfy the features (1) to (3) of the distributed processing system. The third method satisfies the above (1) and (2), but cannot satisfy the above (3).
[0009] なお、関連する技術として、特許文献 1、 2には、複数のプロセッサを備えるコンビュ ータシステムの信頼性を高める技術が開示されている。 特許文献 1:特開 2006 - 11992号公報 As related techniques, Patent Documents 1 and 2 disclose a technique for improving the reliability of a computer system including a plurality of processors. Patent Document 1: Japanese Unexamined Patent Publication No. 2006-11992
特許文献 2 :特開 2002— 259155号公報  Patent Document 2: JP 2002-259155 A
発明の開示  Disclosure of the invention
[0010] 本発明の目的は、プログラムの開発、障害の復旧、機能の追加が容易なマルチプ 口セッサシステムを提供することである。  [0010] An object of the present invention is to provide a multi-processor system that facilitates program development, failure recovery, and function addition.
本発明のマルチプロセッサシステムは、複数のプロセッサエレメントと制御対象装置 とを有する。そして、本発明のマルチプロセッサシステムは、前記制御対象装置の動 作状況に基づいて複数のアプリケーションプログラムの中から実行すべきアプリケー シヨンプログラムを動的に選択する選択手段と、前記選択手段により選択されたアブ リケーシヨンプログラムを前記複数のプロセッサエレメントに割り当てる割当て手段、を 有する。  The multiprocessor system of the present invention includes a plurality of processor elements and a control target device. The multiprocessor system of the present invention is selected by a selection unit that dynamically selects an application program to be executed from among a plurality of application programs based on an operation status of the control target device, and the selection unit. And assigning means for assigning the abrasion program to the plurality of processor elements.
[0011] 上記マルチプロセッサシステムにおいて、制御対象装置の動作状況が変化すると、 選択手段は、新たな動作状況に対応するアプリケーションプログラムを選択する。そ して、割当て手段は、選択されたアプリケーションプログラムを複数のプロセッサエレ メントに割り当てる。したがって、制御対象装置の動作状況に応じて必要なアプリケー シヨンプログラムを選択的に実行することができる。このとき、各アプリケーションプログ ラムは、特定のプロセッサエレメントに固定的に割り当てられるのではなぐ任意のプ 口セッサエレメントに割当て可能である。  [0011] In the multiprocessor system, when the operation status of the control target apparatus changes, the selection unit selects an application program corresponding to the new operation status. The assigning means assigns the selected application program to a plurality of processor elements. Therefore, a necessary application program can be selectively executed in accordance with the operation status of the device to be controlled. At this time, each application program can be assigned to any processor element rather than fixedly assigned to a specific processor element.
[0012] よって、各アプリケーションプログラムは、他のアプリケーションプログラムから独立し て開発することができ、修正作業が容易である。また、複数のプロセッサエレメントの 中の一部が故障しても、実行すべきアプリケーションプログラムを残りの正常なプロセ ッサエレメントに割り当てることができる。さらに、アプリケーションの追カ卩は、ハードウ エア構成を変更することなぐ割当てシーケンスを変更することにより実現される。 図面の簡単な説明  Thus, each application program can be developed independently of other application programs, and correction work is easy. Even if some of the processor elements fail, the application program to be executed can be assigned to the remaining normal processor elements. Furthermore, application tracking is realized by changing the allocation sequence without changing the hardware configuration. Brief Description of Drawings
[0013] [図 1A]分散処理型システムを模式的に示す図である。 FIG. 1A is a diagram schematically showing a distributed processing system.
[図 1B]集中処理型システムを模式的に示す図である。  FIG. 1B is a diagram schematically showing a centralized processing type system.
[図 2A]従来の集中処理型システムの構成を示す図(その 1)である。  FIG. 2A is a diagram (part 1) showing a configuration of a conventional centralized processing system.
[図 2B]従来の集中処理型システムの構成を示す図(その 2)である。 [図 2C]従来の集中処理型システムの構成を示す図(その 3)である。 FIG. 2B is a diagram (part 2) showing a configuration of a conventional centralized processing system. FIG. 2C is a diagram (part 3) showing the configuration of a conventional centralized processing system.
[図 3]本発明の概要を説明する図である。  FIG. 3 is a diagram for explaining the outline of the present invention.
[図 4]実施形態のマルチプロセッサシステムのハードウェア構成を示す図である。  FIG. 4 is a diagram illustrating a hardware configuration of the multiprocessor system according to the embodiment.
[図 5]走行状況判定テーブルおよび優先処理情報テーブルの実施例である。  FIG. 5 is an example of a traveling state determination table and a priority processing information table.
[図 6]実施形態のマルチプロセッサシステムのソフトウェア構成を示す図である。  FIG. 6 is a diagram showing a software configuration of the multiprocessor system of the embodiment.
[図 7]走行状況を判定する手順を示すフローチャートである。  FIG. 7 is a flowchart showing a procedure for determining a running situation.
[図 8]アプリケーションをプロセッサエレメントに割り当てる処理のフローチャートである  FIG. 8 is a flowchart of processing for assigning an application to a processor element.
[図 9]走行状況の変化に応じてアプリケーションを変更する様子を模式的に示す図で ある。 FIG. 9 is a diagram schematically showing how an application is changed in accordance with changes in driving conditions.
[図 10]アプリケーション数がプロセッサエレメント数よりも多い場合の割当て方法を示 すフローチャートである。  FIG. 10 is a flowchart showing an allocation method when the number of applications is larger than the number of processor elements.
[図 11]優先処理情報テーブルの実施例である。  FIG. 11 shows an example of a priority processing information table.
[図 12]異なる能力を持ったプロセッサエレメントが含まれている場合の優先処理情報 テーブルの実施例である。  FIG. 12 shows an example of a priority processing information table when processor elements having different abilities are included.
[図 13]異なる能力を持ったプロセッサエレメントが含まれている場合の割当て手順を 示すフローチャートである。 発明を実施するための最良の形態  FIG. 13 is a flowchart showing an assignment procedure when processor elements having different abilities are included. BEST MODE FOR CARRYING OUT THE INVENTION
[0014] 本発明の実施形態のマルチプロセッサシステムは、制御対象装置に組み込まれて 使用される。ここで、制御対象装置は、特に限定されるものではないが、例えば、自 動車、航空機、鉄道車両、船舶などを想定する。以下の説明では、制御対象装置が 自動車であるものとする。  [0014] A multiprocessor system according to an embodiment of the present invention is used by being incorporated in a device to be controlled. Here, the device to be controlled is not particularly limited, and for example, an automobile, an aircraft, a railway vehicle, a ship, and the like are assumed. In the following description, it is assumed that the device to be controlled is an automobile.
[0015] 近年の自動車は、一般に、その走行を制御するために様々なアプリケーションを搭 載している。例えば、車間距離を測定して自動的にブレーキを働かせる機能、ドライ バの動作を監視して必要に応じてアラームを発生する機能などが広く知られている。 ところが、これらのアプリケーションは、必ずしも、そのすべてが同時に必要とされるわ けではない。すなわち、例えば、高速走行時には衝突防止機能は重要である力 低 速走行時には必ずしも必要ではない。また、ナイトビジョン機能は夜間では重要であ る力 昼間は必要ない。このように、自動車の個々の走行状況においては、搭載され ているすべてのアプリケーションの機能は必要ではないという点に着目し、本発明の 実施形態の制御システムでは、自動車の走行状況に応じて実行すべきアプリケーシ ヨンが動的に選択される。以下、図 3を参照しながら、本発明の実施形態の概要を説 明する。 [0015] In recent years, automobiles are generally equipped with various applications in order to control their running. For example, a function that measures the distance between vehicles and automatically activates the brake, and a function that monitors the operation of the driver and generates an alarm when necessary are widely known. However, not all of these applications are necessarily required at the same time. That is, for example, the anti-collision function is important when traveling at high speeds. The night vision function is important at night. No need for daytime. Thus, paying attention to the fact that the functions of all installed applications are not necessary in the individual driving situations of the automobile, the control system according to the embodiment of the present invention executes in accordance with the running situation of the automobile. The application to be selected is dynamically selected. The outline of the embodiment of the present invention will be described below with reference to FIG.
[0016] 図 3において、マルチコアプロセッサユニット 11は、複数のプロセッサエレメント(PE 0〜PE3)を備える。各プロセッサエレメント PEO〜PE3は、それぞれ割当てられたァ プリケーシヨンプログラムを実行することにより対応する機能を提供する。なお、この実 施例では、アプリケーションとして、前方監視 (衝突検知)、前方監視(白線検知)、ナ イトビジョン、側方監視、後方監視、ドライバ監視、エアバック用乗員監視、室内快適 制御、セキュリティ監視などが予め用意されているものとする。  In FIG. 3, the multi-core processor unit 11 includes a plurality of processor elements (PE 0 to PE 3). Each processor element PEO to PE3 provides a corresponding function by executing an assigned application program. In this example, the applications include forward monitoring (collision detection), forward monitoring (white line detection), night vision, side monitoring, rear monitoring, driver monitoring, passenger monitoring for airbags, indoor comfort control, security It is assumed that monitoring and the like are prepared in advance.
[0017] 実施形態の自動車は、外部環境および動作状態を検出するための各種センサ 10 1を搭載している。搭載しているセンサは、例えば、走行速度を検出する車速センサ 、ステアリングの操舵角を検出する舵角センサ、加速度を検出する Gセンサ、ョーレ ートセンサ、 日射センサ等である。また、この自動車は、動作モードを指定するための モードスィッチ 102を備える。モードスィッチとしては、例えば、 ACC (Adaptive Cruis e Control)、 PCS (Pre— Crash Safety)、 VDC (Vehicle Dynamic Control)を働かせる か否力を指示するスィッチ、ウィンカーを動作させる力否力を指示するスィッチ、ライト を点灯させる力否力を指示するスィッチ、 自動変速機に指示を与えるための入力ュ ニットなどを備える。  [0017] The automobile of the embodiment is equipped with various sensors 101 for detecting an external environment and an operating state. The mounted sensors are, for example, a vehicle speed sensor that detects the traveling speed, a steering angle sensor that detects the steering angle of the steering, a G sensor that detects acceleration, a short sensor, a solar radiation sensor, and the like. The automobile also includes a mode switch 102 for designating an operation mode. Mode switches include, for example, a switch that indicates whether or not to operate ACC (Adaptive Cruis e Control), PCS (Pre-Crash Safety), VDC (Vehicle Dynamic Control), or a power or force that operates a blinker. , A switch that instructs the power to turn on the light, and an input unit that gives instructions to the automatic transmission.
[0018] 走行状況判定テーブル 12には、各種センサ力も得られるセンサ情報および各種モ 一ドスイッチ力 得られるモード情報に基づ 、て自動車の走行状況を判定するため の情報が格納されている。すなわち、センサ情報およびモード情報を利用して走行 状況判定テーブル 12を参照することにより、走行状況を検出することができる。なお 、この実施例では、本発明に係わるマルチプロセッサシステムが自動車に組み込ま れることを前提としているので、「走行状況」が検出される力 一般には、動作状況が 検出されること〖こなる。  [0018] The traveling state determination table 12 stores information for determining the traveling state of the vehicle based on the sensor information from which various sensor forces are obtained and the mode information from the various mode switch forces. In other words, the traveling situation can be detected by referring to the traveling situation determination table 12 using the sensor information and the mode information. In this embodiment, since it is assumed that the multiprocessor system according to the present invention is incorporated in an automobile, the force for detecting the “running situation” generally means that the operating situation is detected.
[0019] 優先処理情報テーブル 13には、走行状況パターン毎に、実行すべきアプリケーシ ヨンを指定する情報が登録されている。ここで、実行すべきアプリケーションは、走行 状況パターン毎に、優先順位が付与されて 、る。 [0019] The priority processing information table 13 includes an application to be executed for each traveling state pattern. Information specifying Yong is registered. Here, the application to be executed is given a priority for each driving situation pattern.
[0020] 選択部 14は、優先処理情報テーブル 13を参照し、走行状況に応じて実行すべき アプリケーションを選択する。なお、走行状況は時々刻々と変化するので、選択部 14 は、変化する走行状況に応じて、実行すべきアプリケーションを動的に選択すること になる。  [0020] The selection unit 14 refers to the priority processing information table 13 and selects an application to be executed in accordance with the driving situation. Since the driving situation changes every moment, the selection unit 14 dynamically selects an application to be executed according to the changing driving situation.
[0021] 割当て部 15は、選択部 14により選択されたアプリケーションをプロセッサエレメント PEO〜PE3に割り当てる。そして、プロセッサエレメント PEO〜PE3は、それぞれ割り 当てられたアプリケーションを実行する。これにより、自動車を制御するための複数の 機能が並列に提供される。  [0021] Allocation unit 15 allocates the application selected by selection unit 14 to processor elements PEO to PE3. Then, each of the processor elements PEO to PE3 executes the assigned application. This provides multiple functions for controlling the car in parallel.
[0022] このように、実施形態のシステムでは、自動車の走行状況に応じて対応するアプリ ケーシヨンが動的に選択されて実行される。したがって、実施形態のシステムでは、「 用意されて 、るアプリケーションの総数」よりも「マルチコアプロセッサユニット 11に内 蔵されているプロセッサエレメントの個数」が少ない場合であっても、各走行状況にお V、て必要となるアプリケーションの数は「用意されて 、るアプリケーションの総数」より も一般的に少ないため、必要となるアプリケーションを実行することができる。そして、 実施形態のシステムによれば、下記の効果が得られる。  As described above, in the system according to the embodiment, a corresponding application is dynamically selected and executed in accordance with the traveling state of the automobile. Therefore, in the system of the embodiment, even if the “number of processor elements incorporated in the multi-core processor unit 11” is smaller than the “total number of prepared applications”, the V Since the number of required applications is generally smaller than the “total number of prepared applications”, the necessary applications can be executed. According to the system of the embodiment, the following effects can be obtained.
(1)図 1Aに示した分散処理型システムと同様に、 3つのメリット(プログラムの開発が 容易、障害の復旧が容易、機能の追加が容易)が得られる。この点では、図 2A〜図 2Cに示す従来の集中処理型システムよりも優れている。  (1) Similar to the distributed processing system shown in Fig. 1A, three advantages (program development, easy failure recovery, and easy addition of functions) can be obtained. In this respect, it is superior to the conventional centralized processing system shown in FIGS. 2A to 2C.
(2)各アプリケーションごとにそれぞれ ECUを設ける必要がな 、ので、分散処理型シ ステムと比較して、低コスト化、小型化、軽量化、低消費電力化において優れている。 (2) Since it is not necessary to provide an ECU for each application, it is superior in terms of cost reduction, size reduction, weight reduction, and power consumption reduction compared to a distributed processing system.
(3)分散処理型システムまたは図 2Cに示す構成では、走行状況によっては実質的 に動作して ヽな 、ECUが存在することとなるが、実施形態のシステムではプロセッサ 資源が効率的に使用される。 (3) In the distributed processing system or the configuration shown in FIG. 2C, there are ECUs that may operate substantially depending on the driving situation. However, in the system of the embodiment, processor resources are used efficiently. The
(4)各センサ力 得られるセンサ情報を統合して処理するセンサフュージョンが可能 となり、高度な処理を提供することができる。  (4) Each sensor force Sensor fusion that integrates and processes the obtained sensor information becomes possible, and advanced processing can be provided.
[0023] 図 4は、実施形態の制御システムを実現するマルチプロセッサシステムのハードゥエ ァ構成を示す図である。ここでは、このマルチプロセッサシステムは、自動車の走行を 制御するためにその自動車に組み込まれて使用されるものとする。 FIG. 4 is a diagram of a hard processor of a multiprocessor system that implements the control system of the embodiment. FIG. Here, it is assumed that this multiprocessor system is used by being incorporated in the automobile in order to control the running of the automobile.
[0024] マルチコアプロセッサユニット 11は、 4個のプロセッサエレメント PEO〜PE3を備え る。なお、マルチプロセッサシステムが備えるプロセッサエレメントの個数は、特に限 定されるものではない。そして、各プロセッサエレメント PEO〜PE3は、それぞれメモリ バス 21に接続されると共に、 IZOバス 22に接続されている。また、各プロセッサエレ メント ΡΕ0〜ΡΕ3は、 IZOバス 22を介してローカルエリアネットワーク(LAN1、 LAN 2)に接続されている。なお、ローカルエリアネットワーク上には、図 1Bに示すように、 各種センサ(カメラを含む)が接続されており、各プロセッサエレメント PE0〜PE3は、 このローカルエリアネットワークを介して各センサが収集するセンサ情報を受け取るこ とがでさる。  [0024] The multi-core processor unit 11 includes four processor elements PEO to PE3. Note that the number of processor elements included in the multiprocessor system is not particularly limited. The processor elements PEO to PE3 are connected to the memory bus 21 and also to the IZO bus 22, respectively. Each processor element ΡΕ0 to ΡΕ3 is connected to a local area network (LAN1, LAN2) via an IZO bus 22. As shown in FIG. 1B, various sensors (including cameras) are connected on the local area network, and each processor element PE0 to PE3 is a sensor collected by each sensor via this local area network. Receive information.
[0025] メモリ 31は、例えば SDRAMであり、メモリバス 21に接続されている。メモリ 31には 、図 3を参照しながら説明した走行状況判定テーブル 12および優先処理情報テープ ル 13が設けられる。また、アプリケーションプログラムは、不揮発性メモリ 32からこのメ モリ 31にロードされる。なお、各プロセッサエレメント PE0〜PE3は、それぞれメモリバ ス 21を介してメモリ 31にアクセスすることができる。  The memory 31 is SDRAM, for example, and is connected to the memory bus 21. The memory 31 is provided with the traveling state determination table 12 and the priority processing information table 13 described with reference to FIG. The application program is loaded from the nonvolatile memory 32 to the memory 31. Each of the processor elements PE0 to PE3 can access the memory 31 via the memory bus 21.
[0026] 不揮発性メモリ 32は、例えばフラッシュ ROMであり、 I/Oバス 22に接続されている 。なお、不揮発性メモリ 32は、メモリ 31にロードすべき情報 (アプリケーションプロダラ ム、走行状況判定テーブル 12、優先処理情報テーブル 13を含む)を保持している。  The nonvolatile memory 32 is a flash ROM, for example, and is connected to the I / O bus 22. The non-volatile memory 32 holds information to be loaded into the memory 31 (including the application program, the traveling state determination table 12, and the priority processing information table 13).
[0027] 受付ユニット 33は、各センサにより得られるセンサ情報および各モードスィッチによ り得られるモード情報を定期的に収集する。収集したセンサ情報およびモード情報は 、走行状況レジスタ 34に書き込まれる。そして、センサ情報またはモード情報の少な くとも一つが変化したことを検出すると、受付ユニット 33は、 自動車の走行状況が変 化したことを表す状況変化信号を出力する。そして、割込みコントローラ 35は、状況 変化信号を受信すると、動作状態管理モジュール 36を備えるプロセッサエレメントに 対して、走行状況の変化に起因する割込み信号を送信する。なお、センサ情報およ び Zまたはモード情報は、自動車に搭載されている制御系のネットワークを介して受 付ユニット 33に与えられるようにしてもょ ヽ。 [0028] プロセッサエレメントは、走行状況の変化に起因する割込み信号を受信すると、動 作状態管理モジュール 36を起動する。動作状態管理モジュール 36は、走行状況判 定テーブル 12および優先処理情報テーブル 13を参照し、実行すべきアプリケーショ ンを選択する。そして、選択したアプリケーションをそれぞれ対応するプロセッサエレ メントに割り当てる。これにより、自動車の走行状況に応じたアプリケーションが実行さ れること〖こなる。 [0027] The receiving unit 33 periodically collects sensor information obtained by each sensor and mode information obtained by each mode switch. The collected sensor information and mode information are written in the driving status register 34. When detecting that at least one of the sensor information or the mode information has changed, the reception unit 33 outputs a status change signal indicating that the driving status of the vehicle has changed. Then, when receiving the situation change signal, the interrupt controller 35 transmits an interrupt signal caused by the change in the running situation to the processor element including the operation state management module 36. Sensor information and Z or mode information may be given to the receiving unit 33 via a network of control systems installed in the automobile. [0028] The processor element activates the operation state management module 36 when receiving an interrupt signal resulting from a change in the running state. The operation state management module 36 refers to the traveling state determination table 12 and the priority processing information table 13 and selects an application to be executed. The selected application is assigned to the corresponding processor element. As a result, an application corresponding to the driving situation of the car is executed.
[0029] なお、動作状態管理モジュール 36は、図 4に示す例ではプロセッサエレメント PE3 に設けられている力 他のプロセッサエレメントに設けられてもよい。ただし、動作状 態管理モジュール 36は、優先度の低いアプリケーションが割り当てられるプロセッサ エレメントに設けられることが好ましい。例えば、アプリケーション割当て規則として、 最も優先度の高いアプリケーションをプロセッサエレメント PEOに割り当て、 2番目、 3 番目に優先度の高いアプリケーションをそれぞれプロセッサエレメント PE1、 PE2に 割り当てることが決められて 、るシステムにお 、ては、動作状態管理モジュール 36は 、プロセッサエレメント PE3にお!/、て動作することが好まし!/、。  [0029] It should be noted that the operation state management module 36 may be provided in another processor element that is provided in the processor element PE3 in the example shown in FIG. However, the operation state management module 36 is preferably provided in a processor element to which a low priority application is assigned. For example, in an application allocation rule, it is determined that the highest priority application is assigned to the processor element PEO, and the second and third highest priority applications are assigned to the processor elements PE1 and PE2, respectively. The operating state management module 36 preferably operates on the processor element PE3! /! /.
[0030] 図 5は、走行状況判定テーブル 12および優先処理情報テーブル 13の実施例であ る。走行状況判定テーブル 12においては、センサ情報およびモード情報の組合せ に対してそれぞれ対応する走行状況が定義されている。ここで、この実施例では、各 センサ情報は、閾値との比較結果により表される。例えば、車速センサに係わるセン サ情報は「高速 Z低速」により表され、日射センサに係わる情報は「強 Z弱」により表 される。また、モード情報は、基本的に「オン/オフ」により表される。そして、 1セット のセンサ情報およびモード情報を取得すると、それに一意に対応する走行状況が得 られる。図 5に示す例では、「車速:高速」「舵角:小」「日射:強」「加速度:小」「ョーレ ート:小」「スロットル:小」「HL :オフ」「ACC :オン」「PCS :オン」「ウィンカー:オフ」が 検出されたときには、「走行状況 1 (ハイウェイモード 1)」が得られる。  FIG. 5 is an example of the traveling state determination table 12 and the priority processing information table 13. In the driving situation determination table 12, corresponding driving situations are defined for each combination of sensor information and mode information. Here, in this embodiment, each sensor information is represented by a comparison result with a threshold value. For example, sensor information related to the vehicle speed sensor is represented by “high speed Z low speed”, and information related to the solar radiation sensor is represented by “strong Z weak”. The mode information is basically represented by “ON / OFF”. When a set of sensor information and mode information is acquired, a driving situation uniquely corresponding to the sensor information and mode information is obtained. In the example shown in Fig. 5, "Vehicle speed: High speed", "Steering angle: Small", "Solar radiation: Strong", "Acceleration: Small", "Jorate: Small", "Throttle: Small", "HL: Off", "ACC: On" When “PCS: ON” and “WINKER: OFF” are detected, “Running condition 1 (Highway mode 1)” is obtained.
[0031] 優先処理情報テーブル 13においては、各走行状況に対して、実行すべきアプリケ ーシヨン、および実行すべきアプリケーションの優先順位が定義されている。図 5に示 す例では、例えば、走行状況 1においては、実行すべきアプリケーションは「前方監 視¾「側方監視 L」「ドライバ監視」である。そして、「前方監視 H」に対して最も高い 優先度が与えられ、「側方監視 L」に対して 2番目に高い優先度が与えられ、「ドライ バ監視」に対して最も低い優先度が与えられている。なお、「H」は高精度の制御を意 味し、「L」は精度の低い制御を意味する。さらに、各アプリケーションが実行されたと きのプロセッサエレメントの負荷率もあわせて記述されている。 [0031] In the priority processing information table 13, the application to be executed and the priority order of the application to be executed are defined for each traveling situation. In the example shown in FIG. 5, for example, in the driving situation 1, the applications to be executed are “forward monitoring 3” “side monitoring L” and “driver monitoring”. And the highest for “front monitoring H” Priority is given, “side monitoring L” is given the second highest priority, and “driver monitoring” is given the lowest priority. “H” means high-precision control, and “L” means low-precision control. In addition, the load factor of the processor element when each application is executed is also described.
[0032] このように、走行状況判定テーブル 12にお 、ては、センサ情報およびモード情報 の組合せに対して「走行状況」が定義されている。また、優先処理情報テーブル 13 においては、「走行状況」毎に、実行すべきアプリケーションおよびその優先順位が 定義されている。よって、センサ情報およびモード情報を利用してこれらのテーブル を参照すれば、実行すべきアプリケーション (およびその優先順位)がー意に導き出 される。 In this way, in the traveling state determination table 12, “traveling state” is defined for the combination of sensor information and mode information. In the priority processing information table 13, applications to be executed and their priorities are defined for each “running situation”. Therefore, by referring to these tables using sensor information and mode information, the application to be executed (and its priority) can be deduced.
[0033] なお、図 5に示す実施例では、走行状況判定テーブル 12および優先処理情報テ 一ブル 13が分離されている。よって、この構成によれば、走行状況の判定および実 行すべきアプリケーションの選択を互いに独立して行うことができる。ただし、本発明 はこの構成に限定されるものではなぐこれらのテーブルの内容を統合した 1つのテ 一ブルを設けるようにしてもょ 、。  In the embodiment shown in FIG. 5, the traveling state determination table 12 and the priority processing information table 13 are separated. Therefore, according to this configuration, it is possible to determine the driving situation and select an application to be executed independently of each other. However, the present invention is not limited to this configuration, but it is also possible to provide one table that integrates the contents of these tables.
[0034] 図 6は、実施形態のマルチプロセッサシステムのソフトウェア構成を示す図である。  FIG. 6 is a diagram illustrating a software configuration of the multiprocessor system according to the embodiment.
図 6に示すように、各プロセッサエレメント上でリアルタイム OSが動作する。このリアル タイム OSは、プロセッサエレメント間通信ライブラリを備えている。また、このリアルタイ ム OS上で各アプリケーションが動作する。そして、この実施形態のマルチプロセッサ システムでは、 OSレイヤとアプリケーションレイヤとの間のレイヤで動作する動作状態 管理モジュール 36を備える。なお、本動作管理モジュール 36は OSの中の機能とし て組み込まれていても良い。動作状態管理モジュール 36は、後で詳しく説明するが 、走行状況判定テーブル 12および優先処理情報テーブル 13を参照し、実行すべき アプリケーションを選択し、選択したアプリケーションをそれぞれ対応するプロセッサ エレメントに割り当てる。図 6に示す例では、アプリケーション A、 B、 E、 Gが選択され 、それぞれプロセッサエレメント PE0、 PE1、 PE2、 PE3に割り当てられている。  As shown in Figure 6, a real-time OS runs on each processor element. This real time OS has a communication library between processor elements. Each application runs on this real-time OS. The multiprocessor system of this embodiment includes an operation state management module 36 that operates in a layer between the OS layer and the application layer. The operation management module 36 may be incorporated as a function in the OS. As will be described in detail later, the operation state management module 36 refers to the traveling state determination table 12 and the priority processing information table 13, selects an application to be executed, and assigns the selected application to a corresponding processor element. In the example shown in FIG. 6, applications A, B, E, and G are selected and assigned to processor elements PE0, PE1, PE2, and PE3, respectively.
[0035] なお、動作状態管理モジュール 36は、 1つのプロセッサエレメントに実装するように してもょ 、し、複数のプロセッサエレメントに実装するようにしてもょ 、。 次に、図 4を参照しながら、上記構成のマルチプロセッサシステムの動作を説明す る。なお、ここでは、プロセッサエレメント PE3において動作状態管理モジュール 36 が動作するものとする。また、メモリ 31には、図 5に示す走行状況判定テーブル 12お よび優先処理情報テーブル 13が格納されているものとする。 [0035] The operation state management module 36 may be mounted on one processor element, or may be mounted on a plurality of processor elements. Next, the operation of the multiprocessor system configured as described above will be described with reference to FIG. Here, it is assumed that the operation state management module 36 operates in the processor element PE3. Further, it is assumed that the running condition determination table 12 and the priority processing information table 13 shown in FIG.
[0036] (1)受付ユニット 33は、定期的に、センサ情報およびモード情報を収集する。新た に収集した情報は、先に収集した情報と比較される。ここで、先に収集した情報は、 走行状況レジスタ 34に保持されている。そして、先に収集した情報および新たに収 集した情報が互いに一致しな力つたときは、自動車の走行状況が変化したものと判 断し、状況変化信号を出力する。そして、割込みコントローラ 35は、状況変化信号を 受信すると、動作状態管理モジュール 36を備えるプロセッサエレメント PE3に対して 、走行状況の変化に起因する割込み信号を送信する。また、このとき、新たに収集さ れたセンサ情報およびモード情報は、走行状況レジスタ 34に書き込まれる。  (1) The reception unit 33 periodically collects sensor information and mode information. Newly collected information is compared with previously collected information. Here, the previously collected information is held in the travel status register 34. When the previously collected information and the newly collected information are inconsistent with each other, it is determined that the driving state of the vehicle has changed, and a state change signal is output. Then, when receiving the situation change signal, the interrupt controller 35 transmits an interrupt signal resulting from the change in the running situation to the processor element PE3 including the operation state management module 36. At this time, the newly collected sensor information and mode information are written in the travel status register 34.
[0037] (2)プロセッサエレメント PE3は、この割込み信号が与えられると、動作状態管理モ ジュール 36を呼び出す。動作状態管理モジュール 36は、 IZOバス 22を介して受付 ユニット 33にアクセスし、走行状況レジスタ 34から最新のセンサ情報およびモード情 報を読み出す。そして、動作状態管理モジュール 36は、センサ情報およびモード情 報に対応する走行状況を識別する走行状況番号を走行状況判定テーブル 12から 抽出する。  [0037] (2) When this interrupt signal is given, the processor element PE3 calls the operation state management module 36. The operation state management module 36 accesses the reception unit 33 via the IZO bus 22 and reads the latest sensor information and mode information from the traveling state register 34. Then, the operation state management module 36 extracts a traveling state number for identifying the traveling state corresponding to the sensor information and the mode information from the traveling state determination table 12.
[0038] (3)動作状態管理モジュール 36は、走行状況判定テーブル 12から抽出した走行 状況番号を利用して優先処理情報テーブル 13にアクセスする。これにより、現在の 走行状況において実行すべきアプリケーションおよびその優先順位が得られる。  (3) The operation state management module 36 accesses the priority processing information table 13 using the traveling state number extracted from the traveling state determination table 12. As a result, the application to be executed in the current driving situation and its priority are obtained.
[0039] (4)動作状態管理モジュール 36は、実行すべきアプリケーションをその優先順位に 従ってプロセッサエレメント ΡΕ0〜ΡΕ3に割り当てる。このとき、これらのアプリケーシ ヨンは、優先度の高い順番に、プロセッサエレメント ΡΕ0、 ΡΕ1、 ΡΕ2、 ΡΕ3に割り当 てられるようにしてもよい。この場合、例えば、図 5に示す走行状況 1においては、「前 方監視 Η」「側方監視 L」「ドライバ監視」が、それぞれプロセッサエレメント PE0、 PE1 、 PE2に割り当てられる。また、走行状況 2においては、「前方監視 H」「ナイトビジョン 」「側方監視 L」「ドライバ監視」が、それぞれプロセッサエレメント PE0、 PE1、 PE2、 P E3に割り当てられる。これにより、走行状況に応じたアプリケーションが実行されるこ とになる。 (4) The operation state management module 36 assigns the application to be executed to the processor elements ΡΕ0 to ΡΕ3 according to the priority order. At this time, these applications may be assigned to the processor elements ΡΕ0, ΡΕ1, ΡΕ2, and ΡΕ3 in order of priority. In this case, for example, in the traveling situation 1 shown in FIG. 5, “front monitoring Η”, “side monitoring L”, and “driver monitoring” are assigned to the processor elements PE0, PE1, and PE2, respectively. Also, in the driving situation 2, “front monitoring H”, “night vision”, “side monitoring L”, and “driver monitoring” are the processor elements PE0, PE1, PE2, P, respectively. Assigned to E3. As a result, an application corresponding to the driving situation is executed.
[0040] (5)自動車の走行状況が変化したときには、センサ情報またはモード情報の少なく とも一部が変化しているはずである。したがって、最新のセンサ情報またはモード情 報を利用して上記(1)〜 (4)を実行することにより、走行状況の変化に応じて新たな アプリケーションがプロセッサエレメント PEO〜PE3に割り当てられる。すなわち、自 動車の走行状況に応じて、実行すべきアプリケーションが動的に切り替えられる。  [0040] (5) When the traveling state of the automobile changes, at least a part of the sensor information or the mode information should be changed. Therefore, by executing the above (1) to (4) using the latest sensor information or mode information, a new application is allocated to the processor elements PEO to PE3 in accordance with changes in the driving situation. That is, the application to be executed is dynamically switched according to the traveling state of the vehicle.
[0041] 図 7は、走行状況を判定する手順を示すフローチャートである。なお、ステップ Sl〜 S4は受付ユニット 33 (および、割込みコントローラ 35)により実行され、ステップ S5〜 S7は動作状態管理モジュール 36により実行される。  FIG. 7 is a flowchart showing a procedure for determining the traveling situation. Steps Sl to S4 are executed by the reception unit 33 (and the interrupt controller 35), and steps S5 to S7 are executed by the operation state management module 36.
[0042] ステップ S1〜S2では、センサ情報およびモード情報を定期的に収集し、走行状況 が変化した力否かをチェックする。走行状況が変化した場合は、ステップ S3において 、マルチコアプロセッサユニット 11に対して割込み信号を出力する。そして、ステップ S4にお 、て、ステップ S 1で収集したセンサ情報およびモニタ情報を走行状況レジス タ 34に書き込む。  [0042] In steps S1 to S2, sensor information and mode information are periodically collected to check whether the driving situation has changed. If the running situation has changed, an interrupt signal is output to the multi-core processor unit 11 in step S3. Then, in step S4, the sensor information and monitor information collected in step S1 are written into the travel status register 34.
[0043] ステップ S5は、走行状況の変化に起因する割込み信号を待ち受けるステップであ る。そして、この割込み信号を受信すると、動作状態管理モジュール 36が起動される 。ステップ S6では、走行状況レジスタ 34に保持されているセンサ情報およびモード 情報を読み出す。そして、ステップ S7において、走行状況判定テーブル 12を参照す ることにより、現在の走行状況を識別する走行状況番号を取得する。このように、図 7 に示すフローチャートの処理を実行することにより、現在の走行状況が検出される。  [0043] Step S5 is a step of waiting for an interrupt signal resulting from a change in the driving situation. When the interrupt signal is received, the operation state management module 36 is activated. In step S6, the sensor information and mode information held in the travel status register 34 are read. Then, in step S7, by referring to the driving condition determination table 12, a driving condition number for identifying the current driving condition is acquired. In this way, the current driving situation is detected by executing the processing of the flowchart shown in FIG.
[0044] 図 8は、アプリケーションをプロセッサエレメントに割り当てる処理のフローチャートで ある。なお、この処理は、図 7に示すフローチャートのステップ S7に続いて動作状態 管理モジュール 36により実行される。また、ここでは、動作状態管理モジュール 36が プロセッサエレメント PE3において動作するものとする。さらに、各走行状況における 実行すべきアプリケーションの数がプロセッサエレメントの数と同数またはそれよりも 少ないものとする。  FIG. 8 is a flowchart of processing for assigning an application to a processor element. This process is executed by the operation state management module 36 subsequent to step S7 in the flowchart shown in FIG. Here, it is assumed that the operation state management module 36 operates in the processor element PE3. Furthermore, the number of applications to be executed in each driving situation shall be the same as or less than the number of processor elements.
[0045] ステップ S 11〜S 12では、取得した走行状況番号を利用して優先処理情報テープ ル 13を参照する。これにより、実行すべきアプリケーションおよびそれらの優先順位 が検出される。ステップ S13〜S14では、実行すべきアプリケーションを優先順位に 従ってプロセッサエレメントに割り当てる。この場合、まず、優先順位の最も高いアプリ ケーシヨンがプロセッサエレメント PEOに割り当てられる。続いて、 2番目に優先順位 の高いアプリケーションがプロセッサエレメント PE1に割り当てられる。以下、同様に、 優先順位が 3番目、 4番目のアプリケーションがプロセッサエレメント PE2、 PE3に割 り当てられる。ただし、実行すべきアプリケーションが 3個以下であれば、アプリケーシ ヨンが割り当てられないプロセッサエレメントが存在することになる。また、実行すべき アプリケーションが 5個以上ある場合は、実行されな!、アプリケーションが存在するこ ととなる。 [0045] In steps S11 to S12, the priority processing information tape is obtained using the obtained traveling situation number. See Figure 13. This detects applications to run and their priorities. In steps S13 to S14, the application to be executed is assigned to the processor element according to the priority order. In this case, the highest priority application is first assigned to the processor element PEO. Subsequently, the second highest priority application is assigned to processor element PE1. Similarly, the third and fourth priority applications are assigned to the processor elements PE2 and PE3. However, if there are 3 or less applications to be executed, there are processor elements to which no application is assigned. Also, if there are more than 5 applications to be executed, it will not be executed !, and there will be applications.
[0046] ステップ S 15では、 PEZアプリケーション割当てテーブルを作成する。ここでは、プ 口セッサエレメント PEO、 PE1、 PE2、 PE3に対してそれぞれアプリケーション A、 B、 C、 Dが割り当てられたものとする。  [0046] In step S15, a PEZ application allocation table is created. Here, it is assumed that applications A, B, C, and D are assigned to the profiler elements PEO, PE1, PE2, and PE3, respectively.
[0047] ステップ S16では、プロセッサエレメント PE3において OSを呼び出し、 PE間通信ラ イブラリを使用したリモートタスク終了機能を利用してプロセッサエレメント PE0〜PE2 のタスクを終了させる。ステップ S17では、プロセッサエレメント PE3において OSを呼 び出し、プロセッサエレメント PE3のタスクを終了させる。  [0047] In step S16, the OS is called in the processor element PE3, and the tasks of the processor elements PE0 to PE2 are terminated using the remote task termination function using the inter-PE communication library. In step S17, the OS is called in the processor element PE3, and the task of the processor element PE3 is terminated.
[0048] ステップ S18では、プロセッサエレメント PE3において OSを呼び出し、 PE間通信ラ イブラリを使用したリモートタスク起動機能を利用してプロセッサエレメント PE0にアブ リケーシヨン Aを起動させる。同様に、ステップ S19、 S20では、プロセッサエレメント P El、 PE2にそれぞれアプリケーション B、 Cを起動させる、ステップ S21では、プロセ ッサエレメント PE3において OSを呼び出し、アプリケーション Dを起動させる。上記手 順により、アプリケーション A〜Dがそれぞれプロセッサエレメント PE0〜PE3により実 行される。  [0048] In step S18, the processor element PE3 calls the OS, and uses the remote task activation function using the inter-PE communication library to activate the processor element PE0 for A. Similarly, in steps S19 and S20, the processor elements P El and PE2 start the applications B and C, respectively. In step S21, the processor element PE3 calls the OS and starts the application D. By the above procedure, applications A to D are executed by processor elements PE0 to PE3, respectively.
[0049] 図 9は、走行状況の変化に応じてアプリケーションを変更する様子を模式的に示す 図である。ここでは、 自動車の走行状況が状態 1から状態 2に移行した場合が描かれ ている。走行状況 1においては、プロセッサエレメント PE0〜PE3において「前方監視 (衝突検知) J「前方監視 (白線検知) J「側方監視」「ドライバ監視」が実行されて ヽる。 走行状況 2に移ると、プロセッサエレメント PEO〜PE3は、「前方監視 (衝突検知)」「 ナイトビジョン」「前方監視 (白線検知)」「側方監視」を実行するようになる。 FIG. 9 is a diagram schematically showing how an application is changed in accordance with a change in the driving situation. Here, the case where the driving state of the car has shifted from state 1 to state 2 is depicted. In the driving situation 1, in the processor elements PE0 to PE3, “forward monitoring (collision detection) J” forward monitoring (white line detection) J “side monitoring” and “driver monitoring” are executed. When the driving state 2 is entered, the processor elements PEO to PE3 perform “forward monitoring (collision detection)”, “night vision”, “forward monitoring (white line detection)”, and “side monitoring”.
[0050] 図 10は、他の割当て方法を示すフローチャートである。なお、このフローチャートの 処理は、実行すべきアプリケーションの数がプロセッサエレメントの数よりも多 、場合 に実行される。また、ここでは、検出された走行状況が図 11に示す状態 kであったも のとする。 FIG. 10 is a flowchart showing another allocation method. Note that the processing in this flowchart is executed when the number of applications to be executed is larger than the number of processor elements. Here, it is assumed that the detected driving situation is the state k shown in FIG.
[0051] まず、ステップ S11〜S12においては、優先処理情報テーブル 13を参照し、実行 すべきアプリケーションを検出する。このとき、各アプリケーションの優先順位および 負荷率も検出される。ステップ S13、 S31では、優先順位が 1〜4番目のアプリケーシ ヨン(すなわち、アプリケーション A〜D)をそれぞれプロセッサエレメント PEO〜PE3 に割り当てる。  [0051] First, in steps S11 to S12, the priority processing information table 13 is referenced to detect an application to be executed. At this time, the priority and load factor of each application are also detected. In steps S13 and S31, the first to fourth priority applications (ie, applications A to D) are assigned to the processor elements PEO to PE3, respectively.
[0052] ステップ S32では、プロセッサエレメントへの割当てがなされていないアプリケーショ ンが残っているかチェックする。そして、そのようなアプリケーションが残っていたとき は、ステップ S33において、各プロセッサエレメントの処理能力をチェックする。ここで は、プロセッサエレメント PEO〜PE3にそれぞれアプリケーション A〜Dが既に割り当 てられている。よって、プロセッサエレメント PEO、 PE1、 PE2、 PE3の残りの処理能 力は、それぞれ、 20%、 50%、 50%、 60%となって! /、る。  [0052] In step S32, it is checked whether there are any applications that have not been assigned to the processor elements. If such an application remains, in step S33, the processing capability of each processor element is checked. Here, applications A to D have already been assigned to processor elements PEO to PE3, respectively. Therefore, the remaining processing power of processor elements PEO, PE1, PE2, and PE3 is 20%, 50%, 50%, and 60%, respectively!
[0053] ステップ S34では、プロセッサエレメントへの割当てがなれていないアプリケーション  [0053] In step S34, an application that has not been assigned to a processor element.
(ここでは、アプリケーション E、 F)を、処理能力の残っているプロセッサエレメントに 割り当てる。ここでは、プロセッサエレメント PEOは、処理能力が 20%しか残っていな い。すなわち、プロセッサエレメント PEOは、アプリケーション E、 Fを実行することがで きない。よって、アプリケーション Eは、プロセッサエレメント PE1に割り当てられる。ま た、ステップ S32〜S34を再実行することにより、アプリケーション Fは、プロセッサェ レメント PE2に割り当てられる。  (Here, applications E and F) are assigned to the remaining processor elements. Here, the processor element PEO has only 20% processing capacity. That is, the processor element PEO cannot execute the applications E and F. Thus, application E is assigned to processor element PE1. In addition, by re-executing steps S32 to S34, application F is assigned to processor element PE2.
[0054] 以降の処理は、基本的に、図 8を参照しながら説明した手順と同じである。すなわち 、ステップ S35において PEZアプリケーション割当てテーブルの作成が終了すると、 ステップ S36〜S37において各プロセッサエレメントのタスクを終了させる。続いて、 ステップ S38〜S41にお!/、て、各アプリケーション A〜Fを起動させる。 [0055] このように、図 10に示す割当て方法によれば、プロセッサエレメントの個数よりも多く のアプリケーションを並列に実行することができる。よって、マルチプロセッサシステム の低コストィ匕が図れる。また、各プロセッサエレメントに割り当てられるアプリケーション の総処理量がそのプロセッサエレメントの処理能力を超えな 、ので、各アプリケーショ ンのリアルタイム性が確保される。 The subsequent processing is basically the same as the procedure described with reference to FIG. That is, when the creation of the PEZ application allocation table is completed in step S35, the task of each processor element is ended in steps S36 to S37. Subsequently, each of the applications A to F is started in steps S38 to S41! Thus, according to the allocation method shown in FIG. 10, more applications than the number of processor elements can be executed in parallel. Therefore, the low cost of the multiprocessor system can be achieved. In addition, since the total processing amount of applications allocated to each processor element does not exceed the processing capacity of that processor element, real-time performance of each application is ensured.
[0056] ところで、マルチプロセッサシステムが備える各プロセッサエレメントの処理能力は、 必ずしも互いに同じである必要はない。すなわち、予め用意されているアプリケーショ ンの中の一部が、ある特定のプロセッサエレメントによってのみ実行可能(或いは、あ る特定のプロセッサエレメントによって実行されることが好適)である構成であってもよ い。  Meanwhile, the processing capabilities of the processor elements included in the multiprocessor system are not necessarily the same. In other words, a part of the prepared application may be executed only by a specific processor element (or preferably executed by a specific processor element). Yes.
[0057] 例えば、プロセッサエレメント PEOは、「前方監視 H」を効率よく処理する機構を備え 、プロセッサエレメント PE3は、「ナイトビジョン」を効率よく処理する機構を備えている ものとする。すなわち、「前方監視 H」はプロセッサエレメント PEOに割り当てられること が好ましぐ「ナイトビジョン」はプロセッサエレメント PE3に割り当てられることが好まし いものとする。この場合、これらの特定のアプリケーションついては、図 12に示すよう に、優先処理情報テーブル 13において、割り当てるべきプロセッサエレメントが固定 的に定義される。  [0057] For example, it is assumed that the processor element PEO has a mechanism for efficiently processing “forward monitoring H”, and the processor element PE3 has a mechanism for efficiently processing “night vision”. In other words, “Night Vision”, which is preferably assigned to processor element PEO, is preferably assigned to processor element PE3. In this case, for these specific applications, the processor elements to be allocated are fixedly defined in the priority processing information table 13 as shown in FIG.
[0058] 図 13は、異なる能力を持ったプロセッサエレメントが含まれている場合の割当て手 順を示すフローチャートである。ここでは、優先処理情報テーブル 13において、実行 すべきアプリケーションに含まれるアプリケーション B力 プロセッサエレメント PEOに 固定的に対応づけられているものとする。  FIG. 13 is a flowchart showing the allocation procedure when processor elements having different capabilities are included. Here, in the priority processing information table 13, it is assumed that the application B force processor element PEO included in the application to be executed is fixedly associated.
[0059] 異なる能力を持ったプロセッサエレメントが含まれている場合の割当て手順は、基 本的には、図 8 (または、図 10)に示した手順と同じである。ただし、ステップ S51にお V、て、実行すべきアプリケーションの中に特定のプロセッサエレメントが指定されて!ヽ るアプリケーションが含まれている力否かがチェックされる。そして、そのようなアプリケ ーシヨンが存在する場合には、ステップ S52において、そのアプリケーションを指定さ れているプロセッサエレメントに割り当てる。この例では、他のアプリケーションに先だ つて、アプリケーション Bがプロセッサエレメント PEOに割り当てられる。 [0060] ステップ S53〜S54は、残りのアプリケーションについて、ステップ S13〜S14と同 様に処理を行う。これにより、プロセッサエレメント PEO、 PE1、 PE2、 PE3に対して、 それぞれアプリケーション B、 A、 C、 Dが割り当てられる。以降の処理は、図 8 (または 、図 10)を参照しながら説明した手順と基本的に同じである。 [0059] The assignment procedure in the case where processor elements having different capacities are included is basically the same as the procedure shown in FIG. 8 (or FIG. 10). However, in step S51, it is checked whether or not the application includes a specific processor element specified in the application to be executed. If such an application exists, in step S52, the application is assigned to the designated processor element. In this example, application B is assigned to processor element PEO prior to other applications. [0060] In steps S53 to S54, the remaining applications are processed in the same manner as steps S13 to S14. This assigns applications B, A, C, and D to processor elements PEO, PE1, PE2, and PE3, respectively. The subsequent processing is basically the same as the procedure described with reference to FIG. 8 (or FIG. 10).
[0061] <その他の実施形態 >  [0061] <Other Embodiments>
(1)マルチプロセッサシステムにおいて実行している処理の内容を表示装置に表 示するようにしてもよい。表示装置には、例えば、実行中のアプリケーションが表示さ れる。この場合、走行状況の変化に伴って実行するアプリケーションが変化すると、 表示内容も変わることになる。  (1) The contents of processing executed in the multiprocessor system may be displayed on the display device. For example, an application being executed is displayed on the display device. In this case, if the application to be executed changes as the driving situation changes, the display contents will also change.
[0062] (2)センサ情報としてナビゲーシヨンシステム力もの情報を取得するようにしてもよ!ヽ  [0062] (2) You may get information on the navigation system as sensor information!
(3)動作状態管理モジュールは、優先順位の最も低 、アプリケーションを実行する プロセッサエレメント上で動作するようにしてもよい。この場合、優先順位の高いアプリ ケーシヨンの応答性が保証しやすくなる。 (3) The operation state management module may operate on the processor element that executes the application with the lowest priority. In this case, it becomes easier to guarantee the responsiveness of the application with the higher priority.
[0063] (4)走行状況の変化に応じてアプリケーションの割当てを変更する際には、各プロ セッサエレメントを 、つたんリセットした後に再ブートを行うようにしてもょ 、。 [0063] (4) When changing the assignment of applications in accordance with changes in driving conditions, each processor element may be reset and then rebooted.
(5)あるアプリケーションの処理量が大き 、場合、或いは実行すべきアプリケーショ ンの数がプロセッサエレメントの個数よりも少ない場合等には、 1つのアプリケーション を複数のプロセッサエレメントに割り当てるようにしてもょ 、。  (5) When the processing amount of a certain application is large, or when the number of applications to be executed is smaller than the number of processor elements, one application may be assigned to multiple processor elements. .
[0064] (6)上述の実施例では、センサ情報およびモード情報の双方に基づ!/、て走行状況 が判定されて 、るが、センサ情報またはモード情報の一方に基づ 、て走行状況を判 定するようにしてちょい。 [0064] (6) In the above-described embodiment, the driving situation is determined based on both the sensor information and the mode information, but the driving situation is determined based on either the sensor information or the mode information. Try to judge.

Claims

請求の範囲 The scope of the claims
[1] 複数のプロセッサエレメントと、制御対象装置とを有するマルチプロセッサシステム であって、  [1] A multiprocessor system having a plurality of processor elements and controlled devices,
前記制御対象装置の動作状況に基づ 、て、複数のアプリケーションプログラムの中 力 実行すべきアプリケーションプログラムを動的に選択する選択手段と、  Selection means for dynamically selecting an application program to be executed among a plurality of application programs based on the operation status of the control target device;
前記選択手段により選択されたアプリケーションプログラムを前記複数のプロセッサ エレメントに割り当てる割当て手段、  Allocating means for allocating the application program selected by the selecting means to the plurality of processor elements;
を有するマルチプロセッサシステム。  A multiprocessor system.
[2] 請求項 1に記載のマルチプロセッサシステムであって、  [2] A multiprocessor system according to claim 1,
前記制御対象装置の外部環境または動作状態を検出するセンサ力 得られるセン サ情報により定義される複数の動作状況と、各動作状況において実行すべきアプリ ケーシヨンプログラムとの対応関係を表す対応関係情報を格納する格納手段をさらに 備え、  Sensor power for detecting the external environment or operating state of the device to be controlled Corresponding relationship information indicating a corresponding relationship between a plurality of operating situations defined by the obtained sensor information and an application program to be executed in each operating status And further storing means for storing
前記選択手段は、前記格納手段を前記センサ情報に基づいて参照することにより 対応するアプリケーションプログラムを選択する  The selection unit selects a corresponding application program by referring to the storage unit based on the sensor information.
ことを特徴とするマルチプロセッサシステム。  A multiprocessor system characterized by that.
[3] 請求項 1に記載のマルチプロセッサシステムであって、 [3] The multiprocessor system according to claim 1,
前記制御対象装置の外部環境または動作状態を検出するセンサ力 得られるセン サ情報および前記制御対象装置の動作モードを指定するモード情報を受信する受 信手段と、  Receiving means for receiving sensor information for detecting an external environment or an operating state of the control target device and mode information for specifying an operation mode of the control target device;
前記センサ情報およびモード情報の組合せにより定義される複数の動作状況と各 動作状況において実行すべきアプリケーションプログラムとの対応関係を表す対応 関係情報を格納する格納手段をさらに備え、  Storage means for storing correspondence information representing a correspondence relationship between a plurality of operation situations defined by a combination of the sensor information and the mode information and an application program to be executed in each operation situation;
前記選択手段は、前記センサ情報およびモード情報を利用して前記格納手段を参 照することにより対応するアプリケーションプログラムを選択する  The selection means selects a corresponding application program by referring to the storage means using the sensor information and mode information.
ことを特徴とするマルチプロセッサシステム。  A multiprocessor system characterized by that.
[4] 請求項 3に記載のマルチプロセッサシステムであって、 [4] A multiprocessor system according to claim 3,
前記対応関係情報は、前記センサ情報およびモード情報の組合せにより定義され る各動作状況に対して、実行すべきアプリケーションプログラムおよび各アプリケーシ ヨンプログラムを実行すべきプロセッサエレメントを指定する情報を含む The correspondence information is defined by a combination of the sensor information and mode information. Information specifying the application program to be executed and the processor element to execute each application program.
ことを特徴とするマルチプロセッサシステム。  A multiprocessor system characterized by that.
[5] 請求項 3に記載のマルチプロセッサシステムであって、 [5] The multiprocessor system according to claim 3,
前記対応関係情報は、前記センサ情報およびモード情報の組合せにより定義され る各動作状況に対して、実行すべきアプリケーションプログラムおよび各アプリケーシ ヨンプログラムの優先順位を指定する情報を含む  The correspondence information includes information that specifies an application program to be executed and a priority order of each application program for each operation status defined by a combination of the sensor information and mode information.
ことを特徴とするマルチプロセッサシステム。  A multiprocessor system characterized by that.
[6] 請求項 3に記載のマルチプロセッサシステムであって、 [6] A multiprocessor system according to claim 3,
前記対応関係情報は、前記センサ情報およびモード情報の組合せにより定義され る各動作状況に対して、実行すべきアプリケーションプログラムとして前記プロセッサ エレメントの個数と同数またはそれよりも少ない数のアプリケーションプログラムを指定 する  The correspondence information specifies the number of application programs equal to or less than the number of processor elements as application programs to be executed for each operation state defined by the combination of the sensor information and mode information.
ことを特徴とするマルチプロセッサシステム。  A multiprocessor system characterized by that.
[7] 請求項 3に記載のマルチプロセッサシステムであって、 [7] A multiprocessor system according to claim 3,
前記対応関係情報は、前記センサ情報およびモード情報の組合せにより定義され る各動作状況に対して、実行すべきアプリケーションプログラム、各アプリケーション プログラムの優先順位、および各アプリケーションプログラムの負荷率を表す情報を 含み、  The correspondence information includes information indicating the application program to be executed, the priority of each application program, and the load factor of each application program for each operation status defined by the combination of the sensor information and the mode information. ,
前記選択手段は、優先順位の高 ヽアプリケーションプログラムをそれぞれ対応する プロセッサエレメントに割り当て、さらに、負荷率の和がプロセッサエレメントの処理能 力を超えな 、範囲で優先順位の低 、アプリケーションプログラムを対応するプロセッ サエレメントに割り当てる  The selection means assigns a high priority application program to each corresponding processor element, and further corresponds a low priority application program in a range where the sum of load factors does not exceed the processing capability of the processor element. Assign to processor element
ことを特徴とするマルチプロセッサシステム。  A multiprocessor system characterized by that.
[8] 請求項 1に記載のマルチプロセッサシステムであって、 [8] A multiprocessor system according to claim 1,
前記選択手段および割当て手段は、前記複数のプロセッサエレメントの中の予め 決められたプロセッサエレメントに設けられる  The selecting means and the assigning means are provided in a predetermined processor element among the plurality of processor elements.
ことを特徴とするマルチプロセッサシステム。 A multiprocessor system characterized by that.
[9] 請求項 1に記載のマルチプロセッサシステムであって、 [9] The multiprocessor system according to claim 1,
前記選択手段および割当て手段は、前記複数のプロセッサエレメントの中で最も優 先順位の低 、アプリケーションプログラムが割り当てられて!/、るプロセッサエレメントに 設けられる  The selection means and the assignment means are provided in the processor element to which the application program having the lowest priority among the plurality of processor elements is assigned! /
ことを特徴とするマルチプロセッサシステム。  A multiprocessor system characterized by that.
[10] 請求項 1に記載のマルチプロセッサシステムであって、 [10] A multiprocessor system according to claim 1,
前記割当て手段は、 OSのタスク切替え機能を利用して、各プロセッサエレメントが 実行するアプリケーションプログラムを変更する  The assigning means uses an OS task switching function to change an application program executed by each processor element.
ことを特徴とするマルチプロセッサシステム。  A multiprocessor system characterized by that.
[11] 請求項 3に記載のマルチプロセッサシステムであって、  [11] A multiprocessor system according to claim 3,
前記対応関係情報は、実行すべきアプリケーションプログラムの中に前記第 1のァ プリケーシヨンプログラムが含まれている場合には、その第 1のアプリケーションプログ ラムを前記第 1のプロセッサエレメントに固定的に割り当てる情報を含む  If the first application program is included in the application program to be executed, the correspondence information is fixedly assigned to the first processor element. Contains information
ことを特徴とするマルチプロセッサシステム。  A multiprocessor system characterized by that.
[12] 制御対象装置の動作を制御する制御システムであって、 [12] A control system for controlling the operation of a control target device,
複数のプロセッサエレメントと、  Multiple processor elements;
前記制御対象装置の外部環境または動作状態を検出するセンサと、  A sensor for detecting an external environment or an operating state of the device to be controlled;
前記制御対象装置の動作モードを指定する情報を入力する入力手段と、 前記センサから得られるセンサ情報および前記入力手段から得られるモード情報 の組合せにより定義される動作状況に基づいて、予め用意されている複数のアプリケ ーシヨンプログラムの中から実行すべきアプリケーションプログラムを動的に選択する 選択手段と、  Prepared in advance based on an operation state defined by a combination of input means for inputting information specifying the operation mode of the device to be controlled, sensor information obtained from the sensor, and mode information obtained from the input means. A selection means for dynamically selecting an application program to be executed from among a plurality of application programs,
前記選択手段により選択されたアプリケーションプログラムを前記複数のプロセッサ エレメントに割り当てる割当て手段、  Allocating means for allocating the application program selected by the selecting means to the plurality of processor elements;
を有する制御システム。  Having a control system.
PCT/JP2006/323198 2006-11-21 2006-11-21 Multiprocessor system WO2008062512A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008545270A JP5187194B2 (en) 2006-11-21 2006-11-21 Multiprocessor system
PCT/JP2006/323198 WO2008062512A1 (en) 2006-11-21 2006-11-21 Multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/323198 WO2008062512A1 (en) 2006-11-21 2006-11-21 Multiprocessor system

Publications (1)

Publication Number Publication Date
WO2008062512A1 true WO2008062512A1 (en) 2008-05-29

Family

ID=39429453

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/323198 WO2008062512A1 (en) 2006-11-21 2006-11-21 Multiprocessor system

Country Status (2)

Country Link
JP (1) JP5187194B2 (en)
WO (1) WO2008062512A1 (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010098268A1 (en) * 2009-02-24 2010-09-02 日本電気株式会社 Computing resource allocation device, computing resource allocation system, and method and program for allocating the computing resources
EP2498185A1 (en) * 2009-11-06 2012-09-12 Hitachi Automotive Systems, Ltd. In-car-use multi-application execution device
JP2013052817A (en) * 2011-09-06 2013-03-21 Toyota Motor Corp Stream data management system for vehicle
WO2013073310A1 (en) 2011-11-15 2013-05-23 株式会社 日立製作所 Onboard environment-recognition device
US8676488B2 (en) 2009-06-04 2014-03-18 Toyota Jidosha Kabushiki Kaisha Vehicle surrounding monitor device and method for monitoring surroundings used for vehicle
KR20140111525A (en) * 2013-03-11 2014-09-19 한국전자통신연구원 Apparatus and method foe managing heterogeneous multicore processor system
JP2014174861A (en) * 2013-03-12 2014-09-22 Denso Corp Information terminal
WO2015039947A1 (en) * 2013-09-23 2015-03-26 Knorr-Bremse Systeme für Nutzfahrzeuge GmbH Integrated and combined door-operating system for commercial vehicles
CN105073533A (en) * 2013-03-28 2015-11-18 西门子公司 Apparatus for controlling a drive device in a rail vehicle
JP2016129047A (en) * 2016-02-24 2016-07-14 パイオニア株式会社 Information processing device, information processing method, recording medium recording information processing program, and information processing program
JP2016522493A (en) * 2013-05-21 2016-07-28 エフティーエス コンピューターテクニク ジーエムビーエイチ How to integrate computations with indefinite duration into a time-triggered architecture
JP2017007642A (en) * 2015-04-16 2017-01-12 株式会社デンソー Control system
JP2018077828A (en) * 2016-09-15 2018-05-17 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング Image processing algorithm
JP2019074851A (en) * 2017-10-13 2019-05-16 株式会社デンソー Electronic control device
WO2019194312A1 (en) * 2018-04-05 2019-10-10 日立オートモティブシステムズ株式会社 Electronic control device and control method
JP2019179397A (en) * 2018-03-30 2019-10-17 株式会社デンソー Electronic control device and method for allocating multi-core
JP2021039611A (en) * 2019-09-04 2021-03-11 トヨタ自動車株式会社 Vehicle control device, vehicle control method and control program
US11288569B2 (en) * 2016-05-11 2022-03-29 Magna Electronics Inc. Vehicle driving assist system with enhanced data processing
WO2022196322A1 (en) * 2021-03-18 2022-09-22 株式会社オートネットワーク技術研究所 In-vehicle apparatus, information processing method, and computer program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6477430B2 (en) * 2015-11-10 2019-03-06 株式会社デンソー Electronic control unit

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0256250B2 (en) * 1984-09-29 1990-11-29 Diesel Kiki Co
JPH077961B2 (en) * 1987-11-10 1995-01-30 エシャロン・コーポレーション Cell used for control network
JP2000322698A (en) * 1999-03-12 2000-11-24 Navigation Technol Corp Method and system for onboard computing architecture
JP3111752B2 (en) * 1993-06-22 2000-11-27 株式会社日立製作所 Vehicle control method and control system
JP2002334030A (en) * 2000-12-22 2002-11-22 Microsoft Corp Context-aware system and method, location-aware system and method, context-aware vehicle and method of operating the same, and location-aware vehicle and method of operating the same
JP2006031731A (en) * 2005-08-22 2006-02-02 Hitachi Ltd Distributed control system and controller

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06309010A (en) * 1993-04-23 1994-11-04 Matsushita Electric Works Ltd Method and device for load control using control program made into module
JP4441939B2 (en) * 1999-02-01 2010-03-31 株式会社エクォス・リサーチ Destination setting device
JP2002149191A (en) * 2000-11-09 2002-05-24 Toyota Central Res & Dev Lab Inc Voice input device
JP3928505B2 (en) * 2002-07-05 2007-06-13 株式会社デンソー Vehicle communication system
DE10238936A1 (en) * 2002-08-24 2004-03-04 Robert Bosch Gmbh Device and method for controlling at least one system component of an information technology system
JP2007131177A (en) * 2005-11-10 2007-05-31 Fujitsu Ten Ltd On-vehicle electronic control device, and action management device
JP2007172042A (en) * 2005-12-19 2007-07-05 Toshiba Corp Electronic equipment and thermal control method for electronic equipment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0256250B2 (en) * 1984-09-29 1990-11-29 Diesel Kiki Co
JPH077961B2 (en) * 1987-11-10 1995-01-30 エシャロン・コーポレーション Cell used for control network
JP3111752B2 (en) * 1993-06-22 2000-11-27 株式会社日立製作所 Vehicle control method and control system
JP2000322698A (en) * 1999-03-12 2000-11-24 Navigation Technol Corp Method and system for onboard computing architecture
JP2002334030A (en) * 2000-12-22 2002-11-22 Microsoft Corp Context-aware system and method, location-aware system and method, context-aware vehicle and method of operating the same, and location-aware vehicle and method of operating the same
JP2006031731A (en) * 2005-08-22 2006-02-02 Hitachi Ltd Distributed control system and controller

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533726B2 (en) 2009-02-24 2013-09-10 Nec Corporation Device, system, method, and program for computing resource allocation based on external environment and transition frequency
JPWO2010098268A1 (en) * 2009-02-24 2012-08-30 日本電気株式会社 Computing resource allocation apparatus, computing resource allocation system, computing resource allocation method and program thereof
JP5644758B2 (en) * 2009-02-24 2014-12-24 日本電気株式会社 Computing resource allocation apparatus, computing resource allocation system, computing resource allocation method and program thereof
WO2010098268A1 (en) * 2009-02-24 2010-09-02 日本電気株式会社 Computing resource allocation device, computing resource allocation system, and method and program for allocating the computing resources
US8676488B2 (en) 2009-06-04 2014-03-18 Toyota Jidosha Kabushiki Kaisha Vehicle surrounding monitor device and method for monitoring surroundings used for vehicle
US8832704B2 (en) 2009-11-06 2014-09-09 Hitachi Automotive Systems, Ltd. In-car-use multi-application execution device
EP2498185A4 (en) * 2009-11-06 2013-05-01 Hitachi Automotive Systems Ltd In-car-use multi-application execution device
EP2498185A1 (en) * 2009-11-06 2012-09-12 Hitachi Automotive Systems, Ltd. In-car-use multi-application execution device
JP2013052817A (en) * 2011-09-06 2013-03-21 Toyota Motor Corp Stream data management system for vehicle
WO2013073310A1 (en) 2011-11-15 2013-05-23 株式会社 日立製作所 Onboard environment-recognition device
KR20140111525A (en) * 2013-03-11 2014-09-19 한국전자통신연구원 Apparatus and method foe managing heterogeneous multicore processor system
KR101694302B1 (en) 2013-03-11 2017-01-23 한국전자통신연구원 Apparatus and method foe managing heterogeneous multicore processor system
JP2014174861A (en) * 2013-03-12 2014-09-22 Denso Corp Information terminal
RU2618834C2 (en) * 2013-03-28 2017-05-11 Сименс Акциенгезелльшафт Device for managing the drive mechanism of the rail vehicle
CN105073533A (en) * 2013-03-28 2015-11-18 西门子公司 Apparatus for controlling a drive device in a rail vehicle
US20160046301A1 (en) * 2013-03-28 2016-02-18 Siemens Aktiengesellschaft Apparatus for controlling a drive device in a rail vehicle
JP2016522493A (en) * 2013-05-21 2016-07-28 エフティーエス コンピューターテクニク ジーエムビーエイチ How to integrate computations with indefinite duration into a time-triggered architecture
WO2015039947A1 (en) * 2013-09-23 2015-03-26 Knorr-Bremse Systeme für Nutzfahrzeuge GmbH Integrated and combined door-operating system for commercial vehicles
JP2017007642A (en) * 2015-04-16 2017-01-12 株式会社デンソー Control system
JP2016129047A (en) * 2016-02-24 2016-07-14 パイオニア株式会社 Information processing device, information processing method, recording medium recording information processing program, and information processing program
US11288569B2 (en) * 2016-05-11 2022-03-29 Magna Electronics Inc. Vehicle driving assist system with enhanced data processing
JP2018077828A (en) * 2016-09-15 2018-05-17 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング Image processing algorithm
JP2019074851A (en) * 2017-10-13 2019-05-16 株式会社デンソー Electronic control device
JP2019179397A (en) * 2018-03-30 2019-10-17 株式会社デンソー Electronic control device and method for allocating multi-core
JP7006451B2 (en) 2018-03-30 2022-01-24 株式会社デンソー Electronic control device and multi-core allocation method
JP2019182095A (en) * 2018-04-05 2019-10-24 日立オートモティブシステムズ株式会社 Electronic controller, control method
CN111936366A (en) * 2018-04-05 2020-11-13 日立汽车系统株式会社 Electronic control device and control method
JP7007226B2 (en) 2018-04-05 2022-01-24 日立Astemo株式会社 Electronic control device, control method
WO2019194312A1 (en) * 2018-04-05 2019-10-10 日立オートモティブシステムズ株式会社 Electronic control device and control method
CN111936366B (en) * 2018-04-05 2023-10-13 日立安斯泰莫株式会社 Electronic control device and control method
US11878704B2 (en) 2018-04-05 2024-01-23 Hitachi Astemo, Ltd. Electronic control device and control method
JP2021039611A (en) * 2019-09-04 2021-03-11 トヨタ自動車株式会社 Vehicle control device, vehicle control method and control program
JP7259656B2 (en) 2019-09-04 2023-04-18 トヨタ自動車株式会社 VEHICLE CONTROL DEVICE, VEHICLE CONTROL METHOD AND CONTROL PROGRAM
WO2022196322A1 (en) * 2021-03-18 2022-09-22 株式会社オートネットワーク技術研究所 In-vehicle apparatus, information processing method, and computer program

Also Published As

Publication number Publication date
JP5187194B2 (en) 2013-04-24
JPWO2008062512A1 (en) 2010-03-04

Similar Documents

Publication Publication Date Title
JP5187194B2 (en) Multiprocessor system
CN107908186B (en) Method and system for controlling operation of unmanned vehicle
EP2346014B1 (en) Information processing device associated with vehicle traveling
WO2011055581A1 (en) In-car-use multi-application execution device
KR20000057625A (en) Fault-resilient automobile control system
JP2018077828A (en) Image processing algorithm
US10611381B2 (en) Decentralized minimum risk condition vehicle control
CN112000458A (en) Method and device for allocating vehicle computing tasks to heterogeneous networked devices
JP7006451B2 (en) Electronic control device and multi-core allocation method
JP2011022934A (en) Electronic control unit and method for detecting failure
JP7198056B2 (en) Vehicle control device and vehicle control method
US20130061098A1 (en) Failure check apparatus and failure check method
US11526378B2 (en) Information processing device and information processing method
KR20180082886A (en) Processor for preventing accident of automatic driving system and method of the same
JP2022190646A (en) Voltage monitoring over multiple frequency ranges for autonomous machine applications
JP2022109054A (en) Control device for vehicle, method, program, and vehicle
JP2003015742A (en) Automatic operation system for vehicle
CN113010185A (en) Method for dynamically distributing software in control system of vehicle and control system
JP6902992B2 (en) Electronic control device for automobiles
US10293815B2 (en) Driver assistance system having controller and controlling method thereof
US20220342702A1 (en) Real-time scheduling for a heterogeneous multi-core system
US10324636B2 (en) Fail-operational system design pattern based on software code migration
CN113348646B (en) Method for operating a vehicle, control device for a vehicle, and vehicle
CN111791886A (en) Real-time control system for vehicle and method for performing vehicle control via real-time control system
US20230271628A1 (en) Distributed processing of vehicle sensor data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 06823485

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008545270

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06823485

Country of ref document: EP

Kind code of ref document: A1