Общие рекомендации. По программированию сопроцессора

По программированию сопроцессора

В заключение главы

нию программ для

«Первый фрагмен

с команды FINIT.

фрагментов с

наться с команды

• При написании

цессор работают

сформулируем некоторые общие рекомендации по написа-

сйпроцессора.

программы с командами сопроцессора должен начинаться

Если программа содержит несколько независимых друг от друга

командами сопроцессора,каждый такой фрагмент должен начи-

FINIT.

команд обоих

общих операндов

Рекомендуется

исключения неде:

жить ошибки

При написании

рый позволит

Для повышения

программы вы должны учитывать то,что процессор и сопро-

параллельно.То есть вам необходимо особенно тщательно

программировать участки,на которых планируется параллельное выполнение

процессоров.Особое внимание обращайте на синхронизацию

и обработку возможных исключительных ситуаций.

обработку исключений доверять самому сопроцессору,кроме

дствительной операции,что позволит своевременно обнару-

алгоритма.

программ следует установить такой режим округления,кото-

noj учить максимально точный результат.

г роизводительности процессора при передаче данных необхо-

димо использовать директиву EVEN.Ее действие заключается в том,что данные, описываемые следующей за ней одной из директив резервирования и инициа-

лизации данных,размещаются по ближайшему адресу,значение которого крат-

но 2.Так как все типы данных сопроцессора имеют длину,кратную двум,то

желательно все ячейки памяти,содержащие значения для обработки сопроцес-

сором,размещать в сегменте данных одним блоком,предваряя их описание ди-

рективой EVEN,например:

.data

even

ch_l dd 35.78

ch 2 dt 0987687686

Итоги

к Математический сопроцессор значительно расширяет возможности компью-

тера по выполнению вычислений над числами из очень большого диапазона

значений.

«Центром программной модели сопроцессора является регистровый стек,кото-

рый является наиболее эффективной структурой программирования вычисли-

тельных алгоритмов.Использование стека предполагает,что программист пред-

варительно преобразует исходное выражение в форму ПОЛИЗ.Форма ПОЛИЗ,

в частности,используется в трансляторах при разборе и генерации кода раз-

личных синтаксических конструкций программы (не только математических

выражений).

т Сопроцессор на уровне своей системы команд поддерживает большую номен-

клатуру типов данных:три формата целых чисел,три формата вещественных

чисел,десятичные числа.При разработке вычислительных алгоритмов и под-

боре для их реализации команд сопроцессора следует помнить,что сопроцес-

сор поддерживает только один внутренний формат представления данных —

вещественные числа расширенного формата.По этой причине команды сопро-

цессора,работающие с форматами,отличными от расширенного,вынуждены

выполнять дополнительное преобразование данных.Операция преобразования

требует дополнительного количества (и немалого)машинных тактов,что не

может не сказаться на общем времени выполнения программы.

ii Система команд сопроцессора состоит из нескольких групп,призванных удов-

летворить основные потребности программиста в средствах реализации боль-

шинства вычислительных алгоритмов.При отсутствия поддержки на уровне

команд сопроцессора каких-либо математических операций они довольно про-

сто могут быть реализованы с помощью математических формул приведения

через существующие команды.

**В процессе работы внутри сопроцессора могут возникать различные ситуации,

требующие внешнего вмешательства.Их называют исключениями.Исключе-

ния разбиты на б типов,которым соответствуют по 6 битов в регистрах SWR

и CWR.Эти биты позволяют управлять обработкой соответствующих исключе-ний.Биты в SWR фиксируют возникновение исключений определенного типа.

Биты в CWR определяют способ обработки возникших исключений.Если при

возникновении исключения некоторого типа соответствующий этому исклю-

чению бит в CWR равен 1,это означает,что обработка исключения данного типа

замаскирована и сопроцессор должен сам исправить ошибочную ситуацию.Если

соответствующий возникшему исключению бит в CWR равен 0,это означает,что

программист сам желает исправить ошибочную ситуацию.Для этого он дол-

жен написать обработчик исключения.

Разработку программ удобно вести с использованием отладчика Turbo Debuger,

который предоставляет полную информацию о состоянии вычислительного

процесса,использующего команды процессора и сопроцессора.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: