JPH03156637A - 10進演算装置 - Google Patents

10進演算装置

Info

Publication number
JPH03156637A
JPH03156637A JP29719889A JP29719889A JPH03156637A JP H03156637 A JPH03156637 A JP H03156637A JP 29719889 A JP29719889 A JP 29719889A JP 29719889 A JP29719889 A JP 29719889A JP H03156637 A JPH03156637 A JP H03156637A
Authority
JP
Japan
Prior art keywords
digit
code
decimal
zone
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP29719889A
Other languages
English (en)
Inventor
Sadaji Asano
淺野 貞二
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP29719889A priority Critical patent/JPH03156637A/ja
Publication of JPH03156637A publication Critical patent/JPH03156637A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 技術分野 本発明は10進数装置に関し、特にアンパック形式の1
0進数に対する加算処理装置に関するものである。
従来技術 アンパック形式のBCDIO進数は第2図に示すような
構成をとる。すなわち、各バイトはゾーン桁とBCD数
値桁とからなり、最下位バイトは符号桁とBCD数値桁
とからなっている。
従来、BCDIO進数に対する演算は通常の2進数の演
算回路を組合わせて対応するようになっている。例えば
、演算を実行する前に10進数を2進数に変換し、2進
数として演算した後に2進数から10進数に変換して戻
す方式がある。この方式では、10進数から2進数への
変換及びその逆の変換に時m1がかかる場合が多く、ま
た変換回路が必要となる。
そこで、10進数のまま加減算する方式が考えられてい
る。すなわち10進数の各桁に加算前に2進数として3
を加算しておく。3を加算することにより、0〜9の表
現は3〜12となる。この表現コードを3余りコードと
呼ぶ。
3余りコードの10進数は通常の2進加算器で加算する
と、正常に桁上がりが起こる。加算後の各桁は、桁上が
りを起こした桁のコードはBCDとなっているが、桁上
がりを起こさなかった桁のコードは3余りコードよりさ
らに3大きな数となっており、正常なりCDコードにす
るには、桁上がりを起こさなかった桁に対してのみ6を
減算する。以上の処理を回路で構成すれば10進加算器
ができる。
10進数の乗除算の場合、2進数の演算で用いられるよ
うな高速のマルチプライヤを構成することはハードウェ
ア量の問題などから極めて困難である。一般に10進の
乗除算は10進加算器を用いて処理することから、10
進加算器は高速性が要求される。
アンバック形式の10進数の場合、無意味なゾーン桁が
存在するため、アンバック形式のまま演算することはま
れであり、一般には一度バツク形式に変換して演算し、
演算結果を再びアンパック形式に変換し保存する。
上述した従来の10進演算回路では、10進加算をする
場合、BCDから3余りコードへ変換し2進加算器で加
算し、各桁の桁上がりに応じて6を桁から減するという
一連の回路を構成する必要があるため、2進加算回路に
比べると、デイレ−も大きく、またハードウェア量も増
大する。また、従来のアンバック形式の10進数をバッ
ク形式に変換して演算する方式に関しては、オペランド
の長さが、アンバックからバックに変換することで短く
なり、そのレングス管理が複雑になり、余分なオーバヘ
ッドがかかる。
発明の目的 本発明の目的は、アンパック形式をバック形式に変換す
ることなく、処理を行うようにして、無駄な変換処理を
最小限として、ハードウェア量及びデイレ−量を減少可
能とした10進演算装置を提供することである。
発明の構成 本発明によれば、アンバック形式で表現された10進デ
ータのオペランドの演算機能を有する10進演算装置で
あって、人力オペランドの符号桁及びゾーン桁の各特定
ビットをフラグビットとしてこのフラグビットの全てを
オフにセットすると共に、符号桁及びゾーン桁の他の特
定ビットを符号ビットとしてこの符号ビットに前記オペ
ランドの符号コードに応じて2進化された符号をセット
する第1の手段と、人力された2つのオペランドの前記
フラグがオフのときには対応するBCD数値桁の10進
数に3を加算し、オンのときには3を減算すると共に全
てのフラグをオフとする第2の手段と、前記第2の手段
により処理された前記2つのオペランドのBCD数値桁
を加算する第3の手段と、この加算結果にキャリーが発
生しなかった桁に対応したゾーン桁のフラグをオンとす
る第4の手段と、人力オペランドのゾーン桁のフラグが
オンの場合に対応するBCD数値桁から6を減算する第
5の手段と、この第5の手段の出力のゾーン桁をゾーン
コードにし、また符号桁に符号コードをセットする第6
の手段とを含むことを特徴とする10進演算装置が得ら
れる。
実施例 次に、本発明の実施例について図面を参照して説明する
第1図は、本発明の一実施例を示すブロック図である。
回路1は人力されたアンバックオペランドに対し、オペ
ランドのコードの正当性をチエツクし、符号桁と各ゾー
ン桁の特定のビットに2進化されたオペランドの符号を
セットし、同−桁内の別のビットにフラグの意味を持た
せ、かつそのフラグを全てオフにして出力する回路であ
る。
第3図は回路1の動作を示す図である。図において、1
0は人力されるアンパックオペランドであり、11は処
理後に出力されるオペランドである。10のBCDIO
進数値の桁数値のまま出力される。100で示される符
号コードは1ビツトの符号ビットにエンコードされ、符
号コード及びゾーン桁全ての下位1ビツト111にセッ
トされる。
また、符号コード及びゾーン桁の上位1ビツトはフラグ
110として0(オフ)にされる。
回路2は、与えられた2つのオペランドのそれぞれの1
0進数値桁に対応したゾーン桁の上位1ビツトのフラグ
が0(オフ)の時は、対応する10進桁の数値に3を加
算し、1(オン)の時は、10進桁の数値から3を減す
ると共に、対応するフラグをオフにする回路である。
第4図は回路2の人力データ1バイトに対応した回路例
を示す。実際には、このような回路が入力オペランドの
バイト数と同じ数だけ並んでいる。
21は+3回路であり、22は一3回路である。
本回路では、10進桁の数値に対して回路21゜22を
用い+3.−3された値を作り、ゾーン折中のフラグに
より、その一方を選択して出力する。
これにより入力された10進数は3余りコードに変換さ
れる。また、ゾーン桁はフラグが0(オフ)にされ出力
される。
回路3は回路2から出力されたオペランド同士を加算(
あるいは減算)する2進加算器である。
第5図はこの回路3のブロック図である。2進加算器3
1は人力オペランドの10進桁のみを入力とする。比較
回路32は回路31と同じ人力オペランドの大小比較を
行い、比較結果を回路31に与える。
10進オペランドは絶対値表現であるため、演算が減算
である場合、絶対値の大きなオペランドから小さなオペ
ランドを減算する必要があり、回路32の出力はその判
断に使われる。演算が加算であるか、減算でるかは回路
33からのモード信号301で与えられる。
このモード信号301は2つの人力オペランドの符号と
制御記憶(C3)6より与えられるマイクロ命令601
とによって決定される。マイクロ命令601は演算が加
算か減算かの指示を与えるもので、減算の場合一方のオ
ペランドの符号を反転する。
このようにしてえ得られた2つの符号が同じであれば、
301線のモードは加算であり、異なっていれば減算で
ある。減算の場合、回路32の出力に従って大きな値の
オペランドより小さい値のオペランドを減する。回路3
1の出力はこのように演算した結果と各桁より発生する
キャリーとからなっている。
各ゾーンのフラグ41は、次の回路4において、対応す
る10進桁よりキャリーが発生している場合は0(オフ
)、キャリーが発生していない場合は1 (オン)にセ
ットされる。各ゾーン桁の符号ビットには、絶対値の大
きいオペランドの符号がセットされる。尚、42はBC
D数値桁を示す。
回路5は、ゾーン桁のフラグがオンの場合、対応する1
0進数の桁から6を減算するとともに、ゾーン桁をゾー
ンコードにし、符号桁に符号ビットより符号コードを生
成して出力する。
制御記憶6はマイクロ命令を格納する記憶装置であり、
信号線601で与えられる命令に従い回路を制御する。
記憶装置7の10進オペランドは制御記憶6のマイクロ
命令により、回路1.2.5に対して与えられる。回路
1,4.5より出力される演算結果は、802線のマイ
クロ命令により1つが選択され、記憶装置7に格納され
る。601線で与えられる命令はA、B、Cの3種類と
し、命令Aは回路1を、命令Bは回路2〜4を、命令C
は回路5を夫々起動するようになっている。
こうすることにより、先ず命令Aにより回路1を起動し
て演算のためのオペランドのゾーン桁及び符号桁のフラ
グビットの処理を行い、記憶装置7に夫々これ等オペラ
ンドを格納しておく。
そして、命令Bにより回路2〜4を起動して演算処理し
、各桁毎にキャリーの有無に応じて対応桁のフラグビッ
トをオンオフしてその結果を記憶装置7に格納する。こ
の演算処理を必要なオペランドに対して順次行って記憶
装置7に格納する。
しかる後に、命令Cにより回路5を起動して演算結果を
記憶装置7から読出し、元のアンバック形式データに変
換するのである。
発明の効果 以上述べた如く、本発明によれば、アンバックデータの
ゾーン桁にフラグビットと符号ビットとを一時的にセッ
トすることにより、アンバックデータをパックデータに
変換することなくアンパック形式のオペランド演算が可
能となるので、無駄な変換処理を最小限とし、ハードウ
ェア量特に10進加算器のハードウェア量の減少及びデ
イレ−の減少を招来するという効果がある。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図、第2図はアンパ
ック形式の10進数の例を示す図、第3図は回路1の動
作を示す図、第4図は回路2の詳細を示すブロック図、
第5図は回路3のブロック図である。 主要部分の符号の説明 1・・・・・・フラグビット及び 符号ビット設定用回路 2・・・・・・3余りコード生成用回路3・・・・・・
加減算回路

Claims (1)

    【特許請求の範囲】
  1. (1)アンパック形式で表現された10進データのオペ
    ランドの演算機能を有する10進演算装置であって、入
    力オペランドの符号桁及びゾーン桁の各特定ビットをフ
    ラグビットとしてこのフラグビットの全てをオフにセッ
    トすると共に、符号桁及びゾーン桁の他の特定ビットを
    符号ビットとしてこの符号ビットに前記オペランドの符
    号コードに応じて2進化された符号をセットする第1の
    手段と、入力された2つのオペランドの前記フラグがオ
    フのときには対応するBCD数値桁の10進数に3を加
    算し、オンのときには3を減算すると共に全てのフラグ
    をオフとする第2の手段と、前記第2の手段により処理
    された前記2つのオペランドのBCD数値桁を加算する
    第3の手段と、この加算結果にキャリーが発生しなかっ
    た桁に対応したゾーン桁のフラグをオンとする第4の手
    段と、入力オペランドのゾーン桁のフラグがオンの場合
    に対応するBCD数値桁から6を減算する第5の手段と
    、この第5の手段の出力のゾーン桁をゾーンコードにし
    、また符号桁に符号コードをセットする第6の手段とを
    含むことを特徴とする10進演算装置。
JP29719889A 1989-11-15 1989-11-15 10進演算装置 Pending JPH03156637A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29719889A JPH03156637A (ja) 1989-11-15 1989-11-15 10進演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29719889A JPH03156637A (ja) 1989-11-15 1989-11-15 10進演算装置

Publications (1)

Publication Number Publication Date
JPH03156637A true JPH03156637A (ja) 1991-07-04

Family

ID=17843451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29719889A Pending JPH03156637A (ja) 1989-11-15 1989-11-15 10進演算装置

Country Status (1)

Country Link
JP (1) JPH03156637A (ja)

Similar Documents

Publication Publication Date Title
US5931895A (en) Floating-point arithmetic processing apparatus
US4617641A (en) Operation unit for floating point data having a variable length exponent part
JPS60140429A (ja) 10進乗算装置
EP0326006B1 (en) Format converting circuit for numeric data
JPH03156637A (ja) 10進演算装置
JPH0789314B2 (ja) 浮動小数点条件符号生成方式
JP2624738B2 (ja) 丸め処理方式
JPS623330A (ja) 加算器
JPH0435777B2 (ja)
JP3139011B2 (ja) 固定小数点プロセッサ
JPH01233520A (ja) 高基数非回復型除算装置
JP3522387B2 (ja) パイプライン演算装置
JPS6129940A (ja) 演算装置
JPH0580978A (ja) 演算処理回路
JPH0635678A (ja) 十進除算回路
JPS62111362A (ja) デ−タ処理装置
JPS59139443A (ja) コ−ド変換方式
JPS6362034A (ja) 演算装置
JPS6054045A (ja) 除算装置
JPH0511978A (ja) 減算回路
JPH01240961A (ja) Dma転送方式
JPH0553768A (ja) 除算器
JPS62171030A (ja) 演算装置
JP2005310051A (ja) デジタル信号処理装置
JPH04263317A (ja) 演算装置