JPH02159624A - 先入れ先出しレジスタ装置 - Google Patents
先入れ先出しレジスタ装置Info
- Publication number
- JPH02159624A JPH02159624A JP63314390A JP31439088A JPH02159624A JP H02159624 A JPH02159624 A JP H02159624A JP 63314390 A JP63314390 A JP 63314390A JP 31439088 A JP31439088 A JP 31439088A JP H02159624 A JPH02159624 A JP H02159624A
- Authority
- JP
- Japan
- Prior art keywords
- stages
- out register
- bus access
- execution time
- register
- 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
Links
- 230000010365 information processing Effects 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/10—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2205/00—Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F2205/06—Indexing scheme relating to groups G06F5/06 - G06F5/16
- G06F2205/063—Dynamically variable buffer size
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はパイプライン方式で命令を実行する情報処理装
置における先入れ先出しレジスタ装置に関し、特にアド
レス生成部と演算実行部との間の命令の待ち行列用の先
入れ先出しレジスタ装置に関する。
置における先入れ先出しレジスタ装置に関し、特にアド
レス生成部と演算実行部との間の命令の待ち行列用の先
入れ先出しレジスタ装置に関する。
−aに、第3図に示すように、アドレス生成を行うアド
レス生成部30と演算を行う演算実行部31とが各々独
立したパイプライン処理により命令を実行する情報処理
装置においては、アドレス生成部3qと演算実行部31
とに対して図示する論理的な関係となる位置に先入れ先
出しレジスタ装置32が設けられ、アドレス生成部30
および演算実行部31の各々のパイプラインのタイミン
グおよび相互のタイミングを制御するパイプライン制御
部33が、更に先入れ先出しレジスタ装置32に対する
命令の書き込みタイミング、取り出しタイミング等を制
御することにより、先入れ先出しレジスタ装置32をア
ドレス生成部30と演算実行部31との間の命令の待ち
行列として機能させている。なお、第3図において、3
4は命令フェッチレジスタ、3536は命令デコーダで
ある。
レス生成部30と演算を行う演算実行部31とが各々独
立したパイプライン処理により命令を実行する情報処理
装置においては、アドレス生成部3qと演算実行部31
とに対して図示する論理的な関係となる位置に先入れ先
出しレジスタ装置32が設けられ、アドレス生成部30
および演算実行部31の各々のパイプラインのタイミン
グおよび相互のタイミングを制御するパイプライン制御
部33が、更に先入れ先出しレジスタ装置32に対する
命令の書き込みタイミング、取り出しタイミング等を制
御することにより、先入れ先出しレジスタ装置32をア
ドレス生成部30と演算実行部31との間の命令の待ち
行列として機能させている。なお、第3図において、3
4は命令フェッチレジスタ、3536は命令デコーダで
ある。
そして、従来、この種の情報処理装置において、上記先
入れ先出しレジスタ装置32は段数固定形式のものであ
り、当該情報処理装置におけるバスアクセスの実行時間
との関係でパイプライン制御が最適に行えるような段数
のものが使用されていた。
入れ先出しレジスタ装置32は段数固定形式のものであ
り、当該情報処理装置におけるバスアクセスの実行時間
との関係でパイプライン制御が最適に行えるような段数
のものが使用されていた。
第4図は、バスアクセスの最小実行時間が2T(−2ク
ロツクサイクル)の情報処理装置におけるアドレス生成
部30と演算実行部31とのパイプライン処理のタイミ
ングチャートであり、3段の段数固定の先入れ先出しレ
ジスタ装置を用いた場合のものである。同図に示すよう
に、アドレス生成部30はFetch、Decode、
Execute、Translation、Bus
Cycleの5段のパイプライン構造になっており、F
etchは命令取り込みタイミング、Dec。
ロツクサイクル)の情報処理装置におけるアドレス生成
部30と演算実行部31とのパイプライン処理のタイミ
ングチャートであり、3段の段数固定の先入れ先出しレ
ジスタ装置を用いた場合のものである。同図に示すよう
に、アドレス生成部30はFetch、Decode、
Execute、Translation、Bus
Cycleの5段のパイプライン構造になっており、F
etchは命令取り込みタイミング、Dec。
deは命令デコーF゛タイミング、Executeは実
行タイミング、Translationはアドレス変換
機構による論理アドレスから物理アドレスへの変換タイ
ミング、BusCycleはバスアクセスタイミングで
ある。一方、演算実行部31はアドレス生成部30とは
独立したFetch、Decode、Executeの
3段のパイプライン構造になっており、アドレス生成部
30と同様にそれぞれ命令取り込み、命令デコード実行
の各タイミングからなる。アドレス生成部30でバスア
クセスしたデータを演算実行部31で使用する場合は、
Bus Cycleが終了するまで演算実行部31を
待たせる制御をパイプライン制御部33で行っている。
行タイミング、Translationはアドレス変換
機構による論理アドレスから物理アドレスへの変換タイ
ミング、BusCycleはバスアクセスタイミングで
ある。一方、演算実行部31はアドレス生成部30とは
独立したFetch、Decode、Executeの
3段のパイプライン構造になっており、アドレス生成部
30と同様にそれぞれ命令取り込み、命令デコード実行
の各タイミングからなる。アドレス生成部30でバスア
クセスしたデータを演算実行部31で使用する場合は、
Bus Cycleが終了するまで演算実行部31を
待たせる制御をパイプライン制御部33で行っている。
また、第4図のタイミングチャート中、E N Q (
エンキュー)は先入れ先出しレジスタ装置32への命令
書き込みタイミング信号、DEQ (デキュー)は先入
れ先出しレジスタ装置32から命令を取り出すタイミン
グ信号であり、これらは共にパイプライン制御部33か
ら出力される。また、FULLは先入れ先出しレジスタ
装232の3段全てのレジスタに命令が書き込まれてい
ることを示す信号であり、先入れ先出しレジスタ装置3
2からパイプライン制御部33へ出される。第4図にお
いて、FJus Cycle中のり、が4Tになって
いるのは、キャッシュメモリのミスヒントなどの外的要
因によってバスアクセスに待ち、が生じた場合を想定し
ており、f、、f、、f、、f、の命令(Fetch
fa+。
エンキュー)は先入れ先出しレジスタ装置32への命令
書き込みタイミング信号、DEQ (デキュー)は先入
れ先出しレジスタ装置32から命令を取り出すタイミン
グ信号であり、これらは共にパイプライン制御部33か
ら出力される。また、FULLは先入れ先出しレジスタ
装232の3段全てのレジスタに命令が書き込まれてい
ることを示す信号であり、先入れ先出しレジスタ装置3
2からパイプライン制御部33へ出される。第4図にお
いて、FJus Cycle中のり、が4Tになって
いるのは、キャッシュメモリのミスヒントなどの外的要
因によってバスアクセスに待ち、が生じた場合を想定し
ており、f、、f、、f、、f、の命令(Fetch
fa+。
’ a4+ ’ MSt ’ ahでフェッチされ
た命令)がバスアクセスによるリード命令である。この
為、命令f+、f4.Is、fhにかかる演算実行部3
1のExacuteのタイミングel+ e4+ el
+ e hはBus CycleのタイミングD r
、 D a、 D s、 D bより遅れたタイミング
になるようにパイプライン制御部33によって制御され
る。またアドレス生成部30のp’etchは、先入れ
先出しレジスタ装置32がFULLの状態のときにはデ
キュー(DEC)が行われるまで終了しないようにパイ
プライン制御部33で制御される。すなわち、第4図に
おいてFetchのタイミングf1.はDEQのR1の
終了まで待たされる。
た命令)がバスアクセスによるリード命令である。この
為、命令f+、f4.Is、fhにかかる演算実行部3
1のExacuteのタイミングel+ e4+ el
+ e hはBus CycleのタイミングD r
、 D a、 D s、 D bより遅れたタイミング
になるようにパイプライン制御部33によって制御され
る。またアドレス生成部30のp’etchは、先入れ
先出しレジスタ装置32がFULLの状態のときにはデ
キュー(DEC)が行われるまで終了しないようにパイ
プライン制御部33で制御される。すなわち、第4図に
おいてFetchのタイミングf1.はDEQのR1の
終了まで待たされる。
第6図はバスアクセスによるリード動作を制御する部分
の構成図である。第6図において、バス62からリード
されたデータは一旦リードデータレジスタ61に保持さ
れ、内部バス63を介して演算実行部31のExecu
teのタイミングで引き取られる。逆にリードデータレ
ジスタ61のデータが演算実行部31に引き取られる前
に後続のリード命令のバスアクセスが行われると、リー
ドデータレジスタ61のデータが壊されてしまう。
の構成図である。第6図において、バス62からリード
されたデータは一旦リードデータレジスタ61に保持さ
れ、内部バス63を介して演算実行部31のExecu
teのタイミングで引き取られる。逆にリードデータレ
ジスタ61のデータが演算実行部31に引き取られる前
に後続のリード命令のバスアクセスが行われると、リー
ドデータレジスタ61のデータが壊されてしまう。
第4図を参照すると、D1→e1→D4→e4→DS→
e、→[)h−+6.という順番に処理が進行しており
、上述のようなデータ破壊は生じない。
e、→[)h−+6.という順番に処理が進行しており
、上述のようなデータ破壊は生じない。
しかしながら、若し、当該情報処理装置におけるバスア
クセスの最小実行時間が2TからITに変化したとする
と、第4図のタイミングチャートは第5図に示すものと
なり、D、→e、→D4→D5→e4→e、→D、→e
、と処理が進み、Bus CycleのD4でリード
したデータがBus Cycleのり、のリードによ
って壊されてしまう、即ち、従来の情報処理装置におい
ては、バスアクセスの実行時間が変化する可能性のある
場合、正常に動作しないという欠点がある。勿論、正常
動作させる為に、バスサイクルに合わせて後続の命令の
パイプライン処理を待たせるといった制御を採ることも
できるが、パイプラインの制御方法が複雑になり且つ性
能も落ちるという問題点がある。
クセスの最小実行時間が2TからITに変化したとする
と、第4図のタイミングチャートは第5図に示すものと
なり、D、→e、→D4→D5→e4→e、→D、→e
、と処理が進み、Bus CycleのD4でリード
したデータがBus Cycleのり、のリードによ
って壊されてしまう、即ち、従来の情報処理装置におい
ては、バスアクセスの実行時間が変化する可能性のある
場合、正常に動作しないという欠点がある。勿論、正常
動作させる為に、バスサイクルに合わせて後続の命令の
パイプライン処理を待たせるといった制御を採ることも
できるが、パイプラインの制御方法が複雑になり且つ性
能も落ちるという問題点がある。
本発明はこのような事情に鑑みて為されたものであり、
バスアクセスの実行時間が変化する可能性のある情報処
理装置に好適な先入れ先出しレジスタ装置を提供するこ
とを目的とする。
バスアクセスの実行時間が変化する可能性のある情報処
理装置に好適な先入れ先出しレジスタ装置を提供するこ
とを目的とする。
本発明においては、アドレス生成を行うアドレス生成部
と演算を行う演算実行部とが各々独立したパイプライン
処理により命令を実行する情報処理装置における前記ア
ドレス生成部と前記演算実行部との間の命令の待ち行列
用の先入れ先出しレジスタ装置を、複数段のレジスタか
ら構成される先入れ先出しレジスタと、この先入れ先出
しレジスタの使用段数を検出する検出器と、バスアクセ
スの実行時間に応して定まる前記先入れ先出しレジスタ
の最大使用可能段数を判定し、この判定した最大使用可
能段数と前記検出器で検出された前記先入れ先出しレジ
スタの使用段数との比較により前記先入れ先出しレジス
タが前記判定した最大使用可能段数を越えて使用されな
いように制御する制御回路とで構成している。
と演算を行う演算実行部とが各々独立したパイプライン
処理により命令を実行する情報処理装置における前記ア
ドレス生成部と前記演算実行部との間の命令の待ち行列
用の先入れ先出しレジスタ装置を、複数段のレジスタか
ら構成される先入れ先出しレジスタと、この先入れ先出
しレジスタの使用段数を検出する検出器と、バスアクセ
スの実行時間に応して定まる前記先入れ先出しレジスタ
の最大使用可能段数を判定し、この判定した最大使用可
能段数と前記検出器で検出された前記先入れ先出しレジ
スタの使用段数との比較により前記先入れ先出しレジス
タが前記判定した最大使用可能段数を越えて使用されな
いように制御する制御回路とで構成している。
本発明の先入れ先出しレジスタ装置においては、複数段
のレジスタから構成される先入れ先出しレジスタの使用
段数を検出器が検出すると共に、バスアクセスの実行時
間に応じて定まる最大使用可能段数を制御回路が判定し
、更に制御回路が、その判定した最大使用可能段数を越
えて先入れ先出しレジスタが使用されないように制御す
ることにより、バスアクセスの実行時間に応じて先入れ
先出しレジスタの最大使用可能段数を最適化する。
のレジスタから構成される先入れ先出しレジスタの使用
段数を検出器が検出すると共に、バスアクセスの実行時
間に応じて定まる最大使用可能段数を制御回路が判定し
、更に制御回路が、その判定した最大使用可能段数を越
えて先入れ先出しレジスタが使用されないように制御す
ることにより、バスアクセスの実行時間に応じて先入れ
先出しレジスタの最大使用可能段数を最適化する。
次に、本発明の実施例について図面を参照して詳細に説
明する。
明する。
第1図は本発明の先入れ先出しレジスタ装置の一実施例
の要部ブロック図である。この実施例の先入れ先出しレ
ジスタ装置は、先入れ先出しレジスタlと、検出器2と
、ポインタ制御回路3とで構成されている。
の要部ブロック図である。この実施例の先入れ先出しレ
ジスタ装置は、先入れ先出しレジスタlと、検出器2と
、ポインタ制御回路3とで構成されている。
検出器2は、先入れ先出しレジスタ1の使用段数を検出
し、その検出した使用段数をポインタ制御回路3に送出
するものである。このため本実施例の検出器2はアップ
ダウンカウンタ6を内蔵している。このアップダウンカ
ウンタ6は、パイプライン制御部(第3図参照)から出
力されるENQ信号(先入れ先出しレジスタlへの命令
書き込みタイミングを示す信号)によってカウントアツ
プし、同制御部から出力されるDEQ信号(先入れ先出
しレジスタlから命令を取り出すタイミングを示す信号
)によってカウントダウンするカウンタであり、その出
力が先入れ先出しレジスタlの使用段数を示r値として
ポインタ制御回路3に送出される。なお、アップダウン
カウンタ6はENQ信号とDEQ信号とが同時に入力さ
れた場合はカウントしない。
し、その検出した使用段数をポインタ制御回路3に送出
するものである。このため本実施例の検出器2はアップ
ダウンカウンタ6を内蔵している。このアップダウンカ
ウンタ6は、パイプライン制御部(第3図参照)から出
力されるENQ信号(先入れ先出しレジスタlへの命令
書き込みタイミングを示す信号)によってカウントアツ
プし、同制御部から出力されるDEQ信号(先入れ先出
しレジスタlから命令を取り出すタイミングを示す信号
)によってカウントダウンするカウンタであり、その出
力が先入れ先出しレジスタlの使用段数を示r値として
ポインタ制御回路3に送出される。なお、アップダウン
カウンタ6はENQ信号とDEQ信号とが同時に入力さ
れた場合はカウントしない。
ポインタ制御回路3は、バスアクセスの実行時間に応じ
て定まる先入れ先出しレジスタ1の最大使用可能段数を
判定し、この判定した最大使用可能段数を越えて先入れ
先出しレジスタlが使用されないように制御する回路で
ある。バスアクセスの実行時間は、例えばバスアクセス
を制御する回路(図示せず)から与えられたり或いは命
令によって与えられる。ポインタ制御回路3はこの与え
られたバスアクセスの実行時間が2クロツクサイクルの
場合には先入れ先出しレジスタ1の最大使用可能段数を
3段と判定し、またlクロックサイクルの場合には2段
と判定する。この為に本実施例のポインタ制御回路3は
、上記判定した最大使用可能段数と検出器6から加わる
先入れ先出しレジスタlの使用段数とを比較する比較器
7を内蔵しており、両者が等しくなった場合すなわち先
入れ先出しレジスタ1が最大使用可能段数分使用された
状態になった場合、その最大使用可能段数を越えて更に
先入れ先出しレジスタIが使用されないように制御する
為にFULL信号をパイプライン制御部に出力する。パ
イプライン制御部ではFULL信号が加わっている状態
では、前述したようにアドレス生成部のFetchをD
EQが行われるまで終了せず、従ってENQ信号も発生
させない、また本実施例の比較器7は、検出器2から出
力された先入れ先出しレジスタ1の使用段数を示す値を
そのまま先入れ先出しレジスタlに伝達する働きもして
いる。
て定まる先入れ先出しレジスタ1の最大使用可能段数を
判定し、この判定した最大使用可能段数を越えて先入れ
先出しレジスタlが使用されないように制御する回路で
ある。バスアクセスの実行時間は、例えばバスアクセス
を制御する回路(図示せず)から与えられたり或いは命
令によって与えられる。ポインタ制御回路3はこの与え
られたバスアクセスの実行時間が2クロツクサイクルの
場合には先入れ先出しレジスタ1の最大使用可能段数を
3段と判定し、またlクロックサイクルの場合には2段
と判定する。この為に本実施例のポインタ制御回路3は
、上記判定した最大使用可能段数と検出器6から加わる
先入れ先出しレジスタlの使用段数とを比較する比較器
7を内蔵しており、両者が等しくなった場合すなわち先
入れ先出しレジスタ1が最大使用可能段数分使用された
状態になった場合、その最大使用可能段数を越えて更に
先入れ先出しレジスタIが使用されないように制御する
為にFULL信号をパイプライン制御部に出力する。パ
イプライン制御部ではFULL信号が加わっている状態
では、前述したようにアドレス生成部のFetchをD
EQが行われるまで終了せず、従ってENQ信号も発生
させない、また本実施例の比較器7は、検出器2から出
力された先入れ先出しレジスタ1の使用段数を示す値を
そのまま先入れ先出しレジスタlに伝達する働きもして
いる。
先入れ先出しレジスタ1は、アドレス生成部と演算実行
部との間の命令の待ち行列用として使用されるものであ
り、本実施例では、複数段のレジスタ4−1〜4−nと
、デコーダ5とを内蔵している。デコーダ5には検出器
6で検出された使用段数がポインタ制御回路3を介して
入力されており、そのデコード出力は各レジスタ4−1
〜4−nに制御信号として加えられている。デコーダ5
は、その出力する制御信号によって、ENQタイミング
においては、入力されている使用段数の値で指定される
段数口のレジスタに命令を格納し、DEQタイミングに
おいては、最下段のレジスタ4−1に格納された命令を
出力すると共にその上位のレジスタ4−2等に格納され
ている命令を1段下のレジスタ4−1等にシフトする。
部との間の命令の待ち行列用として使用されるものであ
り、本実施例では、複数段のレジスタ4−1〜4−nと
、デコーダ5とを内蔵している。デコーダ5には検出器
6で検出された使用段数がポインタ制御回路3を介して
入力されており、そのデコード出力は各レジスタ4−1
〜4−nに制御信号として加えられている。デコーダ5
は、その出力する制御信号によって、ENQタイミング
においては、入力されている使用段数の値で指定される
段数口のレジスタに命令を格納し、DEQタイミングに
おいては、最下段のレジスタ4−1に格納された命令を
出力すると共にその上位のレジスタ4−2等に格納され
ている命令を1段下のレジスタ4−1等にシフトする。
なお、アップダウンカウンタ6のカウント値が0のとき
は、先入れ先出しレジスタIが空の状態であり、入力さ
れた命令はENQ信号が入力されない限り先入れ先出し
レジスタ1に格納されず、そのまま先入れ先出しレジス
タ1から出力される。
は、先入れ先出しレジスタIが空の状態であり、入力さ
れた命令はENQ信号が入力されない限り先入れ先出し
レジスタ1に格納されず、そのまま先入れ先出しレジス
タ1から出力される。
本実施例の先入れ先出しレジスタ装置は上述した構成を
有するため、バスアクセスの実行時間が2クロツクサイ
クルのときは、ポインタ制御回路3で最大使用可能段数
=3と判定され、先入れ先出しレジスタl中のレジスタ
4−1.4−2.4−3のみが使用される。即ち、レジ
スタ4−1゜4−2.4−3の全てに命令が格納された
状態になると、検出器6中のアップダウンカウンタ6の
カウント値が3となり、ポインタ制御回路3中の比較器
7からFULL信号がパイプライン制御部に出力されて
、それ以上の段数が使用されないようになる。従って、
従来の固定段数=3の先入れ先出しレジスタ装置を使用
した場合と同じになり、バスアクセス=27のときのア
ドレス生成部および演算実行部のパイプライン処理のタ
イミングチャートは第4図と同じになる。
有するため、バスアクセスの実行時間が2クロツクサイ
クルのときは、ポインタ制御回路3で最大使用可能段数
=3と判定され、先入れ先出しレジスタl中のレジスタ
4−1.4−2.4−3のみが使用される。即ち、レジ
スタ4−1゜4−2.4−3の全てに命令が格納された
状態になると、検出器6中のアップダウンカウンタ6の
カウント値が3となり、ポインタ制御回路3中の比較器
7からFULL信号がパイプライン制御部に出力されて
、それ以上の段数が使用されないようになる。従って、
従来の固定段数=3の先入れ先出しレジスタ装置を使用
した場合と同じになり、バスアクセス=27のときのア
ドレス生成部および演算実行部のパイプライン処理のタ
イミングチャートは第4図と同じになる。
他方、バスアクセスの最小実行時間が変化して2Tから
ITになったとすると、ポインタ制御回路3で最大使用
可能段数−2と判定される。このため先入れ先出しレジ
スタl中のレジスタ4−1゜4−2に共に命令が格納さ
れると、アップダウンカウンタ6のカウンタ値が2とな
り、比較器7からFULL信号がパイプライン制御部に
出力されてそれ以上の段数が使用されないようになる。
ITになったとすると、ポインタ制御回路3で最大使用
可能段数−2と判定される。このため先入れ先出しレジ
スタl中のレジスタ4−1゜4−2に共に命令が格納さ
れると、アップダウンカウンタ6のカウンタ値が2とな
り、比較器7からFULL信号がパイプライン制御部に
出力されてそれ以上の段数が使用されないようになる。
即ち、レジスタ4−1.4−2のみが使用されるように
なる。このようにバスアドレスの実行時間がITの時に
は最大使用可能段数を2段に自動的に制限するので、従
来技術の項で説明した第5図のタイミングチャートは第
2図のように改善される。
なる。このようにバスアドレスの実行時間がITの時に
は最大使用可能段数を2段に自動的に制限するので、従
来技術の項で説明した第5図のタイミングチャートは第
2図のように改善される。
同図に示す通り、Bus Cycleと演算実行部の
Executeのタイミングは、D+−+s+−)D4
+e4 →ps−+(i、−+D、−+6.となり、リ
ードしたデータが後続のリード命令によって破壊される
ことはなくなる。
Executeのタイミングは、D+−+s+−)D4
+e4 →ps−+(i、−+D、−+6.となり、リ
ードしたデータが後続のリード命令によって破壊される
ことはなくなる。
このように本実施例の先入れ先出しレジスタ装置によれ
ば、バスアクセスの実行時間により、アドレス生成部と
演算実行部との間にパイプラインのタイミングのずれが
生じても、命令の待ち行列として必要な段数を変化させ
ることができる。
ば、バスアクセスの実行時間により、アドレス生成部と
演算実行部との間にパイプラインのタイミングのずれが
生じても、命令の待ち行列として必要な段数を変化させ
ることができる。
以上説明したように、本発明の先入れ先出しレジスタ装
置においては、バスアクセスの実行時間に応じて自動的
に最大使用可能段数が制御されるので、バスアクセスの
実行時間が変化する可能性のある情報処理装置において
も正常な動作を保証でき、またバスアクセスの実行時間
に合わせて後続の命令のパイプライン処理を待たせると
いった複雑な制御が不要となり、最も効率の良い段数で
パイプライン処理を進めることができる効果がある。
置においては、バスアクセスの実行時間に応じて自動的
に最大使用可能段数が制御されるので、バスアクセスの
実行時間が変化する可能性のある情報処理装置において
も正常な動作を保証でき、またバスアクセスの実行時間
に合わせて後続の命令のパイプライン処理を待たせると
いった複雑な制御が不要となり、最も効率の良い段数で
パイプライン処理を進めることができる効果がある。
第1図は本発明の先入れ先出しレジスタ装置の一実施例
の要部ブロック図、 第2回は本発明の先入れ先出しレジスタ装置を用いてパ
イプライン制御を行った時のタイミングチャート、 第3図はパイプライン方式の情報処理装置の要部ブロッ
ク図、 第4図は3段固定の先入れ先出しレジスタ装置を用いて
バスアクセスが2クロックサイクル時のパイプライン制
御を行った時のタイミングチャート、 第5図は3段固定の先入れ先出しレジスタ装置を用いて
バスアクセスが1クロックサイクル時のパイプライン制
御を行った時のタイミングチャートおよび、 第6図はバスリード部分の構成図である。 図において、 1・・・先入れ先出しレジスタ 2・・・検出器 3・・・ポインタ制御回路 4−1〜4−n・・・レジスタ 5・・・デコーダ 6・・・アップダウンカウンタ 7・・・比較器 特許出願人 日本電気株式会社外1名
の要部ブロック図、 第2回は本発明の先入れ先出しレジスタ装置を用いてパ
イプライン制御を行った時のタイミングチャート、 第3図はパイプライン方式の情報処理装置の要部ブロッ
ク図、 第4図は3段固定の先入れ先出しレジスタ装置を用いて
バスアクセスが2クロックサイクル時のパイプライン制
御を行った時のタイミングチャート、 第5図は3段固定の先入れ先出しレジスタ装置を用いて
バスアクセスが1クロックサイクル時のパイプライン制
御を行った時のタイミングチャートおよび、 第6図はバスリード部分の構成図である。 図において、 1・・・先入れ先出しレジスタ 2・・・検出器 3・・・ポインタ制御回路 4−1〜4−n・・・レジスタ 5・・・デコーダ 6・・・アップダウンカウンタ 7・・・比較器 特許出願人 日本電気株式会社外1名
Claims (1)
- 【特許請求の範囲】 アドレス生成を行うアドレス生成部と演算を行う演算実
行部とが各々独立したパイプライン処理により命令を実
行する情報処理装置における前記アドレス生成部と前記
演算実行部との間の命令の待ち行列用の先入れ先出しレ
ジスタ装置において、複数段のレジスタから構成される
先入れ先出しレジスタと、 該先入れ先出しレジスタの使用段数を検出する検出器と
、 バスアクセスの実行時間に応じて定まる前記先入れ先出
しレジスタの最大使用可能段数を判定し、該判定した最
大使用可能段数と前記検出器で検出された前記先入れ先
出しレジスタの使用段数との比較により前記先入れ先出
しレジスタが前記判定した最大使用可能段数を越えて使
用されないように制御する制御回路とを具備したことを
特徴とする先入れ先出しレジスタ装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63314390A JPH02159624A (ja) | 1988-12-13 | 1988-12-13 | 先入れ先出しレジスタ装置 |
US07/448,083 US5134562A (en) | 1988-12-13 | 1989-12-12 | Fifo register device adaptively changing a stage number in dependency on a bus cycle |
AU46726/89A AU617909B2 (en) | 1988-12-13 | 1989-12-13 | FIFO register device capable of coping with variation of a minimum execution time for a bus cycle |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63314390A JPH02159624A (ja) | 1988-12-13 | 1988-12-13 | 先入れ先出しレジスタ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02159624A true JPH02159624A (ja) | 1990-06-19 |
Family
ID=18052772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63314390A Pending JPH02159624A (ja) | 1988-12-13 | 1988-12-13 | 先入れ先出しレジスタ装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5134562A (ja) |
JP (1) | JPH02159624A (ja) |
AU (1) | AU617909B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010021119A1 (ja) * | 2008-08-21 | 2010-02-25 | パナソニック株式会社 | 命令制御装置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2664114A1 (fr) * | 1990-07-02 | 1992-01-03 | Alcatel Radiotelephone | Module interface de transfert de donnees. |
US5313622A (en) * | 1990-08-16 | 1994-05-17 | National Instruments | Timing apparatus and method for generating instruction signals |
JP3220881B2 (ja) * | 1992-12-29 | 2001-10-22 | 株式会社日立製作所 | 情報処理装置 |
JP3765547B2 (ja) * | 1993-10-29 | 2006-04-12 | ハイニックス セミコンダクター アメリカ インコーポレイテッド | Fifo状態インジケータ |
JP2924736B2 (ja) * | 1995-10-06 | 1999-07-26 | 株式会社デンソー | パイプライン演算装置 |
US5956492A (en) * | 1996-03-29 | 1999-09-21 | Lsi Logic Corporation | N-deep fixed latency fall-through FIFO architecture |
EP0798633B1 (en) * | 1996-03-29 | 2005-06-08 | Matsushita Electric Industrial Co., Ltd. | Data processor having a variable number of pipeline stages |
JP2001092662A (ja) * | 1999-09-22 | 2001-04-06 | Toshiba Corp | プロセッサコア及びこれを用いたプロセッサ |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4527237A (en) * | 1979-10-11 | 1985-07-02 | Nanodata Computer Corporation | Data processing system |
JPS6057090B2 (ja) * | 1980-09-19 | 1985-12-13 | 株式会社日立製作所 | データ記憶装置およびそれを用いた処理装置 |
US4458316A (en) * | 1981-03-06 | 1984-07-03 | International Business Machines Corporation | Queuing commands in a peripheral data storage system |
JPS5916053A (ja) * | 1982-07-16 | 1984-01-27 | Nec Corp | パイプライン演算装置 |
US4507760A (en) * | 1982-08-13 | 1985-03-26 | At&T Bell Laboratories | First-in, first-out (FIFO) memory configuration for queue storage |
US4644569A (en) * | 1984-08-06 | 1987-02-17 | Teleplex Corporation | Coherent data word transfer by an asynchronous gateway data port |
US4682284A (en) * | 1984-12-06 | 1987-07-21 | American Telephone & Telegraph Co., At&T Bell Lab. | Queue administration method and apparatus |
JPH07118187B2 (ja) * | 1985-05-27 | 1995-12-18 | 松下電器産業株式会社 | 先入れ先出し記憶装置 |
US4803654A (en) * | 1985-06-20 | 1989-02-07 | General Datacomm Industries, Inc. | Circular first-in, first out buffer system for generating input and output addresses for read/write memory independently |
US4949252A (en) * | 1985-10-17 | 1990-08-14 | Technology 80, Inc. | Computer channel analyzer with monitoring and selective display of predetermining events and related data |
US4839866A (en) * | 1987-05-29 | 1989-06-13 | Texas Instruments Incorporated | Cascadable first-in, first-out memory |
-
1988
- 1988-12-13 JP JP63314390A patent/JPH02159624A/ja active Pending
-
1989
- 1989-12-12 US US07/448,083 patent/US5134562A/en not_active Expired - Fee Related
- 1989-12-13 AU AU46726/89A patent/AU617909B2/en not_active Ceased
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010021119A1 (ja) * | 2008-08-21 | 2010-02-25 | パナソニック株式会社 | 命令制御装置 |
Also Published As
Publication number | Publication date |
---|---|
US5134562A (en) | 1992-07-28 |
AU4672689A (en) | 1990-06-21 |
AU617909B2 (en) | 1991-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5774709A (en) | Enhanced branch delay slot handling with single exception program counter | |
JPH05204709A (ja) | プロセッサ | |
US6957323B2 (en) | Operand file using pointers and reference counters and a method of use | |
JPH02159624A (ja) | 先入れ先出しレジスタ装置 | |
JPH08221272A (ja) | 命令キャッシュに命令をロードする方法 | |
US5499348A (en) | Digital processor capable of concurrently executing external memory access and internal instructions | |
EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
JPH08255476A (ja) | データ処理システムにおけるメモリ拡張スタック装置および方法 | |
CN111459872A (zh) | 一种多核并行计算的快速核间数据同步方法 | |
JPS6236575B2 (ja) | ||
US5500830A (en) | Memory access device | |
JP2783285B2 (ja) | 情報処理装置 | |
JP2901247B2 (ja) | 掃出し制御方式 | |
JP2668987B2 (ja) | データ処理装置 | |
JPH03158952A (ja) | Dmaコントローラおよび情報処理システム | |
JPH0377137A (ja) | 情報処理装置 | |
JPS6232506B2 (ja) | ||
JP3476314B2 (ja) | マイクロプロセッサ | |
JP2006515446A (ja) | 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム | |
JPH01273132A (ja) | マイクロプロセッサ | |
JPH10232775A (ja) | プリフェッチ機構 | |
JP2721610B2 (ja) | プログラマブルコントローラ | |
JP3739556B2 (ja) | 情報処理装置 | |
JP3327598B2 (ja) | データ処理方法およびデータ処理装置 | |
JPH0212358A (ja) | データ転送方式 |