JPH06100967B2 - パイプライン処理機構を持つデータ処理装置および処理方法 - Google Patents

パイプライン処理機構を持つデータ処理装置および処理方法

Info

Publication number
JPH06100967B2
JPH06100967B2 JP14585287A JP14585287A JPH06100967B2 JP H06100967 B2 JPH06100967 B2 JP H06100967B2 JP 14585287 A JP14585287 A JP 14585287A JP 14585287 A JP14585287 A JP 14585287A JP H06100967 B2 JPH06100967 B2 JP H06100967B2
Authority
JP
Japan
Prior art keywords
stack pointer
stage
instruction
processing
pipeline
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
JP14585287A
Other languages
English (en)
Other versions
JPS63308641A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP14585287A priority Critical patent/JPH06100967B2/ja
Publication of JPS63308641A publication Critical patent/JPS63308641A/ja
Priority to US07/506,498 priority patent/US4974158A/en
Publication of JPH06100967B2 publication Critical patent/JPH06100967B2/ja
Priority to US08/408,198 priority patent/US5566307A/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、命令のパイプライン処理機能を備え、スタ
ツクプツシユ・アドレツシングモード、スタツクポツプ
・アドレツシングモードで命令のオペランドをアクセス
することが可能なマイクロプロセツサ等の、パイプライ
ン処理機構を持つデータ処理装置およびデータ処理方法
に関するものである。
〔従来の技術〕
第6図は従来のパイプライン処理を示す構成図であり、
(1)はアドレス演算ステージ、(2)は実行ステー
ジ、(3)はスタツクポインタである。第7図は従来の
パイプラインの動作を説明するための図であり、(a)
は命令、(b)はその命令実行時のパイプライン処理を
示している。
次に動作について説明する。スタツクプツシユ、スタツ
クポツプ・アドレツシングモードによるオペランド指定
を含む命令を実行する場合、オペランドのアドレス演算
と同時にスタツクポインタの更新が行われると仮定され
ている。しかしながらパイプライン処理でこのような命
令を処理する場合、アドレス演算ステージで新しいスタ
ツクポインタ値を計算しても、実行ステージで処理中の
先行命令で元のスタツクポインタ値を参照する可能性が
ある。従つてスタツクポインタ値を参照する先行命令が
すべて実行ステージを通過するまで、当該命令はアドレ
ス演算ステージで待たなければならない。
例えば第7図に示すように、スタツクプツシユ・アドレ
ツシングモード(図中、PUSHと表示)によるオペランド
指定を含む命令を2つ続けて処理する場合のパイプライ
ン処理の動きについて説明する。命令実行前のスタツ
クポインタの値をSPとすると、アドレス演算ステージで
まず命令のオペランドのアドレスが計算され、(SP−
4)をアドレスとして出力する。しかしこの時点ではま
だ命令に先行する他の命令がスタツクポインタをアク
セスする可能性があるため、スタツクポインタの値を実
際に更新することはできない。スタツクポインタの値を
実際に更新するのは実行ステージで命令が処理される
段階である。また命令のアドレス演算は、命令で得
られた新たなスタツクポインタ値(SP−4)が実際にス
タツクポインタに書き込まれないうちは行えないので、
スタツクポインタが更新されるのを待つて演算を行う。
〔発明が解決しようとする問題点〕
以上のように従来のパイプライン処理では、スタツクプ
ツシユ、スタツクポツプ・アドレツシングモードによる
オペランド指定を含む命令列を実行する場合、命令が実
質的に1つづつしか実行できず、各ステージによる並列
処理を主眼としたパイプライン処理の効率が低下すると
いう問題点があつた。
この発明は上記の問題点を解決するためになされたもの
で、スタツクプツシユ、スタツクポツプ・アドレツシン
グモードによるオペランド指定を含む命令列を実行する
場合にもパイプライン処理を止めずに命令処理を行える
データ処理装置およびデータ処理方法を得ることを目的
とする。
〔問題点を解決するための手段〕
この発明にかかるデータ処理装置は、パイプライン中の
必要なステージ各々に作業用のステージスタツクポイン
タを備え、各ステージはそのステージスタツクポインタ
を独立に参照できるようにすると共に、各ステージスタ
ツクポインタの値がパイプライン処理と同期して更新さ
れるようにしたものである。
〔作用〕
この発明におけるデータ処理装置およびデータ処理方法
は、スタツクプツシユ、スタツクポツプ・アドレツシン
グモードによるオペランド指定を含む命令を実行する場
合、まずアドレス演算ステージでのアドレス演算によ
り、このステージのステージスタツクポインタ(ASP)
を書き換える。さらにその命令のパイプライン処理の流
れと同期して実行ステージを含む各ステージのステージ
スタツクポインタが書き変わる。また特に実行ステージ
でスタツクポインタの値を書き換える場合には、それと
同時に各ステージスタツクポインタの値も書き換えられ
る。
〔発明の実施例〕
以下この発明の一実施例を示すパイプライン処理機構を
持つデータ処理装置について説明する。
第1図に於て、ASPはアドレス演算ステージでの作業用
のステージスタツクポインタ、TSPは実行ステージでの
作業用のステージスタツクポインタ、FSPはオペランド
フエツチスステージでの作業用のステージスタツクポイ
ンタでありASP,TSPはインクリメント、デクリメント機
能を持つ。
ASP出力ラツチ、FSP出力ラツチはそれぞれASP,FSPの出
力データを保持するラツチである。DOバス、S1バス、S2
バス、Aバスは本データ処理装置の内部データバスであ
る。SPI,SP0,SP1は外部割り込みとメモリ保護のための
各リングに対応したソフトウエアからみたベルのスタツ
クポインタである。
第2図から第5図はこの発明によるいくつかの命令実行
時のパイプラインの動作の一例を示し、(a)は命令、
(b)はその命令を実行するときのパイプラインの動き
をアドレス演算ステージ(図中Aステージと表示)、オ
ペランドフエツチステージ(図中Fステージと表示)、
実行ステージ(図中Eステージと表示)について示した
ものである。
次に上記実施例について説明する。
スタツクプツシユ、スタツクポツプ・アドレツシングモ
ードのオペランド指定を含む命令を実行する際、アドレ
ス演算ステージで演算した新しいスタツクポインタの値
はASPに書き込まれる。次に、その命令がオペランドフ
エツチステージに移つたときにASPの値は次のステージ
スタツクポインタFSPに転送される。次にその命令が実
行ステージに移つた時FSPの値がTSPに転送される。
例えば第2図はスタツクプツシユを含む命令を2回繰り
返した場合であり、命令実行前のASPの値をSPとす
る。まず命令をアドレス演算ステージで実行するとAS
Pの値は(SP−4)となる。このデータをFSPに送つてか
らアドレス演算ステージでは命令によりアドレス演算
をし、ASPの値は(SP−8)となる。
命令が実行ステージに達したとき、同時にスタツクポ
インタの値(SP−4)も実行ステージのTSPに送られ、
実行ステージではTSPの値(SP−4)をスタツクポイン
タとしてレジスタ0(Rg0)のデータをスタツクに格納
する。次に命令が実行ステージで実行されるときに
は、TSPの値は次の値(SP−8)に書き変わつているの
で、この時のTSPの値(SP−8)をスタツクポインタと
してレジスタ1(Rg1)のデータをスタツクに格納すれ
ばよい。
第3図はスタツクポツプを含む命令の場合である。この
命令では、まずASPの値をアドレスとして出力し次のス
テージへ送つた後ASPをインクリメントする。この時ASP
はインクリメント機能を備えており実行ステージのTSP
とは独立にインクリメントすることができる。
第4図はリターンサブルーチン命令の場合である。この
時スタツクされていたレジスタ値などのデータを取り出
すのは実行ステージの制御によりTSPを参照してスタツ
クポツプを繰り返す。この場合はアドレツシングモード
にかかわらずリターンサブルーチン命令自体で陽にスタ
ツクポインタの値をインクリメントするため、この命令
の実行処理が終了するまで後続の命令はスタツクポイン
タにアクセスすることができずにアドレス演算ステージ
の前で待たされる。従つてASPはTSPと同じ値になつてお
り、実行ステージでリターンサブルーチンを実行する
時、ASP,TSPを同時にインクリメントする。
また、実行ステージでTSPに新たな値をロードする場合
には、同時に同じ値をTSPとASPにロードする。このよう
に実行ステージでTSPの更新が生じたときは、TSPとASP
両方を同時に更新する。
第5図はスタツクポインタを汎用レジスタと見てデータ
をロードする命令の場合である。この例でロードされる
データ(100)はD0バスを通してASP,TSPに同時に書き込
まれる。
また、SPI,SP0,SP1に関して、命令実行中はこれらのス
タツクポインタには前の値を保つておき、各命令の処理
の最後にTSPの値をソフトウエアからみたレベルのスタ
ツクポインタ(SPI,SP0,SP1)に設定する。これは、割
り込みや各リングから他の状態への遷移が起こつたとき
に、その状態に対応するスタツクポインタ(SPI,SP0,SP
1)の値を各ステージの作業用のステージスタツクポイ
ンタに転送することにより、再実行を可能にするためで
ある。
〔発明の効果〕
以上のようにこの発明によれば、パイプライン中必要な
ステージ各々にステージスタツクポインタを設けること
により、スタツクプツシユ、スタツクポツプ・アドレツ
シングモード処理の際のパイプラインの効率低下を防
ぎ、効率のよいパイプライン処理を行える効果がある。
【図面の簡単な説明】
第1図はこの発明の一実施例によるデータ処理装置を示
す構成図、第2図(a),(b)、第3図(a),
(b)、第4図(a),(b)、第5図(a),(b)
は上記実施例におけるいくつかの命令実行時のパイプラ
イン動作を説明するための図、第6図は従来のパイプラ
インの構成図、第7図(a),(b)は従来のパイプラ
インによる命令実行の動作を説明するための図である。
ASPはアドレス演算ステージでの作業用のステージスタ
ツクポインタ、TSPは実行ステージでの作業用のステー
ジスタツクポインタ、FSPはオペランドフエツチステー
ジでの作業用のステージスタツクポインタ、SPI,SP0,SP
1は割り込みとメモリ保護のための各リングに対応した
ソフトウエアからみたレベルのスタツクポインタ、Cは
ASP,TSPを同時に更新するための制御信号線、CAはASPを
更新するための制御信号線、CTはTSPを更新するための
制御信号線である。 尚、各図中、同一符号は同一または相当部分を示す。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 斎藤 祐一 兵庫県伊丹市瑞原4丁目1番地 三菱電機 株式会社エル・エス・アイ研究所内 (72)発明者 清水 徹 兵庫県伊丹市瑞原4丁目1番地 三菱電機 株式会社エル・エス・アイ研究所内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】複数のステージによるパイプライン処理に
    よって命令を処理し、かつスタックポインタによって命
    令のオペランドを指定すると同時にスタックポインタの
    更新方法を指定するアドレッシングモードを備えたデー
    タ処理装置において、 前記パイプライン処理を行うステージのうち、少なくと
    も2つのステージである第1のステージと第2のステー
    ジが各々独立に参照可能な第1のスタックポインタと第
    2のスタックポインタ、 前記パイプライン処理による命令の処理と同期して前記
    第1のスタックポインタの値を前記第2のスタックポイ
    ンタに転送する転送手段、および 前記第1のスタックポインタと前記第2のスタックポイ
    ンタの各々を別々に更新するとともに、前記第1のスタ
    ックポインタと前記第2のスタックポインタを同時に更
    新することが可能な制御手段を備えた、パイプライン処
    理機構を持つデータ処理装置。
  2. 【請求項2】複数のステージによるパイプライン処理に
    よって命令を処理し、かつスタックポインタによって命
    令のオペランドを指定すると同時にスタックポインタの
    更新方法を指定するアドレッシングモードを備えたデー
    タ処理装置において、 前記パイプライン処理を行なうアドレス計算ステージで
    参照可能な第1の作業用スタックポインタと、 前記パイプライン処理を行なう実行ステージで参照可能
    な第2の作業用スタックポインタを備え、 前記アドレス計算ステージに第1の命令を与えるととも
    に、前記第1の作業用スタックポインタを更新し、 前記第1の命令が前記アドレス計算ステージから前記実
    行ステージへ処理が移るのと同期して、前記第1の作業
    用スタックポインタの値を前記第2の作業用スタックポ
    インタへ転送し、 前記実行ステージが前記第1の命令を実行している間
    は、前記第2の作業用スタックポインタを前記実行ステ
    ージが参照することを特徴とする、パイプライン処理機
    構を持つデータ処理装置の処理方法。
  3. 【請求項3】前記アドレス計算ステージに第2の命令を
    与え、前記第1および第2のスタックポインタを更新す
    ることを特徴とする、特許請求の範囲第2項記載のパイ
    プライン処理機構を持つデータ処理装置の処理方法。
JP14585287A 1987-06-10 1987-06-10 パイプライン処理機構を持つデータ処理装置および処理方法 Expired - Fee Related JPH06100967B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP14585287A JPH06100967B2 (ja) 1987-06-10 1987-06-10 パイプライン処理機構を持つデータ処理装置および処理方法
US07/506,498 US4974158A (en) 1987-06-10 1990-04-09 Multiple sequentially transferrable stackpointers in a data processor in a pipelining system
US08/408,198 US5566307A (en) 1987-06-10 1995-03-22 Multiple sequentially transferrable stackpointers in a data processor in a pipelining system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14585287A JPH06100967B2 (ja) 1987-06-10 1987-06-10 パイプライン処理機構を持つデータ処理装置および処理方法

Publications (2)

Publication Number Publication Date
JPS63308641A JPS63308641A (ja) 1988-12-16
JPH06100967B2 true JPH06100967B2 (ja) 1994-12-12

Family

ID=15394580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14585287A Expired - Fee Related JPH06100967B2 (ja) 1987-06-10 1987-06-10 パイプライン処理機構を持つデータ処理装置および処理方法

Country Status (1)

Country Link
JP (1) JPH06100967B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0769801B2 (ja) * 1988-07-14 1995-07-31 三菱電機株式会社 データ処理装置
JPH0769802B2 (ja) * 1988-07-14 1995-07-31 三菱電機株式会社 データ処理装置
US5142633A (en) * 1989-02-03 1992-08-25 Digital Equipment Corporation Preprocessing implied specifiers in a pipelined processor
US5179673A (en) * 1989-12-18 1993-01-12 Digital Equipment Corporation Subroutine return prediction mechanism using ring buffer and comparing predicated address with actual address to validate or flush the pipeline

Also Published As

Publication number Publication date
JPS63308641A (ja) 1988-12-16

Similar Documents

Publication Publication Date Title
JPH0578863B2 (ja)
US5233691A (en) Register window system for reducing the need for overflow-write by prewriting registers to memory during times without bus contention
JPH0775018B2 (ja) プロセッサ間の命令転送を最適化する方法及び装置
JPH06100967B2 (ja) パイプライン処理機構を持つデータ処理装置および処理方法
US4409653A (en) Method of performing a clear and wait operation with a single instruction
JP2690406B2 (ja) プロセッサおよびデータ処理システム
US4974158A (en) Multiple sequentially transferrable stackpointers in a data processor in a pipelining system
EP0212132A1 (en) Method and digital computer for recovering from errors
JPH0719204B2 (ja) 浮動小数点演算方式
JP2965045B2 (ja) 半導体集積回路装置
US20040123073A1 (en) Data processing system having a cartesian controller
JP3341847B2 (ja) データ処理装置
GB2027238A (en) Clear and wait instruction means and method
JPS61131047A (ja) パイプライン制御方式
US5761472A (en) Interleaving block operations employing an instruction set capable of delaying block-store instructions related to outstanding block-load instructions in a computer system
JP2504535B2 (ja) バスユニットの構成方法
JPH01234957A (ja) Dma制御方法及び装置
JPH0530950U (ja) 情報処理装置
JPS61100836A (ja) 移動命令論理比較命令処理方式
JP2002297209A (ja) シーケンス制御装置におけるシーケンスプログラム格納方法
JPH03196334A (ja) 演算制御方式
JPH01233558A (ja) ベクトル演算命令の処理方法
JPH0239326A (ja) プロセッサ
JPH03154929A (ja) 中央処理装置
JPS5896346A (ja) 階層型演算方式

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees