JPH02232727A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH02232727A
JPH02232727A JP5532389A JP5532389A JPH02232727A JP H02232727 A JPH02232727 A JP H02232727A JP 5532389 A JP5532389 A JP 5532389A JP 5532389 A JP5532389 A JP 5532389A JP H02232727 A JPH02232727 A JP H02232727A
Authority
JP
Japan
Prior art keywords
register
instruction
register file
file
registers
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
JP5532389A
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 JP5532389A priority Critical patent/JPH02232727A/ja
Publication of JPH02232727A publication Critical patent/JPH02232727A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理装置に関するものである.〔従来の
技術〕 従来、情報処理装置における関数呼び出しにおいては、
ソフトウェア、またはファームウェアによって引数とな
るレジスタの値を5呼ばれた側の関数が用いるレジスタ
、またはスタックに一つずつ代入することによって関数
呼び出しが行われてきた. 〔発明が解決しようとする課題〕 従来の情報処理装置における関数呼び出しにおいては、
引数をソフトウエアまたはファームウエアによって、1
語ずつレジスタまたはスタックに代入することによって
行われてきた。また、関数からの復帰においても、関数
によって所定のレジスタもしくはスタックに代入された
値を、関数呼び出し復帰後に必要なレジスタに転送する
などの処理を行ってきた.しかし、組み込み関数等の関
数呼び出しは、 (a)関数呼び出し回数が多い (b)関数における処理が小さい (c)関数呼び出しが深くならない 等の特徴を持つにもかかわらず、通常の関数呼び出しと
同様の手段で関数呼び出し、復帰が行われていたため、
関数呼び出しにかかる手間が大きく、組み込み関数を多
く用いるLi sp等の言語の処理速度の低下の原因と
なっていた. 本発明の目的は、関数呼び出し,特に組み込み関数の高
速な呼び出しおよび復帰を実現することにある. 〔課題を解決するための手段〕 本発明の情報処理装置の構成は、命令語を保持する命令
レジスタと、複数語の同時読み出し同時書き込みが可能
であるレジスタファイルと、前記レジスタファイルから
読み出した値の演算を行う演算器と、前記レジスタファ
イルより読み出された複数のレジスタの値を、前記命令
レジスタ中の命令語によって定まる前記レジスタファイ
ル中の複数のレジスタに同時に転送する制御を行うレジ
スタファイル制御装置と、全体の制御を行う制御装1と
を含んで構成され、また命令語を保持する命令レジスタ
と、複数語の同時読み出し同時書き込みが可能であるレ
ジスタファイルと、前記レジスタファイルから読み出し
た値の演算を行う演算器と、命令語のオペランドフィー
ルドで指定された前記レジスタファイル中のレジスタの
番号を格納しておくレジスタ番号レジスタと、前記レジ
スタファイルより読み出された複数のレジスタの値を、
前記命令レジスタ中の命令語によって定まる前記レジス
タファイル中の複数のレジスタまたは前記レジスタ番号
レジスタで指定されたレジスタに同時に転送する制御を
行うレジスタファイル制御装置と、全体の制御を行う制
御装置とを含んで構成されることを特徴とする. 〔作用〕 通常の関数呼び出しにおける命令語の一例を第3図に示
す.この例に示した関数は、2つの変数のそれぞれの2
乗の平均を計算するものであり、レジスタ16.17を
入力として、またレジスタ16を出力として用いられて
いる.しかし、関数呼び出し側では、レジスタ1,2の
それぞれの二乗の平均をレジスタ4に代入したいため、
関数呼び出し命令callの前に、レジスタ1,2の値
をそれぞれmove命令によってレジスタ1617に転
送し、その後関数呼び出しを行っている.また、関数呼
び出し後に関数における演算結果がレジスタ16に格納
されているため、move命令によってレジスタ16の
値をレジスタ4に転送している. 請求項第1の発明の装置は、関数呼び出し前のレジスタ
間転送を、命令によって定まるレジスタに同時に行うも
のである。この場合の命令語の一例を第4図に示す。こ
の例では、movearagsという命令によって、レ
ジスタ1,2の値がレジスタ16.17に同時に転送さ
れ関数呼び出しの高速化を実現している. 請求項第2の発明の装置は、関数呼び出し前のレジスタ
間転送を、命令によって定まるレジスタに同時に行うも
のである.この場合の命令語の一例を第4図に示す.こ
の例では、movearagsという命令によって、レ
ジスタ1.2の値がレジスタ16.17に同時に転送さ
れるとともに、レジスタ4のレジスタ番号である4がレ
ジスタ番号レジスタに代入され、間数定義内におけるr
eturn命令によって、関数呼び出しからの復帰が行
われるとともに、レジスタ4へのレジスタ16の値の転
送が行われることによって、関数呼び出しの高速化を実
現している。
〔実施例〕
以]・\本発明の装置について図面を参照して詳細に説
明する。
請求項第1による情報処理装置の一実施例を第1図に示
す.第1図において、10は複数語同時読み出し書き込
みが可能なレジスタファイル、IIはレジスタファイル
制御装置、20は演算器、30は命令レジスタ、710
は全体の制御を行う制御装置である. この装置においては、まず命令語がメモリ装置(L7j
示せず)より命令レジスタ30に読み込まれ、その命令
を制御装置40が解釈することによって、その命令の実
行に・必要なレジスタの値がレジスタファイル10より
読み出され、データ線105100経由で演算器20に
与えられ、制御装宜40からめ指示によって演算器20
によって演算が行われ、データ線108経由でレジスタ
ファイル10にその演算結果が書き込まれることによっ
て、命令の実行が行われる. このとき、レジスタファイル制御装置11は、命令語の
オペランドフィールドで指定されたレジスタ番号を信号
線103経由でレジスタファイル10を与え、レジスタ
ファイル10の読み出しを行うとともに、命令語のオペ
ランドフィールドで指定された演算結果の格納レジスタ
番号を信号線104経出でレジスタファイル10に怪え
、演算結果のレジスタファイル】0への格納を行う。第
3図に示した命令 add  R16,R17,R16 を実行した場合には、レジスタファイル制御装置11は
、信号線103経由でレジスタファイル10中のレジス
タ16.17の読み出しを指示するとともに、データ線
108によって与えられる演算器20の演算結果を格納
するレジスタ番号を信号線104によって指示する(こ
の時、データ線107からのレジスタファイル10への
データの書き込みは指示されない).演算器20には、
制御装置40より加算を行う指示が与えられ、加算が実
行される. 第1図において、第4図に示した命令語movearg
s   Rl,R2 を実行した場合には、レジスタファイル制御装置1lは
、信号線103経出でレジスタファイル10中のレジス
タRl,R2の読み出しを指示するとともに、命令によ
って定められたレジスタ(第.1図においてはレジスタ
16.17)への値の書き込みを信号線104ばよって
指示する.また、演算器20には、制御装置40よりデ
ータ線loらに、上って与えられたデータを、そのまま
データ線108に出力するように指示が与えられる.こ
の結果、レジスタR1の値がデータ線108経由で、レ
ジスタ2の値がデータ線107&?!由でレジスタファ
イル10に転送され、命令語によって定まるレジスタ番
号がレジスタファイル制御装置11よりレジスタファイ
ル10に惨えられているため、書き込みが行われ、その
次の命令である関数呼び出し命令が実行される。
以」二の処理により、関数呼び出しに用いられる引数の
レジスタ間転送の処理を軽減することができ、関数呼び
出しの高速化を計ることができる。
以上、本発明の一実施例について説明したが、本発明は
以上の実施例にのみ限定されるものではなく、レジスタ
ファイルの同時書き込み/読み出しの個数を変えた場合
、パイプライン処理が行われた場合でも基本的実施方法
は変わらない.次に請求項第2による情報処理装置の一
実施例を第2図に示す. 第2図において、10は複数語同時読み出し書き込みが
可能なレジスタファイル、1lはレジスタファイル制御
装置、12はレジスタ番号レジスタ、20は演算器、3
0は命令レジスタ、40は全体の制御を行う制御装!で
ある.この装置においては、まず、命令語がメモリ装置
より命令レジスタ30に読み込まれ、その命令を制御装
1.40が解釈することによって、その命令の実行に必
要なレジスタの値がレジスタファイル10より読み出さ
れ、演算器20によって実行され、レジスタファイル1
0にその演算結果が書き込まれることによって、命令の
実行が行われる. このとき、レジスタファイル制御装置]1は、命令語の
オペランドフィールドで指定されたレジスタ番号をレジ
スタファイル10に与え、レジスタファイル10の読み
出しを行うとともに、命令語のオペランドフィールドで
指定された演算結果の格納レジスタ番号をレジスタファ
イル10に与え、演算結果のレジ・スタファイル10へ
の格納を行う.第3図に示した命令 add  R16,R17,R16 を実行した場合のレジスタファイル制御装置11の動作
は、第1図に示したものと同様である.第2図において
、第5図に示した命令語moveargs  Rl,R
2,R4を実行した場合には、レジスタファイル制御装
置11は、信号線103経由でレジスタファイル10中
のレジスタRl,R2の読み出しを指示するとともに、
命令によって定められたレジスタ(第5図においてはレ
ジスタ16.17>への値の書き込みを信号線104に
よって指示する.また同時に、レジスタファイル制御装
置11は、レジスタ番号レジスタ12に対して、信号線
114によって命令中のレジスタ番号(第5図において
は4)の書き込みを指示する。また、演算器20には、
制御装置40よりデータ線105によって与えられたデ
ータをそのままデータ線108に出力するように指示が
与えられる.この結果、レジスタR1の値がデータ線1
08経由で、レジスタR2の値がデータltli107
経由でレジスタファイル10に転送され、命令語によっ
て定まるレジスタ番号がレジスタファイル制御装置11
よりレジスタファイル10に与えられているため、書き
込みが行われる.また、レジスタ番号レジスタ12には
レジスタ番号4が書き込まれ、その次の命令である関数
呼び出し命令が実行される。
その後、第5図に示した命令語 return  R16 を実行した場合には、関数呼び出しからの復帰が行われ
るとともに、レジスタファイル制御装置11によって、
信号線103経由でレジスタファイル10にレジスタR
16のデータ線107への読み出しが指示され、また同
時に、信号線104によって,レジスタファイル10に
データ線107によるデータのレジスタ番号レジスタ1
2によって指示されるレジスタへの書き込み、即ちレジ
スタ4への書き込みが実行される. 以上の処理により、関数呼び出しに用いられる引数のレ
ジスタ間転送の処理及び関数呼び出し語のレジスタ間転
送の処理を軽減することができ、関数呼び出しの高速化
を計ることができる.以上、本発明の一実施例について
説明したが、本発明は以上の実施例にのみ限定されるも
のではなく、レジスタファイルの同時言き込み/読み出
しの個数を変えた場合、レジスタ番号レジスタをレジス
タファイルの一部とした場合、パイプライン処理が行わ
れた場合でも基本的実施方法は変わらない. 〔発明の効果〕 請求項第1および第2の本発明によれば、複数語読み出
しおよび書き込み可能なレジスタファイルと、演算結果
の格納レジスタ番号を記憶するレジスタを設けることに
より、関数呼び出しの前後に必要であったレジスタ間転
送の処理時間を削減することができ、高速な関数呼び出
しを実現することができる。
【図面の簡単な説明】
第1図は請求項第1の発明の一実施例のブロック図、第
2図は請求項第2の発明の一実施例のブロック図、第3
図〜第5図は命令語の一例を示す図である. 10・・・レジスタファイル、11・・・レジスタファ
イル制御装置、12・・・レジスタ番号レジスタ、20
・・・演算器、30・・・命令レジスタ、40・・・制
御装置.

Claims (2)

    【特許請求の範囲】
  1. (1)命令語を保持する命令レジスタと、複数語の同時
    読み出し同時書き込みが可能であるレジスタファイルと
    、前記レジスタファイルから読み出した値の演算を行う
    演算器と、前記レジスタファイルより読み出された複数
    のレジスタの値を、前記命令レジスタ中の命令語によっ
    て定まる前記レジスタファイル中の複数のレジスタに同
    時に転送する制御を行うレジスタファイル制御装置と、
    全体の制御を行う制御装置とを含むことを特徴とする情
    報処理装置。
  2. (2)命令語を保持する命令レジスタと、複数語の同時
    読み出し同時書き込みが可能であるレジスタファイルと
    、前記レジスタファイルから読み出した値の演算を行う
    演算器と、命令語のオペランドフィールドで指定された
    前記レジスタファイル中のレジスタの番号を格納してお
    くレジスタ番号レジスタと、前記レジスタファイルより
    読み出された複数のレジスタの値を、前記命令レジスタ
    中の命令語によって定まる前記レジスタファイル中の複
    数のレジスタまたは前記レジスタ番号レジスタで指定さ
    れたレジスタに同時に転送する制御を行うレジスタファ
    イル制御装置と、全体の制御を行う制御装置とを含むこ
    とを特徴とする情報処理装置。
JP5532389A 1989-03-07 1989-03-07 情報処理装置 Pending JPH02232727A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5532389A JPH02232727A (ja) 1989-03-07 1989-03-07 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5532389A JPH02232727A (ja) 1989-03-07 1989-03-07 情報処理装置

Publications (1)

Publication Number Publication Date
JPH02232727A true JPH02232727A (ja) 1990-09-14

Family

ID=12995337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5532389A Pending JPH02232727A (ja) 1989-03-07 1989-03-07 情報処理装置

Country Status (1)

Country Link
JP (1) JPH02232727A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04217027A (ja) * 1990-12-18 1992-08-07 Nec Corp 情報処理装置
EP0790552A2 (en) 1995-08-04 1997-08-20 Nec Corporation Data processing apparatus for performing pipeline processing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04217027A (ja) * 1990-12-18 1992-08-07 Nec Corp 情報処理装置
EP0790552A2 (en) 1995-08-04 1997-08-20 Nec Corporation Data processing apparatus for performing pipeline processing

Similar Documents

Publication Publication Date Title
JPS58151655A (ja) 情報処理装置
JP4465081B2 (ja) Vliwプロセッサにおける効率的なサブ命令エミュレーション
JPH02232727A (ja) 情報処理装置
JPS62151940A (ja) レジスタ退避/復帰方式
JPS6049352B2 (ja) デ−タ処理装置
JPH0554009A (ja) プログラムロード方式
JP2883489B2 (ja) 命令処理装置
JP3130798B2 (ja) バス転送装置
JP2883488B2 (ja) 命令処理装置
JP2506591B2 (ja) 補助処理装置
JPS61143850A (ja) 処理装置
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JPS6126692B2 (ja)
JP2693930B2 (ja) ベクトル処理装置
JP2657947B2 (ja) データ処理装置
JP2584528Y2 (ja) 情報処理装置
JPS5842487B2 (ja) プログラムのロ−デイング方式
JPH03229324A (ja) 情報処理装置
JPS5954091A (ja) 電子計算機
JPS60123944A (ja) 情報処理装置におけるバツフアメモリ制御方式
JPS61109145A (ja) メモリアドレス算出方式
JPS6239779B2 (ja)
JPH04139564A (ja) マイクロプロセッサシステム
JPS60256858A (ja) プログラム・ロ−デイング処理方式
JPH06161720A (ja) コンピュータシステム