JP2002189604A - Multi-tack processing method and processor - Google Patents

Multi-tack processing method and processor

Info

Publication number
JP2002189604A
JP2002189604A JP2000387405A JP2000387405A JP2002189604A JP 2002189604 A JP2002189604 A JP 2002189604A JP 2000387405 A JP2000387405 A JP 2000387405A JP 2000387405 A JP2000387405 A JP 2000387405A JP 2002189604 A JP2002189604 A JP 2002189604A
Authority
JP
Japan
Prior art keywords
task
command
priority
processing
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.)
Pending
Application number
JP2000387405A
Other languages
Japanese (ja)
Inventor
Katsumi Takahashi
克己 高橋
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000387405A priority Critical patent/JP2002189604A/en
Publication of JP2002189604A publication Critical patent/JP2002189604A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a multi-task processing method capable of multi-task processing without impairing response to a command and a processor using the same. SOLUTION: When switching takes place between tasks to be processed in order to execute a plurality of different processes by multi-task processing, the next task to be processed is determined based on a plurality of criteria on the respective tasks. At least one of the plurality of tasks is a task that receives a receivable command previously determined for processing the task and processes the command, that this task has received the command is set as one of the plurality of criteria, and the task having received the command is preferentially determined as the next task to be processed.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、マルチタスク処理
方法およびそれを用いた処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multitask processing method and a processing device using the same.

【0002】[0002]

【従来の技術】複数のタスクを単一の処理装置(プロセ
ッサ)で処理する場合、時間分割して処理することが行
われている。ある時刻には1個のタスクが実行されてお
り、このタスクの実行が中断されると、制御プログラム
に制御が移され、制御プログラムは次に実行するタスク
を決定する。従来の方式では、制御プログラムは、実行
可能なタスクの中で、各タスクの優先順位を示す、あら
かじめ数値化された値の大小に基づいて、次に実行する
タスクを決定する。詳細な決定アルゴリズムは幾通りか
あるが、代表的なものは次の通りである。実行可能なタ
スクの中で、最も優先度の高いものが1個ある場合は、
それが選択される。最も優先度の高いものが2個以上あ
る場合には、それらがサイクリックに順番に実行される
ように決定される。
2. Description of the Related Art When a plurality of tasks are processed by a single processing device (processor), processing is performed in a time-division manner. One task is being executed at a certain time, and when the execution of this task is interrupted, control is transferred to the control program, and the control program determines the next task to be executed. In the conventional method, the control program determines the next task to be executed based on the value of a numerical value that indicates the priority of each task among the executable tasks. Although there are several detailed determination algorithms, typical ones are as follows. If one of the tasks that can be executed has the highest priority,
It is selected. If there are two or more of the highest priorities, it is determined that they are executed cyclically in order.

【0003】優先順位を示す数値は、タスクの実行中に
固定であるものや変化するものがある。変化するもの
は、タスク自身が値を変更するのが普通の方法である。
つまりプログラムの実行位置に応じて、高い優先度が必
要になった場合には優先度を上げ、低い優先度でも良く
なった場合には優先度を下げるのである。
[0003] Numerical values indicating priorities may be fixed or variable during execution of a task. For things that change, it is normal for the task itself to change the value.
In other words, according to the execution position of the program, the priority is raised when a higher priority is required, and the priority is lowered when a lower priority is better.

【0004】ところが、インターネットやデジタル放送
などで音楽や映像などのデータを受信しながらリアルタ
イムに再生する(ストリーミング)際には、連続的に入
力されてくる音声データなどストリーミング・データを
処理するプログラムの実行中に、あるタスクが外部か
ら、例えば、処理中止のコマンド(「STOP」コマン
ド)やビットレート等のパラメータ変更のコマンド等を
受けた場合、従来では、優先度を決定する際に、コマン
ドの有無が全く考慮されていないため、コマンドを受け
たタスクの実行が遅れ、その結果、コマンドの応答性が
悪くなるという問題点があった。
However, when data such as music or video is received and reproduced in real time (streaming) over the Internet or digital broadcasting, a program for processing streaming data such as audio data that is continuously input is required. Conventionally, when a task receives an external command such as a process stop command (“STOP” command) or a command to change a parameter such as a bit rate during execution, conventionally, when determining the priority, Since the presence / absence is not considered at all, there is a problem that the execution of the task receiving the command is delayed, and as a result, the response of the command is deteriorated.

【0005】[0005]

【発明が解決しようとする課題】従来のマルチタスク処
理は、固定の優先順位や、プログラム自身が設定する優
先度に基づいて処理対象のタスクの切り換えを制御する
ものであり、タスクが外部から所定のコマンドを受け付
けた際に、そのタスクの優先度が低く、そのコマンドの
処理が実行できずに、コマンドの応答性が悪いという問
題点があった。
In the conventional multitask processing, switching of a task to be processed is controlled based on a fixed priority or a priority set by a program itself. When the command is received, the task has a low priority, the command cannot be executed, and the response of the command is poor.

【0006】そこで、本発明は、上記問題点に鑑み、コ
マンドの応答性を損なわずにマルチタスク処理を可能に
するマルチタスク処理方法およびそれを用いた処理装置
を提供することを目的とする。
In view of the above problems, an object of the present invention is to provide a multitask processing method that enables multitask processing without impairing command responsiveness, and a processing apparatus using the same.

【0007】[0007]

【課題を解決するための手段】本発明は、複数の異なる
処理をマルチタスク処理にて実行するとともに、処理対
象のタスクの切り替えにあたって、次の処理対象のタス
クを複数の判断基準に基づき決定するものであって、複
数のタスクのうちの少なくとも1つは、そのタスクの処
理において予め定められたコマンドを受け付けて、その
コマンドを処理するタスクであって、このタスクが前記
コマンドを受け付けていることを前記複数の判断基準の
うちの1つとし、前記コマンドを受け付けたタスクを優
先的に次の処理対象のタスクとして決定することによ
り、コマンドの応答性を損なわずにマルチタスク処理を
可能にする。
According to the present invention, a plurality of different processes are executed by a multitask process, and when a task to be processed is switched, a next task to be processed is determined based on a plurality of criteria. At least one of the plurality of tasks is a task that receives a predetermined command in the processing of the task and processes the command, and the task receives the command. Is set as one of the plurality of criteria, and the task that has received the command is preferentially determined as the next processing target task, thereby enabling multitask processing without impairing the responsiveness of the command. .

