JPH028332B2 - - Google Patents
Info
- Publication number
- JPH028332B2 JPH028332B2 JP20892684A JP20892684A JPH028332B2 JP H028332 B2 JPH028332 B2 JP H028332B2 JP 20892684 A JP20892684 A JP 20892684A JP 20892684 A JP20892684 A JP 20892684A JP H028332 B2 JPH028332 B2 JP H028332B2
- Authority
- JP
- Japan
- Prior art keywords
- operand
- bytes
- register
- address
- instruction
- 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
Links
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は移動命令論理比較命令処理方式、特に
1サイクルパイプライン制御方式を採用する処理
装置における命令処理方式であつて、移動命令/
論理比較命令における例外検出による中断や、ミ
スマツチによる終了時のアドレスおよび残りバイ
ト数の補正を効率的に行い得るようにした移動命
令論理比較命令処理方式に関するものである。
1サイクルパイプライン制御方式を採用する処理
装置における命令処理方式であつて、移動命令/
論理比較命令における例外検出による中断や、ミ
スマツチによる終了時のアドレスおよび残りバイ
ト数の補正を効率的に行い得るようにした移動命
令論理比較命令処理方式に関するものである。
第3図は2サイクルパイプラインと1サイクル
パイプラインとの比較を示す図、第4図は移動命
令におけるフローの展開パターンの例、第5図は
本発明の課題に関連した問題点を説明するための
図を示す。
パイプラインとの比較を示す図、第4図は移動命
令におけるフローの展開パターンの例、第5図は
本発明の課題に関連した問題点を説明するための
図を示す。
従来のパイプライン制御を行う処理装置では、
第3図イ図示のような2サイクルに1回命令が投
入される2サイクルパイプラインが多く採用され
ている。2サイクルパイプラインにおける1フロ
ーは、命令をデコードするDステージと、インデ
ツクス・ベース等を読み出すRステージと、実効
アドレスを生成するAステージと、生成アドレス
によりバツフアを検索するB1ステージおよびB2
ステージと、オペランドデータを用いて演算を実
行するE1ステージおよびE2ステージと、結果を
チエツクするCKステージと、レジスタへの書き
込みを行うWステージとからなる。
第3図イ図示のような2サイクルに1回命令が投
入される2サイクルパイプラインが多く採用され
ている。2サイクルパイプラインにおける1フロ
ーは、命令をデコードするDステージと、インデ
ツクス・ベース等を読み出すRステージと、実効
アドレスを生成するAステージと、生成アドレス
によりバツフアを検索するB1ステージおよびB2
ステージと、オペランドデータを用いて演算を実
行するE1ステージおよびE2ステージと、結果を
チエツクするCKステージと、レジスタへの書き
込みを行うWステージとからなる。
このような2サイクルパイプラインに対して、
パイプラインの密度を濃くし、性能を向上させる
ため、各サイクル毎に命令を投入できる1サイク
ルパイプラインが考えられている。1サイクルパ
イプラインの1フローは、第3図ロ図示のよう
に、命令をデコードするDステージと、実効アド
レスを生成するAステージと、アドレス変換を行
うTステージと、バツフアを検索するBステージ
と、オペランドデータを用いて演算を実行するE
ステージと、レジスタへの書き込みを行うWステ
ージとからなる。本発明は、この1サイクルパイ
プライン制御を採用する処理装置を対象としてい
る。
パイプラインの密度を濃くし、性能を向上させる
ため、各サイクル毎に命令を投入できる1サイク
ルパイプラインが考えられている。1サイクルパ
イプラインの1フローは、第3図ロ図示のよう
に、命令をデコードするDステージと、実効アド
レスを生成するAステージと、アドレス変換を行
うTステージと、バツフアを検索するBステージ
と、オペランドデータを用いて演算を実行するE
ステージと、レジスタへの書き込みを行うWステ
ージとからなる。本発明は、この1サイクルパイ
プライン制御を採用する処理装置を対象としてい
る。
ところで、長いバイト数を1命令で処理するい
わゆる割込み可能な移動(Move Long)命令や
論理比較(Compare Logical Long)命令は、
最近オペレーテイング・システム等における使用
頻度が増え、特に移動命令においては、その処理
速度が性能に大きく影響するようになつている。
そのため、第4図イに示すように、通常のフエツ
チ/ストア・シーケンスでフローを展開するだけ
でなく、バウンダリ条件がよい場合には、第4図
ロ図示のように、8バイトのフエツチを2回繰り
返して、その後16バイトのストアを実行し、3フ
ローで16バイトの移動を可能としたり、また第2
オペランドが短く第1オペランドの領域に埋め込
み(パデイング)文字を詰めるときには、第4図
ハ図示のようにストアのみの連続処理を行つて高
速化を図ることが考慮されている。
わゆる割込み可能な移動(Move Long)命令や
論理比較(Compare Logical Long)命令は、
最近オペレーテイング・システム等における使用
頻度が増え、特に移動命令においては、その処理
速度が性能に大きく影響するようになつている。
そのため、第4図イに示すように、通常のフエツ
チ/ストア・シーケンスでフローを展開するだけ
でなく、バウンダリ条件がよい場合には、第4図
ロ図示のように、8バイトのフエツチを2回繰り
返して、その後16バイトのストアを実行し、3フ
ローで16バイトの移動を可能としたり、また第2
オペランドが短く第1オペランドの領域に埋め込
み(パデイング)文字を詰めるときには、第4図
ハ図示のようにストアのみの連続処理を行つて高
速化を図ることが考慮されている。
上記移動命令や論理比較命令では、アクセスに
対する例外が発生したとき、それまで実行した第
1オペランド、第2オペランドのアドレスやデー
タ長を補正して、それぞれの汎用レジスタへ戻さ
なければならない。論理比較命令において不一致
が検出された場合も同様に、そのバイトのところ
で処理を中断し、アドレス等を補正する必要があ
る。この処理は、パイプラインの構造によつて異
なつてくる。
対する例外が発生したとき、それまで実行した第
1オペランド、第2オペランドのアドレスやデー
タ長を補正して、それぞれの汎用レジスタへ戻さ
なければならない。論理比較命令において不一致
が検出された場合も同様に、そのバイトのところ
で処理を中断し、アドレス等を補正する必要があ
る。この処理は、パイプラインの構造によつて異
なつてくる。
第5図イは、2サイクルパイプラインでアクセ
ス例外が生じた場合を示している。パイプライン
処理においては、前の処理が完了する以前に次の
処理のアクセス要求を出すのが一般的であり、ア
クセス例外が検出されるときには、次の1フロー
が流れている。これに対し、第5図ロに示した1
サイクルパイプラインの場合、アクセス例外検出
時には、後続する3フローが流れていることにな
る。
ス例外が生じた場合を示している。パイプライン
処理においては、前の処理が完了する以前に次の
処理のアクセス要求を出すのが一般的であり、ア
クセス例外が検出されるときには、次の1フロー
が流れている。これに対し、第5図ロに示した1
サイクルパイプラインの場合、アクセス例外検出
時には、後続する3フローが流れていることにな
る。
同様に論理比較命令においてミスマツチが検出
されたとき、2サイクルパイプラインでは、第5
図ハ図示のように2フロー流れる。これに対し、
1サイクルパイプラインでは、第5図ニ図示のよ
うに、4フローが流れていることになる。
されたとき、2サイクルパイプラインでは、第5
図ハ図示のように2フロー流れる。これに対し、
1サイクルパイプラインでは、第5図ニ図示のよ
うに、4フローが流れていることになる。
このように、従来の2サイクルパイプラインと
比較すると、1サイクルパイプラインでは、2フ
ロー余分に流れてしまうので、アドレスやバイト
数の補正が複雑になり、補正を実現することが困
難であるという問題がある。
比較すると、1サイクルパイプラインでは、2フ
ロー余分に流れてしまうので、アドレスやバイト
数の補正が複雑になり、補正を実現することが困
難であるという問題がある。
本発明は上記問題点の解決を図り、移動または
論理比較命令の処理において、例外検出による中
断やミスマツチによる終了時のアドレスおよび残
りバイト数の補正を、1サイクルパイプライン制
御であつても効率的に処理する手段を与える。そ
のため、本発明の移動命令論理比較命令処理方式
は、移動命令または論理比較命令における記憶装
置にアクセスすべき第1オペランドアドレスと第
2オペランドアドレスとをそれぞれ保持しておく
2つのレジスタと、処理されるべき各オペランド
の残りデータ長を保持する2つのレジスタと、各
処理毎に実効アドレスを求める加算器と、移動ま
たは論理比較されるバイト数分だけ減算する減算
器とを備え、1サイクルパイプライン制御によ
り、上記加算器および上記減算器による加算、減
算を同時に行い、その結果から次の移動または論
理比較されるバイト数を生成する処理装置におけ
る移動命令論理比較命令処理方式であつて、各パ
イプライン毎に移動または論理比較されるバイト
数を示すレジスタと、第1オペランドおよび第2
オペランド対応にそれぞれ記憶制御部へアクセス
要求を出す毎にアクセス要求が出されたバイト数
を加算すると共に正常終了するとそのバイト数を
減算する回路と、該回路の出力を保持しアクセス
要求されたバイト数と正常終了したバイト数との
差分を示すバイトカウンタとを備え、該バイトカ
ウンタに基づいて各オペランドアドレスおよびデ
ータ長を補正することを特徴としている。
論理比較命令の処理において、例外検出による中
断やミスマツチによる終了時のアドレスおよび残
りバイト数の補正を、1サイクルパイプライン制
御であつても効率的に処理する手段を与える。そ
のため、本発明の移動命令論理比較命令処理方式
は、移動命令または論理比較命令における記憶装
置にアクセスすべき第1オペランドアドレスと第
2オペランドアドレスとをそれぞれ保持しておく
2つのレジスタと、処理されるべき各オペランド
の残りデータ長を保持する2つのレジスタと、各
処理毎に実効アドレスを求める加算器と、移動ま
たは論理比較されるバイト数分だけ減算する減算
器とを備え、1サイクルパイプライン制御によ
り、上記加算器および上記減算器による加算、減
算を同時に行い、その結果から次の移動または論
理比較されるバイト数を生成する処理装置におけ
る移動命令論理比較命令処理方式であつて、各パ
イプライン毎に移動または論理比較されるバイト
数を示すレジスタと、第1オペランドおよび第2
オペランド対応にそれぞれ記憶制御部へアクセス
要求を出す毎にアクセス要求が出されたバイト数
を加算すると共に正常終了するとそのバイト数を
減算する回路と、該回路の出力を保持しアクセス
要求されたバイト数と正常終了したバイト数との
差分を示すバイトカウンタとを備え、該バイトカ
ウンタに基づいて各オペランドアドレスおよびデ
ータ長を補正することを特徴としている。
パイプライン制御において、次のフローの処理
バイトまたは展開パターンを決めるには、フロー
のできるだけ最初の部分、例えばAステージでオ
ペランドアドレスまたは残りバイト長の更新をし
たほうが制御が容易である。一方、途中で処理を
中断させる事象が発生して、そのオペランドアド
レスおよび残りバイト長の補正を行う場合には、
フローの後方において、残りバイト長の演算等を
行うほうが簡単であり、フローの最初で更新して
しまうと補正が複雑になる。本発明は、各パイプ
ライン毎に処理したバイト数を保持するように
し、Aステージにおいて残りバイト長を更新する
と共に、Aステージで更新したバイト数と正しく
実行されたバイト数との差を各オペランド毎に演
算して保持することにより、必要な場合には、こ
の値にもとづいて補正できるようにしている。そ
のため、フローの最初でオペランドアドレスおよ
び残りバイト長を更新しても、途中で処理を中断
させる事象が発生した場合、容易に補正可能にな
つている。
バイトまたは展開パターンを決めるには、フロー
のできるだけ最初の部分、例えばAステージでオ
ペランドアドレスまたは残りバイト長の更新をし
たほうが制御が容易である。一方、途中で処理を
中断させる事象が発生して、そのオペランドアド
レスおよび残りバイト長の補正を行う場合には、
フローの後方において、残りバイト長の演算等を
行うほうが簡単であり、フローの最初で更新して
しまうと補正が複雑になる。本発明は、各パイプ
ライン毎に処理したバイト数を保持するように
し、Aステージにおいて残りバイト長を更新する
と共に、Aステージで更新したバイト数と正しく
実行されたバイト数との差を各オペランド毎に演
算して保持することにより、必要な場合には、こ
の値にもとづいて補正できるようにしている。そ
のため、フローの最初でオペランドアドレスおよ
び残りバイト長を更新しても、途中で処理を中断
させる事象が発生した場合、容易に補正可能にな
つている。
以下、図面を参照しつつ、実施例に従つて説明
する。
する。
第1図は本発明の一実施例構成、第2図は第1
図図示実施例における論理比較命令の動作タイム
チヤートを示す。
図図示実施例における論理比較命令の動作タイム
チヤートを示す。
第1図において、1および2は作業用アドレス
レジスタ、3はベースレジスタ、4はインデツク
スレジスタ、5はデイスプレイスメントレジス
タ、6はレジスタ1〜5の内容にもとづいてオペ
ランドの実効アドレスを生成するアドレス生成回
路、7はオペランドアドレスレジスタ、8はバツ
フア、9はオペランド語レジスタ、10はレジス
タ、11は命令を実行する実行ユニツト(E
unit)、12は結果レジスタ、13はレジスタフ
アイルを表す。
レジスタ、3はベースレジスタ、4はインデツク
スレジスタ、5はデイスプレイスメントレジス
タ、6はレジスタ1〜5の内容にもとづいてオペ
ランドの実効アドレスを生成するアドレス生成回
路、7はオペランドアドレスレジスタ、8はバツ
フア、9はオペランド語レジスタ、10はレジス
タ、11は命令を実行する実行ユニツト(E
unit)、12は結果レジスタ、13はレジスタフ
アイルを表す。
また、14はAステージにおいて残りバイト数
の演算を行う加減算器、15は第1オペランドの
残りバイト数を保持するレジスタ、16は第2オ
ペランドの残りバイト数を保持するレジスタ、1
7は第1オペランドの処理対象となつているアド
レスを保持するレジスタ、18は第2オペランド
の処理対象となつているアドレスを保持するレジ
スタ、19は処理すべきバイト長を決定するレン
グス生成器、20は第1オペランドの処理バイト
数を保持するレジスタ、21は第2オペランドの
処理バイト数を保持するレジスタ、22ないし2
6は各パイプライン毎に移動または論理比較され
るバイト数を記憶するレジスタ、27は第1オペ
ランド用の補正値を演算する加減算器、28は第
2オペランド用の補正値を演算する加減算器、2
9は第1オペランドの補正値を持つバイトカウン
タ、30は第2オペランドの補正値を持つバイト
カウンタ、31は処理の中断またはミスマツチが
生じたアドレスとデータ長とを演算する補正用加
減算器を表す。
の演算を行う加減算器、15は第1オペランドの
残りバイト数を保持するレジスタ、16は第2オ
ペランドの残りバイト数を保持するレジスタ、1
7は第1オペランドの処理対象となつているアド
レスを保持するレジスタ、18は第2オペランド
の処理対象となつているアドレスを保持するレジ
スタ、19は処理すべきバイト長を決定するレン
グス生成器、20は第1オペランドの処理バイト
数を保持するレジスタ、21は第2オペランドの
処理バイト数を保持するレジスタ、22ないし2
6は各パイプライン毎に移動または論理比較され
るバイト数を記憶するレジスタ、27は第1オペ
ランド用の補正値を演算する加減算器、28は第
2オペランド用の補正値を演算する加減算器、2
9は第1オペランドの補正値を持つバイトカウン
タ、30は第2オペランドの補正値を持つバイト
カウンタ、31は処理の中断またはミスマツチが
生じたアドレスとデータ長とを演算する補正用加
減算器を表す。
命令処理においては、Aステージにおいてアド
レス生成回路6により実効アドレスが演算され、
オペランドアドレスレジスタ7にオペランドアド
レスが格納される。このアドレスにもとづいてア
ドレス変換がなされ、オペランドがフエツチされ
て、実行ユニツト11により演算が実行され、結
果が結果レジスタに格納される。
レス生成回路6により実効アドレスが演算され、
オペランドアドレスレジスタ7にオペランドアド
レスが格納される。このアドレスにもとづいてア
ドレス変換がなされ、オペランドがフエツチされ
て、実行ユニツト11により演算が実行され、結
果が結果レジスタに格納される。
第1オペランドの処理フローにおいては、処理
対象となるオペランドアドレスがレジスタ17に
格納され、第1オペランドの処理の残りバイト数
がレジスタ15にセツトされる。同様に第2オペ
ランドの処理フローにおいては、処理対象となる
オペランドアドレスがレジスタ18に格納され、
第2オペランドの処理の残りバイト数がレジスタ
16にセツトされる。なお、周知の如く、長文字
移動や長文字論理比較の命令において、第1およ
び第2のオペランドの長さは、必ずしも同じでは
ない。
対象となるオペランドアドレスがレジスタ17に
格納され、第1オペランドの処理の残りバイト数
がレジスタ15にセツトされる。同様に第2オペ
ランドの処理フローにおいては、処理対象となる
オペランドアドレスがレジスタ18に格納され、
第2オペランドの処理の残りバイト数がレジスタ
16にセツトされる。なお、周知の如く、長文字
移動や長文字論理比較の命令において、第1およ
び第2のオペランドの長さは、必ずしも同じでは
ない。
レングス生成器19は、各オペランドに対応し
て、次のフローの処理バイト数を決定し、レジス
タ20または21に処理バイト数を出力する。以
降の各オペランドの処理において、レジスタ15
または16の値は、加減算器14により、それぞ
れレジスタ20または21の値が減じられ、残り
バイト数がレジスタ15または16に再設定され
るようになつている。なお通常、レングス生成器
19は、第4図で説明したフロー展開条件に従つ
て、8または16またはそれらの端数を処理バイト
数とする。
て、次のフローの処理バイト数を決定し、レジス
タ20または21に処理バイト数を出力する。以
降の各オペランドの処理において、レジスタ15
または16の値は、加減算器14により、それぞ
れレジスタ20または21の値が減じられ、残り
バイト数がレジスタ15または16に再設定され
るようになつている。なお通常、レングス生成器
19は、第4図で説明したフロー展開条件に従つ
て、8または16またはそれらの端数を処理バイト
数とする。
レジスタ22〜26には、各パイプラインに対
応して、処理のバイト数が記憶されるようになつ
ており、各ステージの終了毎に順次、次のレジス
タにシフトされていくようになつている。
応して、処理のバイト数が記憶されるようになつ
ており、各ステージの終了毎に順次、次のレジス
タにシフトされていくようになつている。
バイトカウンタ29は、第1オペランドについ
て、Aステージで更新されたバイト数と正しく実
行されたバイト数との差を保持するカウンタであ
る。なお、このカウンタの幅は、パイプラインの
長さと1回にアクセスするバイト数によつて決め
られる。加減算器27は、バイトカウンタ29の
値とレジスタ20の値とを加算し、Aステージで
アクセスを出す毎にそのバイト数分の足しこみを
行い、正しく処理された場合にレジスタ26の値
を減算することにより、Wステージで正しく実行
された分だけカウンタ値を減じる。論理比較命令
において、ミスマツチが生じた場合には、レジス
タ26の値を減算する代わりに、第何番目のバイ
トでミスマツチが生じたかを示すバイト番号を減
算する。
て、Aステージで更新されたバイト数と正しく実
行されたバイト数との差を保持するカウンタであ
る。なお、このカウンタの幅は、パイプラインの
長さと1回にアクセスするバイト数によつて決め
られる。加減算器27は、バイトカウンタ29の
値とレジスタ20の値とを加算し、Aステージで
アクセスを出す毎にそのバイト数分の足しこみを
行い、正しく処理された場合にレジスタ26の値
を減算することにより、Wステージで正しく実行
された分だけカウンタ値を減じる。論理比較命令
において、ミスマツチが生じた場合には、レジス
タ26の値を減算する代わりに、第何番目のバイ
トでミスマツチが生じたかを示すバイト番号を減
算する。
第2オペランドについても同様に、加減算器2
8により演算が逐次行われ、その結果がバイトカ
ウンタ30に保持される。
8により演算が逐次行われ、その結果がバイトカ
ウンタ30に保持される。
アクセス例外やミスマツチが検出された場合に
は、補正用加減算器31によるオペランドアドレ
スの補正演算結果および残りバイト長の補正演算
結果を利用する。即ち、第1オペランドアドレス
は、レジスタ17の内容からバイトカウンタ29
の値を引くことにより求められる。また、第1オ
ペランド残りバイト長は、レジスタ15の内容に
バイトカウンタ29の値を与えることにより求め
られる。同様に、第2オペランドアドレスについ
ては、レジスタ18の内容からバイトカウンタ3
0の値を引くことにより求められる。また、第2
オペランド残りバイト長は、レジスタ16の内容
にバイトカウンタ30の値を加えることにより求
められる。
は、補正用加減算器31によるオペランドアドレ
スの補正演算結果および残りバイト長の補正演算
結果を利用する。即ち、第1オペランドアドレス
は、レジスタ17の内容からバイトカウンタ29
の値を引くことにより求められる。また、第1オ
ペランド残りバイト長は、レジスタ15の内容に
バイトカウンタ29の値を与えることにより求め
られる。同様に、第2オペランドアドレスについ
ては、レジスタ18の内容からバイトカウンタ3
0の値を引くことにより求められる。また、第2
オペランド残りバイト長は、レジスタ16の内容
にバイトカウンタ30の値を加えることにより求
められる。
第2図は論理比較命令による処理動作例のタイ
ムチヤートを示している。第1オペランドの先頭
アドレスはa、そのデータ長はl、第2オペラン
ドの先頭アドレスはb、そのデータ長はmであ
る。
ムチヤートを示している。第1オペランドの先頭
アドレスはa、そのデータ長はl、第2オペラン
ドの先頭アドレスはb、そのデータ長はmであ
る。
この例では、第1オペランドのEステージで両
オペランドの内容が比較され、その結果がWステ
ージに命令制御部(図示省略)へ送られてくる。
従つて、そのWステージで正しく実行した処理バ
イト数がわかる。第2図に示した例では、2回目
の比較のとき不一致(ミスマツチ)を検出してい
る。不一致が検出されたとき、オペランドアクセ
スを止めるように指示が発せられ、処理バイト数
の減算が抑止される。足しこみは、それぞれのオ
ペランドアドレスおよび残りバイト長が更新され
るので、そのたび毎に行われる。従つて、その後
の補正を行うフローでは、バイトカウンタ(OP
1LC)29およびバイトカウンタ(OP2LC)
30は、0でない値を示している。もし、最後ま
で正しく実行されたときには、これらのバイトカ
ウンタの値はゼロを示すことになる。
オペランドの内容が比較され、その結果がWステ
ージに命令制御部(図示省略)へ送られてくる。
従つて、そのWステージで正しく実行した処理バ
イト数がわかる。第2図に示した例では、2回目
の比較のとき不一致(ミスマツチ)を検出してい
る。不一致が検出されたとき、オペランドアクセ
スを止めるように指示が発せられ、処理バイト数
の減算が抑止される。足しこみは、それぞれのオ
ペランドアドレスおよび残りバイト長が更新され
るので、そのたび毎に行われる。従つて、その後
の補正を行うフローでは、バイトカウンタ(OP
1LC)29およびバイトカウンタ(OP2LC)
30は、0でない値を示している。もし、最後ま
で正しく実行されたときには、これらのバイトカ
ウンタの値はゼロを示すことになる。
補正を行うフローでは、上述のように、第2オ
ペランドアドレスは「OP2A−OP2LC」、第2
オペランド残りバイト長は「OP2L+OP2
LC」、第1オペランドアドレスは「OP1A−OP
1LC」、第1オペランド残りバイト長は「OP1
L+OP1LC」により、それぞれの補正結果が求
められる。
ペランドアドレスは「OP2A−OP2LC」、第2
オペランド残りバイト長は「OP2L+OP2
LC」、第1オペランドアドレスは「OP1A−OP
1LC」、第1オペランド残りバイト長は「OP1
L+OP1LC」により、それぞれの補正結果が求
められる。
移動命令または論理比較命令において、アクセ
ス例外が検出された場合には、次のように制御さ
れる。例えば第2オペランドでアクセス例外が検
出されたとき、フラグによりその例外を記憶して
おき、次以降の第1オペランドのWステージにお
ける減算を禁止し、オペランドアクセスを止める
ように指示する。このようにすれば、その後の処
理は上述の処理と同様になる。
ス例外が検出された場合には、次のように制御さ
れる。例えば第2オペランドでアクセス例外が検
出されたとき、フラグによりその例外を記憶して
おき、次以降の第1オペランドのWステージにお
ける減算を禁止し、オペランドアクセスを止める
ように指示する。このようにすれば、その後の処
理は上述の処理と同様になる。
以上説明した如く、本発明によれば、1サイク
ルパイプライン制御においても、アクセス例外が
検出された場合や、論理比較命令におけるミスマ
ツチが検出された場合におけるオペランドアドレ
スおよび残りバイト数の補正を、比較的簡明に行
うことができるようになり、効率的なパイプライ
ン制御を行うことができるようになる。
ルパイプライン制御においても、アクセス例外が
検出された場合や、論理比較命令におけるミスマ
ツチが検出された場合におけるオペランドアドレ
スおよび残りバイト数の補正を、比較的簡明に行
うことができるようになり、効率的なパイプライ
ン制御を行うことができるようになる。
第1図は本発明の一実施例構成、第2図は第1
図図示実施例における論理比較命令の動作タイム
チヤート、第3図は2サイクルパイプラインと1
サイクルパイプラインとの比較を示す図、第4図
は移動命令におけるフローの展開パターンの例、
第5図は本発明の課題に関連した問題点を説明す
るための図を示す。 図中、6はアドレス生成回路、7はオペランド
アドレスレジスタ、8はバツフア、9はオペラン
ド語レジスタ、11は実行ユニツト、12は結果
レジスタ、13はレジスタフアイル、14は加減
算器、15ないし18はレジスタ、19はレング
ス生成器、20ないし26はレジスタ、27およ
び28加減算器、29および30はバイトカウン
タ、31は補正用加減算器を表す。
図図示実施例における論理比較命令の動作タイム
チヤート、第3図は2サイクルパイプラインと1
サイクルパイプラインとの比較を示す図、第4図
は移動命令におけるフローの展開パターンの例、
第5図は本発明の課題に関連した問題点を説明す
るための図を示す。 図中、6はアドレス生成回路、7はオペランド
アドレスレジスタ、8はバツフア、9はオペラン
ド語レジスタ、11は実行ユニツト、12は結果
レジスタ、13はレジスタフアイル、14は加減
算器、15ないし18はレジスタ、19はレング
ス生成器、20ないし26はレジスタ、27およ
び28加減算器、29および30はバイトカウン
タ、31は補正用加減算器を表す。
Claims (1)
- 1 移動命令または論理比較命令における記憶装
置にアクセスすべき第1オペランドアドレスと第
2オペランドアドレスとをそれぞれ保持しておく
2つのレジスタと、処理されるべき各オペランド
の残りデータ長を保持する2つのレジスタと、各
処理毎に実効アドレスを求める加算器と、移動ま
たは論理比較されるバイト数分だけ減算する減算
器とを備え、1サイクルパイプライン制御によ
り、上記加算器および上記減算器による加算、減
算を同時に行い、その結果から次の移動または論
理比較されるバイト数を生成する処理装置におけ
る移動命令論理比較命令処理方式であつて、各パ
イプライン毎に移動または論理比較されるバイト
数を示すレジスタと、第1オペランドおよび第2
オペランド対応にそれぞれ記憶制御部へアクセス
要求を出す毎にアクセス要求が出されたバイト数
を加算すると共に正常終了するとそのバイト数を
減算する回路と、該回路の出力を保持しアクセス
要求されたバイト数と正常終了したバイト数との
差分を示すバイトカウンタとを備え、該バイトカ
ウンタに基づいて各オペランドアドレスおよびデ
ータ長を補正することを特徴とする移動命令論理
比較命令処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20892684A JPS61100836A (ja) | 1984-10-04 | 1984-10-04 | 移動命令論理比較命令処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20892684A JPS61100836A (ja) | 1984-10-04 | 1984-10-04 | 移動命令論理比較命令処理方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61100836A JPS61100836A (ja) | 1986-05-19 |
| JPH028332B2 true JPH028332B2 (ja) | 1990-02-23 |
Family
ID=16564412
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP20892684A Granted JPS61100836A (ja) | 1984-10-04 | 1984-10-04 | 移動命令論理比較命令処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61100836A (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5168571A (en) * | 1990-01-24 | 1992-12-01 | International Business Machines Corporation | System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data |
| JPH0831032B2 (ja) * | 1990-08-29 | 1996-03-27 | 三菱電機株式会社 | データ処理装置 |
-
1984
- 1984-10-04 JP JP20892684A patent/JPS61100836A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61100836A (ja) | 1986-05-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4954947A (en) | Instruction processor for processing branch instruction at high speed | |
| EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
| US5276822A (en) | System with enhanced execution of address-conflicting instructions using immediate data latch for holding immediate data of a preceding instruction | |
| JPH028332B2 (ja) | ||
| RU2066067C1 (ru) | Центральный процессор для многопроцессорной вычислительной системы | |
| JP2783285B2 (ja) | 情報処理装置 | |
| JP3490191B2 (ja) | 計算機 | |
| JPS61110240A (ja) | 最適化コンパイラ | |
| JPS6125166B2 (ja) | ||
| JPS62262146A (ja) | 処理装置 | |
| JP2812610B2 (ja) | パイプライン制御方式 | |
| JP3124361B2 (ja) | メモリデータロード装置 | |
| JPS6327746B2 (ja) | ||
| JPH0238965B2 (ja) | ||
| JPH0235331B2 (ja) | ||
| JPH028331B2 (ja) | ||
| JPH0418344B2 (ja) | ||
| JP2504570B2 (ja) | 記憶領域の書き込み検査処理方法 | |
| JP3014701B2 (ja) | 情報処理装置 | |
| JPH06259254A (ja) | データ処理装置 | |
| JPH0234058B2 (ja) | ||
| JPH0823820B2 (ja) | アドレス・オーバラップ・チェック処理装置 | |
| JPS6238748B2 (ja) | ||
| JPH0581015A (ja) | パイプライン演算制御方法およびシステム | |
| JPH0315771B2 (ja) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |