JPH02230326A - パイプライン情報処理装置 - Google Patents

パイプライン情報処理装置

Info

Publication number
JPH02230326A
JPH02230326A JP5111789A JP5111789A JPH02230326A JP H02230326 A JPH02230326 A JP H02230326A JP 5111789 A JP5111789 A JP 5111789A JP 5111789 A JP5111789 A JP 5111789A JP H02230326 A JPH02230326 A JP H02230326A
Authority
JP
Japan
Prior art keywords
instruction
function
register
address
register file
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
Application number
JP5111789A
Other languages
English (en)
Inventor
Tsutomu Maruyama
勉 丸山
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 JP5111789A priority Critical patent/JPH02230326A/ja
Publication of JPH02230326A publication Critical patent/JPH02230326A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、パイプライン情報処理装置に関するものであ
る. 〔従来の技術〕 従来のパイプライン処理を行う情報処理装置においては
、関数の呼び出し時、およびその関数からの復帰−時に
おけるパイプライン処理の乱れによる性能低下を防ぐた
めに、ディレイドジャンプと呼ばれる手法が用いられて
きた。
〔発明が解決しようとする課題〕
上述したように、従来のパイプライン処理を行う情報処
理装置においては、関数呼び出し時においてパイプライ
ン処理が乱れるため、ディレイドジャンプと呼ばれる命
令の実行順序を入れ替える手法が用いられてきた.しか
し、条件判断命令等の直後の関数呼び出し命令において
はこの方法は有効ではなく、このような場合にも無駄時
間を少なくしようとすると、呼び出される関数の第一命
令を読み出し側の関数呼び出し命令の次の命令とし、関
数呼び出し命令は、関数定義の第二命令にジャンプしな
くてならず、ソフトウェアに対する負担が大きかった。
一方、Li sp等の言語においては、数多くの組み込
み関数が用いられているが実際には、特定の組み込み関
数の呼び出し回数が多く、これらの組み込み関数の呼び
出しにかかる手間がLi sp等の言語の処理速度の低
下の原因となっていた。
本発明の目的は、関数呼び出し、特に組み込み関数の高
速な呼び出しを実現することにある.〔課題を解決する
ための手段〕 本発明のパイプライン情報処理装置の構成は、命令語の
アドレスをメモリ装置に与える命令アドレスレジスタと
、前記命令アドレスレジスタのアドレスによって読み出
された命令を保持する命令レジスタと、演算に用いられ
るデータおよび関数定義の第1命令語と前記関数定義の
第2命令話のアドレスの組を複数保持しそれらを同時読
み出し可能なレジスタファイルと、演算を行う演算器と
、前記レジスタファイルから読み出された値を命令とし
て実行または命令アドレスとして前記命令レジスタへの
命令の読み出しを行うことができる制御装置とを含んで
構成されることを特徴とする. 〔作用〕 関数呼び出し命令の一例を第2図に示す.また、このプ
ログラムが関数呼び出しの効率化を行わないパイプライ
ン情報処理装置において、実行された場合のパイプライ
ンの様子の一例を第3図に示す。この例におけるパイプ
ライン処理は、Fステージ:命令のメモリ装置よりめ読
み出し、 Dステージ:命令のデコードおよびレジスタファイルの
読み出し Eステージ:命令の実行およびレジスタファイルへの演
算結果の書き込み の3段である.この例において、関数呼び出しが行われ
たことによって、 (a)間数呼び出し先のアドレス計算および(b)関数
の第1命令のメモリ装置よりの読み出し が必要となり、パイプライン処理の実行が乱れているこ
とがわかる.このパイプラインの乱れは、Eステージで
関数のアドレスを計算しそれから関数呼び出しを行うた
め、関数定義の命令の読み出しが新たに読み出されるた
めである。
本発明のパイプライン情報処理装置によって実行される
関数呼び出し命令の一例を第4図に、またその実行令を
第5図に示す.関数呼び出し命令の実行時に命令語によ
って定められたレジスタの組(第4図及び第5図の例で
は、レジスタ62,63)をDステージでレジスタファ
イルから読み出し、 (a)レジスタ63の値を関数の第2命令のアドレスと
して命令レジスタに書き込む.(b)レジスタ62の値
を関数の第2命令として次に実行する命令とする。
ことによって、パイプラインの乱れなく関数呼び出しの
処理を実行することができる. また、レジスタファイルへは必要に応じてソフトウェア
により関数の第1命令と関数の第2命令の組を書き込む
ことができるため、関数の第1命令と第2命令の組を必
要に応じて実行時に変更することが可能であり、その時
点において最も使用頻度の高い、幾つかの関数の第1命
令を第2命令のアドレスの組をレジスタファイルに書き
込むことによって、高速な処理を実現することができる
. 〔実施例〕 以下、本発明の装置について図面を用いて詳細に説明す
る. 本発明のパイプライン処理装置の一実施例のブロック図
を第1図に示す.第1図において、10はレジスタファ
イル、20は演算器、30は命令レジスタ、40は命令
アドレスレジスタ、50はレジスタファイル10より読
み出された値を保持するラッチ1、60はレジスタファ
イル10より読み出された値を保持するラッチ2であり
、8oはメモリ装置、90は全体の制御を行う制御装置
である. このパイプライン情報処理装置におけるパイプラインお
よび各ステージにおける命令の実行の様子を以下に示す
. Fステージ: 命令アドレスレジスタ40で与えられるアドレスの命令
を命令レジスタ3′0にメモリ装置より読み出す。
Dステージ: 命令レジスタ30に格納されている命令のデコードを行
い、演算器20に演算の指示が与えられる。また、レジ
スタファイル10から、命令によって指定されたレジス
タの読み出しを行う.読み出されたレジスタの値は、ラ
ッチ1(50),ラッチ2 (60)にそれぞれ格納さ
れる.また、この値は、同時に制御装置にも与えられ、
関数呼び出しの際に用いられる. Eステージ: ラッチ1(50)、ラッチ2(60)の値を用いて演算
を行い結果をレジスタファイル10に格納する.演算結
果を格納するレジスタファイル10中のレジスタ番号は
制御装置によって指示される。
このパイプライン処理装置において、第4図に示した関
数呼び出しが行われた場合には、関数呼び出し命令 call  R62,−sq−av によって指示されたレジスタ62.63の組がレジスタ
ファイル10より読み出され、データ線104,107
によって制御装置90に送られる。
制御装置90は、間数呼び出し命令以外の命令の実行に
おいては、命令レジスタ30より与えられた命令の実行
を行うが、関数呼び出し命令が実行された場合には、レ
ジスタファイル10よりデータ線104によって与えら
れた命令を関数呼び出し命令の次命令として解釈実行す
る。
さらに制御装置90は、関数呼び出しおよび分岐命令以
外の命令が実行された場合には、現在命令アドレスレジ
スタ40にアドレスが格納されている命令の次の命令の
アドレスをアドレスレジスタ40に書き込み命令の読み
出しを行うが、関数呼び出しが行われた場合には、レジ
スタファイル10よりデータ線107によって与えられ
た値を命令のアドレスとして命令アドレスレジスタ40
に書き込み、命令の読み出しを行う. 以上の処理により、関数呼び出し時のパイプラインの乱
れを防ぎ関数呼び出し処理時間を短縮することができる
〔発明の効果〕
本発明によれば、レジスタファイルに関数定義の第1命
令と第2命令のアドレスの組を保持し、それらの値を命
令および命令アドレスとして用いることによって、関数
呼び出し時に、パイプライン処理を乱さず高速な関数呼
び出しを実現することができ、また、レジスタファイル
へは必要に応じてソフトウェアにより関数の第1命令と
関数の第2命令の組を書き込むことができるため、関数
の第1命令と第2命令の組を必要に応じて実行時に変更
することが可能であり、その時点において最も使用頻度
の高い幾つかの関数の第1命令を第2命令のアドレスの
組をレジスタファイルに書き込むことによって、高速な
処理を実現することができる.
【図面の簡単な説明】
第1図は本発明の一実施例のブロック図、第2図は関数
呼び出し命令の一例を示す図、第3図はパイプライン処
理の一例を示す図、第4図は本実施例の装置によって実
行される関数呼び出し命令の一例を示す図、第5図は本
実施例の装置による復帰命令のパイプライン処理の一例
を示す図である. 10・・・レジスタファイル、20・・・演算器、30
・・・命令レジスタ、40・・・命令アドレスレジスタ
、50・・・ラッチ1、60・・・ラッチ2、80・・
・メモリ装置、90・・・制御装置.

Claims (1)

    【特許請求の範囲】
  1. 命令語のアドレスをメモリ装置に与える命令アドレスレ
    ジスタと、前記命令アドレスレジスタのアドレスによっ
    て読み出された命令を保持する命令レジスタと、演算に
    用いられるデータおよび関数定義の第1命令語と前記関
    数定義の第2命令語のアドレスの組を複数保持しそれら
    を同時読み出し可能なレジスタファイルと、演算を行う
    演算器と、前記レジスタファイルから読み出された値を
    命令として実行または命令アドレスとして前記命令レジ
    スタへの命令の読み出しを行うことができる制御装置と
    を含むことを特徴とするパイプライン情報処理装置。
JP5111789A 1989-03-02 1989-03-02 パイプライン情報処理装置 Pending JPH02230326A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5111789A JPH02230326A (ja) 1989-03-02 1989-03-02 パイプライン情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5111789A JPH02230326A (ja) 1989-03-02 1989-03-02 パイプライン情報処理装置

Publications (1)

Publication Number Publication Date
JPH02230326A true JPH02230326A (ja) 1990-09-12

Family

ID=12877865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5111789A Pending JPH02230326A (ja) 1989-03-02 1989-03-02 パイプライン情報処理装置

Country Status (1)

Country Link
JP (1) JPH02230326A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522052A (en) * 1991-07-04 1996-05-28 Matsushita Electric Industrial Co. Ltd. Pipeline processor for processing instructions having a data dependence relationship

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522052A (en) * 1991-07-04 1996-05-28 Matsushita Electric Industrial Co. Ltd. Pipeline processor for processing instructions having a data dependence relationship

Similar Documents

Publication Publication Date Title
JPS6217252B2 (ja)
KR860007589A (ko) 데이터 처리장치
JPH0248732A (ja) 命令パイプライン方式のマイクロプロセッサ
JPH02230326A (ja) パイプライン情報処理装置
JP2553200B2 (ja) 情報処理装置
JPH02197924A (ja) 中央演算処理装置
JPS5999552A (ja) マイクロコンピユ−タ
KR100246465B1 (ko) 마이크로프로세서 스택 명령어의 수행사이클을 줄이기 위한 장치 및 그 방법
JPH05173778A (ja) データ処理装置
JPH05242009A (ja) 直接メモリアクセス装置
JPH02232726A (ja) パイプライン情報処理装置
JP2551163B2 (ja) 命令処理制御方式
JPH04276827A (ja) パイプライン処理装置
JP2657947B2 (ja) データ処理装置
JPH0546389A (ja) 並列処理装置
JPH03119424A (ja) 情報処理方式及び装置
JPH0553804A (ja) 並列処理装置
JPS61143850A (ja) 処理装置
JPH027129A (ja) 演算処理装置
JPH0234058B2 (ja)
JPH023822A (ja) データ処理装置
JPH04304527A (ja) 関数型言語処理装置
JPH0588890A (ja) データ処理方法
JPH048825B2 (ja)
JPH01195533A (ja) パイプライン方式計算機の命令先読み方向制御方式