JPS5827241A - 十進演算装置 - Google Patents

十進演算装置

Info

Publication number
JPS5827241A
JPS5827241A JP56125179A JP12517981A JPS5827241A JP S5827241 A JPS5827241 A JP S5827241A JP 56125179 A JP56125179 A JP 56125179A JP 12517981 A JP12517981 A JP 12517981A JP S5827241 A JPS5827241 A JP S5827241A
Authority
JP
Japan
Prior art keywords
operand
byte
sign
decimal
bytes
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
JP56125179A
Other languages
English (en)
Other versions
JPS6141014B2 (ja
Inventor
Tomoatsu Yanagida
柳田 友厚
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP56125179A priority Critical patent/JPS5827241A/ja
Priority to US06/403,330 priority patent/US4536854A/en
Priority to GB08222278A priority patent/GB2104694A/en
Priority to DE19823229764 priority patent/DE3229764A1/de
Publication of JPS5827241A publication Critical patent/JPS5827241A/ja
Publication of JPS6141014B2 publication Critical patent/JPS6141014B2/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
    • 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
    • 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)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明は、データ処理装置の十進演算装置に関し、特に
符号を営む十進データの加減算の高速処理に関する。
データ処理装置において、可変オペランド長命令である
十進演算命令を処理する方法として、1バイト中の演算
器で1バイトづつ処理する方法と、4または8バイト巾
の演算器で一度に複数バイト処理する方法とがある。前
者は、オペランドの符号部および数値データ部の処理を
ともに1つの1バイト巾の演算器で逐次処理する方法で
あり、技術的には問題が少ないが、命令の処理性能が低
い。
後者の方法として、次の2方式がある。
(i)  第1および第2オペランドの右端を、演算器
の右端に整合して演算する方式。
(11)第2オペランドの右端を第1オペランドの右端
に整合して演算する方式。
(1)の方式は、まず主記憶から読出しfC,第1オペ
ランドを右シフトして第1オペランドの右端を演算器の
右端に整合する。次に主記憶から読出した第2オペラン
ドを第1オペランド同様、右シフトして第2オペランド
の右端を演算器の右端に整合する。整合の終了したオペ
ランドを演算器に入力し、演算結果を得る。最後に演算
結果ヲ左シフトして第1オペランド位置に再整合し、主
記憶に格納する。
オペランドの符号はオペランドの右端ディジット(4ビ
ツトからなり、1バイトに2ゲイジツト入る)にあるた
め、(i)の方式では符号処理機能は演算器の右端バイ
トのみに持たせればよス い。しかし両オペランドを演算器の右端に整合するため
に、第1オペランドの右シフト、第2オペランドの右シ
フト、演算結果の左シフトの合計3回にわたるオペラン
ド位置の整合が必要である。この為、実際の演算時間に
対してオペランド位宥の整合に要する時間が長く、巾の
広い演算器を用いる割には命令実行時間が短がくならな
いという欠点があった。
(11)の方式は特願昭55−118218号に示され
た方式であり、可変オペランド長命令の処理を、4バイ
トまたは8バイト巾等の演算器を用いて一度VC′4i
数バイト処理するに当り、第2オペランドの右端位置を
第1オペランドの右端位置に整合して演算することによ
り、オペランド位置の整合回数を減らして整合に要する
時間を短縮し、命令の実行性能を向上せしめるようにし
たものである。
(11)の方式では、オペランド位置の整合回数を1回
に削減でき、命令実行性能を向上すること〃できる反面
、オペランドを第1オペランドの右端位filK整合し
て演算するため、演算器の全てのバイトに符号処理機能
を持たせる必要が生じる。これは演算器が複雑化し、ゲ
ート数が増加することを意味する。
本発明の目的はハードウェアの大きな増加なく、かつ性
能の低下なしに符号を含む十進データの演算を行なう十
進演算装置を提供することにある。
本発明は上記目的を達成するために、十進演算を行なう
演算手段と符号処理を行なう符号処理手段とを並設し、
第1および第2オペランドの符号を除く数値部分のみを
演算手段に入力し、第1および第2オペランドの符号を
符号処理手段に入力し、演算手段の出力と符号処理手段
の出力を結合して演算結果とする。
これにより、第2オペランドの右端位置を第1オペラン
ドの右端位置に整合して演算するようにしても、演算手
段は符号処理機能を備える必要ない。
便宜上、以下の説明では、可変オペランド長十進演算命
令として第1図に示す形式の命令を考える。第1図で、
01部は加減乗除等のオペレーションの種類、Ll、L
2部はそれぞれ第1、第2オペランド長、ADR+ 、
ADH2部はそれぞれ主記憶上の第1、第2オペランド
の先頭アドレスを示すためのフィールドである。なお、
Ll 、L2部はそれぞれ4ピツトで構成される(従っ
て最大オペランド長は15バイト)ものとする。こ\で
は、ωR1部で示す主記憶上のアドレスから長さL1バ
イトの第1オペランドと、 ADH2部で示す上記1憶
上のアドレスから長さL2バイトの第2オペランドを、
それぞれのオペランドの右端(後端)をそろえて加減算
し、結果を主記憶上の第1オペランドフイールドに格納
するものとする。第1、第2オペランドの右端ディジッ
トは符号ディジットであり、それぞれのオペランドの符
号を表す。なお、処理装置と主記憶装置間のデータ転送
は、8バイト単位に行なうものと仮定する。
゛まず本発明の理解を容易ならしめるために。
前述した(11)の方式を簡単に説明する。
第2図は(II)の方式の概要を説明するための図で、
主記憶の8バイト内アドレスでバイト位置1から5バイ
トの第1オペランド気αhcdgfyhiと符号Sl/
’と、同8バイト内アドレスでバイト位置2から3バイ
トの第2オペランド%1mnopと符号S2 Nを加算
する例を示す。第2図では、主記憶から読出した第1オ
ペランド責イ)はそのま\加算器に入力する。主記憶か
ら読出した第2オペランド(ロ)は右端位置を8バイト
内アドレスで見て第1オペランド(イ)の右端位置に整
合する。すなわち第2オペランドの右端(バイト位[T
4)を第1オペランドの右端(バイト位置5)に整合す
るため、右1バイトシフトを行い、整合データ(ハ)を
加算器に入力する。この結果、加算結果に)(S AB
CDEFGIIIと符号S〃)は第1オペランド位置に
求めることができ、そのま\主記憶上に格納することが
可能である。
この方式により演算を行なうためには、第2図の加算の
場合は、第1および第2オペランドの右端より右のバイ
ト位置(すなわち、(イ)および(ハ)のバイト位置6
,7)と左端より左のバイト位IN(すなわち、(イ)
のバイト位置0および(ハ)のバイト位置0〜2)Kゼ
ロが保証されていなければ正しい結果を得ることができ
ず、又、減算の場合は、第1オペランドの右端より右の
バイト位置(すなわち、(イ)のパイ) 6.7 )と
左端より左のバイト位置(すなわち、(イ)のバイト位
置0)にはゼロが、第2オペランドの右端より右のバイ
ト位置(すなわち、(ハ)のバイト位(576,7)と
1左端より左のバイト位置(すなわち、(ハ)のバイト
位置0〜2)にはオール1\1〃が保証されなければ、
正しい結果を得ることができない。この第1および第2
オペランドの不要部分のゼロ保証あるいは1保証を高速
に行なうのが、第2図に1および2で示した高速ゼロあ
るいは1保証回路である。即ち、第2図の回路1は、第
1オペランドの右端バイト位置と第1オペランド長から
、また1回路2は第1オペランドの右端バイト位置と第
2オペランド長から、それぞれ第1および第2オペラン
ドの不要部分を決定し、その部分のゼロあるいは1を保
証する回路である。
このようにオペランド位置の整合回数を1回に削減でき
る反面、演算器の全てのバイトに符号処理機能を持たせ
る必要がある。
第3図は、本発明の一実施例を示すブロック図である。
同図で、11.12は演算器に入力する第1および第2
オペランドを格納するための8バイトのレジスタ、16
は第2オペランドの右端バイトを第1オペランドの右端
バイト位置に整1合するためのシフタ、14.45は第
2図の1,2に相当する回路であり、それぞれ第1.第
2オペランドの不要部分のゼロあるいは1を保証するた
めの回路、16は十進加減算機能を持りた8バイト巾の
主演算器、18はその出力レジスタである。また17は
、レジスター1および12の任意の1バイトを選択して
入力し演算することが可能な1バイト巾の補助演算器で
あり、十進加減算機能および十進符号処理機能を有する
。19は補助演算器17の出力レジスタである。
主演算器16の出力はレジスター8を介して、レジスタ
ー1および12に入力可能である。また補助演算器17
の出力はレジスター9を介して、レジスター1の任意の
バイトに入力可能である。
第3図において、Ll 、L2は前述した命令から与え
られる第1.第2オペランド長、CNT 1 (0〜2
)、CNT2(0〜2)は命令から与えられる第1.第
2オペランドの先頭アドレス(右端アドレス)の下3ピ
ットであり、8バイト内バイト位置ポインタを示す。
8バイトのレジスター1の第1オペランドの符号ディジ
ットを含む1バイトはCNT1(0〜2)で指定選択さ
れ、補助演算器17に入力される。また8バイトのレジ
スター2の第2オペランドの符号ディジットを含む1バ
イトはCNT 2 (0〜2)で指定選択され、補助演
算器17に入力される。補助演算器17の出力レジスタ
ー9からの1バイトはCWT 1(0〜2)で指定され
るレジスター1のパイ)位1tに格納される。
レジスター1の8バイトはそのままゼロ保証回路11に
入力される。ゼロ保証回路11にはLlと、C#7″1
(0〜2)が与えられ、ゼロ保証回路11は演算に不要
な部分、即ち第1オペランドの右端より右側の不要バイ
ト、左端より左側の不要バイトおよび符号ディジット位
置にゼロを挿入して主演算器16に入力する。
レジスタ1208バイトはシフタ13に入力される。シ
フタ13は衆知の7フタが利用され、シフタ13にはC
NT1C0〜2)とCNT 2 (0〜2)が与えられ
、シフタ13はこのCNT1(0〜2)とCNT 2 
(0〜2)の差に応じて、入力された8バイトを右ある
いは左シフトし、第2オペランドの右端を第1オペラン
ドの右端位置に整合する。即ち、CNT1(0〜2)か
らCHI’ 2 (0〜2)を減算し、その結果が正の
場合、右へその差分のバイト数だけシフトし、負の場合
、左へその差分のバイト数だけシフトする。
シフタ13の出力はゼロあるいは1保証回路15に入力
される。ゼロあるいは1保証回路15にはL2とC#7
’1(0〜2)が与えられ、ゼロあるいは1保証回路1
5は演算に不要な部分、即ちシフトされた第2オペラン
ドの右端より右側の不要バイト、左端より左側の不要バ
イトおよび符号ディジット位置にゼロあるいは1を挿入
して主演算器16に入力する。
第4図および第5図は具体例をもって第3図に示す演算
装置の動作を説明する図である。
これらの図において、イ11ロ、ハ二、ホ、チ、りはそ
れぞれ第4図のN、12,15,14,15,18.1
9の出力データ、へ、トは17の入力データ、又は演算
結果をレジスタ11に格納する際の入力データを示す。
この例では、主記憶上の8バイト境界内の第1バイトか
ら始まる5バイトの第1オペランド覧αhcdtf f
hiと符号51tt、および8バイト境界内の第2バイ
トから始まる3バイトの第2オペ2ンド% 1mrLo
pと符号S2 /lを加減算して、演算結釆亀ABCD
EFGEIと符号S〃を得る。α〜i+ t−P +A
〜1はそれぞれ4ビツトの1デイジツトからなる十進数
値ディジット、S+ 、S2.Sはそれぞれ1デイジツ
トからなる符号ディジットである。
第4図は加算の例である。本方式の特長は。
1 主演算器16に符号処理機能を持たすことを避けるため
、符号を含むバイト(オペランドの右端バイト)の演算
は補助演算器17で、十進数値ディジットの演算は主演
算器16で同時に実行し、両者の出力をマージして最終
結果を得るようにした点である。
第4図において、第1オペランド責イ)はゼロ保証回路
(第6図の14)に入力され、不要部分がゼロ保証され
に)の形式になる。第2オペランド(ロ)はシフタ(第
5図の13)により右に1バイトシフトされ、右端バイ
i・位置が第1オペランドの右端バイト位置に整合さ1
zyt(ハ)の形式になり、さらにゼロ/1保証回路(
第3図の15)に入力されて不要部分がゼロ保証され/
′c(ホ)の形式になる。に)と(ホ)は主演算器16
に入力され、加算結果(7)を得る。一方、(イ)と(
ロ)の符号を含むバイトは補助演算器17に入力され、
データ部の演算(i +p−+I)と符号の処理を受け
、演算結果(す)を得る。最後に例の符号を含むバイト
以外(0〜4および6〜7バイト)と(男をマージし、
最終結果(ヌ)2 を得る。
ここで任意を要するのは、ゼロ/1保証回路(第4図の
14.15 )の動作である。第1および第2オペラン
ドの領域以外の不要バイトのみゼロ保証し、符号部はそ
のままの形で出力するようにすれば、主演算器16は符
号処理機能を持たないため、第1および第2オペランド
の符号を単純に加算してしまい、正しい十進加算結果が
祷られない。また不要部分と同時に、符号を含むバイト
全てをゼロ保証すると、主演算器16で1は最下位桁の
演算(i +p )が行7よりれないため、この桁から
のキャリが上位桁に伝わらない。従って、補助演算器1
7で行なった最下位桁の演算のキャリを主演算器で行な
う上位桁の演算へ伝える手段が必要に7’Jl:す、ハ
ードウェアの複雑化、あるいは性能の低下を来たす。
これを防ぐため、ゼロ/1保証回路に、不要バイトと同
時に、符号を含むバイトの右側のディジット(符号ディ
ジット)をゼロ/1保証する機能を有している。すなわ
ち第4図のに)および09に示すとうり第1および第2
オペランドの数値部のみ残し、他は符号ディジットを含
み全てゼロ保証したデータが主演算器16に入力される
。この結果、最下位桁からのキャリを含む上位桁の正し
い演算結果が容易に得られる。ここで、主演算器16に
おける最下位桁の演算は、上位桁にキャリを伝えるため
だけでめり、最終的な最下位桁の演算結果は、符号を含
めて補助演算器17からの出力が使われる。
補助演算器17における符号処理は従来とられてきた符
号処理と同じである。簡単に説明すれば、主演算器で加
算操作が行なわれる場合、結果の符号は第1オペランド
の符号に等しく、従ってこの符号処理は第1オペランド
の符号をそのまま出力することにより行なわれる。主演
算器で加算操作が行なわれる場合とは、命令で指示され
るオペレーションが加算で第1および第2オペランドが
共に正(結果の符号も正)か負(結果の符号も負)の場
合と、命令で指示されるオペレーションが減算でオペラ
ンドの一方が正で他方が負(第1オペランドが正の時、
結果の符号も正、第1オペランドが負の時、結果の符号
も負)の場合である。
第5図は十進減算の例であり、第1オペランドのゼロ保
証回路の出力に)は、オペランドの領域以外の不要バイ
トおよびオペランドの右端バイトの右側ディジット(符
号部)がゼロ保証されている。−実弟2オペランドのゼ
ロ/1保証回路の出力(ホ)は、オペランドの領域以外
の不要バイトおよびオペランドの右端バイトの右側ディ
ジットがオール1(16進表示でF)g!、証されてい
る。この結果、減算時の初期キャリは常に演算器の7バ
イト位置に入力すればよく、演算結果の最上位桁からの
キャリ(これにより第1゜第2オペランドの大小判断等
を行なう)は演算1器のDバイト位置からのキャリと一
値するため。
演算器の制御、大小比較判定制御が簡略化される。
減算時の補助演算器17における符号処理も従来とられ
てきた符号処理と同じである。減算時5 においても、まず第1オペランドの符号をそのまま結果
の符号として出力する。しかし第2オペランドの数値の
力が大きい場合、結果の符号は第1オペランドの符号と
逆であり、補数をとって演算が再び行なわれる時に符号
を反転する。
次にゼロあるいは1保証回路14,15について説明す
る。
いま第1オペランドの右端アドレスの下6ビy ) 7
>! CNT1(0)、CM’1″1(1)、C’NT
1(2)と呼ばれる8バイト内バイト位置ポインタにセ
ントされているものとする。
第1表はオペランドの右端より右側の不要バイト位置を
示している。例えばCNT1(o〜2)が5の場合は、
バイト位置6〜7が不要バイトである。
(第4図、第5図の第1オペランドに)、第2オペラン
ド(ホ)の例) 6 第2表はオペランドの左端より左側の不要バイト位置を
示している。例えば(:’#7’+(0〜2)が5であ
り、オペランド長が3バイトの場合は、バイト位置O〜
2が不要バイトである。(第4図、第5図の第2オペラ
ンド(ホ)の例) 従って、第1表と第2表で示される全ての不要バイトお
よび符号ディジットについてゼロあるいは1を保証した
第1および第2オペランドを演算器に入力すれば、正し
い演算結果が得られる。なお、第1表、第2表で記号「
−」は不要バイトが無いことを示す。
第3図のゼロあるいは1保証回路14.15の構成例を
第6図に示す。第6図で、20はゼロあるいは1保証回
路の制御部であり、入力150〜152゜170〜17
6より第1および第2表に従って不要ディジット抑止信
号100〜115を出力する。入力150〜152は第
1オペランドの右端バイト位置を示す信号であり、前述
のCNT1(0〜2)が接続される。170〜173は
オペランド長を示す信号であり、第3図の保証回路14
においては第1図のL1部4ビットが、同第3図の保証
回路15においては第1図のL2部4ビットが接続され
る。以後、第3図における第1オペランド側の保証回路
14を例にして説明するが、第6図の第2オペランド側
の保証回路15については、ゼロ保証の代]1cセロま
たは1保証がされることを除いて同じである。
第6図の21は8バイト巾のゲート回路であり。
レジスタ11(第6図)から主演算器16への第1オペ
ランド入力200〜265のうち、第0〜15デイジツ
トに対する制御信号100〜115で示される不要ディ
ジットをゼロ保証した信号300−565を出力する。
ゲート回路21の出力300〜666は第3図の主演算
器16の第1オペランド入力側に接続される。60はゲ
ート回路21の第0バイトであり、第7図にその回路図
の一例を示し、8個のANDゲートで構成される。第7
図で、第Oバイトを構成する8ビツトの入力データ信号
200〜207は不要ディジット抑止信号100および
101でゲートされ、出力データ信号500〜307に
出力される。
即ち、第0デイジツトが不要ディジットで、ゼロ保証を
する必要がある場合、不要ディジット抑止信号100は
論理気1〃を示し、この時、出力データ信号300〜6
03はオール−0〃となる。
第8図から第13図は第6図の制御回路20の一例を示
したものである。
第8図は第1オペランドの右端バイト位置を示す信号1
50〜152すなわちCM’r1(0〜2)のデコ−9 ダDEC1と、第1オペランドのバイト長を示す信号1
70〜173すなわち命令のT1部のデコーダDEC2
である。それぞれのデコーダDEC1とDEC2の入力
と出力の関係は第9図(イ)と(口IK示す通りである
第10図は第2表に示したオペラ〉′ドの左端より左側
の不要バイトを決定するための論理回路の一例で、第8
図のデコーダ出力160〜167.180〜187より
バイト0〜7の抑止信号120〜127を出力する。
第11図は第1表に示したオペランドの右端より右側の
不要バイトを決定するための論理回路の一例で、第8図
のデコーダ出力160〜166よりバイト1〜7の抑止
信号151〜137を出力する。
第12図はオペランドの符号ディジットを決定するため
の論理回路の一例で、第8図のデコーダ出力160〜1
67、および符号ディジットを含むダブルワードの演算
であることを示す信号190より、各バイトの右側のデ
ィジット、すなわち第1.3,5,7,9.II、13
.15デイジツトの抑止信号1400 〜147を出力する。なお符号ディジットを含まないダ
ブルワードの演算の場合は信号190が′1′にならず
、第12図の出力信号140〜147は常にゼロである
第13図は第10図から第12図で示される不要バイト
抑止信号120〜127. 131〜167および符号
ディジット抑止信号140〜147のオア回路であり、
本回路の出力100〜115が第6図の制御回路2oの
出力すなわち、主演算器への入力データの第0〜15デ
イジツトの抑止信号100〜115となる。
以上、第3図の第1オペランド側に対応するゼロ保証回
路14について説明したが、同第2オペランド側に対応
するゼロまたは1保証回路15についてもゼロ保証の場
合は全く同様にして構成でき、1保証の場合は、第6図
の出力信号が1保証された信号となること、同第6図の
制御回路20の出力信号100〜115が不要ディジッ
ト1保証信号となること\Iiiき換えればよい。
ナオ、第5図の減算処理において、第1オペランド側不
要デイジツトには0を保証し、第2オペランド側不要デ
ィジットに1を保証することにより、初期キャリを最下
位ビット(8バイト巾ではバイト7、ビット7)位置に
入力すれば減算器の中でキャリの伝播が行flわれ、有
効ディジットの最下位ビット(第5図08ではバイト位
置5のビット6)にW期キy i)が伝播され、且つ、
有効バイトの罎上位(第5図(刀ではバイト位i、i1
のビット0)からの最終キャリが1保証姑れ1ヒバ、(
+−(第6図(ン均ではバイト0)を伝播して、最上位
(8バイト巾ではバイトO、ビットD)に現われる。
これにより、有効デ・fジットの最下位に初期キャリを
入力し!有効ディジットの最上位から最、終キャリをJ
佼り出すということをしなくて済むようになり、回路の
簡単化が実現できる。すなわち、第2オペランド不要デ
イジツトの1保n+Eがなけねば、演算器の各ディジッ
トの最下位(8バイト巾なら167所)に初期キャリな
入力する回路と、最ハキヤリを取り出イ回路とが必要と
なり物量が増加する。
次に本発明によるゼロあるいは1保証回路を具備した演
算器を用いて、オベラジドが8バイト境界をまたぐ場合
の動作を説明する。例として、第1オペランドの右端バ
イトが8バイト境界内でバイト位置4にあり、第1オペ
ランド長が9バイトの場合を考える。第1回目の演算は
前述のとおりCNT1(O〜2)−4で行ない、第1お
よび第2表により主演算器の入力の5〜7バイトおよび
第4バイトの右側ディジットがゼロあるいは1にされ、
0〜4バイト位置に演算結果が得られる。第1回目の演
算終了後(#T+(o〜2)を7にセットするとともに
、オペランド長L1から、第1回目の演算で処理したバ
イト数だけ減算する。
すなわち、この場合は第1回目の演算で5バイト処理し
ているため、残りのオペランド長は9バイトから5バイ
トを減じて4バイトとなる。
なお、減算処理の場合は、第1回目の減算結果の最終キ
ャリを記憶し、2回目減算の初期キャリとする。この状
態で第2回目の演算を行なうと、第2表からCJvTl
(0〜2)け7.オペランド長は4バイトであり符号デ
ィジットを含まない演算であるから、入力の0〜3バイ
トがゼロあるいは1にされ、演算結果は4〜7バイト位
置に求められる。この2回の演2v:結果を主記憶上の
第1オペランドアドレスに格納することにより、演算を
終了する。たyし、減算結果、第2回目の最終キーtり
がない場合は再補数化などの処理をして格納する。
第3図の例において、補助演算器17はバイトl】で十
進加減算機能と十進符号処理機能を有し。
符号ディジッ)Y含む1バ、イトが人力され、ま九その
出力の1バイトもレジスタ11のある1バイトに与えら
れるよう構成されている。これは一般のデータ処理装置
はバイト単位で扱っていることに基づくものであるが、
補助演算器17を4ビツト巾として符号処理機能のみを
有し、符号ディジットのみを入力するようにしてもよへ
この場合、レジスタ11および12から補助演算器17
へはC’Ni’ 1 (0〜2) 、 CNT2(0〜
2)が示すバイトの右側ディジットを選択するようにし
、レジスタ4 19からレジスタ11への格納は、CNT1(0〜2)
が示すバイトの右側ディジットへ行なうようにする。
その他には変更はない。
本発明によれば、複数バイト巾の主演算器により、十進
演算命令を一度に複数バイト処理するデータ処理装置に
おいて、主演算器に符号処理機能を持たせることなく、
高速な十進演算処理が可能になり、大巾なハードウェア
の増加なく十進演算性能を向上する効果がある。
【図面の簡単な説明】
第1図は十進演算命令の命令形式を示す図、第2図は8
バイト巾の演算器を用いて、第1図の命令を一度に複数
バイト処理する従来の方式を示す図、第3図は本発明の
一実施例を示すブロック図、第4図および第5図は第3
図の実施例の動作を説明するための図、第6図は第3図
のゼロ保証回路の詳細を示すブロック図、第7〜16図
は第6図のゲート回路およびその制御回路の詳細を示す
ブロック図である。 11・・・第1オペランドレジスタ、 12・・・第2オペランドレジスタ、 15・・・シフタ、 14.45・・・ゼロ/1保証回路。 16・・・主演算器、    17・・・補助演算器。 7 オ1図 22  図 オ1ハ什     矛2ハ什 才5図 才1オペランド       fzオペラレドオ   
乙   図 〜Jul −JLり −Jts −sy+  −JL7
 〜j9’/  〜Jb3 −J6jオフ図 才 ? l (イ) 才δ図 (ロ) 才10図 /67                      
       /27t6t、 ””        
    OF      t2682 0尺          /25 bs 0尺        /24 /64 /1f4 0尺           /23 ! jlTσb ’自jJO−GrG櫃A(II)才 !1
  図 2」11−””’ 才t2図

Claims (1)

  1. 【特許請求の範囲】 1、 符号と数値からなる第1オペランドおよび第2オ
    ペランドの十進演算を行なう十進演算装置において、上
    記第1および第2のオペランドの符号を除く数値部分の
    みを演算手段に入力して十進演算を行なうと共に、第1
    および第2のオペランドの符号を符号処理手段に入力し
    て符号処理を行ない、上記演算手段の出力と符号処理手
    段の出力を結合して演算結果とすることを特徴とする十
    進演算装置。 乳 主記憶上の任意のアドレスから始まり、任意のバイ
    ト数の長さを持ち、複数の十進数値ディジットと1つの
    符号ディジットからなる第1および第2オペランドを十
    進演算処理する十進演算装置において、1バイト巾の入
    力を持ち、第1訃よび第2オペランドのうちの符号ディ
    ジットを含む1バイトが入力され、十進加減算機能と符
    号処理機能を有する補助演算手段と、複数バイト巾の入
    力を持ち、複数バイトの入力データを同時に十進加減算
    可能な主演算手段と、該主演算手段に入力されるデータ
    のうち、オペランドの領域以外の不要バイトおよびオペ
    ランドの符号ディジットを抑止してゼロあるいは1保証
    するための回路手段と、上記主演算手段の出力のある1
    バイト位置に上記補助演算手段の出力をマージするため
    の手段とからなる十進演算装置。
JP56125179A 1981-08-12 1981-08-12 十進演算装置 Granted JPS5827241A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP56125179A JPS5827241A (ja) 1981-08-12 1981-08-12 十進演算装置
US06/403,330 US4536854A (en) 1981-08-12 1982-07-30 Decimal arithmetic unit
GB08222278A GB2104694A (en) 1981-08-12 1982-08-02 Decimal arithmetic unit
DE19823229764 DE3229764A1 (de) 1981-08-12 1982-08-10 Dezimalrecheneinheit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56125179A JPS5827241A (ja) 1981-08-12 1981-08-12 十進演算装置

Publications (2)

Publication Number Publication Date
JPS5827241A true JPS5827241A (ja) 1983-02-17
JPS6141014B2 JPS6141014B2 (ja) 1986-09-12

Family

ID=14903846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56125179A Granted JPS5827241A (ja) 1981-08-12 1981-08-12 十進演算装置

Country Status (4)

Country Link
US (1) US4536854A (ja)
JP (1) JPS5827241A (ja)
DE (1) DE3229764A1 (ja)
GB (1) GB2104694A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6410323A (en) * 1987-06-26 1989-01-13 Ibm Arithmetically computing apparatus

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2504847B2 (ja) * 1989-10-27 1996-06-05 甲府日本電気株式会社 10進デ―タのチェック回路
US7716267B2 (en) * 2004-08-30 2010-05-11 Casio Computer Co., Ltd. Decimal computing apparatus, electronic device connectable decimal computing apparatus, arithmetic operation apparatus, arithmetic operation control apparatus, and program-recorded recording medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2253415A5 (ja) * 1973-12-04 1975-06-27 Cii
US3916388A (en) * 1974-05-30 1975-10-28 Ibm Shifting apparatus for automatic data alignment
US4001570A (en) * 1975-06-17 1977-01-04 International Business Machines Corporation Arithmetic unit for a digital data processor
US4021655A (en) * 1976-03-30 1977-05-03 International Business Machines Corporation Oversized data detection hardware for data processors which store data at variable length destinations
US4276596A (en) * 1979-01-02 1981-06-30 Honeywell Information Systems Inc. Short operand alignment and merge operation
US4224682A (en) * 1979-01-02 1980-09-23 Honeywell Information Systems Inc. Pointer for defining the data by controlling merge switches
US4384340A (en) * 1980-12-24 1983-05-17 Honeywell Information Systems Inc. Data processor having apparatus for controlling the selection of decimal digits of an operand when executing decimal arithmetic instructions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6410323A (en) * 1987-06-26 1989-01-13 Ibm Arithmetically computing apparatus
JPH0542012B2 (ja) * 1987-06-26 1993-06-25 Ibm

Also Published As

Publication number Publication date
JPS6141014B2 (ja) 1986-09-12
GB2104694B (ja)
GB2104694A (en) 1983-03-09
US4536854A (en) 1985-08-20
DE3229764A1 (de) 1983-03-03
DE3229764C2 (ja) 1987-08-13

Similar Documents

Publication Publication Date Title
US5991785A (en) Determining an extremum value and its index in an array using a dual-accumulation processor
KR100239029B1 (ko) 가산기와 함께 사용하기 위한 결과 정규화기 및 결과 정규화 방법과 그를 포함하는 데이터 프로세서
US5808926A (en) Floating point addition methods and apparatus
JPH0542011B2 (ja)
US20190227771A1 (en) Arithmetic processing device and control method for arithmetic processing device
US4617641A (en) Operation unit for floating point data having a variable length exponent part
US5715186A (en) Digital processing device with minimum and maximum search instructions
US7373369B2 (en) Advanced execution of extended floating-point add operations in a narrow dataflow
US5337265A (en) Apparatus for executing add/sub operations between IEEE standard floating-point numbers
JPH034382A (ja) 加算方法と乗算回路
US6519621B1 (en) Arithmetic circuit for accumulative operation
JPS6227412B2 (ja)
JPS5827241A (ja) 十進演算装置
JPH08161152A (ja) 浮動小数点演算装置
JP2806346B2 (ja) 演算処理装置
JPH0546363A (ja) 除算器
US20030146860A1 (en) Exponent encoder circuit and mask circuit
US11294630B2 (en) Adder-subtractor circuit and method of controlling adder-subtractor circuit
JPS60263230A (ja) 多重精度浮動小数点加算回路
JPS6198442A (ja) 演算装置
JPS60536A (ja) フロ−テイング加算器仮数部入力制御回路
JP2615746B2 (ja) ビット操作回路
WO1998006031A1 (en) Floating point addition methods and apparatus
JP3104569B2 (ja) 除算回路
JPH0991118A (ja) 浮動小数点演算装置