JPH1011301A - Multitask processor and multitask processing control method - Google Patents

Multitask processor and multitask processing control method

Info

Publication number
JPH1011301A
JPH1011301A JP16486796A JP16486796A JPH1011301A JP H1011301 A JPH1011301 A JP H1011301A JP 16486796 A JP16486796 A JP 16486796A JP 16486796 A JP16486796 A JP 16486796A JP H1011301 A JPH1011301 A JP H1011301A
Authority
JP
Japan
Prior art keywords
context
task
save
processing
restore
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
JP16486796A
Other languages
Japanese (ja)
Inventor
Masaharu Imai
Mitsuyoshi Itabashi
Masashi Kiroku
Takumi Nakano
Akichika Shiomi
Takafumi Yamase
正治 今井
巧 仲野
彰睦 塩見
孝文 山瀬
光義 板橋
真史 記録
Original Assignee
Masaharu Imai
Yazaki Corp
正治 今井
矢崎総業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Masaharu Imai, Yazaki Corp, 正治 今井, 矢崎総業株式会社 filed Critical Masaharu Imai
Priority to JP16486796A priority Critical patent/JPH1011301A/en
Publication of JPH1011301A publication Critical patent/JPH1011301A/en
Application status is Pending legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To prevent the total performance of a microprocessor from decreasing even when the number of tasks to be processed is less than the number of register groups of the microprocessor. SOLUTION: When it is necessary to save and reload a context, a saving/ reloading control means 12 saves a context stored in one of register groups 24-1 to 24-M in a context storage means 18 through saving/reloading buses 11, 15, and 16 provided independently of a bus 17 and reloads a context to be processed which is stored in the context storage means 18 to the register group, so ordinary task processing can be performed simultaneously with the saving and loading of the contexts to reduce the overhead of the saving/ reloading processing, thereby improving the total performance of the multitask processor.

Description

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

【0001】 [0001]

【発明の属する技術分野】本発明は、マルチタスク処理装置及びマルチタスク処理制御方法に係り、特にマルチタスキングにおいて、コンテキストスイッチング(Cont The present invention relates to relates to a multitask processing apparatus and multi-tasking control method, especially in multi-tasking, context switching (Cont
ext switching )を行なうマルチタスク処理装置及びマルチタスク処理制御方法に関する。 ext switching) to a multi-task processing apparatus and multi-tasking control method performs.

【0002】 [0002]

【従来の技術】近年のマイクロプロセッサにおいては、 BACKGROUND OF THE INVENTION In recent years, micro-processor,
複数のタスクを並列して処理するマルチタスキングが行なわれている。 Multitasking in parallel to process a plurality of tasks is being performed. このマルチタスキングを実現する方法として、複数種類の方法があるが、このような方法の中で、最も簡単な方法としてコンテキストスイッチングが知られている。 As a method of realizing the multi-tasking, there are several types of methods, in such a way, the context switching is known as the simplest method.

【0003】従来のマイクロプロセッサは、レジスタファイル(レジスタ群)を1組しか持っていなかったため、タスク切換の際には、レジスタファイルの内容であるコンテキストを外部メモリであるコンテキスト用メモリ(例えば、メインメモリ上に設ける。)に退避し、次にレジスタファイルの内容を退避したタスクの処理を行なう場合には、コンテキスト用メモリから対応するコンテキストをレジスタに復帰させていた。 Conventional microprocessor for register file (register group) had only one set, at the time of task switching, the memory (e.g., for the context is an external memory context is the contents of the register file, the main retracted.) provided on the memory, when the next performs processing tasks saves the contents of the register file, the corresponding context from the context memory had to return to the register.

【0004】しかし、上記従来のマイクロプロセッサにおいては、タスク切換が起こる度にコンテキスト用メモリに対するアクセスが必要となる。 However, in the conventional microprocessor, the access is necessary for the context memory each time a task switching occurs. コンテキスト用メモリ空間の切換え、例えば、メインメモリ空間の切換えはかなりの時間を要するため、マイクロプロセッサ全体としてのパフォーマンスが低下してしまうという問題点があった。 Switching context memory space, for example, it takes a switching considerable time of the main memory space, the performance of the entire microprocessor is disadvantageously lowered.

【0005】 [0005]

【発明が解決しようとする課題】上記問題点を解決すべく、複数のレジスタファイルを設け、コンテキスト用メモリ空間の切換頻度を低減することによりパフォーマンスの向上を図る方法が提案されている。 In order to solve the above problems [0005], a plurality of register files, a method to improve the performance it has been proposed by reducing the switching frequency at which the context memory space.

【0006】図11に複数のレジスタファイルを有するマイクロプロセッサの概要構成ブロック図を示す。 [0006] shows a schematic configuration block diagram of a microprocessor having a plurality of register file 11. マイクロプロセッサ100は、それぞれ一のタスクのコンテキストを格納する複数のレジスタファイル101-1〜1 Microprocessor 100 includes a plurality of registers for storing the context of one task each file 101-1~1
01-nと、複数のレジスタファイル101-1〜101-n 01-n, a plurality of register file 101-1~101-n
にいずれのタスクに対応するコンテキストが格納されているかを判別し、タスクの処理に用いるレジスタファイルを選択するための制御信号を出力するレジスタファイル選択回路105と、レジスタファイル101-1〜10 A register file selection circuit 105 that context corresponding to one of the task to determine whether the stored, outputs a control signal for selecting a register file used in a task processing, the register file 101-1~10
1-nと演算回路110及び制御回路111とを接続する内部バス(内部アドレスバス及び内部データバス)10 1-n to the internal bus (internal address bus and an internal data bus) for connecting the arithmetic circuit 110 and the control circuit 111 10
6と、内部バス106及び外部データバス109を制御するためのバス制御回路107と、を備えて構成されている。 6 is configured to include a bus control circuit 107 for controlling the internal bus 106 and external data bus 109, a.

【0007】さらに、マイクロプロセッサ100には、 [0007] In addition, the microprocessor 100,
レジスタファイル101-1〜101-nに格納しきれないコンテキストを退避するとともに、各種データを記憶するデータ/コンテキスト用メモリ108が外部データバス109を介して接続されている。 As well as saving a context that can not be stored in the register file 101-1 to 101-n, the data / context memory 108 for storing various data are connected via the external data bus 109.

【0008】次に動作を説明する。 [0008] Next, the operation will be described. 1) 処理すべきタスク数Nがレジスタファイル数n以 1) to be processed task number N register file number n more than
下の場合(N≦n)この場合には、各タスクのコンテキストはいずれかのレジスタファイルに格納されていることとなる。 For lower when (N ≦ n) This is the context of each task can be assumed to be stored in one of the register file.

【0009】従って、タスク切換えが発生した場合には、レジスタファイル選択回路105は、切換え先のタスクに対応するレジスタファイルを複数のレジスタファイル101-1〜101-nのうちから判別し、対応するレジスタファイル101-X(X=1〜n)のみをアクティブにするための制御信号を出力する。 Accordingly, when the task switching has occurred, the register file selection circuit 105 determines the register file corresponding to the switching destination task from among a plurality of register files 101-1 to 101-n, the corresponding only the register file 101-X (X = 1~n) outputs a control signal for activating.

【0010】これによりそれ以降は、当該アクティブにされたレジスタファイル101-Xのみがアクセス可能となり、このレジスタファイル101-Xに格納されているコンテキストに基づいて演算回路110及び制御回路1 [0010] Thus thereafter, only the register file 101-X, which is in the active becomes accessible, the arithmetic circuit based on the context stored in the register file 101-X 110 and the control circuit 1
11は動作を行なうこととなる。 11 is to perform the operation.

【0011】従って、処理すべきタスク数Nがレジスタファイル数n以下の場合には、レジスタファイル101 Accordingly, if it is to be processed task number N is less than or equal to the register file number n, the register file 101
-1〜101-nに格納しきれないコンテキストが発生することがなく、各種データを記憶するデータ/コンテキスト用メモリ108に対して外部データバス109を介してアクセスする必要がないので、高速にタスク切換えを行なうことができ、マイクロプロセッサ101全体のパフォーマンスを向上させることができるのである。 Without -1~101-n context that can not be stored in is generated, there is no need to access via the external data bus 109 to the data / context memory 108 for storing various data, tasks faster switching can be performed, it is possible to improve the overall performance of the microprocessor 101. 2) 処理すべきタスク数Nがレジスタファイル数nよ 2) to be processed task number N of the register file number n
り多い場合(N>n)この場合には、N個のタスクのコンテキストのうち、n If Ri large (N> n) In this case, among the context of N tasks, n
個のタスクに対応するコンテキストはいずれかのレジスタファイルに格納されているとともに、(N−n)個のコンテキストはデータ/コンテキスト用メモリ108に格納されていることとなる。 With context corresponding to the number of tasks are stored in one of the register file, so that the stored (N-n) pieces of context data / context memory 108.

【0012】従って、タスク切換えが発生した場合には、レジスタファイル選択回路105は、切換え先のタスクに対応するコンテキストがレジスタファイル101 Accordingly, when the task switching has occurred, the register file selection circuit 105, the context register file 101 corresponding to the switching destination task
-1〜101-nのいずれかに存在するか否かを判別し、いずれかのレジスタファイル101-1〜101-nに当該切換え先のタスクに対応するコンテキストが存在する場合には、対応するレジスタファイル101-X(X=1〜 The determination of the existence of any of -1~101-n, when the context corresponding to the switching destination task exists in either the register file 101-1 to 101-n, the corresponding register file 101-X (X = 1~
n)のみをアクティブにするための制御信号を出力する。 n) only outputs a control signal for activating.

【0013】これによりそれ以降は、当該アクティブにされたレジスタファイル101-Xのみがアクセス可能となり、このレジスタファイル101-Xに格納されているコンテキストに基づいて演算回路110及び制御回路1 [0013] Thus thereafter, only the register file 101-X, which is in the active becomes accessible, the arithmetic circuit based on the context stored in the register file 101-X 110 and the control circuit 1
11は動作を行なうこととなる。 11 is to perform the operation.

【0014】一方、いずれのレジスタファイル101-1 [0014] On the other hand, any of the register file 101-1
〜101-nにも当該切換え先のタスクに対応するコンテキストが存在しない場合には、レジスタファイル選択回路105は、タスクの優先度等に基づいてデータ/コンテキスト用メモリ108に退避すべきコンテキストが格納されているレジスタファイル101-Y(Y=1〜n) If even to 101-n does not context corresponding to the switching destination task exists, the register file selection circuit 105, context store to be saved in the data / context memory 108 based on the priority or the like of the task has been that the register file 101-Y (Y = 1~n)
を判別するとともに、バス制御回路107を制御することにより、当該レジスタファイル101-Yに格納されているコンテキストを内部バス106及びデータバス10 As well as determine the bus control circuit 107 by controlling the internal bus 106 and data bus 10 the context stored in the register file 101-Y
9を介してデータ/コンテキスト用メモリ108に退避する。 9 retracted to data / context memory 108 via the.

【0015】退避が終了すると、レジスタファイル選択回路105は、再びバス制御回路107を制御することにより復帰させるべきコンテキストをデータバス109 [0015] evacuation is completed, the register file selection circuit 105, a data bus 109 the context to be restored by controlling the bus controller 107 again
及び内部バス106を介してレジスタファイル101-Y And via the internal bus 106 register file 101-Y
に格納する。 And stores it in. そして、レジスタファイル選択回路105 Then, the register file selection circuit 105
は、コンテキストの復帰が完了すると、レジスタファイル101-Yのみをアクティブにするための制御信号を出力する。 , When the return context is completed, it outputs a control signal to only the register file 101-Y activated.

【0016】これによりそれ以降は、当該アクティブにされたレジスタファイル101-Yのみがアクセス可能となり、このレジスタファイル101-Yに格納されているコンテキストに基づいて演算回路110及び制御回路1 [0016] Thus thereafter, only the register file 101-Y, which is in the active becomes accessible, the arithmetic circuit based on the context stored in the register file 101-Y 110 and the control circuit 1
11は動作を行なうこととなる。 11 is to perform the operation.

【0017】以上の説明のように、処理すべきタスク数Nがレジスタファイル数nより多い場合には、全てのコンテキストをレジスタファイルに格納することができず、コンテキストの退避/復帰のための時間が必要となって、マイクロプロセッサ全体のパフォーマンスが低下してしまうという問題点があった。 [0017] As described above, when the number of tasks N to be processed is larger than the register file number n can not store all of the context in the register file, the time for the save / restore the context becomes necessary, the entire microprocessor performance is disadvantageously lowered.

【0018】そこで、本発明の目的は、処理すべきタスク数がマイクロプロセッサのレジスタファイル(レジスタ群)数よりも多い場合にもマイクロプロセッサ全体のパフォーマンスを低下させることがないマルチタスク処理装置及びマルチタスク処理制御方法を提供することにある。 [0018] It is an object of the present invention, the register file of the number of tasks to be processed by the microprocessor (register) multitask processing apparatus and a multi-does not reduce the overall performance of the microprocessor in the case larger than the number of to provide a task processing control method.

【0019】 [0019]

【課題を解決するための手段】請求項1記載の発明は、 Means for Solving the Problems The invention according to claim 1,
各々がコンテキストを格納するM個(M;2以上の整数)のレジスタ群及びタスク処理を行なうべく前記M個のレジスタ群に接続されたバスを有し、選択したいずれか一のレジスタ群に格納されている前記コンテキストに基づいて、複数の前記タスク処理を順次行なうマルチタスク処理装置において、前記コンテキストを格納するコンテキスト用記憶手段と、前記バスとは別個に設けられ、かつ、前記M個のレジスタ群と前記コンテキスト用記憶手段との間に設けられて前記コンテキストの退避/ Each M number of storing a context; have (M 2 or more integer) register group and a bus connected to the M register groups to perform the task processing, stored in any one of the register group selected based on the context, which is, in turn multitask processing apparatus which performs a plurality of said task processing, and a context storage means for storing the context provided separately from said bus, and, of the M register provided between said context storage means the group with the context save /
復帰を行なうための退避/復帰用バスと、前記退避/復帰用バスを介して、前記コンテキストを前記コンテキスト用記憶手段に退避し、あるいは、前記コンテキスト用記憶手段から前記コンテキストを前記レジスタ群に復帰させるための制御を行なう退避/復帰制御手段と、を備えて構成する。 And save / restore bus for performing a return, via the save / restore bus, saves the context in the context storage means, or, returning the context in the register group from the context storage means a save / restore control means for control to be configured with a.

【0020】請求項1記載の発明によれば、マルチタスク処理装置は、コンテキストの退避/復帰処理を行なう必要がない場合には、M個のレジスタ群のうち、処理すべきタスクに対応するレジスタ群に格納されているデータをバスを介してやり取りしてタスクの処理を行なう。 According to the first aspect of the invention, the register multitask processing apparatus, when it is not necessary to perform processing to save / restore the context of the M register group corresponding to be processed tasks the data stored in the group and exchanged via the bus performs the processing of tasks.

【0021】そして処理に用いるレジスタ群を切換えることにより、複数のタスク処理を順次行なうマルチタスク処理を行なう。 [0021] Then, by switching the register group to be used for processing, performing sequential performing multitask processing a plurality of task processing. 一方、コンテキストの退避/復帰処理を行なう必要がある場合、すなわち、M個のレジスタ群に処理すべきタスクに対応するコンテキストが格納されていない場合には、退避/復帰制御手段は、バスとは別個に設けられた退避/復帰用バスを介して、いずれかのレジスタ群に格納されているコンテキストをコンテキスト用記憶手段に退避するとともに、コンテキスト用記憶手段に格納されている処理すべきコンテキストを当該レジスタ群に復帰させる。 On the other hand, if it is necessary to perform processing to save / restore the context, that is, when the context corresponding to the task to be processed into M register groups is not stored, save / restore controller, the bus and the through the save / restore bus provided separately, either while saving the context storage means for a context which is stored in the register group, the context to be processed stored in the context storage means to return to the register group.

【0022】従って、通常のタスク処理を、バスを介してコンテキストの退避/復帰と並行して行なうことができる。 [0022] Therefore, the normal task processing can be performed in parallel with the save / restore the context via the bus. 請求項2記載の発明は、請求項1記載の発明において、前記退避/復帰制御手段は、現在実行中のタスク処理と並行して前記現在実行中のタスク処理を除く各タスク処理の優先順位及び処理状態に基づいて次に退避可能なタスク処理及び復帰すべきタスク処理の判別処理を行なうように構成する。 According to a second aspect of the present invention, in the first aspect, the save / restore control means, the priority and the task processing except the parallel task processing said currently executing a task processing currently being executed then configured to perform discrimination processing of retractable task processing and returns to be task processing based on the processing condition.

【0023】請求項2記載の発明によれば、請求項1記載の発明の作用に加えて、退避/復帰制御手段は、現在実行中のタスク処理と並行して現在実行中のタスク処理を除く各タスク処理の優先順位及び処理状態に基づいて次に退避可能なタスク処理及び復帰すべきタスク処理の判別処理を行なう。 According to the second aspect of the invention, in addition to the operation of the invention described in claim 1, save / restore control means, except for the task processing currently being executed in parallel with the task processing currently being executed the determination process of the task processing to be next retractable task processing and return based on the priority and the processing status of each task processing performed.

【0024】請求項3記載の発明は、請求項1又は請求項2記載の発明において、並行して処理すべき全タスク数をL(L;2以上の整数)とし、 L≦M の場合には、全タスク処理に対応するコンテキストを前記M個のレジスタ群のうちのL個のレジスタ群に格納する。 [0024] According to a third aspect of the invention of claim 1 or claim 2, wherein the total number of tasks to be processed in parallel L; and (L 2 or more integer), in the case of L ≦ M stores the context corresponding to the entire task processing into L register groups of the M registers.

【0025】請求項3記載の発明によれば、請求項1又は請求項2記載の発明の作用に加えて、並行して処理すべき全タスク数をL(L;2以上の整数)とし、 L≦M の場合には、全タスク処理に対応するコンテキストをM According to the third aspect of the invention, in addition to the effect of the invention of claim 1 or claim 2, wherein the total number of tasks to be processed in parallel L; and (L 2 or more integer), in the case of L ≦ M is a context corresponding to the entire task processing M
個のレジスタ群のうちのL個のレジスタ群に格納するので、タスク切換に伴うコンテキストの退避/復帰処理が生じることがなく高速に処理を行なうことができる。 Since stored in L register groups of register groups, it can perform processing at high speed without save / restore processing of context associated with the task switching occurs.

【0026】請求項4記載の発明は、各々がコンテキストを格納するM個(M;2以上の整数)のレジスタ群及びタスク処理を行なうべく前記M個のレジスタ群に接続されたバスを有し、選択したいずれか一のレジスタ群に格納されている前記コンテキストに基づいて、複数の前記タスク処理を順次行なうマルチタスク処理装置のマルチタスク処理制御方法において、現在実行中のタスク処理と並行して前記現在実行中のタスク処理を除く各タスク処理の優先順位及び処理状態に基づいて次に退避可能なタスク処理及び復帰すべきタスク処理を判別する判別工程と、前記判別に基づいて、前記バスとは別個に設けられ、かつ、前記M個のレジスタ群と前記コンテキスト用記憶手段との間に設けられて前記コンテキストの退避/復帰を行なうた The invention according to claim 4, M pieces, each of which stores a context; have (M 2 or more integer) register group and a bus connected to the M register groups to perform the task processing , based on the context stored in any one of the register group selected in the multi-tasking control method sequentially multitask processing apparatus which performs a plurality of said task processing, in parallel with the task processing currently being executed wherein a determination step of determining the task processing to be subsequently retractable task processing and return based on the priority and the processing status of each task processing except the task processing currently being executed, based on the determination, and the bus It is provided separately, and said provided between the M register groups and the context storage means for performing a save / restore the context の退避/復帰用バスを介して、前記退避可能なタスク処理に対応するコンテキストを前記コンテキスト用記憶手段に退避し、あるいは、前記コンテキスト用記憶手段から前記コンテキストを前記レジスタ群に復帰させるための制御を行なう退避/復帰制御工程と、を備えて構成する。 Through the save / restore for buses, a context corresponding to the retractable tasking saved in the context storage means, or a control for returning the context in the register group from the context storage means a save / restore control step of performing a configuring comprises a.

【0027】請求項4記載の発明によれば、判別工程は、現在実行中のタスク処理と並行して現在実行中のタスク処理を除く各タスク処理の優先順位及び処理状態に基づいて次に退避可能なタスク処理及び復帰すべきタスク処理を判別する。 According to the fourth aspect of the present invention, determination step is then retracted on the basis in parallel with the task processing currently being executed on the priority and the processing status of each task processing except the task processing currently being executed possible task processing and returns to be task processing to determine. これにより退避/復帰工程は、判別工程における判別に基づいて、バスとは別個に設けられ、かつ、M個のレジスタ群と前記コンテキスト用記憶手段との間に設けられてコンテキストの退避/復帰を行なうための退避/復帰用バスを介して、前記退避可能なタスク処理に対応するコンテキストをコンテキスト用記憶手段に退避し、あるいは、コンテキスト用記憶手段からコンテキストをレジスタ群に復帰させるための制御を行なう。 Accordingly save / restore process based on the determination in determination step, the bus provided separately, and save / restore the provided in the context between the M register groups and the context storage means through the save / restore bus for performing, save the context corresponding to the retractable task processing in the context storage means, or performs control for returning a context to the register group from the context storage means .

【0028】請求項5記載の発明は、請求項4記載のマルチタスク処理制御方法において、並行して処理すべき全タスク数をL(L;2以上の整数)とし、 L≦M の場合には、前記M個のレジスタ群のうちのL個のレジスタ群に全タスク処理に対応するコンテキストを格納する格納工程を備えて構成する。 [0028] According to a fifth aspect of the invention, in the multi-tasking control method according to claim 4, wherein the total number of tasks to be processed in parallel L; and (L 2 or more integer), in the case of L ≦ M It is configured with a storing step of storing a context corresponding to the entire task processing into L register groups of the M registers.

【0029】請求項5記載の発明によれば、請求項4記載の発明の作用に加えて、格納工程は、 L≦M の場合には、M個のレジスタ群のうちのL個のレジスタ群に全タスク処理に対応するコンテキストを格納する。 According to the invention of claim 5, wherein, in addition to the operation of the invention of claim 4, wherein, the storage process in the case of L ≦ M, the L register groups of the M register groups storing context corresponding to all the task processing.

【0030】 [0030]

【発明の実施の形態】次に図面を参照して本発明の好適な実施形態を説明する。 DETAILED DESCRIPTION OF THE INVENTION Next will be described a preferred embodiment of the present invention with reference to the drawings. 図1にマルチタスク処理装置の実施形態としてのマイクロプロセッサの概要構成ブロック図を示す。 It shows a schematic configuration block diagram of a microprocessor according to an embodiment of the multitask processing apparatus in FIG.

【0031】マイクロプロセッサ30は、大別すると、 [0031] The microprocessor 30 is roughly,
後述のM個のレジスタファイル(レジスタ群)24-1〜 The M register file described below (register) 24-1~
24-Mを有し、退避/復帰処理を行なうレジスタ回路1 Has a 24-M, the register circuit performs processing to save / restore 1
0と、レジスタファイル24-1〜24-Mの内容に基づいて各種演算を行なう演算回路26と、後述のレジスタファイル24-1〜24-Mと演算回路26を接続する内部バス(内部アドレスバス及び内部データバス)17と、内部バス17及び後述の外部データバス13を制御するためのバス制御回路22と、を備えて構成されている。 0, an arithmetic circuit 26 for performing various calculations based on the contents of the register file 24-1 to 24-M, an internal bus (internal address bus for connecting the register file 24-1 to 24-M and the arithmetic circuit 26 described later and an internal data bus) 17, a bus control circuit 22 for controlling the internal bus 17 and below the external data bus 13, and is configured with a.

【0032】レジスタ回路10は、内部バス17とは別個に設けられ、後述のレジスタファイル24-1〜24-M The register circuit 10 is provided separately from the internal bus 17, described later in the register file 24-1 to 24-M
と接続されている退避/復帰用内部バス11と、演算回路26の処理状態に応じてコンテキストの退避/復帰を制御すべくタスクの処理に用いるレジスタファイルを選択するための制御信号SC を出力する退避/復帰制御回路12と、後述の退避/復帰用内部バス11並びに退避/復帰用データバス15及び退避/復帰用アドレスバス16を制御するための退避/復帰用バス制御回路14 And outputs an internal bus 11 for saving / restoring connected, the control signal SC for selecting a register file used in the processing of the task to control the save / restore the context in accordance with the processing state of the arithmetic circuit 26 and a save / restore controller 12, a bus for saving / restoring for controlling the save / restore the internal bus 11 and saving / restoring data bus 15 and save / restore address bus 16 which will be described later control circuit 14
と、それぞれ一のタスクのコンテキストを格納するM個(M;2以上の整数)のレジスタファイル(レジスタ群)24-1〜24-Mと、を備えて構成されている。 When, M pieces of storing a context of the one task each; is configured to include a (M 2 or more integer) register file (register) 24-1 to 24-M, the.

【0033】バス制御回路22には、各種データを記憶する外部メモリとしてのデータ用メモリ20が接続された外部データバス13が接続されている。 The bus control circuit 22, external data bus 13 to data memory 20 as an external memory is connected for storing various data are connected. 退避/復帰制御回路12は、複数のレジスタファイル24-1〜24-M Save / restore controller 12, a plurality of register file 24-1 to 24-M
にいずれのタスクに対応するコンテキストが格納されているかを判別するレジスタファイル選択回路12Aを備えて構成されている。 It is configured to include a register file selection circuit 12A for determining whether context corresponding to one of the task is stored in.

【0034】退避/復帰用バス制御回路14には、退避/復帰用データバス15及び退避/復帰用アドレスバス16を介して、退避したコンテキストを格納するための外部メモリとしてのコンテキスト用メモリ18を備えて構成されている。 [0034] Saving / Restoring bus control circuit 14, via a save / restore data bus 15 and save / restore address bus 16, the context memory 18 as an external memory for storing the saved context equipped and are configured. 次に概要動作を説明する。 Next, an overview operations. 1) 処理すべきタスク数Nがレジスタファイル数M以 1) to be processed task number N register file number M or more
下の場合(N≦M)この場合には、各タスクのコンテキストはいずれかのレジスタファイル24-1〜24-Mに格納されることとなる。 For lower when (N ≦ M) This is the context of each task will be stored in either register file 24-1 to 24-M.

【0035】従って、タスク切換えが発生した場合には、レジスタファイル選択回路12Aは、切換え先のタスクに対応するレジスタファイルを複数のレジスタファイル24-1〜24-Mのうちから判別し、対応するレジスタファイル24-X(X=1〜M)のみをアクティブにするための制御信号SC を出力する。 [0035] Therefore, when the task switching has occurred, the register file selection circuit 12A discriminates the register file corresponding to the switching destination task from among a plurality of register files 24-1 to 24-M, the corresponding only the register file 24-X (X = 1~M) outputs a control signal SC to activate.

【0036】これによりそれ以降は、当該アクティブにされたレジスタファイル24-Xのみがアクセス可能となり、このレジスタファイル24-Xに格納されているコンテキストに基づいて演算回路26は動作を行なうこととなる。 [0036] Thus after that, only the register file 24-X, which is in the active becomes accessible, the arithmetic circuit 26 becomes to perform an operation based on the context stored in the register file 24-X . 従って、処理すべきタスク数Nがレジスタファイル数M以下の場合には、レジスタファイル24-1〜24 Therefore, if it is to be processed task number N is less than or equal to the register file number M is the register file 24-1 to 24
-Mに格納しきれないコンテキストが発生することはなく、退避/復帰用データバス15及び退避/復帰用アドレスバス16を介してコンテキスト用メモリ18をアクセスする必要がないので、高速にタスク切換えを行なうことができ、マイクロプロセッサ3全体のパフォーマンスを向上させることができるのである。 Never context that can not be stored in the -M is generated, there is no need to access the context memory 18 through save / restore data bus 15 and save / restore address bus 16, a task switching at high speed can be performed, it is possible to improve the overall performance microprocessor 3. 2) 処理すべきタスク数Nがレジスタファイル数Mよ 2) to be processed task number N of the register file number M
り多い場合(N>M)この場合には、N個のタスクのコンテキストのうち、M If Ri many (N> M) in this case, out of the context of the N tasks, M
個のタスクに対応するコンテキストはいずれかのレジスタファイル24-1〜24-Mに格納されているとともに、 With stored context for any register file 24-1 to 24-M corresponding to the number of tasks,
(N−M)個のコンテキストはコンテキスト用メモリ1 (N-M) number of context memory for context 1
8に格納されていることとなる。 So that the stored 8. i) 退避/復帰処理を行なわない場合の制御 そこで、タスク切換えが発生した場合には、レジスタファイル選択回路12Aは、内部バス17、バス制御回路 i) control when not performing save / restore processing Therefore, when the task switching has occurred, the register file selection circuit 12A, an internal bus 17, bus control circuit
7、外部データバス13及びデータ用メモリ20を用いて現在行なわれている演算回路26のタスクの処理と並行して、切換え先のタスクに対応するコンテキストがレジスタファイル24-1〜24-Mのいずれかに存在するか否かを判別する。 7, in parallel with the processing of the task of the external data bus 13 and the ALU 26 which is currently carried out using a data memory 20, a context corresponding to the switching destination task register file 24-1 to 24-M to determine whether there any.

【0037】このレジスタファイル選択回路12Aの判別に基づいて退避/復帰制御回路12は、いずれかのレジスタファイル24-1〜24-Mに当該切換え先のタスクに対応するコンテキストが存在する場合には、対応するレジスタファイル24-X(X=1〜M)のみをアクティブにするための制御信号SC を出力する。 [0037] The register file selection circuit 12A save / restore controller 12 on the basis of the determination of, when the context corresponding to the switching destination task exists in either the register file 24-1 to 24-M is , and it outputs a control signal SC for only the corresponding register file 24-X (X = 1~M) active.

【0038】これによりそれ以降は、当該アクティブにされたレジスタファイル24-Xのみがアクセス可能となり、このレジスタファイル24-Xに格納されているコンテキストに基づいて演算回路26はタスクの処理を行なうこととなる。 [0038] This the later, it only register file 24-X, which is in the active becomes accessible, the arithmetic circuit 26 on the basis of the context stored in the register file 24-X is to perform processing tasks to become. ii) 退避/復帰処理を行なう場合の制御 一方、いずれのレジスタファイル24-1〜24-Mにも当該切換え先のタスクに対応するコンテキストが存在しない場合には、レジスタファイル選択回路12Aは、タスクの優先度等に基づいてコンテキスト用メモリ18に退避すべきコンテキストが格納されているレジスタファイル24-Y(Y=1〜M)を判別する。 Control On the other hand in the case of performing ii) save / restore process, if any of the register file 24-1 to 24-M to be no context corresponding to the switching destination task register file selection circuit 12A, task to determine the register file 24-Y context to be saved in the context memory 18 based on the priority or the like of stored (Y = 1~M).

【0039】これにより退避/復帰制御回路12は、制御信号SC により退避/復帰用バス制御回路14を制御することにより、当該レジスタファイル24-Yに格納されているコンテキストを退避/復帰用内部バス11並びに退避/復帰用データバス15及び退避/復帰用アドレスバス16を介してコンテキスト用メモリ18に退避する。 [0039] Accordingly save / restore controller 12 is controlled by controlling the save / restore bus control circuit 14 by a signal SC, an internal bus for saving / restoring the context stored in the register file 24-Y 11 and through the save / restore data bus 15 and save / restore address bus 16 is retracted to the context memory 18.

【0040】レジスタファイル24-Yに格納されているコンテキストのコンテキスト用メモリ18への退避が終了すると、退避/復帰制御回路12は、再び制御信号S [0040] When the saving of the register file 24-Y of the context stored in the context memory 18 is completed, save / restore controller 12, again the control signal S
C により退避/復帰用バス制御回路14を制御することにより、レジスタファイル24-Yに復帰させるべきコンテキストを退避/復帰用データバス15及び退避/復帰用アドレスバス16並びに退避/復帰用内部バス11を介してレジスタファイル24-Yに格納する。 By controlling the save / restore bus control circuit 14 by C, the register file 24-Y a context to be restored to the saved / restored data bus 15 and save / restore address bus 16 and save / restore the internal bus 11 stored in the register file 24-Y through.

【0041】そして、退避/復帰制御回路12は、コンテキストのレジスタファイル24-Yへの復帰が完了すると、レジスタファイル24-Yをアクティブにするための制御信号SC を出力する。 [0041] Then, save / restore controller 12, return to the register file 24-Y context Upon completion, it outputs a control signal SC to activate the register file 24-Y. これによりそれ以降は、当該アクティブにされたレジスタファイル24-Yをアクセスすることが可能となり、このレジスタファイル24-Yに格納されているコンテキストに基づいて演算回路26は対応するタスクの処理を行なうこととなる。 This the later, it is possible to access the register file 24-Y, which is in the active, the arithmetic circuit 26 on the basis of the context stored in the register file 24-Y performs the processing corresponding task and thus.

【0042】以上の退避/復帰処理は、内部バス17、 [0042] The above processing to save / restore of the internal bus 17,
バス制御回路7、外部データバス13及びデータ用メモリ20を用いて現在行なわれている演算回路26のタスクの処理と並行して行なうことができるので、現在実行中のタスクの処理を中断する必要がなく、レジスタファイルの切換時間のオーバーヘッドを削減することが可能となる。 Bus control circuit 7, can be performed in parallel with the task of processing of the arithmetic circuit 26, which is currently done by using an external data bus 13 and the data memory 20, necessary to interrupt the process of the currently executing task without, it is possible to reduce the overhead of the switching time of the register file. 従って、マイクロプロセッサ全体のパフォーマンスを向上させることができる。 Therefore, it is possible to improve the overall performance of the microprocessor.

【0043】以上の説明のように、処理すべきタスク数Nがレジスタファイル数Mより多い場合にも、見掛け上、全てのコンテキストをレジスタファイルに格納した場合と同等の処理を行なうことができ、復帰/退避処理のために現在実行中のタスクの処理が影響を受けないように余裕を見込んだ数のレジスタファイルを用意しておけばよいので、レジスタ切換に伴うオーバーヘッドを削減するために最低限必要なレジスタファイル数は少なくてすむので、簡易な構成を達成できるにもかかわらずマイクロプロセッサ全体のパフォーマンスを向上できる。 [0043] As explained above, in the case to be processed task number N is larger than the register file number M also, apparently, can be performed the same processing as when storing all the contexts in the register file, since the number of register file that an allowance so that the processing of the currently running tasks to the return / save processing is not affected or by preparing minimum in order to reduce the overhead associated with register switching because need to register the number of files needed less, it can improve the overall performance of the microprocessor spite achieve a simple configuration.

【0044】次に図2乃至図10を参照してより具体的な動作を説明する。 [0044] Referring now to FIGS. 2-10 describe more specific actions. 以下においては、説明の簡略化のため、レジスタファイル数M=2の場合について説明する。 In the following, for simplification of description, a case of register file number M = 2. この場合において、処理すべきタスクは、図2に示すように、第1タスクT1、第2タスクT2 、第3タスクT3 、第4タスクT4 の4個あり、タスクの優先度は、数字が小さいほど優先度が高く、第1タスクT1 の優先度=1(最も優先度が高い)、第2タスクT2 の優先度=2、第3タスクT3 の優先度=3、第4タスクの優先度=4(最も優先度が低い)であるとする。 In this case, to process the task, as shown in FIG. 2, the first task T1, the second task T2, the third task T3, there four fourth task T4, the task priority, a small number higher priority is high, (highest priority) priority = 1 of the first task T1, priority = 2 of the second task T2, priority = 3 of the third task T3, the priority of the fourth task = 4 (lowest priority) to be. さらに、タスクの状態としては、図2に示すように、タスクを実行中である実行状態(図中、「RUN」と示す。)、直ちにタスクの実行に移行できる実行可能状態(図中、「READY」と示す。)、キー入力待ち等の待機状態(図中、「WAIT」と示す。)の3状態があるものとする。 Further, as the state of the task, as shown in FIG. 2, (shown as "RUN".) Execution state is executing the task, running state (FIG ability to instantly shift to execution of the task, " shows a READY ".), in the standby state (Fig waits for key input or the like, it is assumed that there are three states of.) shown as" wAIT ". また、これらのタスクの状態に関する情報(例えば、図2参照)は、退避/復帰制御回路12が保有している。 Moreover, information on the status of these tasks (for example, see FIG. 2) is, save / restore controller 12 is held.

【0045】また、図2乃至図10においては、図示の簡略化のため、第1タスクT1 をタスクT1 、第2タスクT2 をタスクT2 、第3タスクT3 をタスクT3 、第4タスクT4 をタスクT4 と表している。 Further, in FIG. 2 through 10, for simplification of illustration, the first task T1 task T1, the second task T2 to the task T2, the third task T3 task T3, a fourth task T4 task it represents the T4. また、図4乃至図10においては、図示の簡略化のため、バス制御回路22及び退避/復帰用バス制御回路14は図示を省略している。 Further, in FIG. 4 to FIG. 10, for simplicity of illustration, the bus control circuit 22 and save / restore bus control circuit 14 are omitted.

【0046】初期状態においては、図2及び図4(a) [0046] In the initial state, FIG. 2 and FIGS. 4 (a)
に示すように、第1タスクT1 は実行状態(=「RU As shown, the first task T1 is executed state (= "RU
N」)、第2タスクT2 、第3タスクT3 及び第4タスクT4は実行可能状態(=「READY」)にあるものとする。 N "), the second task T2, the third task T3 and a fourth task T4 intended to be executable state (=" READY "). この段階では、演算回路26は、第1レジスタファイル24-1に格納されている第1タスクT1 のコンテキストに基づいて第1タスクT1 の処理を行なっている。 At this stage, the arithmetic circuit 26 performs the processing of the first task T1 based on the context of the first task T1 stored in the first register file 24-1. この第1タスクT1 の処理の結果については、内部バス17、バス制御回路22及び外部データバス13を介してデータ用メモリ20に格納される。 This will result in the processing of the first task T1, the internal bus 17, is stored in the data memory 20 through the bus control circuit 22 and the external data bus 13.

【0047】そして、第2レジスタファイル24-2には、優先度=2の第2タスクT2 のコンテキストが格納されている。 [0047] Then, in the second register file 24-2, the context of the priority = 2 of the second task T2 is stored. さらにコンテキスト用メモリ18には、優先度=3のタスク、すなわち、第3タスクT3 のコンテキスト及び現時点において優先度の最も低い第4タスクT4のコンテキストが格納されている。 More context memory 18, the priority = 3 tasks, i.e., the lowest context of the fourth task T4 priority is stored in the context and the present time of the third task T3.

【0048】そして、第1タスクT1 の処理の途中でキーボードを介したデータ入力待ち状態等が発生すると、 [0048] When the data input standby state, and the like through the keyboard in the middle of the processing of the first task T1 is generated,
図5(a)に示すように、第1タスクT1 は待機状態(=「WAIT」)となり、演算回路26は、第2レジスタファイル24-2に格納されている第2タスクT2 のコンテキストを用いて、第2タスクT2 を実行状態(= As shown in FIG. 5 (a), the first task T1 standby state (= "WAIT"), and the arithmetic circuit 26 uses the context of the second task T2 stored in the second register file 24-2 Te, execute the second task T2 state (=
「RUN」)とする。 And "RUN").

【0049】この第2タスクT2 の実行と並行して、退避/復帰制御回路12のレジスタファイル選択回路12 [0049] In parallel with the execution of the second task T2, the register file selection of save / restore controller 12 circuit 12
Aは、図5(a)に示した各タスクの優先度及び状態に基づいて判別を行ない、待機状態(=「WAIT」)にある第1レジスタファイル24-1に格納されている第1 A is 5 performs discrimination on the basis of priority and status of each task shown in (a), a standby state (= "WAIT") first stored in the first register file 24-1 in
タスクT1 のコンテキストをコンテキスト用メモリ18 For context the context of the task T1 memory 18
に退避すべき旨の判別を行なう。 It discriminates that to be saved to.

【0050】このレジスタファイル選択回路12Aの判別に基づいて、図3のフローチャートに示すように、退避/復帰制御回路12は、退避/復帰用バス制御回路1 [0050] Based on the determination of the register file selection circuit 12A, as shown in the flowchart of FIG. 3, save / restore controller 12, save / restore bus control circuit 1
4を制御信号SC により制御して、第1レジスタファイル24-1から退避/復帰用内部バス11並びに退避/復帰用データバス15及び退避/復帰用アドレスバス16 4 is controlled by a control signal SC, a first retracted from the register file 24-1 / returning the internal bus 11 and saving / restoring data bus 15 and save / restore address bus 16
を介して、コンテキスト用メモリ18に第1タスクT1 Through the, first task T1 context memory 18
のコンテキストを退避する(ステップS1)。 It saves the context (step S1).

【0051】図6に第1タスクT1 のコンテキストをコンテキスト用メモリ18に退避後の状態を示す。 [0051] Figure 6 the context of the first task T1 shows the state after saving the context memory 18. そして、この第1タスクT1 のコンテキストの退避処理と並行して演算回路26は、第2レジスタファイル24-2に格納されている第2タスクT2 のコンテキストに基づいて第2タスクT2 の処理を行なうこととなる(ステップS3)。 Then, the arithmetic circuit 26 in parallel with the process of saving the context of the first task T1 performs a processing of the second task T2 based on the context of the second task T2 stored in the second register file 24-2 and thus (step S3).

【0052】さらに退避/復帰制御回路12は、コンテキスト用メモリ18にコンテキストが格納されているタスクのうち、実行可能状態(=「READY」)にあり、かつ、最も優先度の高いタスクのコンテキスト(図5(a)参照)、すなわち、この場合においては第3タスクT3 のコンテキストを退避/復帰用バス制御回路1 [0052] Further save / restore controller 12, among the tasks in the context memory 18 context is stored, is in an executable state (= "READY"), and the highest priority task context ( see FIG. 5 (a)), i.e., in this case saving the context of the third task T3 / return bus control circuit 1
4を制御信号SC により制御し、退避/復帰用内部バス11並びに退避/復帰用データバス15及び退避/復帰用アドレスバス16を介して第1レジスタファイル24 4 is controlled by a control signal SC, the first register file 24 via a save / restore the internal bus 11 and saving / restoring data bus 15 and save / restore address bus 16
-1に復帰する(ステップS2)。 Return -1 (step S2).

【0053】図7に第3タスクT3 のコンテキストを第1レジスタファイル24-1に復帰後の状態を示す。 [0053] Figure 7 context of the third task T3 indicates a state after the return to the first register file 24-1. そして、第2タスクT2 の処理の途中でキーボードを介したデータ入力待ち状態等が発生すると、図8(a)に示すように、第2タスクT2 は待機状態(=「WAIT」) When the middle such as a data input standby state via the keyboard of the processing of the second task T2 is generated, as shown in FIG. 8 (a), the second task T2 standby state (= "WAIT")
となり、演算回路26は、第1レジスタファイル24-1 Next, the arithmetic circuit 26, a first register file 24-1
に格納されている第3タスクT3 のコンテキストを用いて、第3タスクT3 を実行状態(=「RUN」)とする。 Using the context of the third task T3 stored in, and executes the third task T3 state (= "RUN").

【0054】この第3タスクT3 の実行と並行して、退避/復帰制御回路12のレジスタファイル選択回路12 [0054] In parallel with the execution of the third task T3, the register file selection of save / restore controller 12 circuit 12
Aは、図8(a)に示した各タスクの優先度及び状態に基づいて判別を行ない、待機状態(=「WAIT」)にある第2レジスタファイル24-2 に格納されている第2タスクT2 のコンテキストをコンテキスト用メモリ1 A performs a determination based on the priority and the status of each task shown in FIG. 8 (a), the second task stored in the second register file 24-2 in the standby state (= "WAIT") for context T2 context of memory 1
8に退避すべき旨の判別を行なう。 It discriminates that to be saved to 8.

【0055】このレジスタファイル選択回路12Aの判別に基づいて、図3のフローチャートに示した処理と同様に、退避/復帰制御回路12は、退避/復帰用バス制御回路14を制御信号SC により制御して、第2レジスタファイル24-2 から退避/復帰用内部バス11並びに退避/復帰用データバス15及び退避/復帰用アドレスバス16を介して、コンテキスト用メモリ18に第2 [0055] Based on the determination of the register file selection circuit 12A, similar to the process shown in the flowchart of FIG. 3, save / restore controller 12, the save / restore bus control circuit 14 controls the control signal SC Te, via a second register save from the file 24-2 / ​​returning the internal bus 11 and saving / restoring data bus 15 and save / restore address bus 16, the context memory 18 second
タスクT2 のコンテキストを退避する(図3のステップS1に相当)。 It saves the context of the task T2 (corresponding to step S1 in FIG. 3).

【0056】図9に第2タスクT2 のコンテキストをコンテキスト用メモリ18に退避後の状態を示す。 [0056] The context of the second task T2 in FIG. 9 shows the state after saving the context memory 18. そして、この第2タスクT2 のコンテキストの退避処理と並行して演算回路26は、第1レジスタファイル24-1に格納されている第3タスクT3 のコンテキストに基づいて第3タスクT3 の処理を行なうこととなる(図3のステップS3相当)。 Then, the arithmetic circuit 26 in parallel with the process of saving the context of the second task T2 executes the process of the third task T3 based on the third context of the task T3 stored in the first register file 24-1 and thus (equivalent step S3 in FIG. 3).

【0057】さらに退避/復帰制御回路12は、図10 [0057] Further save / restore controller 12, FIG. 10
に示すように、コンテキスト用メモリ18にコンテキストが格納されているタスクのうち、実行可能状態(= As shown in, among the tasks in the context memory 18 the context is stored, the executable state (=
「READY」)にあり、かつ、最も優先度の高いタスクのコンテキスト(図8(a)参照)、すなわち、この場合においては第4タスクT4 のコンテキストを退避/ Located "READY"), and the highest priority task context reference (FIG. 8 (a)), i.e., in this case saving the context of the fourth task T4 /
復帰用内部バス11並びに退避/復帰用データバス15 Returning the internal bus 11 and saving / restoring data bus 15
及び退避/復帰用アドレスバス16を介して第1レジスタファイル24-1に復帰する(図3のステップS2相当)。 And returns to the first register file 24-1 through the save / restore address bus 16 (corresponding step S2 in FIG. 3).

【0058】そして、以下、同様にしてコンテキストの退避/復帰及びレジスタ切換えを行なってマルチタスク処理を実行する。 [0058] Then, following, multitask processing by performing save / restore and register switching of contexts in a similar manner. 以上の説明のように、本実施形態によれば、演算回路26におけるタスクの実行を中断することなく、すなわち、演算回路26におけるタスクの実行と並行してコンテキストの退避/復帰処理を行なうことができ、レジスタファイル切換に伴う退避/復帰処理のためのオーバーヘッドを削減し、マイクロプロセッサ全体のパフォーマンスを向上させることができるのである。 As described above, according to this embodiment, without interrupting the execution of the task in the arithmetic circuit 26, i.e., be performed processing to save / restore the context in parallel with execution of the task in the arithmetic circuit 26 can, to reduce the overhead for save / restore processing due to register file switch, it is possible to improve the overall performance of the microprocessor.

【0059】 [0059]

【発明の効果】請求項1記載の発明によれば、マルチタスク処理装置は、コンテキストの退避/復帰処理を行なう必要がある場合、すなわち、M個のレジスタ群に処理すべきタスクに対応するコンテキストが格納されていない場合には、退避/復帰制御手段は、バスとは別個に設けられた退避/復帰用バスを介して、いずれかのレジスタ群に格納されているコンテキストをコンテキスト用記憶手段に退避するとともに、コンテキスト用記憶手段に格納されている処理すべきコンテキストを当該レジスタ群に復帰させるので、通常のタスク処理をコンテキストの退避/復帰と並行して行なうことができ、退避/復帰処理のオーバーヘッドを削減して、マルチタスク処理装置全体のパフォーマンスを向上できる。 According to the invention of claim 1, wherein, according to the present invention, the multi-task processing apparatus, when it is necessary to perform processing to save / restore the context, i.e., the context corresponding to the task to be processed into M register groups if but not stored, save / restore control means, the bus via a separately provided save / restore bus, a context that is stored in one of registers in the context storage means as well as saving, since the context to be processed stored in the context storage means to return to the register group, it can be performed in parallel normal task processing and save / restore the context, the save / restore process by reducing the overhead and improve the performance of the entire multi-task processing device.

【0060】請求項2記載の発明によれば、請求項1記載の発明の効果に加えて、退避/復帰制御手段は、現在実行中のタスク処理と並行して現在実行中のタスク処理を除く各タスク処理の優先順位及び処理状態に基づいて次に退避可能なタスク処理及び復帰すべきタスク処理の判別処理を行なうので、次に実行すべきタスク処理に対応するコンテキストは、いずれかのレジスタ群に格納されていることとなり、直ちにレジスタ群の切換を行なえ、切換のオーバーヘッドをより低減することが可能となる。 [0060] According to the second aspect of the invention, in addition to the effect of the first aspect, save / restore control means, except for the task processing currently being executed in parallel with the task processing currently being executed since discriminating processing priority and the processing state next retractable task processing and returns to be task processing based on each task processing, then context corresponding to the to be task processing executed, either registers will be stored in the immediately perform the switching of the register group, it is possible to further reduce the switching overhead.

【0061】請求項3記載の発明によれば、請求項1又は請求項2記載の発明の効果に加えて、並行して処理すべき全タスク数をL(L;2以上の整数)とし、 L≦M の場合には、全タスク処理に対応するコンテキストをM [0061] According to the third aspect of the invention, in addition to the effects of the invention of claim 1 or claim 2, wherein the total number of tasks to be processed in parallel L; and (L 2 or more integer), in the case of L ≦ M is a context corresponding to the entire task processing M
個のレジスタ群のうちのL個のレジスタ群に格納するので、タスク切換に伴うコンテキストの退避/復帰処理が生じることがなく高速に処理を行なうことができ、マルチタスク処理装置のパフォーマンスを低下させることがない。 Since stored in L register groups of register groups, it can perform processing at high speed without save / restore processing of context associated with the task switching occurs, reducing the performance of the multi-task processing device that there is no.

【0062】請求項4記載の発明によれば、判別工程は、現在実行中のタスク処理と並行して現在実行中のタスク処理を除く各タスク処理の優先順位及び処理状態に基づいて次に退避可能なタスク処理及び復帰すべきタスク処理を判別し、退避/復帰工程は、判別工程における判別に基づいて、バスとは別個に設けられてコンテキストの退避/復帰を行なうための退避/復帰用バスを介して、退避可能なタスク処理に対応するコンテキストをコンテキスト用記憶手段に退避し、あるいは、コンテキスト用記憶手段からコンテキストをレジスタ群に復帰させるための制御を行なうので、通常のタスク処理はバスを介して行ない、退避/復帰処理は並行して退避/復帰用バスを介して行なうことにより退避/復帰処理のオーバーヘッドを削減して [0062] According to the fourth aspect of the present invention, determination step is then retracted on the basis in parallel with the task processing currently being executed on the priority and the processing status of each task processing except the task processing currently being executed determine a possible task processing and returns to be task processing, save / restore process based on the determination in determination step, save / restore bus for the bus performs saved / restored separately provided in the context through, a context corresponding to the retractable tasking saved in the context storage means, or, because the control for returning a context to the register group from the context storage means, the normal task processing bus via performed, the save / restore processing to reduce the overhead of saving / restoring process by performing through the save / restore bus concurrently マルチタスク処理全体のパフォーマンスを向上できる。 Multitasking overall performance can be improved.

【0063】請求項5記載の発明によれば、請求項4記載の発明の作用に加えて、格納工程は、 L≦M の場合には、M個のレジスタ群のうちのL個のレジスタ群に全タスク処理に対応するコンテキストを格納するので、タスク切換に伴うコンテキストの退避/復帰処理が生じることがなく高速に処理を行なうことができ、マルチタスク処理におけるパフォーマンスを低下させることがない。 [0063] According to the invention of claim 5, wherein, in addition to the operation of the invention of claim 4, wherein, the storage process in the case of L ≦ M, the L register groups of the M register groups since storing context corresponding to all the task processing, it is possible to perform processing at high speed without save / restore processing of context associated with the task switching occurs, it does not lower the performance of multi-tasking.

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

【図1】実施形態のマルチタスク処理装置の概要構成ブロック図である。 1 is a schematic block diagram of a multitask processing apparatus according to the embodiment.

【図2】タスク処理の優先度及び状態の例を説明する図である。 Figure 2 is a diagram illustrating an example of the priority and status of the task processing.

【図3】実施形態の動作処理フローチャートである。 Figure 3 is an operational flowchart of the embodiment.

【図4】実施形態の動作説明図(その1)である。 4 is a diagram for describing operation of the embodiment (Part 1).

【図5】実施形態の動作説明図(その2)である。 It is a [5] Operation illustration of an embodiment (Part 2).

【図6】実施形態の動作説明図(その3)である。 Is a 6 diagram for describing operation of the embodiment (Part 3).

【図7】実施形態の動作説明図(その4)である。 7 is a diagram for describing operation of the embodiment (Part 4).

【図8】実施形態の動作説明図(その5)である。 A [8] diagram for describing operation of the embodiment (Part 5).

【図9】実施形態の動作説明図(その6)である。 It is a [9] Operation illustration of an embodiment (Part 6).

【図10】実施形態の動作説明図(その7)である。 A [10] Operation illustration of an embodiment (Part 7).

【図11】従来のマルチタスク処理装置の概要構成ブロック図である。 11 is a schematic block diagram of a conventional multi-tasking system.

【符号の説明】 DESCRIPTION OF SYMBOLS

10 レジスタ回路 11 退避/復帰用内部バス 12 退避/復帰制御回路 12A レジスタファイル選択回路 13 外部データバス 14 退避/復帰用バス制御回路 15 退避/復帰用データバス 16 退避/復帰用アドレスバス 17 内部バス 18 コンテキスト用メモリ 20 データ用メモリ 22 バス制御回路 24-1〜24-M レジスタファイル(レジスタ群) 26 演算回路 30 マイクロプロセッサ 10 register 11 controls save / restore the internal bus 12 save / restore circuit 12A register file selection circuit 13 external data bus 14 saving / restoring bus control circuit 15 saved / restored data bus 16 saving / restoring address bus 17 the internal bus 18 context memory 20 data memory 22 bus control circuits 24-1 to 24-M register file (register group) 26 arithmetic circuit 30 microprocessor

───────────────────────────────────────────────────── フロントページの続き (72)発明者 塩見 彰睦 静岡県浜松市半田町3776 医大宿舎K− 544 (72)発明者 仲野 巧 愛知県宝飯郡音羽町長沢八王子49 (72)発明者 板橋 光義 静岡県裾野市御宿1500 矢崎総業株式会社 内 (72)発明者 記録 真史 静岡県裾野市御宿1500 矢崎総業株式会社 内 (72)発明者 山瀬 孝文 静岡県裾野市御宿1500 矢崎総業株式会社 内 ────────────────────────────────────────────────── ─── of the front page continued (72) inventor Shiomi AkiraMutsu Hamamatsu, Shizuoka Prefecture solder-cho, 3776 Medical University dormitory K- 544 (72) inventor, Aichi Prefecture Hoi-gun Takumi Nakano Otowa-cho Nagasawa Hachioji 49 (72) inventor Mitsuyoshi Itabashi Shizuoka Prefecture Susono Onjuku 1500 Yazaki within Co., Ltd. (72) inventor record Masashi Shizuoka Prefecture Susono Onjuku 1500 Yazaki within Co., Ltd. (72) inventor Takafumi Yamase Shizuoka Prefecture Susono Onjuku 1500 Yazaki within the Corporation

Claims (5)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】 各々がコンテキストを格納するM個(M;2以上の整数)のレジスタ群及びタスク処理を行なうべく前記M個のレジスタ群に接続されたバスを有し、選択したいずれか一のレジスタ群に格納されている前記コンテキストに基づいて、複数の前記タスク処理を順次行なうマルチタスク処理装置において、 前記コンテキストを格納するコンテキスト用記憶手段と、 前記バスとは別個に設けられ、かつ、前記M個のレジスタ群と前記コンテキスト用記憶手段との間に設けられて前記コンテキストの退避/復帰を行なうための退避/復帰用バスと、 前記退避/復帰用バスを介して、前記コンテキストを前記コンテキスト用記憶手段に退避し、あるいは、前記コンテキスト用記憶手段から前記コンテキストを前記レジスタ群に復帰させる 1. A each are M to store context; has a bus connected to said M register groups to perform the register group and task processing (M 2 or more integer), either the selected one based on the context stored in the register group, in a sequential multi-task processing device that performs a plurality of said task processing, and a context storage means for storing the context provided separately from said bus, and, wherein the save / restore bus for provided performing save / restore the context between the M register groups and the context storage means, via the save / restore bus, the said context saved in the context storage means, or to return the context in the register group from the context storage means ための制御を行なう退避/復帰制御手段と、 を備えたことを特徴とするマルチタスク処理装置。 Multitask processing apparatus comprising: the save / restore control means for controlling, in that it comprises a for.
  2. 【請求項2】 請求項1記載のマルチタスク処理装置において、 前記退避/復帰制御手段は、現在実行中のタスク処理と並行して前記現在実行中のタスク処理を除く各タスク処理の優先順位及び処理状態に基づいて次に退避可能なタスク処理及び復帰すべきタスク処理の判別処理を行なうことを特徴とするマルチタスク処理装置。 2. A multitask processing apparatus according to claim 1, wherein the save / restore control means, the priority and the task processing except the parallel task processing said currently executing a task processing currently being executed multitask processing apparatus and performs a determination process of the next retractable task processing and returns to be task processing based on the processing condition.
  3. 【請求項3】 請求項1又は請求項2記載のマルチタスク処理装置において、 並行して処理すべき全タスク数をL(L;2以上の整数)とし、 L≦M の場合には、全タスク処理に対応するコンテキストを前記M個のレジスタ群のうちのL個のレジスタ群に格納することを特徴とするマルチタスク処理装置。 3. A multi-task processing apparatus according to claim 1 or claim 2, wherein the total number of tasks to be processed in parallel L; and (L 2 or more integer), in the case of L ≦ M, the total multitask processing apparatus characterized by storing the context corresponding to the task processing into L register groups of the M registers.
  4. 【請求項4】 各々がコンテキストを格納するM個(M;2以上の整数)のレジスタ群及びタスク処理を行なうべく前記M個のレジスタ群に接続されたバスを有し、選択したいずれか一のレジスタ群に格納されている前記コンテキストに基づいて、複数の前記タスク処理を順次行なうマルチタスク処理装置のマルチタスク処理制御方法において、 現在実行中のタスク処理と並行して前記現在実行中のタスク処理を除く各タスク処理の優先順位及び処理状態に基づいて次に退避可能なタスク処理及び復帰すべきタスク処理を判別する判別工程と、 前記判別に基づいて、前記バスとは別個に設けられ、かつ、前記M個のレジスタ群と前記コンテキスト用記憶手段との間に設けられて前記コンテキストの退避/復帰を行なうための退避/復帰用バス Wherein each M number of storing a context; have connected bus to the M register groups to perform the register group and task processing (M 2 or more integer), either the selected one based on the context stored in the register group, in a multi-tasking control method sequentially performs multitask processing apparatus a plurality of said task processing, in parallel with the task processing currently being executed in the currently executing task a determination step of determining the task processing to be subsequently retractable task processing and return based on the priority and the processing status of each task processing except the process, on the basis of the determination provided separately from said bus, and the save / restore bus for provided performing save / restore the context between the M register groups and the context storage means 介して、前記退避可能なタスク処理に対応するコンテキストを前記コンテキスト用記憶手段に退避し、あるいは、前記コンテキスト用記憶手段から前記コンテキストを前記レジスタ群に復帰させるための制御を行なう退避/復帰制御工程と、 を備えたことを特徴とするマルチタスク処理制御方法。 Through it, the context corresponding to the retractable tasking saved in the context storage means, or save / restore control step of performing control for returning the context in the register group from the context storage means multitask processing control method characterized by comprising a, the.
  5. 【請求項5】 請求項4記載のマルチタスク処理制御方法において、 並行して処理すべき全タスク数をL(L;2以上の整数)とし、 L≦M の場合には、前記M個のレジスタ群のうちのL個のレジスタ群に全タスク処理に対応するコンテキストを格納する格納工程を備えたことを特徴とするマルチタスク処理制御方法。 5. A multi-tasking control method according to claim 4, wherein the total number of tasks to be processed in parallel L; and (L 2 or more integer), in the case of L ≦ M is the M multitask processing control method characterized by comprising a storage step of storing a context corresponding to the entire task processing into L register groups of register group.
JP16486796A 1996-06-25 1996-06-25 Multitask processor and multitask processing control method Pending JPH1011301A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16486796A JPH1011301A (en) 1996-06-25 1996-06-25 Multitask processor and multitask processing control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16486796A JPH1011301A (en) 1996-06-25 1996-06-25 Multitask processor and multitask processing control method

Publications (1)

Publication Number Publication Date
JPH1011301A true JPH1011301A (en) 1998-01-16

Family

ID=15801437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16486796A Pending JPH1011301A (en) 1996-06-25 1996-06-25 Multitask processor and multitask processing control method

Country Status (1)

Country Link
JP (1) JPH1011301A (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004063925A1 (en) * 2003-01-09 2004-07-29 Japan Science And Technology Agency Context switching method, device, program, recording medium, and central processing unit
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
US7191313B2 (en) 2001-08-28 2007-03-13 Sony Corporation Microprocessor
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
JP2009080820A (en) * 2008-10-31 2009-04-16 Panasonic Corp Task switching device, method and program
US7529907B2 (en) 1998-12-16 2009-05-05 Mips Technologies, Inc. Method and apparatus for improved computer load and store operations
US7707391B2 (en) 1998-12-16 2010-04-27 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7765546B2 (en) 1998-12-16 2010-07-27 Mips Technologies, Inc. Interstream control and communications for multi-streaming digital processors
US8042116B2 (en) 2004-09-17 2011-10-18 Panasonic Corporation Task switching based on the execution control information held in register groups
US8276156B2 (en) 2003-03-13 2012-09-25 Panasonic Corporation Task switching based on assigned time slot
JP2017037370A (en) * 2015-08-06 2017-02-16 富士通株式会社 Computing device, process control method and process control program

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7900207B2 (en) 1998-12-16 2011-03-01 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
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
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
US7467385B2 (en) 1998-12-16 2008-12-16 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital 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
US7707391B2 (en) 1998-12-16 2010-04-27 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7765546B2 (en) 1998-12-16 2010-07-27 Mips Technologies, Inc. Interstream control and communications for multi-streaming digital processors
US7191313B2 (en) 2001-08-28 2007-03-13 Sony Corporation Microprocessor
WO2004063925A1 (en) * 2003-01-09 2004-07-29 Japan Science And Technology Agency Context switching method, device, program, recording medium, and central processing unit
US8020169B2 (en) 2003-01-09 2011-09-13 Japan Science And Technology Agency Context switching system having context cache and a register file for the save and restore context operation
US8276156B2 (en) 2003-03-13 2012-09-25 Panasonic Corporation Task switching based on assigned time slot
US8042116B2 (en) 2004-09-17 2011-10-18 Panasonic Corporation Task switching based on the execution control information held in register groups
JP2009080820A (en) * 2008-10-31 2009-04-16 Panasonic Corp Task switching device, method and program
JP2017037370A (en) * 2015-08-06 2017-02-16 富士通株式会社 Computing device, process control method and process control program

Similar Documents

Publication Publication Date Title
EP0087978B1 (en) Information processing unit
JP3649470B2 (en) Data processing equipment
JP3253303B2 (en) Context switching device and method
JP3729064B2 (en) Data dependence detector
US5021993A (en) Device for saving and restoring register information
JP2645669B2 (en) Data processing system
JP3555140B2 (en) Semiconductor Floor Plan and methods of the register renaming circuit
KR970008523B1 (en) High-speed processor capable of handling multiple interupts
US6292888B1 (en) Register transfer unit for electronic processor
US8468324B2 (en) Dual thread processor
US5123098A (en) Method for executing programs within expanded memory of a computer system using MS or PC DOS
US5247628A (en) Parallel processor instruction dispatch apparatus with interrupt handler
EP0378830A2 (en) Method and apparatus for handling multiple condition codes as for a parallel pipeline computer
FI78993B (en) Oevervakare of drift in the system.
EP0301220A2 (en) Register management system in a computer processor with out-of-sequence instruction execution
CN1152305C (en) Virtual machine system
US5043867A (en) Exception reporting mechanism for a vector processor
US6732253B1 (en) Loop handling for single instruction multiple datapath processor architectures
US6209085B1 (en) Method and apparatus for performing process switching in multiprocessor computer systems
JP2788605B2 (en) Computer system and the instruction execution method
JP2000507015A (en) Real-time programming language accelerator
US5115506A (en) Method and apparatus for preventing recursion jeopardy
KR20040105685A (en) Processor system, task control method on computer system, computer program
JPH0863361A (en) Register file and its management
JPH096633A (en) Method and system for operation of high performance multiple logical route in data processing system

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020716