РЕКОНФИГУРИРУЕМЫЙ ВЫЧИСЛИТЕЛЬНЫЙ МОДУЛЬ

Полезная модель относится к области вычислительной техники, в частности к вычислительным устройствам с перестраиваемой архитектурой, использующим программируемые логические интегральные схемы (ПЛИС), и может быть использована в реконфигурируемых вычислительных блоках многопроцессорных вычислительных систем, предназначенных для решения трудоемких задач и обработки больших информационных массивов и потоков, с использованием распараллеливания и конвейеризации вычислительных процессов.
Известен вычислительный модуль (RU №137137 U1, МПК G06F 15/16, заявлено 07.10.2013, опубликовано 21.01.2014, БИ №3), содержащий два внешних порта для обмена информацией, коммутатор PCI-Express, интерфейсную и N вычислительных ПЛИС, каждая из которых содержит высокоскоростной последовательный интерфейс PCI-Express, причем порты коммутатора PCI-Express соединены с внешними портами модуля и с интерфейсами PCI-Express интерфейсной ПЛИС и N вычислительных ПЛИС.
Недостатком данного вычислительного модуля является невысокая вычислительная мощность при относительно высокой мощности потребления при реализации трудоемких вычислительных алгоритмов, а также малоэффективная система конфигурирования ПЛИС и недостаточно высокая надежность работы модуля.
Причинами, препятствующими достижению технического результата, являются как невысокая эффективность использования вычислительных ресурсов ПЛИС, так и относительно низкие рабочие частоты выполнения трудоемких вычислительных алгоритмов, связанных с большим уровнем накладных расходов и внутренней структурой ПЛИС, а также отсутствие систем стартового конфигурирования, независимого оперативного реконфигурирования вычислительных ПЛИС, и мобильного, в зависимости от выполняемой задачи, реконфигурирования интерфейсной ПЛИС, и системы контроля и управления температурным режимом работы вычислительных ПЛИС.
Наиболее близким устройством того же назначения к заявленной полезной модели по совокупности признаков является принятый за прототип реконфигурируемый вычислительный модуль (RU №144357 U1, МПК G06F 15/16, заявлено 11.04.2014, опубликовано 20.08.2014, БИ №23), содержащий внешний порт для обмена информацией, коммутатор PCI-Express, интерфейсную и восемь вычислительных ПЛИС, каждая из которых содержит высокоскоростной последовательный интерфейс PCI-Express, причем порты коммутатора PCI-Express соединены с внешними портами модуля и с интерфейсами PCI-Express интерфейсной ПЛИС и восьми вычислительных ПЛИС, блок оперативного конфигурирования ПЛИС, память стартовых конфигураций вычислительных ПЛИС, блок контроля и управления питанием и блок мониторинга, соединенные двунаправленными шинами с интерфейсной ПЛИС, а также введены порт контроля и управления JTAG и память конфигурации интерфейсной ПЛИС, соединенные с блоком оперативного конфигурирования ПЛИС, причем интерфейсная ПЛИС соединена двунаправленной общей шиной с восемью вычислительными ПЛИС, которые двунаправленной шиной мониторинга соединены с блоком мониторинга.
Недостатком данного реконфигурируемого вычислительного модуля является невысокая вычислительная мощность при относительно высокой мощности потребления при реализации трудоемких вычислительных алгоритмов.
Причиной, препятствующей достижению технического результата, является то, что при реализации трудоемких вычислительных алгоритмов на вычислительных ПЛИС имеет место большой процент накладных расходов, что уменьшает эффективность использования вычислительных ресурсов, а также невысокие рабочие частоты выполнения операций, что связанно со спецификой внутренней структуры ПЛИС.
Задача, на решение которой направлена предлагаемая полезная модель, заключается в создании высокопроизводительного реконфигурируемого вычислительного модуля.
Техническим результатом предлагаемой полезной модели является повышение вычислительной мощности и снижение удельной мощности энергопотребления.
Под удельной мощностью энергопотребления при решении трудоемких задач следует понимать потребляемую мощность, затрачиваемую на решение ʺодногоʺ трудоемкого алгоритма.
Указанный технический результат при осуществлении изобретения достигается тем, что в реконфигурируемый вычислительный модуль, содержащий
1
2
N
1
2
N
1
2
N
внешний порт для обмена информацией 4, коммутатор PCI-Express 1, интерфейсную ПЛИС 2 и группу из N вычислительных ПЛИС 3, 3, …, 3, каждая из которых содержит высокоскоростной последовательный интерфейс PCI-Express, причем порты коммутатора PCI-Express 1 соединены с внешним портом модуля 4 и с интерфейсами PCI-Express 5 интерфейсной ПЛИС и 6, 6, …, 6 вычислительных ПЛИС, а также содержащий блок 9 оперативного конфигурирования интерфейсной ПЛИС, блок контроля и управления питанием 15 и блок мониторинга 17, соединенные двунаправленными шинами с интерфейсной ПЛИС 2, внешний порт контроля и управления JTAG 11 и память 16 конфигурации интерфейсной ПЛИС, соединенные с блоком 9 оперативного конфигурирования интерфейсной ПЛИС, причем интерфейсная ПЛИС соединена двунаправленной общей шиной 14 с N вычислительными ПЛИС 3, 3, …, 3, соединенных двунаправленной шиной мониторинга 18 с блоком мониторинга 17,
1
2
N
1
2
N
дополнительно введены группа из N вычислительных СБИС 8, 8, …, 8, группа из N памятей 10, 10, …, 10 стартовых конфигураций вычислительных ПЛИС, блок 13 оперативного реконфигурирования памятей стартовых конфигураций вычислительных ПЛИС и блок синхронизации 20,
причем блок 13 оперативного реконфигурирования памятей стартовых конфигураций вычислительных ПЛИС и блок синхронизации 20 соединены с интерфейсной ПЛИС 2,
1
2
N
1
2
N
1
2
N
каждая СБИС из группы N вычислительных СБИС 8, 8, …, 8 соединена индивидуальными двунаправленными информационными шинами 19, 19, …, 19 с соответствующими вычислительными ПЛИС 3, 3, …, 3, шиной синхронизации 12 с блоком синхронизации 20 и двунаправленной шиной мониторинга 18 с блоком мониторинга 17,
1
2
N
1
2
N
каждая ПЛИС из группы N вычислительных ПЛИС 3, 3, …, 3 соединена с соответствующими памятями 10, 10, …, 10 стартовых конфигураций вычислительных ПЛИС, которые шиной оперативного реконфигурирования 7 также соединены между собой и с блоком 13 оперативного реконфигурирования памятей стартовых конфигураций вычислительных ПЛИС.
На фиг. 1 приведена функциональная схема предлагаемого реконфигурируемого вычислительного модуля.
На фиг. 1 приняты следующие обозначения:
1 - коммутатор PCI-Express;
2 - интерфейсная ПЛИС;
1
2
N
3, 3, …, 3 - группа из N вычислительных ПЛИС;
4 - высокоскоростной входной порт последовательного интерфейса PCI-Express;
5 - высокоскоростной последовательный интерфейс PCI-Express между коммутатором PCI-Express 1 и интерфейсная ПЛИС;
1
2
N
1
2
N
6, 6, …, 6 - группа из N высокоскоростных последовательных интерфейсов PCI-Express между коммутатором PCI-Express 1 и вычислительными ПЛИС 3, 3, …, 3;
1
2
N
7 - шина оперативного реконфигурирования памятями стартовых конфигураций вычислительных ПЛИС 3, 3, …, 3;
1
2
N
8, 8, …, 8 - группа из N вычислительных СБИС;
9 - блок оперативного конфигурирования интерфейсной ПЛИС;
1
2
N
1
2
N
10, 10, …, 10 - группа из N памятей стартовых конфигураций вычислительных ПЛИС 3, 3, …, 3;
11 - внешний порт контроля и управления JTAG;
1
2
N
12 - шина синхронизации вычислительных СБИС 8, 8, …, 8;
1
2
N
13 - блок оперативного реконфигурирования памятей стартовых конфигураций вычислительных ПЛИС 3, 3, …, 3;
14 - двунаправленная общая шина;
15 - блок контроля и управления питанием;
16 - память конфигурации интерфейсной ПЛИС;
17 - блок мониторинга;
18 - двунаправленная шина мониторинга;
1
2
N
1
2
N
19, 19, …, 19 - группа из N индивидуальных двунаправленных информационных шин вычислительных СБИС 8, 8, …, 8;
20 - блок синхронизации.
1
2
N
1
2
N
1
2
N
1
2
N
1
2
N
Коммутатор PCI-Express 1 предназначен для организации обмена информацией с интерфейсной ПЛИС 2 и вычислительными ПЛИС 3, 3, …, 3 по входному порту 4 и организации взаимодействия вычислительных ПЛИС 3, 3, …, 3 между собой по интерфейсам PCI-Express 6, 6, …, 6. Коммутатор PCI-Express 1 содержит N+2 высокоскоростных портов, которые соединены с входным портом PCI-Express 4, с интерфейсной ПЛИС 2 по интерфейсу PCI-Express 5, с N вычислительными ПЛИС 3, 3, …, 3 по N интерфейсам PCI-Express 6, 6, …, 6.
1
2
N
1
2
N
1
2
N
Вычислительные ПЛИС 3, 3, …, 3 предназначены для аппаратной реализации фрагментов трудоемких алгоритмов вычислительных задач, осуществляют высокопроизводительную обработку поступающих входных данных, а также предварительную обработку данных для вычислительных СБИС 8, 8, …, 8, обеспечивают обмен данными и результатами с вычислительными СБИС 8, 8, …, 8.
1
2
N
1
2
N
Группа из N вычислительных СБИС 8, 8, …, 8 предназначена для прямой схемотехнической реализации критических участков трудоемких фрагментов вычислительных алгоритмов. Вычислительные СБИС 8, 8, …, 8 реализуются как заказные СБИС для реализации определенных алгоритмов.
1
2
N
1
2
N.
Интерфейсная ПЛИС 2 предназначена для организации обмена информацией с блоком мониторинга 17, блоком 13 оперативного реконфигурирования памятей стартовых конфигураций вычислительных ПЛИС, с блоком контроля и управления питанием 15, с блоком синхронизации 20 вычислительных СБИС 8, 8, …, 8, а также для оперативного реконфигурирования вычислительных ПЛИС 3, 3, …, 3
1
2
N
Блок 9 оперативного конфигурирования интерфейсной ПЛИС предназначен для организации конфигурирования интерфейсной ПЛИС 2 по порту JTAG 11 и из памяти 16 конфигурации интерфейсной ПЛИС, предназначенной для хранения ее рабочей конфигурации. Конфигурирование вычислительных ПЛИС 3, 3, …, 3 выполняется по двунаправленной общей шине 14.
1
2
N
1
2
N
1
2
N
Группа из N памятей 10, 10, …, 10 стартовых конфигураций вычислительных ПЛИС 3, 3, …, 3 предназначена для хранения стартовых конфигураций вычислительных ПЛИС 3, 3, …, 3, которые в общем случае могут быть как одинаковыми, так и различными, в случае организации внутри модульного конвейера обработки данных.
1
2
N
Порт контроля и управления JTAG 11 предназначен для организации загрузки вычислительных ПЛИС 3, 3, …, 3 и интерфейсной ПЛИС 2 средствами САПР от управляющего компьютера.
1
2
N
1
2
N
1
2
N
Блок 13 оперативного реконфигурирования памятей стартовых конфигураций вычислительных ПЛИС 3, 3, …, 3 предназначен для управления изменениями стартовых конфигураций вычислительных ПЛИС 3, 3, …, 3 в группе из N памятей 10, 10, …, 10 через интерфейсную ПЛИС 2.
1
2
N
1
2
N
Блок контроля и управления питанием 15 предназначен для контроля и управления питанием вычислительных ПЛИС 3, 3, …, 3 и вычислительных СБИС 8, 8, …, 8.
1
2
N
1
2
N
1
2
N
1
2
N
Блок мониторинга 17 предназначен для контроля температурного режима вычислительных ПЛИС 3, 3, …, 3 и вычислительных СБИС 8, 8, …, 8 по шине мониторинга 18, с использованием датчиков температуры, встроенных в вычислительные ПЛИС 3, 3, …, 3 и вычислительные СБИС 8, 8, …, 8.
1
2
N
1
2
N
Блок синхронизации 20 предназначен для обеспечения рабочими частотами вычислительных СБИС 8, 8, …, 8, которые настраиваются на конкретные вычислительные СБИС 8, 8, …, 8 и вычислительные алгоритмы, реализуемые в них.
Принцип работы предлагаемого устройства состоит в следующем.
При решении трудоемких задач и обработке больших информационных массивов и потоков, с использованием распараллеливания и конвейеризации вычислительных процессов, для ускорения вычислений осуществляется декомпозиция вычислительных процессов на функциональные фрагменты, исполняемые универсальными и специализированными устройствами, которые объединяются в определенные конфигурации, изменяемые динамически или статически. При этом на универсальные устройства возлагаются задачи выполнения не трудоемких алгоритмов, а также функции предварительной обработки и подготовки данных для трудоемких алгоритмов и обмен данными и результатами с внешними устройствами. Архитектура специализированных устройств адаптируется к особенностям исполняемых вычислительных процессов.
1
2
N
1
2
N
В предлагаемом реконфигурируемом вычислительном модуле функции универсальных устройств выполняют вычислительные ПЛИС 3, 3, …, 3, а функции специализированных устройств выполняют вычислительные СБИС 8, 8, …, 8, которые реализуются на заказных СБИС и предназначены для прямой технической реализации конкретных критических фрагментов алгоритмов, которые могут присутствовать в различных вычислительных задачах.
Предлагаемый реконфигурируемый вычислительный модуль работает следующим образом.
1
2
N
Перед началом работы предлагаемого реконфигурируемого вычислительного модуля (например, при изготовлении или наладке в заводских условиях или настройке у пользователя) по внешнему порту конфигурирования JTAG 11 осуществляется запись стартовых конфигураций в перепрограммируемые память 16 для интерфейсной ПЛИС и памяти 10, 10, …, 10 для вычислительных ПЛИС.
1
2
N
1
2
N
1
2
N
1
2
N
1
2
N
1
2
N
1
2
N
После включения питания осуществляется загрузка рабочей конфигурации в интерфейсную ПЛИС 2 блоком 9 оперативного конфигурирования ПЛИС из памяти 16 конфигурации интерфейсной ПЛИС и стартовые конфигурации в вычислительные ПЛИС 3, 3, …, 3 из памятей стартовых конфигураций 10, 10, …, 10. После загрузки операционной системы управляющей вычислительной машины, в адресном пространстве PCI_Express которой размещаются конечные устройства интерфейсная ПЛИС 2 и вычислительные ПЛИС 3, 3, …, 3, реконфигурируемый вычислительный модуль подготовлен к работе. При этом рабочая конфигурация интерфейсной ПЛИС 2 должна обеспечивать все необходимые функции управления, к которым, прежде всего, относится организация обмена информацией по входному порту PCI-Express 4 посредством ресурсов высокоскоростных последовательных интерфейсов PCI-Express с блоком мониторинга 17, с блоком 13 оперативного реконфигурирования памятей стартовых конфигураций вычислительных ПЛИС, с блоком контроля и управления питанием 15, с блоком синхронизации 20 вычислительных СБИС 8, 8, …, 8, а также для оперативного реконфигурирования вычислительных ПЛИС 3, 3, …, 3. Стартовые конфигурации вычислительных ПЛИС 3, 3, …, 3 обеспечивают соответствующие ресурсы конечных устройств PCI-Express в адресном пространстве управляющей вычислительной машины, чтобы после реконфигурирования вычислительных ПЛИС 3, 3, …, 3 уже рабочими проектами, от интерфейсной ПЛИС 2 по общей шине конфигурирования 14, не выполнять перезагрузку управляющей вычислительной машины, к которой подключен вычислительный модуль, что увеличивает время полезной работы.
1
2
N
1
2
N
После инициализации портов коммутатора PCI-Express 1 и высокоскоростного последовательного интерфейса PCI-Express 5 интерфейсной ПЛИС 2, присвоения им адресов в пространстве памяти управляющей машины, переконфигурирования вычислительных ПЛИС 3, 3, …, 3 их рабочими проектами, в зависимости от алгоритмов выполняемых задач, может осуществляться высокоскоростной обмен информацией по входному порту 4 и портами PCI-Express интерфейсной ПЛИС 2 и вычислительных ПЛИС 3, 3, …, 3.
Предлагаемый реконфигурируемый вычислительный модуль поддерживает следующие системы обмена данными:
1
2
N
1
2
N
- обмен индивидуальными данными по входному порту 4 непосредственно с вычислительными ПЛИС 3, 3, …, 3 через коммутатор PCI-Express 1 с максимальной скоростью обмена , где  - максимальная скорость обмена внешнего порта 4, а коэффициент 0.5 соответствует накладным расходам на арбитраж между N вычислительными ПЛИС 3, 3, …, 3;
1
2
N
max
max
- обмен индивидуальными данными между парами вычислительных ПЛИС 3, 3, …, 3 через коммутатор PCI-Express 1 непосредственно при организации внутри модульной конвейеризации вычислительных процессов с максимальной скоростью обмена V2=1.0*V, где  - максимальная скорость обмена между портами коммутатор PCI-Express 1, где коэффициент 1.0 соответствует отсутствию накладных расходов на арбитраж, так как взаимодействие осуществляется непосредственно между двумя устройствами.
1
2
N
max
В соответствии с этим, ожидаемая скорость обмена информацией N вычислительных ПЛИС 3, 3, …, 3 через входной порт 4 будет находиться в диапазоне от V1=, при работе всех вычислительных ПЛИС только по внешнему порту, до , при организации конвейерной обработки информации внутри модуля, при которой исходные данные последующих ступеней конвейера готовятся на предыдущих, и обмене по внешнему порту только через одну из вычислительных ПЛИС.
1
2
N
1
2
N
1
2
N
1
2
N
1
2
N
1
2
N
В предлагаемом модуле имеется возможность установить индивидуальные пороги тепловой защиты для вычислительных ПЛИС 3, 3, …, 3 и вычислительных СБИС 8, 8, …, 8. Во время выполнения задачи осуществляется автоматический контроль температурного режима и имеется возможность индивидуального (независимого) отключения рабочего напряжения от вычислительных ПЛИС 3, 3, …, 3 и вычислительных СБИС 8, 8, …, 8, на основании информации, получаемой с блока мониторинга 17, который по шине мониторинга 18 соединен с N вычислительными ПЛИС 3, 3, …, 3 и с N вычислительными СБИС 8, 8, …, 8. Контроль и отключение рабочих напряжений осуществляется блоком контроля и управления питанием 15.
1
2
N
1
2
N
1
2
N
1
2
N
Вычислительные ПЛИС 3, 3, …, 3 могут конфигурироваться для реализации как однотипных вычислений совместно с приданными им вычислительными СБИС 8, 8, …, 8, так и для реализации различных ступеней при конвейерной обработке алгоритмов. При этом на вычислительные ПЛИС 3, 3, …, 3 возлагается функции обмена данными и результатами с внешним портом или с соседними вычислительными ПЛИС, а также подготовка и загрузка исходных данных для вычислительных СБИС 8, 8, …, 8, чтение и дообработка результатов перед передачей их на следующие ступени, при конвейерной обработке, или на выходной порт модуля.
Предлагаемый реконфигурируемый вычислительный модуль со СБИС может быть выполнен на следующих элементах:
коммутатор PCI-Express 1 - на микросхеме РЕХ8732 фирмы PLX Technology;
1
2
N
интерфейсная ПЛИС 2 и вычислительные ПЛИС 3, 3, …, 3 - на микросхемах фирмы Xilinx XC7A35T-FGG484;
блок оперативного конфигурирования ПЛИС - на микросхеме CPLD ХС2С64А;
1
2
N
память 10, 10, …, 10 стартовых конфигураций вычислительных ПЛИС - на микросхемах на SPI-памяти N25Q064A11EF640;
порт контроля и управления JTAG 11 - с использованием штатного разъема MOLEX и микросхемы CPLD ХС2С64А;
память 16 конфигурации интерфейсной ПЛИС - на SPI-памяти N25Q032A11EF640;
блок мониторинга 17 - на микросхемах ТМР461AIRUNT и МАХ1239ЕЕЕ;
блок синхронизации 20 вычислительных СБИС - на микросхеме 570FCA000133DG.
На основании вышеизложенного, следует, что в предлагаемом реконфигурируемом вычислительном модуле, в сравнении с прототипом, выполняется двухуровневая реализации вычислительных алгоритмов: на первом уровне на вычислительные ПЛИС возлагаются функции предварительной обработки и подготовки данных в требуемом формате, а также обмен данными и результатами, а на втором уровне - заказные вычислительные СБИС выполняют схемотехническую реализацию критических участков трудоемких фрагментов вычислительных алгоритмов для заданных классов задач. При этом, у заказных СБИС в сравнении с универсальными ПЛИС снижены накладные расходы: на организацию соединений между элементами, которые состоят из совокупности сегментов трассировочных каналов, соединяемых друг с другом матрицами программируемых переключателей (ключей), на долю которых приходится до 90% площади кристалла, а также увеличенной задержкой при передачи данных между элементами, на долю которых приходится до 70% от времени выполнения операций, и избыточность на реализацию схем за счет высокого уровня универсализации.
Поэтому в предлагаемом реконфигурируемом вычислительном модуле вычисления на СБИС выполняются на более высоких частотах, следовательно, в сравнении с прототипом, обладает более высокими быстродействием и вычислительной мощностью, меньшей занимаемой площадью кристалла на единицу вычислений и меньшей удельной мощностью энергопотребления на единицу вычислений.
Таким образом, вышеизложенные сведения позволяют сделать вывод, что предлагаемый реконфигурируемый вычислительный модуль реализует поставленную задачу - решение трудоемких задач и обработка больших информационных массивов и потоков, с использованием распараллеливания и конвейеризации вычислительных процессов, обладает минимальными накладными расходами при схемотехнической реализации алгоритмов и соответствует заявляемому техническому результату - повышению вычислительной мощности за счет повышения рабочих частот, при снижении удельной мощности энергопотребления.