лр. лр чужое. Представление заданной функции полиномом 8 11 Рис
Скачать 326 Kb.
|
3.2. Графики и статистические характеристики погрешности вычисления Числовые характеристики ошибки вычисления при stx = 2-3.
Рис. 10. Эталонный график функции 5x Рис. 11. График разложения y=5x: 5 членов ряда, а4 = 4 Рис. 12. График, построенный по полученным значениям ассемблерной программы. Рис. 13. График ошибки разложения: 5 членов ряда, а4=4 Рис. 14. График ошибки при вычислениях ассемблерной программы. Сравнив между собой графики (11), (12), можно заметить их относительную идентичность. Отличие заключается лишь в «гладкости» графиков. На рисунке (12) график ассемблерных значений более «шершавый», что объясняется маленькой разрядностью данных. Эталонные значения представлены в формате с плавающей запятой и разрядностью 80 разрядов (обычный формат данных Excel), а ассемблерные значения – в формате с фиксированной запятой и разрядностью 32. Сверив значения функции, полученные в результате выполнения программы, с эталонными значениями, делаем заключение – программа работоспособна. На основании полученных результатов можно сделать вывод - ассемблерные программы, оперирующие данными в формате с фиксированной запятой и разрядностью 32, могут обеспечить очень высокую точность вычисления математических функций. Заключение Рассмотренная в данной работе теория масштабирования данных в ЦВМ с фиксированной запятой и практические примеры применения этой теории убеждают в высокой эффективности применения этого класса компьютеров при организации вычислительных процессов. Большим достоинством предложенной методики проектирования ассемблерных программ для вычислительных процессов является возможность разработки на её основе модулей системы автоматизированного проектирования (САПР) таких программ. Методика служит хорошей основой при проектировании программ для многоядерных сигнальных процессоров и систем параллельной обработки информации на основе видеокарт. Список использованной литературы Савельев А. Я. Основы информатики : учебник для вузов. — М. : Издательство МГТУ им. Н. Э. Баумана, 2001. — 328 с., ил. (Сер. Информатика в техническом университете.) Соренков Э. И., Телига А. И., Шаталов А. С. Точность вычислительных устройств и алгоритмов. — М. : Машиностроение, 1976. — 200 с. А.В. Максимов Проектирование ассемблерных программ вычислительных алгоритмов: Учебное пособие .-М.: Изд-во МГТУ им. Н.Э. Баумана, 2012г.-193с. Специализированные ЦВМ : учебник для вузов / В. Б. Смолов, В. В. Барашенков, В. Д. Байков и др.; Под ред. В. Б. Смолова. — М. : Высшая школа, 1981. — 279 с. Проектирование специализированных информационно-вычислительных систем : учебное пособие по спец. ЭВМ и АСУ / Воробьев Г. Н., Сюзев В. В. Задачи и упражнения по курсу «Основы теории специализированных вычислительных устройств» : учебное пособие. — М. : МВТУ, 1985. — 44 с. Комарцова Л. Г., Максимов А. В. Нейрокомпьютеры : учебное пособие для вузов. — 2-е изд., перераб. и доп. — М. : Издательство МГТУ им. Н. Э. Баумана, 2004. — 400 с., ил. (Сер. Информатика в техническом университете.) Приложения Листинг программы: .model small .386 .data x1 dd 00800000h x2 dd 40000000h x dd 0000h symbols db "0123456789ABCDEF", 0 .stack 256 .code _main: mov ax, @data mov ds, ax mov es, ax mov eax, x1 mov x, eax _loop: ; Расчет функции mov eax, x sub eax, 20000000h ; eax = y1 mov ebx, 67000000h imul ebx shld edx, eax, 3 mov ebx, edx ; ebx = y2 sar edx, 1 add edx, 20000000h ; edx = y3 mov eax, edx imul ebx shld edx, eax, 1 ; edx = y4 add edx, 0C000000h ; edx = y5 mov eax, edx imul ebx shld edx, eax, 1 ; edx = y6 add edx, 03000000h mov ecx, edx ; ecx = y7 mov eax, 4E400000h imul ebx shld edx, eax, 2 ; edx = y8 mov eax, edx imul ecx shld edx, eax, 1 ; edx = y9 add edx, 00753000h ; edx = y10 mov eax, edx cdq shld edx, eax, 31 sal eax, 31 mov ebx, 60000000h idiv ebx ; вывод call printEax ; Изменение x mov eax, x add eax, 01000000h mov x, eax mov ebx, x2 cmp eax, ebx jle _loop jmp exit ; input: ; eax - number printEax: push eax push ebx push ecx push edx call print shr eax, 16 call print mov dl, 10 mov ah, 02h int 21h mov dl, 13 mov ah, 02h int 21h pop edx pop ecx pop ebx pop eax ret ; input: ; ax - number print: push dx push cx push bx push ax mov cl, ah mov ch, cl shr ch, 4 and cl, 1111b xor bh, bh mov bl, ch mov dl, symbols[bx] mov ah, 02h int 21h xor bh, bh mov bl, cl mov dl, symbols[bx] mov ah, 02h int 21h pop ax mov cl, al mov ch, cl shr ch, 4 and cl, 1111b xor bh, bh mov bl, ch mov dl, symbols[bx] mov ah, 02h int 21h xor bh, bh mov bl, cl mov dl, symbols[bx] mov ah, 02h int 21h pop bx pop cx pop dx ret exit: mov ax, 4C00h xor bx, bx int 21h end _main |