JPH0855033A - Information processor - Google Patents

Information processor

Info

Publication number
JPH0855033A
JPH0855033A JP6192615A JP19261594A JPH0855033A JP H0855033 A JPH0855033 A JP H0855033A JP 6192615 A JP6192615 A JP 6192615A JP 19261594 A JP19261594 A JP 19261594A JP H0855033 A JPH0855033 A JP H0855033A
Authority
JP
Japan
Prior art keywords
task
register
bank
prefetch
instruction code
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
JP6192615A
Other languages
Japanese (ja)
Other versions
JP2689914B2 (en
Inventor
Naoko Nakayama
尚子 中山
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP6192615A priority Critical patent/JP2689914B2/en
Publication of JPH0855033A publication Critical patent/JPH0855033A/en
Application granted granted Critical
Publication of JP2689914B2 publication Critical patent/JP2689914B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To eliminate the clearance of a prefetch queue and the prefetch time of the instruction code of a changeover destination at the time of task changeover and to accelerate the task changeover. CONSTITUTION:A bus control unit 2A is provided with the plural pieces of the prefetch queues 21 to 24 and a bank selection register 16 and a bank selection part 17 select one of the prefetch queues 21 to 24 linked with the selection of a register bank.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は情報処理装置に関し、特
に複数のレジスタバンクを持ちこのレジスタバンクの切
替によりマルチタスクのタスク切替を行うマイクロプロ
セッサ等の情報処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus, and more particularly to an information processing apparatus such as a microprocessor which has a plurality of register banks and performs a multitask task switching by switching the register banks.

【0002】[0002]

【従来の技術】最近の特にパイプライン方式のマイクロ
プロセッサのアーキテクチャにおいては、1つのCPU
に対して複数のレジスタから成る1組のレジスタバンク
を備え、CPUの1命令毎にタスクを切替えることによ
り複数のタスク(マルチタスク)を時分割で実行する方
式が広く採用されている。
2. Description of the Related Art In recent years, especially in the pipeline type microprocessor architecture, one CPU is used.
On the other hand, a method is widely adopted in which a set of register banks including a plurality of registers is provided and a plurality of tasks (multitasks) are executed in a time-sharing manner by switching tasks for each instruction of the CPU.

【0003】従来、この種のレジスタバンクを用いてマ
ルチタスクのタスク切替を行うマイクロプロセッサにお
いて、命令キューが1個しかない場合にはタスクの切替
毎にプリフェッチしておいたこのキュー内のデータを一
旦スタック領域に退避させた上で次の切替先のタスクの
データを別のメモリ領域からフェッチするので、このタ
スク切替期間中はタスクの実行が不可能であり、したが
って、時間的な損失が大きくなる。
Conventionally, in a microprocessor that uses this kind of register bank to perform multitask task switching, if there is only one instruction queue, the data in this queue that has been prefetched at each task switching is used. Since the data of the task to be switched next is fetched from another memory area after being saved in the stack area once, it is impossible to execute the task during this task switching period. Become.

【0004】従来の一般的なパイプライン方式のマイク
ロプロセッサである第1の情報処理装置をブロックで示
す図2を参照すると、この図に示す従来の情報処理装置
は、CPU(図示省略)からの命令のデコードおよび演
算を行なう実行ユニット1と、バスの制御を行うバスコ
ントロールユニット2とを備える。
Referring to FIG. 2 which is a block diagram showing a first information processing apparatus which is a conventional general pipeline type microprocessor, the conventional information processing apparatus shown in this figure is a CPU (not shown). An execution unit 1 for decoding and operating instructions and a bus control unit 2 for controlling the bus are provided.

【0005】実行ユニット1は、命令コードをデコード
しこのデコート結果から実行ユニット1の各構成要素に
対する指示信号を生成・出力する命令デコード部11
と、複数の汎用のレジスタ31〜34とを備える。
The execution unit 1 decodes an instruction code and generates and outputs an instruction signal for each constituent element of the execution unit 1 from the result of the decoding, an instruction decoding unit 11
And a plurality of general-purpose registers 31 to 34.

【0006】バスコントロールユニット2はプリフェッ
チした命令コードを一時的に蓄えこの蓄えた命令コード
を順番に実行ユニット1へ送出する機能を持つFIFO
バッファからなるプリフェッチキュー26を備える。
The bus control unit 2 is a FIFO having a function of temporarily storing prefetched instruction codes and sequentially sending the stored instruction codes to the execution unit 1.
A prefetch queue 26 including a buffer is provided.

【0007】次に、図2を参照して、従来の第1の情報
処理装置の動作について説明すると、実行ユニット1と
バスコントロールユニット2は、それぞれ独立に動作す
ることが可能である。すなわち、実行ユニット1におけ
る命令実行中に、この命令の実行結果に基くバスの起動
要求が発生していなくても、バスコントロールユニット
2は命令コードのプリフェッチを行うことが可能であ
る。プリフェッチされた命令コードはプリフェッチキュ
ー26に順番に蓄えられる。実行ユニット1において1
つの命令の実行が終了すると、プリフェッチキュー26
は命令デコード部11へ次の命令コードを転送する。そ
の結果、プリフェッチキュー26内のデータが減少しメ
モリ領域が空くので、さらに次のアドレスの命令コード
をプリフェッチできる。したがって、実行ユニット1は
1つの命令の実行を終了すると、直ちに次の命令コード
を受け取り実行できるため、命令コードのフェッチ時間
を待つことなく常に命令の実行が可能であり、高速にプ
ログラムの処理をすることができる。
Next, the operation of the first conventional information processing apparatus will be described with reference to FIG. 2. The execution unit 1 and the bus control unit 2 can operate independently. That is, during execution of an instruction in the execution unit 1, the bus control unit 2 can prefetch an instruction code even if a bus activation request based on the execution result of this instruction is not issued. The prefetched instruction codes are sequentially stored in the prefetch queue 26. 1 in execution unit 1
When the execution of one instruction is completed, the prefetch queue 26
Transfers the next instruction code to the instruction decoding unit 11. As a result, the amount of data in the prefetch queue 26 decreases and the memory area becomes empty, so that the instruction code at the next address can be prefetched. Therefore, since the execution unit 1 can immediately receive and execute the next instruction code after finishing the execution of one instruction, the instruction can be always executed without waiting for the instruction code fetch time, and the program processing can be performed at high speed. can do.

【0008】しかし、マルチタスクオペレーテングシス
テム(OS)におけるタスク切替時等アドレスが不連続
となる場合、現在実行中の処理を中断し、分岐先のプロ
グラムを実行するまでに切替前のタスクで使用していた
複数の汎用のレジスタ31〜34の格納データをスタッ
クへ退避/復帰する必要があるという問題点がある。
However, when addresses are discontinuous when switching tasks in a multi-task operating system (OS), the processing currently being executed is interrupted and used by the task before switching until the branch destination program is executed. There is a problem that it is necessary to save / restore the data stored in the plurality of general-purpose registers 31 to 34 to / from the stack.

【0009】この問題点を解決した特開平2−2534
40号公報記載の従来の第2の情報処理装置は、1つの
CPUに対して複数のタスク実行キュー対応のレジスタ
バンクと、これらタスク実行キューの実行順序などの制
御用の制御レジスタおよびキュー切替制御部とを備え、
上記複数のタスク実行キューにより複数のタスクを時分
割平行処理するものである。
Japanese Unexamined Patent Publication No. 2-2534 which solves this problem
The conventional second information processing apparatus disclosed in Japanese Patent No. 40 discloses a register bank corresponding to a plurality of task execution queues for one CPU, a control register for controlling the execution order of these task execution queues, and a queue switching control. Section and
A plurality of tasks are time-divisionally parallel-processed by the plurality of task execution queues.

【0010】従来の第2の情報処理装置を図2と共通の
表現で示すとともに共通の構成要素には共通の参照文字
/数字を付して同様にブロックで示す図3を参照する
と、この従来の第2の情報処理装置は、実行ユニット1
の代りに、図2と共通の命令デコーダ部11と、第1〜
第4の4つのレジスタバンク12〜15と、レジスタバ
ンク12〜15のうちの常に一つのみを選択するための
バンク選択レジスタ16と、バンク選択部17とを備え
る。
Referring to FIG. 3, which shows a second conventional information processing apparatus in common representation with FIG. 2 and common blocks are also denoted by common reference characters / numerals, reference is made to FIG. The second information processing device is the execution unit 1
Instead of the instruction decoder unit 11 common to FIG.
It includes a fourth four register banks 12 to 15, a bank selection register 16 for always selecting only one of the register banks 12 to 15, and a bank selection unit 17.

【0011】レジスタバンク12〜15の各々は複数の
汎用レジスタとタスクの実行アドレスの情報と格納デー
タ退避領域などから構成される。
Each of the register banks 12 to 15 comprises a plurality of general-purpose registers, task execution address information, a stored data save area, and the like.

【0012】図3を参照して従来の第2の情報処理装置
の動作について説明すると、ここでは、上記のようにレ
ジスタバンクを4つ有し、処理するタスクの数も4つで
ある場合を例とする。選択されるレジスタバンクの番号
はバンク選択レジスタ16に示され、そのデータをバン
ク選択部17でデコードする。そのデコード出力をそれ
ぞれレジスタバンク12〜15の各々に接続することに
より、タスクに対応する1つのレジスタバンクが選択さ
れる。選択されたレジスタバンクのみ汎用レジスタとし
ての使用が可能になる。
The operation of the second conventional information processing apparatus will be described with reference to FIG. 3. Here, as described above, there is a case in which four register banks are provided and the number of tasks to be processed is four. Take for example. The number of the register bank to be selected is shown in the bank selection register 16, and the data is decoded by the bank selection unit 17. By connecting the decoded output to each of the register banks 12 to 15, one register bank corresponding to the task is selected. Only the selected register bank can be used as a general-purpose register.

【0013】レジスタバンク12〜16の第1〜第4の
各番号と第1〜第4の4つのタスクの番号はそれぞれ1
対1に対応させると、以下のようにタスク切替およびレ
ジスタバンク切替を実行することができる。実行中のタ
スク番号が使用中のレジスタバンク番号となり、バンク
選択レジスタに示される。タスクの切替時に、切替先の
タスク番号をバンク選択レジスタ16へ設定すればバン
ク選択レジスタ16の値のデコード結果にしたがってレ
ジスタバンクが切替わる。レジスタバンク12〜16の
各々には対応タスクの実行アドレスの情報が含まれてい
るので次のプリフェッチ対象アドレスも切替わる。この
とき、実行アドレスが不連続になるため、プリフェッチ
キューの内容を一度クリアし、切替後のアドレスの命令
コードをプリフェッチする。以上でタスク切替が完了す
る。
The first to fourth numbers of the register banks 12 to 16 and the four task numbers of the first to fourth tasks are 1 respectively.
Corresponding to the pair 1, task switching and register bank switching can be executed as follows. The task number being executed becomes the register bank number being used and is shown in the bank selection register. When switching a task, if the task number of the switching destination is set in the bank selection register 16, the register bank is switched according to the decoding result of the value of the bank selection register 16. Since each of the register banks 12 to 16 contains information on the execution address of the corresponding task, the next prefetch target address is also switched. At this time, since the execution addresses are discontinuous, the contents of the prefetch queue are cleared once, and the instruction code at the switched address is prefetched. This completes task switching.

【0014】タスクおよびレジスタバンクの切替の例を
説明すると、第1タスクを処理中に使用されるレジスタ
バンクは第1レジスタバンク12である。処理対象タス
クが第1タスクから第3タスクに切替わるとレジスタバ
ンクも第1レジスタバンク12から第3レジスタバンク
14に切替わる。また、処理対象タスクが第3タスクか
ら第1タスクに切替わる場合も、レジスタバンクが第3
レジスタバンク14から第1レジスタバンク12に切替
わるため、それぞれのタスク対応の汎用レジスタの退避
/復帰の必要が無く、最初の第1タスクの処理時と同一
の汎用レジスタの状態で第1タスクの処理を続けること
が可能である。したがって、タスク切替前の使用汎用レ
ジスタの退避/復帰が不要となり、タスク切替時間を短
縮することが可能である。
Explaining an example of switching between tasks and register banks, the register bank used during processing of the first task is the first register bank 12. When the processing target task is switched from the first task to the third task, the register bank is also switched from the first register bank 12 to the third register bank 14. Also, when the task to be processed switches from the third task to the first task, the register bank is set to the third task.
Since the register bank 14 is switched to the first register bank 12, there is no need to save / restore the general-purpose register corresponding to each task, and the first task can be executed in the same general-purpose register state as when processing the first first task. It is possible to continue processing. Therefore, it is not necessary to save / restore the general-purpose registers used before task switching, and the task switching time can be shortened.

【0015】上述したプリフェッチキューは、連続する
アドレスに対してのみ命令コードのプリフェッチが可能
である。したがって、従来の第2の情報処理装置では、
タスクの切替時にプリフェッチキューにプリフェッチさ
れていた命令コードは全てクリアし、タスク切替後次の
プログラムの実行前に必ずこのプログラムの命令コード
のフェッチのためのプリフェッチサイクルを行う。
The prefetch queue described above can prefetch instruction codes only for consecutive addresses. Therefore, in the second conventional information processing apparatus,
All instruction codes that have been prefetched in the prefetch queue at the time of task switching are cleared, and a prefetch cycle for fetching the instruction code of this program is always performed before the execution of the next program after task switching.

【0016】[0016]

【発明が解決しようとする課題】上述した従来の第1の
情報処理装置は、マルチタスクOSにおけるタスク切替
時のアドレスの不連続時には、現在実行中の処理を中断
し切替先のプログラムを実行するまでに切替前のタスク
で使用していた複数の汎用レジスタの格納データをスタ
ックへ退避/復帰する必要があるためタスク切替時間が
長くなるという欠点があった。
The first conventional information processing apparatus described above interrupts the processing currently being executed and executes the program of the switching destination when the addresses are discontinuous during task switching in the multitask OS. The task switching time becomes long because it is necessary to save / restore the data stored in the plurality of general-purpose registers used in the task before switching to the stack.

【0017】上記汎用レジスタの格納データのスタック
への退避/復帰を不要とした従来の第2の情報処理装置
は、タスクの切替時のアドレスの不連続のため、プリフ
ェッチキューにプリフェッチされていた命令コードは全
部クリアされ、タスク切替後、次のプログラムの実行前
にこのタスク切替後のプログラムの命令コードをフェッ
チするためのプリフェッチサイクルを必要とするので、
やはりタスク切替時間が長くなるという欠点があった。
In the conventional second information processing apparatus which does not require saving / restoring the data stored in the general-purpose register to the stack, the instruction that has been prefetched in the prefetch queue due to the discontinuity of the address when switching the task. All the codes are cleared, and after the task switching, the prefetch cycle for fetching the instruction code of the program after this task switching is required before executing the next program.
After all, there was a drawback that the task switching time became long.

【0018】[0018]

【課題を解決するための手段】本発明の情報処理装置
は、複数の汎用レジスタを含むN個のレジスタバンク
と、前記N個のレジスタバンクのうちの1つを選択レジ
スタバンクとして選択するレジスタバンク選択手段と、
命令コードをデコードしこのデコート結果に対応する処
理の指示信号を生成する命令デコード手段と、プリフェ
ッチした前記命令コードを一時的に保持しこの保持した
命令コードを予め定めた順序で前記命令デコード手段に
送出するプリフェッチ命令コードバッファ手段を含むバ
ス制御手段とを備える情報処理装置において、前記バス
制御手段がN個の前記プリフェッチ命令コードバッファ
手段を備え、前記レジスタバンク選択手段が前記選択レ
ジスタバンクの選択に連動して前記N個のプリフェッチ
命令コードバッファ手段のうちの1つを選択プリフェッ
チ命令コードバッファ手段として選択することを特徴と
するものである。
An information processing apparatus according to the present invention includes N register banks including a plurality of general-purpose registers, and a register bank that selects one of the N register banks as a selected register bank. Selection means,
Instruction decoding means for decoding the instruction code and generating an instruction signal for processing corresponding to the decoding result, and temporarily holding the prefetched instruction code, and holding the held instruction code in the instruction decoding means in a predetermined order. In an information processing apparatus comprising: a bus control unit including a prefetch instruction code buffer unit for sending out, the bus control unit includes N prefetch instruction code buffer units, and the register bank selection unit selects the selected register bank. In conjunction with this, one of the N prefetch instruction code buffer means is selected as the selected prefetch instruction code buffer means.

【0019】[0019]

【実施例】次に、本発明の実施例を図3と共通の構成要
素には共通の参照文字/数字を付して同様にブロックで
示す図1を参照すると、この図に示す本実施例の情報処
理装置は、4つのレジスタバンク12〜15とバンク選
択レジスタ16とバンク選択部17とを有する従来の第
2の情報処理装置と共通の実行ユニット1Aと、バスコ
ントロールユニット2の代りにバンク選択部17のデコ
ード出力がそれぞれ接続された4つのプリフェッチキュ
ー21〜24を備えるバスコントロールユニット2Aと
を備える。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Next, referring to FIG. 1, which is a block diagram in which components common to those of FIG. 3 are designated by common reference characters / numerals, the embodiment of this invention shown in FIG. The information processing apparatus of FIG. 2 has an execution unit 1A common to the second conventional information processing apparatus having four register banks 12 to 15, a bank selection register 16 and a bank selection unit 17, and a bank instead of the bus control unit 2. The bus control unit 2A includes four prefetch queues 21 to 24 to which the decode outputs of the selection unit 17 are respectively connected.

【0020】次に、図1を参照して本実施例の動作につ
いて説明すると、ここでは、上記のように従来と同様の
4つのレジスタバンクに加えて、プリフェッチキューを
4つ有し、処理するタスクの数も4つである場合を例と
する。したがって、これらタスク番号とレジスタバンク
番号、およびプリフェッチキュー番号とをそれぞれ対応
させ、処理中のタスク番号とそのとき使用しているレジ
スタバンクおよびとプリフェッチキューの各々の番号が
一致しているものとする。
Next, the operation of the present embodiment will be described with reference to FIG. 1. Here, in addition to the four register banks similar to the conventional one as described above, four prefetch queues are provided and processed. The case where the number of tasks is four is taken as an example. Therefore, it is assumed that the task number, the register bank number, and the prefetch queue number are associated with each other, and that the task number being processed, the register bank used at that time, and the prefetch queue number match. .

【0021】レジスタバンク12〜15およびプリフェ
ッチキュー21〜24の中から1つのタスクに対し選択
される使用レジスタバンクおよび命令プリフェッチキュ
ーは常に1つだけである。バンク選択レジスタ16には
現在実行中のタスク番号、すなわち、現在選択使用中の
レジスタバンクおよびプリフェッチキューの番号が保持
される。バンク選択レジスタ16の値をバンク選択部1
7によりデコードし、このバンク選択部17の出力信号
の供給に応答して使用レジスタバンクおよびプリフェッ
チキューをそれぞれ1つだけ選択する。このように選択
された上記命令プリフェッチキューのみが、外部供給デ
ータをプリフェッチし命令デコード部11に対するこの
プリフェッチデータの送出を可能とする。
Only one register bank to be used and one instruction prefetch queue are selected for one task from among the register banks 12 to 15 and the prefetch queues 21 to 24. The bank selection register 16 holds the currently executed task number, that is, the number of the register bank and the prefetch queue currently selected and used. The value of the bank selection register 16 is set to the bank selection unit 1
7, and selects only one used register bank and one prefetch queue in response to the supply of the output signal of the bank selection unit 17. Only the instruction prefetch queue selected in this way enables prefetching of externally supplied data and transmission of this prefetch data to the instruction decoding unit 11.

【0022】上記タスクの切替時に、切替先のタスク番
号をバンク選択レジスタ16へ設定することにより、バ
ンク選択レジスタ16の値のデコード結果にしたがって
このタスク番号と同一番号のレジスタバンクおよびプリ
フェッチキューに切替わる。上記レジスタバンクには対
応のタスクの実行アドレスの情報が含まれているので、
この実行アドレスも切り替わり、タスク切替が終了す
る。
When the task is switched, the task number of the switching destination is set in the bank selection register 16 so that it is switched to the register bank and the prefetch queue having the same number as the task number according to the decoding result of the value of the bank selection register 16. Change Since the register bank contains information on the execution address of the corresponding task,
This execution address is also switched, and the task switching is completed.

【0023】このとき、レジスタバンク切替により使用
していた汎用レジスタの退避/復帰が不要となるのと同
様に、プリフェッチキューもタスク毎に切替わるため、
従来のようなタスク切替毎のプリフェッチキュー内のデ
ータのクリアが不要となる。すなわち、タスクが切替
り、次にこのタスクの処理に復帰したときに実行対象ア
ドレスが連続していれば、切替前の上記タスクの実行時
にプリフェッチキューへプリフェッチし蓄えておいたデ
ータがそのまま利用できる。
At this time, the prefetch queue is switched for each task as well as the saving / restoring of the general-purpose register used by switching the register bank becomes unnecessary.
It is not necessary to clear the data in the prefetch queue each time the task is switched, as in the conventional case. In other words, if the execution target address is continuous when the task is switched and then returned to the processing of this task, the data prefetched and stored in the prefetch queue at the time of execution of the task before switching can be used as it is. .

【0024】例えば、第1タスクを実行中はバンク選択
レジスタ16に値’1’が設定されており、その値’
1’の供給に応答してバンク選択部17は第1レジスタ
バンク12と第1プリフェッチキュー21とを選択する
選択信号S1を出力する。この選択信号S1の供給に応
答して、第1タスクの処理中に使用する第1レジスタバ
ンク12および第1プリフェッチキュー21の各々が選
択される。
For example, the value "1" is set in the bank selection register 16 during execution of the first task, and the value "1" is set.
In response to the supply of 1 ', the bank selection unit 17 outputs a selection signal S1 for selecting the first register bank 12 and the first prefetch queue 21. In response to the supply of the selection signal S1, each of the first register bank 12 and the first prefetch queue 21 used during the processing of the first task is selected.

【0025】次に、処理対象タスクが第1タスクから第
3タスクに切替える場合には、バンク選択レジスタ16
に値’3’を設定する。これによりバンク選択レジスタ
16の値’3’の供給に応答してバンク選択部17は第
3レジスタバンク14と第3プリフェッチキュー23と
を選択する選択信号S3を出力する。この選択信号S1
の供給に応答して、この第3タスク処理に使用する第3
レジスタバンク14および第3プリフェッチキュー23
の各々に切替わる。ここで、再び処理対象タスクが第1
タスクに復帰した場合は、同様に第1レジスタバンク1
2,第1プリフェッチキュー21の各々に切替わる。
Next, when the task to be processed is switched from the first task to the third task, the bank selection register 16
Set the value to '3'. As a result, the bank selection unit 17 outputs the selection signal S3 for selecting the third register bank 14 and the third prefetch queue 23 in response to the supply of the value "3" of the bank selection register 16. This selection signal S1
In response to the supply of
Register bank 14 and third prefetch queue 23
Switch to each. Here, the task to be processed is again the first
When returning to the task, first register bank 1
2. Switch to each of the first prefetch queues 21.

【0026】この処理対象タスクの第1から第3タスク
への切替、また、第3から第1タスクへの復帰の過程に
おいて、第1プリフェッチキュー21のデータはクリア
されずそのまま保持されるため、対応の汎用レジスタの
退避/復帰をすることなく第1レジスタバンク12の内
容のみならずプリフェッチキュー21の内容も上記切替
前の第1タスクの実行時の状態のままで使用できる。す
なわち、第1タスクに処理が復帰したときに、第1プリ
フェッチキュー21に保持されている命令コードは第1
タスクの復帰先アドレスのプログラムの命令コードであ
るため、処理対象タスクが第1タスクに切替わると直ち
に切替前のプログラムの実行部分に続く部分の続行が可
能となる。
In the process of switching the task to be processed from the first task to the third task, and in the process of returning from the third task to the first task, the data in the first prefetch queue 21 is not cleared but held as it is. Not only the contents of the first register bank 12 but also the contents of the prefetch queue 21 can be used as they are when the first task is executed before the switching without saving / restoring the corresponding general-purpose register. That is, when the processing is returned to the first task, the instruction code held in the first prefetch queue 21 is the first code.
Since it is the instruction code of the program at the return address of the task, as soon as the task to be processed is switched to the first task, the portion following the execution portion of the program before switching can be continued.

【0027】これにより、タスク切替後のプログラム実
行前に必要であった命令コードのプリフェッチが不要と
なり、処理対象タスクの切替時間を短縮できる。
This eliminates the need for prefetching the instruction code, which was required before the program was executed after the task switching, and the switching time of the task to be processed can be shortened.

【0028】[0028]

【発明の効果】以上説明したように、本発明の情報処理
装置は、N個のプリフェッチキューを備え、レジスタバ
ンク選択手段が選択レジスタバンクの選択に連動してN
個のプリフェッチキューのうちの1つを選択することに
より、タスク切替時のプリフェッチキューのクリアおよ
びプログラム実行前の命令コードのプリフェッチが不要
となるので、タスク切替時の実行時間が短縮されるとい
う効果がある。
As described above, the information processing apparatus of the present invention is provided with N prefetch queues, and the register bank selection means interlocks with the selection of the selected register bank.
By selecting one of the prefetch queues, it is not necessary to clear the prefetch queue at the time of task switching and prefetch the instruction code before program execution, so that the execution time at task switching can be shortened. There is.

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

【図1】本発明の情報処理装置の一実施例を示すブロッ
ク図である。
FIG. 1 is a block diagram showing an embodiment of an information processing apparatus of the present invention.

【図2】従来の第1の情報処理装置を示すブロック図で
ある。
FIG. 2 is a block diagram showing a first conventional information processing apparatus.

【図3】従来の第2の情報処理装置を示すブロック図で
ある。
FIG. 3 is a block diagram showing a second conventional information processing apparatus.

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

1,1A 実行ユニット 2,2A バスコントロールユニット 11 命令デコード部 12〜15 レジスタバンク 16 バンク選択レジスタ 17 バンク選択部 21〜24,26 プリフェッチキュー 31〜34 レジスタ 1, 1A execution unit 2, 2A bus control unit 11 instruction decoding unit 12 to 15 register bank 16 bank selection register 17 bank selection unit 21 to 24, 26 prefetch queue 31 to 34 register

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 複数の汎用レジスタを含むN個のレジス
タバンクと、前記N個のレジスタバンクのうちの1つを
選択レジスタバンクとして選択するレジスタバンク選択
手段と、命令コードをデコードしこのデコート結果に対
応する処理の指示信号を生成する命令デコード手段と、
プリフェッチした前記命令コードを一時的に保持しこの
保持した命令コードを予め定めた順序で前記命令デコー
ド手段に送出するプリフェッチ命令コードバッファ手段
を含むバス制御手段とを備える情報処理装置において、 前記バス制御手段がN個の前記プリフェッチ命令コード
バッファ手段を備え、 前記レジスタバンク選択手段が前記選択レジスタバンク
の選択に連動して前記N個のプリフェッチ命令コードバ
ッファ手段のうちの1つを選択プリフェッチ命令コード
バッファ手段として選択することを特徴とする情報処理
装置。
1. A N register bank including a plurality of general-purpose registers, a register bank selecting means for selecting one of the N register banks as a selected register bank, and an instruction code for decoding the decoding result. Instruction decoding means for generating a processing instruction signal corresponding to
An information processing apparatus comprising: a pre-fetch instruction code buffer means for temporarily holding the prefetched instruction code; and sending the held instruction code to the instruction decoding means in a predetermined order. The means includes N prefetch instruction code buffer means, and the register bank selection means selects one of the N prefetch instruction code buffer means in association with the selection of the selected register bank. An information processing device, characterized by being selected as means.
【請求項2】 前記レジスタバンク選択手段がN個のタ
スクのうちの1つの処理対象タスク対応のタスク番号を
格納するバンク選択レジスタと、 前記タスク番号の供給に応答して前記選択レジスタバン
クおよび前記選択プリフェッチ命令コードバッファ手段
をそれぞれ選択する選択信号を出力するバンク選択回路
とを備えることを特徴とする請求項1記載の情報処理装
置。
2. A bank selection register in which said register bank selection means stores a task number corresponding to one processing target task among N tasks, said selection register bank and said bank in response to supply of said task number. An information processing apparatus according to claim 1, further comprising a bank selection circuit which outputs a selection signal for selecting each of the selection prefetch instruction code buffer means.
【請求項3】 前記プリフェッチ命令コードバッファ手
段がプリフェッチした前記命令コードの入力順序で出力
する先入先出バッファを備えることを特徴とする請求項
1記載の情報処理装置。
3. The information processing apparatus according to claim 1, further comprising a first-in first-out buffer that outputs the instruction codes prefetched by the prefetch instruction code buffer means in an input order.
JP6192615A 1994-08-16 1994-08-16 Information processing device Expired - Fee Related JP2689914B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6192615A JP2689914B2 (en) 1994-08-16 1994-08-16 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6192615A JP2689914B2 (en) 1994-08-16 1994-08-16 Information processing device

Publications (2)

Publication Number Publication Date
JPH0855033A true JPH0855033A (en) 1996-02-27
JP2689914B2 JP2689914B2 (en) 1997-12-10

Family

ID=16294213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6192615A Expired - Fee Related JP2689914B2 (en) 1994-08-16 1994-08-16 Information processing device

Country Status (1)

Country Link
JP (1) JP2689914B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998013759A1 (en) * 1996-09-27 1998-04-02 Hitachi, Ltd. Data processor and data processing system
WO2020121416A1 (en) * 2018-12-11 2020-06-18 サンケン電気株式会社 Processor and pipeline processing method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0363822A (en) * 1989-08-02 1991-03-19 Nec Corp Computer control system
JPH0421033A (en) * 1990-05-14 1992-01-24 Matsushita Electric Ind Co Ltd Instruction pre-fetch device
JPH0659916A (en) * 1992-08-06 1994-03-04 Matsushita Electric Ind Co Ltd Instruction prefetching device
JPH06103065A (en) * 1992-09-21 1994-04-15 Matsushita Electric Ind Co Ltd Instruction prefetch device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0363822A (en) * 1989-08-02 1991-03-19 Nec Corp Computer control system
JPH0421033A (en) * 1990-05-14 1992-01-24 Matsushita Electric Ind Co Ltd Instruction pre-fetch device
JPH0659916A (en) * 1992-08-06 1994-03-04 Matsushita Electric Ind Co Ltd Instruction prefetching device
JPH06103065A (en) * 1992-09-21 1994-04-15 Matsushita Electric Ind Co Ltd Instruction prefetch device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998013759A1 (en) * 1996-09-27 1998-04-02 Hitachi, Ltd. Data processor and data processing system
WO2020121416A1 (en) * 2018-12-11 2020-06-18 サンケン電気株式会社 Processor and pipeline processing method
JPWO2020121416A1 (en) * 2018-12-11 2021-10-28 サンケン電気株式会社 Processor and pipeline processing method
US11586444B2 (en) 2018-12-11 2023-02-21 Sanken Electric Co., Ltd. Processor and pipeline processing method for processing multiple threads including wait instruction processing

Also Published As

Publication number Publication date
JP2689914B2 (en) 1997-12-10

Similar Documents

Publication Publication Date Title
FI90804C (en) Controller for a data processor comprising an interrupt service utilizing redirection of advance search of instructions
KR100259306B1 (en) Data processor having a branch command buffer
US6108768A (en) Reissue logic for individually reissuing instructions trapped in a multiissue stack based computing system
JPH05233271A (en) Data processor
JP2003525476A (en) Apparatus and method for executing program instructions
US6237086B1 (en) 1 Method to prevent pipeline stalls in superscalar stack based computing systems
JPH09237184A (en) Instruction executing method and its device
JP2689914B2 (en) Information processing device
US6170050B1 (en) Length decoder for variable length data
JP2723238B2 (en) Information processing device
JP3602801B2 (en) Memory data access structure and method
US5828861A (en) System and method for reducing the critical path in memory control unit and input/output control unit operations
JP2668987B2 (en) Data processing device
JP2772100B2 (en) Parallel instruction fetch mechanism
JP2933560B2 (en) Information processing device having multiple pipelines
JPS60250438A (en) Information processor
JP2924735B2 (en) Pipeline operation device and decoder device
US5802346A (en) Method and system for minimizing the delay in executing branch-on-register instructions
JPH01271842A (en) Information processor
EP0270873A2 (en) Single ALU computer system
JP2825315B2 (en) Information processing device
JP2545594B2 (en) Operand data prefetching method
JPH07210384A (en) Floating point arithmetic unit
JPH04188227A (en) Micro processor
JPS62288974A (en) Vector processor

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970729

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

Free format text: PAYMENT UNTIL: 20070829

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20080829

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20080829

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090829

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20090829

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100829

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20100829

Year of fee payment: 13

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20100829

Year of fee payment: 13

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20120829

Year of fee payment: 15

LAPS Cancellation because of no payment of annual fees