русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ИСПОЛЬЗОВАНИЕ СОПРОЦЕССОРА


Дата добавления: 2014-11-27; просмотров: 905; Нарушение авторских прав


 

В сопроцессоре аппаратно реализуется выполнение операций с плавающей запятой, при его наличии в ПЭВМ можно значительно увеличить скорость вычислений и повысить их точность. Для использования сопроцессора программа в самом начале должна иметь директиву компилятора {$N+}:

Сопроцессор предоставляет возможность использовать дополнительные типы вещественных данных. Полный список вещественных типов:

 

Длина, байт Название типа Количество значащих цифр Диапазон деся- тичного порядка
Single Real Double Extended Comp 7 .. 8 11 .. 12 15 .. 16 19 .. 20 19 .. 20 -45 .. +38 -39 .. +38 -324 .. +308 -4951 .. +4932 -263 - 1 .. 263 - 1

 

Введем следующие обозначения для составных частей вещественных типов данных:

s - знак числа;

u - мантисса;

r - характеристика.

Тогда машинное представление вещественных типов имеет вид:

 

а) Тип single.

s r u

Здесь 1,8,23 - количество бит, отводимых соответственно для знака, характеристики и мантиссы числа.

 

б) Тип real.

s u r

 

в) Тип double.

s r u

 

г) Тип extended.

s r u

 

д) Тип comp.

s u

 

Тип comp - это фактически длинное целое число, но в программе оно рассматривается как вещественное число с нулевым порядком и мантиссой, в которой записывается только целая часть числа. Обычно тип comp используется в бухгалтерских расчетах.

Тип real по структуре отличается от типов single, double, extended: в real мантисса находится перед характеристикой, в остальных типах - после характеристики.

Непосредственно в сопроцессоре операции выполняются только для типа extended. Остальные вещественные типы при обращении к сопроцессору преобразуются в тип extended, при получении результата от сопроцессора производится обратное преобразование. Преобразования для типов single и double выполняются просто, так как последовательность составных частей числа здесь одинакова. Для типа real необходимо переставить местами мантиссу и характеристику, что требует дополнительного машинного времени.



Турбо Паскаль позволяет работать также в режиме эмуляции сопроцессора. В этом случае операции над вещественными числами при отсутствии сопроцессора выполняются программным путем.

Для включения режима эмуляции перед заголовком основной программы нужно поставить директиву компилятора {$E+}.

Директива {$N+, E+} означает, что программа работает с сопроцессором, если он имеется, и в режиме эмуляции при его отсутствии. Наличие в машине сопроцессора определяется автоматически.

Следует отметить, что тип real оптимизирован для работы без сопроцессора. При наличии сопроцессора дополнительное машинное время, затрачиваемое на перестановку мантиссы и порядка числа, сводит на нет преимущества сопроцессора; при этом время выполнения операций для типа real может в 2-3 раза превышать время выполнения операций для других вещественных типов. Поэтому при использовании сопроцессора, а современные компьютеры практически всегда обеспечивают аппаратную обработку чисел с плавающей запятой, рекомендуется применять лишь типы single, double, extended .

Если в разработанной программе везде объявлен тип real, то для перехода, например, к типу double достаточно в начале программы установить глобальное объявление

Type real = double .

 

Сопроцессор содержит внутренний стек вычислений, имеющий максимальную глубину восемь уровней. Доступ к переменной, находящейся в стеке сопроцессора, осуществляется значительно быстрее, чем доступ к переменной, находящейся в оперативной памяти. Поэтому для достижения максимальной производительности стек сопроцессора используется для хранения промежуточных результатов вычислений и для передачи параметров процедурам и функциям.

Если для вычисления в сопроцессоре длинного выражения требуется запомнить свыше восьми промежуточных результатов, то возникает переполнение его стека. Такая же ситуация имеет место, когда при обращении к процедуре или функции требуется передать свыше восьми параметров-значений (без слова Var) типов single, double, extended или comp. При переполнении стека сопроцессора сообщение об ошибке не генерируется, но результат вычислений будет неправильным. Для исключения такой ситуации длинные арифметические выражения следует разделить на части, а в заголовках соответствующих процедур или функций часть параметров-значений преобразовать в параметры-переменные или параметры-константы, добавив к ним соответственно слово Varили слово Const.

 

 



<== предыдущая лекция | следующая лекция ==>
ОВЕРЛЕЙНАЯ СТРУКТУРА ПРОГРАММЫ | Л И Т Е Р А Т У Р А


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.