JPH0855034A - Arithmetic processor and interrupt processing system using the processor - Google Patents

Arithmetic processor and interrupt processing system using the processor

Info

Publication number
JPH0855034A
JPH0855034A JP20801394A JP20801394A JPH0855034A JP H0855034 A JPH0855034 A JP H0855034A JP 20801394 A JP20801394 A JP 20801394A JP 20801394 A JP20801394 A JP 20801394A JP H0855034 A JPH0855034 A JP H0855034A
Authority
JP
Japan
Prior art keywords
register
register group
accessible
switching
outside
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
JP20801394A
Other languages
Japanese (ja)
Inventor
Satoru Kamiya
了 神谷
Akitoshi Saito
彰利 斉藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP20801394A priority Critical patent/JPH0855034A/en
Publication of JPH0855034A publication Critical patent/JPH0855034A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To reduce interruption overheads without complicating hardware configuration even when the number of tasks to be processed is increased. CONSTITUTION:This arithmetic processor 1 is provided with two sets of register groups 3 and 4 for storing a pointer, a status and the other data required for internal operations. When one of the register groups 3 or 4 is accessible from the inside (in use), the other register group 4 or 3 is accessible from the outside (unused) and the two sets of the register groups 3 and 4 are switched corresponding to switching signals SW from the outside. An external processor 2 is provided with a memory 6 for saving the contents of the register groups 3 and 4 in the inside, returns the contents of the register group stored in the memory 6 and required for the task to be activated next to the unused register group 3 or 4 at the time of an interruption processing, then, supplies the switching signals SW to the arithmetic processor 1 and switches the register groups 3 and 4. Then, the contents of the unused register group 4 or 3 after changeover are saved in the memory 6.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は、マルチタスク処理を
実行するディジタル・シグナル・プロセッサ(DSP)
等に好適の演算プロセッサ及びこれを用いた割込処理シ
ステムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital signal processor (DSP) for executing multitask processing.
The present invention relates to a suitable arithmetic processor and an interrupt processing system using the same.

【0002】[0002]

【従来の技術】単一のDSPを用いて異なる複数のアプ
リケーションをマルチタスク処理にて実行する多重並列
オペレーションは、時分割多重方式により実行され、割
込処理によりタスクの切換が行われる。その際、割り込
まれるタスク及び割り込むタスクのプログラムカウンタ
値、ステータス及びアキュームレータ等のレジスタ格納
値の退避及び復元は、この種のオペレーションにおける
避けられないオーバーヘッドである。そこで、特開平2
−110739号には、各タスクのプログラムカウンタ
値やフラグ等のタスクセットを複数組備え、タスク切換
時にこれらのタスクセットを切換えることにより、レジ
スタ値の退避及び復元等の割込オーバーヘッドを減少さ
せたマルチタスク用中央処理装置が開示されている。
2. Description of the Related Art A multiple parallel operation for executing a plurality of different applications in a multitask process using a single DSP is executed by a time division multiplex system, and a task is switched by an interrupt process. At that time, saving and restoring the interrupted task and the program counter value of the interrupted task, the status, and the register stored values such as the accumulator is an unavoidable overhead in this kind of operation. Therefore, JP-A-2
-110739 has a plurality of task sets such as program counter values and flags for each task, and by switching between these task sets when switching tasks, interrupt overhead such as saving and restoring register values is reduced. A central processing unit for multitasking is disclosed.

【0003】[0003]

【発明が解決しようとする課題】しかしながら、上述し
た従来のマルチタスク用中央処理装置では、切換えるタ
スク数及びパイプライン処理のための分割数に比例して
レジスタ数が増し、ハードウェア構成が複雑化する。こ
の発明は、このような問題点に鑑みなされたもので、処
理すべきタスク数等が増えてもハードウェア構成が複雑
になることがなく、且つ割込オーバーヘッドを減少させ
ることができる演算プロセッサ及びこれを用いた割込処
理システムを提供することを目的とする。
However, in the above-described conventional multi-task central processing unit, the number of registers increases in proportion to the number of tasks to be switched and the number of divisions for pipeline processing, which complicates the hardware configuration. To do. The present invention has been made in view of such problems, and an arithmetic processor capable of reducing the interrupt overhead without complicating the hardware configuration even if the number of tasks to be processed increases. An object is to provide an interrupt processing system using this.

【0004】[0004]

【課題を解決するための手段】この発明に係る演算プロ
セッサは、プログラムを記憶するプログラム記憶手段
と、データを記憶するデータ記憶手段と、前記プログラ
ム記憶手段に記憶されたプログラムに従って各部を制御
する制御手段と、この制御手段により制御されて前記デ
ータ記憶手段に記憶されたデータに所定の演算処理を施
す演算手段と、これら各部の動作に必要なポインタ、ス
テータス及びその他のデータを格納するレジスタ群と備
えた演算プロセッサにおいて、前記レジスタ群は、一方
が前記各部からアクセス可能に接続され、他方が外部か
らアクセス可能に接続される同一構成の2組のレジスタ
群からなり、割込処理に伴って外部から供給される切換
信号に従って、前記各部からアクセス可能なレジスタ群
と前記外部からアクセス可能なレジスタ群とを切換える
レジスタ切換手段を備えたことを特徴とする。
The arithmetic processor according to the present invention is a program storage means for storing a program, a data storage means for storing data, and a control for controlling each part according to the program stored in the program storage means. Means, arithmetic means for performing predetermined arithmetic processing on the data stored in the data storage means under the control of the control means, and a group of registers for storing pointers, status and other data necessary for the operation of these respective parts. In the arithmetic processor provided, the register group is made up of two sets of register groups of the same configuration, one of which is connected to each of the units so that it can be accessed from the respective units, and the other of which is connected to the outside from the outside in accordance with an interrupt process. In accordance with a switching signal supplied from the above, a group of registers accessible from each unit and an access from the outside are provided. Characterized by comprising a register switching means for switching the scan capable registers.

【0005】また、この発明に係る割込処理システム
は、内部の動作に必要なポインタ、ステータス及びその
他のデータを格納するレジスタ群を2組備え、一方のレ
ジスタ群が内部からアクセス可能に接続され、他方のレ
ジスタ群が外部からアクセス可能に接続されると共に、
これら2組のレジスタ群を外部からの切換信号に従って
切換えるレジスタ切換手段を備えた演算プロセッサと、
内部に前記レジスタ群の内容を退避させる記憶手段を備
え、割込処理の際に、前記演算プロセッサの外部からア
クセス可能なレジスタ群に、前記記憶手段に記憶されて
いる次に起動すべきタスクに必要なレジスタ群の内容を
復帰させた後に前記切換信号を前記演算プロセッサに供
給して前記レジスタ群を切り換えると共に、切り換え後
の前記外部からアクセス可能なレジスタ群の内容を前記
記憶手段に退避させる外部制御手段とを備えたことを特
徴とする。
Further, the interrupt processing system according to the present invention is provided with two sets of registers for storing pointers, status and other data necessary for internal operation, and one register group is connected so as to be accessible from the inside. , While the other register group is connected to be accessible from outside,
An arithmetic processor having register switching means for switching these two sets of registers in accordance with a switching signal from the outside;
A storage means for saving the contents of the register group is provided inside, and a register group accessible from the outside of the arithmetic processor at the time of interrupt processing is used for a task to be started next stored in the storage means. After the necessary contents of the register group are restored, the switching signal is supplied to the arithmetic processor to switch the register group, and the contents of the register group accessible from the outside after the switching are saved in the storage means. And a control means.

【0006】[0006]

【作用】この発明によれば、ポインタ等を格納するレジ
スタ群を2組備え、一方のレジスタ群が内部動作に使用
されている最中に、他方のレジスタ群は外部に対してア
クセス可能となるので、この未使用のレジスタ群に対し
て、外部から復帰及び退避のためのアクセスを行うこと
ができる。このため、次に起動されるタスクのレジスタ
群の内容を予め復帰させておいたり、前に起動されたタ
スクのレジスタ群の内容を他のタスクが起動中に退避さ
せる等の処理を行うことにより、タスクの切り換えに伴
う割込オーバーヘッドを減少させることができる。しか
も、この発明によれば、タスク数が増えたりパイプライ
ン処理による命令サイクルの分割数が増えても、使用す
るレジスタ群の数は2組で十分であるため、ハードウェ
ア構成の複雑化を招くようなことも無い。
According to the present invention, two sets of register groups for storing pointers and the like are provided, and while one register group is being used for internal operation, the other register group is accessible to the outside. Therefore, it is possible to externally access the unused register group for restoration and saving. For this reason, the contents of the register group of the task to be activated next may be restored in advance, or the contents of the register group of the task activated previously may be saved while other tasks are activated. , It is possible to reduce the interrupt overhead associated with task switching. Moreover, according to the present invention, even if the number of tasks increases or the number of divisions of the instruction cycle due to the pipeline processing increases, the number of register groups to be used is sufficient to be two, so that the hardware configuration becomes complicated. There is no such thing.

【0007】[0007]

【実施例】以下、図面を参照して、この発明の実施例を
説明する。図1は、この発明の一実施例に係るマルチタ
スクシステムを示すブロック図である。このシステム
は、演算プロセッサ1と外部プロセッサ2とから構成さ
れる。演算プロセッサ1は、例えばDSPのような内部
に演算器を含む信号処理プロセッサで、内部にプログラ
ムカウンタ、ループカウンタ、ステータスレジスタ、書
き込み読み出しポインタ、並びに演算器、メモリ、デコ
ーダ等の内部レジスタを有する。ここでは、これらを総
称してレジスタ群と呼ぶ。このシステムの演算プロセッ
サ1では、このようなレジスタ群がREGA3とREG
B4の2組設けられている。REGA3及びREGB4
は、同一構成で、一方が使用中で内部からアクセス可能
なときに、他方が未使用となり外部からアクセス可能に
接続される。これらは外部からの切換信号SWによって
切換えられる。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a multitask system according to an embodiment of the present invention. This system includes an arithmetic processor 1 and an external processor 2. The arithmetic processor 1 is, for example, a signal processor including an arithmetic unit inside such as a DSP, and internally has a program counter, a loop counter, a status register, a write / read pointer, and internal registers such as an arithmetic unit, a memory, and a decoder. Here, these are collectively referred to as a register group. In the arithmetic processor 1 of this system, such a register group has REGA3 and REG.
Two sets of B4 are provided. REGA3 and REGB4
Have the same configuration, and when one is in use and accessible from the inside, the other is unused and connected so that it can be accessed from the outside. These are switched by a switching signal SW from the outside.

【0008】外部プロセッサ2は、外部コントローラ
5、メモリ6及び割込処理受付部7を備えて構成されて
いる。外部コントローラ5は、割込処理受付部7で受け
付けた外部からの割込要求に従って、演算プロセッサ1
に対する割込処理を実行したり、メモリ6に記憶された
多重実行処理プログラムに従って、タスク切換のための
スケジューリングや割込処理を実行する。割込処理に際
して、外部コントローラ5は、未使用のレジスタ群(R
EGA3又はREGB4)に格納されているレジスタ値
をメモリ6に格納し、次に起動すべきタスクのレジスタ
値をメモリ6から読み出して未使用のレジスタ群(RE
GA3又はREGB4)に格納する。割込処理受付部7
は、RS−232C、SCSI等のアナログ、ディジタ
ルインターフェース、及びデータ受信バッファ等から構
成され、外部機器からの割込要求を受け付ける。
The external processor 2 comprises an external controller 5, a memory 6 and an interrupt processing acceptance section 7. The external controller 5 operates in accordance with the interrupt request from the outside received by the interrupt processing reception unit 7
For the task switching, or according to the multiple execution processing program stored in the memory 6, scheduling for task switching and interrupt processing. At the time of interrupt processing, the external controller 5 uses the unused register group (R
The register value stored in the EGA 3 or REGB 4) is stored in the memory 6, and the register value of the task to be activated next is read from the memory 6 and the unused register group (RE
It is stored in GA3 or REGB4). Interrupt processing acceptance section 7
Is composed of an analog and digital interface such as RS-232C and SCSI, a data reception buffer and the like, and receives an interrupt request from an external device.

【0009】図2は、演算プロセッサ1の一例を示す詳
細ブロック図である。内部バス11には、演算処理プロ
グラムを格納するプログラムメモリ12と、演算処理に
必要な係数や信号データ等を格納するデータメモリ13
と、演算器を構成する乗算器14及び算術論理ユニット
(ALU)15等が接続されている。プログラムメモリ
12に格納された命令コードは、プログラムカウンタ
(PC)16によって一つずつ読み出され、インストラ
クションレジスタ(IR)17に格納されたのち、デコ
ーダ18に供給されて解読される。これにより、各部が
コントロール信号によって制御される。データメモリ1
3の読出アドレスと書込アドレスとは、それぞれ読出ポ
インタ(RP)19及び書込ポインタ(WP)20によ
って指定される。
FIG. 2 is a detailed block diagram showing an example of the arithmetic processor 1. The internal bus 11 has a program memory 12 for storing an arithmetic processing program and a data memory 13 for storing coefficients and signal data necessary for arithmetic processing.
Are connected to a multiplier 14 and an arithmetic logic unit (ALU) 15 that form an arithmetic unit. The instruction codes stored in the program memory 12 are read one by one by the program counter (PC) 16, stored in the instruction register (IR) 17, and then supplied to the decoder 18 for decoding. As a result, each unit is controlled by the control signal. Data memory 1
The read address and the write address of No. 3 are designated by the read pointer (RP) 19 and the write pointer (WP) 20, respectively.

【0010】乗算器14に与えられる係数等のデータ
は、データメモリ13から読み出され、内部バス11を
介して乗算レジスタ(MR)21に格納される。この格
納データと、プログラムメモリ12から内部バス11を
介して供給されたオペランドとが、マルチプレクサ(M
UX)22によって択一的に選択され、乗算器14の一
方に与えられ、乗算器14の他方に信号処理データ等が
与えられる。乗算器14の出力と内部バス11を介して
与えられるデータのいずれか一方が、マルチプレクサ
(MUX)23によって選択され、ALU15の一方の
入力として与えられ、ALU15の出力又は内部バス1
1上のデータがALU15の他方の入力として与えられ
る。ALU15の出力はアキュームレータ(ACC)2
4に格納される。ALU15の計算結果によって決定さ
れるステータス情報は、ステータスレジスタ(SR)2
5に格納される。また、ループ処理の処理回数は、ルー
プカウンタ(LC)26に保持される。この他、この演
算プロセッサ1には、補助レジスタ27及び補助レジス
タ専用演算ユニット(ARAU)28が設けられてい
る。また、スタック29には、同一タスク内で分岐処理
等が発生した場合のプログラムカウンタの値がスタック
される。
Data such as a coefficient given to the multiplier 14 is read from the data memory 13 and stored in the multiplication register (MR) 21 via the internal bus 11. The stored data and the operand supplied from the program memory 12 via the internal bus 11 are multiplexed by the multiplexer (M
UX) 22 and is selectively supplied to one of the multipliers 14, and signal processing data and the like are supplied to the other of the multipliers 14. One of the output of the multiplier 14 and the data provided via the internal bus 11 is selected by the multiplexer (MUX) 23 and provided as one input of the ALU 15, and the output of the ALU 15 or the internal bus 1
The data on 1 is provided as the other input of ALU 15. The output of ALU15 is the accumulator (ACC) 2
Stored in 4. The status information determined by the calculation result of the ALU 15 is the status register (SR) 2
Stored in 5. The number of times of loop processing is held in the loop counter (LC) 26. In addition, the arithmetic processor 1 is provided with an auxiliary register 27 and an auxiliary register dedicated arithmetic unit (ARAU) 28. Further, the stack 29 stores the value of the program counter when branch processing or the like occurs in the same task.

