JPH07504058A - マルチタスク低電力制御装置 - Google Patents

マルチタスク低電力制御装置

Info

Publication number
JPH07504058A
JPH07504058A JP6514746A JP51474694A JPH07504058A JP H07504058 A JPH07504058 A JP H07504058A JP 6514746 A JP6514746 A JP 6514746A JP 51474694 A JP51474694 A JP 51474694A JP H07504058 A JPH07504058 A JP H07504058A
Authority
JP
Japan
Prior art keywords
task
microprocessor
tasks
control device
event
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
JP6514746A
Other languages
English (en)
Other versions
JP3776449B2 (ja
Inventor
ペロット,ジャン−フェリ
ラモト,クリスティアン
Original Assignee
セントル エレクトロニク オルロジェール ソシエテ アノニム
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 セントル エレクトロニク オルロジェール ソシエテ アノニム filed Critical セントル エレクトロニク オルロジェール ソシエテ アノニム
Publication of JPH07504058A publication Critical patent/JPH07504058A/ja
Application granted granted Critical
Publication of JP3776449B2 publication Critical patent/JP3776449B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Executing Machine-Instructions (AREA)
  • Power Sources (AREA)
  • Advance Control (AREA)
  • Direct Current Feeding And Distribution (AREA)
  • Programmable Controllers (AREA)
  • Vehicle Body Suspensions (AREA)
  • Multi Processors (AREA)
  • Game Rules And Presentations Of Slot Machines (AREA)
  • Control Of Vehicles With Linear Motors And Vehicles That Are Magnetically Levitated (AREA)
  • Control Of Eletrric Generators (AREA)
  • Stereophonic System (AREA)
  • Control By Computers (AREA)

Abstract

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

Description

【発明の詳細な説明】 マルチタスク低電力制御装置 本発明は一般的に、時分割処理用マイクロプロセッサと、各々が一連の命令を有 する複数のタスクと、そのタスクを多数記憶するROMのようなタスク記憶手段 と、前記マイクロプロセッサにより作成され使用される可変データを記憶するR AMのようなデータ記憶手段と、を備えたマルチタスク制御装置に関する。マル チタスク制御装置は、時計分野の応用における使用に適切であり、本発明を以下 に開示するに際し時計分野の例をあげることは好都合である。然しなから、本発 明は当該技術分野に制限されないことは理解されるべきことである。
時計分野における多くの応用は、一連のシーケンス命令を含むタスクに基づいて いる。マイクロコンピュータはこのようなタスクを実行するためにしばしば使用 され、その結果所望の機能を有する時計が提供される。現存するマイクロコンピ ュータは、実行すべき各タスクの命令を記憶するためのリード・オンリ・メモリ またはROMと、これらの命令を実行するために必要な処理を実行するマイクロ プロセッサと、そのマイクロプロセッサにより作成され使用される可変のデータ を記憶するためのランダム・アクセス・メモリまたはRAMとを有する。マイク ロプロセッサは、明白に、演算とロジック処理を実行するための演算ロジックユ ニットまたはALUと、これらの処理の結果を記憶する一連のレジスタとを有す る。制御、データおよびアドレスのバスが、マイクロプロセッサ、ROMRAM 、I10インターフェースに接続され、これらの要素間や外部周辺機器間の通信 を可能とする。
マイクロプロセッサを用いたこのようなタスクの実現は、数個の厳しい制限の存 在により実現することがしばしば困難である。これらのタスクの各々が実時間で 実行されなければならないのみならず、マイクロコンピュータは、内部的または ユーザの何れかにより作成された信号に瞬時に応答しなければならない。理想的 にはこれらのタスクはまた、できるだけ消費電力が少なくなるように構成されか つ実行されるべきである。
時計設計音速に提示される他の挑戦課題は、同時に生じることが要求される多数 の時計機能の処理と、一連の命令を連続的に実行することが要求されるタスクと を再構成することである。例えば、時計上の押しボタンの作動は、ステップモー タと同時にクロノグラフを開始させることを命じることができる。
この問題に着手するため、マルチタスクまたは時分割の技術により同時に数個の タスクを実行するようにマイクロコンピュータを使用するように設計された時計 がある。マルチタスクを実行するに際し、実行されなければならないROM内の 各タスクの部分は、マイクロプロセッサの使用を順次に可能とする。実行される タスクを素早くサイクリングすることにより、使用者に各タスクが連続的にかつ 他のタスクと同時に実行されたように思わせる。
マイクロプロセッサによるタスクの同時実行は、スケジューラと呼ばれるソフト ウェア機構により通常になされる。このような機構は、ROMに記憶された一連 の命令として実現し、マイクロプロセッサにより実行される上述の連続的な多様 性のあるタスクを達成する。
この実行方法は、コンピュータ産業では広くどの分野でも使用されているが、時 計の分野では十分に適合されていなかった。スケジューラにより導入された余分 の命令の負荷は、マイクロプロセッサにより実行されるタスクの有効なサイズを 増加し、速度と電力消費の点でその性能をその分だけ軽減する。
タスク達成において実行されなければならない付加的命令から生じる処理速度の 減少を最小とするために、マイクロプロセッサにより順次実行されるタスク部分 のサイズは、しばしば数個の命令からできて長く、それゆえタスクはまれに変更 される。しかしながら、このことは使用者の入力やタスクを開始する他のリクエ ストに応答する時計の反応時間を減少する。この入力とリクエストは、数個の他 のタスクの命令が実行された後にのみ実行できる。
さらに、マイクロプロセッサにより実行される多くのタスクの実行はまた、タス ク内に1以上サブルーチンの実行を必要とする。1つのサブルーチンが、現存す るマルチタスク制御装置における1つのタスク内から開始されるとき、サブルー チンの実行後、そのタスクを後に再度開始する命令のアドレスを指し示すプログ ラムカウンタの値が最初にRAMに記憶できるようにする追加命令が必要とされ る。これらのデータ転送処理を実行するために必要とされる余分な命令は、さら にマイクロプロセッサにより実行されるタスクの有効なサイズを増加し、その処 理速度と電力消費を減少する。
この従来技術の欠点を軽減し、克服するマルチタスク制御装置を提供することを 本発明の目的とする。
この目的に鑑み本発明は、各々が一連の命令からなるタスクをN個まで記憶する タスク記憶手段と、複数N個のタスクを時分割により処理するマイクロプロセッ サと、そのマイクロプロセッサにより作成され記憶される可変データを記憶する データ記憶手段と、を有するマルチタスク制御装置において、そのマイクロプロ セッサがその処理によりマイクロプロセッサの使用を制御するハードウェアで実 現された1つのスケジューラと、各カウンタが、そのN個のプロセスの内から個 別の1個の命令シーケンスを制御するようスケジューラにより使用されるN個の カウンタを記憶するプログラムカウンタ記憶手段と、をさらに有することを特徴 とするマルチタスク制御装置を提供する。このスケジューラは、マイクロプロセ ッサにより処理されたタスクが、前記データ記憶手段からのデータの転送が要求 されることなく変えられるとき、プログラムカウンタの他の1つを選択できる。
各タスクに対し個別のプログラムカウンタと、ノへ−ドウェアで実現したスケジ ューラと、を設けることにより、ROM内に記憶される多数の命令を減少するデ ータ記憶手段へまたはそのデータ記憶手段からのデータの転送を必要とすること なしにプログラムカウンタを変更することを可能とすることにより、マイクロプ ロセッサにより処理されるタスクのより有効な管理を可能とする。タスクの管理 中に多数の追加の命令を実行する必要が避けられ、それにより制御装置の電力消 費が減少され、タスクが実行される速度が増加され、マイクロプロセッサにより 処理される部分のサイズを減少することが可能とされる。実行されるタスクはま た、より急速にサイクルされ、それゆえ制御装置の応答時間を改善する。
有利なことに、マルチタスク制御装置は、各タスクに対する個別のアキュムレー タ値を記憶する個別のアキュムレータ値記憶手段を備え、それゆえマイクロプロ セッサにより処理されるタスクがそのデータ記憶手段からのデータの転送を必要 とすることなく変更されるとき、そのアキュムレータ値の異なる1つを選択する ことができる。
マルチタスク制御装置は、さらに各タスクに対する個別のインデックス値を記憶 するインデックス(索引)値記憶手段を有してもよ(、それゆえそのデータ記憶 手段からのデータの転送を必要とせずにマイクロプロセッサにより処理されるタ スクが変えられるとき、マイクロプロセッサは、そのインデックス値の他の1つ を選択できる。
本発明のさらに他の実施例において、マイクロプロセッサは、X個のタスクの各 部分を順次処理するように構成できる。ここでXは1 <X<Nであり、N−X 個の残りのタスクの1以上のプログラムカウンタは、前記マイクロプロセッサに より、前記X個のタスク内から呼ばれるサブルーチンの命令シーケンスを制御す るため使用される。
このように、処理される必要のある多数のタスクが、マイクロプロセッサが処理 できるタスクの最大数より小さいとき、残りの使用されていない処理の1以上の プログラムカウンタが、1つのタスク内から呼ばれるサブルーチンの命令シーケ ンスを追跡し続けるように使用可能である。サブルーチンが呼ばれたときに使用 されるプログラムカウンタは、それゆえそのサブルーチンが実行されるときの使 用のために保持される。本発明のスケジューラの使用は、サブルーチンが呼び出 されるときに必要とされるデータ転送と、このデータ転送を実行するために必要 とされる多数の追加の命令との両方を最小とすることを可能とする。上述したよ うに、このことは、制御装置により消費される電力を減少し、その応答時間を増 加し、そのタスクをより有効に管理するように導く。
以下に本発明のマルチタスク制御装置の種々な特徴をより詳細に言及する。本発 明の理解を促進するため、マルチタスク制御装置を例示した添付図面に符号を記 す。本発明のマルチタスク制御装置が図示した好適実施例に限定されないことは 理解されるべきことである。
図の簡単な説明 図1は、本発明のマルチタスク制御装置の一実施例による処理の原理を示す概略 図であり、 図2は、図1に示すマルチタスク制御装置により処理される処理の管理を示す概 略図であり、 図3は、サブルーチンのレベルが異なる図1に示す制御装置のタスクの構成を示 す概略図であり、 図4は、図1の制御装置により図3に記したサブルーチンの管理を示す概略図で あり、そして 図5は、内部および外部イベントが、図1に示すその制御装置により実行される 処理の開始を要求するため、手順が決定されかつ使用される様子を示す概略図で ある。
図1を参照すると、全体的にマルチタスク制御装置1が示されることが判る。マ ルチタスク制御装置lは基本的に、ROM2、命令レジスタ/デコーダ3、リソ ース(方策)グループ4、イベントバンク5、タスクマネージャ6、および4つ のプログラムカウンタPc01Pcl、Pc2、Pc3の各々を記憶する個別レ ジスタを有する。ROM2は、制御装置lにより使用され所望の機能を実行する 4つのタスクまで連続命令を記憶する。これらのタスクの各々は、プログラムカ ウンタPc01Pcl、Pc2、Pc3の個々の1つを使用し、その命令シーケ ンスの追跡を保持する。各プログラムカウンタは、それゆえ実行されるべきタス ク内の次の命令を含むROM2内のメモリーを指摘するために使用される。4つ のタスクとそれに対応する4つのプログラムカウンタとが、本実施例に使用され るが、如何なる数のタスクとプログラムカウンタとが本発明とは異なる他の例に 使用できることは明白である。
ROM2内に含まれるタスクの各々は、制御装置lへの周辺装置から送られる外 部のイベント信号または制御装rItl内から送られる内部のイベント信号によ り作動できる。多(のこのような信号は、時計分野の応用において使用されるマ ルチタスク制御装置へ供給できる。これらのイベント信号は、グループとしてこ れらのイベント信号を処理するイベントバンク5へ送られる。グループの数は、 他の実施例では他のグループ数が設けられるが、ROM2内に記憶されるタスク の数に相当し得る。1つの特定グループからの何れかのイベント信号を受領した 時、イベントバンク5はタスクマネージャ6ヘイベントグループ信号を送る。
タスクマネージャ6は、スケジューラ7、イベントルータ8と2つのスタックポ インタ9とlOを有する。イベントルータ8は、イベントバンク5から送られる 各イベントグループ信号を受信し、ROM2に記憶されたタスクの1つの開始を 要求する1つのタスクリクエスト信号を発生する。イベントルータ8は、各タス クリクエスト信号により要求されるタスクの開始が選択できるように構成できる 。
スケジューラ7はイベントルータ8から送られるタスクリクエスト信号を受け、 このようにリクエストされた各タスクの実行を管理する。各アクティブタスク( 開始が要求されたタスク)の部分はスケジューラ7により指し示されたタスクに 従って、制御装置1により順次処理される。各タスクが実行されるに連れて、そ のプログラムカウンタはROM2内の何れの命令が実行されたかを追跡し続ける ために使用される。第1タスクの1部分が実行されたとき、スケジューラ7は第 2タスクの1部分が、処理されるべき次の命令を示す第2タスクのプログラムカ ウンタを使用することにより処理されるように作用する。各タスクが各プログラ ムカウンタを有するので、各タスクの実行を容易に待機状態とし、次にその修正 命令で再度開始できる。
特に、各プログラムカウンタの値は転送される必要はなく、かつ対応するタスク の部分が実行完了する毎に制御装置1内の何れかのデータレジスタ内に記憶され 、そのタスクの新たな部分が実行される時毎に逆に転送され、1つの共通プログ ラムカウンタ内に記憶される。有利なことにこのことは、制御装置1の応答時間 を最小とするため、制御装置lにより実行される1以上のタスクをたった1つの 命令長とさせる。
後述されるように、1以上のプログラムカウンタが1つのタスク内から1つのサ ブルーチンを開始させるために使用できる。1つのサブルーチンが呼び出された とき、そのサブルーチンが実行されたとき、引き続きの命令が実行できるように 現在使用されるプログラムカウンタは記憶される。スタックポインタ9と10は 、1つのサブルーチンが開始されるとき、未使用のプログラムカウンタを指し示 すために使用される。このプログラムカウンタは次に、そのサブルーチンにおけ る命令シーケンスを追跡し続けるために使用される。
サブルーチンが呼ばれるときに使用中のプログラムカウンタは、それゆえサブル ーチンが実行されたときに命令シーケンスを追跡し続けるように保存される。
リソースグループ4は1つの演算ロジックユニットまたはALUll、ランダム ・アクセス・メモリまたはRAM12.1つのアキュムレータグループ13、お よびインデックスレジスタグループ14を有する。後者のレジスタグループは、 索引されたアドレス付けが制御装置lにより実行されるタスクにより使用される ときのみ必要とされる。
ALUIIとRAM12は、リソースを分は合い、制御装置1により実行される 全てのタスクによりアクセスされ得る。複数の信号機が、下記の方法で制御装置 lの割り当てられたリソースへのアクセスを制御するために使用される。1つの タスクが割り当てリソースを使用するとき、1つの選択されたデータレジスタ内 のlビ・ソトはビジーに設定される。このタスクが割り当てられたリソースを用 いて終了したとき、このビットは自由なビットに設定される。このビットの状態 は割り当てられたリソースをアクセスしたい全てのタスクにより試験され、その ビットがよりより早期のタスクによりビジーに設定されているときは、後者(よ り早期)のタスクはそのビットが自由なビットに設定されるまで待機しなければ ならない。
アキュムレータレジスタグループ13は4つのアキュムレータ13a、13b、 13c、13dからなり、一方インデックスレジスタグループ14は4つのイン デックスレジスタ14a、14b、14cS 14dからなる。プログラムカウ ンタPcOからPc3と共に、アキュムレータ13aから13dおよびインデッ クスレジスタ1、4 aから14dは、種々のタスク間で割り当てることができ ないが、与えられた応用において1つの特定なタスクのみによりむしろ使用でき る制御装置l内のリソースを含む。
現在のタスクが制御装置1により実行されるとき、その処理点により使用された プログラムカウンタに対する命令が、ROM2により命令レジスタ/デコーダ3 へ送られる。このように、命令は実行され、そのビットはALUI 1.データ バッファ、アドレスバッファ、および制御装置1の種々のレジスタにより解読さ れる言語に変換される。
ALUIIは、命令レジスタ/デコーダ3から解読された命令を受け、その命令 を実行するのに必要な演算またはロジック処理を実行する。現在のタスクに関連 するアキュムレータは、これらの演算またはロジック処理が実行されるようにA LUIIへデータを供給する。これらの処理の結果は、次にそのアキュムレータ へ戻される。
RAM12は、これらの処理を実行するために作成され使用されるデータを記憶 するために使用される。
制御装置llにより現在実行中のタスクと関連するインデックスレジスタは、オ フセット値として実行されるタスクにより使用されるアドレスを記憶するために 使用される。特定のアドレスが、ALUllまたは他の要求データに対する所望 のオペランドを記憶する制御装置11内の他のアドレスを指し示すように、この オフセット値により増加される。
個別のアキュムレータの準備と、必要なら、制御装置lにより実行された各タス クに対する個別のインデックスレジスタは、それゆえ各アクティブタスクを使用 可能とし、かつタスクが制御装置1内でサイクルされるときRAM12へのまた はRAM12からのデータの転送を要求することなく、それ自身のアキュムレー タやインデックスの値を保持する。
上記したように、命令レジスタ/デコーダ3はまた、制御袋ff1l内で選択さ れた内部イベントの発生時にイベントバンク5へ信号を供給する。
スケジューラ7はハードウェア装置の形式で実現され、ROM2とRAM12か ら分離され、それゆえタスクの変更がその記憶部内に含まれるデータの転送を要 求し、かつプログラムカウンタ、アキ1ムレータ値およびRAM12内の各タス クのインデックス値を呼び起こすることなしに達成できる。ハードな配線で制限 された状態の機械、プログラム可能なロジック列、個別ROM、または他の類似 な装置の如きハードウェアの装置が、スケジューラ7を実現するため使用できる 。
制御装置lによりROM2に記憶されたタスクの管理について以下により詳細に 説明する。図2は図1に示したイベントバンク5、イベントルータ8およびスケ ジューラ7を概略的に示す。制御装置lにより実行され得る4つのタスクは、P O,PI、P2、P3とラベル付けされている。スケジューラ7は、順次に巡回 優先体系に従って各アクティブなタスクの命令を実行する。それゆえ、4つのタ スクの各々がアクティブのとき、スケジューラ7は各タスクの1つの命令を順次 実行する。しかしながら、1つのタスクのみがアクティブのとき、スケジューラ 7は遅れなくそのタスクの命令を順次実行し、このようにマイクロプロセッサと して動作する。
各タスクPO1P1、P2、P3は、それぞれPEO,PEI、PE2、PE3 とラベル付けられた個別の双安定処理イネーブルスイッチによりイベントルータ 8に接続されている。各タスクは、対応するタスクの開始を要求する信号がイベ ントルータ8から受信されたとき、実行される。タスクイネーブルスイッチPE O,PEI、PE2、PE3は、タスクリクエスト信号ReqOSReql、R eq2、Req3をそれぞれ受けるため、スイッチの開または閉の状態によりタ スクPO1PI、P2、P3を許容または阻止する。
所定条件下で、1つ以上のタスクイネーブルスイッチを開きの状態に設定するこ とにより、スケジューラ7へのタスクリクエスト信号のアクセスを阻止すること が望まれる。例えば、この手段は1つのタスク(例えば時刻調整機能)が1以上 の他のタスク(例えば第2の針の移動)の動作を一時的に待機状態とすることを 可能とするために使用できる。タスクイネーブルスイッチはタスクマネージャ6 におけるデータレジスタ内に個々に設定可能なビットとして実現してもよい。
図3は、4つのタスクPO,PI、P2、P3の各々が制御装置lにより使用可 能な種々の方法の幾つかを示す。ケースa)においてタスクPOのみがアクティ ブである。以下に説明するように、タスクPI、P2、P3の割り当て不能リソ ースは、この構成におけるタスクPO内のサブルーチンのレベルを作成するため に使用される。
ケースb)において、タスクPOとP3がアクティブである。2つの処理を残す 割り当て不能リソースは、この場合サブルーチンレベルを作成するため使用され 得る。そして、タスクPOと23間で3つの異なる方法で割り当てできる。第一 に、2つのタスクPIとP2の各々の割り当て不能リソースは、タスクPO内か らサブルーチンを呼び出すために使用でき、一方タスクP3はそのために使用可 能なサブルーチンレベルはない。第二に、2つのタスクP1とP2の各々の割り 当て不能リソースは、処理P3からサブルーチンを呼び出すために使用でき、一 方処理POはそのために使用できるサブルーチンレベルはない。最後に、2つの アクティブな処理POとP3の各々は、1つのサブルーチンレベルを呼び出すた めの残された2つの処理の異なる1つの割り当て不能リソースを使用することが できる。
C)において、3つのタスクがアクティブであり、1つの残されたタスクの割り 当て不能リソースは、アクティブなタスクPOまたはP3の何れかによりサブル ーチンを呼び出すために使用できる。
d)において、4つのタスクPOSPI、P2、P3の各々がアクティブであり 、割り当て不能なリソースの何れもがサブルーチンの呼び出しに使用できない。
種々のタスクの管理を図4に関連させて以下により詳細に説明する。図4はスケ ジューラ7、スタックポインタ9およびlO、タスクPO1P1、P2、P3、 および関連するプログラムカウンタPc01Pcl、Pc2、Pc4をそれぞれ 示す。制御装置lは分岐制御命令、たとえば命令CALLやRETURNを実行 するために適用される。これらの命令は4つのタスクPO1P1、P2、P3の 各々を構成する一連の命令に現れる。
図4のa)に示す本発明の実施例において、タスクPOからのみサブルーチンを 呼び出すことができる。制御装置1はスタックポインタ9がタスクPOへの属性 であるように構成される。この配置において、タスクPI、P2、P3の各々の 割り当て不能リソースは、可能なら、タスクPO内でサブルーチンを呼び出すた めに使用できる。制御装置1は、タスクイネーブルスイッチPEOのみが閉の状 態に置かれ得るように構成され、それゆえタスクリクエスト信号ReqOのみが タスクの実行を発生させることができる。
スケジューラ7は、この例において、それゆえ絶えずタスクP。
を指し示す。初期化時において、スタックポインタ9は、プログラムカウンタP cOが記憶されるアドレスを指し示すように設定される。CALL命令のような 分岐制御命令の実行は、タスクPO内からの1つのサブルーチンとして開始され るようROM2内に記憶される一連の命令を引き起こす。当業者により理解され るように、CALL命令のような分岐制御命令は、開始されるべきサブルーチン の開始アドレスを含む。このようなタスクにおけるサブルーチンが開始されると 、サブルーチンが開始されたアドレスは、そのサブルーチンが終了した時にタス クが再び続けられる分岐制御命令に従う戻りのアドレスを示すため最初増加する 。スタックポインタ9の値は次に未使用のプログラムカウンタ(Pc 1.Pc 2;t’たハPc3)の1つを指し示すように調整される。サブルーチンの実行 中、二〇予めに未使用なプログラムカウンタはこのサブルーチン中に実行された 命令を追跡し続ける。このサブルーチンの実行が終了したとき、スタックポイン タ9はプログラムカウンタPcOへ指し示すように再調整され、このタスクの実 行は続けられる。
サブルーチンの1以上のレベルが使用されるとき、スタックポインタ9の値は、 未使用のプログラムカウンタを指し示すよう新たなサブルーチンが開始される時 毎に調整される。このように、制御装置lは、RAM12内のデータスタック上 の戻りのアドレスを記憶する必要なく1つのタスク内からサブルーチンを開始す るように設けられる。
好ましくは、プログラムカウンタPc01Pcl、Pc2、Pc3は、スタック ポインタ9が戻りのアドレスが記憶されるときは単に増加し、1つのサブルーチ ンの実行が終了したときは減少するように連続のアドレスを有する。
図4のa)が制御装置lの全ての割り当て不能なリソースがタスクPO内から使 用できる配置を示す一方、制御装置lは応用に応じて種々に構成される。図3に 示すように、タスクPOはサブルーチンの他のレベルを3つ、2つ、1つまたは 0だけ使用することができる。これらの場合の各々において、スタックポインタ 9は、単にその構成におけるタスクPOへ割り当てられた割り当て不能なリソー スと協力して使用されることのみ可能である。例えば、タスクPOがサブルーチ ンのレベルを定義するためタスクPIの割り当て不能なリソースを使用する構成 において、スタックポインタ9は、処理P1のプログラムカウンタを使用するこ とのみ可能である。
図4のb)に示される本発明の実施例において、制御装置1はスタックポインタ lOがタスクP3内の使用に利用できるように配置される。この配置において、 スタックポインタ10は、それゆえプログラムカウンタPc2、Pcl、PcO の何れかがこのようなタスクに使用されるように、指し示されるよう使用できる 。タスクPOとP3の各々がサブルーチンのレベルの1つを有する場合、スタッ クポインタ9とlOが使用されることが理解できる。
スタックポインタ9とlOが、タスクPOとP3のみに関連してこれまで説明し てきたが、他の実施例においてこれらのスタックポインタの1つまたは両方が他 のタスクに関連することができよう。
同様に制御装置1の他の実施例はタスクP1そして/またはP2と関連する追加 のスタックポインタを有することができ、それゆえこれらのリソースがサブルー チンを呼び出すために使用できるとき、タスクPO1PISP2、P3の何れの 数も、残りのタスクの他の1つの割り当て不能なリソースを使用することができ る。
当業者により理解されるように、無制限数のサブルーチンとサブルーチンのレベ ルとは同時に、分岐制御命令の上述した機能を繰り返す一連の命令の構成により タスクPO1P11P2、P3の各々に帰する。
図2に戻り、制御装置llにより受けられる内部および外部のイベントの管理と 、適切なタスクリクエスト信号の作成について以下に説明する。イベントバンク 5に向かって導くことのできるイベントは、4つのグループに分割され、grO ,grl、gr2、gr3とラベル付けされる。これらのイベントは、他のタス クの処理を開始するため制御装置1により使用される。6つのイベントがこれら のイベントグループの各々に関連し、その内4つのイベントは内部イベントであ り、その内2つのイベントは外部イベントである。これらのイベントグループの 各1つに対し、1つのイベントグループ信号を発生するようにその6つのイベン トがOR機能におけるイベントバンク5内に加算合計される。従って、1つの特 定イベントグループの6つのイベントの内からの何れか1つの到達は、イベント バンク5にそのイベントグループに対応する1つのイベントグループ信号を発生 させる。
このように発生された各イベントグループ信号は、イベントルータ8の構成によ りタスクPO1P1、P2、P3の1つに対応するタスクリクエスト信号を発生 するイベントルータ8へ送られる。各タスクリクエスト信号は、特定のタスクに 向かって導かれる1以上のイベントの存在を示すアクティブ状態またはそのタス クに向かって導かれるイベントは存在しないことを示す非アクテイブ状態の何れ かを有することができる。
特定のタスクリクエスト信号に関連するイベントが何等存在しないとき、その特 定なタスクに対応するタスクを作動解除することが可能である。制御装置lによ るこのタスクの実行は、それゆえ継続を停止する。全てのタスクリクエスト信号 が非アクティブのとき、それゆえ実行中のタスクがないとき、制御装置1はその 電力消費が殆とOの休止状態に入る。しかしながら、1以上のイベントが存在す るときは、その対応するタスクリクエスト信号は作動解除できない。
図5にイベントルータ8により設けられた構成の種々のモードが描かれている。
このような5つのモードが本発明の応用例として可能である。図5のa)に示さ れるモード0において、全てのイベントグループ信号、それゆえ全てのイベント はタスクPOに向かって導かれる。マルチタスク制御装置1は、それゆえ単一の プロセッサとして作動し、タスクPOの命令を連続的に実行する。タスクP1、 P2、P3の実行は、イベントバンク5におけるイベントによりリクエストでき ない。それゆえ、制御装置lにより実行される単一タスク内からサブルーチンが 呼び出されることを可能とするこれらのタスクの割り当て不能なリソースの各々 を自由にする。
b)に示されるモードlにおいて、イベントグループgrO1grLgr2から のイベントグループ信号は、タスクPOに向かって導かれ、一方イベントグルー プgr3からのイベントグループ信号はタスク3に向かって導かれる。タスクP IとP2の割り当て不能リソースが、タスクPOとP3内からサブルーチンを呼 ぶために使用できる。C)に示されるモード2において、タスクPOやP3は、 イベントグループgrOやgrlから、およびイベントグループgr2やgr3 から、それぞれイベントグループ信号により引き起こされるタスクリクエスト信 号を受ける。また、タスクP1とP2の割り当て不能なリソースが、タスクPO やP3内からのサブルーチンを呼び出すために使用可能である。
d)に示されるモード3において、イベントグループgroとgrlからのイベ ントグループ信号は、タスクPOに向かって導かれ、イベントグループgr3か らのイベントグループ信号は排他的にタスクP3の方向に向けられる。タスクP 1の割り当て不能なリソースのみがサブルーチンを呼び出すために使用可能であ る。最後にe)で示されるモード4において、タスクPO1P1、P2、P3の 各々はそれぞれのイベントグループgrO1grl、gr2、gr3からのイベ ントグループ信号を受ける。制御装置lのユーザはそれゆえ特別な応用に最適に 応答するイベントルーティングのモードを選択することができる。
最後に、本発明のマルチタスク制御装置llに対して種々の修正そして/または 追加が、以下に記す請求の範囲に定義された本発明の範囲内でなされ得ることは 当然のことである。
C) d) Fig、 3 Fig、 4 grOgrl g2 gr3

