ЭВМ с реконфигурируемой (программируемой) архитектурой
Развитие идей Глушкова

Научная деятельность

В.М.Глушков неоднократно подчеркивал значимость построения вычислительных машин на современной элементной базе, позволяющих проектировать перспективные архитектуры машин будущих поколений. В настоящее время современной элементной базой являются микропроцессоры в сочетании с БИС памяти и программируемыми логическими интегральными схемами (ПЛИС) или Programmable Logic Devices (PLD), которые должны не только удовлетворять требованиям широкого круга пользователей, но и учитывать перспективу развития средств вычислительной техники. Технология ПЛИС позволяет за короткий промежуток времени, без использования финишных технологий, реализовать в кристалле практически любой проект цифрового устройства, имея в наличии лишь персональный компьютер и САПР ПЛИС. Поэтому создание перспективных отечественных средств вычислительной техники, не привязанных к технологическим линиям производства, с возможностью реконфигурируемости, на основе современных кристаллов ПЛИС представляет актуальную научно-техническую проблему.

Реконфигурируемые системы на базе ПЛИС широко используются во многих областях: реконфигурируемая обработка данных; цифровая обработка сигналов; обработка изображений; коммуникации; вычислительные устройства общего назначения; верификация.

ПЛИС - программируемая логическая интегральная схема, сочетающая регулярность структуры полупроводникового запоминающего устройства с универсальностью микропроцессора, позволяющая программно формировать внутренний специализированный процессор. Структурно ПЛИС представляют собой однородную среду и обладают свойствами: однородности, реконфигурируемости и параллельности выполнения операций. Параллельность - повышение быстродействия, достигается за счет повышения тактовой частоты и за счет параллельного выполнения большого числа операций. Реконфигурируемость - надежность, гибкость и структурная универсальность (возможность создания для каждой задачи соответствующей структуры) обеспечиваются аппаратно за счет программного изменения связей между элементами и функций самих элементов. Однородность - простота технологии изготовления при использовании одинаковых элементов и однотипных связей между ними.

На сегодняшний день ПЛИС прошли путь от простых элементов ПЛМ (программируемые логические матрицы) до сложных ПЛИС - CPLD (Complex Programmable Logic Devices) и FPGA (Field Programmable Gate Array). Доступны кристаллы Virtex-II-Pro фирмы Xilinx емкостью до 10 миллионов системных вентилей, которые имеют огромное преимущество в логической емкости над предыдущими кристаллами FPGA. В течение ближайших трех - четырех лет будут предложены устройства с емкостью 50 миллионов системных вентилей - достаточную логику, чтобы формировать сложные, высокоэффективные системы на одном кристалле.

Существенным преимуществом ПЛИС является их универсальность и возможность быстрого программирования (конфигурирования) под заданный проект. Наличие исключительно удобных для разработчика средств автоматизации проектирования позволяет быстро и эффективно осуществить разработку, верификацию и отладку проекта на одном рабочем месте, используя в качестве основного технического средства PC или рабочую станцию.

Возможность многократного перепрограммирования (конфигурирования) позволяет вносить изменения в уже готовое, функционирующее изделие или использовать это изделие для выполнения различных функций в зависимости от загруженного проекта.

Семейство кристаллов Virtex (включающее серии Virtex, Virtex-E, Virtex-EM, Virtex-II, Virtex-II-Pro) оптимизировано для использования как hard, так и soft cores. Hard cores (типа PowerPC) - специализированные области кристалла FPGA, выделенные для определенных функций, в которых создаются блоки неизменной структуры, оптимизированные для заданной функции.

Накопленный опыт позволил фирмам - производителям ПЛИС, опираясь на опыт фирм - разработчиков аппаратуры, рекомендовать ПЛИС для замены микросхем малой и средней степени интеграции при реализации стандартных комбинационных (шифраторы, дешифраторы, сумматоры, преобразователи кодов, компараторы и др.) и последовательностных (регистры, сдвиговые регистры, счетчики и др.) функциональных узлов, а также логики склеивания (glue logic). С этой целью в состав САПР ПЛИС введен CORE Generator - инструментальное средство, предоставляющее в распоряжение пользователя параметрические логические "ядра", оптимизированные для кристаллов ПЛИС.

Следует отметить, что система CORE, благодаря использованию сетевых технологий, позволяет существенно уменьшить время разработки новых проектов. В соответствии со сформулированными техническими требованиями, проектировщик по сети Internet может получить, оптимизированное для FPGA, логическое ядро и включить его в свой проект.

При проектировании цифровых устройств на базе ПЛИС различной сложности - от простых PLD до CPLD и FPGA широко используют языки описания аппаратных средств (HDL). Наиболее популярные HDL языки - VHDL, Verilog и Abel.

Reconfigurable Computing. Быстрое развитие современных технологий и производство ПЛИС высокой степени интеграции привело к созданию новых направлений в "Computer Science" - "Reconfigurable Computing" и "IRL - Technology". Термин "Reconfigurable Computing" в общем случае обозначает понятие как реконфигурируемой структуры компьютера (hardware), так и процесса обработки данных, выполняемого компьютером. Технология IRL (Internet Reconfigurable Logic) предусматривает возможность реконфигурации (в том числе дистанционной, через сеть Internet) структур вычислительных устройств, включенных в эту сеть и реализованных на элементной базе ПЛИС типа FPGA.

Теоретические основы и примеры практической реализации ЭВМ с гибкой (программируемой) архитектурой, в которой используется механизм микропрограммной эмуляции как инструмент перестройки архитектуры, прежде всего процессора, разрабатывались под руководством А.В. Палагина. Тем самым обеспечивается настройка на различные внутренние языки, совместимых по разрядности, популярных в то время моделей мини-ЭВМ (фирм DEC, H/P и др.), т.е. получалась своеобразная "машина-полиглот", которая могла "переваривать" программное обеспечение, реализованное в различных внутренних языках (системах команд), создавая необходимые для каждого конкретного применения проблемно-ориентированные конфигурации. Другим приложением свойства гибкости было развитие внутреннего языка базовых моделей одного из известных семейств оригинальных микро-ЭВМ как эффективное средство повышения их производительности.

Главной компонентой архитектуры этого класса ЭВМ была гибкая иерархическая система управления, использующая на нижнем, микропрограммном уровне управления оригинальный "эмулятор" форматов команд.
Теоретической основой разработки и оценки эффективности системы управления ЭВМ был предложенный логико-информационный метод проектирования. В соответствие с логической концепцией логико-информационной модели процессор представляется известной композицией операционного и управляющего автомата. В соответствие с информационной концепцией процессор рассматривается как информационная система, вся информация в которой отнесена к трем "сферам" состояний: хранения, транспортировки и преобразования. Таким образом, при определенных соотношениях между объектами информации в этих сферах можно получить оптимальные технические параметры ЭВМ.

Важным качеством ЭВМ с гибкой архитектурой является степень гибкости или уровень программируемых компонентов. Именно они определяют диапазон технических решений и свойства архитектур, каждая из которых эффективна в своем, вполне определенном, классе задач. В данном случае уровень программируемых компонентов опускался до функциональных узлов системы управления ЭВМ, поэтому условно его можно назвать "автоматным" уровнем. Базовыми компонентами на этом уровне в 70-е годы были программируемые логические матрицы ПЛМ.

С появлением современных кристаллов ПЛИС типа FPGA с емкостью более чем 100.000 логических вентилей стало возможным использовать полученные результаты для построения реконфигурируемых компьютеров с полностью программируемой архитектурой. В реконфигурируемых компьютерах (компьютерах с программируемой архитектурой) фиксируется обрабатывающее поле заданной размерности, сконфигурированное специально для выполнения определенного заданного алгоритма или его части, обеспечивая таким образом реализацию этого алгоритма оптимальным способом, имея в виду, как время его выполнения, так и затраты аппаратных ресурсов. Алгоритм может быть разбит на фрагменты, выполняемые последовательно, в связи с чем, соответствующие этим фрагментам структуры также загружаются в кристалл последовательно (в порядке их выполнения), что приводит к существенной экономии ресурсов. Сложность фрагментов алгоритма при этом определяется лишь логической емкостью кристалла, т.е. размерностью обрабатывающего поля.

Таким образом, реконфигурируемая обработка данных представляет собой в известной мере изменение центральной парадигмы проектирования современных средств вычислительной техники и автоматики, а реконфигурируемые аппаратные средства становятся реальной и быстро развивающейся областью вычислительной техники. Процесс конфигурации ПЛИС, составляющих основу реконфигурируемых устройств, может быть реализован при наличии соответствующих файлов конфигурации, полученных в процессе создания проекта с помощью САПР.

Различия между программируемыми микропроцессорами и ПЛИС постепенно стираются. Современные кристаллы ПЛИС включают в свой состав увеличенную локальную память, специализированные умножители и RISC - процессоры (Power PC). Скорее всего, кристаллы ПЛИС никогда не будут заменять микропроцессоры для вычислительных задач общего назначения, но концепция конфигурируемой обработки данных, вероятно, будет играть возрастающую роль в развитии быстродействующих реконфигурируемых вычислительных систем. Аналогично с компьютерами, связанными с сетью Internet, которые могут автоматически загружать компоненты программного обеспечения для выполнения специфических задач, реконфигурируемые устройства могут, при необходимости, загружать новые конфигурации аппаратных средств, используя технологию IRL.

Принципы построения реконфигурируемых систем

В настоящее время под руководством А.В. Палагина ведутся работы по созданию компьютерной системы с реконфигурируемой (виртуальной) архитектурой, которая представляет собой проблемно - ориентированные конфигурации применительно к каждой конкретной задаче. Структура реконфигурируемой системы состоит из 2-х частей: постоянной (или "фиксированной") части F - host компьютера и переменной части V - так называемого "реконфигурируемого" оборудования, которое можно объединять в различные конфигурации. Оборудование V также подразделяется на две части: "стандартную" часть , которая подключается к F через стандартные шины host компьютера и представлена материнской платой с локальной внутренней шиной для подключения "нестандартной" части , представляющей собой широкий набор модулей расширения. Операции, выполняемые в каждой из частей, определяются следующими характеристиками: в F - временем вычислений и исходными данными; в V - также дополнительным оборудованием, необходимым для выполнения соответствующих операций, временем передачи информации между вычислительными модулями и временем реконфигурации системы (загрузки soft cores в кристаллы ПЛИС).

В данной системе конфигурация формируется таким образом, чтобы перенести основную работу с F - части системы на специализированные блоки (V - часть), которые представляют собой soft cores. Для строго сформулированной вычислительной задачи (где однозначно определены все численные процедуры) и описания характеристик операций для F и V требуется организовать общую структуру ( ) и распределить вычисления таким образом, чтобы минимизировать целевую функцию (сумма стоимостей реконфигурации и времени вычислений).

Данная проблема является исключительно сложной, по существу это комбинаторная задача оптимального синтеза. Ограничение, накладываемое конечным объемом реконфигурируемого оборудования, не позволяет получить приемлемый для практики однозначный метод нахождения оптимального решения. Поэтому, находится решение (близкое к оптимальному) методом последовательных приближений.

Реконфигурация структуры включает две фазы. В первой изменяется лишь часть , т.е. механическое изменение не допускается. Если не достигнут заданный критерий оптимизации, то есть часть не имеет достаточной логической мощности и памяти, либо специфических средств ввода-вывода информации, то осуществляется переход ко второй фазе. И дальнейшая реконфигурация системы выполняется также и механическим способом (путем установки модулей расширения в соответствующие разъемы - слоты локальной шины материнской платы).

Структурная организация реконфигурируемых процессоров. Реконфигурируемые процессоры (РП) представляют собой в минимальной конфигурации печатную плату с размещенными на ней одним или несколькими кристаллами пользовательских ПЛИС (ППЛИС), энергонезависимой памяти для хранения файлов конфигурации, элементами загрузки конфигурационного файла (файлов) и одним или несколькими разъемами для подключения внешних устройств (модулей расширения). Тип энергонезависимой памяти определяется областью применения РП: для динамического конфигурирования ППЛИС в процессе функционирования целесообразно использовать Flash - память, а при отсутствии такой необходимости - ППЗУ. Использование Flash - памяти предполагает наличие в составе РП блока управления этой памятью, реализующего загрузку этой памяти файлами конфигурации из внешнего источника, а также чтения с произвольной выборкой требуемого файла и его загрузки.

Большинство задач обработки данных требуют наличия cache-памяти в составе РП. Обращение к памяти должно осуществляться как от внешнего устройства (через установленный разъем), так и со стороны устройства, реализованного в ППЛИС. С целью расширения памяти на плате РП устанавливается разъем для подключения дополнительной памяти. Cache - память в составе РП предполагает наличие контроллера памяти.
Такой тип РП получил название несущих или материнских плат, в связи с тем, что к ним могут быть подсоединены платы расширения. РП разрабатываются под промышленные стандарты, такие как PCI, CompactPCI, PMC (PCI Mezzanine Cards), DIME (DSP and Image processing Module for Enhanced FPGAs) и VME. Спецификация PMC разрешает добавлять модули расширения к материнским платам через локальную шину PCI. Материнские платы подключаются к стандартной шине компьютера и работают в режиме сопроцессора.

Комплекс основных задач в данной области формулируется следующим образом:

- разработка теоретических основ принципов построения реконфигурируемых цифровых структур на основе однородной среды, в соответствии с этим построить систему формализованных методик и алгоритмов синтеза параметрических модулей с учетом особенностей их конструктивно-технологической базы;
разработка основ теории адаптивных логических сетей (АЛС), предназначенных для решения широкого класса задач путем непосредственной структурной реализации алгоритмов обработки и отображения входного множества данных в выходное множество данных за счет их структурной универсальности, в основу структурной организации которых положены требования динамической реконфигурируемости, многоуровневости и параллельности обработки данных, которым в полной мере соответствует современная элементная база - ПЛИС;
- разработка алгоритмов адаптации логических сетей на заданные классы задач, в том числе задачи классификации и др.;
- разработка структуры реконфигурируемого процессора, реализующего конвейерный принцип обработки данных;
- разработка базовых библиотечных параметрических модулей посредством их описания на языке VHDL и схемотехнического редактора САПР ПЛИС, в том числе порогового устройства, сумматора Хемминга, устройств сортировки, медианных фильтров, перемножителей матриц и других;
- разработка основ структурной организации нейроподобных сетей Хемминга на основе кристаллов ПЛИС.

Принципиальными отличиями результатов работ в данной области являются:

- ориентация на технологические возможности отечественных предприятий компьютерного машиностроения;
- свойство структурной универсальности (помимо алгоритмической универсальности), позволяющее для каждого алгоритма создавать в универсальном функциональном поле свою структурную схему, которая обеспечивает эквивалентное отображение структурной схемы алгоритма и процессов функционирования, позволяя менять логическую структуру устройства в зависимости от специфики решаемой задачи путем реконфигурирования внутренней структуры.

Реконфигурируемые системы найдут широкое применение в следующих приложениях:

- проблемно-ориентированные системы и сопроцессоры;
- телекоммуникации, обработка изображений, цифровая обработка сигналов;
- моделирование алгоритмов и проектирование архитектур современных компьютеров, основанных на кристаллах FPGA и ASIC;
- современные системы управления, связанные с выполнением больших объемов вычислений - управление технологическими процессами, контрольно-измерительной аппаратурой, роботами - манипуляторами, других системах реального времени;
- знание - ориентированные системы - создание автоматных сетей для синтаксически - семантического анализа текстов, в частности, для реализации модели языковой картины мира (ЯКМ).

Данное направление выполняется в рамках работ, которые являются теоретическим обобщением научных и практических результатов, полученных в течении более чем десятилетнего периода разработок ряда цифровых устройств на ПЛИС, выполненных в отделе "Микропроцессорная техника" Института кибернетики им. В.М. Глушкова НАН Украины.

Палагин А.В., Опанасенко В.Н.

 

 

HTD © 2003