JPH03257634A - プログラム並列実行方法とその装置 - Google Patents

プログラム並列実行方法とその装置

Info

Publication number
JPH03257634A
JPH03257634A JP5688190A JP5688190A JPH03257634A JP H03257634 A JPH03257634 A JP H03257634A JP 5688190 A JP5688190 A JP 5688190A JP 5688190 A JP5688190 A JP 5688190A JP H03257634 A JPH03257634 A JP H03257634A
Authority
JP
Japan
Prior art keywords
task
cpu
interrupt
register
start address
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
JP5688190A
Other languages
English (en)
Inventor
Toshiaki Ochiai
落合 利章
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP5688190A priority Critical patent/JPH03257634A/ja
Publication of JPH03257634A publication Critical patent/JPH03257634A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は高速なリアルタイム処理が要求される組み込
み計算機用プログラムに於いて各種プログラム・タスク
(以降タスクと言う)を簡単な方法で並列に実行させる
ことを実現したプログラム並列実行方法及びその装置に
関するものである。
[従来の技術] 従来、1つのメモリ領域に入っている複数のプログラム
を並行して実行する場合、各プログラムに優先レベルを
付けてタスクとして定義し、それらの実行制御をオペレ
ーティング・ンステム(以降O8と言う)が行い、実行
時点で最も優先レベルの高いタスクを実行する方式を採
っていたので幾つかのタスクが起動されているときに複
数のタスクが並行して実行している様に見えるが、実際
は1つのセントラル・プロセッサ(以降CPUと言う)
しかないので、同時点では1つのタスクしか実行できな
かった。
「発明が解決しようとする課題] 従来の組み込み計算機用プログラムのタスク・スケジュ
ーリング方式ではCPUが1つしかなかったので、同一
メモリ上の複数のタスクを同時に並行して実行するのが
困難であった。又、低レベルのタスクが実行中に高レベ
ルのタスクが起動されたとき、その時点で高レベルのタ
スクに実行制御が移り、低レベルのタスクの実行が中断
する為低レベルのタスクの実行終了時間が高レベルのタ
スク実行状況に応じて変動していた。さらに、各タスク
がシリアルに実行される為、1つのタスクの実行時間に
全体のタスクの実行終了時間が左右されて所定の時間範
囲に納まらなくなる場合があった。また9組み込み計算
機の性能(例えばMIPS値)の向上には玄海が出始め
てきており、かつ1組み込み計算機の分野にも高級言語
が採用され出して来ているため従来より実行時間が長く
なる傾向があることから、ハードウェアの性能向上だけ
ではなくソフトウェアのアルゴリズムの改良により計算
機処理の性能を向上する必要が出てきた。
本発明は、:れらの課題を解決するためになされたもの
である。
[課題を解決するための手段] 主メモリに格納されている各種プログラムを実行するC
PUと、タスクの実行先頭アドレスを格納するタスク先
頭アドレスレジスタと、タスクの実行要求を設定するタ
スクステータスレジスタとCPUの使用状況を設定する
CPUビジーフラグレジスタとアプリケーションプログ
ラムからのタスク実行要求によって空きCPUを捜し、
空いているCPUがあった場合にそのCPLJに割り込
み制御装置によって割り込みを発生させて対応するタス
クの実行要求を出し、空きCPUがないときには待ち行
列バッファにタスクの実行要求を登録するO8とを備え
る。
E作用] 同一メモリ上の複数のタスクを複数のCPUを使って実
行することにより、複数のタスクを同時にリアルタイム
で実行できる。
[実施例] 第1図はこの発明によるプログラム並列実行装置の一実
施例を示すもので1図中(1)はタスクの先頭アドレス
を設定するアドレス設定装置、 (2a)〜(2n)は
タスクの先頭アドレスを格納するタスク先頭アドレスレ
ジスタ、(3)はタスクの実行要求を設定するタスクス
テータスレジスタ、(4)はCPU(7a)〜(7鵬〉
の使用状況を設定するCPUビジーフラグレジスタ、(
5)はCP U (7a)〜CP U (7m)が凡て
使用中のときに実行要求が出されたタスクを登録してお
くタスク待ち行列バッファ、(6)は実行したタスクが
どのCPUで実行されていたかを判別するためのタスク
/CPU対応バッファ、 (7a)はパワーオン割り込
みによってイニシャル処理を実行し、タスク起動割り込
みによってタスクを実行するCPU、(7b)〜(7m
)はパワーオンによって割り込みが発生せず、タスク起
動割り込みによってタスクを実行するcpv、(s)は
各種プログラムを格納しておく主メモリ、(9)はCP
 U (7a)〜CP U(7a+)の何れかのCPU
から出されたタスク起動要求信号に応じてCP U (
7a)〜CP U (7+n)の何れかのCPUに割り
込みを発生させる割り込み制御装置である。
第2図〜第5図はこの発明によるプログラム並列実行方
法の一実施例の処理内容である。図中、二重線の処理ブ
ロックはO3の処理を呼ぶことを意味している。第2図
はCP U (7a)の処理内容を。
第3図はCP U (7b)の処理内容を、第4図はc
pU (7c)の処理内容を、第5図は各CPUで共通
的に使われるO8の処理内容を示している。説明の都合
上、タスクレベル(以降タスク1と言う)、タスクレベ
ル2(以降タスク2と言、う)、タスクレベル3(以降
タスク3と言う)の3つのタスクを同時に実行する場合
を考える。また、タスク1の各種フラグはデータのビッ
ト1で処理されるものとする。第2図においてCP U
 (7a)にパワーオン割り込みが発生することにより
タスク1を起動する(ステップ10)。タスク1の起動
要求が発行されることによってO3のタスク起動要求処
理が起動されタスクステータスレジスタのビット1にタ
スクIの実行要求が発生した旨のフラグを設定しくステ
ップ23)、 CP Uビジーフラグレジスタの内容を
見て(ステップ24)、 CP Uの占有状況をチエツ
クする(ステップ25)。 この時点ではまだどのタス
クも起動されていないのでCPUビジーレジスタのビッ
ト1をオンにしてCP U (7a)の使用中フラグを
設定しくステップ26)、タスク/CPU対応バッファ
のタスク1の使用CPUをCP U (7a)に設定し
くステップ27)、 CP U (7a)へタスク起動
要求信号を発生させ5割り込みを起こさせることにより
(ステップ28)、 CP U (7a)にタスク起動
割り込みが発生する。CP U (7a)ではタスク起
動割り込み処理(ステップ11)を実行し、OSタスク
起動割り込み処理(ステップ31〜ステツプ33)を起
動するタスク起動割り込み処理ではタスクステータスレ
ジスタの内容を見てビット1がオンになっていることか
らタスク1の起動要求が発行されていることを認識しく
ステップ31)タスクステータスレジスタをクリアしく
ステップ32)タスクエの実行先頭アドレスをタスク先
頭アドレスレジスタから知り。
cb−分岐する(ステップ33)。対象タスクへの分岐
処理(ステップ33)の実行によってタスク1処理(1
)(ステップ12)が実行され9次にタスク3の起動要
求を発行したとする(ステップ13)。タスク1が起動
されたのと同じ手順(ステップ23〜ステ。
プ27)でCP U (7b)にタスク起動割り込みが
発生する(ステップ28)。CP U (7b)への割
り込み起動後、タスク起動要求処理が発行された次の位
置(ステップ14)に制御が移る(ステップ30)。 
CPU(7a)ではタスク1処理(2)(ステップ14
)を実行した後、タスク2起動要求処理(ステップ15
)を実行しタスク2を起動する。この時点ではCP U
 (7a)とCP U (7b)が使用中であることか
らタスク起動要求処理(ステップ23〜ステツプ28)
ニよっテcP U (7c)に割り込みが発行されタス
ク1終了処理(ステップ16)に戻る。CP IJ (
7a)によって実行されたタスクはO3のタスク終了処
理(ステップ34〜ステツプ39)でタスク待ち行列バ
ッファ(5)の待ちタスクの有無を判定(ステップ34
)、この場合は待ちタスクがないこと(ステップ35)
、及びタスク/CPU対応バッファ(6)のタスクlに
登録されているCPUがCPU(7a)であることから
、CPUビジーフラグレジスタのビットIをクリアしく
ステップ3g)、  CP U (7a)を停止する(
ステップ39)。もし、タスク待ち行列バッファ(5)
に処理待ちタスクがある場合はタスク待ち行列バッファ
(5)から待ちタスクを取り出しくステップ36)、対
応するタスクの先端アドレスをタスク先頭アドレスレジ
スタ(2a〜2n)の中から取り出し対象タスクへ分岐
する。その際、タスク/CPU対応バッファ(6)の対
応CPUの実行タスクを対応する番号に設定する。一方
、CPU(7b)はタスク起動割り込み発生処理(ステ
ップ28)によって割り込みが発生り、O5のタスク割
り込み処理を起動しくステップ17)、タスク3を実行
しくステップ18)、タスク3終了処理(ステップ19
)によってCP U (7b)(7)処FIを終了させ
る。同様にCP U (7c)ではO3のタスク起動割
り込み処理を起動しくステップ2o)、タスク2を実行
しくステップ21)、タスク2終了処理(ステップ22
)によってCP U (7c)の実行を終了させる。
[発明の効果] この様に本発明によれば組み込み計算機に格納されてい
る複数のタスクを並行して同時に実行することが出来る
。また、同時に実行するタスクの数がCPUの数より多
い場合でもタスク待ち行列バッファ内に待ちタスクを登
録することが出来ることから、CPU0数を任意に変更
できる。
【図面の簡単な説明】
第1図はこの発明の一実施例を示す全体構成図ドレス設
定装置、 (2a)〜(2n)はタスク先頭アドレスレ
ジスタ、 (3)はタスクステータスレジスタ、 (4
)はCPUビジーフラグレジスタ、(5)はタスク待ち
行列バッファ、(6)はタスク/CPU応対バッファ(
7a)〜(7m)はCPU、(8)は主メモiハ(9)
は割り込み制御装置である。

Claims (2)

    【特許請求の範囲】
  1. (1)タスクの起動要求をタスクステータスレジスタか
    ら入力し、CPUビジーフラグレジスタの内容から空き
    CPUを探し、空きCPUがあるときに割り込み制御装
    置によって対応CPUに割り込みをかけてCPUを活性
    化、活性化されたCPUに於いてタスク先頭アドレスレ
    ジスタに格納されている対応タスクの先頭アドレスを入
    力し主メモリに格納されている対応タスクを実行させる
    ことにより、複数のCPUが存在する組み込み計算機シ
    ステムに於いて複数のタスクを実行することを可能にし
    たことを特徴とするプログラム並列実行方法。
  2. (2)タスクの先頭アドレスを格納しておくタスク先頭
    アドレスレジスタと、タスクの起動要求を格納しておく
    タスクステータスレジスタと、CPUの使用状況を格納
    しておくCPUビジーフラグレジスタと、凡てのCPU
    が使用中のときに起動要求タスクを一時的に登録するタ
    スク待ち行列バッファと、使用しているCPUの実行中
    のタスク情報を格納しておくタスク/CPU対応バッフ
    ァと、各種プログラムを実行するCPUと、各種プログ
    ラムを格納しておく主メモリと、タスク実行時に割り込
    みを発生する割り込み制御装置を備えたことを特徴とす
    るプログラム並列実行装置。
JP5688190A 1990-03-08 1990-03-08 プログラム並列実行方法とその装置 Pending JPH03257634A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5688190A JPH03257634A (ja) 1990-03-08 1990-03-08 プログラム並列実行方法とその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5688190A JPH03257634A (ja) 1990-03-08 1990-03-08 プログラム並列実行方法とその装置

Publications (1)

Publication Number Publication Date
JPH03257634A true JPH03257634A (ja) 1991-11-18

Family

ID=13039760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5688190A Pending JPH03257634A (ja) 1990-03-08 1990-03-08 プログラム並列実行方法とその装置

Country Status (1)

Country Link
JP (1) JPH03257634A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644214B2 (en) 2005-05-12 2010-01-05 Sony Computer Entertainment Inc. Information processing apparatus and task execution method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644214B2 (en) 2005-05-12 2010-01-05 Sony Computer Entertainment Inc. Information processing apparatus and task execution method

Similar Documents

Publication Publication Date Title
US5706514A (en) Distributed execution of mode mismatched commands in multiprocessor computer systems
CN105579961B (zh) 数据处理系统及操作方法、用于数据处理系统的硬件单元
US8572626B2 (en) Symmetric multi-processor system
US7103631B1 (en) Symmetric multi-processor system
KR970016979A (ko) 다중 처리 시스템에서 타스크의 큐잉 시스템 및 방법
JPS5841538B2 (ja) マルチプロセツサシステム ノ ユウセンセイギヨホウシキ
US20080065838A1 (en) Data processing system with memory access
CN113439260A (zh) 针对低时延存储设备的i/o完成轮询
CN114816566B (zh) 一种指令搬移方法、系统、设备以及介质
US7103528B2 (en) Emulated atomic instruction sequences in a multiprocessor system
JPH0916409A (ja) マイクロコンピュータ
WO2003083656A2 (en) Method and apparatus for context switching in computer operating systems
US7360213B1 (en) Method for promotion and demotion between system calls and fast kernel calls
JP3006676B2 (ja) マルチプロセッサ
CN117311833B (zh) 一种存储控制方法、装置、电子设备及可读存储介质
JPH05128078A (ja) 並列処理装置
JPS603229B2 (ja) 情報処理方式
JPH06324861A (ja) Cpu制御システム及び制御方法
Takada et al. Inter-and intra-processor synchronizations in multiprocessor real-time kernel
JP2003005987A (ja) エミュレーション装置
JP2594557B2 (ja) マルチタスク処理装置
JPS63826B2 (ja)
JPH08297585A (ja) オペレーティングシステムによるデータ転送方法
JPH0444131A (ja) 複数os走行システムにおけるプロセッサ間通信の実行装置および方法
JPH064306A (ja) 割り込み処理の分割方法