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