Просмотр полной версии : генератор случайных чисел на БК
Что кроме таймера по 177710 можно использовать для физической генерации случайных чисел? Заранее благодарности за информацию.
Что кроме таймера по 177710 можно использовать для физической генерации случайных чисел? Заранее благодарности за информацию.
По идее нужно запустить счетчик и потом использовать взаимодействие с пользователем чтоб он нажал там кнопку или еще что-то сделал и закончил счет этого счетчика. Возможно еще использовать дисковые операции которые как-бы разной протяженности могут быть от чтения к чтению. Но так или иначе все должно быть связанно с временем выполнения некоего непредсказуемой долготы процесса.
Kakos_nonos
20.12.2014, 17:20
Можно использовать ПЗУ как источник псевдослучайных данных. Их можно ксорить, например со счётчиком, указателем на байт, предыдущим байтом, таймером.
Тогда будет ещё более случайные.
Что кроме таймера по 177710 можно использовать для физической генерации случайных чисел? Заранее благодарности за информацию.Таймер этот тикает в 128 раз медленей частоты процессора, поэтому поначалу не знаешь в какой стадии он сейчас находится - скоро или нескоро переключится на следующее значение. Это можно тоже как-то использовать для повышения случайности. Например, читать текущее значение, а потом в цикле ждать до тех пор пока оно изменится, при этом увеличивая счётчик. На выходе из цикла получим число, показывающее в каком месте «между тактами» таймера мы были. Ну там типа от 0 до 15 или какие-то такие значения получатся. Это помимо самого значения таймера. Как бы его дробная часть.
На выходе из цикла получим число, показывающее в каком месте «между тактами» таймера мы были. Ну там типа от 0 до 15 или какие-то такие значения получатся. Это помимо самого значения таймера. Как бы его дробная часть. на УК-НЦ такое прокатит?
на УК-НЦ такое прокатит?Если в процессоре ВМ2 таймер работает так же как в ВМ2 (то есть в N раз медленней частоты процессора), то прокатит. Надо читать документацию по ВМ2.
Если в процессоре ВМ2 таймер работает так же
В 1801ВМ2 нет встроенного таймера, только внешний вход прерывания по 100 вектору.
В 1806ВМ2 есть еще вход 250-го вектора, для применения в многопроцессорных системах для управления запросами обменом данных.
Как поступать, если нужна высокая производительность ВМ2 и таймер ВМ1 - ставить их одновременно, но ВМ1 всегда в ДМА-режиме, он будет в таком включении просто набором регистров, например 177700....177716.
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot