Схема предсказания исключительной ситуации «потеря точности» в модуле операции «умножение с накоплением» Ивасюк Евгений Вячеславович Научно-исследовательский институт системных исследований РАН
2 НИИСИ РАН Содержание Особенности аппаратной реализации команды «умножение с накоплением» Методы повышения быстродействия процессора на операциях «умножение с накоплением» Исключительные ситуации, формат данных Структурная схема модуля операции A*B + C Схемы предсказания ранней/поздней потери точности Схемы обычного/ускоренного счетчиков младших нулей Сравнение максимальных задержек счетчиков Схема ускоренного расчета признаков нулей сумм Диаграммы работы, выводы
3 НИИСИ РАН Особенности аппаратной реализации команды «умножение с накоплением» Преимущества и недостатки аппаратной поддержки инструкции «умножение с накоплением» типа FMA (fused multiply-add): 1.+ Уменьшение латентности операции; 2.+ Уменьшение ошибки округления в 2 раза по сравнения с «раздельной» реализацией. Удобство реализации алгоритма Горнера (exp, lg, sin, cos, tan). 1.– Увеличение латентности раздельных операций «умножение», «сложение»; 2.– Замедление двухоперандной потоковой операции A*B + C.
4 НИИСИ РАН Методы повышения быстродействия процессора на операциях «Умножение с накоплением» 1.Уменьшение латентности работы исполнительного модуля либо повышение максимальной рабочей частоты; 2.Оптимизация взаимодействия с верхним по иерархии блоком (предсказание исключительных ситуаций).
5 НИИСИ РАН Исключительные ситуации Модуль соответствует стандарту IEEE754 в отношении правил округления и состава формируемого вектора исключительных ситуаций. 1. Ранние исключительные ситуации (не требуют предсказания): 2. Поздние исключительные ситуации (требуют предсказания): a)Invalid operation. a)Underflow (потеря значимости); b)Overflow (переполнение); c)Inexact operation (потеря точности).
6 НИИСИ РАН Формат данных Входной операнд удовлетворяет стандарту IEEE754 одинарной точности. Op = (–1) s. 2 exp fract Разрядность знака 1 бит экспоненты 8 бит мантиссы 24 бита Старший бит мантиссыскрытый 1 – нормальные числа 0 – денормальные числа Максимальное значение экспоненты, exp max +127 Минимальное значение экспоненты, exp min -126 Смещение экспоненты, exp bias +127 Характеристики чисел одинарной точности
7 НИИСИ РАН Структурная схема модуля
8 НИИСИ РАН Схемы предсказания ранней и поздней потери точности
9 НИИСИ РАН Схема обычного счетчика младших нулей
10 НИИСИ РАН Схема ускоренного счетчика младших нулей
11 НИИСИ РАН Аппаратные задержки обычной и ускоренной схем подсчета числа младших нулей Биты значения (веса значения) Вентили в пути сигнала счетчиков Древовидная схема Параллельная схема 33 x NAND 25 x NAND6 x NAND 19 x NAND7 x NAND 015 x NAND8 x NAND
12 НИИСИ РАН Схема ускоренного расчета признаков нулей части суммы
13 НИИСИ РАН Диаграммы работы модуля с предсказанием исключительной ситуации «потеря точности» Без предсказания Зависимые, с предсказанием Независимые, с предсказанием Независимые с запрещенными исключениями
14 НИИСИ РАН Результаты Модуль реализован в виде RTL-модели на языке Verilog. Предложенное усовершенствование позволяет завершить формирование признака потери точности на 2-й стадии (из 3-х) конвейера вычислительного устройства. Выигрыш по быстродействию до 2-х раз на потоковой обработке операндов в режиме разрешенного исключения «потеря точности». Результаты схемотехнического синтеза (0.18мкм) подтверждают работу модуля на частоте 250/350 МГц (худший/лучший случай).