JPH0471034A - マルチタスク実行装置 - Google Patents

マルチタスク実行装置

Info

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
Application number
JP2183423A
Other languages
English (en)
Inventor
Mikio Ogisu
荻須 幹雄
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2183423A priority Critical patent/JPH0471034A/ja
Publication of JPH0471034A publication Critical patent/JPH0471034A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、複数のタスクを効率よく実行するマルチタス
ク実行装置に関するものである。
(従来の技術) 従来、マルチタスク実行装置において、複数のレジスタ
ファイルを持つマルチバンクシステムにおけるレジスタ
ファイルの切り替えは、ユーザバンクに割り当てられた
レジスタファイルからのシステムコールによりオペレー
ティングシステム(以下、O8という。)か実行される
レジスタファイルに起動をかけ、続いて、次にO8が実
行されるべきユーザタスクを捜し出し、1つのレジスタ
ファイルにそのユーザタスクを割り当てて処理を行って
いた。
(発明が解決しようとする課題) しかしながら、上述したマルチタスク実行装置において
は、ユーザタスクとユーザタスクとの実行間にO8の走
行時間であるオーバーヘッドが生じ、リアルタイム処理
が要求されるシステムを実現することが困難であった。
そこで、コンテキスト処理の一部をハードウェアで実現
する手段も考えられているが、この手段によってもオー
バーヘッドは依然発生しており、マルチタスク実行効率
が悪いという問題があった。
本発明は、上記従来の課題を解決するもので、ユーザタ
スクの実行順が予め限定できるマルチバンクシステムに
おいて、オーバーヘッドが発生しない高速コンテキスト
を実現するマルチタスク実行装置を提供することを目的
としている。
(課題を解決するための手段) 上記の目的を達成するために、本発明のマルチタスク実
行装置は、コンテキストを行うレジスタファイルの総数
を指定することにより自動的に順次コンテキストを実行
するように構成したものである。
具体的に、本発明が講じた手段は、先ず、複数のレジス
タファイルから構成されるマルチバンクシステムを対象
としている。そして、コンテキストを行うレジスタファ
イルの総数を指定するレジスタファイル数指定手段が設
けられている。加えて、該レジスタファイル数指定手段
によって指定された数のレジスタファイルを順に用いて
自動的にコンテキストを実行するコンテキスト実行手段
が設けられた構成としている。
(作用) 上記の構成により、本発明では、先ず、レジスタファイ
ル数指定手段によってコンテキストを行うレジスタファ
イルの総数を指定する。このレジスタファイルの総数指
定によってコンテキスト実行手段は指定された数のレジ
スタファイルを順に用いてコンテキストを自動的に実行
することになる。
そして、このコンテキストを実行する際、特権バンクの
レジスタファイルをコンテキストループに加えるか否か
を設定してもよく、また、コンテキストループ方向をレ
ジスタファイル番号の大きい順か、或いは小さい順の何
れかに設定してもよい。
従って、レジスタファイルを順に用いてコンテキストを
行うので、システムのスループットを向上させ、高速処
理を実現することができる。
(実施例) 以下、本発明の実施例について図面に基づき説明する。
第1図は本発明のマルチタスク実行装置の概略構成を示
し、該マルチタスク実行装置は複数のレジスタファイル
22.・・・から構成されるマルチバンクシステムにお
いてコンテキストを実行するものである。
この第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が構成されている。
第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.・・・が切り替えられていくこと
になる。
第3図は上記マルチタスク実行装置のバンク選択部3の
詳細な構成を示している。この第3図において、バンク
0フラグ14はO8に割り当てられた特権バンクのレジ
スタファイル2(後述する具体例においてはバンク0)
をコンテキストループに加えるか否かを指定するフラグ
であり、“1”にセットされた場合に特権バンクのレジ
スタファイル2をコンテキストループに加える。コンテ
キスト方向指定フラグ17はコンテキストループの方向
を指定するレジスタであり、“1“のときレジスタファ
イル2の番号であるバンク番号の小さい順に、“0#の
ときバンク番号の大きい順にループさせる。また、バン
ク数指定レジスタ4は上述した如くレジスタファイル2
をいくつ使用してコンテキストループを実行させるかを
指定するレジスタであり、レジスタファイル数を指定す
る。
そして、上記バンク0フラグ14の値と、インバータ1
8により反転したコンテキスト方向指定フラグ17の値
とはバンク数指定レジスタ4の値と共に加算器15に入
力される。
更に、補数発生回路19は上記コンテキスト方向指定フ
ラグ17の値が0”のとき、バンク数指定レジスタ4の
値について1に対する補数を加算器15に入力し、コン
テキスト方向指定フラグ17の値が“1”のとき、バン
ク数指定レジスタ4の値をそのまま加算器15に入力す
る。該加算器15の加算結果はバンク数レジスタ16に
入力設定される。
一方、バンク番号カウンタ6はコンテキスト方向指定フ
ラグ17の値が“1″のとき、第1図及び第2図の終了
信号7であるバンク処理終了信号(図示せず)に同期し
てカウントアツプ動作をし、コンテキスト方向指定フラ
グ17の値か“0”のとき、カウントダウンを行う。更
に、該バンク番号カウンタ6の値とバンク数レジスタ1
6の値とは比較器5に入力され、一致すると上述したセ
ットリセット信号7であるセットクリア信号20かバン
ク番号カウンタ6に入力される。このとき、コンテキス
ト方向指定フラグ17の値が“1“のときにバンク番号
カウンタ6はクリアされ、′0”のときにバンク番号カ
ウンタ6は1にセットされる。
次に、上記バンク選択部3の作用を具体例に基づいて説
明する。尚、O8のレジスタファイル2であ°る特権バ
ンクはバンク0である。
具体例(1) バンク0フラグ14−1 コンテキスト方向指定フラグ17−0 バンク数指定レジスタ4−011 に設定された場合、バンク数レジスタ16の値は110
となり、次の表1に示すように上部から下方に向って動
作する。
表  1 具体例(2) バンク0フラグ14−0 コンテキスト方向指定フラグ17−0 バンク数指定レジスタ4−011 に設定された場合、バンク数レジスタ16の値は101
となり、表2に示すように動作する。
表 バンク数指定レジスタ4−011 ニ設定された場合、バンク数レジスタ16の値は010
となり、表3に示すように動作する。
表3 具体例(3) バンク0フラグ14−1 コンテキスト方向指定フラグ、17−1具体例(4) バンク0フラグ14−0 コンテキスト方向指定フラグ17−1 バンク数指定レジスタ4−011 に設定された場合、バンク数レジスタ16の値は011
となり、表4に示すように動作する。
表4 (発明の効果) 以上のように本発明によれば、レジスタファイルの総数
を指定することによって該レジスタファイルを順に用い
てコンテキストを行うようにしたために、オーバーヘッ
ドが発生することがないので、高速コンテキストを実現
でき、システムのスルーブツトを向上させることかでき
ると共に、リアルタイム処理システムを容易に実現する
ことができる。
【図面の簡単な説明】
第1図はマルチタスク実行装置の概略構成を示す構成図
、第2図はマルチタスク実行装置のシーケンスを示すタ
イミング図、第3図はマルチタスク実行装置のバンク選
択部の構成を示すブロック図である。 1・・・レジスタファイル群 2・・・レジスタファイル 3・・・バンク選択部 4・・・バンク数指定レジスタ 6・・・バンク番号カウンタ 10・・・コンテキスト実行手段 14・・・バンク0フラグ 15・・・加算器 16・・・バンク数レジスタ 17・・・コンテキスト方向指定フラグ18・・・イン
バータ 蒙3図

Claims (1)

    【特許請求の範囲】
  1. (1)複数のレジスタファイルから構成されるマルチバ
    ンクシステムにおいて、 コンテキストを行うレジスタファイルの総数を指定する
    レジスタファイル数指定手段と、該レジスタファイル数
    指定手段によって指定された数のレジスタファイルを順
    に用いて自動的にコンテキストを実行するコンテキスト
    実行手段とを備えていることを特徴とするマルチタスク
    実行装置。
JP2183423A 1990-07-11 1990-07-11 マルチタスク実行装置 Pending JPH0471034A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2183423A JPH0471034A (ja) 1990-07-11 1990-07-11 マルチタスク実行装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2183423A JPH0471034A (ja) 1990-07-11 1990-07-11 マルチタスク実行装置

Publications (1)

Publication Number Publication Date
JPH0471034A true JPH0471034A (ja) 1992-03-05

Family

ID=16135523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2183423A Pending JPH0471034A (ja) 1990-07-11 1990-07-11 マルチタスク実行装置

Country Status (1)

Country Link
JP (1) JPH0471034A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004044745A1 (ja) * 2002-11-13 2004-05-27 Fujitsu Limited マルチスレッディングプロセッサにおけるスケジューリング方法およびマルチスレッディングプロセッサ
US7954102B2 (en) 2002-11-13 2011-05-31 Fujitsu Limited Scheduling method in multithreading processor, and multithreading processor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004044745A1 (ja) * 2002-11-13 2004-05-27 Fujitsu Limited マルチスレッディングプロセッサにおけるスケジューリング方法およびマルチスレッディングプロセッサ
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 (ja) スレッド実行方法
JP2002163238A5 (ja)
WO2023124543A1 (zh) 用于大数据的数据处理方法和数据处理装置
JPH0471034A (ja) マルチタスク実行装置
Choi et al. Improving scalability with GPU-aware asynchronous tasks
GB2387931A (en) Reduced-overhead context-saving in static priority scheduled operating systems
CN102271167B (zh) 一种适用于分布式通信中间件的代理器(Agent)并行处理方法及结构
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 (ja) 部分的プログラム結合方式
JPH05257902A (ja) 処理プログラム・モードにおけるロック獲得処理方式
Zabatta et al. A thread performance comparison: Windows NT and Solaris on a symmetric multiprocessor
Bernard et al. Processor-oblivious parallel stream computations
JPH01199233A (ja) パイプライン処理における条件分岐制御方式
Agrawal et al. Mapping filtering streaming applications with communication costs
Prokopec et al. On lock-free work-stealing iterators for parallel data structures
CN109799973B (zh) 一种数据驱动的用户透明的可扩展编程方法
Francez et al. Interacting processes: a language for coordinated distributed programming
JP2004234643A (ja) プロセススケジューリング装置、プロセススケジューリング方法、プロセススケジューリングのためのプログラム、及びプロセススケジューリングのためのプログラムを記録した記録媒体
JPH06295246A (ja) 命令スケジューリング方式
JPS5947651A (ja) プログラム制御装置
CN113946418A (zh) 一种流程创建方法、装置及设备
Jeong et al. Performance evaluation of multithreading in concurrent programs
JPH03282735A (ja) 並列処理システム
JPS63153639A (ja) マルチタスクos用インタプリタの作成方法