JPH0376496B2 - - Google Patents

Info

Publication number
JPH0376496B2
JPH0376496B2 JP58140751A JP14075183A JPH0376496B2 JP H0376496 B2 JPH0376496 B2 JP H0376496B2 JP 58140751 A JP58140751 A JP 58140751A JP 14075183 A JP14075183 A JP 14075183A JP H0376496 B2 JPH0376496 B2 JP H0376496B2
Authority
JP
Japan
Prior art keywords
task
command
mtsp
cpu
master cpu
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.)
Expired - Lifetime
Application number
JP58140751A
Other languages
English (en)
Other versions
JPS6031648A (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 OR CALCULATING; 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)

Description

【発明の詳細な説明】
<技術分野> 本発明はマイクロコンピユータ・システムにお
けるマルチ・タスク制御方法に関するものであ
る。 <従来技術> マイクロコンピユータ・システムにおいて、1
つのCPUによつて複数の仕事(タスク)を同時
に処理させるためには、プログラム(1本)が複
雑で大容量になりやすく、また処理の切換えのタ
イミングの設計も困難である、そこで、コンピユ
ータ・システムのOS(オペレーテイング・システ
ム)によるマルチ・タスク制御、すなわち複数の
仕事(タスク)の実行切換えが必要となる。 従来、マルチ・タスク制御を実現するために、
フロツピー・デイスクまたはROM形態のソフト
ウエアで供給されているものがある。 しかし、このようなソフトウエアOSは、マス
タCPUで管理するプログラム・メモリ空間上に
置かれるため、CPU自身がタスクの切換えを行
なつており、ユーザのプログラムアドレスにも制
約を与えた。また、本来タスク制御という概念
は、CPUのアーキテクチユアには依存しないも
のであるにもかかわらず、OSの中に組み込まれ
た場合、CPUのアーキテクチユア依存性ができ
る。そのため、そのOSを他のCPUへ移植する場
合には、移植しようとするCPU用に変換する必
要があり、変換に要する労力が余分に必要とな
る。 <本発明の目的> 本発明は、マスタのCPUと独立してタスクの
切換えを行なえ、メモリ空間上に制約がなく、
CPUのアーキテクチユアに依存しないため、あ
らゆるCPUのマイクロコンピユータ・システム
に可能なマルチ・タスク制御方法を提供するもの
である。 <実施例> 以下図面に従つて本発明の一実施例を説明す
る。 第1図にシステムの構成例を示す。素子1は、
マイクロコンピユータ・システムの内、多数のタ
スクを切換えて実行する、マルチ・タスク制御を
実現するための独立したマルチ・タスク・サポー
ト・プロセツサとして構成されたもの(以下単に
MTSP素子という)であり、他の周辺デバイス
と同様、入出力素子の形態で供給されている。
MTSP素子1をマスタCPU2と、内部バス3を
介して他の周辺入力素子4と同様に接続する。プ
ログラム・メモリ5には、MTSP素子1の初期
化プログラムと複数のタスクをそれぞれ独立して
プログラムし、また各タスクの使用するデータ・
メモリ用にRAM6を接続してシステムを構成す
る。 MTSP素子1は、マルチ・タスク・システム
を実現するためのタスクのスケジユーリング機能
(優先度順または時分割による、実行するタスク
の切り換え)、タスク間の同期・通信機能(各タ
スク間でデータの送受信を行ない、タスクの実行
中断、実行再開を決定)、メモリ管理機能(各タ
スクの使用メモリ領域の重複使用の禁止)、時計
機能(内蔵タイマによる時刻のセツト)等を備え
る。つまり、MTSP素子1は、マルチ・タスク
制御の機能をコンピユータ・システムのOS自身
のもつ機能とせず、その機能を有する周辺デバイ
スとした点に特色がある。 第2図にMTSP素子1の内部構造を示す。本
素子の有するマルチ・タスクを実現するソフトウ
エアはプログラム・メモリ11にROM化されて
いる。レジスタ12は、本素子の機能を実現する
上で必要なデータ・メモリとなり、タスク管理ブ
ロツク(タスク切り換えに必要な情報を登録する
領域)、メイルボツクス(タスク間の同期・通信
用のデータに中継点)、メモリマツプ(メモリ管
理用、メモリ領域の使用中/未使用を登録する領
域)の外、ワーク領域および専用データ領域を有
している。タイマ13は時分割処理(同一優先順
位のタスクを一定時間ごとに実行させる処理)お
よび時計機能を実現する。制御演算部14は
ALU等を含みプログラム・メモリ11のプログ
ラムを実行するためのものであり、内部バス15
によりその他と相互に接続される。また、マスタ
CPU2とのデータの入出力およびマスタCPU2
への割り込みを実現するため、マスタCPU・イ
ンターフエイス部16を備える。 マスタCPU2からMTSP素子1へのアクセス
はコマンドによつて行ない、MTSP素子1から
マスタCPU2へのアクセスは割り込みによつて
行なう。 MTSP素子1の基本仕様は例えば次表のとお
りである。
【表】 第3図はMTSP素子1のマルチ・タスク制御
動作を説明するためのフローチヤートである。以
下このフローチヤートを参照して更に詳しく説明
する。 電源投入後システムが起動して、マスタCPU
2よりMTSP素子1の初期化開始コマンドを受
付ける(ステツプn1)。マスタCPU2より初期化
開始コマンドが発行されれば、MTSP素子1は
マスタCPU2からのシステム構成情報を受付け
る(ステツプn2)。入力情報により、タスク切り
換えに必要な情報を各タスクのタスク管理ブロツ
クに登録する(ステツプn3)。そして実行可能状
態のタスクを優先度順位に並べる。またメモリ管
理の初期化のため、システムが使用するRAM領
域の使用状態を設定する(ステツプn4)。次にタ
スクの同期・通信用のメイルボツクスを生成し
(ステツプn5)、内蔵タイマの時間設定及び起動を
行なう(ステツプn6)。こうした後、タスク起動
のコマンドを受付ける(ステツプn7)。 上記初期化開始コマンド,システム構成情報及
びタスク起動コマンド等は、第1図のプログラ
ム・メモリ5の初期化プログラムに予じめ格納さ
れたものである。初期化プログラムはタスク処理
の内容に応じてプログラム変更が可能であり、
MTSP素子1はこれに従つて種々に初期設定さ
れる。 マスタCPU2より、初期化プログラム最後の
タスク起動コマンドが発行されれば(ステツプ
n7)、最高優先順位のタスクを実行状態にする
(ステツプn8)。すなわち、MTSP素子1は、実
行可能状態のタスクから優先順位の一番高いタス
クを選び出し、登録されたそのタスクのスタツ
ク・ポインタの値をバス側のレジスタに準備す
る。スタツク・ポインタ値を準備した後、
MTSP素子1はマスタCPU2に対して割り込み
を発生する。マスタCPU2は、割り込み処理ル
ーチンを実行し、MTSP素子1にセツトされて
いるスタツク・ポインタ値を自分のスタツク・ポ
インタにロードし、予じめ書き込まれていたレジ
スタの初期値をスタツクからポツプしてレジスタ
を書き換える。そして、マスタCPU2の管理下
において、指定されたタスクを実行する。 一旦、タスクの実行を開始すれば、タスクから
のコマンド入力があるか、または内蔵タイマ13
がカウント・アツプするまで、MTSP素子1は
待ち状態になる(ステツプn9)。コマンド入力が
あれば(ステツプn10)、MTSP素子1はコマンド
を解析し)ステツプn11)、コマンド処理を行なう
(ステツプn12)。入力されるコマンドには次のよ
うなものがある。
【表】
【表】 コマンド処理(ステツプn12)において、タス
クが実行中止(待機または停止状態)となるコマ
ンドの場合は、実行するタスクの切換えを行な
う。 例えば、実行中のタスクプログラムからコマン
ドTSPDが発行されたときは、コマンド発行タス
クの実行中止であり(ステツプn13)、ステツプn8
の戻り、割り込みにより次に実行可能な最高優先
順位のタスクを実行させる。なお、コマンド処理
(ステツプn12)においては、コマンドを発行した
タスクは実行可能状態の設定を解除し、このタス
クをMTSP素子1の管理外におく。実行可能状
態への復帰は、任意のタスクから発行されるコマ
ンドTRSMにより可能である。 また、コマンドPOSTのように実行続行のコマ
ンドでは、実行中のタスクより次に実行可能な最
高優先順位のタスクの方が高い場合のみ(ステツ
プn17)、マスタCPU2に割り込みをかけることに
よつて実行中のタスクを中断し(ステツプn18)、
実行可能タスクに実行を切換える(ステツプn8)。 すなわちこの場合、コマンドPOSTを発行した
タスクより高い優先順位の別のタスクでコマンド
PENDを発行し待機状態にあるとき、コマンド
POSTを発行するタスクからこの待機状態にある
タスクに実行が切換えられる。 一方、内蔵タイマ13がカウント・アツプした
場合には(ステツプn14)、時計をカウント・アツ
プする(ステツプn15)。更に時分割処理中には、
指定時間経過した場合(ステツプn16)、マスタ
CPU2への割り込みによつて、現在実行中のタ
スクを中断し(ステツプn18)、時分割処理の同優
先順位にある次の実行可能タスクを実行にする
(ステツプn8)。時分割処理はコマンドTSLIの入
力により指定される。処理条件、例えばタイムス
ライスするタスク(優先順位)およびタイムスラ
イスの指定時間などの登録は、このコマンド
TSLIの入力時同時に行なうことが可能である。 時分割処理中、指定時間経過していない場合、
実行中タスクより実行可能タスクの優先順位が高
いかどうか見られる(ステツプn17)。これによ
り、別のコマンド入力、例えばコマンドPENDに
よりあるタスクがメツセージの受信待機状態にな
つているとき、データ受信のためこのタスクに実
行を切換えさせる(ステツプn18,ステツプn8)。
高い優先順位のタスクがない場合、コマンド待
ち,タイマ・カウントアツプ待ち(ステツプn9
に戻る。 <発明の効果> 以上のように本発明によれば、マスタCPUと
独立してタスクの切換えを行なえ、メモリ空間上
に制約がなく、CPUのアーキテクチユアに依存
しないため、あらゆるCPUのマイクロコンピユ
ータシステムに適用できる。また、上述の実施例
のように、MTSP素子として独立した素子とす
れば、他の周辺デバイスと同様に接続するだけ
で、簡単にマルチ・タスク制御を実現できる。
【図面の簡単な説明】
第1図は本発明によるシステム構成例を示す
図、第2図は第1図の主要部素子の内部構造を示
す図、第3図は第2図素子の動作を説明するフロ
ーチヤートである。 1……マルチ・タスク・サポート・プロセツサ
素子(MTSP素子)、2……マスタCPU、3……
内部バス、4……周辺入出力素子、11……
ROM、12……レジスタ、13……タイマ、1
4……演算制御部、16……マスタCPUインタ
ーフエイス部。

Claims (1)

    【特許請求の範囲】
  1. 1 単一のマスタCPUにより時分割実行される
    複数のタスクをそれぞれ独立してプログラムし、
    上記マスタ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 JPS6031648A (ja) 1985-02-18
JPH0376496B2 true 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)