【0011】以上の構成において、プログラムカウンタ
16、読出ポインタ19、書込ポインタ20、乗算レジ
スタ21、アキュームレータ、ステータスレジスタ2
5、ループカウンタ26、保持レジスタ27及びスタッ
ク29等は、タスク切り換え時に全て退避し復元しなけ
ればならない内容を保持したものである。演算プロセッ
サ1には、これらのレジスタ群がそれぞれ2組備えら
れ、切換信号SWによって切換えられる。
In the above configuration, the program counter 16, read pointer 19, write pointer 20, multiplication register 21, accumulator, status register 2
5, the loop counter 26, the holding register 27, the stack 29, and the like hold the contents that must be saved and restored when switching tasks. The arithmetic processor 1 is provided with two sets of these respective register groups, which are switched by the switching signal SW.

【0012】図3は、これらのレジスタ群のうちの1組
のレジスタとその切換手段の具体的構成例を示す図であ
る。レジスタ31,32は、上述したプログラムカウン
タ16などのレジスタ群の一つで、その入力端側及び出
力端側にそれぞれ選択回路33,34,35,36が備
えられている。選択回路33は、内部からのデータをレ
ジスタ31,32のいずれに出力するかを選択し、選択
回路34は、外部からのデータをレジスタ31,32の
いずれに出力するかを選択する。選択回路35は、レジ
スタ31,32のいずれから内部にデータを出力するか
を選択し、選択回路36は、レジスタ31,32のいず
れから外部にデータを出力するかを選択する。インバー
タ37は、選択回路33,35に与える制御信号と選択
回路34,36に与える制御信号とを反転させる。切換
信号SWが“0”のときは、選択回路33,35に供給
される制御信号が“1”、選択回路34,35に供給さ
れる制御信号が“0”となるので、レジスタ31が内部
からアクセス可能になり、レジスタ32が外部からアク
セス可能になる。切換信号SWが“1”のときは、選択
回路33,35に供給される制御信号が“0”、選択回
路34,35に供給される制御信号が“1”となるの
で、レジスタ32が内部からアクセス可能になり、レジ
スタ31が外部からアクセス可能になる。
FIG. 3 is a diagram showing a concrete configuration example of one set of registers among these register groups and switching means therefor. The registers 31 and 32 are one of a group of registers such as the program counter 16 described above, and selection circuits 33, 34, 35 and 36 are provided on the input end side and the output end side thereof, respectively. The selection circuit 33 selects which of the registers 31 and 32 to output the data from the inside, and the selection circuit 34 selects which of the registers 31 and 32 to output the data from the outside. The selection circuit 35 selects which of the registers 31 and 32 to output the data to inside, and the selection circuit 36 selects which of the registers 31 and 32 to output the data to outside. The inverter 37 inverts the control signal supplied to the selection circuits 33 and 35 and the control signal supplied to the selection circuits 34 and 36. When the switching signal SW is "0", the control signal supplied to the selection circuits 33 and 35 is "1" and the control signal supplied to the selection circuits 34 and 35 is "0". From the outside, and the register 32 can be accessed from the outside. When the switching signal SW is "1", the control signal supplied to the selection circuits 33 and 35 is "0", and the control signal supplied to the selection circuits 34 and 35 is "1". And the register 31 can be accessed from the outside.

【0013】以上のシステムにおいて、いま、起動され
るタスクの取り得る状態が、例えば図4に示すように、
RUN、WAIT、READY、及びSUSPENDの
4つであるとする。RUNは、タスクが実行している状
態で、この状態から事象待ちに入るとWAITに遷移す
る。また、READYは、待機状態で、タスクがいつで
も実行状態に遷移し得る状態である。WAITから事象
待ちが完了した場合にもこの状態になり得る。SUSP
ENDは、タスクが停止している状態で、この状態から
直ちに実行状態に移ることはできない。READY及び
WAITから強制中止された場合にも、この状態に遷移
する。
In the system described above, the possible states of the activated task are as follows, for example, as shown in FIG.
There are four types, RUN, WAIT, READY, and SUSPEND. The RUN makes a transition to WAIT when it waits for an event from this state while the task is executing. READY is a state in which the task can transit to the execution state at any time in the standby state. This state can also be entered when the event wait is completed from WAIT. SUSP
END is a state in which the task is stopped, and it is not possible to immediately shift from this state to the execution state. This state is also transitioned to when it is forcibly canceled from READY and WAIT.

【0014】図5は、イベント発生時に外部コントロー
ラ5が実行する処理の概要を示すフローチャートであ
る。外部コントローラ5は、外部からの割込又は多重実
行処理からのイベントが発生すると、この処理を起動
し、先ず、内部の実行待ち行列等を参照したり、全タス
クの状態(WAIT,READY等)を判断して全タス
クの優先順序を判断する(S1)。次に、発生したイベ
ントがタスクの切換を必要とするかどうかを判断し(S
2)、タスク切換が不要であれば処理を終了するが、タ
スク切換が必要であれば、次に起動するタスクのレジス
タの内容をメモリ6から読み出して未使用のレジスタ群
(REGA3又はREGB4)にそれを書き込む(S
3)。そして、タスク切換のタイミングを判定し(S
4)、タスク切換と同時に切換信号SWを反転させてレ
ジスタ群を切換える(S5)。最後に、新たに未使用と
なったレジスタ群の内容をメモリ6の所定の記憶場所に
格納する。これにより、演算プロセッサ1は、瞬時にタ
スクの切換を行うことができ、タスクが切り替わったこ
とすら検知する必要がない。
FIG. 5 is a flow chart showing an outline of processing executed by the external controller 5 when an event occurs. When an event from an external interrupt or multiple execution process occurs, the external controller 5 activates this process and first refers to the internal execution queue etc. and the status of all tasks (WAIT, READY, etc.). To determine the priority order of all tasks (S1). Next, it is determined whether or not the event that has occurred requires switching of tasks (S
2) If the task switching is not necessary, the process is terminated. If the task switching is necessary, the contents of the register of the task to be activated next is read from the memory 6 and set in an unused register group (REGA3 or REGB4). Write it (S
3). Then, the timing of task switching is determined (S
4) Simultaneously with the task switching, the switching signal SW is inverted to switch the register group (S5). Finally, the contents of the newly unused register group are stored in a predetermined storage location of the memory 6. As a result, the arithmetic processor 1 can instantly switch the tasks, and does not need to detect even the switching of the tasks.

【0015】なお、上記の処理では、未使用のレジスタ
群に次のタスクの内容を復帰しておいてから、タスク切
換を実行し、新たに未使用となったレジスタ群の内容を
外部メモリに退避するようにしたが、タスク切換前に未
使用のレジスタ群の内容を外部メモリに退避してから、
次に起動するタスクのレジスタ群の内容を外部メモリか
ら復帰させてタスクを切換えるようにしてもよい。ま
た、外部コントローラ5は、次に切換えるタスクが前回
起動されたタスクであるかどうかを判断し、前回起動さ
れたタスクである場合には、未使用のレジスタ群に前回
のレジスタ群の内容が破壊されずに残っているので、メ
モリからの復帰動作を行わずに直ちにレジスタ群を切換
えるようにしても良い。
In the above processing, the contents of the next task are restored to the unused register group, and then the task switching is executed, and the contents of the newly unused register group are stored in the external memory. Although it was saved, the contents of the unused register group are saved to the external memory before the task switching,
The contents of the register group of the task to be activated next may be restored from the external memory to switch the task. Also, the external controller 5 determines whether the task to be switched next is the previously activated task, and if it is the previously activated task, destroys the contents of the previous register group in the unused register group. The register group may be switched immediately without performing the operation of returning from the memory because it remains without being restored.

【0016】[0016]

【発明の効果】以上述べたように、この発明によれば、
ポインタ等を格納するレジスタ群を2組備え、一方のレ
ジスタ群が内部動作に使用されている最中に、他方の未
使用のレジスタ群に対して、外部から復帰及び退避のた
めのアクセスを行うことができるので、次に起動される
タスクのレジスタ群の内容を予め復帰させておいたり、
前に起動されたタスクのレジスタ群の内容を他のタスク
が起動中に退避させる等の処理を行うことにより、タス
クの切り換えに伴う割込オーバーヘッドを減少させるこ
とができる。しかも、この発明によれば、タスク数が増
えたりパイプライン処理による命令サイクルの分割数が
増えても、使用するレジスタ群の数は2組で十分である
ため、ハードウェア構成の複雑化を招くことがないとい
う効果を奏する。
As described above, according to the present invention,
Two sets of registers that store pointers and the like are provided, and while one register group is being used for internal operation, the other unused register group is accessed for restoration and saving from the outside. Since it is possible to restore the contents of the register group of the task to be started next,
By performing processing such as saving the contents of the register group of the task that was previously activated during activation by another task, it is possible to reduce the interrupt overhead associated with task switching. Moreover, according to the present invention, even if the number of tasks increases or the number of divisions of the instruction cycle due to the pipeline processing increases, the number of register groups to be used is sufficient to be two, so that the hardware configuration becomes complicated. It has the effect of never happening.

【図面の簡単な説明】[Brief description of drawings]

【図1】 この発明の一実施例に係るマルチタスクシス
テムのブロック図である。
FIG. 1 is a block diagram of a multitasking system according to an embodiment of the present invention.

【図2】 同システムにおける演算プロセッサの内容を
示すブロック図である。
FIG. 2 is a block diagram showing contents of an arithmetic processor in the system.

【図3】 同演算プロセッサにおける各レジスタとその
切換手段の構成を示すブロック図である。
FIG. 3 is a block diagram showing a configuration of each register and its switching means in the arithmetic processor.

【図4】 同システムで起動されるタスクの状態を説明
するための状態遷移図である。
FIG. 4 is a state transition diagram for explaining a state of a task activated in the system.

【図5】 同システムにおけるイベント発生時の割込処
理を示すフローチャートである。
FIG. 5 is a flowchart showing interrupt processing when an event occurs in the system.

【符号の説明】[Explanation of symbols]

1…演算プロセッサ、2…外部プロセッサ、3,4…レ
ジスタ群、5…外部コントローラ、6…メモリ、7…割
込処理受付部。
1 ... Arithmetic processor, 2 ... External processor, 3, 4 ... Register group, 5 ... External controller, 6 ... Memory, 7 ... Interrupt processing acceptance unit.

【手続補正書】[Procedure amendment]

【提出日】平成6年8月18日[Submission date] August 18, 1994

【手続補正1】[Procedure Amendment 1]

【補正対象書類名】図面[Document name to be corrected] Drawing

【補正対象項目名】図3[Name of item to be corrected] Figure 3

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【図3】 [Figure 3]

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 プログラムを記憶するプログラム記憶手
段と、 データを記憶するデータ記憶手段と、 前記プログラム記憶手段に記憶されたプログラムに従っ
て各部を制御する制御手段と、 この制御手段により制御されて前記データ記憶手段に記
憶されたデータに所定の演算処理を施す演算手段と、 これら各部の動作に必要なポインタ、ステータス及びそ
の他のデータを格納するレジスタ群とを備えた演算プロ
セッサにおいて、 前記レジスタ群は、一方が前記各部からアクセス可能に
接続され、他方が外部からアクセス可能に接続される同
一構成の2組のレジスタ群からなり、 割込処理に伴って外部から供給される切換信号に従っ
て、前記各部からアクセス可能なレジスタ群と前記外部
からアクセス可能なレジスタ群とを切換えるレジスタ切
換手段を備えたことを特徴とする演算プロセッサ。
1. A program storage means for storing a program, a data storage means for storing data, a control means for controlling each part according to the program stored in the program storage means, and the data controlled by the control means. In an arithmetic processor provided with arithmetic means for performing a predetermined arithmetic processing on data stored in the storage means, and a register group for storing pointers, status and other data necessary for the operation of each of these parts, wherein the register group is One of the groups is composed of two sets of registers of the same configuration, one of which is connected to be accessible from each section and the other of which is accessible from the outside. Register switching for switching between accessible register groups and externally accessible register groups An arithmetic processor comprising a conversion means.
【請求項2】 内部の動作に必要なポインタ、ステータ
ス及びその他のデータを格納するレジスタ群を2組備
え、一方のレジスタ群が内部からアクセス可能に接続さ
れ、他方のレジスタ群が外部からアクセス可能に接続さ
れると共に、これら2組のレジスタ群を外部からの切換
信号に従って切換えるレジスタ切換手段を備えた演算プ
ロセッサと、 内部に前記レジスタ群の内容を退避させる記憶手段を備
え、割込処理の際に、前記演算プロセッサの外部からア
クセス可能なレジスタ群に、前記記憶手段に記憶されて
いる次に起動すべきタスクに必要なレジスタ群の内容を
復帰させた後に前記切換信号を前記演算プロセッサに供
給して前記レジスタ群を切り換えると共に、切り換え後
の前記外部からアクセス可能なレジスタ群の内容を前記
記憶手段に退避させる外部制御手段とを備えたことを特
徴とする割込処理システム。
2. A set of two registers for storing pointers, statuses and other data necessary for internal operation is provided, one register group is connected to be accessible from the inside, and the other register group is accessible from the outside. And an arithmetic processor provided with register switching means for switching these two sets of register groups in accordance with a switching signal from the outside, and a storage means for internally saving the contents of the register groups. Further, after the contents of the register group necessary for the task to be activated next stored in the storage means are restored to the register group accessible from the outside of the arithmetic processor, the switching signal is supplied to the arithmetic processor. Then, the register group is switched, and the contents of the register group accessible from the outside after switching are stored in the memory. Interrupt processing system characterized by comprising an external control means for saving the.
JP20801394A 1994-08-09 1994-08-09 Arithmetic processor and interrupt processing system using the processor Pending JPH0855034A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20801394A JPH0855034A (en) 1994-08-09 1994-08-09 Arithmetic processor and interrupt processing system using the processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20801394A JPH0855034A (en) 1994-08-09 1994-08-09 Arithmetic processor and interrupt processing system using the processor

Publications (1)

Publication Number Publication Date
JPH0855034A true JPH0855034A (en) 1996-02-27

Family

ID=16549235

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20801394A Pending JPH0855034A (en) 1994-08-09 1994-08-09 Arithmetic processor and interrupt processing system using the processor

Country Status (1)

Country Link
JP (1) JPH0855034A (en)

Similar Documents

Publication Publication Date Title
JP2645669B2 (en) Data processing system
US5247628A (en) Parallel processor instruction dispatch apparatus with interrupt handler
US5918033A (en) Method and apparatus for dynamic location and control of processor resources to increase resolution of data dependency stalls
US5613114A (en) System and method for custom context switching
NZ236142A (en) Data processor skips execution of instructions in queue that are tagged as requiring unavailable data
JPH087678B2 (en) Computers for processing different architecture instructions and resulting communication methods
JPH03286332A (en) Digital data processor
JPH1011301A (en) Multitask processor and multitask processing control method
JPH0916409A (en) Microcomputer
JPH0855034A (en) Arithmetic processor and interrupt processing system using the processor
US5784606A (en) Method and system in a superscalar data processing system for the efficient handling of exceptions
JPH07219766A (en) Arithmetic processor
JPH0754467B2 (en) Data processing device
JP2585905B2 (en) Multitask execution device
JP2925842B2 (en) Pipeline processing equipment
JP2896207B2 (en) A / D converter
JPS60250438A (en) Information processor
JP2768878B2 (en) Data processing device, method for synchronizing instruction execution, method for saving instruction address when exception occurs, and method for invalidating instruction processing when exception occurs
JPH06274353A (en) Signal processing processor
JP2583614B2 (en) Vector arithmetic unit
JPH10207720A (en) Information processor
JPH07210384A (en) Floating point arithmetic unit
JPH0689349A (en) Microprocessor
JPH05341995A (en) Instruction control method in processor and processor
JPH02110739A (en) Central processing unit for multi-task

Legal Events

Date Code Title Description
A02 Decision of refusal

Effective date: 20040330

Free format text: JAPANESE INTERMEDIATE CODE: A02