Claims (12)

    【特許請求の範囲】
  1. 1.各々が一連の命令を含むN個のタスク(PO、P1、P2、P3)まで記憶 するタスク記憶手段(2)と、前記N個の複数のタスクを時分割により処理する 1つのマイクロプロセッサと、 前記マイクロプロセッサにより作成され使用される可変のデータを記憶するデー タ記憶手段(12)と、を備えたマルチタスク制御装置において、 前記マイクロプロセッサは、 前記処理により前記マイクロプロセッサの使用を制御するハードウェアで実現さ れる1つのスケジューラ(7)と、前記マイクロプロセッサにより処理されたタ スクが前記データ記憶手段(12)からのデータ転送を要求することなく変更さ れるとき、前記スケジューラ(7)が前記プログラムカウンタ(Pc0、Pc1 、Pc2、Pc3)の他の1つを選択するように、前記N個の処理における個別 の1個の命令シーケンスを制御するように前記スケジューラ(7)により各々が 使用されるN個のプログラムカウンタ(Pc0、Pc1、Pc2、Pc3)を記 憶するプログラムカウンタ記憶手段と、 をさらに備えたことを特徴とするマルチタスク制御装置。
  2. 2.前記マイクロプロセッサは、 前記マイクロプロセッサにより処理された前記タスクが、前記データ記憶手段( 12)からのデータの転送を要求することなく変更されるとき、前記マイクロプ ロセッサが前記アキュムレータ値の他の1つを選択できるように、前記N個のタ スクの各々に対する個別のアキュムレータ値を記憶するアキュムレータ値記憶手 段(13)をさらに備えることを特徴とする請求の範囲1記載のマルチタスク制 御装置。
  3. 3.前記マイクロプロセッサは、前記マイクロプロセッサにより処理された前記 タスクが、前記データ記憶手段(12)からのデータの転送を要求することなく 変更されるとき、前記マイクロプロセッサが前記インデックス値の他の1つを選 択できるように、前記N個のタスクの各々に対する個別のインデックス値を記憶 するインデックス値記憶手段(14)を、さらに備えることを特徴とする請求の 範囲1または2の何れかに記載のマルチタスク制御装置。
  4. 4.前記スケジューラ(7)が、1つのハード配線で制限された状態の機械を備 えることを特徴とする請求の範囲1乃至3の何れか1項に記載のマルチタスク制 御装置。
  5. 5.前記スケジューラ(7)が、1つのプログラム可能なロジック列を備えるこ とを特徴とする請求の範囲1乃至3の何れか1項に記載のマルチタスク制御装置 。
  6. 6.前記スケジューラ(7)が、1つのROMを備えることを特徴とする請求の 範囲1乃至3の何れか1項に記載のマルチタスク制御装置。
  7. 7.残りの(N−X)個(但し、1<X<N)のタスクの1以上のプログラムカ ウンタが、X個のタスク内から呼ばれる1つのサブルーチンの命令シーケンスを 制御するように前記マイクロプロセッサにより使用され、前記マイクロプロセッ サが、X個の前記タスクの各々の部分を順次処理するように構成されることを特 徴とする請求の範囲1乃至6の何れか1項に記載のマルチタスク制御装置。
  8. 8.前記マイクロプロセッサが、前記X個のタスクにおける個別の1個の処理に 各々が使用される前記プログラムカウンタ(Pc0、Pc1、Pc2、Pc3) の使用を制御する1以上のスタックポインタ(9、10)を、さらに備えること を特徴とする請求の範囲7に記載のマルチタスク制御装置。
  9. 9.前記マイクロプロセッサが、1以上のイベント信号のグルーブから1つのイ ベントグループ信号を受け、前記X個のタスクから選択された1つのタスクに対 応する1つのタスクリクエスト信号(Req0、Req1、Req2、Req3 )を発生する1つのイベントルータ(8)を、さらに備え、 前記タスクリクエスト信号が、前記選択されたタスクを実行する前記スケジュー ラをリクエストすることを特徴とする請求の範囲1乃至8の何れか1項に記載の マルチタスク制御装置。
  10. 10.各前記イベント信号が、前記制御装置の周辺装置からの外部イベント信号 または前記マイクロプロセッサにより引き起こされる内部イベント信号の何れか からなることを特徴とする請求の範囲9に記載のマルチタスク制御装置。
  11. 11.前記イベントルータ(8)が、イベント信号のN個のグループ(gr0、 gr1、gr2、gr3)の各々からのイベントグルーブ信号を受けるように適 合したことを特徴とする請求の範囲10に記載のマルチタスク制御装置。
  12. 12.前記イベントルータ(8)は、前記選択されたタスクに対応する1つのタ スクリクエスト信号(Req0、Req1、Req2、Req3)が、イベント 信号の1以上の選択されたグルーブ(gr0、gr1、gr2、gr3)から受 けた1つのイベントグループ信号に応答して発生するように構成されることを特 徴とする請求の範囲11に記載のマルチタスク制御装置。
JP51474694A 1992-12-23 1993-12-10 マルチタスク低電力制御装置 Expired - Fee Related JP3776449B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CH393592 1992-12-23
CH3935/92-3 1992-12-23
PCT/EP1993/003498 WO1994015287A2 (en) 1992-12-23 1993-12-10 Multi-tasking low-power controller

Publications (2)

Publication Number Publication Date
JPH07504058A true JPH07504058A (ja) 1995-04-27
JP3776449B2 JP3776449B2 (ja) 2006-05-17

Family

ID=4266665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51474694A Expired - Fee Related JP3776449B2 (ja) 1992-12-23 1993-12-10 マルチタスク低電力制御装置

Country Status (12)

Country Link
US (1) US5630130A (ja)
EP (1) EP0627100B1 (ja)
JP (1) JP3776449B2 (ja)
KR (1) KR100313261B1 (ja)
CN (1) CN1043932C (ja)
AT (1) ATE188559T1 (ja)
CA (1) CA2128393C (ja)
DE (1) DE69422448T2 (ja)
DK (1) DK0627100T3 (ja)
HK (1) HK1012453A1 (ja)
TW (1) TW250549B (ja)
WO (1) WO1994015287A2 (ja)

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3097434B2 (ja) * 1994-01-25 2000-10-10 ヤマハ株式会社 効果付加用ディジタル信号処理装置
JPH09505922A (ja) * 1994-09-19 1997-06-10 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 多数のマイクロ制御器の演算を実行するマイクロ制御器システム
FR2725054B1 (fr) * 1994-09-26 1997-01-17 Suisse Electronique Microtech Dispositif multitache de traitement de sequences d'instructions, a basse consommation d'energie
GB2296352A (en) * 1994-12-22 1996-06-26 Motorola Gmbh Microprocessor for executing multiplexed streams of instructions
JPH08320797A (ja) * 1995-05-24 1996-12-03 Fuji Xerox Co Ltd プログラム制御システム
DE19530483A1 (de) * 1995-08-18 1997-02-20 Siemens Ag Einrichtung und Verfahren zur Echtzeit-Verarbeitung einer Mehrzahl von Tasks
GB2311882B (en) * 1996-04-04 2000-08-09 Videologic Ltd A data processing management system
US5974438A (en) * 1996-12-31 1999-10-26 Compaq Computer Corporation Scoreboard for cached multi-thread processes
DE69841526D1 (de) * 1997-03-04 2010-04-15 Panasonic Corp Zur effizienten Ausführung vieler asynchronen Ereignisaufgaben geeigneter Prozessor
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
US6188340B1 (en) * 1997-08-10 2001-02-13 Hitachi, Ltd. Sensor adjusting circuit
US6697935B1 (en) * 1997-10-23 2004-02-24 International Business Machines Corporation Method and apparatus for selecting thread switch events in a multithreaded processor
US6567839B1 (en) * 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
EP0926596B1 (en) * 1997-12-23 2007-09-05 Texas Instruments Inc. Processor and method for reducing its power usage
JP3407859B2 (ja) * 1998-04-24 2003-05-19 富士通株式会社 コーデック
US6535905B1 (en) 1999-04-29 2003-03-18 Intel Corporation Method and apparatus for thread switching within a multithreaded processor
US6983350B1 (en) 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6606704B1 (en) * 1999-08-31 2003-08-12 Intel Corporation Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode
US6668317B1 (en) * 1999-08-31 2003-12-23 Intel Corporation Microengine for parallel processor architecture
US6427196B1 (en) 1999-08-31 2002-07-30 Intel Corporation SRAM controller for parallel processor architecture including address and command queue and arbiter
US7546444B1 (en) 1999-09-01 2009-06-09 Intel Corporation Register set used in multithreaded parallel processor architecture
US7191309B1 (en) 1999-09-01 2007-03-13 Intel Corporation Double shift instruction for micro engine used in multithreaded parallel processor architecture
AU7099000A (en) 1999-09-01 2001-03-26 Intel Corporation Branch instruction for processor
US6889319B1 (en) * 1999-12-09 2005-05-03 Intel Corporation Method and apparatus for entering and exiting multiple threads within a multithreaded processor
US6496925B1 (en) 1999-12-09 2002-12-17 Intel Corporation Method and apparatus for processing an event occurrence within a multithreaded processor
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6631430B1 (en) 1999-12-28 2003-10-07 Intel Corporation Optimizations to receive packet status from fifo bus
US6307789B1 (en) 1999-12-28 2001-10-23 Intel Corporation Scratchpad memory
US6625654B1 (en) * 1999-12-28 2003-09-23 Intel Corporation Thread signaling in multi-threaded network processor
US7620702B1 (en) 1999-12-28 2009-11-17 Intel Corporation Providing real-time control data for a network processor
US6661794B1 (en) 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US7480706B1 (en) 1999-12-30 2009-01-20 Intel Corporation Multi-threaded round-robin receive for fast network port
US6584522B1 (en) 1999-12-30 2003-06-24 Intel Corporation Communication between processors
US6952824B1 (en) 1999-12-30 2005-10-04 Intel Corporation Multi-threaded sequenced receive for fast network port stream of packets
US6976095B1 (en) 1999-12-30 2005-12-13 Intel Corporation Port blocking technique for maintaining receive packet ordering for a multiple ethernet port switch
US7856633B1 (en) 2000-03-24 2010-12-21 Intel Corporation LRU cache replacement for a partitioned set associative cache
US7296271B1 (en) * 2000-06-28 2007-11-13 Emc Corporation Replaceable scheduling algorithm in multitasking kernel
US7681018B2 (en) * 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US20020053017A1 (en) * 2000-09-01 2002-05-02 Adiletta Matthew J. Register instructions for a multithreaded processor
EP1199632A1 (en) * 2000-10-20 2002-04-24 Sun Microsystems, Inc. Method and apparatus for resource access synchronization
US7020871B2 (en) * 2000-12-21 2006-03-28 Intel Corporation Breakpoint method for parallel hardware threads in multithreaded processor
US7225281B2 (en) 2001-08-27 2007-05-29 Intel Corporation Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms
US6868476B2 (en) * 2001-08-27 2005-03-15 Intel Corporation Software controlled content addressable memory in a general purpose execution datapath
US7487505B2 (en) 2001-08-27 2009-02-03 Intel Corporation Multithreaded microprocessor with register allocation based on number of active threads
US7216204B2 (en) 2001-08-27 2007-05-08 Intel Corporation Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment
US7126952B2 (en) * 2001-09-28 2006-10-24 Intel Corporation Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method
DE10158774A1 (de) * 2001-11-30 2003-06-18 Infineon Technologies Ag Basisband-Chip mit integrierter Echtzeit-Betriebssystem-Funktionalität und Verfahren zum Betreiben eines Basisband-Chips
US7158964B2 (en) * 2001-12-12 2007-01-02 Intel Corporation Queue management
US7107413B2 (en) 2001-12-17 2006-09-12 Intel Corporation Write queue descriptor count instruction for high speed queuing
US7269179B2 (en) 2001-12-18 2007-09-11 Intel Corporation Control mechanisms for enqueue and dequeue operations in a pipelined network processor
US7434222B2 (en) * 2001-12-20 2008-10-07 Infineon Technologies Ag Task context switching RTOS
US7895239B2 (en) 2002-01-04 2011-02-22 Intel Corporation Queue arrays in network devices
US7181573B2 (en) * 2002-01-07 2007-02-20 Intel Corporation Queue array caching in network devices
US6934951B2 (en) 2002-01-17 2005-08-23 Intel Corporation Parallel processor with functional pipeline providing programming engines by supporting multiple contexts and critical section
US7610451B2 (en) * 2002-01-25 2009-10-27 Intel Corporation Data transfer mechanism using unidirectional pull bus and push bus
US7181594B2 (en) * 2002-01-25 2007-02-20 Intel Corporation Context pipelines
US7149226B2 (en) * 2002-02-01 2006-12-12 Intel Corporation Processing data packets
US7437724B2 (en) 2002-04-03 2008-10-14 Intel Corporation Registers for data transfers
US7471688B2 (en) 2002-06-18 2008-12-30 Intel Corporation Scheduling system for transmission of cells to ATM virtual circuits and DSL ports
US7337275B2 (en) 2002-08-13 2008-02-26 Intel Corporation Free list and ring data structure management
US7352769B2 (en) 2002-09-12 2008-04-01 Intel Corporation Multiple calendar schedule reservation structure and method
US7433307B2 (en) 2002-11-05 2008-10-07 Intel Corporation Flow control in a network environment
US6941438B2 (en) 2003-01-10 2005-09-06 Intel Corporation Memory interleaving
US7672965B2 (en) * 2003-02-24 2010-03-02 Avaya, Inc. Finite-state machine augmented for multiple evaluations of text
US7443836B2 (en) 2003-06-16 2008-10-28 Intel Corporation Processing a data packet
US7213099B2 (en) * 2003-12-30 2007-05-01 Intel Corporation Method and apparatus utilizing non-uniformly distributed DRAM configurations and to detect in-range memory address matches
US7917906B2 (en) * 2004-07-02 2011-03-29 Seagate Technology Llc Resource allocation in a computer-based system
US20060095719A1 (en) * 2004-09-17 2006-05-04 Chuei-Liang Tsai Microcontroller having partial-twin structure
US8230144B1 (en) * 2004-10-19 2012-07-24 Broadcom Corporation High speed multi-threaded reduced instruction set computer (RISC) processor
US7793160B1 (en) 2005-03-29 2010-09-07 Emc Corporation Systems and methods for tracing errors
ITRM20060139A1 (it) 2006-03-13 2007-09-14 Micron Technology Inc Sistema ad unita di controllo distribuito di dispositivo di memoria
CN100437482C (zh) * 2006-12-31 2008-11-26 中国建设银行股份有限公司 应用软件的开发系统、生成方法及运行系统、运行方法
US8639913B2 (en) * 2008-05-21 2014-01-28 Qualcomm Incorporated Multi-mode register file for use in branch prediction
JP6117120B2 (ja) * 2014-01-17 2017-04-19 株式会社東芝 イベント管理装置、イベント管理方法およびモータシステム
GB2563587B (en) * 2017-06-16 2021-01-06 Imagination Tech Ltd Scheduling tasks
CN113326221B (zh) * 2021-06-30 2024-03-22 上海阵量智能科技有限公司 数据处理装置、方法、芯片、计算机设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT986411B (it) * 1973-06-05 1975-01-30 Olivetti E C Spa Sistema per trasferire il control lo delle elaborazioni da un primo livello prioritario ad un secondo livello prioritario
JPS5430074A (en) * 1977-08-10 1979-03-06 Seiko Epson Corp Time measuring system
JPS578853A (en) * 1980-06-17 1982-01-18 Mitsubishi Electric Corp Digital computer
JPS57161941A (en) * 1981-03-30 1982-10-05 Fujitsu Ltd Data processing device
EP0243402B1 (en) * 1985-10-15 1991-01-02 Unisys Corporation A special purpose processor for off-loading many operating system functions in a large data processing system
US4779194A (en) * 1985-10-15 1988-10-18 Unisys Corporation Event allocation mechanism for a large data processing system
US4796178A (en) * 1985-10-15 1989-01-03 Unisys Corporation Special purpose processor for off-loading many operating system functions in a large data processing system
JPS6352241A (ja) * 1986-08-22 1988-03-05 Hitachi Ltd マイクロプロセツサ
JPH02254544A (ja) * 1989-03-29 1990-10-15 Matsushita Electric Ind Co Ltd マルチタスク型シーケンスプロセッサおよびその起動方法
US5237700A (en) * 1990-03-21 1993-08-17 Advanced Micro Devices, Inc. Exception handling processor for handling first and second level exceptions with reduced exception latency
US5317745A (en) * 1992-01-10 1994-05-31 Zilog, Inc. Minimal interrupt latency scheme using multiple program counters

