Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей
|
Самые ранние модели процессоров фирмы Intel не имели аппаратной поддержки
для операций с плавающей точкой. Все операции такого типа выполнялись
как процедуры, в которые входили обычные арифметические
команды. Для ранних моделей был разработан дополнительный кристалл,
получивший название математического сопроцессора. В его состав входили
команды, с помощью которых операции с плавающей точкой выполнялись
намного быстрее, чем при использовании процедуры из обычных арифметических
команд.
Начиная с процессоров Pentium, математический сопроцессор как отдельное
устройство перестал существовать. Вместо него в состав процессоров
входит блок операций с плавающей точкой (FPU — Floating-Point Unit),
однако он программируется как отдельный модуль.
Сопроцессор добавляет арифметические возможности в систему, но не замещает
ни одну команду основного процессора. Команды add, sub, mul и
diy, описанные ранее, выполняются процессором, а математический сопроцессор
выполняет дополнительные, более эффективные команды арифметической
обработки.
С точки зрения программиста, система с сопроцессором выглядит как единый
процессор с большим набором команд.
Программная модель сопроцессора может быть представлена как совокупность
регистров. Они могут быть разделены на три группы:
1. Регистры стека сопроцессора. Их 8, и они именуются как S T ( 0 ) , S T ( 1 ) ,
S T ( 2 ) ... S T ( 7 ) . Числа с плавающей точкой запоминаются как 80-битовые
числа расширенного формата. Стек регистров организован по принципу
LIFO (Last-In, First-Out — последним пришел, первым ушел). Регистр
S T ( 0 ) всегда указывает на вершину стека. Вновь поступающие в сопроцессор
числа добавляются в вершину стека.
2. Служебные регистры, в число которых входят регистр состояния, отражающий
информацию о состоянии процессора, управляющий регистр
(для управления режимами работы сопроцессора) и регистр состояния
тегов, отражающий состояние регистров ST ( 0 ) ... ST ( 7 ) .
3. Регистр-указатель данных и регистр-указатель команд, предназначенные
для обработки исключительных ситуаций.
К любому из вышеперечисленных регистров программа может получить
доступ либо напрямую, либо косвенно. Для программирования сопроцессора
в основном используются регистры S T ( 0 ) ... S T ( 7 ) и биты СО, С 1 , С2 и сз
регистра состояния.
<< Назад В начало Далее >> |
|