JPS61136131A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPS61136131A
JPS61136131A JP25759084A JP25759084A JPS61136131A JP S61136131 A JPS61136131 A JP S61136131A JP 25759084 A JP25759084 A JP 25759084A JP 25759084 A JP25759084 A JP 25759084A JP S61136131 A JPS61136131 A JP S61136131A
Authority
JP
Japan
Prior art keywords
register
physical
instruction
physical register
logical
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
JP25759084A
Other languages
English (en)
Inventor
Eiki Kamata
釜田 栄樹
Yoichi Shintani
洋一 新谷
Toru Shonai
亨 庄内
Shigeo Takeuchi
武内 茂雄
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.)
Hitachi ULSI Engineering Corp
Hitachi Ltd
Original Assignee
Hitachi ULSI Engineering Corp
Hitachi 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 Hitachi ULSI Engineering Corp, Hitachi Ltd filed Critical Hitachi ULSI Engineering Corp
Priority to JP25759084A priority Critical patent/JPS61136131A/ja
Publication of JPS61136131A publication Critical patent/JPS61136131A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はディジタルコンピュータに係り、特に複数命令
を並列に処理することによって高速化を図る際に動的な
レジスタ割当てを行う情報処理装置に関する。
〔発明の背景〕
複数の命令処理を並列に行うことによって処理の高速化
を図るマシンにおいて、並列に処理すべきデータの間に
は依存関係がないにもかかわらずそれらの処理が同一レ
ジスタの使用を指定しているという理由で並列処理が阻
害され処理能力の低下を招くことがある。この同一レジ
スタの繰返し使用に起因する並列処理阻害要因を除去す
るために、仮想レジスタ方式と呼ばれる方式が特願昭5
8−237777に提案されている。
仮想レジスタ方式によ九ば、命令で指定されている汎用
レジスタはプログラマから見た論理的なレジスタであり
論理レジスタと呼ばれる。また。
実際に演算結果を保持するレジスタは物理レジスタと呼
ばれ、論理レジスタと動的に対応づけられる。並列処理
すべき命令が同一の論理レジスタを指定している場合に
は、それぞれ異なる物理レジスタが割当てられるので、
上記の並列処理阻害要因を除去できる。
仮想レジスタ方式においては、ある論理レジスタに新た
な物理レジスタを割当てることが頻繁に行われるが、そ
のためには、物理レジスタを使用している機能ブロック
からの制御信号による物理レジスタの複雑な状態管理制
御を行う必要があった。
〔発明の目的〕
本発明の目的は、上記の問題に鑑み、他の機能ブロック
からの制御が関与することのない、簡単かつ有効なレジ
スタ割当て方式を有する情報処理装置を提供することに
ある。
〔発明の概要〕
このような目的を達成するために1本発明は、論理レジ
スタに対して割当てられていない物理レジスタの番号を
キューに保持し、新たな物理レジスタの割当て要求があ
ると、新たに割当てるべき物理レジスタの番号をそのキ
ューから取出して用い、その際、解放された物理レジス
タの番号をそのキューに戻すことによって、他の機能ブ
ロックからの制御が関与することなしに、動的な物理レ
ジスタ割当てを行うことを可能にしていることに特徴が
ある。
(発明の実施例〕 以下1本発明の詳細な説明する。説明の都合上、日立製
作所のMシリーズアーキテクチャに基づくマシンを前提
とする。
第2図は、典型的な命令型式を示している。第2(a)
図は、RR型式と呼ばれる命令型式であり、02部で指
定された演算が、R1部で指定された汎用レジスタの内
容を第1オペランド、R2部で指定された汎用レジスタ
の内容を第2オペランドとして実行される。第2(b)
図は、RX型式と呼ばれる命令型式であり、R1部で指
定された汎用レジスタの内容を第1オペランド、x2部
、82部でそれぞれ指定された汎用レジスタの内容とD
2部の内容を加えて得られるアドレスで示されるメモリ
の内容を第2オペランドとして、02部で措定された演
算が実行される。
第3@は、全体構成を示している。
命令レジスタ1は、処理を行うべき命令を保持している
。命令レジスタに命令を設定するための論理については
、本発明の説明上不要であり、また公知の技術により構
成可能であるので図示せず説明も省略する。命令レジス
タ1に保持された命令は、信号線rNSを介して命令デ
コーダ2に送られる。
命令デコーダ2は、命令を解読して各種制御信号やオペ
ランドアドレスを生成し出力する。これらの制御信号の
うち本発明の説明に必要なものの意味は次の通りである
1)OPC:命令の02部であり、演算ユニット7で実
行する演算の種類を指定する。
2)FTP:解読した命令がメモリからオペランドを読
出す命令であることを示す。
3)STP:解読した命令がメモリへ演算結果を芹込む
命令であることを示す。
4)A[)R:メモリからオペランドを読出すアドレス
またメモリへ演算結果を書込むアドレスを指定する。
5)NDP:解読した命令が汎用レジスタからオペラン
ドを読出す命令であることを示す。
6)CHP:解読した命令が汎用レジスタへ演算結果を
書込む命令であることを示す6 7)ASP:解読した命令が命令で指定された論理レジ
スタに対して新たな物理レジスタを割当てる命令である
ことを示す。
8)LRI:第1オペランドを読出すべき論理レジスタ
番号を指定する6 9)LR2:第2オペランドを読出すべき論理レジスタ
番号を指定する。
10)LWR:演算結果を書込むべき論理レジスタ番号
を指定する。
OPCは演算ユニツ1〜7に、FTP、STP。
ADHは記憶ユニット6に、NDP、CI(Pはレジス
タユニット5に、ASP、LRI、LR2゜LWRは仮
想レジスタ制御回路4に送出され、各機能ブロックの制
御に用いられる。
デコード制御回路3は、命令の解読が完了すると信号D
Sを1にして、新たな命令を命令レジスタ1に設定して
もよいことを示す。デコード制御回路3は、ある要因に
よって命令の解読が阻害されるとDSをOにして、新た
な命令の命令レジスタ1への設定を抑止する。このデコ
ード制御回路の機能や構成は、従来の情報処理装置にお
けると同様であり、また本発明の説明には不要なため、
詳細は省略する。
仮想レジスタ制御回路4は、論理レジスタ番号から物理
レジスタ番号への変換、および、論理レジスタ番号に対
する物理レジスタ番号の新規の割当てを管理する。ここ
では、その概略について述べ、詳細は後述することとす
る。
仮想レジスタ制御回路4は、論理レジスタ番号と物理レ
ジスタ番号との対応関係を保持する変換表を有している
。新規割当てを要求する信号ASPがOのときには、論
理レジスタ番号LRI。
LR2,LWRは、変換表を索引することにより、それ
ぞれ物理レジスタ番号PRI、PR2゜PWRに変換さ
れて、レジスタユニット5に送られる。ASPが1のと
きにも、LRl、LR2は同様にしてPRI、PR2に
変換されるが、LWRは異なる変換過程と経る。まず、
現在変換表中に登録されていない物理レジスタ番号を1
つ選択し、その選択した物理レジスタ番号をPWRとし
て出力する0次に、LWRに対応する変換表のエントリ
の物理レジスタ番号を、選択した物理レジスタ番号に書
換える。これで、論理レジスタ番号LWRには、新たな
物理レジスタ番号が割当てられたことになる。
レジスタユニット5は、演算結果を保持するための物理
レジスタを有する。レジスタユニット5の制御は、16
本の汎用レジスタが、16以上の本数の物理レジスタに
置換えられただけで、従来とほとんど変わるところがな
い。つまり、レジスタ続出し要求信号NDPが1のとき
には、PRY。
PR2で指定された物理レジスタの内容を、それぞれ第
1オペランド、第2オペランドとして読出し、信号線O
LR,02Rを介して演算ユニット7に送る。また、レ
ジスタ書込み要求信号CT(Pが1のときには、信号線
RSTを介して演算ユニット7から送られてくる演算結
果を、PWRで指定された物理レジスタに書込む。
記憶ユニット6は、メモリとその制御回路から構成され
る。記憶ユニット6は、FTPが1のときADHで示さ
れるメモリアドレスからオペランドを読出し信号線02
Mを介して演算ユニット7に送る。また、STPが1の
ときADHで示されるメモリアドレスにR3Tを介して
送られてくる演算結果を書込む。
演算ユニット7は、oPCで指定された演算を実行する
。第1オペランドは、OIRを介して得られる。第2オ
ペランドは、演算の種類によって02Rか02Mの一方
を介して得られる。演算結果はR5Tを介して、レジス
タユニット5と記憶ユニット6に送られる。
!ts1図は、仮想レジスタ制御回路4の内部構成を示
している。
変換部41は、変換表(以下RxT)411を管理し、
論理レジスタ番号を物理レジスタ番号に変換する。RX
T411は、論理レジスタ対応のエントリに、各々の論
理レジスタに対して割当てられている物理レジスタの番
号を保持している。
従って、ある論理レジスタ番号でRXT411を索引す
ることによって、その論理レジスタに対して割当てられ
ている物理レジスタの番号を得ることができる。読出し
レジスタを指定する論理レジスタ番号LRI、LR2は
1以上のようにして。
それぞれ物理レジスタ番号PRI、PR2に変換される
レジスタへの書込みに対しては、その書込みを。
既に割当てられている物理レジスタに対して行うか、新
たに割当てられる物理レジスタに対して行うかによって
、動作が異なる。書込みレジスタに対して新たな物理レ
ジスタを割当てるか否かは、物理レジスタ割当て要求信
号ASPによって決定される。ASP′hSOの場合、
新たな物理レジスタの割当ては行われないので、書込み
レジスタを指定する論理レジスタ番号LWRは、RXT
411を索引することによって、物理レジスタ番号PW
Rに変換される。ASPが1の場合、新たな物理レジス
タの割当てが、論理レジスタの番号LWRで指定される
論理レジスタに対して行われる。新たに割当てられるべ
き物理レジスタは、キュ一部42より送られてくる割当
て物理レジスタ番号PASによって指定される。変換部
41は。
書込みレジスタを指定する論理レジスタ番号り、WRの
値にかかわらず、PASの値をそのまま物理レジスタ番
号PWRとして送出する。次に、この物理レジスタの新
たな割当てをRXT411゜に反映させる必要がある。
このために、まず、論理レジスタ番号LWRでRXT4
1 Lを索引して得られる物理レジスタ番号を、解放物
理レジスタ番号PRLに出力し、キュ一部42に送る。
これは、解放した物理レジスタを再使用するためである
。そして、論理レジスタ番号LWRに対応するRXT4
11のエントリに新たに割当てられた物理レジスタの番
号PASを登録する。
キュ一部42は、物理レジスタ番号キュー(以下PRQ
)421を管理する。RXT411に登録されていない
物理レジスタ番号は、すべてPRQ421に保持される
。PR0421は、入口点をインポインタ(以下QIP
)422.出口点をアウトポインタ(以下QOP)42
3で指示されるファーストイン・ファーストアウト(F
IFO)制御のキューを構成する。このFIFOキュー
をこのように構成する必然性はなく、例えば、シフトレ
ジスタによって構成してもよい。
キュ一部42は、QOP423が指示しているPRQ4
21の内容を、新たに割当てられるべき物理レジスタ番
号PASとして変換部41に出力する。このPASの値
が実際に変換部41によって用いられるのは、前述した
ように、物理レジスタ割当て要求信号ASPが1のとき
である。このとき、キュ一部42では、次のような動作
を行う。
まず、変換部41から送られてくる解放された物理レジ
スタ番号PRLを、QIP422で指示されているPR
Q421のエントリに保持する。そして、QIP422
、QOP423をインクリメントする。このインクリメ
ントにより、PRQ421は、FIFOキューとしての
動作をする。
PRQ421の長さは有限であるので、QIP422、
QOP423のインクリメントは、PRQ421の畏さ
でラップアラウンドさせる。
これにより、PRQ421は、下端と上端がつながった
環状と考えることができ、PRO421の各エントリを
再利用することができる。
第4図は、新たな物理レジスタの割当て動作を示してい
る。第4(a)図の状態から加算命令AR2,3 を処理した後の状態を第4(b)図に示している。
第4図には、RXT411とPRQ421(71内容の
一部と、QIP422とQOP423が指示するPRQ
421のエントリが示されている。また、この加算命令
は、論理レジスタの2番(以下LR#2と略記)の内容
を第1オペランド、LR#3の内容を第2オペランドと
して加算を施し、演算結果をLR#2に格納することを
意味している6I2XT411は、論理レジスタ番号に
対応するエントリに、その論理レジスタに対して割当て
ら九でいる物理レジスタの番号を保持している。図中に
おいては、例えば、LR#Oに対して物理レジスタの3
3番(以下PR433と略記)、LR#1に対してPR
#7が割当てられている。
PRQ421は、論理レジスタに対して割当てられてい
ない物理レジスタの番号をキューイングしている。図中
においては、最も以前に解放され要求があったとき割当
てられるべき物理レジスタの番号は13で、また、!&
後に解放された物理レジスタの番号は15であって、そ
の間に解放された物理レジスタの番号が順にキューイン
グされている。
以下、この状態において、該加算命令がデコードされた
ときの動作を説明する。
まず、オペランドを読出すべき物理レジスタを指定する
物理レジスタ番号が、読出し論理レジスタ番号でRXT
411を索引することによって求められる。従って、読
出し論理レジスタ番号2゜3は、それぞれ、物理レジス
タ番号19.1に変換される。次に、演算結果を書込む
べき物理レジスタを指定する物理レジスタ番号が求めら
れる。
該加算命令は、新たな物理レジスタの割当て要求を行う
こととすると、この場合、QOP422が指示している
PRQ421のエントリの内容が、書込み物理レジスタ
番号となる。従って、書込み物理レジスタ番号は13と
なる。結局、該加算命令は、PR#19とPH10の内
容を加えて、その結果をPR#13に格納することとな
る。
さらに、新たな物理レジスタの割当てを、RXT411
、PRQ421に反映さセル必要がある。そのために、
新たに割当てられた物理レジスタを指定する物理レジス
タ番号をRXT411に登録し、それに伴って解放され
た物理レジスタを指定する物理レジスタ番号をPRQ4
21にキューイングする。詳述すると、書込み論理レジ
スタ番号2に対応するRXT411のエントリに保持さ
れている物理レジスタ番号19を、QIP422が指示
しているPRQ421のエントリに書込み、QOP42
3が指示しているP RQ421のエントリに保持され
ている物理レジスタ番号13を、書込み論理レジスタ番
号2に対応するRXT411(1)xントリニ!*L、
で、Q I P422゜QOP423をインクリメント
する。
以下に1本発明を用いてマシンを構成したときの物理レ
ジスタの本数について述べる。
本発明のようなレジスタの動的割当てを行った場合、物
理レジスタの本数は、一般に、論理レジスタの本数(例
えば、■シリーズアーキテクチャでは16)以上必要で
あり、そうであれば、矛盾が生じることはない、しかし
、複数命令の並列処理を行うことにより処理の高速化を
図る際には、        !並列に処理される命令
が同一の物理レジスタの使用(書換え)を指定しないこ
とが重要である6それは、同一レジスタの繰返し使用に
起因する並列処理阻害要因を完全に除去することができ
るからであり、また、それに伴って同一レジスタの繰返
し使用を検出するための論理や検出したときの処理の待
合せのための論理などを省略することができ、そのハー
ドウェア量を大幅に軽減できるからである。従って、同
一物理レジスタの繰返し使用が起こらないだけの本数の
物理レジスタを用意すべきであり、その本数nは、次の
ようにした求めることができる。すなわち、任意の時刻
においてマシン内で並列に処理される命令のうち、最も
以前の命令から最も新しい命令までの最大の命令数をN
としたとき、換言すれば、ある命令の処理が完了するま
でに処理の開始される可能性のある最大の命令数をNと
したとき、このN個の命令によって書換えが行われつる
最大のレジスタの本数と、割当てが行われているレジス
タの本数、つまり。
論理レジスタの本数との和が、最低用意すべき物理レジ
スタの本数nである。命令処理の追越しを許さないマシ
ンにおいては、命令数Nを常に一意に決定することがで
きるが、命令処理の追越しを無制限に許すようなマシン
においCは、命令数Nを決定できない。しかし、命令処
理の追越しに制限を加えれば、そのような命令処理装置
においても命令数Nを一意に決定することができる。
以上のようにして求められたn本以上の物理レジスタを
用意し1本発明を用いて構成されたマシンにおいては、
並列処理される命令が同一の物理レジスタを使用しない
ことを次に示す。
まず、命令iがLR#Rへの書込みを指定し新たにPR
#pが割当てられたとする6その後、命令3jがLR#
ρへの芹込みを指定したとするとPR#pは解放されそ
の物理レジスタ番号pはPRQ421に戻されろ、PR
Q421の長さは。
物理レジスタの本数から物理レジスタの本数を引いた値
であり、N個の命令によって書換えか行われうる最大の
レジスタ本数以上であるから、PRQ421に戻された
物理レジスタ番号pは。
少なくともN個の命令を処理しない限り、再び割当てら
れることはない。このとき、命令、j以前の命令処理は
、PR#pを使用している命令iを含めて、既にN7し
ている。従って、並列処理される命令が同一の物理レジ
スタを使用することはない。
ただし、ここで述べた物理レジスタの本数nが本発明に
必須のものではないことは、前述した通りである。
〔発明の効果〕
以上の説明のように、本発明によれば、他の機能ブロッ
クからの制御信号が関与することなしに。
1つの機能ブロック(仮想レジスタ制御回路4)のみで
、動的なレジスタ割当て制御が可能となるので、その制
御を筒略化できる効果がある。また、並列処理されうる
最大数の命令が使用しつるレジスタ本数以上の物理レジ
スタを用意した場合には、同一レジスタの繰返し使用に
起因する並列処理阻害要因を完全に除去できるだけでな
く、同一レジスタの繰返し使用の検出論理や検出したと
きの処理の待合せ論理などを省略することができるとい
う効果がある。
【図面の簡単な説明】
図はいずれも本発明に関するもので、第1図は仮想レジ
スタ制御回路の内部構成図、第2図は典型的な命令型式
を示す図、第3図は全体構成を示す図、第4図は仮想レ
ジスタ制御回路の動作を示す図である。 1・・・命令レジスタ、2・・・命令デコーダ、3・・
・デコード制御回路、4・・・仮想レジスタ制御回路、
41・・・変換部、411・・・変換表(RXT)、4
2・・・キュ一部、421・・・物理レジスタ番号キュ
ー(PRQ)、422・・・インポインタ (QIP)
。 423・・・アウトポインタ(QOP)、5・・・レジ
スタユニット、6・・・記憶ユニット、7・・・演算ユ
ニット。 ”I−+■ ¥−20(α) V、2目(17) を3因 頁の続き i間者 風向 茂雄 小平市JJ繻14791地株式会
社内 日立超LSIエンジニアリング

Claims (1)

  1. 【特許請求の範囲】 1、複数の命令を並列処理する情報処理装置において、 命令で論理的に指定される1個または複数の第1のレジ
    スタと、実際に命令の演算結果を保持する1個または複
    数の第2のレジスタと、第1のレジスタの番号に対して
    割当てられている第2のレジスタの番号を保持する第1
    の手段と、第1のレジスタの番号に対して割当てられて
    いない第2のレジスタの番号を保持する第2の手段とを
    有し、 第1のレジスタに対して新たな第2のレジスタの割当て
    要求があつた場合には、新たに割当てられるべき第2の
    レジスタの番号を第2の手段から取出し第1の手段に保
    持させ、それに伴つて解放される第1の手段から取除か
    れる第2のレジスタの番号を第2の手段に戻すことによ
    つて、第1のレジスタに対する第2のレジスタの動的な
    割当てを行うことを特徴とする情報処理装置。
JP25759084A 1984-12-07 1984-12-07 情報処理装置 Pending JPS61136131A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25759084A JPS61136131A (ja) 1984-12-07 1984-12-07 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25759084A JPS61136131A (ja) 1984-12-07 1984-12-07 情報処理装置

Publications (1)

Publication Number Publication Date
JPS61136131A true JPS61136131A (ja) 1986-06-24

Family

ID=17308378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25759084A Pending JPS61136131A (ja) 1984-12-07 1984-12-07 情報処理装置

Country Status (1)

Country Link
JP (1) JPS61136131A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6417126A (en) * 1987-07-01 1989-01-20 Ibm Register renaming apparatus
JPH05250157A (ja) * 1991-01-16 1993-09-28 Internatl Business Mach Corp <Ibm> 記憶域オペランドの管理方法及びコンピュータ・システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6417126A (en) * 1987-07-01 1989-01-20 Ibm Register renaming apparatus
JPH05250157A (ja) * 1991-01-16 1993-09-28 Internatl Business Mach Corp <Ibm> 記憶域オペランドの管理方法及びコンピュータ・システム

Similar Documents

Publication Publication Date Title
US4511964A (en) Dynamic physical memory mapping and management of independent programming environments
JPH04290150A (ja) Fifoバッファの制御装置及び制御方法並びにデータ転送を制御する装置
JPH0242569A (ja) ベクター処理システムに用いる文脈スイッチング方法及び装置
JPH07175698A (ja) ファイルシステム
JPH076115A (ja) データ処理システムのソフトウェアユーザによるハードウェアデータ移動機能の制御方法、プロセッサ間の操作の同期化方法、及び複数の装置制御ブロックの付与方法
US3778776A (en) Electronic computer comprising a plurality of general purpose registers and having a dynamic relocation capability
US5696990A (en) Method and apparatus for providing improved flow control for input/output operations in a computer system having a FIFO circuit and an overflow storage area
JPH0340868B2 (ja)
JPS61136131A (ja) 情報処理装置
US4816992A (en) Method of operating a data processing system in response to an interrupt
JPS6032220B2 (ja) 情報処理装置
JPH04120652A (ja) 並列処理装置
JP3206580B2 (ja) Dmaデータ転送制御方法及び入出力処理装置
JPS60142429A (ja) 仮想計算機システムのi/o実行方法および装置
JPS61253544A (ja) 情報処理装置
JP2735400B2 (ja) 非同期入出力制御方式
JPH10507548A (ja) データ処理システムおよび方法およびこのようなシステムとの通信システム
JPH0833869B2 (ja) データ処理装置
JP2535584B2 (ja) 実記憶固定処理計算機
JP2742245B2 (ja) 並列計算機
JPH05151174A (ja) マルチプロセツサの同期方式
JPH02188865A (ja) プロセッサ間共有メモリ管理装置
JPH0346033A (ja) ジヨブ間データ転送制御方法
JPH05324698A (ja) ベクトルデータ処理装置およびそれに使用されるデータ転送方式
JPH0816478A (ja) ベクトルデータ処理装置