JPH0690176A - 2進10進変換回路 - Google Patents
2進10進変換回路Info
- Publication number
- JPH0690176A JPH0690176A JP23948292A JP23948292A JPH0690176A JP H0690176 A JPH0690176 A JP H0690176A JP 23948292 A JP23948292 A JP 23948292A JP 23948292 A JP23948292 A JP 23948292A JP H0690176 A JPH0690176 A JP H0690176A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- decimal
- data
- output
- conversion
- 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.)
- Withdrawn
Links
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】
【目的】入力となる2進データ中の上位ビットに符号ビ
ットと同じビットが連続して存在する場合、そのビット
を10進数の零に変換する無駄な動作を省く。 【構成】2進データを入力して10進数への変換を行う
2進10進変換回路において、変換の中間結果を保持す
る中間レジスタ4と、被乗数データを選択する被乗数選
択回路1と、入力となる2進データ000の上位桁から
連続する符号ビットの桁数を検出する乗数制御回路8
と、乗数制御回路8の出力する桁数800及び2進デー
タ00の符号とにより乗数を発生する乗数発生回路2
と、被乗数選択回路1から出力される被乗数100と乗
数発生回路2から出力される乗数200との掛け算を行
い、その出力を中間レジスタ4に格納する乗算回路3
と、中間レジスタ4の上位ビット400により索引され
る変換テーブル5と、変換テーブル5の出力500を格
納する10進データレジスタ6と、10進データレジス
タ6の出力600をシフトする10進数シフト回路7
と、10進データへの変換回数を制御し、変換処理の終
了を検出する変換終了指示回路9を有する。
ットと同じビットが連続して存在する場合、そのビット
を10進数の零に変換する無駄な動作を省く。 【構成】2進データを入力して10進数への変換を行う
2進10進変換回路において、変換の中間結果を保持す
る中間レジスタ4と、被乗数データを選択する被乗数選
択回路1と、入力となる2進データ000の上位桁から
連続する符号ビットの桁数を検出する乗数制御回路8
と、乗数制御回路8の出力する桁数800及び2進デー
タ00の符号とにより乗数を発生する乗数発生回路2
と、被乗数選択回路1から出力される被乗数100と乗
数発生回路2から出力される乗数200との掛け算を行
い、その出力を中間レジスタ4に格納する乗算回路3
と、中間レジスタ4の上位ビット400により索引され
る変換テーブル5と、変換テーブル5の出力500を格
納する10進データレジスタ6と、10進データレジス
タ6の出力600をシフトする10進数シフト回路7
と、10進データへの変換回数を制御し、変換処理の終
了を検出する変換終了指示回路9を有する。
Description
【0001】
【産業上の利用分野】本発明は、情報処理装置における
2進10進変換回路に関する。
2進10進変換回路に関する。
【0002】
【従来の技術】従来の2進10進変換回路は、図3に示
すように、変換の中間結果を保持する中間レジスタ4
と、変換の対象となる2進データと中間レジスタ4の下
位データのいずれかを選択し、被乗数データを出力する
被乗数選択回路1と、乗数を出力する乗数発生回路2
と、被乗数選択回路1から出力される被乗数と乗数発生
回路2から出力される乗数との掛け算を行い、その結果
を中間レジスタ4へ送る乗算回路3と、中間レジスタ4
の上位ビットを入力し、10進データを索引する変換テ
ーブル5と、変換テーブル5の出力を格納する10進デ
ータレジスタ6と、10進データレジスタ6に10進変
換データを格納するときに、10進データレジスタ6の
出力をシフトし、その出力を再び10進データレジスタ
6の上位に格納する10進数シフト回路7を有してい
る。
すように、変換の中間結果を保持する中間レジスタ4
と、変換の対象となる2進データと中間レジスタ4の下
位データのいずれかを選択し、被乗数データを出力する
被乗数選択回路1と、乗数を出力する乗数発生回路2
と、被乗数選択回路1から出力される被乗数と乗数発生
回路2から出力される乗数との掛け算を行い、その結果
を中間レジスタ4へ送る乗算回路3と、中間レジスタ4
の上位ビットを入力し、10進データを索引する変換テ
ーブル5と、変換テーブル5の出力を格納する10進デ
ータレジスタ6と、10進データレジスタ6に10進変
換データを格納するときに、10進データレジスタ6の
出力をシフトし、その出力を再び10進データレジスタ
6の上位に格納する10進数シフト回路7を有してい
る。
【0003】被乗数選択回路1は、変換処理の最初で
は、変換の対象となる2進データ000を選択し、また
変換処理の途中では中間レジスタ4の下位データを選択
する。乗数発生回路2は、変換処理の最初では変換の対
象なる2進データ000の符号によりある定数を、また
変換処理の途中では別の定数を出力する。
は、変換の対象となる2進データ000を選択し、また
変換処理の途中では中間レジスタ4の下位データを選択
する。乗数発生回路2は、変換処理の最初では変換の対
象なる2進データ000の符号によりある定数を、また
変換処理の途中では別の定数を出力する。
【0004】次に、この従来の2進10進変換回路によ
る10進数への変換処理の動作について、具体例を用い
て説明する。データの条件を次のように定める。
る10進数への変換処理の動作について、具体例を用い
て説明する。データの条件を次のように定める。
【0005】 変換される2進データのビット数・・・・・16ビット 1回の変換処理で変換される10進桁数・・10進2桁 まず第1のクロックサイクルでは、被乗数選択回路1は
2進データ000を出力し、乗数発生回路2では変換処
理の最初の乗算の乗数となる定数(2進データ000が
正の時は10-4、負の時は−10-4を2進数表現したデ
ータ)との掛け算を行い、その結果を中間レジスタ4に
格納する。また、10進データレジスタ6はオールクリ
アされる。
2進データ000を出力し、乗数発生回路2では変換処
理の最初の乗算の乗数となる定数(2進データ000が
正の時は10-4、負の時は−10-4を2進数表現したデ
ータ)との掛け算を行い、その結果を中間レジスタ4に
格納する。また、10進データレジスタ6はオールクリ
アされる。
【0006】第2のクロックサイクルでは、中間レジス
タ4の上位8ビットで変換テーブル5を索引し、10進
データ2桁を得て10進データレジスタ6に格納する。
また、被乗数選択回路1は、中間レジスタ4に格納され
たデータのうち、上位8ビットを除く下位ビットを選択
して出力し、乗数発生回路2は、変換処理の途中の乗算
の乗数となる定数(102 を2進表現したデータ)を出
力する。乗算回路3は、被乗数選択回路1の出力と乗数
発生回路2の出力との掛け算を行い、その結果を中間レ
ジスタ4に格納する。
タ4の上位8ビットで変換テーブル5を索引し、10進
データ2桁を得て10進データレジスタ6に格納する。
また、被乗数選択回路1は、中間レジスタ4に格納され
たデータのうち、上位8ビットを除く下位ビットを選択
して出力し、乗数発生回路2は、変換処理の途中の乗算
の乗数となる定数(102 を2進表現したデータ)を出
力する。乗算回路3は、被乗数選択回路1の出力と乗数
発生回路2の出力との掛け算を行い、その結果を中間レ
ジスタ4に格納する。
【0007】第3のクロックサイクルでは、第2のクロ
ックサイクルと同様に、中間レジスタ4の上位8ビット
で変換テーブル5を索引し、10進データ2桁を得て1
0進データレジスタ6に格納する。このとき、第2のク
ロックサイクルで変換された10進データ2桁は、10
進数シフト回路7により左2桁シフトされ10進データ
レジスタ6に格納される。つまり、10進データレジス
タ6には変換された4桁の10進データが存在する。ま
た、乗算回路3では、第2のクロックサイクルと同様の
乗算を行い、その結果を中間レジスタ4に格納する。
ックサイクルと同様に、中間レジスタ4の上位8ビット
で変換テーブル5を索引し、10進データ2桁を得て1
0進データレジスタ6に格納する。このとき、第2のク
ロックサイクルで変換された10進データ2桁は、10
進数シフト回路7により左2桁シフトされ10進データ
レジスタ6に格納される。つまり、10進データレジス
タ6には変換された4桁の10進データが存在する。ま
た、乗算回路3では、第2のクロックサイクルと同様の
乗算を行い、その結果を中間レジスタ4に格納する。
【0008】以下、第3のクロックサイクルと同様な1
0進変換処理が実行され、最終的に5桁の10進変換さ
れたデータが10進データレジスタ6に格納される。
0進変換処理が実行され、最終的に5桁の10進変換さ
れたデータが10進データレジスタ6に格納される。
【0009】以下に、入力される2進データ000が7
FFF16であるとして、動作を具体的に説明する。
FFF16であるとして、動作を具体的に説明する。
【0010】変換処理の最初の乗算の乗数となる定数は
0.00068DB8C16、変換処理の途中の乗算は6
416である。
0.00068DB8C16、変換処理の途中の乗算は6
416である。
【0011】第1クロックサイクルにおいては、乗算7
FFF16*0.00068DB8C16によって、中間レ
ジスタ4には、03.46D5D247416が入力す
る。10進データレジスタ6の内容は000000であ
る。
FFF16*0.00068DB8C16によって、中間レ
ジスタ4には、03.46D5D247416が入力す
る。10進データレジスタ6の内容は000000であ
る。
【0012】第2クロックサイクルにおいては、中間レ
ジスタ4の上位ビットは0316、変換テーブル5から出
力される10進データは0310である。従って、10進
データレジスタ6の内容も000003である。
ジスタ4の上位ビットは0316、変換テーブル5から出
力される10進データは0310である。従って、10進
データレジスタ6の内容も000003である。
【0013】乗算回路3における乗算0.46D5D2
47416*64によって、中間レジスタ4には、1B.
AB8623D5016が入力する。
47416*64によって、中間レジスタ4には、1B.
AB8623D5016が入力する。
【0014】第3クロックサイクルにおいては、中間レ
ジスタ4の上位4ビットは、1B16変換テーブル5から
出力される10進データは2710である。従って、10
進データレジスタ6の内容は、000327である。
ジスタ4の上位4ビットは、1B16変換テーブル5から
出力される10進データは2710である。従って、10
進データレジスタ6の内容は、000327である。
【0015】乗算回路3における乗算0.AB8623
D5016*6416によって、中間レジスタ4には、4
3.0065FF34016が入力する。
D5016*6416によって、中間レジスタ4には、4
3.0065FF34016が入力する。
【0016】第4クロックサイクルにおいては、中間レ
ジスタ4の上位4ビットは4316、変換テーブル5から
出力される10進データは6710である。従って、10
進データレジスタ6の内容は032767となる。
ジスタ4の上位4ビットは4316、変換テーブル5から
出力される10進データは6710である。従って、10
進データレジスタ6の内容は032767となる。
【0017】
【発明が解決しようとする課題】上述した従来の2進1
0進変換回路では、入力となる2進データ中の上位ビッ
トに符号ビットと同じビットが連続して存在しても、そ
のビットを通常の10進変換処理で10進数の零に変換
していたため変換処理に無駄があるので、10進変換処
理が効率的に行われない。
0進変換回路では、入力となる2進データ中の上位ビッ
トに符号ビットと同じビットが連続して存在しても、そ
のビットを通常の10進変換処理で10進数の零に変換
していたため変換処理に無駄があるので、10進変換処
理が効率的に行われない。
【0018】また、変換後の10進データ中の途中の桁
に零の桁が存在する様な2進データに対しても、通常の
10進変換処理で10進数の零に変換していたため変換
処理に無駄があるので、10進変換処理が効率的に行わ
れないという欠点がある。
に零の桁が存在する様な2進データに対しても、通常の
10進変換処理で10進数の零に変換していたため変換
処理に無駄があるので、10進変換処理が効率的に行わ
れないという欠点がある。
【0019】
【課題を解決するための手段】第1の本発明の2進10
進変換回路は、変換の中間結果を保持する中間レジスタ
と、被乗数データを選択する被乗数選択回路と、入力と
なる2進データの上位桁から連続する符号ビットの桁数
を検出する乗数制御回路と、乗数制御回路の出力する桁
数及び2進データの符号とにより乗数を発生する乗数発
生回路と、被乗数選択回路から出力される被乗数と乗数
発生回路から出力される乗数との掛け算を行い、その出
力を中間レジスタに格納する乗算回路と、中間レジスタ
の上位ビットにより索引される変換テーブルと、変換テ
ーブルの出力を格納する10進データレジスタと、10
進データレジスタの出力をシフトする10進数シフト回
路と、10進データへの変換回数を制御し、変換処理の
終了を検出する変換終了指示回路を有する。
進変換回路は、変換の中間結果を保持する中間レジスタ
と、被乗数データを選択する被乗数選択回路と、入力と
なる2進データの上位桁から連続する符号ビットの桁数
を検出する乗数制御回路と、乗数制御回路の出力する桁
数及び2進データの符号とにより乗数を発生する乗数発
生回路と、被乗数選択回路から出力される被乗数と乗数
発生回路から出力される乗数との掛け算を行い、その出
力を中間レジスタに格納する乗算回路と、中間レジスタ
の上位ビットにより索引される変換テーブルと、変換テ
ーブルの出力を格納する10進データレジスタと、10
進データレジスタの出力をシフトする10進数シフト回
路と、10進データへの変換回数を制御し、変換処理の
終了を検出する変換終了指示回路を有する。
【0020】第2の本発明の2進10進変換回路は、変
換の中間結果を保持する中間レジスタと、被乗数データ
を選択する被乗数選択回路と、被乗数選択回路から出力
されるデータに対し乗算を行い、その出力を中間レジス
タに格納する乗算回路と、中間レジスタの上位ビットに
より索引される変換テーブルと、変換テーブルの出力を
格納する10進データレジスタと、10進データレジス
タの出力をシフトする10進数シフト回路と、途中の変
換処理のときは中間レジスタに格納されるデータの下位
データの上位桁から連続して存在する零の桁数を検出
し、最後の変換処理のときにはその桁数を零桁として出
力する乗数制御回路と、乗数制御回路の出力する桁数及
び2進データの符号により乗数を発生する乗数発生回路
と、10進データへの変換回数を制御し変換処理の終了
を検出し、さらに乗数制御回路に対し変換処理の最後の
乗算であることを通知する変換終了指示回路と、乗数制
御回路の出力する連続して存在する零の桁数の信号を格
納し、10進数シフト回路のシフト量を制御するシフト
量制御フリップフロップを有する。
換の中間結果を保持する中間レジスタと、被乗数データ
を選択する被乗数選択回路と、被乗数選択回路から出力
されるデータに対し乗算を行い、その出力を中間レジス
タに格納する乗算回路と、中間レジスタの上位ビットに
より索引される変換テーブルと、変換テーブルの出力を
格納する10進データレジスタと、10進データレジス
タの出力をシフトする10進数シフト回路と、途中の変
換処理のときは中間レジスタに格納されるデータの下位
データの上位桁から連続して存在する零の桁数を検出
し、最後の変換処理のときにはその桁数を零桁として出
力する乗数制御回路と、乗数制御回路の出力する桁数及
び2進データの符号により乗数を発生する乗数発生回路
と、10進データへの変換回数を制御し変換処理の終了
を検出し、さらに乗数制御回路に対し変換処理の最後の
乗算であることを通知する変換終了指示回路と、乗数制
御回路の出力する連続して存在する零の桁数の信号を格
納し、10進数シフト回路のシフト量を制御するシフト
量制御フリップフロップを有する。
【0021】
【実施例】次に本発明について、図面を参照して説明す
る。
る。
【0022】図1は、第1の本発明の一実施例について
のブロック図である。
のブロック図である。
【0023】同図において本2進10進変換回路は、変
換の中間結果を保持する中間レジスタ4と、入力となる
16ビットの2進データ000と中間レジスタ4の下位
ビット401のいずれかを選択し、被乗数100として
出力する被乗数選択回路1と、2進データ000の上位
桁から連続する符号ビットの桁数を検出する乗数制御回
路8と、乗数制御回路8が出力する信号800及び2進
データ000の符号を入力し、乗数200を発生する乗
数発生回路2と、被乗数選択回路1から出力される被乗
数100と乗数発生回路2から出力される乗数200と
の掛け算を行い、その出力300を中間レジスタ4に格
納する乗算回路3と、中間レジスタ4の上位ビット40
0により索引され、2桁の10進データ500を出力す
る変換テーブル5と、10進データ500を格納する1
0進データレジスタ6と、10進データレジスタ6に1
0進データ500を格納するときに、10進データレジ
スタ6の出力600をシフトしたもの(出力700)を
再び10進データレジスタ6の上位に格納する10進数
シフト回路7と、乗数制御回路8が出力する信号800
により10進データへの変換回数を制御し、変換処理の
終了を検出する変換終了指示回路9を有している。
換の中間結果を保持する中間レジスタ4と、入力となる
16ビットの2進データ000と中間レジスタ4の下位
ビット401のいずれかを選択し、被乗数100として
出力する被乗数選択回路1と、2進データ000の上位
桁から連続する符号ビットの桁数を検出する乗数制御回
路8と、乗数制御回路8が出力する信号800及び2進
データ000の符号を入力し、乗数200を発生する乗
数発生回路2と、被乗数選択回路1から出力される被乗
数100と乗数発生回路2から出力される乗数200と
の掛け算を行い、その出力300を中間レジスタ4に格
納する乗算回路3と、中間レジスタ4の上位ビット40
0により索引され、2桁の10進データ500を出力す
る変換テーブル5と、10進データ500を格納する1
0進データレジスタ6と、10進データレジスタ6に1
0進データ500を格納するときに、10進データレジ
スタ6の出力600をシフトしたもの(出力700)を
再び10進データレジスタ6の上位に格納する10進数
シフト回路7と、乗数制御回路8が出力する信号800
により10進データへの変換回数を制御し、変換処理の
終了を検出する変換終了指示回路9を有している。
【0024】つぎに、各回路の動作について説明する。
【0025】被乗数選択回路1は、変換処理の当初で
は、変換の対象となる2進データ000を選択し、また
変換処理の途中及び最後では中間レジスタ4の下位ビッ
ト401を選択する。乗数制御回路8は、被乗数選択回
路1が2進データ000を選択したとき、その2進デー
タ000の上位ビットから連続する符号ビットのビット
数を検出し、連続する符号ビットのビット数が3ビット
以上なら‘1’を、2ビット以下なら‘0’を出力し、
被乗数選択回路1が中間レジスタ4の下位ビット401
を選択したときは‘0’を出力する。
は、変換の対象となる2進データ000を選択し、また
変換処理の途中及び最後では中間レジスタ4の下位ビッ
ト401を選択する。乗数制御回路8は、被乗数選択回
路1が2進データ000を選択したとき、その2進デー
タ000の上位ビットから連続する符号ビットのビット
数を検出し、連続する符号ビットのビット数が3ビット
以上なら‘1’を、2ビット以下なら‘0’を出力し、
被乗数選択回路1が中間レジスタ4の下位ビット401
を選択したときは‘0’を出力する。
【0026】乗数発生回路2は、被乗数選択回路1が2
進データ000を選択したとき、2進データ000の符
号ビットが正のとき乗数制御回路8の出力800が
‘0’なら定数A(10-4を2進数表現したデータ)
を、‘1’なら定数B(10-2を2進数表現したデー
タ)を出力し、符号ビットが負のときはそのデータの2
の補数を出力し、また被乗数選択回路1が中間レジスタ
4の下位データ401を選択したときは定数C(102
を2進数表現したデーア)を出力する。変換テーブル5
は、中間レジスタ4の上位ビット400に索引され、1
0進データ500を出力する。
進データ000を選択したとき、2進データ000の符
号ビットが正のとき乗数制御回路8の出力800が
‘0’なら定数A(10-4を2進数表現したデータ)
を、‘1’なら定数B(10-2を2進数表現したデー
タ)を出力し、符号ビットが負のときはそのデータの2
の補数を出力し、また被乗数選択回路1が中間レジスタ
4の下位データ401を選択したときは定数C(102
を2進数表現したデーア)を出力する。変換テーブル5
は、中間レジスタ4の上位ビット400に索引され、1
0進データ500を出力する。
【0027】10進データレジスタ6は、変換テーブル
5から出力される10進データ500を下位に、10進
数シフト回路7により10進データレジスタ6の出力6
00を2桁左シフトした出力700を上位に格納する。
変換終了指示回路9は、変換回数を管理しており、変換
処理の最初に変換回数カウンターに変換回数をセット
し、10進データレジスタ6が変換テーブル5から出力
される10進データ500を格納する毎に1を減算し、
零になると変換処理の終了を出力信号900により指示
する。本回路が上位ビットに符号ビットが連続する2進
データを入力した場合、変換回数の補正が必要である
が、変換終了指示回路9は、その補正必要の有無を乗数
制御回路8の出力800により検知し、次のクロックサ
イクルで変換回数を補正を行う。
5から出力される10進データ500を下位に、10進
数シフト回路7により10進データレジスタ6の出力6
00を2桁左シフトした出力700を上位に格納する。
変換終了指示回路9は、変換回数を管理しており、変換
処理の最初に変換回数カウンターに変換回数をセット
し、10進データレジスタ6が変換テーブル5から出力
される10進データ500を格納する毎に1を減算し、
零になると変換処理の終了を出力信号900により指示
する。本回路が上位ビットに符号ビットが連続する2進
データを入力した場合、変換回数の補正が必要である
が、変換終了指示回路9は、その補正必要の有無を乗数
制御回路8の出力800により検知し、次のクロックサ
イクルで変換回数を補正を行う。
【0028】つぎに、本発明の2進10進変換回路のよ
る10進数への変換処理の動作について説明する。
る10進数への変換処理の動作について説明する。
【0029】第1のクロックサイクルでは、乗数制御回
路8では入力となる2進データ000の上位ビットに連
続する符号ビットが3ビット以上なら‘1’を、2ビッ
ト以下なら‘0’を出力し、乗数発生回路2ではその乗
数制御回路8の出力800と2進データ000の符号ビ
ットにより定数を選択し出力する。一方、被乗数選択回
路1では入力となる2進データ000を出力する。ま
た、乗算回路3では被乗数選択回路1の出力する被乗数
100と乗数発生回路2の出力する乗数200の掛け算
を実行し、その結果が中間レジスタ4の格納される。さ
らに、10進データレジスタ6はオールクリアされ、変
換終了指示回路9の変換回数カウンターに変換回数がセ
ットされる。
路8では入力となる2進データ000の上位ビットに連
続する符号ビットが3ビット以上なら‘1’を、2ビッ
ト以下なら‘0’を出力し、乗数発生回路2ではその乗
数制御回路8の出力800と2進データ000の符号ビ
ットにより定数を選択し出力する。一方、被乗数選択回
路1では入力となる2進データ000を出力する。ま
た、乗算回路3では被乗数選択回路1の出力する被乗数
100と乗数発生回路2の出力する乗数200の掛け算
を実行し、その結果が中間レジスタ4の格納される。さ
らに、10進データレジスタ6はオールクリアされ、変
換終了指示回路9の変換回数カウンターに変換回数がセ
ットされる。
【0030】第2のクロックサイクルでは、中間レジス
タ4の上位ビット400で変換テーブル5をを索引し、
10進データ2桁をその出力500から送出し、10進
データレジスタ6の下位に格納する。10進データレジ
スタ6に10進データ500が格納されたとき、変換終
了指示回路9の変換回数カウンターでは、第1のクロッ
クサイクルで検出された乗数制御回路8の出力800が
‘0’のときは1が、‘1’のときは2が減算される。
また、被乗数選択回路1では、中間レジスタ4に格納さ
れたデータの下位データ401を出力し、乗数発生回路
2では、定数Cを出力する。乗算回路3では、被乗数選
択回路1の出力100と乗数発生回路の出力200とな
掛け算を行い、その結果を中間レジスタ4に格納する。
乗数制御回路8では、‘0’をその出力800に送出す
る。
タ4の上位ビット400で変換テーブル5をを索引し、
10進データ2桁をその出力500から送出し、10進
データレジスタ6の下位に格納する。10進データレジ
スタ6に10進データ500が格納されたとき、変換終
了指示回路9の変換回数カウンターでは、第1のクロッ
クサイクルで検出された乗数制御回路8の出力800が
‘0’のときは1が、‘1’のときは2が減算される。
また、被乗数選択回路1では、中間レジスタ4に格納さ
れたデータの下位データ401を出力し、乗数発生回路
2では、定数Cを出力する。乗算回路3では、被乗数選
択回路1の出力100と乗数発生回路の出力200とな
掛け算を行い、その結果を中間レジスタ4に格納する。
乗数制御回路8では、‘0’をその出力800に送出す
る。
【0031】第3のクロックサイクルでは、第2のクロ
ックサイクルと同様に、中間レジスタ4の上位ビット4
00で変換テーブル5を索引し、10進データ2桁をそ
の出力500から送出し、10進データレジスタ6の下
位に格納する。第2のクロックサイクルで変換された1
0進データ2桁は、10進数シフト回路7により左2桁
シフトされその出力700から10進データレジスタ6
の上位に格納される。また、乗算回路3では、第2のク
ロックサイクルと同様の乗算を行い、その結果を中間レ
ジスタ4に格納する。乗数制御回路8では、‘0’をそ
の出力800に送出する。
ックサイクルと同様に、中間レジスタ4の上位ビット4
00で変換テーブル5を索引し、10進データ2桁をそ
の出力500から送出し、10進データレジスタ6の下
位に格納する。第2のクロックサイクルで変換された1
0進データ2桁は、10進数シフト回路7により左2桁
シフトされその出力700から10進データレジスタ6
の上位に格納される。また、乗算回路3では、第2のク
ロックサイクルと同様の乗算を行い、その結果を中間レ
ジスタ4に格納する。乗数制御回路8では、‘0’をそ
の出力800に送出する。
【0032】変換終了指示回路9の変換回路カウンター
では第2のクロックサイクルで検出された乗数制御回路
8の出力800が‘0’なので1が減算される。第2の
クロックサイクルで変換終了指示回路9の変換回数カウ
ンターが2減算された場合には、このクロックサイクル
で変換回数カウンターが零になるので、2進10進変換
処理はこの時点で終了する。
では第2のクロックサイクルで検出された乗数制御回路
8の出力800が‘0’なので1が減算される。第2の
クロックサイクルで変換終了指示回路9の変換回数カウ
ンターが2減算された場合には、このクロックサイクル
で変換回数カウンターが零になるので、2進10進変換
処理はこの時点で終了する。
【0033】第2のクロックサイクルで変換終了指示回
路9の変換回数カウンターが1減算された場合には、第
4のクロックサイクルの処理が実行される。第4のクロ
ックサイクルでも、第2のクロックサイクルと同様に、
中間レジスタ4の上位ビット400で変換テーブル5を
索引し、10進データ500を送出し、10進データレ
ジスタ6の下位に格納する。第2及び第3のクロックサ
イクルで変換された10進データ4桁は、10進数シフ
ト回路7により左2桁シフトされその出力700から1
0進データレジスタ6の上位に格納される。このとき、
変換終了指示回路9の変換回数カウンターでは、第3の
クロックサイクルと同様に1が減算され、変換回数カウ
ンターが零になり2進10進変換処理の終了をその出力
信号900から指示する。
路9の変換回数カウンターが1減算された場合には、第
4のクロックサイクルの処理が実行される。第4のクロ
ックサイクルでも、第2のクロックサイクルと同様に、
中間レジスタ4の上位ビット400で変換テーブル5を
索引し、10進データ500を送出し、10進データレ
ジスタ6の下位に格納する。第2及び第3のクロックサ
イクルで変換された10進データ4桁は、10進数シフ
ト回路7により左2桁シフトされその出力700から1
0進データレジスタ6の上位に格納される。このとき、
変換終了指示回路9の変換回数カウンターでは、第3の
クロックサイクルと同様に1が減算され、変換回数カウ
ンターが零になり2進10進変換処理の終了をその出力
信号900から指示する。
【0034】さらに、乗数制御回路8を、入力となる2
進データ000の上位ビットから連続する符号ビットの
ビット数を1〜2ビット、3〜9ビット、10ビット以
上に分けて検出する回路にし、乗数発生回路を定数A,
B,Cと定数A,Bの2の補数のほか、定数D(10-6
を2進数表現したデータ)とその2の補数を発生する回
路にすると、上位ビットから連続する符号ビットのビッ
ト数が10ビット以上の2進データを入力したときは、
さらに変換処理のクロック数が削減できる。
進データ000の上位ビットから連続する符号ビットの
ビット数を1〜2ビット、3〜9ビット、10ビット以
上に分けて検出する回路にし、乗数発生回路を定数A,
B,Cと定数A,Bの2の補数のほか、定数D(10-6
を2進数表現したデータ)とその2の補数を発生する回
路にすると、上位ビットから連続する符号ビットのビッ
ト数が10ビット以上の2進データを入力したときは、
さらに変換処理のクロック数が削減できる。
【0035】以下、入力される2進データ000が1F
FF16であるとして、動作を具体的に説明する。
FF16であるとして、動作を具体的に説明する。
【0036】変換処理の最初の乗算の乗数となる定数
は、2進データ000の符号ビットが正で、かつ乗数制
御回路8の出力800が0のときは、定数A、すなわ
ち、0.00068DB8C16(10-4を2進数表現し
たデータ)となる。また、2進データ000の符号ビッ
トが正で、かつ乗数制御回路8の出力800が1のとき
は、定数B、すなわち、0.028F5C2B016(1
0-2を2進数表現したデータ)となる。また、2進デー
タ000の符号ビットが負で、かつ乗数制御回路8の出
力800が0のときは、定数Aの2の補数(−10-4を
2進数表現したデータ)となる。また、2進データ00
0の符号ビットが負で、かつ乗数制御回路8の出力80
0が1のときは、定数Bの2の補数(−10-2を2進数
表現したデータ)となる。
は、2進データ000の符号ビットが正で、かつ乗数制
御回路8の出力800が0のときは、定数A、すなわ
ち、0.00068DB8C16(10-4を2進数表現し
たデータ)となる。また、2進データ000の符号ビッ
トが正で、かつ乗数制御回路8の出力800が1のとき
は、定数B、すなわち、0.028F5C2B016(1
0-2を2進数表現したデータ)となる。また、2進デー
タ000の符号ビットが負で、かつ乗数制御回路8の出
力800が0のときは、定数Aの2の補数(−10-4を
2進数表現したデータ)となる。また、2進データ00
0の符号ビットが負で、かつ乗数制御回路8の出力80
0が1のときは、定数Bの2の補数(−10-2を2進数
表現したデータ)となる。
【0037】変換処理の途中の乗算の乗数となる定数
は、定数C6416(102 を2進数表現したデータ)で
ある。
は、定数C6416(102 を2進数表現したデータ)で
ある。
【0038】第1クロックサイクルにおいては、被乗数
選択回路1は、1FFF16を出力し、乗数制御回路8
は、2進データ000の上位ビットから連続する符号ビ
ットのビット数が3ビットなので‘1’を出力する。乗
数発生回路2は、2進データ000の符号ビットが正、
かつ乗数制御回路8の出力800が1なので定数Bを出
力する。変換終了指示回路9の変換回数カウンターには
変換回数の‘3’がセットされる。
選択回路1は、1FFF16を出力し、乗数制御回路8
は、2進データ000の上位ビットから連続する符号ビ
ットのビット数が3ビットなので‘1’を出力する。乗
数発生回路2は、2進データ000の符号ビットが正、
かつ乗数制御回路8の出力800が1なので定数Bを出
力する。変換終了指示回路9の変換回数カウンターには
変換回数の‘3’がセットされる。
【0039】乗算回路3における乗算、1FFF16*
0.028F5C2B016によって、中間レジスタ4に
は、51.E8F603D5016が入力する。10進デ
ータレジスタ6の内容は000000である。
0.028F5C2B016によって、中間レジスタ4に
は、51.E8F603D5016が入力する。10進デ
ータレジスタ6の内容は000000である。
【0040】第2クロックサイクルにおいては、中間レ
ジスタ4の上位ビット400は5116、変換テーブル5
から出力される10進データ500は、8110である。
従って、10進データレジスタ6の内容は000081
となる。
ジスタ4の上位ビット400は5116、変換テーブル5
から出力される10進データ500は、8110である。
従って、10進データレジスタ6の内容は000081
となる。
【0041】被乗数選択回路1は、E8F603D50
16を出力し、乗数発生回路2は、定数Cを出力する。変
換終了指示回路9の変換回数カウンターでは、第1ステ
ップノ乗数制御回路8の出力800が1なので‘2’が
減算されて‘1’がセットされる。乗数制御回路8で
は、‘0’を出力。
16を出力し、乗数発生回路2は、定数Cを出力する。変
換終了指示回路9の変換回数カウンターでは、第1ステ
ップノ乗数制御回路8の出力800が1なので‘2’が
減算されて‘1’がセットされる。乗数制御回路8で
は、‘0’を出力。
【0042】乗算回路3における乗算、0.E8F60
3D5016*6416によって、中間レジスタ4には、5
B.00197F34016が入力する。
3D5016*6416によって、中間レジスタ4には、5
B.00197F34016が入力する。
【0043】第3ステップにおいては、中間レジスタ4
の上位ビット400は5B16、変換テーブル5から出力
される10進データ500は9110である。従って、1
0進データレジスタ6の内容は008191となる。変
換終了指示回路9の変換回数カウンターでは、第2ステ
ップの乗数制御回路8の出力800が0なので1が減算
されて‘0’がセットされ、変換処理の終了を指示す
る。
の上位ビット400は5B16、変換テーブル5から出力
される10進データ500は9110である。従って、1
0進データレジスタ6の内容は008191となる。変
換終了指示回路9の変換回数カウンターでは、第2ステ
ップの乗数制御回路8の出力800が0なので1が減算
されて‘0’がセットされ、変換処理の終了を指示す
る。
【0044】図2は、第2の本発明の一実施例について
のブロック図である。同図において本2進10進変換回
路は、変換の中間結果を保持する中間レジスタ4と、入
力となる16ビットの2進データ000と中間レジスタ
4の下位ビット401のいずれかから選択し、被乗数1
00として出力する被乗数選択回路1と、被乗数選択回
路1から出力される被乗数100に対し掛け算を行い、
その出力300を中間レジスタ4に格納する乗算回路3
と、中間レジスタ4の上位ビット400により索引され
る変換テーブル5と、変換テーブル5から10進データ
500を格納する10進データレジスタ6と、10進デ
ータレジスタ6に変換テーブル5が出力する2桁の10
進データ500を格納するときに、10進データレジス
タ6の出力600をシフトしたもの(出力700)を再
び10進データレジスタ6の上位に格納する10進数シ
フト回路7と、中間レジスタ4の下位データ401の上
位桁から連続して存在する零の桁数を検出する乗数制御
回路8と、乗数制御回路8が出力する信号800、及び
2進データ000の符号により乗算回路3の乗数200
を発生する乗数発生回路2と、乗数制御回路8が出力す
る信号800により10進データへの変換回数を制御
し、変換処理の終了指示を出力信号900から出力し、
さらに乗数制御回路8に対し変換処理の最後の乗算であ
ることを出力信号910から通知する変換終了指示回路
9と、乗数制御回路8の出力する信号800を格納し、
10進数シフト回路7のシフト量を制御するシフト量制
御フリップフロップ10を有している。
のブロック図である。同図において本2進10進変換回
路は、変換の中間結果を保持する中間レジスタ4と、入
力となる16ビットの2進データ000と中間レジスタ
4の下位ビット401のいずれかから選択し、被乗数1
00として出力する被乗数選択回路1と、被乗数選択回
路1から出力される被乗数100に対し掛け算を行い、
その出力300を中間レジスタ4に格納する乗算回路3
と、中間レジスタ4の上位ビット400により索引され
る変換テーブル5と、変換テーブル5から10進データ
500を格納する10進データレジスタ6と、10進デ
ータレジスタ6に変換テーブル5が出力する2桁の10
進データ500を格納するときに、10進データレジス
タ6の出力600をシフトしたもの(出力700)を再
び10進データレジスタ6の上位に格納する10進数シ
フト回路7と、中間レジスタ4の下位データ401の上
位桁から連続して存在する零の桁数を検出する乗数制御
回路8と、乗数制御回路8が出力する信号800、及び
2進データ000の符号により乗算回路3の乗数200
を発生する乗数発生回路2と、乗数制御回路8が出力す
る信号800により10進データへの変換回数を制御
し、変換処理の終了指示を出力信号900から出力し、
さらに乗数制御回路8に対し変換処理の最後の乗算であ
ることを出力信号910から通知する変換終了指示回路
9と、乗数制御回路8の出力する信号800を格納し、
10進数シフト回路7のシフト量を制御するシフト量制
御フリップフロップ10を有している。
【0045】つぎに、各回路の動作について説明する。
【0046】被乗数選択回路1は、変換処理の当初では
変換の対象となる2進データ000を選択し、また変換
処理の途中及び最後では中間レジスタ4の下位ビット4
01を選択する。乗数制御回路8は、被乗数選択回路1
が2進データ000を選択したときは‘0’を出力し、
中間レジスタ4の下位ビット401を選択したときは、
変換終了指示回路9を出力910から変換処理の最後の
乗算である指示があるまでは下位ビット401の上位ビ
ットから連続する零のビット数を検出し、そのビット数
が7ビット以上なら‘1’を、6ビット以下なら‘0’
を出力し、また変換処理の最後の乗算である指示かあっ
たときは‘0’をその出力800とする。
変換の対象となる2進データ000を選択し、また変換
処理の途中及び最後では中間レジスタ4の下位ビット4
01を選択する。乗数制御回路8は、被乗数選択回路1
が2進データ000を選択したときは‘0’を出力し、
中間レジスタ4の下位ビット401を選択したときは、
変換終了指示回路9を出力910から変換処理の最後の
乗算である指示があるまでは下位ビット401の上位ビ
ットから連続する零のビット数を検出し、そのビット数
が7ビット以上なら‘1’を、6ビット以下なら‘0’
を出力し、また変換処理の最後の乗算である指示かあっ
たときは‘0’をその出力800とする。
【0047】乗数発生回路2は、被乗数選択回路1が2
進データ000を選択したときは、2進データ000の
符号ビットが正のとき定数A(10-4を2進数表現した
データ)を、符号ビットが負のときはそのデータの2の
補数を出力し、また中間レジスタ4の下位ビット401
を選択したときは、乗数制御回路8の出力800が
‘0’のとき定数B(102 を2進数表現したデータ)
を、‘1’のとき定数C(104 を2進数表現したデー
タ)を出力する。変換テーブル5は、中間レジスタ4の
上位ビート400により索引され、10進データ500
を出力する。
進データ000を選択したときは、2進データ000の
符号ビットが正のとき定数A(10-4を2進数表現した
データ)を、符号ビットが負のときはそのデータの2の
補数を出力し、また中間レジスタ4の下位ビット401
を選択したときは、乗数制御回路8の出力800が
‘0’のとき定数B(102 を2進数表現したデータ)
を、‘1’のとき定数C(104 を2進数表現したデー
タ)を出力する。変換テーブル5は、中間レジスタ4の
上位ビート400により索引され、10進データ500
を出力する。
【0048】10進データレジスタ6は、変換テーブル
5から出力される10進データ500の下位に、10進
数シフト回路7により10進データレジスタ6を出力6
00を左シフトした出力700を上位に格納する。
5から出力される10進データ500の下位に、10進
数シフト回路7により10進データレジスタ6を出力6
00を左シフトした出力700を上位に格納する。
【0049】変換終了指示回路9は、変換回数を管理し
ており、変換処理の最初に変換回数カウンターに変換回
数をセットし、10進データレジスタ6が変換テーブル
5から出力される10進データ500を格納する毎に1
を減算し、零になると変換処理の終了を出力信号900
から指示し、さらに変換回数カウンターの値が2になる
と乗算回路3で行われる乗算が変換処理の最後の乗算で
あることを指示するため出力信号910から‘1’を乗
数制御回路8へ送出する。また中間レジスタ4がその下
位ビット401の上位ビットに零が連続したデータを格
納した場合変換回数を補正する必要があるが、変換終了
指示回路9はその補正有り無しを乗数制御回路8の出力
800により検知し、次のクロックサイクルで変換回数
の補正を行う。
ており、変換処理の最初に変換回数カウンターに変換回
数をセットし、10進データレジスタ6が変換テーブル
5から出力される10進データ500を格納する毎に1
を減算し、零になると変換処理の終了を出力信号900
から指示し、さらに変換回数カウンターの値が2になる
と乗算回路3で行われる乗算が変換処理の最後の乗算で
あることを指示するため出力信号910から‘1’を乗
数制御回路8へ送出する。また中間レジスタ4がその下
位ビット401の上位ビットに零が連続したデータを格
納した場合変換回数を補正する必要があるが、変換終了
指示回路9はその補正有り無しを乗数制御回路8の出力
800により検知し、次のクロックサイクルで変換回数
の補正を行う。
【0050】シフト量制御フリップフロップ10は10
進数シフト回路7のシフト量を制御し、その出力110
が‘0’のときは左2桁シフトし、‘1’のときは左4
桁シフトし、そのシフトインデータとして零がシフトイ
ンされる。
進数シフト回路7のシフト量を制御し、その出力110
が‘0’のときは左2桁シフトし、‘1’のときは左4
桁シフトし、そのシフトインデータとして零がシフトイ
ンされる。
【0051】つぎに、本発明の2進10進変換回路によ
る10進数への変換処理の動作について説明する。
る10進数への変換処理の動作について説明する。
【0052】第1のクロックサイクルでは、被乗数選択
回路1では入力となる2進データ000を出力し、乗数
発生回路2では2進データ000の符号ビットにより定
数を選択し出力する。乗算回路3では被乗数選択回路1
の出力する被乗数100と乗数発生回路2の出力する乗
数500の掛け算を実行し、その結果が中間レジスタ4
に格納される。さらに、10進データレジスタ6はオー
ルクリアされ、変換終了指示回路9の変換回数カウンタ
ーに変換回数がセットされる。また、乗数制御回路8
は、‘0’を出力する。
回路1では入力となる2進データ000を出力し、乗数
発生回路2では2進データ000の符号ビットにより定
数を選択し出力する。乗算回路3では被乗数選択回路1
の出力する被乗数100と乗数発生回路2の出力する乗
数500の掛け算を実行し、その結果が中間レジスタ4
に格納される。さらに、10進データレジスタ6はオー
ルクリアされ、変換終了指示回路9の変換回数カウンタ
ーに変換回数がセットされる。また、乗数制御回路8
は、‘0’を出力する。
【0053】第2のクロックサイクルでは、中間レジス
タ4の上位ビット400で変換テーブル5を索引し、1
0進データ2桁をその出力500から送出し、10進デ
ータレジスタ6の下位に格納する。10進データレジス
タ6に10進データ500が格納されたとき、変換終了
指示回路9の変換回数カウンターは第1のクロックサイ
クルで検出された乗数制御回路8の出力800が‘0’
なので1減算される。また、乗数制御回路8は中間レジ
スタ4の下位ビット401の上位ビットから連続する零
のビット数を検出し、そのビット数が7ビット以上なら
‘1’を、6ビット以下なら‘0’をその出力信号80
0から出力し、乗数発生回路2は乗数制御回路8の出力
800により定数Bまたは定数Cのいづれかを選んで出
力する。
タ4の上位ビット400で変換テーブル5を索引し、1
0進データ2桁をその出力500から送出し、10進デ
ータレジスタ6の下位に格納する。10進データレジス
タ6に10進データ500が格納されたとき、変換終了
指示回路9の変換回数カウンターは第1のクロックサイ
クルで検出された乗数制御回路8の出力800が‘0’
なので1減算される。また、乗数制御回路8は中間レジ
スタ4の下位ビット401の上位ビットから連続する零
のビット数を検出し、そのビット数が7ビット以上なら
‘1’を、6ビット以下なら‘0’をその出力信号80
0から出力し、乗数発生回路2は乗数制御回路8の出力
800により定数Bまたは定数Cのいづれかを選んで出
力する。
【0054】一方、被乗数選択回路1では、中間レジス
タ4の下位ビット401を出力する。乗算回路3では、
被乗数選択回路1の出力100と乗数発生回路2の出力
200との掛け算を行い、その結果を中間レジスタ4に
格納する。シフト量制御フリップフロップ10は、乗数
制御回路8の出力信号800を格納する。
タ4の下位ビット401を出力する。乗算回路3では、
被乗数選択回路1の出力100と乗数発生回路2の出力
200との掛け算を行い、その結果を中間レジスタ4に
格納する。シフト量制御フリップフロップ10は、乗数
制御回路8の出力信号800を格納する。
【0055】第3のクロックサイクルでは、第2のクロ
ックサイクルと同様に、中間レジスタ4の上位ビット4
00で変換テーブル5を索引し、10進データ2桁を1
0進データ500から送出し、10進データレジスタ6
の下位に格納する。第2のクロックサイクルで変換され
た10進データ2桁は、10進数シフト回路7によりシ
フト量制御フリップフロップ10の出力信号110が
‘0’のときは左2桁、‘1’ときは左4桁シフトさ
れ、その出力700から10進データレジスタ6の上位
に格納される。
ックサイクルと同様に、中間レジスタ4の上位ビット4
00で変換テーブル5を索引し、10進データ2桁を1
0進データ500から送出し、10進データレジスタ6
の下位に格納する。第2のクロックサイクルで変換され
た10進データ2桁は、10進数シフト回路7によりシ
フト量制御フリップフロップ10の出力信号110が
‘0’のときは左2桁、‘1’ときは左4桁シフトさ
れ、その出力700から10進データレジスタ6の上位
に格納される。
【0056】また、乗算回路3では、第2のクロックサ
イクルと同様の乗算を行、いその結果を中間レジスタ4
に格納する。乗数制御回路8は、変換終了指示回路9の
出力910から変換処理の最後の乗算である指示を受け
取ると‘0’をその出力信号800から送出し、シフト
量制御フリップフロップ10は、乗数制御回路8の出力
信号800を格納する。
イクルと同様の乗算を行、いその結果を中間レジスタ4
に格納する。乗数制御回路8は、変換終了指示回路9の
出力910から変換処理の最後の乗算である指示を受け
取ると‘0’をその出力信号800から送出し、シフト
量制御フリップフロップ10は、乗数制御回路8の出力
信号800を格納する。
【0057】変換終了指示回路9の変換回数カウンター
では、第2のクロックサイクルで検出された乗数制御回
路8の出力800が‘0’のときは1が、‘1’のとき
は2が減算される。変換回数カウンターが2減算された
場合には、このクロックサイクルで変換回数カウンター
が零になるので、2進10進変換処理はこの時点で終了
する。
では、第2のクロックサイクルで検出された乗数制御回
路8の出力800が‘0’のときは1が、‘1’のとき
は2が減算される。変換回数カウンターが2減算された
場合には、このクロックサイクルで変換回数カウンター
が零になるので、2進10進変換処理はこの時点で終了
する。
【0058】第3のクロックサイクルで変換終了指示回
路9を変換回数カウンターが1減算された場合には、第
4のクロックサイクルの処理が実行される。第4のクロ
ックサイクルでも、第2のクロックサイクルと同様に、
中間レジスタ4の上位ビット400で変換テーブル5を
索引し、10進データ2桁をその出力500から送出
し、10進データレジスタ6の下位に格納する。
路9を変換回数カウンターが1減算された場合には、第
4のクロックサイクルの処理が実行される。第4のクロ
ックサイクルでも、第2のクロックサイクルと同様に、
中間レジスタ4の上位ビット400で変換テーブル5を
索引し、10進データ2桁をその出力500から送出
し、10進データレジスタ6の下位に格納する。
【0059】第2及び第3のクロックサイクルで変換さ
れた10進データ4桁は、10進数シフト回路7により
シフト量制御フリップフロップ10の出力信号110が
‘0’のときは左2桁、‘1’のときは左4桁シフトさ
れ、その出力700から10進データレジスタ6の上位
に格納される。このとき、変換終了指示回路9の変換回
数カウンターでは第3のクロックサイクルで検出された
乗数制御回路8の出力800が‘0’なので1が減算さ
れ、変換回数カウンターが零になると変換処理の終了を
その出力900から指示する。
れた10進データ4桁は、10進数シフト回路7により
シフト量制御フリップフロップ10の出力信号110が
‘0’のときは左2桁、‘1’のときは左4桁シフトさ
れ、その出力700から10進データレジスタ6の上位
に格納される。このとき、変換終了指示回路9の変換回
数カウンターでは第3のクロックサイクルで検出された
乗数制御回路8の出力800が‘0’なので1が減算さ
れ、変換回数カウンターが零になると変換処理の終了を
その出力900から指示する。
【0060】ビット数がさらに多い2進データを変換す
る回路においては、乗数制御回路8を、中間レジスタ4
の下位ビット401の上位ビットから連続する零のビッ
ト数を0〜6ビット、7〜13ビット、14ビット以上
に分けて検出する回路にし、乗数発生回路2を定数A,
B,Cと定数Aの2の補数のほか、定数D(106 を2
進数表現したデータ)を発生する回路にし、さらに10
進数シフト回路7を左2桁、4桁、6桁シフトする回路
にすると、変換後の10進データの途中の桁に零の桁が
4桁以上連続して存在する様な2進データを入力したと
きは、よりさらに変換処理のクロック数が削減できる。
る回路においては、乗数制御回路8を、中間レジスタ4
の下位ビット401の上位ビットから連続する零のビッ
ト数を0〜6ビット、7〜13ビット、14ビット以上
に分けて検出する回路にし、乗数発生回路2を定数A,
B,Cと定数Aの2の補数のほか、定数D(106 を2
進数表現したデータ)を発生する回路にし、さらに10
進数シフト回路7を左2桁、4桁、6桁シフトする回路
にすると、変換後の10進データの途中の桁に零の桁が
4桁以上連続して存在する様な2進データを入力したと
きは、よりさらに変換処理のクロック数が削減できる。
【0061】以下、入力される2進データ000が75
4B16であるとして、動作を具体的に説明する。
4B16であるとして、動作を具体的に説明する。
【0062】変換処理の最初の乗算の乗数となる定数
は、2進データ000の符号ビットが正のときは、定数
A、すなわち0.00068DB8C16(10-4を2進
数表現したデータ)となる。また、2進データ000の
符号ビットが負のときは、定数Aの2の補数(−10-4
を2進数表現したデータ)となる。
は、2進データ000の符号ビットが正のときは、定数
A、すなわち0.00068DB8C16(10-4を2進
数表現したデータ)となる。また、2進データ000の
符号ビットが負のときは、定数Aの2の補数(−10-4
を2進数表現したデータ)となる。
【0063】変換処理の途中の乗算の乗数となる定数
は、乗数制御回路8の出力800が‘0’のときは定数
B、すなわち6416(102 を2進数表現したデータ)
となる。また、乗数制御回路8の出力800が‘1’の
ときは、定数C、すなわち271016(104 を2進数
表現したデータ)となる。
は、乗数制御回路8の出力800が‘0’のときは定数
B、すなわち6416(102 を2進数表現したデータ)
となる。また、乗数制御回路8の出力800が‘1’の
ときは、定数C、すなわち271016(104 を2進数
表現したデータ)となる。
【0064】第1クロックサイクルにおいては、被乗数
選択回路1は、754B16を出力し、乗数制御回路8
は、‘0’を出力する。乗数発生回路2は、2進データ
000の符号ビットが正なので定数Aを出力。
選択回路1は、754B16を出力し、乗数制御回路8
は、‘0’を出力する。乗数発生回路2は、2進データ
000の符号ビットが正なので定数Aを出力。
【0065】変換終了指示回路9の変換回数カウンター
には変換回数の‘3’がセットされる。乗算回路3にお
ける乗算、754B16*0.00068DB8C16によ
って、中間レジスタ4には、3.00B0F4E0416
が入力する。レジスタ6の内容は000000である。
には変換回数の‘3’がセットされる。乗算回路3にお
ける乗算、754B16*0.00068DB8C16によ
って、中間レジスタ4には、3.00B0F4E0416
が入力する。レジスタ6の内容は000000である。
【0066】第2クロックサイクルにおいては、中間レ
ジスタ4の上位4ビット400は316、変換テーブル5
から出力される10進データ500は310である。従っ
て、10進データレジスタ6の内容は000003とな
る。
ジスタ4の上位4ビット400は316、変換テーブル5
から出力される10進データ500は310である。従っ
て、10進データレジスタ6の内容は000003とな
る。
【0067】被乗数選択回路1は、00B0F4E04
16を出力し、乗数制御回路8は、中間レジスタ4の下位
データ401の上位8ビットが零なので‘1’出力す
る。また、乗数発生回路2は、乗数制御回路8の出力8
00が‘1’なので定数Cを出力する。変換終了指示回
路9の変換回数カウンターは、第1ステップで検出した
乗数制御回路8の出力800が‘0’なので‘1’が減
算されて‘2’がセットされる。
16を出力し、乗数制御回路8は、中間レジスタ4の下位
データ401の上位8ビットが零なので‘1’出力す
る。また、乗数発生回路2は、乗数制御回路8の出力8
00が‘1’なので定数Cを出力する。変換終了指示回
路9の変換回数カウンターは、第1ステップで検出した
乗数制御回路8の出力800が‘0’なので‘1’が減
算されて‘2’がセットされる。
【0068】乗算回路3における乗算0.00B0F4
E0416*271016によって、中間レジスタ4には、
1B.005D77C4016が入力する。
E0416*271016によって、中間レジスタ4には、
1B.005D77C4016が入力する。
【0069】第3クロックサイクルにおいては、中間レ
ジスタ4の上位ビット400は1B16、変換テーブル5
から出力される10進データ500は2710である。従
って、10進データレジスタ6の内容は030027と
なる。
ジスタ4の上位ビット400は1B16、変換テーブル5
から出力される10進データ500は2710である。従
って、10進データレジスタ6の内容は030027と
なる。
【0070】変換終了指示回路9の変換回数カウンター
では、第2ステップで検出した乗数制御回路8の出力8
00が‘1’なので‘2’が減算されて‘0’がセット
され、変換処理の終了を指示する。
では、第2ステップで検出した乗数制御回路8の出力8
00が‘1’なので‘2’が減算されて‘0’がセット
され、変換処理の終了を指示する。
【0071】
【発明の効果】以上説明したように第1の本発明は、入
力となる2進データ中の上位ビットに符号ビットと同じ
ビットが連続して存在するとき、そのビットを変換する
無駄な動作を省けるので10進変換処理が効率的に行わ
れる。また、第2の本発明は、変換後の10進データ中
の途中の桁に零の桁が存在する様な2進データを入力す
る場合、10進数の零へ変換する無駄な動作を省けるの
で、10進変換処理が効率的に行われる。
力となる2進データ中の上位ビットに符号ビットと同じ
ビットが連続して存在するとき、そのビットを変換する
無駄な動作を省けるので10進変換処理が効率的に行わ
れる。また、第2の本発明は、変換後の10進データ中
の途中の桁に零の桁が存在する様な2進データを入力す
る場合、10進数の零へ変換する無駄な動作を省けるの
で、10進変換処理が効率的に行われる。
【図1】第1の本発明の一実施例のブロック図である。
【図2】第2の本発明の一実施例のブロック図である。
【図3】従来の一例のブロック図である。
1 被乗数選択回路 2 乗数発生回路 3 乗算回路 4 中間レジスタ 5 変換テーブル 6 10進データレジスタ 7 10進数シフト回路 8 乗数制御回路 9 変換終了指示回路 10 シフト量制御フリップフロップ
Claims (2)
- 【請求項1】 2進データを入力して10進数への変換
を行う2進10進変換回路において、 変換の中間結果を保持する中間レジスタと、 入力となる2進データと前記中間レジスタの下位データ
のいずれかを選択し、被乗数データを出力する被乗数選
択回路と、 前記入力となる2進データの上位桁から連続する符号ビ
ットの桁数を検出する乗数制御回路と、 前記乗数制御回路の出力する符号ビット桁数及び前記入
力となる2進データの符号とにより、乗数を発生する乗
数発生回路と、 前記被乗数選択回路から出力される被乗数と前記乗数発
生回路から出力される乗数との掛け算を行い、その出力
を前記中間レジスタに格納する乗算回路と、 前記中間レジスタの上位ビットにより索引され、10進
データを出力する変換テーブルと、 前記変換テーブルの出力を格納する10進データレジス
タと、 前記10進データレジスタに前記変換テーブルの出力す
る10進データを格納するときに、前記10進データレ
ジスタの出力をシフトし、その出力を再び前記10進デ
ータレジスタの上位に格納する10進数シフト回路と、 前記乗数制御回路により求められた、2進データの上位
桁に連続する符号ビットの桁数により10進データへの
変換回数を制御し、変換処理の終了を検出する変換終了
指示回路を有することを特徴とする2進10進変換回
路。 - 【請求項2】 2進データを入力して10進数への変換
を行う2進10進変換回路において、 変換の中間結果を保持する中間レジスタと、 入力となる2進データと前記中間レジスタの下位データ
のいずれかを選択し、被乗数データを出力する被乗数選
択回路と、 前記被乗数選択回路から出力されるデータに対し乗算を
行い、その出力を前記中間レジスタに格納する乗算回路
と、 前記中間レジスタの上位ビットにより索引され、10進
データを出力する変換テーブルと、 前記変換テーブルの出力を格納する10進データレジス
タと、 前記10進データレジスタに前記変換テーブルの出力す
る10進データを格納するときに、前記10進データレ
ジスタの出力をシフトし、その出力を再び前記10進デ
ータレジスタの上位に格納する10進数シフト回路と、 途中の変換処理のときには前記中間レジスタの下位デー
タの上位桁から連続して存在する零の桁数を検出し、最
後の変換処理のときには連続して存在する零の桁数に拘
わらず、その桁数を零桁として検出する乗数制御回路
と、 前記乗数制御回路の出力する連続して存在する零の桁
数、及び2進データの符号により前記乗算回路の乗数を
発生する乗数発生回路と、 前記乗数制御回路の出力する連続して存在する零の桁数
により、10進データへの変換回路を制御し変換回路の
終了を検出し、さらに前記乗数制御回路に対し最後の変
換処理であることを通知する変換終了指示回路と、 前記乗数制御回路の出力する連続して存在する零の桁数
の信号を格納し、前記10進数シフト回路のシフト量を
制御するシフト量制御フリップフロップを有すること特
徴とする2進10進変換回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23948292A JPH0690176A (ja) | 1992-09-08 | 1992-09-08 | 2進10進変換回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23948292A JPH0690176A (ja) | 1992-09-08 | 1992-09-08 | 2進10進変換回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0690176A true JPH0690176A (ja) | 1994-03-29 |
Family
ID=17045435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23948292A Withdrawn JPH0690176A (ja) | 1992-09-08 | 1992-09-08 | 2進10進変換回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0690176A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6672137B1 (en) | 1999-10-27 | 2004-01-06 | Ngk Spark Plug Co., Ltd. | Oxygen sensor and manufacturing method of sensor element |
-
1992
- 1992-09-08 JP JP23948292A patent/JPH0690176A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6672137B1 (en) | 1999-10-27 | 2004-01-06 | Ngk Spark Plug Co., Ltd. | Oxygen sensor and manufacturing method of sensor element |
US7254985B2 (en) | 1999-10-27 | 2007-08-14 | Ngk Spark Plug Co., Ltd. | Oxygen sensor and a manufacturing method of the sensor device |
EP2264443A1 (en) | 1999-10-27 | 2010-12-22 | NGK Spark Plug Co., Ltd. | Oxygen sensor and method for manufacturing sensor element |
EP2264444A1 (en) | 1999-10-27 | 2010-12-22 | NGK Spark Plug Co., Ltd. | Oxygen sensor and method for manufacturing sensor element |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR19990013698A (ko) | 연산방법 및 연산장치 | |
JPH0713742A (ja) | 乗算装置 | |
EP0326006B1 (en) | Format converting circuit for numeric data | |
JPH0234054B2 (ja) | ||
JPH0690176A (ja) | 2進10進変換回路 | |
JPS58137045A (ja) | 並列乗算器 | |
JPH0342715A (ja) | 除算用近似逆数生成装置 | |
JP3222313B2 (ja) | 演算装置及び演算方法 | |
JP2578482B2 (ja) | 浮動小数点演算器 | |
JP2734438B2 (ja) | 乗算装置 | |
JPH0368415B2 (ja) | ||
JP2777265B2 (ja) | 高基数開平演算装置 | |
JP3230349B2 (ja) | 10進乗算器 | |
JP2928027B2 (ja) | 十進二進変換回路 | |
JP2529890B2 (ja) | 乗算剰余演算器 | |
JPS6126135A (ja) | 浮動小数点デ−タ変換回路 | |
JPS62214435A (ja) | デイジタル除算回路 | |
JP3460780B2 (ja) | 数値演算装置 | |
JP2568608B2 (ja) | 乗算回路 | |
JPH05324274A (ja) | 2進10進変換装置 | |
JP2004295345A (ja) | 演算装置及び乗算装置 | |
JPH04263317A (ja) | 演算装置 | |
JPS58119047A (ja) | 10進乗算又は除算装置 | |
JPH1185471A (ja) | 演算方法および演算装置 | |
JPS6289135A (ja) | デイジタル固定小数点乗算器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19991130 |