JPH0243627A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH0243627A
JPH0243627A JP63195674A JP19567488A JPH0243627A JP H0243627 A JPH0243627 A JP H0243627A JP 63195674 A JP63195674 A JP 63195674A JP 19567488 A JP19567488 A JP 19567488A JP H0243627 A JPH0243627 A JP H0243627A
Authority
JP
Japan
Prior art keywords
operand
data
instruction
register
zero
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
Application number
JP63195674A
Other languages
English (en)
Inventor
Katsumi Onishi
克己 大西
Aiichiro Inoue
愛一郎 井上
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 JP63195674A priority Critical patent/JPH0243627A/ja
Publication of JPH0243627A publication Critical patent/JPH0243627A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 排他的論理和を行う命令を有するデータ処理装置に関し
、 排他的論理和命令のオペランドフルオーバーラツプによ
るゼロクリアを高速に実行でき、かつマルチCPUにお
いても必ずゼロデータを得ることができるデータ処理装
置を提供することを目的し、排他的論理和命令でありか
つ2つのオペランドが一致する命令を検出する手段と、
前記命令が検出されたときに何れか一方のオペランドの
データを演算器の2つの人力へ送り出すことを特徴とす
るデータ処理装置を構成する。
〔産業上の利用分野〕
本発明は、排他的論理和を行う命令を有するデータ処理
装置に関する。
第1オペランドと第2オペランドとの間で排他的論理和
を行い、結果を第1オペランドに格納する命令がある。
この命令をXC命令と略する。
XCとはExclusive ORCharacter
の略である。
XC命令を有するデータ処理装置において、第1オペラ
ンドと第2オペランドを一致させてゼロクリアを行うこ
とが極めて多い。よって、XC命令によるゼロクリアを
高速に行うことが望まれていた。
〔従来の技術] XC命令において、第1オペランドと第2オペランドを
一致させ、記憶装置上の所定のデータをゼロクリアする
場合について説明する。XC命令は、第1オペランドの
データを読み出し、次に第2オペランドのデータを読み
出し、第1オペランドデータと第2オペランドデータの
排他的論理和を行い、第1オペランドへ書き込むものと
する。
アクセスデータ幅を8バイトとし、1ブロツク32バイ
トのゼロクリアを行うものとする。
最もオーツドックスな方法は、実際に第1及び第2オペ
ランドの最初の8バイトのデータを読み出し、演算を行
い、結果として得られたゼロデータを書き込むもので、
オペランド長のデータを全て処理するまで繰り返す。第
2図のパイプライン処理のタイムチャート図を用いて説
明すると、第1フローで第1オペランドをフェッチし、
第2フローで第2オペランドのフェッチ及びXC命令の
演算を実行し、第3フローで演算結果のゼロデータを書
き込む。アクセスデータ幅をゼロクリアするのに3フロ
ーを要するので、1ブロツクのゼロクリアには12フロ
ーを要する。
これを高速化するために第1オペランドと第2オペラン
ドの先頭データのみ排他的論理和を行い、演算結果とし
て得られたゼロデータをオペランド長の全範囲に書き込
む方法がある。パイプライン処理では、第1フローで第
1オペランドをフエ・ンチし、第2フローで第2オペラ
ンドのフェッチ、オペランドの一致の検出及びXC命令
の演算を行い、第3フローで演算結果を書き込み、第4
フロー以下、オペランドのフェッチ及び演算を行うこと
なしに、第3フローで得られたゼロデータを書き込む、
よって、1ブロツクのゼロクリアに6フローを要する。
また、第1オペランドと第2オペランドが一致すること
を検出し、第1オペランド及び第2オペランドのデータ
を読み出すことなく、何らかの手段で作り出したゼロデ
ータを第1オペランドへ書き込む方法もある。パイプラ
イン処理では、第1フローでオペランドの一致を検出し
、オペランドデータを読み出すことなく、ゼロデータを
書き込み、以下第4フローまで順次ゼロデータを書き込
んでいく。この方法では1ブロツクのゼロクリアが4フ
ローで処理できる。
〔発明が解決しようとする課題〕
第1オペランドと第2オペランドの先頭データのみ排他
的論理和を行い、演算結果として得られたゼロデータを
オペランド長の範囲に書き込む方法は、CPUが1台だ
けなら問題はないが、CPUが2台以上になると、不都
合が生じる。あるCPUがXC命令を実行するために第
1オペランドを読み出した後、第2オペランドを読み出
すまでの間に、第2オペランドのデータを他のCPUが
書き換えた場合、演算結果としてゼロデータが得られな
い。また、最初の演算結果をオペランドの第9バイト以
降に順次書き込んでいくので、ゼロクリアすべき範囲に
ゼロ以外のデータが書き込まれてしまう。
次に第1オペランドと第2オペランドが一致することを
検出し、第1オペランド及び第2オペランドのデータを
読み出すことなく、ゼロデータを第1オペランドへ書き
込む方法は、実際に演算を行わないため、演算実行時に
生成されるコンデイションコードや演算結果であるゼロ
データを演算以外の何らかの手段で作り出さなければな
らない。
よって、前記の手段を達成するための回路が増加し、マ
シンサイクルの短縮が困難になる。
本発明は、XC命令のオペランドフルオーバーラツプに
よるゼロクリアを高速に実行でき、かつマルチCPUに
おいても必ずゼロデータを得ることができるデータ処理
装置を提供することを目的とする。
〔課題を解決するための手段〕
上記目的を達成するために、XC命令でありかつ2つの
オペランドが一致することを検出する手段と、前記手段
に検出されたときに何れか一方のオペランドのデータを
メモリから読み出して演算器の2つの入力へ送り出すこ
とを特徴とするデータ処理装置を構成する。
〔作用〕
XC命令において、第1オペランドと第2オペランドの
アドレスが一致することを検出したときは、先にメモリ
から読み出した一方のオペランドのデータを演算ユニッ
トへ送り出し、他方のオペランドのデータを演算ユニッ
トに送り出す代わりに、先に読み出したデータを演算ユ
ニットへ送り出す。よって、同一のデータで排他的論理
和を行うので、必ずゼロデータが得られる。また、実際
に演算を行うため、コンデイションコードやゼロデータ
を作り出す手段を別途設ける必要がない。
オペランド内の先頭のデータ以外にも、演算結果として
得られたゼロデータを順次書き込んでいく。
〔実施例〕
第1図に本発明の一実施例を示す。
図中、■はアドレス生成器であり、ペースレジスタ11
とインデックスレジスタ12とデータレジスタ13の値
からオペランドアドレスを算出し、アドレスレジスタ1
4に送出する。2はバッファメモリであり、アドレスレ
ジスタ14で指定されたデータが読み出される。5のフ
リップフロップはレジスタセット信号発生器であり、オ
ペランドデータレジスタ16または17(以下、ODR
,,0DRzと略す)にレジスタセット信号51及び5
1“を送出し、ODR,と0DRzを交互にセットする
。3はデータセレクタであり、レジスタ選択信号で指定
されたレジスタのデータを送り出す。19はワーキング
レジスタであり、第2オペランドデータが読み出される
まで第1オペランドデータを保持する。4はXC演算器
であり、演算器のI1に入力されるワーキングレジスタ
14の第1オペランドデータと、データセレクタ3を通
してI2に入力されるデータとを排他的論理和の演算を
おこない、リザルトレジスタ20にセットする。
以上は従来の構成と同様であり、本発明実施のために追
加された回路は、7のフリップフロップと21〜25の
論理回路である。従来、データセレクタ3に入力される
レジスタ選択信号は、レジスタセット信号発生器5の出
力等が入力されていて、データが新たにセットされた側
のオペランドデータレジスタが選択されていた。25の
論理積回路は、XC検出信号54とオペランド一致信号
93から、XCオペランドフルオーバーラツプ信号53
を送出する。21〜24の論理回路は、信号53がオフ
ならレジスタセット信号発生器5の出力をレジスタ選択
信号52とする。つまり、データがセットされたオペラ
ンドデータレジスタが選択される。また、信号53がオ
ンなら、レジスタ選択信号 52を反転すべきところを
反転させず、ひとつ前にデータがセットされたオペラン
ドデータレジスタを選択する。
ここで、従来例と同様第2図のパイプライン処理のタイ
ムチャート図を用いて、32バイトのゼロクリアを説明
する。A1サイクルでは、アドレス生成器1により第1
オペランドのアドレスを算出し、アドレスレジスタ14
にセットする。B。
サイクルでアドレスレジスタ14によって指定されるデ
ータをODR,にセットする。レジスタセット信号発生
器5がODR,にレジスタセット信号を送出したものと
する。この状態ではXcオペランドフルオーバーラツプ
信号がオフままであり、レジスタ切換信号発生器7はデ
ータがセットされたレジスタを選択する信号を送出する
。B1サイクルでは、ODR,にセットされた第1オペ
ランドデータをワーキングレジスタ19にセットする。
これらの処理と並列に、A2サイクルでは第2オペラン
ドアドレスを算出し、このアドレスをアドレスレジスタ
14にセットするまえに、第2オペランドアドレスとア
ドレスレジスタ14にセットされている第1オペランド
アドレスを比較し、オペランド比較信号91〜93を送
出する。この信号中のオペランド一致信号とXC検出信
号より、XCオペランドフルオーバーラツプ信号53を
送出する。
B2サイクルでは第2オペランドデータをODR。
にセットする。従来なら、レジスタ切換信号発生器7は
ODR,を選択するが、本発明では、前回にデータをセ
ットしたレジスタを選択する。B2サイクルでは、ワー
キングレジスタ19の第1オペランドデータと、データ
セレクタから送られてくるODR,に格納されている第
1オペランドデータとをXC演算回により、排他的論理
和をおこなう。W、サイクルで演算結果であるゼロデー
タを書き込む。第4フロー以下は、第2フローで得られ
たゼロデータを第1オペランドの残りへ順次書き込んで
いく。
〔発明の効果〕
上記で説明したように、本発明では、第1オペランドと
第2オペランドが一致したとき、第1オペランドを読み
出した後、第2オペランドのデータが他のCPUに書き
換えられても、先に読み込んであるデータを演算器の2
つの入力に送り出すので、ゼロデータを得ることができ
る。また、最初の1度だけは実際に排他的論理和を行う
ので、コンデイションコードやゼロデータを作り出す手
段を設ける必要がなく、回路が少なくてすむのでマシン
サイクルの短縮も可能である。
【図面の簡単な説明】
第1図は本発明の一実施例の構成図であり、第2図は処
理動作を説明するためのパイプライン処理のタイムチャ
ート図である。 図中、 ・アドレス生成器 ・バッファメモリ ・データセレクタ ・XC演算器 ・レジスタセット信号発生器 ・オペランド比較器 ・アドレスレジスタ ・第1オペランドデータレジスタ ・第2オペランドデータレジスタ ・ワーキングレジスタ ト レジスタセット信号 ・レジスタ選択信号 ・XCオペランドフルオーバーラツ プ信号 54・・・XC検出信号 93・・・オペランド一致信号 52 ・ 1 ・ 2 ・ 3 ・ 4 ・ 5 ・ 6 ・ 14 ・ 16 ・ 17 ・ 19 ・ 51. 53 ・ Dt At Bt Et Wt Dz  Az  f3z  Ez 1AhD3/4J 
Eli Ei Wa 04 A4134 fa J杓 ? 凹

Claims (1)

  1. 【特許請求の範囲】 第1及び第2のオペランドのデータを入力し排他的論理
    和を行う演算器(4)を有するデータ処理装置において
    、 排他的論理和命令でありかつ2つのオペランドが一致す
    る命令を検出する手段(6及び25)と、前記命令が検
    出されたときに何れか一方のオペランドのデータを演算
    器(4)の2つの入力へ送り出す手段(3、7及び21
    〜25)とを備えたことを特徴とするデータ処理装置。
JP63195674A 1988-08-04 1988-08-04 データ処理装置 Pending JPH0243627A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63195674A JPH0243627A (ja) 1988-08-04 1988-08-04 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63195674A JPH0243627A (ja) 1988-08-04 1988-08-04 データ処理装置

Publications (1)

Publication Number Publication Date
JPH0243627A true JPH0243627A (ja) 1990-02-14

Family

ID=16345110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63195674A Pending JPH0243627A (ja) 1988-08-04 1988-08-04 データ処理装置

Country Status (1)

Country Link
JP (1) JPH0243627A (ja)

Similar Documents

Publication Publication Date Title
US4476525A (en) Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously
JPH09330236A (ja) マイクロプロセッサ及びその周辺装置
JPS6125169B2 (ja)
US4954947A (en) Instruction processor for processing branch instruction at high speed
CN111831328A (zh) 数据处理的方法及装置
JPH03201031A (ja) 情報処理装置
JPH04215129A (ja) 連続指令実行方法及び装置
JPH0243627A (ja) データ処理装置
US6453410B1 (en) Computer system having a cache memory and a tracing function
KR19980024622A (ko) 프로그램 실행 방법 및 그 방법을 이용한 장치
JPH0377137A (ja) 情報処理装置
JP2629479B2 (ja) 情報処理装置
JPH0248733A (ja) 情報処理装置
JP2522564B2 (ja) プログラマブルコントロ―ラ
JP3124361B2 (ja) メモリデータロード装置
JP2583614B2 (ja) ベクトル演算装置
JP3414579B2 (ja) プログラマブルコントローラ
KR0174655B1 (ko) 프로그램형 제어기에서 비트연산을 도와주는 하드웨어 장치
JPH0234058B2 (ja)
JP3693873B2 (ja) マスクビット数演算装置、ベクトル処理装置、情報処理装置
JPH028331B2 (ja)
JPH02151925A (ja) 高速ビット論理演算装置
JPS61122754A (ja) マイクロプロセツサ
JPS6115235A (ja) 中央処理装置
JPH04245333A (ja) 情報処理装置