JPH10207717A - Microcomputer - Google Patents

Microcomputer

Info

Publication number
JPH10207717A
JPH10207717A JP600797A JP600797A JPH10207717A JP H10207717 A JPH10207717 A JP H10207717A JP 600797 A JP600797 A JP 600797A JP 600797 A JP600797 A JP 600797A JP H10207717 A JPH10207717 A JP H10207717A
Authority
JP
Japan
Prior art keywords
task
register
memory
data
means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP600797A
Other languages
Japanese (ja)
Other versions
JP3605978B2 (en
Inventor
Toshimichi Matsuzaki
Keisuke Tanaka
敏道 松崎
啓介 田中
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 JP00600797A priority Critical patent/JP3605978B2/en
Publication of JPH10207717A publication Critical patent/JPH10207717A/en
Application granted granted Critical
Publication of JP3605978B2 publication Critical patent/JP3605978B2/en
Anticipated expiration legal-status Critical
Application status is Expired - Fee Related legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To attain high speed task switching.
SOLUTION: A sequencer 55 controls the transfer of data between a context saving memory 3 and a data memory and a register file 1 according to the contents of a present task number register 60, next task number register 57, and previous task number register 61 by a start signal from a CPU, and saves/ restores a context. A new task to be switched at the time of requesting task switching is decided by a task permission flag 56 and the present task number register. The register file is constituted of two pairs of register sets in the same constitution, and switched by a register set A using flag 63. A register writing control part writes a context in the register set to be used by the next task, and a register reading control part 68 reads the register set to be used by the present task.
COPYRIGHT: (C)1998,JPO

Description

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

【0001】 [0001]

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

【0002】 [0002]

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

【0003】図14は、第1の従来例におけるマルチタスク機能を有するマイクロコンピュータの説明図である。 [0003] Figure 14 is an explanatory diagram of a microcomputer having a multi-task function in the first conventional example. 同図において、CPU10は、演算部11とレジスタセット12からなる。 In the figure, CPU 10 is an operational unit 11 and the register set 12.

【0004】演算部11は、タスクを1つずつ実行し、 [0004] calculation unit 11 executes one task,
レジスタセット12は、タスク実行に必要なデータを保持する。 Register set 12 holds data required for the task execution.

【0005】メモリ13は、各タスク毎にコンテキスト(レジスタセットのデータ、PCの内容、PSWの内容等のタスクの実行によって変化するタスク固有のデータ)を退避する領域であるコンテキストブロック14を有する。 [0005] Memory 13 includes context for each task context block 14 is an area for saving (data register set, contents of the PC, task-specific data in accordance with execution of the task, such as the contents of the PSW). 同図では、コンテキストブロック14中にタスク1〜3用のコンテキス退避領域が示されている。 In the figure, the context save area for the task 1-3 is shown in the context block 14.

【0006】第1の従来例におけるタスクはソフトウェア(OS)によって管理される。 [0006] Task in the first conventional example is managed by the software (OS). 例えば、タスク1からタスク2に切り換わる場合、OSは、タスク切り換えを示すイベント(タイマ割込み等)を受け付けると、まずCPU10からメモリ13にタスク1のコンテキストを退避し、次にメモリ13からCPU10にタスク2のコンテキストを復帰してからタスク2の実行を開始する。 For example, when switching from Task 1 to Task 2, OS accepts an event indicating task switching (timer interruption or the like), first from CPU10 in the memory 13 saves the context of the task 1, then from the memory 13 to the CPU10 and return the context of the task 2 starts executing the task 2 from.

【0007】上記のように、第1の従来例では、ソフトウェア(OS)によりマルチタスクを実現しているので、ハードウェア規模が小さくて済むという利点がある。 [0007] As described above, in the first conventional example, since the realized multitasking by software (OS), there is an advantage that only a small hardware scale.

【0008】図15は、第2の従来例におけるマルチタスク機能を有するマイクロコンピュータの説明図である。 [0008] Figure 15 is an explanatory diagram of a microcomputer having a multi-task function in the second conventional example. 同図においてCPU20は、演算部21、レジスタファイル22、レジスタセット切り換え部23、制御部24とからなる。 CPU20 In the figure, the arithmetic unit 21, register file 22, register set switching unit 23, and a control unit 24.

【0009】演算部21は、タスクを1つずつ実行し、 [0009] calculation unit 21 executes one task,
レジスタファイル22は、タスクの実行に必要なデータを保持する複数のレジスタセットからなる。 Register file 22 is comprised of a plurality of register set for holding data necessary to perform the task.

【0010】レジスタセット切り換え部23は、現在実行中のタスクに対応するレジスタセットを有効にする。 [0010] The 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. 制御部24は、タスクの切り換えを制御する。 Control unit 24 controls the switching of tasks.

【0011】メモリ25は、レジスタセットのデータを除くコンテキストの退避領域を有する。 [0011] Memory 25 includes a save area of ​​the contexts except for data of the register set. この第2の従来例におけるタスクはハードウェアによって管理される。 Task in this second conventional example is managed by the hardware.
例えば、タスク1からタスク2に切り換える場合、制御部24は、タスク切り換えを指示するイベント(タイマ割込み等)を受け付けると、レジスタセット切り換え部23にタスク2に対応するレジスタセットを有効にするように指示すると共に、演算部21のPCの内容、PS For example, when switching from Task 1 to task 2, the control unit 24 accepts the event (a timer interrupt or the like) for instructing the task switching, the register set switching unit 23 to enable the register set corresponding to the task 2 It instructs the contents of the PC operation unit 21, PS
Wの内容等をメモリ25に退避し、タスク2のPCの内容、PSWの内容等を演算部21に復帰する。 W content or the like and saved in the memory 25, and returns the contents of the task 2 PC, the contents of the PSW, such as the calculation unit 21. その後、 after that,
演算部21は、有効なレジスタセット2を用いてタスク2を実行する。 Calculation unit 21 executes the task 2 using the valid register set 2.

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

【0013】 [0013]

【発明が解決しようとする課題】しかしながら、上記従来例によれば、組み込み用途のマイクロコンピュータにおけるマルチタスク管理には適していないという問題があった。 [0007] However, according to the above prior art, there is a problem that is not suitable for multi-task management in a microcomputer of embedded applications.

【0014】第1の従来例によれば、タスク切り換えに際してコンテキストの退避および復帰をソフトウェアによって実現するので切り換え速度が遅く、リアルタイム性を要求される制御の組み込み用途のマイクロコンピュータには適していない。 According to a first conventional example, slow switching speed because realized by software saving and restoring of context when task switching is not suitable for a microcomputer of the control of embedded applications that require real-time. また、第2の従来例によれば、 Further, according to the second conventional example,
タスク数と同数のレジスタセットを必要とし、しかもタスク切り換えをハードウェアで実現するので制御部のハードウェア規模が大きくなる。 Requiring tasks as many register sets, moreover hardware scale of the control unit so to realize a task switching by hardware becomes large. その結果コストが高くなり組み込み用途のマイクロコンピュータには適していない。 As a result the cost is high is not suitable for a microcomputer of embedded applications.

【0015】本発明は上記の問題点に鑑み、コストを増大させることなく高速にタスクを切り換えるマイクロコンピュータを提供することを目的としている。 [0015] The present invention is intended to provide a microcomputer for switching the tasks at high speed without causing light of the problems described above, increases the cost.

【0016】 [0016]

【課題を解決するための手段】上記課題を解決するため、請求項1の発明は、複数のタスクを順に切り換えながら実行するマイクロコンピュータであって、同一のレジスタ構成で、タスクの実行に1つが使用される少なくとも2つ以上のレジスタセットと、実行中でないタスクのコンテキストデータを保持する第1のメモリと、CP Means for Solving the Problems] To solve the above problems, the invention of claim 1, a microcomputer that executes while switching the plurality of tasks in sequence, in the same register configuration, one to perform the task and at least two register sets are used, a first memory for holding context data of the task is not running, CP
Uがデータ処理に使用する第2のメモリと、前記第1のメモリおよび前記第2のメモリから次に実行するタスクのコンテキストデータをレジスタセットに復帰した時点で、レジスタセットを切り換えるレジスタ切り換え手段と、前記レジスタセットと前記第1のメモリおよび前記第2のメモリとに接続され、タスク切り換え時にタスクのコンテキストデータの一部を前記第2のメモリに転送し、切り換えられる前に使用していたレジスタセットの内容を新規タスクの実行中に前記第1のメモリに退避する転送手段とを有する。 A second memory U is used for data processing, when it returns the context data of the task register set to be executed next from the first memory and the second memory, and a register switching means for switching the register set , which is connected register set and the said first memory and said second memory, to transfer a part of the task context data when the task is switched to the second memory, it has been used before switched register the contents of the set and a transfer means for retracting said first memory during the execution of the new task.

【0017】請求項2の発明は、請求項1において前記転送手段が、CPUからの起動要求により動作を開始するシーケンサと、タスクが使用していたレジスタセットのデータを読み出す読み出し手段と、レジスタ読み出し手段により読み出したデータを前記第1のメモリに書き込む書き込み手段と、次に実行するタスクのコンテキストデータを前記第1のメモリから読み出すメモリ読み出し手段と、メモリ読み出し手段により読み出したデータを次に実行するタスクが使用するレジスタセットに書き込むレジスタ書き込み手段と、前記シーケンサに接続され、前記メモリ書き込み手段または前記メモリ読み出し手段がアクセスするアドレスを指定する第1のアドレスレジスタと、前記シーケンサに接続され、前記第2のメモリのアドレスを [0017] The invention of claim 2, wherein said transfer means according to claim 1, and a sequencer for starting the operation by the activation request from the CPU, a reading means for reading the data of the register set task was used, register read and writing means for writing the read data by means to the first memory, and a memory reading means for reading the context data of the task from the first memory to be executed next, and then executes the read data by the memory reading means a register writing means for writing the register set used by the task, connected to said sequencer, said a first address register for memory writing means or said memory reading means specifies an address to be accessed is connected to the sequencer, the second 2 of the address of the memory 定する第2のアドレスレジスタと、 A second address register for a constant,
前記シーケンサに接続され、タスクが使用中のレジスタセットを指定するレジスタセット番号指定手段とを有する。 Which is connected to the sequencer, and a register set number designating means for designating the task register set in use.

【0018】請求項3の発明は、請求項2において前記転送手段が、現在実行中のタスクの番号を指定する現タスク番号レジスタと、次に実行するタスクの番号を指定する次タスク番号レジスタと、前回実行したタスクの番号を指定する前タスク番号レジスタと、前記シーケンサのステートに基づいて、前記現タスク番号レジスタの内容を前記前タスク番号レジスタに転送し、前記次タスク番号レジスタの内容を前記現タスク番号レジスタに転送するタスク番号制御手段とを有する。 [0018] The invention of claim 3, wherein the transfer means according to claim 2, and the current task number register specifies the number of the currently executing task, the next task number register specifies the number of the task to be executed next the a task number register before specifying the number of the task executed previously, on the basis of the sequencer state of the transfer the contents of the current task number register to the prior task number register, the contents of the next task number register and a task number control means for transferring the current task number register.

【0019】請求項4の発明は、請求項1において前記転送手段が、前記レジスタセットと前記第1のメモリとに接続され、かつデータバスを介して前記第2のメモリとに接続される内部バスを有する。 [0019] A fourth aspect of the present invention, interior said transfer means according to claim 1 is connected to said and said register set first memory, and is connected to said second memory via the data bus a bus.

【0020】請求項5の発明は、請求項1において記転送手段が、コンテキストの一部を格納する前記第2のメモリのあらかじめ割り当てられた特定番地を有する。 [0020] The invention of claim 5, serial transfer means according to claim 1, having a specific address assigned in advance of the second memory for storing a part of the context.

【0021】請求項6の発明は、請求項1において前記転送手段が、コンテキストの一部を格納する前記第2のメモリに割り当てられたスタック領域を有する。 [0021] The invention of claim 6, wherein the transfer means according to claim 1 has a stack area allocated to the second memory for storing a part of the context.

【0022】請求項7の発明は、請求項6において前記レジスタセットが、コンテキストを前記第2のメモリのスタック領域に格納後、スタックの最終位置とは異なるアドレスを保持するスタックポインタを有する。 [0022] The invention of claim 7, wherein the register set according to claim 6, after the stored context in the stack area of ​​the second memory, having a stack pointer which holds the address different from the final position of the stack.

【0023】請求項8の発明は、複数のタスクを順に切り換えながら実行するマイクロコンピュータであって、 The invention of claim 8 is a microcomputer that executes while switching the plurality of tasks in sequence,
同一のレジスタ構成で、タスクの実行に1つが使用される少なくとも2つ以上のレジスタセットと、実行中でないタスクのコンテキストデータを保持する第1のメモリと、CPUがデータ処理に使用する第2のメモリと、前記第1のメモリおよび前記第2のメモリから次に実行するタスクのコンテキストデータをレジスタセットに復帰した時点で、レジスタセットを切り換えるレジスタ切り換え手段と、前記レジスタセットと前記第1のメモリおよび前記第2のメモリとに接続され、タスク切り換え時にタスクのコンテキストデータの一部を前記第2のメモリに転送し、切り換えられる前に使用していたレジスタセットの内容を新規タスクの実行中に前記第1のメモリに退避する転送手段と、命令を処理するマイクロ制御手段と、前記マイク In the same register configuration, and at least two register sets is one to perform the tasks used, a first memory for holding context data of the task not running, CPU second used for data processing memory and the first memory and the second then the context data of the task to be executed from the memory when it returns to the register set, the register switching means for switching the register set, the said register set first memory and connected to said second memory, to transfer a part of the task context data when the task is switched to the second memory, the contents of the register set which has been used before switched during the execution of the new task transfer means for retracting said first memory, and a micro control unit for processing instructions, the microphone 制御手段が出力する制御信号と内部のバスとを出力するCPUと、CPU内部にあって、前記マイクロ制御手段によりレジスタセットを内部バスに読み出すレジスタ読み出し手段と、前記CPUの制御信号と内部バスとに接続され、前記CPUと同一のレジスタセットを備える拡張手段と、前記拡張手段が前記CP A CPU for outputting a control signal controlling means outputs and the internal bus, in the interior CPU, a register reading means for reading the register set to the internal bus by the micro-controller, a control signal of the CPU and the internal bus is connected to the expansion means comprising a same register set and the CPU, said expansion means the CP
Uに接続されていることを通知し、前記読み出し手段の動作を停止させる拡張指定手段とを有する。 Signals that are connected to the U, and a expansion designating means for stopping the operation of said reading means.

【0024】請求項9の発明は、請求項8においてCP The invention of claim 9, CP in claim 8
Uはデータを処理するデータパス部とデータパスを制御する制御部とからなり、前記制御部はデータパス部のデータ処理の流れとは垂直方向に配置されてデータパス部および前記拡張部に入力される前記データパスを制御するデータパス制御信号と、データパス部のデータ処理の流れと水平方向に配置されて制御部から出力された後に、前記拡張部に入力される前記拡張部を制御する拡張部制御信号を有する。 U is composed of a control unit for controlling the data path unit and the data path for processing data, the control unit inputs into the extension data path unit and are arranged in a vertical direction to the flow of data processing in the data path unit a data path control signal for controlling the data paths, are arranged in the flow and horizontal data processing of the data path unit after being outputted from the control unit, for controlling the extension to be inputted to the extension with an extension control signal.

【0025】請求項10の発明は、複数のタスクを順に切り換えながら実行するマイクロコンピュータであって、n個のタスクの起動を許可するか禁止するかを示すnビットの第1のフラグを有する。 The invention of claim 10 is a microcomputer that executes while switching the plurality of tasks in sequence, a first flag of n bits indicating whether to permit or inhibit the activation of the n tasks.

【0026】請求項11の発明は、請求項10において、次に実行する予定のタスク番号を示すmビットであってかつ、mをべきとする2のべき乗値が前記第1のフラグの値以下である第2のフラグと、前記第2のフラグに所望のタスク番号を設定することで、前記第1のフラグの該当するビットをセットするタスク許可フラグ制御手段を有する。 The invention of claim 11, in claim 10, and a m-bit following the task number plan to run, exponential value of 2, to the m is less than the value of the first flag has a second flag, the the second flag by setting the desired task number, task permission flag control means for setting the corresponding bit of the first flag is.

【0027】 [0027]

【発明の実施の形態】図1は、本発明の実施例におけるマイクロコンピュータの主要な構成を示すブロック図である。 Figure 1 DETAILED DESCRIPTION OF THE INVENTION is a block diagram showing the main configuration of a microcomputer in the embodiment of the present invention. 実施例のマイクロコンピュータは、レジスタファイル1、CPU2、コンテキスト退避メモリ3、メモリ4、転送部5を有する。 Microcomputer embodiment, the register file 1, CPU 2, the context save memory 3, a memory 4, a transfer unit 5.

【0028】レジスタファイル1は、レジスタセットA [0028] The register file 1, the register set A
(GRA)とレジスタセットB(GAB)とからなる。 It consists (GRA) and the register set B and (GAB).
レジスタセットA、Bはタスク切り換え毎に交互に切り換えられ、常にどちらか一方がCPU2のタスク実行に使用される。 Register Set A, B are switched alternately every task switching, always either is used to perform CPU2 tasks.

【0029】CPU2は、複数のタスクを切り換えながら実行する。 [0029] CPU2 executes while switching a plurality of tasks. CPU2が実行するタスクは、タスク切り換えを指示するイベントが発生する毎に、転送部5のタスク許可フラグに基づいてタスク番号の昇順又は降順に切り換えられる。 Tasks CPU2 performs, every time an event that instructs the task switching occurs, is switched to the ascending or descending order of task number based on the task permission flag of the transfer unit 5. タスク切り換えのイベントは例えば、 Task switching of the event, for example,
周期的なタイマー割込み、シリアル転送割込み、タスク切り換え命令等である。 Periodic timer interrupts, a serial transfer interrupt a task switching instruction and the like.

【0030】コンテキスト退避メモリ3は、CPU2が実行中でないタスクの情報を退避しておくメモリである。 The context save memory 3 is a memory for saved task information CPU2 is not running. タスクの情報はレジスタセットの内容、プロセッサステータスワード(PSW)の内容、プログラムカウンタ(PC)の内容等を含むコンテキストである。 Information of the task is a context that contains the contents of the register set, contents of the processor status word (PSW), the content of a program counter (PC).

【0031】メモリ4は、CPU2がタスクの実行で処理するデータ等を記憶する。 The memory 4 stores data such as CPU2 to process during execution of the task. 転送部5は、タスク切り換えイベントが発生する毎に、CPU2が次に実行するタスクのコンテキストをコンテキスト退避メモリ3から使用中でないレジスタセットに復帰し、レジスタセットを切り換える。 Transfer unit 5, each time a task switching event occurs, return to the register set is not in use the context of the task that CPU2 is then executed from the context save memory 3, switches the register set. 切り換えたレジスタセットを使用してCP Use the switching register set CP
U2が次のタスクを実行中に、切り換える前に使用中であったレジスタセットの内容をコンテキスト退避メモリ3に退避する。 U2 is retracted during the next task, the contents of the register set that was in use before switching to context save memory 3.

【0032】図2は、図1に示したマイクロコンピュータの転送部の内部バスを含むより詳細な構成を示すブロック図である。 [0032] FIG. 2 is a block diagram showing a detailed configuration than including an internal bus of the transfer unit of the microcomputer shown in FIG. 転送部5は、転送制御部51、ABUS Transfer unit 5, the transfer control unit 51, ABUS
501、BBUS502、CBUS503、ARAMB 501, BBUS502, CBUS503, ARAMB
US504、DRAMBUS505から構成される。 US504, consists of DRAMBUS505.

【0033】転送制御部51は、転送部5の各バスや各バスに接続されたメモリ、レジスタファイル等を制御する。 The transfer control unit 51, a memory connected to each bus or the bus transfer unit 5, for controlling the register file and the like. 転送制御部51は、CPUがコンテキスト退避メモリ3をアクセスする際のアドレスをARAMBUS50 Transfer controller 51, an address when the CPU accesses a context save memory 3 ARAMBUS50
4から入力する。 Input from the 4. さらに、ABUS501にコンテキスト退避時の特定アドレスを出力する。 Further, to output the specified address during context save to ABUS501.

【0034】図3は、図1に示したマイクロコンピュータのより詳細な構成を示すブロック図である。 [0034] FIG. 3 is a block diagram showing a more detailed configuration of the microcomputer shown in FIG.

【0035】同図に示すように、本マイクロコンピュータは、レジスタセットA101、レジスタセットB10 As shown in the figure, the microcomputer register set A101, register set B10
2、インクリメンタ201、命令アドレスバッファ20 2, the incrementer 201, the instruction address buffer 20
2、プリフェッチカウンタ203、命令フェッチバッファ204、プロセッサステータスワード205、命令バッファ206、命令レジスタ207、ステータスレジスタ208、PLA209、マイクロ命令レジスタ21 2, prefetch counter 203, the instruction fetch buffer 204, processor status word 205, an instruction buffer 206, instruction register 207, status register 208, PLA209, microinstruction register 21
0、ALU211、ALU出力バッファ212、オペランドアドレスバッファ213、ストアバッファ214、 0, ALU211, ALU output buffer 212, the operand address buffer 213, the store buffer 214,
ロードバッファ215、バス制御部216、タイミング生成部217、ROM401、RAM402、転送制御部51、タスクタイマ52、バススイッチ53、RAM Load buffer 215, bus control unit 216, a timing generator 217, ROM 401, RAM 402, the transfer control unit 51, the task timer 52, bus switch 53, RAM
アドレス生成部54、シーケンサ55、タスク許可フラグ56、次タスク番号レジスタ57、コンテキスト退避メモリアドレスレジスタ58、ABUS501、BBU Address generating unit 54, a sequencer 55, the task enable flag 56, the next task number register 57, the context save memory address register 58, ABUS501, BBU
S502、CBUS503、ARAMBUS504、D S502, CBUS503, ARAMBUS504, D
RAMBUS505、AROMBUS506、DROM RAMBUS505, AROMBUS506, DROM
BUS507、COREBUS508とからなる。 Consisting of BUS507, COREBUS508 Metropolitan.

【0036】レジスタセット101とレジスタセット1 The register set 101 and the register set 1
02とは、同一のレジスタ構成であり、それぞれ8ビット幅のデータレジスタ(D0、D1、D2、D3)と1 02 and is the same register structure, the data register of the respective 8-bit width (D0, D1, D2, D3) and 1
6ビット幅のアドレスレジスタ(A0、A1)と、16 And the 6-bit wide address register (A0, A1), 16
ビット幅のスタックポインタ(SP)と、これらのデータを選択して出力するセレクタとを有する。 Having a stack pointer bit width (SP), and a selector for selecting and outputting these data. インクリメンタ201、命令アドレスバッファ202、プリフェッチカウンタ203、命令フェッチバッファ204からなる回路は、ROM401から命令を順次プリフェッチする命令先読み準備部である。 Incrementer 201, instruction address buffer 202, prefetch counter 203, the circuit composed of instruction fetch buffer 204 is an instruction prefetch preparation unit for sequentially prefetching instructions from ROM 401.

【0037】プロセッサステータスワード205は、A The processor status word 205, A
LU211の演算フラグやCPU2の割込み状態等を記憶する。 LU211 arithmetic flags and storing CPU2 interrupt state, and the like.

【0038】命令バッファ206は、命令先読み準備部によってプリフェッチされた複数の命令を保持する命令キューである。 The instruction buffer 206 is an instruction queue for holding a plurality of instructions are prefetched by the instruction prefetch preparation unit.

【0039】命令レジスタ207、ステータスレジスタ208、PLA209、マイクロ命令レジスタ210からなる回路は、命令バッファ206から供給される命令を解読し、実行を制御する命令制御部である。 The instruction register 207, status register 208, PLA209, a micro instruction register 210 circuit decodes the instruction supplied from the instruction buffer 206, an instruction control unit for controlling the execution. また、この命令制御部はタスク切り換えを指示するイベントが発生すると、タスクのコンテキストの一部を退避、復帰する制御および転送制御部51に転送の開始を通知する制御を行う。 Further, when the instruction control unit has an event that instructs the task switching occurs, it performs control to notify the start of the transfer part of the context of the task save, to control and transfer control unit 51 returns. 本実施例では、上記イベントはタスクタイマー52による割込みとする。 In this embodiment, the event is an interrupt by the task timer 52. また、命令制御部は、AB In addition, the instruction control unit, AB
US501、BBUS502のデータの入出力を制御する。 US501, to control the input and output of data of BBUS502.

【0040】ALU211、ALU出力バッファ21 [0040] ALU211, ALU output buffer 21
2、オペランドアドレスバッファ213、ストアバッファ214、ロードバッファ215からなる回路は、命令制御部の制御に従って命令を実行する命令実行部である。 2, the operand address buffer 213, store buffer 214, the circuit comprising a load buffer 215 is an instruction execution unit for executing instructions under the control of the instruction control unit.

【0041】ROM401とRAM402は図1に示したメモリ4に相当し、複数のタスクのプログラム、スタック領域、タスク開始アドレス退避領域を有する。 [0041] ROM401 and RAM402 is equivalent to the memory 4 shown in FIG. 1, a program of the plurality of tasks, the stack area, the task start address saving area. 各タスクのプログラムはROM401に記憶され、スタック領域、タスク開始アドレス退避領域はRAM402に設けられる。 Program for each task stored in the ROM 401, the stack area, the task start address save area is provided in the RAM 402.

【0042】CPU内部バスはABUS501、BBU [0042] CPU internal bus is ABUS501, BBU
S502、CBUS503の3本から構成され、CPU S502, is composed of three CBUS503, CPU
外部のメモリバスは、ARAMBUS504、DRAM External memory bus, ARAMBUS504, DRAM
BUS505、AROMBUS506、DROMBUS BUS505, AROMBUS506, DROMBUS
507、COREBUS508の5本から構成される。 507, it consists of five COREBUS508.

【0043】ABUS501、BBUS502は、主にレジスタファイル1に対してアクセスされるデータを伝達する。 [0043] ABUS501, BBUS502 transmits the data which is mainly access to the register file 1.

【0044】CBUS503は、主にコンテキスト退避メモリ3に対してアクセスするデータを伝達する。 [0044] CBUS503 transmits the data to be accessed primarily to the context save memory 3.

【0045】ARAMBUS504とDRAMBUS5 [0045] ARAMBUS504 and DRAMBUS5
05は、それぞれ主にRAM402に対してアクセスするアドレスとデータを伝達し、AROMBUS506とDROMBUS507は、それぞれ主にROM401に対してアクセスするアドレスとデータを伝達する。 05 mainly transmits the address and data for access to the RAM402, respectively, AROMBUS506 and DROMBUS507 is mainly transmitted addresses and data for access to the ROM401 respectively.

【0046】COREBUS508は、主にマイクロコンピュータの周辺機能に含まれるレジスタ等をアクセスするアドレスとデータを伝達する。 [0046] COREBUS508 transmits the address and data to be accessed primarily register included in the peripheral functions such as a microcomputer.

【0047】タスクタイマー52は、CPUが実行中のタスクの時間を計測するタイマーで、タスク実行開始時に設定され、一定時間間隔でタイマーの値がデクリメントされる。 The task timer 52 is a timer for measuring the time of the CPU is running task, is set at the beginning task execution, the value of the timer is decremented at regular time intervals. タスクタイマーの内容がゼロになると、CP If the contents of the task timer reaches zero, CP
U2に対してタスク切り換えイベントの割込みを発生する。 To generate an interrupt of the task switching events for U2. タスクタイマーに設定される値は、あらかじめコンテキスト退避メモリに設定されている。 Value set in the task timer is preset to a context save memory. また、タスク切り換え時にはタスクタイマーの内容は常にゼロであるため、コンテキスト退避メモリには退避されない。 Moreover, since at the time of task switching task contents timer is always zero, not saved in the context save memory.

【0048】バススイッチ53は、DRAMBUS50 The bus switch 53, DRAMBUS50
5とCBUS503との間でデータの受け渡しをするバッファである。 5 as a buffer to pass data between the CBUS503.

【0049】RAMアドレス生成部54は、タスク切り換え時にCPUが退避、復帰するコンテキストの一部を格納するRAM402のアドレスを生成する。 The RAM address generator 54, CPU when the task switching is retracted, generates addresses RAM402 for storing part of the context to return.

【0050】シーケンサ55は、CPUからの起動要求に応じて、CBUS503の制御や転送制御部内のレジスタの更新を制御する信号を出力し、タスクのコンテキストを退避、復帰させる。 [0050] The sequencer 55 in response to the activation request from the CPU, and outputs a signal for controlling the updating of the registers in the control or transfer control section of CBUS503, evacuates the context of the task to return.

【0051】タスク許可フラグ56は、CPUが実行するタスクの数と同数のビット数から構成され、各ビットに対応するタスクの実行を許可するか、またはタスクの実行を禁止するかを指定する。 The task enable flag 56, CPU is composed of the same number of bits and the number of tasks to perform, or not to allow execution of a task corresponding to each bit, or to specify whether to prohibit the execution of the task.

【0052】次タスク番号レジスタ57は、タスク切り換えのイベントが発生したときに、次に切り換えて実行するタスクの番号を格納するレジスタで、レジスタの内容は、シーケンサがタスク許可フラグ56の内容に基づいて決められる。 [0052] Next task number register 57, when an event of task switching has occurred, a register for storing the number of the task then switched to run, the contents of the registers, sequencer based on the contents of the task enable flag 56 It is determined Te.

【0053】タスク許可レジスタ56および次タスク番号レジスタ57は、COREBUS508にも接続されており、CPUのプログラム実行によって内容の読み出しまたは書き込みが出来る。 [0053] Task enable register 56 and the next task number register 57 is also connected to COREBUS508, can read or write the contents by the program execution of the CPU.

【0054】コンテキスト退避メモリアドレスレジスタ58は、コンテキスト退避メモリ3をアクセスする番地を格納するレジスタで、シーケンサ55がコンテキスト退避メモリをアクセスする際に参照される。 [0054] context save memory address register 58 is a register for storing an address for accessing a context save memory 3 is referred to when the sequencer 55 accesses the context save memory.

【0055】図4は、図2のマイクロコンピュータの転送制御部51のより詳細な構成と、コンテキスト退避メモリ3のより詳細なデータ構成を示すブロック図である。 [0055] Figure 4 is a block diagram showing a more detailed configuration of a microcomputer of the transfer control unit 51 in FIG. 2, a more detailed data structure of the context save memory 3. 同図において、タスク許可フラグ制御部59は、次タスク番号レジスタ57に格納されたタスクの番号をデコードし、タスク許可フラグ56のタスク番号に対応するビットを1にする。 In the figure, the task permission flag control section 59 decodes the number of tasks stored in the next task number register 57, the bit corresponding to the task number of the task enable flag 56 to 1. また、命令によりタスク許可フラグを変更する場合、タスク許可フラグ制御部59はCO Also, when changing the task permission flag by the instruction, the task permission flag control section 59 CO
REBUS508のデータをタスク許可フラグ56に設定する。 Setting the data REBUS508 the task enable flag 56.

【0056】現タスク番号レジスタ60は、CPUが現在実行中のタスクの番号を格納する。 [0056] Current task number register 60, CPU stores the number of the currently executing task. 前タスク番号レジスタ61は、CPUが現在実行中のタスクに切り換わる前に実行していたタスクの番号を格納する。 Before the task number register 61, CPU stores the number of the task that was running before switching to the currently executing task.

【0057】タスク番号制御部62は、タスク許可フラグ56の内容と現タスク番号レジスタ60の内容とシーケンサ55が出力するレジスタ書換信号とを入力し、次タスク番号レジスタ57、現タスク番号レジスタ60、 [0057] Task ID control unit 62 receives a register rewrite signal content and the sequencer 55 of the contents and the current task number register 60 of the task enable flag 56 is output, the next task number register 57, the current task number register 60,
前タスク番号レジスタ61の内容をそれぞれ更新する。 Before it updates the contents of the task number register 61, respectively.
シーケンサ55が出力する書換信号のタイミングは、図9に矢印で示されている。 Timing of rewrite signal sequencer 55 outputs are indicated by arrows in FIG. また、タスク番号制御部が次タスク番号レジスタを更新する内容は、図11に示されている。 The contents of the task number control unit updates the next task number register is shown in Figure 11.

【0058】図9によると、矢印で示されているように、前タスク番号レジスタ61が書き換えられるのはシーケンサ55のステート0であり、次タスク番号レジスタ57および現タスク番号レジスタ60が書き換えられるのはシーケンサ55のステート9である。 [0058] According to FIG. 9, as indicated by the arrow, before the task number register 61 from being rewritten is state 0 of the sequencer 55, the next task number register 57 and the current task number register 60 is rewritten is the state 9 of the sequencer 55.

【0059】レジスタセットA使用フラグ63は、CP [0059] register set A use flag 63, CP
Uがタスク実行に使用するレジスタセットを指定するフラグであり、レジスタセットA使用フラグが1の時、レジスタセットAを使用し、0の時、レジスタBを使用する。 U is a flag for specifying a register set used for task execution, when the register set A use flag is 1, using the register set A, 0, using the register B.

【0060】メモリ制御部64は、コンテキスト退避メモリ3の読み出しおよび書き込みと、レジスタファイル1の読み出しおよび書き込みを制御する。 [0060] Memory controller 64 controls the reading and writing of the context save memory 3, the reading and writing of the register file 1. メモリ制御部64は、コンテキスト退避メモリ3へのデータの書き込みを制御するコンテキスト退避メモリ書き込み制御部6 The memory control unit 64, the context save memory write controller 6 for controlling the writing of data to the context save memory 3
5と、コンテキスト退避メモリ3からのデータの読み出しを制御するコンテキスト退避メモリ読み出し制御部6 5, the context save memory read control section 6 for controlling the reading of data from the context save memory 3
6と、レジスタファイルへのデータの書き込みを制御するレジスタ書き込み制御部67と、レジスタファイルからのデータの読み出しを制御するレジスタ読み出し制御部68とを有する。 Having 6, a register write controller 67 for controlling the writing of data to the register file, a register read controller 68 for controlling the reading of data from the register file.

【0061】図4に示すコンテキスト退避メモリ3は、 [0061] context save memory 3 shown in FIG. 4,
タスク数4までに対応する場合の構成を示し、64バイトの容量である。 Shows a configuration in which corresponding to the task number 4, the capacitance of 64 bytes. 64バイトを4つに分割し、分割した各領域のアドレスの若いほうから順に、スタックポインタ(SP)、データレジスタ(D0、D1、D2、D Divide the 64 bytes into four, in order from the better young addresses of areas divided, a stack pointer (SP), data register (D0, D1, D2, D
3)、アドレスレジスタ(A0、A1)、プロセッサステータスワード(PSW)、タスクタイマー(TT)、 3), the address register (A0, A1), the processor status word (PSW), the task timer (TT),
オペランドアドレスバッファ(OAB)を退避する。 It saves the operand address buffer (OAB). 1
6ビット幅のレジスタは、下位の8ビットがアドレスの若いほうに退避される。 Register 6 bits wide, 8-bit low-order is saved towards young address. また、本実施例では分割した各領域には、2バイトの予備の退避領域が存在する。 Further, the respective divided areas in this embodiment, a spare area for saving two bytes are present.

【0062】図5は、タスク切り換え時の処理のフローチャートである。 [0062] Figure 5 is a flowchart of processing at the time of task switching. 同図において、「CPU、転送部」、 In the figure, "CPU, transfer unit",
「転送部」はそれぞれ、タスク切り換え時にCPU2および転送部5が同期して並行に処理するフローと転送部5単独で処理するフローを示す。 Each "transfer unit" shows the flow of processing by the transfer unit 5 alone and the flow at the time of task switching is CPU2 and transfer unit 5 for processing in parallel in synchronization.

【0063】同図のフローチャートは、CPU2がレジスタセットAを使用してタスク1を実行中に、タスク切り換え要求が発生し、タスク2に切り換わるフローを示している。 [0063] the flow chart of the figure, while performing the task 1 CPU 2 uses the register set A, task switching request occurs, shows a flow switch to task 2. CPU2は、タスク切り換え要求が発生すると、実行中のタスクを一次停止し、タスク切り換え処理に移行する。 CPU2, when task switching request occurs, the running task is stopped primary proceeds to task switching process. このタスク切り換えは、CPU2は割込み処理と同様にPLA209により処理され、転送部5はシーケンサ55により処理される。 The task switching is, CPU 2 is processed by PLA209 Like the interrupt processing, the transfer unit 5 is processed by the sequencer 55.

【0064】図6、図7、図8は、タスク切り換え処理のタイミングチャートを示す図である。 [0064] FIGS. 6, 7 and 8 are diagrams showing a timing chart of task switching process. 同図には、タイミング(T2、T1)、IAB202、PFC203、 In the figure, the timing (T2, T1), IAB202, PFC203,
IR207、MIR210、ABUS501、BBUS IR207, MIR210, ABUS501, BBUS
502、CBUS503、ALU211、ALB21 502, CBUS503, ALU211, ALB21
2、OAB213、STB214、LDB215、AR 2, OAB213, STB214, LDB215, AR
AMBUS504、DRAMBUS505の内容が、各サイクル毎にそれぞれ示されている。 AMBUS504, the contents of DRAMBUS505 are shown respectively in each cycle. なお同図において右方向が時間軸である。 Note the right in the figure is a time axis.

【0065】また、ABUS、BBUS、CBUSの網かけは転送部5により制御されていることを示している。 [0065] Further, ABUS, BBUS, shading CBUS indicates that it is controlled by the transfer unit 5.

【0066】図9は、転送部5のシーケンサ55による各部の動作を示した図であり、シーケンサ55のステートおよびタイミング毎に、コンテキスト退避メモリ3のアドレス(address)とデータ(data)と転送方向(R/W)、バス(ABUS、BBUS、CBU [0066] Figure 9 is a diagram showing operation of each section by the sequencer 55 of the transfer unit 5, for each state and the timing of the sequencer 55, the transfer direction context save memory 3 address (address) and data (data) (R / W), bus (ABUS, BBUS, CBU
S)、タスク番号レジスタ(PRVTSK、CRNTT S), task number register (PRVTSK, CRNTT
SK、NEXTTSK)、レジスタファイルA使用フラグ(GRARUN)の状態がそれぞれ図示されている。 SK, NEXTTSK), the state of the register file A use flag (GRARUN) are shown, respectively.

【0067】転送方向のWはコンテキスト退避メモリへの書き込みを、Rはコンテキスト退避メモリからの読み出しをそれぞれ示している。 [0067] The write of W in the transfer direction to the context save memory, R represents shows the reading from the context save memory, respectively.

【0068】同図のバスの欄にカッコ付きで示されたものは、他のバスに出力された内容が転送されていることを示す。 [0068] those shown in parentheses in the column of the bus in the figure shows that the content which is output to the other bus is being transferred. また、「old」はタスク切り換え要求発生時点で実行していたタスクのコンテキストを指し、「ne Furthermore, "old" refers to the context of a task that was running in task switching request occurs time, "ne
w」はタスク切り換え要求により新しく切り換わるタスクのコンテキストを指す。 w "refers to the context of the newly cut switched task by task switching request. 「address」の欄の「crnttsk」、「nexttsk」、「prvt "Crnttsk" in the column of the "address", "nexttsk", "prvt
sk」はそれぞれ、現タスク番号レジスタCRNTTS sk "respectively, the current task number register CRNTTS
K60、次タスク番号レジスタNEXTTSK57、前タスク番号レジスタPRVTSK61の内容を16倍した値を示し、例えば、ステート0の「crnttsk+ K60, following task number register NEXTTSK57, before showed 16 times the value of the contents of the task number register PRVTSK61, for example, state 0 "Crnttsk +
12」はCRNTTSKの内容「1」を16倍した値に12を加算した値「28」をコンテキスト退避メモリのアドレスにすることを示している。 12 "indicates that the value" 28 "obtained by adding the 12 to the value 16 times the content" 1 "of CRNTTSK to the address of the context save memory.

【0069】同図のステートおよびタイミングは、図6 [0069] state and the timing of the figure, as shown in FIG. 6
Aから図6Cのサイクルの表示に一致している。 Coincide with the display of the cycle of FIG. 6C from A. 従って、例えば図7のステート0は、図6Aのサイクル0に対応し、タイミングT2、タイミングT1は、図6のT Thus, for example, state 0 in FIG. 7 corresponds to the cycle 0 in Figure 6A, timing T2, the timing T1 is T in FIG. 6
2の状態1、T1の状態1にそれぞれ対応している。 Respectively correspond to the state 1 of the second state 1, T1.

【0070】図10は、各タスクのプログラムカウンタを退避するRAM402の特定領域の構成を示した図である。 [0070] Figure 10 is a diagram showing the configuration of a particular region of the RAM402 for saving a program counter for each task. 本実施例では4つのタスクのプログラムカウンタの内容を退避する領域が、アドレス0からアドレス7までの8バイトの特定領域に設けられている。 Area for saving the contents of the program counter of the four tasks in this embodiment is provided in a specific area of ​​8 bytes from address 0 to address 7.

【0071】以下、図5、図6、図7、図8、図9に基づいてタスク切り換え処理をステートに従って詳細に説明する。 [0071] Hereinafter, FIGS. 5, 6, 7, 8, will be described in detail a task switching process in accordance with the state on the basis of FIG.

【0072】<ステート0>CPU2はタスク切り換え要求発生時のOAB213の内容をタイミングT2、T [0072] <state 0> CPU2 is timing the contents of the OAB213 at the time of task switching request is generated T2, T
1でそれぞれBBUSに出力する。 Each with 1 to output to BBUS.

【0073】転送部5は、現タスク番号レジスタの内容が1なので、ABUSにはPCの退避アドレス2番地の下位8ビットをタイミングT2で、上位8ビットをタイミングT1でそれぞれABUSに出力するとともに、C [0073] Transfer unit 5, since the contents of the current task number register is 1, at timing T2 and the lower 8 bits of the save address address 2 PC to ABUS, and outputs each ABUS upper 8 bits at a timing T1, C
PUがBBUSに出力したOABの内容をCBUSに転送し、コンテキスト退避メモリの28番地と29番地に書き込む(ステップ51)。 PU forwards the contents of OAB output to the BBUS the CBUS, writes the 28 address and address 29 of the context save memory (step 51). また、CRNTTSKの内容をPRVTSKに転送する。 In addition, to transfer the contents of CRNTTSK to PRVTSK.

【0074】ABUSに出力された退避アドレスは、C [0074] saving address output to the ABUS is, C
PUによりALUを通してALB212に転送される。 It is transferred to ALB212 through ALU by PU.

【0075】<ステート1>CPUはALBに格納された退避アドレスをIAB202に転送するとともに、A [0075] with <State 1> CPU transfers the saving address stored in the ALB in IAB202, A
ROMBUSを通して、ARAMBUSに出力する。 Through ROMBUS, and outputs it to the ARAMBUS. また、ABUSにPFC203の内容を、BBUSに定数「1」をそれぞれ出力し、実行中であったタスク1の戻り番地(プログラムカウンタの値)をALUにより計算する。 Further, the content of PFC203 the ABUS, the constant "1" outputs respectively BBUS, return address Task 1 was running (the value of the program counter) is calculated by ALU. 計算結果の下位8ビットはSTB214に転送され、タイミングT2でDRAMBUSに出力される。 Lower 8 bits of the calculation result is transferred to STB214, it is outputted at the timing T2 to the DRAMBUS. 計算結果の上位8ビットはALBに格納される。 Upper 8 bits of the calculation results are stored in the ALB. 従って、 Therefore,
CPUはRAM402の2番地に戻り番地の下位8ビットを書き込む(ステップ52)。 The CPU writes the lower 8 bits of the return address 2 address of RAM 402 (step 52).

【0076】転送部はステート1では何もしない。 [0076] transfer portion is not nothing in the state 1. なお、戻り番地の計算は、計算時の命令バッファ206の先読み量によって制御されるが、本発明には関係ないので詳細な説明は省略する。 The calculation of the return address is controlled by the amount of prefetching the calculation time of the instruction buffer 206, detailed description will not related to the present invention will be omitted.

【0077】<ステート2>CPUはサイクル1で使用したIABの内容をインクリメンタ201により+1 [0077] <State 2> CPU is the contents of the IAB, which was used in cycle 1 by the incrementer 201 +1
し、AROMBUSを通してARAMBUSに出力するとともに、サイクル1で計算したタスク1の戻り番地の上位8ビットをDRAMBUSに出力して、RAM40 And, outputs the ARAMBUS through AROMBUS, it outputs the upper eight bits of the return address Task 1 calculated in Cycle 1 to DRAMBUS, RAM 40
2の3番地に書き込む(ステップ52)。 Write to address 3 of 2 (step 52). また、タスク1のPSWの内容をABUSに出力する。 In addition, to output the contents of the PSW Task 1 to ABUS.

【0078】転送部はタイミングT2でABUSに出力されたPSWの内容を、CBUSに転送し、コンテキスト退避メモリの26番地に書き込み(ステップ53)、 [0078] writes the contents of the PSW output to the ABUS in the transfer unit timing T2, transferred to CBUS, at number 26 of the context save memory (step 53),
タイミングT1でコンテキスト退避メモリの32番地を読み出す。 It reads the 32 addresses of the context save memory at timing T1. また、転送部がアクセスするレジスタセットは、レジスタセットA使用フラグの内容を反転した値が示すレジスタセットを使用する。 The register set of the transfer unit accesses uses the register set indicated by the value obtained by inverting the contents of the register set A use flag. 従って、図7の例では、ステート2よりステート8の間では、転送部はレジスタセットBに対してアクセスし、ステート9よりステート14の間では、レジスタセットAに対してアクセスする。 Thus, in the example of FIG. 7, between from state 2 of the state 8, the transfer unit accesses the register set B, and between states 14 from state 9, access to the register set A.

【0079】<ステート3>CPUは、ABUSに出力されたタスク2の戻り番地が退避されているRAM40 [0079] <State 3> CPU is, RAM40 that the return address Task 2, which is output to the ABUS has been saved
2のアドレスをALUを通してALBに格納する。 The second address is stored in the ALB through ALU.

【0080】転送部は、次タスク番号レジスタの内容「2」に基づいて、タスク2の戻り番地が退避されているRAM402のアドレス4番地の下位8ビットをタイミングT2で、上位8ビットをタイミングT1でそれぞれABUSに出力するとともに、前サイクルのタイミングT1で読み出したタスク2のSPLを、タイミングT [0080] Transfer unit based on the content "2" of the next task number register, the low-order 8 bits of the timing T2 of the address Address 4 RAM402 the return address Task 2 is retracted, the upper 8 bits to the timing T1 in outputs to ABUS respectively, the SPL of the task 2 which is read at the timing T1 of the previous cycle, the timing T
2でCBUSに出力する。 And outputs it to the CBUS in two. また、タイミングT2ではコンテキスト退避メモリの33番地を読み出し、タイミングT1でCBUSに出力する。 Further, read out address 33 of a timing T2 in the context save memory, and outputs the CBUS timing T1. CBUSに出力されたS S output to the CBUS
PLの内容およびSPHの内容はBBUSに転送され、 The contents of the content and SPH of PL is transferred to the BBUS,
レジスタセットBのSPLおよびSPHに格納される(ステップ54)。 It is stored in the SPL and SPH register set B (step 54).

【0081】<ステート4>CPUは、ALBに格納されたアドレスをIABに転送するとともに、AROMB [0081] <State 4> CPU is configured to forward the address stored in the ALB in IAB, AROMB
USを通してARAMBUSに出力し、RAM402の4番地からタスク2の戻り番地の下位8ビットを読み出して、LDBに格納する。 Output to ARAMBUS through US, reads the lower eight bits of the return address Task 2 from address 4 of RAM 402, and stores the LDB.

【0082】転送部は、前サイクルのタイミングT1でコンテキスト退避メモリの34番地から読み出したD0 [0082] transfer section, read out from the 34 address of the context save memory in the previous cycle timing T1 D0
の内容を、CBUSに出力し、BBUSを通してレジスタセットBのD0に格納するとともに、タイミングT1 The contents, and outputs the CBUS, and stores in the D0 register set B through BBUS, timing T1
でコンテキスト退避メモリの35番地のD1の内容を読み出してCBUSに出力し、BBUSを通してレジスタセットBのD1に格納する(ステップ54)。 In output to CBUS reads D1 contents of the 35 address of the context save memory, stored in the D1 register set B through BBUS (step 54).

【0083】<ステート5>CPUは、LDBの内容をABUSに出力し、ALUを通してALBに格納すると共に、前サイクルのIABの内容をインクリメンタにより+1したアドレスをARAMBUSに出力して、RA [0083] <State 5> CPU outputs the contents of the LDB to ABUS, stores the ALB through ALU, and outputs the address +1 by incrementer contents of the IAB of the previous cycle to ARAMBUS, RA
M401の5番地からタスク2の戻り番地の上位8ビットを読み出し、LDBに格納する(ステップ55)。 It reads the upper eight bits of the return address Task 2 from Address 5 M401, stored in the LDB (step 55).

【0084】転送部は、ステート4と同様に、D2の内容およびD3の内容をコンテキスト退避メモりから読み出して、レジスタセットBのD2、D3にそれぞれ格納する(ステップ54)。 [0084] Transfer unit, like the state 4, reads the contents of the contents and D3 of D2 from the context save memory, respectively stored in the D2, D3 of register set B (step 54).

【0085】<ステート6>CPUは、ALBに格納されたタスク2の戻り番地の下位8ビットの内容をIAB [0085] <state 6> CPU is, the lower 8 bits of the contents of the stored Task 2 of the return address to ALB IAB
の下位8ビットに格納すると共に、LDBの内容をAB It stores the lower eight bits, the contents of the LDB AB of
USに出力し、ALUを通して再度ABUSに出力する。 Output to the US, to output again to the ABUS through the ALU. CPUはABUSに出力したタスク2の戻り番地の上位8ビットをALUを通してALBに格納する。 The CPU stores the upper eight bits of the return address task 2 which is outputted to the ABUS to ALB through ALU.

【0086】転送部は、ステート4と同様に、A0の下位8ビットの内容および上位8ビットの内容をコンテキスト退避メモりから読み出して、レジスタセットBのA [0086] Transfer unit, like the state 4, reads the lower eight bits of the contents and the upper 8 bits of the contents of A0 from the context save memory, the register set B A
0L、A0Hにそれぞれ格納する(ステップ54)。 0L, respectively stored in A0H (step 54).

【0087】<ステート7>CPUは、ALBに格納されたタスク2の戻り番地の上位8ビットの内容をIAB [0087] <state 7> CPU is, the upper 8 bits of the contents of the stored Task 2 of the return address to ALB IAB
の上位8ビットに格納し(ステップ55)、IABの内容をAROMBUSに出力してタスク2の戻り番地から命令をフェッチしてIFBに格納する。 Stored in the upper 8 bits (step 55), and outputs the contents of the IAB AROMBUS stored in IFB to fetch instructions from the return address Task 2.

【0088】転送部は、ステート4と同様に、A1の下位8ビットの内容および上位8ビットの内容をコンテキスト退避メモりから読み出して、レジスタセットBのA [0088] Transfer unit, like the state 4, reads the lower eight bits of the contents and the upper 8 bits of the contents of A1 from the context save memory, the register set B A
1L、A1Hにそれぞれ格納する。 1L, respectively stored in A1H.

【0089】<ステート8>CPUは、BBUSに出力されたタスク2のPSWの内容をALUを通してABU [0089] <State 8> CPU is, ABU the contents of the output task 2 of the PSW to BBUS through the ALU
Sに出力し、PSW205に格納する(ステップ5 Output to S, and stores the PSW205 (Step 5
6)。 6). また、前サイクルでフェッチした命令を命令バッファ206に転送すると共に、タスク2の戻り番地を+ Moreover, it transfers the instruction fetched in the preceding cycle in the instruction buffer 206, the task 2 return address +
1したアドレスから続けて命令をフェッチし、IFBに格納する。 Fetching instructions continue from 1 address is stored in IFB.

【0090】転送部は、前サイクルのタイミングT1でコンテキスト退避メモリの42番地から読み出したタスク2のPSWの内容を、タイミングT2でCBUSに出力すると共にBBUSに転送する。 [0090] Transfer unit transfers the contents of the PSW for the task 2 read from address 42 of the context save memory at the timing T1 of the previous cycle, the BBUS and outputs at the timing T2 to the CBUS. また、タイミングT Also, the timing T
2で読み出した43番地の内容を、タスクの実行時間を決めるタスクタイマ52に格納する(ステップ57)。 43 address of the content read at 2 and stored in the task timer 52 which determines the execution time of the task (step 57).

【0091】<ステート9>CPUは、タスク2の命令をIR207に格納して命令の解読を開始すると共に、 [0091] <state 9> CPU, as well as to start the decoding of the instruction to store the instruction of the task 2 to IR207,
BBUSに出力されたタスク2のOABの内容をALU ALU the contents of the OAB of the output task 2 to BBUS
を通してALBに格納する(ステップ58)。 Stored in the ALB through (step 58).

【0092】転送部は、前サイクルのタイミングT1でコンテキスト退避メモリの44番地から読み出したタスク2のOABLの内容を、タイミングT2でCBUSに出力すると共にBBUSに転送する。 [0092] Transfer unit transfers the contents of OABL task 2 read from the address 44 of the context save memory at the timing T1 of the previous cycle, the BBUS and outputs at the timing T2 to the CBUS. また、タイミングT2で読み出した45番地の内容を、タイミングT1でCBUSに出力すると共にBBUSに転送する。 Further, the content of the 45 address read out at the timing T2, and transfers the BBUS and outputs at the timing T1 to the CBUS. さらに、次タスク番号レジスタNEXTTSKの内容を現タスク番号レジスタCRNTTSKに転送し、NEXTT In addition, transfer the contents of the next task number register NEXTTSK to the current task number register CRNTTSK, NEXTT
SKの内容を更新する。 To update the contents of the SK.

【0093】転送部はさらに、レジスタセットA使用フラグ63を「0」にして、以降でCPUがタスクの実行に使用するレジスタセットをB側にする(ステップ5 [0093] Transfer unit further to the register set A use flag 63 to "0", CPU is a register set used to perform the task B side in the following (Step 5
9)。 9).

【0094】<ステート10>CPUは、ALBに格納された内容をタスク2のOABに格納し、タスク2の命令を転送部とは独立して実行する(ステップ61)。 [0094] <State 10> CPU stores the contents stored in the ALB in OAB task 2, independently executing the transfer unit instructions Task 2 (step 61). 従って、ステート11以降は、転送部のみの動作を説明する。 Accordingly, state 11 and later, the operation of only the transfer unit.

【0095】転送部は、タスク切り換え要求発生時のタスク1のコンテキストであるSPLおよびSPHをレジスタセットAから読み出してCBUSに出力し、コンテキスト退避メモリの16番地および17番地に格納する(ステップ62)。 [0095] Transfer unit outputs the CBUS reads the SPL and SPH is the context of the task 1 at task switching request occurs from register set A, and stores the 16 addresses and address 17 of the context save memory (step 62) .

【0096】<ステート11>転送部は、ステート10 [0096] <State 11> transfer unit, the state 10
と同様にタスク切り換え要求発生時のタスク1のコンテキストであるD0およびD1をレジスタセットAから読み出してCBUSに出力し、コンテキスト退避メモリの18番地および19番地に格納する(ステップ62)。 And similarly reads the D0 and D1 is the context of the task 1 at task switching request occurs from register set A and outputs the CBUS, and stored in 18 addresses and address 19 of the context save memory (step 62).

【0097】<ステート12>転送部は、ステート10 [0097] <State 12> transfer unit, the state 10
と同様にタスク切り換え要求発生時のタスク1のコンテキストであるD2およびD3をレジスタセットAから読み出してCBUSに出力し、コンテキスト退避メモリの20番地および21番地に格納する(ステップ62)。 And similarly reads the D2 and D3 is the context of the task 1 at task switching request occurs from register set A and outputs the CBUS, and stored in 20 addresses and address 21 of the context save memory (step 62).

【0098】<ステート13>転送部は、ステート10 [0098] <State 13> transfer unit, the state 10
と同様にタスク切り換え要求発生時のタスク1のコンテキストであるA0LおよびA0HをレジスタセットAから読み出してCBUSに出力し、コンテキスト退避メモリの22番地および23番地に格納する(ステップ6 And similarly reads A0L and A0H a context of a task 1 when task switching request occurs from register set A and outputs the CBUS, and stored in 22 addresses and address 23 of the context save memory (Step 6
2)。 2).

【0099】<ステート14>転送部は、ステート10 [0099] <State 14> transfer unit, the state 10
と同様にタスク切り換え要求発生時のタスク1のコンテキストであるA1LおよびA1HをレジスタセットAから読み出してCBUSに出力し、コンテキスト退避メモリの24番地および25番地に格納する(ステップ6 And similarly reads A1L and A1H a context of a task 1 when task switching request occurs from register set A and outputs the CBUS, and stored in 24 addresses and 25 address of the context save memory (Step 6
2)。 2).

【0100】図11は、タスク番号制御部62が次タスク番号レジスタNEXTTSKの値を決定するための動作を示した図である。 [0100] Figure 11 is a diagram task number control unit 62 shows the operation for determining the value of the next task number register NEXTTSK.

【0101】次タスク番号レジスタの値は、タスク許可フラグTSKEN56の内容と現タスク番号レジスタC [0101] The value of the next task number register, the contents and the current task number register C of the task permission flag TSKEN56
RNTTSK60の内容とによって決定する。 It is determined by the contents of the RNTTSK60. タスク許可フラグのLSB側が番号の若いタスクに対応しており、本実施例では、タスク許可フラグのLSB側が高い優先度となっている。 LSB side of the task permission flag corresponds to the young number task, in this embodiment, the LSB of the task permission flag is high priority. 従って、タスク許可フラグの複数のビットがセットされている場合には、番号の若いタスクから先に実行される。 Therefore, when a plurality of bits of the task enable flag has been set is performed first from the young number task. 例えば、TSKEN='001 For example, TSKEN = '001
1'はタスク0とタスク1を許可することを示し、現タスク番号が「0」であれば次タスク番号は「1」になり、現タスク番号が「1」、「2」、「3」であれば次タスク番号は「0」になる。 1 'indicates that you want to allow the task 0 and task 1, the next task number if the current task number "0" is "1", the current task number is "1", "2", "3" the next task number if becomes "0". この例ではTSKENのビット2、ビット3は「0」になっているので、タスク2 Bit 2 of TSKEN In this example, since the bit 3 is "0", the task 2
およびタスク3の許可フラグが命令の実行等でクリアされたことを示している。 And permission flag of the task 3 indicates that it is cleared by execution of the instruction, and the like.

【0102】他の組み合わせ状態も同様であるので、詳細な説明は省略する。 [0102] The other combination states are similar, the detailed description thereof is omitted. なお、上記実施例の説明ではタスクの数を4にしたが、これに限定されるものではない。 Incidentally, in the description of the above embodiment although the number of tasks to 4, but is not limited thereto.
また、コンテキスト退避メモリやRAMへのタスクの退避領域のアドレスも限定されるものではない。 Also, it does not even address the save area of ​​the task to the context save memory or RAM is limited.

【0103】上記実施例では、タスクのコンテキストのうちプログラムカウンタのみをRAMに退避したが、プログラムカウンタ以外にPSW等をRAMに退避してもよい。 [0103] In the above embodiment has been retracted only to RAM program counter of the context of the task may be saved in the RAM and PSW, etc. in addition to the program counter.

【0104】上記実施例では、RAMへの退避領域は特定番地としたが、実行中であったタスクのSPが指すスタック領域にコンテキストを退避してもよい。 [0104] In the above embodiments, the save area to the RAM is set to a specific address, it may save the context to the stack area indicated by the SP was running tasks. その場合、退避するSPはタスクの実行を停止した時点の値のままでもよい。 In this case, SP to be saved may remain in the value of the time of stop execution of the task.

【0105】図12は、本発明の第2の実施例における転送部とCPUとの接続を説明する図である。 [0105] Figure 12 is a diagram for explaining the connection between the transfer unit and the CPU in the second embodiment of the present invention.

【0106】同図においてマイコンコア1は、CPU2 [0106] The microcomputer core 1 in the figure, CPU 2
とレジスタセット3とからなり、CPU2は、マイクロ制御部21と、コアレジスタ読み出し制御部22とバッファ23とを含む。 It consists of a register set 3 which, CPU 2 includes a micro controller 21, and a core register read controller 22 and the buffer 23. 拡張部4は、転送部5と2つのレジスタセットGRA6およびレジスタセットGRB7とからなり、転送部5は、拡張指定部51と拡張レジスタ読み出し制御部52とバッファ53とバッファ54とを含む。 Extension 4 comprises a transfer unit 5 and the two register sets GRA6 and the register set GRB7 Prefecture, the transfer unit 5 includes a an extension specifying section 51 and the extended register read controller 52 buffer 53 and buffer 54. マイコンコア1と拡張部4とはABUSとBBUS ABUS and BBUS the microcomputer core 1 and the extension portion 4
からなる2本の内部バスで接続されている。 It is connected by two internal bus consisting of. マイコンコア1は、拡張部4が接続されていない状態でも命令の実行が可能である。 The microcomputer core 1 is capable of executing instructions even when the extension portion 4 is not connected. 以下では、マイコンコア1に拡張部4 In the following, extensions 4 to the microcomputer core 1
が接続されている場合の動作を説明する。 There will be described the operation when connected.

【0107】拡張指定部51により、拡張部4がマイコンコア1に接続されていることをCPU2に通知すると、コアレジスタ読み出し制御部22は、レジスタセットの読み出しをマイクロ制御部21から指示されても、 [0107] By extension specifying section 51, when notified that the extension portion 4 is connected to the microcomputer core 1 to CPU 2, the core register read controller 22, it is instructed to read the register set from the micro controller 21 ,
バッファ23を動作させず、ABUSおよびBBUSには何も読み出さないようにする。 Without operating the buffer 23, so as not read anything to ABUS and BBUS. 一方、マイクロ制御部からのレジスタセット読み出しの指示は、拡張レジスタ読み出し制御部52に対しても出される。 On the other hand, an instruction register set read from the micro-controller is also issued to the extended register read controller 52. 拡張部4に含まれる転送部5の動作は、2つのレジスタセットを有する本発明の第1の実施例と同様であるので詳細は省略する。 Operation of the transfer unit 5 included in the extension unit 4, details because the same as in the first embodiment is of the present invention will be omitted with two register sets.

【0108】図13は、図12に示された本発明の第2 [0108] Figure 13 is a second of the present invention shown in FIG. 12
の実施例における回路配置を説明する図である。 It is a diagram illustrating a circuit arrangement in the embodiment.

【0109】マイコンコア1はビット当りの回路の繰り返しから構成されるデータパス部と不規則回路から構成される制御部とからなり、データパス部は制御部から出力されるデータパス制御信号により制御される。 [0109] The microcomputer core 1 is composed of a repetition control unit and a data path unit and the irregular circuit consists of a circuit per bit, the data path unit is controlled by the data path control signal outputted from the control unit It is. データパス部で処理するデータの流れの方向をX軸とすると、 If the direction of data flow to be processed by the data path unit and X-axis,
データパス制御信号はY軸方向である。 Datapath control signal is a Y-axis direction. 制御部、データパス部、拡張部の順にY軸方向に配置し、データパス制御信号をデータパス部を貫通させてY軸方向に延長することで、同一のデータパス制御信号をデータパス部と拡張部とに接続する。 Control unit, the data path unit, arranged in the Y-axis direction in the order of the expansion unit, by extending the data path control signal is passed through the data path unit in the Y-axis direction, and the data path section the same data path control signals It is connected to the extension.

【0110】また、拡張部を制御する拡張部制御信号は、制御部から一旦X軸方向に出力した後、データパスを通らずに拡張部に接続する。 [0110] Further, extension control signal for controlling the extension, after outputting temporarily in the X-axis direction from the control unit, connected to the extension portion without passing through the data path.

【0111】図13には省略しているが、ABUSおよびBBUSは、データパス部からY軸方向に延ばして拡張部に接続する。 [0111] Although not shown in FIG. 13, ABUS and BBUS connects the data path unit to extension by extending in the Y-axis direction.

【0112】なお、ABUSおよびBBUSは拡張部制御信号と同様に一旦X軸方向に延ばした後、拡張部に接続してもよい。 [0112] Note that after extended ABUS and BBUS in the same manner as extension control signal once in the X-axis direction, may be connected to the expansion unit.

【0113】 [0113]

【発明の効果】以上説明したように、請求項1の発明によれば、コンテキストの退避処理と切り換えた後のタスクの実行を並行処理できるという効果がある。 As described in the foregoing, according to the first aspect of the present invention, there is an effect that the execution of the task after the switched saving process context can be concurrently processed. 特に、組み込み用途のマイクロコンピュータにおいては、ハードウェア規模の制約があっても、タスク切り換えを高速に実現できるので、リアルタイム制御を可能にする。 In particular, in the microcomputer of embedded applications, even if the hardware scale limitations, it is possible to realize the task switching at high speed, to allow real-time control.

【0114】請求項2の発明によれば、請求項1の効果に加えて、コンテキストの退避処理を高速に実現できるという効果がある。 [0114] According to the second aspect of the invention, in addition to the effect of claim 1, there is an effect that the process of saving the context can be realized at high speed.

【0115】請求項3の発明によれば、請求項1または請求項2の効果に加えて、タスク切り換え要求が発生した後に、次に実行すべきタスクを決定できるという効果がある。 [0115] According to the invention of claim 3, in addition to the effect of claim 1 or claim 2, after the task switching request occurs, there is an effect that then can determine the task to be performed. これにより、リアルタイムOS等でタスク処理の順序を制御する応用においても柔軟に対応できる。 This allows flexibility even in applications to control the order of task processing in real-time OS or the like.

【0116】請求項4の発明によれば、請求項1の効果に加えて、コンテキストの退避処理と切り換えた後のタスクの実行との並行処理の時間を短縮する効果がある。 [0116] According to the invention of claim 4 has the effect of shortening the billing in addition to the effects of claim 1, the time of parallel processing and execution of the task after the switched saving process context.
これにより、並行処理中に命令によりコンテキスト退避メモリをアクセスするような場合の、タスクの待ち時間が短縮できる。 Thus, if during the parallel processing so as to access a context save memory by the instruction can be shortened latency task.

【0117】請求項5の発明によれば、請求項1の効果に加えて、コンテキストを退避するメモリのアドレス計算時間を短縮するという効果がある。 [0117] According to the invention of claim 5, in addition to the effect of claim 1, it has the effect of shortening the address calculation time of the memory for saving the context.

【0118】請求項6の発明によれば、請求項1の効果に加えて、コンテキストの退避処理する時間を短縮するという効果がある。 [0118] According to the invention of claim 6, in addition to the effect of claim 1, it has the effect of shortening the time to save processing context.

【0119】請求項7の発明によれば、請求項6の効果に加えて、コンテキストの退避処理の量を減少するという効果がある。 [0119] According to the invention of claim 7, in addition to the effect of claim 6, the effect of reducing the amount of process of saving the context.

【0120】請求項8の発明によれば、タスク切り換えの機能をCPUに容易に追加して、機能拡張できるという効果がある。 [0120] According to the invention of claim 8, and easily add functionality task switching in CPU, there is an effect that function can be extended.

【0121】請求項9の発明によれば、請求項8の効果に加えて、回路の配置をコンパクトにでき、チップの面積を小さくするという効果がある。 [0121] According to the invention of claim 9, in addition to the effect of claim 8, can the placement of the circuit in a compact, an effect of reducing the chip area.

【0122】請求項10の発明によれば、タスク切り換えの順序をプログラムで柔軟に変更できるという効果がある。 [0122] According to the invention of claim 10, there is an effect that can be flexibly change the order of task switching program.

【0123】請求項11の発明によれば、請求項10の効果に加えて、任意のタスクの起動をプログラムで柔軟に指定できるという効果がある。 [0123] According to the invention of claim 11, in addition to the effect of claim 10, there is an effect that can be flexibly specified in the program to start any task.

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

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

【図2】同実施例における転送部5の詳細な構成を示すブロック図 2 is a block diagram showing the detailed structure of the transfer unit 5 in the same embodiment

【図3】同実施例におけるマイクロコンピュータのより詳細な構成を示すブロック図 Block diagram illustrating a more detailed configuration of the microcomputer in FIG. 3 the Example

【図4】同実施例における転送制御部51のより詳細な構成と、コンテキスト退避メモリ3のより詳細なデータ構成を示すブロック図 [4] and more detailed configuration of the transfer control unit 51 in the same embodiment, block diagram showing a more detailed data structure of the context save memory 3

【図5】同実施例におけるタスク切り換え時の処理のC [5] C for processing at the time of task switching in the same embodiment
PU2および転送部5の動作を示すフローチャート PU2 and flow chart showing the operation of the transfer unit 5

【図6】同実施例におけるタスク切り換え時の処理のC [6] C for processing at the time of task switching in the same embodiment
PU2および転送部5の動作を示すタイミングチャート PU2 and a timing chart showing the operation of the transfer unit 5

【図7】同実施例におけるタスク切り換え時の処理のC [7] C for processing at the time of task switching in the same embodiment
PU2および転送部5の動作を示すタイミングチャート PU2 and a timing chart showing the operation of the transfer unit 5

【図8】同実施例におけるタスク切り換え時の処理のC [8] C for processing at the time of task switching in the same embodiment
PU2および転送部5の動作を示すタイミングチャート PU2 and a timing chart showing the operation of the transfer unit 5

【図9】同実施例における転送部5のシーケンサ55による各部の動作を示した図 9 is a diagram showing an operation of each section by the sequencer 55 of the transfer unit 5 in the same embodiment

【図10】同実施例における各タスクのプログラムカウンタを退避するRAM402の特定領域の構成を示した図 Diagram showing a configuration of a specific area in FIG. 10 RAM402 for saving a program counter for each task in the same embodiment

【図11】同実施例におけるタスク番号制御部62が、 [11] task number control unit 62 in the same embodiment,
次タスク番号レジスタNEXTTSKの値を決定するための動作を示した図 It illustrates operations for determining the value of the next task number register NEXTTSK

【図12】本発明の第2の実施例におけるマイクロコンピュータの転送部とCPUとの接続を説明する図 Diagram for explaining the connection between the transfer unit and the CPU of the microcomputer in the second embodiment of the present invention; FIG

【図13】同実施例における回路配置を説明する図 FIG. 13 illustrates a circuit arrangement in the embodiment

【図14】第1の従来技術におけるマルチタスク処理機能を有するマイクロコンピュータの説明図 Figure 14 is an explanatory diagram of a microcomputer having a multitask processing function in a first prior art

【図15】第2の従来技術におけるマルチタスク処理機能を有するマイクロコンピュータの説明図 Figure 15 is an explanatory diagram of a microcomputer having a multitask processing function in the second prior art

【符号の説明】 DESCRIPTION OF SYMBOLS

1 レジスタファイル 2 CPU 3 コンテキスト退避メモリ 4 メモリ 5 転送部 51 転送制御部 52 タスクタイマ 53 バススイッチ 54 RAMアドレス生成部 55 シーケンサ 56 タスク許可フラグ 57 次タスク番号レジスタ 58 コンテキスト退避メモリアドレスレジスタ 59 タスク許可フラグ制御部 60 現タスク番号レジスタ 61 前タスク番号レジスタ 62 タスク番号制御部 63 レジスタセットA使用フラグ 64 メモリ制御部 65 コンテキスト退避メモリ書き込み制御部 66 コンテキスト退避メモリ読み出し制御部 67 レジスタ書き込み制御部 68 レジスタ読み出し制御部 1 register file 2 CPU 3 context save memory 4 memory 5 transfer section 51 transfers the control unit 52 the task timer 53 primary bus switch 54 RAM address generator 55 the sequencer 56 task enable flag 57 task number register 58 context save memory address register 59 task enable flag control unit 60 current task ID register 61 before the task number register 62 task number control unit 63 registers the set A use flag 64 memory controller 65 context save memory write controller 66 context save memory read control section 67 registers the write control unit 68 registers the read control part

Claims (11)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】複数のタスクを順に切り換えながら実行するマイクロコンピュータであって、 同一のレジスタ構成で、タスクの実行に1つが使用される少なくとも2つ以上のレジスタセットと、 実行中でないタスクのコンテキストデータを保持する第1のメモリと、 CPUがデータ処理に使用する第2のメモリと、 前記第1のメモリおよび前記第2のメモリから次に実行するタスクのコンテキストデータをレジスタセットに復帰した時点で、レジスタセットを切り換えるレジスタ切り換え手段と、 前記レジスタセットと前記第1のメモリおよび前記第2 1. A microcomputer that executes while switching the plurality of tasks in sequence, in the same register configuration, and at least two register sets is one to perform the tasks used, the context of a task is not running a first memory for storing data, the time the CPU is returned to the second memory used for data processing, the context data of the task to be executed next from the first memory and the second memory to the register set in a register switching means for switching the register set, the said register set first memory and the second
    のメモリとに接続され、タスク切り換え時にタスクのコンテキストデータの一部を前記第2のメモリに転送し、 Is connected to the memory, to transfer part of the task context data in the second memory at the time of task switching,
    切り換えられる前に使用していたレジスタセットの内容を新規タスクの実行中に前記第1のメモリに退避する転送手段とを備えることを特徴とするマイクロコンピュータ。 Microcomputer comprising: a transfer means for retracting said first memory during the execution of the new task contents of the register set which has been used before switched.
  2. 【請求項2】前記転送手段は、CPUからの起動要求により動作を開始するシーケンサと、 タスクが使用していたレジスタセットのデータを読み出す読み出し手段と、 レジスタ読み出し手段により読み出したデータを前記第1のメモリに書き込む書き込み手段と、 次に実行するタスクのコンテキストデータを前記第1のメモリから読み出すメモリ読み出し手段と、 メモリ読み出し手段により読み出したデータを次に実行するタスクが使用するレジスタセットに書き込むレジスタ書き込み手段と、 前記シーケンサに接続され、前記メモリ書き込み手段または前記メモリ読み出し手段がアクセスするアドレスを指定する第1のアドレスレジスタと、 前記シーケンサに接続され、前記第2のメモリのアドレスを指定する第2のアドレスレジスタ Wherein said transfer means includes a sequencer and read means and the data read by the register reading means first reading the data of the register set task was used to start the operation by the activation request from the CPU register write of writing means for writing into the memory, and a memory reading means for reading the context data of the task from the first memory to be executed next, the register set used by the task to be executed next data read by the memory reading means writing means, connected to said sequencer, first the a first address register for memory writing means or said memory reading means specifies an address to be accessed is connected to the sequencer, and the address of the second memory 2 of the address register 、 前記シーケンサに接続され、タスクが使用中のレジスタセットを指定するレジスタセット番号指定手段とを備えることを特徴とする請求項1記載のマイクロコンピュータ。 , Which is connected to the sequencer, the microcomputer according to claim 1, characterized in that it comprises a register set number designating means for designating the task register set in use.
  3. 【請求項3】前記転送手段は、 現在実行中のタスクの番号を指定する現タスク番号レジスタと、 次に実行するタスクの番号を指定する次タスク番号レジスタと、 前回実行したタスクの番号を指定する前タスク番号レジスタと、 前記シーケンサのステートに基づいて、前記現タスク番号レジスタの内容を前記前タスク番号レジスタに転送し、前記次タスク番号レジスタの内容を前記現タスク番号レジスタに転送するタスク番号制御手段とを備えることを特徴とする請求項2記載のマイクロコンピュータ。 Wherein said transfer means, specifies the current task number register that specifies the number of the currently executing task, the next task number register specifies the number of the task to be executed next, the number of the task executed previously before task number register for, on the basis of the sequencer state, task number the transfer the contents of the current task number register to the prior task number register, transfers the contents of the next task number register to the current task ID register the microcomputer according to claim 2, characterized in that it comprises a control means.
  4. 【請求項4】前記転送手段は、 前記レジスタセットと前記第1のメモリとに接続され、 Wherein said transfer means is connected to said and said register set first memory,
    かつデータバスを介して前記第2のメモリとに接続される内部バスを備え、CPUが前記第2のメモリを使用中にレジスタセットの読み出しと前記第1のメモリへの書き込みを並行処理することを特徴とする請求項1記載のマイクロコンピュータ。 And an internal bus connected via a data bus and the second memory, when the CPU concurrency writing to said second while using memory and reading of the register set first memory the microcomputer according to claim 1, wherein.
  5. 【請求項5】前記転送手段は、コンテキストの一部を前記第2のメモリのあらかじめ割り当てられた特定番地に格納することを特徴とする請求項1記載のマイクロコンピュータ。 Wherein said transfer means includes a microcomputer according to claim 1, wherein the storing part of the context in pre-assigned a particular address is in said second memory.
  6. 【請求項6】前記転送手段は、コンテキストの一部を前記第2のメモリに割り当てられたスタック領域に格納することを特徴とする請求項1記載のマイクロコンピュータ。 Wherein said transfer means includes a microcomputer according to claim 1, wherein the storing part of the context in the stack area allocated to the second memory.
  7. 【請求項7】前記レジスタセットは、CPUが使用するスタックの最終位置を示すスタックポインタを備え、前記スタックポインタは、コンテキストを前記第2のメモリのスタック領域に格納後、スタックの最終位置とは異なるアドレスを保持することを特徴とする請求項6記載のマイクロコンピュータ。 Wherein said register set includes a stack pointer which indicates the final position of the stack used by the CPU, the stack pointer, after storing the context in the stack area of ​​the second memory, the final position of the stack the microcomputer according to claim 6, characterized in that hold different addresses.
  8. 【請求項8】複数のタスクを順に切り換えながら実行するマイクロコンピュータであって、 同一のレジスタ構成で、タスクの実行に1つが使用される少なくとも2つ以上のレジスタセットと、 実行中でないタスクのコンテキストデータを保持する第1のメモリと、 CPUがデータ処理に使用する第2のメモリと、 前記第1のメモリおよび前記第2のメモリから次に実行するタスクのコンテキストデータをレジスタセットに復帰した時点で、レジスタセットを切り換えるレジスタ切り換え手段と、 前記レジスタセットと前記第1のメモリおよび前記第2 8. A microcomputer that executes while switching the plurality of tasks in sequence, in the same register configuration, and at least two register sets is one to perform the tasks used, the context of a task is not running a first memory for storing data, the time the CPU is returned to the second memory used for data processing, the context data of the task to be executed next from the first memory and the second memory to the register set in a register switching means for switching the register set, the said register set first memory and the second
    のメモリとに接続され、タスク切り換え時にタスクのコンテキストデータの一部を前記第2のメモリに転送し、 Is connected to the memory, to transfer part of the task context data in the second memory at the time of task switching,
    切り換えられる前に使用していたレジスタセットの内容を新規タスクの実行中に前記第1のメモリに退避する転送手段と、 命令を処理するマイクロ制御手段と、 前記マイクロ制御手段が出力する制御信号と内部のバスとを出力するCPUと、 CPU内部にあって、前記マイクロ制御手段によりレジスタセットを内部バスに読み出すレジスタ読み出し手段と、 前記CPUの制御信号と内部バスとに接続され、前記C The contents of the register set that was used before switched transfer means for retracting said first memory during the execution of the new task, a micro control unit for processing instructions, control signals the microcontroller means outputs and a CPU for outputting an internal bus, in the interior CPU, a register reading means for reading the register set to the internal bus by the micro-controller is connected to the control signal and the internal bus of the CPU, the C
    PUと同一のレジスタセットを備える拡張手段と、 前記拡張手段が前記CPUに接続されていることを通知し、前記読み出し手段の動作を停止させる拡張指定手段とを備えたことを特徴とするマイクロコンピュータ。 Microcomputer in which an expansion means comprising an identical register sets and PU, to notify it that the expansion means is connected to said CPU, and characterized in that a extended designation means for stopping the operation of said reading means .
  9. 【請求項9】前記CPUはデータを処理するデータパス部と前記データパスを制御する制御部とからなり、前記制御部は前記データパスを制御するデータパス制御信号と、前記拡張部を制御する拡張部制御信号を出力し、データパス制御信号はデータパス部のデータ処理の流れとは垂直方向に配置されてデータパス部および前記拡張部に入力され、 拡張部制御信号は、データパス部のデータ処理の流れと水平方向に配置されて制御部から出力された後に、前記拡張部に入力されることを特徴とする請求項8記載のマイクロコンピュータ。 Wherein said CPU is composed of a control unit for controlling the data path and data path unit for processing data, the control unit and the data path control signal for controlling the data paths, for controlling the extension outputs an extension control signal, the data path control signal is input to the extension portion to the flow of the data processing are arranged vertically data path unit and the data path unit, extension control signal, the data path unit after being output is arranged in the flow and horizontal data processing from the control unit, the microcomputer of claim 8, wherein the input to the expansion unit.
  10. 【請求項10】複数のタスクを順に切り換えながら実行するマイクロコンピュータであって、 n個のタスクの起動を許可するか禁止するかを示すnビットの第1のフラグを備え、前記第1のフラグが許可されたタスクのみをタスク番号の昇順または降順に順次実行することを特徴とするマイクロコンピュータ。 10. A microcomputer that executes while switching the plurality of tasks in sequence, comprising a first flag of n bits indicating whether to permit or inhibit activation of n tasks, the first flag microcomputer, characterized in that but sequentially executes only authorized tasks in ascending or descending order of the task number.
  11. 【請求項11】次に実行する予定のタスク番号を示すm m showing a 11. Next task number plan to run
    ビットであってかつ、mをべきとする2のべき乗値が前記第1のフラグの値以下である第2のフラグと、 前記第2のフラグに所望のタスク番号を設定することで、前記第1のフラグの該当するビットをセットするタスク許可フラグ制御手段とを備え、 所望のタスクを直接起動することを特徴とする請求項1 And a bit, by setting the second flag exponential value of 2, to the m is less than or equal to the value of the first flag, the desired task number to said second flag, the first and a task permission flag control means for setting the corresponding bit of the first flag, claim 1, characterized in that to start the desired task directly
    0記載のマイクロコンピュータ。 0 microcomputer according.
JP00600797A 1997-01-17 1997-01-17 Micro computer Expired - Fee Related JP3605978B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00600797A JP3605978B2 (en) 1997-01-17 1997-01-17 Micro computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00600797A JP3605978B2 (en) 1997-01-17 1997-01-17 Micro computer

Publications (2)

Publication Number Publication Date
JPH10207717A true JPH10207717A (en) 1998-08-07
JP3605978B2 JP3605978B2 (en) 2004-12-22

Family

ID=11626679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00600797A Expired - Fee Related JP3605978B2 (en) 1997-01-17 1997-01-17 Micro computer

Country Status (1)

Country Link
JP (1) JP3605978B2 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1192533A1 (en) * 1999-01-27 2002-04-03 Clearwater Networks, Inc. Register transfer unit for electronic processor
US7020879B1 (en) 1998-12-16 2006-03-28 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7035997B1 (en) 1998-12-16 2006-04-25 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7237093B1 (en) 1998-12-16 2007-06-26 Mips Technologies, Inc. Instruction fetching system in a multithreaded processor utilizing cache miss predictions to fetch instructions from multiple hardware streams
US7257814B1 (en) 1998-12-16 2007-08-14 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US7386707B2 (en) 2002-01-09 2008-06-10 Matsushita Electric Industrial Co., Ltd. Processor and program execution method capable of efficient program execution
US7529907B2 (en) 1998-12-16 2009-05-05 Mips Technologies, Inc. Method and apparatus for improved computer load and store operations
JP2009104611A (en) * 2002-01-09 2009-05-14 Panasonic Corp Processor
US7707391B2 (en) 1998-12-16 2010-04-27 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7735087B2 (en) 2003-03-13 2010-06-08 Panasonic Corporation Task switching apparatus, method and program
US7765546B2 (en) 1998-12-16 2010-07-27 Mips Technologies, Inc. Interstream control and communications for multi-streaming digital processors
US8327122B2 (en) 2006-03-02 2012-12-04 Samsung Electronics Co., Ltd. Method and system for providing context switch using multiple register file
JP2013164791A (en) * 2012-02-13 2013-08-22 Denso Corp Data processor
US9588817B2 (en) 2011-01-21 2017-03-07 Fujitsu Limited Scheduling method and scheduling system for assigning application to processor

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765546B2 (en) 1998-12-16 2010-07-27 Mips Technologies, Inc. Interstream control and communications for multi-streaming digital processors
US7467385B2 (en) 1998-12-16 2008-12-16 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7020879B1 (en) 1998-12-16 2006-03-28 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7035997B1 (en) 1998-12-16 2006-04-25 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7237093B1 (en) 1998-12-16 2007-06-26 Mips Technologies, Inc. Instruction fetching system in a multithreaded processor utilizing cache miss predictions to fetch instructions from multiple hardware streams
US7257814B1 (en) 1998-12-16 2007-08-14 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US7926062B2 (en) 1998-12-16 2011-04-12 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7529907B2 (en) 1998-12-16 2009-05-05 Mips Technologies, Inc. Method and apparatus for improved computer load and store operations
US7900207B2 (en) 1998-12-16 2011-03-01 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7650605B2 (en) 1998-12-16 2010-01-19 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US7707391B2 (en) 1998-12-16 2010-04-27 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
EP1192533A4 (en) * 1999-01-27 2005-06-08 Mips Tech Inc Register transfer unit for electronic processor
EP1192533A1 (en) * 1999-01-27 2002-04-03 Clearwater Networks, Inc. Register transfer unit for electronic processor
US8006076B2 (en) 2002-01-09 2011-08-23 Panasonic Corporation Processor and program execution method capable of efficient program execution
JP2009104611A (en) * 2002-01-09 2009-05-14 Panasonic Corp Processor
US7921281B2 (en) 2002-01-09 2011-04-05 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
US8719827B2 (en) 2002-01-09 2014-05-06 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
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
US7735087B2 (en) 2003-03-13 2010-06-08 Panasonic Corporation Task switching apparatus, method and program
US8327122B2 (en) 2006-03-02 2012-12-04 Samsung Electronics Co., Ltd. Method and system for providing context switch using multiple register file
US9588817B2 (en) 2011-01-21 2017-03-07 Fujitsu Limited Scheduling method and scheduling system for assigning application to processor
JP2013164791A (en) * 2012-02-13 2013-08-22 Denso Corp Data processor

Also Published As

Publication number Publication date
JP3605978B2 (en) 2004-12-22

Similar Documents

Publication Publication Date Title
US4558411A (en) Polymorphic programmable units employing plural levels of sub-instruction sets
US5386563A (en) Register substitution during exception processing
JP3649470B2 (en) Data processing equipment
JP4610593B2 (en) Dual thread processor
JP3101560B2 (en) Processor
EP0996057B1 (en) Data processor with an instruction unit having a cache and a ROM
EP0511674B1 (en) Single chip microcomputer
US3983539A (en) Polymorphic programmable units employing plural levels of sub-instruction sets
US4524416A (en) Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
EP0870226B1 (en) Risc microprocessor architecture
JP2968289B2 (en) Central processing unit
US20020129225A1 (en) Processing device for executing virtual machine instructions
US5517436A (en) Digital signal processor for audio applications
JP3787167B2 (en) Flash memory
CN1043932C (en) Multi-tasking low-power controller
KR930008686B1 (en) Data processor
US6816921B2 (en) Micro-controller direct memory access (DMA) operation with adjustable word size transfers and address alignment/incrementing
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
JP2644780B2 (en) Parallel computer having a processing request function
KR100266337B1 (en) Data processing circuit, semiconductor integrated circuit device, microcomputer, and electronic equipment
JP3176093B2 (en) Microprocessor interrupt controller
US8719837B2 (en) Microprocessor architecture having extendible logic
KR970011211B1 (en) Data processor having a break function
EP0464615B1 (en) Microcomputer equipped with DMA controller
JP3842474B2 (en) Data processing device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040316

A521 Written amendment

Effective date: 20040415

Free format text: JAPANESE INTERMEDIATE CODE: A523

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

Effective date: 20040914

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040927

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

Free format text: PAYMENT UNTIL: 20081015

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091015

Year of fee payment: 5

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

Year of fee payment: 5

Free format text: PAYMENT UNTIL: 20091015

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

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20101015

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

Year of fee payment: 7

Free format text: PAYMENT UNTIL: 20111015

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

Year of fee payment: 8

Free format text: PAYMENT UNTIL: 20121015

LAPS Cancellation because of no payment of annual fees