Also Published As

Publication number Publication date
CA2128393A1 (en) 1994-07-07
DK0627100T3 (da) 2000-06-26
WO1994015287A2 (en) 1994-07-07
DE69422448T2 (de) 2001-08-23
DE69422448D1 (de) 2000-02-10
JP3776449B2 (ja) 2006-05-17
EP0627100A1 (en) 1994-12-07
HK1012453A1 (en) 1999-07-30
KR950700572A (ko) 1995-01-16
EP0627100B1 (en) 2000-01-05
CN1043932C (zh) 1999-06-30
TW250549B (ja) 1995-07-01
CN1089740A (zh) 1994-07-20
CA2128393C (en) 2001-10-02
WO1994015287A3 (en) 1994-08-18
KR100313261B1 (ko) 2002-02-28
US5630130A (en) 1997-05-13
ATE188559T1 (de) 2000-01-15

Similar Documents

Publication Publication Date Title
JPH07504058A (ja) マルチタスク低電力制御装置
US6301634B1 (en) Real time control method for a robot controller
KR100745477B1 (ko) 단일 스레드와 동시 멀티스레드 모드간의 멀티스레드프로세서의 동적 스위칭
JP5367816B2 (ja) オペレーションの保護モードスケジューリング
JP2514296B2 (ja) パ―ソナルコンピュ―タのためのディジタル信号処理サブシステム
US4414624A (en) Multiple-microcomputer processing
US7650601B2 (en) Operating system kernel-assisted, self-balanced, access-protected library framework in a run-to-completion multi-processor environment
US5390329A (en) Responding to service requests using minimal system-side context in a multiprocessor environment
US20020103847A1 (en) Efficient mechanism for inter-thread communication within a multi-threaded computer system
JP2002533807A (ja) 割込み/ソフトウエア制御スレッド処理
JP2561801B2 (ja) プロセス・スケジューリングの管理方法およびシステム
JP2009093665A (ja) マルチスレッド・プロセッサ性能を制御する装置及び方法
JP2000242512A (ja) 複数のオペレーティングシステムを実行する計算機
EP1880289A1 (en) Transparent support for operating system services
US4855899A (en) Multiple I/O bus virtual broadcast of programmed I/O instructions
KR100678930B1 (ko) 디지털 시그널 프로세서를 위한 실시간 제어 시스템
EP0052713B1 (en) A process management system for scheduling work requests in a data processing system
JPH07141208A (ja) マルチタスク処理装置
KR100978147B1 (ko) 중앙형 인터럽트 콘트롤러를 위한 장치, 방법 및 시스템
CN108845969B (zh) 适用于不完全对称多处理微控制器的操作控制方法及操作系统
Janßen et al. Adaptive computing in real-time applications
JPH11249917A (ja) 並列型計算機及びそのバッチ処理方法及び記録媒体
JPS62221041A (ja) 仮想計算機システムにおけるデイスパツチ制御装置
WO1992003783A1 (en) Method of implementing kernel functions
Wang et al. Interrupt Processing and Process Scheduling

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040309

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040608

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050531

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050830

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20051007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060223

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100303

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110303

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees