JPS584369B2 - デイジツトの有効性追跡装置 - Google Patents

デイジツトの有効性追跡装置

Info

Publication number
JPS584369B2
JPS584369B2 JP53059030A JP5903078A JPS584369B2 JP S584369 B2 JPS584369 B2 JP S584369B2 JP 53059030 A JP53059030 A JP 53059030A JP 5903078 A JP5903078 A JP 5903078A JP S584369 B2 JPS584369 B2 JP S584369B2
Authority
JP
Japan
Prior art keywords
digit
digits
carry
line
value
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.)
Expired
Application number
JP53059030A
Other languages
English (en)
Other versions
JPS5412236A (en
Inventor
グレン・ジヨージ・ラングダン・ジユニア
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 JPS5412236A publication Critical patent/JPS5412236A/ja
Publication of JPS584369B2 publication Critical patent/JPS584369B2/ja
Expired 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
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/491Indexing scheme relating to groups G06F7/491 - G06F7/4917
    • G06F2207/4911Decimal floating-point representation
    • 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
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49963Rounding to nearest

Description

【発明の詳細な説明】 (イ)技術分野 本発明はデイジタル計算におけるエラーの低減に関し、
より具体的には10進数機械すなわち10を基数として
算術演算を行なう機械によって2つの数(オペランド)
を算術する時に得られる任意の数のデイジットの有効性
を保存する装置に関する。
(口)背景技術 計算精度に影響する要因には有効性の精度、まるめ誤差
、打切り誤差、及び表現様式などがある。
これらの要因は相互に関係している。次にこれらが”デ
イジットの有効性”及び本発明に及ばず影響を考える。
規定された数における有効性と精度 この明細書中でそれぞれの数Niは位置的に次のように
表現する。
Nl=nt(n−1)t(n−2)t・・・・・(n−
k)r・・・・(n−n+1)i上式niが最高位のデ
イジット(n−n+1)i最低位のデイジットである。
各数値は”有効性”及び”精度”を有する。有効数字の
概念は周知であるが数値におけるどのデイジットが有効
であるかはあいまいなことが多い。
これは数値の表現形式にも依存する。たとえば、浮動小
数点演算においては先端のゼロを無視しエラーがその基
数の1/2単位よりも小さいならば他のデイジットを計
算することが一般に行なわれている。
有効性のもう1つの定義によると、左端で最初非セ狛の
デイジットで始まり右端で最後が非ゼロのデイジットで
終る数のデイジットを有効とする。
この後者の定義の一変形として、ゼロではないか又は正
しいと考えられるゼ尤である右手の最後のデイジットで
終る数のデイジットを有効とするものがある。
本発明の出発点として所与の計算システムでは有効性及
び非有効性を指定できるものとする。
これに関連して”精度゛は量的に表現する区別の程度と
してとらえる。
より具体的には精確さの程度は多デイジットよりなる数
値における有効デイットの数である。
デイジット有効性の感知誤り 6個の有効デイジットまで正確な数値で計算を始めこれ
に関して数度の計算を行なうならば、その結果は3乃至
4個の有効テイジットまでしか正確でない。
説明のためそれぞれr個の有効デイジットを有するほぼ
等して2つの数値の減算で始まる一連の計算を考える。
この差にr/2個の有効テイジットを有する別の数値を
かけるならば、その積はr/2個の有効デイジットしか
もたない。
しかしr個の高位のデイジットが多少なりともランダム
なパターンの値を含んでいるのでr個のデイジットが有
効であるような外観を呈する。
この積からr/2個の有効デイジットを有する等しい数
値を引くならば、その差には有効な差は含まれない。
しかし、その結果の値のパターンはr/2個のデイジッ
トが有効であるかの誤まった外観を呈することがある。
続いて別の数値と乗算を行なうと実際には有効ではない
にもかかわらずr個の有効デイジットを有するかの外観
を呈するr/2個のデイジットの数値が得られる。
有効性を損う原因 除算及び減算が有効性に誤りを生じる主な原因である。
たとえば、4個の有効デイジットからなる25.55を
被除数とし4個の有効デイジットを有する5.000を
除数とすると商は5.11である。
3つのデイジットだけが有効である。減算の場合にも近
い値を減算すると有効デイジットが失われる。
有効デイジツト5の9999.0を有効デイジット6の
10001.0から引くと有効デイジット2の2.0が
得られる。
このように有効性の損失はデータに依存する。
まるめ及び有効性 ”まるめ″とはある規則に従って数値の有効性の低いテ
イジットを削除し残りの部分を調整することである。
別の見方をすると、ある量を1つの数で正確に表わすこ
とができない時、又は量が正確に知られていない時、比
較的高位の特定数のデイジットだけを残しすべての低位
のデイジットを捨てる手順であるということができる。
これらの低位のデイジットはその量を正確に表現するた
めには必要なものである。
低位のデイジットを削除し所望の数を得ることを“まる
め″と呼ぶ。
10進法において周知のまるめ技術の一つは削除すべき
デイジットの最高位のものに5を足す方法である。
この加算によってキャリーか生じるならばその次の高位
のテイジツトに加えられる。
たとえば739.63を最も近い単位にまるめる時には
1/10の位に5を加えて 740.i3とし小数点以下を削除して740を得る。
数値の形式 デイジタル計算のための数値は変った形式で表現される
この形式には固定小数点法及び浮動小数点法その他があ
る。
負の数値は基数及び基数−1に対する補数、又は符号プ
ラス大きさで表わす。
固定小数点形式は位置表現であり、数値はただ1組のデ
イジットで表わされ、ある習慣では小数点の位置はこの
組の一端に関して固定されている。
浮動小数点法は、すべての数値を1対の数字で表示する
記数法であり、一方の数字が指数であって、あるきまっ
た正整数をべき乗する。
この値に他方の数字を掛けたものがその数値となる。
又、基数の補数はある数値の各デイジットを基数−1か
ら引き最下位のデイジットに1を加え桁上げがあれば桁
上げを行なうことによって得られる数値である。
よく使用される例はlO進法における10の補数及び2
進法における2の補数である。
最後に符号付きデイジット表現は一定の整数の基数を用
いた位置的な数値表現法である。
正及び負のデイジットを表現することができる。
個々のデイジットに符号情報が含まれるので数値自体に
対する特別の符号デイジットは必要ない。
たとえば加算は全く並列に行なわれるから桁上げの伝播
はない。
このことは和における各デイジットはオペランドの2つ
の隣接するデイジットだけの関数であることを意味する
減算は符号を変えてから加算を行なうことによって行な
われる。
1回の加算に要する時間はオペランドの長さとは独立で
あり2つのデイジットの加算時間に等しい。
(ハ)従来技術 有効性に関する従来技術を記載するものとして次の刊行
物がある。
″Joint Computer Conferenc
e Pro−ceedings”1964年のベージ6
53乃至672、 ”Information Processing″N
orth Holland Publishing C
ompany発行)1963年、ページ664乃至66
8、 ”IEEE Transactions on Com
pute一rs, Volume EC− 7”,19
58年、ページ265乃至267、 ″Sterbenz Floating Point
Computation”,1974,ページ7l乃至
75、″I959 EJCC Proceedings
″Vol−ume16,ページ244乃至248、 米国特許第3160857号明細書、 米国特許第3612844号明細書、 最初の2つの文献は符号付きデイジットによる数値表現
法に関するものである。
有効デイジットのそれぞれには重み及び関連した符号が
付けられているので並列処理が可能である。
並列処理においては他のコード化数値表現形式の場合の
ような桁上げの伝播はない。
なぜなら処理結果の各デイジットは対応するデイジット
対だけから得られるからである。
このことはこの方法だけを符号付きデイジット演算に応
用することを制限する原因になっている。
最初の2つの文献は符号付きデイジット数値のために非
有効デイジットのランク順を示す特異にコード化した記
号を使用することを教示している。
そして両方のデイジットが非有効であるか又は有効性が
混在している1番目のランク順のデイジット対を組合せ
る規則が説明されている。
これを記号で表わすと、ni+θi=θi及びθi+θ
1=θiとなる。
この関係は組合せつつあるデイジットの少なくとも1つ
が非有効であるならば結果のデイジットは非有効である
としている。
他の文献はそれぞれが数字部分と前縁のゼロ部分とを有
する数値を使用することによって有効性を追跡する方法
を説明している。
ある方法では非有効デイジットは打切られる。
興味があるのは答えがどれくらい正確であるかという表
示の代りに精度自体が定められることである。
米国特許第3160857号は最も有効なデイジット位
置をバツファから可変長データを直列に転送するのに費
す時間の指標として使用することを開示している。
米国特許第3612844号はキイ入力されたデータの
精度を決定するために予備コーディング及び位置付けを
使用することを教示している。
(ニ)発明の開示 本発明の目的は、2つのオペランドのうちより精度の高
い方を精度の低いオペランドの最低位のデイジット位置
までまるめるように非有効デイジットが特異にコード化
された1対のオペランドに算術演算を行なう装置を提供
することである。
本発明のもう1つの目的は、加算、減算、又はシフト操
作のような演算■から生じる10進数値の複数ビット表
現(たとえばBCD)におけるデイジットの有効性を追
跡する手段を提供することにある。
第1の数値Ni=n1(n−1)1(n−2)1・・・
・(n−k)1及び第2の数値N2=n2(n−1)2
(n−2)2・・・・(n−k)2がたえは従来の10
進コンピュータの演算装置に印加されると、演算■によ
って第3の数値N3=na(n−i)3(n−2)3・
・・・(n−k)sが得られる。
本発明はいくつかの観察を前提としている。
1.10進数値の各デイジットを複数ビット・コードで
表わした場合全体のコード長が所定の容量を超えるなら
ば、超えた部分にはデイジットの非有効性を示ナ特異な
記号を割当てることができる。
2.少なくとも一方が非有効である2つの異なる数値(
n−k)1,(n−k)2から論理的/演算的組合せに
よって対応するデイジット (n−K)3を得ると、このデイジット(n−K)sは
非有効である。
3.桁上げCは補数加算を使用する減算処理においては
(n−k)から(n(k−j)〕までのj個の非有効デ
イジットにわたって伝播することができる。
4.デイジット対の一方のみが非有効であり有効デイジ
ットの大きさがまるめ規則(デイジットがしきい値bを
越えるならばまるめる)を満足するならば、桁上げCは
(n−k)から(n−(k−1))まで伝播する。
以上の観察は新規な装置に具現されている。
本発明の一態様によると数値N1及びN2における各非
有効デイジットは特異な複数ビット表現(1)、たとえ
ば、N1=8939II,N2=03511Iでエンコ
ードされ、同じ次数(n−k)1の有効デイジットの各
対に対して(n−K)1■(nk)2■桁上げ値(n−
(k+1)l)=(n−k)3+桁上げ値となるように
N1及びN2を算術的に結合する。
父、少なくとも1つのデイジットが非有効である同じ順
位のデイジットの各対については結果のデイジットは非
有効である。
最後に、1つのデイジットが有効でありまるめ規則によ
って決められた大きさをもっており他方のデイジットが
非有効である同じ次数のデイジットの各対については、
桁上げ値は次に高次のデイジット位置まで伝播するので
、2つの数値のうちのより精度の高い方はより低い精度
の数値の最下位の有効デイジット位置までまるめられる
ことになる。
たとえば、N1=8939II,N2=035III,
b=5,N1+N2=N3の演算を行なうと、 前述の方法は加算に焦点を当てている。
実際、補数加算によってまるめ及び減算の両方を行なう
ためには減算を行なう時に第2の2値桁上げ信号(A.
B)が必要となる。
局部的な桁あふれ、非有効減数、又は非有効な被減数及
びまるめ規則によって指定される量よりも小さい減数が
ある時に第2の桁上げ(AB)が必要となる。
次の例にまるめ及び桁上げの伝播の両方が示される。
加算及び減算の両方について桁上げ(CB又はAB)は
(n−k)から(n−k−j)までの』個の非有効デイ
ジットにわたって伝播する。
10の補数加算はSの9の補数をとり最下位の有効デイ
ジットに桁上げを強制することからなる。
従来技術と異なり、本発明は任意のio進法の機械で使
用することができデイジット対単位の算術処理と適合性
がある。
本発明を使用することによって、結果の数値の非有効デ
イジットが自動的に保存される。
本発明は固定又は浮動小数点法のいずれとも適合する。
(ポ)実施例 前述したように、多デイジットからなるオペランドの対
に対して行なう一連の2値処理においてデイジットの有
効性を探知し保存することは算術演算にとって有用であ
る。
非有効デイジットに特異なコードを付けること及びこの
ような数値で加算又は減算を行なうことは、過去におい
ては演算結果の打切りに至っていた。
まるめに必然的に行なわれなかった。
これに関して、打切りは特定のデイジットで数値を切る
ことであり、まるめは数値に残される最下位の有効デイ
ジットを調整することである。
たとえば、10進数値2.7561を3つのデイジット
に打切る時その結果は2.75になるのに対しまるめた
数は2.76である。
第1図を参照すると多段の10進法加算器/減算器が示
されている。
加算支は減算の操作は線3にそれぞれの値ゼロ又はlを
印加することによって制御される。
M(被処理数)入力及びS(処理数)入力に1対のオペ
ランドが印加されると各段はデイジットRを出力する。
加算の場合には高次の段への桁上げCが発生されること
がある。
補数加算による減算の場合には2つまでの桁上げ(CB
及びAB)が段から段に伝播することがある。
桁上げ予想機能を備えたBCD用のio進法加減算装置
の一例が米国特許第3629565号明細書に記載され
ている。
第2図は10進法加算減算装置の1つの段31のブロッ
ク図である。
この段は制御論理装置11lデイジット10進法演算装
置15、及び10進法結果操作装置19を含んでいる。
線3上の1又はO信号はオペランド入力線23及ひ1に
それぞれ現われるデイジットのビットを演算装置15で
加算結合させるのか減算結合させるのかを示す。
演算装置は非有効デイジットのためのコード結合を有す
る単一段の有効演算を実行する。
演算装置は結果Rが負の数値であればこれを2つの補数
形の一方で表わす能力を有する。
制御論理装置11は2つの10進デイジット人力23及
び1を備えている。
これらの入力は論理的にM及びSで示す。
論理装置11はM又はSデイジットが非有効Iてあるか
どうかを判断し結果を操作装置19に送る。
又論理装置はデイジット有効性の不一致を調べ段間信号
を線25又は29上に発生すべきかどうかを判断する。
桁上げ信号(次に低次の段からのCBi)は線5によっ
て制御論理装置11及び演算装置15に印加される。
しかし、1番−1の段から線7は出されるABiという
付加的な桁上げは論理装置11だけに印加される。
表記上の調和のため(i番+i),i番、(1番−1)
なる用語は対応する(n−(k−1))(n−k),(
n−(k+1)〕なる用語と同じである。
i番+1の段への桁上げ(CBi+1)の伝播は演算装
置におけるオペランドの演算結合によってばかりでなく
制御論理装置によっても判断される。
このことが論理装置及び演算装置からORゲート27に
接続する線13及び14によって示される。
付加的な桁上げ(ABi+1)は1番+1の段への線2
5に発生される。
19進演算装置の出力は4ビットであり、線17によっ
て操作装置19に送られる。
線17上のデイジットは既にBCD形式でありうるが実
際の結果のデイジットRを変更しなければならない場合
がよくある。
このことは1番−1の段からの1i対の桁上げによって
局部的な桁あぶれが生じる場合に発生する。
操作装置19の操作は制御論理装置11から線9に出さ
れる信号によって制御される。
非有効デイジットを明瞭に表わすことができるようにデ
イジットのコードが充分な余裕を有するならば本発明は
いくつかの従来の数値表現に適用することができるが、
lO進数値の基数の補数表現が主であることを強調して
おく。
理解のため符号付き演算において”和動作”は同符号の
2つの数値の加算又は異符号の2つの数値の減算を意味
するものと定義する。
同様に“差動作″は同符号の2つの数値の減算又は異符
号の2つの数値の加算を意味するものと定義する。
差動作は第2の数値(減数)の補数を作りこれに第1の
オペランド(被減数)を加えることによって実行される
減数の大きさが被減数より太きければ、結果は補数形で
ある。
この状態は最高次のデイジットに桁上げが生じないこと
によって検出される。
この場合には再補数化と呼ばれる動作が必要である。
再補数化はOから結果を引くことによって行なわれ、適
当な符号の付いこ結果が得られる。
第3図に示す本発明の実施例はBCDコードに対して次
のように動作する。
BCDコードでは、0000=0,OOO1=1,00
10=2,・・・・,1001=9である。
ビットの組合せ”1010”及び”1011”は両者と
も非有効デイジット″I”を表わすのに使用する。
BCDコードと純粋な2進数システムとは類似している
のでBCDコードの2つのlO進デイ冫ジットの加算は
2つの2進数の加算と非常によく似ている。
しかし、2つの10進デイジットの和プラス次の低位か
らの桁上げが9より大きい時に問題を生じる。
特に和が10−15の範囲にあるならば、結果の2進数
は1010乃至1111で表わされるが、BCDコード
における和の表示は次の高位に対する桁上げを伴った0
000乃至0101である。
さらに和が16乃至19の範囲にあるならば、結果の2
進数は基数16すなわちl6の2進値位置への桁上げを
伴ったoooo乃至0011の範囲にある。
この場合BCDコードでは10進数の桁上げを伴った0
110乃至1001である。
多くの従来の加算器と同様に基数16の演算によって2
つのBCDコードのオペランドを結合させる場合、基数
16の結果に修正を行なわねばならない。
たとえは、10進数の結果が9より大きい時デイジツト
10乃至15をとはし10進数桁土げ信号を発生しなけ
ればならない。
IBMシステム360モデル40に備えられるような従
来の演算装置では基数16加算器に入るBCDデイジッ
トの一方に゛6″が加えられた。
10進数の結果が9より大きいならば、桁上げ同様結果
は正しいしかし、lO進数の結果が9以上であるならば
、基数16の結果を調整するために”6″を引かなけれ
ばならない。
この修正は2進数1010(10進数10)を加え桁上
げを無視することによって16を引くことによって実行
することができる10の補数の加算によるlO進数減算
においては、所与の10進数値の9の補数は所与の数値
の各デイジットを9から引くことによって得られる数値
として定義される。
たとえば8206の9の補数は9999−8206=1
793である。
n桁の数値AからBを引くにはBに対して9の補数を作
り”強制″桁上げと共に加算することで充分である。
Aは負であれば9の補数の形で表われる同様にBは負で
あれは最初に10の補数の形であるが、補数化動作及び
”強制桁上げ”によって真の形に変換されるので、負の
数値の減算は正の数値の加算と同等である。
補数加算における高位の桁上げの存在又は不存在は差が
被減数と同符号であるかどうかを示すのに使用すること
ができる。
A又はBの一方だけが負の時、減算中に桁あふれ状態に
なることかある。
第3図は非有効デイジット1を検出し結果のデイジット
の有効性を判断する回路を示す。
父、オペランドの特別の桁上げ歩進を川能にするよう修
正された加算回路網も示される。
第3図は2重柘上げ伝播のための検出回路を備える。
BCD及びこれに類似した数値表現法に本発明を適用す
るためには第2の段間桁上げが必要であり局部的な桁あ
ふれに対処しうることか必要であることが見出された。
父、基数の補数減算中の桁上げの伝播は複数個の非有効
デイジット位置にわたって取扱われねばならない。
これらの点を考慮しながら第3図及び第2図を参照する
第3図において第2図の制御論理装置11、演算装置1
5、操作回路1′9等の主制御ブロックが点線で示され
る。
BCDコードのオペランドは4ビットからなり並列に印
加される。
線23は2値の重みを示すM8,M4,M2、及びM1
で表示される4本の導線を含む。
同様に線1は88,S4,S2、及びS1からなる。
M及びSの表示は補数加算による減算に主として重要で
ある。
被減数及び減数が人力の観点から容易に見分られるよう
にするためである。
線23に現われるビットは論理装置11内の対応するい
くつかの人力及び10進演算装置を駆動する排他的OR
ゲート203に同時に印加される。
いく分の興味があるのは線5及びT上の段間桁上げ人力
CBi及びABiが局部的な桁あふれ信号の発生に関係
するA.NDゲート83に接続されていることである。
さらに線3上の加算/減算制御信号が次に高次の段に結
合される線25+2の逆借り(antiborrow)
に関連した桁上げABi+1の発生に関係することに注
意する必要がある。
同様に通常の段間桁−ヒげCBi+1は線29によって
ORゲ一ト27から次に高次の段に結合される。
大切なことはデイジットが有効であるか否かということ
の判断である。
この判断はMデイジットについてはANDゲート51に
ビツトM8及びM2を印加することによって行なわれ、
Sデイジットの有効性はANDゲート13にビツトS8
及びS2を印加するこ吉によってテストされる。
非有効デイジットは以前に1010又は1011として
コード化されているので、第2及び第4ビット位置に1
が存在すればそれぞれの線52及び74に非有効性の表
示が生じる。
線52及ひ74はowゲ−ト75に入力されその出力は
ORゲ−ト152,155及び結果操作回路19のAN
Dゲート153に入力される。
従って、結果のデイジットは線21の各ビット線R8,
R4,R2及びR1にBCDコードとして現われる。
これらのビット線はANDゲート159,161,16
3、及び165によって駆動される。
デイジットM又はSの少なくとも一方が非有効であれは
結果のデイジットRは非有効である。
M又はSが非有効であることを示す1が線76上に生じ
ると、1はORゲート152乃至155を通ってAND
ゲート159及び163にそれぞれ印加される。
局部的な桁あふれがなければlがANDゲート入力の他
方にも印加される。
これによってビット位置R8及びR2に1が現われる。
線76からの入力が反転されてANDゲート153及び
161を禁止するのでビット位置R4にOが現われる。
こうして結果デイジントRはl010又は10l1とし
てコード化される。
結果操作回路によって10進演算装置15の通常の演算
出力が変えられるもう1つの場合は局部桁あぶれが存在
する時である。
局部桁あふれは、股間桁上げ線5及び7の両方に1が生
じるとともに、Mデイジットが9でSデイジットがOす
なわちS8乃至S1のどのビット位置にも1がない状態
である。
この機能はデイジツトMのビットをANDゲート61に
印加することによってなされる。
ゲート61はビットの組合せ1001が存在するならば
線62に1出力を出す。
同様にデイジットSのどのビットもlでないならばNO
Rゲート63が線64に1出力を出す。
ANDゲ一ト83には線62,64,5及び7が入力と
して接続されこれらの線に同時に1が生じると出力線8
4に1が現われる。
線84は禁止ゲート157に印加されており、その並列
出力は操作回路19のANDゲート159,161,1
63、及び165に印加される。
局部桁あふれによってこれらのANDゲートが禁止され
るのでデイジットRの各ビットはOになる。
線76及び84は第2図に示す複数の制御信号9の一部
である。
次に“まるめ”について考察する。
まるめとは、数値の低位の有効デイジット(1つ又は複
数)をある規制に従って削除し残りの部分を調整するこ
とである。
まるめはオペランドが演算処理に入る前又は同時に行な
うことができる。
結果の最右端の有効デイジット位置のすぐ右のデイジッ
ト位置のオペランドの状態によって3つの場合がある。
第1の場合は、まるめるべき問題のデイジット位置が空
である(最低位の有効デイジット位置が最も右の位置で
ある)か又は両方のオペランドのデイジツト力月である
ため、まるめが必要ない場合である。
第2の場合は、第1オペランドの最低位の有効デイジッ
ト位置を切上げて次に低位のデイジットに桁上げを行な
う場合である。
これは、すぐ右の第2オペランド・デイジットが空か又
はIの時に生じる。
第3の場合は、第1オペランドと合わせるため第2オペ
ランドの最低位の有効デイジットをまるめねばならない
場合である。
デイジソトがない状態は浮動小数点加算又は減算の際に
位取りのために1つのオペランドが右にシフトされる時
に第2及び第3の場合において生じることがある。
オペランドを演算結合する前にまるめ処理を行なうだけ
では不充分である。
単一の累算器構成ではより精度の高いオペランドほどま
るめによる変化を生じることがある。
従来第2オペランドは変更されることを予定されていな
い。
予めまるめることは演算装置を2度通さねばならないこ
ともあり時間の浪費である。
本発明ではBCDコードの数値が10進法コンピュータ
の演算装置で使用される。
同じ桁の有効デイジットの各対について、(n−k)1
■(n−k)z■桁上げ値(n一k)=(n−k)3+
桁上げ値〔n−(k−1))である。
又、少なくとも1つのデイジットが非有効である同じ桁
のデイジットの各対については結果デイジットは非有効
である。
このことは第3図において強制Iに関連して説明した。
和処理において並行まるめ処理を行なう場合は同じ桁の
デイジットの各対について有効性に関する不一致が生じ
、有効デイジットが所与のまるめ規則に従う予定値より
も大きい場合、桁上げ値は次に高い桁のデイジット位置
に伝播する。
補数加算を使用する減算処理のために並行まるめ処理を
行なうと、″n−k”乃至″n−(k−j)”のj個の
非有効デイジットにわたる桁上げ値を生じる。
和処理における並行まるめ処理について次の例を考える
規則を強調しておくと、両方のオペランド・デイジット
が”■”であれば結果デイジットも゛I”である。
一方のオペランド・デイジット力4“1”で他方がそう
でない場合も結果デイジットは”1”である。
デイジットの有効性が不一致であり有効デイジットがあ
るまるめ規則によれば4より大きいならば、桁上げが発
生され次の段に伝播する。
減算処理における並行まるめ処理については、最も左の
非有効デイジットが被処理数Mに属するか処理数Sに属
するかによって規則が修正される。
最も左の■デイジットがMにあり予定値Bよりも大きけ
れば”借り”が伝播する。
このことを次の例で示す。
最も左の非有効デイジット位置が処理数デイジットにあ
るならば、被処理数がまるめられるべきであれば被処理
数の”極性″に対応する段間信号が発生される。
この信号を逆借り(antiborrow)信号と呼び
A.Bで示す。
次の例を考える。並行まるめ処理を行なうならば減算処
理に対して2つの重みの段間信号が必要であることが明
らかである。
従来技術のリストで2番目に掲げた文献に記載されるよ
うな符号付きデイジット有効性演算においては実行は単
刀直入である。
この符号付きデイジット演算には3つの値の段間桁上げ
,すなわち重み+1,0、及びーlが用いられる。
直接減算を使用する減算処理で並行まるめを行なうため
の規則は次のとおりである。
M,+81が有効であれば、 (1)R・=(M・+AB・)−(S・十CBi)(2
)ABi=1,M=9,S=Oならば、ABi+1−1
(3)(Mi+ABi)<(Si+CBi)ならば、C
B1+1−1 M+Sの少なくとも1つのデイジットがIであるならば
、 (1)M=I,4<Si≦9ならば、Ri=1及びCB
i+1=1 (2)4<Mく9,S=Iならば、Ri=I及び八B1
+1=1 (3)M=S=Iならば、Ri=I及びCBi+1=A
Bi+1一〇 これまで本発明を符号付き演算に関して説明した。
10の補数による減算のように補数の加算によって減算
を行なう場合の並行まるめ処理においては減数のデイジ
ット毎の補数は基数−1の補数である。
この補数は被減数に加えられ桁上げがAB信号を通して
強制される。
他方の桁上げCBは通常の桁上げ及び被減数の切上げの
ために保持される。
代りに減数を切上げる必要があるならば、AB信号を禁
止することによって行なうことができる。
補数加算による減算の次の例において減数Sの基数−1
に対する補数をS′で表わす。
直接減算及び補数減算の両方を説明する。
この例で、i番目の段でMi=S’i=I又はS=Iで
あれば、ABi+1=1である。
次の例は被減数デイジットを切上げることによって発生
される2重桁上げ伝播に対する同時必要性を説明するも
のである。
この最後の例では減数は被減数の有効デイジ
ットの桁に非有効デイジットを有する。
被減数のテイジット7を切上げたため第lのCB信号が
発生された。
左から第3番目のデイジット位置において、加算器を1
回通すだけで補数加算による減算を行なう場合は、両方
の段間桁上げ信号が必要なことが明らかである。
前の例ではMの有効デイジットがSの非有効デイジット
と重なった。
今度の例ではSの有効デイジットがMの非有効デイジッ
トに重なる。
この場合、桁上げABは最低次の有効デイジットまで伝
播しなければならない。
しかし、減数デイジットの切り上げはそのデイジット位
置において1だけ結果を減らす効果を有する。
減数デイジットの切り上げはその値があるまるめ規則で
指定される値よりも大きい時に生じる。
代表的には基数10の演算ではデイジットが5以上の値
の時に生じる。
従って、補数デイジットは0,1,2,3、又は4であ
る。
S′デイジットが5より小さくMデイジットがIであれ
ば、ABi+I信号は1ではなく0である。
このことを次に示す。Mデイジット及びSlデイジット
が9で桁上げ信号のそれぞれが1の場合、゛局部桁あふ
れ”と呼ばれる補数演算における状態が生じる。
デイジット位置に対する和は”20”である。
これは結果デイジットRを゛0”に強制しAB1+1及
びCBi+1の両方を1に等しくすることによって取扱
われる。
この例を次に示す。再び第3図を参照すると、逆借りA
BがORゲー91を駆動するANDゲート85,87及
び89によって発生される。
このような桁上げは、線84から局部桁あぶれがあるか
、演算が減算モードであってSが非有効であるか又は演
算が減算モードであってMが非有効でありまるめS入力
72がOで反転されてAND87に1として現われると
きに発生される。
Sが4以下の値については線72上の切上げSは0であ
る。
これに対応するS′の値は5以上である。
Mの値も5以上の時に切上げられORゲート59からの
線60に1が現われる。
ANDゲート53,55及び57はOR59を駆動し、
その入力M8,M4,M2、及びM1はAND57の出
力でM=5が表わされるよう配置されている。
6又は7に等しいMはAND55を通り8に等しいMは
AND53を通る。
S及びS8,S4,82,S1に関してはAND65,
67,69について同じことがいえる。
AND77,79及びOR81は他方の桁上げ信号CB
1+冫を発生するための2つの論理状態のうちの一方を
規定する。
Sが非有効でMが5より大きいか又はMが非有効でSが
5より大きく演算が加算であるならばゲート81から線
13に1が現われる。
AND77が第1の条件に関係しAND79が第2の条
件に関係する。
これまでに股間桁上げAB及びCB並びに局部桁あぶれ
を第3図に関連して説明したが、制御論理装置11には
6加算及び1加算回路201並びに排他的OR203及
び205が含まれる。
排他的ORは演算装置15の2進加算器129を駆動す
る。
演算装置には加算器129の3つの有効デイジットB8
,B4、及びB2に応答する6減算回路151も含まれ
る。
回路151の3つの出力DB,D4,D2はゲート15
2,153,′155に入力される。
2進加算器129のB1出力はAND165に入力され
る。
BCD(8,4,2.1)コードで10進演算を行なう
には、基本的には1つの2進加算器を使用するモジュー
口16であるコードでモジュー口10演算を行なうよう
にする。
2進加算器出力Bはオペランドの和が10より小さけれ
ば正しい。
しかし、Bが9乃至10の範囲にある場合、和はBに6
を加えることによって修正される。
このような回路は”Introduction to
Computer Architecture”197
5年)Science Re−search Asso
ciates発行に記載されている0しかし、この文献
に記載の装置はBが9乃至16の範囲にある場合の桁上
げ手段を含まない。
従って、このような結果を検出する特別の論理装置が必
要である。
これに対して本発明の実施例ではオペランドの一方(被
減数)に6が自動的に加えられ、次いで16進法加算が
行なわれ、次に桁上げ信号が探される。
桁上げ信号が存在しなければ、すなわち第3B図の線1
4のCoutが0であれば結果Bは正しくなく回路15
1で6が引かれ修正数値Dを発生する。
Cout出力が21に等しければ回路151に印加され
るBは変更されることなく結果操作回路19に送られる
6加算及び1加算回路201においてl加算回路は6加
算回路と相互に排地的である。
これに関して被減数に対する1の加算は減算中にのみ生
じる。
加算動作中に被減数に対して6を加算する動作は3つの
AND,ORゲート群によって制御される。
このゲート群は、AND93,95,97及びOR99
;ANDI03,105、及びOR107;AND10
9,111及びORI13である。
第1のゲート群の出力100は排他的OR101の第1
人力となる。
第2のゲート群の出力108は排他的OR115の第1
入力となり第3のゲート群の出力114は排他的OR1
17の第1人力となる。
線3上のO信号によって加算動作が要求される,この信
号は反転器78で1に反転されAND93,95,10
3、及び109を条件づける。
M4又はM2が1であるか又はM4,M2,Mlが1で
Sが非有効であればl信号が出力線100に現われる。
同様に、Sが非有効でM2及びM1が1である時又は加
算信号の存在でM2が0である時に出力114が1にな
る。
排他的ORゲート群203からの出力102,116,
118及び120は2進加算器129に入力される。
又、第2のORゲート群205からの出力122,12
4,126、及び128は加算器129に入力される。
機能的には排他的ORゲート群203は線3で加算が規
定される時2進加算器129にM+6を通す。
しかし、入力100,108及び114は0であるから
Mは直接通される。
これによって排他的ORゲート101,115、及び1
17が禁止される。
線3によって加算が規定されている時第2の排他的OR
群205はS(処理数)の各ビットを2進加算器129
に通す。
線3上の加算信号Oによって線121,123,125
、及び127は禁止される。
しかし、減算中には入力3は1であり減数88.84,
S2、及びS1がOR121,123,125、及ぱ1
27にそれぞれ印加される。
これは15の補数を形成することと論理的に同じである
又、これは9の補数を形成し+6を加えることと同じで
ある。
前述したように、線14のCoutがOに等しい時、6
減算回路151が加算器129の出力を6だけ減らす。
これは排他的ORゲート131,133、及び139に
よって行なわれる。
Cout出力が0に等しい時、反転器141によって線
142に1が生じる。
線142は排他的OR.139及びA.ND137の入
力となる。
Coutが0に等しいと同時に、9<B≦1:16であ
ればB8は工でB4若しくはB2又はこの両者が1であ
る。
B2がlでB4がOであれば1が線138を通って排他
的OR133に送られD4が1になる。
B4及びB2の両者が1であればAND NOTゲート
135によって排他的OR13lがセットされB8が通
過しD8がlにD2がOになる。
これらのすべての動作において排他的ORは入力が不一
致のときにだけl出力を発生する。
回路151の出力D8,D4、及びD2はゲート152
,153,155を通る強制桁上げがない状態でAND
159,161及び163を通る,2進加算器からの最
も低次のデイジット出力Bl.はAND165に直接印
加される。
結果のビットR8,R4,R2,R1は局部桁あふれが
ない状態ではDB ,D4,D2及びB1に対応する。
装置の動作を説明するために次のように仮定する。
M−M8M4M2M1=I=1010,CB1=OS=
S8S4S2S1−6−0110,ABi=0であれば
、M+SについてR=I ,Ci+1=1である。
ただしM=I,S=6又はM=6,S=Iである。
■デイジットlO10を被減数に適用し6デイジツト0
110を減数に適用するとM8及びM2がlでAND5
1に印加されるのでMが1として検出されIがOR75
,76を通って操作回路19に印加され、■がOR15
2を通る。
局部桁あふれがないので線84にゼロが現われ回路19
において反転器157によって1に反転される。
このことは1がAND159を通りR8に現われること
を意味する。
ANDゲート153及び161はAND153への入力
がOに反転されるので禁止される。
これはR4が0てあることを意味する。
強制Iを表わずJがOR155及びNΦ163を通るの
でR2は1である。
Iは1010又は1011と定義したのでR1の実際の
ビット値は重要でない。
Sが0110に等しいのでビットS4及びS2が両方と
も1であり1がAND6γ,OR71を伝播し線72で
Sを切り上げる.これが反転されてAND87が禁止さ
れる。
局部桁あふれ84がないのでAND85の出力はない1
加算動作の時にに線3に0が現われるのでAND89が
禁止される。
このことは線25に桁上げABi+1がないことを意味
する。
桁あぶれの問題に関してIがNOR63を通りAND8
3に印加されるけれども、CBi及びABiはOのまま
であるからゲート83は禁止されたままである。
減算デイジットも排他的OR群205に印加される。
排他的OR群は減算中に減数ビットを選択的に反転する
加算中はゲーN21,123,125、及び127が禁
止されるので減数デイジットは2進加算器まで不変更で
右に送られる。
これは線122に0、線124に1、線126に11線
128に0が現われることを意味する。
排他的OR群203のいくつかの排他的ORゲートはタ
ーン・オンする。
特にゲート101及び117がターン・オンする。
このことは線100及び114上に2進工が現われ線1
08に0が現われることを意味する。
M2ビットが1で線4のビットが1であるから線100
に2進1が現われる。
M2ビットが反転されてAND103が禁止されるので
線108はOになる。
Sが有効で線74人力がOであるからAND105は禁
止される。
加算が要求される時線3にOが現われるが、これが反転
器78で反転されて線4に1出力として現われる。
これによってAND109及びOR113が駆動され線
114に1が現われる。
排他的OR群203の各ゲートの入力が一致するので線
102,116,118、及び120にO出力が現われ
る。
2進加算器129への入力を上記のように規定すると、
線14上のCout出力はOである。
線13の値が0であるから、0がOR27を伝播する。
段間桁上げ及び局部桁あぶれの場合と同様である。
【図面の簡単な説明】 第1図はBCDコード用のlO進法加減算装置を示す図
、第2図は第1図の装置中の1つの段を示す図、第3図
、第3A図、第3B図は結果ディジットの有効性を判断
するため及び非有効ディジントIを検出するための回路
を示す図である。 31・・・・・・演算装置の1つの段、11・・・・・
・制御論理回路、15・・・・・・lディジット10進
法演算手段、19・・・・・・結果操作手段。

Claims (1)

  1. 【特許請求の範囲】 1 複数ビット表現の第1の10進数値N1=n1(n
    −1)1(n−2),・・・(n−k)1・・・・・及
    び第2の10進数値N2=n2(n−1)2(n−2)
    2・・・・(n−K)2・・・・を演算装置に入力して
    加算又は減算の演算■を行なって得られる第3の10進
    数値N3=n3(n−1)3(n−2)3・・・・(n
    −k)3・・・・におけるデイジットの有効性を追跡す
    る装置であって、 N1及びN2の各有効デイジットを複数ビット表現でコ
    ード化しN1及びN2の非有効デイジットを特異な複数
    ビット表現Iでコード化する手段と、前記コード化手段
    でコード化された数値N1及びN2を前記演算装置に入
    力する手段とを備え、前記演算装置は、 同じ桁の有効デイジットに対して(n−K)t■(n−
    K)2■桁上げ値(n−(k+1))の演算を行ない(
    n−k)a及び次に高位のデイジット位置に対する桁上
    げを発生する手段と、 N1及びN2の同じ桁の1対のデイジット(n−K)1
    ,(n−k)2の少なくとも一方が非有効デイジットで
    あることに反応して(n−k)3=Iの結果デイジット
    を発生する手段と、 N1及びN2の同じ桁の1対のデイジットの一方が非有
    効で他方が有効且つまるめ規則によって定めた予定値よ
    り大きいことに応答して次に高位のデイジット位置に対
    する桁上げを発生する手段とを備え、2つの数値のより
    精度の高い方の数値が他方の数値の最低位の有効デイジ
    ット位置までまるめられるようにされている、前記有効
    性追跡装置。
JP53059030A 1977-06-29 1978-05-19 デイジツトの有効性追跡装置 Expired JPS584369B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/811,214 US4110831A (en) 1977-06-29 1977-06-29 Method and means for tracking digit significance in arithmetic operations executed on decimal computers

Publications (2)

Publication Number Publication Date
JPS5412236A JPS5412236A (en) 1979-01-29
JPS584369B2 true JPS584369B2 (ja) 1983-01-26

Family

ID=25205910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53059030A Expired JPS584369B2 (ja) 1977-06-29 1978-05-19 デイジツトの有効性追跡装置

Country Status (6)

Country Link
US (1) US4110831A (ja)
JP (1) JPS584369B2 (ja)
DE (1) DE2826773A1 (ja)
FR (1) FR2396360A1 (ja)
GB (1) GB1579100A (ja)
IT (1) IT1112643B (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2448188A1 (fr) * 1979-02-02 1980-08-29 Anvar Procede et ensemble de calcul, aleatoirement par exces ou par defaut, pour fournir des resultats de calcul avec le nombre de chiffres significatifs exacts
FR2455315B1 (fr) * 1979-04-23 1986-10-24 Anvar Procede pour fournir un resultat de calcul numerique avec le nombre de chiffres significatifs exacts dans ce resultat et dispositif de calcul numerique mettant en oeuvre ce procede
JPS56135236A (en) * 1980-03-24 1981-10-22 Casio Comput Co Ltd Numeric data displaying system
JP3421933B2 (ja) * 1994-10-31 2003-06-30 弘之 河▲崎▼ 演算処理装置及び電子計算機
US5809323A (en) * 1995-09-19 1998-09-15 International Business Machines Corporation Method and apparatus for executing fixed-point instructions within idle execution units of a superscalar processor
JP2000068834A (ja) 1998-08-20 2000-03-03 Hiroyuki Kawasaki 信号変換方法及び信号変換器
AU2597401A (en) * 1999-12-22 2001-07-03 Ubicom, Inc. System and method for instruction level multithreading in an embedded processor using zero-time context switching
US7120783B2 (en) * 1999-12-22 2006-10-10 Ubicom, Inc. System and method for reading and writing a thread state in a multithreaded central processing unit
US7308686B1 (en) 1999-12-22 2007-12-11 Ubicom Inc. Software input/output using hard real time threads
US7047396B1 (en) 2000-06-22 2006-05-16 Ubicom, Inc. Fixed length memory to memory arithmetic and architecture for a communications embedded processor system
US7010612B1 (en) 2000-06-22 2006-03-07 Ubicom, Inc. Universal serializer/deserializer
US7822950B1 (en) 2003-01-22 2010-10-26 Ubicom, Inc. Thread cancellation and recirculation in a computer processor for avoiding pipeline stalls
WO2012077185A1 (ja) * 2010-12-07 2012-06-14 富士通株式会社 10進絶対値加算器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3842250A (en) * 1973-08-29 1974-10-15 Sperry Rand Corp Circuit for implementing rounding in add/subtract logic networks
US3885141A (en) * 1974-02-06 1975-05-20 Bell Telephone Labor Inc Modular pipeline multiplier to generate a rounded product

Also Published As

Publication number Publication date
FR2396360B1 (ja) 1983-03-18
DE2826773A1 (de) 1979-01-11
IT7825058A0 (it) 1978-06-28
US4110831A (en) 1978-08-29
JPS5412236A (en) 1979-01-29
GB1579100A (en) 1980-11-12
FR2396360A1 (fr) 1979-01-26
IT1112643B (it) 1986-01-20

Similar Documents

Publication Publication Date Title
US5732007A (en) Computer methods and apparatus for eliminating leading non-significant digits in floating point computations
JP2662196B2 (ja) 演算結果正規化方法及び装置
JPH0123806B2 (ja)
US5184318A (en) Rectangular array signed digit multiplier
JPS584369B2 (ja) デイジツトの有効性追跡装置
US4878192A (en) Arithmetic processor and divider using redundant signed digit arithmetic
US5144576A (en) Signed digit multiplier
JPH08161149A (ja) シフト装置
US4873660A (en) Arithmetic processor using redundant signed digit arithmetic
JP2558669B2 (ja) 浮動小数点演算装置
JP2695178B2 (ja) 演算回路
Fenwick Introduction to computer data representation
US5153847A (en) Arithmetic processor using signed digit representation of internal operands
JPH08147142A (ja) プライオリティ検出用カウンタ装置
JPS61282928A (ja) 浮動小数点演算装置
JP3522387B2 (ja) パイプライン演算装置
JPH0667852A (ja) 除算器
JPS63254525A (ja) 除算装置
Morris et al. Numbers and numbering systems
Mathapati et al. A Decimal Floating Point Arithmetic Unit for Embedded System Applications using VLSI Techniques
SU951293A1 (ru) Счетное устройство
JPS6319036A (ja) 演算処理装置
JPS638826A (ja) 演算処理装置
JPS6045844A (ja) 演算装置
JPH0667853A (ja) 除算器