User login

You are here

Тест производительности МК-161 - золотое сечение

Программа рассчитывает либо 512 знаков золотого сечения и результат помещает в регистры, либо 12288 знаков и результат размещает в блокноте. Эмулятор Павла Петрова на моем ноутбуке в первом случае отрабатывает 7-8 секунд на максимальной скорости, а во втором - около 320 секунд. Вычислительная сложность где-то N log(N). Хотелось бы знать, сколько будет работать реальная машинка и корректно ли. С блокнотом лучше не экспериментировать, т.к. по документации он рассчитан на ограниченное число перезаписей.

Фишки следующие:

1) квадратный корень из пяти вычисляется итерациями, каждая итерация практически удваивает число знаков;
2) для реализации умножения длинных чисел используется быстрое преобразование Фурье (БПФ);
3) БПФ оформлено рекурсивно;
4) для этого потребовался программный стек для передачи параметров в рекурсивную функцию;
5) раз есть стек, то и для других подпрограмм параметры можно класть на стек.

Итого около 2000 шагов кода. Не знаю, есть ли зарубежные калькуляторы, на которых можно руками запрограммировать БПФ.

File attachments: 
AttachmentSize
Binary Data gold.mkl20.59 KB