JP2011150532A - Information processing apparatus - Google Patents

Information processing apparatus Download PDF

Info

Publication number
JP2011150532A
JP2011150532A JP2010011227A JP2010011227A JP2011150532A JP 2011150532 A JP2011150532 A JP 2011150532A JP 2010011227 A JP2010011227 A JP 2010011227A JP 2010011227 A JP2010011227 A JP 2010011227A JP 2011150532 A JP2011150532 A JP 2011150532A
Authority
JP
Japan
Prior art keywords
information processing
tasks
processing apparatus
processing
time limit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010011227A
Other languages
Japanese (ja)
Inventor
Tomokazu Moriya
友和 守谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2010011227A priority Critical patent/JP2011150532A/en
Publication of JP2011150532A publication Critical patent/JP2011150532A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processing apparatus for more highly accurately performing processing time limit management for each of a plurality of tasks processed in parallel. <P>SOLUTION: The information processing apparatus which can process multiple tasks in parallel with one unit processor, wherein processing time limits are respectively set for at least some of the multiple tasks, includes a hardware means for management of multiple processing time limits corresponding to those multiple tasks with processing time limits respectively set therefor among the multiple tasks. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、複数のタスクを並行して処理可能な情報処理装置に関し、特に、マルチスレッディングを行う情報処理装置、及びマルチコア・プロセッサとして構成される情報処理装置に関する。   The present invention relates to an information processing apparatus that can process a plurality of tasks in parallel, and more particularly, to an information processing apparatus that performs multithreading and an information processing apparatus configured as a multicore processor.

従来、ハードウエア・マルチスレッディングやソフトウエア・マルチスレッディングを行うことにより並行処理を実行可能とした情報処理装置が知られている。また、マルチコア・プロセッサと称される、一単位のCPU(プロセッサ)の中に複数のCPUコアを備える情報処理装置が同様に知られている。これらの情報処理装置では、複数のタスクを並行して処理可能となっている。   2. Description of the Related Art Conventionally, an information processing apparatus that can execute parallel processing by performing hardware multithreading or software multithreading is known. An information processing apparatus including a plurality of CPU cores in one unit CPU (processor) called a multi-core processor is also known. These information processing apparatuses can process a plurality of tasks in parallel.

ところで、情報処理装置が処理するタスクには、処理期限が設定されているものが存在する。特許文献1には、タスクに一定時間を与え、その時間が経過すると別のタスクに切り替わるTSS(Time Sharing System)機能を有する半導体集積回路について記載されている。   By the way, some tasks that are processed by the information processing apparatus have a processing time limit. Patent Document 1 describes a semiconductor integrated circuit having a TSS (Time Sharing System) function that gives a certain time to a task and switches to another task when that time elapses.

そして、この半導体集積回路は、プロセッサに対して一個のタイマを備え、特権モードによるプログラムの実行と非特権モードによるプログラムの実行のいずれかに同期したタイマを作動させている。これによって、割り込み等によってタスクの処理が中断した際にはタイマを一時停止させ、本来タスクに与えられている処理時間を確保できるように制御している。   This semiconductor integrated circuit includes a single timer for the processor, and operates a timer synchronized with either the execution of the program in the privileged mode or the execution of the program in the non-privileged mode. As a result, when task processing is interrupted by interruption or the like, the timer is temporarily stopped to control the processing time originally given to the task.

特開平10−247146号公報JP-A-10-247146

しかしながら、上記特許文献1に記載の半導体集積回路では、プロセッサに対して一個の汎用タイマのみを備えるため、複数のタスクを並行して処理する場合、一のタスクについてしか処理期限管理を行うことができず、他のタスクについての処理期限管理ができないことになる。   However, since the semiconductor integrated circuit described in Patent Document 1 includes only one general-purpose timer for the processor, when a plurality of tasks are processed in parallel, the processing time limit management may be performed only for one task. It is not possible to manage the processing time limit for other tasks.

また、特定のタスク内で処理が固着するような異常の発生時には、割り込み等によって対応処理を行うのが通常であるが、この場合、一のタスクが処理期限違反を犯した場合に、全てのタスクをリセットすることになりかねない。   Also, when an abnormality occurs in which a process is stuck within a specific task, it is normal to perform a corresponding process by an interrupt, etc.In this case, if one task violates the process deadline, It can be a task reset.

また、ソフトウエアによってタイマのオン/オフ制御を行っているため、タイマによる計時精度が低下するおそれがある。   In addition, since the on / off control of the timer is performed by software, there is a possibility that the timing accuracy by the timer may be reduced.

本発明はこのような課題を解決するためのものであり、並行処理される複数のタスク毎の処理期限管理を、より高精度に行うことが可能な情報処理装置を提供することを、主たる目的とする。   The present invention is for solving such problems, and a main object of the present invention is to provide an information processing apparatus capable of performing processing deadline management for each of a plurality of tasks processed in parallel with higher accuracy. And

上記目的を達成するための本発明の一態様は、
一単位のプロセッサによって複数のタスクを並行して処理可能な情報処理装置であって、
前記複数のタスクの少なくとも一部には処理期限が設定され、
前記複数のタスクのうち処理期限が設定された複数のタスクに対応した、複数の処理期限管理用ハードウエア手段を備えることを特徴とする、
情報処理装置である。
In order to achieve the above object, one embodiment of the present invention provides:
An information processing apparatus capable of processing a plurality of tasks in parallel by a single processor,
A processing deadline is set for at least some of the plurality of tasks,
A plurality of processing time limit management hardware means corresponding to a plurality of tasks for which a processing time limit is set among the plurality of tasks,
Information processing apparatus.

ここで、複数のタスクを並行して処理可能な一単位のプロセッサとは、マルチスレッディングを行うシングルコアプロセッサやマルチコア・プロセッサ等、1パッケージに封入されたプロセッサをいう。   Here, one unit of processor capable of processing a plurality of tasks in parallel refers to a processor enclosed in one package, such as a single core processor or a multicore processor that performs multithreading.

この本発明の一態様によれば、複数のタスクのうち処理期限が設定された複数のタスクに対応した、複数の処理期限管理用ハードウエア手段を備えるため、並行処理される複数のタスク毎の処理期限管理を、より高精度に行うことができる。   According to this aspect of the present invention, since a plurality of processing time limit management hardware units corresponding to a plurality of tasks for which a processing time limit is set among a plurality of tasks are provided, for each of a plurality of tasks processed in parallel Processing time limit management can be performed with higher accuracy.

本発明の一態様において、
前記複数の処理期限管理用ハードウエア手段は、それぞれ専用の計時手段を備えることを特徴とするものとしてもよい。
In one embodiment of the present invention,
The plurality of processing time management hardware means may include dedicated time measuring means.

こうすれば、並行処理される可能性がある複数のタスク毎の処理期限管理を、更に高精度に行うことができる。   In this way, the processing time limit management for each of a plurality of tasks that may be processed in parallel can be performed with higher accuracy.

また、本発明の一態様において、
前記複数の処理期限管理用ハードウエア手段は、
前記一単位のプロセッサが実行するプログラムのプログラムカウンタの値を監視するプログラムカウンタ監視手段と、
前記複数のタスクのうち処理期限が設定された複数のタスクに対応した、プログラムカウンタの開始位置、終了位置、及び処理期限に関する情報を記憶した記憶手段と、
を備え、
前記プログラムカウンタ監視手段により前記プログラムカウンタの値が前記開始位置に至ったと判断された際に前記計時手段が計時開始し、該計時開始後、前記処理期限までに前記プログラムカウンタ監視手段により前記プログラムカウンタの値が前記終了位置に至ったと判断されなかった場合に、所定の異常検出時動作を行うことを特徴とするものとしてもよい。
In one embodiment of the present invention,
The plurality of processing time limit management hardware means,
Program counter monitoring means for monitoring a value of a program counter of a program executed by the one unit of processor;
Storage means for storing information on the start position, end position, and processing deadline of the program counter corresponding to a plurality of tasks for which a processing deadline is set among the plurality of tasks;
With
When the program counter monitoring means determines that the value of the program counter has reached the start position, the time counting means starts measuring time, and after the time measurement starts, by the program counter monitoring means, the program counter monitoring means When it is not determined that the value reaches the end position, a predetermined abnormality detection operation may be performed.

ここで、プログラムカウンタの開始位置、終了位置、及び処理期限に関する情報を記憶した記憶手段は、開始位置を記憶した記憶手段、終了位置を記憶した記憶手段、処理期限に関する情報を記憶した別体の記憶手段の集合であってもよいし、一の記憶手段の異なる記憶領域に開始位置、終了位置、及び処理期限に関する情報が記憶されたものであってもよい。   Here, the storage means that stores information on the start position, end position, and processing deadline of the program counter is a storage means that stores the start position, a storage means that stores the end position, and a separate storage that stores information on the processing deadline. It may be a set of storage means, or information regarding the start position, end position, and processing time limit may be stored in different storage areas of one storage means.

また、本発明の一態様において、
前記所定の異常検出時動作は、例えば、SFR(Special Function Resister)に異常検出を示す値を書き込む動作である。
In one embodiment of the present invention,
The predetermined abnormality detection operation is, for example, an operation of writing a value indicating abnormality detection in an SFR (Special Function Register).

これによって、OS(Operating System)等のソフトウエアから異常検出がなされたか否かを参照することができる。   This makes it possible to refer to whether or not an abnormality has been detected from software such as an OS (Operating System).

また、本発明の一態様は、
車両に搭載され、前記複数のタスクは、車載機器の制御を行うための演算処理を含んでもよい。
One embodiment of the present invention includes
The plurality of tasks mounted on the vehicle may include a calculation process for controlling the in-vehicle device.

車両に搭載される制御装置では、繰り返し同じ処理が実行され、且つタスクの数が固定である場合が多いため、本発明の奏する効果を十分に発揮することができる。   In a control device mounted on a vehicle, the same processing is repeatedly executed and the number of tasks is often fixed, so that the effect of the present invention can be sufficiently exerted.

本発明によれば、並行処理される複数のタスク毎の処理期限管理を、より高精度に行うことが可能な情報処理装置を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the information processing apparatus which can perform the process time limit management for every several task processed in parallel with higher precision can be provided.

本発明の一実施例に係る情報処理装置1のシステム構成例である。1 is a system configuration example of an information processing apparatus 1 according to an embodiment of the present invention. 情報処理装置1の電源投入時に開始される処理の流れを示すフローチャートである。4 is a flowchart showing a flow of processing started when the information processing apparatus 1 is turned on. 情報処理装置1における図示しないOS(Operating System)によって実行される処理期限違反監視処理の流れを示すフローチャートである。3 is a flowchart showing a flow of processing time limit violation monitoring processing executed by an OS (Operating System) (not shown) in the information processing apparatus 1. 単独のタイマを備える従来の情報処理装置において、あるタスクに異常が発生し、これによって処理期限違反が発生した様子を模式的に示す図である。It is a figure which shows typically a mode that abnormality generate | occur | produced in the certain task in this conventional information processing apparatus provided with a single timer, and the process time limit violation occurred by this. 本実施例に係る情報処理装置1において、あるタスクに異常が発生し、これによって処理期限違反が発生した様子を模式的に示す図である。It is a figure which shows typically a mode that abnormality occurred in a certain task in the information processing apparatus 1 which concerns on a present Example, and this, and the processing time limit violation occurred. 図6は、タスクA〜Cの処理を実行している情報処理装置1Aと、タスクDの処理のみを実行している情報処理装置1Bが存在し、タスクCの処理を情報処理装置1Aから情報処理装置1Bに移管する様子を示す図である。In FIG. 6, there is an information processing apparatus 1A that performs processing of tasks A to C, and an information processing apparatus 1B that executes only processing of task D, and information on the processing of task C is received from the information processing apparatus 1A. It is a figure which shows a mode that it transfers to the processing apparatus 1B.

以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。   DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments for carrying out the present invention will be described with reference to the accompanying drawings.

以下、図面を参照し、本発明の一実施例に係る情報処理装置1について説明する。   Hereinafter, an information processing apparatus 1 according to an embodiment of the present invention will be described with reference to the drawings.

[全体構成]
図1は、本発明の一実施例に係る情報処理装置1のシステム構成例である。情報処理装置1は、主要な構成として、CPU(Central Processing Unit)10と、複数の処理期限管理用ハードウエア20#1〜20#nと、を備える。
[overall structure]
FIG. 1 is a system configuration example of an information processing apparatus 1 according to an embodiment of the present invention. The information processing apparatus 1 includes a CPU (Central Processing Unit) 10 and a plurality of processing time limit management hardware 20 # 1 to 20 # n as main components.

CPU10は、例えば、命令デコーダ、各種レジスタ、演算回路、キャッシュメモリ、プログラムカウンタ12等を有するシングルコアCPUである。CPU10は、図示しないプログラムメモリに格納されたプログラム(命令)を専用レジスタにフェッチし、これをデコードして実行することにより、種々の処理を行なうことができる。プログラムメモリとしては、例えばROM(Read Only Memory)やEEPROM(Electrically Erasable and Programmable Read Only Memory)等が用いられる。   The CPU 10 is a single core CPU having, for example, an instruction decoder, various registers, an arithmetic circuit, a cache memory, a program counter 12 and the like. The CPU 10 can perform various processes by fetching a program (instruction) stored in a program memory (not shown) into a dedicated register, decoding it, and executing it. As the program memory, for example, a ROM (Read Only Memory), an EEPROM (Electrically Erasable and Programmable Read Only Memory), or the like is used.

また、CPU10は、例えばソフトウエア・マルチスレッディングを実行することにより、複数のタスクを並行して処理可能となっている。具体的には、例えば、まずタスクAの処理の一定時間を付与し、一定時間が経過するとタスクAの処理を一時停止してタスクBの処理を開始する。次いで、タスクBに付与された一定時間が経過するとタスクBの処理を一時停止してタスクCの処理を開始する。このように複数のタスクの処理を順次行うことにより、複数のタスクを並行して処理することができる。   The CPU 10 can process a plurality of tasks in parallel by executing, for example, software multithreading. Specifically, for example, first, a certain time for processing the task A is given, and when the certain time elapses, the processing for the task A is temporarily stopped and the processing for the task B is started. Next, when a certain time given to the task B elapses, the process of the task B is temporarily stopped and the process of the task C is started. Thus, a plurality of tasks can be processed in parallel by sequentially processing a plurality of tasks.

CPU10は、ソフトウエア・マルチスレッディングに代えて、ハードウエア・マルチスレッディングを実行するものであってもよい。この場合、タスク毎に命令デコーダ等が設けられ、演算回路等の一部のハードウエアがスレッド間で共有される。   The CPU 10 may execute hardware multithreading instead of software multithreading. In this case, an instruction decoder or the like is provided for each task, and a part of hardware such as an arithmetic circuit is shared between threads.

また、CPU10は、マルチコア・プロセッサとして構成され、これによって複数のタスクを並行して処理可能なものであってもよい。   Further, the CPU 10 may be configured as a multi-core processor and thereby be capable of processing a plurality of tasks in parallel.

プログラムカウンタ12は、CPU10が現在実行している命令の、プログラムメモリ上のアドレスについての情報を保持するプログラムレジスタである。   The program counter 12 is a program register that holds information about an address on the program memory of an instruction currently executed by the CPU 10.

複数の処理期限管理用ハードウエア20#1〜20#nは、情報処理装置1が実行する複数のタスク(並行して実行しないものを含んでもよい)のうち、処理期限が設定される複数のタスクに対応して備えられている。例えば処理期限が設定されるタスクの数が5である場合、情報処理装置1は、少なくとも5個の処理期限管理用ハードウエア20#1〜20#nを備えることが望ましい。   The plurality of processing time limit management hardware 20 # 1 to 20 # n includes a plurality of tasks for which processing time limits are set among a plurality of tasks executed by the information processing apparatus 1 (may include those not executed in parallel). It is provided for each task. For example, when the number of tasks for which a processing time limit is set is 5, the information processing apparatus 1 desirably includes at least five processing time management hardware 20 # 1 to 20 # n.

複数の処理期限管理用ハードウエア20#1〜20#nのそれぞれは、同様な構成を有している。従って、以下の説明では、これらのうち一の処理期限管理用ハードウエアの内容についてのみ言及し(単に処理期限管理用ハードウエア20と表記する)、いずれの処理期限管理用ハードウエアであるかを識別するための符号「#k」(k=1〜n)は省略する。   Each of the plurality of processing time limit management hardware 20 # 1 to 20 # n has a similar configuration. Accordingly, in the following description, only the contents of one of the processing deadline management hardwares will be referred to (simply referred to as the processing deadline management hardware 20), and which processing deadline management hardware is used. The code “#k” (k = 1 to n) for identification is omitted.

[処理期限管理用ハードウエア]
処理期限管理用ハードウエア20は、タイマ設定レジスタ22と、カウント開始PC(プログラムカウンタ)レジスタ24と、カウント停止PC(プログラムカウンタ)レジスタ26と、初期値レジスタ28と、タイマ処理部30と、カウントレジスタ32と、アンダーフロー検知部34と、異常検出ステータスレジスタ36と、を備える。
[Processing time management hardware]
The processing time limit management hardware 20 includes a timer setting register 22, a count start PC (program counter) register 24, a count stop PC (program counter) register 26, an initial value register 28, a timer processing unit 30, a count A register 32, an underflow detection unit 34, and an abnormality detection status register 36 are provided.

タイマ設定レジスタ22は、タイマ処理部30及びカウントレジスタ32によって実現されるタイマの分解能、その他のコンフィグ情報を保持している。   The timer setting register 22 holds resolution of the timer realized by the timer processing unit 30 and the count register 32, and other configuration information.

カウント開始PCレジスタ24は、当該処理期限管理用ハードウエアに対応したタスク(以下、単に「該当タスク」と称する)が開始される時点のプログラムカウンタ12の値を保持している。   The count start PC register 24 holds the value of the program counter 12 when a task corresponding to the processing time limit management hardware (hereinafter simply referred to as “corresponding task”) is started.

カウント停止PCレジスタ26は、該当タスクが終了する時点のプログラムカウンタ12の値を保持している。   The count stop PC register 26 holds the value of the program counter 12 at the time when the corresponding task ends.

初期値レジスタ28は、該当タスクに付与される処理期限までの時間(開始時点を基準として処理終了するまでの目標時間をいう)に相当するカウントレジスタ32のカウンタ値を保持している。   The initial value register 28 holds the counter value of the count register 32 corresponding to the time until the processing deadline assigned to the task (referring to the target time until the processing is completed with reference to the start time).

カウント開始PCレジスタ24、カウント停止PCレジスタ26、及び初期値レジスタ28は、図1に示したように別体であってもよいが、同じレジスタ上の異なる記憶領域を指すものであっても構わない。   The count start PC register 24, the count stop PC register 26, and the initial value register 28 may be separate as shown in FIG. 1, but may indicate different storage areas on the same register. Absent.

タイマ処理部30は、プログラムカウンタ12を監視しており、プログラムカウンタ12の値がカウント開始PCレジスタ24に保持された値と一致したときに、初期値レジスタ28に保持された値をカウントレジスタ32に書き込むと共に、カウントレジスタ32のレジスタ値を所定のペースでデクリメントさせる。   The timer processing unit 30 monitors the program counter 12, and when the value of the program counter 12 matches the value held in the count start PC register 24, the value held in the initial value register 28 is changed to the count register 32. And the register value of the count register 32 is decremented at a predetermined pace.

ここで、タイマ処理部30には、例えば情報処理装置1全体に基準クロックを供給するクロックジェネレータから、基準クロックが供給されている。そして、この基準クロックの立ち上がり等のタイミングで、所定の値ずつカウントレジスタ32のレジスタ値をデクリメントさせる。   Here, for example, a reference clock is supplied to the timer processing unit 30 from a clock generator that supplies a reference clock to the entire information processing apparatus 1. Then, the register value of the count register 32 is decremented by a predetermined value at a timing such as the rise of the reference clock.

これによって、該当タスクに付与される処理期限が到来すると、カウントレジスタ32のレジスタ値がゼロとなる(アンダーフローする)ことになる。なお、前述のタイマ設定レジスタ22により保持されたコンフィグ情報は、情報処理装置1におけるいずれのクロックを選択するか、等の情報を含んでいる。   As a result, when the processing time limit assigned to the task arrives, the register value of the count register 32 becomes zero (underflows). The configuration information held by the timer setting register 22 includes information such as which clock in the information processing apparatus 1 is selected.

更に、タイマ処理部30は、プログラムカウンタ12の値がカウント停止PCレジスタ26に保持された値と一致したときに、上記デクリメント処理を停止する。係る動作は、該当タスクが正常に終了した場合に行われる。なお、このデクリメント処理の終了時に、初期値レジスタ28に保持された値をカウントレジスタ32に書き込む処理を行っておいてもよい。   Furthermore, the timer processing unit 30 stops the decrement process when the value of the program counter 12 matches the value held in the count stop PC register 26. This operation is performed when the task is completed normally. At the end of the decrement process, a process for writing the value held in the initial value register 28 to the count register 32 may be performed.

一方、アンダーフロー検知部34は、カウントレジスタ32のレジスタ値がゼロとなる(アンダーフローする)と、異常検出ステータスレジスタ36に所定の値を書き込む(特許請求の範囲における「所定の異常検出時動作」の一例である)。係る動作は、該当タスクが処理期限までに終了しなかった場合に行われる。   On the other hand, when the register value of the count register 32 becomes zero (underflows), the underflow detection unit 34 writes a predetermined value in the abnormality detection status register 36 (“Operation at the time of predetermined abnormality detection” in the claims) Is an example). Such an operation is performed when the task is not completed by the processing deadline.

異常検出ステータスレジスタ36は、いわゆるSFR(Special Function Resister)であり、CPU10その他のプロセッサにより実行されているソフトウエアからレジスタ値を参照可能となっている。   The abnormality detection status register 36 is a so-called SFR (Special Function Register), and a register value can be referred to from software executed by the CPU 10 and other processors.

また、異常検出ステータスレジスタ36は、割り込み制御部50等によって参照されてよい。この場合、割り込み制御部50は、異常検出ステータスレジスタ36に所定の値が書き込まれているか否かを定期的に監視し、所定の値が書き込まれている場合には、該当するタスクを停止させる等の制御を実行する。   The abnormality detection status register 36 may be referred to by the interrupt control unit 50 or the like. In this case, the interrupt control unit 50 periodically monitors whether or not a predetermined value is written in the abnormality detection status register 36, and when the predetermined value is written, stops the corresponding task. Etc. are executed.

このような構成によって、本実施例の情報処理装置1では、タイマ処理部30によりプログラムカウンタ12の値が開始位置に至ったと判断された際にタイマ処理部30及びカウントレジスタ32によって実現されるタイマが計時開始し、その後、処理期限までにタイマ処理部30によりプログラムカウンタ12の値が終了位置に至ったと判断された場合には、正常に該当タスクが終了する。一方、タイマの計時開始後、タイマ処理部30によりプログラムカウンタ12の値が終了位置に至ったと判断されなかった場合に、所定の異常検出時動作を行うことになる。   With such a configuration, in the information processing apparatus 1 of the present embodiment, the timer realized by the timer processing unit 30 and the count register 32 when the timer processing unit 30 determines that the value of the program counter 12 has reached the start position. When the timer processing unit 30 determines that the value of the program counter 12 has reached the end position by the processing deadline, the task is normally completed. On the other hand, if the timer processing unit 30 does not determine that the value of the program counter 12 has reached the end position after the timer starts counting, a predetermined abnormality detection operation is performed.

これによって、処理期限の設定される複数のタスクについての処理期限管理を行うことができる。また、あるタスクにおいて処理期限違反が発生した場合に、当該タスクのみを停止すればよいため、他のタスクについて継続的に処理を実行することができる。   This makes it possible to perform processing time limit management for a plurality of tasks for which processing time limits are set. In addition, when a processing time limit violation occurs in a certain task, it is only necessary to stop the task, so that it is possible to continuously execute processing for other tasks.

更に、上記のように、タイマ処理部30、カウントレジスタ32、及び供給される基準信号等からなるハードウエア手段によって計時を行うため、計時精度を高くすることができ、より高精度に処理期限管理を行うことができる。   Further, as described above, since the time is measured by the hardware means including the timer processing unit 30, the count register 32, and the supplied reference signal, the time measurement accuracy can be increased, and the processing time limit management can be performed with higher accuracy. It can be performed.

[処理フロー]
以下、情報処理装置1の各処理段階において実行される処理の流れについて説明する。図2は、情報処理装置1の電源投入時に開始される処理の流れを示すフローチャートである。
[Processing flow]
Hereinafter, the flow of processing executed in each processing stage of the information processing apparatus 1 will be described. FIG. 2 is a flowchart showing a flow of processing started when the information processing apparatus 1 is turned on.

情報処理装置1に電源が投入されると、各種の初期化処理が実行される(S100)。具体的には、CPUの初期化、RAMの初期化、周辺ハードウエアの初期化、及び処理期限管理用ハードウエアの初期化等が実行される。   When the information processing apparatus 1 is powered on, various initialization processes are executed (S100). Specifically, CPU initialization, RAM initialization, peripheral hardware initialization, processing time limit management hardware initialization, and the like are executed.

ここで、処理期限管理用ハードウエアの初期化とは、図示しないROM等の不揮発性メモリから、タイマ設定レジスタ22、カウント開始PCレジスタ24、カウント停止PCレジスタ26、及び初期値レジスタ28に保持すべき値を読み出して、これらに書き込む処理をいう。   Here, initialization of the processing time limit management hardware is held in a timer setting register 22, a count start PC register 24, a count stop PC register 26, and an initial value register 28 from a non-volatile memory such as a ROM (not shown). A process of reading power values and writing them.

各種の初期化処理が終了すると、情報処理装置1は、通常動作を開始する(S102)。   When various initialization processes are completed, the information processing apparatus 1 starts a normal operation (S102).

また、図3は、情報処理装置1における図示しないOS(Operating System)によって実行される処理期限違反監視処理の流れを示すフローチャートである。このOSは、CPUディスパッチャやキャッシュコントローラ等の機能を有している。   FIG. 3 is a flowchart showing a flow of processing time limit violation monitoring processing executed by an OS (Operating System) (not shown) in the information processing apparatus 1. This OS has functions such as a CPU dispatcher and a cache controller.

本フローは、例えば割り込み制御部50から割り込み信号が出力されたときに開始される。   This flow is started when an interrupt signal is output from the interrupt control unit 50, for example.

まず、情報処理装置1におけるOSは、各処理期限管理用ハードウエアが有する異常検出ステータスレジスタ36の値を参照することにより、処理期限違反が発生したタスクが存在するか否かを判定する(S200)。処理期限違反が発生したタスクが存在しない場合は、本フローの1ルーチンを終了する。   First, the OS in the information processing apparatus 1 refers to the value of the abnormality detection status register 36 included in each processing time limit management hardware to determine whether there is a task in which a processing time limit violation has occurred (S200). ). If there is no task for which a processing time limit violation has occurred, one routine of this flow is terminated.

処理期限違反が発生したタスクが存在する場合は、当該処理期限違反が発生したタスクの重要度に基づき、システムリセットが必要であるか否かを判定する(S202)。システムリセットが必要である場合とは、当該処理期限違反が発生したタスクが、装置全体の処理の影響を及ぼすような場合である。   If there is a task for which a processing time limit violation has occurred, it is determined whether or not a system reset is necessary based on the importance of the task for which the processing time limit violation has occurred (S202). The case where the system reset is necessary is a case where the task in which the processing time limit violation has occurred affects the processing of the entire apparatus.

システムリセットが必要であると判定した場合は、システムリセットを実行し(S204)、本フローの1ルーチンを終了する。この場合、例えば図2で説明したような初期化処理が実行される。   If it is determined that a system reset is necessary, the system reset is executed (S204), and one routine of this flow is terminated. In this case, for example, the initialization process described with reference to FIG. 2 is executed.

一方、システムリセットが不要であると判定した場合は、処理期限違反が発生したタスクに対する処置を実行する(S206)。具体的には、当該処理期限違反が発生したタスクの再初期化、停止等の処置を実行する。   On the other hand, when it is determined that the system reset is not necessary, a process for the task in which the processing time limit violation occurs is executed (S206). Specifically, a reinitialization or stop of the task in which the processing time limit violation has occurred is executed.

そして、当該処理期限違反が発生したタスクに対応した処理期限管理用ハードウエアの初期化処理を実行し(S208)、次タスクに処理を移行して(S210)、本フローの1ルーチンを終了する。処理期限違反が発生したタスクは、次回の処理時間が割り当てられた際に、初期状態から処理が開始されることになる。   Then, initialization processing of the processing time limit management hardware corresponding to the task in which the processing time limit violation has occurred is executed (S208), the processing is shifted to the next task (S210), and one routine of this flow is ended. . The task for which the processing time limit violation has occurred is started from the initial state when the next processing time is allocated.

[従来の装置との比較]
ここで、単独のタイマを備える従来の情報処理装置との比較について述べる。図4は、単独のタイマを備える従来の情報処理装置において、あるタスクに異常が発生し、よって処理期限違反が発生した様子を模式的に示す図である。本図では、従来の情報処理装置は、ソフトウエア・マルチスレッディングによって複数のタスクA〜Cを実行している。そして、タスクCのみについて処理期限管理を行っている。
[Comparison with conventional equipment]
Here, a comparison with a conventional information processing apparatus having a single timer will be described. FIG. 4 is a diagram schematically illustrating a state in which an abnormality has occurred in a task and a processing time limit violation has occurred in a conventional information processing apparatus having a single timer. In this figure, the conventional information processing apparatus executes a plurality of tasks A to C by software multithreading. Then, the processing time limit management is performed only for task C.

図4に示すように、従来の情報処理装置では、タスクCに異常が発生し、これによって処理期限違反が発生すると、全体の処理をリセットしなければならなかった。従って、それまで処理されていた他のタスクの内容が引き継がれない場合があった。   As shown in FIG. 4, in the conventional information processing apparatus, when an abnormality occurs in task C, and a processing time limit violation occurs, the entire process must be reset. Therefore, the contents of other tasks that have been processed until then may not be taken over.

一方、図5は、本実施例に係る情報処理装置1において、あるタスクに異常が発生し、これによって処理期限違反が発生した様子を模式的に示す図である。本図では、本実施例に係る情報処理装置1は、ソフトウエア・マルチスレッディングによって複数のタスクA〜Cを実行している。そして、タスクA〜Cについて処理期限管理を行っている。   On the other hand, FIG. 5 is a diagram schematically illustrating a state in which an abnormality has occurred in a certain task in the information processing apparatus 1 according to the present embodiment, thereby causing a processing time limit violation. In this figure, the information processing apparatus 1 according to the present embodiment executes a plurality of tasks A to C by software multithreading. And the process time limit management is performed about task AC.

図5に示すように、本実施例の情報処理装置1では、タスクCに異常が発生し、よって処理期限違反が発生しても、全体の処理をリセットしなくてもよい場合がある(前述のように、タスクCが装置全体の処理に影響を及ぼすような場合を除く)。従って、それまで処理されていた他のタスクの内容を以降に引き継ぐことができる。   As shown in FIG. 5, in the information processing apparatus 1 according to the present embodiment, even if an abnormality occurs in the task C, and the processing time limit violation occurs, it is not necessary to reset the entire processing (described above). As in the case where task C affects the processing of the entire apparatus, as in FIG. Therefore, the contents of other tasks that have been processed so far can be succeeded.

[まとめ]
以上説明した本実施例の情報処理装置1によれば、処理期限の設定される複数のタスクについての処理期限管理を行うことができる。また、あるタスクにおいて処理期限違反が発生した場合に、他のタスクについて継続的に処理を実行することができる。
[Summary]
According to the information processing apparatus 1 of the present embodiment described above, it is possible to perform processing time limit management for a plurality of tasks for which processing time limits are set. In addition, when a processing time limit violation occurs in a certain task, it is possible to continuously execute processing for other tasks.

更に、計時精度を高くすることができ、より高精度に処理期限管理を行うことができる。   Furthermore, the timekeeping accuracy can be increased, and the processing time limit can be managed with higher accuracy.

従って、並行処理される複数のタスク毎の処理期限管理を、より高精度に行うことができる。   Therefore, the processing time limit management for each of a plurality of tasks processed in parallel can be performed with higher accuracy.

[適用例]
なお、本発明の情報処理装置は、車両に搭載され、車載機器制御を行う制御装置に、好適に適用される。この場合、複数のタスクは、例えばエンジンの各気筒に取り付けられたインジェクタの点火時期演算のように、車載機器制御を行うための演算処理等を含む。制御装置には、エンジンの状態を示すクランク角センサや筒内圧センサの出力値が入力され、制御装置では、これをAD(Analog Digital)変換してデジタルデータとして保持し、各種の演算を行う。このような制御装置では、繰り返し同じ処理が実行され、且つタスクの数nが固定である場合が多いため、本発明の奏する効果を十分に発揮することができる。
[Application example]
Note that the information processing apparatus of the present invention is suitably applied to a control apparatus that is mounted on a vehicle and performs in-vehicle device control. In this case, the plurality of tasks include, for example, calculation processing for performing on-vehicle equipment control, such as calculation of ignition timing of an injector attached to each cylinder of the engine. Output values of a crank angle sensor and an in-cylinder pressure sensor indicating the state of the engine are input to the control device, and the control device performs AD (Analog Digital) conversion and holds these as digital data to perform various calculations. In such a control device, the same processing is repeatedly executed, and the number n of tasks is often fixed, so that the effect of the present invention can be sufficiently exerted.

また、本発明の情報処理装置が複数個存在する場合(例えば車載機器制御を行う制御装置としての本発明の情報処理装置が、車両に複数個搭載されているような場合)、情報処理装置間のソフトウエアの移植が容易になるという効果が生じる。   In addition, when there are a plurality of information processing apparatuses according to the present invention (for example, when a plurality of information processing apparatuses according to the present invention as a control apparatus that performs in-vehicle device control is mounted in a vehicle) This makes it easier to port software.

図6は、タスクA〜Cの処理を実行している情報処理装置1Aと、タスクDの処理のみを実行している情報処理装置1Bが存在し、タスクCの処理を情報処理装置1Aから情報処理装置1Bに移管する様子を示す図である。このようなタスク処理の移管は、例えば情報処理装置1AのROM容量の問題で、処理タスクを減少させる必要が生じた際等に行われる。   In FIG. 6, there is an information processing apparatus 1A that performs processing of tasks A to C, and an information processing apparatus 1B that executes only processing of task D, and information on the processing of task C is received from the information processing apparatus 1A. It is a figure which shows a mode that it transfers to the processing apparatus 1B. Such transfer of task processing is performed, for example, when it is necessary to reduce processing tasks due to a ROM capacity problem of the information processing apparatus 1A.

このような場合において、双方の情報処理装置が、処理期限管理用ハードウエアを予め複数個備えておけば、タスク処理の移管の際に、タイマ設定レジスタ22、カウント開始PCレジスタ24、カウント停止PCレジスタ26、初期値レジスタ28に書き込む値をコピーするだけで、情報処理装置1Aにおいて行われていた処理期限管理を情報処理装置1Bに引き継ぐことができる。従って、処理期限管理に関するソフトウエアの書き換え等が不要となり、情報処理装置間のソフトウエアの移植を容易に行うことができる。   In such a case, if both information processing apparatuses are provided with a plurality of processing time limit management hardwares in advance, the timer setting register 22, the count start PC register 24, and the count stop PC are transferred when task processing is transferred. By simply copying the values to be written to the register 26 and the initial value register 28, the processing time limit management performed in the information processing apparatus 1A can be taken over by the information processing apparatus 1B. Accordingly, it is not necessary to rewrite software related to the processing time limit management, and software can be easily transplanted between information processing apparatuses.

[変形例]
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
[Modification]
The best mode for carrying out the present invention has been described above with reference to the embodiments. However, the present invention is not limited to these embodiments, and various modifications can be made without departing from the scope of the present invention. And substitutions can be added.

例えば、タイマ設定レジスタ22、カウント開始PCレジスタ24、カウント停止PCレジスタ26、初期値レジスタ28等に書き込まれる値は、ROM等に記憶されている一定値であるかのように記述したが、OSによって変更可能な値としてもよい。この場合、単なるROMではなくEEPROM等の不揮発性メモリにこれらの値を記憶させるようにし、タスク処理の負荷等に応じて処理期限を動的に変更すると好適である。   For example, the values written in the timer setting register 22, the count start PC register 24, the count stop PC register 26, the initial value register 28, etc. are described as if they were constant values stored in the ROM or the like. It is good also as a value which can be changed by. In this case, it is preferable to store these values in a nonvolatile memory such as an EEPROM instead of a mere ROM, and dynamically change the processing time limit according to the task processing load or the like.

また、計時手段として、カウントレジスタ32を用いたデクリメントカウンタを例示したが、これに限らず、他の態様の計時手段を用いてもよい。   In addition, although the decrement counter using the count register 32 is illustrated as the time measuring means, the present invention is not limited to this, and time measuring means of other modes may be used.

1 情報処理装置
10 CPU10
12 プログラムカウンタ
20(20#1〜20#n) 処理期限管理用ハードウエア
22 タイマ設定レジスタ
24 カウント開始PCレジスタ
26 カウント停止PCレジスタ
28 初期値レジスタ
30 タイマ処理部
32 カウントレジスタ
34 アンダーフロー検知部
36 異常検出ステータスレジスタ
50 割り込み制御部
1 Information processing apparatus 10 CPU 10
12 Program counter 20 (20 # 1 to 20 # n) Processing time limit management hardware 22 Timer setting register 24 Count start PC register 26 Count stop PC register 28 Initial value register 30 Timer processing unit 32 Count register 34 Underflow detection unit 36 Anomaly detection status register 50 Interrupt controller

Claims (5)

一単位のプロセッサによって複数のタスクを並行して処理可能な情報処理装置であって、
前記複数のタスクの少なくとも一部には処理期限が設定され、
前記複数のタスクのうち処理期限が設定された複数のタスクに対応した、複数の処理期限管理用ハードウエア手段を備えることを特徴とする、
情報処理装置。
An information processing apparatus capable of processing a plurality of tasks in parallel by a single processor,
A processing deadline is set for at least some of the plurality of tasks,
A plurality of processing time limit management hardware means corresponding to a plurality of tasks for which a processing time limit is set among the plurality of tasks,
Information processing device.
請求項1に記載の情報処理装置であって、
前記複数の処理期限管理用ハードウエア手段は、それぞれ専用の計時手段を備えることを特徴とする、
情報処理装置。
The information processing apparatus according to claim 1,
The plurality of processing time limit management hardware means each include a dedicated time measuring means,
Information processing device.
請求項2に記載の情報処理装置であって、
前記複数の処理期限管理用ハードウエア手段は、
前記一単位のプロセッサが実行するプログラムのプログラムカウンタの値を監視するプログラムカウンタ監視手段と、
前記複数のタスクのうち処理期限が設定された複数のタスクに対応した、プログラムカウンタの開始位置、終了位置、及び処理期限に関する情報を記憶した記憶手段と、
を備え、
前記プログラムカウンタ監視手段により前記プログラムカウンタの値が前記開始位置に至ったと判断された際に前記計時手段が計時開始し、該計時開始後、前記処理期限までに前記プログラムカウンタ監視手段により前記プログラムカウンタの値が前記終了位置に至ったと判断されなかった場合に、所定の異常検出時動作を行うことを特徴とする、
情報処理装置。
An information processing apparatus according to claim 2,
The plurality of processing time limit management hardware means,
Program counter monitoring means for monitoring a value of a program counter of a program executed by the one unit of processor;
Storage means for storing information on the start position, end position, and processing deadline of the program counter corresponding to a plurality of tasks for which a processing deadline is set among the plurality of tasks;
With
When the program counter monitoring means determines that the value of the program counter has reached the start position, the time counting means starts measuring time, and after the time measurement starts, by the program counter monitoring means, the program counter monitoring means When it is not determined that the value of the value has reached the end position, a predetermined abnormality detection operation is performed,
Information processing device.
請求項3に記載の情報処理装置であって、
前記所定の異常検出時動作は、SFR(Special Function Resister)に異常検出を示す値を書き込む動作である、
情報処理装置。
The information processing apparatus according to claim 3,
The predetermined abnormality detection operation is an operation of writing a value indicating abnormality detection in an SFR (Special Function Register).
Information processing device.
車両に搭載され、前記複数のタスクは、車載機器の制御を行うための演算処理を含む、請求項1ないし4のいずれか1項に記載の情報処理装置。   5. The information processing apparatus according to claim 1, wherein the information processing apparatus is mounted on a vehicle, and the plurality of tasks includes a calculation process for controlling an in-vehicle device.
JP2010011227A 2010-01-21 2010-01-21 Information processing apparatus Pending JP2011150532A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010011227A JP2011150532A (en) 2010-01-21 2010-01-21 Information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010011227A JP2011150532A (en) 2010-01-21 2010-01-21 Information processing apparatus

Publications (1)

Publication Number Publication Date
JP2011150532A true JP2011150532A (en) 2011-08-04

Family

ID=44537447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010011227A Pending JP2011150532A (en) 2010-01-21 2010-01-21 Information processing apparatus

Country Status (1)

Country Link
JP (1) JP2011150532A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016071903A (en) * 2015-11-25 2016-05-09 日本精工株式会社 Control device for on-vehicle electronic apparatus and control method
JP2017174463A (en) * 2014-09-25 2017-09-28 日本精工株式会社 Controller and control method for on-vehicle electronic device
JP2017208108A (en) * 2014-09-25 2017-11-24 日本精工株式会社 Device and method for controlling vehicle-mounted electronic devices
JP2018139112A (en) * 2018-03-09 2018-09-06 日本精工株式会社 Control apparatus and control method for on-vehicle electronic device

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017174463A (en) * 2014-09-25 2017-09-28 日本精工株式会社 Controller and control method for on-vehicle electronic device
JP2017199403A (en) * 2014-09-25 2017-11-02 日本精工株式会社 Control device and control method of on-vehicle electronic equipment
JP2017208108A (en) * 2014-09-25 2017-11-24 日本精工株式会社 Device and method for controlling vehicle-mounted electronic devices
JP2017215973A (en) * 2014-09-25 2017-12-07 日本精工株式会社 Control device and control method for on-vehicle electronic apparatus
JP2017224304A (en) * 2014-09-25 2017-12-21 日本精工株式会社 Control device, and control method, for electronic device for on-vehicle use
US10017205B2 (en) 2014-09-25 2018-07-10 Nsk Ltd. Control apparatus and control method of on-vehicle electronic equipment
JP2016071903A (en) * 2015-11-25 2016-05-09 日本精工株式会社 Control device for on-vehicle electronic apparatus and control method
JP2018139112A (en) * 2018-03-09 2018-09-06 日本精工株式会社 Control apparatus and control method for on-vehicle electronic device

Similar Documents

Publication Publication Date Title
CN105765541B (en) Controller for motor vehicle
US9436464B2 (en) Instruction-issuance controlling device and instruction-issuance controlling method
CN101344842B (en) Multithreading processor and multithreading processing method
US8578136B2 (en) Apparatus and method for mapping architectural registers to physical registers
JP2006260571A (en) Dual thread processor
JP2011150532A (en) Information processing apparatus
JP2013225208A (en) Information processing apparatus, information processing method and program
JP2005050208A (en) Memory managing system in multi-task system and task controller
JP6250447B2 (en) Semiconductor device and instruction read control method
US11086658B2 (en) System performance enhancement with SMI on multi-core systems
JP5699896B2 (en) Information processing apparatus and abnormality determination method
US20140089646A1 (en) Processor with interruptable instruction execution
US7516311B2 (en) Deterministic microcontroller context arrangement
JP2011216004A (en) Microprocessor, electronic control unit, execution ratio switching method
JP5644380B2 (en) Information processing device
JP2009175960A (en) Virtual multiprocessor system
US7562207B2 (en) Deterministic microcontroller with context manager
JP2005242806A (en) Data processor
JP2010140239A (en) Apparatus and method for shortening interrupt latency
JP2005100017A (en) Processor simulator, interruption delay count program and simulation method of processor
JP2013164791A (en) Data processor
JP7314838B2 (en) electronic controller
JP2013167945A (en) Information processing device, task wake-up control method, and task start-up control program
US9342359B2 (en) Information processing system and information processing method
JP2006195705A (en) Processor