PDA

Просмотр полной версии : генератор случайных чисел на БК



litwr
20.12.2014, 16:51
Что кроме таймера по 177710 можно использовать для физической генерации случайных чисел? Заранее благодарности за информацию.

bigral
20.12.2014, 17:01
Что кроме таймера по 177710 можно использовать для физической генерации случайных чисел? Заранее благодарности за информацию.

По идее нужно запустить счетчик и потом использовать взаимодействие с пользователем чтоб он нажал там кнопку или еще что-то сделал и закончил счет этого счетчика. Возможно еще использовать дисковые операции которые как-бы разной протяженности могут быть от чтения к чтению. Но так или иначе все должно быть связанно с временем выполнения некоего непредсказуемой долготы процесса.

Kakos_nonos
20.12.2014, 17:20
Можно использовать ПЗУ как источник псевдослучайных данных. Их можно ксорить, например со счётчиком, указателем на байт, предыдущим байтом, таймером.
Тогда будет ещё более случайные.

Manwe
27.09.2018, 23:21
Что кроме таймера по 177710 можно использовать для физической генерации случайных чисел? Заранее благодарности за информацию.Таймер этот тикает в 128 раз медленей частоты процессора, поэтому поначалу не знаешь в какой стадии он сейчас находится - скоро или нескоро переключится на следующее значение. Это можно тоже как-то использовать для повышения случайности. Например, читать текущее значение, а потом в цикле ждать до тех пор пока оно изменится, при этом увеличивая счётчик. На выходе из цикла получим число, показывающее в каком месте «между тактами» таймера мы были. Ну там типа от 0 до 15 или какие-то такие значения получатся. Это помимо самого значения таймера. Как бы его дробная часть.

hobot
28.09.2018, 12:51
На выходе из цикла получим число, показывающее в каком месте «между тактами» таймера мы были. Ну там типа от 0 до 15 или какие-то такие значения получатся. Это помимо самого значения таймера. Как бы его дробная часть. на УК-НЦ такое прокатит?

Manwe
28.09.2018, 13:09
на УК-НЦ такое прокатит?Если в процессоре ВМ2 таймер работает так же как в ВМ2 (то есть в N раз медленней частоты процессора), то прокатит. Надо читать документацию по ВМ2.

MM
28.09.2018, 14:06
Если в процессоре ВМ2 таймер работает так же
В 1801ВМ2 нет встроенного таймера, только внешний вход прерывания по 100 вектору.
В 1806ВМ2 есть еще вход 250-го вектора, для применения в многопроцессорных системах для управления запросами обменом данных.

Как поступать, если нужна высокая производительность ВМ2 и таймер ВМ1 - ставить их одновременно, но ВМ1 всегда в ДМА-режиме, он будет в таком включении просто набором регистров, например 177700....177716.