JPH0619712B2 - アドレス生成制御方式 - Google Patents
アドレス生成制御方式Info
- Publication number
- JPH0619712B2 JPH0619712B2 JP60288789A JP28878985A JPH0619712B2 JP H0619712 B2 JPH0619712 B2 JP H0619712B2 JP 60288789 A JP60288789 A JP 60288789A JP 28878985 A JP28878985 A JP 28878985A JP H0619712 B2 JPH0619712 B2 JP H0619712B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- address
- contents
- information
- operand
- 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
- 238000000034 method Methods 0.000 title description 17
- 230000010365 information processing Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 description 17
- 230000004048 modification Effects 0.000 description 17
- 230000000694 effects Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理装置のアドレス生成制御方式、特
に、アドレス生成を用いるレジスタの内容が、アドレス
指定フィールドによりモディファイされるアドレス指定
方式を持つ情報処理装置のアドレス生成制御方式に関す
る。
に、アドレス生成を用いるレジスタの内容が、アドレス
指定フィールドによりモディファイされるアドレス指定
方式を持つ情報処理装置のアドレス生成制御方式に関す
る。
従来技術を説明する前に、本発明の制御対象となるアド
レス生成について具体的に説明する。
レス生成について具体的に説明する。
本発明の対象となるアドレス指定方式の具体的なものと
しては次に示す二つのものが広く知られている。一つ
は、レジスタの内容をアドレス計算前に語長などで示さ
れる値だけ減算し、その減算した値をアドレス計算に用
いるプリディクリメント方式、もう一つはレジスタの内
容をそのままアドレス計算に用いるが、アドレス計算後
に語長などで示される値だけ加えたものを同一のレジス
タへ書き込んでおくポストインクリメント方式がある。
なおこれらを総称して以下レジスタモディファイ方式と
呼ぶ。
しては次に示す二つのものが広く知られている。一つ
は、レジスタの内容をアドレス計算前に語長などで示さ
れる値だけ減算し、その減算した値をアドレス計算に用
いるプリディクリメント方式、もう一つはレジスタの内
容をそのままアドレス計算に用いるが、アドレス計算後
に語長などで示される値だけ加えたものを同一のレジス
タへ書き込んでおくポストインクリメント方式がある。
なおこれらを総称して以下レジスタモディファイ方式と
呼ぶ。
従来、レジスタモディファイ方式の制御に用いられてい
る制御回路の一構成例を第3図に示す。
る制御回路の一構成例を第3図に示す。
31は、アドレスフィールデコーダで、命令コード中の
アドレスフィールド311が入力され、各種のアドレス
生成情報をデコードし、デコード信号線312を通して
制御回路32を制御する。32は、デコーダ31からの
デコード信号線312からの情報により、レジスタ群3
3の読み出し/書き込み、およびインクリメンタ/ディ
クリメンタを制御する制御回路である。33は少なくと
もアドレス計算に用いるアドレス情報を保持しているレ
ジスタ群であり、制御線314を通して、制御回路32
の読み出し/書き込み制御を受ける。34は、制御回路
32から出力される制御線313の制御でレジスタ群3
3の一つのレジスタ内容を出力することのできるデータ
線315の内容をインクリメントまたはディクリメント
することのできるインクリメンタ/ディクリメンタであ
る。
アドレスフィールド311が入力され、各種のアドレス
生成情報をデコードし、デコード信号線312を通して
制御回路32を制御する。32は、デコーダ31からの
デコード信号線312からの情報により、レジスタ群3
3の読み出し/書き込み、およびインクリメンタ/ディ
クリメンタを制御する制御回路である。33は少なくと
もアドレス計算に用いるアドレス情報を保持しているレ
ジスタ群であり、制御線314を通して、制御回路32
の読み出し/書き込み制御を受ける。34は、制御回路
32から出力される制御線313の制御でレジスタ群3
3の一つのレジスタ内容を出力することのできるデータ
線315の内容をインクリメントまたはディクリメント
することのできるインクリメンタ/ディクリメンタであ
る。
このような構成をもったアドレス生成制御回路で、前記
レジスタモディファイを制御する場合は、以下のように
なる。
レジスタモディファイを制御する場合は、以下のように
なる。
命令コード中のアドレスフィールド311をデコーダ3
1はデコードし、レジスタモディファイであることを検
出した場合に、デコード信号線312によって制御回路
32がどのように動作するかを述べる。
1はデコードし、レジスタモディファイであることを検
出した場合に、デコード信号線312によって制御回路
32がどのように動作するかを述べる。
プリディクリメントでは、制御回路32は、制御線31
4を用いてまずデコーダ31で指定されたレジスタの内
容がデータ線315へ出力される。次に制御線313を
用いてデータ線315の内容をディクリメントしデータ
線315に書きもどす。データ線15のディクリメント
された内容が、読み出されたと同一のレジスタに制御線
314によって書き込まれる。再度同じレジスタの内容
がデータ線316を通してアドレス加算器へ送られる。
4を用いてまずデコーダ31で指定されたレジスタの内
容がデータ線315へ出力される。次に制御線313を
用いてデータ線315の内容をディクリメントしデータ
線315に書きもどす。データ線15のディクリメント
された内容が、読み出されたと同一のレジスタに制御線
314によって書き込まれる。再度同じレジスタの内容
がデータ線316を通してアドレス加算器へ送られる。
ポストインクリメントでは、まずデコーダで指定された
レジスタの内容がデータ線316へ送り出されアドレス
加算器へ送られる。そしてこのレジスタと同じ内容がデ
ータ線315へ送られ、制御線313の制御下でインク
リメンタディクリメンタ34によってインクリメントさ
れ現在アドレス計算されている命令が命令実行部で処理
された後データ線315へ書き戻され、読み出した時と
同じレジスタに書き戻される。
レジスタの内容がデータ線316へ送り出されアドレス
加算器へ送られる。そしてこのレジスタと同じ内容がデ
ータ線315へ送られ、制御線313の制御下でインク
リメンタディクリメンタ34によってインクリメントさ
れ現在アドレス計算されている命令が命令実行部で処理
された後データ線315へ書き戻され、読み出した時と
同じレジスタに書き戻される。
上述した制御回路でオペランドのアドレス計算のための
レジスタモディファイ制御を実行しようとしたと、オペ
ランドのアドレス計算にレジスタモディファイが指定さ
れるごとにレジスタの内容を変える必要がある。もし一
命令中に2つ以上のオペランドが存在する場合でも、オ
ペランドのアドレス計算時にレジスタモディファイが指
定されるたびにレジスタの内容を変更するために、レジ
スタモディファイの指定にしたがってインクリメントま
たはディクリメントする必要がある。そのために命令デ
コード/アドレス計算を処理するユニット(以下命令デ
コード/アドレス計算部と呼ぶ)の命令を実行するユニ
ット(以下命令実行部と呼ぶ)の2ステージで命令をパ
イプライン化して処理する場合、命令デコード/アドレ
ス計算部がレジスタモディファイを指定されても、命令
実行部で行なわれている命令の中にレジスタモディファ
イ指定となるレジスタがある場合、命令実行部によって
そのレジスタの使用が終了するまでは、命令デコード/
アドレス計算部で命令実行部の動作とは無関係にレジス
タモディファイし(命令実行部でそのレジスタを使用す
る前に内容が変わってしまうことがある)、アドレス計
算を行なうことができない。そのためにパイプラインが
止まってしまう欠点があった。
レジスタモディファイ制御を実行しようとしたと、オペ
ランドのアドレス計算にレジスタモディファイが指定さ
れるごとにレジスタの内容を変える必要がある。もし一
命令中に2つ以上のオペランドが存在する場合でも、オ
ペランドのアドレス計算時にレジスタモディファイが指
定されるたびにレジスタの内容を変更するために、レジ
スタモディファイの指定にしたがってインクリメントま
たはディクリメントする必要がある。そのために命令デ
コード/アドレス計算を処理するユニット(以下命令デ
コード/アドレス計算部と呼ぶ)の命令を実行するユニ
ット(以下命令実行部と呼ぶ)の2ステージで命令をパ
イプライン化して処理する場合、命令デコード/アドレ
ス計算部がレジスタモディファイを指定されても、命令
実行部で行なわれている命令の中にレジスタモディファ
イ指定となるレジスタがある場合、命令実行部によって
そのレジスタの使用が終了するまでは、命令デコード/
アドレス計算部で命令実行部の動作とは無関係にレジス
タモディファイし(命令実行部でそのレジスタを使用す
る前に内容が変わってしまうことがある)、アドレス計
算を行なうことができない。そのためにパイプラインが
止まってしまう欠点があった。
また従来技術の一つでは、これらの欠点を解決するため
に命令実行部と同一のレジスタ群を命令デコード/アド
レス計算部において、命令実行部とは独立してレジスタ
モディファイを制御する方法もあった。しかしこの方法
では、レジスタの規模が大きくなりすぎる点、また、命
令実行部でレジスタ書き込みが生じたとき、その内容も
命令デコード/アドレス計算部へ書き写さなればならな
い点を逆に、命令デコード/アドレス計算部でモディフ
ァイされたレジスタの内容も命令実行部へ書き写さなけ
ればならないので制御が複雑となる欠点があった。
に命令実行部と同一のレジスタ群を命令デコード/アド
レス計算部において、命令実行部とは独立してレジスタ
モディファイを制御する方法もあった。しかしこの方法
では、レジスタの規模が大きくなりすぎる点、また、命
令実行部でレジスタ書き込みが生じたとき、その内容も
命令デコード/アドレス計算部へ書き写さなればならな
い点を逆に、命令デコード/アドレス計算部でモディフ
ァイされたレジスタの内容も命令実行部へ書き写さなけ
ればならないので制御が複雑となる欠点があった。
本発明は上記実情に鑑みてなされたもので、その目的と
する所は少ないハードウェア量においてもパイプライン
の乱れの少ない、レジスタモディファイの制御を実現す
る情報処理装置を提供することにある。
する所は少ないハードウェア量においてもパイプライン
の乱れの少ない、レジスタモディファイの制御を実現す
る情報処理装置を提供することにある。
本発明によれば、 アドレス生成に用いるレジスタの内容が、命令コード中
のアドレスフィールドの指定によってモディファイされ
るアドレス指定方式を持つ情報処理装置において、 アドレス生成に用いるレジスタと、前記レジスタの内容
を補正するための定数発生器と、前記レジスタの内容と
前記定数発生器から発生する定数とを加算する加算器
と、命令コード中のアドレスフィールドをデコードする
アドレスフィールドデコーダと、オペランド毎にそのオ
ペランドの所定のアドレス生成情報を記憶しておくアド
レス情報保持回路とを具備し、オペランドのメモリアド
レス計算時に、前記アドレス情報保持回路に保持された
内容と、前記オペランドのための前記アドレスフィール
ドデコーダより出力されるアドレス生成情報とによっ
て、前記定数発生器中の定数を選択し、前記レジスタの
内容を選択された前記定数を用いて前記加算器によって
補正することを特徴とするアドレス生成制御方式が得ら
れる。
のアドレスフィールドの指定によってモディファイされ
るアドレス指定方式を持つ情報処理装置において、 アドレス生成に用いるレジスタと、前記レジスタの内容
を補正するための定数発生器と、前記レジスタの内容と
前記定数発生器から発生する定数とを加算する加算器
と、命令コード中のアドレスフィールドをデコードする
アドレスフィールドデコーダと、オペランド毎にそのオ
ペランドの所定のアドレス生成情報を記憶しておくアド
レス情報保持回路とを具備し、オペランドのメモリアド
レス計算時に、前記アドレス情報保持回路に保持された
内容と、前記オペランドのための前記アドレスフィール
ドデコーダより出力されるアドレス生成情報とによっ
て、前記定数発生器中の定数を選択し、前記レジスタの
内容を選択された前記定数を用いて前記加算器によって
補正することを特徴とするアドレス生成制御方式が得ら
れる。
次に本発明について図面を参照して説明する。
第1図は、本発明の一実施例を示す構成図である。
1は、デコーダで、命令コード中のアドレスフィールド
が入力され、各種のアドレス生成情報を作成し、デコー
ド線12を通してアドレス情報保持回路を、デコード線
13を通して制御回路4を制御する。2は、デコーダ1
で解読されたデコード情報の内、レジスタモディファイ
に関係する情報を保持するアドレス情報保持回路(以下
単に保持回路と呼ぶ)。3は、レジスタ群8から読み出
されたアドレスを補正するための定数発生器である。4
は、レジスタ群8の中でアドレス計算に必要なレジスタ
を読み出すための制御信号を発生する制御回路である。
5は、定数発生器3から出力される定数と、レジスタ群
8から読み出されるアドレスとを加算する加算器であ
る。なおこの加算器は、通常のアドレス生成に用いる加
算器でもよいし、本目的のための専用の加算器でもよ
い。6は、命令実行部でのレジスタ群8の読み出し/書
き込みおよびインクリメンタ/ディクリメンタ7の制御
を行なう制御回路である。7は、制御回路6の指示に基
づき、レジスタ群8の中の一つのレジスタの内容をモデ
ィファイするインクリメンタ/ディクリメンタである。
8は少なくともアドレスを保持することのできるレジス
タ群である。
が入力され、各種のアドレス生成情報を作成し、デコー
ド線12を通してアドレス情報保持回路を、デコード線
13を通して制御回路4を制御する。2は、デコーダ1
で解読されたデコード情報の内、レジスタモディファイ
に関係する情報を保持するアドレス情報保持回路(以下
単に保持回路と呼ぶ)。3は、レジスタ群8から読み出
されたアドレスを補正するための定数発生器である。4
は、レジスタ群8の中でアドレス計算に必要なレジスタ
を読み出すための制御信号を発生する制御回路である。
5は、定数発生器3から出力される定数と、レジスタ群
8から読み出されるアドレスとを加算する加算器であ
る。なおこの加算器は、通常のアドレス生成に用いる加
算器でもよいし、本目的のための専用の加算器でもよ
い。6は、命令実行部でのレジスタ群8の読み出し/書
き込みおよびインクリメンタ/ディクリメンタ7の制御
を行なう制御回路である。7は、制御回路6の指示に基
づき、レジスタ群8の中の一つのレジスタの内容をモデ
ィファイするインクリメンタ/ディクリメンタである。
8は少なくともアドレスを保持することのできるレジス
タ群である。
なお、デコーダ1、保持回路2、定数発生器3、制御回
路4、加算器5は命令デコード/アドレス計算部、制御
回路6、インクリメンタ/ディクリメンタ7、レジスタ
群8は命令実行部に属し、おのおの独立性をもってパイ
プラインで動作しているものとする。
路4、加算器5は命令デコード/アドレス計算部、制御
回路6、インクリメンタ/ディクリメンタ7、レジスタ
群8は命令実行部に属し、おのおの独立性をもってパイ
プラインで動作しているものとする。
このようなブロック構成の回路の動作を以下で説明す
る。
る。
アドレスフィールドをデコーダ1で解読し、保持回路
2、制御回路4へデコード線12、および13を通して
送る。保持回路2は、今までにレジスタモディファイ指
定があり、まだ命令実行部のインクリメンタ/ディクリ
メンタ7によってまだモディファイされていないレジス
タ方向とモディファイの変化方向(プリディクリメント
ならマイナス、ポストインクリメントならプラス)を記
憶している。記憶するモディファイ情報の数は、命令デ
コード/アドレス計算部の各ステージ間のキューの深
さ、およびおのおののステージでの平均実行時間の差等
によって決定される。
2、制御回路4へデコード線12、および13を通して
送る。保持回路2は、今までにレジスタモディファイ指
定があり、まだ命令実行部のインクリメンタ/ディクリ
メンタ7によってまだモディファイされていないレジス
タ方向とモディファイの変化方向(プリディクリメント
ならマイナス、ポストインクリメントならプラス)を記
憶している。記憶するモディファイ情報の数は、命令デ
コード/アドレス計算部の各ステージ間のキューの深
さ、およびおのおののステージでの平均実行時間の差等
によって決定される。
制御回路4へ送られたデコード情報によってアドレス計
算に必要なレジスタが読み出され、データ線20を通し
て加算器5へ送られる。一方定数発生器3は保持回路2
に保持されている情報の出力線14と制御回路4によっ
て読み出されたレジスタNO.(制御線16によって示
される。)と同じレジスタが過去(以下で示す過去とい
う言語は命令実行部でモディファイ処理されるまでの過
去を示す。)にレジスタモディファイによるアドレス指
定方式で用いられたかチェックし、現在のモディファイ
の有無、方向、および過去の同一レジスタのモディファ
イの有無、方向とによって定数を選択し、その定数をデ
ータ線15を通して加算器5へ送る。
算に必要なレジスタが読み出され、データ線20を通し
て加算器5へ送られる。一方定数発生器3は保持回路2
に保持されている情報の出力線14と制御回路4によっ
て読み出されたレジスタNO.(制御線16によって示
される。)と同じレジスタが過去(以下で示す過去とい
う言語は命令実行部でモディファイ処理されるまでの過
去を示す。)にレジスタモディファイによるアドレス指
定方式で用いられたかチェックし、現在のモディファイ
の有無、方向、および過去の同一レジスタのモディファ
イの有無、方向とによって定数を選択し、その定数をデ
ータ線15を通して加算器5へ送る。
例えば、同じレジスタ100が過去にモディファイされ
ていない場合、現在指定されているレジスタがプリディ
クリメントなら“−1”、ポストインクリメントおよび
モディファイ指定がない場合は“0”を定数発生器3は
出力する。また同一のレジスタNO.が過去に1回だけ
プリディクリメントされていた場合、今回プリディクリ
メントなら“−2”、ポストインクリメントおよびモデ
ィファイ指定がないなら“−1”を定数発生器3が出力
する。逆に過去に1回だけポストインクリメントされて
いた場合、今回プレディクリメントなら“0”、ポスト
インクリメントおよびモディファイ指定がないなら“+
1”を出力する。
ていない場合、現在指定されているレジスタがプリディ
クリメントなら“−1”、ポストインクリメントおよび
モディファイ指定がない場合は“0”を定数発生器3は
出力する。また同一のレジスタNO.が過去に1回だけ
プリディクリメントされていた場合、今回プリディクリ
メントなら“−2”、ポストインクリメントおよびモデ
ィファイ指定がないなら“−1”を定数発生器3が出力
する。逆に過去に1回だけポストインクリメントされて
いた場合、今回プレディクリメントなら“0”、ポスト
インクリメントおよびモディファイ指定がないなら“+
1”を出力する。
以上の例をまとめ、定数発生器3から出力される値を一
般式で示すと ただしXは、現在指定されているレジスタNO.が過去
にポストインクリメントされた回数、Zは同様にプレデ
ィクリメントされた回数を示す。
般式で示すと ただしXは、現在指定されているレジスタNO.が過去
にポストインクリメントされた回数、Zは同様にプレデ
ィクリメントされた回数を示す。
この定数発生器から発生した定数は、加算器5へ送ら
れ、制御回路4によって読み出されたレジスタの内容と
加算され、メモリオペランドのアドレスまたは、そのア
ドレスの計算の基となる情報となる。
れ、制御回路4によって読み出されたレジスタの内容と
加算され、メモリオペランドのアドレスまたは、そのア
ドレスの計算の基となる情報となる。
以上のようにレジスタの内容を変えずにレジスタの内容
を補正することによってレジスタモディファイの効果を
だすのだが、実際のレジスタモディファイを指定した命
令の実行前か、実行後にはレジスタ群8の中のモディフ
ァイ指定されたレジスタのモディファイを行なう必要が
ある。この処理は、保持回路2の内容が命令実行部の制
御回路6へ制御線17を通して送られ保持回路2に保持
されている情報によって、現在命令実行部で実行されて
いる命令アドレスモディファイが、命令実行部の制御回
路6の下で、アドレス計算ステージでレジスタモディフ
ァイの対象となったレジスタをインクリメンタ/デクリ
メンタによってインクリメント又はディクリメントされ
る。なおインクリメント、およびディクリメントされた
ものに関する保持回路2の中の情報はこの時点で無効化
される。
を補正することによってレジスタモディファイの効果を
だすのだが、実際のレジスタモディファイを指定した命
令の実行前か、実行後にはレジスタ群8の中のモディフ
ァイ指定されたレジスタのモディファイを行なう必要が
ある。この処理は、保持回路2の内容が命令実行部の制
御回路6へ制御線17を通して送られ保持回路2に保持
されている情報によって、現在命令実行部で実行されて
いる命令アドレスモディファイが、命令実行部の制御回
路6の下で、アドレス計算ステージでレジスタモディフ
ァイの対象となったレジスタをインクリメンタ/デクリ
メンタによってインクリメント又はディクリメントされ
る。なおインクリメント、およびディクリメントされた
ものに関する保持回路2の中の情報はこの時点で無効化
される。
上述した構成例の中で保持回路は、どの命令が、何番目
のオペランドで、どのレジスタを、どのようにモディフ
ァイを受けたかを記憶する必要がある。その保持回路の
構成例を示す。
のオペランドで、どのレジスタを、どのようにモディフ
ァイを受けたかを記憶する必要がある。その保持回路の
構成例を示す。
ここで示す例は、一命令分の保持回路で、かつ一命令中
に最大2つのオペランドがある場合であり、第2図で示
す。
に最大2つのオペランドがある場合であり、第2図で示
す。
21は第1オペランドにレジスタモディファイがあった
場合に使用される保持回路でA1フィールドには、モデ
ィファイの有無を示す有効ビット、B1フィールドはモ
ディファイが+か−かの情報、C1フィールドはどのレ
ジスタが対象となっているかを示すレジスタNO.情報
である。22は第2オペランドのための情報で第1オペ
ランド同様にA2〜C2までの各フィールドを持つ。
場合に使用される保持回路でA1フィールドには、モデ
ィファイの有無を示す有効ビット、B1フィールドはモ
ディファイが+か−かの情報、C1フィールドはどのレ
ジスタが対象となっているかを示すレジスタNO.情報
である。22は第2オペランドのための情報で第1オペ
ランド同様にA2〜C2までの各フィールドを持つ。
この保持回路21,22では一命令力で最大2オペラン
ドまで制御可能である。
ドまで制御可能である。
次にこの保持回路の情報をどのように使用するか説明す
る。第1オペランドでレジスタモディファイ指定があっ
た場合、本実施例では、以前の命令でのレジスタモディ
ファイは、すべて実行されているので、前述した一般式
の内Z=X=0に相当する定数を発生する必要がある。
すなわち新命令のデコードを開始した時点では、先行す
る命令のレジスタモディファイが完了し、保持回路の有
効ビットは、無効化されているので定数発生器ではプレ
ディクリメントなら“−1”それ以外のポストインクリ
メント、またはモティファイなしなら“0”を発生す
る。
る。第1オペランドでレジスタモディファイ指定があっ
た場合、本実施例では、以前の命令でのレジスタモディ
ファイは、すべて実行されているので、前述した一般式
の内Z=X=0に相当する定数を発生する必要がある。
すなわち新命令のデコードを開始した時点では、先行す
る命令のレジスタモディファイが完了し、保持回路の有
効ビットは、無効化されているので定数発生器ではプレ
ディクリメントなら“−1”それ以外のポストインクリ
メント、またはモティファイなしなら“0”を発生す
る。
第2オペランドをデコードするときは、第1オペランド
でレジスタモディファイがないすなわち保持情報21の
有効ビットが“0”ならばまた第1オペランドとは異な
るレジスタであったならば前述の第1オペランドと同様
な定数が発生される。第1オペランドがレジスタモディ
ファイがあり保持回路21の有効ビットが“1”がセッ
トされてからレジスタ100が同じ場合、第1オペラン
ドでプレディクリメントならZ=1X=0、ポストイン
クリメントならZ=0X=1に相当する定数を発生す
る。もちろん第2オペランドでもレジスタモディファイ
の情報は保持回路22に保持される。
でレジスタモディファイがないすなわち保持情報21の
有効ビットが“0”ならばまた第1オペランドとは異な
るレジスタであったならば前述の第1オペランドと同様
な定数が発生される。第1オペランドがレジスタモディ
ファイがあり保持回路21の有効ビットが“1”がセッ
トされてからレジスタ100が同じ場合、第1オペラン
ドでプレディクリメントならZ=1X=0、ポストイン
クリメントならZ=0X=1に相当する定数を発生す
る。もちろん第2オペランドでもレジスタモディファイ
の情報は保持回路22に保持される。
ここで保持回路21,22に保持されている情報は、こ
の命令が命令デコード/アドレス計算部から命令実行部
へ渡されレジスタモディファイが行なわれるまで保持さ
れ、この保持回路の情報によってレジスタがモディファ
イされたとき無効化される。
の命令が命令デコード/アドレス計算部から命令実行部
へ渡されレジスタモディファイが行なわれるまで保持さ
れ、この保持回路の情報によってレジスタがモディファ
イされたとき無効化される。
以上説明したように本発明は、命令デコード/アドレス
計算部で先行して処理しなければならないレジスタモデ
ィファイ処理を、過去にモディファイ指定があり、また
命令実行部で処理されてないものの情報をアドレス情報
保持回路に保持しておき、その保持情報とアドレス計算
に必要なデコード情報とを比較することによって実際の
レジスタ内容をモディファイすることなく補正によって
レジスタモディファイと同様の効果をあげることができ
る。
計算部で先行して処理しなければならないレジスタモデ
ィファイ処理を、過去にモディファイ指定があり、また
命令実行部で処理されてないものの情報をアドレス情報
保持回路に保持しておき、その保持情報とアドレス計算
に必要なデコード情報とを比較することによって実際の
レジスタ内容をモディファイすることなく補正によって
レジスタモディファイと同様の効果をあげることができ
る。
すなわち命令実行部の動作とはある程度独立して命令デ
コード/アドレス計算部でレジスタモディファイ処理が
できることを示している。
コード/アドレス計算部でレジスタモディファイ処理が
できることを示している。
このことはレジスタモディファイ処理によるパイプライ
ンの乱れを小さくし、かつレジスタモディファイに用い
られているレジスタNO.など比較的少ない情報を記憶
するだけですむため、命令デコード/アドレス計算部に
レジスタのコピーをもつより、ハードウェアを少なくす
ることができるという効果がある。
ンの乱れを小さくし、かつレジスタモディファイに用い
られているレジスタNO.など比較的少ない情報を記憶
するだけですむため、命令デコード/アドレス計算部に
レジスタのコピーをもつより、ハードウェアを少なくす
ることができるという効果がある。
第1図は本発明の一実施例を示すブロック図、第2図は
第1図の2の保持回路の構成例、第3図は従来技術によ
るレジスタモディファイ制御回路例を示す。 図において、1……デコーダ、2……保持回路、3……
定数発生器、4……制御回路、5……加算器、6……制
御回路、7……インクリメンタ/ディクリメンタ、8…
…レジスタ群、21,22……保持回路の構成例、31
……デコーダ、32……制御回路、33……レジスタ
群、34……インクリメンタ/ディクリメンタを示す。
第1図の2の保持回路の構成例、第3図は従来技術によ
るレジスタモディファイ制御回路例を示す。 図において、1……デコーダ、2……保持回路、3……
定数発生器、4……制御回路、5……加算器、6……制
御回路、7……インクリメンタ/ディクリメンタ、8…
…レジスタ群、21,22……保持回路の構成例、31
……デコーダ、32……制御回路、33……レジスタ
群、34……インクリメンタ/ディクリメンタを示す。
Claims (1)
- 【請求項1】アドレス生成に用いるレジスタの内容が命
令コード中のアドレスフィールドの指定によってモディ
ファイされるアドレス指定方式を持つ情報処理装置にお
いて、 アドレス生成に用いるレジスタと、前記レジスタの内容
を補正するための定数発生器と、前記レジスタの内容と
前記定数発生器から発生する定数とを加算する加算器
と、命令コード中のアドレスフィールドをデコードする
アドレスフィールドデコーダと、オペランド毎に、その
オペランドの所定のアドレス生成情報を記憶しておくア
ドレス情報保持回路とを具備し、オペランドのメモリア
ドレス計算時に、前記アドレス情報保持回路に保持され
た内容と、前記オペランドのための前記アドレスフィー
ルドデコーダより出力されるアドレス生成情報とによっ
て、前記定数発生器中の定数を選択し前記レジスタの内
容を選択された前記定数を用いて前記加算器によって補
正することを特徴とするアドレス生成制御方式。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60288789A JPH0619712B2 (ja) | 1985-12-20 | 1985-12-20 | アドレス生成制御方式 |
EP86117897A EP0230038B1 (en) | 1985-12-20 | 1986-12-22 | Address generation system |
US06/944,168 US4775933A (en) | 1985-12-20 | 1986-12-22 | Address generation system |
DE8686117897T DE3687116T2 (de) | 1985-12-20 | 1986-12-22 | Adressengenerationssystem. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60288789A JPH0619712B2 (ja) | 1985-12-20 | 1985-12-20 | アドレス生成制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS62145429A JPS62145429A (ja) | 1987-06-29 |
JPH0619712B2 true JPH0619712B2 (ja) | 1994-03-16 |
Family
ID=17734740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60288789A Expired - Fee Related JPH0619712B2 (ja) | 1985-12-20 | 1985-12-20 | アドレス生成制御方式 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4775933A (ja) |
EP (1) | EP0230038B1 (ja) |
JP (1) | JPH0619712B2 (ja) |
DE (1) | DE3687116T2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69130129T2 (de) * | 1990-02-23 | 1999-05-06 | Nec Corp., Tokio/Tokyo | Pipelinemikroprozessor mit Vorberechnung der effektiven Adresse |
JPH0527970A (ja) * | 1991-07-18 | 1993-02-05 | Seikosha Co Ltd | 演算装置 |
WO1993009491A1 (en) * | 1991-11-08 | 1993-05-13 | Commonwealth Of Australia | An address generator |
WO1997031310A1 (en) * | 1996-02-23 | 1997-08-28 | Advanced Micro Devices, Inc. | A microprocessor configured to execute instructions which specify increment of a source operand |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6029126B2 (ja) * | 1977-01-14 | 1985-07-09 | 株式会社日立製作所 | デ−タ処理装置 |
US4539635A (en) * | 1980-02-11 | 1985-09-03 | At&T Bell Laboratories | Pipelined digital processor arranged for conditional operation |
JPS5810243A (ja) * | 1981-07-10 | 1983-01-20 | Toshiba Corp | デ−タ処理装置 |
JPS58189738A (ja) * | 1982-04-30 | 1983-11-05 | Hitachi Ltd | デ−タ処理システム |
US4731736A (en) * | 1983-04-18 | 1988-03-15 | Motorola, Inc. | Method and apparatus for coordinating execution of an instruction by a selected coprocessor |
AU553416B2 (en) * | 1984-02-24 | 1986-07-17 | Fujitsu Limited | Pipeline processing |
-
1985
- 1985-12-20 JP JP60288789A patent/JPH0619712B2/ja not_active Expired - Fee Related
-
1986
- 1986-12-22 EP EP86117897A patent/EP0230038B1/en not_active Expired
- 1986-12-22 US US06/944,168 patent/US4775933A/en not_active Expired - Lifetime
- 1986-12-22 DE DE8686117897T patent/DE3687116T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0230038B1 (en) | 1992-11-11 |
DE3687116T2 (de) | 1993-03-25 |
DE3687116D1 (de) | 1992-12-17 |
US4775933A (en) | 1988-10-04 |
EP0230038A3 (en) | 1989-08-16 |
EP0230038A2 (en) | 1987-07-29 |
JPS62145429A (ja) | 1987-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2678183B2 (ja) | デジタルプロセッサ制御装置および実行時記憶割当ての方法 | |
JPH06236268A (ja) | 命令の長さを判定する装置と方法 | |
US4677549A (en) | Pipelined data processor system having increased processing speed | |
EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
JPH0619712B2 (ja) | アドレス生成制御方式 | |
US4812970A (en) | Microprogram control system | |
JPS5938677B2 (ja) | 制御ワ−ド転送制御装置 | |
US5333288A (en) | Effective address pre-calculation type pipelined microprocessor | |
US6363469B1 (en) | Address generation apparatus | |
EP0573071A2 (en) | A microprocessor | |
JP2783285B2 (ja) | 情報処理装置 | |
US5854919A (en) | Processor and its operation processing method for processing operation having bit width exceeding data width of bit storage unit | |
JPH0954694A (ja) | パイプラインプロセッサおよびその処理方法 | |
JPH01291327A (ja) | 処理モード先取り制御方式 | |
KR100246465B1 (ko) | 마이크로프로세서 스택 명령어의 수행사이클을 줄이기 위한 장치 및 그 방법 | |
JP2636566B2 (ja) | パイプライン制御方式 | |
JP2679603B2 (ja) | マイクロコンピュータ | |
JP3014701B2 (ja) | 情報処理装置 | |
JPH06162067A (ja) | ベクトル命令制御装置および制御方法 | |
JP2569801B2 (ja) | 情報処理装置 | |
JPS61133440A (ja) | デ−タ処理装置 | |
JPS63206834A (ja) | 命令制御におけるエラ−検出処理方式 | |
JPS635433A (ja) | ブランチ制御方式 | |
JPH0424731B2 (ja) | ||
JPH0659881A (ja) | 主記憶読出し制御回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |