Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kursovaya_2222.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
57.98 Кб
Скачать

3. Компьютерные системы с программируемой структурой

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

Применительно к РКС традиционный процесс программирова­ния разделился на две составляющие: программирование архитекту­ры (структуры) КС и программирование алгоритма решаемой задачи.

Основная идея архитектуры таких вычислительных систем со­стоит в том, чтобы программно настроить схему, реализующую тре­буемое преобразование данных. Такие вычислительные системы, как правило, строятся с применением программируемых логических инте­гральных схем (ПЛИС), позволяющих в одном корпусе программно скомпоновать из вентилей, размещенных на ПЛИС, электронную схе­му, состоящую из нескольких десятков и даже тысяч интегральных схем стандартной логики [4]. Например, ПЛИС типа XC4085XL-09 фирмы Xilinx имеет 3136 программируемых логических блоков и ми­нимальную длительность такта работы 4,6 наносекунд.

С момента зарождения ПЛИС их использование в мировом компьютеростроении шло по следующим основным направлениям [5]:

- создание специализированных микросхем узкого применения под конкретные проекты (например, средства цифровой обработки сигналов, телекоммуникационное оборудование, микроконтроллеры, интерфейсные узлы);

- создание универсальных и заказных проектируемых БИС для физического моделирования конкретных инженерно-технических ре­шений;

- использование серийных изделий при мелкосерийном произ­водстве КС с последующим переходом к заказным БИС.

- создание реконфигурируемой структуры компьютера и про­цесса обработки данных, выполняемого компьютером.

К классу вычислительных систем с программируемой структу­рой относятся систолические и волновые процессоры, программи­руемые процессоры, ассоциативные процессоры с SIMD-архитектурой и др.

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

Один из возможных вариантов построения КС с применением ПЛИС приведен в [4]. Суперкомпьютер НС-98ш содержит управ­ляющий компьютер и двухплатный программно- реконфигурируемый вычислитель, который содержит 14 ПЛИС Virtex-II серии 6000 и 4 Virtex-II серии 4000. В совокупности обе эти ПЛИС содержат 98 млн. вентилей.

После включения питания первая ПЛИС программируется с помощью информации, поступающей из постоянного запоминающего устройства, которое размещено на плате. При этом в ПЛИС форми­руется порт шины PCI-X, через который управляющий компьютер, используя среду разработки программ Viva, программирует остальные ПЛИС.

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

Программируемый микропроцессор устраняет этот недостаток, сохранив преимущества программируемое!!! структуры вычислитель­ных систем. Такой микропроцессор строится на кристалле как ячейка однородной решетки йхй. Ячейка содержит процессор и программи­руемый коммутатор, предназначенный для передачи и приема данных между соседними ячейками.

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

Связи между ячейками и связи между обрабатывающими уст­ройствами в конвейере идентичны и базируются на промежуточных FIFO-очередях, передающих данные по готовности приемника. При этом процесс вычислений определяется размещением данных в очере­дях.

Программируемый коммутатор ячейки содержит 2 интерфейс­ных процессора: статический и динамический. Статический интер­фейсный процессор управляет передачами слов данных по устанавли­ваемым при компиляции программы маршрутам.

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

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

В [6] рассматриваются принципы построения многопроцессор­ной системы с программируемой архитектурой и структурно-процедурной организацией вычислений, состоящей из унифицирован­ных базовых модулей.

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

- обращения к каналам распределенной памяти - макрообра­щения;

- параллельного доступа - макрокоммутации;

- типовые конструкции структурной реализации фрагментов задач - макрооперации.

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

Общая структура реконфигурируемого вычислительного ком­плекса, представленная в [6], содержит реконфигурируемый вычисли­тель, состоящий из N базовых модулей, и устройства управления. При этом каждый базовый модуль (БМ) представляет собой многопроцес­сорную вычислительную систему со структурно-процедурной органи­зацией вычислений. Коммутационная система БМ реализует не только информационные связи между компонентами базового модуля, но и информационные связи между БМ. Подобная организация ком­мутационной структуры обеспечивает однородность вычислительной системы (система состоит только из базовых модулей) и высокую технологичность организации вычислительных процессов. Обмен ин­формацией между объектами, принадлежащими разным базовым мо­дулям, организуется точно так же, как и обмен между объектами внутри базового модуля.

Для ввода и вывода программной и числовой информации ис­пользуется шина ввода/вывода, при этом могут быть применены раз­личные протоколы: ISA, PCI, VHE. Исполняемый модуль задачи и ис­ходные данные поступают из host-машины по шине ввода/вывода, а по завершении выполнения задачи в host-машину выгружаются ре­зультаты решения задач.

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

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

