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
Links
- 230000010365 information processing Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、パイプライン情報処理装置に関するものであ
る. 〔従来の技術〕 従来のパイプライン処理を行う情報処理装置においては
、関数の呼び出し時、およびその関数からの復帰−時に
おけるパイプライン処理の乱れによる性能低下を防ぐた
めに、ディレイドジャンプと呼ばれる手法が用いられて
きた。
る. 〔従来の技術〕 従来のパイプライン処理を行う情報処理装置においては
、関数の呼び出し時、およびその関数からの復帰−時に
おけるパイプライン処理の乱れによる性能低下を防ぐた
めに、ディレイドジャンプと呼ばれる手法が用いられて
きた。
上述したように、従来のパイプライン処理を行う情報処
理装置においては、関数呼び出し時においてパイプライ
ン処理が乱れるため、ディレイドジャンプと呼ばれる命
令の実行順序を入れ替える手法が用いられてきた.しか
し、条件判断命令等の直後の関数呼び出し命令において
はこの方法は有効ではなく、このような場合にも無駄時
間を少なくしようとすると、呼び出される関数の第一命
令を読み出し側の関数呼び出し命令の次の命令とし、関
数呼び出し命令は、関数定義の第二命令にジャンプしな
くてならず、ソフトウェアに対する負担が大きかった。
理装置においては、関数呼び出し時においてパイプライ
ン処理が乱れるため、ディレイドジャンプと呼ばれる命
令の実行順序を入れ替える手法が用いられてきた.しか
し、条件判断命令等の直後の関数呼び出し命令において
はこの方法は有効ではなく、このような場合にも無駄時
間を少なくしようとすると、呼び出される関数の第一命
令を読み出し側の関数呼び出し命令の次の命令とし、関
数呼び出し命令は、関数定義の第二命令にジャンプしな
くてならず、ソフトウェアに対する負担が大きかった。
一方、Li sp等の言語においては、数多くの組み込
み関数が用いられているが実際には、特定の組み込み関
数の呼び出し回数が多く、これらの組み込み関数の呼び
出しにかかる手間がLi sp等の言語の処理速度の低
下の原因となっていた。
み関数が用いられているが実際には、特定の組み込み関
数の呼び出し回数が多く、これらの組み込み関数の呼び
出しにかかる手間がLi sp等の言語の処理速度の低
下の原因となっていた。
本発明の目的は、関数呼び出し、特に組み込み関数の高
速な呼び出しを実現することにある.〔課題を解決する
ための手段〕 本発明のパイプライン情報処理装置の構成は、命令語の
アドレスをメモリ装置に与える命令アドレスレジスタと
、前記命令アドレスレジスタのアドレスによって読み出
された命令を保持する命令レジスタと、演算に用いられ
るデータおよび関数定義の第1命令語と前記関数定義の
第2命令話のアドレスの組を複数保持しそれらを同時読
み出し可能なレジスタファイルと、演算を行う演算器と
、前記レジスタファイルから読み出された値を命令とし
て実行または命令アドレスとして前記命令レジスタへの
命令の読み出しを行うことができる制御装置とを含んで
構成されることを特徴とする. 〔作用〕 関数呼び出し命令の一例を第2図に示す.また、このプ
ログラムが関数呼び出しの効率化を行わないパイプライ
ン情報処理装置において、実行された場合のパイプライ
ンの様子の一例を第3図に示す。この例におけるパイプ
ライン処理は、Fステージ:命令のメモリ装置よりめ読
み出し、 Dステージ:命令のデコードおよびレジスタファイルの
読み出し Eステージ:命令の実行およびレジスタファイルへの演
算結果の書き込み の3段である.この例において、関数呼び出しが行われ
たことによって、 (a)間数呼び出し先のアドレス計算および(b)関数
の第1命令のメモリ装置よりの読み出し が必要となり、パイプライン処理の実行が乱れているこ
とがわかる.このパイプラインの乱れは、Eステージで
関数のアドレスを計算しそれから関数呼び出しを行うた
め、関数定義の命令の読み出しが新たに読み出されるた
めである。
速な呼び出しを実現することにある.〔課題を解決する
ための手段〕 本発明のパイプライン情報処理装置の構成は、命令語の
アドレスをメモリ装置に与える命令アドレスレジスタと
、前記命令アドレスレジスタのアドレスによって読み出
された命令を保持する命令レジスタと、演算に用いられ
るデータおよび関数定義の第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命令として次に実行する命令とする。
関数呼び出し命令の一例を第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にメモリ装置より読み出す。
処理を実行することができる. また、レジスタファイルへは必要に応じてソフトウェア
により関数の第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中のレジスタ番号は
制御装置によって指示される。
い、演算器20に演算の指示が与えられる。また、レジ
スタファイル10から、命令によって指定されたレジス
タの読み出しを行う.読み出されたレジスタの値は、ラ
ッチ1(50),ラッチ2 (60)にそれぞれ格納さ
れる.また、この値は、同時に制御装置にも与えられ、
関数呼び出しの際に用いられる. Eステージ: ラッチ1(50)、ラッチ2(60)の値を用いて演算
を行い結果をレジスタファイル10に格納する.演算結
果を格納するレジスタファイル10中のレジスタ番号は
制御装置によって指示される。
このパイプライン処理装置において、第4図に示した関
数呼び出しが行われた場合には、関数呼び出し命令 call R62,−sq−av によって指示されたレジスタ62.63の組がレジスタ
ファイル10より読み出され、データ線104,107
によって制御装置90に送られる。
数呼び出しが行われた場合には、関数呼び出し命令 call R62,−sq−av によって指示されたレジスタ62.63の組がレジスタ
ファイル10より読み出され、データ線104,107
によって制御装置90に送られる。
制御装置90は、間数呼び出し命令以外の命令の実行に
おいては、命令レジスタ30より与えられた命令の実行
を行うが、関数呼び出し命令が実行された場合には、レ
ジスタファイル10よりデータ線104によって与えら
れた命令を関数呼び出し命令の次命令として解釈実行す
る。
おいては、命令レジスタ30より与えられた命令の実行
を行うが、関数呼び出し命令が実行された場合には、レ
ジスタファイル10よりデータ線104によって与えら
れた命令を関数呼び出し命令の次命令として解釈実行す
る。
さらに制御装置90は、関数呼び出しおよび分岐命令以
外の命令が実行された場合には、現在命令アドレスレジ
スタ40にアドレスが格納されている命令の次の命令の
アドレスをアドレスレジスタ40に書き込み命令の読み
出しを行うが、関数呼び出しが行われた場合には、レジ
スタファイル10よりデータ線107によって与えられ
た値を命令のアドレスとして命令アドレスレジスタ40
に書き込み、命令の読み出しを行う. 以上の処理により、関数呼び出し時のパイプラインの乱
れを防ぎ関数呼び出し処理時間を短縮することができる
。
外の命令が実行された場合には、現在命令アドレスレジ
スタ40にアドレスが格納されている命令の次の命令の
アドレスをアドレスレジスタ40に書き込み命令の読み
出しを行うが、関数呼び出しが行われた場合には、レジ
スタファイル10よりデータ線107によって与えられ
た値を命令のアドレスとして命令アドレスレジスタ40
に書き込み、命令の読み出しを行う. 以上の処理により、関数呼び出し時のパイプラインの乱
れを防ぎ関数呼び出し処理時間を短縮することができる
。
本発明によれば、レジスタファイルに関数定義の第1命
令と第2命令のアドレスの組を保持し、それらの値を命
令および命令アドレスとして用いることによって、関数
呼び出し時に、パイプライン処理を乱さず高速な関数呼
び出しを実現することができ、また、レジスタファイル
へは必要に応じてソフトウェアにより関数の第1命令と
関数の第2命令の組を書き込むことができるため、関数
の第1命令と第2命令の組を必要に応じて実行時に変更
することが可能であり、その時点において最も使用頻度
の高い幾つかの関数の第1命令を第2命令のアドレスの
組をレジスタファイルに書き込むことによって、高速な
処理を実現することができる.
令と第2命令のアドレスの組を保持し、それらの値を命
令および命令アドレスとして用いることによって、関数
呼び出し時に、パイプライン処理を乱さず高速な関数呼
び出しを実現することができ、また、レジスタファイル
へは必要に応じてソフトウェアにより関数の第1命令と
関数の第2命令の組を書き込むことができるため、関数
の第1命令と第2命令の組を必要に応じて実行時に変更
することが可能であり、その時点において最も使用頻度
の高い幾つかの関数の第1命令を第2命令のアドレスの
組をレジスタファイルに書き込むことによって、高速な
処理を実現することができる.
第1図は本発明の一実施例のブロック図、第2図は関数
呼び出し命令の一例を示す図、第3図はパイプライン処
理の一例を示す図、第4図は本実施例の装置によって実
行される関数呼び出し命令の一例を示す図、第5図は本
実施例の装置による復帰命令のパイプライン処理の一例
を示す図である. 10・・・レジスタファイル、20・・・演算器、30
・・・命令レジスタ、40・・・命令アドレスレジスタ
、50・・・ラッチ1、60・・・ラッチ2、80・・
・メモリ装置、90・・・制御装置.
呼び出し命令の一例を示す図、第3図はパイプライン処
理の一例を示す図、第4図は本実施例の装置によって実
行される関数呼び出し命令の一例を示す図、第5図は本
実施例の装置による復帰命令のパイプライン処理の一例
を示す図である. 10・・・レジスタファイル、20・・・演算器、30
・・・命令レジスタ、40・・・命令アドレスレジスタ
、50・・・ラッチ1、60・・・ラッチ2、80・・
・メモリ装置、90・・・制御装置.
Claims (1)
- 命令語のアドレスをメモリ装置に与える命令アドレスレ
ジスタと、前記命令アドレスレジスタのアドレスによっ
て読み出された命令を保持する命令レジスタと、演算に
用いられるデータおよび関数定義の第1命令語と前記関
数定義の第2命令語のアドレスの組を複数保持しそれら
を同時読み出し可能なレジスタファイルと、演算を行う
演算器と、前記レジスタファイルから読み出された値を
命令として実行または命令アドレスとして前記命令レジ
スタへの命令の読み出しを行うことができる制御装置と
を含むことを特徴とするパイプライン情報処理装置。
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)
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 |
-
1989
- 1989-03-02 JP JP5111789A patent/JPH02230326A/ja active Pending
Cited By (1)
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) | パイプライン方式計算機の命令先読み方向制御方式 |