В. А. Малолетков (магистрант) РЕКОНФИГУРИРУЕМЫЙ МОДУЛЬ НА БАЗЕ ПЛИС С ИНТЕРФЕЙСОМ PCIEXPRESS. Волгоград, Волгоградский Государственный Технический Университет В последние 3-4 года в связи с увеличением потребности науки в высокоскоростных вычислениях возникла необходимость создания специализированных устройств для ускорения выполнения различных операций обработки данных. Проектирование специализированных устройств для решения узкого круга задач (либо одной задачи) нецелесообразно с экономической точки зрения. Такие устройства изготавливаются всего лишь в нескольких экземплярах, что весьма дорого. Большую практичность представляют реконфигурируемые устройства на базе программируемых логических интегральных схем (ПЛИС). Применение в устройствах программируемых микросхем позволяет существенно расширить количество решаемых задач на базе одного устройства. Производители ПЛИС создают на базе своих микросхем аппаратные комплексы (Development kits) для решения различных задач. Основным назначением таких комплексов является макетирование разрабатываемых пользователем устройств. Как правило, они комплектуются большим объемом памяти, несколькими высокоскоростными портами ввода/вывода, множеством свободных пользовательских линий. Универсальность подобных решений делает их достаточно привлекательными для решения широкого круга задач, но высокая стоимость (от 1000$ и выше) ограничивает возможности по их приобретению. В связи с высокой стоимостью зарубежных модулей, возникла необходимость создания аналогичного дешевого устройства. На кафедре «ЭВМ и Системы» Волгоградского государственного технического университета в 2007 году был разработан реконфигурируемый модуль P5116 на базе ПЛИС Altera Cyclone I с интерфейсом PCI. Цель создания модуля – исследование применения подобных устройств в высокоскоростных вычислениях. Основные характеристики модуля: • Емкость ПЛИС – 12000 логических элементов; • Встроенная оперативная память объемом 32 Мбайт; • Интерфейс PCI (контроллер PLX PCI9054); • Ввод/вывод: COM-порт, 20 пользовательских линий; • 2 источника питания (от слота PCI или от внешнего блока питания 9В). Конфигурирование ПЛИС Возможно двумя способами. При подаче питания на модуль происходит автоматическое конфигурирование ПЛИС из энергонезависимой памяти EEPROM. В процессе работы модуля возможна непосредственная прошивка ПЛИС через специальный порт. Установленный на модуле контроллер шины PCI является промежуточным звеном между системным ПО и ПЛИС. Стандартный драйвер контроллера предоставляет набор функций собственного API и обеспечивает универсальный интерфейс работы с программируемой микросхемой. Преимуществом данного решения является возможность смены конфигурации модуля без перезагрузки ПК посредством непосредственной прошивки программируемой микросхемы. Также при использовании стандартного драйвера контроллера интерфейса PCI снимается необходимость переустановки драйверов после смены конфигурации ПЛИС. Это дает возможность упростить организацию программной части реконфигурируемого комплекса. Реализация взаимодействия интерфейсной части ПО с пользовательским устройством в ПЛИС сводится к созданию библиотеки функций. Таким образом есть возможность избежать повторной компиляции программ проекта при смене прошивки ПЛИС – достаточно будет лишь обратится к функциям из другой библиотеки. В процессе работы с модулем P5116 были выявлены недостатки схемы. «Узким местом», снижающим производительность модуля является сам интерфейс PCI. При анализе работы модуля на тестовых задачах (алгоритм Гаусса, шифрация) время цикла работы устройства в ПЛИС было сравнимо со временем загрузки данных в память модуля и считывания результатов. Табл. 1. Длительности фаз работы устройства для решения СЛАУ методом Гаусса. Размер матрицы 3 5 10 25 50 Время расчета, нс 616 952 1792 4312 8512 Загрузка данных, нс 9,6 24 88 520 2040 Выдача результатов, нс 2,4 4 8 20 40 Суммарное время, нс 628 980 1888 4852 10592 Как видно из таблицы 1, с увеличением размера исходной матрицы данных, время загрузки данных в память модуля сравнимо с временем обработки матрицы. Таким образом, общая производительность модуля снижалась на 15–20% от возможностей устройства в ПЛИС. Новые серии микросхем программируемой логики позволяют уже на стадии проектирования решить большинство вышеупомянутых проблем. Микросхемы Altera четвертого поколения и Xilinx шестого поколения содержат большое количество интегрированных контроллеров и высокоскоростных приемопередатчиков. В частности: • До 4 модулей PCI Express x4 с пропускной способностью5 Гбит/с; • От 4 до 48 приёмо-передатчиков с пропускной способностью до 11,3 Гбит/с; • Ethernet контроллеры 10/100/1000 Мбит/с; • Контроллеры памяти DDR, DDR2, DDR3 обеспечивающие полосу пропускания до 12,8 Гбит/с; • Полнодуплексные линии передачи данных до 1 Гбит/с. Наличие высокоскоростных линий передачи данных устраняет проблему задержек на загрузку и выгрузку данных. За счет интеграции контроллеров необходимых интерфейсов в микросхеме ПЛИС упрощается построение вычислительных модулей. В настоящее время проходит стадию проектирования реконфигурируемый модуль на базе ПЛИС нового поколения Altera Cyclone IV. Новый проект обладает следующими характеристиками: • Главная ПЛИС Altera Cyclone IV EP4CGX110 (108 тыс. Логических элементов, 5,4 кбит встроенной памяти, 280 умножителей 18*18, 8 приемо-передатчиков 3,125 Гбит/с); • Интерфейс PCI-Express x4 с пропускной способностью 2,5 Гбит/с (v1.1); • Встроенная оперативная память объемом 128 Мбайт; • Конфигурационная флеш-память объемом 16 Мбайт; • 10/100/1000BASE-T Ethernet; • Пользовательские каналы приема и передачи данных пропускной способностью до 1 Гбит/с. Проектируемый модуль имеет ряд преимуществ перед P5116. Во-первых, устанавливаемая ПЛИС обладает в 8 раз большей емкостью, что позволяет реализовывать проекты, обрабатывающие одновременно большое количество данных. Встроенные умножители 18*18 позволяют ускорить работу над числами с плавающей запятой. Тактовая частота работы ПЛИС поднята с 40 МГц до 100 МГц, что уже позволяет увеличить скорость работы пользовательских устройств в ПЛИС более чем в 2 раза. Установленная флеш-память большего объема позволяет хранить несколько конфигураций основной ПЛИС. Это позволяет ускорить процесс перенастройки вычислителя на решение другой задачи. Модуль не оборудуется собственным LCD дисплеем, и разъемами для установки дополнительной памяти и дополнительными контроллерами. Это позволяет снизить стоимость модуля до 400-600$. Таким образом, изготовление таких модулей более выгодно с экономической точки зрения, чем закупка зарубежных аналогов, имеющих сравнимую производительность. В заключении стоит отметить, что реконфигурируемые модули обеспечивают широкое применение модулей на ПЛИС, как в научной среде, так и в домашнем использовании. С точки зрения стоимости подобных решений универсальность микросхем FPGA и их множество позволяют строить модули, специализированные под выполнение каких-либо задач. Это позволяет удешевить «пользовательские» варианты модулей, установив в них бюджетные чипы, либо наоборот снабдить модуль высокоскоростными портами ввода/вывода и большими объемами памяти.