JP2621763B2 - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JP2621763B2 JP2621763B2 JP5175271A JP17527193A JP2621763B2 JP 2621763 B2 JP2621763 B2 JP 2621763B2 JP 5175271 A JP5175271 A JP 5175271A JP 17527193 A JP17527193 A JP 17527193A JP 2621763 B2 JP2621763 B2 JP 2621763B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- logical address
- data
- instruction
- 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.)
- Expired - Fee Related
Links
Landscapes
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【産業上の利用分野】本発明は、パイプライン制御の下
でアドレス計算を行う情報処理装置に関する。
でアドレス計算を行う情報処理装置に関する。
【0002】
【従来の技術】従来、この種の情報処理装置は、間接ア
ドレス指定を伴う命令を処理する際には、オペランド中
に指定された間接アドレスをアドレス変換バッファ(T
LB:Translation Lookaside Buffer)により物理アド
レスに変換して、その物理アドレスによってオペランド
キャッシュをアクセスして実効アドレスを求めていた。
また、間接アドレス指定/直接アドレス指定共に、アド
レス生成を伴う命令が、先行するロード命令の結果をア
ドレス生成に使用するものである場合、そのアドレス生
成を伴う命令は先行するロード命令の結果が確定するま
で処理を中断させていた。
ドレス指定を伴う命令を処理する際には、オペランド中
に指定された間接アドレスをアドレス変換バッファ(T
LB:Translation Lookaside Buffer)により物理アド
レスに変換して、その物理アドレスによってオペランド
キャッシュをアクセスして実効アドレスを求めていた。
また、間接アドレス指定/直接アドレス指定共に、アド
レス生成を伴う命令が、先行するロード命令の結果をア
ドレス生成に使用するものである場合、そのアドレス生
成を伴う命令は先行するロード命令の結果が確定するま
で処理を中断させていた。
【0003】なお、これらの従来技術に対して、例えば
特開昭57−114948号公報に記載されているよう
に、レジスタに値が書込まれる前にその値を読出す隘路
(いわゆるレジスタバイパス)を設けてオペランド読出
しを高速化する手段があるが、この場合もレジスタに書
込むべき値がレジスタの直前に到着していなければなら
ず、それ以上の高速化は期待できない。
特開昭57−114948号公報に記載されているよう
に、レジスタに値が書込まれる前にその値を読出す隘路
(いわゆるレジスタバイパス)を設けてオペランド読出
しを高速化する手段があるが、この場合もレジスタに書
込むべき値がレジスタの直前に到着していなければなら
ず、それ以上の高速化は期待できない。
【0004】
【発明が解決しようとする課題】この従来の情報処理装
置では、間接アドレスの変換の際にTLBやオペランド
キャッシュをアクセスするため、そのための処理に時間
を要するという問題があった。また、先行するロード命
令による結果が確定するまで、それをアドレス計算に使
用する後続命令の処理を続行できないという問題があっ
た。
置では、間接アドレスの変換の際にTLBやオペランド
キャッシュをアクセスするため、そのための処理に時間
を要するという問題があった。また、先行するロード命
令による結果が確定するまで、それをアドレス計算に使
用する後続命令の処理を続行できないという問題があっ
た。
【0005】
【課題を解決するための手段】上述した問題点を解決す
るため、本願第1の発明により情報処理装置では、間接
アドレス指定を伴う命令を処理する際、過去に生成され
た実行アドレスを保存しておく手段を設けることによ
り、間接アドレスから実行アドレスを生成する処理を高
速化する。また、本願第2の発明による情報処理装置で
は、過去にベースレジスタやインデックスレジスタにロ
ードされた値の履歴を保存しておく手段を備えることに
より、次にベースレジスタやインデックスレジスタに対
してロード命令が出現した際に、保存しておいた履歴中
の値を用いることによって後続するアドレス生成を伴う
命令を高速化する。
るため、本願第1の発明により情報処理装置では、間接
アドレス指定を伴う命令を処理する際、過去に生成され
た実行アドレスを保存しておく手段を設けることによ
り、間接アドレスから実行アドレスを生成する処理を高
速化する。また、本願第2の発明による情報処理装置で
は、過去にベースレジスタやインデックスレジスタにロ
ードされた値の履歴を保存しておく手段を備えることに
より、次にベースレジスタやインデックスレジスタに対
してロード命令が出現した際に、保存しておいた履歴中
の値を用いることによって後続するアドレス生成を伴う
命令を高速化する。
【0006】
【実施例】次に本願第1の発明について図面を参照して
説明する。
説明する。
【0007】図1は本願第1の発明の一実施例を示す情
報処理装置のブロック図である。命令レジスタ(以下、
IRという)101は、パイプラインの上位ステージよ
り供給された命令語を保持する。ベースレジスタ(以
下、BRという)102ならびにインデックスレジスタ
(以下、XRという)103は、共に命令セットアーキ
テクチャで定義されたレジスタであり、それぞれIR1
01の命令語により指示された索引番号により読み出さ
れる。アドレス加算器(以下、ADという)104は、
命令語により指示されたディスプレースメント(変
位)、BR102からのベースアドレス、およびXR1
03からのインデックスアドレスから論理アドレスの生
成を行う。セレクタ121はAD104、データレジス
タ(以下、DRという)109もしくはデータバッファ
(以下、DBという)112のいずれかからの論理アド
レスを選択する。この選択された論理アドレスは、論理
アドレスレジスタ(以下、LARという)105に保持
される。アドレス変換バッファ(以下、TLBという)
106はLAR105からの論理アドレスを基に物理ア
ドレスに変換する。この物理アドレスは物理アドレスレ
ジスタ(以下、PARという)107に保持される。オ
ペランドキャッシュ(以下、OCという)108は、P
AR107の物理アドレスを基に該当するエントリのデ
ータを出力する。ここで得られたデータはDR109に
保持され、オペランドデータとして後続のパイプライン
に使用されるか、論理アドレスとしてセレクタ121で
選択されて再びTLB106により物理アドレスに変換
される。論理アドレスバッファ(以下、LABという)
110はAD104により生成された論理アドレスを格
納するバッファである。有効指示バッファ(以下、VB
という)111は、LAB110の対応する各エントリ
が有効であるか無効であるかを示すバッファである。D
B112は、LAB110の各エントリに格納されてい
る値を間接アドレスであるとした場合の、実効アドレス
を格納するバッファである。比較器114は、AD10
4が生成した論理アドレスとLAB110内の各論理ア
ドレスとを比較する。ANDゲート116は、比較器1
14、VB111、およびANDゲート117の各出力
の論理積を生成する。物理アドレスバッファ(以下、P
ABという)113は、LAB110の各エントリに格
納されている値を論理アドレスであるとした場合の、物
理アドレスを格納するバッファである。比較器115
は、PAR107の物理アドレスとPAB113内の各
論理アドレスとを比較する。ANDゲート117は、比
較器115およびVB111の各出力の論理積を生成す
る。エンコーダ118はANDゲート115の出力を基
に、DB112から読み出すべきエントリ番号を生成す
る。制御回路150は、ANDゲート116の出力、A
NDゲート117の出力もしくはパイプライン下位ステ
ージからの論理アドレス空間切替指示信号119を基に
VB111の登録および無効化を行い、また、制御信号
122によりセレクタ121の制御を行う。
報処理装置のブロック図である。命令レジスタ(以下、
IRという)101は、パイプラインの上位ステージよ
り供給された命令語を保持する。ベースレジスタ(以
下、BRという)102ならびにインデックスレジスタ
(以下、XRという)103は、共に命令セットアーキ
テクチャで定義されたレジスタであり、それぞれIR1
01の命令語により指示された索引番号により読み出さ
れる。アドレス加算器(以下、ADという)104は、
命令語により指示されたディスプレースメント(変
位)、BR102からのベースアドレス、およびXR1
03からのインデックスアドレスから論理アドレスの生
成を行う。セレクタ121はAD104、データレジス
タ(以下、DRという)109もしくはデータバッファ
(以下、DBという)112のいずれかからの論理アド
レスを選択する。この選択された論理アドレスは、論理
アドレスレジスタ(以下、LARという)105に保持
される。アドレス変換バッファ(以下、TLBという)
106はLAR105からの論理アドレスを基に物理ア
ドレスに変換する。この物理アドレスは物理アドレスレ
ジスタ(以下、PARという)107に保持される。オ
ペランドキャッシュ(以下、OCという)108は、P
AR107の物理アドレスを基に該当するエントリのデ
ータを出力する。ここで得られたデータはDR109に
保持され、オペランドデータとして後続のパイプライン
に使用されるか、論理アドレスとしてセレクタ121で
選択されて再びTLB106により物理アドレスに変換
される。論理アドレスバッファ(以下、LABという)
110はAD104により生成された論理アドレスを格
納するバッファである。有効指示バッファ(以下、VB
という)111は、LAB110の対応する各エントリ
が有効であるか無効であるかを示すバッファである。D
B112は、LAB110の各エントリに格納されてい
る値を間接アドレスであるとした場合の、実効アドレス
を格納するバッファである。比較器114は、AD10
4が生成した論理アドレスとLAB110内の各論理ア
ドレスとを比較する。ANDゲート116は、比較器1
14、VB111、およびANDゲート117の各出力
の論理積を生成する。物理アドレスバッファ(以下、P
ABという)113は、LAB110の各エントリに格
納されている値を論理アドレスであるとした場合の、物
理アドレスを格納するバッファである。比較器115
は、PAR107の物理アドレスとPAB113内の各
論理アドレスとを比較する。ANDゲート117は、比
較器115およびVB111の各出力の論理積を生成す
る。エンコーダ118はANDゲート115の出力を基
に、DB112から読み出すべきエントリ番号を生成す
る。制御回路150は、ANDゲート116の出力、A
NDゲート117の出力もしくはパイプライン下位ステ
ージからの論理アドレス空間切替指示信号119を基に
VB111の登録および無効化を行い、また、制御信号
122によりセレクタ121の制御を行う。
【0008】次に、以上の構成を持つ情報処理装置の動
作について説明する。パイプラインの上位ステージから
供給された命令語はIR101に保持され、命令デコー
ダ(図示していない)により解読される。この結果、ア
ドレス生成を伴う命令であると判断されたならば、命令
語の所定のフィールドの索引番号を基にBR102およ
びXR103を読み出し、命令語の所定のフィールドか
らディスプレースメントを抽出する。これらの値を用い
て、AD104が論理アドレスを生成する。この論理ア
ドレスはセレクタ121を介して一旦LAR105に保
持され、TLB106で物理アドレスに変換される。こ
の物理アドレスは一旦PAR107に保持され、この物
理アドレスに対応するデータがOC108から読み出さ
れてDR109に保持される。ここで、TLB106な
らびにOC108の構成は、通常用いられているTLB
ならびにキャッシュと同様のものである。
作について説明する。パイプラインの上位ステージから
供給された命令語はIR101に保持され、命令デコー
ダ(図示していない)により解読される。この結果、ア
ドレス生成を伴う命令であると判断されたならば、命令
語の所定のフィールドの索引番号を基にBR102およ
びXR103を読み出し、命令語の所定のフィールドか
らディスプレースメントを抽出する。これらの値を用い
て、AD104が論理アドレスを生成する。この論理ア
ドレスはセレクタ121を介して一旦LAR105に保
持され、TLB106で物理アドレスに変換される。こ
の物理アドレスは一旦PAR107に保持され、この物
理アドレスに対応するデータがOC108から読み出さ
れてDR109に保持される。ここで、TLB106な
らびにOC108の構成は、通常用いられているTLB
ならびにキャッシュと同様のものである。
【0009】DR109に保持されたデータの意味は、
命令語の命令コードフィールドにより指定された命令に
よって異なる。直接アドレス指定の演算系命令であれ
ば、オペランドデータとして演算器に使用される。直接
アドレス指定のロード命令であれば、指定されたレジス
タにそのデータが格納される。間接アドレス指定の命令
であれば、そのデータは論理アドレスとして扱われ、セ
レクタ121で選択されて再びTLB106により物理
アドレスに変換され、さらにOC108によりオペラン
ドフェッチが行われる。従って、間接アドレス指定命令
の場合、間接アドレス指定ではない場合の処理に比べて
オペランドの実効アドレスが求まるまでに時間がかか
り、後続命令の処理が阻害される。
命令語の命令コードフィールドにより指定された命令に
よって異なる。直接アドレス指定の演算系命令であれ
ば、オペランドデータとして演算器に使用される。直接
アドレス指定のロード命令であれば、指定されたレジス
タにそのデータが格納される。間接アドレス指定の命令
であれば、そのデータは論理アドレスとして扱われ、セ
レクタ121で選択されて再びTLB106により物理
アドレスに変換され、さらにOC108によりオペラン
ドフェッチが行われる。従って、間接アドレス指定命令
の場合、間接アドレス指定ではない場合の処理に比べて
オペランドの実効アドレスが求まるまでに時間がかか
り、後続命令の処理が阻害される。
【0010】ここまで説明した動作は、従来技術による
パイプライン構成の情報処理装置によるものと同様であ
る。本願第1の発明では、上述のような間接アドレス指
定を伴う命令において、過去に生成された実効アドレス
を、LAB110、PAB113、DB112、および
VB111に格納しておくことにより、間接アドレスか
ら実効アドレスを生成する処理を高速化する。
パイプライン構成の情報処理装置によるものと同様であ
る。本願第1の発明では、上述のような間接アドレス指
定を伴う命令において、過去に生成された実効アドレス
を、LAB110、PAB113、DB112、および
VB111に格納しておくことにより、間接アドレスか
ら実効アドレスを生成する処理を高速化する。
【0011】上記LAB110等へのエントリ登録動作
について説明する。IR101に保持された命令が間接
アドレス指定を伴う命令であった場合、AD104にて
生成された論理アドレス(間接アドレス)はLAB11
0に格納される。LAB110はアドレスを複数エント
リ記憶できる構成になっており、空いている任意のエン
トリが使用される。このエントリの管理は制御回路15
0が行い、対応するVB111が有効状態でないエント
リを探して新たに割当てて、そのVB111の対応する
エントリを有効状態に変更する。このエントリ番号はP
AB113とDB112も共有しており、該当する命令
が処理されていくに従って、TLB106からの物理ア
ドレスがPAB113に、OC108からのデータがD
B112に、それぞれ同一のエントリ番号を用いて格納
される。
について説明する。IR101に保持された命令が間接
アドレス指定を伴う命令であった場合、AD104にて
生成された論理アドレス(間接アドレス)はLAB11
0に格納される。LAB110はアドレスを複数エント
リ記憶できる構成になっており、空いている任意のエン
トリが使用される。このエントリの管理は制御回路15
0が行い、対応するVB111が有効状態でないエント
リを探して新たに割当てて、そのVB111の対応する
エントリを有効状態に変更する。このエントリ番号はP
AB113とDB112も共有しており、該当する命令
が処理されていくに従って、TLB106からの物理ア
ドレスがPAB113に、OC108からのデータがD
B112に、それぞれ同一のエントリ番号を用いて格納
される。
【0012】LAB110等のエントリ無効化動作につ
いて説明する。DB112に格納されているデータと同
じアドレス領域に対して、ストア命令による書込みがあ
った場合には、OC108とDB112とで内容が一致
しなくなる可能性があり、正常な動作が継続できなくな
る。これを防止するため、ストア命令を検出してその書
込みアドレスをチェックする必要がある。IR101に
保持された命令がストア命令であった場合、PAR10
7に格納された絶対アドレスとPAB113の各エント
リの絶対アドレスとを、比較器115により比較する。
一致するものがあった場合には、VB111の対応する
エントリが有効状態であるかを調べてANDゲート11
5により論理積をとり、その結果を制御回路150に入
力する。アドレス一致したエントリが有効状態であれ
ば、制御回路150はVB111の該当エントリを無効
状態に書換えることによりエントリの無効化をする。
いて説明する。DB112に格納されているデータと同
じアドレス領域に対して、ストア命令による書込みがあ
った場合には、OC108とDB112とで内容が一致
しなくなる可能性があり、正常な動作が継続できなくな
る。これを防止するため、ストア命令を検出してその書
込みアドレスをチェックする必要がある。IR101に
保持された命令がストア命令であった場合、PAR10
7に格納された絶対アドレスとPAB113の各エント
リの絶対アドレスとを、比較器115により比較する。
一致するものがあった場合には、VB111の対応する
エントリが有効状態であるかを調べてANDゲート11
5により論理積をとり、その結果を制御回路150に入
力する。アドレス一致したエントリが有効状態であれ
ば、制御回路150はVB111の該当エントリを無効
状態に書換えることによりエントリの無効化をする。
【0013】また同様に、論理アドレス空間が切り替わ
った場合にもLAB110とDB112の論理的な対応
関係が無くなるため、LAB110等のエントリの無効
化処理が必要となる。この場合には、論理アドレス空間
の切り替わりが(図示していない)パイプライン下位ス
テージからの論理アドレス空間切替信号119により制
御回路150に伝えられ、制御回路150によりVB1
11の全エントリの無効化が行われる。
った場合にもLAB110とDB112の論理的な対応
関係が無くなるため、LAB110等のエントリの無効
化処理が必要となる。この場合には、論理アドレス空間
の切り替わりが(図示していない)パイプライン下位ス
テージからの論理アドレス空間切替信号119により制
御回路150に伝えられ、制御回路150によりVB1
11の全エントリの無効化が行われる。
【0014】次に、LAB110等に有効報が記憶され
ている状態で新たな間接アドレス指定命令を処理する場
合の動作について説明する。
ている状態で新たな間接アドレス指定命令を処理する場
合の動作について説明する。
【0015】AD104で生成されたオペランドの論理
アドレス(間接アドレス)は、比較器114でLAB1
10の全エントリと比較される。一致が検出された場合
には、比較器114の出力とそれぞれ対応するエントリ
のVB111の値とがANDゲート116で論理積がと
られ、その出力が制御回路150に送られる。また、こ
のときANDゲート117の出力の反転もANDゲート
116にて論理積がとられる。これは、ストア命令によ
る書換えを検出してから制御回路150によってVB1
11の無効化処理が完了する迄の間の、LAB110の
該当するエントリの無効性を保証するためである。この
処理に於いてAD104の出力がLAB110に格納さ
れている有効な間接アドレスのいずれかと一致すると、
ANDゲート116の出力から制御回路150を介して
エンコーダ118でDB112のエントリ番号を生成す
る。このエントリ番号を用いて得られるDB112の出
力が、AD104の出力(間接アドレス)に対応する実
効アドレスである。このようにして得られた実効アドレ
スは、制御回路150による制御に基づき、セレクタ1
21を介してLAR105に保持される。その後このア
ドレスはTLB106により物理アドレスに変換され
て、さらにその物理アドレスでOC108をアクセスす
ることにより所望のデータを得ることができる。
アドレス(間接アドレス)は、比較器114でLAB1
10の全エントリと比較される。一致が検出された場合
には、比較器114の出力とそれぞれ対応するエントリ
のVB111の値とがANDゲート116で論理積がと
られ、その出力が制御回路150に送られる。また、こ
のときANDゲート117の出力の反転もANDゲート
116にて論理積がとられる。これは、ストア命令によ
る書換えを検出してから制御回路150によってVB1
11の無効化処理が完了する迄の間の、LAB110の
該当するエントリの無効性を保証するためである。この
処理に於いてAD104の出力がLAB110に格納さ
れている有効な間接アドレスのいずれかと一致すると、
ANDゲート116の出力から制御回路150を介して
エンコーダ118でDB112のエントリ番号を生成す
る。このエントリ番号を用いて得られるDB112の出
力が、AD104の出力(間接アドレス)に対応する実
効アドレスである。このようにして得られた実効アドレ
スは、制御回路150による制御に基づき、セレクタ1
21を介してLAR105に保持される。その後このア
ドレスはTLB106により物理アドレスに変換され
て、さらにその物理アドレスでOC108をアクセスす
ることにより所望のデータを得ることができる。
【0016】以上説明したように本願第1の発明では、
間接アドレス指定を伴う命令において、過去に生成され
た実効アドレスを保持しておくことにより、間接アドレ
スから実効アドレスを生成する処理を高速化して、間接
アドレス指定を伴う命令の処理を高速化する。
間接アドレス指定を伴う命令において、過去に生成され
た実効アドレスを保持しておくことにより、間接アドレ
スから実効アドレスを生成する処理を高速化して、間接
アドレス指定を伴う命令の処理を高速化する。
【0017】次に本願第2の発明について図面を参照し
て説明する。
て説明する。
【0018】図2は本願第2の発明の一実施例を示す情
報処理装置のブロック図である。構成上は図1のものと
ほぼ一致しており、AD104の出力側にあったセレク
タ121が、AD204の入力側にセレクタ221およ
び222として構成されている点が異なっている。ま
た、制御回路250は、ANDゲート216の出力、A
NDゲート217の出力もしくはパイプライン下位ステ
ージからの論理アドレス空間切替指示信号219を基に
VB211の登録および無効化を行い、また、制御信号
223によりセレクタ221もしくは222の制御を行
う点では図1の制御回路150と同様であるが、後述す
るようにANDゲート216の出力を基にエンコーダ2
18に一致信号224を出力する際にそのタイミングを
遅らせる点が異なっている。これは、第1の発明が自命
令のオペランドを読み出すのに対し、第2の発明は後続
命令のオペランドを読み出すためである。
報処理装置のブロック図である。構成上は図1のものと
ほぼ一致しており、AD104の出力側にあったセレク
タ121が、AD204の入力側にセレクタ221およ
び222として構成されている点が異なっている。ま
た、制御回路250は、ANDゲート216の出力、A
NDゲート217の出力もしくはパイプライン下位ステ
ージからの論理アドレス空間切替指示信号219を基に
VB211の登録および無効化を行い、また、制御信号
223によりセレクタ221もしくは222の制御を行
う点では図1の制御回路150と同様であるが、後述す
るようにANDゲート216の出力を基にエンコーダ2
18に一致信号224を出力する際にそのタイミングを
遅らせる点が異なっている。これは、第1の発明が自命
令のオペランドを読み出すのに対し、第2の発明は後続
命令のオペランドを読み出すためである。
【0019】IR201の命令がアドレス生成を伴う命
令である場合、命令後の所定のフィールドの索引番号を
基にBR202とXR203を読み出し、ディスプレー
スメントと共にAD204で論理アドレス生成に使用さ
れることは、既に述べたとおりである。本願第2の発明
では、このBR202もしくはXR203の読出しにあ
たって、その値がまだ確定していない状態であるとき、
これを先読みすることによって処理を高速化する。すな
わち、従来のパイプライン構成による情報処理装置で
は、先行するロード命令の結果をベースレジスタやイン
デックスレジスタにロードして、それらの値を後続のア
ドレス生成を伴う命令がアドレス生成に使用するもので
ある場合、そのアドレス生成を伴う命令は先行するロー
ド命令の結果が確定するまで処理を中断することにな
り、性能低下の原因になっていた。本願第2の発明で
は、このような場合に備えて、過去にベースレジスタや
インデックスレジスタにロードされた値の履歴をLAB
210、PAB213、DB212、およびVB211
に保存しておく。これによって、次にベースレジスタや
インデックスレジスタに対してロード命令が出現した際
に、その保存しておいた履歴中に所望の値があればこれ
を用いることによってアドレス生成の高速化を行う。
令である場合、命令後の所定のフィールドの索引番号を
基にBR202とXR203を読み出し、ディスプレー
スメントと共にAD204で論理アドレス生成に使用さ
れることは、既に述べたとおりである。本願第2の発明
では、このBR202もしくはXR203の読出しにあ
たって、その値がまだ確定していない状態であるとき、
これを先読みすることによって処理を高速化する。すな
わち、従来のパイプライン構成による情報処理装置で
は、先行するロード命令の結果をベースレジスタやイン
デックスレジスタにロードして、それらの値を後続のア
ドレス生成を伴う命令がアドレス生成に使用するもので
ある場合、そのアドレス生成を伴う命令は先行するロー
ド命令の結果が確定するまで処理を中断することにな
り、性能低下の原因になっていた。本願第2の発明で
は、このような場合に備えて、過去にベースレジスタや
インデックスレジスタにロードされた値の履歴をLAB
210、PAB213、DB212、およびVB211
に保存しておく。これによって、次にベースレジスタや
インデックスレジスタに対してロード命令が出現した際
に、その保存しておいた履歴中に所望の値があればこれ
を用いることによってアドレス生成の高速化を行う。
【0020】上記LAB210等へのエントリ登録動作
について説明する。IR201に保持された命令がロー
ド命令であった場合、AD204で生成されたアドレス
はLAB210に登録される。この際の制御回路250
による制御は、本願第1の発明の制御回路150と同様
である。その後TLB206による物理アドレスへの変
換、OC208によるデータフェッチを経て、ロード命
令のオペランドがDR209に保持される。そして、L
AB210と同じエントリ番号を用いてDB212にD
R209の値が格納される。
について説明する。IR201に保持された命令がロー
ド命令であった場合、AD204で生成されたアドレス
はLAB210に登録される。この際の制御回路250
による制御は、本願第1の発明の制御回路150と同様
である。その後TLB206による物理アドレスへの変
換、OC208によるデータフェッチを経て、ロード命
令のオペランドがDR209に保持される。そして、L
AB210と同じエントリ番号を用いてDB212にD
R209の値が格納される。
【0021】一方、LAB210等のエントリ無効化動
作については本願第1の発明について説明したとおりで
ある。
作については本願第1の発明について説明したとおりで
ある。
【0022】次に、LAB210等に有効な情報が記憶
されている状態でアドレス生成を伴う命令を処理する場
合の動作について説明する。
されている状態でアドレス生成を伴う命令を処理する場
合の動作について説明する。
【0023】まず、オペランドアドレスに使用され得る
レジスタを更新するロード命令がIR201に保持され
ると、AD204の出力を比較器214でLAB210
の全エントリと比較する。一致が検出された場合には、
比較器214の出力とそれぞれ対応するエントリのVB
211の値とがANDゲート216で論理積がとられ、
その出力が制御回路250に送られる。また、このとき
ANDゲート217の出力の反転もANDゲート216
にて論理積がとられる。これは、ストア命令による書換
えを検出してから制御回路250によってVB211の
無効化処理が完了する迄の間の、LAB210の該当す
るエントリの無効性を保障するためである。この処理に
おいてAD204の出力がLAB210に格納されてい
る有効な論理アドレスのいずれかと一致すると、その一
致した状態が制御回路250にて記憶される。
レジスタを更新するロード命令がIR201に保持され
ると、AD204の出力を比較器214でLAB210
の全エントリと比較する。一致が検出された場合には、
比較器214の出力とそれぞれ対応するエントリのVB
211の値とがANDゲート216で論理積がとられ、
その出力が制御回路250に送られる。また、このとき
ANDゲート217の出力の反転もANDゲート216
にて論理積がとられる。これは、ストア命令による書換
えを検出してから制御回路250によってVB211の
無効化処理が完了する迄の間の、LAB210の該当す
るエントリの無効性を保障するためである。この処理に
おいてAD204の出力がLAB210に格納されてい
る有効な論理アドレスのいずれかと一致すると、その一
致した状態が制御回路250にて記憶される。
【0024】その後、アドレス生成用レジスタが更新状
態にある命令がIR201に格納されると、制御回路2
50が前述の一致状態に基づいて一致信号224を出力
し、これによりエンコーダ218がエントリ番号を生成
する。このエントリ番号によりDB212からデータが
取り出され、セレクタ221ならびに222に入力され
る。このとき制御回路250によりバイパスする対象が
ベースレジスタであればセレクタ221に於いてDB2
12の出力を選択するように、もしくはバイパスする対
象がインデックスレジスタであればセレクタ222に於
いてDB212の出力を選択するよう選択信号223が
出力され、AD204にDB212の出力が、アドレス
生成用データとして入力される。
態にある命令がIR201に格納されると、制御回路2
50が前述の一致状態に基づいて一致信号224を出力
し、これによりエンコーダ218がエントリ番号を生成
する。このエントリ番号によりDB212からデータが
取り出され、セレクタ221ならびに222に入力され
る。このとき制御回路250によりバイパスする対象が
ベースレジスタであればセレクタ221に於いてDB2
12の出力を選択するように、もしくはバイパスする対
象がインデックスレジスタであればセレクタ222に於
いてDB212の出力を選択するよう選択信号223が
出力され、AD204にDB212の出力が、アドレス
生成用データとして入力される。
【0025】以上説明したように本願第2の発明では、
過去にベースレジスタやインデックスレジスタにロード
された値の履歴を保存しておくことにより、次にベース
レジスタやインデックスレジスタに対してロード命令が
出現した際に、保存しておいた履歴中の値を用いること
によって後続するアドレス生成を伴う命令を高速化する
ことができる。
過去にベースレジスタやインデックスレジスタにロード
された値の履歴を保存しておくことにより、次にベース
レジスタやインデックスレジスタに対してロード命令が
出現した際に、保存しておいた履歴中の値を用いること
によって後続するアドレス生成を伴う命令を高速化する
ことができる。
【0026】なお、本願においては第1の発明と第2の
発明とを分けて説明したが、アドレス加算器の前後にセ
レクタを配置し、第1の発明と第2の発明を同時に構成
できることがいうまでもない。
発明とを分けて説明したが、アドレス加算器の前後にセ
レクタを配置し、第1の発明と第2の発明を同時に構成
できることがいうまでもない。
【0027】
【発明の効果】以上説明したように本願第1の発明は、
間接アドレス指定を伴う命令を処理する際、過去に生成
された実効アドレスを保存しておくことにより、間接ア
ドレスから実効アドレスを生成する処理を高速化して、
間接アドレス指定を伴う命令の処理を高速化することが
できる。また、本願第2の発明は、過去にベースレジス
タやインデックスレジスタにロードされた値の履歴を保
存しておくことにより、次にベースレジスタやインデッ
クスレジスタに対してロード命令が出現した際に、保存
しておいた履歴中の値を用いることによって、そのロー
ド命令に後続するアドレス生成を伴う命令を高速化する
ことができる。
間接アドレス指定を伴う命令を処理する際、過去に生成
された実効アドレスを保存しておくことにより、間接ア
ドレスから実効アドレスを生成する処理を高速化して、
間接アドレス指定を伴う命令の処理を高速化することが
できる。また、本願第2の発明は、過去にベースレジス
タやインデックスレジスタにロードされた値の履歴を保
存しておくことにより、次にベースレジスタやインデッ
クスレジスタに対してロード命令が出現した際に、保存
しておいた履歴中の値を用いることによって、そのロー
ド命令に後続するアドレス生成を伴う命令を高速化する
ことができる。
【図1】本願第1の発明の一実施例による情報処理装置
のブロック図である。
のブロック図である。
【図2】本願第2の発明の一実施例による情報処理装置
のブロック図である。
のブロック図である。
101 命令レジスタIR 102 ベースレジスタBR 103 インデックスレジスタXR 104 アドレス加算器AD 105 実効アドレスレジスタLAR 106 アドレス変換バッファTLB 107 絶対アドレスレジスタPAR 108 オペランドキャッシュOC 109 データレジスタDR 110 間接アドレスバッファLAB 111 有効指示バッファVB 112 データバッファDB 113 絶対アドレスバッファPAB 114,115 比較器 116,117 ANDゲート 118 エンコーダ 119 論理アドレス空間切替指示信号 120 エントリ登録・無効化指示信号 121 セレクタ 122 選択信号 150 制御回路 201 命令レジスタIR 202 ベースレジスタBR 203 インデックレジスタXR 204 アドレス加算器AD 205 実効アドレスレジスタLAR 206 アドレス変換バッファTLB 207 絶対アドレスレジスタPAR 208 オペランドキャッシュOC 209 データレジスタDR 210 論理アドレスバッファLAB 211 有効指示バッファVB 212 データバッファDB 213 絶対アドレスバッファPAB 214,215 比較器 216,217 ANDゲート 218 エンコーダ 219 論理アドレス空間切替指示信号 220 エントリ登録・無効化指示信号 221,222 セレクタ 223 選択信号 224 一致信号線 250 制御回路
Claims (7)
- 【請求項1】 論理アドレスを生成する論理アドレス生
成手段と、 この論理アドレス生成手段により生成された論理アドレ
スを格納する論理アドレス格納手段と、 前記論理アドレス生成手段により生成された論理アドレ
スを物理アドレスに変換するアドレス変換手段と、 このアドレス変換手段が出力する物理アドレスでアクセ
スされる記憶手段と、 この記憶手段から読み出されたデータを前記論理アドレ
ス格納手段に格納された論理アドレスと対応づけて格納
するデータ格納手段と、 前記アドレス生成手段により生成された論理アドレスが
前記論理アドレス格納手段に登録されていることを検出
する論理アドレス一致検出手段と、 先行するロード命令の結果が後続する命令の論理アドレ
スの生成に使用され、かつ、該ロード命令によりアクセ
スされる論理アドレスが前記論理アドレス格納手段に登
録されていることが前記論理アドレス一致検出手段によ
り検出されたときに、この論理アドレスに対応するデー
タを前記データ格納手段から読み出し、このデータを前
記論理アドレス生成手段に供給する選択手段とを含むこ
とを特徴とする情報処理装置。 - 【請求項2】 前記論理アドレス生成手段にベースアド
レスを供給するベースレジスタを含み、前記選択手段が
前記データ格納手段から読み出したデータを前記ベース
レジスタに供給することを特徴とする請求項1記載の情
報処理装置。 - 【請求項3】 前記論理アドレス生成手段にインデック
スアドレスを供給するインデックスレジスタを含み、前
記選択手段が前記データ格納手段から読み出したデータ
を前記インデックスレジスタに供給することを特徴とす
る請求項1記載の情報処理装置。 - 【請求項4】 前記論理アドレス格納手段に登録された
論理アドレスのデータがストア命令によって書き換えら
れたときに、該論理アドレスの登録を無効化する無効化
手段を含むことを特徴とする請求項1記載の情報処理装
置。 - 【請求項5】 前記無効化手段が、 前記論理アドレス格納手段に格納された論理アドレスに
対応する物理アドレスを格納する物理アドレス格納手段
と、 ストア命令の物理アドレスが前記物理アドレス格納手段
に登録されていることを検出する物理アドレス検出手段
と、 この物理アドレス検出手段によりストア命令の物理アド
レスが前記物理アドレス格納手段に登録されていること
が検出されたときに、この物理アドレスに対応する前記
論理アドレス格納手段内の論理アドレスを無効化する手
段とを含むことを特徴とする請求項4記載の情報処理装
置。 - 【請求項6】 論理アドレス空間が切り替わったときに
前記論理アドレス格納手段内に登録された論理アドレス
を無効化する無効化手段を含むことを特徴とする請求項
1記載の情報処理装置。 - 【請求項7】 前記選択手段が、前記後続の命令の論理
アドレスが前記論理アドレス生成手段で生成されるタイ
ミングで、前記データ格納手段内のデータを前記論理ア
ドレス生成手段に供給することを特徴とする請求項1記
載の情報処理
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5175271A JP2621763B2 (ja) | 1993-07-15 | 1993-07-15 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5175271A JP2621763B2 (ja) | 1993-07-15 | 1993-07-15 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0736693A JPH0736693A (ja) | 1995-02-07 |
JP2621763B2 true JP2621763B2 (ja) | 1997-06-18 |
Family
ID=15993230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5175271A Expired - Fee Related JP2621763B2 (ja) | 1993-07-15 | 1993-07-15 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2621763B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3499135B2 (ja) * | 1998-06-29 | 2004-02-23 | 富士通株式会社 | 情報処理装置 |
WO2001042927A1 (fr) * | 1999-12-09 | 2001-06-14 | Fujitsu Limited | Dispositif d'acces memoire et methode utilisant une table d'historique des traductions d'adresses |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63145533A (ja) * | 1986-12-09 | 1988-06-17 | Nec Corp | 情報処理装置 |
JPH03257627A (ja) * | 1990-03-08 | 1991-11-18 | Koufu Nippon Denki Kk | 情報処理装置 |
-
1993
- 1993-07-15 JP JP5175271A patent/JP2621763B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0736693A (ja) | 1995-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR960001946B1 (ko) | 우선 변환 참조버퍼 | |
US5247639A (en) | Microprocessor having cache bypass signal terminal | |
JP3045952B2 (ja) | フルアソシアティブ・アドレス変換器 | |
KR100354465B1 (ko) | 어드레스 변환 회로 | |
US5539892A (en) | Address translation lookaside buffer replacement apparatus and method with user override | |
US5226132A (en) | Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system | |
US4618926A (en) | Buffer storage control system | |
US5206945A (en) | Single-chip pipeline processor for fetching/flushing instruction/data caches in response to first/second hit/mishit signal respectively detected in corresponding to their logical addresses | |
US5381532A (en) | Microprocessor having branch aligner between branch buffer and instruction decoder unit for enhancing initiation of data processing after execution of conditional branch instruction | |
JP2621763B2 (ja) | 情報処理装置 | |
JP2954178B1 (ja) | 可変式キャッシュ方式 | |
US5724548A (en) | System including processor and cache memory and method of controlling the cache memory | |
US5649155A (en) | Cache memory accessed by continuation requests | |
JP2771374B2 (ja) | プロセッサのページ越処理方式 | |
US5510973A (en) | Buffer storage control system | |
US4853889A (en) | Arrangement and method for speeding the operation of branch instructions | |
US5426749A (en) | Buffer control system using synonymic line address to retrieve second tag portion for fetch and store accesses while first tag portion is invalidated | |
US5349672A (en) | Data processor having logical address memories and purge capabilities | |
JPS623354A (ja) | キヤツシユメモリ・アクセス方式 | |
JP3476376B2 (ja) | 仮想記憶アドレス空間アクセス制御方法とそのための装置 | |
JP2507785B2 (ja) | ペ―ジテ―ブルエントリ無効化装置 | |
JPH01177145A (ja) | 情報処理装置 | |
JPH0650481B2 (ja) | データ処理装置 | |
JPH07191911A (ja) | アドレス変換装置及びマイクロプロセッサ算出方法 | |
JPH08137756A (ja) | アドレス変換バッファ機構 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19970128 |
|
LAPS | Cancellation because of no payment of annual fees |