JP2003177943A - Method, device, and program for simulating roughly multitask software - Google Patents

Method, device, and program for simulating roughly multitask software

Info

Publication number
JP2003177943A
JP2003177943A JP2001374886A JP2001374886A JP2003177943A JP 2003177943 A JP2003177943 A JP 2003177943A JP 2001374886 A JP2001374886 A JP 2001374886A JP 2001374886 A JP2001374886 A JP 2001374886A JP 2003177943 A JP2003177943 A JP 2003177943A
Authority
JP
Japan
Prior art keywords
task
model
processing
time
tasks
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.)
Granted
Application number
JP2001374886A
Other languages
Japanese (ja)
Other versions
JP4132802B2 (en
Inventor
Minoru Shoji
稔 庄司
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Ltd filed Critical Fujitsu Ltd
Priority to JP2001374886A priority Critical patent/JP4132802B2/en
Publication of JP2003177943A publication Critical patent/JP2003177943A/en
Application granted granted Critical
Publication of JP4132802B2 publication Critical patent/JP4132802B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/80Technologies aiming to reduce greenhouse gasses emissions common to all road transportation technologies
    • Y02T10/82Elements for improving aerodynamics

Abstract

<P>PROBLEM TO BE SOLVED: To limit detailed design conditions more and to shorten a development period by avoiding the repetition of designing and an actual machine test by roughly designing hardware and software and simulating them before they are designed in detail. <P>SOLUTION: To roughly simulate the timing of input and output signals of a computer 21 to and from a peripheral device 22 before multitask software processing the input and output signals in real time is designed in detail, model tasks task1 to taskN are generated which represent detailed processes of respective tasks as wait processes for waiting for their estimated times to pass and one cycle time is determined as the minimum value of the wait process times included in the model tasks task1 to taskN; and a task execution control part 23 determines which of the model task is executed in a next cycle, cycle by cycle, by specified algorithm and multitask processing is simulated. The task execution control part 23 generates threads (actual flow of processes) corresponding to the respective tasks according to the contents of the task1 to taskN and executes or stops (sleeps) the tasks. At this time, the states of the respective threads are stored in a state storage part 24. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、入出力信号をリア
ルタイム処理するマルチタスクソフトウェアの詳細設計
前に、該マルチタスクソフトウェアの入出力信号のタイ
ミングの概略をシミュレーションする概略マルチタスク
ソフトウェアのシミュレーションを行う方法、装置及び
プログラムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention performs a simulation of general multitask software for simulating the outline of the timing of input / output signals of the multitask software before the detailed design of the multitask software for processing the input / output signals in real time. A method, an apparatus, and a program.

【0002】[0002]

【従来の技術】例えば、プロセッサで車のエンジン制御
を行うシステムでは、多数の入力データに基づいてリア
ルタイムでマルチタスク処理を行う必要がある。このシ
ステムの開発において、処理遅延によりリアルタイム制
御ができない場合、より高性能のプロセッサを用いるこ
とによりこの問題を解決できる場合がある。しかし、ハ
ードウェアがコスト高になると共に、OSが複雑になっ
てソフトウェアもコスト高になる。このため、ソフトウ
ェアとハードウェアの両面からできるだけ低コストにな
るよう該問題を解決する必要がある。
2. Description of the Related Art For example, in a system in which a processor controls a vehicle engine, it is necessary to perform multitask processing in real time based on a large number of input data. In the development of this system, if real-time control is not possible due to processing delay, this problem may be solved by using a higher performance processor. However, as the cost of hardware increases, the OS becomes complicated and the cost of software also increases. Therefore, it is necessary to solve the problem so that the cost is as low as possible in terms of both software and hardware.

【0003】従来では、ソフトウェアを開発し、これを
既存の又は新たに開発したプロセッサにロードし、プロ
セッサと外部周辺装置との間の様々な入出力条件の下で
実行させることにより、所望のリアルタイム制御を行う
ことが可能であるかどうかという、ソフトウェアとハー
ドウェアの総合的なタイミング検証を行っていた。
Conventionally, by developing software, loading it into an existing or newly developed processor, and executing it under various input / output conditions between the processor and an external peripheral device, desired real time processing is performed. I was doing a comprehensive timing verification of software and hardware to see if it was possible to control.

【0004】[0004]

【発明が解決しようとする課題】しかし、検証の結果、
問題が確認された場合、ソフトウェア(及びハードウェ
ア)の設計をやり直す必要が生じ、部分的にタイミング
をずらすと他の部分でタイミングがずれたりする。この
ため、設計と実試験の繰り返しが行われて開発期間が長
くなる原因となっていた。
However, as a result of the verification,
When a problem is confirmed, it is necessary to redesign the software (and hardware), and if the timing is partially shifted, the timing may be shifted in other portions. For this reason, repeated design and actual tests have been a cause of lengthening the development period.

【0005】本発明の目的は、このような問題点に鑑
み、ソフトウェア(及びハードウェア)を詳細設計する
前にこれを概略設計しそのシミュレーションを行うこと
により、詳細設計条件をより限定して、設計と実試験の
繰り返しを避け開発期間を短縮することが可能な概略マ
ルチタスクソフトウェアのシミュレーションを行う方
法、装置及びプログラムを提供することにある。
In view of the above problems, an object of the present invention is to further limit the detailed design conditions by designing the software (and hardware) in detail before performing the detailed design and simulating the software. It is an object of the present invention to provide a method, a device and a program for simulating general multi-task software which can avoid the repetition of design and actual test and shorten the development period.

【0006】[0006]

【課題を解決するための手段及びその作用効果】本発明
による概略マルチタスクソフトウェアシミュレーション
方法の一態様では、(a)入出力信号をリアルタイム処
理するマルチタスクソフトウェアの詳細設計前に、該マ
ルチタスクソフトウェアの入出力信号のタイミングの概
略をシミュレーションするために各タスクの詳細処理を
その見積時間が経過するのを待つ待処理で表したモデル
タスクを複数作成し、(b)1サイクルタイムを、該複
数のモデルタスクに含まれる待ち処理時間に基づいて決
定し、(c)次サイクルで該複数のモデルタスクのいず
れを実行するかを所定アルゴリズムでサイクル毎に決定
してマルチタスク処理を模擬的に行う。
According to one aspect of the general multitask software simulation method of the present invention, (a) before the detailed design of the multitask software that processes input / output signals in real time, the multitask software is executed. In order to simulate the outline of the timing of the input / output signals of the above, a plurality of model tasks are created by representing the detailed processing of each task by waiting processing for waiting for the estimated time to elapse, and (b) one cycle time Of the plurality of model tasks, and (c) which of the plurality of model tasks is to be executed in the next cycle is determined for each cycle by a predetermined algorithm, and the multitask processing is simulated. .

【0007】この構成によれば、ソフトウェア(及びハ
ードウェア)の詳細設計前に、リアルタイム制御を正常
に行うための各タスクに要求される処理時間や処理のタ
イミングを知ることができるので、これに基づきハード
ウェア(及びソフトウェア)を詳細設計することによ
り、従来のような設計と実試験の繰り返しによる開発期
間の長期化を避けることができる。
According to this configuration, the processing time and the processing timing required for each task for normally performing real-time control can be known before the detailed design of software (and hardware). By designing the hardware (and software) in detail based on this, it is possible to avoid extending the development period due to the repetition of the conventional design and actual test.

【0008】本発明の他の目的、構成及び効果は以下の
説明から明らかになる。
Other objects, configurations and effects of the present invention will be apparent from the following description.

【0009】[0009]

【発明の実施の形態】以下、図面を参照して本発明の実
施形態を説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings.

【0010】[第1実施形態]図1は、本発明の第1実
施形態の概略マルチタスクソフトウェアシミュレーショ
ン方法を示す。
[First Embodiment] FIG. 1 shows a schematic multitask software simulation method according to a first embodiment of the present invention.

【0011】この概略マルチタスクソフトウェアシミュ
レーション方法は、ソフトウェア(及びハードウェア)
の詳細設計前にプロセッサが所望のリアルタイム処理を
行うことが可能であるかどうかを概略的に確認するとと
もに、問題が生ずる場合にはこれを解決するための詳細
設計条件を知ることにより詳細設計と実テストの繰り返
しを回避するためのものである。
This general multi-task software simulation method uses software (and hardware).
Prior to the detailed design of the detailed design, whether or not the processor can perform the desired real-time processing is roughly checked, and if a problem occurs, the detailed design conditions for solving it This is to avoid repeating the actual test.

【0012】概略マルチタスクソフトウェアシミュレー
ション方法は、コンピュータ10に入力装置11及び表
示装置12が接続された一般的なコンピュータシステム
である。図1ではコンピュータ10のソフトウェア構成
を機能ブロックで示している。コンピュータ10の記憶
部には、モデル20が格納されている。モデル20は概
略的なものであり、リアルタイム制御用プロセッサ及び
このプロセッサを動作させるソフトウェアの詳細設計前
に作成される。
The general multi-task software simulation method is a general computer system in which an input device 11 and a display device 12 are connected to a computer 10. In FIG. 1, the software configuration of the computer 10 is shown by functional blocks. A model 20 is stored in the storage unit of the computer 10. The model 20 is a schematic one, and is created before the detailed design of the processor for real-time control and the software for operating this processor.

【0013】モデル20は、コンピュータ21と、周辺
装置22と、これらの間に接続されるレジスタREG1
〜REGmとを備えている。コンピュータ21は、プロ
セッサと、メモリと、入出力インタフェースと、これら
を相互接続するバスとを含む構成のモデルであり、1チ
ップ又は複数のチップで構成されるが、その具体的な構
成は考慮されない。周辺装置22は、例えば家電製品の
モデルであり、周辺装置22又はその周囲の状態を示す
信号SG1〜SGnをコンピュータ21に供給する。コ
ンピュータ21は、これらの信号に基づき、制御データ
を生成してレジスタREG1〜REGmに格納する。周
辺装置22は、レジスタREG1〜REGmの内容に基
づきリアルタイム制御される。
The model 20 includes a computer 21, a peripheral device 22, and a register REG1 connected between them.
~ REGm. The computer 21 is a model of a configuration including a processor, a memory, an input / output interface, and a bus interconnecting them, and is configured by one chip or a plurality of chips, but its specific configuration is not considered. . The peripheral device 22 is, for example, a model of a home electric appliance, and supplies the computer 21 with signals SG1 to SGn indicating the state of the peripheral device 22 or its surroundings. The computer 21 generates control data based on these signals and stores the control data in the registers REG1 to REGm. The peripheral device 22 is controlled in real time based on the contents of the registers REG1 to REGm.

【0014】モデル20は、入力装置11からの開始指
令に基づいて動作を開始する。動作トレース部30は、
モデル20の内部状態を検出しトレースするプログラム
であり、その結果が表示装置12に供給されて表示され
る。
The model 20 starts its operation based on a start command from the input device 11. The operation trace unit 30 is
It is a program for detecting and tracing the internal state of the model 20, and the result is supplied to the display device 12 and displayed.

【0015】コンピュータ21のアプリケーションプロ
グラムの概略は、リアルタイム制御を行うモデルタスク
task1〜taskNで表される。以下、簡単化のために、モデ
ルタスクを単にタスクと称す。タスク実行制御部23
は、プログラムであり、記憶部に格納されたN個のtask
1〜taskNの内容に基づいて各タスクに対応したスレッ
ド(実際の処理の流れ)を生成させ、タスクを実行又は
停止(スリープ)させる。この際、状態記憶部24内に
各スレッドの状態(タスクの実行又は停止の状態)が格
納される。
The outline of the application program of the computer 21 is a model task for real-time control.
Represented by task1 to taskN. Hereinafter, for simplification, the model task is simply referred to as a task. Task execution control unit 23
Is a program, N tasks stored in the storage unit
A thread (actual processing flow) corresponding to each task is generated based on the contents of 1 to taskN, and the task is executed or stopped (sleep). At this time, the state of each thread (task execution or stop state) is stored in the state storage unit 24.

【0016】図1において、スレッドSL1〜SL4は
例えばそれぞれtask1〜task4に対応している。図1は、
時刻t0で主スレッドSL1が生成され、時刻t1でta
sk1により副スレッドSL2が生成され、時刻t2でtas
k2により副スレッドSL3及びSL4が生成され、時刻
t3及びt4でそれぞれtask4及びtask3の処理が終了
し、時刻t5でtask1及びtask2の処理が終了しているこ
とを示している。
In FIG. 1, threads SL1 to SL4 correspond to, for example, task1 to task4, respectively. Figure 1
The main thread SL1 is generated at time t0, and ta is generated at time t1.
The sub-thread SL2 is generated by sk1, and tas is generated at time t2.
It is indicated that the sub-threads SL3 and SL4 are generated by k2, the processing of task4 and task3 is completed at time t3 and t4, respectively, and the processing of task1 and task2 is completed at time t5.

【0017】各タスクにおける入出力以外の処理は、処
理時間τだけを考慮する。τは相対的な時間であり、そ
の単位をuで表す。例えばtask1〜task3は、図2に示す
ように表される。すなわち、task1は関数f11とf12のシ
ーケンスで表され、task2は関数f21とf22とf23のシーケ
ンスで表され、task3は関数f31とf32のシーケンス又は
関数f31とf33のシーケンスで表される。関数f32とf33の
選択は、関数f31の処理において入力信号SG1の値に
基づき行われる。
For processing other than input / output in each task, only the processing time τ is considered. τ is a relative time, and its unit is u. For example, task1 to task3 are represented as shown in FIG. That is, task1 is represented by the sequence of functions f11 and f12, task2 is represented by the sequence of functions f21, f22 and f23, and task3 is represented by the sequence of functions f31 and f32 or the sequence of functions f31 and f33. The functions f32 and f33 are selected based on the value of the input signal SG1 in the processing of the function f31.

【0018】task1〜taskNは例えばSystemC(商
標、http://www.systemc.org)言語で記述されている。
上記task1及びtask3は例えば次のように記述される。 //−−−−−−−−−−−−−−−−−−−−−−−−−−−−− task1(){ f11(); f12(); } f11(){ spend_time(10) //f11のシミュレーションの内容 } f12(){ spend_time(20) //f12のシミュレーションの内容 } //−−−−−−−−−−−−−−−−−−−−−−−−−−−−− task3(){ f31(); f32(); } f31(){ spend_time(20) if (SG1 == 0) f32(); else f33(); //f31のシミュレーションの内容 } f32(){ spend_time(10) //f32のシミュレーションの内容 } f33(){ spend_time(20) //f33のシミュレーションの内容 } //−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 上記タスクは簡単化のため出力処理がない場合を示して
いるが、各spend_time(τ)の前又は後に出力処理を含ん
でもよい。
Task1 to taskN are described in the SystemC (trademark, http://www.systemc.org) language, for example.
The above task1 and task3 are described as follows, for example. // −−−−−−−−−−−−−−−−−−−−−−−−−−−−− task1 () {f11 (); f12 ();} f11 () {spend_time ( 10) // f11 simulation content} f12 () {spend_time (20) // f12 simulation content} // −−−−−−−−−−−−−−−−−−−−−−−− −−−−−−− task3 () {f31 (); f32 ();} f31 () {spend_time (20) if (SG1 == 0) f32 (); else f33 (); // f31 simulation Content} f32 () {spend_time (10) // f32 simulation content} f33 () {spend_time (20) // f33 simulation content} // −−−−−−−−−−−−−−− --------------- Although the above task shows the case where there is no output process for simplification, the output process may be included before or after each spend_time (τ).

【0019】図3は、図1のタスク実行制御部23によ
り実行される、タスクTi中の関数spend_time(τ)の内
容を示す。以下、括弧内は図中のステップ識別符号を示
す。
FIG. 3 shows the contents of the function spend_time (τ) in the task Ti, which is executed by the task execution control section 23 of FIG. Hereinafter, the numbers in parentheses indicate the step identification codes in the drawings.

【0020】(S1)spend_time(τ)の引き数τの時間
単位uをサイクルタイムcに変換する。1サイクルタイ
ムは、全てのタスクで使用されるspend_time(τ)の引き
数τの最小値であり、例えば図2の場合、5u=1cと
決定され、この場合、τ/5がτに代入される。1サイ
クルタイムは通常、数μ〜数m秒である。
(S1) The time unit u of the argument τ of spend_time (τ) is converted into the cycle time c. One cycle time is the minimum value of the argument τ of spend_time (τ) used in all tasks, and in the case of FIG. 2, for example, 5u = 1c is determined. In this case, τ / 5 is substituted for τ. It One cycle time is usually several μm to several msec.

【0021】(S2)τ=0であれば処理を終了し、そ
うでなければステップS3へ進む。
(S2) If τ = 0, the process is terminated. If not, the process proceeds to step S3.

【0022】(S3)全スレッドの同期を取るために、
すなわち全スレッドの時間軸上の現時刻を一致させるた
めに、現サイクルまで経過していないスレッドがあれ
ば、その経過を待つ。
(S3) In order to synchronize all threads,
That is, in order to match the current times on the time axis of all threads, if there is a thread that has not elapsed until the current cycle, the thread waits for the elapse.

【0023】(S4)次サイクルで実行すべきタスクT
Xを、後述のように決定する。
(S4) Task T to be executed in the next cycle
X is determined as described below.

【0024】(S5)spend_time(τ)を呼び出したタス
クTiが次サイクル実行タスクTXと一致すればステッ
プS6へ進み、そうでなければステップS3へ戻る。
(S5) If the task Ti that has called spend_time (τ) matches the next cycle execution task TX, the process proceeds to step S6. If not, the process returns to step S3.

【0025】(S6)τの値を1だけデクリメントし、
ステップS2へ戻る。
(S6) Decrement the value of τ by 1,
Return to step S2.

【0026】図4は、図3中のステップS4の詳細を、
ラウンドロビン方式を採用した場合について示すフロー
チャートであり、この方法では、タスクをサイクリック
に切り換えて実行するように次サイクル実行タスクを決
定する。
FIG. 4 shows the details of step S4 in FIG.
9 is a flowchart showing a case where a round robin method is adopted, and in this method, a next cycle execution task is determined so that the task is cyclically switched and executed.

【0027】(S10)状態記憶部24において、次サ
イクルで実行可能なタスク候補が存在すればステップS
11へ進み、そうでなければ、すなわちスレッド上の全
タスクがスリープ状態(停止状態)であればステップS
14へ進む。
(S10) If there is a task candidate that can be executed in the next cycle in the state storage unit 24, step S
11. If not, that is, if all tasks on the thread are in the sleep state (stop state), go to step S11.
Proceed to 14.

【0028】(S11)図5に示すようなタスクリスト
中の先頭タスク名TNを取り出す。タスクリストは状態
記憶部24内の現サイクルの状態に対応しているので、
新たに作成する必要はない。タスクリスト中のタスク名
は、現サイクルにおいて存在するスレッドに対応してい
る。
(S11) The head task name TN in the task list as shown in FIG. 5 is taken out. Since the task list corresponds to the state of the current cycle in the state storage unit 24,
There is no need to create a new one. The task name in the task list corresponds to the thread existing in the current cycle.

【0029】(S12)取り出したタスク名TNを、実
質的にタスクリストの最後へ移動させる。「実質的に」
とは、実際に移動していなくても論理的に移動したとみ
なせる場合を含む意味である。例えば、各スレッドにフ
ラグを設け、‘1’のフラグをタスクリストの先頭行と
みなし、フラグ列中の‘1’をシフトさせることにより
タスク名TNを実質的に移動させる。
(S12) The retrieved task name TN is moved substantially to the end of the task list. "Substantially"
The term “includes the case where it can be regarded as logically moved even if it is not actually moved. For example, a flag is provided for each thread, the flag of "1" is regarded as the first row of the task list, and the task name TN is substantially moved by shifting "1" in the flag column.

【0030】(S13)取り出したタスク名TNのタス
クを、次サイクルで実行すべきタスクTXと判定し、処
理を終了する。
(S13) The task with the retrieved task name TN is determined as the task TX to be executed in the next cycle, and the process is terminated.

【0031】(S14)TX=φとし、処理を終了す
る。ここにφは空であることを示す。
(S14) TX = φ is set, and the process ends. Here, φ indicates that it is empty.

【0032】このような方法により次サイクルで実行す
べきタスクを決定すれば、現存するスレッド上の、スリ
ープ状態でないタスクが、1サイクル毎に切り替えられ
て実行される。
If the task to be executed in the next cycle is determined by such a method, the task that is not in the sleep state on the existing thread is switched and executed every cycle.

【0033】図6は、上述の2つのタスクtask1()及びt
ask2()が図4の方法で実行される場合を示すタイムチャ
ートである。
FIG. 6 shows the two tasks task1 () and t described above.
5 is a time chart showing a case where ask2 () is executed by the method of FIG.

【0034】以上のような処理により、信号SG1〜S
Gnに応じてタスクの実行内容が変化し、これによりレ
ジスタREG1〜REGmの内容の更新時点が変化し、
これらの制御データを用いて制御される周辺装置22の
制御結果も変わる。コンピュータ21によるリアルタイ
ム処理が遅れてレジスタREG1〜REGmの内容更新
周期が遅れる場合には、spend_time(τ)の引き数τの値
を変更し、タスクの実行と停止のタイミングを調整し、
又はプロセッサの処理速度を向上させる。引き数τの値
の変更は、処理方法の変更やプログラム言語の変更など
に対応している。
Through the above processing, the signals SG1 to SG
The execution content of the task changes according to Gn, which changes the update time of the content of the registers REG1 to REGm,
The control result of the peripheral device 22 controlled using these control data also changes. When the real-time processing by the computer 21 is delayed and the content update cycle of the registers REG1 to REGm is delayed, the value of the argument τ of spend_time (τ) is changed to adjust the timing of executing and stopping the task,
Alternatively, the processing speed of the processor is improved. The change of the value of the argument τ corresponds to the change of the processing method and the change of the programming language.

【0035】本第1実施形態によれば、ソフトウェア
(及びハードウェア)の詳細設計前に、リアルタイム制
御を正常に行うための各タスクに要求される処理時間や
処理のタイミングを知ることができるので、これに基づ
きソフトウェア(及びハードウェア)を詳細設計するこ
とにより、従来のような設計と実試験の繰り返しによる
開発期間の長期化を避けることができる。
According to the first embodiment, the processing time and the processing timing required for each task for normally performing real-time control can be known before the detailed design of software (and hardware). By designing the software (and hardware) in detail based on this, it is possible to avoid the extension of the development period due to the repetition of the conventional design and actual test.

【0036】[第2実施形態]図7は、図3のステップ
S4の他の処理方法を本発明の第2実施形態として示す
フローチャートであり、この方法では、タスク優先度に
基づいて次サイクル実行タスクを決定する。
[Second Embodiment] FIG. 7 is a flowchart showing another processing method of step S4 of FIG. 3 as a second embodiment of the present invention. In this method, the next cycle is executed based on the task priority. Determine the task.

【0037】ステップS10及びS11は、図4の対応
するステップと同一である。
Steps S10 and S11 are the same as the corresponding steps in FIG.

【0038】(S20)初期値として、次サイクル実行
タスクTXにφ、該タスクの優先度PLXに最低優先度
PLminを代入する。
(S20) As initial values, φ is assigned to the next cycle execution task TX, and the lowest priority PLmin is assigned to the priority PLX of the task.

【0039】(S21)タスクリストの第i行を示す変
数iに初期値1を代入する。
(S21) The initial value 1 is assigned to the variable i indicating the i-th row of the task list.

【0040】図8はタスクリストを示しており、各行は
タスク名とそのタスクの優先度とからなる。第i行のタ
スク名及び優先度をそれぞれタスクTN(i)及PLN
(i)で表す。優先度は例えばレベル0〜7であり、値
の小さいほど優先度が高い。
FIG. 8 shows a task list, and each line consists of a task name and the priority of the task. The task name and priority of the i-th row are assigned to the task TN (i) and PLN, respectively.
It is represented by (i). The priority is, for example, levels 0 to 7, and the smaller the value, the higher the priority.

【0041】(S22)図1の状態記憶部24を参照し
て、タスクTN(i)のタスクが次サイクルにおいてス
リープ状態であるかどうかを判定し、スリープ状態であ
ればステップS25へ進み、そうでなければステップS
23へ進む。
(S22) With reference to the state storage unit 24 in FIG. 1, it is determined whether the task of the task TN (i) is in the sleep state in the next cycle. If the task is in the sleep state, the process proceeds to step S25. If not, step S
Proceed to 23.

【0042】(S23)次サイクル実行タスクTXの優
先度PLXが優先度PLN(i)より高ければ、すなわ
ちPLX<PLN(i)であれば、ステップS24へ進
み、そうでなければステップS25へ進む。
(S23) If the priority PLX of the next cycle execution task TX is higher than the priority PLN (i), that is, if PLX <PLN (i), proceed to step S24, otherwise proceed to step S25. .

【0043】(S24)TX及びPLXにそれぞれTN
(i)及びPLN(i)を代入する。
(S24) TX and PLX are respectively TN
Substitute (i) and PLN (i).

【0044】(S25)iを1だけインクリメントす
る。
(S25) Increment i by 1.

【0045】(S26)タスクTN(i)が存在すれば
ステップS22へ戻り、そうでなければTXを次サイク
ルで実行すべきタスクとし図7の処理を終了する。
(S26) If the task TN (i) exists, the process returns to step S22, and if not, TX is set as the task to be executed in the next cycle, and the process of FIG. 7 ends.

【0046】このような処理により、スレッド上の次サ
イクルにおけるタスクのうち、スリープ状態でなく優先
度が最も高いタスクが次サイクル実行タスクTXとして
決定される。タスクTXと同一優先度のタスクが複数存
在する場合には、これらのタスクリスト中の順序(記憶
装置内の配列順)により実行タスクTXを決定する。
By such processing, among the tasks in the next cycle on the thread, the task having the highest priority, not in the sleep state, is determined as the next cycle execution task TX. When there are a plurality of tasks having the same priority as the task TX, the execution task TX is determined according to the order (arrangement order in the storage device) in these task lists.

【0047】図9は、優先度が異なる次の2つのタスク
task1()及びtask2()が実行される場合を示す。
FIG. 9 shows the following two tasks having different priorities.
The case where task1 () and task2 () are executed is shown.

【0048】 上記タスクは簡単化のため入力処理がない場合を示して
いるが、各spend_time(τ)の前又は後に入力処理を含ん
でもよい。spend_time(τ)の引数τの最小値が1である
ので、1c=1uと決定される。
[0048] The above task shows the case where there is no input process for simplification, but the input process may be included before or after each spend_time (τ). Since the minimum value of the argument τ of spend_time (τ) is 1, it is determined that 1c = 1u.

【0049】スレッドSL1はtask1()のスレッドであ
り、時刻t=0で図1のレジスタREG1に制御データ
dt1が格納され、該スレッドにより時刻t=1cでta
sk2()のスレッドSL2が生成される。task2()はtask
1()よりも優先度の高い計算処理を実行することが求め
られており、task2()の優先度はtask1()のそれより高く
設定されているとする。タスクリストにはスリープ状態
でないtask1()及びtask2()が存在し、task1()よりtask2
()の方が優先度が高いので、次サイクル実行タスクTX
としてtask2()が選択されて、spend_time(4)が実行され
る。
The thread SL1 is a thread of task1 (), the control data dt1 is stored in the register REG1 of FIG. 1 at the time t = 0, and the thread SL1 is ta at the time t = 1c.
A thread SL2 of sk2 () is generated. task2 () is task
It is required to execute a calculation process having a higher priority than 1 (), and it is assumed that the priority of task2 () is set higher than that of task1 (). There are task1 () and task2 () that are not in sleep state in the task list.
() Has higher priority, so next cycle execution task TX
Task2 () is selected as and the send_time (4) is executed.

【0050】次にスレッドSL2が削除され、タスクリ
ストにはスリープ状態でないtask1()のみ存在し、次サ
イクル実行タスクTXとしてtask1()が選択されて、レ
ジスタREG1に制御データdt2が格納され、次いで
spend_time(3)が実行される。
Next, the thread SL2 is deleted, only task1 () which is not in the sleep state exists in the task list, task1 () is selected as the next cycle execution task TX, and the control data dt2 is stored in the register REG1.
spend_time (3) is executed.

【0051】図1において、周辺装置22がレジスタR
EG1の制御データを時間3u毎に読み出し、この読み
出し前に制御データの更新がコンピュータ21により行
われなければならないとする。
In FIG. 1, the peripheral device 22 has a register R.
It is assumed that the control data of the EG1 is read every 3u, and the control data must be updated by the computer 21 before this reading.

【0052】図9の場合、この要求が満たされないの
で、例えば次の1つ以上を詳細設計条件とすることによ
り、この要求を満たす。
In the case of FIG. 9, this requirement is not satisfied, so this requirement is satisfied, for example, by setting one or more of the following as detailed design conditions.

【0053】(1)task2()の処理内容を減らす。(1) The processing content of task2 () is reduced.

【0054】(2)task2()の実行のタイミングをずら
す。
(2) The execution timing of task2 () is shifted.

【0055】(3)task2()について、より高速の機械
語コードを生成する。
(3) A faster machine language code is generated for task2 ().

【0056】(4)より高速のコンピュータ21を用い
る。
(4) A computer 21 faster than that is used.

【0057】[第3実施形態]図10は、図3のステッ
プS4のさらに他の処理方法を本発明の第3実施形態と
して示すフローチャートであり、この方法では、タスク
優先度よりも割込を優先させてそのタスクを次サイクル
実行タスクと決定する。図1の周辺装置は例えば、セン
サーを含む車のエンジンのモデルである。
[Third Embodiment] FIG. 10 is a flow chart showing still another processing method of step S4 of FIG. 3 as a third embodiment of the present invention. In this method, an interrupt is issued rather than a task priority. Prioritize and determine that task as the next cycle execution task. The peripheral device of FIG. 1 is, for example, a model of a car engine including a sensor.

【0058】1個の割込に対し8個の割り込み要因があ
り、これらが0〜7で識別され、要因iの割込処理がタ
スクTiで実行され、タスクTiがポインタPTR
(i)で指定されるとする。また、要因iの割込要求が
あると、割込フラグIFが‘1’になるとともに割込要
因フラグIRQ(0)〜IRQ(7)のうちIRQ
(i)のみ‘1’になるとする。図1において、フラグ
IF及びIRQ(0)〜IRQ(7)はコンピュータ2
1の内部レジスタに対応しており、周辺装置22からコ
ンピュータ21への信号により該フラグが設定される。
There are eight interrupt factors for one interrupt, which are identified by 0 to 7, the interrupt process of factor i is executed by task Ti, and task Ti is pointer PTR.
Suppose it is specified in (i). Further, when there is an interrupt request for the factor i, the interrupt flag IF becomes "1" and the IRQ of the interrupt factor flags IRQ (0) to IRQ (7) is set.
It is assumed that only (i) becomes "1". In FIG. 1, the flags IF and IRQ (0) to IRQ (7) are the computer 2
It corresponds to the internal register 1 and the flag is set by a signal from the peripheral device 22 to the computer 21.

【0059】(S30)IF=‘0’であれば図7のス
テップS10へ進み、そうでなければステップS31へ
進む。
(S30) If IF = '0', the process proceeds to step S10 in FIG. 7, and if not, the process proceeds to step S31.

【0060】(S31)iに初期値0を代入する。(S31) The initial value 0 is substituted for i.

【0061】(S32)i<8であればステップS33
へ進み、そうでなければ、すなわちIRQ(0)〜IR
Q(7)のいずれも‘0’であれば図7のステップS1
0へ進む。
(S32) If i <8, step S33
Go to step I, otherwise IRQ (0) to IR
If all of Q (7) are '0', step S1 in FIG.
Go to 0.

【0062】(S33)IR(i)=‘1’であればス
テップS35へ進み、そうでなければステップS34へ
進む。
(S33) If IR (i) = '1', the process proceeds to step S35, and if not, the process proceeds to step S34.

【0063】(S34)iの値を1だけインクリメント
し、ステップ32へ戻る。
(S34) The value of i is incremented by 1, and the process returns to step 32.

【0064】(S35)ポインタPTR(i)で指定さ
れるタスクTiのスレッドを生成する。
(S35) The thread of the task Ti designated by the pointer PTR (i) is generated.

【0065】(S36)IF=‘0’及びIRQ(i)
=‘0’として、同じ割込要求の再受付を避ける。
(S36) IF = '0' and IRQ (i)
= '0' to avoid re-accepting the same interrupt request.

【0066】(S37)タスクTiを次サイクル実行タ
スクTXと決定する。
(S37) The task Ti is determined as the next cycle execution task TX.

【0067】図11は、次のタスクが図10の方法を用
いて実行された場合の動作を示すタイムチャートであ
る。
FIG. 11 is a time chart showing the operation when the next task is executed by using the method of FIG.

【0068】 上記タスクは簡単化のため入力処理がない場合を示して
いるが、各spend_time(τ)の前又は後に入力処理を含ん
でもよい。関数sleep(τ)は、他のタスクを実行させる
ため時間τだけ実行を休む処理である。上記の場合、ta
sk1()の実行中に、第2〜4サイクルの各々で割込がか
かり、割込毎にtask2()が実行される。上記第2実施形
態と同様に、図1において周辺装置22がレジスタRE
G1の制御データを3u毎に読み出し、この読み出し前
に制御データの更新がコンピュータ21により行われな
ければならないとする。この要求が満たされないので、
例えば次の1つ又は両方を詳細設計条件とすることによ
り、この要求を満たす。
[0068] The above task shows the case where there is no input process for simplification, but the input process may be included before or after each spend_time (τ). The function sleep (τ) is a process that suspends execution for a time τ to execute another task. In the above case, ta
During execution of sk1 (), an interrupt occurs in each of the second to fourth cycles, and task2 () is executed for each interrupt. As in the second embodiment described above, the peripheral device 22 shown in FIG.
It is assumed that the control data of G1 is read every 3u, and the control data must be updated by the computer 21 before this reading. Since this requirement is not met,
This requirement is satisfied by, for example, setting one or both of the following as detailed design conditions.

【0069】(1)割込発生間隔を一定サイクル以上と
する。
(1) The interrupt occurrence interval is set to a fixed cycle or more.

【0070】(2)割込処理task2()に関数sleep(τ)を
含ませる、すなわち割込が発生してから所定時間経過後
に割込処理を実行する。
(2) Interrupt processing task2 () includes the function sleep (τ), that is, the interrupt processing is executed after a lapse of a predetermined time from the occurrence of the interrupt.

【0071】なお、本発明には外にも種々の変形例が含
まれる。
The present invention includes various modifications other than the above.

【0072】例えば1サイクルタイムを、全タスクに含
まれる待ち処理時間の最小値の1/(自然数)と決定し
てもよい。これにより、入力信号読み取り込み、信号出
力及び割込のタイミングを変えることができる。
For example, one cycle time may be determined as 1 / (natural number) of the minimum value of the waiting processing time included in all tasks. This makes it possible to change the timing of reading the input signal, outputting the signal, and interrupting.

【0073】また、上記第3実施形態では簡単化のため
に割込優先度が同一である場合を説明したが、異なる優
先度の割込がある場合にも本発明が適用されることは勿
論である。
In the third embodiment, the case where the interrupt priorities are the same has been described for simplification, but the present invention is naturally applied to the case where interrupts with different priorities are present. Is.

【0074】さらに、モデルタスクは、1つのプロセス
を複数のスレッドで実行する場合の各スレッドに対応し
たもののモデルも含む概念である。
Further, the model task is a concept including a model of what corresponds to each thread when one process is executed by a plurality of threads.

【図面の簡単な説明】[Brief description of drawings]

【図1】図1は、本発明の第1実施形態の概略マルチタ
スクソフトウェアシミュレーション方法を示す概略ブロ
ック図である。
FIG. 1 is a schematic block diagram showing a schematic multitask software simulation method according to a first embodiment of the present invention.

【図2】図1のタスク実行制御部23により実行される
タスクの概略説明図である。
FIG. 2 is a schematic explanatory diagram of a task executed by a task execution control unit 23 of FIG.

【図3】図1のタスク実行制御部23により実行され
る、タスクTi中の関数spend_time(τ)の処理内容を示
すフローチャートである。
FIG. 3 is a flowchart showing the processing contents of a function spend_time (τ) in task Ti, which is executed by the task execution control unit 23 of FIG. 1.

【図4】図3中のステップS4の詳細を、ラウンドロビ
ン方式を採用した場合について示すフローチャートであ
る。
FIG. 4 is a flowchart showing details of step S4 in FIG. 3 when a round robin method is adopted.

【図5】図4の処理説明のためのタスクリストを示す図
である。
FIG. 5 is a diagram showing a task list for explaining the processing of FIG. 4;

【図6】2つのタスクtask1()及びtask2()が図4の方法
で実行される場合を示すタイムチャートである。
6 is a time chart showing a case where two tasks, task1 () and task2 (), are executed by the method of FIG.

【図7】図3のステップS4の他の処理方法を本発明の
第2実施形態として示すフローチャートである。
FIG. 7 is a flowchart showing another processing method of step S4 of FIG. 3 as a second embodiment of the present invention.

【図8】図7の処理説明のためのタスクリストを示す図
である。
8 is a diagram showing a task list for explaining the processing of FIG. 7. FIG.

【図9】優先度が異なる次の2つのタスクtask1()及びt
ask2()が図7の方法で実行される場合を示すタイムチャ
ートである。
[Fig. 9] The following two tasks task1 () and t with different priorities
8 is a time chart showing a case where ask2 () is executed by the method of FIG. 7.

【図10】図3のステップS4のさらに他の処理方法を
本発明の第3実施形態として示すフローチャートであ
る。
FIG. 10 is a flowchart showing yet another processing method of step S4 of FIG. 3 as a third embodiment of the present invention.

【図11】主タスクtask1()と割込タスクtask2()が図1
0の方法で実行される場合を示すタイムチャートであ
る。
[Figure 11] Figure 1 shows the main task task1 () and interrupt task task2 ().
It is a time chart which shows the case where it performs by the method of 0.

【符号の説明】[Explanation of symbols]

10 コンピュータ 11 入力装置 12 表示装置 20 モデル 21 コンピュータ 22 周辺装置 23 タスク実行制御部 24 状態記憶部 30 動作トレース部 SL1〜SL4 スレッド SG1〜SGn 信号 task1〜taskN モデルタスク REG1〜REGm レジスタ 10 computers 11 Input device 12 Display 20 models 21 computer 22 Peripheral device 23 Task execution control unit 24 State storage 30 Motion trace section SL1 to SL4 threads SG1 to SGn signals task1 to taskN model tasks REG1 to REGm registers

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 (a)入出力信号をリアルタイム処理す
るマルチタスクソフトウェアの詳細設計前に、該マルチ
タスクソフトウェアの入出力信号のタイミングの概略を
シミュレーションするために各タスクの詳細処理をその
見積時間が経過するのを待つ待処理で表したモデルタス
クを複数作成し、 (b)1サイクルタイムを、該複数のモデルタスクに含
まれる待ち処理時間に基づいて決定し、 (c)次サイクルで該複数のモデルタスクのいずれを実
行するかを所定アルゴリズムでサイクル毎に決定してマ
ルチタスク処理を模擬的に行う、 ことを特徴とする概略マルチタスクソフトウェアシミュ
レーション方法。
1. (a) Prior to detailed design of multi-task software that processes input / output signals in real time, detailed processing of each task is performed to estimate the timing of input / output signals of the multi-task software. A plurality of model tasks represented by waiting processing for waiting for the elapse of time, (b) 1 cycle time is determined based on the waiting processing time included in the plurality of model tasks, and (c) in the next cycle. A general multi-task software simulation method characterized in that which of a plurality of model tasks is to be executed is determined for each cycle by a predetermined algorithm, and multi-task processing is simulated.
【請求項2】 上記ステップ(a)において、上記複数
のモデルタスクの少なくとも1つは、第1又は第2の待
ち処理と、入力信号値に基づき該第1又は第2の待ち処
理を実行する条件分岐処理とを含むことを特徴とする請
求項1記載の概略マルチタスクソフトウェアシミュレー
ション方法。
2. In the step (a), at least one of the plurality of model tasks executes a first or second waiting process and the first or second waiting process based on an input signal value. The general multitask software simulation method according to claim 1, further comprising conditional branch processing.
【請求項3】 上記ステップ(a)において、上記複数
のモデルタスクの少なくとも1つは、待ち処理と、該待
ち処理の前又は後で制御データ信号を模擬的に出力する
処理とを含むことを特徴とする請求項1記載の概略マル
チタスクソフトウェアシミュレーション方法。
3. In the step (a), at least one of the plurality of model tasks includes a waiting process and a process of simulatedly outputting a control data signal before or after the waiting process. The general multi-task software simulation method according to claim 1.
【請求項4】 上記ステップ(b)では、上記1サイク
ルタイムを、上記複数のモデルタスクに含まれる待ち処
理時間の最小値の1/(自然数)と決定することを特徴
とする請求項1記載の概略マルチタスクソフトウェアシ
ミュレーション方法。
4. The step (b) is characterized in that the one cycle time is determined to be 1 / (natural number) of a minimum value of waiting processing times included in the plurality of model tasks. Outline of multi-task software simulation method.
【請求項5】 上記ステップ(c)では、各モデルタス
クについて、モデルタスクの実行及び停止の状態の時間
的変化を上記サイクルタイム単位で示すスレッドを生成
し、上記所定アルゴリズムでは該スレッドを参照して次
サイクルで実行可能なモデルタスク候補を選択し、該モ
デルタスク候補のうち1つのモデルタスクを次サイクル
実行タスクと決定することを特徴とする請求項1記載の
概略マルチタスクソフトウェアシミュレーション方法。
5. In the step (c), for each model task, a thread is created that indicates a temporal change in the execution and suspension states of the model task in the cycle time unit, and the thread is referred to in the predetermined algorithm. 2. The general multitask software simulation method according to claim 1, further comprising: selecting a model task candidate that can be executed in the next cycle, and determining one of the model task candidates as a next cycle execution task.
【請求項6】 上記ステップ(c)の所定アルゴリズム
では、次サイクルで実行可能なモデルタスク候補の中か
ら次サイクル実行タスクがサイクル毎に順番に選択され
るように、該次サイクル実行タスクを決定することを特
徴とする請求項1記載の概略マルチタスクソフトウェア
シミュレーション方法。
6. The predetermined algorithm of the step (c) determines the next cycle execution task such that the next cycle execution task is sequentially selected for each cycle from the model task candidates that can be executed in the next cycle. The general multi-task software simulation method according to claim 1, wherein
【請求項7】 上記ステップ(a)の各モデルタスクは
その属性として優先度を有し、 上記ステップ(c)の所定アルゴリズムでは、次サイク
ルで実行可能なモデルタスク候補の中から最も優先度の
高いモデルタスク候補を選択し、該選択されたモデルタ
スク候補が1つの場合にはこれを次サイクル実行タスク
と決定し、該選択されたモデルタスク候補が複数の場合
にはこれらの記憶装置内配列順に従って該次サイクル実
行タスクを決定することを特徴とする請求項1記載の概
略マルチタスクソフトウェアシミュレーション方法。
7. The model tasks in step (a) have priorities as attributes, and the predetermined algorithm of step (c) has the highest priority among the model task candidates that can be executed in the next cycle. A high model task candidate is selected, and when there is one selected model task candidate, it is determined as the next cycle execution task, and when there are a plurality of selected model task candidates, an array in these storage devices is selected. The general multitask software simulation method according to claim 1, wherein the next cycle execution task is determined in order.
【請求項8】 上記ステップ(a)において、上記複数
のモデルタスクの少なくとも1つは割込処理であり、 上記ステップ(c)の所定アルゴリズムでは、割込が生
じた場合、該割込処理を次サイクル実行タスクと決定す
ることを特徴とする請求項1記載の概略マルチタスクソ
フトウェアシミュレーション方法。
8. In the step (a), at least one of the plurality of model tasks is an interrupt process, and in the predetermined algorithm of the step (c), when the interrupt occurs, the interrupt process is executed. The general multi-task software simulation method according to claim 1, wherein the next cycle execution task is determined.
【請求項9】 プロセッサと、 該プロセッサに結合された記憶装置と、 該プロセッサに結合された表示装置とを有し、 該記憶装置には、 入出力信号をリアルタイム処理するマルチタスクソフト
ウェアの詳細設計前に、該マルチタスクソフトウェアの
入出力信号のタイミングの概略をシミュレーションする
ために、各タスクの詳細処理をその見積時間が経過する
のを待つ待処理で表したモデルタスクが複数格納され、
さらに該モデルタスクを該プロセッサで模擬的に実行さ
せるためのプログラムが格納され、 該プログラムは、 1サイクルタイムを、該複数のモデルタスクに含まれる
待ち処理時間に基づいて決定し、 次サイクルで該複数のモデルタスクのいずれを実行する
かを所定アルゴリズムでサイクル毎に決定してマルチタ
スク処理を模擬的に行う処理を含む、 ことを特徴とする概略マルチタスクソフトウェアシミュ
レーション装置。
9. A detailed design of multitasking software, comprising: a processor, a storage device coupled to the processor, and a display device coupled to the processor, the storage device including: multi-task software for processing input / output signals in real time. Before, in order to simulate the outline of the timing of the input / output signals of the multi-task software, a plurality of model tasks that represent detailed processing of each task by waiting processing for waiting for the estimated time to pass are stored,
Further, a program for causing the processor to execute the model task in a simulated manner is stored. The program determines one cycle time based on waiting processing time included in the plurality of model tasks, and A general multi-task software simulation device characterized by including a process of simulating a multi-task process by determining which of a plurality of model tasks is to be executed for each cycle by a predetermined algorithm.
【請求項10】 モデルタスクをプロセッサで模擬的に
実行させるためのプログラムであって、該モデルタスク
は、入出力信号をリアルタイム処理するマルチタスクソ
フトウェアの詳細設計前に該マルチタスクソフトウェア
の入出力信号のタイミングの概略をシミュレーションす
るために各タスクの詳細処理をその見積時間が経過する
のを待つ待処理で表したものであり、該プログラムは該
プロセッサに対し、 1サイクルタイムを、該複数のモデルタスクに含まれる
待ち処理時間に基づいて決定させ、 次サイクルで該複数のモデルタスクのいずれを実行する
かを所定アルゴリズムでサイクル毎に決定させてマルチ
タスク処理を模擬的に行わせる、 ことを特徴とする概略マルチタスクソフトウェアシミュ
レーションプログラム。
10. A program for simulating execution of a model task by a processor, the model task comprising input / output signals of the multitask software before detailed design of the multitask software for real-time processing of input / output signals. The detailed processing of each task is represented by a wait processing for waiting for the estimated time to elapse in order to simulate the outline of the timing of the It is determined based on the waiting processing time included in the task, and which of the plurality of model tasks is to be executed in the next cycle is determined for each cycle by a predetermined algorithm to simulate the multitask processing. An outline multi-task software simulation program.
JP2001374886A 2001-12-07 2001-12-07 Method, apparatus and program for simulating general multitask software Expired - Fee Related JP4132802B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001374886A JP4132802B2 (en) 2001-12-07 2001-12-07 Method, apparatus and program for simulating general multitask software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001374886A JP4132802B2 (en) 2001-12-07 2001-12-07 Method, apparatus and program for simulating general multitask software

Publications (2)

Publication Number Publication Date
JP2003177943A true JP2003177943A (en) 2003-06-27
JP4132802B2 JP4132802B2 (en) 2008-08-13

Family

ID=19183366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001374886A Expired - Fee Related JP4132802B2 (en) 2001-12-07 2001-12-07 Method, apparatus and program for simulating general multitask software

Country Status (1)

Country Link
JP (1) JP4132802B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210099A (en) * 2007-02-26 2008-09-11 Matsushita Electric Ind Co Ltd Simulation method and simulation system
WO2008153214A1 (en) * 2007-06-13 2008-12-18 Toyota Infotechnology Center Co., Ltd. Processor operation check system and operation check circuit
US7747426B2 (en) 2005-12-02 2010-06-29 International Business Machines Corporation System simulation using multi-tasking computer code
JP2011022702A (en) * 2009-07-14 2011-02-03 Internatl Business Mach Corp <Ibm> Simulation method, system and program
JP2011154521A (en) * 2010-01-27 2011-08-11 Hitachi Advanced Digital Inc Model-based performance prediction system
JP2011180883A (en) * 2010-03-02 2011-09-15 Nippon Steel Corp Program diagnosis device and program diagnosis method
CN102646226A (en) * 2012-02-22 2012-08-22 浪潮电子信息产业股份有限公司 Method for shortening software development and test period
US20160371068A1 (en) * 2015-06-16 2016-12-22 Fujitsu Limited Computer that performs compiling, compiler program, and link program
CN114489845A (en) * 2022-01-18 2022-05-13 北京润科通用技术有限公司 Simulation method and platform for adjusting task scenario and electronic equipment

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747426B2 (en) 2005-12-02 2010-06-29 International Business Machines Corporation System simulation using multi-tasking computer code
JP2008210099A (en) * 2007-02-26 2008-09-11 Matsushita Electric Ind Co Ltd Simulation method and simulation system
US8060793B2 (en) 2007-06-13 2011-11-15 Toyota Infotechnology Center Co., Ltd. Processor operation inspection system and operation inspection circuit
WO2008153214A1 (en) * 2007-06-13 2008-12-18 Toyota Infotechnology Center Co., Ltd. Processor operation check system and operation check circuit
JP2011022702A (en) * 2009-07-14 2011-02-03 Internatl Business Mach Corp <Ibm> Simulation method, system and program
US8498856B2 (en) 2009-07-14 2013-07-30 International Business Machines Corporation Simulation method, system and program
JP2011154521A (en) * 2010-01-27 2011-08-11 Hitachi Advanced Digital Inc Model-based performance prediction system
JP2011180883A (en) * 2010-03-02 2011-09-15 Nippon Steel Corp Program diagnosis device and program diagnosis method
CN102646226A (en) * 2012-02-22 2012-08-22 浪潮电子信息产业股份有限公司 Method for shortening software development and test period
US20160371068A1 (en) * 2015-06-16 2016-12-22 Fujitsu Limited Computer that performs compiling, compiler program, and link program
US10089088B2 (en) * 2015-06-16 2018-10-02 Fujitsu Limited Computer that performs compiling, compiler program, and link program
CN114489845A (en) * 2022-01-18 2022-05-13 北京润科通用技术有限公司 Simulation method and platform for adjusting task scenario and electronic equipment
CN114489845B (en) * 2022-01-18 2024-01-12 北京润科通用技术有限公司 Simulation method and platform for task adjustment design and electronic equipment

Also Published As

Publication number Publication date
JP4132802B2 (en) 2008-08-13

Similar Documents

Publication Publication Date Title
US8484006B2 (en) Method for dynamically adjusting speed versus accuracy of computer platform simulation
US4879646A (en) Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging
JP4529063B2 (en) System simulator, simulation method, and simulation program
US9519943B2 (en) Priority-based command execution
US8793115B2 (en) Interface converter for unified view of multiple computer system simulations
US20030097248A1 (en) Method for logic checking to check operation of circuit to be connected to bus
JP5270330B2 (en) Multicore microcomputer system simulation method and simulation apparatus
US20010034751A1 (en) Real-time OS simulator
JP2007122602A (en) Multi-core model simulation program, recording medium recording the program, multi-core model simulator, and multi-core model simulation method
KR19980032143A (en) Method and apparatus for simulation of multiprocessor circuits
JP2010286898A (en) Multithread execution device, and multithread execution method
JP2003177943A (en) Method, device, and program for simulating roughly multitask software
JP4137434B2 (en) Simulation method, simulation method, and computer-readable recording medium recording program
JP5542643B2 (en) Simulation apparatus and simulation program
CN112528583A (en) Multithreading comprehensive method and comprehensive system for FPGA development
JP2904172B2 (en) Logic circuit simulator
JP2003186936A (en) Method and device for executing operation verification simulation and its program
JP2008112243A (en) Simulation program, and apparatus, method and program for generating the same
JPH02159603A (en) Loop controller
WO2006093762A1 (en) Computer platform simulation
JPH0934918A (en) Method and apparatus for simulation of digital circuit
JP2006178663A (en) Information processor, method for processing information, verification apparatus, and method of verification
JP2005250607A (en) Input/output signal display system
CN113760364A (en) Controller for logic device
JP2012027600A (en) Multi-thread processing device and emulation component attached on multi-thread processing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070515

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071212

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080527

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080602

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130606

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140606

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees