JPH0667885A - パイプライン制御方法 - Google Patents

パイプライン制御方法

Info

Publication number
JPH0667885A
JPH0667885A JP24125792A JP24125792A JPH0667885A JP H0667885 A JPH0667885 A JP H0667885A JP 24125792 A JP24125792 A JP 24125792A JP 24125792 A JP24125792 A JP 24125792A JP H0667885 A JPH0667885 A JP H0667885A
Authority
JP
Japan
Prior art keywords
stage
address
pipeline
store buffer
stored
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
JP24125792A
Other languages
English (en)
Other versions
JP3115428B2 (ja
Inventor
Toshio Hikima
寿夫 引間
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP04241257A priority Critical patent/JP3115428B2/ja
Publication of JPH0667885A publication Critical patent/JPH0667885A/ja
Application granted granted Critical
Publication of JP3115428B2 publication Critical patent/JP3115428B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 パイプライン処理において書込みアドレスと
演算処理データを同一のストアバッファ面に格納する場
合に、パイプライン上におけるゲート量の増加を防止す
る。 【構成】 演算処理データを生成する前に生成された書
込みアドレスはそのままレジスタに保持しない。書込み
アドレスはその時表示されたストアバッファ次登録面に
従ってストアバッファ・アドレス部に登録する。そし
て、ポインタレジスタにはそのストアバッファ次登録面
を保持する。パイプライン上ではこの面番号が転送され
て、演算処理データはこの面番号を参照して該当するス
トアバッファ・データ部に格納する。面番号を保持する
ポインタレジスタは比較的小容量でよい。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、パイプライン制御を行
なう情報処理装置において、特に書込みアドレスと演算
処理データから成る演算処理結果を、ストアバッファに
登録するためのパイプライン制御方法に関する。
【0002】
【従来の技術】情報処理装置において、パイプライン制
御は処理の能率化を図るための方法としてよく知られて
いる。図2に、従来のパイプライン制御の一例を示すタ
イムチャートを図示した。このパイプライン制御におい
ては、予め書込みアドレスを演算し、更に所定の演算処
理によって書込みデータを得て、両者をストアバッファ
に登録する処理を行なう内容のものである。このパイプ
ライン制御では、ステージがI、D、X、A、R、E、
Wの7段階から構成されている。先ず始めに、アドレス
生成が行なわれ、ステージIにおいて命令の取り出しが
され、ステージDにおいて解読が行なわれる。そして、
ステージXにおいて書込み論理アドレスが算出され、ス
テージAにおいて書込み論理アドレスから書込み物理ア
ドレスが算出される。次に、ステージRにおいてはデー
タ演算が開始され、被演算内容の読み出しが行なわれ
る。また、ステージEにおいては、被演算内容に対し演
算を行い、書込みデータを決定する。そして、最後のス
テージWにおいて、先に演算処理によって求められた書
込み物理アドレスが書込みデータと共にストアバッファ
に格納される。
【0003】なお、このような処理を実行する場合、ス
テージRとステージEにおいては、既に演算処理により
求められた書込み物理アドレスを保持する動作が行なわ
れる。パイプライン処理は、メモリとプロセッサを使用
したソフトウエア的な処理と異なり、生成されたアドレ
ス即ち書込み物理アドレスはレジスタ等に実際に保存さ
れる。例えば、書込み物理アドレスのビット幅を32ビ
ットとすると、この例では、Rステージ用とEステージ
用とWステージ用の3個のレジスタを設ける必要があ
る。
【0004】図3に、このようなハードウエアを明らか
にした従来のアドレス生成パイプライン動作説明図を示
す。図の左側に示したのはステージの種類で、各ステー
ジにおいて右側に示したハードウエアが動作する。時間
は下の方向に経過していくものとする。図において、汎
用レジスタ等1や即値等2には論理アドレスを計算する
ためのデータが格納されている。論理アドレス計算器3
は、汎用レジスタ等1や即値等2の出力を受け入れて、
論理アドレスを計算する演算ユニット等から構成され
る。この部分の演算処理はXステージで行なわれる。論
理アドレス計算器3の計算結果は、Aステージ用論理ア
ドレスレジスタLARAに格納される。なお、LARA
とは、Logical Address Register for A-stageの略であ
る。次のAステージでは、アドレス変換器4がLARA
から論理アドレスを読み出し、これを実アドレスに変換
する。この実アドレスは、Rステージ用実アドレスレジ
スタRARRに格納される。RARRは、Real Address
Register for R-stage の略である。その後、Rステー
ジでは、Rステージ用実アドレスレジスタRARRから
Eステージ用実アドレスレジスタRAREへ実アドレス
の転送が行なわれる。なお、RAREは、Real Address
Register for E-stage の略である。更に、Eステージ
においては、Eステージ用実アドレスレジスタRARE
からWステージ用実アドレスレジスタRARWへ実アド
レスの転送が行なわれる。RARWは、Real Address R
egister for W-stage の略である。そして、Wステージ
においては、その時点で表示されるストアバッファ次登
録面STBNXTの指示に従って、ストアバッファ・ア
ドレス部5の所定の面に実アドレスを登録する。なお、
STBNXTは、StoreBuffer Pointer Nextの略であ
る。
【0005】図4に従来のデータ演算パイプライン説明
図を示す。データ演算においては、図3の処理に対応し
てこの図に示すような処理が行なわれる。この左側には
Rステージ、Eステージ、Wステージの表示がされてい
る。先ずRステージにおいては、汎用レジスタ等6から
演算対象となるデータがオペランドバッファPBA及び
オペランドバッファPBBに格納される。PBAとはOp
erand Buffer Aの略で、A入力用として使用される。
PBBはOperand Buffer Bの略で、B入力用として使
用される。Eステージにおいては、演算器7にオペラン
ドバッファPBAの出力とオペランドバッファPBBの
出力が入力する。これによって演算器7は所定の演算を
実行し演算結果を書込みデータレジスタWDRに格納す
る。WDRはWrite Data Registerの略である。Wステ
ージにおいては、先に説明したストアバッファ次登録面
STBNXTの指示に従って、ストアバッファ・データ
部8に対しその所定の面に書込みデータを格納する。
【0006】
【発明が解決しようとする課題】ところで、上記のよう
なストアバッファ・アドレス部5やストアバッファ・デ
ータ部8は、それぞれ例えば0面からn面までのn+1
の複数の面から構成され、演算処理動作実行中に、次々
に登録される演算処理結果は、ストアバッファ次登録面
STBNXTの指示に従って、交互にそれぞれ異なる面
に登録される。ストアバッファ次登録面STBNXT
は、このような演算処理結果の登録が行なわれる都度イ
ンクリメントされる。従って、図3に示すアドレス変換
器4の変換結果は、2段階のパイプライン処理の間3個
のレジスタに順に保持され、書込みデータと同一のスト
アバッファ次登録面の指示に従って各ストアバッファ・
アドレス部5あるいはストアバッファ・データ部8に登
録される。
【0007】しかしながら、上記のような方法では、書
込みアドレスが決定してからストアバッファにそのアド
レスを登録するまでに、例えば3個の32ビットレジス
タを経由しなければならないことから実質的に96ビッ
ト分のフリップフロップあるいはラッチが必要となり、
回路のゲート量が多数必要になるという問題があった。
特に、これは将来物理アドレスが32ビットから、更に
例えば48ビット程度まで増加したり、パイプライン段
数が増えて3個以上のレジスタが必要になった場合、一
層ハードウエア量が増大してしまう虞れがある。
【0008】本発明は以上の点に着目してなされたもの
で、パイプライン処理において書込みアドレスと演算処
理データを同一のストアバッファ面に格納する場合に、
パイプライン上におけるゲート量の増加を防止すること
ができるパイプライン制御方法を提供することを目的と
するものである。
【0009】
【課題を解決するための手段】本発明のパイプライン制
御方法は、複数段階のパイプライン制御により、書込み
アドレスと演算処理データから成る演算処理結果をスト
アバッファに登録する処理を実行する場合において、前
段階で生成された書込みアドレスを、前記演算処理結果
を格納すべきストアバッファに格納するとともに、その
書込みアドレスを格納したストアバッファを特定するた
めの面番号を、前記パイプライン上に保持して、その後
対応する演算処理データが生成されたとき、前記パイプ
ライン上の面番号を参照して、該当するストアバッファ
に演算処理データを格納することを特徴とするものであ
る。
【0010】
【作用】この方法では、演算処理データを生成する前に
生成された書込みアドレスをそのままレジスタに保持し
ない。書込みアドレスはその時示されたストアバッファ
次登録面に従って、ストアバッファ・アドレス部5に登
録する。そして、レジスタにはそのストアバッファ次登
録面を保持する。パイプライン上ではこの面番号が転送
されて、演算処理データはこの面番号を参照して該当す
るストアバッファ・データ部に格納する。面番号を保持
するレジスタは比較的小容量でよい。
【0011】
【実施例】以下、本発明を図の実施例を用いて詳細に説
明する。図1は本発明のパイプライン制御方法の実施例
を示すタイムチャートである。このタイムチャートは、
図の左側に示すように、I、D、X、A、R、E、Wの
7段階の処理により構成される。図の上から下へ向かっ
て時間が経過する。この処理内容の相当部分は、既に図
2で説明した従来の方法と同様である。即ち、先ずステ
ージIにおいて、アドレス生成処理が開始され、命令の
読み出しが行なわれる。そしてステージDにおいて、そ
の解読が行なわれ、ステージXにおいて書込み論理アド
レスの算出が行なわれる。更にステージAにおいては、
書込み論理アドレスから書込み物理アドレスが算出され
る。
【0012】ここで本発明においては、こうして生成さ
れた書込み物理アドレスが直ちにストアバッファ・アド
レス部5に登録される。そして、この時示されていたス
トアバッファの登録面をRステージ以降ポインタレジス
タに保持する。一方、Rステージにおいてはデータ演算
が開始され、被演算内容が読み出される。更にステージ
Eにおいては、被演算内容に対し演算を行い、書込みデ
ータの決定をする。このステージRとステージEの動作
は従来と変わるところはない。そしてステージWにおい
て、ポインタレジスタを参照し、該当するストアバッフ
ァの登録面を読み出す。これを用いて書込みデータを該
当するストアバッファに格納する。即ち、従来はこのス
テージWにおいて、システム側で表示されたストアバッ
ファの登録面に従って、ストアバッファに書込みデータ
を格納していたが、本発明においてはポインタレジスタ
に保持されたストアバッファの登録面を参照する。
【0013】図5及び図6を用いて本発明の動作を更に
具体的に説明する。図5は、従来方法で説明したと同様
のハードウエアの動作を各ステージ毎に表わした図面で
ある。即ち、時間は図の上から下に経過し、その各ステ
ージ毎に図の右側に示されたハードウエアが所定の動作
を実行する。先ずXステージは、従来のものと同様で、
汎用レジスタ等1と即値等2の出力は、論理アドレス計
算器3に入力し、所定の論理アドレス演算処理が実行さ
れる。こうして求められた論理アドレスは、Aステージ
用論理アドレスレジスタLARAに格納される。次にA
ステージにおいては、アドレス変換器4がAステージ用
論理アドレスレジスタLARAから読み出した論理アド
レスを物理アドレスに変換する。こうして得られた物理
アドレスは、Aステージにおいて表示されたストアバッ
ファ次登録面STBNXTに従ってストアバッファ・ア
ドレス部5の該当する登録面に格納される。また、本発
明においては、同時にこのストアバッファ次登録面ST
BNXTがRステージ用ストアバッファ面ポインタST
BRPRに格納される。これはポインタ格納用のレジス
タである。次に図6に移り、Rステージにおいて、Rス
テージ用ストアバッファ面ポインタSTBRPRからE
ステージ用ストアバッファ面ポインタSTBEPRへ上
記保持中のストアバッファ次登録面のデータが転送され
る。なお、ここではこの保持中のストアバッファ次登録
面を簡単に面番号と呼ぶことにする。
【0014】このRステージにおいては、データ演算が
開始され、汎用レジスタ等6からオペランドバッファP
BA及びオペランドバッファPBBに対し、所定の演算
処理用データが出力される。次にEステージにおいて
は、Eステージ用ストアバッファ面ポインタSTBEP
RからWステージ用ストアバッファ面ポインタSTBW
ERに対し、面番号が転送される。そして、このEステ
ージにおいては、同時にオペランドバッファPBAとオ
ペランドバッファPBBに格納されたデータを受け入れ
て演算器7が所定の演算を実行し、その結果を書込みデ
ータレジスタWDRに出力する。
【0015】最後にWステージにおいては、書込みデー
タレジスタWDRに格納された演算処理データがストア
バッファ・データ部8に格納されるが、この時ストアバ
ッファ・データ部8の書き込み面の面番号は、Wステー
ジ用ストアバッファ面ポインタSTBWPRを参照して
決定される。これにより、最終的なストアバッファ・ア
ドレス部5及びストアバッファ・データ部8への書込み
アドレスと演算処理データの書込みは同一面へ行なわれ
ることになる。例えば、上記のような面番号はストアバ
ッファの格納容量によって3ビット程度の幅に設定する
ことができる。この場合、従来では32ビットの書込み
アドレスを保持するためのレジスタが3個必要であった
ことから、ゲートが96個必要であった。これに対し本
発明の方法によれば、3ビットの面番号を保持するレジ
スタを3個持てばよいことになり、ゲート数は9個でよ
い。従って、両者の差をとれば87個のゲートの削減が
可能になる。書込みアドレスのビット幅が更に48ビッ
トまで増加した場合や、パイプラインの段数が増加し3
段階以上書込みアドレスを保持しなければならないよう
な場合、本発明と従来の方法との差が更に広がることに
なる。
【0016】本発明は以上の実施例に限定されない。ア
ドレス計算部分やデータ演算部分のハードウエア構成、
ストアバッファの構成等については、同様の機能を持つ
各種の構成に置き換えて差し支えない。また、レジスタ
の種類や数等も同様の主旨を変更しない範囲で自由に変
更して差し支えない。
【0017】
【発明の効果】以上説明した本発明のパイプライン制御
方法によれば、書込みアドレスと演算処理データから成
る演算処理結果をストアバッファに登録する場合に、演
算処理データより前に生成された書込みアドレスを演算
処理データが生成されるまで保持しておく代わりに、一
旦格納したストアバッファの面番号をパイプライン上に
保持するようにしたので、書込みアドレスを保持してお
く場合に比べて少ないゲート数でパイプライン処理が実
行できる。これによって、書込みアドレスのビット数が
増加した場合や保持しておくべきパイプライン段数が増
加した場合でもゲート数の著しい増加を防止しつつパイ
プライン制御を行なうことができる。
【図面の簡単な説明】
【図1】本発明のパイプライン制御方法の実施例を示す
タイムチャートである。
【図2】従来のパイプライン制御方法タイムチャートで
ある。
【図3】従来のアドレス生成パイプライン動作説明図で
ある。
【図4】従来のデータ演算パイプライン説明図である。
【図5】本発明の方法による動作説明図(その1)であ
る。
【図6】本発明の方法による動作説明図(その2)であ
る。
【符号の説明】
I〜W ステージ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数段階のパイプライン制御により、書
    込みアドレスと演算処理データから成る演算処理結果を
    ストアバッファに登録する処理を実行する場合におい
    て、 前段階で生成された書込みアドレスを、前記演算処理結
    果を格納すべきストアバッファに格納するとともに、 その書込みアドレスを格納したストアバッファを特定す
    るための面番号を、前記パイプライン上に保持して、 その後対応する演算処理データが生成されたとき、前記
    パイプライン上の面番号を参照して、該当するストアバ
    ッファに前記演算処理データを格納することを特徴とす
    るパイプライン制御方法。
JP04241257A 1992-08-18 1992-08-18 パイプライン制御方法 Expired - Fee Related JP3115428B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04241257A JP3115428B2 (ja) 1992-08-18 1992-08-18 パイプライン制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04241257A JP3115428B2 (ja) 1992-08-18 1992-08-18 パイプライン制御方法

Publications (2)

Publication Number Publication Date
JPH0667885A true JPH0667885A (ja) 1994-03-11
JP3115428B2 JP3115428B2 (ja) 2000-12-04

Family

ID=17071555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04241257A Expired - Fee Related JP3115428B2 (ja) 1992-08-18 1992-08-18 パイプライン制御方法

Country Status (1)

Country Link
JP (1) JP3115428B2 (ja)

Also Published As

Publication number Publication date
JP3115428B2 (ja) 2000-12-04

Similar Documents

Publication Publication Date Title
US4476525A (en) Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously
US4578750A (en) Code determination using half-adder based operand comparator
US6081887A (en) System for passing an index value with each prediction in forward direction to enable truth predictor to associate truth value with particular branch instruction
US8943298B2 (en) Meta predictor restoration upon detecting misprediction
EP0094535B1 (en) Pipe-line data processing system
JPH03286332A (ja) デジタルデータ処理装置
US20050172210A1 (en) Add-compare-select accelerator using pre-compare-select-add operation
US6055628A (en) Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks
US5349671A (en) Microprocessor system generating instruction fetch addresses at high speed
US5390306A (en) Pipeline processing system and microprocessor using the system
US5142630A (en) System for calculating branch destination address based upon address mode bit in operand before executing an instruction which changes the address mode and branching
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
JPH0667885A (ja) パイプライン制御方法
JP2812610B2 (ja) パイプライン制御方式
KR100246465B1 (ko) 마이크로프로세서 스택 명령어의 수행사이클을 줄이기 위한 장치 및 그 방법
JPH1173301A (ja) 情報処理装置
JP2856784B2 (ja) 電子計算機
JP3523407B2 (ja) 情報処理装置
JPH0248733A (ja) 情報処理装置
JPS60214043A (ja) パイプライン制御回路
JP2001034474A (ja) データ処理装置及びデータ処理方法
JPH06161778A (ja) マルチフロー命令制御方法及び命令処理装置
JP2000181714A (ja) 命令制御装置
JPS61100836A (ja) 移動命令論理比較命令処理方式
JPS63197233A (ja) 情報処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees