JPH028331B2 - - Google Patents

Info

Publication number
JPH028331B2
JPH028331B2 JP20892584A JP20892584A JPH028331B2 JP H028331 B2 JPH028331 B2 JP H028331B2 JP 20892584 A JP20892584 A JP 20892584A JP 20892584 A JP20892584 A JP 20892584A JP H028331 B2 JPH028331 B2 JP H028331B2
Authority
JP
Japan
Prior art keywords
operand
address
register
bytes
adder
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
Application number
JP20892584A
Other languages
English (en)
Other versions
JPS61100835A (ja
Inventor
Kohei Ootsuyama
Juji Oinaga
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 JP20892584A priority Critical patent/JPS61100835A/ja
Publication of JPS61100835A publication Critical patent/JPS61100835A/ja
Publication of JPH028331B2 publication Critical patent/JPH028331B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は移動命令論理比較命令処理方式、特に
1サイクルパイプライン制御方式を採用する処理
装置における命令処理方式であつて、移動命令/
論理比較命令におけるフエツチ/ストアを各1サ
イクルごとに連続して処理できるようにすると共
に、効率的なフロー展開を可能とした移動命令論
理比較命令処理方式に関するものである。
〔従来の技術と問題点〕
第3図は2サイクルパイプラインと1サイクル
パイプラインとの比較を示す図、第4図は移動命
令におけるフローの展開パターンの例、第5図は
従来の2サイクルパイプラインによるフローチヤ
ートを示す。
従来のパイプライン制御を行う処理装置では、
第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命令で処理するい
わゆる割込み可能な移動(Move Long)命令や
論理比較(Compare Logical Long)命令は、
最近オペレーテイング・システム等における使用
頻度が増え、特に移動命令においては、その処理
速度が性能に大きく影響するようになつている。
そのため、第4図イに示すように、通常のフエツ
チ/ストア・シーケンスでフローを展開するだけ
でなく、適当なバウンダリ条件のもとに、第4図
ロ図示のように、8バイトのフエツチを2回繰り
返して、その後16バイトのストアを実行し、3フ
ローで16バイトの移動を可能としたり、また第2
オペランドが短く第1オペランドの領域に埋め込
み(パデイング)文字を詰めるときには、第4図
ハ図示のようにストアのみの連続処理を行つて高
速化を図ることが考慮されている。
従来の2サイクルパイプラインを採用する処理
装置においては、第5図に示すように、移動命令
または論理比較命令の処理がなされている。オペ
ランドの実効アドレスを求めるために、Aステー
ジでアドレス生成回路(EAG:Effective
Address Generator)6が使用される。なお、こ
のアドレス生成回路6は、周知の如く加算器によ
つて構成されている。2サイクルパイプライン制
御では、上述のように2サイクルに一度しか命令
が入つてこないので、アドレス生成回路6は、実
効アドレスの計算用として、通常2サイクルに一
度しか使用されない。そのため各B1ステージで
は、アドレス生成回路6は空いており、これを用
いて従来、移動/論理比較命令の処理における未
処理のデータ長の演算が行われている。即ち、第
5図からわかるように、B1ステージでアドレス
生成回路6の加算器を用いて、現在の残りバイト
数(OP2L,OP1L)から処理バイト数(L
2,L1)を減じて、新たな残りバイト数を求め
るようにされている。
しかし、本発明が前提とする1サイクルパイプ
ライン制御では、アドレス生成回路6の空きサイ
クルがないので、これを利用して残りバイト数を
求めることができないという問題がある。また、
第4図で説明したような各種フロー展開を実現す
る場合、その処理はパイプラインの構造によつて
異なることになり、1サイクル毎にアクセス可能
なパイプラインにおいても、いろいろなフロー展
開パターンを可能にする手段が望まれている。
〔問題点を解決するための手段〕
本発明は上記問題点の解決を図り、1サイクル
パイプライン制御のもとにおいて、移動または論
理比較命令の処理における次フローの処理バイト
数決定のために、残りバイト数をAステージで求
めることを可能とする。また、各種フロー展開パ
ターンを選択できるようにして効率的に命令を処
理することを可能とする。そのため、本発明の移
動命令論理比較命令処理方式は、移動命令または
論理比較命令における記憶装置にアクセスすべき
第1オペランドアドレスと第2オペランドアドレ
スとをそれぞれ保持しておく2つのレジスタと、
処理されるべき各オペランドの残りデータ長を保
持する2つのレジスタとを備え、1サイクルパイ
プライン制御により、移動命令または論理比較命
令を処理する処理装置における移動命令論理比較
命令処理方式であつて、各処理毎に実効アドレス
を求める加算器と、移動または論理比較されるバ
イト数分だけ各オペランドの残りデータ長から減
算する加算器と、オペランドのアドレスバウンダ
リ条件を決定する演算を行う加算器と、上記各加
算器の出力結果に基づいて次の移動または論理比
較されるバイト数を生成するとともにフローの展
開条件を決定する回路とを備えたことを特徴とし
ている。以下、実施例を参照しつつ、実施例に従
つて説明する。
〔実施例〕
第1図は本発明の一実施例構成、第2図は第1
図図示実施例における移動命令の処理動作説明図
を示す。
第1図において、1および2は作業用アドレス
レジスタ、3はベースレジスタ、4はインデツク
スレジスタ、5はデイスプレイスメントレジス
タ、6はレジスタ1〜5の内容にもとづいてオペ
ランドの実効アドレスを生成するアドレス生成回
路、7はオペランドアドレスレジスタ、8はバツ
フア、9はオペランド語レジスタ、11は命令を
実行する実行ユニツト(E unit)、12は実行
結果が格納される結果レジスタを表す。
また、13は第1オペランドの処理対象となつ
ているアドレスを保持するレジスタ、14は第2
オペランドの処理対象となつているアドレスを保
持するレジスタ、15はAステージにおいて残り
バイト数の演算を行う加算器、16は第1オペラ
ンドの残りバイト数を保持するレジスタ、17は
第2オペランドの残りバイト数を保持するレジス
タ、18は処理すべきバイト長を決定するレング
ス生成器、19は第1オペランドの処理バイト数
を保持するレジスタ、20は第2オペランドの処
理バイト数を保持するレジスタ、21はアドレス
バウンダリ条件を決定するために使用する加算
器、22は第1オペランドについての例えば第26
ビツトから第31ビツトまでの6ビツトを保持する
レジスタ、23はレジスタ19の内容の退避レジ
スタを表す。
命令処理においては、Aステージにおいてアド
レス生成回路6により実効アドレスが演算され、
オペランドアドレスレジスタ7にオペランドアド
レスが格納される。このアドレスにもとづいてア
ドレス変換がなされ、オペランドがフエツチされ
て、実行ユニツト11により演算が実行され、結
果が結果レジスタ12に格納される。
上記処理では、まずDステージで汎用レジスタ
の読み出しが行われ、ベースレジスタ3またはイ
ンデツクスレジスタ4を経由して、Aステージで
アドレス生成回路6から、第1オペランドまたは
第2オペランドのアドレスとバイト数とが出力さ
れる。ここで、第1オペランドの処理対象となる
オペランドアドレスは、レジスタ13に格納さ
れ、第1オペランドの処理データ長は、レジスタ
16にセツトされる。同様に第2オペランドの処
理対象となるオペランドアドレスは、レジスタ1
4に格納され、第2オペランドの処理データ長
は、レジスタ17にセツトされる。なお、周知の
如く、長文字移動や長文字論理比較の命令におい
て、第1および第2のオペランドの長さは、必ず
しも同じではない。
レジスタ13、レジスタ14の内容は、処理バ
イト長の生成には使用されず、実行終了後におけ
るアドレス補正に使用される。
レングス生成器18は、各オペランドに対応し
て、次のフローの処理バイト数(L1,L2)を
決定し、レジスタ19または20に処理バイト数
を出力する。以降の処理において、レジスタ16
または17の値から、加算器15により、それぞ
れレジスタ19または20の値が減じられ、残り
バイト数がレジスタ16または17に再設定され
るようになつている。なお、レジスタ16,17
は、それぞれ例えば24ビツトのレジスタで構成さ
れる。
レジスタ22は、第1オペランドアドレスの第
26ビツトから第31ビツトまでの6ビツトを保持
し、アドレスバウンダリ条件から、次の処理バイ
ト(16バイト処理/64バイト処理)を決定するた
めに使用する値を保持する。加算器21は、レジ
スタ22の内容とレジスタ19の内容とを加算す
る。レジスタ16、レジスタ17、またレジスタ
22により、以下に説明するように、次の処理バ
イト数およびフロー展開パターンを従来の2サイ
クルパイプライン制御における場合と同様に決定
することができることとなる。
第2図は移動命令のタイムチヤート例を示して
いる。論理比較命令についても同様である。
ストアフローのAステージで、レングス生成
器18により、次のフローの処理バイト数をプリ
デイクトして、レジスタ19およびレジスタ20
に設定する。レジスタ19およびレジスタ20の
内容は、それぞれ次のフローのストアおよびフエ
ツチの処理バイト数を示す。
処理バイト数のプリデイクトにあたつて、加算
器21の出力により、次のストアアドレスが16バ
イトバウンダリにあるか否かの判定がなされる。
16バイトバウンダリにある場合には、第4図ロに
示したように8バイトフエツチを2回繰り返し、
次に16バイトストアして処理の短縮を図るため
に、レジスタ20には「8」を、またレジスタ1
9には「16」を設定する。レジスタ19の値が
「16」のときには、第2オペランドをフエツチす
るとき、次のフローも8バイトフエツチを行うよ
うに制御し、続いて16バイト同時にストアする制
御を行う。これにより、3フローで16バイトの移
動がなされることになる。
また、レジスタ17が保持する第2オペランド
の残りバイト数がゼロのときには、埋め込み文字
をストアするだけでよいので、フエツチするフロ
ーは必要がない。従つて、この場合、第4図ハ図
示のように、次のフローもストアが連続するよう
に制御する。以上のように、加算器15の出力、
加算器21の出力および第2オペランドの残りバ
イト数に基づいて、種々の展開パターンを選択す
ることができる。
ところで、最初フエツチ、ストアフローに入る
とき、その前に処理レングスを生成する条件を設
定するストアフローがない。そこで、加算器15
および加算器21の入力L1を最初ゼロにしてお
く。そうすれば、途中における場合と同じ処理バ
イト発生条件となる。
また、次のフエツチフローでは、第2オペラン
ドアドレスは、前のフエツチフローでセツトした
作業用アドレスレジスタ2(WAR2)の内容を
アドレス生成回路6に入れ、前の処理バイト数L
2をデイスプレイスメントレジスタ5を経由して
アドレス生成回路6に入れることにより、これら
を加算して求められる。そして、前記制御部へプ
リデイクトしたバイト数L2のアクセス要求を出
す。同時に残りバイト長を求める専用の加算器1
5により、レジスタ17の内容から処理バイト数
L2を減じて、レジスタ17に設定する。
ストアのときには、同様に、第1オペランドア
ドレスは、前のストアフローでセツトした作業用
アドレスレジスタ1(WAR1)の内容をアドレ
ス生成回路6に入れ、前の処理バイト数F1をデ
イスプレイスメントレジスタ5を経由してアドレ
ス生成回路6に入れることにより、これらを加算
して求められる。なお、第2図からわかるよう
に、前のストアフローでセツトしたレジスタ1
9の処理バイト数L1は、次のストアフローで
破壊される。そこで、一旦、退避レジスタ23に
処理バイト数L1と同じ処理バイト数F1を保持
するようになつている。ストアにあたつて、記憶
制御部へプリデイクトしたバイト数L1の要求を
出す。さらに、ストアの残りバイト数を加算器1
5により求め、レジスタ16にセツトし、次のフ
ローの処理バイト数をプリデイクトする。以下同
様にフエツチまたはストアのフローが繰り返され
る。
〔発明の効果〕
以上説明した如く、本発明によれば、次のフロ
ーの処理バイト数を決定するために、第1オペラ
ンドと第2オペランドの残りバイト数を演算する
加算器を持ち、またアドレスバウンダリを求める
加算器を持つことにより、1サイクルパイプライ
ンで連続的に移動命令または論理比較命令を処理
していくことができるようになり、かつ効率的な
フロー展開を行うことができるようになる。
【図面の簡単な説明】
第1図は本発明の一実施例構成、第2図は第1
図図示実施例における移動命令の処理動作説明
図、第3図は2サイクルパイプラインと1サイク
ルパイプラインとの比較を示す図、第4図は移動
命令におけるフローの展開パターンの例、第5図
は従来の2サイクルパイプラインによるフローチ
ヤートを示す。 図中、6はアドレス生成回路、15は加算器、
18はレングス生成器、21は加算器を表す。

Claims (1)

    【特許請求の範囲】
  1. 1 移動命令または論理比較命令における記憶装
    置にアクセスすべき第1オペランドアドレスと第
    2オペランドアドレスとをそれぞれ保持しておく
    2つのレジスタと、処理されるべき各オペランド
    の残りデータ長を保持する2つのレジスタとを備
    え、1サイクルパイプライン制御により、移動命
    令または論理比較命令を処理する処理装置におけ
    る移動命令論理比較命令処理方式であつて、各処
    理毎に実効アドレスを求める加算器と、移動また
    は論理比較されるバイト数分だけ各オペランドの
    残りデータ長から減算する加算器と、オペランド
    のアドレスバウンダリ条件を決定する演算を行う
    加算器と、上記各加算器の出力結果に基づいて次
    の移動または論理比較されるバイト数を生成する
    とともにフローの展開条件を決定する回路とを備
    えたことを特徴とする移動命令論理比較命令処理
    方式。
JP20892584A 1984-10-04 1984-10-04 移動命令論理比較命令処理方式 Granted JPS61100835A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20892584A JPS61100835A (ja) 1984-10-04 1984-10-04 移動命令論理比較命令処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20892584A JPS61100835A (ja) 1984-10-04 1984-10-04 移動命令論理比較命令処理方式

Publications (2)

Publication Number Publication Date
JPS61100835A JPS61100835A (ja) 1986-05-19
JPH028331B2 true JPH028331B2 (ja) 1990-02-23

Family

ID=16564395

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20892584A Granted JPS61100835A (ja) 1984-10-04 1984-10-04 移動命令論理比較命令処理方式

Country Status (1)

Country Link
JP (1) JPS61100835A (ja)

Also Published As

Publication number Publication date
JPS61100835A (ja) 1986-05-19

Similar Documents

Publication Publication Date Title
JP2678183B2 (ja) デジタルプロセッサ制御装置および実行時記憶割当ての方法
EP0114304B1 (en) Vector processing hardware assist and method
JPH0248931B2 (ja)
JPH0414385B2 (ja)
JPH0410108B2 (ja)
US5390306A (en) Pipeline processing system and microprocessor using the system
JPH0363092B2 (ja)
JPH034936B2 (ja)
JPS6137654B2 (ja)
JPH0289132A (ja) 論理アドレス生成方式
JPH028331B2 (ja)
JPS601655B2 (ja) デ−タプリフェツチ方式
JPH0544049B2 (ja)
JPS61110240A (ja) 最適化コンパイラ
US5854919A (en) Processor and its operation processing method for processing operation having bit width exceeding data width of bit storage unit
JP3490191B2 (ja) 計算機
JPS6327746B2 (ja)
JPH06162067A (ja) ベクトル命令制御装置および制御方法
JPS61100836A (ja) 移動命令論理比較命令処理方式
US5524221A (en) Next instruction pointer calculation system for a microcomputer
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JPS60178539A (ja) 情報処理装置におけるバイパス制御方式
JP3124361B2 (ja) メモリデータロード装置
JP2522564B2 (ja) プログラマブルコントロ―ラ
JPH0385636A (ja) 命令先行制御装置