JP2689914B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP2689914B2
JP2689914B2 JP6192615A JP19261594A JP2689914B2 JP 2689914 B2 JP2689914 B2 JP 2689914B2 JP 6192615 A JP6192615 A JP 6192615A JP 19261594 A JP19261594 A JP 19261594A JP 2689914 B2 JP2689914 B2 JP 2689914B2
Authority
JP
Japan
Prior art keywords
task
register
instruction code
bank
selection
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.)
Expired - Fee Related
Application number
JP6192615A
Other languages
English (en)
Other versions
JPH0855033A (ja
Inventor
尚子 中山
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/ja
Publication of JPH0855033A publication Critical patent/JPH0855033A/ja
Application granted granted Critical
Publication of JP2689914B2 publication Critical patent/JP2689914B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は情報処理装置に関し、特
に複数のレジスタバンクを持ちこのレジスタバンクの切
替によりマルチタスクのタスク切替を行うマイクロプロ
セッサ等の情報処理装置に関する。
【0002】
【従来の技術】最近の特にパイプライン方式のマイクロ
プロセッサのアーキテクチャにおいては、1つのCPU
に対して複数のレジスタから成る1組のレジスタバンク
を備え、CPUの1命令毎にタスクを切替えることによ
り複数のタスク(マルチタスク)を時分割で実行する方
式が広く採用されている。
【0003】従来、この種のレジスタバンクを用いてマ
ルチタスクのタスク切替を行うマイクロプロセッサにお
いて、命令キューが1個しかない場合にはタスクの切替
毎にプリフェッチしておいたこのキュー内のデータを一
旦スタック領域に退避させた上で次の切替先のタスクの
データを別のメモリ領域からフェッチするので、このタ
スク切替期間中はタスクの実行が不可能であり、したが
って、時間的な損失が大きくなる。
【0004】従来の一般的なパイプライン方式のマイク
ロプロセッサである第1の情報処理装置をブロックで示
す図2を参照すると、この図に示す従来の情報処理装置
は、CPU(図示省略)からの命令のデコードおよび演
算を行なう実行ユニット1と、バスの制御を行うバスコ
ントロールユニット2とを備える。
【0005】実行ユニット1は、命令コードをデコード
しこのデコート結果から実行ユニット1の各構成要素に
対する指示信号を生成・出力する命令デコード部11
と、複数の汎用のレジスタ31〜34とを備える。
【0006】バスコントロールユニット2はプリフェッ
チした命令コードを一時的に蓄えこの蓄えた命令コード
を順番に実行ユニット1へ送出する機能を持つFIFO
バッファからなるプリフェッチキュー26を備える。
【0007】次に、図2を参照して、従来の第1の情報
処理装置の動作について説明すると、実行ユニット1と
バスコントロールユニット2は、それぞれ独立に動作す
ることが可能である。すなわち、実行ユニット1におけ
る命令実行中に、この命令の実行結果に基くバスの起動
要求が発生していなくても、バスコントロールユニット
2は命令コードのプリフェッチを行うことが可能であ
る。プリフェッチされた命令コードはプリフェッチキュ
ー26に順番に蓄えられる。実行ユニット1において1
つの命令の実行が終了すると、プリフェッチキュー26
は命令デコード部11へ次の命令コードを転送する。そ
の結果、プリフェッチキュー26内のデータが減少しメ
モリ領域が空くので、さらに次のアドレスの命令コード
をプリフェッチできる。したがって、実行ユニット1は
1つの命令の実行を終了すると、直ちに次の命令コード
を受け取り実行できるため、命令コードのフェッチ時間
を待つことなく常に命令の実行が可能であり、高速にプ
ログラムの処理をすることができる。
【0008】しかし、マルチタスクオペレーテングシス
テム(OS)におけるタスク切替時等アドレスが不連続
となる場合、現在実行中の処理を中断し、分岐先のプロ
グラムを実行するまでに切替前のタスクで使用していた
複数の汎用のレジスタ31〜34の格納データをスタッ
クへ退避/復帰する必要があるという問題点がある。
【0009】この問題点を解決した特開平2−2534
40号公報記載の従来の第2の情報処理装置は、1つの
CPUに対して複数のタスク実行キュー対応のレジスタ
バンクと、これらタスク実行キューの実行順序などの制
御用の制御レジスタおよびキュー切替制御部とを備え、
上記複数のタスク実行キューにより複数のタスクを時分
割平行処理するものである。
【0010】従来の第2の情報処理装置を図2と共通の
表現で示すとともに共通の構成要素には共通の参照文字
/数字を付して同様にブロックで示す図3を参照する
と、この従来の第2の情報処理装置は、実行ユニット1
の代りに、図2と共通の命令デコーダ部11と、第1〜
第4の4つのレジスタバンク12〜15と、レジスタバ
ンク12〜15のうちの常に一つのみを選択するための
バンク選択レジスタ16と、バンク選択部17とを備え
る。
【0011】レジスタバンク12〜15の各々は複数の
汎用レジスタとタスクの実行アドレスの情報と格納デー
タ退避領域などから構成される。
【0012】図3を参照して従来の第2の情報処理装置
の動作について説明すると、ここでは、上記のようにレ
ジスタバンクを4つ有し、処理するタスクの数も4つで
ある場合を例とする。選択されるレジスタバンクの番号
はバンク選択レジスタ16に示され、そのデータをバン
ク選択部17でデコードする。そのデコード出力をそれ
ぞれレジスタバンク12〜15の各々に接続することに
より、タスクに対応する1つのレジスタバンクが選択さ
れる。選択されたレジスタバンクのみ汎用レジスタとし
ての使用が可能になる。
【0013】レジスタバンク12〜16の第1〜第4の
各番号と第1〜第4の4つのタスクの番号はそれぞれ1
対1に対応させると、以下のようにタスク切替およびレ
ジスタバンク切替を実行することができる。実行中のタ
スク番号が使用中のレジスタバンク番号となり、バンク
選択レジスタに示される。タスクの切替時に、切替先の
タスク番号をバンク選択レジスタ16へ設定すればバン
ク選択レジスタ16の値のデコード結果にしたがってレ
ジスタバンクが切替わる。レジスタバンク12〜16の
各々には対応タスクの実行アドレスの情報が含まれてい
るので次のプリフェッチ対象アドレスも切替わる。この
とき、実行アドレスが不連続になるため、プリフェッチ
キューの内容を一度クリアし、切替後のアドレスの命令
コードをプリフェッチする。以上でタスク切替が完了す
る。
【0014】タスクおよびレジスタバンクの切替の例を
説明すると、第1タスクを処理中に使用されるレジスタ
バンクは第1レジスタバンク12である。処理対象タス
クが第1タスクから第3タスクに切替わるとレジスタバ
ンクも第1レジスタバンク12から第3レジスタバンク
14に切替わる。また、処理対象タスクが第3タスクか
ら第1タスクに切替わる場合も、レジスタバンクが第3
レジスタバンク14から第1レジスタバンク12に切替
わるため、それぞれのタスク対応の汎用レジスタの退避
/復帰の必要が無く、最初の第1タスクの処理時と同一
の汎用レジスタの状態で第1タスクの処理を続けること
が可能である。したがって、タスク切替前の使用汎用レ
ジスタの退避/復帰が不要となり、タスク切替時間を短
縮することが可能である。
【0015】上述したプリフェッチキューは、連続する
アドレスに対してのみ命令コードのプリフェッチが可能
である。したがって、従来の第2の情報処理装置では、
タスクの切替時にプリフェッチキューにプリフェッチさ
れていた命令コードは全てクリアし、タスク切替後次の
プログラムの実行前に必ずこのプログラムの命令コード
のフェッチのためのプリフェッチサイクルを行う。
【0016】
【発明が解決しようとする課題】上述した従来の第1の
情報処理装置は、マルチタスクOSにおけるタスク切替
時のアドレスの不連続時には、現在実行中の処理を中断
し切替先のプログラムを実行するまでに切替前のタスク
で使用していた複数の汎用レジスタの格納データをスタ
ックへ退避/復帰する必要があるためタスク切替時間が
長くなるという欠点があった。
【0017】上記汎用レジスタの格納データのスタック
への退避/復帰を不要とした従来の第2の情報処理装置
は、タスクの切替時のアドレスの不連続のため、プリフ
ェッチキューにプリフェッチされていた命令コードは全
部クリアされ、タスク切替後、次のプログラムの実行前
にこのタスク切替後のプログラムの命令コードをフェッ
チするためのプリフェッチサイクルを必要とするので、
やはりタスク切替時間が長くなるという欠点があった。
【0018】
【課題を解決するための手段】本発明の情報処理装置
は、各々が1つのタスクの命令群の1つの命令コードを
それぞれ格納する複数の汎用レジスタを含みN(Nは2
以上の整数)個のタスクの各々に対応するN個のレジス
タバンクと、中央処理装置の1命令毎に実施される前記
タスクの切替に対応して前記N個のレジスタバンクのう
ちの1つを選択レジスタバンクとして選択するレジスタ
バンク選択手段と、前記命令コードをデコードしこのデ
コード結果に対応する処理の指示信号を生成する命令デ
コード手段と、プリフェッチした前記命令コードを一時
的に保持しこの保持した命令コードを予め定めた順序で
前記命令デコード手段に送出するプリフェッチ命令コー
ドバッファ手段を含むバス制御手段とを備え前記N個の
タスクを時分割で実行するパイプライン方式の情報処理
装置において、前記バス制御手段が、相互に独立し前記
N個のレジスタバンクの各々に対応するよう設定可能な
N個の前記プリフェッチ命令コードバッファ手段を備
え、前記レジスタバンク選択手段が、前記選択レジスタ
バンクの選択に連動して前記N個のプリフェッチ命令コ
ードバッファ手段のうちの対応する1つを選択プリフェ
ッチ命令コードバッファ手段として選択することを特徴
とするものである。
【0019】
【実施例】次に、本発明の実施例を図3と共通の構成要
素には共通の参照文字/数字を付して同様にブロックで
示す図1を参照すると、この図に示す本実施例の情報処
理装置は、4つのレジスタバンク12〜15とバンク選
択レジスタ16とバンク選択部17とを有する従来の第
2の情報処理装置と共通の実行ユニット1Aと、バスコ
ントロールユニット2の代りにバンク選択部17のデコ
ード出力がそれぞれ接続された4つのプリフェッチキュ
ー21〜24を備えるバスコントロールユニット2Aと
を備える。
【0020】次に、図1を参照して本実施例の動作につ
いて説明すると、ここでは、上記のように従来と同様の
4つのレジスタバンクに加えて、プリフェッチキューを
4つ有し、処理するタスクの数も4つである場合を例と
する。したがって、これらタスク番号とレジスタバンク
番号、およびプリフェッチキュー番号とをそれぞれ対応
させ、処理中のタスク番号とそのとき使用しているレジ
スタバンクおよびとプリフェッチキューの各々の番号が
一致しているものとする。
【0021】レジスタバンク12〜15およびプリフェ
ッチキュー21〜24の中から1つのタスクに対し選択
される使用レジスタバンクおよび命令プリフェッチキュ
ーは常に1つだけである。バンク選択レジスタ16には
現在実行中のタスク番号、すなわち、現在選択使用中の
レジスタバンクおよびプリフェッチキューの番号が保持
される。バンク選択レジスタ16の値をバンク選択部1
7によりデコードし、このバンク選択部17の出力信号
の供給に応答して使用レジスタバンクおよびプリフェッ
チキューをそれぞれ1つだけ選択する。このように選択
された上記命令プリフェッチキューのみが、外部供給デ
ータをプリフェッチし命令デコード部11に対するこの
プリフェッチデータの送出を可能とする。
【0022】上記タスクの切替時に、切替先のタスク番
号をバンク選択レジスタ16へ設定することにより、バ
ンク選択レジスタ16の値のデコード結果にしたがって
このタスク番号と同一番号のレジスタバンクおよびプリ
フェッチキューに切替わる。上記レジスタバンクには対
応のタスクの実行アドレスの情報が含まれているので、
この実行アドレスも切り替わり、タスク切替が終了す
る。
【0023】このとき、レジスタバンク切替により使用
していた汎用レジスタの退避/復帰が不要となるのと同
様に、プリフェッチキューもタスク毎に切替わるため、
従来のようなタスク切替毎のプリフェッチキュー内のデ
ータのクリアが不要となる。すなわち、タスクが切替
り、次にこのタスクの処理に復帰したときに実行対象ア
ドレスが連続していれば、切替前の上記タスクの実行時
にプリフェッチキューへプリフェッチし蓄えておいたデ
ータがそのまま利用できる。
【0024】例えば、第1タスクを実行中はバンク選択
レジスタ16に値’1’が設定されており、その値’
1’の供給に応答してバンク選択部17は第1レジスタ
バンク12と第1プリフェッチキュー21とを選択する
選択信号S1を出力する。この選択信号S1の供給に応
答して、第1タスクの処理中に使用する第1レジスタバ
ンク12および第1プリフェッチキュー21の各々が選
択される。
【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の各々に切替わる。
【0026】この処理対象タスクの第1から第3タスク
への切替、また、第3から第1タスクへの復帰の過程に
おいて、第1プリフェッチキュー21のデータはクリア
されずそのまま保持されるため、対応の汎用レジスタの
退避/復帰をすることなく第1レジスタバンク12の内
容のみならずプリフェッチキュー21の内容も上記切替
前の第1タスクの実行時の状態のままで使用できる。す
なわち、第1タスクに処理が復帰したときに、第1プリ
フェッチキュー21に保持されている命令コードは第1
タスクの復帰先アドレスのプログラムの命令コードであ
るため、処理対象タスクが第1タスクに切替わると直ち
に切替前のプログラムの実行部分に続く部分の続行が可
能となる。
【0027】これにより、タスク切替後のプログラム実
行前に必要であった命令コードのプリフェッチが不要と
なり、処理対象タスクの切替時間を短縮できる。
【0028】
【発明の効果】以上説明したように、本発明の情報処理
装置は、N個のプリフェッチキューを備え、レジスタバ
ンク選択手段が選択レジスタバンクの選択に連動してN
個のプリフェッチキューのうちの1つを選択することに
より、タスク切替時のプリフェッチキューのクリアおよ
びプログラム実行前の命令コードのプリフェッチが不要
となるので、タスク切替時の実行時間が短縮されるとい
う効果がある。
【図面の簡単な説明】
【図1】本発明の情報処理装置の一実施例を示すブロッ
ク図である。
【図2】従来の第1の情報処理装置を示すブロック図で
ある。
【図3】従来の第2の情報処理装置を示すブロック図で
ある。
【符号の説明】
1,1A 実行ユニット 2,2A バスコントロールユニット 11 命令デコード部 12〜15 レジスタバンク 16 バンク選択レジスタ 17 バンク選択部 21〜24,26 プリフェッチキュー 31〜34 レジスタ

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 各々が1つのタスクの命令群の1つの命
    令コードをそれぞれ格納する複数の汎用レジスタを含み
    N(Nは2以上の整数)個のタスクの各々に対応するN
    個のレジスタバンクと、中央処理装置の1命令毎に実施
    される前記タスクの切替に対応して前記N個のレジスタ
    バンクのうちの1つを選択レジスタバンクとして選択す
    るレジスタバンク選択手段と、前記命令コードをデコー
    ドしこのデコード結果に対応する処理の指示信号を生成
    する命令デコード手段と、プリフェッチした前記命令コ
    ードを一時的に保持しこの保持した命令コードを予め定
    めた順序で前記命令デコード手段に送出するプリフェッ
    チ命令コードバッファ手段を含むバス制御手段とを備え
    前記N個のタスクを時分割で実行するパイプライン方式
    情報処理装置において、 前記バス制御手段が、相互に独立し前記N個のレジスタ
    バンクの各々に対応するよう設定可能なN個の前記プリ
    フェッチ命令コードバッファ手段を備え、 前記レジスタバンク選択手段が、前記選択レジスタバン
    クの選択に連動して前記N個のプリフェッチ命令コード
    バッファ手段のうちの対応する1つを選択プリフェッチ
    命令コードバッファ手段として選択することを特徴とす
    る情報処理装置。
  2. 【請求項2】 前記レジスタバンク選択手段が、前記N
    個のタスクのうちの1つの処理対象タスク対応のタスク
    番号を格納するバンク選択レジスタと、 前記タスク番号の供給に応答して前記選択レジスタバン
    クおよび前記選択プリフェッチ命令コードバッファ手段
    をそれぞれ選択するための選択信号を出力するバンク選
    択回路とを備えることを特徴とする請求項1記載の情報
    処理装置。
  3. 【請求項3】 前記プリフェッチ命令コードバッファ手
    段が、プリフェッチした前記命令コードの入力順序で
    の命令コードを出力する先入先出バッファを備えること
    を特徴とする請求項1記載の情報処理装置。
JP6192615A 1994-08-16 1994-08-16 情報処理装置 Expired - Fee Related JP2689914B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6192615A JP2689914B2 (ja) 1994-08-16 1994-08-16 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6192615A JP2689914B2 (ja) 1994-08-16 1994-08-16 情報処理装置

Publications (2)

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

Family

ID=16294213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6192615A Expired - Fee Related JP2689914B2 (ja) 1994-08-16 1994-08-16 情報処理装置

Country Status (1)

Country Link
JP (1) JP2689914B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3778573B2 (ja) * 1996-09-27 2006-05-24 株式会社ルネサステクノロジ データプロセッサ及びデータ処理システム
WO2020121416A1 (ja) * 2018-12-11 2020-06-18 サンケン電気株式会社 プロセッサ及びパイプライン処理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0363822A (ja) * 1989-08-02 1991-03-19 Nec Corp 計算機制御方式
JP2586690B2 (ja) * 1990-05-14 1997-03-05 松下電器産業株式会社 命令プリフェッチ装置
JPH0659916A (ja) * 1992-08-06 1994-03-04 Matsushita Electric Ind Co Ltd 命令プリフェッチ装置
JPH06103065A (ja) * 1992-09-21 1994-04-15 Matsushita Electric Ind Co Ltd 命令プリフェッチ装置

Also Published As

Publication number Publication date
JPH0855033A (ja) 1996-02-27

Similar Documents

Publication Publication Date Title
US4740893A (en) Method for reducing the time for switching between programs
JP2834837B2 (ja) プログラマブルコントローラ
US5497496A (en) Superscalar processor controlling fetching of instructions based upon number of empty instructions registers detected for each cycle
KR100259306B1 (ko) 분기 명령 버퍼를 갖는 데이타 프로세서
JP2002073330A (ja) データ処理装置
US6108768A (en) Reissue logic for individually reissuing instructions trapped in a multiissue stack based computing system
JPH05233271A (ja) データプロセッサ
US7096344B2 (en) Processor for improving instruction utilization using multiple parallel processors and computer system equipped with the processor
JPH09237184A (ja) 命令実行方法および命令実行装置
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
JP2689914B2 (ja) 情報処理装置
JP2723238B2 (ja) 情報処理装置
US6170050B1 (en) Length decoder for variable length data
US20010054138A1 (en) Instruction buffer and buffer queue control method
JP2668987B2 (ja) データ処理装置
US5828861A (en) System and method for reducing the critical path in memory control unit and input/output control unit operations
JP2772100B2 (ja) 並列命令フェッチ機構
JP2933560B2 (ja) 多重パイプラインを有する情報処理装置
JPS60250438A (ja) 情報処理装置
EP0270873A2 (en) Single ALU computer system
US5802346A (en) Method and system for minimizing the delay in executing branch-on-register instructions
JP2825315B2 (ja) 情報処理装置
JP2545594B2 (ja) オペランドデータ先取り方式
JPH07210384A (ja) 浮動小数点演算装置
JP2002229776A (ja) 複数組の命令組を実行するためのデータ処理装置

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