JPH0916409A - Micro computer - Google Patents

Micro computer

Info

Publication number
JPH0916409A
JPH0916409A JP16644395A JP16644395A JPH0916409A JP H0916409 A JPH0916409 A JP H0916409A JP 16644395 A JP16644395 A JP 16644395A JP 16644395 A JP16644395 A JP 16644395A JP H0916409 A JPH0916409 A JP H0916409A
Authority
JP
Japan
Prior art keywords
task
means
memory
register
data
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
JP16644395A
Other languages
Japanese (ja)
Inventor
Toshifumi Hamaguchi
Masahiko Matsumoto
Toshimichi Matsuzaki
Hiroshi Tanase
寛 多那瀬
敏道 松崎
政彦 松本
敏文 浜口
Original Assignee
Matsushita Electric Ind Co Ltd
松下電器産業株式会社
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 Matsushita Electric Ind Co Ltd, 松下電器産業株式会社 filed Critical Matsushita Electric Ind Co Ltd
Priority to JP16644395A priority Critical patent/JPH0916409A/en
Publication of JPH0916409A publication Critical patent/JPH0916409A/en
Application status is Pending legal-status Critical

Links

Abstract

PURPOSE: To provide the microcomputer which switches tasks fast without increasing the cost. CONSTITUTION: A CPU 4 switches the tasks according to the execution order in a task schedule table 2 and executes the tasks by using one register set of a register file 3. Each time a task is switched, the register sets used for the task execution by the CPU 4 are alternated. Each time the task is switched, a transmission part 5 saves and reloads the register sets by utilizing free bus cycles of the CPU 4. Consequently, the fast task switching can be performed only by adding one register set and one transfer means as hardware.

Description

【発明の詳細な説明】 DETAILED DESCRIPTION OF THE INVENTION

【0001】 [0001]

【産業上の利用分野】本発明は、複数のタスクを切り換えながら実行するマイクロコンピュータに関する。 The present invention relates to a microcomputer for executing while switching the plurality of tasks.

【0002】 [0002]

【従来の技術】近年、マイクロコンピュータは、あらゆる機器に利用されており、処理能力の向上に伴ってより広い分野でより複雑な制御に応用されている。 Recently, the microcomputer is used for any equipment, along with the improvement of the processing capacity has been applied to more complex control in a wider field. 組み込み用途のマイクロコンピュータにおいても、より複雑な制御に対応できるように、マルチタスク管理などより高度な機能が望まれている。 Also in the microcomputer of embedded applications, to accommodate more complex control, multi-task management more advanced features, such as is desired.

【0003】図6は、第1の従来技術におけるマルチタスク機能を有するコンピュータの説明図である。 [0003] Figure 6 is an illustration of a computer having a multi-task function in the first prior art. 同図においてCPU10は、演算部11とレジスタセット12 CPU10 In the figure, the arithmetic unit 11 and the register set 12
とからなる。 Consisting of. 演算部11は、タスクを1つずつ実行する。 Calculating unit 11 executes one task. レジスタセット12は、タスク実行に要するデータを保持する。 Register set 12 holds the data necessary for task execution.

【0004】メモリ13は、各タスク毎にコンテキスト(レジスタセットのデータ、PCの内容、PSWの内容等)を退避する領域であるコンテキストブロック14を有する。 [0004] Memory 13 includes context for each task (the data of the register set, contents of the PC, contents, etc., of the PSW) context block 14 is an area for saving. 同図では、コンテキストブロック14中にタスク1〜3用のコンテキスト退避領域が示されている。 In the figure, the context save area for the task 1-3 is shown in the context block 14. この第1の従来例におけるタスクの管理はソフトウェア(OS)によって行われる。 Management task in this first conventional example is performed by software (OS). 例えばタスク1からタスク2に切り換える場合、OSは、タスク切り換えを指示するイベント(タイマ割込み等)を受け付けると、まずC For example, when switching from Task 1 to Task 2, OS accepts an event that instructs the task switching (timer interruption or the like), first C
PU10からメモリ13にタスク1のコンテキストを退避し、次にメモリ13からCPU10にタスク2のコンテキストを復帰し、さらにタスク2の実行を開始する。 Save the context of the task 1 in the memory 13 from the PUs 10, then CPU10 returns the context of the task 2 from the memory 13, further starts execution of task 2.

【0005】上記のように第1の従来例では、ソフトウェア(OS)によりマルチタスクを実現しているので、 [0005] In the first prior art as described above, since the realized multitasking by software (OS),
ハードウェア規模が小さくて済むという利点がある。 There is an advantage that a small hardware scale. 図7は、第2の従来技術おけるマルチタスク機能を有するコンピュータの説明図である。 Figure 7 is an illustration of a computer having a multi-task function of definitive second prior art. 同図においてCPU20 CPU20 In FIG.
は、演算部21、レジスタファイル22、レジスタセット切り換え部23、制御部24とからなる。 The arithmetic unit 21, register file 22, register set switching unit 23, and a control unit 24.

【0006】演算部21は、タスクを1つずつ実行する。 [0006] calculation unit 21 executes one task. レジスタファイル22は、タスク実行に要するデータを保持する複数のレジスタセットからなる。 Register file 22 is comprised of a plurality of register set for holding data necessary for task execution. レジスタセット切り換え部23は、現在実行中のタスクに対応するレジスタセットを有効にする。 Register set switching unit 23, to enable the register set corresponding to the currently executing task. この有効なレジスタセットのみが演算部21に使用される。 The only valid register set is used in the calculation unit 21.

【0007】制御部24は、タスクの切り換えを制御する。 [0007] The control unit 24 controls the switching of the task. メモリ25は、レジスタセットのデータを除くコンテキストの退避領域を有する。 Memory 25 has a save area of ​​the contexts except for data of the register set. この第2の従来例におけるタスクの管理はハードウェアによって行われる。 Administrative tasks in the second conventional example is performed by hardware. 例えばタスク1からタスク2に切り換える場合、制御部24 For example, when switching from Task 1 to task 2, the control unit 24
は、タスク切り換えを指示するイベント(タイマ割込み等)を受け付けると、レジスタセット切り換え部23にタスク2に対応するレジスタセットを有効にするように指示する共に、演算部21のPCの内容、PSWの内容等をメモリ25に退避し、タスク2のPCの内容、PS Upon receipt of the event (a timer interrupt or the like) for instructing the task switching, the register set switching unit 23 together prompted to enable the register set corresponding to the task 2, the contents of the PC operation unit 21, the PSW saves the contents or the like to the memory 25, the contents of the task 2 PC, PS
Wの内容等を演算部21に復帰する。 To return W the contents, etc., of the calculation unit 21. その結果、演算部21は、有効なレジスタセット2を用いてタスク2を実行する。 As a result, the arithmetic unit 21 executes the task 2 using the valid register set 2.

【0008】上記のように第2の従来例では、ハードウェアによりマルチタスクを実現しているので、タスクの切り換えが高速に行えるという利点がある。 [0008] As described above in the second conventional example, since the realized multitasking by hardware is advantageous in that switching of the task can be performed at high speed.

【0009】 [0009]

【発明が解決しようとする課題】しかしながら、上記従来技術によれば、組み込み用途のマイクロコンピュータにおけるマルチタスク管理には適していないという問題があった。 [0007] However, according to the prior art, there is a problem that is not suitable for multi-task management in a microcomputer of embedded applications. 詳しくいうと、第1の従来例によれば、タスク切り換えに際してコンテキストの退避および復帰をソフトウェア(OS)により実現するので切り換え速度が遅く、リアルタイム性を要求される制御を行う組み込み用途のマイクロコンピュータには適していない。 More precisely, according to the first conventional example, the saving and restoring of context when task switching software (OS) slower switching speed because realized by, the microcomputer embedded applications for controlling that requires real-time not suitable. また、 Also,
第2の従来例によれば、タスク数を同数のレジスタセットを必要とし、タスク切り換え行う制御部をハードウェアにて実現するので、ハードウェア規模が大きくなる。 According to the second conventional example, the number of tasks requiring the same number of register sets, since to achieve a control unit for performing switching tasks in hardware, the hardware scale increases.
その結果コストが高くなり組み込み用途のマイクロコンピュータには適していない。 As a result the cost is high is not suitable for a microcomputer of embedded applications.

【0010】本発明は上記の問題点に鑑み、コストを増大させることなく高速にタスクを切り換えるマイクロコンピュータを提供することを目的とする。 [0010] The present invention is to overcome the above-described problems, and an object thereof is to provide a microcomputer for switching high speed the task without increasing the cost.

【0011】 [0011]

【課題を解決するための手段】上記課題を解決するため、請求項1の発明は、複数のタスクを順に切り換えながら実行するマイクロコンピュータであって、同一のレジスタ構成をもち、タスク実行に一方が使用される2つのレジスタセットと、タスク切り換えと同時に、タスク実行に使用されるレジスタセットを他方に切り換える切り換え手段と、レジスタセットに接続された内部バス、 In order to solve the above problems SUMMARY OF THE INVENTION, The invention according to claim 1, a microcomputer that executes while switching the plurality of tasks in sequence, have the same register structure, one to the task execution and two register sets to be used, task switching at the same time, a switching means for switching the register set used in task execution to the other, connected to the internal bus in the register set,
およびメモリに接続されたメモリバスそれぞれの空サイクルを検出する検出手段と、タスク切り換え毎に、検出されたバスの空サイクルを利用して、タスク実行に使用されていないレジスタセットのデータをメモリに退避し、次の切り換え後に実行すべきタスク用のデータをメモリから当該レジスタセットに復帰する転送手段とを備える。 And a detecting means for detecting the connected memory bus each empty cycles in the memory, each task switching, using the detected air-cycle of the bus, the data of the register set that is not used for task execution in memory retracted, and a transfer means for returning the data for tasks to be executed after the next changeover from the memory to the register set.

【0012】請求項2の発明は、請求項1において前記転送手段が、内部バスの空サイクルにおいて、タスク実行に使用されていないレジスタセットのレジスタデータを読み出すレジスタ読み出し手段と、メモリバスの空サイクルにおいて、レジスタ読み出し手段により読み出されたデータをメモリに書き込むメモリ書き込み手段と、 [0012] The invention according to claim 2, wherein said transfer means according to claim 1, in an empty cycle of the internal bus, a register reading means for reading the register data of the register set that is not used for task execution, empty cycle of the memory bus in a memory write means for writing data read out by the register read means in the memory,
メモリ書き込み手段による書き込み完了後、メモリバスの空サイクルにおいて、次に実行すべきタスク用のデータをメモリから読み出すメモリ読み出し手段と、内部バスの空サイクルにおいて、メモリ読み出し手段により読み出されたデータを、タスク実行に使用されていないレジスタセットに書き込むレジスタ書き込み手段とを有している。 After completion write by the memory writing means, in an empty cycle of the memory bus, and a memory reading means for reading the next data for tasks to be performed from memory, in empty cycle of the internal bus, the data read by the memory reading means , and a register write means for writing the register set that is not used for task execution.

【0013】請求項3の発明は、複数のタスクを順に切り換えながら実行するマイクロコンピュータであって、 [0013] The invention of claim 3 is a microcomputer that executes while switching the plurality of tasks in sequence,
複数のタスクプログラムを記憶し、各タスクに対応するデータ退避領域を有するメモリと、複数のタスクの実行順序を記憶するテーブル手段と、同一のレジスタ構成をもつ2つのレジスタセットと、テーブル手段の実行順序に従ってタスクを切り換え、レジスタセットの一方を使用してタスクを実行する中央演算処理手段と、タスク切り換え毎に、中央演算処理手段のタスク実行に使用されるレジスタセットを交互に切り換える切り換え手段と、 Storing a plurality of task programs, the execution of a memory having a data save area corresponding to each task, and a table means for storing an execution order of a plurality of tasks, and two register sets having the same register structure, table means switching tasks in the order, the central processing unit to perform a task using one register set, each task switching, and switching means for switching the register set used for task execution of the central processing unit alternately,
レジスタセットに接続された内部バス、およびメモリに接続されたメモリバスそれぞれの空サイクルを検出する検出手段と、タスク切り換え毎に、検出されたバスの空サイクルを利用して、タスク実行に使用されていないレジスタセットのデータを、切り換え前のタスクに対応するデータ退避領域に退避する退避手段と、退避手段による退避後、検出されたバスの空サイクルを利用して、中央演算処理手段による実行中タスクの次のタスクに対応するデータ退避領域のデータを、タスク実行に使用されていないレジスタセットに復帰させる復帰手段とを備える。 Connected internal bus in the register set, and a detection means for detecting the connected memory bus each empty cycles in the memory, each task switching, using the detected air-cycle of the bus, is used for task execution the data of non register set, and saving means for saving the data saving area corresponding to the switching previous task, after evacuation by retreating means, using the detected air-cycle bus during execution by the central processing unit the data in the data save area corresponding to the next task in the task, and a returning means for returning the register set that is not used for task execution.

【0014】請求項4の発明は、請求項3において、前記メモリは、各タスク毎のスタック領域内に前記データ退避領域を有し、前記テーブル手段は、タスクの実行順序と、各タスクに対応するスタックポインタの内容とを記憶する。 [0014] A fourth aspect of the present invention, in claim 3, wherein the memory has the data save area in the stack area for each task, the table means includes a task execution sequence, corresponding to each task and it stores the contents of the stack pointer. 請求項5の発明は、請求項3又は4において、前記退避手段は、内部バスの空サイクルにおいて、 The invention of claim 5, in claim 3 or 4, wherein the retracting means is the empty cycle of the internal bus,
タスク実行に使用されていないレジスタセットのレジスタデータを順に読み出すレジスタ読み出し手段と、メモリバスの空サイクルにおいて、レジスタ読み出し手段により読み出されたデータを順に、切り換え前のタスクに対応するデータ退避領域に書き込むメモリ書き込み手段とを有し、前記復帰手段は、メモリ書き込み手段による書き込み完了後、メモリバスの空サイクルにおいて、中央演算処理手段による実行中タスクの次のタスクに対応するデータ退避領域のデータを順にメモリから読み出すメモリ読み出し手段と、内部バスの空サイクルにおいて、メモリ読み出し手段により読み出されたデータを、 A register reading means for reading the register data of the register set that is not used for task execution in the order, in an empty cycle of the memory bus, the data read out by the register read means sequentially, the data saving area corresponding to the switching previous task and a memory writing means for writing, said return means after completion write by the memory writing means, in an empty cycle of the memory bus, the data in the data saving area corresponding to the next task in execution task by the central processing unit sequentially a memory reading means for reading from the memory, in empty cycle of the internal bus, the data read by the memory reading means,
タスク実行に使用されていないレジスタセットに書き込むレジスタ書き込み手段とを有する。 And a register writing means for writing the register set that is not used for task execution.

【0015】請求項6の発明は、請求項3、4又5はにおいて、さらに、中央演算処理手段に動作クロックを供給するクロック供給手段と、復帰手段による復帰動作中に、中央演算処理手段によりタスク切り換えが発生した場合に、当該復帰動作が完了するまでの間クロック供給手段の動作クロックの供給を停止する停止手段とを備える。 [0015] A sixth aspect of the present invention, in claim 3, 4 also 5, further comprising: a clock supply means for supplying an operation clock to the central processing unit, during the return movement by the return means, by the central processing unit when the task switching has occurred, and a stop means for stopping the supply of the operation clock between clock supply means to the return operation is completed.

【0016】 [0016]

【作用】上記の手段により、請求項1の発明に係るマイクロコンピュータでは、切り換え手段は、タスク切り換えと同時に、タスク実行に使用されるレジスタセットを切り換える。 By the action above means, in the microcomputer according to the invention of claim 1, switching means, task switching at the same time, switches the register set to be used for task execution. タスク切り換え毎に、転送手段は、検出されたバスの空サイクルを利用して、タスク実行に使用されていないレジスタセットのデータをメモリに退避し、 Every task switching, transfer means, by using the detected air-cycle of the bus, saves the data in the register set that is not used for task execution in the memory,
次の切り換え後に実行すべきタスク用のデータをメモリから当該レジスタセットに復帰する。 The data for the next to be executed after switching the task to return from the memory to the register set. これにより、レジスタセットを1つ分と、転送手段をハードウェアとして追加するだけで、高速なタスク切り換えを実現することができる。 Thus, minute one register set, by simply adding transfer means as hardware, it is possible to realize a high-speed task switching.

【0017】請求項2の発明に係るマイクロコンピュータでは、請求項1の前記転送手段において、レジスタ読み出し手段とメモリ書き込み手段とにより退避が行われ、メモリ読み出し手段とレジスタ書き込み手段とにより復帰が行われる。 [0017] In a microcomputer according to the second aspect of the present invention, in the transfer means of claim 1, is performed retracted by the register reading means and memory writing means, the return is performed by the memory reading means and the register write means . その際、レジスタ読み出し手段と、 At that time, the register read means,
レジスタ書き込み手段とは内部バスの空サイクルにおいてレジスタにアクセスし、メモリ読み出し手段とメモリ書き込み手段とはメモリバスの空サイクルにおいてメモリにアクセスする。 The register write means to access registers in the empty cycle of the internal bus, the memory reading means and memory write means for accessing the memory in the empty cycle of the memory bus. これにより、タスク実行を全く妨げることなく、退避と復帰を実現できる。 Thus, without interfering a task performed at all, it can be realized saving and restoring.

【0018】請求項3の発明に係るマイクロコンピュータでは、中央演算処理手段は、テーブル手段の実行順序に従ってタスクを切り換え、レジスタセットの一方を使用してタスクを実行する。 [0018] In a microcomputer according to the third aspect of the present invention, the central processing unit switches the task in accordance with the execution order of the table means, to perform the tasks using one of the register set. 切り換え手段は、タスク切り換え毎に、中央演算処理手段のタスク実行に使用されるレジスタセットを交互に切り換える。 Switching means, for each task switching, it switches the register set used for task execution of the central processing unit alternately. タスク切り換え毎に、退避手段、復帰手段は、検出されたバスの空サイクルを利用して、それぞれ退避、復帰を行う。 Every task switching, saving means, return means uses the detected air-fuel cycle of a bus, performed respectively save, the return. これにより、レジスタセットを1つ分と、転送手段をハードウェアとして追加するだけで、高速なタスク切り換えを実現することができる。 Thus, minute one register set, by simply adding transfer means as hardware, it is possible to realize a high-speed task switching.

【0019】請求項4の発明に係るマイクロコンピュータでは、請求項3において、前記データ退避領域が、メモリ中の各タスク毎のスタック領域内に設けられ、前記テーブル手段は、タスクの実行順序と、各タスクに対応するスタックポインタの内容とを記憶する。 [0019] In a microcomputer according to a fourth aspect of the present invention, in claim 3, wherein the data save area is provided in the stack area for each task in the memory, said table means, the execution order of tasks, and stores the contents of the stack pointer corresponding to each task. これにより、タスクの実行順序として1つのタスクを複数指定するだけで、中央演算処理手段におけるタスクの占有率を簡単に制御できる。 Thus, only specify multiple single task as the execution order of tasks can be easily controlled occupancy task in the central processing unit.

【0020】請求項5の発明に係るマイクロコンピュータでは、請求項3又は4において、レジスタ読み出し手段とメモリ書き込み手段とにより退避が行われ、メモリ読み出し手段とレジスタ書き込み手段とにより復帰が行われる。 [0020] In a microcomputer according to the invention of claim 5, in claim 3 or 4, save by the register reading means and memory writing means is performed, returning by the memory reading means and the register writing means is performed. その際、レジスタ読み出し手段と、レジスタ書き込み手段とは内部バスの空サイクルにおいてレジスタにアクセスし、メモリ読み出し手段とメモリ書き込み手段とはメモリバスの空サイクルにおいてメモリにアクセスする。 At that time, the register read means accesses the register in the empty cycle of the internal bus and the register write unit, the memory reading means and memory write means for accessing the memory in the empty cycle of the memory bus. これにより、タスク実行を全く妨げることなく、退避と復帰を実現できる。 Thus, without interfering a task performed at all, it can be realized saving and restoring.

【0021】請求項6の発明に係るマイクロコンピュータでは、停止手段は、復帰手段による復帰動作中に、中央演算処理手段によりタスク切り換えが発生した場合に、当該復帰動作が完了するまでの間クロック供給手段の動作クロックの供給を停止する。 [0021] In the microcomputer of the invention of claim 6, stop means, during the return movement by the return means, when the task switching by the central processing unit has occurred, while the clock supply until the return operation is completed stopping the supply of the operation clock of the unit. これにより、退避・ As a result, the saving and
復帰に要するよりも短い周期でタスク切り換えの要求が発生しても適切にタスクを切り換えることができるので、タスク切り換え周期を幅広く設定することができる。 Since demand for task switching in a shorter period than required to return can be switched appropriately task even if it occurs, it can be widely set a task switching period.

【0022】 [0022]

【実施例】図1は、本発明の実施例におけるマイクロコンピュータの主要な概略構成を示すブロック図である。 DETAILED DESCRIPTION FIG. 1 is a block diagram showing a main schematic configuration of a microcomputer according to an embodiment of the present invention.
このマイクロコンピュータは、メモリ1、タスクスケジュールテーブル2、レジスタファイル3、CPU4、転送部5を有する。 The microcomputer has a memory 1, the task schedule table 2, the register file 3, CPU 4, the transfer unit 5. メモリ1は、複数のタスクからなるプログラムやデータを記憶し、また、各タスク用の退避領域を有する。 Memory 1 stores programs and data comprising a plurality of tasks, also has a save area for each task. この退避領域には、レジスタセットの内容、プログラムカウンタの内容、プロセッサステータスワードの内容等を含むコンテキストが退避される。 This save area, the contents of the register set, contents of the program counter, the context comprising the content or the like of the processor status word are saved.

【0023】タスクスケジュールテーブル2は、物理的にはメモリ1内に設けられ、タスクの実行順序を保持する。 The task schedule table 2 are physically provided within memory 1, it holds the execution order of tasks. レジスタファイル3は、レジスタセットAとレジスタセットBとからなる。 Register file 3 is comprised of a register set A and the register set B. この2つのレジスタセットA、 The two registers set A,
Bは、タスクの切り換え毎に交互に切り換えられ、常に一方がCPU4のタスク実行に使用される。 B is switched alternately every task switching, always one is used for task execution in CPU 4.

【0024】CPU4は、複数のタスクを順に切り換えながら実行する。 [0024] CPU4 performs while switching a plurality of tasks in order. CPU4が実行するタスクは、タスク切り換えを指示するイベントが発生する毎に、タスクスケジュールテーブル2の内容に従って切り換えられる。 Tasks CPU4 performs, every time an event that instructs the task switching occurs, is switched according to the contents of the task schedule table 2.
ここでイベントは、例えば、周期的なタイマー割込み、 Here the event is, for example, periodic timer interrupts,
タスクスイッチ命令、特定ポート(シリアルポートなど)割り込み等である。 Task switching instruction, a specific port (such as a serial port) interrupt or the like.

【0025】転送部5は、タスクが切り換えられる毎に、CPU4によるタスク実行と独立して、CPU4により使用されていないレジスタセット内のデータをメモリに退避し、次に実行すべきタスク用のデータをメモリから当該レジスタセットに復帰する。 The transfer unit 5, each time the task is switched, independently of the task execution by CPU4, the data in the register set that are not used by CPU4 saved in the memory, then the data for tasks to be performed the return from the memory to the register set. 図2は、図1に示したマイクロコンピュータのより詳細な構成を示すブロック図である。 Figure 2 is a block diagram showing a more detailed configuration of the microcomputer shown in FIG.

【0026】同図に示すように、本マイクロコンピュータは、ROM101、RAM102、インクリメンタ4 As shown in the figure, the microcomputer, ROM 101, RAM 102, incrementer 4
01、セレクタ402、命令アドレスバッファ403、 01, a selector 402, an instruction address buffer 403,
命令フェッチバッファ405、プロセッサステータスワード(以下PSWと略す)406、命令バッファ40 Instruction fetch buffer 405, (hereinafter referred to as PSW) processor status word 406, an instruction buffer 40
7、命令レジスタ408、ステータスレジスタ409、 7, instruction register 408, status register 409,
PLA410、マイクロ命令レジスタ411、ALU4 PLA410, micro instruction register 411, ALU4
12、ALOB413、オペランドアドレスバッファ4 12, ALOB413, operand address buffer 4
14、ストアバッファ415、ロードバッファ416、 14, the store buffer 415, load buffer 416,
セレクタ417、転送制御部501、PLA502、マイクロ命令レジスタ503、TSTB504、TSTP Selector 417, the transfer control unit 501, PLA502, microinstruction register 503, TSTB504, TSTP
505、オペランドアドレスバッファ506、ストアバッファ507、ロードバッファ508、加算器509、 505, the operand address buffer 506, store buffer 507, load buffer 508, adder 509,
定数発生器510とから構成され、ROM101およびRAM102は、図1に示したメモリ1に相当し、複数のタスクを含むプログラム、タスクスケジュールテーブル2、タスク用退避領域を有する。 It consists constant generator 510 Prefecture, ROM 101 and RAM102 is equivalent to the memory 1 shown in FIG. 1, a program including a plurality of tasks, the task schedule table 2, the task for the save area. このプログラムはR This program is R
OM101に記憶され、タスクスケジュールテーブル2 OM101 stored in, the task schedule table 2
は、ROM101またはRAM102に設けられ、タスク用退避領域はRAM102に設けられる。 It is provided in ROM101 or RAM 102, a task for save area is provided in the RAM 102.

【0027】レジスタセット301とレジスタセット3 [0027] The register set 301 and the register set 3
02とは、同一のレジスタ構成であり、それぞれデータレジスタ(D1、D0)と、アドレスレジスタ(A1, 02 and is the same register structure, each of the data registers and (D1, D0), the address register (A1,
A0)と、スタックポインタ(SP)と、これらからのデータを選択的に出力するセレクタとを有する。 Having a A0), and stack pointer (SP), and a selector for outputting data selectively of these. インクリメンタ401、セレクタ402、命令アドレスバッファ403、命令フェッチバッファ405からなる回路部分は、ROM101から命令を順時プリフェッチする命令準備部である。 Incrementer 401, a selector 402, an instruction address buffer 403, a circuit portion composed of instruction fetch buffer 405 is an instruction preparation unit which sequentially when prefetching instructions from ROM 101.

【0028】ステータスレジスタ406は、CPU4の動作状態を表す各種フラグを有するレジスタである。 The status register 406 is a register having various flags that indicate the operating status of the CPU 4. 命令バッファ407からなる回路部分は、命令準備部によりプリフェッチされた複数の命令を保持する命令キューである。 Circuit portion consisting of the instruction buffer 407 is an instruction queue for holding a plurality of instructions prefetched by the instruction preparation unit. 命令レジスタ408、ステータスレジスタ40 Instruction register 408, status register 40
9、PLA410、マイクロ命令レジスタ411からなる回路部分は、命令準備部又は命令キューから供給される命令を解読し、その実行を制御する命令制御部である。 9, PLA 410, the circuit portion comprising the microinstruction register 411 decodes the instruction supplied from the instruction preparation unit or the instruction queue, an instruction control unit for controlling the execution. また、この命令制御部は、タスク切り換えを指示するイベントが発生する毎に、タスクスケジュールテーブル2の内容に従ってタスクを切り換える制御およびレジスタセットを交互に切り換える制御を行う。 Moreover, the instruction control unit, every time an event that instructs the task switching occurs, performs control to switch to alternately control and register set switch the task according to the contents of the task schedule table 2. 本実施例では上記イベントは、タイマー(図外)による200mS The above events in this example, 200 mS by timer (not shown)
毎の周期的な割込みとする。 And periodic interrupt each. また、命令制御部は、内部バス418に対してデータを入出力する制御を行う。 Moreover, the instruction control unit performs control for inputting and outputting data to the internal bus 418.

【0029】ALU412、ALOB413、オペランドアドレスバッファ414、ストアバッファ415、ロードバッファ416、セレクタ417からなる回路部分は、命令制御部の制御に従って命令を実行する命令実行部である。 [0029] ALU 412, ALOB413, operand address buffer 414, store buffer 415, load buffer 416, a circuit portion composed of the selector 417 is an instruction execution unit for executing instructions under the control of the instruction control unit. 内部バス418は、2本のバスからなり、主としてレジスタファイル3に対して読み書きされるデータを伝達する。 Internal bus 418 is composed of two buses, for transferring the data written into and read out from a predominantly register file 3.

【0030】メモリバス419は、アドレスバスとデータバスとからなり、主としてROM101、RAM10 The memory bus 419 is composed of an address bus and a data bus, mainly ROM101, RAM10
2、周辺回路に対してアドレス、データを伝達する。 2, and transmits address, data and the peripheral circuit. バスコントローラ420は、メモリバス419を使用するアクセスが競合する場合、例えば、命令準備部によるプリフェッチと、命令実行部によるオペランドデータのロード/ストアとが競合する場合に、バス使用を調停する。 Bus controller 420, if the access using memory bus 419 conflict, for example, if the prefetching instruction preparation unit, and a load / store operand data by the instruction execution unit to compete arbitrates bus usage. バスコントローラ420は、この調停によりメモリバス419に対してデータを入出力するための各種制御信号を出力する。 The bus controller 420 outputs various control signals for inputting and outputting data to the memory bus 419 by the arbitration.

【0031】クロック供給部421は、CPU4及び転送部5に対して動作クロックを供する。 The clock supply unit 421, providing an operating clock signal to CPU4 and the transfer unit 5. 転送制御部50 Transfer control unit 50
1は、PLA502、マイクロ命令レジスタ503からなり、命令制御部によりタスクの切り換えが行われた直後に、CPU4により使用されていない方のレジスタセットの内容を、切り換えの直前に実行されていたのタスクの退避領域に退避し、さらに、現在実行されているタスクの次に実行すべきタスクの退避領域の内容を当該レジスタセットに復帰する制御を行う。 1, PLA502, a micro instruction register 503, immediately after the switching of the task is performed by the instruction control unit, of the content of the register set which is not used by CPU 4, it was being executed immediately before switching tasks and the saved in the save area, further, the contents of the save area of ​​the task to be executed next to the task currently being performed and performs control to return to the register set.

【0032】PLA502は、前記退避及び復帰を実現するマイクロ命令を発行する。 [0032] PLA502 issues microinstructions to implement the save and restore. マイクロ命令レジスタ5 Micro instruction register 5
03は、PLA502からのマイクロ命令に対応する制御信号を出力する。 03 outputs a control signal corresponding to the microinstruction from PLA502. TSTB(Task Schedule Table Ba TSTB (Task Schedule Table Ba
se)504は、RAM102内に設けられたタスクスケジュールテーブルの先頭アドレスを保持するレジスタである。 se) 504 is a register to hold the start address of the task schedule table provided in the RAM 102.

【0033】TSTP(Task Schedule Table Pointe [0033] TSTP (Task Schedule Table Pointe
r)505は、タスクスケジュールテーブルにおいて、 r) 505, in the task schedule table,
タスク切り換え要求が発生した時点で現在実行中のタスクの次に実行すべきタスクを指すポインタを保持するレジスタである。 When the task switching request occurs a register that contains a pointer to a task to be executed next the currently executing task. オペランドアドレスバッファ(以下、D Operand address buffer (hereinafter, D
OABと略す)506は、上記退避及び復帰に際してメモリアドレスを保持し、メモリバス中のアドレスバスを介してメモリ1に出力する。 Abbreviated as OAB) 506 holds the memory address during the saving and restoring, and outputs to the memory 1 via the address bus of the memory bus.

【0034】ストアバッファ(以下、DSTBと略す) The store buffer (hereinafter referred to as DSTB)
507は、上記退避に際して退避すべきデータを保持し、メモリバス419中のデータバスを介してメモリ1 507 holds the data to be saved when the saving, a memory 1 via the data bus in the memory bus 419
に出力する。 And outputs it to. ロードバッファ(以下、DSTBと略す) Load buffer (hereinafter referred to as DSTB)
508は、上記復帰に際して、メモリ1から読み出された復帰すべきデータを、メモリバス419中のデータバスを介して入力して保持する。 508, upon the return, the data to be restored read from the memory 1, and holds the input via the data bus in the memory bus 419.

【0035】加算器509は、DOAB506の内容と、定数発生器510からの定数加算し、加算結果をD The adder 509, the contents of DOAB506, and constant addition of a constant generator 510, an addition result D
OAB506に出力する。 And outputs it to the OAB506. これにより退避時および復帰時に、それぞれの退避領域の個々データ格納場所のアドレスを先頭から順に生成する。 Thus during retraction and during recovery, to generate an address of each data storage location of each save area sequentially from the beginning. 図3は、タスクスケジュールテーブル、タスク用退避領域のメモリマップの一例を示す。 Figure 3 shows the task schedule table, an example of a memory map of a task for save area.

【0036】同図において、「TSTB」は、タスクスケジュールテーブルの先頭アドレスを指すポインタであり、TSTB504に保持される。 [0036] In the figure, "TSTB" is a pointer to the beginning address of the task schedule table, it is held in TSTB504. 「TSTP」は、タスク切り換え要求が発生した時点で現在実行中のタスクの次に実行すべきタスクを指すポインタあり、TSTP "TSTP 'is located pointer to a task to be executed next the currently executing task when the task switching request occurs, TSTP
505に保持される。 505 is held in. 「タスクスケジュールテーブル」 "Task schedule table."
は、各タスク用のスタックポインタの退避場所を示すアドレスを、タスクの実行順に保持し、末尾にはx'FF Is an address indicating the saving location of the stack pointer for each task, and held in the order of execution of the task, at the end x'FF
(16進数)を保持する。 Holding the (hexadecimal). 同図の例では、4つのタスク1〜4が、1→2→3→1→4の順に実行することが指定されている。 In the illustrated example, four tasks 1 to 4, 1 → 2 → 3 → 1 → 4 of be executed in the order specified. この例ではタスク1が2回指定されているので、タスク1〜4のそれぞれのCPU占有率は、4 Since this example is designated task 1 twice, each CPU occupancy task 1-4, 4
0%、20%、20%、20%となる。 0%, 20%, 20%, and 20%.

【0037】「タスク用退避領域」には、「コンテキスト退避領域」と、「スタックポインタ退避領域」とからなる。 [0037] "task for saving region", the "context save area", consisting of a "stack pointer saving area". 「コンテキスト退避領域」は、本実施例では各タスク用のスタック領域内に設けられている。 "Context save area" is, in the present embodiment is provided in the stack area for each task. つまりスタック領域は、通常のスタックとしての使用に加えてコンテキストの退避領域としても用いられる。 That stack area is also used as the save area of ​​contexts in addition to use as an ordinary stack. 同図では、タスク1〜4それぞれのコンテキストとして、A1、A In the figure, as a task 1-4 each context, A1, A
0、D1、D0、PSW、PC(このPCはIAB40 0, D1, D0, PSW, PC (This PC IAB40
3またはPFC404の内容)の各レジスタの内容が記憶される。 The contents of each register 3 or the content of PFC404) is stored.

【0038】「スタックポインタ退避領域」は、各タスク毎にスタックポインタの内容を記憶する。 [0038] "stack pointer saving area" stores the contents of the stack pointer for each task. 同図ではタスク1〜4の各スタックポインタの内容が記憶されている。 The contents of each stack pointer of the task 1-4 in the figure are stored. この領域に退避されているスタックポインタの値は、現在実行されていない各タスクについて、コンテキスト退避領域の先頭位置を指す示す。 The value of the stack pointer saved in the this region, for each task that is not currently running, indicating to the beginning position of the context save area. 例えば、退避されたタスク3用スタックポインタの値は、タスク3からタスク1に切り換えられた直後である場合には、タスク3 For example, the value of the saved task 3 for the stack pointer, when it is immediately after switched from Task 3 in task 1, task 3
の実行で用いられていたスタック領域の先頭位置を指し示すが、タスク3のコンテキストの退避が完了した後は、コンテキスト退避領域の先頭位置を指し示す。 Indicating the start position of the stack area that has been used in the execution, but after evacuation of the context of the task 3 has been completed, pointing to the head position of the context save area. さらにその後、タスク3のコンテキストの復帰が完了した後は、タスク3のスタック領域の先頭位置を指し示す。 Thereafter, after the return of the context of the task 3 has been completed, pointing to the start position of the stack area of ​​the task 3. タスク3の実行中は意味を持たない。 During the execution of the task 3 has no meaning.

【0039】同図ではタスク3から1への切り換え直後に、タスク3のコンテキストが退避され、次のタスク切り換え要求発生後に実行すべきタスク4のコンテキストが復帰される様子を示している。 [0039] Immediately after switching from Task 3 in FIG into 1, it is saved context of the task 3 shows a state in which the context of the task 4 to be executed after the next task switching request occurs is restored. このとき、コンテキスト退避領域のアドレスはDOAB506により指定され、退避データはDSTB507によりメモリ1に出力され、復帰データはDLDB508によりメモリ1から入力される。 In this case, the address of the context save area designated by DOAB506, save data is output to the memory 1 by DSTB507, the return data is input from the memory 1 by DLDB508.

【0040】図4は、転送制御部501の機能的な構成を示すブロック図である。 [0040] Figure 4 is a block diagram showing a functional configuration of a transfer control unit 501. 転送制御部501は、物理的には図2に示したPLA502とマイクロ命令レジスタ503から構成されるが、機能的には図4のように表すことができる。 Transfer control unit 501 is physically consists of PLA502 and microinstruction register 503 shown in FIG. 2, the functional can be expressed as in FIG. この転送制御部501は、内部バス空き検出回路51、メモリバス空き検出回路52、レジスタ読み出し制御部53、メモリ書き込み制御部54、メモリ読み出し制御部55、レジスタ書き込み制御部56から構成される。 The transfer control unit 501, an internal bus empty detection circuit 51, a memory bus idle detection circuit 52, the register read controller 53, a memory write control unit 54, the memory read controller 55, and a register write controller 56.

【0041】内部バス空き検出回路51は、内部バス4 The internal bus idle detection circuit 51, an internal bus 4
18が空きである(CPUによって使用されていない) 18 is empty (not used by CPU)
サイクルを検出する。 To detect the cycle. より具体的には、内部バス空き検出回路51は、マイクロ命令レジスタ411の内部バス制御フィールドがNOP(ノー・オペレーション)を示す場合に空きであると判定するとともに、空きである場合にレジスタ読み出し制御部53及びレジスタ書き込み制御部56にレジスタへのアクセスを許可する。 More specifically, internal bus idle detection circuit 51 is configured to determine that the empty when the internal bus control field of the microinstruction register 411 indicates NOP (no operation), register read control when it is empty allow access to the register section 53 and register write control unit 56. ここで、内部バス制御フィールドとは、マイクロ命令レジスタ411から出力される各種制御信号群のうち、内部バスに対するデータ入出力を指示する制御信号からなるフィールドをいう。 Here, the internal bus control field, among the various control signal group which is outputted from the micro instruction register 411 refers to a field consisting of a control signal for instructing the data input and output to the internal bus. またNOPとは、当該フィールド内の全ての制御信号がアクティブでない状態をいう。 The A NOP, refers to a state all the control signals in the field is not active.

【0042】メモリバス空き検出回路52は、メモリバス419が空きである(CPUによって使用されていない)サイクルを検出する。 The memory bus idle detection circuit 52, memory bus 419 is idle (not being used by CPU) detects a cycle. より具体的には、メモリバス空き検出回路52は、バスコントローラ420のメモリバス制御フィールドがNOPを示す場合に空きであると判定するとともに、空きである場合にメモリ書き込み制御部54及びメモリ読み出し制御部55にメモリへのアクセスを許可する。 More specifically, the memory bus idle detection circuit 52 is configured to determine that the idle when the memory bus control field of the bus controller 420 indicates NOP, the memory write controller 54 and the memory read control when it is empty to allow access to the memory part 55. ここで、メモリバス制御フィールドとは、バスコントローラ420から出力される全ての制御信号フィールドのうち、メモリバスに対するデータ入出力を指示する制御信号からなるフィールドをいう。 Here, the memory bus control field, among all of the control signal field which is outputted from the bus controller 420 refers to a field consisting of a control signal for instructing the data input and output to the memory bus.

【0043】レジスタ読み出し制御部53は、内部バス空き検出回路51によりレジスタへのアクセスが許可されているときに、CPUのタスク実行に使用されていないレジスタセットから個々のレジスタデータを順に読み出してDSTB507に格納する。 The register read controller 53, when it is allowed access to the register by an internal bus empty detection circuit 51 reads out the individual register data from the register set that is not used for task execution of the CPU in order DSTB507 and stores it in. メモリ書き込み制御部54は、メモリバス空き検出回路52によりメモリ1 The memory write controller 54, the memory 1 by the memory bus idle detection circuit 52
へのアクセスが許可されているときに、DSTB507 When access to is permitted, DSTB507
に格納されたデータをメモリ1のコンテキスト退避領域に順に書き込む。 Writing sequentially the stored data in the context save area of ​​the memory 1. その際、メモリ書き込み制御部54 At that time, the memory write controller 54
は、まず、現在実行中のタスクの1つ前のタスクのコンテキスト退避領域の先頭アドレスをDOAB506に設定し、以降、データを書き込む毎にDOAB506を更新する。 First sets the start address of the context save area of ​​the previous task currently executing task to DOAB506, since updates the DOAB506 each write data.

【0044】メモリ読み出し制御部55は、コンテキストの退避完了後、メモリバス空き検出回路52によりメモリ1へのアクセスが許可されているときに、メモリ1 The memory read control section 55, after saving completion of context, when the memory bus idle detection circuit 52 accesses the memory 1 is permitted, the memory 1
のコンテキスト退避領域からデータを順に読み出してD D from the context save area by reading the data sequentially
LDB508に格納する。 And stores it in the LDB508. その際、メモリ読み出し制御部55は、まず、現在実行中のタスクの次のタスクのコンテキスト退避領域の先頭アドレスをDOAB506に設定し、以降、データを書き込む毎にDOAB506を更新する。 At that time, the memory read controller 55 first sets the following start address of the context save area of ​​the task currently executing task to DOAB506, since updates the DOAB506 each write data.

【0045】レジスタ書き込み制御部56は、内部バス空き検出回路51によりレジスタへのアクセスが許可されているときに、DLDB508のデータを、CPUのタスク実行に使用されていないレジスタセットの対応するレジスタを順に書き込む。 The register write controller 56, when access to the register by an internal bus empty detection circuit 51 is permitted, the data of DLDB508, the corresponding register of the register set that is not used for task execution of the CPU write to order. 図5は、CPU4によるタスク切り換え処理、及び、転送部5による詳細なコンテキスト退避・復帰処理を表すフローチャートである。 Figure 5 is a task switching processing by CPU 4, and is a flowchart illustrating a detailed context save and restore processing by the transfer unit 5.

【0046】まず、タスク切り換え処理について説明する。 [0046] First, a description will be given of task switching process. CPU4は、タスク切り換え要求が発生すると、I CPU4, when task switching request occurs, I
AB403またはPFC404の内容をタスク復帰時の戻りPC値として当該タスクのスタック領域に退避するとともに、PSWの内容も退避し(ステップ501)、 The contents of AB403 or PFC404 with the stack area of ​​the task as the return PC value at the time of task recovery, also saved contents of PSW (step 501),
タスク実行で使用していたレジスタセットを他方のレジスタセットに切り換え、転送制御部501を起動する(ステップ502)。 Switching the register set that was used in the task execution to another register set, it starts the transfer control unit 501 (step 502). このとき、新たなレジスタセットには次に実行すべきタスクのコンテキストが復帰されているので、CPU4は、次タスクのスタック領域からP At this time, since the context of the task to be executed next in the new register set is restored, CPU 4 is, P from the stack area of ​​the next task
SWと戻りPC値とを復帰させることにより次タスクの実行を開始する(ステップ503)。 It begins execution of the next task by restoring the PC and return values ​​SW (step 503).

【0047】次に、転送部5によるコンテキスト退避・ Next, context saved by the transfer unit 5
復帰処理を説明する。 The return process will be described. なお、フローチャート中”I”を記した各ステップは、内部バス空き検出回路51により内部バスが空いていると検出されたサイクルにおいて実行されること示し、”M”を記した各ステップは、メモリバス空き検出回路52によりメモリバスが空いていると検出されたサイクルにおいて実行されることを示す。 Each step of describing the in flow "I", each step noted that indicated, "M" to be executed in the detected cycle and is empty internal bus by the internal bus idle detection circuit 51, a memory the bus free detector 52 is meant to be performed in the detected cycle with the memory bus is free.

【0048】転送部5の起動後、レジスタ読み出し制御部53は、ステップ502の切り換えによりCPUに使用されなくなったレジスタセットのSPの内容を読み出し、DOAB506に格納する(ステップ504)。 [0048] After starting the transfer unit 5, the register read controller 53 reads out the contents of the SP register set is no longer used in the CPU by switching the step 502, is stored in DOAB506 (step 504). このときDOAB506の内容は、スタック領域内に設けられたコンテキスト退避領域の先頭アドレスを表す。 The contents of this time DOAB506 represents the start address of the context save area located in the stack area. レジスタ読み出し制御部53およびメモリ書き込み制御部54は、レジスタセットの各レジスタの内容をコンテキスト退避領域に退避する(ステップ505〜508)。 Register read controller 53 and a memory write control unit 54 saves the contents of each register of the register set in the context save area (step 505 to 508).
さらに、メモリ読み出し制御部55及びメモリ書き込み制御部54は、この時点のDOAB506の内容をスタックポインタ退避領域に退避する(ステップ509〜5 Further, the memory read controller 55 and a memory write control unit 54 saves the contents of DOAB506 this point the stack pointer saving area (step 509-5
11)。 11). これにより退避後のコンテキスト退避領域の先頭アドレスがスタックポインタ退避領域に退避される。 Thus the start address of the context save area after evacuation is saved to the stack pointer saving area.
これでコンテキストの退避が完了する。 This saving of context is completed.

【0049】次に、メモリ読み出し制御部55は、TS Next, the memory read control unit 55, TS
TP505の内容を現在実行中の次に実行すべきタスクを指すように更新し(ステップ512)、次タスクのコンテキスト退避領域の先頭アドレスをスタックポインタ退避領域から読み出し、DOAB506に格納する(ステップ513)。 Updates the contents of TP505 to point to the task to be executed next to the currently running (step 512), reads the start address of the context save area for the next task from the stack pointer saving area, and stores the DOAB506 (step 513) . このときDOAB506の内容がx' At this time, the contents of the DOAB506 is x '
FF(16進数)であれば、テーブルの末尾を表すのでTSTP505の内容をTSTB504に保持された先頭アドレスに更新してから再度ステップ513を行う(ステップ514、515)。 If FF (16 hex), step 513 again to update the contents of TSTP505 the head address held in TSTB504 because it denotes the end of a table (step 514, 515).

【0050】さらに、メモリ読み出し制御部55及びレジスタ書き込み制御部56は、次タスクのコンテキスト退避領域の各データを、レジスタセットに復帰する(ステップ516〜519)。 [0050] Further, the memory read controller 55 and a register write controller 56, the respective data in the context save area of ​​the next task, return to the register set (step 516-519). さらに、レジスタ書き込み制御部56は、この時点のDOAB506の内容をレジスタセットのSPに書き込む(ステップ520)。 Furthermore, the register write controller 56 writes the contents of DOAB506 this time the SP register set (step 520). これにより次タスクのスタック領域の先頭アドレスがSPに設定される。 Thus the start address of the stack area of ​​the next task is set to SP. これで次タスクのコンテキストの復帰が完了する。 This in the context of the next task return is completed.

【0051】以上のように構成された本発明の実施例におけるマイクロコンピュータについて、タスク切り換え動作を説明する。 [0051] The microcomputer of the embodiment of the present invention constructed as described above will be described the task switching operation. 今、タスクスケジュールテーブル2 Now, the task schedule table 2
は、図3に示したように4つのタスク1〜4が、1→2 The four tasks 1-4 as shown in FIG. 3, 1 → 2
→3→1→4の順に実行することが指定されていて、タスク3が実行中であるものとする。 → 3 → 1 → 4 of that is not specified to be executed in sequence, it is assumed the task 3 is being executed. この状態でタイマー割込みが、タスク切り換えを要求するイベントとして発生した場合、CPU4は、割込み処理においてタスク3 If the timer interrupt in this state, has occurred as an event that requests task switching, CPU 4, the task 3 in the interrupt processing
の戻りPC及びPSWの退避、レジスタセットの切り換え、タスク1のPSW及び戻りPCの復帰(図5のステップ501〜503)をすることにより、タスク3からタスク1に切り換える。 Return PC and saving of PSW, switching of the register set, by the return of the PSW and the return PC task 1 (step 501 to 503 in FIG. 5), switching from Task 3 in task 1.

【0052】転送部5は、レジスタセットの切り換えと同時に起動され、CPU4のタスク1実行中に内部バス418、メモリバス419の空きサイクルを利用して、 [0052] Transfer unit 5 is started simultaneously with the switching of the register set, the internal bus 418 in task 1 executes the CPU 4, by utilizing a free cycle of the memory bus 419,
図3および図5に示したように、タスク3のコンテキストの退避処理と、タスク4のコンテキスト復帰処理とを行う。 As shown in FIGS. 3 and 5, carried out a process of saving the context of the task 3, a context recovery processing tasks 4. 以上説明してきたように本発明のマイクロコンピュータによれば、CPU4は、戻りPC及びPSWの退避・復帰と、レジスタセットの切り換えを行うだけでタスクを切り換えることができるので、タスク切り換えによるCPUのオーバーヘッドが極めて少なく、高速なタスク切り換えを実現する。 According to the microcomputer of the present invention as has been described above, CPU 4 includes a save and restore of the return PC and PSW, since only it is possible to switch the task to switch the register set, the CPU by the task switching overhead but very few, to achieve high-speed task switching. しかも、タスク切り換えに必要なハードウェア構成は、レジスタセットを1つ分と転送部を追加するだけなので、より小さいハードウェア規模で実現できるという利点がある。 Moreover, the hardware configuration required task switching, because the register set to one minute only adding a transfer unit, can be advantageously implemented in a smaller hardware scale. この点、特に組み込み用途の1チップマイクロコンピュータに適している。 This point is particularly suitable for one-chip microcomputer of embedded applications.

【0053】また転送部5は、CPU4のタスク実行中に内部バス及びメモリバスの空きサイクルを利用してコンテキストの退避・復帰を行うので、CPUのタスク実行を全く妨げないので、CPUの処理能力を最大限に活用することができる。 [0053] The transfer unit 5, since the use to save and restore the context of free cycle of the internal bus and the memory bus during execution of the task CPU 4, does not at all interfere with the task execution of the CPU, CPU processing capacity it is possible to take full advantage of. さらに、2つのレジスタセットを交互にタスクに割当てるので、CPUが実行するタスク数に制限がない。 Further, since it allocated to the task two register sets alternately, there is no limit to the number of tasks performed by the CPU. このタスク数は、コンテキスト退避領域を設けることが前提なので、メモリ容量の許す限りタスク数を増やすことができる。 The task number, since it is prerequisite to provide a context save area, it is possible to increase the number of tasks as long as allowed by memory capacity.

【0054】また、タスクスケジュールテーブル2内に同一タスクを複数記述するだけで、タスクのCPU占有時間の制御を容易にすることができる。 [0054] Also, only a plurality describe the same tasks in the task schedule table 2, it is possible to facilitate the control of the CPU occupation time of the task. 例えば、図3の例ではタスク1は、テーブル内の2箇所に記述されるだけで、他のタスク2、3、4の2倍の占有時間(40 For example, task 1 in the example of FIG. 3, only be described in two places in the table, twice the time occupied by other tasks 2,3,4 (40
%)を確保している。 %) Has secured. なお、上記実施例では、タスク切り換えを要求するイベントを、周期200mSのタイマー割込とした。 In the above embodiment, an event that requires the task switching, and a timer interruption period 200 mS. イベント周期は、転送部5がCPU4のタスク実行の背後でバスの空きサイクルを利用してコンテキストの転送(退避・復帰)を行っているので、タスク実行においてバスの空サイクル数が十分生じるだけの時間を確保する必要がある。 Event period, since the transfer unit 5 is performing uses available cycle of the bus behind the task execution of CPU4 in the context of the transfer (saving and restoring) of the bus in the task execution empty cycles is sufficiently generated by the it is necessary to secure a time. 本実施例の構成ではイベント周期として数百μS〜数mS以上が望ましい。 Several hundred μS~ number mS or as an event cycle in the configuration of this embodiment is desirable.

【0055】また、上記実施例では、イベントをタイマー割込としたが、これ以外にもタスクスイッチ命令、特定ポート(シリアルポートなど)の割り込み等であってもよい。 [0055] In the above embodiment, although the timer interrupt events, even task switch instruction other than this, it may be a interruption of Specified port (such as a serial port). 上記実施例では、図3に示したようにタスク退避領域をSP退避領域とコンテキスト退避領域とに分けて構成したが、1つの領域にまとめてもよい。 In the above embodiment, the task save area as shown in FIG. 3 were organized into the SP save area and context save area, they may be combined into one region. また、タスクスケジュールテーブル2にはタスク毎にSP退避領域のアドレスを格納するよう構成したが、タスク番号を格納する構成としてもよい。 Although the task schedule table 2 is configured to store the address of the SP save area for each task may be configured to store the task number. この場合、タスク番号に対応するSP退避領域のアドレスを求めるためのテーブルを設ければよい。 In this case, it may be provided a table for obtaining the address of the SP save area corresponding to the task number.

【0056】図8は、本発明の他の実施例におけるマイクロコンピュータの詳細な構成を占めずブロック図である。 [0056] Figure 8 is a block diagram not occupy a detailed configuration of a microcomputer according to another embodiment of the present invention. 同図の構成は、図2に対してクロック供給部421 Arrangement of the figure, the clock supply unit 421 with respect to FIG. 2
の代わりにクロック供給部422が設けられている点と、停止回路511が追加されている点のみが異なる。 And that a clock supply unit 422 is provided instead of only in the stop circuit 511 is added.
これらの点以外は先の実施例と同じなので異なる点のみを説明ずる。 These except the same as the previous embodiment, and only different points described sly.

【0057】クロック供給部422は、CPU4および転送部5に動作クロックを供給する点は同じであるが、 [0057] The clock supply unit 422 is the point of supplying the operating clock to the CPU4 and the transfer unit 5 is the same,
CPU4に対しては停止部511の指示に従って動作クロックの供給を停止する点が異なる。 For CPU4 different points of stopping the supply of the operation clock in accordance with an instruction of the stop 511. 停止部511は、 Stop unit 511,
転送部5の転送動作中に、タスク切り換えを要求するイベントが発生した場合に、転送動作が終了するまでの間クロック供給部422によるCPU4へのクロック供給を停止する。 During transfer operation of the transfer unit 5, when an event that requires the task switching has occurred, transfer operation stops the clock supply to the CPU4 by between clock supply unit 422 to the end. 具体的には、転送部5が転送動作中であることを示す転送中フラグを内部に有し、退避開始時点でセットし、復帰終了時点でリセットする。 Specifically, the transfer unit 5 has therein a transfer flag indicating that it is a transfer operation, set by retracting the beginning, and resets at the return end. また、停止部511は、前記イベントを表すタイマー割り込み信号がアクティブで、かつ、フラグがセットされていれば、クロック供給部422にCPU4への動作クロック供給を停止するよう指示する。 Further, stop 511, an active timer interrupt signal representing the event, and, if the flag is set, instructs the clock supply unit 422 stops the operation clock supply to the CPU 4. その後フラグがリセットされた時点で、前記停止指示を解除する。 When the subsequent flag is reset, it releases the stop instruction.

【0058】以上のように構成された本実施例のマイクロコンピュータの動作を以下説明する。 [0058] above-configured the operation of the microcomputer of this embodiment will be described below. 転送部5により退避・復帰動作は先の実施例と全く同じである。 Save and restore operation by the transfer unit 5 is exactly the same as the previous embodiment. この退避・復帰動作中に、タスク切り換えを要求するタイマー割込みが発生したものとする。 During this save and restore operations, it is assumed that the timer interrupt requesting task switching occurs. この場合、停止部511 In this case, the stop 511
の指示によってクロック供給部422がCPU4への動作クロックの供給を停止する。 Clock supply unit 422 according to an instruction to stop the supply of the operation clock to the CPU 4. これによりCPU4は、 This CPU4 is,
その動作を停止する。 To stop its operation. 転送部5への動作クロックは供給されているので、復帰動作の完了後には、前記フラグがリセットされる。 Since the operation clock is supplied to the transfer unit 5, after completion of the return operation, the flag is reset. これにより停止部511は、前記停止指示を解除するので、CPU4によるタスク切り換えおよびタスク実行の動作が再開される。 Thus stop 511, so cancels the stop instruction, the operation of the task switching and task execution by CPU4 is resumed.

【0059】以上のように本実施例では、転送部5による転送動作が終了しないうちに、タスク切り換えを要求するイベントが発生した場合には、CPU4の動作を止めて転送を完了させてからCPU4の動作を再開させる。 [0059] In this embodiment as described above, while the transfer operation by the transfer portion 5 is not completed, since when an event requesting task switching occurs, to complete the transfer to stop the operation of the CPU 4 CPU 4 to resume the operation. これにより、転送部5の転送時間がイベント発生間隔よりも短い場合に、適切にタスク切り換えを実行することができる。 This makes it possible to transfer time of the transfer unit 5 is shorter than the event generation interval, to perform the appropriate task switching. 例えば、イベントが周期的な割込みではなく不定期に発生する割込みである場合や、内部バス4 For example, if the event is an interrupt that occurs irregularly rather than periodic interrupts or internal bus 4
18、メモリバス419の空きサイクルがほとんど発生しないようなタスク(メモリデータの転送が大部分であるようなタスク)が存在する場合に、動作が停止する分だけCPU4の処理能力が低くなるが、適切にタスク切り換えを実行することができる。 18, if such free cycle of the memory bus 419 is hardly generated task (tasks such as memory data transfer is most) exist, but an amount corresponding CPU4 of processing power operation is stopped is lower, it is possible to appropriately execute the task switching.

【0060】 [0060]

【発明の効果】以上説明したように、請求項1の発明によれば、レジスタセットを1つ分と、転送手段をハードウェアとして追加するだけで、高速なタスク切り換えを実現することができるという効果がある。 As described in the foregoing, according to the first aspect of the invention, minute one register set, by simply adding transfer means as hardware, that it is possible to realize high-speed task switching effective. 特に組み込み用途のマイクロコンピュータにおいては、ハードウェア規模の制約があっても、タスクの高速切り換えを実現できるので、組み込み先の装置におけるリアルタイム制御を可能にする。 Particularly in the microcomputer of embedded applications, even if the hardware scale limitations, it is possible to realize a high-speed task switching, allows for real-time control in embedded destination device.

【0061】請求項2の発明によれば、請求項1の効果に加えて、タスク実行を全く妨げることなく、退避と復帰を実現できるという効果がある。 [0061] According to the second aspect of the invention, in addition to the effect of claim 1, without interfering with the task execution at all, there is an effect that can realize the saving and restoring. 請求項3の発明によれば、レジスタセットを1つ分と、転送手段をハードウェアとして追加するだけで、高速なタスク切り換えを実現することができるという効果がある。 According to the invention of claim 3, minutes one register set, by simply adding transfer means as hardware, there is an effect that it is possible to realize a high-speed task switching. 特に組み込み用途のマイクロコンピュータにおいては、ハードウェア規模の制約があっても、タスクの高速切り換えを実現できるので、組み込み先の装置におけるリアルタイム制御を可能にする。 Particularly in the microcomputer of embedded applications, even if the hardware scale limitations, it is possible to realize a high-speed task switching, allows for real-time control in embedded destination device.

【0062】請求項4の発明によれば、請求項3の効果に加えて、タスクの実行順序として1つのタスクを複数指定するだけで、中央演算処理手段におけるタスクの占有率を簡単に制御できるという効果がある。 [0062] According to the invention of claim 4, in addition to the effect of claim 3, only specify multiple single task as the execution order of tasks can be easily controlled occupancy task in the central processing unit there is an effect that. 請求項5の発明によれば、請求項3又は4の効果に加えて、タスク実行を全く妨げることなく、退避と復帰を実現できるという効果がある。 According to the invention of claim 5, in addition to the effect of claim 3 or 4, without interfering with the task execution at all, there is an effect that can realize the saving and restoring.

【0063】請求項6の発明によれば、請求項3、4又は5の効果に加えて、退避・復帰に要するよりも短い周期でタスク切り換えの要求が発生しても適切にタスクを切り換えることができるので、タスク切り換え周期を幅広く設定することができる。 [0063] According to the invention of claim 6, in addition to the effect of claim 3, 4 or 5, demand for task switching in a shorter period than required to save and return occurs to properly switch the task since it is, it can be widely set a task switching period.

【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS

【図1】本発明の実施例におけるマイクロコンピュータの主要な概略構成を示すブロック図である。 Is a block diagram showing a main schematic configuration of a microcomputer in the embodiment of the present invention; FIG.

【図2】同実施例におけるマイクロコンピュータのより詳細な構成を示すブロック図である。 Is a block diagram showing a more detailed configuration of a microcomputer in FIG. 2 the embodiment.

【図3】同実施例におけるタスクスケジュールテーブル、タスク用退避領域のメモリマップの一例を示す。 [3] Task schedule table in accordance with the exemplary embodiment, an example of a memory map of a task for save area.

【図4】同実施例における転送制御部501の機能的な構成を示すブロック図である。 4 is a block diagram showing a functional configuration of a transfer control unit 501 in the same embodiment.

【図5】同実施例におけるCPU4によるタスク切り換え処理、及び、転送部5による詳細なコンテキスト退避・復帰処理を表すフローチャートである。 [5] task switching processing by CPU4 in the same embodiment, and is a flowchart illustrating a detailed context save and restore processing by the transfer unit 5.

【図6】第1の従来技術におけるマルチタスク機能を有するコンピュータの説明図である。 6 is an explanatory view of a computer having a multi-task function in the first prior art.

【図7】第2の従来技術におけるマルチタスク機能を有するコンピュータの説明図である。 7 is an explanatory view of a computer having a multi-task function in the second prior art.

【図8】本発明の他の実施例におけるマイクロコンピュータの詳細は構成を示すブロック図である。 Details of the microcomputer according to another embodiment of the present invention; FIG is a block diagram showing a configuration.

【符号の説明】 DESCRIPTION OF SYMBOLS

1 メモリ 2 タスクスケジュールテーブル 3 レジスタファイル 4 CPU 5 転送部 51 内部バス空き検出回路 52 メモリバス空き検出回路 53 レジスタ読み出し制御部 54 メモリ書き込み制御部 55 メモリ読み出し制御部 56 レジスタ書き込み制御部 422 クロック供給部 501 転送制御部 502 PLA 503 マイクロ命令レジスタ 504 TSTB 504 ステップ 505 TSTP 506 DOAB 507 DSTB 508 DLDB 509 加算器 510 定数発生器 511 停止部 1 memory 2 task schedule table 3 register file 4 CPU 5 transfer unit 51 internal bus idle detection circuit 52 memory bus idle detection circuit 53 register read controller 54 memory write controller 55 memory read control unit 56 register write controller 422 clock supply unit 501 transfer controller 502 PLA 503 microinstruction register 504 TSTB 504 step 505 TSTP 506 DOAB 507 DSTB 508 DLDB 509 adder 510 constant generator 511 stops

フロントページの続き (72)発明者 松本 政彦 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 Of the front page Continued (72) inventor Matsumoto, Masahiko Osaka Prefecture Kadoma Oaza Kadoma 1006 address Matsushita Electric Industrial Co., Ltd. in

Claims (6)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】 複数のタスクを順に切り換えながら実行するマイクロコンピュータであって、 同一のレジスタ構成をもち、タスク実行に一方が使用される2つのレジスタセットと、 タスク切り換えと同時に、タスク実行に使用されるレジスタセットを他方に切り換える切り換え手段と、 レジスタセットに接続された内部バス、およびメモリに接続されたメモリバスそれぞれの空サイクルを検出する検出手段と、 タスク切り換え毎に、検出されたバスの空サイクルを利用して、タスク実行に使用されていないレジスタセットのデータをメモリに退避し、次の切り換え後に実行すべきタスク用のデータをメモリから当該レジスタセットに復帰する転送手段とを備えることを特徴とするマイクロコンピュータ。 1. A microcomputer that executes while switching the plurality of tasks in sequence, have the same register configuration, and two register set one to the task execution is used, task switching at the same time, use the task execution and switching means for switching the register set to be on the other, connected to the internal bus in the register set, and a detection means for detecting the connected memory bus each empty cycles in the memory, each task switching, the detected bus by utilizing the empty cycle, further comprising a transfer means for saving the data of the register set that is not used for task execution in memory and returns the data for the task to be executed after the next changeover from the memory to the register set the microcomputer according to claim.
  2. 【請求項2】 前記転送手段は、 内部バスの空サイクルにおいて、タスク実行に使用されていないレジスタセットのレジスタデータを読み出すレジスタ読み出し手段と、 メモリバスの空サイクルにおいて、レジスタ読み出し手段により読み出されたデータをメモリに書き込むメモリ書き込み手段と、 メモリ書き込み手段による書き込み完了後、メモリバスの空サイクルにおいて、次のタスク用のデータをメモリから読み出すメモリ読み出し手段と、 内部バスの空サイクルにおいて、メモリ読み出し手段により読み出されたデータを、タスク実行に使用されていないレジスタセットに書き込むレジスタ書き込み手段とを有することを特徴とする請求項1記載のマイクロコンピュータ。 Wherein said transfer means, in an empty cycle of the internal bus, a register reading means for reading the register data of the register set that is not used for task execution, the empty cycle of the memory bus, read out by the register read means a memory write means for writing data into the memory has, after completion write by the memory writing means, in an empty cycle of the memory bus, and a memory reading means for reading the data for the next task from the memory, in empty cycle of the internal bus, a memory read the microcomputer according to claim 1, wherein the read data, and having a register write means for writing the register set that is not used for the task performed by means.
  3. 【請求項3】 複数のタスクを順に切り換えながら実行するマイクロコンピュータであって、 複数のタスクプログラムを記憶し、各タスクに対応するデータ退避領域を有するメモリと、 複数のタスクの実行順序を記憶するテーブル手段と、 同一のレジスタ構成をもつ2つのレジスタセットと、 テーブル手段の実行順序に従ってタスクを切り換え、レジスタセットの一方を使用してタスクを実行する中央演算処理手段と、 タスク切り換え毎に、中央演算処理手段のタスク実行に使用されるレジスタセットを交互に切り換える切り換え手段と、 レジスタセットに接続された内部バス、およびメモリに接続されたメモリバスそれぞれの空サイクルを検出する検出手段と、 タスク切り換え毎に、検出されたバスの空サイクルを利用して、タスク実 3. A microcomputer that executes while switching the plurality of tasks sequentially stores a plurality of task programs, and stores the memory, the execution order of a plurality of tasks having a data save area corresponding to each task and table means, and two register sets with the same register configuration, switching tasks in accordance with the execution order of the table means, a central processing unit to perform a task using one register set, each task switching, the central and switching means for switching the register set used for the task execution of computing means alternately connected to internal bus register set, and a detection means for detecting the connected memory bus each empty cycles in the memory, the task switching every, using the detected empty cycle of the bus, the task real に使用されていないレジスタセットのデータを、切り換え前のタスクに対応するデータ退避領域に退避する退避手段と、 退避手段による退避後、検出されたバスの空サイクルを利用して、中央演算処理手段による実行中タスクの次のタスクに対応するデータ退避領域のデータを、 タスク実行に使用されていないレジスタセットに復帰させる復帰手段とを備えることを特徴とするマイクロコンピュータ。 The register set of data that has not been used, the saving means for saving the data saving area corresponding to the switching previous task, after evacuation by retreating means, using the detected air-fuel cycle of a bus, a central processing unit microcomputer, characterized in that it comprises the data in the data saving area corresponding to the next task in the executing task, and returning means for returning the register set that is not used for the task execution by.
  4. 【請求項4】前記メモリは、各タスク毎のスタック領域内に前記データ退避領域を有し、 前記テーブル手段は、タスクの実行順序と、各タスクに対応するスタックポインタの内容とを記憶することを特徴とする請求項3記載のマイクロコンピュータ。 Wherein said memory has the data save area in the stack area for each task, the table means includes storing the execution order of tasks, the contents of the stack pointer corresponding to each task the microcomputer of claim 3, wherein.
  5. 【請求項5】 前記退避手段は、 内部バスの空サイクルにおいて、タスク実行に使用されていないレジスタセットのレジスタデータを順に読み出すレジスタ読み出し手段と、 メモリバスの空サイクルにおいて、レジスタ読み出し手段により読み出されたデータを順に、切り換え前のタスクに対応するデータ退避領域に書き込むメモリ書き込み手段とを有し、 前記復帰手段は、 メモリ書き込み手段による書き込み完了後、メモリバスの空サイクルにおいて、中央演算処理手段による実行中タスクの次のタスクに対応するデータ退避領域のデータを順にメモリから読み出すメモリ読み出し手段と、 内部バスの空サイクルにおいて、メモリ読み出し手段により読み出されたデータを、タスク実行に使用されていないレジスタセットに書き込むレジ Wherein said retracting means is in the empty cycle of the internal bus, a register reading means for reading the register data of the register set that is not used for task execution in the order, in an empty cycle of the memory bus, read out by the register read means data sequentially to, and a memory writing means for writing the data saving area corresponding to the switching previous task, the return means after completion write by the memory writing means, in an empty cycle of the memory bus, a central processing unit a memory reading means for sequentially reading from the memory the data of the data save area corresponding to the next task in the running task by, in an empty cycle of the internal bus, the data read by the memory reading means, has been used in the task execution register to be written to not register set タ書き込み手段とを有することを特徴とする請求項3又は4記載のマイクロコンピュータ。 Claim 3 or 4 microcomputer wherein a and a data writing means.
  6. 【請求項6】 前記マイクロコンピュータは、さらに、 中央演算処理手段に動作クロックを供給するクロック供給手段と、 復帰手段による復帰動作中に、中央演算処理手段によりタスク切り換えが発生した場合に、当該復帰動作が完了するまでの間クロック供給手段の動作クロックの供給を停止する停止手段とを備えることを特徴とする請求項3、4又は5記載のマイクロコンピュータ。 Wherein said microcomputer further includes a clock supplying means for supplying an operation clock to the central processing unit, during the return movement by the return means, when the task switching has occurred by the central processing unit, the return It claims 3, 4 or 5 microcomputer, wherein a and a stopping means for stopping the supply of the operation clock between clock supply means until the operation is complete.
JP16644395A 1995-06-30 1995-06-30 Micro computer Pending JPH0916409A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16644395A JPH0916409A (en) 1995-06-30 1995-06-30 Micro computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16644395A JPH0916409A (en) 1995-06-30 1995-06-30 Micro computer

Publications (1)

Publication Number Publication Date
JPH0916409A true JPH0916409A (en) 1997-01-17

Family

ID=15831507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16644395A Pending JPH0916409A (en) 1995-06-30 1995-06-30 Micro computer

Country Status (1)

Country Link
JP (1) JPH0916409A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003512671A (en) * 1999-10-20 2003-04-02 ソニー エレクトロニクス インク How to support the isochronous process using a parallel context switching
JP2007087108A (en) * 2005-09-22 2007-04-05 Fujitsu Ltd Arithmetic processing unit, information processor, and control method of register file
WO2008023426A1 (en) * 2006-08-24 2008-02-28 Netcleus Systems Corporation Task processing device
US7386707B2 (en) 2002-01-09 2008-06-10 Matsushita Electric Industrial Co., Ltd. Processor and program execution method capable of efficient program execution
JP2008234075A (en) * 2007-03-16 2008-10-02 Fujitsu Ltd Arithmetic processing unit
US7600101B2 (en) 2005-01-13 2009-10-06 Hewlett-Packard Development Company, L.P. Multithreaded hardware systems and methods
US7735087B2 (en) 2003-03-13 2010-06-08 Panasonic Corporation Task switching apparatus, method and program
CN102436393A (en) * 2006-08-24 2012-05-02 科尼龙硅公司 Task treatment device
US8327379B2 (en) 2006-08-24 2012-12-04 Kernelon Silicon Inc. Method for switching a selected task to be executed according with an output from task selecting circuit
KR101353065B1 (en) * 2011-11-11 2014-01-20 재단법인대구경북과학기술원 Task Management Apparatus and Method used Task Scheduling Table of Real-time Operating System

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003512671A (en) * 1999-10-20 2003-04-02 ソニー エレクトロニクス インク How to support the isochronous process using a parallel context switching
US7921281B2 (en) 2002-01-09 2011-04-05 Panasonic Corporation Processor and program execution method capable of efficient program execution
US8719827B2 (en) 2002-01-09 2014-05-06 Panasonic Corporation Processor and program execution method capable of efficient program execution
US8006076B2 (en) 2002-01-09 2011-08-23 Panasonic Corporation Processor and program execution method capable of efficient program execution
US7386707B2 (en) 2002-01-09 2008-06-10 Matsushita Electric Industrial Co., Ltd. Processor and program execution method capable of efficient program execution
US7930520B2 (en) 2002-01-09 2011-04-19 Panasonic Corporation Processor and program execution method capable of efficient program execution
US9823946B2 (en) 2002-01-09 2017-11-21 Socionext Inc. Processor and program execution method capable of efficient program execution
US7735087B2 (en) 2003-03-13 2010-06-08 Panasonic Corporation Task switching apparatus, method and program
US8276156B2 (en) 2003-03-13 2012-09-25 Panasonic Corporation Task switching based on assigned time slot
US7950016B2 (en) 2003-03-13 2011-05-24 Panasonic Corporation Apparatus for switching the task to be completed in a processor by switching to the task assigned time slot
US7600101B2 (en) 2005-01-13 2009-10-06 Hewlett-Packard Development Company, L.P. Multithreaded hardware systems and methods
JP2007087108A (en) * 2005-09-22 2007-04-05 Fujitsu Ltd Arithmetic processing unit, information processor, and control method of register file
WO2008023426A1 (en) * 2006-08-24 2008-02-28 Netcleus Systems Corporation Task processing device
CN102436393A (en) * 2006-08-24 2012-05-02 科尼龙硅公司 Task treatment device
US8327379B2 (en) 2006-08-24 2012-12-04 Kernelon Silicon Inc. Method for switching a selected task to be executed according with an output from task selecting circuit
US9342350B2 (en) 2006-08-24 2016-05-17 Renesas Electronics Corporation System for selecting a task to be executed according to an output from a task control circuit
US9753729B2 (en) 2006-08-24 2017-09-05 Renesas Electronics Corporation System for selecting a task to be executed according to an output from a task control circuit
JP2008234075A (en) * 2007-03-16 2008-10-02 Fujitsu Ltd Arithmetic processing unit
KR101353065B1 (en) * 2011-11-11 2014-01-20 재단법인대구경북과학기술원 Task Management Apparatus and Method used Task Scheduling Table of Real-time Operating System

Similar Documents

Publication Publication Date Title
US6408325B1 (en) Context switching technique for processors with large register files
EP0747816B1 (en) Method and system for high performance multithread operation in a data processing system
US5953741A (en) Stack cache for stack-based processor and method thereof
US6330658B1 (en) Master/slave multi-processor arrangement and method thereof
US6314515B1 (en) Resetting multiple processors in a computer system
JP3546678B2 (en) Multi-os how to configure
CN1101026C (en) Scalable system interrupt structure for multiprocessing system
EP0732659B1 (en) Controlling (n+i) I/O channels with (n) data managers in a homogeneous software programming environment
CA2299348C (en) Method and apparatus for selecting thread switch events in a multithreaded processor
KR100368350B1 (en) Controller for multiple instruction thread processors
US4987537A (en) Computer capable of accessing a memory by supplying an address having a length shorter than that of a required address for the memory
US5161226A (en) Microprocessor inverse processor state usage
US5696989A (en) Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation
US4090238A (en) Priority vectored interrupt using direct memory access
CN1092360C (en) Method and apparatus for decreasing thread switch latency in multithread processor
US4553202A (en) User controlled dialog resource switching in a multi-tasking word processor
US20050132363A1 (en) Method, apparatus and system for optimizing context switching between virtual machines
US6223208B1 (en) Moving data in and out of processor units using idle register/storage functional units
US5557766A (en) High-speed processor for handling multiple interrupts utilizing an exclusive-use bus and current and previous bank pointers to specify a return bank
CN101702134B (en) Mechanism to schedule threads on os-sequestered without operating system intervention
EP0537721A2 (en) Hardware-configured operating system kernel for a multitasking processor
US5535417A (en) On-chip DMA controller with host computer interface employing boot sequencing and address generation schemes
US6401155B1 (en) Interrupt/software-controlled thread processing
US4181938A (en) Processor device
US20040172631A1 (en) Concurrent-multitasking processor