[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPS6031648A - マルチ・タスク制御方法 - Google Patents

マルチ・タスク制御方法

Info

Publication number
JPS6031648A
JPS6031648A JP58140751A JP14075183A JPS6031648A JP S6031648 A JPS6031648 A JP S6031648A JP 58140751 A JP58140751 A JP 58140751A JP 14075183 A JP14075183 A JP 14075183A JP S6031648 A JPS6031648 A JP S6031648A
Authority
JP
Japan
Prior art keywords
task
mtsp
command
memory
tasks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP58140751A
Other languages
English (en)
Other versions
JPH0376496B2 (ja
Inventor
Toshimitsu Nakade
中出 敏光
Masaru Kuki
九鬼 優
Takaaki Uno
鵜野 高明
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP58140751A priority Critical patent/JPS6031648A/ja
Publication of JPS6031648A publication Critical patent/JPS6031648A/ja
Priority to US07/059,192 priority patent/US4847751A/en
Publication of JPH0376496B2 publication Critical patent/JPH0376496B2/ja
Granted 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 く技術分野〉 本発明ハマイクロコンピュータ・システムにおけるマル
チ・タスク制御方法に関するものである。
〈従来技術〉 マイクロコンピュータ・システムにおいて、1つのCP
Uによって複数の仕事(タスク)を同時に処理させるた
めには、プログラム(1本)が複雑で大容量になりやす
く、また処理の切換えのタイミングの設計も困難である
。そこで、コンピュータ・システムのO8(オペレーテ
ィング・システム)によるマルチ・タスク制御、すなわ
ち複数の仕事(タスク)の実行切換えが必要となる。
従来、マルチ・タスク制御を実現するために、フロッピ
ー・ディスクまだはROM形態のソフトウェアで供給さ
れているものがある。
しかし、このようなソフトウェア0SFi、、マスタC
PUで管理するプログラム・メモリ空間上に置かれるた
め、CPU自身がタスクの切換えを行なっており、ユー
ザのプログラムアドレスにも制約を与えた。また、本来
タスク制御という概念は、CPUのアーキテクチュアに
は依存しないものであるにもかかわらず、O8の中に組
み込まれた場合、CPUのアーキテクチュア依存性がで
きる。
そのため、そのO8を他のCPUへ移植する場合には、
移植しようとするCPU用に変換する必要があり、変換
に要する労力が余分に必要となる。
〈本発明の目的〉 本発明は、マスクのCPUと独立してタスクの切換えを
行なえ、メモリ空間上に制約がなく、C’P Uのアー
キテクチュアに依存しないため、あらゆるCPUのマイ
クロコンピュータ・システムに可能なマルチ・タスク制
御方法を提供するものである。
〈実施例〉 以下図面に従って本発明の一実施例を説明する。
第1図にシステムの構成例を示す。素子1ば、マイクロ
コンピュータΦシステムの内、多数のタスクを切換えて
実行する、マルチ・タスク制御を実現するだめの独立し
たマルチ・タスク・サポート・プロセッサとして構成さ
れたもの(以下単に1t(TSP素子という)であり、
他の周辺デバイスと同様、入出力素子の形態で供給され
ている。MTSP素子l素子子タCPU2と、内部バス
3を介して他の周辺入力素子4と同様に接続する。プロ
グラム・メモリ5には、MTSI’素子lの素子化プロ
グラムと複数のタスクをそれぞれ独立してプログラトシ
、まだ各タスクの使用するデータ・メモリ用にRAM6
を接続してシステムを構成する。
MTSP素子1は、マルチ・タスク・システムを実現す
るだめのタスクのスケジューリング機能優先度順または
時分割による、実行するタスクの切り換え)、タスク間
の同期・通信機能(各タスク間でデータの送受信を行な
い、タスクの実行中断、実行再開を決定)、メモリ管理
機能(各タスクの使用メモリ領域の重複使用の禁止)、
時計機能に)蔵タイマによる時刻のセット)等を備える
。つ捷り、MTSP素子1は、マルチ−タスク制御の機
能をコンピュータ・システムのO8自身のもつ機能とせ
ず、その機能を有する周辺デバイスとした点に特色があ
る。
第2図にMTSP素子1の内部構造を示す。本素子(7
) 有するマルチ・タスクを実現するソフトウェアはプ
ログラム・メモリ11にROM化されている。レジスタ
12は、本素子の機能を実現する上で必要なデータ・メ
モリとなり、タスク管理ブロック(タスク切り換えに必
要々情報を登録する領域)、メイルボ?Jクス(タスク
間の同期・通信用のデータの中継点)、メモリマツプ(
メモリ管理用、メモリ領域の使用中/未使用を登録する
領域)の外、ワーク領域および専用データ領域を有して
いる。タイマ13は時分割処理(同一優先順位のタスク
を一定時間ごとに実行させる処理)および時計機能を実
現する。制御演算部14はALU等ヲ含ミプログラム・
メモリI+のプログラムを実行するだめのものであり、
内部バスI5によりその他と相互に接続される。まだ、
マスタCPU2とのデータの入出力およびマスタCPU
2への印]り込みを実現するため、マスタCPU・イン
ターフェイス部16を備える。
マスクCI’U2からMTSP素子l素子子クセスはコ
マンドによ゛って行ない、MTSP素子1からマスタC
PU2へのアクセスは割り込みによって行なう。
MTSP素子l素子子仕様は例えば次表のとおりである
第3図はMTSP素子1のマルチ・タスク制御動作を説
明するだめのフローチャートである。以下このフローチ
ャートを参照して更に詳しく説明する。
電源投入後システムが起動して、マスタCPU2よりM
TSP素子1の初期化開始コマンドを受付ける(ステッ
プn1)。マスタCPU2より初期化開始コマンドが発
行されれば、MTSP素子1はマスタCPU2からのシ
ステム構成情報を受付ける(ステップn2)。入力情報
により、タスク切り換えに必要な情報を各タスクのタス
ク管理ブロックに登録する(ステップna)。そして実
行可能状態のタスクを優先度順位に並べる。またメモリ
管理の初期化のため、システムが使用するRAM領域の
使用状態を設定する(ステップn4)。次にタスクの同
期・通信用のメイルボックスを生成しくステップn5)
、内蔵タイマの時間設定及び起動を行なう(ステップn
6)。こうした後、タスク起動のコマンドを受付ける(
ステップn7)。
上記初期化開始コマンド、システム構成情報及びタスク
起動コマンド等は、第1図のプログラム・メモリ5の初
期化プログラムに予じめ格納されたものである。初期化
プログラムはタスク処理の内容に応じてプログラム変更
が可能であり、MTSP素子lはこれに従って種々に初
期設定される。
マスタCPU2より、初期化プログラム最後のタスク起
動コマンドが発行されれば(ステップn7)、最高優先
順位のタスクを実行状態にする(ステップns)。すな
わち、MTSP素子1は、実行可能状態のタスクから優
先順位の一番高いタスクを選び出し、登録されたそのタ
スクのスタック・ポインタの値をバス側のレジスタに準
備する。スタック・ポインタ値を準備した後、MTSP
素子1はマスタCPU2に対して割り込みを発生する。
マスタCPU2は、割り込み処理ルーチンを実行し、M
TSP素子lにセットされているスタック・ポインタの
値を自分のスタック・ポインタにロードし、予じめ書き
込まれていたレジスタの初期値をスタックからポツプし
てレジスタを書き換える。そして、マスタCPU2の管
理下において、指定されたタスクを実行する。
一旦、タスクの実行を開始すれば、タスクからのコマン
ド入力があるか、または内蔵タイマ】3がカウント・ア
ンプす2まで、MTSP素子1は待ち状態になる(ステ
ップng)。コマンド入力があれば(ステップnH)、
M T S P素子lはコマンドを解析しくステップr
B1 ) 、コマンド処理を行なう(ステップn+2)
、入力されるコマンドには次のようなものがある。
コマンド処理(ステップn12)において、タスクが実
行中止(待機または停止状態)となるコマンドの場合は
、実行するタスクの切換えを行なう。
例えば、実行中のタスクプログラムからコマンドTSP
Dが発行されたときは、コマンド発行タスクの実行中止
であり(ステ・ンプn13)、ステ・ノブn8に戻り、
割り込みにより次に実行可能な最高優先順位のタスクを
実行させる。なお、コマンド処理(ステップn+2) 
においては、コマンドを発行したタスクは実行可能状態
の設定を解除し、このタスクをMTSP素子I素子環外
におく。実行可能状態への復帰は、任意のタスクから発
行されるコマンドTR3Mにより可能である。
tた、コマンドPO5Tのように実行続行のコマンドで
は、実行中のタスクより次に実行可能な最高優先順位の
タスクの方が高い場合のみ(ステップn17)、マスタ
CPU2に割り込みをかけることによって実行中のタス
クを・中断しくステップn18)、実行可能タスクに実
行を切換える(ステ・ンプna)。
すなわちこの場合、コマンドPO3Tを発行したタスク
より高い優先順位の別のタスクでコマンドPENDを発
行し待機状態にあるとき、コマンドPO3Tを発行する
タスクからこの待機状態にあるタスクに実行が切換えら
れる。
一方、内蔵タイマ13がカウント・アップした場合には
(ステップn14)、時計をカウント・アップする(ス
テップn15)。更に時分割処理中には、指定時間経過
した場合(ステップn+6)、マスタCP U 2への
割り込みによって、現在実行中のタスクを中断しくステ
ップn18)、時分割処理の同優先順位にある次の実行
可能タスクを実行にする(ステップnB)。時分割処理
はコマンドTSLIの入力により指定される。処理条件
、例えばタイムスライムするタスク(優先順位)および
タイムスライムの指定時間などの登録は、このコマンド
TSLIの入力時間時に行なうことが可能である。
時分割処理中、指定時間経過していない場合、実行中タ
スクより実行可能タスクの優先順位が高いかどうか見ら
れる(ステップn17)。これにより、別のコマンド入
力、例えばコマンドPENDによりあるタスクがメツセ
ージの受信待期状態に々っでいるとき、データ受信のた
めこのタスクに実行を切換えさせる(ステップ旧8.ス
テップnB)。高い優先順位のタスクがない場合は、コ
マンド待ち。
タイマ・カウントアツプ待ち(ステップng)に戻るO 〈発明の効果〉 以上のように本発明によれば、マスクCP Uと独立し
てタスクの切換えを行なえ、メモリ空間上に制約がなく
、CPUのアーキテクチュアに依存しないため、あらゆ
るCPUのマイクロコンピュータシステムに適用できる
。まだ、上述の実施例のように、MTSP素子として独
立した素子とすれば、他の周辺デバイスと同様に接続す
るだけで、簡単にマルチ・タスク制御を実現できる。
【図面の簡単な説明】
第1図は本発明によるシステム構成例を示す図、第2図
は第1図の要部素子の内部構造を示す図、第3図は第2
図素子の動作を説明するフローチャート〒ある。 トマルチ・タスク・サポート・プロセンサ素子(MTS
P素子)、2・・・マスタCPU、8・・プログラム・
メモリ、4・・・周辺入出力素子、11・・・ROM、
+2・レジスタ、+3・タイマ、14・・演算制御部、
16・・・マスタCP Uインターフエイ1部。 代理人 弁理士 福 士 愛 彦(他2名):′A/l
ズ1 手続補正書 昭和59年5月λト日 1、・11件の表示 91F願昭58−140751 、発明の名称 マルチ・タスク制御方法 3 補正をする者 rJT件との関係 特許出願人 4、代 理 人 住 所 畢545大阪市阿倍野区長池町22番22号自
 発 6、補11の対象 7、補正の内容 (1)明細書の第11頁第13行目乃至第14行目の「
スライム」を「スライス」と補正する。 (2)明細書の第11頁第14行目乃至第15行目の「
スライム」を「スライス」と補正する。 (3)明細書の第12頁第1行目の「待期」を1待機」
と補正する。 (4)明細書の第12頁第18行目の「要部」を「主要
部」と補正する。 (5)明細書の第13頁第2行目乃至第3行口の「プロ
グラム・メモリ」を「内部バス」と補正する。 以 」ニ

Claims (1)

    【特許請求の範囲】
  1. 1 マスタCPUにより実行される複数のタスクをそれ
    ぞれ独立してプログラムし、上記マスクCPU外におい
    て上記タスク実行により発オ〒されるコマンドを受け入
    れ、該コマンドに従って上記タスクの実行を制御するよ
    うにしてなることを特徴とするマルチ・タスク制御方法
JP58140751A 1983-07-29 1983-07-29 マルチ・タスク制御方法 Granted JPS6031648A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP58140751A JPS6031648A (ja) 1983-07-29 1983-07-29 マルチ・タスク制御方法
US07/059,192 US4847751A (en) 1983-07-29 1987-06-08 Multi-task execution control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58140751A JPS6031648A (ja) 1983-07-29 1983-07-29 マルチ・タスク制御方法

Publications (2)

Publication Number Publication Date
JPS6031648A true JPS6031648A (ja) 1985-02-18
JPH0376496B2 JPH0376496B2 (ja) 1991-12-05

Family

ID=15275883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58140751A Granted JPS6031648A (ja) 1983-07-29 1983-07-29 マルチ・タスク制御方法

Country Status (2)

Country Link
US (1) US4847751A (ja)
JP (1) JPS6031648A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61196334A (ja) * 1985-02-27 1986-08-30 Nec Corp 入出力制御方式
CN100351798C (zh) * 1999-12-28 2007-11-28 英特尔公司 在多线程网络处理器中线程信令的分组处理方法和系统
JP2015022556A (ja) * 2013-07-19 2015-02-02 スパンション エルエルシー プロセッサシステムおよび半導体集積回路

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03154105A (ja) * 1989-11-10 1991-07-02 Toshiba Mach Co Ltd Ncプログラム作成装置
US5210873A (en) * 1990-05-25 1993-05-11 Csi Control Systems International, Inc. Real-time computer system with multitasking supervisor for building access control or the like
US5233611A (en) * 1990-08-20 1993-08-03 International Business Machines Corporation Automated function testing of application programs
JPH04149642A (ja) * 1990-10-08 1992-05-22 Canon Inc 情報処理装置
FR2682202B1 (fr) * 1991-10-03 1994-03-11 Sextant Avionique Procede et dispositif pour la gestion temps reel d'un systeme comprenant au moins un processeur apte a gerer plusieurs fonctions.
FI91456C (fi) * 1992-07-29 1994-06-27 Nokia Telecommunications Oy Menetelmä tietokoneessa varattujen resurssien hallitsemiseksi
JP2516317B2 (ja) * 1992-10-13 1996-07-24 インターナショナル・ビジネス・マシーンズ・コーポレイション デ―タ処理システムとディジタル信号プロセッサへのロ―ディング方法
US5625845A (en) * 1992-10-13 1997-04-29 International Business Machines Corporation System for facilitating continuous, real-time, unidirectional, and asynchronous intertask and end-device communication in a multimedia data processing system using open architecture data communication modules
EP0660235A1 (en) * 1993-12-22 1995-06-28 International Business Machines Corporation Method for automated software application testing
US5675796A (en) * 1994-04-08 1997-10-07 Microsoft Corporation Concurrency management component for use by a computer program during the transfer of a message
JP2692609B2 (ja) * 1994-09-26 1997-12-17 日本電気株式会社 マルチタスクのプログラムデバッグ方法とその装置
US6009454A (en) * 1994-09-30 1999-12-28 Allen-Bradley Company, Llc Multi-tasking operation system for industrial controller
US6182108B1 (en) 1995-01-31 2001-01-30 Microsoft Corporation Method and system for multi-threaded processing
US6212576B1 (en) * 1997-01-27 2001-04-03 Optimay Corporation Operating system interface for use with multitasking GSM protocol stacks
US5938708A (en) * 1997-07-03 1999-08-17 Trw Inc. Vehicle computer system having a non-interrupt cooperative multi-tasking kernel and a method of controlling a plurality of vehicle processes
US7055151B1 (en) * 1998-04-03 2006-05-30 Applied Micro Circuits Corporation Systems and methods for multi-tasking, resource sharing and execution of computer instructions
US6910210B1 (en) * 1998-11-24 2005-06-21 Microsoft Corp. System and method for terminating applications
US6728419B1 (en) 2000-02-17 2004-04-27 Xerox Corporation Multi-tasking multi-threaded image processing system and method for image capture devices
US7111297B1 (en) * 2000-05-02 2006-09-19 Microsoft Corporation Methods and architectures for resource management
US7434222B2 (en) * 2001-12-20 2008-10-07 Infineon Technologies Ag Task context switching RTOS
US7137121B2 (en) * 2002-04-19 2006-11-14 Equator Technologies, Inc. Data-processing circuit and method for switching between application programs without an operating system
US6797998B2 (en) 2002-07-16 2004-09-28 Nvidia Corporation Multi-configuration GPU interface device
US20040156367A1 (en) * 2003-02-11 2004-08-12 Magis Networks, Inc. Hierarchically distributed scheduling apparatus and method
US7373646B1 (en) * 2003-04-04 2008-05-13 Nortel Network Limited Method and apparatus for sharing stack space between multiple processes in a network device
US7984446B1 (en) * 2003-09-18 2011-07-19 Nvidia Corporation Method and system for multitasking BIOS initialization tasks
US7823159B2 (en) * 2004-01-29 2010-10-26 Klingman Edwin E Intelligent memory device clock distribution architecture
US7856632B2 (en) * 2004-01-29 2010-12-21 Klingman Edwin E iMEM ASCII architecture for executing system operators and processing data operators
US7908603B2 (en) * 2004-01-29 2011-03-15 Klingman Edwin E Intelligent memory with multitask controller and memory partitions storing task state information for processing tasks interfaced from host processor
US7882504B2 (en) * 2004-01-29 2011-02-01 Klingman Edwin E Intelligent memory device with wakeup feature
US8108870B2 (en) 2004-01-29 2012-01-31 Klingman Edwin E Intelligent memory device having ASCII-named task registers mapped to addresses of a task
US7823161B2 (en) * 2004-01-29 2010-10-26 Klingman Edwin E Intelligent memory device with variable size task architecture
US7984442B2 (en) * 2004-01-29 2011-07-19 Klingman Edwin E Intelligent memory device multilevel ASCII interpreter
JP2007133456A (ja) * 2005-11-08 2007-05-31 Hitachi Ltd 半導体装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5730068A (en) * 1980-07-30 1982-02-18 Fujitsu Ltd Data processing system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3187321A (en) * 1961-05-11 1965-06-01 Bunker Ramo Operator-computer communication console
US3533076A (en) * 1967-10-30 1970-10-06 Burroughs Corp Electronic accounting apparatus
US4152761A (en) * 1976-07-28 1979-05-01 Intel Corporation Multi-task digital processor employing a priority
US4493020A (en) * 1980-05-06 1985-01-08 Burroughs Corporation Microprogrammed digital data processor employing microinstruction tasking and dynamic register allocation
US4384324A (en) * 1980-05-06 1983-05-17 Burroughs Corporation Microprogrammed digital data processing system employing tasking at a microinstruction level
US4445171A (en) * 1981-04-01 1984-04-24 Teradata Corporation Data processing systems and methods
US4553202A (en) * 1982-05-06 1985-11-12 International Business Machines Corporation User controlled dialog resource switching in a multi-tasking word processor
US4591976A (en) * 1983-06-17 1986-05-27 The United States Of America As Represented By The Secretary Of The Air Force Multiple task oriented processor
US4604694A (en) * 1983-12-14 1986-08-05 International Business Machines Corporation Shared and exclusive access control

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5730068A (en) * 1980-07-30 1982-02-18 Fujitsu Ltd Data processing system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61196334A (ja) * 1985-02-27 1986-08-30 Nec Corp 入出力制御方式
CN100351798C (zh) * 1999-12-28 2007-11-28 英特尔公司 在多线程网络处理器中线程信令的分组处理方法和系统
JP2015022556A (ja) * 2013-07-19 2015-02-02 スパンション エルエルシー プロセッサシステムおよび半導体集積回路

Also Published As

Publication number Publication date
US4847751A (en) 1989-07-11
JPH0376496B2 (ja) 1991-12-05

Similar Documents

Publication Publication Date Title
JPS6031648A (ja) マルチ・タスク制御方法
US8145820B2 (en) Multiprocessor system and computer program product
JPS5841538B2 (ja) マルチプロセツサシステム ノ ユウセンセイギヨホウシキ
JPH1097490A (ja) スケーラブル対称型マルチプロセッサにおいてバス幅またはバス・プロトコルを変更せずに割り込みを分散する方法および装置
JPH1097509A (ja) 対称型マルチプロセッサ・システムにおいて割り込みを分散する方法および装置
JPH0232659B2 (ja)
JP5328410B2 (ja) 被起動オペレーティングシステム(os)動作計算機、計算機のos起動方法およびos起動プログラム
JPH07160656A (ja) 外部割込み制御方法
JPH06332747A (ja) マルチプロセッサシステムのプログラムデバッグ方法
JPH02105962A (ja) システム起動装置
JP2553526B2 (ja) マルチタスク処理装置
JPH11306149A (ja) 並列演算処理装置およびその方法
JPS5854418A (ja) 割込み処理方式
JPS59133655A (ja) アドレス・ストツプ制御回路
JPS60118937A (ja) マルチ・タスク制御用デバイス
JPH0376497B2 (ja)
JPS61101865A (ja) マルチマイクロプロセツサシステム
US20030225817A1 (en) Concurrent execution of kernel work and non-kernel work in operating systems with single-threaded kernel
JPH05342021A (ja) マルチタスク計算機
JPS60215249A (ja) マルチ・タスク制御素子を内蔵したコンピユ−タ周辺装置
JPH0348538B2 (ja)
JPS60114941A (ja) マルチ・タスク制御用デバイス
JPS6250868B2 (ja)
JPS61283955A (ja) 密結合型マルチ・プロセツサ・システムのタスク制御方式
JPH02155062A (ja) マルチプロセッサシステム