JPS61267135A - デ−タ処理装置 - Google Patents
デ−タ処理装置Info
- Publication number
- JPS61267135A JPS61267135A JP10865685A JP10865685A JPS61267135A JP S61267135 A JPS61267135 A JP S61267135A JP 10865685 A JP10865685 A JP 10865685A JP 10865685 A JP10865685 A JP 10865685A JP S61267135 A JPS61267135 A JP S61267135A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- effective address
- address
- index register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はデータ処理装置に関し、特にアドレス計算時の
汎用レジスタの競合に伴う処理速度の低下を改善する方
式に関する。
汎用レジスタの競合に伴う処理速度の低下を改善する方
式に関する。
ディジタル計算機で使用される命令では、一般に、その
命令で使用するオペランドのアドレスを、命令で指定し
次汎用レジスタ(例えばインデックスレジスタ)の出力
と命令語内の変位アドレスとの和を用いて指定すること
ができる(これをインデックス修飾という)。もちろん
、この汎用レジスタの内容は上記アドレス計算を行おう
としている命令に先行する命令の演算結果がすべて反映
されたものである。特に、以前の命令の実行が完了する
前に次の命令のアドレス計算を行うバイグライン処理方
式のデータ処理装置においては、先行する命令による汎
用レジスタの更新状況を登録菅理し、実行未完了の汎用
レジスタを用いてアドレス計算をする後続命令が出現し
た場合、該当する汎用レジスタへの書き込みが完了する
までこのアドレス計算を遅らせる必要がある。このよう
な汎用レジスタの競合は命令処理速度を低下させる要因
となる。
命令で使用するオペランドのアドレスを、命令で指定し
次汎用レジスタ(例えばインデックスレジスタ)の出力
と命令語内の変位アドレスとの和を用いて指定すること
ができる(これをインデックス修飾という)。もちろん
、この汎用レジスタの内容は上記アドレス計算を行おう
としている命令に先行する命令の演算結果がすべて反映
されたものである。特に、以前の命令の実行が完了する
前に次の命令のアドレス計算を行うバイグライン処理方
式のデータ処理装置においては、先行する命令による汎
用レジスタの更新状況を登録菅理し、実行未完了の汎用
レジスタを用いてアドレス計算をする後続命令が出現し
た場合、該当する汎用レジスタへの書き込みが完了する
までこのアドレス計算を遅らせる必要がある。このよう
な汎用レジスタの競合は命令処理速度を低下させる要因
となる。
一方、配列データの処理においては、汎用レジスタの更
新命令とインデックス修飾を組み合わせたコーディング
が広く使用されている。例えば、下記の左側のFORT
I−LAN は右側の機械語に展開される。
新命令とインデックス修飾を組み合わせたコーディング
が広く使用されている。例えば、下記の左側のFORT
I−LAN は右側の機械語に展開される。
FO凡T几AN 機械語
I=OLDXOQ、DU
loo I冨I+1LDA 2.DLK(I)−原■
)米2 B シ、XOl、XO’IF(1−100
) 100,200 MULT O,X0200
: CMPXO101,DUN
Z B 機械語命令1EAXo l、XOJ は生成した実
効アドレス(l+Xo)をインデックスレジスタXOへ
設定する命令であり、実効アドレス(1+XO)はアド
レス計算時に決定できる。この値は直後の乗算命令「M
ULT O,XOJ のインデックス修飾で使用され
ている。
)米2 B シ、XOl、XO’IF(1−100
) 100,200 MULT O,X0200
: CMPXO101,DUN
Z B 機械語命令1EAXo l、XOJ は生成した実
効アドレス(l+Xo)をインデックスレジスタXOへ
設定する命令であり、実効アドレス(1+XO)はアド
レス計算時に決定できる。この値は直後の乗算命令「M
ULT O,XOJ のインデックス修飾で使用され
ている。
従って、上述の命令t−冥行する場合、従来の方式では
l[AXOJ命令の実行完了まで[MULTO、XOJ
命令のアドレス計算を待たせなければならず命令処理速
度を低下させるという欠点がある。
l[AXOJ命令の実行完了まで[MULTO、XOJ
命令のアドレス計算を待たせなければならず命令処理速
度を低下させるという欠点がある。
本発明の目的は、実効アドレスを汎用レジスタに設定す
る先行の命令と、後続する命令のアドレス生成のtめの
汎用レジスタからの続み出しとの競合に起因するアドレ
ス計算の遅れを改善し九データ処理装置を提供すること
である。
る先行の命令と、後続する命令のアドレス生成のtめの
汎用レジスタからの続み出しとの競合に起因するアドレ
ス計算の遅れを改善し九データ処理装置を提供すること
である。
本発明のデータ処理装置は、記憶ユニットと、第1のイ
ンデックスレジスタを内蔵する命令実行ユニットと、前
記第1のインデックスレジスタと同一のデータを通常保
持する第2のインデックスレジスタ、実効アドレス加算
器、前記第1のインデックスレジスタへ書き込むべきデ
ータと前記実効アトVス加算器の出力とを選択的に第2
のインデックスレジスタに供給する切替手段を内蔵する
−命令制御ユニットとを備え、実効アドレスをインデ
ックスレジスタへ格納する命令において、前記命令制御
ユニットが前記実効アドレス加算器の出力を前記切替手
段を経由して前記第2のインデックスレジスタへ格納し
、前記命令に後続する命令のアドレス計算において、前
記第2のインデックスレジスタの値を使用するように制
御して構成される。
ンデックスレジスタを内蔵する命令実行ユニットと、前
記第1のインデックスレジスタと同一のデータを通常保
持する第2のインデックスレジスタ、実効アドレス加算
器、前記第1のインデックスレジスタへ書き込むべきデ
ータと前記実効アトVス加算器の出力とを選択的に第2
のインデックスレジスタに供給する切替手段を内蔵する
−命令制御ユニットとを備え、実効アドレスをインデ
ックスレジスタへ格納する命令において、前記命令制御
ユニットが前記実効アドレス加算器の出力を前記切替手
段を経由して前記第2のインデックスレジスタへ格納し
、前記命令に後続する命令のアドレス計算において、前
記第2のインデックスレジスタの値を使用するように制
御して構成される。
次に本発明を実施例につき図面を参照して詳細に説明す
る。1g1図は本発明の一実施例のブロック図である。
る。1g1図は本発明の一実施例のブロック図である。
第1図において、命令制御ユニット1は命令を記憶ユニ
ット2から読み出し、それを解読して分岐条件、更新対
象レジスタ指定コードなどの制御情報を作成すると共に
、命令中のアドレス指定コードを解読して実効アドレス
を作成し、両者を命令実行ユニット3に送る。又、解読
の結果、命令が記憶ユニット2に対する読み出し又は書
き込みを要求する場合には、仮想アドレスを計算して記
憶ユニット2に送る。記憶ユニット2は要求され几デー
タをバッファメモリに読み出し、又は主記憶回路に曹き
込む。命令実行ユニット3は命令制御ユニット1が指示
し几各レジスタの内容を用いて演算を行い、各種レジス
タ又は記憶ユニット2の更新を行う。なお、第1図のブ
ロック図において、本発明に直接関係しない部分は省略
されている。次に各ユニットの構成を詳細に説明する。
ット2から読み出し、それを解読して分岐条件、更新対
象レジスタ指定コードなどの制御情報を作成すると共に
、命令中のアドレス指定コードを解読して実効アドレス
を作成し、両者を命令実行ユニット3に送る。又、解読
の結果、命令が記憶ユニット2に対する読み出し又は書
き込みを要求する場合には、仮想アドレスを計算して記
憶ユニット2に送る。記憶ユニット2は要求され几デー
タをバッファメモリに読み出し、又は主記憶回路に曹き
込む。命令実行ユニット3は命令制御ユニット1が指示
し几各レジスタの内容を用いて演算を行い、各種レジス
タ又は記憶ユニット2の更新を行う。なお、第1図のブ
ロック図において、本発明に直接関係しない部分は省略
されている。次に各ユニットの構成を詳細に説明する。
命令制御ユニットlにおいて、命令レジスタ10にセッ
トされた命令語はop、b、xおよびyの4フイールド
から構成されている。Opフィールドは命令コードを保
持し、デコーダ16で解読された一部の出力は命令制御
ユニットl内の各ブロックを制御(制御信号線は省略さ
れている)シ、別の出力は記憶ユニット2への要求信号
となり、更に別の出力は命令実行ユニット3への動作指
示情報として動作指示スタック17に記憶される。命令
レジスタ10のbフィールドはレジスタ指定番号として
ペースレジスタ11に送られる。命令レジスタ10のX
フィールドはレジスタ指定番号としてインデックスレジ
スタ12(第2のインデックスレジスタ)に送られる。
トされた命令語はop、b、xおよびyの4フイールド
から構成されている。Opフィールドは命令コードを保
持し、デコーダ16で解読された一部の出力は命令制御
ユニットl内の各ブロックを制御(制御信号線は省略さ
れている)シ、別の出力は記憶ユニット2への要求信号
となり、更に別の出力は命令実行ユニット3への動作指
示情報として動作指示スタック17に記憶される。命令
レジスタ10のbフィールドはレジスタ指定番号として
ペースレジスタ11に送られる。命令レジスタ10のX
フィールドはレジスタ指定番号としてインデックスレジ
スタ12(第2のインデックスレジスタ)に送られる。
ペースレジスタ11から読み出されtベースアドレスと
、インデックスレジスタ12から読み出され九イノデッ
クスは、命令レジスタ10のyフィールドと仮想アドレ
ス加算器13で加算されて仮想アドレスを形成する。
、インデックスレジスタ12から読み出され九イノデッ
クスは、命令レジスタ10のyフィールドと仮想アドレ
ス加算器13で加算されて仮想アドレスを形成する。
又、実効アドレス加算器14において同じインデックス
とyフィールドを加算して実効アドレスを形成する。こ
の実効アドレス出力は実効アドレススタック15に記憶
される。実効アドレススタック15及び動作スタック1
7は複数のエントリを含み、笑行前の解読済命令をエン
トリ数まで保持し、命令実行ユニットが実行可能となる
まで待たせることができる。一方、実効アドレス加算器
140出力は切替器18において命令実行ユニット3か
らのデータ出力と切替えられてインデックスレジスタ1
2に送られる。
とyフィールドを加算して実効アドレスを形成する。こ
の実効アドレス出力は実効アドレススタック15に記憶
される。実効アドレススタック15及び動作スタック1
7は複数のエントリを含み、笑行前の解読済命令をエン
トリ数まで保持し、命令実行ユニットが実行可能となる
まで待たせることができる。一方、実効アドレス加算器
140出力は切替器18において命令実行ユニット3か
らのデータ出力と切替えられてインデックスレジスタ1
2に送られる。
記憶ユニット2の仮想アドレスレジスタ21は仮想アド
レス加算器13から送られる仮想アドレスを保持し、こ
の出力によりアドレス変換バッファ22を参照して対応
する実アドレスが読み出される。この出力と仮想アドレ
スレジスタ21の下位アドレスにより、アドレスアレイ
23が参照され、データアレイ24に要求されたオペラ
ンドが登録されているか否かがチェックされる。もしそ
れが登録されていれば、データアレイ24から読み出さ
れてオペランドとして命令実行ユニット3に送られる。
レス加算器13から送られる仮想アドレスを保持し、こ
の出力によりアドレス変換バッファ22を参照して対応
する実アドレスが読み出される。この出力と仮想アドレ
スレジスタ21の下位アドレスにより、アドレスアレイ
23が参照され、データアレイ24に要求されたオペラ
ンドが登録されているか否かがチェックされる。もしそ
れが登録されていれば、データアレイ24から読み出さ
れてオペランドとして命令実行ユニット3に送られる。
命令実行ユニット3において、記憶ユニット2から送ら
れ九オペランドはデータバッファ31に記憶される。デ
ータバッファ31は前記の実効アドレススタック15及
び動作指示スタック17と同数のエントリを有し、各エ
ントリは解読済命令に対応して使用される。作業メモリ
32内にはペースレジスタ及びインデックスレジスタ(
第1のインデックスレジスタ)を含み、これらはペース
レジスタ11又はインデックスレジスタ12と同時に更
新される。第1オペランドはデータバッファ31.作業
メモリ32.又は実効アドレススタック15から切替器
34により選択されて第1作業レジスタ361Cセツト
される。同様に1@2オペランドは切替器35により選
択されて第2作業レジスタ37にセクトされる。二つの
作業レジスタにセクトされ次二つのオペランドを演算器
33において演算し、その結果は作業メモリ32.ペー
スレジスタ11及びインデックスレジスタ12へ供給さ
れ必要な個所にセットされる。以上の動作は動作指示ス
タック17からの出力で起動される制御回路38により
制御される。
れ九オペランドはデータバッファ31に記憶される。デ
ータバッファ31は前記の実効アドレススタック15及
び動作指示スタック17と同数のエントリを有し、各エ
ントリは解読済命令に対応して使用される。作業メモリ
32内にはペースレジスタ及びインデックスレジスタ(
第1のインデックスレジスタ)を含み、これらはペース
レジスタ11又はインデックスレジスタ12と同時に更
新される。第1オペランドはデータバッファ31.作業
メモリ32.又は実効アドレススタック15から切替器
34により選択されて第1作業レジスタ361Cセツト
される。同様に1@2オペランドは切替器35により選
択されて第2作業レジスタ37にセクトされる。二つの
作業レジスタにセクトされ次二つのオペランドを演算器
33において演算し、その結果は作業メモリ32.ペー
スレジスタ11及びインデックスレジスタ12へ供給さ
れ必要な個所にセットされる。以上の動作は動作指示ス
タック17からの出力で起動される制御回路38により
制御される。
次に、第1図のデータ処理装置における実効アドレス設
定命令の動作全説明する。命令レジスタlOに実効アド
レス設定命令がセットされると、実効アドレス加算器1
4において命令レジスタlOのyフィールドとインデッ
クスレジスタ12の出力値を加算して実効アドレスを生
成する。この実効アドレスは実効アドレススタック15
にセットされると共に切替器19を介してインデックス
レジスタ12にセットされる。このとき、記憶ユニット
2へのオペランド要求は出方されない。命令実行ユニッ
ト3がこの実効アドレス設定命令を実行するタイミング
になると、実効アドレススタック15から読み出され几
実効アドレスは切替器35により選択され、第1作業レ
ジスタ37にセットされる。このレジスタの内容は制御
回路39の指示によりスルーモードに設定された演算回
路33を経由して作業メモリ32のインデックスレジス
タ用のロケータ5ノに薔き込まれる。
定命令の動作全説明する。命令レジスタlOに実効アド
レス設定命令がセットされると、実効アドレス加算器1
4において命令レジスタlOのyフィールドとインデッ
クスレジスタ12の出力値を加算して実効アドレスを生
成する。この実効アドレスは実効アドレススタック15
にセットされると共に切替器19を介してインデックス
レジスタ12にセットされる。このとき、記憶ユニット
2へのオペランド要求は出方されない。命令実行ユニッ
ト3がこの実効アドレス設定命令を実行するタイミング
になると、実効アドレススタック15から読み出され几
実効アドレスは切替器35により選択され、第1作業レ
ジスタ37にセットされる。このレジスタの内容は制御
回路39の指示によりスルーモードに設定された演算回
路33を経由して作業メモリ32のインデックスレジス
タ用のロケータ5ノに薔き込まれる。
後続する命令がこのインデックスレジスタを用い比イン
デックス修飾指定でありtとしても、アドレス計算用の
インデックスレジスタ12には既に実効アドレス設定命
令実行後の値が曹き込まれているので、直ちにアドレス
計算を実行することができる。
デックス修飾指定でありtとしても、アドレス計算用の
インデックスレジスタ12には既に実効アドレス設定命
令実行後の値が曹き込まれているので、直ちにアドレス
計算を実行することができる。
上述し九本発明のデータ処理装置においては、命令制御
ユニットと命令実行ユニットの各々にイ7デククスレジ
スタ金持っているので、命令制御ユニット内のインデッ
クスレジスタを先行する命令の実行完了前に更新しても
、命令実行ユニット内のインデックスレジスタにおける
更新は命令の実行順序に従って行われるので実行結果の
正当性は保証される。
ユニットと命令実行ユニットの各々にイ7デククスレジ
スタ金持っているので、命令制御ユニット内のインデッ
クスレジスタを先行する命令の実行完了前に更新しても
、命令実行ユニット内のインデックスレジスタにおける
更新は命令の実行順序に従って行われるので実行結果の
正当性は保証される。
以上詳細に説明したように、本発明のデータ処理装置に
よれば、実効アドレス設定命令において生成された実行
アドンスをアドレス計算専用のインデックスレジスタに
セットすることにより、該当するレジスタの確定待ちに
よるアドレス計算開始の遅れを改善できるという効果が
ある。
よれば、実効アドレス設定命令において生成された実行
アドンスをアドレス計算専用のインデックスレジスタに
セットすることにより、該当するレジスタの確定待ちに
よるアドレス計算開始の遅れを改善できるという効果が
ある。
第1図は本発明の一実施例のブロック図であり、l・・
・・・・命令制御ユニット、2・・・・・・記憶ユニッ
ト、3・・・・・・命令実行ユニット、10・・・・・
・命令レジスタ、11・・・・・・ペースレジスタ、1
2・・・・・・インデックスレジスタ、13・・・・・
・仮想アドレス加算器、14・・・・・・実効アドレス
加算器、15・・・・・・実効アドレススタック、16
・・・・・・デコーダ、17・・・・・・動作指示スタ
ック、18,35.36・・・・・・切替器、21・・
・・・・仮想アドレス計算開始、22・・・・・・アド
レスfilバクファ、23・・・・・・アトVスアレイ
、24・・・・・・データアレイ、31・・・・・・デ
ータバッファ、32・・・・・・作業メモリ、33・・
・・・・演算回路、36.37・・・・・・作業レジス
タ、39・・・・・・制御回路である。
・・・・命令制御ユニット、2・・・・・・記憶ユニッ
ト、3・・・・・・命令実行ユニット、10・・・・・
・命令レジスタ、11・・・・・・ペースレジスタ、1
2・・・・・・インデックスレジスタ、13・・・・・
・仮想アドレス加算器、14・・・・・・実効アドレス
加算器、15・・・・・・実効アドレススタック、16
・・・・・・デコーダ、17・・・・・・動作指示スタ
ック、18,35.36・・・・・・切替器、21・・
・・・・仮想アドレス計算開始、22・・・・・・アド
レスfilバクファ、23・・・・・・アトVスアレイ
、24・・・・・・データアレイ、31・・・・・・デ
ータバッファ、32・・・・・・作業メモリ、33・・
・・・・演算回路、36.37・・・・・・作業レジス
タ、39・・・・・・制御回路である。
Claims (1)
- 記憶ユニットと、第1のインデックスレジスタを内蔵す
る命令実行ユニットと、前記第1のインデックスレジス
タと同一のデータを通常保持する第2のインデックスレ
ジスタ、実効アドレス加算器、前記第1のインデックス
レジスタに書き込むべきデータと前記実効アドレス加算
器の出力とを選択的に前記第2のインデックスレジスタ
に供給する切替手段を内蔵する命令制御ユニットとを備
え、実効アドレスをインデックスレジスタに格納する命
令において、前記命令制御ユニットが前記実効アドレス
加算器の出力を前記切替手段を経由して前記第2のイン
デックスレジスタに格納し、前記命令に後続する命令の
アドレス計算において、前記第2のインデックスレジス
タの値を使用するように制御することを特徴とするデー
タ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10865685A JPS61267135A (ja) | 1985-05-21 | 1985-05-21 | デ−タ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10865685A JPS61267135A (ja) | 1985-05-21 | 1985-05-21 | デ−タ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS61267135A true JPS61267135A (ja) | 1986-11-26 |
Family
ID=14490335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10865685A Pending JPS61267135A (ja) | 1985-05-21 | 1985-05-21 | デ−タ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61267135A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63245526A (ja) * | 1987-03-31 | 1988-10-12 | Toshiba Corp | 情報処理装置 |
JPH01177127A (ja) * | 1988-01-06 | 1989-07-13 | Hitachi Ltd | 情報処理装置 |
-
1985
- 1985-05-21 JP JP10865685A patent/JPS61267135A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63245526A (ja) * | 1987-03-31 | 1988-10-12 | Toshiba Corp | 情報処理装置 |
JPH01177127A (ja) * | 1988-01-06 | 1989-07-13 | Hitachi Ltd | 情報処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0148478B1 (en) | A data processor with control of the significant bit lenghts of general purpose registers | |
JPS6313215B2 (ja) | ||
EP0087785A2 (en) | Microprogram controlled data processing apparatus | |
EP0772819B1 (en) | Apparatus and method for efficiently determining addresses for misaligned data stored in memory | |
JPS623461B2 (ja) | ||
EP0140299A2 (en) | Vector mask control system | |
JPS61267135A (ja) | デ−タ処理装置 | |
JP2553200B2 (ja) | 情報処理装置 | |
JP3520372B2 (ja) | メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除 | |
JPS601655B2 (ja) | デ−タプリフェツチ方式 | |
JP2798275B2 (ja) | 仮想記憶アドレス空間アクセス制御方式 | |
JP2883488B2 (ja) | 命令処理装置 | |
JPS61133440A (ja) | デ−タ処理装置 | |
JPH0241770B2 (ja) | ||
KR100246465B1 (ko) | 마이크로프로세서 스택 명령어의 수행사이클을 줄이기 위한 장치 및 그 방법 | |
JP2883489B2 (ja) | 命令処理装置 | |
JPS6149695B2 (ja) | ||
JPH0221613B2 (ja) | ||
JPH0391835A (ja) | 情報処理装置 | |
JPH05257807A (ja) | キャッシュメモリ制御装置 | |
JPH02259839A (ja) | データ処理装置 | |
JPH08297583A (ja) | 割り込み処理装置およびその方法 | |
JPH0683986A (ja) | シングルチップ・マイクロコンピュータ | |
JPS621066A (ja) | 情報処理装置 | |
JPH048825B2 (ja) |