Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава 22. Особенности архитектуры EPIC.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
105 Кб
Скачать
☆

22.4. Операции над данными с плавающей точкой

Программная модель вычислений с плавающей точкой в архитектуре EPIC, в отличие от архитектуры IA-32/64, ориентирована на работу с регистрами FR, а не со стеком, что уже само по себе облегчает создание более высокопроизводительных программ. В архитектуре EPIC непосредственно поддерживается 6 типов данных, в том числе три стандарта IEEE 754 (одинарная точность SP, двойная точность DP и двойная расширенная точность DE), 82-разрядный формат FR и 64-разрядные целые - со знаком и без знака. Формат DE, также как и формат с размещением двух чисел (SP) с плавающей точкой, используемый в векторных мультимедийных командах, унаследован архитектурой EPIC от архитектуры IA-32/64. Формат регистров FR включает 64-разрядную мантиссу, 17-разрядный порядок и 1 разряд под знак числа. Кроме того, на уровне подпрограмм предлагается поддержка четверной точности.

В 64-разрядном регистре FPSR указываются признаки деления на ноль, переполнения порядка, исчезновения порядка, потери значимости, формат данных и другая информация о состоянии.

FP-команды загрузки имеют модификации, соответствующие всем аппаратно поддерживаемым типам данных, которые в ассемблере задаются последним символом мнемокода (LFDS - для SP, LDFD - для DP и т.д.). Арифметические команды включают операции типа "умножить-и-сложить" и "умножить-и-вычесть", команды вычисления максимума/минимума, а также команды вычисления обратной величины и обратного квадратного корня. Применение двух последних вместо команд деления и квадратного корня соответственно упрощает работу с конвейерами.

22.5. Контрольные вопросы

  1. Какие причины обусловили появление архитектуры EPIC?

  2. В чем суть принципа явного параллелизма?

  3. Назовите основные особенности архитектуры EPIC?

  4. Какие требование предъявляются к компиляторам для программ с архитектурой EPIC?

  5. Какое количество регистров предусмотрено в архитектуре EPIC?

  6. Каким образом в пакете команд указывается последовательность выполнения команд?

  7. Какова роль предикатных регистров?

  8. Как используются регистры архитектуры EPIC при вызове подпрограмм?

  9. В чем суть спекулятивного (по предположению) выполнения команд?