Генератор случайных чисел

Номер патента: 980093

Автор: Тарасов

ZIP архив

Текст

(72) Автор изобретеии Тарас аэанский "орде авиационный расного ЗнаменА.Н. Туполева Трудового ститут им(Я) ГЕНЕРАТОР СЛУЧАЙНЫХ ЧИ Изобретение относится к вычислительной технике и может найти применение при статистическом моделировании в цифровых вичислительных машинах.Известно устройство для формирова 5 ния случайных чисел, содержащее генератор тактовых импульсов, блок формирования равномерно распределенных случайных чисел, дешифратор кодовых комбинаций, дешифратор номера разряда, запоминающее устройство, избирательную схему, регистр, схемы совпадения, счетчик 1Однако устройство имеет низкое быстродействие, так как в каждом так те его работы формируется только один разряд случайного числа с фиксированной запятой.Известно устройство, содержащее генератор равномерно распределенных 20 случайных чисел, схему сравнения, запоминающее устройство, блок логарифмического перебора, генератор тактовых импульсов2 . 2Устройство также имеет низкое быстродействие, так как щ-разрядное случайное число с фиксироеанной запятой формируется в течение (в+1 ) тактов.Наиболее близким техническим решением к предлагаемому является генератор случайных чисел, содержащий генератор тактовых импульсов, генератор равномерно распределенных случайных чисел, вход которого соединен с первым выходом генератора тактовых импульсов, запоминающее устройство, схему сравнения, первая и вторая группы входов которой подключены к выходам запоминающего устройства и генератора равномерно распределенных случайных чисел соответственно, первую и вторую группы элементов И, дешифратор. регистр, выходы которого через дешифратор соединены с первой группой входов запоминающего устройства, второй вход запоминающего устройства подклю:чен к первому выходу генератора тактовых импульсов, входы регистра сое-19 98009 проходит через элемент ЗАПРЕТ 49 на первый вход элемента ИЛИ-НЕ 51, на выходе которого образуется нулевой сигнал. Это обьясняется тем, цто второй вход элемента ЗАПРЕТ 49 является запрещающим входом и единичный сигнал через элемент ЗАПРЕТ 49 проходит только .при условии Г=О. При 1=0 на выходе элемента ЗАПРЕТ 49 и на выходе всех элементов И блока 50 будут нуле вые сигналы, которые вызовут появление на выходе элементов 51 и 51 ИЛИНЕ единичных сигналов, На остальные выходы группы выходов 55 блока 13 проходит единичный сигнал с второго 15 входа 53 блока 13. В результате имеем, цто нулевой сигнал формируется только,на выходе 55 А блока 13 (т. е. равен нулю самый младший разряд слагаемого), а на всех остальных выходах рО блока 13 появится единичный сигнал, т, е, А=11 110. Как отмечалось выше поступление кода Л/11 110 на входы сумматора 14 вызывает уменьшение его содержимого на единицу. После поступ ления 1 единицных сигналов на вход 53 блока 13 в сумматоре 14 будет проведено 1 операций сложения, в результате чего содержимое сумматора умень- шится на Ф единиц.30 Рассмотрим случай 1=я. В этом случае работа блока 13 во всех тактах кроме в-го такта не отличается от ранее рассмотренного. В е-ом такте од 35 новременно на входы, 52 и 53 блока 13 поступают единичные сигналы, т, е, в, этом случае. 1=1. Сигнал 1=1 с входа 52 блока 13 поступит на первую группу входов блока 50 элементов И и раз-решит прохождение сигналов с выходов блока 49 элементов ЗАПРЕТ на входы блока 51 элементов ИЛИ-НЕ, Одноврет менно единичный сигнал 1=1 запретит прохождение сигнала с входа 53 блока 13 через элемент ЗАПРЕТ 49. На выходе остальных элементов, ЗАПРЕТ блока 49 будут Формироваться несовместимые случайные последовательности сигналов, вероятности появления единичного-03 -Л е 50 сигнала в которых равны 2,. где Ц порядковый номер элемента ЗАПРЕТ в блоке 49, ц= 2, 6. Например, на выходе элемента ЗАПРЕТ 49 вероятность появления единичного сигнала в е-ом55 такте равна 2-, на выходе элемента ЗАПРЕТ 49 - 2 и т. д. Это объясняется тем, что группа входов 54 блока13 подключена,к третьей группе выхо 3 20дов генератора 8 равномерно распределенных случайных чисел, вероятность появления единичного сигнала на каждом выходе которого равна 2- На выходе элемента ЗАПРЕТ 49 единичный сигнал появится в а-ом такте в случае 1=в только при С=О, где Сл - значение сигнала на входе 54 Поэтому вероятность появления в в-ом такте при 1=а единичного сигнала на выходе элемента ЗАПРЕТ 49 равна вероятности события Сл =0, которое наступает с вероятностью 2так как вход 54 блока 13 подключен к разрядному выходу генератора 8 равномерно распределенных случайных чисел. На выходе элемента ЗАПРЕТ 49,5 единичный сигнал появится только при С =1 и С =,О, где С - значение сигнала на входе 54,2Вероятност,ь события С С =1 равна 2- в силу отсутствия корреляции между выходными последовательностями генератора 8. Аналогично, единичный сигнал на выходе элемента ЗАПРЕТ 49 появится только при С С=1 и С 5=0, т, е. с вероятностью Р(СлСС, =1 )=2 и т. д.-3Выход элемента ЗАПРЕТ 49 соединен с первым входом элемента ИЛИ-НЕ 51,. Поэтому в в-ом такте при 1=в с вероят. ностью 2 " на выходах блока 13 будет сформирован код А=11 101, который является обратным кодом отрицательного числа А= -0010=-2. Выход элемента И 50,1 соединен с вторыми входами элементов ИЛИ-НЕ 51,1 и ИЛИ-НЕ 51 . Поэтому в а-ом такте при 1=в с вероятностью 2-ф.на выходе блока 13 будет сформирован код А=11 100, который является обратным кодом отрицательного числа А=-0011=-3 и т. д, Таким образом получили, что в случае 1=а в а-ом такте содержимое сумматора 14 с вероятностью 2 будет уменьшено на-й две единицы, с вероятностью 2 - на три единицы и т. д. Это необходимо делать для того, цтобы более точно формировать случайные числа, которыеИф по абсолютной величине меньше ,Г . Известное устройство все числа, которые-И по абсолютной величине, меньше 2 , где щ - разрядность формируемых чисел, представляет нулевым кодом, т. е. с очень большой погрешностью. Поэтому использование предлагаемого устройст" ва позволяет повысить точность представления случайных величин.Заметим, что нормализованные слу- чайные числа с плавающей запятой мож21 98009322 управляющий вход генератора тактовыхимпульсов подключен к выходу схемысравнения, третий выход генераторатактовых импульсов подключен к управляющему входу блока памяти и управляющему входу второго регистра памяти, выход блока памяти соединен с инЧформационным входом второго регистрапамяти, выход которого подключен квторому входу схемы сравнения, трено получить из чисел с фиксированнойзапятой, применяя операции сдвига икорректируя соответствующим образомпорядок числа, Однако это требует дополнительных затрат времени на проведение названных выше операций. Поэтому предлагаемое устройство, в которомв-разрядная мантисса случайного числа с плавающей запятой и порядок числа формируются за щ тактов одновре о менно с формированием в-разрядного тий вход которой соединен с цетверслуцайного числа с фиксированной за- тым выходом генератора тактовых импятой, обладает более высоким быстро- пульсов, первый, второй и третий входействием, так как не требует затрат ды первого блока элементов И подклювремени на проведение дополнительных 5 цены соответственно. к третьему выхоопераций. ду первого регистра памяти, к выходу. схемы сравнения и к первому выходуИспользование новых элементов - генератора тактовых импульсов, выходрегистров, коммутатора, блока логицес- первого блока элементов И являетсяких элементов, сумматора, блока эле- о вторым выходом генератора, пятый выментов И выгодно отличает предлагае- ход генератора тактовых импульсов подмое устройство от прототипа, так как ключен к первому входу коммутатора,позволяет расширить его функциональ - второй и третий входы которого соединые возможности, повысить точность нены с выходом схемы сравнения и спредставления случайных величин и по г 5 первым выходом генератора тактовыхвысить скорость формирования случай- импульсов соответственно, шестой выных чисел с плавающей запятой. ход генератора тактовых импульсов подключен к четвеРтому входу коммутатоформула изобретения . Ра, к входам третьего регистра памяти, второго и третьего блоков элеменГенератор случайных чисел, сойеР- тов И к первому вхок первому входу сумматора и кжащий первый регистр памяти, дешифравходу генератора равномерно распредетор, блок памяти, информационный вход ленных случайных цисел, второй и трекоторого через дешифратор соединен с тий выходы которого соединены с пяпервым выходом первого регистРа памя- тым входом комм таттым входом коммутатора и с информацити, генератор тактовых импульсов, схе- онным входом блокаонным входом лока инверсии кода сому сравнения, первый и второй блоки ответственно, седьмой выход генератоэлементов И, выход второго блока элера тактовых импульсов подключен к перментов И является первым выходом гене вому управляющему входу блока инверратора генератор равномерно распределенных случайных чисел, первый выход которого соединен с первым входом . Ра, группа выходов которого подключенсхемы сравнения, о т л и ч а ю щ и и на соответственно к групге входовс я тем, что, с целью повышения его, третьего регистра памяти группа выхоч мФточности, он содержит второи, третиидов последнего соединена соответсти четвертый регистры памяти, коммута- венно,с группой входов второго блока45тор, блок инверсии кода, сумматор, элементов И группа входов сумматорасгУтретии блок элементов И, причем пер- подключена соответственно к группе вывый и второй управляющие и информаци ходов блока инверсии кода, второйонный входы первого регистра памятисоединены соответственно с первым и четвертого регистра памяти, а группавторым выходами генератора тактовых выходов сумматора соединена соответстимпульсов и с выходом схемы сравне- венно с группой входов третьего блокания, второй выход первого регистРа элементов И, выход которого являетсяпамяти подключен к пеРвому управляю . третьим выходом генератора,щему входу, генератора тактовых имсточники ин ормации,пульсов, входы "Пуск" и "Стоп" кото" принятые во внимание при экспертизерого являются соответственно входами232. Авторское свидетельство СССРМ 309356, кл. 0 06 Г 7/58,1970, 980093 21 3. Авторское свидетельство СССР У 378826, кл. С 06 г 7/58, 1971 (про тотил).98 ОО 93 Составитель А, Караседактор Н. Грищанова Техред И,Гергель орректор И. Демчик Заказ 9361/39 5 шская наб. филиал ППП "Патент", г. Ужгород, ул. Проектная, 4 Тираж 731 ВНИИПИ Государствен по делам иэобрет 3035; Иосква, Ж, РПодписноеого комитета СССРний и открытий3 98009 15 сти за счет одновременного формирова 20 ния случайных чисел с фиксированной запятой и нормализованных случайных чисел с плавающей запятой с заданным законом распределения.Поставленная цег,ь достигается тем, что в известный генератор случайных чисел, содержащий первый регистр памяти, дешифратор, блок памяти, информационный вход которого через дешифратор соединен с первым выходом пер" вого регистра памяти, генератор тактовых импульсов, схему сравнения, пер. вый и второй блоки элементов И, выход второго блока элементов И является первым выходом генератора, генератор равномерно распределенных случай 55 ных чисел, первый выход которого соединен с первым входом схемы сравнения, введены второй, третий и четвертый регистры памяти, коммутатор, блок инверсии кода, сумматор, третий блок 40 элементов И, причем первый и второй управляющие и информационные входы первого регистра памяти соединены с первым и вторым выходами генератора тактовых импульсов и с выходом схемы сравнения соответственно, второй вы-,На фиг. 1 приведена структурная схема устройства для формирования слу динены с выходами первой группы элементов И, первая и вторая группы входов которой подключены к выходам схемы сравнения и генератора тактовыхимпульсов соответственно, выходы регистра через вторую группу элементовИ соединены с выходами устройства, последний выход генератора тактовых импульсов подключен к второй группе входов второй группы элементов И 3Известное устройство обладает ограниченными функциональными воэможностями, поскольку не позволяет формировать нормализованные случайные числа с плавающей запятой с заданным законом распределения, что в конечном счете снижает его точность,Цель изобретения - повышение точноход первого регистра памяти подключенк первому управляющему входу генератора тактовых импульсов, входы "Пуск"и "Стоп" которого являются соответственно входами "Пуск" и "Стоп" генератора, а второй управляющий вход генератора тактовых импульсов подключенк выходу схемы сравнения, третий выход генератора тактовых импульсов под ключен, к управляющему входу блока памяти и первому входу второго регистра памяти, выход блока памяти соеди 3 4нен с информационным входом второго регистра памяти, выход которого под. ключен к второму входу схемы сравнения, третий вход которой соединен с четвертым выходом генератора тактовых импульсов, первый, второй и третийвходы первого блока элементов И подключены соответственно к третьему выходу первого регистра памяти, к выходу схемы сравнения и к первому выходу генератора тактовых импульсов,выход первого блока элементов И является вторым выходом генератора, пятый выход генератора тактовых импульсовподключен к первому входу коммутатора, второй и третий входы которогосоединены с выходом схемы сравненияи с первым выходом генератора тактовых импульсов соответственно, шестойвыход генератора тактовых импульсовподключен к четвертому входу коммутатора, к входам третьего регистра памяти, второго и третьего блоков элементов И, к первому входу сумматораи к входу генератора равномерно распределенных случайных чисел, второйи третий выходы которого соединены спятым входом коммутатора и с информационным входом блока инверсии кодасоответственно, седьмой выход генера.тора тактовых импульсов подключен кпервому управляющему входу блока инверсии кода, второй управляющий входкоторого соединен с выходом коммутатора, группа выходов которого подклю.цена соответственно к группе входовтретьего регистра памяти, группа выходов последнего соединена соответст.венно фс группой входов второго блокаэлементов И, группа входов сумматораподключена соответственно к группевыходов блока инверсии кода, второйвход сумматора подключен к выходу четвертого регистра памяти, а группа выходов сумматора соединена соответственно с группой входов третьего блока элементов И, выход которого является третьим выходом генератора. чайных чисел; на фиг, 2 - функциональная схема генератора тактовых импульсов; на фиг. 3 .- функциональная схема коммутатора; на фиг. 4 - функциональная схема блока инверсии кода; на фиг. 5. - временная диаграмма работы устройства для формирования случайных чисел,3 6тактовых импульсов, Если при этом окажется, чтоЪГ(х), то на выходе схемы 6 сравненияпоявится единичный сигнал Ь=.1. ЕслиСЕ (х ), то Ь=О. Здесьчтекущий номер разряда случаиного числа с заданным законом распределения, Сформированный таким образом сигнал (разряд) Ь, где =1,щ поступает одновременно на вход младшего разряда регистра 1, на четвертый вход генератора 4 тактовых импульсов, на вто. рой вход первого блока 7 элементов И и на первый вход коммутатора 9. Здесь щ - разрядность формируемых случайных чисел,ыСлучайное число с фиксированнои запятой формируется в регистре 1, который одновременно является и адресным регистром блока 3 памяти. До начала каждого цикла формирования очередного случайного числа по сигналу с четвертого выхода генератора 4 тактовых импульсов щ разрядный регистр 1 устанавливается в начальное состояние, равное 00001, т. е. в регистр 1 записывается двоичный код, имеющий единицу только в одном младшем разряде. По этому адресу в запоминающем устройстве 3 записано значение Функции распределения при х=0,5, т. е, Е(0,5). Поэтому в первом такте работы устройства формируется первый разряд Ъ случайного числа путем сравненияс Г(0,5), Результат сравнения (т. е, сигнал Ь 1) поступает в младший разряд регистра 1, содержимое которого в это же время по сигналу с первого выхода генератора 4 тактовых импульсов сдвигается на один разряд в сторону старших разрядов. Таким образом по окончании формирования первого разряда 4 случайного числа в регистре 1 будет находиться код 0000 4. Во втором такте формируется второй разряд Ь случайного числа. При этом в зависимости от значения сигнала Ь из блока памяти в регистр 5 бу 1дет считано либо значение Г (0,25) Функции распределения, либо Е(0,75). Это объясняется тем, что по адресу 00010 (т. е. при Ь 1=0 ) в блоке памяти записано значение Г (0,25), а по адресу 00011 (т. е. при Ь=1) - значение Г(0,75). Поэтому, если Ь =0 (т. е. если 1 Г (0,5 ) ), то из блока памяти в регистр 5 будет считано значение Г(0,25) функции распределения,,Р подсчитанное на середине интервала 5 98009Устройство для формирования случайных чисел содержит первый регистр1 памяти, дешифратор 2, блок 3 памяти, генератор 4 тактовых импульсов,второй регистр 5 памяти, схему 6 сравнения, первый блок 7 элементов И, генератор 8 равномерно распределенныхслучайных цисел, коммутатор 9, третийрегистр 10 памяти, второй блок 11 злементов И, четвертый регистр 12 памяти, блок 13 инверсии кода, сумматор14, третий блок 15 элементов И, входы 16 и 17, второй 18, первый 19 итретий 20 выходы.Генератор 4 тактовых импульсов 15. импульсный формирователь 24, первыйтриггер. 25, генератор 26 импульсов,вторс"1 27 и третий 28 1 риггеры, блок29 элементов И, входы 16, 17, 30, 31 2 ои группу выходов 32,Коммутатор 9 (фиг. 3) содержит регистр 33 сдвига, первый 34 и второй35 блоки элементов И, импульсный Формирователь 36, элемент НЕ 37, элемент 25И 38, третий блок 39 элементов И,блок 40 элементов ИЛИ, входы 41-44,группу входов 45, выход 46 и группувыходов 47.Блок 13 (фиг. 4 ) содержит первыйблок 48 элементов И, блок 49 элементов ЗАПРЕТ, второй блок 50 элементовИ, блок 51 элементов ИЛИ-НЕ, входы52 и 53, группу входов 54 и группувыходов 55.35Генератор случайных чисел работаетследующим образом,В каждом такте работы генератора(такт работы задается генератором 4тактовых импульсов) формируется один 4разряд Ь случайного числа с заданнйм закойом распределения путем сравнения равномерно распределенного случайного числас значением функциираспределения Г(х ) в узловой точкех . При этом число 1 снимается с выхода генератора 8 равномерно распределенных случайных чисел, а в регистре 5 находится значение Г(х ) Функциираспределения, которое поступает врегистр 5 из блока 3 памяти по сигналам с второй группы выходов регистра1 и с второго выхода генератора 4 тактовых импульсов. Сравнение равномерно распределенного числа 1 с значением функции распределения Е(х ) осуществляется с помощью схемы Ь сравнения в момент времени, задаваемый сигналом с третьего выхода генератора 47 9800 (0,05), а при Ь 4=1 (т, е. приЮ(0 5 - значение Г(0,75) функции Г (х ), подсчитанное на середине интервала (0.5,1). В результате сравие нияс значением Функции распределения, находящимся в регистре 5, во вто ром такте будет сформирован второй разряд Ь случайного числа. Сформированный сигнал Ь с выхода схемы 6 сравнения поступит в младший разряд 10 регистра 1, в результате чего в регистре 1 установится новый код 001 Ь Ь, поскольку содержимое регистра 1 по сигналу с первого выхода генератора 4 тактовых импульсов вновь сдвига ется на один разряд, а в освободившийся при этом младший разряд записывается значение сигнала Ь . Описанныйпроцесс сравнения равномерно распределенного случайного числасо средин ными значениями функции Г(х ) будет продолжаться щ тактов, причем в в-ом такте в регистре 1 будет находитьсяд 1 Ь ЬЬ Ь В щ-ом такте содержимое регистра 1 25 (за исключением старшего разряда, в котором записана единица ), а также значение п 1-го разряда Ь снимаемое свыхода схемы 6 сравнейия, через первый блок 7 элементов И по сигналу с З 0 четвертого выхода генератора 4 тактовых импульсов поступает на первую группу 18 выходов устройства. Действи. тельно, первая группа входов блока 7 элементов И соединена с выходами (в) младших разрядов регистра 1, т. е. с выходами тех разрядов регистра 1, вкоторых находится код Ь 1 Ь .Ь Ья 1,1 а второй вход блока 7 подключен к выходу схемы 6 сравнения,с которой снимается в в-ом такте сигнал Ь Таким Образом в в-ом такте на выход 18 уст-, ройства проходит а-разрядное случайное" число Ь Ь Ь, Ь Ь с фиксированной запятой (запятая фиксирована пе 45 ред старшим разрядом Ь 4 ), При необходимости разрядность формируемых случайных чисел может быть увеличена за счет добавления к в-разрядному числу разрядов равномерно распределенного случайного числа, снимаемого с выходагенератора 8. Рассмотрим теперь процесс формирования нормализованного случайного числа с плавающей запятой. Как известно, 55 число с плавающей запятой представляется в следующем виде И 2 , где И- мантисса числа; Р - порядок числа. 93 8Число является нормализованным, еслив старшем разряде мантиссы стоит единица. Использование нормализованныхчисел ведет к повышению точности решения задач, так как любая величинапредставляется нормализованным числом с наибольшей точностью. В данном генераторе мантисса числа формируется в третьем регистре 10, а порядок числа - в сумматоре 14. До начала формирования каждого случайного числа по сигналу с шестого выхода генератора 4 тактовых импульсов третий регистр 10 устанавливается в начальное состояние 10000, а в сумматор 14 заносится код, который снимается с выхода четвертого регистра 12. Таким образом, до начала формирования случайного числа старший разряд регистра 10 всегда будет находиться в единичном состоянии, тогда как осталь-.ные разряды регистра 10 будут находиться в нулевом состоянии. Поскольку выход схемы 6 сравнения через коммутатор 9 подключен к разрядным входам третьего регистра 10, то сформированные схемой 6 сравнения сигналы Ь (разряды случайного числа ) поступают на входы соответствующих разрядов регистра 10.Коммутаторработает таким образом, что если сигнал Ь и следующие эа ним сигналы Ь ,Ь . . .Ь равны нулю, то они не смогут пройти на входы регистра 10 (работа коммутатора 9 будет описана ниже). Таким образом, если все старшие 1 разрядов случайного числа, где 1 Кщ, равны нулю, то регистр 10 не изменит своего начального состояния, равного 10000. Однако каждый нулевой сигнал Ь входящий в начальную сеФрию нулевых сигналов, будет вызывать появление в следующем такте на седьмом выходе генератора 4 тактовых импульсов единичного сигнала временная диаграмма на фиг. 5, в которой числами обозначены номера соответствующих входов и выходов генератора 4 тактовых импульсов). Сформированные таким образом единичныесигналы с седьмого выхода генератора 4, тактовых импульсов поступают на второй вход блока 13, в котором формируются коды слагаемых, поступающих на входы сумматора 14, В частности, по сигналу с седьмого выхода генератора 4 тактовых импульсов в блоке 13 формируется 1-разрядный код 11 110, ко.торый является обратным кодом отрицательного числа А=-О,001 (работа блока 13 будет рассмотрена ниже ). Поскольку группа выходов блока 13, по которой подается к-разрядный код соединена с разрядными входами -разрядного накэплчвающего сумматора 4, то в сумматоре будет происходить сложение поступающего на его входы числа с содержимым данного сумматора. Таким образом, каждый единичный сигнал, поступающий на второй вход блока 13 (особый случай составляет рабо та блока 13 в щ-ом такте ), вызывает поступление на входы сумматора 14 кода 1110. Поскольку накапливающий сумматор 14 работает в режиме .суммирования чисел в обратном коде, то по ступление его на входы кода -1110 ведет к вычитанию из содержимого сумматора единицы, так как названный код является обратным кодом отрицательного числа А=-О, 001. Таким образом, уо каждый нулевой сигнал Ь ,входящий в начальную серию, состоящую иэ нулевых сигналов, вызовет уменьшение содержимого накапливающего сумматора 14 на единицу. Но сумматор 14 предназначен 25 для формирования порядка числа с плавающей запятой. Следовательно, если всестарших разрядов случайного числа равны нулю, где Ь;в, то порядок такого числа будет уменьшаться на 1 единиц. Поскольку нормализация чисел 1 старших разрядов мантиссы которых равны нулю, заключается в сдвиге мантиссы влево на 1 разрядов и уменьшении порядкана 1 единиц, то в результате предлагаемое устройство формирует нормализованное случайное число с пгавающей запятой, так как по оконцании начальной серии, состоящей из 1 нулевых сигналов Ь 1, в встаршие разряды регистра 1 О записываются оставшиеся разряды случайного числа. Коммутатор 9 как раэ и предназначен для занесения в соответствующие разряды регистра 10 разрядов Ь случайного числа. Эти разряды поступают на первый вход коммутатора 9 с выхода схемы б сравнения и проходят на входы соответствующих разрядов регистра 10. В 1 младшие разряды регистра 10 церез комму.50 татор 9 поступает равномерно распределенное случайное число с второй группы выходов генератора 8.П р и м е р. Пусть предлагаемое устройство сформировало шестиразряд 55 ное случайное число. с фиксированнои запятой, равное 0,001001 т. е. в рассматриваемом примере щ=б. Тогда старшие два нулевых разряда случайного числа вызовут уменьшение содержимого сумматора 14 на две единицы; а код 001 поступит в четыре старших разряда регистра 10. Таким образом, в случае нулевого состояния регистра 12 предлагаемое устройство за шесть тактов сформирует нормализованное случайное число с плавающей запятой, рав.ное 0 1001 а а . 2-, так как в шестом16такте в два младших разряда регистра 10 через коммутатор 9 с второй группы выходов, генератора 8 поступит двухразрядное равномерно распределенное случайное число а а (в рассматривае 6мом примере регистр 10 является шестиразрядным и по истецении шести тактов в нем будет находиться код 1001 а а а в сумматоре 14 будет находить 6ся порядок числа Р=-2=11101).Очевидно, если в старшем разряде формируемого случайного числа уже имеется единица (т. е. случайное число уже является нормализованным ), то содержимое сумматора 14 останется без изменения, а само случайное число поступит через коммутатор 9 в регистр 10 без сдвига. По сигналу с шестого выхода генератора 4 тактовых импульсов сформированное случайное число с плавающей запятой с выходов регистра 10 и сумматора 14 через блоки 11 и 15 элементов И поступит на выходы 19 и 20 устройства. При этом на группу выходов 19 проходит мантисса числа, а на выходы 20 - порядок числа. По заднему фронту импульса с шестого выхода генератора 4 тактовых импульсов регистр 10 и сумматор 14 устанавлива-ч ются в начальное состояние и устроиство начинает формировать следующее случайное число (запуск генератора 8 равномерно распределенных случайных чисел происходит по сигналам с шестого выхода генератора 4 тактовых им,пульсов). устройство будет продолжать работу до тех пор, пока на его вход 17 не поступит сигнал "Останов". По этому сигналу генератор 4 тактовых импульсов прекращает формировать управляющие импульсы и устройство заканчивает свою работу.Рассмотрим более подробно работу отдельных блоков генератора.Генератор 4 тактовых импульсов (фиг. 2 ) предназначен для формирования сигналов, управляющих работой предлагаемого устройства. Работу геч нератора 4 поясняет пример временнои11 98009 ,диаграммы (фиг. 5), в котором Й 4 и И обозначают соответственно номер цикла и текущий номер такта внутри каждого цикла, а числами обозначены номера входов и выходов генератора 4 тактовых импульсов. На диаграмме Тв, Т и Т 8 обозначают состояния триггеров 25, 27 и 28 соответственно. Диаграмма построена для случая в=б.По сигналу с первого выхода 324 10 генератора 4 тактовых импульсов происходит сдвиг содержимого первого регистра 1 на один разряд в сторонустарших разрядов. Поэтому импульсы на первом выходе генератора 4 формируют ся в каждом такте за исключением последнего такта каждого цикла, В, последнем щ-ом такте каждого цикла происходит установка щ-разрядного регистра 1 в начальное состояние, равное 20 00,.; 001, Названная установка проис-. хо,ит по сигналу с четвертого выхода 32 генератора 4 тактовых импульсов, ко-. торый формируется в в-ом такте каждого цикла (пример временной диаграммы, 25 приведенной на фиг. 5). В каждом цикле, состоящем из в тактов, в предлагаемом устройстве формируется одно случайное число с заданным законом распределения. 30Момент окончания очередного циклаопределяется по сигналу, поступающему на первый вход генератора 4 тактовых импульсов с,первого выхода регистра 1. Первый выход регистра 1 является выходом его старшего а-го разряда. Будем считать, что регистр 1 построен по двухступенчатой схеме (на основе двухступенчатых триггеров ), исключающей возникновение неустойчивых состояний, Поэтому переходы регистра 1 из одного состояния в другое происходят по заднему фронту управляющих сигналов, поступающих на его первый или второй входы. Поскольку начальное со стояние регистра 1 равно 00001, а в каждом такте его содержимое сдвигается на один разряд влево по заднему Фронту сигнала с первого выхода генератора 4 тактовых импульсов, то единица, первоначально занесенная в младший разряд, достигнет старшего щ"го разряда только через втактов, т. е. в начале е-го такта на первом выходе регистра 1 появится единичный сигнал.55 Этот единичный сигнал поступит на, первый вход 30 генератора 4 тактовых импульсов и переведет триггер 25 в единичное состояние (на временной диаграм 3 12ме, приведенной на фиг, 5, показано, как изменяются состояния триггеров Т Т и Тв процессе работы предлагаемого устройства). Поскольку первый выход триггера 25 подключен к первым входам элементов И 29 и 29 А то на выходе названных элементов И (т. е.на выходах 32,1 и 326 генератора 4 тактовых импульсов) импульс может появить- ся в тот момент времени, когда триггер 25 находится в единичном состоянии, т. е. в щ-ом такте, либо в начале первого такта следующего цикла, так как триггер 25 по заднему фронту сигнала с первого выхода генератора 26 импульсов в первом такте следующе го цикла вернется в нулевое состояние. Таким образом, на четвертый Зс, и шестой 32выходы генератора 4 смогут пройти только по одному импульсу в каждом цикле. В свою очередь первый вход элемента И 29 подключен к второму (инверсному) выходу триггера 25. ,Поэтому на выходе элемента И 29 (т,е. на первом выходе 32 генератора 4 ) импульсы появляются в те моменты времени, когда триггер 25 находится в нулевом состоянии, т. е. в течение всего цикла за исключением щ-го такта.Генератор 26 импульсов вырабатывает на первом и втором своих выходах две серии импульсов, сдвинутых друг относительно друга на половину периода, которые проходят соответственно на второй 32 и третий 32 выходы генератора 4 тактовых импульсов. Запуск генератора 26 импульсов происходит по сигналу, поступающему на второй вход 16 генератора 4 тактовых импульсов,В генераторе 4 тактовых импульсовиспользуются три триггера, причем первый триггер 25 - синхронный двухступенчатый триггер К типа, второй триггер 27 - асинхронный триггер К типа,третий триггер 28 - синхронный триггер О типа. Кроме того, триггер 25имеет асинхронный установочный входв единичное состояние, а триггеры 27и 28 имеют асинхронные установочныевходы в нулевое состояние. Названныеасинхронные входы подключены к входу16 генератора 4 тактовых импульсов.Поэтому в момент поступления сигнала"Пуск" на вход 16 триггер 25 перейдетв единичное состояние, а триггеры 27и 28 - в нулевое состояние. Названныесостояния триггеров являются их нача-.льными состояниями,13 9800Четвертый вход 31 генератора 4 так.товых импульсов подключен к выходу схемы 6 сравнения. Поэтому единичный сигнал Ь 1 с выхода схемы 6 сравнения при условии, что триггер 25 находится в нулевом состоянии, пройдет через элемент И 21 на первый вход (вход 1) триггера 27 и переведет его в единичное состояние. Следовательно; триггер 27 будет находиться в началь О ном нулевом состоянии до прихода первого, отличного от нуля сигнала Ь где )1 е, т. е. до тех пор, пока на выходе схемы 6 сравнения формируется начальная серия следующих друг за другом нулевых сигналов. Поскольку вторые (инверсные ) выходы триггеров 25 и 27 через элемент И 23 подключены к первому входу (входу О) триггера 28, то триггер 28 перейдет в единичное 20 состояние в момент прихода на его второй вход (вход синхронизации С) импульса с первого выхода генератора 26 импульсов при условии, что триггеры 25 и 27 находятся в нулевом состо янии. Если же триггер 25 или триггер 27 перейдут в единичное состояние, то это вызовет переход триггера 28 в нулевое состояние. Выход триггера 28 подключен к первому входу элемента 30 И 29 . Поэтому на седьмой выход 32 генератора 4 тактовых импульсов едйничные сигналы с второго выхода генератора 26 через формирователь 24 и элемент И 29 смогут пройти только в те моменты времени, когда триггер 28 находится в единичном состоянии (т. е. пока триггеры 25 или 27 не перейдут в единичное состояние), Но триггер 27 будет переведен в единичное состояние 40 первым, отличным от нуля сигналом ЬЕ 4 фс выхода схемы 6 сравнения, Следова-. тельно, на седьмой выход 32 генератора 4 сможет пройти только 1 импульсов, где В количество нулевых сигна лов, появившихся на выходе схемы 6 сравнения с момента начала формирования очередного случайного числа и допервого единичного сигнала Ь 4 при ус 3и ловии, что Ыщ. Поскольку седьмой вы ход генератора 4 тактовых импульсов подключен к второму входу блока 13 логических элементов, то в результате содержимое сумматора 14 по сигналам с седьмого выхода генератора 4 будет 55. уменьшено на Й единиц, где 1(в, Если Ьщ, то на седьмом выходе генератора 4 появится Ьимпульсов (работа пред 93лагаемого устройства в этой случае будет рассмотрена ниже ).Первый выход триггера 27 подключен к первому входу элемента И 29 , Поэтому на пятый вь 1 ход 32 Г генератора 4 тактовых импульсов единичныс сигналы с первого выхода генератора 26 через элемент И 29 смогут пройти лишь в те моменты времени, когда триггер 27 находится в единичном состоянии, т. е. после появления на выходе схемы 6 сравнения первого, отличного от нуля сигнала Ь+,1, +1 е. Заметим, что в каждом цикле количество импульсов на пятом выходе 32 генератора 4 равно в- . при (а и равно нулю при 1=в, Импульсы с пятого выхода генератора 4 поступают на третий вход коммутатора 9 и разрешают прохождение сигналов Ьу с выхода схемы 6 сравнения через ком. мутатор 9 на соответствующие входы регистра 10. Следовательно, если в 1 первых тактах очередного цикла, где 0 в будет сформировано на выходе схемы 6 сравнениянулевых сигналов, то эти нулевые сигналы Ь не смогут пройти через коммутатор 9 на входы регистра 10, но содержимое сумматора .14 в этом случае будет уменьшено на 1 единиц, ав регистре 10 поступят разряды случайного числа, следующие за первым, отлицчым от нуля разрядом (сигналом ) Ь 4. Это объясняется тем, цто а-1 младших разрядов случайного числа по сигналам с пятого выхода генератора 4 тактовых импульсов прой-дут через коммутатор 9 на соответствующие входы регистра 10, а первый, отличный от нуля разряд Ьр+ случайного числа на первый вход регистра 10 через коммутатор 9 не поступает, так как при установке в начальное состояние в первь 1 й (старший ) разряд регистра 10 уже была записана единица. Сигнал с второго выхода генератора 26 импульсов пройдет через элемент И 22 на второй вход триггера 27 и переведет его в нулевое состояние, если на яервый вход элемента И 22 поступит единичный сигнал с первого входа 30 генератора 4 тактовых импульсов. Сиг" нал, поступающий на первый вход 30 генератора 4 тактовых импульсов, переводит все три триггера в начальное состояние, после чего нацинает цикл формирования следующего случайного числа и описанная выше последовательность действия повторяется.15 9800Рассмотрим работу коммутатора 9,функциональная схема которого приведена на фиг, 3. Назначение коммутатора 9 - подключать поочередно в каждомтакте входы регистра 10, начиная с 5второго, к выходу схемы 6 сравненияпосле окончания начальной серии, состоящей из .2 нулевых сигналов Ь (в частном случаеможет быть равно и нулю ).При этом разряды случайного числа, 10следующие за первым, отличным от нуля разрядом Ь 4, должен поочереднопоступать на входы регистра 10 так,чтобы разряд Ьр+попал во второй разряд регистра 10, разряд Ьр+ - в тре.тий и т. д., наконец разряд Ь,;Ь(в)ый разряд. Кроме того, в щ-ом такте,по сигналу, поступающему на второйвход 42, через коммутатор 9 в младшие1 разрядов (1 п 1) регистра 10 проходит 20равномерно распределенное случайноечисло с второй группы выходов генератора 8,Коммутатор 9 содержит в-разрядный регистр 33 сдвига, первая и вторая группы выходов которого подклюцены к первой и второй группам входов блока 34 элементов И соответственно. В первую группу выходов, регистра 33 входят прямые выходы всех разрядов регистра 33, исключая выход последнего (самого младшего) разряда, а во вторую группу выходов регистра 33 входят инверсные выходы всех разрядов35 регистра 33, исключая выход первого (старшего) разряда. Исходное состояние регистра 33 сдвига устанавливается по сигналу с шестого выхода генератора 4 тактовых импульсов. Этот сигнал поступает ча четвертый вход 44 коммутатора 9 и записывает в регистр 33 код, равный 10000. Поэтому в первом такте каждого цикла единичный сигнал появится только на выходе эле 45 мента И 344, таккак первый и второй входы элемента И 34.1 соединены с прямым выходом первого разряда и с инверсным выходом второго разряда регистра 33 соответственно. По первому сигналу с пятого выхода генератора 450 тактовых импульсов, поступающему на третий вход 43 коммутатора 9, регистр 33 сдвига перейдет в следующее состояние 11000, так как названный сигнал сдвигает содержимое регистра 33 на один разряд в сторону младших разрядов и одновременно записывает в пер. вый (старший ) разряд регистра 33 еди 9316ницу. Но первый сигнал на пятом выходе генератора 4 тактовых импульсов будет сформирован только после появле ния на выходе схемы 6 сравнения первого, отличного от нуля сигнала. Ь+4, т. е. в (1+2 )-ом такте. Следовательно, если в течение первых Й тактов на выходе схемы 6 сравнения появится нулевых сигналов Ь , то регистр 33 сдвига не изменит своего начального состояния 10000, а на выходе элемента И 34 в течение всего этого времени будет единицный сигнал. Если 1=в, т. е, если в течение всех а тактов на выходе схемы 6 сравнения не появится ни одного единичного сигнала, то регистрсдвига будет сохранять свое начальное состояние в течение щ тактов.Первый 41 и второй 42 входы коммутатора 9 подклюцены соответственно к выходу схемы 6 сравнения и к четвертому выходу генератора 4 тактовых импульсов, на котором единичный сигнал появляется только в в-ом такте. Поскольку первый и второй входы элемента И 38 подключены через элемент НЕ 37 и формирователь 36 соответственно и входам 41 и 42 коммутатора 9, то единичный сигнал на выходе элемента И 38 может появиться только в 01-ом такте при условии, что на первый вход 41 коммутатора 9 поступил с выхода схемы 6 сравнения нулевой сигнал Ь, а на выходе элемента И 34 сформирован единицный сигнал, что возможно только при 1=в. Следовательно, единичный сигнал на первом выходе 46 коммутатора 9 появится только в уи-ом тете при условии 1=в.Если 1 в, то на третий вход 43 коммутатора 9 в течение одного цикла поступит в-импульсов с пятого выхо.- да генератора 4, тактовых импульсов.При этом первый сигнал с пятого выхода генератора 4 тактовых импульсов переведет в (1+2)-ом такте регистр 33 сдвига в состояние 11000 и поэтому на выходе элемента И 34 появится единичный сигнал. Этот единичный сигнал разрешит прохождение сигнала. Ь+ с выхода схемы 6 сравнения, поступающего на вход 41 коммутатора 9 в (142)- ом такте, через элементы И 351 и ИЛИ 404 на выход 47 коммутатора 9, Аналогично, второй сигнал с пятого выхода генератора 4 тактовых импульсов переведет в следующем (1+3 )-ем такте регистр 33 сдвига в состояние 111017 98009 00 и на выходе элемента И 34 появится единичный сигнал, который разрешит прохождение сигнала Ьчерез элементы И 35 и ИЛИ 40 на выход 47 комЯмутатора 9 и т. д. Описанный процесс будет продолжаться до тех пор, пока в в-ом такте сигнал Ь не пройдет на выход 47 1 коммутатора 9. Кроме того, в е-ом такте на вход,42 коммутатора 9 с четвертого выхода генерато О ра 4 тактовых импульсов поступит единичный сигнал. Этот сигнал поступит на первую группу входов блока 39 элементов И и разрешит прохождение равномерно распределенного случайного чис ла, поступающего на вторую группу вхо-. дов блока 39, через те элементы И блока 39, третий вход которых подключен к инверсному выходу разряда регистра 33 находящегося в нулевом состоянии. 20 Поэтому открыты для прохождения равномерно распределенного случайного числа, поступающего с второй группы выходов генератора 8 на группу входов 45 коммутатора 9. будут только те 25 элементы И блока 39, на третий вход которых подается единичный сигнал с инверсного выхода разряда регистра 33, находящегося в нулевом состоянии, 130Группа выходов 47 коммутатора 9 подключена к разрядным входам регист,ра 1 О так, цто выход 47 соединен с входом второго разряда регистра 10, выход 47 - с входом третьего разря 35 да и т. д., выход 471 ,1 коммутатора 9 - с входом щ-го разряда регистра 10. Поэтому сигнал Ьр+ 2 с выхода 471 коммутатора 9 поступит во второй разряд регистра 10, сигнал Ьр - в третий40 разряд и т. д сигнал Ь- в (в)- ый разряд, В оставшиеся 1 младшие разряды регистра 10 (им будут соответствовать разряды регистра 33, которые находятся в нулевом состоянии ) в щ-ом такте по сигналу с входа 42коммутатора 9 поступит равномерно распределенное случайное число с второй группы выходов генератора 8. Таким образом, в п 1-ом такте в регистре 1050 будет находиться мантисса 1 ЬЬр+.,Ьй Ь а а случайного числа с заданнйм законом распределения, в старшем разряде которой всегда будет записана единица. Здесь а - значения раз 55 рядов равномерно распределенного случайного числа, снимаемого с второй группы выходов генератора 8., Очевидно, при 1 = 0 в регистре 10 сформируется 3 18код 1 ЬЬЬ Ь, а при 1 = о мантисса случайного числа, находящаясяв регистре 1 О, будет равна 1 ааа а . При необходимости разрядностьвЛ уимантиссы может быть увеличена за счетдобавления к коду, находящемуся в регистре 1 О, равномерно распределенногослучайного числа, снимаемого с генератора 8,Рассмотрим работу блока 13, функциональная схема которого приведенана фиг, 4. Назначение блока 13 - формировать коды слагаемых, которые поступают в накапливающий сумматор 14,где они суммируются с содержимым данного сумматора. Входы 52 и 53 блока13 логических элементов подключенысоответственно к первому выходу коммутатора 9 и к седьмому выходу генератора 4 тактовых импульсов, Выше было показано, что единичный сигнал напервом выходе 46 коммутатора 9 появляется только в в-ом такте при условии 1=а, т, е. при условии, что в п 1 разрядном случайном числе с фиксированной запятой во всех щ разрядах записаны нули. В свою очередь, на седьмом выходе генератора 4 тактовых импульсов может появиться 1 единичныхсигналов, если 1 в, и 1-1 единичныхсигналов при 1=в. Здесь, как и прежде, 1 - количество нулевых сигналовЬ , появившихся на выходе схемы 6сравнения с нацала формирования очередного случайного числа и до первого, отличного от нуля сигнала Ь р;1,Группа выходов 55 блока 13 подключенак входам К разрядного сумматора 14,причем выход 551 блока 13 соединен свходом первого (младшего ) разряда сум-матора 14, а выход 55 К - с входом Кго (самого старшего ) разряда сумматора 14, т, е, по сигналу, снимаемомус выхода 55 блока 13, к содержимомущсумматора 14 прибавляется слагаемое,сформированное в блоке 13 логическихэлементов. Рассмотрим работу блока 13 при 1 с (а. В этом случае каждый единичный сигнал, поступивший на вход 53 блока, 13 с седьмого выхода генератора 4 тактовых импульсов, вызывает формирование в блоке 13 К-разрядного кода Л= =11110, который является обратным кодом отрицательного числа Л=-0001. Действительно, в этом случае сигнал 1 на входе 52 блока 13 равен нулю и поэтому единичный сигнал с входа 53

Смотреть

Заявка

3296057, 02.06.1981

КАЗАНСКИЙ ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ АВИАЦИОННЫЙ ИНСТИТУТ ИМ. А. Н. ТУПОЛЕВА

ТАРАСОВ ВЯЧЕСЛАВ МИХАЙЛОВИЧ

МПК / Метки

МПК: G06F 7/58

Метки: генератор, случайных, чисел

Опубликовано: 07.12.1982

Код ссылки

<a href="https://patents.su/16-980093-generator-sluchajjnykh-chisel.html" target="_blank" rel="follow" title="База патентов СССР">Генератор случайных чисел</a>

Похожие патенты