JP3523407B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP3523407B2
JP3523407B2 JP02500796A JP2500796A JP3523407B2 JP 3523407 B2 JP3523407 B2 JP 3523407B2 JP 02500796 A JP02500796 A JP 02500796A JP 2500796 A JP2500796 A JP 2500796A JP 3523407 B2 JP3523407 B2 JP 3523407B2
Authority
JP
Japan
Prior art keywords
register
operand
displacement
instruction format
contents
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
Application number
JP02500796A
Other languages
English (en)
Other versions
JPH09218785A (ja
Inventor
岳夫 浅川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP02500796A priority Critical patent/JP3523407B2/ja
Publication of JPH09218785A publication Critical patent/JPH09218785A/ja
Application granted granted Critical
Publication of JP3523407B2 publication Critical patent/JP3523407B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パイプラインで命
令を実行する情報処理装置に関し、特に、ムーブ命令を
高速に実行できるようにする情報処理装置に関する。
【0002】
【従来の技術】パイプライン処理とは、1つの命令処理
を複数の処理に分割して、その分割した複数の命令処理
を並列に実行する処理方式である。
【0003】図12に、6段で構成されるパイプライン
処理の一例を図示する。このパイプライン処理は、命令
のデコードを行うDステートと、アドレス計算を行うA
ステートと、TLBの索引を行うTステートと、キャッ
シュのリードを行うBステートと、演算を行うEステー
トと、演算結果のレジスタへの格納を行うWステートと
いう6つの命令処理を順番に行うことで命令を実行す
る。
【0004】一方、プログラムで頻繁に使用される命令
の1つとしてムーブ命令がある。図13に、ムーブ命令
で使用される命令形式(以下、第1の命令形式と称す
る)を図示する。
【0005】この図に示すように、第1の命令形式は、
オペコード(I0)と、第1オペランドのベースレジス
タ番号(I3)と、第1オペランドのディスプレースメ
ント(I4)と、第2オペランドのベースレジスタ番号
(I5)と、第2オペランドのディスプレースメント
(I6)とを指定するものであり、この第1の命令形式
で記述されるムーブ命令は、第2オペランドを主記憶装
置上から読み出して、主記憶装置上の第1オペランドに
書き込むという動作を行うものである。
【0006】このムーブ命令は、汎用計算機アーキテク
チャにおいては、オペランドアドレスがオーバーラップ
している場合に、その動作が明確に規定されている。す
なわち、ハードウェアは、ムーブ動作の高速化を図るた
めに、なるべくブロック化されたデータの単位(通常は
8バイト単位)でムーブを行おうとするが、オペランド
アドレスがオーバーラップしている場合には、1バイト
単位でムーブが行われたように結果を保証しなければな
らない。
【0007】そこで、ムーブ動作の開始に先立って、第
1オペランドアドレスと第2オペランドアドレスとの間
のオーバーラップしない部分のデータ量(以下、非オー
バーラップ量と称する)と、第1オペランドアドレスの
示すアドレス境界内部分アドレス(ブロック開始アドレ
スからの変位アドレス)とを求めておいて、非オーバー
ラップ量が第1オペランドアドレスの示すブロック残量
よりも小さいときには、非オーバーラップ量を単位とし
てムーブを行い、大きいときには、そのブロック残量を
単位としムーブを行うようにしている。
【0008】図14に、このムーブ命令を実行するため
に用意されるハードウェア回路の従来構成を図示する。
この図に示すように、従来技術では、ベースレジスタ1
0と、ディスプレースメントレジスタ11と、加算器1
2と、第1のレジスタ13と、第2のレジスタ14と、
演算器15と、第3のレジスタ16と、ラッチ回路17
と、ストアアクセス長生成回路18とを備えることで、
ムーブ命令を実行する構成を採っている。
【0009】このベースレジスタ10は、ムーブ命令で
指定される第1オペランド/第2オペランドのベースレ
ジスタ番号の指すレジスタの内容を保持する。ディスプ
レースメントレジスタ11は、ムーブ命令で指定される
第1オペランド/第2オペランドのディスプレースメン
トを保持する。加算器12は、ベースレジスタ10の保
持値とディスプレースメントレジスタ11の保持値とを
加算することでオペランドアドレスを算出する。
【0010】第1のレジスタ13は、加算器12により
算出されるオペランドアドレスを保持する。第2のレジ
スタ14は、加算器12により算出される第1オペラン
ドアドレスを保持する。演算器15は、ベースレジスタ
10の保持値とディスプレースメントレジスタ11の保
持値との加算値から第1のレジスタ13の保持値を差し
引くことで、第1オペランドアドレスと第2オペランド
アドレスとの間の非オーバーラップ量を算出する。
【0011】第3のレジスタ16は、演算器15により
算出される非オーバーラップ量を保持する。ラッチ回路
17は、第3のレジスタ16が非オーバーラップ量を保
持するときにその旨の表示信号を保持する。ストアアク
セス長生成回路18は、ラッチ回路17が非オーバラッ
プ量の保持を表示するときに、第3のレジスタ16の保
持値と第2のレジスタ14の保持値とから、非オーバー
ラップ量が第1オペランドアドレスの示すブロック残量
よりも小さいときには、非オーバーラップ量をストアア
クセス長として決定し、大きいときには、そのブロック
残量をストアアクセス長として決定する。
【0012】ここで、図中のEA1/EA3は加算器1
2の入力端子、OA1/OA2/OA3は演算器15の
入力端子を示している。従来技術では、このハードウェ
ア回路を使ってパイプライン処理に従ってムーブ命令を
実行する場合、図15に示すように、先ず最初に、第1
フローで、第1オペランドのベースレジスタ番号の指す
レジスタの内容をベースレジスタ10に保持させ、第1
オペランドのディスプレースメントをディスプレースメ
ントレジスタ11に保持させることで、ムーブ先となる
第1オペランドアドレスを算出してそれを第1のレジス
タ13/第2のレジスタ14に保持させる。
【0013】続いて、第2フローで、第2オペランドの
ベースレジスタ番号の指すレジスタの内容をベースレジ
スタ10に保持させ、第2オペランドのディスプレース
メントをディスプレースメントレジスタ11に保持させ
ることで、演算器15を使って、第1オペランドアドレ
スと第2オペランドアドレスとの間の非オーバーラップ
量を算出して、それを第3のレジスタ16に保持させる
とともに、ラッチ回路17にその旨の表示信号を保持さ
せる。更に、加算器12を使って、ムーブ元となる第2
オペランドアドレスを算出して第1のレジスタ13に保
持させ、その第2オペランドアドレスを使ってキャッシ
ュをアクセス(フェッチアクセス)していく。
【0014】続いて、第3フローで、ストアアクセス長
生成回路18を使って、第2のレジスタ14に保持され
る第1オペランドアドレスと、第3のレジスタ16に保
持される非オーバーラップ量とからストアアクセス長を
決定するとともに、再び、第1オペランドのベースレジ
スタ番号の指すレジスタの内容をベースレジスタ10に
保持させ、第1オペランドのディスプレースメントをデ
ィスプレースメントレジスタ11に保持させることで、
第1オペランドアドレスを算出して、決定したストアア
クセス長に従いつつ、第2フローでフェッチした第2オ
ペランドを算出した第1オペランドアドレスにストアす
べくキャッシュにアクセスしていく。
【0015】このようにして、従来では、3つのパイプ
ラインフローに従ってムーブ命令を実行していたのであ
る。
【0016】
【発明が解決しようとする課題】しかしながら、このよ
うな従来技術では、第1フローが主記憶装置にアクセス
することのないダミーフローとなることから、ムーブ命
令を高速に実行できないという問題点があった。
【0017】すなわち、従来技術の第1フローは、第1
オペランドアドレスと第2オペランドアドレスとの間の
非オーバーラップ量の算出準備のために実行されるフロ
ーであり、主記憶装置にアクセスするフローではないこ
とから、ムーブ命令を高速に実行できないという問題点
があったのである。
【0018】本発明はかかる事情に鑑みてなれたもので
あって、パイプラインで命令を実行する構成を採るとき
にあって、ムーブ命令を高速に実行できるようにする新
たな情報処理装置の提供を目的とする。
【0019】
【課題を解決するための手段】図1及び図2に本発明の
原理構成を図示する。図1中、1は本発明を具備する情
報処理装置であって、第1オペランド用ベースレジスタ
/第1オペランド用ディスプレースメント/第2オペラ
ンド用ベースレジスタ/第2オペランド用ディスプレー
スメントを指定する命令形式を実行するものである。
【0020】この情報処理装置1は、本発明を実現する
ために、2つの入力値の加算値を算出する機能を有し
て、第2オペランド用ベースレジスタの内容と、第2オ
ペランド用ディスプレースメントとが入力されるとき
に、その2つの加算値を算出する第1の演算手段2と、
第1オペランド用ディスプレースメントと第2オペラン
ド用ディスプレースメントとの差分値を保持するレジス
タ手段3と、第1の演算手段1と同一サイクルに起動さ
れて、第1オペランド用ベースレジスタの内容と、第2
オペランド用ベースレジスタの内容と、レジスタ手段3
の保持値とから、第1オペランドアドレスと第2オペラ
ンドアドレスとの間の非オーバーラップ量を算出する第
2の演算手段4と、第1の演算手段2と同一サイクルに
起動されて、第1オペランド用ディスプレースメントの
下位ビットと、第1オペランド用ベースレジスタの内容
とから、第1オペランドアドレスの示すアドレス境界内
部分アドレスを算出する第3の演算手段5と、第2の演
算手段4の求める非オーバーラップ量と、第3の演算手
段15の求めるアドレス境界内部分アドレスとから、ム
ーブ命令実行時のストアアクセス長を生成するストアア
クセス長生成手段6とを備える。
【0021】図2に示すように、第1の演算手段2とし
て、インデクスレジスタ/ベースレジスタ/ディスプレ
ースメントを指定する第2の命令形式で使用されて、そ
れらの3つの内容を加算することでオペランドアドレス
を算出する加算器2aを利用する場合には、第2の命令
形式が指定されるときに、加算器2aにベースレジスタ
の内容を入力し、第1の命令形式が指定されるときに、
加算器2aにゼロ値を入力する第1の選択手段7と、第
2の命令形式が指定されるときに、加算器2aにインデ
クスレジスタの内容を入力し、第1の命令形式が指定さ
れるときに、加算器2aにオペランド用ベースレジスタ
の内容を入力する第2の選択手段8と、第2の命令形式
が指定されるときに、加算器2aにディスプレースメン
トを入力し、第1の命令形式が指定されるときに、加算
器2aにオペランド用ディスプレースメントを入力する
第3の選択手段9とを備える。
【0022】この構成に従って、加算器2aは、第1の
命令形式のときには、オペランド用ベースレジスタの内
容と、オペランド用ディスプレースメントとの加算値を
算出することで、第1の演算手段2として動作するとと
もに、第2の命令形式のときには、インデクスレジスタ
の内容と、ベースレジスタの内容と、ディスプレースメ
ントとの加算値を算出することで、第2の命令形式で必
要となる加算器として動作する。
【0023】ここで、ベースレジスタのバイパスルート
と、インデクスレジスタのバイパスルートとが設けられ
るときには、第1の選択手段7は、第2の命令形式が指
定されるときに、ベースレジスタの内容に代えて、それ
に対応するバイスパスデータを入力し、第2の選択手段
8は、第2の命令形式が指定されるときに、インデクス
レジスタの内容に代えて、それに対応するバイスパスデ
ータを入力し、第1の命令形式が指定されるときに、オ
ペランド用ベースレジスタの内容に代えて、それに対応
するバイパスデータを入力する。
【0024】このように構成される本発明の情報処理装
置1では、パイプライン処理に従ってムーブ命令を実行
する場合、先ず最初に、第1フローで、第1の演算手段
2に対して、第2オペランド用ベースレジスタの内容
と、第2オペランド用ディスプレースメントとを入力す
ることで、ムーブ元となる第2オペランドアドレスを算
出してキャッシュをアクセスしていく。このとき、更
に、第2の演算手段4に対して、第1オペランド用ベー
スレジスタの内容と、第2オペランド用ベースレジスタ
の内容と、レジスタ手段3の保持値とを入力すること
で、第1オペランドアドレスと第2オペランドアドレス
との間の非オーバーラップ量を算出し、更に、第3の演
算手段9に対して、第1オペランド用ディスプレースメ
ントの下位ビットと、第1オペランド用ベースレジスタ
の内容とを入力することで、第1オペランドアドレスの
示すアドレス境界内部分アドレスを算出する。
【0025】続いて、第2フローで、第1の演算手段2
に対して、第1オペランド用ベースレジスタの内容と、
第1オペランド用ディスプレースメントとを入力するこ
とで、ムーブ先となる第1オペランドアドレスを算出す
ることになるが、このとき、ストアアクセス長生成手段
6は、第1フローで求まった非オーバーラップ量と第1
オペランドアドレスの示すアドレス境界内部分アドレス
とを使って、ムーブ命令実行時のストアアクセス長を生
成できるので、この第2フローでもって、第1フローで
フェッチした第2オペランドを第1オペランドアドレス
にストアできるようになる。
【0026】このように、本発明によれば、2つのパイ
プラインフローに従ってムーブ命令を実行できるように
なるので、3つのパイプラインフローに従ってムーブ命
令を実行する従来技術に比べて、高速にムーブ命令を実
行できるようになる。
【0027】
【発明の実施の形態】以下、実施の形態に従って本発明
を詳細に説明する。図3に、本発明の一実施例を図示す
る。
【0028】この図に示すように、本発明では、ベース
レジスタ20と、ディスプレースメントレジスタ21
と、第2のベースレジスタ22と、差分レジスタ23
と、下位ビットレジスタ24と、加算器25と、第1の
レジスタ26と、演算器27と、第2のレジスタ28
と、ラッチ回路29と、第2の加算器30と、第3のレ
ジスタ31と、ストアアクセス長生成回路32とを備え
ることで、ムーブ命令を実行する構成を採っている。
【0029】このベースレジスタ20は、ムーブ命令で
指定される第1オペランド/第2オペランドのベースレ
ジスタ番号の指すレジスタの内容を保持する。ディスプ
レースメントレジスタ21は、ムーブ命令で指定される
第1オペランド/第2オペランドのディスプレースメン
トを保持する。第2のベースレジスタ22は、ムーブ命
令で指定される第1オペランドのベースレジスタ番号の
指すレジスタの内容を保持する。差分レジスタ23は、
ムーブ命令で指定される第2オペランドのディスプレー
スメントから、ムーブ命令で指定される第1オペランド
のディスプレースメントを差し引いた差分値を保持す
る。下位ビットレジスタ24は、ムーブ命令で指定され
る第1オペランドのディスプレースメントの下位3ビッ
トを保持する。
【0030】加算器25は、ベースレジスタ20の保持
値とディスプレースメントレジスタ21の保持値とを加
算することでオペランドアドレスを算出する。第1のレ
ジスタ26は、加算器25により算出されるオペランド
アドレスを保持する。演算器27は、ベースレジスタ2
0の保持値と第2のベースレジスタ22の保持値との差
分値に、差分レジスタ23の保持値を加算することで、
第1オペランドアドレスと第2オペランドアドレスとの
間の非オーバーラップ量を算出する。第2のレジスタ2
8は、演算器27により算出される非オーバーラップ量
を保持する。ラッチ回路29は、第2のレジスタ28が
非オーバーラップ量を保持するときにその旨の表示信号
を保持する。
【0031】第2の加算器30は、第2のベースレジス
タ22の保持値と下位ビットレジスタ24の保持値とを
加算することで、第1オペランドアドレスの示すアドレ
ス境界内部分アドレス(8バイトで構成されるブロック
の先頭アドレスからの変位アドレス)を算出する。第3
のレジスタ31は、第2の加算器30により算出される
第1オペランドアドレスの示すアドレス境界内部分アド
レスを保持する。ストアアクセス長生成回路32は、ラ
ッチ回路29が非オーバラップ量保持を表示するとき
に、第2のレジスタ28の保持値と第3のレジスタ31
の保持値とから、非オーバーラップ量が第1オペランド
アドレスの示すブロック残量よりも小さいときには、非
オーバーラップ量をストアアクセス長として決定し、大
きいときには、そのブロック残量をストアアクセス長と
して決定する。
【0032】ここで、図中のEA1/EA3は加算器2
5の入力端子、OA1/OA2/OA3は演算器27の
入力端子を示している。本発明では、このハードウェア
回路を使ってパイプライン処理に従ってムーブ命令を実
行する場合、図4に示すように、先ず最初に、第1フロ
ーで、第2オペランドのベースレジスタ番号の指すレジ
スタの内容をベースレジスタ20に保持させ、第2オペ
ランドのディスプレースメントをディスプレースメント
レジスタ21に保持させることで、ムーブ元となる第2
オペランドアドレスを算出して、その第2オペランドア
ドレスを使ってキャッシュをアクセス(フェッチアクセ
ス)していく。
【0033】更に、この第1フローでは、演算器27を
使って、ベースレジスタ20の保持する第2オペランド
のベースレジスタ番号の指すレジスタの内容から、第2
のベースレジスタ22の保持する第1オペランドのベー
スレジスタ番号の指すレジスタの内容を差し引いたもの
に、差分レジスタ23の保持する第1オペランドのディ
スプレースメントと第2オペランドのディスプレースメ
ントとの差分値を加算することで、第1オペランドアド
レスと第2オペランドアドレスとの間の非オーバーラッ
プ量を算出して、第2のレジスタ28に保持させてい
く。
【0034】更に、この第1フローでは、第2の加算器
30を使って、第2のベースレジスタ22の保持する第
1オペランドのベースレジスタ番号の指すレジスタの内
容と、下位ビットレジスタ24の保持する第1オペラン
ドのディスプレースメントの下位3ビットとを加算する
ことで、第1オペランドアドレスの示すアドレス境界内
部分アドレスを算出して、第3のレジスタ31に保持さ
せていく。
【0035】続いて、第2フローで、ストアアクセス長
生成回路32を使って、第2のレジスタ28に保持され
る非オーバーラップ量と、第3のレジスタ31に保持さ
れる第1オペランドアドレスの示すアドレス境界内部分
アドレスとからストアアクセス長を決定するとともに、
第1オペランドのベースレジスタ番号の指すレジスタの
内容をベースレジスタ20に保持させ、第1オペランド
のディスプレースメントをディスプレースメントレジス
タ21に保持させることで、ムーブ先となる第1オペラ
ンドアドレスを算出して、決定したストアアクセス長に
従いつつ、第2フローでフェッチした第2オペランド
を、その算出した第1オペランドアドレスにストアすべ
くキャッシュにアクセスしていく。
【0036】このようにして、本発明では、2つのパイ
プラインフローに従ってムーブ命令を実行できるように
なるで、従来技術よりも高速にムーブ命令を実行できる
ようになるのである。
【0037】ムーブ命令は、図13に示した第1の命令
形式をとる命令であるが、情報処理装置では、通常、図
5に示すような、オペコード(I0)と、インデクスレ
ジスタ番号(I2)と、ベースレジスタ番号(I3)
と、ディスプレースメント(I4)とを指定する命令形
式(以下、第2の命令形式と称する)の命令を実行する
ことになる。
【0038】この第2の命令形式の命令を実行するため
に、情報処理装置では、図6に示すように、レジスタフ
ァイル40から読み出されるベースレジスタ番号の指す
レジスタの内容を保持するベースレジスタ41と、レジ
スタファイル40から読み出されるインデクスレジスタ
番号の指すレジスタの内容を保持するインデクスレジス
タ42と、ディスプレースメントを保持するディスプレ
ースメントレジスタ43と、ベースレジスタ41の保持
値とインデクスレジスタ42の保持値とディスプレース
メントレジスタ42の保持値とを加算することでオペラ
ンドアドレスを算出する加算器44とを備える構成を採
っている。
【0039】ここで、図中、45はベース用バイパス回
路であって、ベースレジスタ41に書き込まれるデータ
を、レジスタファイル40からではなくバスから直接読
み取ってベースレジスタ41に書き込むことで命令の高
速処理を実行するもの、46はインデクス用バイパス回
路であって、インデクスレジスタ42に書き込まれるデ
ータを、レジスタファイル40からではなくバスから直
接読み取ってインデクスレジスタ42に書き込むことで
命令の高速処理を実行するものである。このベース用バ
イパス回路45及びインデクス用バイパス回路46は、
備えられないこともある。
【0040】図7に、この図6のハードウェア回路を利
用する本発明の一実施例を図示する。ここで、図中、図
3及び図6で説明したものと同じものについては同一の
記号で示してある。なお、この図では、図3に示した下
位ビットレジスタ24/第1のレジスタ26/第2のレ
ジスタ28/ラッチ回路29/第2の加算器30/第3
のレジスタ31/ストアアクセス長生成回路32につい
ては省略してある。
【0041】この実施例では、第2の命令形式の命令の
実行のために用意される加算器44を、図3で示した加
算器25の代わりに用いるとともに、第2の命令形式の
命令の実行のために用意されるインデクスレジスタ42
を、図3で示したベースレジスタ20の代わりに用いる
ことで、本発明を実現する場合に必要とされるハードウ
ェア量の増加を最小限に抑える構成を採るものであっ
て、図6に示したレジスタファイル40/ベースレジス
タ41/インデクスレジスタ42/ディスプレースメン
トレジスタ43/加算器44/ベース用バイパス回路4
5/インデクス用バイパス回路46と、図3に示した第
2のベースレジスタ22/差分レジスタ23/演算器2
7の他に、デコーダ50と、第1のセレクタ51と、第
2のセレクタ52と、第3のセレクタ53と、第4のセ
レクタ54と、第5のセレクタ55と、差分アドレス算
出回路56とを備える。
【0042】このデコーダ50は、命令のオペコード
(I0)を解読することで、実行する命令が第1の命令
形式のものであるのか、第2の命令形式のものであるの
かを判断する。
【0043】第1のセレクタ51は、第1の命令形式の
第2オペランドのベースレジスタ番号(I5)と、第2
の命令形式のインデクスレジスタ番号(I2)とを入力
として、デコーダ50が第1の命令形式であることを検
出するときに、第1の命令形式の第2オペランドのベー
スレジスタ番号(I5)をレジスタファイル40/イン
デクス用バイパス回路46に入力し、デコーダ50が第
2の命令形式であることを検出するときに、第2の命令
形式のインデクスレジスタ番号(I2)をレジスタファ
イル40/インデクス用バイパス回路46に入力する。
【0044】第2のセレクタ52は、第1の命令形式の
第2オペランドのディスプレースメント(I6)と、第
2の命令形式のディスプレースメント(I4)とを入力
として、デコーダ50が第1の命令形式であることを検
出するときに、第1の命令形式の第2オペランドのディ
スプレースメント(I6)をディスプレースメントレジ
スタ43に入力し、デコーダ50が第2の命令形式であ
ることを検出するときに、第2の命令形式のディスプレ
ースメント(I4)をディスプレースメントレジスタ4
3に入力する。
【0045】第3のセレクタ53は、ゼロ値と、レジス
タファイル40の出力するベースレジスタの内容と、ベ
ース用バイパス回路45の出力するベースレジスタの内
容とを入力として、デコーダ50が第1の命令形式であ
ることを検出するときに、ゼロ値をベースレジスタ41
に入力し、デコーダ50が第2の命令形式であることを
検出するときにあって、ベース用バイパス回路45が備
えられるときには、ベース用バイパス回路45の出力す
るベースレジスタの内容をベースレジスタ41に入力
し、備えられないときには、レジスタファイル40の出
力するベースレジスタの内容をベースレジスタ41に入
力する。
【0046】第4のセレクタ54は、ベース用バイパス
回路45の出力するベースレジスタの内容と、レジスタ
ファイル40の出力するベースレジスタの内容とを入力
として、デコーダ50が第1の命令形式であることを検
出するときにあって、ベース用バイパス回路45が備え
られるときには、ベース用バイパス回路45の出力する
ベースレジスタの内容を第2のベースレジスタ22に入
力し、備えられないときには、レジスタファイル40の
出力するベースレジスタの内容を第2のベースレジスタ
22に入力する。
【0047】第5のセレクタ回路55は、インデクス用
バイパス回路46の出力するインデクスレジスタの内容
と、レジスタファイル40の出力するインデクスレジス
タの内容とを入力として、インデクス用バイパス回路4
6が備えられるときには、インデクス用バイパス回路4
6の出力値をインデクスレジスタ43に入力し、備えら
れないときには、レジスタファイル40の出力値をイン
デクスレジスタ42に入力する。
【0048】差分アドレス算出回路56は、第1の命令
形式の第1オペランドのディスプレースメント(I4)
と、第1の命令形式の第2オペランドのディスプレース
メント(I6)とを入力として、この2つのディスプレ
ースメントの差分値を算出して差分レジスタ23に入力
する。この差分アドレス算出回路56は、図3の実施例
では省略したが、図3の実施例でも備えられるものであ
る。
【0049】ここで、第1の命令形式の第1オペランド
のベースレジスタ番号(I3)と、第2の命令形式のベ
ースレジスタ番号(I3)は、ベース用バイパス回路4
5及びレジスタファイル40に入力するように構成され
ている。また、第2の命令形式の命令の実行のために用
意されるインデクスレジスタ42を、図3で示したベー
スレジスタ20の代わりに用いているので、演算器27
は、インデクスレジスタ42の保持値と第2のベースレ
ジスタ22の保持値との差分値に、差分レジスタ23の
保持値を加算する処理を行う。
【0050】このように構成される図7の実施例では、
ベース用バイパス回路45及びインデクス用バイパス回
路46が備えられないときにあって、デコーダ50が第
2の命令形式であることを検出すると、図8に示すよう
に、第1のセレクタ51が、第2の命令形式のインデク
スレジスタ番号(I2)をレジスタファイル40に入力
し、第2のセレクタ52が、第2の命令形式のディスプ
レースメント(I4)をディスプレースメントレジスタ
43に入力し、第3のセレクタ53が、レジスタファイ
ル40の出力するベースレジスタの内容をベースレジス
タ41に入力し、第5のセレクタ回路55が、レジスタ
ファイル40の出力するインデクスレジスタの内容をイ
ンデクスレジスタ42に入力するので、第2の命令形式
の命令が実行されることになる。
【0051】また、このように構成される図7の実施例
では、ベース用バイパス回路45及びインデクス用バイ
パス回路46が備えられるときにあって、デコーダ50
が第2の命令形式であることを検出すると、図9に示す
ように、第1のセレクタ51が、第2の命令形式のイン
デクスレジスタ番号(I2)をインデクス用バイパス回
路46に入力し、第2のセレクタ52が、第2の命令形
式のディスプレースメント(I4)をディスプレースメ
ントレジスタ43に入力し、第3のセレクタ53が、ベ
ース用バイパス回路45の出力するベースレジスタの内
容をベースレジスタ41に入力し、第5のセレクタ回路
55が、インデクス用バイパス回路46の出力するイン
デクスレジスタの内容をインデクスレジスタ42に入力
するので、第2の命令形式の命令がベース用バイパス回
路45及びインデクス用バイパス回路46を使って実行
されることになる。
【0052】また、このように構成される図7の実施例
では、ベース用バイパス回路45及びインデクス用バイ
パス回路46が備えられないときにあって、デコーダ5
0が第1の命令形式であることを検出すると、図10に
示すように、第1のセレクタ51が、第1の命令形式の
第2オペランドのベースレジスタ番号(I5)をレジス
タファイル40に入力し、第2のセレクタ52が、第1
の命令形式の第2オペランドのディスプレースメント
(I6)をディスプレースメントレジスタ43に入力
し、差分アドレス算出回路56が、第1の命令形式の第
1オペランドのディスプレースメント(I4)と、第1
の命令形式の第2オペランドのディスプレースメント
(I6)との差分値を算出して差分レジスタ23に入力
し、第3のセレクタ53が、ゼロ値をベースレジスタ4
1に入力し、第4のセレクタ54が、レジスタファイル
40の出力するベースレジスタの内容(第1オペランド
のベースレジスタ番号(I3)の指す内容)を第2のベ
ースレジスタ22に入力し、第5のセレクタ回路55
が、レジスタファイル40の出力するベースレジスタの
内容(第2オペランドのベースレジスタ番号(I5)の
指す内容)をインデクスレジスタ42に入力するので、
図3と等価な回路が実現できることで、本発明に従って
2つのパイプラインフローに従ってムーブ命令が高速さ
れることになる。
【0053】また、このように構成される図7の実施例
では、ベース用バイパス回路45及びインデクス用バイ
パス回路46が備えられるときにあって、デコーダ50
が第1の命令形式であることを検出すると、図11に示
すように、第1のセレクタ51が、第1の命令形式の第
2オペランドのベースレジスタ番号(I5)をベース用
バイパス回路46に入力し、第2のセレクタ52が、第
1の命令形式の第2オペランドのディスプレースメント
(I6)をディスプレースメントレジスタ43に入力
し、差分アドレス算出回路56が、第1の命令形式の第
1オペランドのディスプレースメント(I4)と、第1
の命令形式の第2オペランドのディスプレースメント
(I6)との差分値を算出して差分レジスタ23に入力
し、第3のセレクタ53が、ゼロ値をベースレジスタ4
1に入力し、第4のセレクタ54が、ベース用バイパス
回路45の出力するベースレジスタの内容(第1オペラ
ンドのベースレジスタ番号(I3)の指す内容)を第2
のベースレジスタ22に入力し、第5のセレクタ回路5
5が、インデクス用バイパス回路46の出力するベース
レジスタの内容(第2オペランドのベースレジスタ番号
(I5)の指す内容)をインデクスレジスタ42に入力
するので、図3と等価な回路が実現できることで、本発
明に従って2つのパイプラインフローに従ってムーブ命
令が高速されることになる。
【0054】このようにして、図7の実施例に従って、
第2の命令形式の命令実行に使用する加算器44を、図
3で示した加算器25の代わりに用いるとともに、第2
の命令形式の命令実行に使用するインデクスレジスタ4
2を、図3で示したベースレジスタ20の代わりに用い
つつ、第1の命令形式のムーブ命令を本発明に従って実
行できるようになるのである。
【0055】
【発明の効果】以上説明したように、本発明によれば、
2つのパイプラインフローに従ってムーブ命令を実行で
きるようになるので、3つのパイプラインフローに従っ
てムーブ命令を実行する従来技術に比べて、高速にムー
ブ命令を実行できるようになる。
【0056】しかも、ムーブ命令とは異なる命令形式の
命令についても実行する構成を採る場合に、最小限のハ
ードウェア量の増加でもってムーブ命令の高速化を実現
できるようになる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の原理構成図である。
【図3】本発明の一実施例である。
【図4】本発明のタイムチャートである。
【図5】第2の命令形式の説明図である。
【図6】第2の命令形式の命令実行用のハードウェア回
路である。
【図7】本発明の一実施例である。
【図8】本発明の動作説明図である。
【図9】本発明の動作説明図である。
【図10】本発明の動作説明図である。
【図11】本発明の動作説明図である。
【図12】パイプライン処理の説明図である。
【図13】第1の命令形式の説明図である。
【図14】従来技術の説明図である。
【図15】従来技術のタイムチャートである。
【符号の説明】
1 情報処理装置 2 第1の演算手段 2a 加算器 3 レジスタ手段 4 第2の演算手段 5 第3の演算手段 6 ストアアクセス長生成手段 7 第1の選択手段 8 第2の選択手段 9 第3の選択手段
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/30 - 9/38

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 第1オペランド用ベースレジスタ/第1
    オペランド用ディスプレースメント/第2オペランド用
    ベースレジスタ/第2オペランド用ディスプレースメン
    トを指定する命令形式を実行する情報処理装置におい
    て、 2つの入力値の加算値を算出する機能を有して、第2オ
    ペランド用ベースレジスタの内容と、第2オペランド用
    ディスプレースメントとが入力されるときに、その2つ
    の加算値を算出する第1の演算手段と、 第1オペランド用ディスプレースメントと第2オペラン
    ド用ディスプレースメントとの差分値を保持するレジス
    タ手段と、 上記第1の演算手段と同一サイクルに起動されて、第1
    オペランド用ベースレジスタの内容と、第2オペランド
    用ベースレジスタの内容と、上記レジスタ手段の保持値
    とから、第1オペランドアドレスと第2オペランドアド
    レスとの差分値を算出する第2の演算手段とを備えるこ
    とを、 特徴とする情報処理装置。
  2. 【請求項2】 請求項1記載の情報処理装置において、 第1の演算手段と同一サイクルに起動されて、第1オペ
    ランド用ディスプレースメントの下位ビットと、第1オ
    ペランド用ベースレジスタの内容とから、第1オペラン
    ドアドレスの示すアドレス境界内部分アドレスを算出す
    る第3の演算手段を備えることを、 特徴とする情報処理装置。
  3. 【請求項3】 請求項1又は2記載の情報処理装置にお
    いて、 第1の演算手段として、ベースレジスタ/インデクスレ
    ジスタ/ディスプレースメントを指定する第2の命令形
    式で使用されて、それらの3つの内容を加算することで
    オペランドアドレスを算出する加算器を使用する構成を
    採り、 かつ、第2の命令形式が指定されるときに、上記加算器
    にベースレジスタの内容を入力し、第1の命令形式が指
    定されるときに、上記加算器にゼロ値を入力する第1の
    選択手段と、 第2の命令形式が指定されるときに、上記加算器にイン
    デクスレジスタの内容を入力し、第1の命令形式が指定
    されるときに、上記加算器にオペランド用ベースレジス
    タの内容を入力する第2の選択手段と、 第2の命令形式が指定されるときに、上記加算器にディ
    スプレースメントを入力し、第1の命令形式が指定され
    るときに、上記加算器にオペランド用ディスプレースメ
    ントを入力する第3の選択手段とを備えることを、 特徴とする情報処理装置。
  4. 【請求項4】 請求項3記載の情報処理装置において、 第1の選択手段は、第2の命令形式が指定されるとき
    に、ベースレジスタの内容に代えて、それに対応するバ
    イスパスデータを入力し、 第2の選択手段は、第2の命令形式が指定されるとき
    に、インデクスレジスタの内容に代えて、それに対応す
    るバイスパスデータを入力し、第1の命令形式が指定さ
    れるときに、オペランド用ベースレジスタの内容に代え
    て、それに対応するバイパスデータを入力することを、 特徴とする情報処理装置。
JP02500796A 1996-02-13 1996-02-13 情報処理装置 Expired - Fee Related JP3523407B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02500796A JP3523407B2 (ja) 1996-02-13 1996-02-13 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02500796A JP3523407B2 (ja) 1996-02-13 1996-02-13 情報処理装置

Publications (2)

Publication Number Publication Date
JPH09218785A JPH09218785A (ja) 1997-08-19
JP3523407B2 true JP3523407B2 (ja) 2004-04-26

Family

ID=12153889

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02500796A Expired - Fee Related JP3523407B2 (ja) 1996-02-13 1996-02-13 情報処理装置

Country Status (1)

Country Link
JP (1) JP3523407B2 (ja)

Also Published As

Publication number Publication date
JPH09218785A (ja) 1997-08-19

Similar Documents

Publication Publication Date Title
US5001662A (en) Method and apparatus for multi-gauge computation
JP3649470B2 (ja) データ処理装置
JP2008146544A (ja) 演算処理装置
JP2551167B2 (ja) マイクロコンピュータ
JPH034936B2 (ja)
JP3523407B2 (ja) 情報処理装置
JP3570287B2 (ja) マイクロコンピュータ
JP2553200B2 (ja) 情報処理装置
JPS6120889B2 (ja)
US6275925B1 (en) Program execution method and program execution device
JPH0222413B2 (ja)
JP2885197B2 (ja) 演算処理装置及び演算処理方法
JP2812610B2 (ja) パイプライン制御方式
JPH07110769A (ja) Vliw型計算機
JPH1173301A (ja) 情報処理装置
JPH07191911A (ja) アドレス変換装置及びマイクロプロセッサ算出方法
JP5263497B2 (ja) 信号処理プロセッサ及び半導体装置
JP2001092633A (ja) 複数の結果を出力する命令を有する演算装置
JP2764947B2 (ja) 命令制御方式
JPS586972B2 (ja) 情報処理装置
JPS6411973B2 (ja)
JP3014701B2 (ja) 情報処理装置
JP2912067B2 (ja) 調速処理装置及びデバッグ装置
JPS60179844A (ja) 命令再読出し制御方式
JPH0234058B2 (ja)

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040120

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040206

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080220

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090220

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090220

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100220

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110220

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110220

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140220

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees