6.5. Результаты работы программы (таблица генерируемой последовательности случайных чисел).
7. Контрольные вопросы
7.1. Расскажите о блоке таймера, его функциональном назначении и внутренней структуре.
7.2. Опишите принцип работы таймера и роль таймера в работе программы.
7.3. Каковы особенности проверки программы в пошаговом режиме, если в ней используются прерывания?
7.4. Какие инструкции программы и как влияют на частоту следования случайных чисел?
7.5. Как определить период прерываний от таймера при выполнении программы в имитаторе, если выражать его в циклах процессора?
7.6. Опишите последовательность выполнения инструкций в программе, использующей прерывания.
7.7. Каковы роль и особенности выполнения и использования инструкции IDLE?
7.8. Изобразите укрупнённый графический алгоритм программы, использующей прерывание. Расскажите о её работе.
7.9. Как обеспечить генерацию в ЦСП случайных чисел с частотой 8 кГц? Укажите конкретные параметры программы.
7.10. Выпишите строки, которые нужно включить в программу, чтобы вывести случайные числа в отсутствующий пока массив array_random[20].
7.11. Изобразите алгоритм и поясните принцип формирования равномерно распределённых случайных чисел.
7.12. Изобразите функцию распределения случайных чисел, генерируемых предложенной программой. Опишите операцию, введённую Вами в программу для приведения результатов к дробному формату.
7.13. Как можно убедиться, что генерируемые случайные числа имеют равномерное распределение.
7.14. От чего зависит и чему равна длина неповторяющейся последовательности случайных чисел.
7.15. Изобразите алгоритм формирования случайных чисел с треугольным распределением путём сложения двух чисел с равномерным распределением.
Программы к ЛР № 7
/* ADSP-2181 Random Subroutine файл Random.asm
Эта подпрограмма вычисляет случайные числа с равномерным распределением, используя метод линейного согласования по уравнению
х(n+1) = (a× x(n) + c) mod m, где mod – операция получения остатка от целочисленного деления слова двойной длины на m = 232. Умножение целых чисел ведётся без использования ENA M_MODE.
Вызываемые параметры:
SR1 = старшее слово начального значения
SR0 = младшее слово начального значения
Возвращаемые значения:
AR = случайное число
SR1 = старшее слово нового начального значения
SR0 = младшее слово нового начального значения
Используемые регистры MY0, MY1, MR, SI, SR, AR
Время выполнения 10*N + 4 циклов
*/
.section/pm program;
.GLOBAL urand; // Объявление функции urand
urand: // Метка входа в подпрограмму
MY1=25; // Старшая часть числа a(hi)
MY0=26125; // Младшая часть числа a(lo)
AR=SR1, MR=SR0*MY1(UU); // a(hi) * x(lo) * 2 }
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.