JP3776449B2 - マルチタスク低電力制御装置 - Google Patents
マルチタスク低電力制御装置 Download PDFInfo
- Publication number
- JP3776449B2 JP3776449B2 JP51474694A JP51474694A JP3776449B2 JP 3776449 B2 JP3776449 B2 JP 3776449B2 JP 51474694 A JP51474694 A JP 51474694A JP 51474694 A JP51474694 A JP 51474694A JP 3776449 B2 JP3776449 B2 JP 3776449B2
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 14
- 238000012546 transfer Methods 0.000 claims abstract description 12
- 238000013500 data storage Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 6
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/462—Saving 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)
- Direct Current Feeding And Distribution (AREA)
- Programmable Controllers (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Vehicle Body Suspensions (AREA)
- Game Rules And Presentations Of Slot Machines (AREA)
- Control By Computers (AREA)
- Control Of Vehicles With Linear Motors And Vehicles That Are Magnetically Levitated (AREA)
- Control Of Eletrric Generators (AREA)
- Stereophonic System (AREA)
Description
時計分野における多くの応用は、一連のシーケンス命令を含むタスクに基づいている。マイクロコンピュータはこのようなタスクを実行するためにしばしば使用され、その結果所望の機能を有する時計が提供される。現存するマイクロコンピュータは、実行すべき各タスクの命令を記憶するためのリード・オンリ・メモリまたはROMと、これらの命令を実行するために必要な処理を実行するマイクロプロセッサと、そのマイクロプロセッサにより作成され使用される可変のデータを記憶するためのランダム・アクセス・メモリまたはRAMとを有する。マイクロプロセッサは、明白に、演算とロジック処理を実行するための演算ロジックユニットまたはALUと、これらの処理の結果を記憶する一連のレジスタとを有する。制御、データおよびアドレスのバスが、マイクロプロセッサ、ROM RAM、I/Oインターフェースに接続され、これらの要素間や外部周辺機器間の通信を可能とする。
マイクロプロセッサを用いたこのようなタスクの実現は、数個の厳しい制限の存在により実現することがしばしば困難である。これらのタスクの各々が実時間で実行されなければならないのみならず、マイクロコンピュータは、内部的またはユーザの何れかにより作成された信号に瞬時に応答しなければならない。理想的にはこれらのタスクまたは、できるだけ消費電力が少なくなるように構成されかつ実行されるべきである。
時計設計者達に提示される他の挑戦課題は、同時に生じることが要求される多数の時計機能の処理と、一連の命令を連続的に実行することが要求されるタスクとを再構成することである。例えば、時計上の押しボタンの作動は、ステップモータと同時にクロノグラフを開始させることを命じることができる。
この問題に着手するため、マルチタスクまたは時分割の技術により同時に数個のタスクを実行するようにマイクロコンピュータを使用するように設計された時計がある。マルチタスクを実行するに際し、実行されなければならないROM内の各タスクの部分は、マイクロプロセッサの使用を順次に可能とする。実行されるタスクを素早くサイクリングすることにより、使用者に各タスクが連続的にかつ他のタスクと同時に実行されたように思わせる。
マイクロプロセッサによるタスクの同時実行は、スケジューラと呼ばれるソフトウェア機構により通常になされる。このような機構は、ROMに記憶された一連の命令として実現し、マイクロプロセッサにより実行される上述の連続的な多様性のあるタスクを達成する。
この実行方法は、コンピュータ産業では広くどの分野でも使用されているが、時計の分野では十分に適合されていなかった。スケジューラにより導入された余分の命令の負荷は、マイクロプロセッサにより実行されるタスクの有効なサイズを増加し、速度と電力消費の点でその性能をその分だけ軽減する。
タスク達成において実行されなければならない付加的命令から生じる処理速度の減少を最小とするために、マイクロプロセッサにより順次実行されるタスク部分のサイズは、しばしば数個の命令からできて長く、それゆえタスクはまれに変更される。しかしながら、このことは使用者の入力やタスクを開始する他のリクエストに応答する時計の反応時間を減少する。この入力とリクエストは、数個の他のタスクの命令が実行された後にのみ実行できる。
さらに、マイクロプロセッサにより実行される多くのタスクの実行はまた、タスク内に1以上サブルーチンの実行を必要とする。1つのサブルーチンが、現存するマルチタスク制御装置における1つのタスク内から開始されるとき、サブルーチンの実行後、そのタスクを後に再度開始する命令のアドレスを指し示すプログラムカウンタの値が最初にRAMに記憶できるようにする追加命令が必要とされる。これらのデータ転送処理を実行するために必要とされる余分な命令は、さらにマイクロプロセッサにより実行されるタスクの有効なサイズを増加し、その処理速度と電力消費を減少する。
この従来技術の欠点を軽減し、克服するマルチタスク制御装置を提供することを本発明の目的とする。
この目的に鑑み本発明は、各々が一連の命令からなるタスクをN個まで記憶するタスク記憶手段と、複数N個のタスクを時分割により処理するマイクロプロセッサと、そのマイクロプロセッサにより作成され使用される可変データを記憶するデータ記憶手段と、を有するマルチタスク制御装置において、そのマイクロプロセッサがそのタスクによりマイクロプロセッサの使用を制御するハードウェアで実現された1つのスケジューラと、各カウンタが、そのN個のタスクの内から個別の1個の命令シーケンスを制御するようにスケジューラにより各々が使用されるN個のプログラムカウンタを記憶するプログラムカウンタ記憶手段と、をさらに有するマルチタスク制御装置であって、このスケジューラは、マイクロプロセッサにより処理されたタスクが、前記データ記憶手段からのデータの転送が要求されることなく変えられるとき、前記N個のプログラムカウンタのうち、前回選択したものと異なる1つを自動的に選択し、前記マイクロプロセッサが、イベント信号のN個のグループ(gr0、gr1、gr2、gr3)の各々からのイベントグループ信号を受けるように適合され、かつX個(但し、1<X<N)のタスクから選択された1つのタスクに対応する1つのタスクリクエスト信号(Req0、Req1、Req2、Req3)を発生するように適合された1つのイベントルータ(8)を、さらに備え、タスクリクエスト信号が、選択されたタスクを実行するようにスケジューラをリクエストし、イベントルータ(8)は信号を受けるように適合されており、各イベント信号が、前記制御装置の周辺装置からの外部イベント信号または前記マイクロプロセッサにより引き起こされる内部イベント信号の何れかからなる、ことを特徴とする。
各タスクに対し個別のプログラムカウンタと、ハードウェアで実現したスケジューラと、を設けることにより、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が示されることが判る。マルチタスク制御装置1は基本的に、ROM2、命令レジスタ/デコーダ3、リソース(方策)グループ4、イベントバンク5、タスクマネージャ6、および4つのプログラムカウンタPc0、Pc1、Pc2、Pc3の各々を記憶する個別レジスタを有する。ROM2は、制御装置1により使用され所望の機能を実行する4つのタスクまで連続命令を記憶する。これらのタスクの各々は、プログラムカウンタPc0、Pc1、Pc2、Pc3の個々の1つを使用し、その命令シーケンスの追跡を保持する。各プログラムカウンタは、それゆえ実行されるべきタスク内の次の命令を含むROM2内のメモリ一を指摘するために使用される。4つのタスクとそれに対応する4つのプログラムカウンタとが、本実施例に使用されるが、如何なる数のタスクとプログラムカウンタとが本発明とは異なる他の例に使用できることは明白である。
ROM2内に含まれるタスクの各々は、制御装置1への周辺装置から送られる外部のイベント信号または制御装置1内から送られる内部のイベント信号により作動できる。多くのこのような信号は、時計分野の応用において使用されるマルチタスク制御装置へ供給できる。これらのイベント信号は、グループとしてこれらのイベント信号を処理するイベントバンク5へ送られる。グループの数は、他の実施例では他のグループ数が設けられるが、ROM2内に記憶されるタスクの数に相当し得る。1つの特定グループからの何れかのイベント信号を受領した時、イベントバンク5はタスクマネージャ6へイベントグループ信号を送る。
タスクマネージャ6は、スケジューラ7、イベントルータ8と2つのスタックポインタ9と10を有する。イベントルータ8は、イベントバンク5から送られる各イベントグループ信号を受信し、ROM2に記憶されたタスクの1つの開始を要求する1つのタスクリクエスト信号を発生する。イベントルータ8は、各タスクリクエスト信号により要求されるタスクの開始が選択できるように構成できる。
スケジューラ7はイベントルータ8から送られるタスクリクエスト信号を受け、このようにリクエストされた各タスクの実行を管理する。各アクティブタスク(開始が要求されたタスク)の部分はスケジューラ7により指し示されたタスクに従って、制御装置1により順次処理される。各タスクが実行されるに連れて、そのプログラムカウンタはROM2内の何れの命令が実行されたかを追跡し続けるために使用される。第1タスクの1部分が実行されたとき、スケジューラ7は第2タスクの1部分が、処理されるべき次の命令を示す第2タスクのプログラムカウンタを使用することにより処理されるように作用する。各タスクが各プログラムカウンタを有するので、各タスクの実行を容易に待機状態とし、次にその修正命令で再度開始できる。
特に、各プログラムカウンタの値は転送される必要はなく、かつ対応するタスクの部分が実行完了する毎に制御装置1内の何れかのデータレジスタ内に記憶され、そのタスクの新たな部分が実行される時毎に逆に転送され、1つの共通プログラムカウンタ内に記憶される。有利なことにこのことは、制御装置1の応答時間を最小とするため、制御装置1により実行される1以上のタスクをたった1つの命令長とさせる。
後述されるように、1以上のプログラムカウンタが1つのタスク内から1つのサブルーチンを開始させるために使用できる。1つのサブルーチンが呼び出されたとき、そのサブルーチンが実行されたとき、引き続きの命令が実行できるように現在使用されるプログラムカウンタは記憶される。スタックポインタ9と10は、1つのサブルーチンが開始されるとき、未使用のプログラムカウンタを指し示すために使用される。このプログラムカウンタは次に、そのサブルーチンにおける命令シーケンスを追跡し続けるために使用される。サブルーチンが呼ばれるときに使用中のプログラムカウンタは、それゆえサブルーチンが実行されたときに命令シーケンスを追跡し続けるように保存される。
リソースグループ4は1つの演算ロジックユニットまたはALU11、ランダム・アクセス・メモリまたはRAM12、1つのアキュムレータグループ13、およびインデックスレジスタグループ14を有する。後者のレジスタグループは、索引されたアドレス付けが制御装置1により実行されるタスクにより使用されるときのみ必要とされる。
ALU11とRAM12は、リソースを分け合い、制御装置1により実行される全てのタスクによりアクセスされ得る。複数の信号機が、下記の方法で制御装置1の割り当てられたリソースへのアクセスを制御するために使用される。1つのタスクが割り当てリソースを使用するとき、1つの選択されたデータレジスタ内の1ビットはビジーに設定される。このタスクが割り当てられたリソースを用いて終了したとき、このビットは自由なビットに設定される。このビットの状態は割り当てられたリソースをアクセスしたい全てのタスクにより試験され、そのビットがよりより早期のタスクによりビジーに設定されているときは、後者(より早期)のタスクはそのビットが自由なビットに設定されるまで待機しなければならない。
アキュムレータレジスタグループ13は4つのアキュムレータ13a、13b、13c、13dからなり、一方インデックスレジスタグループ14は4つのインデックスレジスタ14a、14b、14c、14dからなる。プログラムカウンタPc0からPc3と共に、アキュムレータ13aから13dおよびインデックスレジスタ14aから14dは、種々のタスク間で割り当てることができないが、与えられた応用において1つの特定なタスクのみによりむしろ使用できる制御装置1内のリソースを含む。
現在のタスクが制御装置1により実行されるとき、その処理点により使用されたプログラムカウンタに対する命令が、ROM2により命令レジスタ/デコーダ3へ送られる。このように、命令は実行され、そのビットはALU11、データバッファ、アドレスバッファ、および制御装置1の種々のレジスタにより解読される言語に変換される。
ALU11は、命令レジスタ/デコーダ3から解読された命令を受け、その命令を実行するのに必要な演算またはロジック処理を実行する。現在のタスクに関連するアキュムレータは、これらの演算またはロジック処理が実行されるようにALU11へデータを供給する。これらの処理の結果は、次にそのアキュムレータへ戻される。RAM12は、これらの処理を実行するために作成され使用されるデータを記憶するために使用される。
制御装置1により現在実行中のタスクと関連するインデックスレジスタは、オフセット値として実行されるタスクにより使用されるアドレスを記憶するために使用される。特定のアドレスが、ALU11または他の要求データに対する所望のオペランドを記憶する制御装置1内の他のアドレスを指し示すように、このオフセット値により増加される。
個別のアキュムレータの準備と、必要なら、制御装置1により実行された各タスクに対する個別のインデックスレジスタは、それゆえ各アクティブタスクを使用可能とし、かつタスクが制御装置1内でサイクルされるときRAM12へのまたはRAM12からのデータの転送を要求することなく、それ自身のアキュムレータやインデックスの値を保持する。
上記したように、命令レジスタ/デコーダ3はまた、制御装置1内で選択された内部イベントの発生時にイベントバンク5へ信号を供給する。
スケジューラ7はハードウェア装置の形式で実現され、ROM2とRAM12から分離され、それゆえタスクの変更がその記憶部内に含まれるデータの転送を要求し、かつプログラムカウンタ、アキュムレータ値およびRAM12内の各タスクのインデックス値を呼び起こすることなしに達成できる。ハードな配線で制限された状態のマシーン、プログラム可能なロジック列、個別ROM、または他の類似な装置の如きハードウェアの装置が、スケジューラ7を実現するため使用できる。
制御装置1によりROM2に記憶されたタスクの管理について以下により詳細に説明する。図2は図1に示したイベントバンク5、イベントルータ8およびスケジューラ7を概略的に示す。制御装置1により実行され得る4つのタスクは、P0、P1、P2、P3とラベル付けされている。スケジューラ7は、順次に巡回優先体系に従って各アクティブなタスクの命令を実行する。それゆえ、4つのタスクの各々がアクティブのとき、スケジューラ7は各タスクの1つの命令を順次実行する。しかしながら、1つのタスクのみがアクティブのとき、スケジューラ7は遅れなくそのタスクの命令を順次実行し、このようにマイクロプロセッサとして動作する。
各タスクP0、P1、P2、P3は、それぞれPE0、PE1、PE2、PE3とラベル付けられた個別の双安定処理イネーブルスイッチによりイベントルータ8に接続されている。各タスクは、対応するタスクの開始を要求する信号がイベントルータ8から受信されたとき、実行される。タスクイネーブルスイッチPE0、PE1、PE2、PE3は、タスクリクエスト信号Req0、Req1、Req2、Req3をそれぞれ受けるため、スイッチの開または閉の状態によりタスクP0、P1、P2、P3を許容または阻止する。所定条件下で、1つ以上のタスクイネーブルスイッチを開きの状態に設定することにより、スケジューラ7へのタスクリクエスト信号のアクセスを阻止することが望まれる。例えば、この手段は1つのタスク(例えば時刻調整機能)が1以上の他のタスク(例えば第2の針の移動)の動作を一時的に待機状態とすることを可能とするために使用できる。タスクイネーブルスイッチはタスクマネージャ6におけるデータレジスタ内に個々に設定可能なビットとして実現してもよい。
図3は、4つのタスクP0、P1、P2、P3の各々が制御装置1により使用可能な種々の方法の幾つかを示す。ケースa)においてタスクP0のみがアクティブである。以下に説明するように、タスクP1、P2、P3の割り当て不能リソースは、この構成におけるタスクP0内のサブルーチンのレベルを作成するために使用される。
ケースb)において、タスクP0とP3がアクティブである。2つの処理を残す割り当て不能リソースは、この場合サブルーチンレベルを作成するため使用され得る。そして、タスクP0とP3間で3つの異なる方法で割り当てできる。第一に、2つのタスクP1とP2の各々の割り当て不能リソースは、タスクP0内からサブルーチンを呼び出すために使用でき、一方タスクP3はそのために使用可能なサブルーチンレベルはない。第二に、2つのタスクP1とP2の各々の割り当て不能リソースは、処理P3からサブルーチンを呼び出すために使用でき、一方処理P0はそのために使用できるサブルーチンレベルはない。最後に、2つのアクティブな処理P0とP3の各々は、1つのサブルーチンレベルを呼び出すための残された2つの処理の異なる1つの割り当て不能リソースを使用することができる。
c)において、3つのタスクがアクティブであり、1つの残されたタスクの割り当て不能リソースは、アクティブなタスクP0またはP3の何れかによりサブルーチンを呼び出すために使用できる。d)において、4つのタスクP0、P1、P2、P3の各々がアクティブであり、割り当て不能なリソースの何れもがサブルーチンの呼び出しに使用できない。
種々のタスクの管理を図4に関連させて以下により詳細に説明する。図4はスケジューラ7、スタックポインタ9および10、タスクP0、P1、P2、P3、および関連するプログラムカウンタPc0、Pc1、Pc2、Pc4をそれぞれ示す。制御装置1は分岐制御命令、たとえば命令CALLやRETURNを実行するために適用される。これらの命令は4つのタスクP0、P1、P2、P3の各々を構成する一連の命令に現れる。
図4のa)に示す本発明の実施例において、タスクP0からのみサブルーチンを呼び出すことができる。制御装置1はスタックポインタ9がタスクP0への属性であるように構成される。この配置において、タスクP1、P2、P3の各々の割り当て不能リソースは、可能なら、タスクP0内でサブルーチンを呼び出すために使用できる。制御装置1は、タスクイネーブルスイッチPE0のみが閉の状態に置かれ得るように構成され、それゆえタスクリクエスト信号Req0のみがタスクの実行を発生させることができる。
スケジューラ7は、この例において、それゆえ絶えずタスクP0を指し示す。初期化時において、スタックポインタ9は、プログラムカウンタPc0が記憶されるアドレスを指し示すように設定される。CALL命令のような分岐制御命令の実行は、タスクP0内からの1つのサブルーチンとして開始されるようROM2内に記憶される一連の命令を引き起こす。当業者により理解されるように、CALL命令のような分岐制御命令は、開始されるべきサブルーチンの開始アドレスを含む。このようなタスクにおけるサブルーチンが開始されると、サブルーチンが開始されたアドレスは、そのサブルーチンが終了した時にタスクが再び続けられる分岐制御命令に従う戻りのアドレスを示すため最初増加する。スタックポインタ9の値は次に未使用のプログラムカウンタ(Pc1、Pc2またはPc3)の1つを指し示すように調整される。サブルーチンの実行中、この予めに未使用なプログラムカウンタはこのサブルーチン中に実行された命令を追跡し続ける。このサブルーチンの実行が終了したとき、スタックポインタ9はプログラムカウンタPc0へ指し示すように再調整され、このタスクの実行は続けられる。
サブルーチンの1以上のレベルが使用されるとき、スタックポインタ9の値は、未使用のプログラムカウンタを指し示すよう新たなサブルーチンが開始される時毎に調整される。このように、制御装置1は、RAM12内のデータスタック上の戻りのアドレスを記憶する必要なく1つのタスク内からサブルーチンを開始するように設けられる。
好ましくは、プログラムカウンタPc0、Pc1、Pc2、Pc3は、スタックポインタ9が戻りのアドレスが記憶されるときは単に増加し、1つのサブルーチンの実行が終了したときは減少するように連続のアドレスを有する。
図4のa)が制御装置1の全ての割り当て不能なリソースがタスクP0内から使用できる配置を示す一方、制御装置1は応用に応じて種々に構成される。図3に示すように、タスクP0はサブルーチンの他のレベルを3つ、2つ、1つまたは0だけ使用することができる。これらの場合の各々において、スタックポインタ9は、単にその構成におけるタスクP0へ割り当てられた割り当て不能なリソースと協力して使用されることのみ可能である。例えば、タスクP0がサブルーチンのレベルを定義するためタスクP1の割り当て不能なリソースを使用する構成において、スタックポインタ9は、処理P1のプログラムカウンタを使用することのみ可能である。
図4のb)に示される本発明の実施例において、制御装置1はスタックポインタ10がタスクP3内の使用に利用できるように配置される。この配置において、スタックポインタ10は、それゆえプログラムカウンタPc2、Pc1、Pc0の何れかがこのようなタスクに使用されるように、指し示されるよう使用できる。タスクP0とP3の各々がサブルーチンのレベルの1つを有する場合、スタックポインタ9と10が使用されることが理解できる。
スタックポインタ9と10が、タスクP0とP3のみに関連してこれまで説明してきたが、他の実施例においてこれらのスタックポインタの1つまたは両方が他のタスクに関連することができよう。同様に制御装置1の他の実施例はタスクP1そして/またはP2と関連する追加のスタックポインタを有することができ、それゆえこれらのリソースがサブルーチンを呼び出すために使用できるとき、タスクP0、P1、P2、P3の何れの数も、残りのタスクの他の1つの割り当て不能なリソースを使用することができる。
当業者により理解されるように、無制限数のサブルーチンとサブルーチンのレベルとは同時に、分岐制御命令の上述した機能を繰り返す一連の命令の構成によりタスクP0、P1、P2、P3の各々に帰する。
図2に戻り、制御装置1により受けられる内部および外部のイベントの管理と、適切なタスクリクエスト信号の作成について以下に説明する。イベントバンク5に向かって導くことのできるイベントは、4つのグループに分割され、gr0、gr1、gr2、gr3とラベル付けされる。これらのイベントは、他のタスクの処理を開始するため制御装置1により使用される。6つのイベントがこれらのイベントグループの各々に関連し、その内4つのイベントは内部イベントであり、その内2つのイベントは外部イベントである。これらのイベントグループの各1つに対し、1つのイベントグループ信号を発生するようにその6つのイベントがOR機能におけるイベントバンク5内に加算合計される。従って、1つの特定イベントグループの6つのイベントの内からの何れか1つの到達は、イベントバンク5にそのイベントグループに対応する1つのイベントグループ信号を発生させる。
このように発生された各イベントグループ信号は、イベントルータ8の構成によりタスクP0、P1、P2、P3の1つに対応するタスクリクエスト信号を発生するイベントルータ8へ送られる。各タスクリクエスト信号は、特定のタスクに向かって導かれる1以上のイベントの存在を示すアクティブ状態またはそのタスクに向かって導かれるイベントは存在しないことを示す非アクティブ状態の何れかを有することができる。
特定のタスクリクエスト信号に関連するイベントが何等存在しないとき、その特定なタスクに対応するタスクを作動解除することが可能である。制御装置1によるこのタスクの実行は、それゆえ継続を停止する。全てのタスクリクエスト信号が非アクティブのとき、それゆえ実行中のタスクがないとき、制御装置1はその電力消費が殆ど0の休止状態に入る。しかしながら、1以上のイベントが存在するときは、その対応するタスクリクエスト信号は作動解除できない。
図5にイベントルータ8により設けられた構成の種々のモードが描かれている。このような5つのモードが本発明の応用例として可能である。図5のa)に示されるモード0において、全てのイベントグループ信号、それゆえ全てのイベントはタスクP0に向かって導かれる。マルチタスク制御装置1は、それゆえ単一のプロセッサとして作動し、タスクP0の命令を連続的に実行する。タスクP1、P2、P3の実行は、イベントバンク5におけるイベントによりリクエストできない。それゆえ、制御装置1により実行される単一タスク内からサブルーチンが呼び出されることを可能とするこれらのタスクの割り当て不能なリソースの各々を自由にする。
b)に示されるモード1において、イベントグループgr0、gr1、gr2からのイベントグループ信号は、タスクP0に向かって導かれ、一方イベントグループgr3からのイベントグループ信号はタスク3に向かって導かれる。タスクP1とP2の割り当て不能リソースが、タスクP0とP3内からサブルーチンを呼ぶために使用できる。c)に示されるモード2において、タスクP0やP3は、イベントグループgr0やgr1から、およびイベントグループgr2やgr3から、それぞれイベントグループ信号により引き起こされるタスクリクエスト信号を受ける。また、タスクP1とP2の割り当て不能なリソースが、タスクP0やP3内からのサブルーチンを呼び出すために使用可能である。
d)に示されるモード3において、イベントグループgr0とgr1からのイベントグループ信号は、タスクP0に向かって導かれ、イベントグループgr3からのイベントグループ信号は非他的にタスクP3の方向に向けられる。タスクP1の割り当て不能なリソースのみがサブルーチンを呼び出すために使用可能である。最後にe)で示されるモード4において、タスクP0、P1、P2、P3の各々はそれぞれのイベントグループgr0、gr1、gr2、gr3からのイベントグループ信号を受ける。制御装置1のユーザはそれゆえ特別な応用に最適に応答するイベントルーティングのモードを選択することができる。
最後に、本発明のマルチタスク制御装置1に対して種々の修正そして/または追加が、以下に記す請求の範囲に定義された本発明の範囲内でなされ得ることは当然のことである。
Claims (9)
- 各々が一連の命令を含むN個のタスク(P0、P1、P2、P3)まで記憶するタスク記憶手段(2)と、
前記N個の複数のタスクを時分割により処理する1つのマイクロプロセッサと、
前記マイクロプロセッサにより作成され使用される可変のデータを記憶するデータ記憶手段(12)と、を備えたマルチタスク制御装置において、
前記マイクロプロセッサは、
前記タスクにより前記マイクロプロセッサの使用を制御するハードウェアで実現される1つのスケジューラ(7)と、
前記N個のタスクにおける個別の1個の命令シーケンスを制御するように前記スケジューラ(7)により各々が使用されるN個のプログラムカウンタ(Pc0、Pc1、Pc2、Pc3)を記憶するプログラムカウンタ記憶手段とを備え、
前記スケジューラ(7)は、前記マイクロプロセッサにより処理されたタスクが前記データ記憶手段(12)からのデータ転送を要求することなく変更されるとき、前記N個のプログラムカウンタ(Pc0、Pc1、Pc2、Pc3)のうち、前回選択したものと異なる1つを自動的に選択し、
前記マイクロプロセッサが、イベント信号のN個のグループ(gr0、gr1、gr2、gr3)の各々からのイベントグループ信号を受けるように適合され、X個(但し、1<X<N)のタスクから選択された1つのタスクに対応する1つのタスクリクエスト信号(Req0、Req1、Req2、Req3)を発生するように適合された1つのイベントルータ(8)を、さらに備え、
前記タスクリクエスト信号が、前記選択されたタスクを実行する前記スケジューラをリクエストし、
各前記イベント信号が、前記制御装置の周辺装置からの外部イベント信号または前記マイクロプロセッサにより引き起こされる内部イベント信号の何れかからなる、
ことを特徴とするマルチタスク制御装置。 - 前記マイクロプロセッサは、
前記マイクロプロセッサにより処理された前記タスクが、前記データ記憶手段(12)からのデータの転送を要求することなく変更されるとき、前記マイクロプロセッサが前記N個のタスクの各々に対する個別アキュムレータ値のうち、前回選択したものと異なる1つを選択できるように、該アキュムレータ値を記憶するアキュムレータ値記憶手段(13)をさらに備えることを特徴とする請求の範囲1に記載のマルチタスク制御装置。 - 前記マイクロプロセッサは、前記マイクロプロセッサにより処理された前記タスクが、前記データ記憶手段(12)からのデータの転送を要求することなく変更されるとき、前記マイクロプロセッサがインデックス値のうち、前回選択したものと異なる1つを選択できるように、前記N個のタスクの各々に対する個別の前記インデックス値を記憶するインデックス値記憶手段(14)を、さらに備えることを特徴とする請求の範囲1または2の何れかに記憶のマルチタスク制御装置。
- 前記スケジューラ(7)が、1つのハード配線で変更が制限された回路を備えることを特徴とする請求の範囲1乃至3の何れか1項に記載のマルチタスク制御装置。
- 前記スケジューラ(7)が、1つのプログラム可能なロジック列を備えることを特徴とする請求の範囲1乃至3の何れか1項に記載のマルチタスク制御装置。
- 前記スケジューラ(7)が、1つのROMを備えることを特徴とする請求の範囲1乃至3の何れか1項に記載のマルチタスク制御装置。
- 残りの(N−X)個のタスクの1以上のプログラムカウンタが、前記X個のタスク内から呼ばれる1つのサブルーチンの命令シーケンスを制御するように前記マイクロプロセッサにより使用され、前記マイクロプロセッサが、前記X個のタスクの各々の部分を順次処理するように構成されることを特徴とする請求の範囲1乃至6の何れか1項に記載のマルチタスク制御装置。
- 前記マイクロプロセッサが、前記X個のタスクにおける個別の1個の処理に使用される前記プログラムカウンタ(Pc0、Pc1、Pc2、Pc3)の使用を各々が制御することを目的とする1以上のスタックポインタ(9、10)を、さらに備えることを特徴とする請求の範囲7に記載のマルチタスク制御装置。
- 前記イベントルータ(8)は、前記選択されたタスクに対応する1つのタスクリクエスト信号(Req0、Req1、Req2、Req3)が、イベント信号の1以上の選択されたグループ(gr0、gr1、gr2、gr3)から受けた1つのイベントグループ信号に応答して発生するように構成されることを特徴とする請求の範囲1に記載のマルチタスク制御装置。
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 JPH07504058A (ja) | 1995-04-27 |
JP3776449B2 true 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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3097434B2 (ja) * | 1994-01-25 | 2000-10-10 | ヤマハ株式会社 | 効果付加用ディジタル信号処理装置 |
WO1996009584A2 (en) * | 1994-09-19 | 1996-03-28 | Philips Electronics N.V. | A microcontroller system for performing operations of multiple microcontrollers |
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 |
CN1113289C (zh) * | 1997-03-04 | 2003-07-02 | 松下电器产业株式会社 | 能执行多异步运行任务中的异步事件任务的处理器 |
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 |
DE69838374T2 (de) * | 1997-12-23 | 2008-05-29 | Texas Instruments Inc., Dallas | Prozessor und Verfahren zum Verringern von dessen Energieverbrauch |
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 |
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 |
US6983350B1 (en) | 1999-08-31 | 2006-01-03 | Intel Corporation | SDRAM controller for 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 |
WO2001016714A1 (en) | 1999-09-01 | 2001-03-08 | Intel Corporation | Fast write instruction for micro engine used in multithreaded parallel processor architecture |
US7546444B1 (en) | 1999-09-01 | 2009-06-09 | Intel Corporation | Register set used in multithreaded parallel processor architecture |
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 |
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 |
US6307789B1 (en) | 1999-12-28 | 2001-10-23 | Intel Corporation | Scratchpad memory |
US6631430B1 (en) | 1999-12-28 | 2003-10-07 | Intel Corporation | Optimizations to receive packet status from fifo bus |
US6661794B1 (en) | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
US6976095B1 (en) | 1999-12-30 | 2005-12-13 | Intel Corporation | Port blocking technique for maintaining receive packet ordering for a multiple ethernet port switch |
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 |
US7480706B1 (en) | 1999-12-30 | 2009-01-20 | Intel Corporation | Multi-threaded round-robin receive for fast network port |
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 |
US6868476B2 (en) * | 2001-08-27 | 2005-03-15 | Intel Corporation | Software controlled content addressable memory in a general purpose execution datapath |
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 |
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 |
US7487505B2 (en) | 2001-08-27 | 2009-02-03 | Intel Corporation | Multithreaded microprocessor with register allocation based on number of active threads |
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 |
US7181594B2 (en) * | 2002-01-25 | 2007-02-20 | Intel Corporation | Context pipelines |
US7610451B2 (en) * | 2002-01-25 | 2009-10-27 | Intel Corporation | Data transfer mechanism using unidirectional pull bus and push bus |
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 |
US7873817B1 (en) * | 2004-10-19 | 2011-01-18 | Broadcom Corporation | High speed multi-threaded reduced instruction set computer (RISC) processor with hardware-implemented thread scheduler |
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)
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 |
DE3650158T2 (de) * | 1985-10-15 | 1995-04-06 | Unisys Corp | Sonderzweckprozessor zur Übernahme vieler Betriebssystemfunktionen in einem grossen Datenverarbeitungssystem. |
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 |
-
1993
- 1993-12-10 DK DK94902757T patent/DK0627100T3/da active
- 1993-12-10 WO PCT/EP1993/003498 patent/WO1994015287A2/en active IP Right Grant
- 1993-12-10 CA CA002128393A patent/CA2128393C/en not_active Expired - Fee Related
- 1993-12-10 US US08/290,954 patent/US5630130A/en not_active Expired - Lifetime
- 1993-12-10 EP EP94902757A patent/EP0627100B1/en not_active Expired - Lifetime
- 1993-12-10 DE DE69422448T patent/DE69422448T2/de not_active Expired - Lifetime
- 1993-12-10 KR KR1019940702926A patent/KR100313261B1/ko not_active IP Right Cessation
- 1993-12-10 AT AT94902757T patent/ATE188559T1/de not_active IP Right Cessation
- 1993-12-10 JP JP51474694A patent/JP3776449B2/ja not_active Expired - Fee Related
- 1993-12-22 CN CN93121278A patent/CN1043932C/zh not_active Expired - Fee Related
-
1994
- 1994-02-03 TW TW083100910A patent/TW250549B/zh active
-
1998
- 1998-12-15 HK HK98113402A patent/HK1012453A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TW250549B (ja) | 1995-07-01 |
WO1994015287A3 (en) | 1994-08-18 |
US5630130A (en) | 1997-05-13 |
CN1043932C (zh) | 1999-06-30 |
JPH07504058A (ja) | 1995-04-27 |
EP0627100B1 (en) | 2000-01-05 |
EP0627100A1 (en) | 1994-12-07 |
DK0627100T3 (da) | 2000-06-26 |
DE69422448D1 (de) | 2000-02-10 |
CA2128393A1 (en) | 1994-07-07 |
CN1089740A (zh) | 1994-07-20 |
DE69422448T2 (de) | 2001-08-23 |
WO1994015287A2 (en) | 1994-07-07 |
ATE188559T1 (de) | 2000-01-15 |
HK1012453A1 (en) | 1999-07-30 |
CA2128393C (en) | 2001-10-02 |
KR950700572A (ko) | 1995-01-16 |
KR100313261B1 (ko) | 2002-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3776449B2 (ja) | マルチタスク低電力制御装置 | |
US5390329A (en) | Responding to service requests using minimal system-side context in a multiprocessor environment | |
US7926062B2 (en) | Interrupt and exception handling for multi-streaming digital processors | |
US6301634B1 (en) | Real time control method for a robot controller | |
US6401155B1 (en) | Interrupt/software-controlled thread processing | |
US6715016B1 (en) | Multiple operating system control method | |
JP2514296B2 (ja) | パ―ソナルコンピュ―タのためのディジタル信号処理サブシステム | |
KR100766732B1 (ko) | 고속의 낮은 오버헤드의 콘텍스트 전환을 실행하는 디바이스 및 방법 | |
US7412590B2 (en) | Information processing apparatus and context switching method | |
JP2000242512A (ja) | 複数のオペレーティングシステムを実行する計算機 | |
WO2000079389A1 (en) | System and method for performing context switching and rescheduling of a processor | |
US20180293095A1 (en) | Semiconductor device | |
JPH11282815A (ja) | マルチスレッド計算機システム及びマルチスレッド実行制御方法 | |
JP2001117786A (ja) | プロセススケジューリング装置およびプロセススケジューリング方法 | |
JPH0916409A (ja) | マイクロコンピュータ | |
US5487157A (en) | Microprogrammed microcomputer with high-speed interrupt for DRAM refresh | |
WO2000070482A1 (en) | Interrupt and exception handling for multi-streaming digital processors | |
US6795911B1 (en) | Computing device having instructions which access either a permanently fixed default memory bank or a memory bank specified by an immediately preceding bank selection instruction | |
JP2585905B2 (ja) | マルチタスク実行装置 | |
KR20070045495A (ko) | 복수의 레지스터 집합과 하드웨어 작업 관리자를 가진고성능 멀티쓰레드 임베디드 프로세서 | |
WO1992003783A1 (en) | Method of implementing kernel functions | |
JP2742245B2 (ja) | 並列計算機 | |
KR950009411Y1 (ko) | 시분할에 의한 다중 프로세서의 메모리 공유회로 | |
JPH05120248A (ja) | マルチプロセツサ構成のコンピユータシステム | |
JPH03179532A (ja) | コンピュータ装置 |
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 |