JPS601651B2 - 乱数発生方式 - Google Patents

乱数発生方式

Info

Publication number
JPS601651B2
JPS601651B2 JP52137169A JP13716977A JPS601651B2 JP S601651 B2 JPS601651 B2 JP S601651B2 JP 52137169 A JP52137169 A JP 52137169A JP 13716977 A JP13716977 A JP 13716977A JP S601651 B2 JPS601651 B2 JP S601651B2
Authority
JP
Japan
Prior art keywords
register
circuit
signal
key
random number
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
Application number
JP52137169A
Other languages
English (en)
Other versions
JPS5469345A (en
Inventor
知洋 清水
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.)
KASHIO KEISANKI KK
Original Assignee
KASHIO KEISANKI KK
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 KASHIO KEISANKI KK filed Critical KASHIO KEISANKI KK
Priority to JP52137169A priority Critical patent/JPS601651B2/ja
Publication of JPS5469345A publication Critical patent/JPS5469345A/ja
Publication of JPS601651B2 publication Critical patent/JPS601651B2/ja
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computational Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Calculators And Similar Devices (AREA)

Description

【発明の詳細な説明】 本発明は、例えば小型電子式計算機等に於る乱数発生方
式に関する。
一般に、乱数を発生させる方法としては物理的現象(例
えば宇宙線のカウント)、演算(例えば平均採中法、乗
算型合同法及び混合型合同法等)があり、これ等を用い
て従来から次のような乱数発生装置が考えられている。
即ち、その1つは乱数発生の為に設けられたキーの押圧
時間を計数し、この押圧時間に比例した疑似乱数を発生
させるものであり、乱数anはan=f(t)で表わさ
れるものである。また、他の1つ予め内部に有する複数
の初期値を用い所定の潮化式を所定回実行することによ
り乱数を発生させるものであり、乱数anはan=f(
an−,)で表わされるものである。しかしながら、こ
れ等の乱数発生方式に於ては、前者は次に発生する乱数
を予想することはできないが、計数の為のカウントクロ
ックを十分に早くしなければ意図的な押圧操作により乱
数の発生される範囲が制限されてしまうものであり、後
者は潮化式の選び方によって十分な精度の乱数を発生さ
せることができるが、反面初期値及び演算回数には乱数
が得られないため、いくつかの系列をもった乱数が発生
されてしまい場合によっては次に出力される乱数が予測
されることになる。
このように、上述した二つの従釆例には夫々欠点があり
、簡単な装置でしかも精度の高い乱数を発生させること
はできなかった。本発明は上記事情に鑑みてなされたも
ので、キーの押圧時間により得られる乱数と所定の漸化
式により得られる乱数を組み合わせることにより、簡単
な回路構成でしかも極めて精度の高い乱数を発生し得る
乱数発生方式を提供することを目的とする。即ち、本願
は上記目的を達成する為に、キーの押圧時間を計数し乱
数anをan=f(t)なる関係で求め、この乱数an
に更に所定の鰯化式による演算処理を施し、出力する乱
数AnをAn=f(An−,,t)とすることにより極
めて精度の高い乱数を得るようにしたものである。
以下第1図乃至第4図を参照しながら本発明の一実施例
につき説明する。
第1図は本発明の原理的なブロック構成を示すもであり
、1は乱数を発生させる為のRANキーである。しかし
て、このRANキー1の操作信号は制御部2内に設けら
れたRANキー押圧検出回路2aに印加され、このRA
Nキー押圧検出回路2aからはRANキー1が押圧され
続けていることを示す信号が出力される。この信号は、
制御部2内に設けられた計数及び漸化式演算(本実施例
では2乗演算)制御機能を有する乱数制御部2bに印加
され、この乱数制御部2bからはRANキーーが押圧さ
れ続けている間計数回路3にアップカウント指令が与え
られる。従って、計数回路3はRANキー1が押圧され
ている間所定の計数パルスに応じて計数動作を行い、R
ANキーーの押圧時間‘、比例した計数値を得るもので
ある。しかして、RANキー1の押圧が解除されるとR
ANキー押圧検出回路2aはRANキーーのOFF状態
を検出し、この検出信号を乱数制御部2bに送出する。
乱数制御部2bはこの信号が印加されることにより計数
回路3の計数内容(データ)を演算回路4に転送させる
命令を発生し、このデータは演算回路4内のレジスタ4
a,4bに格納される。そして、このレジスタ4a,4
bに格納されたデータは共に2秦演算回路4cに送出さ
れて2乗演算が実行され、その結果がレジスタ4dに格
納されると共に計数回路3は1だけダウンカウントされ
る。なお、レジスタ4dへの格納は、上位桁優先で行う
アンダーフロー形式とする。しかして、このレジスタ4
dに格納された結果はしジスタ4a,4bに転送されて
これ等のデータ間で再び二乗演算を行い、計数回路3を
1だけダウンカウントさせる動作が計数回路3が「0」
になるまで繰返し行なわれる。即ち、この演算の実行中
は奪判定回路5によって計数回路3の内容が「0」にな
ったか否かが判定されているもので、この判定回路6で
「0」が検出されるとその検出信号は乱数制御部2bに
送出され、この乱数制御部2bからは2乗演算を行なわ
せる為の一連の制御信号は出力しなくなり、次にレジス
タ4dの所定の下位桁を選択して乱数として出力するも
のである。本発明はこのようにして、まず計数回路3に
於てRANキー1の押圧時間に比例した乱数an=f(
t)を得、次にこの乱数を用いてその計数内容に基づく
二乗演算をアンダーフローごせながら実行し、最終的な
乱数として所定の下位桁を用いることにより、結果的に
平均孫中法による乱数an=f(an‐.)と組み合わ
せたAn=f(An‐,,t)なる乱数肌を発生させ得
るものである。次に、第2図のブロック図を参照しなが
ら本発明を小型電子式計算機に適用した場合について説
明する。
図中11は各種マイクロ命令がストアされているROM
であり、該ROMI Iからは、後述するRAM12の
被演算数を記憶しているレジスタの行アドレスを指定す
る信号〔FU〕、演算数を記憶しているレジスタの行ア
ドレスを指定する信号〔SU〕、上記RAM12の被演
算数を記憶しているレジスタの列アドレスあるいは処理
開始列アドレスを指定する信号〔FL〕及び演算数を記
憶しているレジスタの列アドレスあるいは処理終了列を
指定する信号〔SL〕、演算命令、数値コード等のコー
ド信号〔C〕、転送命令等のィンストラクション信号〔
WS〕及び上言己信号〔FL〕,〔SL〕のモードを切
換るモード設定信号〔M〕、自己の次アドレスを指定す
る信号〔NA〕が各々バスラィンa〜gを介して並列的
に出力している。そして、バスラインgを介して出力す
る信号〔NA〕は、アドレスレジスター3に一時的に記
憶される。アドレスレジス夕13の出力は、アドレスデ
コーダー4に入力する。このアドレスレコーダー4は、
入力した信号を各アドレスにデコードして上記ROMI
Iに供給し「ROMI Iのアドレス指定を行う。ま
た、信号〔INS〕及び〔M〕は各々バスラィンfを介
してィンストラクションデータ15に印加される。この
インストラクシヨンデコーダ15は、タイミングデコー
ド17から入力される3相のタイミング信号t,,t2
,t3に同期して制御信号○,〜09及び判断信号Jを
出力する。上記タイミングデコーダ17は、クロック?
,,?2等のタイミング信号を発生するタイミングカウ
ンター6の出力をデコードして上記タイミング信号t,
〜t3を出力する。また、上記RAM12のレジスタの
行アドレスを指定する信号〔FU〕及び〔SU〕は、各
々バスラィンa,bを介してゲート回路○,,G2に印
加され、これらゲート回路○,,G2の出力は、バスラ
インhを介してRAM12の行アドレス入力端子〔UA
U〕に入力する。
なお、上記ゲート回路○,には、タイミングデコーダ1
7から出力するタイミング信号らがィンバータ18を介
して供給され、ゲート回路○2にはタイミング信号しが
直接供給されて、このタイミング信号により開閉制御さ
れている。第〜表 また、上記信号〔FL〕及び〔SL〕は、上記第1表に
示す如く、モード信号〔M〕が“1”の場合は被演算数
及び演算数の記憶されている所定のレジスタの列アドレ
ス指定、モード信号〔M〕が“0”の場合は処理の開始
及び終了列アドレス指定を行なるものであり、その各出
力は、各々バスラインc,dを介してインストラクショ
ンデコーダ15の出力信号0,,02により開閉制御さ
れるゲート回路G3及びG4に印加される。
しかして、このゲート回路○3,04の出力は、共に入
出力共通バスラィンiに出力され、上記RAM12の列
アドレス入力端子RALに入力すると共に、アダ−回路
21に入力する。一方、上記RAM12は、例えばX,
Y,Zのアキュムレータレジス夕及びAレジスタ等種々
のレジスタが行方向に配設されており、これら各レジス
タは、上記行アドレス入力端子〔RAU〕の入力により
、また、各レジスタの桁は上記列アドレス入力端子〔R
AL〕の入力により夫々指定される。
しかして、上記行及び列アドレスによりアドレス指定さ
れた演算数、被演算数あるいは転送等の為に読み出され
たデータはRAM12内に設けられているラツチ回路に
一旦読み込まれ、出力端子〔OUT〕より並列4ビット
のデータとして出力される。この出力されたデータはバ
スラインjを介してタイミング信号t,.ぐ,で読み込
み制御され◇2で書き出されるバッファレジスタ20に
入力される。このバッファレジスタ20に貯えられたデ
ータは、タイミング信号土」 及びインストラクション
デコーダ15から出力される信号04によって制御され
るゲート回路G6を介して並列加減算動作するアダー回
路21へ送られる。また、上記RAM1 2の出力端子
OUTからバスライソjに出力されるデータは、タイミ
ング信号t,及びインストラクションデコーダ15から
出力される信号05によって制御されるゲート回路G7
を介してアダ−回路21へ送られる。なお、本実施例で
は、演算数を記憶しているレジスタの行アドレスを指定
する信号〔SUI〕はゲート回路G2によりt,のタイ
ミングで出力し、被演算数を記憶しているレジス夕の行
アドレスを指定する信号〔FU〕はゲート回路G,によ
りら及びらのタイミングで出力するよう設定され、また
RAM12にはインストラクションデコーダ15から出
力される信号06及びタイミング信号t3が印加されて
いるゲート回路G8の出力が読み出し書き込み信号R/
Wとして印加されているため、上記バスラインjに出力
するデータのうち、演算数はバッファレジスタ20‘こ
貯えられた後、t2及びt3のタイミングでゲート回路
G6を介してアダー回路2 1へ送られ、被演算数はそ
のままt2及びt3のタイミングでゲート回路G7を介
してアダー回路21へ送られる。そしてこのアダー回路
21における演算結果等の出力は、表示部(図示略)に
送出されると共にRAM12のデータ入力端子〔IN〕
に送られゲート回路G8よりt3.◇,のタイミングで
出力されるR/W信号に制御されてRAM12の所定の
レジスタに書き込まれる。また、このアダー回路21の
出力は上記表示部及びRAM12の他のオア回路22を
介して判断回路23のデータ側ラッチ回路23aに印加
されると共にL.◇,のタイミングでバッファレジスタ
19にも謙込まれる。このバッファレジスタ19に諸込
まれたデータは、t,.ぐ2のタイミングで謙出され、
ィンストラクションデコーダ15から出力される信号0
3によって制御されるゲート回路G5を介して出力され
る。このバッファレジスタ19からゲート回路G5を介
して出力されるデータは、RAM1 2の列タアドレス
入力端子「RAL」に入力されると共にアダー回路21
へ入力され、更にROMIIから出力される列アドレス
SLと共に一致回路24に入力される。しかして、この
一致回路24の出力は、タイミングカウンタ16及びタ
イミングデコ0ーダ17から出力されるクロック2・及
びらと共にナンド回路25に印加され、このナンド回路
25の出力はクロツクパルスJRoMAとしてアドレス
レジスタ13へ印加される。また、アダー回路21のキ
ャリー/ボロー出力は判断回路23のキヤIJ−/ボロ
ーラツチ回路23bにセットされ、これ等ラッチ回路2
3a及び23bの各出力はインストラクションデコーダ
15から出力される判断信号1により開閉制御される判
断用ゲート回路26に印加される。そして、この判断用
ゲ−ト回路26の出力は、アドレス修飾用信号としてア
ドレスレジスター3に印加されオア加算される。27は
乱数発生用のRANキー27a、ランキ−27b、ファ
ンクションキー27c等より成るキー入力部で、例えば
RAM12内の所定の桁でカウントされる内容に基づい
てサンプリングされ、その操作出力はキー入力バッファ
28に読込まれる。
このキー入力バッファ28の出力はインストラクション
デコーダ15から出力される信号07によって開閉制御
されるゲート回路G9とを介してアダー回路21に入力
される。なお、このアダー回路21には、インストラク
ションデコーダ15から出力される信号08(減算指令
信号)及びタイミング信号t,が印加されているゲート
回路○,oの出力が減算指令として入力されている。ま
た、ROMIIから出力されるコード信号Cはインスト
ラクションデコーダ15から出力される信号09により
開閉制御されるゲート回路○,.を介して、上記キー入
力信号と共にアダー回路21に送出される。次に第3図
のフローチャート及び第4図A,Bの状態図を参照しな
がら第2図に示す回路構成に於る作用について説明する
第3図処理aはキー入力部27の各キーのサンプリング
及びキー判断を行うもので、上述した如くRAM1 2
内の所定の桁をカウント桁として用い、このカウント桁
の内容をデコードして所定のサンプリング信号を発生さ
せサンプリング操作を行う。
しかして、キーのオンオフ信号は一担キー入力バッファ
2拍こ記憶され、その後ィンストラクションデコーダ1
5から出力かれる信号07により開閉制御されるゲー
ト回路G9、アダー回路21を介してFU,FLにアド
レス指定されるRAM12の所定の領域に格納される。
この格納データは、その後所定の処理によりいずれのキ
ーに対応するデータであるかが判断されるが、RANキ
ー27aであることが判断されると処理bに進む。なお
、処理aにてキーオンが検出されない間は処理aのサン
プリングを続ける。そして、処理bでは、上記処理aと
略同様のキーサンプリングをRANキー27aにのみ着
目して行いRANキー27aが押圧されている時はステ
ップCに進む。このステップCはRAM12内に設けら
れたAレジスタの5〜8桁A4〜A7に対し「十1」す
る演算を実行するもので、行アドレスSU及びFUはA
レジスタに対応するアドレスを出力し、列アドレスFL
及びSLは夫々処理開始列「4」及び「7」を出力する
。従って、t,のタイミングではAレジスタの5桁目が
指定され、5桁目の内容がバッファレジスタ20‘こ読
み込まれる。t2のタイミングではこのバツフアレジス
タ20の出力がゲート回路○6を介してアダー回路21
に印加されると共にROMIIからゲート回路G,.を
介して出力されたコード信号「1」がアダー回路21に
印加される。従ってアダー回路21ではAレジスタの5
桁目のデータに「1」を加算する動作が行なわれ、その
結果はt3のタイミングで再びAレジスタの5桁目‘こ
書き込まれる。しかして次のサイクルに於るt,では、
前回のサイクルのLのタイミングで「FL+,一された
結果が格絡されているバッファレジスタ19の出力によ
り6桁目が指定されるがコード信号〔C〕は出力してい
ないので、前回の演算によるキャリーの処理のみが行な
われ、この処理は8桁目まで実行される。即ち8桁目で
は、バッファレジスター9の出力が「7」となっており
またROMIIから出力される終了列アドレスSLも「
7」であることにより一致回路24で一致が検出されナ
ンド回路25がアドレスレジスタ13の議込みクロツク
JRoMAを出力し、再び処理bに進んで、ROMII
からは次に再び処理bの各命令が出力される。このよう
に、キー入力部27のRANキー27aが操作され続け
ている間は処理b及びステップcが交互に繰り返されレ
ジスタAの5桁目から8桁目に対する「十1」演算が行
なわれることによりRANキー27aの押圧時間に比例
した計数値を得ているものである。そこで、今最初にR
ANキー27aが操作されたとすると第4図AのA−1
に示す如くAレジスタは「0」であり、この状態からA
川2及びA−3に示す如く順次「十1」ごれる。しかし
て、この計数値がA−4に示す如く「123」になった
時にRANキー27aが「OFF」したとすると、処理
bでこの「OFF」状態が険出され次にステップdに進
む。このステップdはAレジスタの内容をXレジスタに
転送するもので、行アドレスSUによりAレジスタを指
定し、FU‘こよりXレジスタを指定する。また、列ア
ドレスは、FLにより開始列アドレス「0」を、SLに
より終了列アドレス「7」を夫々指定し、Aレジスタの
1桁目から8桁目Ao〜A7の内容をXレジスタの1桁
目から8桁目Xo〜X7に転送するものである。即ち、
この転送は、t,のタイミングでAレジスタの1桁目の
内容をバッファレジスタ20にセットし、このバツフア
アレジスタ20の出力をゲート回路G6及びアダー回路
21を介してt3のタイミングで×レジスタに書き込む
もので、列アドレスは上,のタイミングで順次「十1」
されバッファレジスタ19に格納されることにより更新
され8桁目まで順次実行されるものである。しかして、
8桁目の転送が終了すると、上記同様の動作によりナン
ド回路25からアドレスレジスタ13の議込みクロツク
ORoMAが出力され次に処理eに進む。なお、ステッ
プdに於る転送の結果Aレジス夕及び×レジスタの記憶
状態は第4図A−5に示す如くなる。処理eは、Xレジ
スタの記憶客を順次二乗していくもので、後述するステ
ップfと交互に実行しAレジスタの第5桁目A4に格納
されている数値に示された回数だけ二乗演算を繰り返す
ものである。なお、この二乗演算はアンダーフローさせ
ながら実行する。即ち、上記ステップdによりXレジス
タには「01230000」が転送されているので、処
理eではまず所定の演算レジスタを使用して「1230
000×1230000」の演算を実行し、その結果「
1512900000000」を得るが、アンダーフロ
ーさせることにより上位8桁がXレジスタに格納され、
次にステップfに進む。
このステップfは、Aレジスタの5桁目A4から「1」
を減じ、その結果を再びAレジスタの5桁目に格納する
と共に、この減算でボローが生じたか否かを同時に判断
する。即ち、SU及びSLによって指定されたAレジス
タの5桁目A4のデータはt,でバッファレジスタ20
に読込まれ、t2のタイミングで、このバッファレジス
タ20の出力及びROMI Iから出力されゲート回路
○,.を介して出力されたコード信号「1」がアダー回
路21に印加され、また、オペレーションデコーダ15
からは減算を指令する信号08及び判断を実行させる信
号が出力されることにより、ら及びらのタイミングで「
3一1」の減算が実行され、その結果「2」はFU,F
Lにアドレス指定されるAレジスタの5桁目へに書き込
まれると共に、オア回路22を介して判断回路23のラ
ッチ回路23aにセットされる。また、この演算による
ボロー信号(今は出力していない)は判断回路23のラ
ツチ回路23bにセットされ、これ等ラッチ回路23a
,23bの出力は信号Jにより開成ごれている判断用ゲ
ート回路26を介し、アドレス修飾用信号としてアドレ
スレジスタ13に印加される。なお、この判断の結果ボ
ローがない場合には再び処理eに戻る如くアドレス修飾
がなされ、ポローがあった場合には次のステップgに進
む如くアドレス修飾がなされる。しかして、この処理e
及びステップfを実行した結果Aレジスタ及び×レジス
タの格納状態は第4図A−6に示す如くなり、またステ
ップfの減算の結果ボローは生じないので次に再び処理
eに進む。従って、今回の処理eでは「1512900
0×15129000」の演算が行なわれ、その結果の
上位8桁「228総664」がXレジス外こ格納され、
次にステップfに於てAレジスタの5桁目A4から「1
」を減じる動作が行なわれ、その結果「1」が再びAレ
ジス夕の5桁割こ格納される。この時のAレジスタ及び
×レジスタの格納状態は第4図AのA−7に示す如くで
ある。このようにして処理e及びステップfを交互に繰
り返し、×レジスタに記憶されている内容の二乗がAレ
ジスタの5桁目に記憶されている内容に示される回数だ
け繰り返され、その結果Aレジスタ及び×レジスタの格
納状態は第4図AのA−8及びA−9の如く変化する。
しかして、このA−8からA−9に変化した際、ステッ
プfに於る減算の結果ボローが発生し、ラツチ回路23
bにセットされる為、アドレスレジスタ13のアドレス
は次にステップgに進む如くアドレス修飾される。この
ステップgは×レジスタの1桁目から8桁目Xo〜X7
の内容をAレジスタの1桁目から8桁目Ao〜んに転送
するもので、上記ステップdと同様の動作により実行さ
れる。なお、このステップdでXレジスタの内容をAレ
ジス外こ転送するのは、この二乗演算により得られた乱
数を次の計数の初期値にする為で、出力する乱数をより
精度の高いものにするためのものである。しかして、こ
のステップgを終了するとAレジスタ及び×レジスタの
格納状態は第4図AのA−10に示す如くなり、次にス
テップhに進んでXレジスタの3桁目から8桁目X2〜
X7にROMI Iから出力されたコード信号C(プラ
ンキングコード)が書き込まれ、Xレジスタの格納状態
は第4図AのA−11に示す如くなる。そして、この一
連の動作により得られた結果「70」が乱数として表示
される。しかして、次に再びRANキー27aが操作さ
れると処理aにてRANキー27aが操作されたことが
判断され処理bに進む。
そして、この処理b及びステップcを上述した如く交互
に繰り返しRANキー27aの押圧時間に比例した計数
値を得るが、この計数の初期値は前回の二乗演算の結果
、即ち「27446170」となっている。そして、R
ANキーの押圧されている間に「56」の計数が成され
たとするとAレジスタの5桁目から8桁目に「十56」
これ、このAレジスタの記憶内容は第4図BのB−1,
B−2・・・・・…・B−3の如く変化しその記憶内容
は、「28006170」となって次にステップdに進
む。このステップdは上述した如くAレジスタの内容を
Xレジスタに転送するもので、その結果Aレジス夕及び
×レジスタの記憶状態は第4図BのB−4に示す如くな
り次に処理eに進む。この処理eでは、ステップdで転
送されたAレジスタの内容「28006170」を二乗
し「78434555」を得て次にステップfに進む。
しかして、このステップfではAレジス夕の5桁目A4
から「1」を減じる動作、即ち「0−1」が行なわれ、
ボローが発生することによりAレジスタ及び×レジスタ
の記憶状態は第4図BのB−5に示す如くなり次にステ
ップgに進む。そして、このステップg及びステップh
を上記同様に実行することによりAレジスタ及び×レジ
スタの記憶状態は第4図BのB−6及びB−7の如く変
化され乱数「55」が表示される。このように、上記実
施例ではRANキー27aの押圧されている時間を中間
桁を使用して計数し、この計数値を初期値とすると共に
この計数値の最下桁に示された回数の二乗演算をアンダ
ーフローさせながら実行し、その結果の下位2桁を乱数
とすることにより何ら特別の付加回路を設けることなく
小型電子式計算機の基本的な命令を組み合わせるので簡
単に精度の高い乱数を得ることが出来る。
また、2回目以降のRANキー27aの押圧時間の計数
は、二乗演算により得られた乱数を初期値として行うこ
とにより、乱数の為の初期値は全く乱雑なものとなる。
次に、第5図を参照しながら本発明の他の実施例につい
て説明する。
なお、上記実施例と同様なステップ及び処理については
同一の参照番号を付しその説明を省略する。本実施例は
、乱数の為の初期値は前回までの演算に使用されていた
レジス夕の記憶内容を用い、RANキー27aの押圧時
間に比例した計数を「0〜15」の間でサィクリックに
行なわせ、その計数値に示された回数の二乗演算を実行
させるものである。即ち、処理aによってRANキー2
7aが操作されたことが検出されると処理bに進み、こ
の処理b及びステップiをRANキー27aが押圧され
ている間交互に繰り返す。このステップiはRAM1
2内の所定の記憶エリア(1桁)を用いて「0〜15」
の間で計数するもので、RANキー27aの押圧が解除
されると次にステップjに進み例えば演算の補助レジス
タとして使用され、中間結果等の不定なデータが格納さ
れているAレジスタの内容を×レジスタに転送し、次に
処理eに進み上述したと同機に二乗演算を行う。しかし
て、このステップcを一回実行する毎に次のステップk
lこ於て上記ステップiで計数した「c」の内容から「
1」を減じ処理eの「x2」及びステップkの「c−1
」の夫々の演算をステップkの「c−1」によってボロ
ーが発生するまで繰り返す。なお、このステップkに於
るアドレス修飾の方法は上記したステップfに於る場合
と同様である。そして、このステップkに於てボローが
発生すると次にステップg及びhを上記同様に実行して
2桁の乱数を得るものである。このように、本実施例で
は乱数を求める為の初期値としては、乱数を求める演算
の前に使用されていた所定のレジスタの記憶値を用い、
その後その結果を初期値として、R山Nキー27aの押
圧時間内にカウントされた計数値の値だけ二乗演算を施
すことにより、上記実施例同様何ら特別な付加回路を設
けることなく簡単に精度の高い乱数を得ることが出釆る
ものである。
なお、上記両実施例では乱数を発生させる為の特別なキ
ーを設けたが、これは特別なキーに限ることなく、例え
ば演算にあまり関与しない小数点キー等を兼用しても良
く、もちろんその他のキーと兼用させることも可能であ
る。
また、上記両実施例では潮化式として二乗演算を用いた
が、この演算は二乗演算に限ることなく他の演算でも良
いものである。
要するに本願は乱数発生を指示する所定のキーの押圧時
間に対応した計数値と演算を組み合わせて乱数を得るよ
うにしたものであり、本願の要旨を逸脱しない範囲で種
々変形応用することが可能である。
以上詳細に説明した如く本発明による乱数発生方式は、
乱数を発生させることを指示する所定のキーの押圧時間
に対応した計数値を得、この計数値あるいは内部レジス
タの乱雑な状態を初期値とすると共に上記計数値の少な
くとも一部によって示された回数の演算を繰返し行うこ
とにより乱数を得るようにした為初期値及び演算回数の
双方に乱数が用いられ、乱数の範囲が制限されることも
、系列をもつこともなく極めて精度の高い乱数を発生さ
せることが可能になる。
また、その回路構成は極めて簡単なもので可能となる等
種々の利点を有する。
【図面の簡単な説明】
第1図は本発明の一実施例を説明する為の原理図、第2
図は同実施例を小型電子式計算機に適用した場合のブロ
ック図、第3図は第2図に於る作用を説明する為のフロ
ーチャート、第4図A,Bは夫々レジスタの格納状態の
変化を示すレジスタ状態図、第5図は本発明の他の実施
例を説明する為のフローチャートである。 1,27a……RANキー、3……計数回路、4・・・
・・・演算回路、4c……二乗演算回路、11・・・・
・・ROM、1 2…RAM、2 1・・・・・・アダ
ー回路、23・・・・・・判断回路。 第1図 図 N 蛾 第3図 第5図 第4図

Claims (1)

    【特許請求の範囲】
  1. 1 乱数を発生を指示する所定のキーと、該キーの押圧
    時間に対応した計数値を得る計数手段と、該計数手段の
    計数値あるいは内部レジスタの不確定な記憶値を初期値
    とし、その初期値を用いて上記計数値の少なくとも一部
    により示された回数の所定演算をくり返し実行する演算
    手段とを具備しこの演算手段により得られた結果の少な
    くとも一部を乱数として出力することを特徴とする乱数
    発生方式。
JP52137169A 1977-11-14 1977-11-14 乱数発生方式 Expired JPS601651B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP52137169A JPS601651B2 (ja) 1977-11-14 1977-11-14 乱数発生方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP52137169A JPS601651B2 (ja) 1977-11-14 1977-11-14 乱数発生方式

Publications (2)

Publication Number Publication Date
JPS5469345A JPS5469345A (en) 1979-06-04
JPS601651B2 true JPS601651B2 (ja) 1985-01-16

Family

ID=15192423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52137169A Expired JPS601651B2 (ja) 1977-11-14 1977-11-14 乱数発生方式

Country Status (1)

Country Link
JP (1) JPS601651B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58114134A (ja) * 1981-12-28 1983-07-07 Hitachi Electronics Eng Co Ltd 乱数発生器
JPS6398027A (ja) * 1986-10-14 1988-04-28 Kyodo Printing Co Ltd デ−タ処理システムにおける乱数発生方法および装置

Also Published As

Publication number Publication date
JPS5469345A (en) 1979-06-04

Similar Documents

Publication Publication Date Title
US4038643A (en) Microprogramming control system
US4206346A (en) System for gathering data representing the number of event occurrences
US3822378A (en) Addition-subtraction device and memory means utilizing stop codes to designate form of stored data
US4020467A (en) Miniaturized key entry and translation circuitry arrangement for a data processing unit
JPS601651B2 (ja) 乱数発生方式
GB889290A (en) Improvements in or relating to data processing equipment
JPS62279438A (ja) トレ−ス回路
JPS6137080Y2 (ja)
JPS5882296A (ja) ドツトマトリクス表示方式
JPS5922587Y2 (ja) 乱数発生装置
JPS5922590Y2 (ja) 携帯用演算器
SU955027A1 (ru) Устройство дл вычислени булевых функций
SU1168939A1 (ru) Микропрограммное устройство управлени
JPS6227930Y2 (ja)
SU407312A1 (ru) Приоритетное устройство для выполняемых
SU951991A1 (ru) Вычислительна машина
JPS6032227B2 (ja) 定数記憶制御方式
JPH0456349B2 (ja)
JPS6035699B2 (ja) 括弧レベル数表示方式
JPS5939057B2 (ja) カツコ計算機能付計算機のレジスタ制御方式
JPS6032226B2 (ja) オ−バ−フロ−検出方式
US3154676A (en) Change adder
JPS5949614B2 (ja) 日付表示方式
JPS5921068B2 (ja) プログラムステツプ算出方式
JPS626253B2 (ja)