Families Citing this family (36)

* 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 入出力制御方式
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
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
JP2516317B2 (ja) * 1992-10-13 1996-07-24 インターナショナル・ビジネス・マシーンズ・コーポレイション デ―タ処理システムとディジタル信号プロセッサへのロ―ディング方法
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
US6625654B1 (en) * 1999-12-28 2003-09-23 Intel Corporation Thread signaling in multi-threaded network processor
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
US7984442B2 (en) * 2004-01-29 2011-07-19 Klingman Edwin E Intelligent memory device multilevel ASCII interpreter
US7823161B2 (en) * 2004-01-29 2010-10-26 Klingman Edwin E Intelligent memory device with variable size task architecture
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
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
US7823159B2 (en) * 2004-01-29 2010-10-26 Klingman Edwin E Intelligent memory device clock distribution architecture
US7882504B2 (en) * 2004-01-29 2011-02-01 Klingman Edwin E Intelligent memory device with wakeup feature
JP2007133456A (ja) * 2005-11-08 2007-05-31 Hitachi Ltd 半導体装置
JP6309216B2 (ja) * 2013-07-19 2018-04-11 サイプレス セミコンダクター コーポレーション プロセッサシステムおよび半導体集積回路

Family Cites Families (10)

* 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
US4384324A (en) * 1980-05-06 1983-05-17 Burroughs Corporation Microprogrammed digital data processing system employing tasking at a microinstruction level
US4493020A (en) * 1980-05-06 1985-01-08 Burroughs Corporation Microprogrammed digital data processor employing microinstruction tasking and dynamic register allocation
JPS5833975B2 (ja) * 1980-07-30 1983-07-23 富士通株式会社 デ−タ処理システム
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

Also Published As

Publication number Publication date
JPS6031648A (ja) 1985-02-18
US4847751A (en) 1989-07-11

Similar Documents

Publication Publication Date Title
JPH0376496B2 (ja)
EP0794492B1 (en) Distributed execution of mode mismatched commands in multiprocessor computer systems
US5257372A (en) Methods for efficient distribution of parallel tasks to slave processes in a multiprocessing system
JPS5841538B2 (ja) マルチプロセツサシステム ノ ユウセンセイギヨホウシキ
JPH0232659B2 (ja)
JP3644042B2 (ja) マルチタスク処理装置
JPH0666062B2 (ja) シーケンス制御装置
JPH0666063B2 (ja) シーケンス制御装置
JPS6336023B2 (ja)
JP2553526B2 (ja) マルチタスク処理装置
JP2508026B2 (ja) タイマ制御方式
JPH03179532A (ja) コンピュータ装置
JPS61101865A (ja) マルチマイクロプロセツサシステム
JPH05342021A (ja) マルチタスク計算機
JPH0462093B2 (ja)
JPH0588918A (ja) マシン・サイクルの浪費を回避する方法
JPH01321525A (ja) ハードウェアセマフォ
JPS63271537A (ja) 割り込み制御装置
JPH05233525A (ja) I/o処理装置
JPH0376497B2 (ja)
JPS6143369A (ja) マルチプロセツサシステム
JPH0133865B2 (ja)
JPS5831022B2 (ja) プロセツサ制御方式
JPH02224048A (ja) 情報処理装置
JPH02155062A (ja) マルチプロセッサシステム