JPH05241795A - M系列乱数発生方式 - Google Patents

M系列乱数発生方式

Info

Publication number
JPH05241795A
JPH05241795A JP4075137A JP7513792A JPH05241795A JP H05241795 A JPH05241795 A JP H05241795A JP 4075137 A JP4075137 A JP 4075137A JP 7513792 A JP7513792 A JP 7513792A JP H05241795 A JPH05241795 A JP H05241795A
Authority
JP
Japan
Prior art keywords
random number
series
series random
random numbers
storage array
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
JP4075137A
Other languages
English (en)
Inventor
Yoshinori Tsuda
義典 津田
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 JP4075137A priority Critical patent/JPH05241795A/ja
Publication of JPH05241795A publication Critical patent/JPH05241795A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 ベクトル演算機能を有する電子計算機システ
ムに於いてM系列乱数を発生させるM系列乱数発生方式
に於いて、乱数発生処理速度を向上させる。 【構成】 初期乱数設定処理部4は主記憶装置上の初期
乱数テーブル1に格納されているp個のM系列乱数から
P個(P=p2k )のM系列乱数を作成し、主記憶装置
上の格納用配列2に設定する。更に、格納用配列2の最
後のQ個 (Q<P)のM系列乱数をベクトルデータレジ
スタ上に設けられている内部乱数テーブル3に設定す
る。乱数発生処理部5は格納用配列2及び内部乱数テー
ブル3に設定されているQ個のM系列乱数をそれぞれベ
クトルレジスタ51,52に設定してベクトル演算を行
ない、Q個の新しいM系列乱数を発生する。そして、新
しいQ個のM系列乱数を格納用配列2に追加すると共
に、内部乱数テーブル3の内容を新しいQ個のM系列乱
数で置き換える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はベクトル演算機能を有す
る電子計算機システムに於ける擬似乱数発生技術に関
し、特に、M系列乱数を高速に発生することができるM
系列乱数発生方式に関する。
【0002】
【従来の技術】M系列乱数の発生法のアルゴリズムは次
式(1)で表される。
【0003】 Xi=X(i−p)◎X(i−q) … (1) 但し、◎は排他的論理和を表し、p>qである。
【0004】この式(1)は漸化式なので、ベクトル演
算により一度に発生することができるM系列乱数の数は
q個となる。
【0005】そこで、ベクトル演算機能を有する電子計
算機システムでM系列乱数を発生させる場合には式
(1)から導かれる次式(2)を用いるということが従
来から行なわれている。
【0006】 Xi=X(i−p2k )◎X(i−q2k ) … (2)
【0007】この式(2)を用いることにより、ベクト
ル演算により一度に発生できるM系列乱数の数はq2k
個となる。但し、kはq2k がベクトルレジスタの大き
さを越えないような値から最適なものを選択する。
【0008】ここで、式 (2)に於いて、P=p2k
Q=q2k とすることにより次式 (3)を得ることがで
きる。
【0009】 Xi=X(i−P)◎X(i−Q) …(3)
【0010】即ち、従来は、所定個数のM系列乱数を発
生させることが指示されると、ベクトル演算機能を有す
る電子計算機システムは、先ず、主記憶装置上の初期乱
数テーブルに設定されているp個のM系列乱数を用いて
式(1)によりP個のM系列乱数を発生し、発生したP
個のM系列乱数を主記憶装置上の格納用配列Aの要素A
(1)〜A(P)に設定する。
【0011】その後、主記憶装置上の格納用配列Aに設
定されたM系列乱数の内の最後のP個を読み込み、読み
込んだP個のM系列乱数の内の最後のQ個〔要素A(P
−Q+1)〜A(P)に設定されているM系列乱数〕を
第1のベクトルレジスタに、最後からP個目のM系列乱
数からQ個のM系列乱数〔要素A(1)〜A(Q)に設
定されているM系列乱数〕を第2のベクトルレジスタに
設定する。
【0012】そして、第1,第2のベクトルレジスタに
設定されているそれぞれQ個のM系列乱数に対して式
(3)に示す演算をベクトル演算で行ない、Q個の新し
いM系列乱数を発生する。
【0013】Q個の新しいM系列乱数を発生すると、そ
のQ個の新しいM系列乱数を格納用配列Aの要素A(P
+1)〜A(P+Q)に追加する。
【0014】以下、指定された個数の乱数を発生するま
で、上記した処理を繰り返し行なう。
【0015】
【発明が解決しようとする課題】上述したように、従来
は、新たに発生するM系列乱数のもとになるM系列乱数
を、全て主記憶装置上の格納用配列を参照して得なけれ
ばならなかったため、乱数発生速度を高速化することが
難しいという問題があった。
【0016】本発明の目的はM系列乱数を高速に発生さ
せることができるM系列乱数発生方式を提供することに
ある。
【0017】
【課題を解決するための手段】本発明は上記目的を達成
するため、ベクトル演算機能を有する電子計算機システ
ムに於いて、主記憶装置上の格納用配列に設定されてい
るM系列乱数の一部をベクトルデータレジスタに設定す
る初期乱数設定手段と、前記格納用配列から前記ベクト
ルデータレジスタに設定されているM系列乱数と対応す
る列乱数を読み込み、読み込んだM系列乱数と前記ベク
トルデータレジスタに設定されているM系列乱数とに対
してベクトル演算を行なうことにより新しいM系列乱数
を発生し、前記新たなM系列乱数を前記格納用配列に追
加すると共に前記新しいM系列乱数で前記ベクトルデー
タレジスタを設定し直す処理を繰り返す乱数発生処理手
段とを設けたものである。
【0018】
【作用】初期乱数設定手段は主記憶装置上の格納用配列
に設定されているM系列乱数の一部をベクトルデータレ
ジスタに設定する。乱数発生処理手段は主記憶装置上の
格納用配列に設定されているM系列乱数の内のベクトル
データレジスタに設定されているM系列乱数に対応する
ものを読み込み、読み込んだM系列乱数とベクトルデー
タレジスタに設定されているM系列乱数とに対してベク
トル演算を行なうことにより、新たなM系列乱数を発生
する。そして、発生した新たなM系列乱数を格納用配列
に追加すると共に、ベクトルデータレジスタの内容を新
たに発生したM系列乱数で置き換える。以上の処理を乱
数発生処理手段は繰り返す。
【0019】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
【0020】図1は本発明の実施例のブロック図であ
り、主記憶装置上に設けられた初期乱数テーブル1と、
主記憶装置上に設けられた配列名Aの格納用配列2と、
ベクトルデータレジスタ上に設けられた内部乱数テーブ
ル3と、初期乱数設定処理部4と、第1,第2のベクト
ルレジスタ51,52を含む乱数発生処理部5と、初期
乱数テーブル更新処理部6とから構成されている。
【0021】図2は初期乱数設定処理部4,乱数発生処
理部5及び初期乱数テーブル更新処理部6の処理例を示
したフローチャートであり、以下各図を参照して本実施
例の動作を説明する。
【0022】初期乱数設定処理部4は所定個数(N個と
する)のM系列乱数を発生させることが指示されると、
図2のステップaに示すように、初期乱数テーブル1上
にあるp個の初期乱数を用いて式 (1)によりP個のM
系列乱数を発生させ、格納用配列2の要素A (1)〜A
(P)に設定する。
【0023】次に、初期乱数設定処理部4はステップb
に示すように、ステップaで格納用配列2に設定したP
個のM系列乱数の内の最後のQ個〔要素A(P−Q+
1)〜A(P)に設定されているM系列乱数〕をベクト
ルデータレジスタ上の設けられている内部乱数テーブル
3の配列VDの要素VD(1)〜VD(Q)にも設定す
る。但し、Qの値がベクトルデータレジスタの大きさを
越えないように、式(2)中のkの値を設定しておくこ
とが必要である。
【0024】その後、初期乱数設定処理部4はステップ
cに示すように、発生させた乱数の個数を数えるカウン
タIにPを設定し、制御を乱数発生処理部5に渡す。
【0025】制御を渡されると、乱数発生処理部5はス
テップdの処理を行なう。
【0026】ステップdでは先ず、格納用配列2の要素
A(P−Q+1)〜A(P)に設定されているQ個のM
系列乱数を第1のベクトルレジスタ51に設定し、内部
乱数テーブル3の配列VDの要素VD(1)〜VD
(Q)に設定されているQ個のM系列乱数を第2のベク
トルレジスタ52に設定する。
【0027】次に、第1,第2のベクトルレジスタ5
1,52に設定されているそれぞれQ個のM系列乱数に
対して次式(4)に示す演算をベクトル演算で行ない、
新しいQ個のM系列乱数を発生する。
【0028】 A(I+i)=A(I−P+i)◎VD(i) … (4)
【0029】ここで、式(4)により新しいQ個のM系
列乱数を求めることができるのは、式(3)から導かれ
る次式(5)中の要素A(I−Q+i)は配列VDの要
素VD(i)に対応するからである。
【0030】 A(I+i)=A(I−P+i)◎A(I−Q+i) … (5)
【0031】このように、本実施例は第1,第2のベク
トルレジスタ51,52にそれぞれQ個のM系列乱数を
設定する際、主記憶装置上の格納用配列2を参照して設
定するのは第1のベクトルレジスタ51だけであり、第
2のベクトルレジスタ52にはアクセス速度の速いベク
トルデータレジスタ上に設けられた内部乱数テーブル3
を参照して設定するので、主記憶装置から読み込むM系
列乱数の数を従来技術より少なくすることができ、従っ
て乱数発生処理速度を向上させることができる。
【0032】ステップdで新しいM系列乱数をQ個発生
すると、乱数発生処理部5はN−IがQより大きいか否
かを判断する (ステップe)。
【0033】そして、ステップeの判断結果がYESの
場合は、乱数発生処理部5はステップdで発生させたQ
個の新しいM系列乱数で内部乱数テーブル3上の配列V
Dの要素VD(1)〜VD(Q)を設定し直すと共に、
新しいQ個のM系列乱数を格納用配列2の要素A(I+
1)〜A(I+Q)として追加する (ステップf)。
【0034】その後、乱数発生処理部5は発生させたM
系列乱数の数を示すカウンタIにQを加えた後 (ステッ
プg)、ステップdの処理に戻る。
【0035】また、ステップeの判断結果がNOの場合
は、乱数発生処理部5はステップdで発生させた新しい
Q個のM系列乱数の内の始めの(N−I)個を格納用配
列2の要素A(I+1)〜A(N)として追加し、その
後、制御を初期乱数テーブル更新処理部6に渡す(ステ
ップh)。
【0036】制御を渡されると、初期乱数テーブル更新
処理部6は格納用配列2の最後のp個の要素A(N−p
+1)〜A(N)に設定されているp個のM系列乱数で
初期乱数テーブル1の内容を更新する (ステップi)。
【0037】
【発明の効果】以上説明したように、本発明は、新たに
発生するM系列乱数のもとになるM系列乱数の一部をベ
クトルデータレジスタに設定し、それと主記憶装置上の
格納用配列に格納されているM系列乱数とを利用して新
たなM系列乱数を発生するようにしたものであるので、
新たに発生するM系列乱数のもとになるM系列乱数を全
て主記憶装置上の格納用配列を参照することにより得て
いた従来例に比較して乱数発生処理速度を高速化するこ
とができる効果がある。
【図面の簡単な説明】
【図1】本発明の実施例のブロック図である。
【図2】初期乱数設定処理部4,乱数発生処理部5及び
初期乱数テーブル更新処理部6の処理例を示すフローチ
ャートである。
【符号の説明】 1…初期乱数テーブル 2…格納用配列 3…内部乱数テーブル 4…初期乱数設定処理部 5…乱数発生処理部 51,52…ベクトルレジスタ 6…初期乱数テーブル更新処理部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ベクトル演算機能を有する電子計算機シ
    ステムに於いて、 主記憶装置上の格納用配列に設定されているM系列乱数
    の一部をベクトルデータレジスタに設定する初期乱数設
    定手段と、 前記格納用配列から前記ベクトルデータレジスタに設定
    されているM系列乱数と対応するM系列乱数を読み込
    み、読み込んだM系列乱数と前記ベクトルデータレジス
    タに設定されているM系列乱数とに対してベクトル演算
    を行なうことにより新しいM系列乱数を発生し、前記新
    たなM系列乱数を前記格納用配列に追加すると共に前記
    新しいM系列乱数で前記ベクトルデータレジスタを設定
    し直す処理を繰り返し行なう乱数発生処理手段とを含む
    ことを特徴とするM系列乱数発生方式。
JP4075137A 1992-02-26 1992-02-26 M系列乱数発生方式 Pending JPH05241795A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4075137A JPH05241795A (ja) 1992-02-26 1992-02-26 M系列乱数発生方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4075137A JPH05241795A (ja) 1992-02-26 1992-02-26 M系列乱数発生方式

Publications (1)

Publication Number Publication Date
JPH05241795A true JPH05241795A (ja) 1993-09-21

Family

ID=13567509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4075137A Pending JPH05241795A (ja) 1992-02-26 1992-02-26 M系列乱数発生方式

Country Status (1)

Country Link
JP (1) JPH05241795A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003508953A (ja) * 1999-08-31 2003-03-04 クゥアルコム・インコーポレイテッド ビットを並列に計算することにより各クロックパルスで疑似雑音シーケンスの多数のビットを発生する方法および装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003508953A (ja) * 1999-08-31 2003-03-04 クゥアルコム・インコーポレイテッド ビットを並列に計算することにより各クロックパルスで疑似雑音シーケンスの多数のビットを発生する方法および装置

Similar Documents

Publication Publication Date Title
JPH053032B2 (ja)
JPH05241795A (ja) M系列乱数発生方式
US20050246403A1 (en) Interpolation method and apparatus performing the same
JP2781658B2 (ja) アドレス生成回路とそれを用いたcd―rom装置
Gamberger Incompletely specified numbers in the residue number system-definition and applications
JP3693873B2 (ja) マスクビット数演算装置、ベクトル処理装置、情報処理装置
JP2819931B2 (ja) マイクロプロセッサ
JP2003122251A (ja) 暗号情報生成方法と暗号情報生成装置、暗号情報生成プログラム及び記録媒体
JP3274395B2 (ja) 除算装置、除算方法、除算プログラムを記録した記録媒体、及び電子署名生成方法
JPS5840769B2 (ja) 乱数発生装置
JPH07182145A (ja) 乱数の初期値生成装置
JP3109816B2 (ja) アドレス生成装置
JP2770516B2 (ja) 図形描画方式
JPH0480428B2 (ja)
JPH03235178A (ja) Romコードパターンデータ発生装置
JPH0418681A (ja) 画像縮小・拡大パターン生成回路
JP2811916B2 (ja) データフアイルアクセス方式
JPS59206960A (ja) メモリアドレス制御装置
JPH07225261A (ja) 半導体試験装置用パターン発生器
JP2989830B2 (ja) ベクトル処理方法
JP2004152292A (ja) 予測アドレス値を生成するための計算回路、および計算回路で次アドレスを予測する方法
JP3870937B2 (ja) 演算処理装置、および演算処理方法
JPH0695855A (ja) 逆数発生回路及びこれを用いたディジタルシグナルプロセッサ
Pinter et al. Efficient Breadth-First Expansion
JPH0689163A (ja) 乱数発生装置