JPH02213938A - 演算装置 - Google Patents

演算装置

Info

Publication number
JPH02213938A
JPH02213938A JP1328603A JP32860389A JPH02213938A JP H02213938 A JPH02213938 A JP H02213938A JP 1328603 A JP1328603 A JP 1328603A JP 32860389 A JP32860389 A JP 32860389A JP H02213938 A JPH02213938 A JP H02213938A
Authority
JP
Japan
Prior art keywords
operand
sign
magnitude
result
digit
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
JP1328603A
Other languages
English (en)
Other versions
JPH0447333B2 (ja
Inventor
John D Jabusch
ジヨン・デヴイド・ジヤバツシユ
Linda A Kovacs
リンダ・アン・カバクス
Timothy G Plzak
テイモシイー・ジエラルド・プルザツク
Robert R Richardson
ロバート・レイスト・レチヤードソン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH02213938A publication Critical patent/JPH02213938A/ja
Publication of JPH0447333B2 publication Critical patent/JPH0447333B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/491Computations with decimal numbers radix 12 or 20.
    • G06F7/492Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination
    • G06F7/493Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination the representation being the natural binary coded representation, i.e. 8421-code
    • G06F7/494Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3828Multigauge devices, i.e. capable of handling packed numbers without unpacking them
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/492Indexing scheme relating to groups G06F7/492 - G06F7/496
    • G06F2207/4924Digit-parallel adding or subtracting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Testing Electric Properties And Detecting Electric Faults (AREA)

Abstract

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

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明はデジタル・コンピュータの分野に係る。
本発明においては処理の完了以前に、実行中のパック1
0進数加算(ADD)クラス処理の結果条件の決定のた
めの準備がなされる。あらかじめ決定された結果条件は
例外割り込みの指示や、加算(ADD)クラス処理結果
の符号の選択に使用される。
B、従来技術 現行のコンピュータ構成における演算処理は結果を生成
するオペランドに基づいて実行される。
結果は命令シーケンスの実行中におけるコントロール・
プログラムのブランチを助ける条件コードをセットする
のに使用される。従来技術においては条件コードの決定
は演算処理の結果を持ったうえで行なわれていた。完了
状況に応じて、処理結果が調べられ、適当な条件コード
がセットされる。
最近の改良されたコンピュータにおいては、結果が使用
可能になる以前に条件コードを決定することにより固定
あるいは浮動小数点演算処理速度を高めている。例えば
米国特許出願Nα07/157.500 (1988年
2月17日出願)である。
この出願では条件コードの前もっての決定はオペランド
の結合による演算処理実行中のオペランド・ビットの操
作に基づく。
しかしながら、今日までパック10進数を含んだ演算処
理の間における結果条件決定の促進のための準備は行な
われていない。このことはパック10進数の演算回路お
よびプログラミングの複雑さに多大に影響を与えている
。従って、パック10進数演算処理の実行における結果
条件決定の促進が必要であることは明確である。
C0発明の概要 本発明の目的はパック10進数演算処理の実行における
結果条件決定の促進にある。
さらにもう一つの目的は、加算(ADD)クラス演算処
理手段によって結合されるパック10進数オペランドの
無効に基づく例外割り込みの早期発見にある。
これらの目的は例外割り込み命令ストリームに関するコ
ンピュータ演算装置によって実現される。
この命令ストリームは2つのパック符号10進数の2進
オペランドA、Bを結合して結果を導くものであり、各
オペランドは0からn−1の順に指定されたn個の連続
的16進数を含み、各オペランドの0からn−2の連続
的16進数はオペランドのマグニチュード、すなわち、
大きさを表している。各オペランドの残りの16進数は
オペランドの符号を表す0本発明はオペランドの結合に
よって実行される加算(ADD)クラス処理の結果条件
の供給処理を行うものである。
本発明は演算装置に接続されたマグニチュード比較機構
を有する装置の発明である。このマグニチュード比較機
構はオペランドのマグニチュードビットを論理的に結合
し、比較マグニチュードを示す第1結果条件信号を生成
する。有効性決定回路がオペランドのマグニチュード・
デイジット・ビットと符号デイジット・ビットとを論理
結合して第2結果条件信号を生成する。この第2結果条
件信号は、マグニチュード・デイジット・ビットあるい
は符号デイジットのビットがオペランドのいづれかが無
効であることを示す場合に命令ストリームの例外割り込
みを発生するように有効性決定回路により条件づけられ
る。
符号回路は演算装置に接続されオペランドの符号デイジ
ット・ビットを論理結合して、オペランドの符号の等価
性あるいは非等価性を示す第3結果条9件信号を生成す
る。
最後に結果符号選択装置は第1およ、び第2結果条件信
号に関するものであり、マグニチュード比較機構および
符号回路に接続され、結果符号としてオペランドAの符
号デイジットあるいはオペランドBの符号デイジットを
選択的に供給する。
これら本発明の目的および構成は以下説明する実施例お
よび図面によって、より明確になると思われる。
D、実施例 以下の説明においてはlO進数演算命令は周知であるも
のとする。例えば、Charles J、Kacmer
の著作による単行本rlBM 370 ASSEMBL
Y LANGUAGEWITHASSIST J Pr
entice flall、1988)の第7章に詳し
い。さらに加算(ADD)クラス処理は通常の意味を持
つ。すなわち、加算(ADD)クラス処理とは加算、減
算、比較処理であり、2つの符号化あるいは符号化され
ていない10進数字を結合して結果を生成するものであ
る。例えばIBMシステム/370アセンブリ言語命令
セットにおける特定命令から加算(ADD)クラス処理
は生ずる。上述参照文献のアペンディックスBおよびC
に詳細が示されている。
加算(ADD)クラス演算終了以前に結果条件の決定を
行うパック10進数オペランドを実行する簡略化した装
置を従来の10進数演算装置と組合せて第1図に示す。
本発明の目的とするところは、上記のような結果条件の
決定、条件コードを発生する際に使用される条件ビット
により決定される結果の指示、実行経路の決定、演算処
理結果の符号セット、無効条件の発見である。
第1図には2つのオペランドA、Bに基づいて加算(A
DD)クラス処理を実行するための演算装置が示されて
いる。この演算装置は図番10で示され、オペランドA
、、Bを有するオペランド・レジスタ12.14を有し
ている。各レジスタは2進演算論理装置(ALU)16
に接続されている。この2進演算論理装置は演算制御論
理18により制御され、オペランドA、Bを加算、減算
、あるいは論理比較処理により結合する。この種の処理
は信号経路19により供給されるALU@御信号(AL
U  C0NTR0L)の条件により指示される。AL
U16によって実行される加算(ADD)クラス処理の
結果は結果レジスタ(RESULT)20に供給される
。この結果はレジスタ20の右領域22にストアされた
符号デイジット(SIGN)を含むパック10進数字で
ある。
加算、減算処理時のオーバフロー除隊はALUによって
生成された結果中に含まれる先行ゼロの位置、オペラン
ドAの長さ、そして信号経路17を経由してALU16
から供給される各結果に応答してオーバフロー回路17
aにより随時、決定される。
従来の演算装置10は命令発行装置31と命令デコーダ
32とを有する従来の命令装置30で制御される。命令
発行装置31は1つまたは複数のループあるいはブラン
チによって定義される複数の実行経路を含む命令シーケ
ンスを発行する処理を行う。命令発行装置31も無効処
理条件を示す例外信号に応答する。従来と同様、この命
令発行装置31は割りごみを発生させるための例外信号
に応答して、命令シーケンスへの割りこみあるいは中断
を行う規則を有している。
命令発行装置31によって供給された各時点における命
令はデコーダ32によってデコードされ信号路33に命
令を供給する。
本発明は10進数2進テストおよびALUと並行にオペ
ランドASBを受取る条件ピットセット回路40を含む
ものである。
この条件ピットセット回路40が本願特許請求の範囲の
結果条件装置に該当する。
条件ビット・セット回路40は以下に述べるようにオペ
ランドの複数部を結合して信号路41にオペランドA、
Bのマグニチュードの関係(OPERAND  REL
ATION)を示す3ビット信号を送出する。信号路4
2上には条件ビット・セット回路40から無効10進数
状況信号INVDECC0NDが送出される0回路4o
は、各々オペランドAの符号およびオペランドBの符号
(OP  A  5IGN、OP  B  5IGN)
を示す単一の2進数字を信号路43および44に各々送
出する。
さらに条件ビット・セット回路40は、オペランドAと
オペランドBとが異なる符号を持っときにセットを行な
い、符号が同じときにはリセットを行う信号(DIFF
  DEC5IGNS)を信号路45に送出する。信号
路41〜45の信号は信号路33のCMD信号、信号路
17のオーバフロー信号とともに条件および例外コード
回路50に供給される。
コード回路50は、マイクロコードおよびハードウェア
中でインプリメントされた機能を有するプログラム回路
であることが望ましく、以下に詳細を述べる。この回路
は4つの条件コード信号CcoScci、CC2および
CC3を発生し、多重コンダクタ信号路56から命令発
行装置31に供給する0例外(EXCEPTION)信
号はコード回路50から信号路58を経由して命令発行
装置31に至る。さらにコード回路50は演算制御信号
を信号路51を経由して演算制御論理18に供給する。
これはどちらのADD処理がALU16によって受は取
られたかを示す。また、コード回路50は符号制御(S
IGN  C0NTR0L)信号を供給する。これは信
号路52を経由して符号選択回路60に供給される。
さらに、本発明には符号選択回路60が含まれる。これ
は信号路52から符号制御(SIGNCONTROL)
信号を受は取るとともに、信号路61.63ヘオペラン
ドAおよびBの符号値をオペランド符号の1つである結
果符号として選択供給する。この選択符号(SIGN)
は信号路65を介してレジスタ20のSIGN部22へ
供給される。符号選択回路はコード回路50の一部とし
て存在することが望ましい。しかし、第1図においては
理解を助けるために分離し示しである。
第2図にnデイジットを有するパック10進数値70を
示す。第1図の演算装置10に存在する第2図の形のパ
ック10進数のオペランドはn個の連続した4ビツトグ
ループを有する。これらのグループの各々は2進表記法
によって表され′Xxxx’  bの各Xは2進値(ビ
ット)の位置を示す。各4ビツト・グループを構成する
ビットはビット(0)からビット(3)まで第2図の第
1ビツト・グループに示したようにマグニチュードの順
にナンバリングされている。n−1個のビット・グルー
プの各々は16進値’i’ x、(0<i<n−1)に
よって表されている。従来と同様、16進僅のn−1は
パック10進数のマグニチュードを表し、(n)番目の
デイジットが値の符号を表す。
第3図は演算装置10のオペランド12および14に接
続された10進数2進テストおよび状況ビット・セット
回路40の詳細を示す図である。
第3図、および説明においてはオペランドは両者とも8
ディジットで、0から6のマグニチュード・デイジット
、7が符号デイジット符号化パック10進数値であると
仮定する。すなわち、各ナンバーは32バイナリ・デイ
ジット(ビット)から構成される。各16進ディジット
はOから3までのナンバリングされた4ビツトを有する
。条件ビット・セット回路40は10進オペランドが8
ディジットより大きなマグニチュード・デイジットを有
しても、唯1つの符号デイジットを有するとの仮定のち
とにいかなる大きさのlO進オペランドも処理可能であ
る。
第3図においては、デイジット・コンパレータがオペラ
ンドAおよびBの各々の7マグニチユード・デイジット
を表す28ビツトを受取、比較する。比較器71はこの
比較結果を示す3つの信号を供給する。オペランドAが
オペランドBよりも大きいことを示す第1信号、2つの
オペランドが等しいことを示す第2信号、オペランドA
がオペランドBよりも小さいことを示す第3信号である
これら3信号は各々、別々に信号路72.73および7
4を介して3つのセル・ラッチ76に供給される。ラッ
チ76のセルは比較器70の出力をとらえるためにクロ
ック信号(CK)によってクロックされる。第1ラツチ
・セルはGと表記される。これがセットされると、この
ラッチの出力はオペランドAのマグニチュードがオペラ
ンドBのマグニチュードよりも大きいことを示す。(A
GTB)、Lと表記されたセルはこの逆、すなわちオペ
ランドAがオペランドBよりも小さい(LT)ことを示
す。Nと表記されたセルの出力はインバータ77に与え
られ、インバータ77はNOT  EQUAL信号を発
生する。これはディジタル値が1のセット状態のときに
オペランドのマグニチュードが等しくないことを示す。
一方、2進値がOの状況のときにはNOT  EQUA
L信号はオペランドが等価であることを示す。Gおよび
Lラッチ、そしてインバータ77の出力は共に第1図に
示す信号路41を共有する。8デイジットより大きなオ
ペランドは高位のデイジットが符号化されていない(す
なわちHgn1tudeのみ)とみなされ、高−低の順
に比較器によって処理される。NOT  EQUALS
GREATERTHAN、およびLESS  THAN
信号は相互に影響を有し、GREATERTHAN、お
よびLESS  THAN信号は先のNOT  EQU
ALの状態がOのときのみセットされ、また、このとき
同時にNOT  EQUALがセットされなければなら
ない。
次に、無効10進ディジット(ID)回路は14個の複
式AND回路を有し、各AND回路は2つの入力と1つ
の出力を有する。AND回路80の出力はORゲート8
1によって集められる。各ANDゲートの機能を理解す
るために各16進マグニチユード・デイジットは4つの
2進ビツトを持つとする。これらのデイジット各々に含
まれる内容はOから9のレンジすべてのナンバーの1つ
によって表されるマグニチュード値であり、これは00
00“ bから“1001’  bで表記される。他の
すべての可能値は無効である。各16進マグニチユード
・デイジットは左から右へ(0)から(3)のナンバリ
ングがされ、ビット位置(0)と(1)、あるいは(0
)と(2)の2進値が11°であるとき、表1で示すよ
うに無効10進ディジットが存在することを示す。
表1にパック10進マグニチユード・ビットにおける6
つの可能無効ビットの構成を示す。これは複式ANDゲ
ート80゜から80+sが5つの可能な無効ビット・パ
ターンの1つづつをテストすることを示す、各ゲート・
ベアが2つのオペランドに含まれる可能な16のマグニ
チュード・デイジットを1つづつテストする。例えば、
2つのANDゲートは複式ゲート80゜に含まれる。ゲ
ート・ベア80.の第1ゲートA、はオペランドBのマ
グニチュードデイジットのビット(0)と(1)とをテ
ストする。ゲー) A tはビット(0)とビット(2
)とをテストする。もしオペランドBの第1ディジット
のビット・パターンが“B’ X、に対応する表1の値
を有するならば1、オペランドBは無効となるであろう
。このことはゲート・ペア80.のゲー) A tから
のポジ出力によって示される。これはオペランドBのテ
スト・デイジットlから7のためのゲート・ペア80、
から80.を含む第3図に示した回路によれば理解しや
すい。さらに回路はゲート・ペア80Isを含む8つの
複式ANDゲートを持ち、オペランドAのマグニチュー
ド・デイジットのテストに供している。8ディジットよ
り大きなオペランドに対しては、高位・デイジットが考
慮され(マグニチュードのみ)、8つのオペランド・デ
イジットすべてに無効マグニチュード・デイジット・ビ
ットの組合せについてのテストがなされる。複式AND
ゲート80゜から801.中のANDゲートすべての出
力はORゲート81中に集められる。この出力はオペラ
ンドAあるいはオペランドBのいづれかのマグニチュー
ド・デイジットが無効である場合にはいつでも発生する
オペランドの符号デイジットは無効10進符号(inv
alid decia+al 51gn= I D S
 )回路の組によってテストされる。オペランドBの無
効符号を調べる回路は2つのネガ入力を有するANDゲ
ート83と、ゲート83の出力に接続されたポジ入力と
符号デイジット・ビット(0)を受けるネガ入力とを有
するORゲート84から構成される。オペランドA符号
デイジットの無効調査はANDゲート86とORゲート
87の組によって実行される。これらはゲ−1−83,
84と同様の接続および構成を有する。
無効10進符号回路の動作は表1に従えば、より理解し
やすいと思われる。パック10進演算においては、符号
デイジット(本実施例においては7のごときデイジット
)は表1中の無効として示された値を持たないことが強
制される0表1のパターンはオペランドAおよびオペラ
ンドB各々についてAND10Rゲート・ベア83.8
4.86および87によって調べられる。例えば、オペ
ランドAの符号デイジットが“0010’  bの値を
有する場合を仮定する。この場合符号デイジッ) (0
)2進値“0”はORゲートのネガ入力によって逆転さ
れる。結果としてORゲート87の出力はオペランドA
の無効10進符号(IDSA=invaltd dec
imal sign for operand  A)
を示す出力となる。
ORゲート84と87の出力はORゲート88に集めら
れる。ORゲート81と88の出力は0Rゲート89の
出力に与えられる。このORゲート89の出力は無効1
0進条件(I D C= invaliddecima
l condition)ラッチ90の入力に接続され
ている。このようにORゲート81のポジ出力によって
示される無効10進ディジット(IDD=invali
d decimal dtgit))あるいはORゲー
ト88のポジ出力によって示される無効10進符号(I
DSBまたはID5A)の存在はORゲート89を介し
てIDCラッチ90をセットする。ラッチ90はクロッ
クされ、セットされたときのポジ出力は信号路42上に
無効10進条件(INVDECIMAL  C0ND)
信号を送出する。
10進数2進テストおよび条件セット論理40によって
実行されるもう一つの機能は、相違10進符号(DIF
FERENT  DECIMALSIGNS)信号の生
成とともにオペランドA1Bの検査である0本実施例に
おいてオペランドの符号はそれらの符号デイジット、各
々デイジット番号7の値によって与えられる。パック1
0進数における符号極性(SIGN  POLARIT
Y)が第1図に示されている。表1においてはマグニチ
ュード・デイジットの無効値(invalid val
ue)を示しているのに加えてオペランドA、Bの符号
デイジットの可能有効値コード(valid valu
ecode )のすべてを示す。表1においては2つの
16進コードがネガ極性、残りの4つがポジ極性である
。オペランドBにおいては、ネガ極性コード’B’ X
とD’ Xは各々ゲート100.102によって検査さ
れる。同様、オペランドAにおいてはANDゲート11
0.112が“B’ Xと“D’ Xとを検査する。オ
ペランドBにおいて、ネガ符号の検知はORゲート10
3の出力によって示される。このORゲート103はA
NDゲート100.102の出力を入力としている。同
様、ORゲート113はオペランドAのネガ符号の存在
を示す。オペランドBにネガ符号が検知されると、ラッ
チ121の出力は“1°゛の値を送出し、符号がポジで
あればラッチはリセットされる。
ORゲート103.113は排他的OR(XOR)ゲー
ト120にも出力する。オペランド符号が同じであると
きXORゲート120の出力はラチ123を非活動状態
とし相違10進符号(DIFFERENT DEC7M
AL  5IGN)信号を出力させる。符号が異なると
きはラッチの出力が生じ、相対する符号であることを示
す。
コード回路50の構造および動作を表3に示す。
表3にはコード回路中で具現化される論理の疑似コード
リストが示されている。これらは回路40によって生成
される結果条件信号をEXCEPTTON(例外)信号
に変換し、ADD (加算)処理によるオペランドA、
Bの結合により生成される結果の符号を選択する際に用
いられる。
まず、オペランドA、Bはレジスタ12.14にフェッ
チされる。その後、回路40はマグニチュードおよびオ
ペランド・ビットを結合し上述の出力信号を生成する。
ラッチG、N、L、IDC10、DそしてSがこれらの
入力を受けると、これらのラッチは信号路41〜45に
信号を送出する。
これらの信号は表2に示す疑似コード手順のステップ(
2)−(23)を用いてコード回路50に送られる。
表2 (1) オペランド フェッチ (2) 相対マグニチュードCG、N5L) 、等価〔
D〕、符号値〔O8〕、データ有効性CIDC)の確認
用オペランド・テスト(3)   IF  データ有効
 THEN(4)  SET二符号および相対マグニチ
ュードに基づいた条件コード(5)  IF“比較” 
THEN (6)  Exit (7)  ELSE (8)   IF(’加算1かっ符号が等価CD)また
は″減rかっ符号が相異〔D〕)THEN (9)  オペランド・マグニチュード加算(10)S
ET:結果符号=オペランドA符号(S)(11)スト
ア:結果 (12)IF  オーバフロー THEN(13)SE
T  CC3 (14)リターン二例外コード (15)ENDIF (16) ELSE (17)IF  オペランド・マグニチュードが等しい
、THEN(18)オペランド=+Q (19)ELSE (20)減算二人オペランドから小オペランドを減算(
GSL)(21)SET:等価符号を大オペランド符号
にセラ) (G、L。
(22) END I F (23)ストア:結果 (24) END I F (25) END I F (26)ELSE (27)リターン二例外コード (28) END I F 0、S〕 ステップ(2)から(23)において、コード回路50
は処理の実行されているタイプを示すCMD信号を受は
取る。さらに、回路40によって発生させられた回線4
1〜45上の信号も受は取り、表1に示すごと< CM
D信号およびこれらの符号値に応答して処理を実行する
。最初はステップ(2)における有効性(validi
ty)テスト(IDC)である。IDCがセットされる
と、表2の手順がステップ22において例外コードを戻
す。
さもなければ、条件コードがセットされる。回線33で
示された命令が比較(COMPARE)処理であるとき
は手順はステップ(5)で出口となる。一方、CMDが
加算処理(ADD)であり、オペランドの符号が等価(
Dはリセット)であることを示すとき、または処理が城
X(SUBTRACT)であり、符号が反対(Dはセッ
ト)であるとき、演算装置lOにおいて演算制御(AR
ITHC0NTR0L)信号が供給される。これはAL
U16にオペランド・マグニチュードを加算させる作用
をする。結果符号は選択符号回路60によって選択され
、結果レジスタ20の符号フィールドに挿入される。こ
れに続いて結果がストアされる。ここで ステップ(11)においてオーバフローが検知されたな
ら、条件コードはCC3に変えられ、例外コードは命令
シーケンスへの割りこみを行うべ(返却される。ステッ
プ(15)、(16)そして(17)はステップ(7)
でのテストが失敗(fail)であるときに実行される
。ここで小なるオペランドが大なるオペランドから減算
され、結果符号は大なるオペランドの符号に等しくされ
る。
符号選択は第4図を参照すると理解しやすい。
第4図は選択符号回路60を詳細に示した図である。信
号路52上の選択符号回路60はコード回路50から相
違10進符号(DIFFERENTDECIMAL  
S IGNS)’A  GT  BJ、rA  LT 
 B、の符号を受は取る。さらにコード回路50は加算
、減算処理を示すADDあるいは5UBTR信号を送出
する。ゲート200.210および211は表3中のス
テップ(′l)におけるテストを実行する。ここで処理
が加算処理であり、オペランド符号が等価(相違10進
符号=DIFFERENT  DECIMAL  5I
GNSリセツト)であればANDゲート200の出力が
生ずる。一方処理が減算であり符号が等価であればAN
Dゲート210の出力が生ずる。ANDゲート200と
210の出力はORゲート211に与えられる。このよ
うに、表3のステップ(7)の条件のいづれかが満足さ
れればORゲート211の出力が生ずる。一方、ステッ
プ(7)の条件が満足されなければORゲー+−211
の論理“0″出力がANDゲート220.221の各々
に逆転入力される。ゲート220にはオペランドへのマ
グニチュードがオペランドBのマグニチュードより大で
あることを示すrA  GT  BJ信号が供給される
。この場合、ORゲート211による″O″′出力を仮
定すればANDゲート220の出力が生ずる。ANDゲ
ート220の出力ORゲート211の出力はORゲート
223に入力される。ORゲート223は信号路219
ヘオペランドAの符号選択(SEL  A、)を実行す
る信号を供給する。一方、ORゲート211の出力が“
O”レベルで、オペランドBのマグニチュードがオペラ
ンドAのマグニチュードより大であるとき、ANDゲー
ト221の出力が生じ、回線218上にオペランドBの
符号を選択(SEL  B)する信号を供給する。
ANDゲート222は、活動化状態のとき、結果が無条
件にポジ(positive)と符号化されることを示
す。ここでORゲート211の出力がリセットされ、オ
ペランドが等価であるときは結果はゼロのマグニチュー
ドを有することとなる。マグニチュードがゼロのときは
結果符号は無条件にポジ(positive)となる。
ゲート223.221および222の出力は各々アセン
ブラ/マルチプレクサ225の選択A、選択Bおよび選
択C入力に供給される。アセンブラ/マルチプレクサ2
25の選択A1選選択入力にはさらにレジスタ12.1
4から各り符号デイジットが供給される。このようにr
SEL  AJ信号が高い(high)とき、オペラン
ドへの符号がアセンブラ/マルチプレクサ225によっ
て選択されゲート227に供給される。ゲート227は
ステップ(9)と(16)が実行されるときコード回路
50によって生成される信号(S E T sign)
によって活動化される。結果はゲートを活動状態となし
、選択されたオペランド符号がレジスタ20の符号フィ
ールドへ入ることを許可するSET信号である。
表2の手順におけるステップ4は以下に示す式にしたが
ってコード回路によって実行される。
加算(ADD)処理が実行されるとき、IBMシステム
/370条件コードをセットする式は以下の通りである
5ETCCO=NDV SETCC1=NDOVG+NDOVL+DOVSET
CC2=NDOVG+NDOVL+DOVSETCC3
=V 減算(SUBTRACT)処理が実行されるとき、IB
Mシステム/370条件コードをセットする式は以下の
通りである。
5ETCCO=NDV SETCC1=NDOVG+NDOVL+DOVSET
CC2=NDOVG+NDOVL+DOVS E T 
CC3= V                  (
8)注:ここで N=Not Equal D=Different Decimal Stgns
(相違10進符号)0=OPB  5IGN L=A  LT  B G=A  GT  B V =Decimal Over41ow (10進オ
ーバ・フロー)である。
E。発明の効果 上述したごとく本発明によればパック10進数演算処理
の実行における結果条件決定が促進され、処理効率を高
めることができる。
【図面の簡単な説明】
第1図は本発明の構成を示すブロック図、第2図はnデ
イジットを有するパック10進数2進数字を示す図、第
3図はlO進数2進回路の回路図、第4図は符号選択回
路を示す回路図である。 10・・・・・・演算装置、 12.14・・・・・・オペランド・レジスタ、16・
・・・・・2進演算論理装置(ALU)18・・・・・
・演算制御論理、 20・・・・・・結果レジスタ、 30・・・・・・命令装置、 40・・・・・・条件ビット・セット回路、50・・・
・・・コード回路、 60・・・・・・符号選択回路。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション 代理人 弁理士 頓  宮  孝  −(外1名) 917To)

Claims (1)

  1. 【特許請求の範囲】 例外割り込み命令ストリームに応答して2つのパック符
    号10進数の2進オペランドA、Bを結合して結果を導
    くコンピュータ演算装置であつて、上記各オペランドは
    0からn−1の順に指定されたn個の連続的16進数を
    含み、各オペランドのn−2までの連続的16進デイジ
    ットはオペランドのマグニチュードを表し、各オペラン
    ドの1つの16進デイジットはオペランドの符号を表す
    ものにおいて、 上記演算装置に結合され、上記オペランドのマグニチュ
    ード・デイジットのビットを論理的に結合して上記オペ
    ランドの比較マグニチュードを示す第1結果条件信号を
    生成するマグニチュード比較機構; 上記演算装置に結合され、オペランドのマグニチュード
    ・デイジット・ビットを論理結合して第2結果条件信号
    を生成する回路であり、該信号はマグニチュード・デイ
    ジット・ビットあるいは符号デイジット・ビットがオペ
    ランドのいずれかが無効であることを示す場合に命令ス
    トリームの例外割り込みを発生するように条件づけられ
    る信号である第2結果条件信号を生成する有効性決定回
    路; 上記演算装置に接続され、オペランドの符号デイジット
    ・ビットを論理結合して、オペランドの符号の等価性あ
    るいは非等価性を示す第3結果条件信号を生成する符号
    回路; 上記マグニチュード比較機構および上記符号回路に接続
    され、上記第1および第3結果条件信号に応答して結果
    符号としてオペランドAの符号デイジットあるいはオペ
    ランドBの符号デイジットを選択的に供給する結果符号
    選択装置とを有することを特徴とする上記オペランドの
    結合によつて実行される加算(ADD)クラス処理から
    生ずる結果条件を示す結果条件装置を有する演算装置。
JP1328603A 1988-12-28 1989-12-20 演算装置 Granted JPH02213938A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US291556 1988-12-28
US07/291,556 US4890253A (en) 1988-12-28 1988-12-28 Predetermination of result conditions of decimal operations

Publications (2)

Publication Number Publication Date
JPH02213938A true JPH02213938A (ja) 1990-08-27
JPH0447333B2 JPH0447333B2 (ja) 1992-08-03

Family

ID=23120787

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1328603A Granted JPH02213938A (ja) 1988-12-28 1989-12-20 演算装置

Country Status (3)

Country Link
US (1) US4890253A (ja)
EP (1) EP0375948A3 (ja)
JP (1) JPH02213938A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5201056A (en) * 1990-05-02 1993-04-06 Motorola, Inc. RISC microprocessor architecture with multi-bit tag extended instructions for selectively attaching tag from either instruction or input data to arithmetic operation output
US5253349A (en) * 1991-01-30 1993-10-12 International Business Machines Corporation Decreasing processing time for type 1 dyadic instructions
US5717947A (en) * 1993-03-31 1998-02-10 Motorola, Inc. Data processing system and method thereof
TW342483B (en) * 1997-11-14 1998-10-11 Winbond Electronics Corp Serial in-circuit emulator architecture
US10067744B2 (en) * 2016-12-08 2018-09-04 International Business Machines Corporation Overflow detection for sign-magnitude adders

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3694642A (en) * 1970-05-04 1972-09-26 Computer Design Corp Add/subtract apparatus for binary coded decimal numbers
US4086474A (en) * 1976-09-30 1978-04-25 Honeywell Information Systems Inc. Multiplication technique in a data processing system
US4229801A (en) * 1978-12-11 1980-10-21 Data General Corporation Floating point processor having concurrent exponent/mantissa operation
US4288850A (en) * 1979-01-02 1981-09-08 Honeywell Information Systems Inc. Apparatus for identification and removal of a sign signal character superimposed
US4320464A (en) * 1980-05-05 1982-03-16 Control Data Corporation Binary divider with carry-save adders
US4460970A (en) * 1981-05-22 1984-07-17 Data General Corporation Digital data processing system using unique techniques for handling the leading digits and the signs of operands in arithmetic operations
JPS59149541A (ja) * 1983-01-28 1984-08-27 Toshiba Corp 処理条件コード生成/設定方式
US4761756A (en) * 1983-08-24 1988-08-02 Amdahl Corporation Signed multiplier with three port adder and automatic adjustment for signed operands
US4785393A (en) * 1984-07-09 1988-11-15 Advanced Micro Devices, Inc. 32-Bit extended function arithmetic-logic unit on a single chip
JPS61275936A (ja) * 1985-05-30 1986-12-06 Yokogawa Hewlett Packard Ltd 条件決定装置
JPS62288936A (ja) * 1986-06-09 1987-12-15 Fujitsu Ltd 十進数演算における条件コ−ド生成方式

Also Published As

Publication number Publication date
EP0375948A3 (en) 1992-03-04
JPH0447333B2 (ja) 1992-08-03
EP0375948A2 (en) 1990-07-04
US4890253A (en) 1989-12-26

Similar Documents

Publication Publication Date Title
US4578750A (en) Code determination using half-adder based operand comparator
US4903228A (en) Single cycle merge/logic unit
US4658355A (en) Pipeline arithmetic apparatus
US3943494A (en) Distributed execution processor
US4541045A (en) Microprocessor architecture employing efficient operand and instruction addressing
US5187783A (en) Controller for direct memory access
JPH0542011B2 (ja)
JPH07122846B2 (ja) 3―1alu装置
US7370180B2 (en) Bit field extraction with sign or zero extend
EP0126247B1 (en) Computer system
US6006244A (en) Circuit for shifting or rotating operands of multiple size
JPH05150979A (ja) 即値オペランド拡張方式
JPH0139131B2 (ja)
JPS63155336A (ja) デ−タ処理装置
JP2844591B2 (ja) ディジタル信号処理装置
JPH02213938A (ja) 演算装置
JPS6227412B2 (ja)
US6263424B1 (en) Execution of data dependent arithmetic instructions in multi-pipeline processors
NO171816B (no) Informasjonsbehandlingsenhet
US6240540B1 (en) Cyclic redundancy check in a computer system
JPH05274143A (ja) 複合条件処理方式
US5646974A (en) High speed apparatus for branch detection of a loop instruction
US8473541B2 (en) M-bit race delay adder and method of operation
JPS6295635A (ja) デ−タ処理装置
JPS62236036A (ja) ビツト・スライス・プロセツサ