Автор:
Манат Иманкул (Астана, Казахстан)
Первопричиной эволюции архитектуры вычислительных систем (ВС) служит развитие технологий микроэлектроники. Согласно закону Мура процессорная мощность или производительность ВС при той же стоимости удваивается приблизительно каждые 18 месяцев. Поэтому компьютеры совершенствуются невероятно быстро. Стремительное развитие микроэлектроники позволяет создавать сверхбольшие, ультрабольшие схемы и системы на кристалле огромной функциональной сложности. Наряду с темпами роста числа вычислительных модулей на кристалле в современной микропроцессорной технике увеличивается и их функциональность.
В частности, начало 80-х годов ХХ века связано с технологией 1,5…2,5 мкм, что привело к появлению масштабируемых архитектур на базе транспьютерных систем. Однослойные архитектуры (одно-, малопроцессорные ЭВМ, транспьютерные системы, кластерные суперЭВМ) не позволяют повысить отношение производительности к стоимости на некоторых типах решаемых задач.
Попыткой перехода к двухслойным архитектурам является реализация матричных процессоров для ЭВМ фирмы IBM и ЭВМ серии ЕС. В конце 80-х годов прошлого века получили развитие нейрокомпьютеры (универсальные вычислительные машины), когда в одном кристалле реализовали каскадируемый фрагмент нейронной сети (НС). Здесь наблюдается отказ от фон Неймановской архитектуры с булевым логическим базисом (И, ИЛИ, НЕ) и переход к нейросетевому логическому базису.
Параллельность нейросетевых алгоритмов всегда выше, чем параллельность технических средств, их реализующих. Подавляющее большинство нейрочипов разрабатывается в соответствии со стандартами цифровых технологий. Одним из вариантов воплощения экзафлопных суперЭВМ (производительность в один экзафлопс – это 10 операций с плавающей запятой) является нейрокомпьютер, в котором процессор упрощается до простейшего нейрона или фрагмента НС той или иной структуры. При этом в архитектуре аппаратной реализации в явном виде присутствуют признаки нейронной архитектуры, а программное обеспечение (ПО) выполняет общие функции каскадирования.
Сегодня применяются лишь программные эмуляции НС, так как невозможно воплотить теоретически высокий параллелизм, присущий данной архитектуре. Аппаратная реализация искусственных НС (ИНС) в виде нейропроцессоров – это техническое решение представляет собой обычный векторный процессор, реализующий специализированные векторные команды, которые эмулируют ИНС [1, с. 784].
Сегодня в вычислительной технике (ВТ) находят наибольшее применение высокопроизводительные ВС, имеющие многоядерные и мультипроцессорные архитектуры или архитектуры, сочетающие их свойства (например, 32-ядерные микропроцессорные модули, которые поддерживают архитектуру симметричного мультипроцессирования).
В большинстве современных микропроцессоров функции логических блоков фиксированы и не могут модифицироваться. В настоящее время имеются многопроцессорные ВС с программируемой архитектурой различного назначения, реализованные на основе программируемых логических интегральных схем (ПЛИС) класса FPGA (field-programmable gate arrays, программируемые пользователем вентильные матрицы). Принципиальное отличие ПЛИС состоит в том, что и функции блоков, и конфигурация ассоциаций между ними могут меняться с помощью специальных сигналов, посылаемых схеме.
Разработчик системы заказывает необходимые ПЛИС, не неся единовременных затрат на проектирование (один из основных недостатков ASIC (application-specific integrated circuit, заказная специализированная для решения конкретной задачи интегральная схема)), поскольку логические, запоминающие, трассировочные блоки и слои электропитания уже спланированы и проверены, а неисправности устранены. ASIC настроены на выполнение каких-либо приложений, используются в конкретном устройстве и реализуют строго ограниченные функции, свойственные только данному устройству. Поэтому ASIC имеет узкий круг применения.
ПЛИС в отличие от базовых матричных кристаллов, которые конфигурируются раз и навсегда в процессе производства путем «прожига», могут постоянно перепрограммироваться и менять топологию ассоциаций в процессе использования. Успех ПЛИС определяется многими факторами (техническое совершенство; определение приоритетов параметров, которые зависят от приложения и т.д.).
Системы FPGA реализуют различные устройства ВТ и находят применение, например, в области защиты компьютерных сетей, управления в реальном масштабе времени (РМВ) сложными техническими объектами.
FPGA - сложные ИС с программируемой логикой. На кристалле размещены мегавентильные схемы, соответствующие целым системам SOC (system on chip) или SOPC (system on programmable chip). FPGA содержат матрицу идентичных конфигурируемых логических блоков того или иного типа, регулярно расположенных по строкам и столбцам, между которыми расположены средства коммутации, реализующие с помощью программирования необходимые взаимные ассоциации логических блоков.
С помощью программирования логические блоки настраиваются на необходимые операции по преобразованию данных, а трассировочные ресурсы (ресурсы межсоединений) – на поддержку требуемых взаимных ассоциаций логических блоков. Поэтому в FPGA воплощается функциональная схема проектируемого устройства. В периферии кристалла выполнены блоки ввода/вывода, поддерживающие интерфейс FPGA с иными микросхемами.
Следует отметить, что значимость SOC вытекает из закономерностей зависимости качества цифровой аппаратуры от уровня интеграции ее элементной базы. FPGA – аппаратные схемы, которые могут быть модифицированы в любой момент в процессе их использования. Достоинства современных FPGA заключаются в том, что схемы ввода/вывода способны выполнять требования множества стандартов на сигналы передачи данных, число которых доходит до 20 [2].
CPLD (complex programmable logic devices) – сложные программируемые логические устройства, в которых применяются схемы непосредственной реализации дизъюнктивных нормальных форм переключательных функций (функций типа SOP, Sum of Products). В CPLD имеются несколько PAL (programmable array logic, программируемая матричная логика) и GAL (generic array logic, усложненный вариант PAL), объединенных системой коммутации.
Имея комбинированную архитектуру CPLD и FPGA можно решать задачи с интенсивными вычислениями, а также реализовать сложные логические контроллеры и другие быстродействующие автоматы. Преимущества специальных процессоров и программируемых матриц очевидны в нейровычислениях – наукоемкой области ВТ. Сегодня разработан целый ряд устройств на базе ПЛИС, предназначенных для реализации тех или иных парадигм НС.
Любая система в будущем потребует модификации (или модернизации), являющейся характерным свойством современных решений систем управления и контроля. Поэтому необходимо обеспечить требуемую высокую степень модифицируемости ПО с непредусмотренными функциями. Разработчик ПО, учитывая функциональную спецификацию, может создать необходимые новые модули и внести поправки в существующие. Для ПО, функционирующих в реальных условиях, модификация – это потребность.
Для расширения функциональных возможностей системы, в частности, при изменениях рабочего окружения системы с непредусмотренным воздействием на ПО, система должна изменяться, чтобы соответствовать появившимся новым требованиям. Необходимо проводить анализ реализации этих изменений и прогнозировать заранее те изменения (преобразования), которые возможны в системе. В частности, в ПО могут быть внедрены непредусмотренные прежде функции. При сопровождении модифицированной очередной версии системы должны быть исключены проблемы.
Перспективные экзафлопные ЭВМ будут сверхвысокой производительности, которая будет достигаться минимальными средствами, и обладать многими интеллектуальными свойствами. Надежный экзафлопный супернейрокомпьютер будет сохранять работоспособность при выходе из строя отдельных нейронов. Последнее принципиально отличает нейрокомпьютеры от ВС, ориентированных на булеву логику.
Весь арсенал современных перспективных технологий должен быть ориентирован на повышение надежности будущих экзафлопных суперЭВМ и супернейрокомпьютеров. Ввиду стремительного развития технологий распределенных вычислений необходимо разрабатывать методы на базе оптимального распараллеливания, а также специализированные архитектуры вычислительных средств на основе критериев минимизации времени сетевого обмена данными при распределенных вычислениях в РМВ.
Литература:
1. Круг П.Г. Нейронные сети и нейрокомпьютеры: учеб. пособие по курсу «Микропроцессоры» - М.: Изд-во МЭИ, 2002.
2. Микропроцессорные системы: учеб. пос. для вузов / Е.К. Александров и др.; Под общ. Ред. Д.В. Пузанкова. – СПб.: Политехника, 2002. – 935 с.