Функции пространственной коммутации распределены между макропроцессорной секцией и секцией макропамяти.

Каждая макропроцессорная секция реконфигурируемого вычис­лителя содержит двунаправленные каналы передачи информации, объединенные в четыре группы, и четыре элементарных процессора, связанные между собой по полному графу.

Структурная схема секции макропроцессора содержит четыре элементарных процессора и блок управления. Каждый элементарный процессор имеет два информационных входа X и Y и информацион­ный выход Z. Секция макропроцессора имеет 16 информационных выводов.

Коммутационная система макропроцессорной секции обеспечи­вает подключение к информационным входам X(Y) ЭП любого ин­формационного вывода секции V или информационного выходалюбого элементарного процессора Z, а также коммутацию по полному графу выводов макропроцессорной секции V между собой для тран­зитной передачи информации. Кроме того, к информационным выво­дам секции могут быть подключены выходы Z элемента памяти.

Блок управления выполняет настройку элементарных процессо­ров на арифметико-логические операции, а также настройку коммута­ционной системы.

Аналогично, каждая секция макропамяти содержит 16 двуна­правленных каналов передачи информации, объединенных в четыре группы и четыре блока распределенной памяти. Другими словами -коммутационная структура секций изоморфна.

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

В базовом модуле реконфигурируемого вычислителя реализован ряд подсистем:

- информационная подсистема;

- подсистема синхронизации вычислительного процесса; подсистема настройки на исполняемый кадр (подсистема ре­конфигурации архитектуры на программном уровне);

- подсистема настройки конфигурации ПЛИС реконфигури­руемого вычислителя (подсистема реконфигурации архитектуры на схемотехническом уровне);

- подсистема обработки отказов в работе системы.

Информационная подсистема обеспечивает реализацию струк­турно-процедурных вычислений. Данная подсистема включает в себя множество информационных каналов и внутренние коммутационные структуры модулей реконфигурируемого вычислителя.

Как отмечалось ранее, в многопроцессорных системах со струк­турно-процедурной организацией вычислений управляющими эле­ментами являются контроллеры (мультиконтроллеры) распределен­ной памяти. Настройка макропроцессоров на макрооперации кадра осуществляется с помощью контроллеров распределенной памяти [5].

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

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

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

Наличие развитых средств описания аппаратуры и поведения проектируемого объекта вместе с системной и пользовательской биб­лиотеками позволяют упростить и формализовать общий процесс проектирования.

Таким образом, общие принципы организации РКС, построен­ных на ПЛИС, можно сформулировать следующим образом [7].

Структура РКС состоит из двух частей: постоянной (фиксиро­ванной) части - Host-компьютера и переменной (реконфигурируемой) части, которая подключается к Host-машине через стандартные шины. Она представлена материнской платой с внутренней локаль­ной шиной для подключения нестандартной (переменной) части, представленной широким набором модулей расширения переменных аппаратных средств.

При создании любой конфигурации системы основная работа по реализации алгоритма переносится на специализированные блоки, распределяя процесс обработки информации таким образом, чтобы минимизировать целевую функцию (например, стоимость, время вы­числений и т.д.).

В связи с большой сложностью решения такой задачи оптими­зации в общем виде, приходится находить квазиоптимальное её реше­ние методом последовательных приближений, каждый раз перерас­пределяя загрузку составных частей системы.

Структурная организация реконфигурируемых устройств осно­вывается на использовании специальных материнских плат, на кото­рую устанавливаются модули расширения, подключаемые к плате через локальную шину PCI. Сами же материнские платы подключа­ются к стандартной шине компьютера и работают в режиме сопроцес­сора. Такие платы разрабатываются многими фирмами, в частности -AlphaData, AnnapolisMicroSystems, Nallatech и др. Достаточно под­робная информация об этих платах приведена в [7].

Оценивая состояние современной компьютерной науки и техни­ки в области создания и применения РКС, можно спрогнозировать следующие направления их развития и применения [5]:

- организация реконфигурируемых функциональных полей, состоящих из одного или нескольких кристаллов ПЛИС с асинхрон­ным взаимодействием функциональных блоков;

- построение нейросетевых автоматов и динамических иерар­хических сетей на их основе;

- реализация функционального параллелизма процедур со сложными структурами данных и функциями;

- применение в однородной распределенной функциональной среде;

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]