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
Links
Description
【0001】
【産業上の利用分野】この発明は、10進数を2進数に
変換する際に用いられる10進数の4 n 倍演算処理の高
速化を図った10進演算装置に関する。
変換する際に用いられる10進数の4 n 倍演算処理の高
速化を図った10進演算装置に関する。
【0002】
【従来の技術】従来の10進演算回路の構成例を図5に
示し、2進数の10進変換処理を図6にフローチャート
で示す。図5に於いて、符号50は演算データが格納さ
れるレジスタファイル(RU)であり、符号51は同じ
く演算データが格納されるレジスタファイル(RV)で
ある。
示し、2進数の10進変換処理を図6にフローチャート
で示す。図5に於いて、符号50は演算データが格納さ
れるレジスタファイル(RU)であり、符号51は同じ
く演算データが格納されるレジスタファイル(RV)で
ある。
【0003】符号52は+6補正器であり、10進数の
各桁に“6”を加えたデータを32ビットフルアダー5
3に出力する。32ビットフルアダー53は、キャリー
記憶機能を持つ32ビットの全加算器である。
各桁に“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進数に変換する。
フルアダー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に示すフローチャートに従い実
行される。
し、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回繰り返すことにより処理
を行なっていた。
内容を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×(処理ワード数)]のステップを必要とし、
演算に多くの時間を要し、演算処理速度に悪影響を及ぼ
していた。
理に[4×(処理ワード数)]のステップを必要とし、
演算に多くの時間を要し、演算処理速度に悪影響を及ぼ
していた。
【0008】
【発明が解決しようとする課題】上述したように、従来
に於ける10進数の16倍処理には、[4×(処理ワー
ド数)]のステップを必要とし、演算にかなり多くの時
間を要し、演算処理速度に悪影響を及ぼしていた。
に於ける10進数の16倍処理には、[4×(処理ワー
ド数)]のステップを必要とし、演算にかなり多くの時
間を要し、演算処理速度に悪影響を及ぼしていた。
【0009】この発明は上記事情に鑑みてなされたもの
であり、従来の演算回路に4倍デコード回路等の少量の
ハードウェアを付加することで、10進数4 n 倍演算処
理の高速化を図った10進演算装置を提供することを目
的とする。
であり、従来の演算回路に4倍デコード回路等の少量の
ハードウェアを付加することで、10進数4 n 倍演算処
理の高速化を図った10進演算装置を提供することを目
的とする。
【0010】
【課題を解決するための手段】本発明の10進演算装置
は、10進演算データが格納されるレジスタ手段と、上
記レジスタ手段からの上記10進演算データの各桁の値
から、その値を4倍した値の十の位の値を上位桁データ
とし、上記4倍した値の一の位の値に+6した値を下位
桁データとして出力する4倍デコーダと、上記4倍デコ
ーダの上位桁データの桁あふれ値を格納する繰り上げ桁
レジスタと、上記繰り上げ桁レジスタの値を含む上記上
位桁データとその上位桁データと対応する上記下位桁デ
ータを、各桁毎に10進演算を行なうキャリー記憶機能
付き加算手段と、上記加算手段において、キャリーが出
力されなかった桁の演算結果を−6する−6補正手段
と、 上記−6補正手段の出力と上記加算手段でキャリー
が出力された桁のデータを演算結果として前記レジスタ
手段に格納して、上記演算処理を上記繰り上げ桁レジス
タを初期化しながらn回(nは1以上の整数)実行する
手段とを具備することを特徴とする。
は、10進演算データが格納されるレジスタ手段と、上
記レジスタ手段からの上記10進演算データの各桁の値
から、その値を4倍した値の十の位の値を上位桁データ
とし、上記4倍した値の一の位の値に+6した値を下位
桁データとして出力する4倍デコーダと、上記4倍デコ
ーダの上位桁データの桁あふれ値を格納する繰り上げ桁
レジスタと、上記繰り上げ桁レジスタの値を含む上記上
位桁データとその上位桁データと対応する上記下位桁デ
ータを、各桁毎に10進演算を行なうキャリー記憶機能
付き加算手段と、上記加算手段において、キャリーが出
力されなかった桁の演算結果を−6する−6補正手段
と、 上記−6補正手段の出力と上記加算手段でキャリー
が出力された桁のデータを演算結果として前記レジスタ
手段に格納して、上記演算処理を上記繰り上げ桁レジス
タを初期化しながらn回(nは1以上の整数)実行する
手段とを具備することを特徴とする。
【0011】
【作用】本発明によれば、4倍した値の十の位の値を上
位桁データとし、上記4倍した値の一の位の値に+6し
た値を下位桁データとして出力する4倍デコーダを用い
ることにより、10進数の4 n 倍演算処理を高速に行う
ことができる。この演算処理をn(nは1以上の整数)
回実行すれば、4倍、16倍、32倍、64倍、…の演
算を行うことが出来、例えば16倍演算処理では従来の
1/2のステップで演算することができる。従って高速
演算を実現できる。
位桁データとし、上記4倍した値の一の位の値に+6し
た値を下位桁データとして出力する4倍デコーダを用い
ることにより、10進数の4 n 倍演算処理を高速に行う
ことができる。この演算処理をn(nは1以上の整数)
回実行すれば、4倍、16倍、32倍、64倍、…の演
算を行うことが出来、例えば16倍演算処理では従来の
1/2のステップで演算することができる。従って高速
演算を実現できる。
【0012】
【実施例】以下、図面を使用して本発明の実施例につい
て説明する。図1は本発明の実施例を示すブロック図で
ある。
て説明する。図1は本発明の実施例を示すブロック図で
ある。
【0013】図に於いて、符号10は演算データが格納
されるレジスタファイル(RU)であり、符号11は同
じく演算データが格納されるレジスタファイル(RV)
でありる。符号12は+6補正器であり、10進数の各
桁に6を加えたデータを出力する。符号13は32ビッ
ト全加算器(フルアダー)であり、キャリー記憶機能を
持つ。符号14は−6補正器であり、加算後のデータの
−6補正を行なう。
されるレジスタファイル(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倍演算を行う場合の動
作を示すフローチャートである。
り、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
個用いられるものである。
スタ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」した値を下位桁データが出力される。4
倍デコード回路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
補正を行なう。以下、本発明の実施例の動作について説
明する。
あり、この4倍デコーダ30によって、各桁の10進数
を4倍した値を上位桁データとし、その4倍した値の一
の位に「+6」した値を下位桁データが出力される。4
倍デコード回路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進数)を4倍する処理をn回(n
は1以上の整数)繰り返すことにより、4倍、16倍、
32倍、…の演算が行える。例えば、10進数の4 2 =
16倍処理は以下のようにして行なわれる。
進数を最上位桁から1桁ずつ取り出し、10進数に変換
してレジスタファイルRV11に記憶し、レジスタRV
に設定された値(10進数)を4倍する処理をn回(n
は1以上の整数)繰り返すことにより、4倍、16倍、
32倍、…の演算が行える。例えば、10進数の4 2 =
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倍動作を例
題にして、その具体的な動作を説明する。
ジスタ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による減算処理は不要で
あり、その値が出力となる。
数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倍処理を行なう。
ける。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倍処理を行なう。
繰り上げ桁レジスタ19を初期化し、ステップ21にて
4倍されたレジスタファイルRV11内のデータをステ
ップ23で更に4倍処理し、ステップ21,23によ
り、4×4、即ち16倍処理を行なう。
【0022】ここで10進加算の補正処理について簡単
に説明する。2つの10進数を加算する場合、一方のデ
ータの各桁に6を加算(+6補正)し、次に全加算器で
もう一方の10進数と加算する。最後に桁あふれが生じ
なかった桁について6を減算(−6補正)を行ない和を
求める。
に説明する。2つの10進数を加算する場合、一方のデ
ータの各桁に6を加算(+6補正)し、次に全加算器で
もう一方の10進数と加算する。最後に桁あふれが生じ
なかった桁について6を減算(−6補正)を行ない和を
求める。
【0023】本発明に於ける方式は2進数を10進数に
変換する場合に特に有効である。また、乗算に応用すれ
ば部分乗数を加算によって求める方式よりもソフトウェ
アのステップ数を削減でき、プログラマの負担軽減は勿
論のこと、高速演算が期待できる。
変換する場合に特に有効である。また、乗算に応用すれ
ば部分乗数を加算によって求める方式よりもソフトウェ
アのステップ数を削減でき、プログラマの負担軽減は勿
論のこと、高速演算が期待できる。
【0024】
【発明の効果】以上説明したように、本発明は4倍した
値の十の位の値を上位桁データとし、上記4倍した値の
一の位の値に+6した値を下位桁データとして出力する
4倍デコーダを用いることにより、10進数の4 n 倍演
算処理を高速に行うことができる。この演算処理をn
(nは1以上の整数)回実行すれば、4倍、16倍、3
2倍、64倍、…の演算を行うことが出来、例えば16
倍演算処理では従来の1/2のステップで演算すること
ができる。
値の十の位の値を上位桁データとし、上記4倍した値の
一の位の値に+6した値を下位桁データとして出力する
4倍デコーダを用いることにより、10進数の4 n 倍演
算処理を高速に行うことができる。この演算処理を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
補正器。
(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)
- 【請求項1】 10進演算データが格納されるレジスタ
手段と、 上記レジスタ手段からの上記10進演算データの各桁の
値から、その値を4倍した値の十の位の値を上位桁デー
タとし、上記4倍した値の一の位の値に+6した値を下
位桁データとして出力する4倍デコーダと、 上記4倍デコーダの上位桁データの桁あふれ値を格納す
る繰り上げ桁レジスタと、 上記繰り上げ桁レジスタの値を含む上記上位桁データと
その上位桁データと対応する上記下位桁データを、各桁
毎に10進演算を行なうキャリー記憶機能付き加算手段
と、 上記加算手段において、キャリーが出力されなかった桁
の演算結果を−6する−6補正手段と、 上記−6補正手段の出力と上記加算手段でキャリーが出
力された桁のデータを演算結果として前記レジスタ手段
に格納して、上記演算処理を上記繰り上げ桁レジスタを
初期化しながらn回(nは1以上の整数)実行する手段
と を具備することを特徴とする10進演算装置。
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) |
-
1993
- 1993-03-31 JP JP07323293A patent/JP3278488B2/ja not_active Expired - Fee Related
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 |