JPH03218526A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH03218526A JPH03218526A JP2309994A JP30999490A JPH03218526A JP H03218526 A JPH03218526 A JP H03218526A JP 2309994 A JP2309994 A JP 2309994A JP 30999490 A JP30999490 A JP 30999490A JP H03218526 A JPH03218526 A JP H03218526A
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- instruction
- immediate
- bus
- 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.)
- Granted
Links
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、電子計算機を用いた情報処理装置に関する
ものである。
ものである。
第5図は従来の情報処理装置のブロック図を示すもので
ある。第5図において、101は命令の解読を行う命令
解読部、102は連続する命令間におけるレジスタの干
渉を検出するレジスタ干渉検出部、103は複数のレジ
スタから構成され、32ビットの0データを保持する0
レジスタを持ったレジスタ部、104は整数演算部、1
05はデータキャッシュ(図示せず)との間のデータの
転送を司るデータ転送コントロール部、501はデータ
アドレスを生成するデータアドレス生成部である。1)
0は命令を転送する命令バス、1)1は即値データを転
送する32ビットの即値データパス、1)2は32ビッ
トの第1内部データパス、1)3は32ビットの第2内
部データパス、1)4は32ビットの第3内部データパ
ス、1)5は32ビットのデータアドレスバス、1)6
はデータキャッシュに転送する32ビットのストアデー
タバス、1)7はデータキャッシュから転送される32
ビットのロードデータバス、1)8は命令解読部101
から送出される制御信号てある。
ある。第5図において、101は命令の解読を行う命令
解読部、102は連続する命令間におけるレジスタの干
渉を検出するレジスタ干渉検出部、103は複数のレジ
スタから構成され、32ビットの0データを保持する0
レジスタを持ったレジスタ部、104は整数演算部、1
05はデータキャッシュ(図示せず)との間のデータの
転送を司るデータ転送コントロール部、501はデータ
アドレスを生成するデータアドレス生成部である。1)
0は命令を転送する命令バス、1)1は即値データを転
送する32ビットの即値データパス、1)2は32ビッ
トの第1内部データパス、1)3は32ビットの第2内
部データパス、1)4は32ビットの第3内部データパ
ス、1)5は32ビットのデータアドレスバス、1)6
はデータキャッシュに転送する32ビットのストアデー
タバス、1)7はデータキャッシュから転送される32
ビットのロードデータバス、1)8は命令解読部101
から送出される制御信号てある。
第6図は、第5図における従来の情報処理装置のデータ
アドレス生成部501の内部構成を示すブロック図であ
る。第6図において、601と203は32ビットのマ
ルチプレクサ、202は32ビットの加算器、204は
32ビットのフィードバックラッチである。1)1は3
2ビットの即値データパス、1)2は32ビットの第1
内部データパス、1)3は32ビットの第2内部データ
パスであり、それぞれ第5図における同名のバスに対応
する。210はマルチプレクサ601の出力で加算器2
02に入力する32ビットのデータパス、21)は加算
器202の出力で加算結果出力バスである。1)5はデ
ータアドレスバスて、第5図におけるデータアドレスバ
ス1)5に対応する。212はフィードバックラッチ2
04に保持されたlクロック前のデータアドレスバス1
)5のデータを出力するホールドデータバスである。2
13および214は、それぞれマルチプレクサ601.
203のセレクト条件を指示するデータセレクト信号
およびアドレスホールド信号であり、ともに第5図にお
ける制御信号1)8の一部である。
アドレス生成部501の内部構成を示すブロック図であ
る。第6図において、601と203は32ビットのマ
ルチプレクサ、202は32ビットの加算器、204は
32ビットのフィードバックラッチである。1)1は3
2ビットの即値データパス、1)2は32ビットの第1
内部データパス、1)3は32ビットの第2内部データ
パスであり、それぞれ第5図における同名のバスに対応
する。210はマルチプレクサ601の出力で加算器2
02に入力する32ビットのデータパス、21)は加算
器202の出力で加算結果出力バスである。1)5はデ
ータアドレスバスて、第5図におけるデータアドレスバ
ス1)5に対応する。212はフィードバックラッチ2
04に保持されたlクロック前のデータアドレスバス1
)5のデータを出力するホールドデータバスである。2
13および214は、それぞれマルチプレクサ601.
203のセレクト条件を指示するデータセレクト信号
およびアドレスホールド信号であり、ともに第5図にお
ける制御信号1)8の一部である。
以上のように構成された従来の情報処理装置の動作につ
いて以下説明する。
いて以下説明する。
この従来の情報処理装置は、4段のパイプライン構成を
とり、演算は2つの32ビットレジスタのデータ間での
み行い、結果を再びレジスタに格納するレジスタ間演算
をとり、メモリとのデータのやりとりは、メモリとレジ
スタとの間でのみ行うロード・ストアアーキテクチャを
とった情報処理装置である。
とり、演算は2つの32ビットレジスタのデータ間での
み行い、結果を再びレジスタに格納するレジスタ間演算
をとり、メモリとのデータのやりとりは、メモリとレジ
スタとの間でのみ行うロード・ストアアーキテクチャを
とった情報処理装置である。
第7図は従来の情報処理装置の演算命令の動作を示すタ
イミング図である。第7図において、CI,C2等は従
来の情報処理装置の処理サイクルを、A. Bは処理
される演算命令を表す。
イミング図である。第7図において、CI,C2等は従
来の情報処理装置の処理サイクルを、A. Bは処理
される演算命令を表す。
まず、第5図と第7図を用いて従来の情報処理装置の演
算命令の動作を説明する。
算命令の動作を説明する。
CIサイクル.
演算命令Aをフェッチし、命令バス1)0に送出する。
C2サイクル:
命令バス1)0に送出された演算命令Aを命令解読部1
01が解読する。命令解読部101は、解読した命令に
応じた制御情報を制御信号1)8として送出するが、こ
こで演算命令Aの種類により以下に示す2種類の処理に
分かれる。
01が解読する。命令解読部101は、解読した命令に
応じた制御情報を制御信号1)8として送出するが、こ
こで演算命令Aの種類により以下に示す2種類の処理に
分かれる。
(1)演算命令Aか2つの32ビットレジスタのデータ
間の演算の場合 レジスタ部103は制御信号1)8で指定された2つの
32ビットのレジスタのデータをそれぞれ第1内部デー
タバスl12,第2内部データバス1)3に送出する。
間の演算の場合 レジスタ部103は制御信号1)8で指定された2つの
32ビットのレジスタのデータをそれぞれ第1内部デー
タバスl12,第2内部データバス1)3に送出する。
(2)演算命令Aがその命令に指定された即値デ−タを
特定のレジスタに設定する命令の場合命令解読部101
は、即値データを即値データバス1)1に送出する。ま
た、レジスタ部103は、制陣信号1)8で指定された
32ビットの0レジスタのデータを第1内部データバス
1)2に送出する。
特定のレジスタに設定する命令の場合命令解読部101
は、即値データを即値データバス1)1に送出する。ま
た、レジスタ部103は、制陣信号1)8で指定された
32ビットの0レジスタのデータを第1内部データバス
1)2に送出する。
また、演算命令Bをフェッチし、命令バス1)0に送出
する。
する。
C3サイクル:
整数演算部104は、C2サイクルで命令解読部101
が送出した制御信号1)8で指定された演算を実行する
。この時、この演算に使用されるデータはC2サイクル
で説明した2種類の場合で異なる。
が送出した制御信号1)8で指定された演算を実行する
。この時、この演算に使用されるデータはC2サイクル
で説明した2種類の場合で異なる。
(1) 演算命令Aが2つの32ビットレジスタのデ
ータ間の演算の場合 整数演算部104は、C2サイクルでレジスタ部103
が第1内部データバス1)2および第2内部データバス
1)3に送出したデータを入力し、演算を実行する。演
算終了後、演算結果を32ビットの第3内部データバス
1)4に送出する。
ータ間の演算の場合 整数演算部104は、C2サイクルでレジスタ部103
が第1内部データバス1)2および第2内部データバス
1)3に送出したデータを入力し、演算を実行する。演
算終了後、演算結果を32ビットの第3内部データバス
1)4に送出する。
(2)演算命令Aがその命令に指定された即値デ−タを
特定のレジスタに設定する命令の場合整数演算部104
は、C2サイクルで命令解読部101が即値データバス
1)1に送出した即値データを入力し、レジスタ部10
3が第1内部データバス1)2に送出したOとの加算を
実行する。演算終了後、演算結果を32ビットの第3内
部データバス1)4に送出する。
特定のレジスタに設定する命令の場合整数演算部104
は、C2サイクルで命令解読部101が即値データバス
1)1に送出した即値データを入力し、レジスタ部10
3が第1内部データバス1)2に送出したOとの加算を
実行する。演算終了後、演算結果を32ビットの第3内
部データバス1)4に送出する。
演算命令Bに対する処理はC2サイクルにおける演算命
令Aの場合と同様であるため、詳細な説明は省略する。
令Aの場合と同様であるため、詳細な説明は省略する。
C4サイクル:
レジスタ部103は、C3サイクルで整数演算部104
か第3内部データバス1)4に送出したデータを02サ
イクルで制御信号1)8で指定されたレジスタへ格納す
る。
か第3内部データバス1)4に送出したデータを02サ
イクルで制御信号1)8で指定されたレジスタへ格納す
る。
演算命令Bに対する処理はC3サイクルにおける演算命
令Aの場合と同様であるため、詳細な説明は省略する。
令Aの場合と同様であるため、詳細な説明は省略する。
つぎに、従来の情報処理装置のメモリアドレス計算を要
する命令の動作について説明する。例として、レジスタ
のデータをメモリに格納するストア命令を挙げる。
する命令の動作について説明する。例として、レジスタ
のデータをメモリに格納するストア命令を挙げる。
第8図と第9図は従来の情報処理装置のメモリへデータ
を格納するストア命令の動作を示すタイミング図である
。ここで、第8図はデータを格納するメモリアドレスの
計算に1つの32ビットのレジスタのデータとそのスト
ア命令に指定された即値データとの和をとる場合(以下
lクロツクストアと呼ぶ)を示し、第9図はデータを格
納するメモリアドレスの計算に2つの32ビットのレジ
スタのデータとの和をとる場合(以下2クロックストア
と呼ぶ)を示す。
を格納するストア命令の動作を示すタイミング図である
。ここで、第8図はデータを格納するメモリアドレスの
計算に1つの32ビットのレジスタのデータとそのスト
ア命令に指定された即値データとの和をとる場合(以下
lクロツクストアと呼ぶ)を示し、第9図はデータを格
納するメモリアドレスの計算に2つの32ビットのレジ
スタのデータとの和をとる場合(以下2クロックストア
と呼ぶ)を示す。
まず、第5図および第6図と第8図とを用いて従来の情
報処理装置の1クロックストアの動作を説明する。説明
の簡単のため、1クロ、ツタストア時のアドレス計算に
用いるレジスタのデータを(r 1) ,即値データを
(immA),ストアすべきレジスタのデータを(r2
)とする。
報処理装置の1クロックストアの動作を説明する。説明
の簡単のため、1クロ、ツタストア時のアドレス計算に
用いるレジスタのデータを(r 1) ,即値データを
(immA),ストアすべきレジスタのデータを(r2
)とする。
CIサイクル:
ストア命令Aをフェッチし、命令バス1)0に送出する
。
。
C2サイクル:
命令バス1)0に送出されたストア命令Aを命令解読部
101か解読する。命令解読部101は、制御情報を制
御信号1)8として送出し、即値データ(immA)を
即値データバス1)1に送出する。
101か解読する。命令解読部101は、制御情報を制
御信号1)8として送出し、即値データ(immA)を
即値データバス1)1に送出する。
また、レジスタ部103は、制御信号1)8で指定され
たメモリアドレス計算に用いる32ビットのレジスタの
データ(r1)を第2内部データバス1)3に送出し、
メモリに格納すべき32ビットのレジスタのデータ(r
2)を第1内部データバス1)2に送出する。
たメモリアドレス計算に用いる32ビットのレジスタの
データ(r1)を第2内部データバス1)3に送出し、
メモリに格納すべき32ビットのレジスタのデータ(r
2)を第1内部データバス1)2に送出する。
つぎに、データアドレス生成部501の動作について説
明する。マルチプレクサ601は、制御信号1)8とし
て送出されたデータセレクト信号213の情報により、
データパス210に即値データパス1)1の即値データ
(immA)を出力する。加算器202はそれぞれ32
ビットのデータパス210と第2内部データバス1)3
とに出力された即値データ(immA)とデータ(r1
)を加算し、結果を加算結果出力バス21)に出力する
。マルチプレクサ203は、制御信号1)8として送出
されたアドレスホールド信号214の情報により、デー
タアドレスバス1)5に加算結果出力バス21)のデー
タを出力する。こうして、データアドレスバス1)5に
ストアすべきデータのアドレス(immA)+(r1)
を送出する。
明する。マルチプレクサ601は、制御信号1)8とし
て送出されたデータセレクト信号213の情報により、
データパス210に即値データパス1)1の即値データ
(immA)を出力する。加算器202はそれぞれ32
ビットのデータパス210と第2内部データバス1)3
とに出力された即値データ(immA)とデータ(r1
)を加算し、結果を加算結果出力バス21)に出力する
。マルチプレクサ203は、制御信号1)8として送出
されたアドレスホールド信号214の情報により、デー
タアドレスバス1)5に加算結果出力バス21)のデー
タを出力する。こうして、データアドレスバス1)5に
ストアすべきデータのアドレス(immA)+(r1)
を送出する。
C3サイクル:
データアドレスバス1)5に送出されたアドレス(im
mA)+ (r 1)を用いデータキャッシュをアクセ
スする。ここでデータキャッシュはヒットすると仮定す
る。また、データ転送コントロール部105は第1内部
データバス1)2に送出されたデータ(r2)をラッチ
する。
mA)+ (r 1)を用いデータキャッシュをアクセ
スする。ここでデータキャッシュはヒットすると仮定す
る。また、データ転送コントロール部105は第1内部
データバス1)2に送出されたデータ(r2)をラッチ
する。
C4サイクル:
データ転送コントロール部105はC3サイクルでラッ
チしたデータ(r2)をストアデータバス1)6に送出
し、データキャッシュに格納する。
チしたデータ(r2)をストアデータバス1)6に送出
し、データキャッシュに格納する。
つぎに、第5図および第6図と第9図とを用い、従来の
情報処理装置の2クロックストアの動作を説明する。説
明の簡単のため、2クロツクストア時のアドレス計算に
用いるレジスタのデータを(r l)と(r 2) 、
ストアすべきレジスタのデータを(r3)とする。
情報処理装置の2クロックストアの動作を説明する。説
明の簡単のため、2クロツクストア時のアドレス計算に
用いるレジスタのデータを(r l)と(r 2) 、
ストアすべきレジスタのデータを(r3)とする。
CIサイクル:
ストア命令Aをフェッチし、命令バス1)0に送出する
。
。
C2サイクル:
命令バス1)0に送出されたストア命令Aを命令解読部
101が解読し、制御情報を制御信号1)8として送出
する。レジスタ部103は、制御信号1)8で指定され
たメモリアドレス計算に用いる2つの32ビットレジス
タのデータ(r 1) , (r 2)を第1内部デ
ータバス1)2と第2内部データバス1)3とに送出す
る。
101が解読し、制御情報を制御信号1)8として送出
する。レジスタ部103は、制御信号1)8で指定され
たメモリアドレス計算に用いる2つの32ビットレジス
タのデータ(r 1) , (r 2)を第1内部デ
ータバス1)2と第2内部データバス1)3とに送出す
る。
つぎに、データアトルス生成部501の動作について説
明する。マルチプレクサ601は、制御信号1)8とし
て送出されたデータセレクト信号213の情報により、
データバス210に第】内部データバス1)2のデータ
を出力する。加算器202は、それぞれ32ビットのデ
ータバス210と第2内部データバス1)3とに出力さ
れたデータ(r 1) .(r2)を加算し、結果を加
算結果出力バス21)に出力する。マルチプレクサ20
3は、制御信号1)8として送出されたアドレスホール
ド信号214の情報により、データアドレスバス1)5
に加算結果出力バス21)のデータを出力する。こうし
て、データアドレスバス1)5にストアすべきデータの
アドレス(r 1) +(r 2)を送出する。
明する。マルチプレクサ601は、制御信号1)8とし
て送出されたデータセレクト信号213の情報により、
データバス210に第】内部データバス1)2のデータ
を出力する。加算器202は、それぞれ32ビットのデ
ータバス210と第2内部データバス1)3とに出力さ
れたデータ(r 1) .(r2)を加算し、結果を加
算結果出力バス21)に出力する。マルチプレクサ20
3は、制御信号1)8として送出されたアドレスホール
ド信号214の情報により、データアドレスバス1)5
に加算結果出力バス21)のデータを出力する。こうし
て、データアドレスバス1)5にストアすべきデータの
アドレス(r 1) +(r 2)を送出する。
C3サイクル:
命令解読部101は、C2サイクルで解読したストア命
令Aが2クロックストアであったことから、2クロツク
ストアの2サイクル目の動作を示した制御情報を制御信
号1)8として送出する。
令Aが2クロックストアであったことから、2クロツク
ストアの2サイクル目の動作を示した制御情報を制御信
号1)8として送出する。
レジスタ部103は制御信号1)8に指定されたメモリ
に格納すべき32ビットレジスタのデータ(r3)を第
1内部データバス1)2に送出する。
に格納すべき32ビットレジスタのデータ(r3)を第
1内部データバス1)2に送出する。
データアドレス生成部501は、制御信号1)8として
送出されたアドレスホールド信号214の情報により、
C3サイクルで加算した結果をデータアドレスバス1)
5に送出し続けるために、ホールドデータバス212の
データ(r 1) +(r 2)がデータアドレスバス
1)5に出力するようにマルチプレクサ203を制御す
る。また、命令解読部101はC2サイクルで解読した
命令が2クロツクストアの命令であったことから、つぎ
の命令の解読を行わない(n o p)。
送出されたアドレスホールド信号214の情報により、
C3サイクルで加算した結果をデータアドレスバス1)
5に送出し続けるために、ホールドデータバス212の
データ(r 1) +(r 2)がデータアドレスバス
1)5に出力するようにマルチプレクサ203を制御す
る。また、命令解読部101はC2サイクルで解読した
命令が2クロツクストアの命令であったことから、つぎ
の命令の解読を行わない(n o p)。
C4サイクル:
データアドレスバス1)5に送出されたアドレス(r
1) + (r 2)を用いデータキャッシュをアクセ
スする。ここで、データキャッシュはヒットすると仮定
する。また、データ転送コントロール部105は第1内
部データバス1)2に送出されたデータ(r3)をラッ
チする。
1) + (r 2)を用いデータキャッシュをアクセ
スする。ここで、データキャッシュはヒットすると仮定
する。また、データ転送コントロール部105は第1内
部データバス1)2に送出されたデータ(r3)をラッ
チする。
C5サイクル:
データ転送コントロール部105は、C4サイクルでラ
ッチしたデータ(r3)をストアデータバス1)6に送
出し、データキャッシュに格納する。
ッチしたデータ(r3)をストアデータバス1)6に送
出し、データキャッシュに格納する。
以上説明したように、2クロックストア命令では3つの
レジスタのデータを必要とするため、その実行に5サイ
クル必要とする。このため、lサイクル分パイプライン
に空白ができる。
レジスタのデータを必要とするため、その実行に5サイ
クル必要とする。このため、lサイクル分パイプライン
に空白ができる。
つぎに、従来の情報処理装置の即値データを特定のレジ
スタに設定する演算命令とメモリアドレス計算を必要と
する命令とが連続し、かつ後続する命令のメモリアドレ
ス計算に用いるレジスタが、先行する演算命令で即値デ
ータを設定すべきレジスタと一致する場合について、そ
の動作を説明する。
スタに設定する演算命令とメモリアドレス計算を必要と
する命令とが連続し、かつ後続する命令のメモリアドレ
ス計算に用いるレジスタが、先行する演算命令で即値デ
ータを設定すべきレジスタと一致する場合について、そ
の動作を説明する。
メモリアドレス計算を必要とする命令の例として、スト
ア命令を挙げる。
ア命令を挙げる。
第10図と第1)図は、従来の情報処理装置の即値デー
タを特定のレジスタに設定する演算命令Aとストア命令
Bとが連続し、かつ後続するストア命令Bのメモリアド
レス計算に用いるレジスタが先行する演算命令Aて即値
データを設定すべきレジスタと一致する場合(レジスタ
干渉)の動作を示すタイミング図である。第lθ図はス
トア命令Bがlクロックストアの場合、第1)図はスト
ア命令Bが2クロツクストアの場合を表す。
タを特定のレジスタに設定する演算命令Aとストア命令
Bとが連続し、かつ後続するストア命令Bのメモリアド
レス計算に用いるレジスタが先行する演算命令Aて即値
データを設定すべきレジスタと一致する場合(レジスタ
干渉)の動作を示すタイミング図である。第lθ図はス
トア命令Bがlクロックストアの場合、第1)図はスト
ア命令Bが2クロツクストアの場合を表す。
第5図および第6図と第10図とを用い、従来の情報処
理装置の即値データを特定のレジスタに設定する演算命
令Aと1クロックストア命令Bとか連続し、ストア命令
Bのメモリアドレス計算に用いるレジスタと先行する演
算命令Aで即値データを設定すべきレジスタとのレジス
タ干渉が発生する場合の動作について説明する。説明の
簡単のために干渉か発生するレジスタをrl、演算命令
八の即値データを(immA)、lクロックストア命令
Bのアドレス計算に用いる即値データを(immB)、
スト了すべきレジスタのデ.一夕を(r2)とする。
理装置の即値データを特定のレジスタに設定する演算命
令Aと1クロックストア命令Bとか連続し、ストア命令
Bのメモリアドレス計算に用いるレジスタと先行する演
算命令Aで即値データを設定すべきレジスタとのレジス
タ干渉が発生する場合の動作について説明する。説明の
簡単のために干渉か発生するレジスタをrl、演算命令
八の即値データを(immA)、lクロックストア命令
Bのアドレス計算に用いる即値データを(immB)、
スト了すべきレジスタのデ.一夕を(r2)とする。
C1サイクル:
(1) 演算命令Aに対する処理
演算命令Aをフエツチし、命令バス1)0に送出する。
C2サイクル:
(1) 演算命令Aに対する処理
命令バス1)0に送出された演算命令Aを命令解読部1
01が解読する。命令解読部101は、制御情報を制御
信号1)8として送出し、即値データ(immA)を即
値データバス1)1に送出する。
01が解読する。命令解読部101は、制御情報を制御
信号1)8として送出し、即値データ(immA)を即
値データバス1)1に送出する。
また、レジスタ部103は、制御信号1)8で指定され
た32ビットの0レジスタのデータを第1内部データバ
ス1)2に送出する。
た32ビットの0レジスタのデータを第1内部データバ
ス1)2に送出する。
(2)ストア命令Bに対する処理
ストア命令Bをフエツチし、命令バス1)0に送出する
。
。
C3サイクル:
(1) 演算命令Aに対する処理
整数演算部104は、C2サイクルで命令解読部101
が即値データバス1)1に送出した即値データ(imm
A)を入力し、レジスタ部103が第1内部データバス
1)2に送出した0との加算を実行する。演算終了後、
演算結果を32ビットの第3内部データバス1)4に送
出する。
が即値データバス1)1に送出した即値データ(imm
A)を入力し、レジスタ部103が第1内部データバス
1)2に送出した0との加算を実行する。演算終了後、
演算結果を32ビットの第3内部データバス1)4に送
出する。
(2)ストア命令Bに対する処理
命令バス1)0に送出されたストア命令Bを命令解読部
101が解読する。命令解読部101は、制御情報を制
御信号1)8として送出し、即値データ(immB)を
即値データバス1)1に送出する。
101が解読する。命令解読部101は、制御情報を制
御信号1)8として送出し、即値データ(immB)を
即値データバス1)1に送出する。
また、レジスタ部103は、制御信号!18で指定され
たメモリアドレス計算に用いる32ビットのレジスタの
データ(r1)を第2内部データバス1)3に送出し、
メモリに格納すべき32ビットのレジスタのデータ(r
2)を第1内部データバス1)2に送出する。ただし、
第2内部データバス1)3のデータ(r1)は演算命令
Aが終了していないため無効なデータである。前記の命
令解読部101の処理と並行してレジスタ干渉検出部1
02はストア命令Bのメモリアドレス計算に用いるレジ
スタr1と先行する演算命令Aで即値データを設定すべ
きレジスタr1とのレジスタ干渉を検出し、結果を命令
解読部101に通知する。
たメモリアドレス計算に用いる32ビットのレジスタの
データ(r1)を第2内部データバス1)3に送出し、
メモリに格納すべき32ビットのレジスタのデータ(r
2)を第1内部データバス1)2に送出する。ただし、
第2内部データバス1)3のデータ(r1)は演算命令
Aが終了していないため無効なデータである。前記の命
令解読部101の処理と並行してレジスタ干渉検出部1
02はストア命令Bのメモリアドレス計算に用いるレジ
スタr1と先行する演算命令Aで即値データを設定すべ
きレジスタr1とのレジスタ干渉を検出し、結果を命令
解読部101に通知する。
C4サイクル:
(1)演算命令Aに対する処理
レジスタ部103は、C3サイクルで整数演算部104
が第3内部データバス1)4に送出した即値データ(i
mmA)を02サイクルで制御信号1)8で指定された
レジスタr1へ格納する。
が第3内部データバス1)4に送出した即値データ(i
mmA)を02サイクルで制御信号1)8で指定された
レジスタr1へ格納する。
(2)ストア命令Bに対する処理
命令解読部1(1)は、レジスタ干渉検出部102か0
3サイクルでストア命令Bのレジスタrlの干渉を検出
したため、C3サイクルと同様にストア命令Bの解読を
続行し、制御情報を制御信号1)8として送出し、即値
データ(immB)を即値データバス1)1に送出する
。レジスタ部103は、制御信号1)8に指定されたメ
モリアドレス計算にルいる32ビットのレジスタのデー
タ(rl)を第2内部データバス1)3に送出し、メモ
リに格納すへき32ビットのレジスタのデータ(r2)
を第1内部データバス1)2に送出する。
3サイクルでストア命令Bのレジスタrlの干渉を検出
したため、C3サイクルと同様にストア命令Bの解読を
続行し、制御情報を制御信号1)8として送出し、即値
データ(immB)を即値データバス1)1に送出する
。レジスタ部103は、制御信号1)8に指定されたメ
モリアドレス計算にルいる32ビットのレジスタのデー
タ(rl)を第2内部データバス1)3に送出し、メモ
リに格納すへき32ビットのレジスタのデータ(r2)
を第1内部データバス1)2に送出する。
つぎに、データアドレス生成部501の動作について説
明する。マルチプレクサ601は、制御信号1)8とし
て送出されたデータセレクト信号213の情軸により、
データパス210に即値データバス1)1の即値データ
(immB)を出力する。加算器202は、それぞれ3
2ビットのデータパス210と第2内部データバス1)
3とに出力された即値データ(immB)およびデータ
(rl)を加算し、結果を加算結果出力バス21)に出
力する。マルチプレクサ203は制御信号1)8として
送出されたアドレスホールド信号214の情報により、
データアドレスバス1)5に加算結果出力バス21)の
データを出力する。こうして、データアドレスバス1)
5にストアすべきデータのアドレス(immB)+(r
1)を送出する。
明する。マルチプレクサ601は、制御信号1)8とし
て送出されたデータセレクト信号213の情軸により、
データパス210に即値データバス1)1の即値データ
(immB)を出力する。加算器202は、それぞれ3
2ビットのデータパス210と第2内部データバス1)
3とに出力された即値データ(immB)およびデータ
(rl)を加算し、結果を加算結果出力バス21)に出
力する。マルチプレクサ203は制御信号1)8として
送出されたアドレスホールド信号214の情報により、
データアドレスバス1)5に加算結果出力バス21)の
データを出力する。こうして、データアドレスバス1)
5にストアすべきデータのアドレス(immB)+(r
1)を送出する。
C5,C6サイクルの動作は、1クロックストアで説明
したC3,C4サイクルと同様であるため、説明は省略
する(第8図に関する説明を参照)。
したC3,C4サイクルと同様であるため、説明は省略
する(第8図に関する説明を参照)。
以上説明したように、1クロックストア命令Bのメモリ
アドレス計算に用いるレジスタrlと先行する演算命令
で即値データを設定すべきレジスタr1とのレジスタ干
渉が発生する場合は、1サイクル分パイプラインに空白
ができる。ここでは、メモリアドレス計算を要する命令
の例としてlクロックストア命令を挙げたが、他のメモ
リアドレス計算を要するロード命令や分岐命令等の命令
でも、前述の干渉が発生する場合には同じ理由により、
1サイクル分バイブラインに空白か発生する。
アドレス計算に用いるレジスタrlと先行する演算命令
で即値データを設定すべきレジスタr1とのレジスタ干
渉が発生する場合は、1サイクル分パイプラインに空白
ができる。ここでは、メモリアドレス計算を要する命令
の例としてlクロックストア命令を挙げたが、他のメモ
リアドレス計算を要するロード命令や分岐命令等の命令
でも、前述の干渉が発生する場合には同じ理由により、
1サイクル分バイブラインに空白か発生する。
同様に、2クロックストア命令Bのメモリアドレス計算
に用いるレジスタと先行する演算命令Aで即値データを
設定すべきレジスタとのレジスタ干渉が発生する場合に
は、2サイクル分パイプラインに空白ができる。この動
作については、lクロックストアが2クロックストアに
変化するだけであるため、詳細な説明は省略するが、第
1)図にそのタイミング図を示す。
に用いるレジスタと先行する演算命令Aで即値データを
設定すべきレジスタとのレジスタ干渉が発生する場合に
は、2サイクル分パイプラインに空白ができる。この動
作については、lクロックストアが2クロックストアに
変化するだけであるため、詳細な説明は省略するが、第
1)図にそのタイミング図を示す。
しかしながら、上記のような構成では、メモリアドレス
計算を必要とする命令のメモリアドレス計算に用いるレ
ジスタと先行する演算命令で即値データを設定すべきレ
ジスタとのレジスタ干渉か発生する場合は、1サイクル
分バイブラインに空白ができ、特に2クロックストア命
令のメモリアドレス計算に用いるレジスタと先行する演
算命令で即値データを設定すべきレジスタとのレジスタ
干渉が発生する場合は、2サイクル分パイプラインに空
白かできるという問題点を有していた。
計算を必要とする命令のメモリアドレス計算に用いるレ
ジスタと先行する演算命令で即値データを設定すべきレ
ジスタとのレジスタ干渉か発生する場合は、1サイクル
分バイブラインに空白ができ、特に2クロックストア命
令のメモリアドレス計算に用いるレジスタと先行する演
算命令で即値データを設定すべきレジスタとのレジスタ
干渉が発生する場合は、2サイクル分パイプラインに空
白かできるという問題点を有していた。
この発明の目的は、パイプラインの空白をなくし、高速
化を可能とした情報処理装置を提供することである。
化を可能とした情報処理装置を提供することである。
この発明の情報処理装置は、命令に指定された即値デー
タを保持する即値データラッチと、前記即値データラッ
チの出力を入力とする2つのマルチプレクサと、前記2
つのマルチプレクサの出力を加算する加算器と、連続す
る命令間のレジスタ干渉を検出するレジスタ干渉検出部
とを備え、即値データを特定のレジスタに格納する命令
とメモリアドレス計算を必要とする命令とが連続した際
、前記レジスタ干渉検出部が後続する命令でメモリアド
レス計算に用いるレジスタと先行する命令で即値データ
を格納するレジスタとの一致を検出すると、.前記加算
器が片方のマルチプレクサからの出力である前記即値デ
ータラッチが保持した先行する命令の即値データを使用
してメモリアドレス計算をする。
タを保持する即値データラッチと、前記即値データラッ
チの出力を入力とする2つのマルチプレクサと、前記2
つのマルチプレクサの出力を加算する加算器と、連続す
る命令間のレジスタ干渉を検出するレジスタ干渉検出部
とを備え、即値データを特定のレジスタに格納する命令
とメモリアドレス計算を必要とする命令とが連続した際
、前記レジスタ干渉検出部が後続する命令でメモリアド
レス計算に用いるレジスタと先行する命令で即値データ
を格納するレジスタとの一致を検出すると、.前記加算
器が片方のマルチプレクサからの出力である前記即値デ
ータラッチが保持した先行する命令の即値データを使用
してメモリアドレス計算をする。
また、この発明の情報処理装置は、命令に指定された即
値データを保持する即値データラッチと、前記即値デー
タラッチの出力を入力とする2つのマルチプレクサと、
前記2つのマルチプレクサの出力を加算する加算器と、
連続する命令間のレジスタ干渉を検出するレジスタ干渉
検出部とを備え、即値データを特定のレジスタに格納す
る命令と特定のレジスタのデータを、即値データと別の
レジスタのデータの和で指定されるアドレスのメモリに
格納する命令とが連続した際、前記レジスタ干渉検出部
が後続する命令でメモリアドレス計算に用いるレジスタ
と先行する命令で即値データを格納するレジスタとの一
致を検出すると、前記加算器が一方のマルチプレクサか
らの出力である前記即値データラッチか保持した先行す
る命令の即値データと他方のマルチプレクサからの出力
である後続する命令の即値データとを加算してアドレス
計算をする。
値データを保持する即値データラッチと、前記即値デー
タラッチの出力を入力とする2つのマルチプレクサと、
前記2つのマルチプレクサの出力を加算する加算器と、
連続する命令間のレジスタ干渉を検出するレジスタ干渉
検出部とを備え、即値データを特定のレジスタに格納す
る命令と特定のレジスタのデータを、即値データと別の
レジスタのデータの和で指定されるアドレスのメモリに
格納する命令とが連続した際、前記レジスタ干渉検出部
が後続する命令でメモリアドレス計算に用いるレジスタ
と先行する命令で即値データを格納するレジスタとの一
致を検出すると、前記加算器が一方のマルチプレクサか
らの出力である前記即値データラッチか保持した先行す
る命令の即値データと他方のマルチプレクサからの出力
である後続する命令の即値データとを加算してアドレス
計算をする。
さらに、この発明の情報処理装置は、命令に指定された
即値データを保持する即値データラッチと、前記即値デ
ータラッチの出力を入力とする2つのマルチプレクサと
、前記2つのマルチプレクサの出力を加算する加算器と
、連続する命令間のレジスタ干渉を検出するレジスタ干
渉検出部と、2つのレジスタのデータを同時に出力でき
る複数のレジスタからなるレジスタ部とを備え、即値デ
ータを特定のレジスタに格納する命令と、特定のレジス
タのデータを、他の2つのレジスタのデータの和で指定
されるアドレスのメモリに格納する命令とが連続した際
、前記レジスタ干渉検出部が後続する命令でメモリアド
レス計算に用いる一方のレジスタと先行する命令で即値
データを格納するレジスタとの一致を検出すると、前記
レジスタ部が一致しなかった他方のレジスタとメモリに
格納すべきレジスタのデータとを出力し、前記加算器が
一方のマルチプレクサから出力される前記即値データラ
ッチが保持した先行する命令の即値データと他方のマル
チプレクサから出力される後続する命令の一致しなかっ
た他方のレジスタのデータとを加算してメモリアドレス
計算をする。
即値データを保持する即値データラッチと、前記即値デ
ータラッチの出力を入力とする2つのマルチプレクサと
、前記2つのマルチプレクサの出力を加算する加算器と
、連続する命令間のレジスタ干渉を検出するレジスタ干
渉検出部と、2つのレジスタのデータを同時に出力でき
る複数のレジスタからなるレジスタ部とを備え、即値デ
ータを特定のレジスタに格納する命令と、特定のレジス
タのデータを、他の2つのレジスタのデータの和で指定
されるアドレスのメモリに格納する命令とが連続した際
、前記レジスタ干渉検出部が後続する命令でメモリアド
レス計算に用いる一方のレジスタと先行する命令で即値
データを格納するレジスタとの一致を検出すると、前記
レジスタ部が一致しなかった他方のレジスタとメモリに
格納すべきレジスタのデータとを出力し、前記加算器が
一方のマルチプレクサから出力される前記即値データラ
ッチが保持した先行する命令の即値データと他方のマル
チプレクサから出力される後続する命令の一致しなかっ
た他方のレジスタのデータとを加算してメモリアドレス
計算をする。
この発明は、前記した構成により、即値データを特定の
レジスタに格納する命令とメモリアドレス計算を必要と
する命令とが連続した際、前記レジスタ干渉検出部が後
続する命令でメモリアドレス計算に用いるレジスタと先
行する命令で即値データを格納するレジスタとの一致を
検出すると、前記加算器が一方のマルチプレクサからの
出力である前記即値データラッチが保持した先行する命
令の即値データを使用してメモリアドレス計算をする。
レジスタに格納する命令とメモリアドレス計算を必要と
する命令とが連続した際、前記レジスタ干渉検出部が後
続する命令でメモリアドレス計算に用いるレジスタと先
行する命令で即値データを格納するレジスタとの一致を
検出すると、前記加算器が一方のマルチプレクサからの
出力である前記即値データラッチが保持した先行する命
令の即値データを使用してメモリアドレス計算をする。
またこの発明は、即値データを特定のレジスタに格納す
る命令と特定のレジスタのデータを即値データと別のレ
ジスタのデータの和で指定されるアドレスのメモリに格
納する命令とか連続した際、前記レジスタ干渉検出部が
後続する命令でメモリアドレス計算に用いるレジスタと
先行する命令で即値データを格納するレジスタとの一致
を検出すると、前記加算器が一方のマルチプレクサから
の出力である前記即値データラッチが保持した先行する
命令の即値データと他方のマルチプレクサからの出力で
ある後続する命令の即値データとを加算してアドレス計
算をする。
る命令と特定のレジスタのデータを即値データと別のレ
ジスタのデータの和で指定されるアドレスのメモリに格
納する命令とか連続した際、前記レジスタ干渉検出部が
後続する命令でメモリアドレス計算に用いるレジスタと
先行する命令で即値データを格納するレジスタとの一致
を検出すると、前記加算器が一方のマルチプレクサから
の出力である前記即値データラッチが保持した先行する
命令の即値データと他方のマルチプレクサからの出力で
ある後続する命令の即値データとを加算してアドレス計
算をする。
さらにまたこの発明は、即値データを特定のレジスタに
格納する命令と、特定のレジスタのデータを他の2つの
レジスタのデータの和て指定されるアドレスのメモリに
格納する命令とが連続した際、前記レジスタ干渉検出部
か後続する命令でメモリアドレス計算に用いる一方のレ
ジスタと先行する命令て即値データを格納するレジスタ
との一致を検出すると、前記レジスタ部が一致しなかっ
た他方のレジスタとメモリに格納すべきレジスタのデー
タを出力し、前記加算器か一方のマルチプレクサから出
力される前記即値データラッチか保持した先行する命令
の即値データと、他方のマルチプレクサから出力される
後続する命令の一致しなかった他方のレジスタのデータ
とを加算してメモリアドレス計算をする。
格納する命令と、特定のレジスタのデータを他の2つの
レジスタのデータの和て指定されるアドレスのメモリに
格納する命令とが連続した際、前記レジスタ干渉検出部
か後続する命令でメモリアドレス計算に用いる一方のレ
ジスタと先行する命令て即値データを格納するレジスタ
との一致を検出すると、前記レジスタ部が一致しなかっ
た他方のレジスタとメモリに格納すべきレジスタのデー
タを出力し、前記加算器か一方のマルチプレクサから出
力される前記即値データラッチか保持した先行する命令
の即値データと、他方のマルチプレクサから出力される
後続する命令の一致しなかった他方のレジスタのデータ
とを加算してメモリアドレス計算をする。
第1図はこの発明の実施例における情報処理装置のブロ
ック図を示すものである。第1図において、101は命
令の解読を行う命令解読部、102は連続する命令間に
おけるレジスタの干渉を検出するレジスタ干渉検出部、
103は複数のレジスタから構成され、32ビットの0
データを保持する0レジスタを持ったレジスタ部、10
4は整数演算部、105はデータキャッシュ(図示せず
)とのデータの転送を司るデータ転送コントロール部、
106はデータアドレスを生成するデータアドレス生成
部である。1)0は命令を転送する命令バス、1)1は
即値データを転送する32ビットの即値データパス、1
)2は32ビットの第1内部データパス、1)3は32
ビットの第2内部データパス、1)4は32ビットの第
3内部データパス、1)5は32ビットのデータアドレ
スバス、1)6はデータキャッシュに転送する32ビッ
トのストアデータバス、1)7はデータキャッシュから
転送される32ビットのロードデータバス、1)8は命
令解読部101から送出される制圓信号、1)9はレジ
スタ干渉検出部102から送出されるレジスタ干渉検出
信号である。
ック図を示すものである。第1図において、101は命
令の解読を行う命令解読部、102は連続する命令間に
おけるレジスタの干渉を検出するレジスタ干渉検出部、
103は複数のレジスタから構成され、32ビットの0
データを保持する0レジスタを持ったレジスタ部、10
4は整数演算部、105はデータキャッシュ(図示せず
)とのデータの転送を司るデータ転送コントロール部、
106はデータアドレスを生成するデータアドレス生成
部である。1)0は命令を転送する命令バス、1)1は
即値データを転送する32ビットの即値データパス、1
)2は32ビットの第1内部データパス、1)3は32
ビットの第2内部データパス、1)4は32ビットの第
3内部データパス、1)5は32ビットのデータアドレ
スバス、1)6はデータキャッシュに転送する32ビッ
トのストアデータバス、1)7はデータキャッシュから
転送される32ビットのロードデータバス、1)8は命
令解読部101から送出される制圓信号、1)9はレジ
スタ干渉検出部102から送出されるレジスタ干渉検出
信号である。
第2図は、第1図の実施例における情報処理装置のデー
タアドレス生成部106の内部構成を示すブロック図で
ある。図において、201, 203, 205,は3
2ビットのマルチプレクサ、202は32ビットの加算
器、204は32ビットのフィードバックラッチ、20
6は32ビットの即値データラッチである。1)1は3
2ビットの即値データパス、1)2は32ビットの第1
内部データパス、1)3は32ビットの第2内部データ
パスであり、それぞれ第1図における同名のバスに対応
する。210はマルチプレクサ201の出力で加算器2
02に入力する32ビットのデータパス、21)は加算
器202の出力で加算結果出力バスである。1)5はデ
ータアドレスバスで、第1図におけるデータアドレスバ
ス1)5に対応する。212はフィードバックラッチ2
04に保持されたlクロック前のデータアドレスバス1
)5のデータを出力するホールドデータバスである。2
13と214はそれぞれマルチプレクサ20l,203
のセレクト条件を指示するデータセレクト信号とアドレ
スホールド信号であり、ともに第1図における制御信号
1)8の一部である。215と216はそれぞれマルチ
プレクサ201 . 205のセレクト条件を指示する
第1レジスタ干渉検出信号と第2レジスタ干渉検出信号
であり、ともに第1図におけるレジスタ干渉検出信号1
)9の一部である。また、217はマルチプレクサ20
5の出力で加算器203に入力する32ビットのデータ
バスてある。
タアドレス生成部106の内部構成を示すブロック図で
ある。図において、201, 203, 205,は3
2ビットのマルチプレクサ、202は32ビットの加算
器、204は32ビットのフィードバックラッチ、20
6は32ビットの即値データラッチである。1)1は3
2ビットの即値データパス、1)2は32ビットの第1
内部データパス、1)3は32ビットの第2内部データ
パスであり、それぞれ第1図における同名のバスに対応
する。210はマルチプレクサ201の出力で加算器2
02に入力する32ビットのデータパス、21)は加算
器202の出力で加算結果出力バスである。1)5はデ
ータアドレスバスで、第1図におけるデータアドレスバ
ス1)5に対応する。212はフィードバックラッチ2
04に保持されたlクロック前のデータアドレスバス1
)5のデータを出力するホールドデータバスである。2
13と214はそれぞれマルチプレクサ20l,203
のセレクト条件を指示するデータセレクト信号とアドレ
スホールド信号であり、ともに第1図における制御信号
1)8の一部である。215と216はそれぞれマルチ
プレクサ201 . 205のセレクト条件を指示する
第1レジスタ干渉検出信号と第2レジスタ干渉検出信号
であり、ともに第1図におけるレジスタ干渉検出信号1
)9の一部である。また、217はマルチプレクサ20
5の出力で加算器203に入力する32ビットのデータ
バスてある。
以上のように構成されたこの発明の実施例における情報
処理装置の動作について以下説明する。
処理装置の動作について以下説明する。
この発明の実施例における情報処理装置は、4段のバイ
ブライン構成をとり、演算は2つの32ビットレジスタ
のデータ間でのみ行い、結果を再びレジスタに格納する
レジスタ間演算をとり、メモリとのデータのやりとりは
、メモリとレジスタとの間でのみ行うロード・ストアア
ーキテクチャをとった情報処理装置である。
ブライン構成をとり、演算は2つの32ビットレジスタ
のデータ間でのみ行い、結果を再びレジスタに格納する
レジスタ間演算をとり、メモリとのデータのやりとりは
、メモリとレジスタとの間でのみ行うロード・ストアア
ーキテクチャをとった情報処理装置である。
この発明の実施例における情報処理装置の演算命令の動
作とlクロックストアおよび2クロツクストア命令の動
作は、従来の技術のところで述べた従来の情翰処理装置
の動作と同様であるため、詳細な説明は省略する。
作とlクロックストアおよび2クロツクストア命令の動
作は、従来の技術のところで述べた従来の情翰処理装置
の動作と同様であるため、詳細な説明は省略する。
以下、この発明の実施例における情報処理装置の即値デ
ータを特定のレジスタに設定する命令とメモリアドレス
計算を要する命令とが連続した場合の動作について説明
する。メモリアドレス計算を要する命令の例としては、
lクロックストア命令、2クロツクストア命令、ロード
命令の場合を説明する。
ータを特定のレジスタに設定する命令とメモリアドレス
計算を要する命令とが連続した場合の動作について説明
する。メモリアドレス計算を要する命令の例としては、
lクロックストア命令、2クロツクストア命令、ロード
命令の場合を説明する。
第3図と第4図は、この発明の実施例における情報処理
装置の即値データを特定のレジスタに設定する演算命令
Aとストア命令Bか連続し、かつ後続するストア命令B
のメモリアドレス計算に用いるレジスタか先行する演算
命令Aで即値データを設定すへきレジスタと一致する場
合(レジスタ干渉)の動作を示すタイミング図である。
装置の即値データを特定のレジスタに設定する演算命令
Aとストア命令Bか連続し、かつ後続するストア命令B
のメモリアドレス計算に用いるレジスタか先行する演算
命令Aで即値データを設定すへきレジスタと一致する場
合(レジスタ干渉)の動作を示すタイミング図である。
第3図はストア命令Bがlクロックストアの場合、第4
図はストア命令Bが2クロックストアの場合を表す。
図はストア命令Bが2クロックストアの場合を表す。
また第12図は、この発明の実施例における情報処理装
置の即値データを特定のレジスタに設定する演算命令A
とロード命令Bが連続し、かつ後続するロード命令Bの
メモリアドレス計算に用いるレジスタが先行する演算命
令Aで即値データを設定すべきレジスタと一致する場合
の動作を示すタイミング図である。
置の即値データを特定のレジスタに設定する演算命令A
とロード命令Bが連続し、かつ後続するロード命令Bの
メモリアドレス計算に用いるレジスタが先行する演算命
令Aで即値データを設定すべきレジスタと一致する場合
の動作を示すタイミング図である。
第1図および第2図と第3図とを用い、この実施例にお
ける情報処理装置の即値データを特定のレジスタに設定
する演算命令Aとlクロックストア命令Bとが連続し、
ストア命令Bのメモリアドレス計算に用いるレジスタと
先行する演算命令Aで即値データを設定すべきレジスタ
とのレジスタ干渉が発生する場合の動作について説明す
る。説明の簡単のために干渉が発生するレジスタをrl
,演算命令Aの即値データを(immA)、lクロック
ストア命令Bのアドレス計算に用いる即値データを(i
mmB)、スト了すべきレジスタのデータを(r2)と
する。
ける情報処理装置の即値データを特定のレジスタに設定
する演算命令Aとlクロックストア命令Bとが連続し、
ストア命令Bのメモリアドレス計算に用いるレジスタと
先行する演算命令Aで即値データを設定すべきレジスタ
とのレジスタ干渉が発生する場合の動作について説明す
る。説明の簡単のために干渉が発生するレジスタをrl
,演算命令Aの即値データを(immA)、lクロック
ストア命令Bのアドレス計算に用いる即値データを(i
mmB)、スト了すべきレジスタのデータを(r2)と
する。
CIサイクル:
(1)演算命令Aに対する処理
演算命令Aをフェッチし、命令バス1)0に送出する。
C2サイクル:
(1) 演算命令Aに対する処理
命令バス1)0に送出された演算命令Aを命令解読部1
01か解読する。命令解読部101は、制御情報を制御
信号1)8として送出し、即値データ(immA)を即
値データバス1)1に送出する。
01か解読する。命令解読部101は、制御情報を制御
信号1)8として送出し、即値データ(immA)を即
値データバス1)1に送出する。
また、レジスタ部103は、制御信号1)Bで指定され
た32ビットの0レジスタのデータを第1内部データバ
ス1)2に送出する。
た32ビットの0レジスタのデータを第1内部データバ
ス1)2に送出する。
(2)ストア命令Bに対する処理
ストア命令Bをフエツチし、命令バス1)0に送出する
。
。
C3サイクル:
(1)演算命令Aに対する処理
整数演算部104は、C2サイクルで命令解読部101
か即値データパス1)1に送出した即値データ(imm
A)を入力し、レジスタ部103が第1内部データバス
1)2に送出した0との加算を実行する。演算終了後、
演算結果を32ビットの第3内部データバス1)4に送
出する。同時に、C2サイクルで命令解読部101が即
値データバスIllに送出した即値データ(immA)
が32ビットの即値データラッチ206がラッチする。
か即値データパス1)1に送出した即値データ(imm
A)を入力し、レジスタ部103が第1内部データバス
1)2に送出した0との加算を実行する。演算終了後、
演算結果を32ビットの第3内部データバス1)4に送
出する。同時に、C2サイクルで命令解読部101が即
値データバスIllに送出した即値データ(immA)
が32ビットの即値データラッチ206がラッチする。
(2)ストア命令Bに対する処理
命令バス1)0に送出されたストア命令Bを命令解読部
101が解読する。命令解読部101は、制御情報を制
御信号1)8として送出し、即値データ(immB)を
即値データバス1)1に送出する。
101が解読する。命令解読部101は、制御情報を制
御信号1)8として送出し、即値データ(immB)を
即値データバス1)1に送出する。
前記命令解読部101の処理と並行してレジスタ干渉検
出部102はストア命令Bのメモリアドレス計算に用い
るレジスタrlと先行する演算命令Aで即値データを設
定すべきレジスタrlとのレジスタ干渉を検出し、レジ
スタ干渉検出信号1)9に送出する。この時、レジスタ
干渉検出信号1)9内の第2レジスタ干渉検出信号21
6はマルチプレクサ205が即値データラッチ206の
出力を選択するための信号を出力する。レジスタ部10
3は、制御信号1)8に指定されたメモリアドレス計算
に使用する32ビットのレジスタのデータ(r 1)を
第2内部データバス1)3に送出し、メモリに格納すべ
き32ビットのレジスタのデータ(r2)を第1内部デ
ータバス1)2に送出する。ただし、32ビットのレジ
スタのデータ(r 1)は、演算命令Aの実行が終了し
ていないため、無効なデータを出力することとなる。
出部102はストア命令Bのメモリアドレス計算に用い
るレジスタrlと先行する演算命令Aで即値データを設
定すべきレジスタrlとのレジスタ干渉を検出し、レジ
スタ干渉検出信号1)9に送出する。この時、レジスタ
干渉検出信号1)9内の第2レジスタ干渉検出信号21
6はマルチプレクサ205が即値データラッチ206の
出力を選択するための信号を出力する。レジスタ部10
3は、制御信号1)8に指定されたメモリアドレス計算
に使用する32ビットのレジスタのデータ(r 1)を
第2内部データバス1)3に送出し、メモリに格納すべ
き32ビットのレジスタのデータ(r2)を第1内部デ
ータバス1)2に送出する。ただし、32ビットのレジ
スタのデータ(r 1)は、演算命令Aの実行が終了し
ていないため、無効なデータを出力することとなる。
つぎに、データアドレス生成部106の動作について説
明する。マルチプレクサ201は、制御信号1)8とし
て送出されたデータセレクト信号213の情報によりデ
ータパス210に即値データバス1)1の即値データ(
immB)を出力する。マルチプレクサ205は、第2
レジスタ干渉検出信号216の情報により、データバス
217に即値データラッチ206のデータ(immA)
(正しい(r1)に相当)を出力する。加算器202は
、それぞれ32ビットのデータバス210と217に出
力されたデータを加算し、結果を加算結果出力バス21
)に出力する。マルチプレクサ203は、制御信号1)
8として送出されたアドレスホールド信号214の情報
により、データアドレスバス1)5に加算結果出力バス
21)のデータを出力する。こうして、データアドレス
バス1)5にストアすべきデータのアドレス(immB
)+ (r 1)を送出する。
明する。マルチプレクサ201は、制御信号1)8とし
て送出されたデータセレクト信号213の情報によりデ
ータパス210に即値データバス1)1の即値データ(
immB)を出力する。マルチプレクサ205は、第2
レジスタ干渉検出信号216の情報により、データバス
217に即値データラッチ206のデータ(immA)
(正しい(r1)に相当)を出力する。加算器202は
、それぞれ32ビットのデータバス210と217に出
力されたデータを加算し、結果を加算結果出力バス21
)に出力する。マルチプレクサ203は、制御信号1)
8として送出されたアドレスホールド信号214の情報
により、データアドレスバス1)5に加算結果出力バス
21)のデータを出力する。こうして、データアドレス
バス1)5にストアすべきデータのアドレス(immB
)+ (r 1)を送出する。
C4サイクル:
(1)演算命令Aに対する処理
レジスタ部103は、C3サイクルで整数演算部104
が第3内部データバス1)4に送出したデータ(imm
A)をC2サイクルで制御信号1)8に指定されたレジ
スタrlへ格納する。
が第3内部データバス1)4に送出したデータ(imm
A)をC2サイクルで制御信号1)8に指定されたレジ
スタrlへ格納する。
(2)ストア命令Bに対する処理
データアドレスバス1)5に送出されたアドレス(im
mB)+ (r 1)を用いデータキャッシュをアクセ
スする。ここで、データキャッシュがヒットすると仮定
する。また、データ転送コントロール部105は、第1
内部データバス1)2に送出されたデータ(r2)をラ
ッチする。
mB)+ (r 1)を用いデータキャッシュをアクセ
スする。ここで、データキャッシュがヒットすると仮定
する。また、データ転送コントロール部105は、第1
内部データバス1)2に送出されたデータ(r2)をラ
ッチする。
C5サイクル:
(1)ストア命令Bに対する処理
データ転送コントロール部105は、C4サイクルでラ
ッチしたデータ(r2)をストアデータバス1)6に送
出し、データキャッシュに格納する。
ッチしたデータ(r2)をストアデータバス1)6に送
出し、データキャッシュに格納する。
以上のように、この実施例における情報処理装置では、
即値データを特定のレジスタに設定する演算命令Aと1
クロックストア命令Bとが連続し、ストア命令Bのメモ
リアドレス計算に用いるレジスタと先行する演算命令A
で即値データを設定すべきレジスタとのレジスタ干渉が
発生する場合に、即値データラッチ206を設け、レジ
スタ干渉検出信号1)9てマルチプレクサ205を制御
することで従来の情報処理装置に比べ、lクロック分処
理を高速化することが可能となる。
即値データを特定のレジスタに設定する演算命令Aと1
クロックストア命令Bとが連続し、ストア命令Bのメモ
リアドレス計算に用いるレジスタと先行する演算命令A
で即値データを設定すべきレジスタとのレジスタ干渉が
発生する場合に、即値データラッチ206を設け、レジ
スタ干渉検出信号1)9てマルチプレクサ205を制御
することで従来の情報処理装置に比べ、lクロック分処
理を高速化することが可能となる。
つぎに、第1図および第2図と第4図とを用い、この実
施例における情報処理装置の即値データを特定のレジス
タに設定する演算命令Aと2クロックストア命令Bとが
連続し、ストア命令Bのメモリアドレス計算に用いるレ
ジスタと先行する演算命令Aで即値データを設定すべき
レジスタとのレジスタ干渉が発生する場合の動作につい
て説明する。説明の簡単のため2クロックストア時のア
ドレス計算に要するレジスタのデータを(r1)と(r
2)、スト了すべきレジスタのデータを(r 1)とし
、干渉が発生するレジスタをr1、演算命令Aの即値デ
ータを(immA)とする。
施例における情報処理装置の即値データを特定のレジス
タに設定する演算命令Aと2クロックストア命令Bとが
連続し、ストア命令Bのメモリアドレス計算に用いるレ
ジスタと先行する演算命令Aで即値データを設定すべき
レジスタとのレジスタ干渉が発生する場合の動作につい
て説明する。説明の簡単のため2クロックストア時のア
ドレス計算に要するレジスタのデータを(r1)と(r
2)、スト了すべきレジスタのデータを(r 1)とし
、干渉が発生するレジスタをr1、演算命令Aの即値デ
ータを(immA)とする。
C1サイクル:
(1) 演算命令Aに対する処理
演算命令Aをフエツチし、命令バス1)0に送出する。
C2サイクル:
(1)演算命令Aに対する処理
命令バス1)0に送出された演算命令Aを命令解読部1
01が解読する。命令解読部101は、制御情報を制御
信号1)8として送出し、即値データ(immA)を即
値データパス1)1に送出する。
01が解読する。命令解読部101は、制御情報を制御
信号1)8として送出し、即値データ(immA)を即
値データパス1)1に送出する。
また、レジスタ部103は制御信号1)8に指定された
32ビットの0レジスタのデータを第1内部データバス
1)2に送出する。
32ビットの0レジスタのデータを第1内部データバス
1)2に送出する。
(2)ストア命令Bに対する処理
ストア命令Bをフェッチし、命令バス1)0に送出する
。
。
C3サイクル:
(1) 演算命令Aに対する処理
整数演算部104は、C2サイクルで命令解読部101
が即値データバス1)1に送出した即値データ(imm
A)を入力とし、レジスタ部103が第1内部データバ
ス1)2に送出した0との加算を実行する。演算終了後
、演算結果を32ビットの第3内部データバス1)4に
送出する。同時に、C2サイクルで命令解読部101が
即値データバス1)1に送出した即値データ(immA
)を32ビットの即値データラッチ206がラッチする
。
が即値データバス1)1に送出した即値データ(imm
A)を入力とし、レジスタ部103が第1内部データバ
ス1)2に送出した0との加算を実行する。演算終了後
、演算結果を32ビットの第3内部データバス1)4に
送出する。同時に、C2サイクルで命令解読部101が
即値データバス1)1に送出した即値データ(immA
)を32ビットの即値データラッチ206がラッチする
。
(2)ストア命令Bに対する処理
命令バス1)0に送出されたストア命令Bを命令解読部
101が解読する。命令解読部101は、制御情報を制
御信号1)8として送出する。前記命令解読部101の
処理と並行してレジスタ干渉検出部102は、ストア命
令Bのメモリアドレス計算に用いるレジスタrlと先行
する演算命令Aで即値データを設定すべきレジスタr1
とのレジスタ干渉を検出し、レジスタ干渉検出信号1)
9に送出する。
101が解読する。命令解読部101は、制御情報を制
御信号1)8として送出する。前記命令解読部101の
処理と並行してレジスタ干渉検出部102は、ストア命
令Bのメモリアドレス計算に用いるレジスタrlと先行
する演算命令Aで即値データを設定すべきレジスタr1
とのレジスタ干渉を検出し、レジスタ干渉検出信号1)
9に送出する。
この時、レジスタ干渉検出信号1)9内の第1レジスタ
干渉検出信号215は、マルチプレクサ201が即値デ
ータラッチ206を選択するための信号とレジスタ部1
03が第1内部データバス1)2にメモリにスト了すべ
き32ビットのレジスタのデータ(r3)を出力するた
めの信号を出力する。レジスタ部103は、制御信号1
)8で指定されたメモリア下レス計算に使用する32ビ
ットのレジスタのデータ(r2)を第2内部データバス
1)3に送出し、メモリに格納すべき32ビットのレジ
スタのデータ(r3)を第1内部データバス1)2に送
出する。
干渉検出信号215は、マルチプレクサ201が即値デ
ータラッチ206を選択するための信号とレジスタ部1
03が第1内部データバス1)2にメモリにスト了すべ
き32ビットのレジスタのデータ(r3)を出力するた
めの信号を出力する。レジスタ部103は、制御信号1
)8で指定されたメモリア下レス計算に使用する32ビ
ットのレジスタのデータ(r2)を第2内部データバス
1)3に送出し、メモリに格納すべき32ビットのレジ
スタのデータ(r3)を第1内部データバス1)2に送
出する。
つぎに、データアドレス生成部106の動作について説
明する。マルチプレクサ201は、第1レジスタ干渉検
出信号215の情報により、データバス210に即値デ
ータラッチ206のデータ(immA)(正しい(r1
)に相当)を出力する。マルチプレクサ205は、第2
レジスタ干渉検出信号216の情報により、データバス
217に第2内部データバス1)3のデータ(r2)を
出力する。加算器202は、それぞれ32ビットのデー
タパス210と217とに出力されたデータを加算し、
結果を加算結果出力バス21)に出力する。マルチプレ
クサ203は、制御信号1)8として送出されたアドレ
スホールド信号214の情報により、データアドレスバ
ス1)5に加算結果出力バス21)のデータを出力する
。こうして、データアドレスバス1)5にストアすべき
データのアドレス(r 1’) + (r 2)を送出
する。
明する。マルチプレクサ201は、第1レジスタ干渉検
出信号215の情報により、データバス210に即値デ
ータラッチ206のデータ(immA)(正しい(r1
)に相当)を出力する。マルチプレクサ205は、第2
レジスタ干渉検出信号216の情報により、データバス
217に第2内部データバス1)3のデータ(r2)を
出力する。加算器202は、それぞれ32ビットのデー
タパス210と217とに出力されたデータを加算し、
結果を加算結果出力バス21)に出力する。マルチプレ
クサ203は、制御信号1)8として送出されたアドレ
スホールド信号214の情報により、データアドレスバ
ス1)5に加算結果出力バス21)のデータを出力する
。こうして、データアドレスバス1)5にストアすべき
データのアドレス(r 1’) + (r 2)を送出
する。
C4サイクル:
(1) 演算命令Aに対する処理
レジスタ部103は、C3サイクルで整数演算部104
が第3内部データバス1)4に送出したデータ(imm
A)を02サイクルで制御信号1)8で指定されたレジ
スタrlへ格納する。
が第3内部データバス1)4に送出したデータ(imm
A)を02サイクルで制御信号1)8で指定されたレジ
スタrlへ格納する。
(2)ストア命令Bに対する処理
データアドレスバス1)5に送出されたアドレス(r
1) + (r 2)を用いデータキャッシュをアクセ
スする。ここで、データキャッシュはヒットすると仮定
する。また、データ転送コントロール部105は、第1
内部データバス1)2に送出されたデータ(r3)をラ
ッチする。
1) + (r 2)を用いデータキャッシュをアクセ
スする。ここで、データキャッシュはヒットすると仮定
する。また、データ転送コントロール部105は、第1
内部データバス1)2に送出されたデータ(r3)をラ
ッチする。
C5サイクル:
(1) ストア命令Bに対する処理
データ転送コントロール部105は、C4サイクルでラ
ッチしたデータ(r3)をストアデータバス1)6に送
出し、データキャッシュに格納する。
ッチしたデータ(r3)をストアデータバス1)6に送
出し、データキャッシュに格納する。
以上のように、この発明の実施例における情報処理装置
は、即値データを特定のレジスタに設定する演算命令A
と2クロックストア命令Bとが連続し、ストア命令Bの
メモリアドレス計算に用いるレジスタと先行する演算命
令Aで即値データを設定すべきレジスタとのレジスタ干
渉が発生する場合に、即値データラッチ206を設け、
レジスタ干渉検出信号l9でマルチプレクサ205とレ
ジスタ部103を制御することで従来の情報処理装置に
比べ、2クロツク分処理を高速化することが可能になる
。
は、即値データを特定のレジスタに設定する演算命令A
と2クロックストア命令Bとが連続し、ストア命令Bの
メモリアドレス計算に用いるレジスタと先行する演算命
令Aで即値データを設定すべきレジスタとのレジスタ干
渉が発生する場合に、即値データラッチ206を設け、
レジスタ干渉検出信号l9でマルチプレクサ205とレ
ジスタ部103を制御することで従来の情報処理装置に
比べ、2クロツク分処理を高速化することが可能になる
。
最後に、第1図および第2図と第12図とを用い、この
実施例における情報処理装置の即値データを特定のレジ
スタに設定する演算命令Aとロード命令Bとが連続し、
ロード命令Bのメモリアドレス計算に用いるレジスタと
先行する演算命令Aで即値データを設定すべきレジスタ
とのレジスタ干渉が発生する場合の動作について説明す
る。説明の簡単のために干渉が発生するレジスタをr1
、演算命令Aの即値データを(immA)、ロード命令
Bのアドレス計算に用いる即値データを(immB)、
データをロードすべきレジスタをr2とする。
実施例における情報処理装置の即値データを特定のレジ
スタに設定する演算命令Aとロード命令Bとが連続し、
ロード命令Bのメモリアドレス計算に用いるレジスタと
先行する演算命令Aで即値データを設定すべきレジスタ
とのレジスタ干渉が発生する場合の動作について説明す
る。説明の簡単のために干渉が発生するレジスタをr1
、演算命令Aの即値データを(immA)、ロード命令
Bのアドレス計算に用いる即値データを(immB)、
データをロードすべきレジスタをr2とする。
C1サイクル:
(1)演算命令Aに対する処理
演算命令Aをフェッチし、命令バス1)0に送出する。
C2サイクル:
(1)演算命令Aに対する処理
命令バ・ス1)0に送出された演算命令Aを命令解読部
101が解読する。命令解読部101は、制御情報を制
御信号1)8として送出し、即値データ(immA)を
即値データバスIllに送出する。
101が解読する。命令解読部101は、制御情報を制
御信号1)8として送出し、即値データ(immA)を
即値データバスIllに送出する。
また、レジスタ部103は、制御信号1)8で指定され
た32ビットの0レジスタのデータを第1内部データバ
ス1)2に送出する。
た32ビットの0レジスタのデータを第1内部データバ
ス1)2に送出する。
(2)ロード命令Bに対する処理
ロード命令Bをフエツチし、命令バス1)0に送出する
。
。
C3サイクル:
(1)演算命令Aに対する処理
整数演算部104は、C2サイクルで命令解読部101
が即値データバス1)1に送出した即値データ(imm
A)を入力し、レジスタ部103が第1内部データバス
1)2に送出した0との加算を実行する。演算終了後、
演算結果を32ビットの第3内部データバス1)4に送
出する。同時に、C2サイクルで命令解読部101が即
値データバス1)1に送出した即値データ(immA)
を32ビットの即値データラッチ206かラッチする。
が即値データバス1)1に送出した即値データ(imm
A)を入力し、レジスタ部103が第1内部データバス
1)2に送出した0との加算を実行する。演算終了後、
演算結果を32ビットの第3内部データバス1)4に送
出する。同時に、C2サイクルで命令解読部101が即
値データバス1)1に送出した即値データ(immA)
を32ビットの即値データラッチ206かラッチする。
(2) ロード命令Bに対する処理
命令バス1)0に送出されたロード命令Bを命令解読部
101が解読する。命令解読部101は、制御情報を制
御信号1)8として送出し、即値データ(immB)を
即値データバス1)1に送出する。
101が解読する。命令解読部101は、制御情報を制
御信号1)8として送出し、即値データ(immB)を
即値データバス1)1に送出する。
前記命令解読部101の処理と並行してレジスタ干渉検
出部102はロード命令Bのメモリアドレス計算に用い
るレジスタrlと先行する演算命令Aで即値データを設
定すべきレジスタr1とのレジスタ干渉を検出し、レジ
スタ干渉検出信号1)9に送出する。この時、レジスタ
干渉検出信号1)9内の第2レジスタ干渉検出信号21
6はマルチプレクサ205が即値データラッチ206の
出力を選択するための信号を出力する。レジスタ部10
3は、制御信号1)8に指定されたメモリアドレス計算
に使用する32ビットのレジスタのデータ(r 1)を
第2内部データバス1)3に送出する。ただし、32ビ
ットのレジスタのデータ(r 1)は、演算命令Aの実
行が終了していないため、無効なデータを出力すること
となる。
出部102はロード命令Bのメモリアドレス計算に用い
るレジスタrlと先行する演算命令Aで即値データを設
定すべきレジスタr1とのレジスタ干渉を検出し、レジ
スタ干渉検出信号1)9に送出する。この時、レジスタ
干渉検出信号1)9内の第2レジスタ干渉検出信号21
6はマルチプレクサ205が即値データラッチ206の
出力を選択するための信号を出力する。レジスタ部10
3は、制御信号1)8に指定されたメモリアドレス計算
に使用する32ビットのレジスタのデータ(r 1)を
第2内部データバス1)3に送出する。ただし、32ビ
ットのレジスタのデータ(r 1)は、演算命令Aの実
行が終了していないため、無効なデータを出力すること
となる。
つぎに、データアドレス生成部106の動作について説
明する。マルチプレクサ201は、制御信号1)8とし
て送出されたデータセレクト信号213の情報によりデ
ータパス210に即値データバス1)1の即値データ(
immB)を出力する。マルチプレクサ205は、第2
レジスタ干渉検出信号216の情報により、データパス
217に即値データラッチ206のデータ(immA)
(正しい(r1)に相当)を出力する。加算器202は
、それぞれ32ビットのデータパス210と217に出
力されたデータを加算し、結果を加算結果出力バス21
)に出力する。マルチプレクサ203は、制郭信号1)
8として送出されたアドレスホールド信号214の情報
により、データアドレスバス1)5に加算結果出力バス
21)のデータを出力する。こうして、データアドレス
バス1)5にロードすべきデータのアドレス(immB
)+ (r 1)を送出する。
明する。マルチプレクサ201は、制御信号1)8とし
て送出されたデータセレクト信号213の情報によりデ
ータパス210に即値データバス1)1の即値データ(
immB)を出力する。マルチプレクサ205は、第2
レジスタ干渉検出信号216の情報により、データパス
217に即値データラッチ206のデータ(immA)
(正しい(r1)に相当)を出力する。加算器202は
、それぞれ32ビットのデータパス210と217に出
力されたデータを加算し、結果を加算結果出力バス21
)に出力する。マルチプレクサ203は、制郭信号1)
8として送出されたアドレスホールド信号214の情報
により、データアドレスバス1)5に加算結果出力バス
21)のデータを出力する。こうして、データアドレス
バス1)5にロードすべきデータのアドレス(immB
)+ (r 1)を送出する。
C4サイクル:
(1) 演算命令Aに対する処理
レジスタ部103は、C3サイクルで整数演算部104
が第3内部データバス1)4に送出したデータ(imm
A)を02サイクルで制御信号1)8に指定されたレジ
スタrlへ格納する。
が第3内部データバス1)4に送出したデータ(imm
A)を02サイクルで制御信号1)8に指定されたレジ
スタrlへ格納する。
(2) ロード命令Bに対する処理
データアドレスバス1)5に送出されたアドレス(im
mB)+ (r 1)を用いデータキャッシュをアクセ
スする。ここで、データキャッシュがヒツトすると仮定
する。データキャッシュはヒットしたアドレス(imm
B)+ (r 1)のデータをロードデータバス1)7
に出力する。
mB)+ (r 1)を用いデータキャッシュをアクセ
スする。ここで、データキャッシュがヒツトすると仮定
する。データキャッシュはヒットしたアドレス(imm
B)+ (r 1)のデータをロードデータバス1)7
に出力する。
C4サイクル:
データ転送コントロール部105はC3サイクルでデー
タキャッシュがロードデータバス1)7に送出したデー
タを第3内部データバス1)4に送出する。レジスタ部
103は第3内部データバス1)4のデータを制御信号
1)8として送出されたアドレスのレジスタr2に格納
する。
タキャッシュがロードデータバス1)7に送出したデー
タを第3内部データバス1)4に送出する。レジスタ部
103は第3内部データバス1)4のデータを制御信号
1)8として送出されたアドレスのレジスタr2に格納
する。
また、ロードすべきデータのアドレスが2つのレジスタ
のデータの和(r 1) + (r 2)で示されるロ
ード命令に関しては前述した(rl)+(immB)の
場合と同様であるため、詳細な説明は省略する。この場
合は、レジスタ部103がアドレス計算に用いる2つの
レジスタのデータをそれぞれ第1内部データパスと第2
内部データパスに出力し、データアドレス生成部106
がデータパス210に第1内部データパスのデータを出
力する点が上記の説明と異なる。
のデータの和(r 1) + (r 2)で示されるロ
ード命令に関しては前述した(rl)+(immB)の
場合と同様であるため、詳細な説明は省略する。この場
合は、レジスタ部103がアドレス計算に用いる2つの
レジスタのデータをそれぞれ第1内部データパスと第2
内部データパスに出力し、データアドレス生成部106
がデータパス210に第1内部データパスのデータを出
力する点が上記の説明と異なる。
以上のように、この実施例における情報処理装置では、
即値データを特定のレジスタに設定する演算命令Aとロ
ード命令Bとが連続し、ロード命令Bのメモリアドレス
計算に用いるレジスタと先行する演算命令Aで即値デー
タを設定すべきレジスタとのレジスタ干渉が発生する場
合に、即値データラッチ206を設け、レジスタ干渉検
出信号1)9でマルチプレクサ205を制御することで
従来の情報処理装置に比べ、1クロック分処理を高速化
することが可能となる。
即値データを特定のレジスタに設定する演算命令Aとロ
ード命令Bとが連続し、ロード命令Bのメモリアドレス
計算に用いるレジスタと先行する演算命令Aで即値デー
タを設定すべきレジスタとのレジスタ干渉が発生する場
合に、即値データラッチ206を設け、レジスタ干渉検
出信号1)9でマルチプレクサ205を制御することで
従来の情報処理装置に比べ、1クロック分処理を高速化
することが可能となる。
なおここでは、メモリアドレス計算を必要とする命令の
例として、1クロックストア命令、2クロックストア命
令、ロード命令について説明したが、他のメモリアドレ
ス計算を必要とする分岐命令等の命令でも同様に制御す
ることで、従来の情報処理装置に比べ、lクロック分処
理を高速化することが可能である。
例として、1クロックストア命令、2クロックストア命
令、ロード命令について説明したが、他のメモリアドレ
ス計算を必要とする分岐命令等の命令でも同様に制御す
ることで、従来の情報処理装置に比べ、lクロック分処
理を高速化することが可能である。
この発明の情報処理装置によれば、メモリアドレス計算
を必要とする命令(ロード命令,■クロックストア命令
または分岐命令)で、メモリアドレス計算に用いるレジ
スタと先行する演算命令の即値データを設定すべきレジ
スタとのレジスタ干渉が発生する場合にlクロック処理
を高速化でき、さらに2クロックストア命令でメモリア
ドレス計算に用いるレジスタと先行する演算命令の即値
データを設定すべきレジスタとのレジスタ干渉が発生す
る場合には、2クロツク処理を高速化することを可能と
し、その実用的価値は大きい。
を必要とする命令(ロード命令,■クロックストア命令
または分岐命令)で、メモリアドレス計算に用いるレジ
スタと先行する演算命令の即値データを設定すべきレジ
スタとのレジスタ干渉が発生する場合にlクロック処理
を高速化でき、さらに2クロックストア命令でメモリア
ドレス計算に用いるレジスタと先行する演算命令の即値
データを設定すべきレジスタとのレジスタ干渉が発生す
る場合には、2クロツク処理を高速化することを可能と
し、その実用的価値は大きい。
第1図はこの発明の実施例における情報処理装置のブロ
ック図、第2図は第1図におけるデータアドレス生成部
のブロック図、第3図はこの発明の実施例における情報
処理装置の即値データを特定のレジスタに設定する演算
命令とlクロックストア命令とが連続し、ストア命令の
メモリアドレス計算に用いるレジスタと先行する演算命
令で即値データを設定すべきレジスタとのレジスタ干渉
が発生する場合の動作を示すタイミング図、第4図はこ
の発明の実施例における情報処理装置の即値データを特
定のレジスタに設定する演算命令と2クロックストア命
令とか連続し、ストア命令のメモリアドレス計算に用い
るレジスタと先行する演算命令で即値データを設定すべ
きレジスタとのレジスタ干渉が発生する場合の動作を示
すタイミング図、第5図は従来の情報処理装置のブロッ
ク図、第6図は第5図におけるデータアドレス生成部の
ブロック図、第7図は従来の情報処理装置の演算命令の
動作を示すタイミング図、第8図は従来の情報処理装置
のlクロックストアの命令の動作を示すタイミング図、
第9図は従来の情報処理装置の2クロツクストアの命令
の動作を示すタイミング図、第10図は従来の情報処理
装置の即値データを特定のレジスタに設定する演算命令
と1クロツクストア命令とが連続し、ストア命令のメモ
リアドレス計算に用いるレジスタと先行する演算命令で
即値データを設定すべきレジスタとのレジスタ干渉が発
生する場合の動作を示すタイミング図、第1)図は従来
の情報処理装置の即値データを特定のレジスタに設定す
る演算命令と2クロックストア命令とが連続し、ストア
命令のメモリアドレス計算に用いるレジスタと先行する
演算命令て即値データを設定すべきレジスタとのレジス
タ干渉が発生する場合の動作を示すタイミング図、第1
2図はこの発明の実施例における情報処理装置の即値デ
ータを特定のレジスタに設定する演算命令とロード命令
とが連続し、ロード命令のメモリアドレス計算に用いる
レジスタと先行する演算命令で即値データを設定すべき
レジスタとのレジスタ干渉が発生する場合の動作を示す
タイミング図である。 101・・・命令解読部、102・・・レジスタ干渉検
出部、103・・・レジスタ部、106・・・データア
ドレス生成部、1)8・・・制御信号、1)9・・・レ
ジスタ干渉検出信号、206・・・即値データラッチ。
ック図、第2図は第1図におけるデータアドレス生成部
のブロック図、第3図はこの発明の実施例における情報
処理装置の即値データを特定のレジスタに設定する演算
命令とlクロックストア命令とが連続し、ストア命令の
メモリアドレス計算に用いるレジスタと先行する演算命
令で即値データを設定すべきレジスタとのレジスタ干渉
が発生する場合の動作を示すタイミング図、第4図はこ
の発明の実施例における情報処理装置の即値データを特
定のレジスタに設定する演算命令と2クロックストア命
令とか連続し、ストア命令のメモリアドレス計算に用い
るレジスタと先行する演算命令で即値データを設定すべ
きレジスタとのレジスタ干渉が発生する場合の動作を示
すタイミング図、第5図は従来の情報処理装置のブロッ
ク図、第6図は第5図におけるデータアドレス生成部の
ブロック図、第7図は従来の情報処理装置の演算命令の
動作を示すタイミング図、第8図は従来の情報処理装置
のlクロックストアの命令の動作を示すタイミング図、
第9図は従来の情報処理装置の2クロツクストアの命令
の動作を示すタイミング図、第10図は従来の情報処理
装置の即値データを特定のレジスタに設定する演算命令
と1クロツクストア命令とが連続し、ストア命令のメモ
リアドレス計算に用いるレジスタと先行する演算命令で
即値データを設定すべきレジスタとのレジスタ干渉が発
生する場合の動作を示すタイミング図、第1)図は従来
の情報処理装置の即値データを特定のレジスタに設定す
る演算命令と2クロックストア命令とが連続し、ストア
命令のメモリアドレス計算に用いるレジスタと先行する
演算命令て即値データを設定すべきレジスタとのレジス
タ干渉が発生する場合の動作を示すタイミング図、第1
2図はこの発明の実施例における情報処理装置の即値デ
ータを特定のレジスタに設定する演算命令とロード命令
とが連続し、ロード命令のメモリアドレス計算に用いる
レジスタと先行する演算命令で即値データを設定すべき
レジスタとのレジスタ干渉が発生する場合の動作を示す
タイミング図である。 101・・・命令解読部、102・・・レジスタ干渉検
出部、103・・・レジスタ部、106・・・データア
ドレス生成部、1)8・・・制御信号、1)9・・・レ
ジスタ干渉検出信号、206・・・即値データラッチ。
Claims (4)
- (1)命令に指定された即値データを保持する即値デー
タラッチと、前記即値データラッチの出力を入力とする
2つのマルチプレクサと、前記2つのマルチプレクサの
出力を加算する加算器と、連続する命令間のレジスタ干
渉を検出するレジスタ干渉検出部とを備え、即値データ
を特定のレジスタに格納する命令とメモリアドレス計算
を必要とする命令とが連続した際、前記レジスタ干渉検
出部が後続する命令でメモリアドレス計算に用いるレジ
スタと先行する命令で即値データを格納するレジスタと
の一致を検出すると、前記加算器が片方のマルチプレク
サからの出力である前記即値データラッチが保持した先
行する命令の即値データを使用してメモリアドレス計算
をすることを特徴とする情報処理装置。 - (2)請求項(1)記載のメモリアドレス計算を必要と
する命令として、ロード命令またはストア命令または分
岐命令であることを特徴とする情報処理装置。 - (3)命令に指定された即値データを保持する即値デー
タラッチと、前記即値データラッチの出力を入力とする
2つのマルチプレクサと、前記2つのマルチプレクサの
出力を加算する加算器と、連続する命令間のレジスタ干
渉を検出するレジスタ干渉検出部とを備え、即値データ
を特定のレジスタに格納する命令と特定のレジスタのデ
ータを、即値データと別のレジスタのデータの和で指定
されるアドレスのメモリに格納する命令とが連続した際
、前記レジスタ干渉検出部が後続する命令でメモリアド
レス計算に用いるレジスタと先行する命令で即値データ
を格納するレジスタとの一致を検出すると、前記加算器
が一方のマルチプレクサからの出力である前記即値デー
タラッチが保持した先行する命令の即値データと他方の
マルチプレクサからの出力である後続する命令の即値デ
ータとを加算してアドレス計算をすることを特徴とする
情報処理装置。 - (4)命令に指定された即値データを保持する即値デー
タラッチと、前記即値データラッチの出力を入力とする
2つのマルチプレクサと、前記2つのマルチプレクサの
出力を加算する加算器と、連続する命令間のレジスタ干
渉を検出するレジスタ干渉検出部と、2つのレジスタの
データを同時に出力できる複数のレジスタからなるレジ
スタ部とを備え、 即値データを特定のレジスタに格納する命令と特定のレ
ジスタのデータを他の2つのレジスタのデータの和で指
定されるアドレスのメモリに格納する命令とが連続した
際、前記レジスタ干渉検出部が後続する命令でメモリア
ドレス計算に用いる一方のレジスタと先行する命令で即
値データを格納するレジスタとの一致を検出すると、前
記レジスタ部が一致しなかった他方のレジスタとメモリ
に格納すべきレジスタのデータとを出力し、前記加算器
が一方のマルチプレクサから出力される前記即値データ
ラッチが保持した先行する命令の即値データと他方のマ
ルチプレクサから出力される後続する命令の一致しなか
った他方のレジスタのデータとを加算してメモリアドレ
ス計算をすることを特徴とする情報処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2309994A JP2542120B2 (ja) | 1989-11-15 | 1990-11-14 | 情報処理装置 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1-298459 | 1989-11-15 | ||
| JP29845989 | 1989-11-15 | ||
| JP2309994A JP2542120B2 (ja) | 1989-11-15 | 1990-11-14 | 情報処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH03218526A true JPH03218526A (ja) | 1991-09-26 |
| JP2542120B2 JP2542120B2 (ja) | 1996-10-09 |
Family
ID=26561530
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2309994A Expired - Fee Related JP2542120B2 (ja) | 1989-11-15 | 1990-11-14 | 情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2542120B2 (ja) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01177127A (ja) * | 1988-01-06 | 1989-07-13 | Hitachi Ltd | 情報処理装置 |
-
1990
- 1990-11-14 JP JP2309994A patent/JP2542120B2/ja not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01177127A (ja) * | 1988-01-06 | 1989-07-13 | Hitachi Ltd | 情報処理装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2542120B2 (ja) | 1996-10-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0463430B2 (ja) | ||
| JPS6259822B2 (ja) | ||
| JPH02227768A (ja) | データ処理システム | |
| US5757685A (en) | Data processing system capable of processing long word data | |
| US5367648A (en) | General purpose memory access scheme using register-indirect mode | |
| JPH04140880A (ja) | ベクトル処理装置 | |
| US4677549A (en) | Pipelined data processor system having increased processing speed | |
| JP4865960B2 (ja) | データ処理装置およびその制御方法 | |
| JPH10161871A (ja) | プロセッサ | |
| JPH10222367A (ja) | ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法 | |
| US5742842A (en) | Data processing apparatus for executing a vector operation under control of a master processor | |
| JPH0380324A (ja) | 中央演算処理装置 | |
| JPH03218526A (ja) | 情報処理装置 | |
| JPH0444136A (ja) | メモリアクセス制御装置 | |
| JPS6238953A (ja) | 部分書込みアクセスを圧縮する主記憶装置 | |
| JP2861560B2 (ja) | データ処理装置 | |
| EP0660225B1 (en) | ALU capable of simultaneously executing a plurality of operations | |
| JP3540802B2 (ja) | 命令生成方法、命令生成方法及び情報処理装置 | |
| JP2925842B2 (ja) | パイプライン処理装置 | |
| JPS6339036A (ja) | パイプライン処理方式 | |
| JPH03271854A (ja) | Dmaコントローラ | |
| JPH05128279A (ja) | ワンチツプマイクロコンピユータ | |
| JPH0222417B2 (ja) | ||
| JPH01201759A (ja) | Dma制御装置 | |
| JPS63629A (ja) | デ−タ処理方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |