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

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

Info

Publication number
JPS61100836A
JPS61100836A JP20892684A JP20892684A JPS61100836A JP S61100836 A JPS61100836 A JP S61100836A JP 20892684 A JP20892684 A JP 20892684A JP 20892684 A JP20892684 A JP 20892684A JP S61100836 A JPS61100836 A JP S61100836A
Authority
JP
Japan
Prior art keywords
byte
operand
bytes
instruction
address
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
JP20892684A
Other languages
English (en)
Other versions
JPH028332B2 (ja
Inventor
Kouhei Ootsuyama
大津山 公平
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 JP20892684A priority Critical patent/JPS61100836A/ja
Publication of JPS61100836A publication Critical patent/JPS61100836A/ja
Publication of JPH028332B2 publication Critical patent/JPH028332B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は移動命令論理比較命令処理方式、特に1サイク
ルパイプライン制御力式を採用する処理装置における命
令処理方式であって、1多勅命令/論理比較命令におけ
る例外検出による中断や、ミスマツチによる終了時のア
ドレスおよび残りバイト数の補正を効率的に行い得るよ
うにした移動命令論理比較命令処理方式に関するもので
ある。
〔従来の技術と問題点〕
第3図は2サイクルパイプラインと1ザイクルパイプラ
インとの比較を示す図、第4図は移動命令におけるフロ
ーの展開パターンの例、第5図は本発明の課題に関連し
た問題点を説明するための図を示す。
従来のパイプライン制御を行う処理装置では。
第3図(イ)図示のような2サイクルに1回命令が投入
される2サイクルパイプラインが多(採用−されている
。2サイクルパイプラインにおける1フローは、命令を
デコードするDステージと、インデックス・ベース等を
読み出すRステージと。
実効アドレスを生成するAステージと、生成アドレスに
よりバッファを検索するB1ステージおよびB2ステー
ジと、オペランドデータを用いて演算を実行するB1ス
テージおよびB2ステージと。
結果をチェックするCKステージと、レジスタへの凹き
込みを行うWステージとからなる。
このような2サイクルパイプラインに対して。
パイプラインの密度を濃くシ、性能を向上させるため、
各サイクル毎に命令を投入できる1サイクルパイプライ
ンが考えられている。1サイクルノ々イブラインの1フ
ローは、第3図(+−])図示のように、命令をデコー
トするDステージと、実効アドレスを生成するAステー
ジと、アドレス変換を行うTステージと、バッファを検
索するBステージと、オペランドデータを用いて演算を
実行するEステージと、レジスタへの古き込みを行うW
ステージとからなる。本発明は、この1サイクルパイプ
ライン制御を採用する処理装置を対象としている。
ところで、長いバイト数を1命令て処理するいわゆる割
込み可能な移動(Move Long)命令や論理比較
(Compare  Logical  Long)命
令は。最近オペレーティング・システム等における使用
頻度が増え、特に移動命令においては、その処理速度が
性能に大きく影響するようになっている。そのため、第
4図(イ)に示ずようシこ、1JTI常のフェッチ/ス
トア・シーケンスでフローを展開するだけでなく、バウ
ンダリ条件がよい場合には、第4図(ロ)図示のように
、8バイトのフェッチを2回繰り返して、その後16ハ
イトのストアを実行し、370−で16バイトの移動を
可能としたり゛。
また第2オペランドが短く第1オペランドの領域ニ埋め
込み(パディング)文字を詰めるときには。
第4図(ハ)図示のようにストアのみの連続処理を行っ
て高速化を図ることが考慮されている。
上記移動命令や論理比較命令では、アクセスに対する例
外が発生したとき、それまで実行した第、1オペランド
、第2オペランドのアドレスやデータ長を補正して、そ
れぞれの汎用レジスタへ戻さなければならない。論理比
較命令において不一致が検出された場合も同様に、その
バイトのところで処理を中断し、アドレス等を補正する
必要がある。この処理は、パイプラインの構造によって
異なって(る。
第5図(イ)は、2サイクルパイプラインでアクセス例
外が生じた場合を示している。パイプライン処理におい
ては、前の処理が完了する以前に次の処理のアクセス要
求を出すのが一般的であり。
アクセス例外が検出されるときには1次の1フローが流
れている。これに対し、第5図C口)に示した1サイク
ルパイプラインの場合、アクセス例外検出時には、後続
する3フローが流れていることになる。
同様に論理比較命令においてミスマツチが検出されたと
き、2サイクルパイプラインでは、第5図(ハ)図示の
ように2フロー流れる。これに対し、■サイクルバイブ
ラインでは、第5図(ニ)図示のように、4フローが流
れていることになる。
このように、従来の2サイクルパイプラインと比較する
と、1サイクルパイプラインでは、270−余分に流れ
てしまうので、アドレスやバイト数の補正が複雑になり
、補正を実現することが困難であるという問題がある。
〔問題点を解決するための手段〕 本発明は上記問題点の解決を図り、移動または論理比較
命令の処理において1例外検出による中断やミスマツチ
による終了時のアドレスおよび残りバイト数の補正を、
■サイクルパイプライン制御であっても効率的に処理す
る手段を与える。そのため2本発明の移動命令論理比較
命令処理方式は、移動命令または論理比較命令における
記憶装置にアクセスすべき第1オペランドアドレスと第
2オペランドアドレスとをそれぞれ保持しておく2つの
レジスタと、処理されるべき各オペランドの残りデータ
長を保持する2つのレジスタと、各処理毎に実効アドレ
スを求める加算器と、移動または論理比較されるバイト
数分だけ減算する減算器とを備え、1サイクルバイブラ
イン制御により。
上記加算器および上記減算器による加算、減算を同時に
行い、その結果から次の移動または論理比較されるバイ
ト数を生成する処理装置における移動命令論理比較命令
処理方式であって、各パイプライン毎に移動または論理
比較されるバイト数を示すレジスタと、第1オペランド
および第2オペランド対応にそれぞれ記憶制御部へアク
セス要求を出す毎にアクセス要求が出されたバイト数を
加算すると共に正常終了するとそのバイト数を減算する
回路と、該回路の出力を保持しアクセス要求されたバイ
ト数と正常終了したバイト数との差分を示すバイトカウ
ンタとを備え、該バイトカウンタに基づいて各オペラン
ドアドレスおよびデータ長を補正することを特徴として
いる。
〔作用〕
パイプライン制御において5次のフローの処理バイトま
たは展開パターンを決めるには、フローのできるだけ最
初の部分1例えばAステージでオペランドアドレスまた
は残りバイト長の更新をしたほうが制御が容易である。
一方、途中で処理を中断させる事象が発生して、そのオ
ペランドアドレスおよび残りバイト長の補正を行う場合
には。
フローの後方において、残りバイト長の演算等を行うほ
うが間車であり、フローの最初で更新してしまうと補正
が複雑になる。本発明は、各パイプライン毎に処理した
バイト数を保持するようにし。
Aステージにおいて残りバイト長を更新すると共に、A
ステージで更新したバイト数と正しく実行されたバイト
数との差を各オペラン1旬に演算して保持することによ
り、必要な場合には、この値にもとづいて補正できるよ
うにしている。そのため、フローの最初でオペランドア
ドレスおよび残りバイト長を更新しても、途中で処理を
中断させる事象が発生した場合、容易に補正可能になっ
ている。
〔実施例〕
以下9図面を参照しつつ、実施例に従って説明する。
第1図は本発明の一実施例構成、第2図は第1図図示実
施例における論理比較命令の動作タイムチャートを示す
第1図において、1および2は作業用アドレス生成回路
、3はヘースレジスタ、4はインデックスレジスタ、5
はディスプレイスメントレジスタ。
6はレジスタ1〜5の内容にもとづいてオペランドの実
効アドレスを生成するアドレス生成回路。
7はオペランドアドレスレジスタ、8はバッファ。
9はオペランド語レジスタ、】0はレジスタ、11は命
令を実行する実行ユニット(E unit)、  12
は結果レジスタ、13はレジスタファイルを表す。
また、14はAステージにおいて残りバイト数の演算を
行う加減算器、15は第1オペランドの残りバイト数を
保持するレジスタ、16は第2オペランドの残りバイト
数を保持するレジスタ、17は第1オペランドの処理対
象となっているアドレスを保持するレジスタ、18は第
2オペランドの処理対象となっているアドレスを保持す
るレジスタ、19は処理すべきバイト長を決定するレン
グス生成器、20は第1オペランドの処理バイト数を保
持するレジスタ、21は第2オペランドの処理バイト数
を保持するレジスタ、22ないし26は各バイプライ、
ン毎に移動または論理比較されるバイト数を記憶するレ
ジスタ、27は第1オペランド用の補正値を演算する加
減算器、28は第2オペランド用の補正値を演算する加
減算器、29は第1オペランドの補正値を持つバイトカ
ウンタ、30は第2オペランドの補正値を持っバイトカ
ウンタ、31は処理の中断またはミスマツチか生じたア
ドレスとデータ長とを演算する補正用加減算器を表す。
命令処理においては、Aステージにおいてアドレス生成
回路6により実効アドレスが演算され。
オペランドアドレスレジスタ7にオペランドアドレスが
格納される。このアドレスにもとづいてアドレス変換が
なされ、オペランドがフェッチされて、実行ユニット1
1により演算が実行され、結果が結果レジスタに格納さ
れる。
第1オペランドの処理フローにおいては、処理対象とな
るオペランドアドレスがレジスタ17に格納され、第1
オペランドの処理の残りバイト数がレジスタ15にセッ
トされる。同様に第2オペランドの処理フローにおいて
は、処理対象となるオペランドアドレスがレジスタ18
に格納され。
第2オペランドの処理の残りバイト数がレジスタ16に
セントされる。なお2周知の如(、長文字移動や長文字
論理比較の命令において、第1および第2のオペランド
の長さは、必ずしも同じではない。
レングス生成器19は、各オペランドに対応して1次の
フローの処理バイト数を決定し、レジスタ20または2
1に処理ハイI−故を出力する。以降の各オペランドの
処理において、レジスタ15または16の値は、加減算
器14により、それぞれレジスタ20または21の値か
滅しられ、残りバイト数がレジスタ15または16に再
設定されるようになっている。なお通常、レングス生成
器19は、第4図で説明したフロー展開条件に従って、
8または16またはそれらの端数を処理バイト数とする
レジスタ22〜26には、各パイプラインに対応して、
処理のバイト数が記憶されるようになっており、各ステ
ージの終了毎に順次2次のレジスタにシフトされていく
ようになっている。
バイトカウンタ29は、第1オペランドについて、Aス
テージで更新されたハイFDと正しく実行されたバイト
数との差を保持するカウンタである。なお、このカウン
タの幅は、パイプラインの長さと1回にアクセスするバ
イト数によって決められる。加減算器27は、バイトカ
ウンタ29の値とレジスタ20の値とを加算し、Aステ
ージでアクセスを出す毎にそのバイト数分の足しこみを
行い、正しく処理された場合にレジスタ26の値を減算
することにより、Wステージで正しく実行された分だけ
カウンタ値を減じる。論理比較命令において、ミスマツ
チが生じた場合には、レジスタ26の値を減算する代わ
りに、第何番目のバイトでミスマツチが生じたかを示す
バイト番号を減算する。
第2オペランドについそも同様に、加減算器28により
演算が逐次行われ、その結果がバイトカウンタ30に保
持される。
アクセス例外やミスマツチが検出された場合には、補正
用加減算器31によるオペランドアドレスの補正演算結
果および残りバイト長の補正演算結果を利用する。即ち
、第1オペランドアドレスは、レジスタ17の内容から
バイトカウンタ29の値を引くことにより求められる。
また、第1オペランド残りバイト長は、レジスタ15の
内容にバイトカウンタ29の値を加えることにより求め
られる。同様に、第2オペランドアドレスについては、
レジスタ18の内容からバイトカウンタ30の値を引く
ことにより求められる。また、第2オペランド残りバイ
ト長は、レジスタ16の内容にバイトカウンタ30の値
を加えることにより求められる。
第2図は論理比較命令による処理動作例のタイムチャー
トを示している。第1オペランドの先頭アドレスはa、
そのデータ長はρ、第2オペランドの先頭アドレスはす
、そのデータ長はmである。
この例では、第1オペランドのEステージで両オペラン
ドの内容が比較され、その結果がWステージに命令制御
部(図示省略)へ送られてくる。
従って、そのWステージで正しく実行した処理バイト数
がわかる。第2図に示した例では、2回目の比較のとき
不一致(ミスマツチ)を検出している。不一致が検出さ
れたとき、オペランドアクセスを止めるように指示が発
せられ、処理ハイ1−数の減算が抑止される。足しこみ
は、それぞれのオペランドアドレスおよび残りハイ1−
長が更新されるので、そのたび毎に行われる。従って1
その後の補正を行うフローでは、バイトカウンタ(OP
ILc)29およびバイトカウンタ (OP2LC)3
0は、ゼロでない値を示している。もし、最後まで正し
く実行されたときには、これらのバイトカウンタの値は
ゼロを示すことになる。
補正を行うフローでは、上述のように、第2オペランド
アドレスはrOP2A−OP2LCJ。
第2オペランド残りバイト長はrOP2L+o’P2L
CJ、第1オペランドアドレスはrOPIA−OP I
 LCJ 、第1オペランド残りバイト長はrOP I
 L+OP I LCJにより、それぞれの補正結果が
求められる。
移動命令または論理比較命令において、アクセス例外が
検出された場合には1次のように制御される。例えば第
2オペランドでアクセス例外が検出されたとき、フラグ
によりその例外を記憶しておき1次以降の第1オペラン
ドのWステージにおける減算を禁止し、オペランドアク
セスを止めるように指示する。このようにすれば、その
後の処理は上述の処理と同様になる。
〔発明の効果〕
以上説明した如く1本発明によれは、1ザイクルパイプ
ライン制御においても、アクセス例外か検出された場合
や、論理比較命令におり−Jるミスマツチが検出された
場合におけるオペランドアドレスおよび残りバイト数の
補正を、比較的簡明に行うことができるようになり、効
率的なパイプライン制御を行うことができるようになる
【図面の簡単な説明】
第1図は本発明の一実施例構成、第2図は第1図図示実
施例における論理比較命令の動作タイムチャート、第3
図は2サイクルパイプラインと1サイクルパイプライン
との比較を示す図、第4図は移動命令におけるフローの
展開パターンの例。 第5図は本発明の課題に関連した問題点を証明するだめ
の図を示す。 図中26はアドレス生成回路、7はオペランドアドレス
レジスタ、8はバッファ、9はオペランド語レジスタ、
11は実行ユニット、12は結果レジスタ、13はレジ
スタファイル、14は加減算器、15ないしlaはレジ
スタ、19はレングス生成器、20ないし26はレジス
タ、27および28加減算器、29および30はバイト
カウンタ、31は補正用加減算器を表す。 特許出願人   富士通株式会社 代理人弁理士  長谷用 文廣(外1名)′J42図 レンツ“スリ゛−−−−−−(A) −(A) 〜$ミスマv−f/1’イト 0PIA     d    O−とl   tlte
  arf3  d”/A  at/6 4t2+  
apx?  a+D I316t4θ0P2A    
4  4  4r13 1tfj  hl乙6+tt 
 6+xg  4+a Itsz eiz /#l) 
(7rHOとル   J  )  ノ  ノーB  1
−b  ft6 ノー/l  J−)4ノー搾1−32
 ノづ2ノーφθopλLりへ乍へ〃代−8乍−8席−
1anに一16僧−鉢句一球今^−32廊−うス潤−ダ
ρa4θ第3図 (4) 2サイクル、Xa47aクイン(ロ) 1サイ
クル/l’イア’94ンν    A    丁   
 ν    ε    Wし」ニュ2!−一に一−!−
−−L−22仁−第 4 図 第5区 (イJ     A     131    B2  
  E?A    8? io)   A   T   T5E TB 4丁 Qす A    BT    52   EI    E2A
     BI    B2 (ニ) A    丁     3     巳     WA
    丁    15a A   丁   B 4丁 24q

Claims (1)

    【特許請求の範囲】
  1. 移動命令または論理比較命令における記憶装置にアクセ
    スすべき第1オペランドアドレスと第2オペランドアド
    レスとをそれぞれ保持しておく2つのレジスタと、処理
    されるべき各オペランドの残りデータ長を保持する2つ
    のレジスタと、各処理毎に実効アドレスを求める加算器
    と、移動または論理比較されるバイト数分だけ減算する
    減算器とを備え、1サイクルパイプライン制御により、
    上記加算器および上記減算器による加算、減算を同時に
    行い、その結果から次の移動または論理比較されるバイ
    ト数を生成する処理装置における移動命令論理比較命令
    処理方式であって、各パイプライン毎に移動または論理
    比較されるバイト数を示すレジスタと、第1オペランド
    および第2オペランド対応にそれぞれ記憶制御部へアク
    セス要求を出す毎にアクセス要求が出されたバイト数を
    加算すると共に正常終了するとそのバイト数を減算する
    回路と、該回路の出力を保持しアクセス要求されたバイ
    ト数と正常終了したバイト数との差分を示すバイトカウ
    ンタとを備え、該バイトカウンタに基づいて各オペラン
    ドアドレスおよびデータ長を補正することを特徴とする
    移動命令論理比較命令処理方式。
JP20892684A 1984-10-04 1984-10-04 移動命令論理比較命令処理方式 Granted JPS61100836A (ja)

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 true JPS61100836A (ja) 1986-05-19
JPH028332B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04109337A (ja) * 1990-08-29 1992-04-10 Mitsubishi Electric Corp データ処理装置
JPH04296937A (ja) * 1990-01-24 1992-10-21 Internatl Business Mach Corp <Ibm> ハードウエアデータストリング演算コントローラ及び主記憶ストリング動作を行わせる方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04296937A (ja) * 1990-01-24 1992-10-21 Internatl Business Mach Corp <Ibm> ハードウエアデータストリング演算コントローラ及び主記憶ストリング動作を行わせる方法
JPH04109337A (ja) * 1990-08-29 1992-04-10 Mitsubishi Electric Corp データ処理装置

Also Published As

Publication number Publication date
JPH028332B2 (ja) 1990-02-23

Similar Documents

Publication Publication Date Title
JPH0371337A (ja) マイクロプロセツサ回路
EP0772819B1 (en) Apparatus and method for efficiently determining addresses for misaligned data stored in memory
EP0094535B1 (en) Pipe-line data processing system
JP3834145B2 (ja) ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法
US5390306A (en) Pipeline processing system and microprocessor using the system
JPS61100836A (ja) 移動命令論理比較命令処理方式
JPH10124312A (ja) 中央処理装置
JPS62262146A (ja) 処理装置
KR950000088B1 (ko) 데이터처리시스템
JPS6327746B2 (ja)
JP2812610B2 (ja) パイプライン制御方式
JP3124361B2 (ja) メモリデータロード装置
JPS60178539A (ja) 情報処理装置におけるバイパス制御方式
JPH01255933A (ja) 掃出し制御方式
JP2722493B2 (ja) レジスタ割り付け処理方法
JPH02254541A (ja) 条件分岐命令の制御方式
JPS61100835A (ja) 移動命令論理比較命令処理方式
JPH0731588B2 (ja) ベクトル処理装置
JPS5958550A (ja) 命令フエツチトラツプ制御方式
JPH0581015A (ja) パイプライン演算制御方法およびシステム
JPS595356A (ja) 汎用レジスタ制御方式
JPS5896346A (ja) 階層型演算方式
JPS58205256A (ja) データ処理方法
JPS62256135A (ja) 翻訳テスト命令処理方式
JPH06314196A (ja) 情報処理方法および装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees