Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Программа расчета функции синуса с использованием стандартной функции умножения. ⇐ ПредыдущаяСтр 4 из 4
Программа расчета функции синуса без использования стандартной функции умножения.
Подпрограмма умножения Mult: 1. Mult 2. Skp y, 0 3. Add Res, x 4. Shr Res, 1 5. Skp y, 1 6. Add Res, x 7. Shr Res, 1 8. Skp y, 2 9. Add Res, x 10. Shr Res, 1 11. Skp y, 3 12. Add Res, x 13. Shr Res, 1 14. Skp y, 4 15. Add Res, x 16. Shr Res, 1 17. Skp y, 5 18. Add Res, x 19. Shr Res, 1 20. Skp y, 6 21. Add Res, x 22. Shr Res, 1 23. Skp y, 7 24. Add Res, x 25. Shr Res, 1 26. Skp y, 8 27. Add Res, x 28. Shr Res, 1 29. Skp y, 9 30. Add Res, x 31. Shr Res, 1 32. Skp y, 10 33. Add Res, x 34. Shr Res, 1 35. Skp y, 11 36. Add Res, x 37. Shr Res, 1 38. Skp y, 12 39. Add Res, x 40. Shr Res, 1 41. Copy r3, Res[30] 42. Return
Оценка времени выполнения программ Программы отличаются только участками кода, где используются операции умножения. Для оценки будем использовать количество тактов, за которое выполняется участок программы. Будем считать, что каждая команда выполняется за 1 такт. Тогда машина с инструкцией умножения будет проводить вычисления максимум за 30 тактов, а машина с заменой инструкции умножения сдвигами и сложением – за 468 тактов. Таким образом, машина с инструкцией умножения работает примерно в 15 раз быстрее. Заключение Для выполнения поставленной задачи был разработан алгоритм вычисления функции sin ( x ) на основе формул двойного угла и приведения. Алгоритм представлен в двух вариантах реализации: в машине реализована функция умножения; функция умножения заменена сложением со сдвигом. Разработана архитектура цифровой вычислительной машины с фиксированной запятой. - выбрана разрядность машины n = 13; - разработана система команд; - выбрано количество регистров, необходимое для выполнения вычислений (для варианта с инструкцией умножения 4 регистров, для варианта с заменой инструкции умножения 7 регистров). Оценены абсолютные ошибки, возникающие в машине при реализации алгоритма вычисления функции sin ( x ). Абсолютная погрешность вычисления синуса угла не превышает значение (0.004635002636), ошибка ограничения при разложении функции в ряд не превышает значение (0.00000185537834), общая ошибка для ряда не превышает ( , максимальная неустранимая ошибка не превышает ( Оценено время работы обеих машин. Машина, в которой реализована операция умножения, проводит вычисления за 30 тактов, а машина с заменой операции умножения сложением со сдвигом за 468 тактов, что примерно в 15 раз медленнее. Если время выполнения программы ограничено, то необходимо использовать машину, в которой реализована операция умножения.
Литература 1. Д. Мак-Кракен, У. Дорн, «Численные методы и программирование на Фортране», изд. «Мир», М., 1977г. 2. А. И. Канащенков, В.И. Меркулов, «Радиолокационные системы многофункциональных самолетов» в 3-х томах, том 3 «Вычислительные системы РЛС многофункциональных самолетов», изд. «Радиотехника», М., 2007г.
|
Последнее изменение этой страницы: 2019-05-08; Просмотров: 159; Нарушение авторского права страницы