JP3278488B2 - 10進演算装置 - Google Patents

10進演算装置

Info

Publication number
JP3278488B2
JP3278488B2 JP07323293A JP7323293A JP3278488B2 JP 3278488 B2 JP3278488 B2 JP 3278488B2 JP 07323293 A JP07323293 A JP 07323293A JP 7323293 A JP7323293 A JP 7323293A JP 3278488 B2 JP3278488 B2 JP 3278488B2
Authority
JP
Japan
Prior art keywords
digit
register
value
data
carry
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 - Fee Related
Application number
JP07323293A
Other languages
English (en)
Other versions
JPH06290025A (ja
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP07323293A priority Critical patent/JP3278488B2/ja
Publication of JPH06290025A publication Critical patent/JPH06290025A/ja
Application granted granted Critical
Publication of JP3278488B2 publication Critical patent/JP3278488B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、10進数を2進数に
変換する際に用いられる10進数の 倍演算処理の高
速化を図った10進演算装置に関する。
【0002】
【従来の技術】従来の10進演算回路の構成例を図5に
示し、2進数の10進変換処理を図6にフローチャート
で示す。図5に於いて、符号50は演算データが格納さ
れるレジスタファイル(RU)であり、符号51は同じ
く演算データが格納されるレジスタファイル(RV)で
ある。
【0003】符号52は+6補正器であり、10進数の
各桁に“6”を加えたデータを32ビットフルアダー5
3に出力する。32ビットフルアダー53は、キャリー
記憶機能を持つ32ビットの全加算器である。
【0004】符号54は−6補正器であり、32ビット
フルアダー53から出力されるデータの−6補正を行な
う。符号55は入力レジスタ(RAD)であり、1桁の
2進数を2桁の10進数に変換した値を格納する。符号
56は入力セレクタであり、32ビットフルアダー53
への入力データを選択する。上述した演算回路を用い、
図6に示すフローチャートに従って複数桁の2進数を1
0進数に変換する。
【0005】まず、入力された2進数の1桁を取り出
し、2桁の10進数に変換する(ステップ60)。ここ
で変換された10進数をレジスタ(RV)51に加算す
る(ステップ61)。そして2進数に次の変換桁が存在
すれば、レジスタ(RV)51を16倍して(ステップ
62)、上記ステップ60からの処理を繰り返す。この
うち、16倍処理は図7に示すフローチャートに従い実
行される。
【0006】図中、符号70はレジスタ(RV)51の
内容を2倍するステップであり、ここで[RV+RV=
2RV]の演算が実行される。符号71はレジスタ(R
V)51の内容を2倍するステップであり、ここで[2
RV+2RV=4RV]の演算が実行される。符号72
はレジスタ(RV)の内容を2倍するステップであり、
ここで[4RV+4RV=8RV]の演算が実行され
る。符号73はレジスタ(RV)の内容を2倍するステ
ップであり、[8RV+8RV=16RV]の演算が実
行される。即ち、入力セレクタ56の出力をレジスタ
(RV)51に設定し、10進演算でRV+RVを処理
ワード数分、繰り返す2倍処理を、2倍(ステップ7
0)、4倍(ステップ71)、8倍(ステップ72)、
16倍(ステップ73)と4回繰り返すことにより処理
を行なっていた。
【0007】このように従来では、10進数の16倍処
理に[4×(処理ワード数)]のステップを必要とし、
演算に多くの時間を要し、演算処理速度に悪影響を及ぼ
していた。
【0008】
【発明が解決しようとする課題】上述したように、従来
に於ける10進数の16倍処理には、[4×(処理ワー
ド数)]のステップを必要とし、演算にかなり多くの時
間を要し、演算処理速度に悪影響を及ぼしていた。
【0009】この発明は上記事情に鑑みてなされたもの
であり、従来の演算回路に4倍デコード回路等の少量の
ハードウェアを付加することで、10進数 倍演算
理の高速化を図った10進演算装置を提供することを目
的とする。
【0010】
【課題を解決するための手段】本発明の10進演算装置
は、10進演算データが格納されるレジスタ手段と、上
記レジスタ手段からの上記10進演算データの各桁の値
から、その値を4倍した値の十の位の値を上位桁データ
とし、上記4倍した値の一の位の値に+6した値を下位
桁データとして出力する4倍デコーダと、上記4倍デコ
ーダの上位桁データの桁あふれ値を格納する繰り上げ桁
レジスタと、上記繰り上げ桁レジスタの値を含む上記上
位桁データとその上位桁データと対応する上記下位桁デ
ータを、各桁毎に10進演算を行なうキャリー記憶機能
付き加算手段と、上記加算手段において、キャリーが出
力されなかった桁の演算結果を−6する−6補正手段
と、 上記−6補正手段の出力と上記加算手段でキャリー
が出力された桁のデータを演算結果として前記レジスタ
手段に格納して、上記演算処理を上記繰り上げ桁レジス
タを初期化しながらn回(nは1以上の整数)実行する
手段とを具備することを特徴とする。
【0011】
【作用】本発明によれば、4倍した値の十の位の値を上
位桁データとし、上記4倍した値の一の位の値に+6し
た値を下位桁データとして出力する4倍デコーダを用い
ることにより、10進数の4 倍演算処理を高速に行う
ことができる。この演算処理をn(nは1以上の整数)
回実行すれば、4倍、16倍、32倍、64倍、…の演
算を行うことが出来、例えば16倍演算処理では従来の
1/2のステップで演算することができる。従って高速
演算を実現できる。
【0012】
【実施例】以下、図面を使用して本発明の実施例につい
て説明する。図1は本発明の実施例を示すブロック図で
ある。
【0013】図に於いて、符号10は演算データが格納
されるレジスタファイル(RU)であり、符号11は同
じく演算データが格納されるレジスタファイル(RV)
でありる。符号12は+6補正器であり、10進数の各
桁に6を加えたデータを出力する。符号13は32ビッ
ト全加算器(フルアダー)であり、キャリー記憶機能を
持つ。符号14は−6補正器であり、加算後のデータの
−6補正を行なう。
【0014】符号15は入力レジスタ(RAD)であ
り、1桁の2進数を2桁の10進数に変換した値が格納
される。符号16は入力セレクタAであり、32ビット
フルアダー13への入力として、RU、RV、RAD、
そして後述する4倍デコーダ17の上位桁と繰り上げ桁
レジスタ19に設定された値を連結したデータ、そして
“0”のいずれか一方を選択出力する。符号17は4倍
デコーダであり、10進数を入力とし、4倍したときの
上位桁と“下位桁+6”の2つのデータを出力する。符
号18は入力セレクタBであり、32ビットフルアダー
13の他方の入力端子に、+6補正器12の出力、4倍
デコーダ17の“下位桁+6”のいずれか一方を選択出
力する。符号19は繰り上げ桁レジスタであり、4倍デ
コーダ17の上位側出力のLSB側4ビットが格納され
る。なお、レジスタファイルRU10、+6補正器12
などは通常の10進演算処理において使用されるもので
あるが、本発明においてはこれを使用するものでなは
い。図2は本発明を適用して16倍演算を行う場合の
作を示すフローチャートである。
【0015】図2において、符号20は繰り上げ桁レジ
スタ19を初期化するステップであり、ここで4倍処理
を行う前に繰り上げ桁レジスタ19を初期化する。符号
21はレジスタRV11を4倍処理するステップであ
り、、ここでRV×4=4RVの演算を実行する。符号
22は繰り上げ桁レジスタ19を初期化するステップで
あり、ここで4倍処理を行なう前に繰り上桁レジスタ1
9を初期化する。符号23はレジスタRV11を4倍す
るステップであり、ここで4RV×4=16RVの演算
を実行する。図3は図1の4倍デコーダ17と32ビッ
トフルアダー13の1バイト分の構成を示したブロック
図であり、32ビット演算の場合には、図3の回路が4
個用いられるものである。
【0016】図3に於いて、符号30は4倍デコーダで
あり、この4倍デコーダ30によって、各桁の10進数
を4倍した値を上位桁データとし、その4倍した値の一
の位に「+6」した値を下位桁データが出力される。
倍デコード回路30の真理値表を図4に示す。図3に於
いて、符号31は1バイトのMSB側4倍デコーダ出力
であり、上位桁の10進数を4倍した、“十の位”の値
と“一の位+6”の値が出力される。符号32は1バイ
トのLSB側4倍デコーダ出力であり、下位桁の10進
を4倍した、“十の位”の値と“一の位+6”の値が
出力される。符号33は加算器(8ビツトフルアダー)
の入力であり、十(10)の位と繰り上げ桁レジスタ1
9を連結したものである。符号34は加算器35の入力
であり、4倍した“一(1)の位+6”を連結したもの
である。符号35は8ビットフルアダーであり、キャリ
ーを記憶する機能を持つ、8ビット全加算器である。符
号36は−6補正器であり、加算器35のデータの−6
補正を行なう。以下、本発明の実施例の動作について説
明する。
【0017】2進数を10進数に変換する処理では、2
進数を最上位桁から1桁ずつ取り出し、10進数に変換
してレジスタファイルRV11に記憶し、レジスタRV
に設定された値(10進数)を倍する処理をn回(n
は1以上の整数)繰り返すことにより、4倍、16倍、
32倍、…の演算が行える。例えば、10進数の
16倍処理は以下のようにして行なわれる。
【0018】2進数を10進数に変換し、これを入力レ
ジスタRAD15を介して入力し、入力セレクタA16
の出力としてレジスタRAD15を選択し、32ビット
フルアダ13の一入力端子に供給する。そしてレジスタ
ファイルRV11の内容「0」と加算してレジスタファ
イルRV11に記憶した後、繰り上がり桁レジスタ19
の初期化処理(0クリア)を行ない、次に、図2のステ
ップ21に示す4倍処理を実行する。ここで、図3に示
す2桁の10進数4倍回路を例示して4倍処理の動作を
説明する。ここでは、説明を簡単にするために、図3に
1バイトデータ「56」を入力した場合の4倍動作を例
題にして、その具体的な動作を説明する。
【0019】2つの4倍デコーダ30に、2桁の10進
a=5(十の位)、b=6(一の位)を入力すると、
図4の真理値表に示すとおり、10進数入力5に対して
2と6が出力され、10進数入力6に対して2とAが出
力されることから、この4倍デコーダ30から4a0=
2,4b0=2,4a1=6,4b1=Aが得られる。
この値は、5×4=20と、6×4=24から、それぞ
れの十の位(4a0=2,4b0=2)と、一の位+6
(4a1=0+6=6,4b1=4+6=A)となるこ
とから正しいと理解される。この出力を“十の位”
「2」「2」「0」(最下位の値は繰り上げ桁レジスタ
19の値であり、この場合は0)と“一の位+6
「6」「6」「A」(最上位の6は桁合わせ桁の0に+
6が加算された値)をそれぞれ連結して加算器35に入
力する。加算器35では同じ桁同士の加算が行われ、
「2」+「6」=「8」が、「2」+「6」=「8」
が、「0」+「A」=「A」(演算結果「8」「8」
「A」)が出力される。但し、1バイト以上の演算の場
合、最上行桁は次の演算の繰り上がり桁となるため、
り上げ桁レジスタ19のライトデータとなり、加算動作
と同時に繰り上げ桁レジスタ19に書き込まれる。十の
位の最下位桁は、上記のように繰り上げ桁レジスタ19
に格納された直前の演算から繰り上がった値が入る。ま
た、加算器35にはキャリー記憶機能が付いているた
め、加算器35のキャリーもこれを通して伝搬される。
上記の例題においては、各桁の演算処理ではいずれもキ
ャリーが出ないため、演算結果「8」「8」「A」の各
値を−6補正器36にて−6補正(「8」−「6」=
2、「8」−「6」=2、「A」−「6」=4)するこ
とにより、10進数「56」の4倍演算結果として「2
24」が得られる。なお、各桁の演算処理でキャリーが
出力した場合は−6補正器36による減算処理は不要で
あり、その値が出力となる。
【0020】図1に示す演算回路に戻って動作説明を続
ける。4倍処理は、レジスタRV11の4倍デコーダ1
7で4倍値の上位桁、4倍値の“下位桁+6”のデータ
が出力され、その直前のワードの繰り上がり桁(上位桁
の最上位桁)と併せて各桁毎に10進加算する。このと
き、繰り上がり桁は繰り上がり桁レジスタ19に格納さ
れていて、32ビットフルアダー13への入力セレクタ
A16内で、上位桁の2〜8桁の下に連結され、32ビ
ットフルアダー13に入力される。このとき、上位桁の
1桁目は次のワードの4倍処理の繰り上がり桁として繰
り上がり桁レジスタ19に格納される。また、下位桁は
入力セレクタB18を通って32ビットフルアダー13
の他方の入力端子に供給される。また32ビットフルア
ダー13内のキャリー記憶機能によりキャリーの伝搬を
行なう。32ビットフルアダー13の出力は、各桁の演
算処理でキャリーが出力されなければ−6補正器14で
補正され10進数の4倍処理を行なう。
【0021】次に、図2ステップ22で示すように再び
繰り上げ桁レジスタ19を初期化し、ステップ21にて
4倍されたレジスタファイルRV11内のデータをステ
ップ23で更に4倍処理し、ステップ21,23によ
り、4×4、即ち16倍処理を行なう。
【0022】ここで10進加算の補正処理について簡単
に説明する。2つの10進数を加算する場合、一方のデ
ータの各桁に6を加算(+6補正)し、次に全加算器で
もう一方の10進数と加算する。最後に桁あふれが生じ
なかった桁について6を減算(−6補正)を行ない和を
求める。
【0023】本発明に於ける方式は2進数を10進数に
変換する場合に特に有効である。また、乗算に応用すれ
ば部分乗数を加算によって求める方式よりもソフトウェ
アのステップ数を削減でき、プログラマの負担軽減は勿
論のこと、高速演算が期待できる。
【0024】
【発明の効果】以上説明したように、本発明は4倍した
値の十の位の値を上位桁データとし、上記4倍した値の
一の位の値に+6した値を下位桁データとして出力する
4倍デコーダを用いることにより、10進数の4 倍演
算処理を高速に行うことができる。この演算処理をn
(nは1以上の整数)回実行すれば、4倍、16倍、3
2倍、64倍、…の演算を行うことが出来、例えば16
倍演算処理では従来の1/2のステップで演算すること
ができる。
【図面の簡単な説明】
【図1】本発明の実施例に於けるハードウェア構成を示
すブロック図。
【図2】上記実施例の動作を説明するためのフローチャ
ート。
【図3】上記実施例に於ける2桁の10進数4倍回路の
構成を示すブロック図。
【図4】上記実施例に於ける4倍デコード回路の真理値
表を示す図。
【図5】従来の10進演算回路の構成例を示すブロック
図。
【図6】従来の2進数の10進変換処理を示すフローチ
ャート。
【図7】従来の10進16倍処理を示すフローチャー
ト。
【符号の説明】
10…レジスタファイルRU、11…レジスタファイル
(RV)、12…+6補正器、13…32ビットフルア
ダー、14…−6補正器、15…入力レジスタ(RA
D)、16…入力セレクタA、17…4倍デコーダ、1
8…入力セレクタB、19…繰上げ桁レジスタ、30…
4倍デコーダ、35…8ビットフルアダー、36…−6
補正器。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 10進演算データが格納されるレジスタ
    手段と、 上記レジスタ手段からの上記10進演算データの各桁の
    値から、その値を4倍した値の十の位の値を上位桁デー
    タとし、上記4倍した値の一の位の値に+6した値を下
    位桁データとして出力する4倍デコーダと、 上記4倍デコーダの上位桁データの桁あふれ値を格納す
    る繰り上げ桁レジスタと、 上記繰り上げ桁レジスタの値を含む上記上位桁データと
    その上位桁データと対応する上記下位桁データを、各桁
    毎に10進演算を行なうキャリー記憶機能付き加算手段
    と、 上記加算手段において、キャリーが出力されなかった桁
    の演算結果を−6する−6補正手段と、 上記−6補正手段の出力と上記加算手段でキャリーが出
    力された桁のデータを演算結果として前記レジスタ手段
    に格納して、上記演算処理を上記繰り上げ桁レジスタを
    初期化しながらn回(nは1以上の整数)実行する手段
    を具備することを特徴とする10進演算装置。
JP07323293A 1993-03-31 1993-03-31 10進演算装置 Expired - Fee Related JP3278488B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07323293A JP3278488B2 (ja) 1993-03-31 1993-03-31 10進演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07323293A JP3278488B2 (ja) 1993-03-31 1993-03-31 10進演算装置

Publications (2)

Publication Number Publication Date
JPH06290025A JPH06290025A (ja) 1994-10-18
JP3278488B2 true JP3278488B2 (ja) 2002-04-30

Family

ID=13512238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07323293A Expired - Fee Related JP3278488B2 (ja) 1993-03-31 1993-03-31 10進演算装置

Country Status (1)

Country Link
JP (1) JP3278488B2 (ja)

Also Published As

Publication number Publication date
JPH06290025A (ja) 1994-10-18

Similar Documents

Publication Publication Date Title
JP3278488B2 (ja) 10進演算装置
JPH01245607A (ja) 合成型良限インパルス応答デジタルフィルタ
US5638314A (en) Dividing apparatus for use in a data processing apparatus
JPH0566921A (ja) データシフト回路
US5945657A (en) Constant divider
JP2991788B2 (ja) 復号器
JP3252029B2 (ja) 符号化装置及び符号化方法
JP3206863B2 (ja) コード変換方法及びコード変換器
JP3415569B2 (ja) 10進データ除算方法およびそのプログラム記録媒体
JPS623330A (ja) 加算器
JP2524035Y2 (ja) 畳み込み演算回路用乗算器
JPH04232529A (ja) 多重ディジット10進数を2進数に変換する装置および統一された比復号器
JPH05224888A (ja) 小数点位置可変型データの乗算回路
SU1481897A1 (ru) Преобразователь двоичных чисел в двоично-дес тичные
JPS62134724A (ja) テ−ブルルツクアツプ乗算方式
JPS59139445A (ja) 3x3マトリクス式±5進化10進数の加算回路
JP2928027B2 (ja) 十進二進変換回路
SU894699A1 (ru) Преобразователь двоичного кода в двоично-дес тичный
JPH01157621A (ja) 2進数から10進数bcdコードへの変換装置
JPH0242251B2 (ja)
JPH0377539B2 (ja)
JPH07312557A (ja) 可変長データ連結回路
JPH04263317A (ja) 演算装置
JPS59177646A (ja) 10進2進変換方式
JPS59174944A (ja) 乗算装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees