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