JPS62105241A - Sequence controller for data processor - Google Patents

Sequence controller for data processor

Info

Publication number
JPS62105241A
JPS62105241A JP21557086A JP21557086A JPS62105241A JP S62105241 A JPS62105241 A JP S62105241A JP 21557086 A JP21557086 A JP 21557086A JP 21557086 A JP21557086 A JP 21557086A JP S62105241 A JPS62105241 A JP S62105241A
Authority
JP
Japan
Prior art keywords
queue
task
control device
address
priority
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
JP21557086A
Other languages
Japanese (ja)
Inventor
デービッド・エイ・ヴァンダーウィック
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.)
Motorola Solutions Inc
Original Assignee
Codex 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 Codex Corp filed Critical Codex Corp
Publication of JPS62105241A publication Critical patent/JPS62105241A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 (産業上の利用分野) この発明は、多重タスクがデータプロセッサで処理され
るシーケンスの制御に関する。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) This invention relates to controlling the sequence in which multiple tasks are processed by a data processor.

最も優先度の高いタスクを処理し、タスクのシーケンシ
ングに帰因するオーバーへyドを最小にすることが望ま
しい。
It is desirable to process the highest priority tasks and minimize the overhead due to task sequencing.

(発明の概要) 発明の一般的特徴は、特定の優先度の保留中のタスクを
識別する情報を各々含むキュー(queue)を記憶し
、最も優先度が高く空きではないキューを識別すること
ができるキュー占有データを維持し、キュー占有データ
に基づいてキュー記憶装置にアクセスして最も優先度の
高い保留中のタスクを見出すことによって、処理される
べき次のタスクと指定することにある。
SUMMARY OF THE INVENTION A general feature of the invention is to store queues, each containing information identifying pending tasks of a particular priority, and to identify the highest priority queue that is not free. The task is to maintain queue occupancy data that can be processed and access queue storage based on the queue occupancy data to find the highest priority pending task and designate it as the next task to be processed.

発明の好ましい実施例は次の特徴を含んでいる。A preferred embodiment of the invention includes the following features.

占有データはビットマツプであって5その引き続くビッ
トは対応するキューの空き状悪又は空きでない状悪を表
わす、該ビットマツプはキューアドレステーブルに適用
されて、最も優先度の高い空きでないキューのアドレス
が求められる。ビットマツプの引き続くビットに対応す
るキューは優先度の順に並んでいる。最も優先度の低い
キューは常に背景タスクのみを含み、ビットマツプでそ
れに対応するビットは常に空きキューの値である。
The occupancy data is a bitmap whose successive bits represent the free or non-free status of the corresponding queue, and the bitmap is applied to the queue address table to determine the highest priority non-free queue address. It will be done. The queues corresponding to successive bits of the bitmap are ordered by priority. The lowest priority queue always contains only background tasks, and its corresponding bit in the bitmap is always the value of the free queue.

タスクはタスク記憶装置の割り当てられたアドレスのと
ころに記憶される。各キューはそのキューの最も古い保
留中のタスクのタスクアドレスを保持し、タスク記憶装
置も、そのキューの次の最新の保留タスクを表わす各タ
スクに対するリンクを保持する。キューも最新の保留タ
スクのアドレスを保持する。あるキューに対して保留さ
れるタスクがない場合、該キューは値ゼロを保持する。
The task is stored at the assigned address in the task store. Each queue maintains the task address of the oldest pending task in that queue, and the task store also maintains a link to each task representing the next most recent pending task in that queue. The queue also holds the address of the latest pending task. If there are no tasks pending for a queue, the queue holds a value of zero.

キューアドレスはビットマツプテーブルの複数のロケー
ションにまたがり、ビットマツプは偶数値のみをとるこ
とができるオフセットアドレスである。
The queue address spans multiple locations in the bitmap table, and the bitmap is an offset address that can only take even values.

各タスクが実行された後、キューは更新される。The queue is updated after each task is executed.

タスクは優先皮層に処理され、ビットマツプを更新して
それを符号器テーブルに適用するのに要するオーバーヘ
ッドは極めて小さい。
Tasks are processed on a priority basis, and the overhead required to update the bitmap and apply it to the encoder table is extremely small.

他の利点及び特徴は、以下の好ましい実施例の説明及び
特許請求の範囲から明らかとなろう。
Other advantages and features will be apparent from the following description of the preferred embodiments and from the claims.

(構成) 第1図において、タスクプロセッサ10は、タスク実行
器15によって実行されるべき現在の一組のタスクのタ
スク制御ブロック14を保持するタスク記憶装置12を
含む、実行を待っている保留中のタスクの組は、タスク
が実行され新たなタスクの実行準備が完了するにつれて
、時間と共に変化する。高い優先度のタスクが低い優先
度のタスクより前に常に実行されるように、各タスクに
は優先度が予め割り当てられている。同じ優先度のタス
クはファーストイン ファーストアウトのl1Ii序に
のっとって実行されることになっている。
Structure In FIG. 1, a task processor 10 includes a task store 12 that holds task control blocks 14 of a current set of tasks to be executed by a task executor 15, pending execution. The set of tasks changes over time as tasks are executed and new tasks are ready for execution. Each task is pre-assigned a priority so that higher priority tasks are always executed before lower priority tasks. Tasks with the same priority are to be executed in a first-in first-out order.

タスク記憶装置、12では、各タスク制御ブロック14
が1つのアドレス16に記憶される。各タスク制御ブロ
ックでは、ある優先度内のタスクのファーストイン・フ
ァーストアウトの順序に於る位置を指定する情報が記憶
される。この情報はリンク18の形をしており、該リン
ク18は処理を待つ同一優先度の保留中の次のタスクの
タスク制御ブロックの(記憶装置12における)アドレ
スである。もし何もなければ、リンク18の値はゼロで
ある。各タスク制御ブロックはコンチクスト21(実行
されるべきタスクの次の指令のタスクメモリ〈図示せず
)でのアドレスを含む)と優先度バイト23(8ビツト
のバイトで、タスクの優先度を後述のやり方で表示する
)とを有する。
In the task storage device 12, each task control block 14
is stored in one address 16. Each task control block stores information specifying the position in the first-in/first-out order of tasks within a certain priority level. This information is in the form of a link 18, which is the address (in storage 12) of the task control block of the next pending task of the same priority awaiting processing. If there is none, the value of link 18 is zero. Each task control block consists of a concatenation 21 (containing the address in task memory (not shown) of the task's next command to be executed) and a priority byte 23 (an 8-bit byte that specifies the task's priority as described below). (displayed in a certain manner).

一般に、タスク実行器15がタスクの実行を停止したと
き、タスク実行器15はタスク完了信号19を次グタス
クアドレス発生器20へ送出する。
Generally, when the task executor 15 stops executing a task, the task executor 15 sends a task completion signal 19 to the next task address generator 20.

すると、発生器20はタスク切換器25に対して次のタ
スクのタスク制御ブロック(TCB)アドレス22を発
出する。そこで、タスク切換器25はTCBアドレス2
2を記憶装置22へ印加して、タスク制御ブロック14
を求める。アドレス発生器20は一組のキューを記憶す
る。そのうちの1つのキューは各優先度に対するもので
ある。各キューはその優先度に対するファーストイン及
びラストインの保留タスクのTCBアドレスをタスク記
憶装置12に含んでいる。
Then, the generator 20 issues the task control block (TCB) address 22 of the next task to the task switch 25. Therefore, the task switch 25 selects TCB address 2.
2 to the storage device 22 and the task control block 14
seek. Address generator 20 stores a set of queues. One queue is for each priority. Each queue contains in task store 12 the TCB addresses of first-in and last-in pending tasks for that priority.

第2図には、8個の異なる優先度のキュー30が示され
ている(0〜7の番号が付けられ、7は最も優先度が高
い)、各キューはキューアドレス32において記憶され
、ファーストイン及びラストインの保留中のタスクのく
タスク記憶装置、12における)2個のTCBアドレス
34.36を含んでいる。特定の優先度のタスクが実行
を待機していなければ、そのキューは値ゼロを含む(例
えば、第2図におけるアドレスQBのキュー)、特定の
優先度をもつタスクがただ1つしかないとき、そ、のア
ドレスはファーストイン及びラストインのタスクのアド
レス34.36に現われる(例えば、優先度5のキュー
のタスクQ)、今後、特定の優先度、例えば5のキュー
は単にキュー5とよぶことにする。所与の時点に、タス
ク実行器15によって実行されている現在のタスクのT
CBアドレスは、ゼロを含んでいない(即ち、空きでは
ない状態の〉最高優先度キューに位置する。タスク記憶
装置12には常に少くとも1個のタスク(背景タスクと
よばれる)が存在する。キューOは背景タスクのTCB
アドレスを、しかもそれだけを常に含む。
In FIG. 2, eight different priority queues 30 are shown (numbered 0-7, with 7 being the highest priority), each queue being stored at a queue address 32, with the first The task storage for pending tasks in and last in, 12), contains two TCB addresses 34 and 36. If no task of a particular priority is waiting to be executed, its queue contains the value zero (e.g., the queue at address QB in Figure 2); when there is only one task of a particular priority; That address appears in addresses 34 and 36 of first-in and last-in tasks (for example, task Q in a queue with priority 5).Hereafter, a queue with a specific priority, for example 5, will be simply referred to as queue 5. Make it. T of the current task being executed by the task executor 15 at a given time
The CB address is located in the highest priority queue that does not contain zero (ie, is not free). There is always at least one task in the task store 12 (referred to as a background task). Queue O is the TCB of the background task
Always include the address, and only that.

再び第1図に戻ると、各制御ブロック14のレベルバイ
ト23は、8とブトバイl−内の1つのビット位置での
単一の値によってタスクの優先度を示す0例えば、レベ
ルバイト0000100は優先度2のタスクを示す。
Returning again to FIG. 1, the level byte 23 of each control block 14 indicates the priority of the task by a single value of 8 and 0 in one bit position within the byte l-, e.g., level byte 0000100 indicates priority. Showing the second degree task.

発生器20はビットマツプを使って各種のキューの空き
状態又は空きでない状R念追っていくが、これは次のや
り方で行なわれる。
Generator 20 uses the bitmap to keep track of the empty or non-empty status of the various queues, and this is done in the following manner.

第3図において、ビットマツプ50には、8個の異なる
キューに順に対応する8個の位置がある。
In FIG. 3, there are eight locations in bitmap 50 that correspond in turn to eight different queues.

−iに、所与のピッ1〜位置は、そのキューが空きであ
れば値がゼロであり、空きでなければ値1である。つま
り、ビットマツプでの最高位の1の値は、実行を待機し
ているタスクのタスクアドレスを含む最高優先度のキュ
ーを示すことになる。第3図に示された特定のビットマ
ツプ50では、位置7での値1はキュー7が保留タスク
のアドレスを含む最高優先度キューであることを示す。
-i, a given p1~position has a value of zero if the queue is empty, and a value of one if it is not. That is, the highest value of 1 in the bitmap indicates the highest priority queue containing the task address of the task waiting to be executed. In the particular bitmap 50 shown in FIG. 3, the value 1 at location 7 indicates that queue 7 is the highest priority queue containing the addresses of pending tasks.

キュー0は常に背景タスクによって占有されるので、ど
のビットマツプの低位のビットも上述の−m規則の下で
は値1となる。しかしながら、第3図かられかるとおり
、低位のビットは常に任意に値ゼロに設定される(その
理由は以下で明らかとなろう)、つまり、ビットマツプ
がとり得る異なる値は128個あることになる。
Since queue 0 is always occupied by a background task, the low order bit of any bitmap will have the value 1 under the -m rule described above. However, as can be seen from Figure 3, the lower bits are always arbitrarily set to the value zero (for reasons that will become clear below), which means that there are 128 different values that the bitmap can take. .

ビットマツプの形成は、実行を待機する全てのタスクの
レベルバイトについて論理和演算を実施することによっ
て行われる。ビットマツプの低位ビットが常にゼロとな
るようにするために、背景タスクのレベルバイトはoo
oooooに設定される。
The bitmap is formed by performing an OR operation on the level bytes of all tasks waiting to be executed. To ensure that the low-order bits of the bitmap are always zero, the background task's level byte is set to oo
It is set to ooooo.

第4図について説明すると、優先度符号器テーブル60
(第1図の発生器20内に記憶されている)を用いて、
各可能なビットマツプを適正なキューアドレス即ちゼロ
を含まない最も優先度の高いアドレスへ変換する0例え
ば、第2図及び第3図において、ビットマツプ50(第
4図)は、保留中のタスクを持つ最も優先度の高いキュ
ーであるキュー7のアドレスQAに変換される。ff先
度符号器テーブル60は(キュー0のアドレス及びキュ
ー1のアドレスを除く)各キューアドレスの多重コピー
を備えている。例えば、アドレスQAの04個のコピー
を備えており、これは低位の優先度の結合数を表わして
いる。換言すれば、ゼロのキューとキュー7より優先度
の低い占有されたキューとの可能な結合が64個あるが
、キュー7が占有されている限り、キューアドレスは6
4個の全ての場合においてQAでなければならない。
Referring to FIG. 4, priority encoder table 60
(stored in generator 20 of FIG. 1),
For example, in FIGS. 2 and 3, bitmap 50 (FIG. 4) has a pending task. It is converted to the address QA of queue 7, which is the queue with the highest priority. The ff precedence encoder table 60 contains multiple copies of each queue address (except for queue 0 addresses and queue 1 addresses). For example, it has 04 copies of address QA, which represents a low priority binding number. In other words, there are 64 possible combinations of a zero queue and an occupied queue of lower priority than queue 7, but as long as queue 7 is occupied, the queue address is 6.
Must be QA in all four cases.

第5図について説明すると、次タスクアドレス発生器2
0において優先度符号器テーブル60はキュー指定器6
4の一部とな−)でいる9キユー30の現在の占有状態
を表わすビットマツプらOは、同じくキュー指定器64
の一部をなすビットマツプ発生器66によって優先度符
号器テーブル60へ与えられる。ビットマツプ50は優
先度符号器テーブル60の基本アドレスへ加えられたオ
フセットアドレスとして、即ち最初のキューアドレスエ
ントリ32が現われるロケーションのアドレス67とし
て、優先度符号器テーブル60内の適正なロケーション
を得るために用いられる。符号器テーブル60において
は、各キューアトトスは2個の引き続くバイトロケーシ
ョンを占有する。
To explain FIG. 5, the next task address generator 2
0, the priority encoder table 60 is the queue specifier 6
A bitmap representing the current occupancy state of the 9 queues 30, which are part of
is provided to a priority encoder table 60 by a bitmap generator 66 that is part of the encoder table 60. The bitmap 50 is used as an offset address added to the base address of the priority encoder table 60, i.e. as the address 67 of the location where the first queue address entry 32 appears, to obtain the proper location in the priority encoder table 60. used. In encoder table 60, each cue atto occupies two consecutive byte locations.

引き続くアドレスの最初のバイトは奇数番の引き続くオ
フセットアドレスにそれぞれ配置される。
The first byte of successive addresses is placed at each odd successive offset address.

上述のように、ビットマツプの最も優先度の低いビット
は常にゼロにセットされているから、ビットマツプは、
所望により、奇数の値のオフセットアドレスを必ず表わ
すことになる。
As mentioned above, the lowest priority bit of a bitmap is always set to zero, so the bitmap is
If desired, odd-valued offset addresses will always be represented.

−最に、ビットマツプ発生器66はキュー更新器72か
ら受は取った優先度バイト70に基づいてビットマツプ
50を求める。キュー更新器72は、タスク完了信号1
9又は次タスク制御ブロックアドレス(実行準備が完了
した次タスクのTCI+アドレスを表わす)を受は収っ
たときは常に、キュー記憶装置74に記憶されたキュー
を更新する。
-Finally, the bitmap generator 66 determines the bitmap 50 based on the priority byte 70 received from the queue updater 72; The queue updater 72 receives the task completion signal 1
9 or the next task control block address (representing the TCI+address of the next task that is ready for execution), updates the queue stored in queue storage 74.

キュー記憶装置74は優先度符号器テーブル60から各
現行キューアドレス32を受は取り、それに対応するT
CPアドレス22を出力する。
Queue store 74 receives each current queue address 32 from priority encoder table 60 and stores its corresponding T
Outputs CP address 22.

詳述すると、タスク完了信号19が到来する度に、キュ
ー更新器72は同じ優先度の別のタスクが実行を待機し
ているかどうかを知る。これは、丁度完了したタスクの
TCBにおけるリンクフィールドを点検することによっ
て決定される。もし同一優先度のタスクが実行待機中で
あれば、リンクは次のタスクのTCBアドレスを含む、
該TCBアドレスはタスク切換器25へ送られる。切換
器25はこのTCBアドレスを記憶装置12へ印加して
タスク制御ブロックを得る。そこでタスク切換器25は
タスク制御ブロックを用いて当該タスクの実行を開始す
る。
Specifically, each time the task completion signal 19 arrives, the queue updater 72 learns whether another task with the same priority is waiting to be executed. This is determined by checking the link field in the TCB of the task that just completed. If a task with the same priority is waiting to execute, the link contains the TCB address of the next task.
The TCB address is sent to the task switch 25. Switcher 25 applies this TCB address to storage device 12 to obtain a task control block. Then, the task switch 25 starts executing the task using the task control block.

丁度完了したタスクと同じ優先度の実行待機中の他のタ
スクがない場合、即ち、丁度完了したタスクのTCBの
リンクフィールドがゼロである場合、ビットマッグは更
新されなければならない。
If there is no other task waiting to execute with the same priority as the just completed task, ie, the link field of the TCB of the just completed task is zero, then the bitmag must be updated.

これを達成するために、キュー更新器はビットマツプ発
生器66に対して、丁度完了したタスクの優先度バイト
を送出する。この優先度バ・イトの値1のビットはビッ
トマツプ発生器66によって理論的にビットマツプから
除去される。改訂されたビットマツプは優先度符号器テ
ーブル60へ送られて、新たな最高優先度のキューを重
刑する。
To accomplish this, the queue updater sends to bitmap generator 66 the priority byte of the task that just completed. The value 1 bit of this priority byte is theoretically removed from the bitmap by bitmap generator 66. The revised bitmap is sent to priority encoder table 60 to enforce the new highest priority queue.

タスク完了信号1つが現われる度に、キュー更新器72
6丁度完了したタスクからリンクを求め、それを適当な
キューのファーストインタスク制御ブロックアドレスの
代わりに用いる。
Each time one task completion signal appears, the queue updater 72
6. Determine the link from the task that just completed and use it in place of the first-in-task control block address of the appropriate queue.

あるタスクの実行の準備が最初に完了すると、そのタス
ク制御ブロックアドレスがキュー更新器72に到来する
。キュー更新器はTCBアドレスを用いてタスク制御ブ
ロック記憶装置12から新たなタスクの優先度パイ1〜
を求める。キュー更新器は該優先度バイ1−をライン7
9を介して優先度符号器テーブル60へ印加して、更新
されるべきキューのアドレスを求める。該アドレスはキ
ュー記憶装置74へ印加されて、当該キューが空きであ
るかどうかを決定する。空きであれば、キュー更新器7
2は新たなタスクのTCBアドレスを保持するためにキ
ューテーブルでのファーストインとラストインとのエン
トリを更新する。空きでなければ、キュー更新器72は
ラストインアドレスのみを更新し、新たなタスクのTC
Bアドレスを以前のラストインタスクの以前のゼロのリ
ンクに挿入する。またキュー更新器は優先度バイトとビ
ットマツプのそのコピーとの論理和をとり、ピッl−マ
ツプが新たな最高優先度キューのピッ1−マツプへ変更
されるかどうかを求める。変更されるのであれば、新た
なタスクは最も優先度の高いタスクである。そこでキュ
ー更新器はそのTCBアドレス22をタスク切換器25
へ送らせる。タスク切換器25はそこで現在のタスクの
実行を中断して新たなタスクの実行を開始する。
When a task is first ready for execution, its task control block address comes to queue updater 72. The queue updater uses the TCB address to update the priority of the new task from the task control block storage 12.
seek. The queue updater transfers the priority by 1- to line 7.
9 to the priority encoder table 60 to determine the address of the queue to be updated. The address is applied to queue storage 74 to determine whether the queue is free. If it is empty, queue updater 7
2 updates the first-in and last-in entries in the queue table to hold the TCB address of the new task. If it is not empty, the queue updater 72 updates only the last-in address and updates the TC of the new task.
Insert the B address into the previous zero link of the previous last-in task. The queue updater also ORs the priority byte with its copy of the bitmap to determine whether the p1-map is changed to the p1-map of the new highest priority queue. If changed, the new task is the highest priority task. Therefore, the queue updater transfers the TCB address 22 to the task switcher 25.
have it sent to The task switcher 25 then interrupts execution of the current task and begins execution of a new task.

動作を説明すると、タスクの実行準備が完了すると、キ
ュー更新器はリンクとキューとを適切に更新する。所与
の時間にファーストイン最高優先度タスクが実行用に選
択されたタスクであるように、タスクは次々と実行のた
めに識別される。キュー記憶装置の占有を表わすビット
マツプが優先度符号器テーブルへ印加される。優先度符
号器テーブルは必要なキューアドレスを出力する。各タ
スクが終了した後、ビットマツプが更新され、次のタス
クアドレスが優先度符号器テーブルから求められる。
In operation, when a task is ready for execution, the queue updater updates the links and queues appropriately. Tasks are identified for execution one after another such that at a given time the first-in highest priority task is the task selected for execution. A bitmap representing queue storage occupancy is applied to the priority encoder table. The priority encoder table outputs the required queue addresses. After each task finishes, the bitmap is updated and the next task address is determined from the priority encoder table.

ビットマツプと優先度符号器テーブルとによって、次の
タスクを最小のオーバーヘッドで迅速に指示することが
可能となる。
The bitmap and priority encoder table allow the next task to be directed quickly with minimal overhead.

他の実施例も特許請求の範囲内に含まれる。Other embodiments are within the scope of the claims.

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

第1図は、この発明におけるタスクプロセッサのブロッ
ク図である。 第2図は、キューのテーブルである。 第3図は、ビットマツプである。 第4図は、優先度符号器テーブルである。 第5図は、第1図の次タスクアドレス発生器のブロック
図である。 (外5名) 図面のンγC<内容に変更なし) ; FiG 2 /゛′ 手続補正再 昭和61年特許願第215570号 2)発明の名称 データブロセッザ用シーケンス制御装置3、補正をする
者 事件との関係  特許出願人 住所 名 称  コーデックス・コーポレーション4、代理人 住 所  東京都千代田区大手町二丁目2?#1号5、
補正の対象
FIG. 1 is a block diagram of a task processor in this invention. FIG. 2 is a table of queues. FIG. 3 is a bitmap. FIG. 4 is a priority encoder table. FIG. 5 is a block diagram of the next task address generator of FIG. (5 others) Drawing NγC <No change in content); Fig 2 /゛' Procedural amendment Re-Patent Application No. 215570 of 1988 2) Name of the invention Sequence control device for data processor 3, amended Relationship with the Patent Case Patent Applicant Address Name Codex Corporation 4, Agent Address 2-2 Otemachi, Chiyoda-ku, Tokyo? #1 No. 5,
Target of correction

Claims (11)

【特許請求の範囲】[Claims] (1)処理を待機している保留中の複数のタスクの中か
ら、処理すべき次のタスクを指定することによって、デ
ータプロセッサでの多重タスクの実行シーケンスを制御
するための制御装置であって、前記タスクのそれぞれが
、異なる優先度の順で処理を行うために所定の優先度を
有し、 前記異なる優先度とそれぞれ関連し、前記の関連する優
先度を持つ保留中のタスクを識別する情報を含む複数の
キューを記憶するキュー記憶装置と、 最も高い優先度を有し空きでないキューを識別するキュ
ー占有データを維持するための手段と、前記キュー占有
データに基づいて前記キュー記憶装置へアクセスして最
も優先度の高い保留中のタスクを発見するための手段と
、 を具備することを特徴とする制御装置。
(1) A control device for controlling the execution sequence of multiple tasks in a data processor by specifying the next task to be processed from among a plurality of pending tasks waiting to be processed. , each of said tasks having a predetermined priority for processing in a different priority order, each associated with said different priority, and identifying pending tasks with said associated priority; a queue storage device for storing a plurality of queues containing information; means for maintaining queue occupancy data identifying a queue that has the highest priority and is not free; A control device comprising: means for accessing and discovering the highest priority pending task;
(2)特許請求の範囲第1項記載の制御装置において、
前記占有データが、対応する前記キューの空き状態又は
空きでない状態をそれぞれ表わす一連のビットを有する
ビットマップを備え、前記のアクセスするための手段が
、それぞれが前記キュー記憶装置内の1つの前記キュー
のキューアドレスであるエントリのテーブルと、前記ビ
ットマップを前記テーブルへ印加して最高優先度の空き
でないキューのキューアドレスを求めるための手段とを
備えることを特徴とする制御装置。
(2) In the control device according to claim 1,
The occupancy data comprises a bitmap having a series of bits each representing the free or non-free state of the corresponding queue, and the means for accessing each one of the queues in the queue storage device. A control device comprising: a table of entries which are queue addresses of queue addresses; and means for applying said bitmap to said table to determine the queue address of the highest priority non-empty queue.
(3)特許請求の範囲第1項記載の制御装置において、
前記占有データが、対応する前記キューの空き状態又は
空きでない状態をそれぞれ表わす一連のビットを有する
ことを特徴とする制御装置。
(3) In the control device according to claim 1,
A control device characterized in that the occupancy data includes a series of bits each representing an empty state or a non-empty state of the corresponding queue.
(4)特許請求の範囲第2項又は第3項記載の制御装置
において、引き続くビットに対応する前記キューが前記
の優先度の順に従つて配列されていることを特徴とする
制御装置。
(4) A control device according to claim 2 or 3, wherein the queues corresponding to successive bits are arranged in the order of priority.
(5)特許請求の範囲第2項又は第3項記載の制御装置
において、1つの前記キューが常に背景タスクを含み、
前記1つのキューに対応する前記ビットが、空きでない
キューを表わす値とは別の値に常に設定されていること
を特徴とする制御装置。
(5) In the control device according to claim 2 or 3, one of the queues always includes a background task;
A control device characterized in that the bit corresponding to the one queue is always set to a value different from a value representing a non-empty queue.
(6)特許請求の範囲第5項記載の制御装置において、
前記1つのキューが最も優先度の低いキューであり、前
記背景タスクのみを含むことを特徴とする制御装置。
(6) In the control device according to claim 5,
A control device characterized in that the one queue is a queue with the lowest priority and includes only the background task.
(7)特許請求の範囲第1項記載の制御装置において、
割り当てられたタスクアドレスに前記タスクのそれぞれ
を保有するためのタスク記憶装置を更らに備え、前記キ
ュー記憶装置が前記キューのそれぞれに関して、前記キ
ューの優先度を持つ最も古い保留中のタスクのタスクア
ドレスを保有し、前記タスク記憶装置が前記タスクのそ
れぞれに関して、当該キューに対する次の最新の保留中
のタスクのタスクアドレスを表わすリンクを保有するこ
とを特徴とする制御装置。
(7) In the control device according to claim 1,
further comprising a task store for holding each of said tasks at an assigned task address, said queue store storing, with respect to each of said queues, a task of the oldest pending task having a priority of said queue; A control device having an address and wherein said task store has, for each said task, a link representing the task address of the next most recent pending task for that queue.
(8)特許請求の範囲第7項記載の制御装置において、
前記キュー記憶装置が最新の保留中のタスクのタスクア
ドレスを更らに保有することを特徴とする制御装置。
(8) In the control device according to claim 7,
A control device characterized in that the queue storage further holds a task address of the latest pending task.
(9)特許請求の範囲第8項記載の制御装置において、
前記キュー記憶装置が、保留中のタスクのないどのキュ
ーに対しても値ゼロを保有することを特徴とする制御装
置。
(9) In the control device according to claim 8,
A control device characterized in that the queue storage device holds a value of zero for any queue that has no pending tasks.
(10)特許請求の範囲第2項記載の制御装置において
、前記キューのそれぞれが前記キュー記憶装置にキュー
アドレスにおいて記憶され、前記キューアドレスが前記
テーブルにおいて複数のロケーションにまたがり、前記
ビットマップが奇数値のみを有するオフセットアドレス
であることを特徴とする制御装置。
(10) In the control device according to claim 2, each of the queues is stored in the queue storage device at a queue address, the queue address spans a plurality of locations in the table, and the bitmap is odd. A control device characterized in that the offset address has only numerical values.
(11)特許請求の範囲第1項記載の制御装置において
、前記タスクのそれぞれの実行後に前記キューの情報を
更新するためのキュー更新器を更らに備えることを特徴
とする制御装置。
(11) The control device according to claim 1, further comprising a queue updater for updating information in the queue after each of the tasks is executed.
JP21557086A 1985-09-17 1986-09-12 Sequence controller for data processor Pending JPS62105241A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US77684985A 1985-09-17 1985-09-17
US776849 1985-09-17

Publications (1)

Publication Number Publication Date
JPS62105241A true JPS62105241A (en) 1987-05-15

Family

ID=25108567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21557086A Pending JPS62105241A (en) 1985-09-17 1986-09-12 Sequence controller for data processor

Country Status (3)

Country Link
JP (1) JPS62105241A (en)
AU (1) AU6244686A (en)
GB (1) GB2181871B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01319828A (en) * 1988-06-21 1989-12-26 Nec Corp Data processor
JP2010243717A (en) * 2009-04-03 2010-10-28 Kyocera Mita Corp Image processor

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1322422C (en) * 1988-07-18 1993-09-21 James P. Emmond Single-keyed indexed file for tp queue repository
US5220653A (en) * 1990-10-26 1993-06-15 International Business Machines Corporation Scheduling input/output operations in multitasking systems
WO1992017796A1 (en) * 1991-03-28 1992-10-15 The Commonwealth Of Australia Radar control task scheduling
GB2372847B (en) 2001-02-19 2004-12-29 Imagination Tech Ltd Control of priority and instruction rates on a multithreaded processor
CN106547611A (en) * 2015-09-16 2017-03-29 中兴通讯股份有限公司 Method for scheduling task and device based on Business Stream

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6091452A (en) * 1983-10-26 1985-05-22 Oki Electric Ind Co Ltd Task scheduling system of data processor
JPS60169946A (en) * 1984-02-14 1985-09-03 Fujitsu Ltd Task control system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3496551A (en) * 1967-07-13 1970-02-17 Ibm Task selection in a multi-processor computing system
GB1345950A (en) * 1970-12-22 1974-02-06 Int Standard Electric Corp Digital electric data processing system
DE2659662C3 (en) * 1976-12-30 1981-10-08 Ibm Deutschland Gmbh, 7000 Stuttgart Priority level controlled interrupt device
GB8329509D0 (en) * 1983-11-04 1983-12-07 Inmos Ltd Computer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6091452A (en) * 1983-10-26 1985-05-22 Oki Electric Ind Co Ltd Task scheduling system of data processor
JPS60169946A (en) * 1984-02-14 1985-09-03 Fujitsu Ltd Task control system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01319828A (en) * 1988-06-21 1989-12-26 Nec Corp Data processor
JP2010243717A (en) * 2009-04-03 2010-10-28 Kyocera Mita Corp Image processor

Also Published As

Publication number Publication date
GB2181871B (en) 1989-04-12
GB2181871A (en) 1987-04-29
GB8622240D0 (en) 1986-10-22
AU6244686A (en) 1987-03-19

Similar Documents

Publication Publication Date Title
US4864495A (en) Apparatus for controlling vacant areas in buffer memory in a pocket transmission system
US7808999B2 (en) Method and apparatus for out-of-order processing of packets using linked lists
US4956771A (en) Method for inter-processor data transfer
EP0582666A1 (en) Method and apparatus for buffering data within stations of a communication network
JPH07311726A (en) Calculation system and related method
JPS62105241A (en) Sequence controller for data processor
US6912712B1 (en) Real time control system for multitasking digital signal processor using ready queue
JPH0214330A (en) Information processing unit
JPS5897944A (en) Data transfer system among microprocessors
US6182164B1 (en) Minimizing cache overhead by storing data for communications between a peripheral device and a host system into separate locations in memory
US7493463B2 (en) Code size reduction method through multiple load/store instructions
JP2570753B2 (en) Data transfer control device
JPH11502340A (en) Apparatus and method for processing digital signals and processing apparatus constituted thereby
US20240146664A1 (en) Efficient network device work queue
JPH05204816A (en) High-efficiency access method to storage data in connecting table
JP2000040057A (en) Computer system, buffer controller and transferring method
JP3076303B2 (en) Information processing device
JPS6048563A (en) Channel control system
JPH1069429A (en) Device and program for buffer allocation management
JPH09204326A (en) Image data storage controller
JP2524619B2 (en) Information transmission device
JP2534797B2 (en) Curing control system
JPS63108448A (en) Input/output request control system
JPH05257795A (en) Buffer managing system
JPS63182755A (en) Read control system for duplicated filing device