JP2000293360A - 定数変換処理装置および定数変換処理プログラムを記録した媒体 - Google Patents

定数変換処理装置および定数変換処理プログラムを記録した媒体

Info

Publication number
JP2000293360A
JP2000293360A JP11094661A JP9466199A JP2000293360A JP 2000293360 A JP2000293360 A JP 2000293360A JP 11094661 A JP11094661 A JP 11094661A JP 9466199 A JP9466199 A JP 9466199A JP 2000293360 A JP2000293360 A JP 2000293360A
Authority
JP
Japan
Prior art keywords
constant
pattern
digit
binary
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.)
Pending
Application number
JP11094661A
Other languages
English (en)
Inventor
Shinya Furusawa
慎也 古澤
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 Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP11094661A priority Critical patent/JP2000293360A/ja
Publication of JP2000293360A publication Critical patent/JP2000293360A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 検索と変換の繰り返し処理に時間がかかると
ともに、検索と変換のステップをそれぞれ2種類用意し
なければならないため、処理構成が複雑になるといった
課題があった。 【解決手段】 冗長2進定数中に存在する2桁以上連続
して値が1であるパターンのうち最も最下位桁側にある
ものを1つだけ検出するパターン検索ステップと、この
検出したパターンを変換するパターン変換ステップとを
交互に繰り返すことで、既検索部分に新たな変換対象を
生成しないようにすることができるため、検索時間を短
縮できるとともに、変換回数を減らすことが可能にな
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、定数変換処理装置
および定数変換処理プログラムを記録した媒体に関し、
特に、論理回路を設計する自動設計システムにおいて、
変数と定数との乗算が含まれている論理回路の設計を最
適にする定数変換処理装置および定数変換処理プログラ
ムを記録した媒体に関する。
【0002】
【従来の技術】従来、この種の定数変換処理装置は、変
数と定数との乗算を行う最適な定数乗算器を実現する特
開平6−243194号公報または特許第258041
3号に開示されているものが知られている。ここで、変
数aと定数Cとの乗算を行う定数乗算は、通常、変数a
の定数シフトと加算で実現することができる。例えば、
変数aと定数107(10進数)との乗算の場合を次式
(1)に示す。
【0003】
【数1】 (a<<6)+(a<<5)+(a<<3)+(a<<1)+a・・・(1)
【0004】このように、定数シフト4つと加算4つで
実現される。式(1)は定数107(10進数)を「1
07=26+25+23+21+20」と、2のべき乗に展
開した場合に対応する。一方、定数107(10進数)
を「107=27−24−22−20」と、展開することも
可能であり、この場合における、変数aと定数107
(10進数)との乗算を次式(2)に示す。
【0005】
【数2】 (a<<7)−(a<<4)−(a<<2)−a ・・・(2)
【0006】このように、定数シフト3つと加減算3つ
で実現される。ここで、「26+25+23+21+20
を2進表現に変換すると、[1,1,0,1,0,1,
1]となる。同様に、「27−24−22−20」を
「1」、「0」、「−1」の有限長列で表される冗長2
進表現に変換すると、[1,0,0,−1,0,−1,
0,−1]となる。従って、非0である桁が少ないほ
ど、定数シフトと加減算の数が少なくて済むことが分か
る。
【0007】上述したように2進定数を元の2進定数と
同じ値を表しつつ、元の2進定数よりも非0である桁の
数が少ない冗長2進定数へ変換する処理を定数変換処理
として、変換態様を図5に示す。同図においては、非0
である桁の数が5つから4つに減っていることが分か
る。
【0008】次に、この従来の定数変換処理の処理内容
について、図6にフローチャートを示すとともに、図7
に2進定数の一例を示す。図6において、入力された2
進定数から図7に示す2桁以上連続して値が1であるす
べてのパターンを検索し(ステップS201)、検出さ
れたすべてのパターンを、図8に示すようにパターン中
の最上位桁の1つ上の桁を1に、パターン中の最下位桁
を−1に、パターン中の最上位桁と最下位桁に挟まれた
すべての桁とパターン中の最上位桁を0に変換し、冗長
2進定数を生成する(ステップS202)。
【0009】次に、ステップS202にて生成した冗長
2進定数から図9に示すように、隣り合う桁の値が
「1、1」であるすべてのパターンの検索を行い(ステ
ップS203)、該当するパターンが検出されると、ス
テップS202に戻り、パターン中の最上位桁の1つ上
の桁を1に、パターン中の最下位桁を−1に、パターン
中の最上位桁と最下位桁に挟まれたすべての桁とパター
ン中の最上位桁を0に変換する。
【0010】このようにステップS202,S203の
動作を隣り合う桁の値が「1、1」であるパターンがな
くなるまで繰り返し実行し、隣り合う桁の値が「1、
1」であるパターンがなくなったら、図10に示すよう
に隣り合う桁の値が「−1、1」であるすべてのパター
ンの検索を行い(ステップS204)、検出されたすべ
てのパターンを、「0、−1」に変換する(ステップS
205)。なお、以下では、冗長2進定数、あるいは、
そのパターンについては、図8,図9および図10に示
すベクトル表現を用いる。
【0011】例えば、定数01101011(2進数)
を変換する場合、ステップS201およびS202の処
理により、[1,0,−1,0,1,1,0,−1]に
示す冗長2進定数が生成される。次に、ステップS20
3およびS202の処理により、[1,0,−1,1,
0,−1,0,−1]に示す冗長2進定数が生成され
る。さらに、ステップS204およびS205の処理に
より、[1,0,0,−1,0,−1,0,−1]に示
す冗長2進定数が生成されて、定数変換処理が終了す
る。
【0012】従って、この定数変換処理によって、「2
6+25+23+21+20=27−24−22−20」となる
ことが分かるので、変数aと定数01101011(2
進数)との乗算は「a*01101011=a*26
a*25+a*23+a*21+a*20=a*27−a*
4−a*22−a*20=(a<<7)−(a<<4)
−(a<<2)−a」となり、定数変換処理を行わない
場合、定数シフト4つと加減算4つであったのに対し
て、定数変換処理を行った場合、定数シフト3つと加減
算3つになるため、乗算回路の面積を低減することが可
能になっている。
【0013】
【発明が解決しようとする課題】上述した従来の定数変
換処理においては、検索と変換の繰り返し処理に時間が
かかるとともに、検索と変換のステップをそれぞれ2種
類用意しなければならないため、処理構成が複雑になる
といった課題があった。
【0014】本発明は、上記課題にかんがみてなされた
もので、処理構成を簡易にすることができるとともに、
定数変換処理の処理時間を短縮することが可能な定数変
換処理装置および定数変換処理プログラムを記録した媒
体の提供を目的とする。
【0015】
【課題を解決するための手段】上記目的を達成するた
め、請求項1にかかる発明は、所定の2進定数を入力す
る定数入力手段と、この定数入力手段が入力する2進定
数、または、下記パターン変換手段が生成する「1」、
「0」、「−1」にて形成される冗長2進定数を格納す
る冗長2進定数格納手段と、この冗長2進定数格納手段
に格納された冗長2進定数を最下位桁から上位桁へ向か
って2桁以上連続して値が1であるパターンを検索する
パターン検索手段と、上記パターンが検出された場合、
上記冗長2進定数格納手段に格納された冗長2進定数を
上記パターンの終了位置より1桁上の値を1に変換し、
上記パターンの開始位置の値を−1に変換し、上記パタ
ーンの開始位置と終了位置とに挟まれた桁と上記パター
ンの終了位置の値を0に変換し、冗長2進定数を生成す
るとともに、上記冗長2進定数格納手段に格納するパタ
ーン変換手段と、上記冗長2進定数格納手段に格納され
た冗長2進定数を出力する冗長2進定数出力手段とを具
備する構成としてある。
【0016】上記のように構成した請求項1にかかる発
明において、定数入力手段は、所定の2進定数を入力す
る。そして、冗長2進定数格納手段は、定数入力手段が
入力した2進定数、または、パターン変換手段が生成し
た「1」、「0」、「−1」にて形成される冗長2進定
数を格納する。この冗長2進定数格納手段に格納された
冗長2進定数を最下位桁から上位桁へ向かって2桁以上
連続して値が1であるパターンをパターン検索手段は検
索し、パターン変換手段は、パターンが検出された場
合、冗長2進定数格納手段に格納された冗長2進定数を
パターンの終了位置より1桁上の値を1に変換し、パタ
ーンの開始位置の値を−1に変換し、パターンの開始位
置と終了位置とに挟まれた桁とパターンの終了位置の値
を0に変換し、冗長2進定数を生成するとともに、冗長
2進定数格納手段に格納する。そして、冗長2進定数出
力手段は、冗長2進定数格納手段に格納された冗長2進
定数を出力する。すなわち、検索および変換処理の順序
を規定し、既検索部分に新たな変換処理対象が生成され
ないようにする。
【0017】ここで、定数入力手段は、2進数以外の定
数を入力する場合がある。かかる場合の好適な定数入力
手段の一例として、請求項2にかかる発明は、請求項1
に記載の定数変換処理装置において、上記定数入力手段
は、入力した定数が2進数でない場合、この定数を2進
数に変換する構成としてある。上記のように構成した請
求項2にかかる発明において、定数入力手段は、入力し
た定数が2進数でない場合、この定数を2進数に変換す
る。
【0018】さらに、請求項3にかかる発明は、請求項
1または請求項2のいずれかに記載の定数変換処理装置
において、上記パターン変換手段は、上記パターンの終
了位置より1桁上の位置を上記パターン検索手段へ通知
し、このパターン検索手段は、パターン変換手段より通
知された位置から上位桁へ向かって検索を行う構成とし
てある。
【0019】上記のように構成した請求項3にかかる発
明において、パターン変換手段は、パターンの終了位置
より1桁上の位置をパターン検索手段へ通知し、このパ
ターン検索手段は、パターン変換手段より通知された位
置から上位桁へ向かって検索を行う。
【0020】さらに、請求項4にかかる発明は、請求項
3に記載の定数変換処理装置において、上記定数入力手
段は、最下位桁の位置を上記パターン検索手段へ通知
し、このパターン検索手段は、定数入力手段、または、
上記パターン変換手段より通知された位置から上位桁へ
向かって検索する構成としてある。
【0021】上記のように構成した請求項4にかかる発
明において、定数入力手段は、最下位桁の位置をパター
ン検索手段へ通知し、このパターン検索手段は、定数入
力手段、または、上記パターン変換手段より通知された
位置から上位桁へ向かって検索する。
【0022】ところで、このような入力した定数を所定
の変換手法に基づいて変換し、冗長2進定数を生成する
定数変換処理装置は単独で存在する場合もあるし、ある
機器に組み込まれた状態で利用されることもあるなど、
発明の思想としてはこれに限らず、各種の態様を含むも
のである。従って、ソフトウェアであったりハードウェ
アであったりするなど、適宜変更可能である。発明の思
想の具現化例として入力した定数を所定の変換手法に基
づいて変換し、冗長2進定数を生成する定数変換処理装
置のソフトウェアとなる場合には、かかるソフトウェア
を記録した記録媒体上においても当然に存在し、利用さ
れることになる。
【0023】その一例として、請求項5にかかる発明
は、入力した2進定数を所定の変換手法に基づいて変換
し、冗長2進定数を生成するコンピュータ読取り可能な
定数変換処理プログラムを記録した媒体であって、所定
の2進定数を入力する定数入力ステップと、上記定数入
力ステップが入力した2進定数を最下位桁から上位桁へ
向かって2桁以上連続して値が1であるパターンを検索
する第1検索ステップと、上記第1検索ステップまたは
下記第2検索ステップによってパターンが検索された場
合に、上記2進定数または下記冗長2進定数をパターン
の終了位置より1桁上の値を1に変換し、パターンの開
始位置の値を−1に変換し、パターンの開始位置と終了
位置に挟まれた桁とパターンの終了位置の値を0に変換
して冗長2進定数を生成するパターン変換ステップと、
上記パターン変換ステップによって生成された冗長2進
定数を、上記パターンの終了位置より1つ上の桁から上
位桁へ向かって2桁以上連続して値が1であるパターン
を検索する上記第2検索ステップとを具備する構成とし
てある。
【0024】また、このようにコンピュータ読取り可能
な媒体に記録された定数変換処理プログラムの他の一例
として、請求項6にかかる発明は、入力した2進定数を
所定の変換手法に基づいて変換し、冗長2進定数を生成
するコンピュータ読取り可能な定数変換処理プログラム
を記録した媒体であって、所定の2進定数を入力する定
数入力ステップと、上記定数入力ステップが入力した2
進定数または下記パターン変換ステップが生成した冗長
2進定数を最下位桁から上位桁へ向かって2桁以上連続
して値が1であるパターンを検索するパターン検索ステ
ップと、上記パターン検索ステップによってパターンが
検索されたかどうか判断する判定ステップと、上記判定
ステップによってパターンが存在すると判定された場
合、上記2進定数または下記冗長2進定数をパターンの
終了位置より1桁上の値を1に変換し、パターンの開始
位置の値を−1に変換し、パターンの開始位置と終了位
置に挟まれた桁とパターンの終了位置の値を0に変換し
冗長2進定数を生成するパターン変換ステップとを具備
する構成としてある。
【0025】さらに、コンピュータ読取り可能な媒体に
記録された定数変換処理プログラムの他の一例として、
請求項7にかかる発明は、入力した2進定数を所定の変
換手法に基づいて変換し、冗長2進定数を生成するコン
ピュータ読取り可能な定数変換処理プログラムを記録し
た媒体であって、所定の2進定数を入力する定数入力ス
テップと、上記定数入力ステップが入力した2進定数の
最下位桁の位置を探索開始位置格納変数に格納する探索
開始位置初期化ステップと、上記定数入力ステップが入
力した2進定数または下記パターン変換ステップが生成
した冗長2進定数を上記探索開始位置格納変数に格納さ
れた位置から上位桁へ向かって2桁以上連続して値が1
であるパターンを検索するパターン検索ステップと、上
記パターン検索ステップによってパターンが検索された
かどうか判定する判定ステップと、上記判定ステップに
よってパターンが存在すると判定された場合に、上記2
進定数または下記冗長2進定数をパターンの終了位置よ
り1桁上の値を1に変換し、パターンの開始位置の値を
−1に変換し、パターンの開始位置と終了位置に挟まれ
た桁とパターンの終了位置の値を0に変換し冗長2進定
数を生成するとともに、パターンの終了位置より1桁上
の位置を上記探索開始位置格納変数に格納するパターン
変換ステップとを具備する構成としてある。
【0026】ここで、各定数入力ステップは、2進数以
外の定数を入力する場合がある。かかる場合の好適な定
数入力ステップの一例として、請求項8にかかる発明
は、請求項5〜請求項7のいずれかに記載のコンピュー
タ読取り可能な定数変換処理プログラムを記録した媒体
において、上記定数入力ステップは、入力した定数が2
進数でない場合、2進数に変換する2進定数変換ステッ
プを具備する構成としてある。上記のように構成した請
求項8にかかる発明において、定数入力ステップは、入
力した定数が2進数でない場合、2進定数変換ステップ
にて、この定数を2進数に変換する。
【0027】もちろん、請求項5〜請求項8のいずれか
に記載の記録媒体は、磁気記録媒体であってもよいし光
磁気記録媒体であってもよいし、今後開発されるいかな
る記録媒体においても全く同様に考えることができる。
また、一次複製品、二次複製品などの複製段階について
は全く問う余地無く同等である。その他、供給方法とし
て通信回線を利用して行う場合でも本発明が利用されて
いることにはかわりない。さらに、一部がソフトウェア
であって、一部がハードウェアで実現されている場合に
おいても発明の思想において全く異なるものではなく、
一部を記録媒体上に記憶しておいて必要に応じて適宜読
み込まれるような形態のものとしてあってもよい。
【0028】
【発明の実施の形態】以下、図面にもとづいて本発明の
実施形態を説明する。図1は、本発明の第一の実施形態
にかかる定数変換処理装置を含む定数変換システムをブ
ロック図により示している。同図において、本定数変換
システムは、入力装置1と、定数変換処理装置2と、出
力装置3とから構成されている。また、定数変換処理装
置2は、入力手段21と、検索手段22と、パターン変
換手段23と、出力手段24と、「1」、「0」、「−
1」から形成される有限長の列を格納する冗長2進定数
格納手段25とから構成される。
【0029】上述した構成において、入力手段21は入
力装置1より与えられた定数を2進表現に変換して冗長
2進定数格納手段25へ格納し検索手段22へ通知す
る。検索手段22は、入力手段21またはパターン変換
手段23からの通知を受けると、冗長2進定数格納手段
25に格納された冗長2進定数を最下位桁またはパター
ン変換手段23から通知された位置から上位桁へ向かっ
て2桁以上連続して値が1であるパターンを検索する。
【0030】そして、2桁以上連続して値が1であるパ
ターンを検出した場合には検出したパターンの開始位置
と終了位置をパターン変換手段23へ通知しパターンを
検出しなかった場合には出力手段24へ通知する。ここ
で、パターン変換手段23は、検索手段22からの通知
を受けると冗長2進定数格納手段25に格納された冗長
2進定数に対してパターンの終了位置より1桁上の値を
1にパターンの開始位置の値を−1に、パターンの開始
位置と終了位置に挟まれた桁とパターンの終了位置の値
を0に、それぞれ変換する。この変換処理を行った後
に、パターンの終了位置より1桁上の位置を検索手段2
2へ通知する。出力手段24は、検索手段22からの通
知を受けると、冗長2進定数格納手段25に格納されて
いる冗長2進定数を出力装置3に出力する。
【0031】次に、上述した構成からなる本実施形態の
動作を説明する。図2は、定数変換処理の処理内容を示
すフローチャートである。同図において、入力手段21
は、入力装置1より定数が入力されると、この定数を2
進表現に変換し、冗長2進定数格納手段25に格納しつ
つ、検索手段22へ通知する。そして、検索手段22
は、入力手段21から通知を受けると、冗長2進定数格
納手段25に格納されている冗長2進定数を、最下位桁
から上位桁へ向かって、2桁以上連続して値が1である
パターンを検索する(ステップS101)。
【0032】2桁以上連続して値が1であるパターンが
検出された場合は(ステップS102)、パターン変換
手段23へパターンの開始位置と終了位置を通知する。
パターン変換手段23は、検索手段22より受け取った
パターンの開始位置および終了位置をもとに、冗長2進
定数格納手段25に格納されている冗長2進定数に対し
て、検出されたパターン[1,1,・・・,1,1]を
[1,0,0,・・・,0,−1]に置換し、検索手段
22へパターンの終了位置の1桁上の位置を通知する
(ステップS103)。
【0033】検索手段22は、冗長2進定数格納手段2
5に格納されている冗長2進定数を、パターン変換手段
23より受け取った位置から上位桁へ向かって、2桁以
上連続して値が1であるパターンを検索する(ステップ
S104)。ステップS104にて2桁以上連続して値
が1であるパターンが検出された場合は、パターン変換
手段23へパターンの開始位置と終了位置を通知する。
【0034】一方、ステップS102におけるパターン
が検出されたかを判断する検索手段22の処理におい
て、2桁以上連続して値が1であるパターンが検出され
なかった場合、検索手段22は、出力手段24へ通知す
る。通知を受けた出力手段24は、冗長2進定数格納手
段25に格納されている冗長2進定数を出力装置3に出
力する(ステップS105)。
【0035】なお、本実施形態においては、パターン変
換手段23から検索手段22へパターンの終了位置より
1桁上の位置の通知を行う構成を採用した、むろん、こ
の構成に限定されるものではなく、この処理を省くとと
もに、ステップS104の処理をステップS101に統
合した処理とする構成を採用してもよい。
【0036】従って、入力手段21が本発明にかかる定
数入力手段を構成し、検索手段22が本発明にかかるパ
ターン検索手段を構成し、パターン変換手段23が本発
明にかかるパターン変換手段を構成する。また、出力手
段24が本発明にかかる冗長2進定数出力手段を構成
し、冗長2進定数格納手段25が本発明にかかる冗長2
進定数格納手段を構成する。
【0037】次に、具体的な一例、例えば、定数107
(10進数)が入力された場合について具体的に説明す
る。かかる場合、最初に、入力装置1より定数107
(10進数)が入力手段21に入力されると、入力手段
21は定数値107(10進数)を2進表現[0,1,
1,0,1,0,1,1]に変換して、冗長2進定数格
納手段25に格納しつつ、検索手段22へ通知する。
【0038】入力手段21より通知を受けた検索手段2
2は、冗長2進定数格納手段25に格納されている冗長
2進定数の最下位桁から上位桁へ向かって2桁以上連続
して値が1であるパターンを検索する。冗長2進定数の
1桁目から2桁目まで連続して値が1であるパターンが
検出されるので、検索手段22はパターンの開始位置が
1桁目、終了位置が2桁目という情報をパターン変換手
段23へ通知する。
【0039】パターン変換手段23は、検索手段22よ
り通知されたパターンの開始位置および終了位置をもと
に、冗長2進定数格納手段25に格納されている冗長2
進定数の3桁目の値を1に、1桁目の値を−1に、その
間の桁の値を0に置換し、検索手段22へパターンの終
了位置の1桁上の位置が3桁目という情報を通知する。
なお、この時点で冗長2進定数格納手段25に格納され
ている値は、[0,1,1,0,1,1,0,−1]と
なっている。
【0040】次に、検索手段22は、パターン変換手段
23より通知されたパターンの終了位置の1桁上の位置
をもとに、冗長2進定数格納手段25に格納されている
冗長2進定数の3桁目から上位桁へ向かって2桁以上連
続して値が1であるパターンを検索する。冗長2進定数
の3桁目から4桁目まで連続して値が1であるパターン
が検出されるので、検索手段22は、パターンの開始位
置が3桁目、終了位置が4桁目という情報をパターン変
換手段23へ通知する。パターン変換手段23は、検索
手段22より通知されたパターンの開始位置および終了
位置をもとに、冗長2進定数格納手段25に格納されて
いる冗長2進定数の5桁目の値を1に、3桁目の値を−
1に、その間の桁の値を0に置換し、検索手段22へパ
ターンの終了位置の1桁上の位置が5桁目という情報を
通知する。なお、この時点で冗長2進定数格納手段25
に格納されている値は[0,1,1,1,0,−1,
0,−1]となっている。
【0041】再び、検索手段22は、パターン変換手段
23より通知されたパターンの終了位置の1桁上の位置
をもとに、冗長2進定数格納手段25に格納されている
冗長2進定数の5桁目から上位桁へ向かって2桁以上連
続して値が1であるパターンを検索する。冗長2進定数
の5桁目から7桁目まで連続して値が1であるパターン
が検出されるので、検索手段22は、パターンの開始位
置が5桁目、終了位置が7桁目という情報をパターン変
換手段23へ通知する。
【0042】パターン変換手段23は、検索手段22よ
り通知されたパターンの開始位置および終了位置をもと
に、冗長2進定数格納手段25に格納されている冗長2
進定数の8桁目の値を1に、5桁目の値を−1に、その
間の桁の値を0に置換し、検索手段22へパターンの終
了位置の1桁上の位置が8桁目という情報を通知する。
なお、この時点で冗長2進定数格納手段25に格納され
ている値は[1,0,0,−1,0,−1,0,−1]
となっている。
【0043】さらに、検索手段22は、パターン変換手
段23より通知されたパターンの終了位置の1桁上の位
置をもとに、冗長2進定数格納手段25に格納されてい
る冗長2進定数の8桁目から上位桁へ向かって、2桁以
上連続して値が1であるパターンを検索する。しかし、
2桁以上連続して値が1であるパターンが検出されない
ので、検索手段22は、出力手段24へ通知する。通知
を受けた出力手段24は、冗長2進定数格納手段25に
格納されている値[1,0,0,−1,0,−1,0,
−1]を出力装置3に出力する。
【0044】このように、ステップS101およびS1
04の検索処理において、冗長2進定数中に存在する2
桁以上連続して値が1であるパターンのうち最も最下位
桁側にあるものを1つだけ検出すればよいので、パター
ンが1つ検出された時点で検索処理を終了することがで
き、また、一度検索した部分は二度と検索を行わないた
め、定数変換処理全体で冗長2進定数の全桁を1回の走
査のみにすることが可能になる。従って、具体例で示し
た定数01101011(2進数)の定数変換処理の場
合、パターン変換が3つであるから、定数変換処理全体
で、検索処理にかかる時間は3分の1、パターン変換処
理にかかる時間は4分の3とすることが可能になる。ま
た、「−1、1」というパターンを検索する必要がない
ため、定数乗算最適化処理における定数変換処理の構成
を簡素化することが可能になる。
【0045】次に、本発明の第二の実施形態にかかる定
数変換処理装置を図3のブロック図に示す。同図におい
て、本定数変換処理装置は、入力装置100と、定数変
換処理装置200と、出力装置300とから構成されて
いる。また、定数変換処理装置200は、入力手段20
1と、検索手段202と、パターン変換手段203と、
出力手段204と、「1」、「0」、「−1」から形成
される有限長の列を格納する冗長2進定数格納手段20
5と、探索開始位置を格納する探索開始位置格納手段2
06とから構成される。
【0046】上述した構成において、入力手段201は
入力装置100より与えられた定数を2進表現に変換し
て冗長2進定数格納手段205へ格納し、探索開始位置
格納手段206へ最下位桁を格納し、検索手段202へ
通知する。検索手段202は、入力手段201またはパ
ターン変換手段203からの通知を受けると、冗長2進
定数格納手段205に格納された冗長2進定数を探索開
始位置格納手段206に格納されている位置から上位桁
へ向かって2桁以上連続して値が1であるパターンを検
索する。2桁以上連続して値が1であるパターンを検出
した場合には、検出したパターンの開始位置と終了位置
をパターン変換手段203へ通知し、パターンを検出し
なかった場合には、出力手段204へ通知する。
【0047】パターン変換手段203は、検索手段20
2からの通知を受けると、冗長2進定数格納手段205
に格納された冗長2進定数に対して、上記パターンの終
了位置より1桁上の値を1に、上記パターンの開始位置
の値を−1に、上記パターンの開始位置と終了位置に挟
まれた桁と上記パターンの終了位置の値を0に、それぞ
れ置換する。上記置換処理を行った後に、上記パターン
の終了位置より1桁上の位置を探索開始位置格納手段2
06に格納し、検索手段202へ通知する。出力手段2
04は、検索手段202からの通知を受けると、冗長2
進定数格納手段205に格納されている冗長2進定数を
出力装置300に出力する。
【0048】次に、上述した構成からなる本実施形態の
動作を説明する。図4は、定数変換処理の処理内容を示
すフローチャートである。同図において、入力手段20
1は、入力装置100より定数が入力されると、定数を
2進表現に変換し、冗長2進定数格納手段205に格納
する。さらに、探索開始位置格納手段206に1を格納
し、検索手段202へ通知する(ステップS301)。
検索手段202は、入力手段201から通知を受ける
と、冗長2進定数格納手段205に格納されている冗長
2進定数を、前記探索開始位置格納手段206に格納さ
れている位置から上位桁へ向かって、2桁以上連続して
値が1であるパターンを検索する(ステップS30
2)。
【0049】2桁以上連続して値が1であるパターンが
検出された場合は(ステップS303)、パターン変換
手段203へパターンの開始位置と終了位置を通知す
る。パターン変換手段203は、検索手段202より受
け取ったパターンの開始位置および終了位置をもとに、
冗長2進定数格納手段205に格納されている冗長2進
定数に対して、検出されたパターン[1,1,…,1,
1]を[1,0,0,…,0,−1]に置換する。さら
に、上記探索開始位置格納手段206にパターンの終了
位置の1桁上の位置を格納し、検索手段202へ通知す
る(ステップS304)。
【0050】一方、ステップS303のパターンが検出
されたかを判断する検索手段202の処理において、2
桁以上連続して値が1であるパターンが検出されなかっ
た場合、検索手段202は、出力手段204へ通知す
る。通知を受けた出力手段204は、冗長2進定数格納
手段205に格納されている冗長2進定数を出力装置3
00に出力する(ステップS305)。
【0051】次に、具体的な一例、例えば、定数107
(10進数)が入力された場合について具体的に説明す
る。最初に、入力装置100より定数107(10進
数)が入力手段201に入力されると、入力手段201
は、定数値107(10進数)を2進表現[0,1,
1,0,1,0,1,1]に変換して、冗長2進定数格
納手段205に格納する。さらに、探索開始位置格納手
段206に1桁目という情報を格納し、検索手段202
へ通知する。
【0052】入力手段201より通知を受けた検索手段
202は、探索開始位置格納手段206に格納されてい
る情報をもとに、冗長2進定数格納手段205に格納さ
れている冗長2進定数を、1桁目から上位桁へ向かっ
て、2桁以上連続して値が1であるパターンを検索す
る。冗長2進定数の1桁目から2桁目まで連続して値が
1であるパターンが検出されるので、検索手段202
は、パターンの開始位置が1桁目、終了位置が2桁目と
いう情報をパターン変換手段203へ通知する。
【0053】パターン変換手段203は、検索手段20
2より通知されたパターンの開始位置および終了位置を
もとに、冗長2進定数格納手段205に格納されている
冗長2進定数の3桁目の値を1に、1桁目の値を−1
に、その間の桁の値を0に置換する。さらに、探索開始
位置格納手段206へパターンの終了位置の1桁上の位
置である3桁目という情報を格納し、検索手段202へ
通知する。なお、この時点で冗長2進定数格納手段20
5に格納されている値は[0,1,1,0,1,1,
0,−1]となっている。
【0054】次に、検索手段202は、探索開始位置格
納手段206に格納されている情報をもとに、冗長2進
定数格納手段205に格納されている冗長2進定数の3
桁目から上位桁へ向かって、2桁以上連続して値が1で
あるパターンを検索する。冗長2進定数の3桁目から4
桁目まで連続して値が1であるパターンが検出されるの
で、検索手段202は、パターンの開始位置が3桁目、
終了位置が4桁目という情報をパターン変換手段203
へ通知する。
【0055】パターン変換手段203は、検索手段20
2より通知されたパターンの開始位置および終了位置を
もとに、冗長2進定数格納手段205に格納されている
冗長2進定数の5桁目の値を1に、3桁目の値を−1
に、その間の桁の値を0に置換する。さらに、探索開始
位置格納手段206へパターンの終了位置の1桁上の位
置である5桁目という情報を格納し、検索手段202へ
通知する。なお、この時点で冗長2進定数格納手段20
5に格納されている値は[0,1,1,1,0,−1,
0,−1]となっている。
【0056】再び、検索手段202は、探索開始位置格
納手段206に格納されている情報をもとに、冗長2進
定数格納手段205に格納されている冗長2進定数の5
桁目から上位桁へ向かって、2桁以上連続して値が1で
あるパターンを検索する。冗長2進定数の5桁目から7
桁目まで連続して値が1であるパターンが検出されるの
で、検索手段202は、パターンの開始位置が5桁目、
終了位置が7桁目という情報をパターン変換手段203
へ通知する。
【0057】パターン変換手段203は、検索手段20
2より通知されたパターンの開始位置および終了位置を
もとに、冗長2進定数格納手段205に格納されている
冗長2進定数の8桁目の値を1に、5桁目の値を−1
に、その間の桁の値を0に置換する。さらに、探索開始
位置格納手段206へパターンの終了位置の1桁上の位
置である8桁目という情報を格納し、検索手段202へ
通知する。なお、この時点で冗長2進定数格納手段20
5に格納されている値は[1,0,0,−1,0,−
1,0,−1]となっている。
【0058】さらに、検索手段202は、探索開始位置
格納手段206に格納されている情報をもとに、冗長2
進定数格納手段205に格納されている冗長2進定数の
8桁目から上位桁へ向かって、2桁以上連続して値が1
であるパターンを検索する。しかし、2桁以上連続して
値が1であるパターンが検出されないので、検索手段2
02は、出力手段204へ通知する。通知を受けた出力
手段204は、冗長2進定数格納手段205に格納され
ている値[1,0,0,−1,0,−1,0,−1]を
出力装置300に出力する。
【0059】
【発明の効果】以上説明したように本発明は、処理構成
を簡易にすることができるとともに、定数変換処理の処
理時間を短縮することが可能な定数変換処理装置を提供
することができる。また、請求項2にかかる発明によれ
ば、2進数以外の定数が入力されても本定数変換処理装
置を適用することが可能になる。さらに、請求項3にか
かる発明によれば、検索処理にかかる時間を短縮するこ
とが可能になる。さらに、請求項4にかかる発明によれ
ば、簡易な手法により検索を行うことが可能になる。さ
らに、請求項5にかかる発明によれば、処理構成を簡易
にすることができるとともに、定数変換処理の処理時間
を短縮することが可能な定数変換処理プログラムを記録
した媒体を提供することができる。
【0060】さらに、請求項6にかかる発明によれば、
他の構成に基づいて、処理構成を簡易にすることができ
るとともに、定数変換処理の処理時間を短縮することが
可能な定数変換処理プログラムを記録した媒体を提供す
ることができる。さらに、請求項7にかかる発明によれ
ば、さらに他の構成に基づいて、処理構成を簡易にする
ことができるとともに、定数変換処理の処理時間を短縮
することが可能な定数変換処理プログラムを記録した媒
体を提供することができる。さらに、請求項8にかかる
発明によれば、2進数以外の定数が入力されても本定数
変換処理プログラムを適用することが可能になる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の構成を示すブロッ
ク図である。
【図2】本発明の第1の実施の形態の実施例における定
数変換処理の処理内容を示すフローチャートである。
【図3】本発明の第2の実施の形態の構成を示すブロッ
ク図である。
【図4】本発明の第2の実施の形態の実施例における定
数変換処理の処理内容を示すフローチャートである。
【図5】定数変換処理の例を示す説明図である。
【図6】従来の技術の定数変換処理の処理内容を示すフ
ローチャートである。
【図7】検索処理の例を示す説明図である。
【図8】パターン変換処理の例を示す説明図である。
【図9】検索処理とパターン変換処理の例を示す説明図
である。
【図10】検索処理とパターン変換処理の例を示す説明
図である。
【符号の説明】
1 入力装置 2 定数変換処理装置 21 入力手段 22 検索手段 23 パターン変換手段 24 出力手段 25 冗長2進定数格納手段 3 出力装置 100 入力装置 200 定数変換処理装置 201 入力手段 202 検索手段 203 パターン変換手段 204 出力手段 205 冗長2進定数格納手段 206 探索開始位置格納手段 300 出力装置

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 所定の2進定数を入力する定数入力手段
    と、 上記定数入力手段が入力する2進定数、または、下記パ
    ターン変換手段が生成する「1」,「0」,「−1」に
    て形成される冗長2進定数を格納する冗長2進定数格納
    手段と、 上記冗長2進定数格納手段に格納された冗長2進定数を
    最下位桁から上位桁へ向かって2桁以上連続して値が1
    であるパターンを検索するパターン検索手段と、 上記パターンが検出された場合、上記冗長2進定数格納
    手段に格納された冗長2進定数を上記パターンの終了位
    置より1桁上の値を1に変換し、上記パターンの開始位
    置の値を−1に変換し、上記パターンの開始位置と終了
    位置とに挟まれた桁と上記パターンの終了位置の値を0
    に変換し、冗長2進定数を生成するとともに、上記冗長
    2進定数格納手段に格納するパターン変換手段と、 上記冗長2進定数格納手段に格納された冗長2進定数を
    出力する冗長2進定数出力手段とを具備することを特徴
    とする定数変換処理装置。
  2. 【請求項2】 上記請求項1に記載の定数変換処理装置
    において、 上記定数入力手段は、入力した定数が2進数でない場
    合、この定数を2進数に変換することを特徴とする定数
    変換処理装置。
  3. 【請求項3】 上記請求項1または請求項2に記載の定
    数変換処理装置において、 上記パターン変換手段は、上記パターンの終了位置より
    1桁上の位置を上記パターン検索手段へ通知し、このパ
    ターン検索手段は、パターン変換手段より通知された位
    置から上位桁へ向かって検索を行うことを特徴とする定
    数変換処理装置。
  4. 【請求項4】 上記請求項3に記載の定数変換処理装置
    において、 上記定数入力手段は、最下位桁の位置を上記パターン検
    索手段へ通知し、このパターン検索手段は、定数入力手
    段より通知された位置から上位桁へ向かって検索するこ
    とを特徴とする定数変換処理装置。
  5. 【請求項5】 入力した2進定数を所定の変換手法に基
    づいて変換し、冗長2進定数を生成するコンピュータ読
    取り可能な定数変換処理プログラムを記録した媒体であ
    って、 所定の2進定数を入力する定数入力ステップと、 上記定数入力ステップが入力した2進定数を最下位桁か
    ら上位桁へ向かって2桁以上連続して値が1であるパタ
    ーンを検索する第1検索ステップと、 上記第1検索ステップまたは下記第2検索ステップによ
    ってパターンが検索された場合に、上記2進定数をパタ
    ーンの終了位置より1桁上の値を1に変換し、パターン
    の開始位置の値を−1に変換し、パターンの開始位置と
    終了位置に挟まれた桁とパターンの終了位置の値を0に
    変換して冗長2進定数を生成するパターン変換ステップ
    と、 上記パターン変換ステップによって生成された冗長2進
    定数を、上記パターンの終了位置より1つ上の桁から上
    位桁へ向かって2桁以上連続して値が1であるパターン
    を検索する上記第2検索ステップとを具備することを特
    徴とするコンピュータ読取り可能な定数変換処理プログ
    ラムを記録した媒体。
  6. 【請求項6】 入力した2進定数を所定の変換手法に基
    づいて変換し、冗長2進定数を生成するコンピュータ読
    取り可能な定数変換処理プログラムを記録した媒体であ
    って、 所定の2進定数を入力する定数入力ステップと、 上記定数入力ステップが入力した2進定数または下記パ
    ターン変換ステップが生成した冗長2進定数を最下位桁
    から上位桁へ向かって2桁以上連続して値が1であるパ
    ターンを検索するパターン検索ステップと、 上記パターン検索ステップによってパターンが検索され
    たかどうか判断する判定ステップと、 上記判定ステップによってパターンが存在すると判定さ
    れた場合、上記2進定数または下記冗長2進定数をパタ
    ーンの終了位置より1桁上の値を1に変換し、パターン
    の開始位置の値を−1に変換し、パターンの開始位置と
    終了位置に挟まれた桁とパターンの終了位置の値を0に
    変換し冗長2進定数を生成するパターン変換ステップと
    を具備することを特徴とするコンピュータ読取り可能な
    定数変換処理プログラムを記録した媒体。
  7. 【請求項7】 入力した2進定数を所定の変換手法に基
    づいて変換し、冗長2進定数を生成するコンピュータ読
    取り可能な定数変換処理プログラムを記録した媒体であ
    って、 所定の2進定数を入力する定数入力ステップと、 上記定数入力ステップが入力した2進定数の最下位桁の
    位置を探索開始位置格納変数に格納する探索開始位置初
    期化ステップと、 上記定数入力ステップが入力した2進定数または下記パ
    ターン変換ステップが生成した冗長2進定数を上記探索
    開始位置格納変数に格納された位置から上位桁へ向かっ
    て2桁以上連続して値が1であるパターンを検索するパ
    ターン検索ステップと、 上記パターン検索ステップによってパターンが検索され
    たかどうか判定する判定ステップと、 上記判定ステップによってパターンが存在すると判定さ
    れた場合に、上記2進定数または下記冗長2進定数をパ
    ターンの終了位置より1桁上の値を1に変換し、パター
    ンの開始位置の値を−1に変換し、パターンの開始位置
    と終了位置に挟まれた桁とパターンの終了位置の値を0
    に変換し冗長2進定数を生成するとともに、パターンの
    終了位置より1桁上の位置を上記探索開始位置格納変数
    に格納するパターン変換ステップとを具備することを特
    徴とするコンピュータ読取り可能な定数変換処理プログ
    ラムを記録した媒体。
  8. 【請求項8】 上記請求項5〜請求項7のいずれかに記
    載のコンピュータ読取り可能な定数変換処理プログラム
    を記録した媒体において、 上記定数入力ステップは、入力した定数が2進数でない
    場合、2進数に変換する2進定数変換ステップを具備す
    ることを特徴とするコンピュータ読取り可能な定数変換
    処理プログラムを記録した媒体。
JP11094661A 1999-04-01 1999-04-01 定数変換処理装置および定数変換処理プログラムを記録した媒体 Pending JP2000293360A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11094661A JP2000293360A (ja) 1999-04-01 1999-04-01 定数変換処理装置および定数変換処理プログラムを記録した媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11094661A JP2000293360A (ja) 1999-04-01 1999-04-01 定数変換処理装置および定数変換処理プログラムを記録した媒体

Publications (1)

Publication Number Publication Date
JP2000293360A true JP2000293360A (ja) 2000-10-20

Family

ID=14116445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11094661A Pending JP2000293360A (ja) 1999-04-01 1999-04-01 定数変換処理装置および定数変換処理プログラムを記録した媒体

Country Status (1)

Country Link
JP (1) JP2000293360A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341203B2 (en) 2004-11-08 2012-12-25 Zhizhong Li Computer technical solution of the digital engineering method of hybrid numeral carry system and carry line

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341203B2 (en) 2004-11-08 2012-12-25 Zhizhong Li Computer technical solution of the digital engineering method of hybrid numeral carry system and carry line

Similar Documents

Publication Publication Date Title
JPH06222903A (ja) 文字データを圧縮し圧縮済みデータを展開するための静的辞書構造を提供する方法および手段
JPH02202267A (ja) 符号化装置及び符号化方法
KR100498457B1 (ko) 메모리를 감소시키는 개선된 룩업 테이블 압축방법 및이를 이용하여 압축된 룩업 테이블을 가지는 비선형 함수발생장치 및 그 발생방법
US7213243B2 (en) Program optimization by unused data item
US7051060B2 (en) Operand conversion optimization
US7478363B2 (en) Method for translating a given source program into an object program containing computing expressions
US7307453B1 (en) Method and system for parallel state machine implementation
JP2001222410A (ja) 除算器
JP2000293360A (ja) 定数変換処理装置および定数変換処理プログラムを記録した媒体
JP5157534B2 (ja) 動作合成装置、および、プログラム
JP5175983B2 (ja) 演算装置
JP2000148442A (ja) 提供媒体、並びにデータ処理装置およびデータ処理方法
US20230259365A1 (en) Computer-readable recording medium storing conversion program and conversion method
JPH10162008A (ja) 情報検索方法及び装置
US20240281645A1 (en) Method and apparatus for accelerating gnn pre-processing
JP2000187607A (ja) 名前変換装置および記録媒体
CN112764713A (zh) 随机数的生成方法和装置
US5381380A (en) Divide circuit having high-speed operating capability
KR102271489B1 (ko) 정규표현식 패턴의 탐지를 위한 아호코라식 오토마타 구축 장치 및 방법
JP3339408B2 (ja) データ変換装置およびデータ変換装置のデータ変換方法
JP4791205B2 (ja) 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム
JP2000010763A (ja) 除算回路
CN110532577B (zh) 数字逻辑电路编译方法及装置
KR100846485B1 (ko) 하다마드 트랜스폼 방법 및 장치
JPH0637592A (ja) ディジタルフィルタ設計法