【0008】好ましくは、前記コマンドを受け付けたタ
スクについて、前記複数の判断基準のうちの他の判断基
準に基づきそれぞれの優先度を算出し、この算出された
優先度に基づき次の処理対象のタスクとして決定する。
Preferably, the priority of each of the tasks that have received the command is calculated based on another one of the plurality of criteria, and the next task to be processed is determined based on the calculated priority. To be determined.

【0009】また、好ましくは、前記コマンドを受け付
けているタスクの有無を無視して、まず、全てのタスク
について、前記複数の判断基準のうちの他の判断基準に
基づきそれぞれ優先度を算出し、この算出された優先度
が最も高いものが複数あるとき、その複数のタスクのう
ち前記コマンドを受け付けたタスクを次の処理対象のタ
スクとして決定する。
Preferably, priorities are calculated for all tasks based on other of the plurality of criteria, ignoring the presence / absence of a task accepting the command. When there is a plurality of tasks having the highest calculated priority, the task that has received the command among the tasks is determined as a task to be processed next.

【0010】また、本発明は、複数の異なる処理をマル
チタスク処理にて実行するとともに、処理対象のタスク
の切り替えにあたって、次の処理対象のタスクを複数の
判断基準に基づき決定するものであって、複数のタスク
のうちの少なくとも1つは、そのタスクの処理において
予め定められたコマンドを受け付けて、そのコマンドを
処理するタスクであって、このタスクが受け付けている
コマンドの有無およびコマンドの数およびコマンドの種
類のうちの少なくとも1つを前記複数の判断基準のうち
の1つとして各タスクのそれぞれの優先度を算出して、
この優先度に基づき次の処理対象のタスクを決定するこ
とにより、コマンドの応答性を損なわずにマルチタスク
処理を可能にする。
Further, the present invention executes a plurality of different processes in a multitask process and determines the next task to be processed based on a plurality of criteria when switching the tasks to be processed. , At least one of the plurality of tasks is a task that receives a predetermined command in the processing of the task and processes the command. Calculating the priority of each task using at least one of the command types as one of the plurality of criteria;
By determining the next processing target task based on this priority, multitask processing can be performed without impairing the responsiveness of the command.

【0011】[0011]

【発明の実施の形態】以下、本発明の実施形態について
図面を参照して説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0012】図1は、本実施形態に係るデータ処理装置
(以下、簡単に処理装置と呼ぶ)1の要部の構成を概念
的に示したものである。処理対象のデータが複数(ここ
では、例えばn系列)あり(入力データIDATA_1
〜IDATA_n)、それらはそれぞれ入力バッファI
BF_1〜入力バッファIBF_nに入力される。これ
ら入力データは、例えば、複数チャネルのオーディオ信
号やビデオ信号などである。これらのデータは、マクロ
的にはほぼ一定のレートで入力されることが多いが、ミ
クロ的には入力バッファに転送する側の性質に依存する
ものであり、バースト的に入力される場合もありうる。
FIG. 1 conceptually shows a configuration of a main part of a data processing device (hereinafter simply referred to as a processing device) 1 according to the present embodiment. There are a plurality of data to be processed (here, for example, n series) (input data IDATA_1
~ IDATA_n), each of which has an input buffer I
BF_1 to BF_1 are input to the input buffer IBF_n. These input data are, for example, audio signals and video signals of a plurality of channels. These data are often input at a substantially constant rate in macro terms, but microscopically depend on the nature of the transfer to the input buffer, and may be input in bursts. sell.

【0013】図1における処理装置1において、各入力
データに対する処理が遅れると、入力バッファがオーバ
ーフローしてしまうため、それが起こらないように処理
しなければならない。
In the processing device 1 shown in FIG. 1, if the processing for each input data is delayed, the input buffer overflows. Therefore, the processing must be performed so as not to occur.

【0014】処理装置1は、ハードウェア的には単一の
プロセッサで構成されており、この上で複数(ここで
は、例えばm個)のタスク(タスク(1)〜タスク
(m))が動作するものとする。
The processing apparatus 1 is composed of a single processor in terms of hardware, on which a plurality (here, for example, m) of tasks (tasks (1) to (m)) operate. It shall be.

【0015】タスク(1)〜タスク(m)は、入力バッ
ファIBF_1〜IBF_nに格納されているデータを
逐次処理していくための処理プログラムである。
Tasks (1) to (m) are processing programs for sequentially processing data stored in the input buffers IBF_1 to IBF_n.

【0016】入力バッファIBF_1〜IBF_nに格
納されている入力データIDATA_1〜IDATA_
nは、タスク(1)〜タスク(m)で処理されて、複数
(ここでは、例えばs系列)の出力データODATA_
1〜ODATA_sとして出力され、それそれ出力バッ
ファOBF_1〜OBF_sに格納される。なお、出力
バッファがそのまま入力バッファに対応することもある
が、ここでは、説明の簡単のため、それぞれ別個に設け
られているものとする。なお、m=nおよびまたはn=
sであってもよい。
Input data IDATA_1 to IDATA_ stored in input buffers IBF_1 to IBF_n
n is processed by tasks (1) to (m), and a plurality (here, for example, s series) of output data ODATA_
1 to ODATA_s and stored in output buffers OBF_1 to OBF_s, respectively. Although the output buffer may correspond to the input buffer as it is, it is assumed here that they are separately provided for the sake of simplicity. Note that m = n and / or n =
It may be s.

【0017】また、タスク(1)〜(m)のそれぞれに
は、外部からのコマンドCOM_1〜COM_nを受け
るために、インタフェース(図1では、コマンドボック
スCB_1〜CB_n)が接続されている。なお、ここ
では、全てのタスク(1)〜(m)にコマンドボックス
CB_1〜CB_nが接続されているが、少なくとも1
個のタスクにコマンドボックスが接続されていればよ
い。
Further, interfaces (command boxes CB_1 to CB_n in FIG. 1) are connected to each of the tasks (1) to (m) to receive external commands COM_1 to COM_n. Here, command boxes CB_1 to CB_n are connected to all tasks (1) to (m).
It is sufficient that a command box is connected to each task.

【0018】コマンドボックスCB_1〜CB_nは、
例えば、FIFO(First In First Out)メモリ、
RAMであってもよい。
The command boxes CB_1 to CB_n are:
For example, FIFO (First In First Out) memory,
It may be a RAM.

【0019】また、マルチタスク処理実行中に各コマン
ドボックスCB_1〜CB_nに入力する(書き込まれ
る)コマンドとしては、ユーザにより入力されるコマン
ドであったり、現在実行中のアプリケーションから入力
されるものもあるが、具体的には、例えば、処理中止の
コマンド(「STOP」コマンド)やビットレート等の
パラメータ変更のコマンド、出力データを調整するため
のリアルタイム性が要求されるコマンド(例えば、出力
データが音声の場合にその音量を大きくしたり小さくし
たりするためのコマンド)等がある。
The commands input (written) to each of the command boxes CB_1 to CB_n during the execution of the multitask process include commands input by a user and commands input from an application currently being executed. However, specifically, for example, a command to stop processing (“STOP” command), a command to change a parameter such as a bit rate, or a command that requires real-time processing for adjusting output data (for example, when output data is voice Command to increase or decrease the volume).

【0020】図1の処理装置1は単一のプロセッサで構
成されているので、同時には1個のタスクしか実行され
ず、m個のタスクは時間分割されて実行されることにな
る。なお、ここでは、単一のプロセッサで構成された処
理装置の場合を例にとり説明するが、一般的には、mよ
り少ない複数のプロセッサで構成された処理装置でも同
様である。
Since the processing device 1 of FIG. 1 is constituted by a single processor, only one task is executed at a time, and m tasks are executed in a time-division manner. Here, a case of a processing device composed of a single processor will be described as an example, but the same applies to a processing device composed of a plurality of processors less than m in general.

【0021】各タスクへの時間割り当てを決めるのは、
制御プログラム2である。タスクの時間割り当ては次の
ようにして行われる。ある時刻にタスク(k)(1≦k
≦mの整数)が実行されているとする。
The time allocation for each task is determined by
This is the control program 2. Task time allocation is performed as follows. Task (k) at a certain time (1 ≦ k
≦ m).

【0022】タスク(k)はある条件に従って処理が中
断される。この条件は、従来の一般的なマルチタスク制
御方式においては、タスク(k)の実行が始まってから
一定時間が経過したときである。すなわち、時間を固定
長のタイム・スロットに分割し、各タイム・スロット毎
にタスクを割り当てる方式である。
The processing of task (k) is interrupted according to certain conditions. This condition is when a certain time has elapsed after the execution of the task (k) has started in the conventional general multitask control method. That is, the time is divided into fixed-length time slots, and a task is assigned to each time slot.

【0023】本発明においても、このような方式を用い
ることも可能である。また、この方式を用いない場合と
しては、タスク(k)が自ら実行を中断する方式が考え
られる。後者の方式による利点は、自らの都合で中断を
行えるため、処理上区切りがよいところで中断すること
により、タスク切り替え時の時間が短くなり、効率がよ
いことである。すなわち逆に言えば、前者のように強制
的に中断される方式では、後で再開するときに必要な中
間データが大きくなり、中断時にそれらを保存したり、
再開時にそれらを復元したりするのに、より多くの時間
を費やすことになる。後者の方式における処理上の区切
りとは、例えば、入力データが圧縮符号化されたオーデ
ィオ信号の場合には、フレームの区切りとすると都合が
よい。
In the present invention, such a system can be used. As a case where this method is not used, a method in which the task (k) suspends execution by itself can be considered. The advantage of the latter method is that the interruption can be performed at its own convenience. Therefore, by interrupting where the break is good in processing, the time at the time of task switching is shortened and the efficiency is high. In other words, conversely, in the former method in which forced interruption is performed, the intermediate data required when resuming later becomes large, and it is necessary to save them at the time of interruption,
You'll spend more time restoring them when you resume. For example, when the input data is a compression-coded audio signal, the processing break in the latter method is preferably a frame break.

【0024】本実施形態では、前者の予め定められた時
間経過したときタスクの処理を中断させてタスクを切り
替える方式であっても、後者のタスク自身が例えばフレ
ームの区切りをきっかけに処理を中断したときタスクを
切り換える方式であっても適用可能である。
In this embodiment, even if the former is a method of switching the task by interrupting the processing of the task when the predetermined time has elapsed, the latter task itself interrupts the processing, for example, at the break of a frame. Even when the task is switched, the method can be applied.

【0025】以下、図2〜図4に示すフローチャートを
参照して、制御プログラム2のマルチタスク制御処理動
作について説明する。
The multitask control processing operation of the control program 2 will be described below with reference to the flowcharts shown in FIGS.

【0026】タスク(k)が処理装置のプロセッサによ
り実行され、その実行が中断されると、制御プログラム
2に処理が移される。制御プログラム2は、OS(オペ
レーションシステム)が存在するシステムの場合には、
通常、OSの一部である。制御プログラム2は、コマン
ドの存在や、入出力系統の現状等の複数の判断基準に基
づき次に実行するタスクを決定するものである。
The task (k) is executed by the processor of the processing device, and when the execution is interrupted, the processing is shifted to the control program 2. When the control program 2 is a system in which an OS (operation system) exists,
Usually, it is part of the OS. The control program 2 determines the next task to be executed based on a plurality of criteria such as the existence of a command and the current state of the input / output system.

【0027】従来の制御プログラムにおいては、各タス
クに優先度を示す数値が設定されており、実行可能なタ
スクの中で、それらの数値の最も大きいものが次に実行
されるタスクとして選択される。ここで、実行可能と
は、図1のような処理系の場合には、各タスクに対応す
る処理の入出力系統において、その入力バッファが空で
なく、かつ対応する出力バッファがフルでないことであ
る。
In the conventional control program, a numerical value indicating the priority is set for each task, and among the executable tasks, the one having the highest numerical value is selected as the task to be executed next. . Here, "executable" means that, in the case of the processing system as shown in FIG. 1, the input buffer is not empty and the corresponding output buffer is not full in the input / output system of the processing corresponding to each task. is there.

【0028】しかしながら、図1に示す処理系では、各
タスクにあらかじめ優先度をつけておくことや、タスク
実行時に自分自身の優先度を設定しておくことは望まし
くない。なぜなら、ここでの優先度のあるべき姿は、入
力バッファがオーバーフローしないことや、出力バッフ
ァが空にならないことであり、これらの条件は当該タス
クが実行していない場合にも時々刻々と変化するからで
ある。すなわち優先度を表す数値が時々刻々と変化する
ようになっている必要がある。
However, in the processing system shown in FIG. 1, it is not desirable to prioritize each task in advance or to set its own priority when executing a task. Because the priority here is that the input buffer does not overflow and the output buffer does not become empty, and these conditions change every moment even when the task is not running. Because. That is, it is necessary that the numerical value representing the priority change every moment.

【0029】そこで、図1では、時々刻々と変化する優
先度を実現するために、各タスク(1)〜タスク(m)
のそれぞれにステータス関数st_1〜st_mを対応
付け、制御プログラム2が次に実行すべきタスクを選択
する時点において、各タスク(1)〜タスク(m)のそ
れぞれに対応したステータス関数st_1〜st_mを
呼び、各ステータス関数により、例えば、後述する算出
方法にて入出力系統の現状に基づく優先度を算出した結
果を取得する。
Therefore, in FIG. 1, each task (1) to task (m) is performed in order to realize a priority that changes every moment.
Are respectively associated with the status functions st_1 to st_m, and when the control program 2 selects the task to be executed next, the status functions st_1 to st_m corresponding to the respective tasks (1) to task (m) are called. For example, a result of calculating a priority based on the current state of the input / output system by a calculation method described later is acquired by each status function.

【0030】また、ストリーミングにおけるマルチタス
ク処理では、外部からコマンドを受けることもあり、そ
のような図1に示したような処理系では、従来の方式は
好ましくない。なぜなら、コマンドボックスにコマンド
が書き込まれているタスクとそうでないタスクとがある
場合、その優先度を決める際に、コマンドの有無が全く
考慮されないからである。そのため、外部から入力され
たコマンドに対するレスポンスが遅くなる可能性が生じ
てしまう。
In the multitasking process in streaming, a command may be received from the outside, and in such a processing system as shown in FIG. 1, the conventional system is not preferable. This is because, when there is a task in which a command is written in the command box and a task in which no command is written, the presence or absence of the command is not considered at all when determining the priority. Therefore, there is a possibility that a response to a command input from outside is delayed.

【0031】そこで、優先度を決める際に、それぞれの
タスクに対応したコマンドボックスのコマンドの存在を
考慮することにする。コマンドの存在をどのようにタス
クの優先度に反映するするかは、処理装置1の構成に依
存し、無数にその方法が存在する。その全てを個々で列
挙することは不可能であるので、その一部について説明
する。なお、以下に説明する方法を適宜組み合わせて用
いることも可能である。
Therefore, when deciding the priority, the existence of a command in the command box corresponding to each task will be considered. How to reflect the presence of the command in the task priority depends on the configuration of the processing device 1, and there are countless methods. Since it is impossible to list all of them individually, only some of them will be described. Note that the methods described below can be used in appropriate combinations.

【0032】まず、図2を参照して、制御プログラム2
のマルチタスク制御処理(処理A)について説明する。
First, referring to FIG.
The multitask control process (process A) will be described.

【0033】図2に示す処理Aは、次の処理対象として
のタスクを決定する際の判断基準としてのコマンド存在
が、他の判断基準より重要度が高い場合の方法である。
すなわち、制御プログラム2は、各タスクのコマンドボ
ックス内にコマンドが書き込まれているか否か(コマン
ドを受けているか否か)をチェックする(ステップS
1)。コマンドボックスにコマンドが書き込まれている
タスクが複数ある場合は、その複数のタスクのそれぞれ
の優先度をコマンド以外の判断基準に基づき算出する
(ステップS2)。制御プログラムは、この複数のタス
クの優先度から、次に実行すべきタスクとして、最も優
先度の高いタスクを選択する。ここでは、その選択され
たタスクをタスク(k)とする(ステップS4)。制御
プログラムは、タスクの切り換え時に、プロセッサに、
この選択されたタスク(k)を次の処理対象として実行
させる。なお、コマンドボックスにコマンドが書き込ま
れているタスクが1つの場合は、そのタスクを次に実行
すべきタスク(k)として選択する(ステップS4)。
コマンドボックスにコマンドの書き込まれたタスクが存
在しないときは、全てのタスクについて優先度を算出し
て、この算出した優先度が最も高いタスクを次に実行す
べきタスク(k)として選択する(ステップS4)。
Process A shown in FIG. 2 is a method in which the presence of a command as a criterion for determining a task to be processed next is more important than other criterions.
That is, the control program 2 checks whether or not a command has been written in the command box of each task (whether or not a command has been received) (Step S).
1). If there are a plurality of tasks in which commands are written in the command box, the priority of each of the plurality of tasks is calculated based on criteria other than the commands (step S2). The control program selects the task with the highest priority as the task to be executed next from the priorities of the plurality of tasks. Here, the selected task is set as a task (k) (step S4). When the control program switches tasks, the control program
The selected task (k) is executed as the next processing target. If there is one task in which a command is written in the command box, the task is selected as the task (k) to be executed next (step S4).
If there is no task in which the command is written in the command box, the priority is calculated for all tasks, and the task with the highest calculated priority is selected as the task (k) to be executed next (step S4).

【0034】なお、ステップS2、ステップS3では、
各タスクにあらかじめ付けられた優先度や、タスク実行
時に自分自身で設定された優先度を用いてもよいが、好
ましくは、入力バッファIBF_1〜IBF_n、出力
バッファOBF_1〜OBF_sの入出力系統の現状を
判断基準として、入力バッファがオーバーフローしない
ことや、出力バッファが空にならないことを条件に、タ
スク切替時に優先度をその都度算出することが望まし
い。ここで、そのための優先度の算出方法の一例を説明
する。すなわち、時々刻々と変化する優先度を実現する
ために、各タスク(1)〜タスク(m)のそれぞれにス
テータス関数St_1〜St_mを対応付け、制御プロ
グラム2が、各タスク(1)〜タスク(m)のそれぞれ
に対応したステータス関数St_1〜St_mを呼び、
各ステータス関数により、例えば、後述する算出方法に
て優先度を算出した結果を取得する。
In steps S2 and S3,
A priority assigned to each task in advance or a priority set by itself when executing the task may be used. Preferably, the current state of the input / output system of the input buffers IBF_1 to IBF_n and the output buffers OBF_1 to OBF_s is used. As a criterion, it is desirable to calculate the priority each time the task is switched, provided that the input buffer does not overflow and the output buffer does not become empty. Here, an example of a method of calculating the priority for that purpose will be described. That is, in order to realize a priority that changes every moment, status functions St_1 to St_m are associated with each of the tasks (1) to (m), and the control program 2 executes the tasks (1) to ( m), the status functions St_1 to St_m corresponding to
For example, a result of calculating the priority by a calculation method described later is acquired by each status function.

【0035】各ステータス関数St_1〜St_mは、
それらに対応したタスクの入出力系統の現状を評価し、
それに応じた優先度を返すように作られている。また各
タスクが実行可能か実行不可能かの情報も返すようにす
ることも可能なようになっている。ここで実行不可能と
は、例えば入力バッファ占有量が空か、出力バッファ占
有量がフルの場合である。
Each of the status functions St_1 to St_m is
Evaluate the current state of the input / output system of the task corresponding to them,
It is designed to return the corresponding priority. It is also possible to return information on whether each task is executable or not. Here, execution is not possible when, for example, the input buffer occupancy is empty or the output buffer occupancy is full.

【0036】次に、ステータス関数の優先度の算出方法
について、ここでは2例を挙げて説明する。なお、ステ
ータス関数の優先度の算出方法は、ここに挙げるものの
みに限るものではない。
Next, a method of calculating the priority of the status function will be described with reference to two examples. It should be noted that the method of calculating the priority of the status function is not limited to only those listed here.

【0037】第1の算出方法としては、各ステータス関
数は、それに対応した入力バッファの占有量を調べ、そ
の占有量をある規則に従って優先度に変換する。ある規
則とは、例えば、占有量とあらかじめ予想される入力デ
ータのレートから、オーバーフローするまでの時間を推
測し、その時間が短いほど優先度が高くなり、その時間
が長いほど優先度が低くなるようなテーブルにより変換
する。
As a first calculation method, each status function checks the occupancy of the input buffer corresponding to the status function, and converts the occupancy into priority according to a certain rule. A certain rule is, for example, estimating the time until overflow from the occupation amount and the rate of input data that is expected in advance, the shorter the time, the higher the priority, and the longer the time, the lower the priority Is converted by such a table.

【0038】第2の算出方法としては、各ステータス関
数は、それに対応したタスクが処理を完了しているデー
タのタイム・スタンプを調べ、その時刻と実際の時刻と
の差を優先度に変換して返す。この場合は、入力データ
IDATA_1〜IDATA_nがすべてタイム・スタ
ンプを持ったデータであることが条件である。また、処
理装置1には現在時刻を表す時計またはカウンタが具備
されているものとする。この例では、実時間に対する遅
延が最も大きいものに最も高い優先度が与えられる。
As a second calculation method, each status function checks the time stamp of data for which the corresponding task has completed processing, and converts the difference between the time and the actual time into a priority. Return. In this case, the condition is that all of the input data IDATA_1 to IDATA_n are data having a time stamp. It is also assumed that the processing device 1 is provided with a clock or counter indicating the current time. In this example, the one with the largest delay with respect to real time is given the highest priority.

【0039】次に、図3を参照して、制御プログラム2
のマルチタスク制御処理(処理B)について説明する。
Next, referring to FIG.
The multitask control process (process B) will be described.

【0040】図3に示す処理Bは、次の処理対象として
のタスクを決定する際の判断基準としてのコマンド存在
が、他の判断基準より重要度が低い場合の方法である。
すなわち、まず、制御プログラム2は、各タスクのコマ
ンドの有無を無視して、上記他の判断基準に基づき各タ
スクの優先度を算出する(ステップS11)。この優先
度の算出方法は上記同様であってもよい。この算出され
た各タスクの優先度のうち、最も優先度の高いタスクが
複数存在する場合にのみ(ステップS12)、この複数
のタスクについて、それぞれのコマンドボックスにコマ
ンドが書き込まれているか否かをチェックし、コマンド
を受けているタスクを次に処理すべきタスク(k)とし
て選択する(ステップS13)。
Processing B shown in FIG. 3 is a method in which the presence of a command as a criterion for determining a task to be processed next is lower in importance than other criterion.
That is, first, the control program 2 ignores the presence / absence of a command for each task and calculates the priority of each task based on the other determination criteria described above (step S11). The method of calculating the priority may be the same as described above. Only when there are a plurality of tasks with the highest priority among the calculated priorities of the tasks (step S12), it is determined whether or not a command is written in each command box for the plurality of tasks. Then, the task receiving the command is selected as the task (k) to be processed next (step S13).

【0041】なお、ステップS13で、優先度の高いタ
スクのうち、コマンドを受けているタスクも複数存在す
るときは、そのうちのコマンドの数が多いものを優先に
タスク(k)として選択してもよい。また、ステップS
12で、最も優先度の高いタスクが1つのみのときは、
そのまま、ステップS14へ進み、当該タスクをタスク
(k)とする。
In step S13, if there are a plurality of tasks receiving commands among the tasks having high priority, the task (k) having the larger number of commands may be selected as the task (k). Good. Step S
If there is only one task with the highest priority at 12,
The process directly proceeds to step S14, and the task is set as a task (k).

【0042】次に、図4を参照して、制御プログラム2
のマルチタスク制御処理(処理C)について説明する。
Next, referring to FIG.
The multitask control process (process C) will be described.

【0043】図4に示す処理Cは、コマンドの存在を各
タスクの優先度自体にポイントとして加算して、コマン
ドの存在を反映した優先度を用いる方法である。すなわ
ち、コマンドボックスにコマンドが書き込まれている場
合には、コマンド1つにつき、優先度に相当する所定ポ
イントを予め定めておく。制御プログラム2は、まず、
各タスクのコマンドの有無を無視して、各タスクの優先
度を算出する(ステップS21)。この優先度の算出方
法は上記同様であってもよい。そして、各タスクのそれ
ぞれのコマンドボックスにコマンドが書き込まれている
か否かをチェックし、コマンドを受けているタスクがあ
れば、そのタスクの上記優先度に書き込まれたコマンド
の数に応じて、上記所定ポイントを加算する(ステップ
S22)。あるいは、コマンドが1つ以上書き込まれて
いる場合には、その数に無関係に所定ポイントを上記優
先度に加算するようにしてもよい。
Process C shown in FIG. 4 is a method in which the presence of a command is added as a point to the priority itself of each task, and a priority reflecting the presence of the command is used. That is, when a command is written in the command box, a predetermined point corresponding to the priority is determined in advance for each command. First, the control program 2
The priority of each task is calculated, ignoring the presence or absence of a command for each task (step S21). The method of calculating the priority may be the same as described above. Then, it is checked whether or not a command is written in each command box of each task, and if there is a task receiving the command, the above-mentioned task is described according to the number of commands written in the priority of the task. The predetermined points are added (step S22). Alternatively, when one or more commands are written, a predetermined point may be added to the priority regardless of the number.

【0044】この優先度が最も高いタスクを次に実行す
べきタスク(k)として選択する(ステップS23)。
The task with the highest priority is selected as the task (k) to be executed next (step S23).

【0045】なお、上記処理Cでは、コマンドの種類に
関係なく、コマンドボックスに書き込まれている1つの
コマンドにつき、一律に所定ポイントを加算するもので
あったが、コマンドの種類に応じて、異なるポイントを
上記優先度に加算するようにしてもよい。すなわち、コ
マンドの種類によっては、その緊急度が異なる場合があ
る。例えば、リアルタイム性が求められるコマンド(例
えば、出力データに直接影響するようなコマンド)は、
早く応答する必要があるが、そうでないものは、緊急性
が要求されずCPUが空いているときに行えばよいとい
うものである。この場合、コマンドの種類に対応して、
そのコマンドの緊急度に応じたポイントを予め定めた、
例えば、図5に示すようなコマンドテーブルを予め設定
しておく。制御プログラム2は、図4のステップS22
で上記優先度にポイントを加算する際には、そのコマン
ドの種類に対応したポイント値を図5に示したコマンド
テーブルから読みとって、それを上記優先度に加算す
る。コマンドボックスに複数のコマンドが書き込まれて
いる場合は、そのそれぞれのコマンドの種類に対応した
ポイント値をコマンドテーブルから読みとって、それを
上記優先度に加算すればよい。
In the above process C, a predetermined point is uniformly added to one command written in the command box regardless of the type of command. However, different points are added depending on the type of command. Points may be added to the priority. That is, the degree of urgency may differ depending on the type of command. For example, commands that require real-time properties (for example, commands that directly affect output data)
It is necessary to respond quickly, but the other is that urgency is not required and the response should be made when the CPU is idle. In this case, depending on the type of command,
Predetermined points according to the urgency of the command,
For example, a command table as shown in FIG. 5 is set in advance. The control program 2 corresponds to step S22 in FIG.
When adding a point to the priority, a point value corresponding to the type of the command is read from the command table shown in FIG. 5 and is added to the priority. When a plurality of commands are written in the command box, a point value corresponding to the type of each command may be read from the command table and added to the priority.

【0046】以上説明したように、上記実施形態によれ
ば、制御プログラム2は、タスクがコマンドを受け付け
ていることを、次の処理対象のタスクを決定する際の複
数の判断基準のうちの1つとし、コマンドを受け付けた
タスクを優先的に次の処理対象のタスクとして決定する
ことにより(例えば、コマンドを受け付けたタスクのそ
れぞれについて、他の判断基準に基づき優先度を算出
し、この算出された優先度に基づき次の処理対象のタス
クとして決定する。あるいは、コマンドを受け付けてい
るタスクの有無を無視して、全てのタスクについて、他
の判断基準に基づきそれぞれ優先度を算出し、この算出
された優先度が最も高いものが複数あるときのみ、その
複数のタスクのうち、コマンドを受け付けているタスク
を次の処理対象のタスクとして決定する。)、コマンド
の応答性を損なわずにマルチタスク処理を可能にする。
例えば、ストリーミング処理におけるマルチタスク処理
中に外部からコマンドが入力されたときでも、コマンド
の応答性を損なわずにマルチタスク処理を可能にする。
As described above, according to the above embodiment, the control program 2 determines that a task has received a command by one of a plurality of criteria for determining the next task to be processed. The task that has received the command is preferentially determined as the task to be processed next (for example, for each task that has received the command, the priority is calculated based on another criterion, and the calculated The priority is determined as the next processing target task based on the priority, or the priority is calculated for all tasks based on other criteria, ignoring the presence or absence of a task that is accepting a command. Only when there is more than one task with the highest priority, the task that is accepting the command among the tasks Determining a click.), To allow multitasking without impairing the response of the command.
For example, even when a command is input from the outside during the multitask processing in the streaming processing, the multitask processing can be performed without impairing the responsiveness of the command.

【0047】また、タスクが受け付けているコマンドの
有無およびコマンドの数およびコマンドの種類のうちの
少なくとも1つを優先度を算出するための複数の判断基
準のうちの1つとして各タスクのそれぞれの優先度を算
出して、この優先度に基づき次の処理対象のタスクを決
定することにより、コマンドの応答性を損なわずにマル
チタスク処理を可能にする。例えば、ストリーミング処
理におけるマルチタスク処理中に外部からコマンドが入
力されたときでも、コマンドの応答性を損なわずにマル
チタスク処理を可能にする。
Further, at least one of the presence / absence of a command accepted by the task, the number of commands, and the type of command is set as one of a plurality of criteria for calculating the priority of each task. By calculating the priority and determining the next task to be processed based on the priority, multitask processing can be performed without impairing the responsiveness of the command. For example, even when a command is input from the outside during the multitask processing in the streaming processing, the multitask processing can be performed without impairing the responsiveness of the command.

【0048】さらに、次の処理対象のタスクを決定する
際に、上記他の判断基準の1つとして、各タスクの処理
の入出力系統の現状を考慮することにより、複数の処理
の入出力系統の現状が時々刻々と変化するような複数の
処理対象データに対するデータ処理をマルチタスク処理
にて実行することが可能となり、例えば、ストリーミン
グの際に、処理が所定の時刻に間に合うように行われ、
入力バッファがオーバーフローしたり、出力がとぎれた
りすることがなくなる。
Further, when determining the next task to be processed, as one of the other criteria, the current state of the input / output system of the processing of each task is taken into consideration, so that the input / output It becomes possible to execute data processing on a plurality of processing target data such that the current state changes moment by moment by multitask processing, for example, in the case of streaming, processing is performed in time for a predetermined time,
The input buffer does not overflow or the output is not interrupted.

【0049】なお、本発明は、上記実施形態に限定され
るものではなく、実施段階ではその要旨を逸脱しない範
囲で種々に変形することが可能である。さらに、上記実
施形態には種々の段階の発明は含まれており、開示され
る複数の構成用件における適宜な組み合わせにより、種
々の発明が抽出され得る。例えば、実施形態に示される
全構成要件から幾つかの構成要件が削除されても、発明
が解決しようとする課題の欄で述べた課題(の少なくと
も1つ)が解決でき、発明の効果の欄で述べられている
効果(のなくとも1つ)が得られる場合には、この構成
要件が削除された構成が発明として抽出され得る。
The present invention is not limited to the above-described embodiment, and can be variously modified in the practical stage without departing from the gist thereof. Furthermore, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriate combinations of a plurality of disclosed configuration requirements. For example, even if some components are deleted from all the components shown in the embodiments, (at least one of) the problems described in the column of the problem to be solved by the invention can be solved, and the effect of the invention can be solved. If at least one of the effects described in (1) is obtained, a configuration from which this component is deleted can be extracted as an invention.

【0050】また、本発明の実施の形態に記載した本発
明の手法は、コンピュータに実行させることのできるプ
ログラムとして、磁気ディスク(フロッピー(登録商
標)ディスク、ハードディスクなど)、光ディスク(C
D−ROM、DVDなど)、半導体メモリなどの記録媒
体に格納して頒布することもできる。
The method of the present invention described in the embodiment of the present invention can be executed by a computer as a program, such as a magnetic disk (floppy (registered trademark) disk, hard disk, etc.), an optical disk (C
D-ROMs, DVDs, etc.) and storage media such as semiconductor memories for distribution.

【0051】[0051]

【発明の効果】以上説明したように、本発明によれば、
コマンドの応答性を損なわずにマルチタスク処理を可能
にする。
As described above, according to the present invention,
Multitask processing can be performed without impairing command responsiveness.

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

【図1】本発明の実施形態に係る処理装置の要部の構成
を概念的に示した図。
FIG. 1 is a diagram conceptually showing a configuration of a main part of a processing apparatus according to an embodiment of the present invention.

【図2】制御プログラムのマルチタスク制御処理(処理
A)動作を説明するためのフローチャート。
FIG. 2 is a flowchart for explaining the multitask control processing (processing A) operation of the control program.

【図3】制御プログラムのマルチタスク制御処理(処理
B)動作を説明するためのフローチャート。
FIG. 3 is a flowchart for explaining a multitask control processing (processing B) operation of the control program.

【図4】制御プログラムのマルチタスク制御処理(処理
C)動作を説明するためのフローチャート。
FIG. 4 is a flowchart for explaining a multitask control processing (processing C) operation of the control program.

【図5】コマンドテーブルの一例を示した図。FIG. 5 is a diagram showing an example of a command table.

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

IDATA_1〜IDATA_n…入力データ IBF_1〜IBF_n…入力バッファ St_1〜St_m…ステータス関数 ODATA_1〜ODATA_s…出力データ OBF_1〜OBF_s…出力バッファ COM_1〜COM_n…コマンド CB_1〜CB_n…コマンドボックス IDATA_1 to IDATA_n ... input data IBF_1 to IBF_n ... input buffers St_1 to St_m ... status functions ODATA_1 to ODATA_s ... output data OBF_1 to OBF_s ... output buffers COM_1 to COM_n ... commands CB_1 to CB_n ... command boxes

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 複数の異なる処理をマルチタスク処理に
て実行するとともに、処理対象のタスクの切り替えにあ
たっては、次の処理対象のタスクを複数の判断基準に基
づき決定するようにしたマルチタスク処理方法におい
て、 複数のタスクのうちの少なくとも1つは、そのタスクの
処理において予め定められたコマンドを受け付けて、そ
のコマンドを処理するタスクであって、このタスクが前
記コマンドを受け付けていることを前記複数の判断基準
のうちの1つとし、前記コマンドを受け付けたタスクを
優先的に次の処理対象のタスクとして決定することを特
徴とするマルチタスク処理方法。
1. A multitask processing method for executing a plurality of different processes in a multitask process and determining a next process task based on a plurality of criteria when switching a task to be processed. In at least one of the plurality of tasks, a task that receives a predetermined command in the processing of the task and processes the command, and that the task has received the command, Wherein the task that has received the command is preferentially determined as the next processing target task.
【請求項2】 前記コマンドを受け付けたタスクについ
て、前記複数の判断基準のうちの他の判断基準に基づき
それぞれの優先度を算出し、この算出された優先度に基
づき次の処理対象のタスクとして決定することを特徴と
する請求項1記載のマルチタスク処理方法。
2. A task receiving the command calculates a priority based on another one of the plurality of criteria, and determines a task to be processed next based on the calculated priority. 2. The multitask processing method according to claim 1, wherein the determination is performed.
【請求項3】 前記コマンドを受け付けているタスクの
有無を無視して、まず、全てのタスクについて、前記複
数の判断基準のうちの他の判断基準に基づきそれぞれ優
先度を算出し、この算出された優先度が最も高いものが
複数あるとき、その複数のタスクのうち前記コマンドを
受け付けたタスクを次の処理対象のタスクとして決定す
ることを特徴とする請求項1記載のマルチタスク処理方
法。
3. Ignoring the presence or absence of a task that is accepting the command, first calculate the priority of each task based on another of the plurality of criteria, and calculate the priority. 2. The multitask processing method according to claim 1, wherein when there are a plurality of tasks having the highest priority, the task that has received the command among the plurality of tasks is determined as a task to be processed next.
【請求項4】 複数の異なる処理をマルチタスク処理に
て実行するとともに、処理対象のタスクの切り替えにあ
たっては、次の処理対象のタスクを複数の判断基準に基
づき決定するようにしたマルチタスク処理方法におい
て、 複数のタスクのうちの少なくとも1つは、そのタスクの
処理において予め定められたコマンドを受け付けて、そ
のコマンドを処理するタスクであって、このタスクが受
け付けているコマンドの有無およびコマンドの数および
コマンドの種類のうちの少なくとも1つを前記複数の判
断基準のうちの1つとして各タスクのそれぞれの優先度
を算出して、この算出された優先度に基づき次の処理対
象のタスクを決定することを特徴とするマルチタスク処
理方法。
4. A multitask processing method, wherein a plurality of different processes are executed in a multitask process, and a next task to be processed is determined based on a plurality of criteria when switching a task to be processed. , At least one of the plurality of tasks is a task that receives a predetermined command in the processing of the task and processes the command. The task includes the presence or absence of the command and the number of commands. And calculating the priority of each task using at least one of the command types as one of the plurality of criteria, and determining the next task to be processed based on the calculated priority. A multitask processing method.
【請求項5】 複数の異なる処理をマルチタスク処理に
て実行する処理装置において、 処理対象のタスクを切り替えるにあたって、次の処理対
象のタスクを複数の判断基準に基づき決定する決定手段
を具備し、 複数のタスクのうちの少なくとも1つは、そのタスクの
処理において予め定められたコマンドを受け付けて、そ
のコマンドを処理するタスクであって、前記決定手段
は、このタスクが前記コマンドを受け付けていることを
前記複数の判断基準のうちの1つとし、前記コマンドを
受け付けたタスクを優先的に次の処理対象のタスクとし
て決定することを特徴とする処理装置。
5. A processing device for executing a plurality of different processes in a multitask process, comprising: a determination unit for determining a next process target task based on a plurality of criteria when switching a process target task; At least one of the plurality of tasks is a task that receives a predetermined command in the processing of the task and processes the command, and the determining unit determines that the task receives the command. Is one of the plurality of criteria, and the task that has received the command is preferentially determined as the task to be processed next.
【請求項6】 複数の異なる処理をマルチタスク処理に
て実行する処理装置において、 処理対象のタスクを切り替えるにあたって、複数の判断
基準に基づきそれぞれの優先度を算出する算出手段と、 この算出手段で算出された優先度に基づき次の処理対象
のタスクを決定する決定手段とを具備し、 複数のタスクのうちの少なくとも1つは、そのタスクの
処理において予め定められたコマンドを受け付けて、そ
のコマンドを処理するタスクであって、前記算出手段
は、このタスクが受け付けているコマンドの有無および
コマンドの数およびコマンドの種類のうちの少なくとも
1つを前記複数の判断基準のうちの1つとして各タスク
のそれぞれの優先度を算出することを特徴とする処理装
置。
6. A processing device for executing a plurality of different processes in a multi-task process, wherein when switching a task to be processed, calculating means for calculating respective priorities based on a plurality of criteria, Determining means for determining a next processing target task based on the calculated priority, wherein at least one of the plurality of tasks receives a command predetermined in the processing of the task, and Wherein the calculating unit determines at least one of the presence or absence of a command, the number of commands, and the type of command accepted by the task as one of the plurality of determination criteria. A processing device for calculating the priority of each.
JP2000387405A 2000-12-20 2000-12-20 Multi-tack processing method and processor Pending JP2002189604A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000387405A JP2002189604A (en) 2000-12-20 2000-12-20 Multi-tack processing method and processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000387405A JP2002189604A (en) 2000-12-20 2000-12-20 Multi-tack processing method and processor

Publications (1)

Publication Number Publication Date
JP2002189604A true JP2002189604A (en) 2002-07-05

Family

ID=18854341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000387405A Pending JP2002189604A (en) 2000-12-20 2000-12-20 Multi-tack processing method and processor

Country Status (1)

Country Link
JP (1) JP2002189604A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007519061A (en) * 2003-12-26 2007-07-12 松下電器産業株式会社 Task scheduling apparatus, task scheduling method, task scheduling program, recording medium, and transmission medium
JP2009110120A (en) * 2007-10-26 2009-05-21 Panasonic Electric Works Co Ltd Data output controller

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007519061A (en) * 2003-12-26 2007-07-12 松下電器産業株式会社 Task scheduling apparatus, task scheduling method, task scheduling program, recording medium, and transmission medium
JP4675891B2 (en) * 2003-12-26 2011-04-27 パナソニック株式会社 Task scheduling apparatus, task scheduling method, task scheduling program, recording medium, and transmission medium
JP2009110120A (en) * 2007-10-26 2009-05-21 Panasonic Electric Works Co Ltd Data output controller

Similar Documents

Publication Publication Date Title
US7647594B2 (en) Processor system, task control method on computer system, computer program
EP3544247B1 (en) Transfer control device, transfer control method and computer-readable medium
US10884786B2 (en) Switch device, switching method, and computer program product
JP2003058382A (en) Preferential execution controlling method in information processing system, device and program therefor
JP2008506187A (en) Method and system for parallel execution of multiple kernels
EP1860555A2 (en) Media subsystem, method and computer program product for adaptive media buffering
KR20050020942A (en) Continuous media priority aware storage scheduler
JP2000048001A (en) Real time shared disk system for computer cluster
JP2011505037A (en) Read data buffering system and method
WO2006009261A1 (en) Real time processing software control device and method
JP2004362100A (en) Information processor, method for controlling process, and computer program
US20050188189A1 (en) Methods for reducing energy consumption of buffered applications using simultaneous multi-threading processor
EP4350515A1 (en) Load balancing method for multi-thread forwarding, and related apparatus
CN113157467A (en) Multi-process data output method
US20180181447A1 (en) Clock Task Processing Method, Apparatus, and Device
JP2002049497A (en) Data processing method and processor
JP2002189604A (en) Multi-tack processing method and processor
CN115237639B (en) Single-chip microcomputer data processing system and method for realizing multichannel data acquisition
WO2023072028A1 (en) Music caching method and apparatus, and electronic device and storage medium
US20070177581A1 (en) Flow control mechanism in a data processing pipeline
CN100576175C (en) The parallel executing method and the system that are used for a plurality of kernels
US8615165B2 (en) Video-recording and replaying apparatus, I/O scheduling method, and program
JP2006059340A (en) Real-time processing software controller and method
US20060020935A1 (en) Scheduler for dynamic code reconfiguration
JP3975795B2 (en) Task management apparatus, method and program