А. Ю. Сивцов, А.И. Грушин, С.Р. Шевцов
Московский Центр SPARC - технологий
Разрабатываемый в МЦСТ, микропроцессор Эльбрус 2000 представляет собой микропроцессор с архитектурой, использующей концепции VLIW (Very Long Instruction Word – очень длинное командное слово). Основная идея VLIW заключается в том, что несколько, вообще говоря, разных операций упаковываются в одну очень длинную команду. Для того, чтобы микропроцессор Эльбрус 2000 был совместим с архитектурой IA-32, широко распространенной в наши дни, в микропроцессоре Эльбрус-2000 было решено реализовать мультимедийные расширения набора команд MMX, SSE, SSE2 .
Такие команды, как сложение, вычитание, преобразование типов, форматов, сравнение вещественных чисел, выполняются в устройстве FPA ( floating-point adder). Поскольку команды сложения, вычитания и преобразования упакованных чисел с плавающей запятой одинарного формата, то есть 32-разрядных, подразумевают параллельное выполнение операций над 4-мя парами операндов одинарного формата, эти команды можно было бы выполнять в четырех арифметических каналах. С целью увеличения производительности микропроцессора было решено добавить к основному устройству FPA вспомогательное устройство FPA_32, в котором выполняются операции над числами с плавающей запятой одинарного формата.
Целью данной работы являлось создание вспомогательного устройства FPA_32, которое позволяет выполнять две операции над числами с плавающей запятой одинарного формата в одном арифметическом канале (одна операция выполняется в основном устройстве FPA, а вторая во вспомогательном устройстве FPA_32).
Схемы были описаны на языке Verilog и верифицированы с помощью ручных и
случайных тестов ( тестовых векторов). Устройство
синтезировано в САПР Synopsys на библиотечных элементах с технологией
0.18 мкм. При оптимизации была поставлена задача уложиться в такт
равный 3,3 нс при худших условиях. Следующим этапом стало физическое
проектирование с помощью САПР Avant!. Была проведена размещение и
трассировка устройства, оптимизация и временная верификация. В
результате синтеза, оптимизации и физического проектирования
максимальная задержка в такте получилась 2,8 нс., а объем занимаемый
устройством ~9100 вентилей.
Литература
- Valery Y. Gorshtein, Anatoly I.Grushin, Sergy R. Shevtsov, Floating point addition methods and apparatus, U.S. patent 5808926, 9/1998.
- IEEE Standard for Binary Floating-Point Arithmetic, ANSI/IEEE Standard No. 754, American National Standards Institute, Washington.
- Система команд микропроцессора Е2к.

