JPS61100835A - 移動命令論理比較命令処理方式 - Google Patents

移動命令論理比較命令処理方式

Info

Publication number
JPS61100835A
JPS61100835A JP20892584A JP20892584A JPS61100835A JP S61100835 A JPS61100835 A JP S61100835A JP 20892584 A JP20892584 A JP 20892584A JP 20892584 A JP20892584 A JP 20892584A JP S61100835 A JPS61100835 A JP S61100835A
Authority
JP
Japan
Prior art keywords
register
address
operand
adder
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.)
Granted
Application number
JP20892584A
Other languages
English (en)
Other versions
JPH028331B2 (ja
Inventor
Kouhei Mutsuyama
大津山 公平
Yuji 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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は移動命令論理比較命令処理方式、特に1サイク
ルパイプライン制御方弐を採用する処理装置における命
令処理方式であって、移動命令/論理比較命令における
フェッチ/ストアを各1サイクルごとに連続して処理で
きるようにすると共に、効率的なフロー展開を可能とし
た移動命令論理比較命令処理方式に関するものである。
〔従来の技術と問題点〕
第3図は2サイクルバイブラインと1サイクルパイプラ
インとの比較を示す図、第4図は移動命令におけるフロ
ーの展開パターンの例、第5図は従来の2サイクルバイ
ブラインによるフローチャートを示す。
従来のパイプライン制御を行う処理装置では。
第3図(イ)図示のような2サイクルに1回命令が投入
される2サイクルバイブラインか多く採用されている。
2サイクルパイプラインにおける1フローは、命令をデ
コードするDステージと、インデックス・ヘース等を読
み出すRステージと。
実効アドレスを生成するAステージと、生成アドレスに
よりバッファを検索するB1ステージおよびB2ステー
ジと5オペランドデータを用いて演算を実行するB1ス
テージおよびB2ステージと。
結果をチェックするCKステージと、レジスタへの書き
込みを行うWステージとからなる。
このような2サイクルパイプラインに対して。
パイプラインの密度を濃(シ、性能を向上させるため、
各サイクル毎に命令を投入できる1サイクルパイプライ
ンが考えられている。1サイクルパイプラインの1フロ
ーは、第3図(ロ)図示のように、命令をデコードする
Dステージと、実効アドレスを生成するAステージと、
アドレス変換を行うTステージと、バッファを検索する
Bステージと、オペランドデータを用いて演算を実行す
るEステージと、レジスタへの書き込みを行うWステー
ジとからなる。本発明は、この1サイクルバイプライン
制御を採用する処理装置を対象としているものである。
ところで、長いバイト数を1命令で処理するいわゆる割
込み可能な移動(Move Lonに)命令や論理比較
(Compare  Logical  Long)命
令は、最近オペレーティング・システム等における使用
頻度が増え、特に移動命令においては、その処理速度が
性能に大きく影響するようになっている。そのため、第
4図(イ)に示すように1通常のフェッチ/ストア・シ
ーケンスでフローを展開するだけでなく、適当なバウン
ダリ条件のもとに、第4図(ロ)図示のように、8ハイ
ドのフェッチを2回繰り返して、その後16ハイトのス
トアを実行し、3フローで16バイトの移動を可能とし
たり。
また第2オペランドが短く第1オペランドの領域に埋め
込み(パディング)文字を詰めるときには。
第4図(ハ)図示のようにストアのみの連続処理を行っ
て高速化を図ることが考慮されている。    ゛従来
の2サイクルパイプラインを採用する処理装置において
は、第5図に示ず°ように、移動命令または論理比較命
令の処理がなされている。オペランドの実効アドレスを
求めるために、Aステージでアドレス生成回路(E A
 G 二Effectytve  Address  
Generator) 6が使用される。なお、このア
ドレス生成回路6は1周知の如く加算器によって構成さ
れている。2サイクルパイプライン制御では、上述のよ
うに2サイクルに一度しか命令が入ってこないので、ア
ドレス生成回路6は、実効アドレスの計算用として1通
常2サイクルに一度しか使用されない。そのため各B1
ステージでは、アドレス生成回路6は空いており、これ
を用いて従来、移動/論理比較命令の処理における未処
理のデータ長の演算が行われている。即ち、第5図から
れかるように、Blステージでアドレス生成回路6の加
算器を用いて、現在の残りバイト数(OP2L、0PI
L)から処理バイト数(B2、Ll)を減じて、新たな
残りバイト数を求めるようにされている。
しかし1本発明が前提とする1サイクルパイプライン制
御では、アドレス生成回路6の空きサイクルがないので
、これを利用して残りハイド数を求めることができない
という問題がある。また。
第4図で説明したような各種フロー展開を実現する場合
、その処理はパイプラインの構造によって異なることに
なり、1サイクル毎にアクセス可能なパイプラインにお
いても、いろいろなフロー展開パターンを可能にする手
段が望まれている。
〔問題点を解決するための手段〕
本発明は上記問題点の解決を図り、■サイクルパイプラ
イン制御のもとにおいて、移動または論理比較命令の処
理における次フローの処理ハイド数決定のために、残り
バイト数をAステージで求めることを可能とする。また
、各種フロー展開パターンを選択できるようにして効率
的に命令を処理することを可能とする。そのため1本発
明の移動命令論理比較命令処理方式は、移動命令または
論理比較命令における記(1装置にアクセスすべき第1
オペランドアドレスと第2オペランドアドレスとをそれ
ぞれ保持しておく2つのレジスタと。
処理されるべき各オペランドの残りデータ長を保持する
2つのレジスタとを備え、1サイクルツマイブライン制
御により、移動命令または論理比較命令を処理する処理
装置における移動命令論理比較命令処理方式であって、
各処理毎に実効アドレスを求める加算器と、移動または
論理比較されるノ\イト数分だけ各オペランドの残りデ
ータ長から減算する加算器と、オペランドのアドレスバ
ウンダリ条件を決定する演算を行う加算器と、上記各加
算器の出力結果に基づいて次の移動または論理比較され
るハイド数を生成するとともにフローの展開条件を決定
する回路とを備えたことを特徴としている。以下1図面
を参照しつつ、実施例に従って説明する。
〔実施例〕
第1図は本発明の一実施例構成、第2図は第1図図示実
施例における移動命令の処理動作説明図を示す。
第1図において、1および2は作業用アドレス生成回路
 3はペースレジスタ、4はインテ・ノクスレシスタ、
5はディスプレイスメントレジスタ6はレジスタ1〜5
の内容にもとづいてオペランドの実効アドレスを生成す
るアドレス生成回路。
7はオペランドアドレスレジスタ、8はバッファ。
9はオペランド語レジスタ、11は苛1令を実行する実
行ユニット(E unit)、  12は実行結果が格
納される結果レジスタを表す。
また、13は第1オペランドの処理対象となっているア
ドレスを保持するレジスタ、14は第2オペランドの処
理対象となっているアドレスを保持するレジスタ、15
ばAステージにおいて残りバイト数の演算を行う加算器
、16は第1オペランドの残りバイト数を保持するレジ
スタ、17は第2オペランドの残りバイト数を保持する
レジスタ、18は処理すべきバイト長を決定するレング
ス生成器、19は第1オペランドの処理ハイ1−敗を保
持するレジスタ、20は第2オペラン1−の処理ハイド
数を保持するレジスタ、21はアドレスバウンダリ条件
を決定するために使用する加算器。
22は第1オペランドについての例えば第26ビツトか
ら第31ビツトまでの6ヒノトを保持するレジスタ、2
3はレジスタ19の内容の退避レジスタを表す。
命令処理においては、Aステージにおいてアドレス生成
回路6により実効アドレスが演算され。
オペランドアドレスレジスタ7にオペランドアドレスが
格納される。このアドレスにもとづいてアドレス変換が
なされ、オペランドがフェッチされて、実行ユニット1
1により演算が実行され、結果が結果レジスタ12に格
納される。
上記処理では、まずDステージで汎用レジスタの読み出
しが行われ、ヘースレジスタ3またはインデックスレジ
スタ4を経由して、Aステージでアドレス生成回路6か
ら、第1オペランドまたは第2オペランドのアドレスと
バイト数とが出力される。ここで、第1オペランドの処
理対象となるオペランドアドレスは、レジスタ13に格
納され。
第1オペランドの処理データ長は、レジスタ16にセッ
トされる。同様に第2オペランドの処理対象となるオペ
ランドアドレスは、レジスタ14に格納され、第2オペ
ランドの処理データ長は、レジスタ17にセットされる
。なお9周知の如く。
長文字移動や長文字論理比較の命令において、第1およ
び第2のオペランドの長さは、必ずしも同じではない。
レジスタ13.レジスタ14の内容は、処理バイト長の
生成には使用されず、実行終了後におけるアドレス補正
に使用される。
レングス生成器18は、各オペランドに対応して2次の
フローの処理ハイド数(Ll、L2)を決定し、レジス
タ19または20に処理ハイド数を出力する。以降の処
理において、レジスタ16または17の値から、加算器
I5により、それぞれレジスタ19または20の値力檜
成しられ、残りバイト数がレジスタ16または17に再
設定されるようになっている。なお、レジスタ16.1
7は、それぞれ例えば24ビツトのレジスタで構成され
る。
レジスタ22は、第1オペランドアドレスの第26ビツ
トから第31ビツトまての6ビノトを保持し、アドレス
バウンダリ条件から9次の処理ハイト(16バイト処理
/64バイト処理)を決定するために使用する値を保持
する。加算器21は。
レジスタ22の内容とレジスタ19の内容とを加算する
。レジスタ16.レジスタ17.またレジスタ22によ
り、以下に説明するように1次の処理ハイI−数および
フロー展開パターンを従来の2サイクルパイプライン制
御における場合と同様に決定することができることとな
る。
第2図は移動命令のタイムチャート例を示している。論
理比較命令についても同様である。
ストアフロー■のAステージで、レングス生成器18に
より2次のフローの処理バイト数をブリディクトして、
レジスタ19およびレジスタ20に設定する。レジスタ
19およびレジスタ20の内容は、それぞれ次のフロー
のストアおよびフェッチの処理ハイド数を示す。
処理バイト数のブリディクトにあたって、加算器21の
出力により1次のストアアドレスが16バイトバウンダ
リにあるか否かの判定がなされる。
16ハイトバウンダリにある場合には、第4図(ロ)に
示したように8ハイトフlノチを2回繰り返し1次に1
6ハイトストアして処理の短縮を図るために、レジスタ
20には「8−:を、またレジスタ19にはr 1.6
.1を設定する。レジスタ19の値が「16」のときに
は、第2オペランドをフェッチするとき1次のフローも
8ハイトフエソチを行うように制御し、続いて16ハイ
ト同時にストアする制御を行う。ごれにより、370−
で16バイトの移動がなされることになる。
マタ、レジスタ17が保持する第2オペランドの残りバ
イト数がゼロのときには、埋め込み文字をストアするだ
けでよいので、フェッチするフローは必要がない。従っ
て、この場合、第4図(ハ)図示のように1次のフロー
もス1−アが連続するように制御する。以上のように、
加算器15の出力、加算器21の出力および第2オペラ
ンドの残りバイト数に基づいて1種々の展開パターンを
選択することができる。
ところで、最初フニソチ、ストアフローに入るとき、そ
の前に処理レングスを生成する条件を設定するストアフ
ローがない。そこで、加算器15および加算器21の人
力L1を最初ゼロにしておく。そうすれば、途中におけ
る場合と同じ処理バイト発生条件となる。
また1次のフェッチフローでは、第2オペランドアドレ
スは、前のフェッチフローでセットした作業用アドレス
レジスタ2  (WAR2)の内容をアドレス生成回路
6に入れ、前の処理ハイド数L2をディスプレイスメン
トレジスタ5を経由してアドレス生成回路6に入れるこ
とにより、これらを加算して求められる。そして、記憶
制御部ヘプリディクトしたハイド数L2のアクセス要求
を出す。同時に残りバイト長を求める専用の加算器15
により、レジスタ17の内容がら処理バイト数L 2を
戚じて、レジスタ17に設定する。
ストアのときには、同様に、第1オペランドア[・レス
は、前のストアフローでセットした作業用アドレスレジ
スタI、(WARI)の内容をアドレス生成回路6に入
れ、前の処理バイト数F1をディスプレイスメントレジ
スタ5を経由してアドレス生成回路6に入れる、二とに
より、これらを加算して求められる。なお、第2図から
れかるように。
前のストアフロー〇で七ノトシたレジスタ19の処理バ
イト数L1は1次のストアフロー■で破壊される。そこ
で、一旦、退避レジスタ23に処理バイト数L1と同じ
処理ハイ)数F1を保持するようになっている。ス1−
アにあたって、記(,49制御部ヘプリディクトしたバ
イトar−iの要求を出す。
さらに、ストアの残りバイト長を加算器15により求め
、レジスタ16にセットし1次のフローの処理ハイド数
をブリディクトする。以下同様にフェッチまたはストア
のフローが繰りLヌされる。
〔発明の効果〕
以上説明した如く5本発明によす1.:よ5次のフロー
の処理バイト数を決定するために、第1オペランドと第
2オペランドの残りバイト数を演算する加算器を持ち、
またアトレスハうンダリを求める加算器を持つことによ
り、1サイクルパイプラインで連続的に移動命令または
論理比較命令を処理していくことができるようになり、
かつ効率的なフロー展開を行うことができるようになる
【図面の簡単な説明】
第1図は本発明の一実施例構成、第2図は第1図図示実
施例における移動命令の処理動作説明図。 第3図は2サイクルパイプラインと1サイクルバイブラ
インとの比較を示す図、第4図は移動命令におけるフロ
ーの展開パ゛ターンの例、第5図は従来の2サイクルパ
イプラインによるフローチャートを示す。 図中、6はアドレス生成回路、15は加算器。 18はレングス生成器、21は加算器を表す。 特許出願人   富士通株式会社 代理人弁理士  長谷用 文廣(外1名)第 1 区 第 3I211 Cイ】 2サイ2ルノ1#イγクイン (O)1サイクル71′イフリイン −L−ノ一二り一旦=」L−二− ニL二五−=ニーニー」L−ヱー 第 4 図

Claims (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 true JPS61100835A (ja) 1986-05-19
JPH028331B2 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
JPH028331B2 (ja) 1990-02-23

Similar Documents

Publication Publication Date Title
US4476525A (en) Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously
KR0138468B1 (ko) 마이크로 컴퓨터
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPH0371337A (ja) マイクロプロセツサ回路
JPH0248931B2 (ja)
JPS5847053B2 (ja) デ−タ処理装置
US4954947A (en) Instruction processor for processing branch instruction at high speed
JPH0410108B2 (ja)
US4598358A (en) Pipelined digital signal processor using a common data and control bus
US5390306A (en) Pipeline processing system and microprocessor using the system
JPH0363092B2 (ja)
JPS6137654B2 (ja)
JPS61100835A (ja) 移動命令論理比較命令処理方式
US6513053B1 (en) Data processing circuit and method for determining the first and subsequent occurences of a predetermined value in a sequence of data bits
US5854919A (en) Processor and its operation processing method for processing operation having bit width exceeding data width of bit storage unit
JPS6327746B2 (ja)
JPS61100836A (ja) 移動命令論理比較命令処理方式
JPH01273132A (ja) マイクロプロセッサ
JPH01177145A (ja) 情報処理装置
JPS59184944A (ja) 丸め演算方式
JPH0233173B2 (ja)
KR900002601B1 (ko) 마이크로 프로그램 제어방식
JPS6327975A (ja) ベクトル演算制御方式
JPS6120907B2 (ja)
JPS6126089B2 (ja)