JPH0471034A - Multitask execution device - Google Patents
Multitask execution deviceInfo
- Publication number
- JPH0471034A JPH0471034A JP2183423A JP18342390A JPH0471034A JP H0471034 A JPH0471034 A JP H0471034A JP 2183423 A JP2183423 A JP 2183423A JP 18342390 A JP18342390 A JP 18342390A JP H0471034 A JPH0471034 A JP H0471034A
- Authority
- JP
- Japan
- Prior art keywords
- bank
- register
- context
- value
- register files
- 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
Links
Abstract
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、複数のタスクを効率よく実行するマルチタス
ク実行装置に関するものである。DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a multitask execution device that efficiently executes multiple tasks.
(従来の技術)
従来、マルチタスク実行装置において、複数のレジスタ
ファイルを持つマルチバンクシステムにおけるレジスタ
ファイルの切り替えは、ユーザバンクに割り当てられた
レジスタファイルからのシステムコールによりオペレー
ティングシステム(以下、O8という。)か実行される
レジスタファイルに起動をかけ、続いて、次にO8が実
行されるべきユーザタスクを捜し出し、1つのレジスタ
ファイルにそのユーザタスクを割り当てて処理を行って
いた。(Prior Art) Conventionally, in a multi-task execution device, register files in a multi-bank system having a plurality of register files are switched by an operating system (hereinafter referred to as O8) by a system call from a register file assigned to a user bank. ) or a register file to be executed, then O8 searches for a user task to be executed next, and allocates that user task to one register file for processing.
(発明が解決しようとする課題)
しかしながら、上述したマルチタスク実行装置において
は、ユーザタスクとユーザタスクとの実行間にO8の走
行時間であるオーバーヘッドが生じ、リアルタイム処理
が要求されるシステムを実現することが困難であった。(Problem to be Solved by the Invention) However, in the above-mentioned multi-task execution device, an overhead, which is the running time of O8, occurs between executions of user tasks, making it difficult to realize a system that requires real-time processing. It was difficult.
そこで、コンテキスト処理の一部をハードウェアで実現
する手段も考えられているが、この手段によってもオー
バーヘッドは依然発生しており、マルチタスク実行効率
が悪いという問題があった。Therefore, methods have been considered to implement part of the context processing using hardware, but even with this method, overhead still occurs and there is a problem that multitasking execution efficiency is poor.
本発明は、上記従来の課題を解決するもので、ユーザタ
スクの実行順が予め限定できるマルチバンクシステムに
おいて、オーバーヘッドが発生しない高速コンテキスト
を実現するマルチタスク実行装置を提供することを目的
としている。The present invention solves the above-mentioned conventional problems, and aims to provide a multi-task execution device that realizes a high-speed context without generating overhead in a multi-bank system in which the execution order of user tasks can be limited in advance.
(課題を解決するための手段)
上記の目的を達成するために、本発明のマルチタスク実
行装置は、コンテキストを行うレジスタファイルの総数
を指定することにより自動的に順次コンテキストを実行
するように構成したものである。(Means for Solving the Problems) In order to achieve the above object, the multitask execution device of the present invention is configured to automatically sequentially execute contexts by specifying the total number of register files that execute contexts. This is what I did.
具体的に、本発明が講じた手段は、先ず、複数のレジス
タファイルから構成されるマルチバンクシステムを対象
としている。そして、コンテキストを行うレジスタファ
イルの総数を指定するレジスタファイル数指定手段が設
けられている。加えて、該レジスタファイル数指定手段
によって指定された数のレジスタファイルを順に用いて
自動的にコンテキストを実行するコンテキスト実行手段
が設けられた構成としている。Specifically, the measures taken by the present invention are first aimed at a multi-bank system consisting of a plurality of register files. Further, register file number designating means is provided for designating the total number of register files that perform context. In addition, context execution means is provided for automatically executing a context using the number of register files designated by the register file number designation means in order.
(作用)
上記の構成により、本発明では、先ず、レジスタファイ
ル数指定手段によってコンテキストを行うレジスタファ
イルの総数を指定する。このレジスタファイルの総数指
定によってコンテキスト実行手段は指定された数のレジ
スタファイルを順に用いてコンテキストを自動的に実行
することになる。(Operation) With the above configuration, in the present invention, first, the total number of register files to be used for context is specified by the register file number specifying means. By specifying the total number of register files, the context execution means automatically executes the context using the specified number of register files in order.
そして、このコンテキストを実行する際、特権バンクの
レジスタファイルをコンテキストループに加えるか否か
を設定してもよく、また、コンテキストループ方向をレ
ジスタファイル番号の大きい順か、或いは小さい順の何
れかに設定してもよい。Then, when executing this context, you may set whether or not to add the register file of the privileged bank to the context loop, and also set the context loop direction to either the ascending order of the register file number or the ascending order of the register file number. May be set.
従って、レジスタファイルを順に用いてコンテキストを
行うので、システムのスループットを向上させ、高速処
理を実現することができる。Therefore, since context is performed using register files in order, system throughput can be improved and high-speed processing can be realized.
(実施例) 以下、本発明の実施例について図面に基づき説明する。(Example) Embodiments of the present invention will be described below with reference to the drawings.
第1図は本発明のマルチタスク実行装置の概略構成を示
し、該マルチタスク実行装置は複数のレジスタファイル
22.・・・から構成されるマルチバンクシステムにお
いてコンテキストを実行するものである。FIG. 1 shows a schematic configuration of a multitask execution device according to the present invention, which includes a plurality of register files 22. . . . executes a context in a multi-bank system consisting of...
この第1図において、3はバンク選択部であって、該バ
ンク選択部3は、バンク数指定レジスタ4と、比較器5
と、バンク番号カウンタ6とを備えている。そして、該
バンク数指定レジスタ4は、オペレーティングシステム
(以下、O8という。)によってレジスタファイル群1
のうち、いくつのレジスタファイル2を使ってユーザタ
スクを実行するかを指定するレジスタファイル数指定手
段を構成している。また、バンク番号カウンタ6は、バ
ンク数指定レジスタ4の指定が終了すると、該バンク番
号カウンタ6の値がレジスタファイル2の選択信号8と
なって複数のレジスタファイル2゜2、・・・の中から
必要なバンクを選択する。更に、該バンク番号カウンタ
6は、1のレジスタファイル2のユーザタスクが終了す
ると、終了信号7が入力し、該バンク番号カウンタ6の
値が更新される。また、上記比較器5は、バンク数指定
レジスタ4とバンク番号カウンタ6の値か入力し、一致
した場合にセットリセット信号9を出力して上記バンク
番号カウンタ6の値をセット或いはリセットする。そし
て、上記比較器5とバンク番号カウンタ6とによってコ
ンテキスト実行手段10が構成されている。In this FIG.
and a bank number counter 6. The bank number designation register 4 is assigned to the register file group 1 by the operating system (hereinafter referred to as O8).
Of these, register file number designating means is configured to designate how many register files 2 are used to execute a user task. Furthermore, when the bank number counter 6 completes the specification of the bank number designation register 4, the value of the bank number counter 6 becomes the selection signal 8 of the register file 2, and the value of the bank number counter 6 becomes the selection signal 8 of the register file 2. Select the required bank from Furthermore, when the user task of one register file 2 is completed, a completion signal 7 is input to the bank number counter 6, and the value of the bank number counter 6 is updated. Further, the comparator 5 inputs the values of the bank number designation register 4 and the bank number counter 6, and when they match, outputs a set reset signal 9 to set or reset the value of the bank number counter 6. The comparator 5 and the bank number counter 6 constitute a context execution means 10.
第2図は上述したマルチタスク実行装置のシーケンスを
示しており、O8の実行によってCPUよりバンク数指
定レジスタ4の値11が“4°に設定されたとすると、
バンク番号カウンタ6の値12は終了信号7に同期して
“0(バンク0)”“1(バンク1)”2(バンク2)
”3(バンク3)”の順に変化する。その後、バンク数
指定レジスタ4の値11は“4°に設定されているため
、レジスタファイル2のバンク3まで実行されると、上
記セットリセット信号9であるリセット信号13が比較
器5から出力され、バンク番号カウンタ6の値12がク
リアされ、再びレジスタフ、アイル2のバンクOが選択
される。以下、同様に“O(バンク0)“1(バンク1
)”“2(バンク2)”3(バンク3)#、の順にレジ
スタファイル2,2.・・・が切り替えられていくこと
になる。FIG. 2 shows the sequence of the multitask execution device described above. Assuming that the value 11 of the bank number designation register 4 is set to "4°" by the CPU by executing O8,
The value 12 of the bank number counter 6 changes to “0 (bank 0),” “1 (bank 1),” and 2 (bank 2) in synchronization with the end signal 7.
It changes in the order of "3 (Bank 3)". After that, since the value 11 of the bank number designation register 4 is set to "4°," when the execution reaches bank 3 of the register file 2, the reset signal 13, which is the set reset signal 9, is output from the comparator 5. , the value 12 of the bank number counter 6 is cleared, and bank O of the register aisle 2 is selected again.
)", "2 (Bank 2)", 3 (Bank 3) #, etc., the register files 2, 2, etc. are switched in this order.
第3図は上記マルチタスク実行装置のバンク選択部3の
詳細な構成を示している。この第3図において、バンク
0フラグ14はO8に割り当てられた特権バンクのレジ
スタファイル2(後述する具体例においてはバンク0)
をコンテキストループに加えるか否かを指定するフラグ
であり、“1”にセットされた場合に特権バンクのレジ
スタファイル2をコンテキストループに加える。コンテ
キスト方向指定フラグ17はコンテキストループの方向
を指定するレジスタであり、“1“のときレジスタファ
イル2の番号であるバンク番号の小さい順に、“0#の
ときバンク番号の大きい順にループさせる。また、バン
ク数指定レジスタ4は上述した如くレジスタファイル2
をいくつ使用してコンテキストループを実行させるかを
指定するレジスタであり、レジスタファイル数を指定す
る。FIG. 3 shows a detailed configuration of the bank selection section 3 of the multitask execution device. In FIG. 3, the bank 0 flag 14 is the register file 2 of the privileged bank assigned to O8 (bank 0 in the specific example described later).
This is a flag that specifies whether or not to add the privileged bank register file 2 to the context loop.When set to "1", register file 2 of the privileged bank is added to the context loop. The context direction designation flag 17 is a register that specifies the direction of the context loop, and when it is "1", the loop is performed in the order of the smallest bank number, which is the number of the register file 2, and when it is "0#, it is made to loop in the order of the largest bank number. The bank number specification register 4 is stored in the register file 2 as described above.
This is a register that specifies how many are used to execute the context loop, and specifies the number of register files.
そして、上記バンク0フラグ14の値と、インバータ1
8により反転したコンテキスト方向指定フラグ17の値
とはバンク数指定レジスタ4の値と共に加算器15に入
力される。Then, the value of the bank 0 flag 14 and the value of the inverter 1
The value of the context direction designation flag 17 inverted by 8 is input to the adder 15 together with the value of the bank number designation register 4.
更に、補数発生回路19は上記コンテキスト方向指定フ
ラグ17の値が0”のとき、バンク数指定レジスタ4の
値について1に対する補数を加算器15に入力し、コン
テキスト方向指定フラグ17の値が“1”のとき、バン
ク数指定レジスタ4の値をそのまま加算器15に入力す
る。該加算器15の加算結果はバンク数レジスタ16に
入力設定される。Furthermore, when the value of the context direction designation flag 17 is "0", the complement generation circuit 19 inputs the complement of 1 for the value of the bank number designation register 4 to the adder 15, and when the value of the context direction designation flag 17 is "1", ”, the value of the bank number designation register 4 is input as is to the adder 15. The addition result of the adder 15 is input and set to the bank number register 16.
一方、バンク番号カウンタ6はコンテキスト方向指定フ
ラグ17の値が“1″のとき、第1図及び第2図の終了
信号7であるバンク処理終了信号(図示せず)に同期し
てカウントアツプ動作をし、コンテキスト方向指定フラ
グ17の値か“0”のとき、カウントダウンを行う。更
に、該バンク番号カウンタ6の値とバンク数レジスタ1
6の値とは比較器5に入力され、一致すると上述したセ
ットリセット信号7であるセットクリア信号20かバン
ク番号カウンタ6に入力される。このとき、コンテキス
ト方向指定フラグ17の値が“1“のときにバンク番号
カウンタ6はクリアされ、′0”のときにバンク番号カ
ウンタ6は1にセットされる。On the other hand, when the value of the context direction designation flag 17 is "1", the bank number counter 6 performs a count-up operation in synchronization with a bank processing end signal (not shown), which is the end signal 7 in FIGS. 1 and 2. and when the value of the context direction designation flag 17 is "0", a countdown is performed. Furthermore, the value of bank number counter 6 and bank number register 1
The value of 6 is input to the comparator 5, and when they match, the set clear signal 20, which is the set reset signal 7 mentioned above, is input to the bank number counter 6. At this time, when the value of the context direction designation flag 17 is "1", the bank number counter 6 is cleared, and when the value is '0', the bank number counter 6 is set to 1.
次に、上記バンク選択部3の作用を具体例に基づいて説
明する。尚、O8のレジスタファイル2であ°る特権バ
ンクはバンク0である。Next, the operation of the bank selection section 3 will be explained based on a specific example. Note that the privileged bank which is the register file 2 of O8 is bank 0.
具体例(1)
バンク0フラグ14−1
コンテキスト方向指定フラグ17−0
バンク数指定レジスタ4−011
に設定された場合、バンク数レジスタ16の値は110
となり、次の表1に示すように上部から下方に向って動
作する。Specific example (1) Bank 0 flag 14-1 Context direction specification flag 17-0 Bank number specification register 4-011 When set, the value of bank number register 16 is 110.
As shown in Table 1 below, it operates from the top downward.
表 1
具体例(2)
バンク0フラグ14−0
コンテキスト方向指定フラグ17−0
バンク数指定レジスタ4−011
に設定された場合、バンク数レジスタ16の値は101
となり、表2に示すように動作する。Table 1 Specific example (2) Bank 0 flag 14-0 Context direction specification flag 17-0 Bank number specification register 4-011 When set, the value of bank number register 16 is 101.
The operation is as shown in Table 2.
表
バンク数指定レジスタ4−011
ニ設定された場合、バンク数レジスタ16の値は010
となり、表3に示すように動作する。Table Bank number specification register 4-011 If set to 2, the value of bank number register 16 is 010.
The operation is as shown in Table 3.
表3
具体例(3)
バンク0フラグ14−1
コンテキスト方向指定フラグ、17−1具体例(4)
バンク0フラグ14−0
コンテキスト方向指定フラグ17−1
バンク数指定レジスタ4−011
に設定された場合、バンク数レジスタ16の値は011
となり、表4に示すように動作する。Table 3 Specific example (3) Bank 0 flag 14-1 Context direction specification flag, 17-1 Specific example (4) Bank 0 flag 14-0 Context direction specification flag 17-1 Bank number specification register 4-011 Set to In this case, the value of bank number register 16 is 011.
The operation is as shown in Table 4.
表4
(発明の効果)
以上のように本発明によれば、レジスタファイルの総数
を指定することによって該レジスタファイルを順に用い
てコンテキストを行うようにしたために、オーバーヘッ
ドが発生することがないので、高速コンテキストを実現
でき、システムのスルーブツトを向上させることかでき
ると共に、リアルタイム処理システムを容易に実現する
ことができる。Table 4 (Effects of the Invention) As described above, according to the present invention, since the total number of register files is specified and the context is performed using the register files in order, no overhead is generated. A high-speed context can be realized, the throughput of the system can be improved, and a real-time processing system can be easily realized.
第1図はマルチタスク実行装置の概略構成を示す構成図
、第2図はマルチタスク実行装置のシーケンスを示すタ
イミング図、第3図はマルチタスク実行装置のバンク選
択部の構成を示すブロック図である。
1・・・レジスタファイル群
2・・・レジスタファイル
3・・・バンク選択部
4・・・バンク数指定レジスタ
6・・・バンク番号カウンタ
10・・・コンテキスト実行手段
14・・・バンク0フラグ
15・・・加算器
16・・・バンク数レジスタ
17・・・コンテキスト方向指定フラグ18・・・イン
バータ
蒙3図FIG. 1 is a block diagram showing the schematic structure of the multitask execution device, FIG. 2 is a timing diagram showing the sequence of the multitask execution device, and FIG. 3 is a block diagram showing the configuration of the bank selection section of the multitask execution device. be. 1... Register file group 2... Register file 3... Bank selection section 4... Bank number designation register 6... Bank number counter 10... Context execution means 14... Bank 0 flag 15 ... Adder 16 ... Bank number register 17 ... Context direction designation flag 18 ... Inverter menu 3
Claims (1)
ンクシステムにおいて、 コンテキストを行うレジスタファイルの総数を指定する
レジスタファイル数指定手段と、該レジスタファイル数
指定手段によって指定された数のレジスタファイルを順
に用いて自動的にコンテキストを実行するコンテキスト
実行手段とを備えていることを特徴とするマルチタスク
実行装置。(1) In a multi-bank system consisting of a plurality of register files, a register file number specifying means for specifying the total number of register files for performing context, and the number of register files specified by the register file number specifying means are sequentially used. 1. A multitask execution device comprising: context execution means for automatically executing a context.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2183423A JPH0471034A (en) | 1990-07-11 | 1990-07-11 | Multitask execution device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2183423A JPH0471034A (en) | 1990-07-11 | 1990-07-11 | Multitask execution device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0471034A true JPH0471034A (en) | 1992-03-05 |
Family
ID=16135523
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2183423A Pending JPH0471034A (en) | 1990-07-11 | 1990-07-11 | Multitask execution device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0471034A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004044745A1 (en) * | 2002-11-13 | 2004-05-27 | Fujitsu Limited | Scheduling method in multithreading processor and multithreading processor |
| US7954102B2 (en) | 2002-11-13 | 2011-05-31 | Fujitsu Limited | Scheduling method in multithreading processor, and multithreading processor |
-
1990
- 1990-07-11 JP JP2183423A patent/JPH0471034A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004044745A1 (en) * | 2002-11-13 | 2004-05-27 | Fujitsu Limited | Scheduling method in multithreading processor and multithreading processor |
| US7954102B2 (en) | 2002-11-13 | 2011-05-31 | Fujitsu Limited | Scheduling method in multithreading processor, and multithreading processor |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2882475B2 (en) | Thread execution method | |
| JP2002163238A5 (en) | ||
| WO2023124543A1 (en) | Data processing method and data processing apparatus for big data | |
| Choi et al. | Improving scalability with GPU-aware asynchronous tasks | |
| GB2387931A (en) | Reduced-overhead context-saving in static priority scheduled operating systems | |
| CN102271167B (en) | A kind of proxy server (Agent) method for parallel processing and structure being applicable to distributed communication middleware | |
| Roch et al. | On-line adaptive parallel prefix computation | |
| US5586320A (en) | High speed synchronous processing system for executing parallel processing of programs having loops | |
| JPS6378231A (en) | Partial program combining system | |
| JPH05257902A (en) | Lock acquisition processing system in processing program mode | |
| Zabatta et al. | A thread performance comparison: Windows NT and Solaris on a symmetric multiprocessor | |
| Bernard et al. | Processor-oblivious parallel stream computations | |
| JPH01199233A (en) | Conditional branch control system for pipeline processing | |
| Prokopec et al. | On lock-free work-stealing iterators for parallel data structures | |
| CN109799973B (en) | Data-driven user-transparent extensible programming method | |
| Francez et al. | Interacting processes: a language for coordinated distributed programming | |
| JP2004234643A (en) | Process scheduling apparatus, process scheduling method, program for process scheduling, and recording medium recording program for process scheduling | |
| JPH06295246A (en) | Instruction scheduling system | |
| JPS5947651A (en) | Program controller | |
| CN113946418A (en) | Flow creation method, device and equipment | |
| Jeong et al. | Performance evaluation of multithreading in concurrent programs | |
| JPH03282735A (en) | Parallel processing system | |
| JPS63153639A (en) | Generating method for interpreter for multi-task os | |
| JPH04276834A (en) | Program debugging method | |
| JPH0553834A (en) | Method for processing multitasking program |