JPH0689163A - 乱数発生装置 - Google Patents
乱数発生装置Info
- Publication number
- JPH0689163A JPH0689163A JP4239816A JP23981692A JPH0689163A JP H0689163 A JPH0689163 A JP H0689163A JP 4239816 A JP4239816 A JP 4239816A JP 23981692 A JP23981692 A JP 23981692A JP H0689163 A JPH0689163 A JP H0689163A
- Authority
- JP
- Japan
- Prior art keywords
- output
- floating point
- bits
- random number
- 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
Links
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】
【目的】 浮動小数点乗算器を用いて乱数を高速に発生
すること。 【構成】 仮数部演算回路3の出力ビットの内の上位半
分と下位半分とに分けて出力可能な浮動小数点乗算器
と、仮数部演算回路3の出力ビットの内の上位半分をと
るか下位半分をとるかを選択する選択回路6とを備えて
おり、仮数部演算回路3の出力ビットの内の上位半分が
選択されたときには乗算結果を出力し、下位半分が選択
されたときには乱数を発生する。
すること。 【構成】 仮数部演算回路3の出力ビットの内の上位半
分と下位半分とに分けて出力可能な浮動小数点乗算器
と、仮数部演算回路3の出力ビットの内の上位半分をと
るか下位半分をとるかを選択する選択回路6とを備えて
おり、仮数部演算回路3の出力ビットの内の上位半分が
選択されたときには乗算結果を出力し、下位半分が選択
されたときには乱数を発生する。
Description
【0001】
【産業上の利用分野】本発明は、乱数を発生する装置に
関するものである。
関するものである。
【0002】
【従来の技術】乱数を発生する手法としては種々知られ
ているが、その一つとして乗算合同法を用いた方法が知
られている(林知己夫著、「乱数の知識」、森北出版参
照)。従来、乗算合同法を用いて乱数を高速に発生する
場合、特開昭57−8846号に記載されているように
整数型演算の可能な乗算器を必要とした。ところが、デ
ィジタル処理装置の中には浮動小数点乗算器しか備えて
いないものや、また必要としないものがある。このよう
な場合、乱数発生のためにのみ整数演算が可能な乗算器
や他の発生回路を新しく備えることは極めて不経済であ
る。
ているが、その一つとして乗算合同法を用いた方法が知
られている(林知己夫著、「乱数の知識」、森北出版参
照)。従来、乗算合同法を用いて乱数を高速に発生する
場合、特開昭57−8846号に記載されているように
整数型演算の可能な乗算器を必要とした。ところが、デ
ィジタル処理装置の中には浮動小数点乗算器しか備えて
いないものや、また必要としないものがある。このよう
な場合、乱数発生のためにのみ整数演算が可能な乗算器
や他の発生回路を新しく備えることは極めて不経済であ
る。
【0003】そこで浮動小数点乗算器を用いて乱数を発
生することが考えられる。図2は、従来の浮動小数点乗
算器を示しており、1は浮動小数点乗算器の仮数部演算
回路の第1入力、2は浮動小数点乗算器の仮数部演算回
路の第2入力、3は浮動小数点乗算器の仮数部演算回
路、4は浮動小数点乗算器の仮数部演算回路の出力の上
位半分、5は浮動小数点乗算器の仮数部演算回路の出力
の下位半分である。
生することが考えられる。図2は、従来の浮動小数点乗
算器を示しており、1は浮動小数点乗算器の仮数部演算
回路の第1入力、2は浮動小数点乗算器の仮数部演算回
路の第2入力、3は浮動小数点乗算器の仮数部演算回
路、4は浮動小数点乗算器の仮数部演算回路の出力の上
位半分、5は浮動小数点乗算器の仮数部演算回路の出力
の下位半分である。
【0004】図2において、通常、浮動小数点乗算器の
仮数部演算回路3の出力としては仮数部乗算結果の上位
Nビット4のみが出力されるため、乱数発生に浮動小数
点乗算器を用いることはできなかった。
仮数部演算回路3の出力としては仮数部乗算結果の上位
Nビット4のみが出力されるため、乱数発生に浮動小数
点乗算器を用いることはできなかった。
【0005】
【発明が解決しようとする課題】そこで本発明は、浮動
小数点乗算器を用いて、乱数を高速に発生することを課
題とする。
小数点乗算器を用いて、乱数を高速に発生することを課
題とする。
【0006】
【課題を解決するための手段】本発明の乱数発生装置
は、仮数部演算回路の出力ビットの内の上位半分と下位
半分とに分けて出力可能な浮動小数点乗算器と、前記仮
数部演算回路の出力ビットの内の上位半分をとるか下位
半分をとるかを選択する選択回路とを備えたことを特徴
とする。
は、仮数部演算回路の出力ビットの内の上位半分と下位
半分とに分けて出力可能な浮動小数点乗算器と、前記仮
数部演算回路の出力ビットの内の上位半分をとるか下位
半分をとるかを選択する選択回路とを備えたことを特徴
とする。
【0007】
【作用】仮数部演算回路の出力ビットの内の上位半分が
選択されたときには、浮動小数点乗算器は浮動小数点乗
算を行ったときの乗算結果を出力し、仮数部演算回路の
出力ビットの内の下位半分が選択されたときには、浮動
小数点乗算器は乱数を発生する。
選択されたときには、浮動小数点乗算器は浮動小数点乗
算を行ったときの乗算結果を出力し、仮数部演算回路の
出力ビットの内の下位半分が選択されたときには、浮動
小数点乗算器は乱数を発生する。
【0008】
【実施例】本発明の実施例を述べる。
【0009】図1は実施例の乱数発生装置のブロック図
である。1は浮動小数点乗算器の仮数部演算回路の第1
入力、2は浮動小数点乗算器の仮数部演算回路の第2入
力、3は出力ビットの内の上位半分と下位半分とに分け
て出力可能な浮動小数点演算器の仮数部演算回路、4は
浮動小数点乗算器の仮数部演算回路3の出力の上位半
分、5は浮動小数点乗算器3の仮数部演算回路の出力の
下位半分、6は選択回路、7は選択回路の出力、8は選
択信号、9は正規化回路、10は正規化回路の出力であ
る。
である。1は浮動小数点乗算器の仮数部演算回路の第1
入力、2は浮動小数点乗算器の仮数部演算回路の第2入
力、3は出力ビットの内の上位半分と下位半分とに分け
て出力可能な浮動小数点演算器の仮数部演算回路、4は
浮動小数点乗算器の仮数部演算回路3の出力の上位半
分、5は浮動小数点乗算器3の仮数部演算回路の出力の
下位半分、6は選択回路、7は選択回路の出力、8は選
択信号、9は正規化回路、10は正規化回路の出力であ
る。
【0010】図1の乱数発生装置の動作について説明す
る。先ず、乗算合同法について説明する。乗算合同法に
よる乱数の発生は以下の式による(林知己夫著、「乱数
の知識」、森北出版参照)。
る。先ず、乗算合同法について説明する。乗算合同法に
よる乱数の発生は以下の式による(林知己夫著、「乱数
の知識」、森北出版参照)。
【0011】 Xn+1 ≡a×Xn (modulo 2p )...(1) X0 =b (a=3,5(modulo 8),b=奇数) ここで、Xn は2進数でp桁の乱数列、aはその初期値
である。また、modulo 2p は任意の整数を2p
で割ったときの剰余を意味する。
である。また、modulo 2p は任意の整数を2p
で割ったときの剰余を意味する。
【0012】図1の乱数発生装置を用いて乱数を発生す
る場合、浮動小数点乗算器の仮数部演算回路3の第1入
力1に、上記式(1)の記号aに相当する数を整数の形
式で与える。また、浮動小数点乗算器の仮数部演算回路
3の第2入力2に、上記式(1)の記号Xn に相当する
数すなわち直前に発生した乱数を整数の形式で与える。
すわなち、これらは必ずしも浮動小数点演算用に正規化
されていない場合もある。これらは共にNビット長の2
進数である。したがって、仮数部演算回路3は2*Nビ
ットの乗算結果を出力する。この上位Nビットが出力4
であり、下位Nビットが出力5である。
る場合、浮動小数点乗算器の仮数部演算回路3の第1入
力1に、上記式(1)の記号aに相当する数を整数の形
式で与える。また、浮動小数点乗算器の仮数部演算回路
3の第2入力2に、上記式(1)の記号Xn に相当する
数すなわち直前に発生した乱数を整数の形式で与える。
すわなち、これらは必ずしも浮動小数点演算用に正規化
されていない場合もある。これらは共にNビット長の2
進数である。したがって、仮数部演算回路3は2*Nビ
ットの乗算結果を出力する。この上位Nビットが出力4
であり、下位Nビットが出力5である。
【0013】通常の浮動小数点乗算においては、仮数部
演算回路3の出力として上位Nビットの出力4が出力さ
れる。しかし、乱数発生においては式(1)から乗算結
果として下位Nビットの出力5を選択する必要がある。
この選択を選択信号8と選択回路6を用いて行なう。す
なわち、使用者或いはプログラムの指示に基づいて選択
信号8を発生させ、通常の浮動小数点乗算器として動作
させるときは上位Nビットを選択し、乱数を発生させる
ときは下位Nビットを選択する。選択回路6の出力7は
必ずしも正規化されていないので、これを浮動小数点演
算で利用するために正規化回路9で正規化する。しか
し、選択回路6の出力7は式(1)からまた次の乱数発
生に用いるのでそのままの形で保存しておく必要があ
る。これが出力信号7’である。
演算回路3の出力として上位Nビットの出力4が出力さ
れる。しかし、乱数発生においては式(1)から乗算結
果として下位Nビットの出力5を選択する必要がある。
この選択を選択信号8と選択回路6を用いて行なう。す
なわち、使用者或いはプログラムの指示に基づいて選択
信号8を発生させ、通常の浮動小数点乗算器として動作
させるときは上位Nビットを選択し、乱数を発生させる
ときは下位Nビットを選択する。選択回路6の出力7は
必ずしも正規化されていないので、これを浮動小数点演
算で利用するために正規化回路9で正規化する。しか
し、選択回路6の出力7は式(1)からまた次の乱数発
生に用いるのでそのままの形で保存しておく必要があ
る。これが出力信号7’である。
【0014】
【発明の効果】以上で説明したように本発明によれば、
最小限のハードウェアを付加するだけで既存の浮動小数
点乗算器を利用して、乗算合同法を用いて乱数を高速に
発生することができる。
最小限のハードウェアを付加するだけで既存の浮動小数
点乗算器を利用して、乗算合同法を用いて乱数を高速に
発生することができる。
【図1】 本発明に係わる浮動小数点乗算器を用いた乱
数発生装置のブロック図である。
数発生装置のブロック図である。
【図2】 従来の浮動小数点乗算器のブロック図であ
る。
る。
1…仮数部演算回路の第1入力、2…仮数部演算回路の
第2入力、3…仮数部演算回路、4…仮数部演算回路の
出力の上位半分、5…仮数部演算回路の出力の下位半
分、6…選択回路、7…選択回路の出力、8…選択信
号、9…正規化回路、10…正規化回路の出力
第2入力、3…仮数部演算回路、4…仮数部演算回路の
出力の上位半分、5…仮数部演算回路の出力の下位半
分、6…選択回路、7…選択回路の出力、8…選択信
号、9…正規化回路、10…正規化回路の出力
Claims (1)
- 【請求項1】 仮数部演算回路の出力ビットの内の上位
半分と下位半分とに分けて出力可能な浮動小数点乗算器
と、前記仮数部演算回路の出力ビットの内の上位半分を
とるか下位半分をとるかを選択する選択回路とを備えた
ことを特徴とする乱数発生装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4239816A JPH0689163A (ja) | 1992-09-08 | 1992-09-08 | 乱数発生装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4239816A JPH0689163A (ja) | 1992-09-08 | 1992-09-08 | 乱数発生装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0689163A true JPH0689163A (ja) | 1994-03-29 |
Family
ID=17050277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4239816A Pending JPH0689163A (ja) | 1992-09-08 | 1992-09-08 | 乱数発生装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0689163A (ja) |
-
1992
- 1992-09-08 JP JP4239816A patent/JPH0689163A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6131489B2 (ja) | ||
US5317528A (en) | Random number generator | |
EP1876523A1 (en) | Computation of A MOD (2^n - 1) | |
JP4566513B2 (ja) | 擬似ランダム系列を発生させる方法および装置 | |
JP2950485B2 (ja) | ストリーム暗号処理装置 | |
KR20050065976A (ko) | Sha-1 해쉬값 연산 장치 및 방법 | |
JPH08107366A (ja) | 有限体元の反転回路 | |
JPH0689163A (ja) | 乱数発生装置 | |
JPH0342715A (ja) | 除算用近似逆数生成装置 | |
JP3913921B2 (ja) | 有限フィールドでの任意要素の逆数具現回路 | |
KR960018874A (ko) | 승산기 및 디지탈필터 | |
KR0147942B1 (ko) | 승산기에서의 부스 레코딩회로 | |
JP2991788B2 (ja) | 復号器 | |
JP3097081B2 (ja) | 段数可変m系列符号発生器 | |
JP3895887B2 (ja) | デシベルレベル調整装置 | |
JP2797773B2 (ja) | 逆数演算装置 | |
JPH06274319A (ja) | 乱数発生装置 | |
JP2972926B2 (ja) | 変調回路及び音発生装置 | |
JPH09101877A (ja) | 乗算演算方法及び乗算演算装置 | |
JPH01265609A (ja) | 擬似乱数発生装置 | |
JPH09325882A (ja) | 一様乱数発生回路 | |
JPH08305551A (ja) | 乱数発生装置 | |
JPH0695854A (ja) | 除算演算装置 | |
JP3722821B2 (ja) | 演算方法 | |
JPH0883167A (ja) | 乱数発生回路 |