Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Организация параллельных вычислительных процессов в исполнительных устройствах машины нетрадиционной архитектуры Янкевич Евгений Александрович

Организация параллельных вычислительных процессов в исполнительных устройствах машины нетрадиционной архитектуры
<
Организация параллельных вычислительных процессов в исполнительных устройствах машины нетрадиционной архитектуры Организация параллельных вычислительных процессов в исполнительных устройствах машины нетрадиционной архитектуры Организация параллельных вычислительных процессов в исполнительных устройствах машины нетрадиционной архитектуры Организация параллельных вычислительных процессов в исполнительных устройствах машины нетрадиционной архитектуры Организация параллельных вычислительных процессов в исполнительных устройствах машины нетрадиционной архитектуры Организация параллельных вычислительных процессов в исполнительных устройствах машины нетрадиционной архитектуры Организация параллельных вычислительных процессов в исполнительных устройствах машины нетрадиционной архитектуры Организация параллельных вычислительных процессов в исполнительных устройствах машины нетрадиционной архитектуры Организация параллельных вычислительных процессов в исполнительных устройствах машины нетрадиционной архитектуры
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Янкевич Евгений Александрович. Организация параллельных вычислительных процессов в исполнительных устройствах машины нетрадиционной архитектуры : Дис. ... канд. техн. наук : 05.13.15 : Москва, 2003 163 c. РГБ ОД, 61:04-5/1472

Содержание к диссертации

Введение

Глава 1. Обзор методов организации вычислительных процессов в современных высокопроизводительных вычислительных системах и микропроцессорах 9

1.1. Краткий анализ архитектур современных высокопроизводительных вычислительных систем 9

1.2. Обзор проектов построения суперкомпьютеров петафлопной производительности 22

1.3. Исследование методов повышения производительности микропроцессоров, как компонентов многопроцессорных вычислительных систем 25

1.4. Анализ попыток создания вычислительных систем нетрадиционной архитектуры .34

Выводы к первой главе 46

Глава 2. Исследование особенностей организации параллельных вычислительных процессов в вычислительной системе с автоматическим распределением ресурсов 47

2.1. Исследование принципов построения и функционирования предлагаемой вычислительной системы с автоматическим распределением ресурсов 47

2.2. Исследование преимуществ использования ассоциативной памяти 51

2.3. Анализ особенностей функционирования и реализации исполнительных устройств системы 53

2.4. Принципы реализации многопоточной обработки в исполнительном устройстве 57

2.5. Решение задачи повышения производительности на уровне модуля многопоточного исполнительного устройства 59

2.6. Алгоритмы функционирования и структура многопоточного исполнительного устройства 64

2.7. Алгоритмы функционирования и структура устройств, входящих в состав модуля многопоточного исполнительного устройства 73

Выводы по второй главе 92

Глава 3. Разработка алгоритмов обработки данных в многопоточном исполнительном устройстве вычислительной системы с автоматическим распределением ресурсов 93

3.1. Обработка пар токенов в многопоточном исполнительном устройстве 93

3.2. Алгоритм выполнения стандартных арифметических команд 101

3.3. Обработка прерываний в многопоточном исполнительном устройстве 116

Выводы к третьей главе 126

Глава 4. Создание макета исполнительного устройства системы с автоматическим распределением ресурсов и разработка методов снятия с него информации 127

4.1. Выбор элементной базы и конструктив для реализации макета 127

4.2. Инструментальная среда и методология проектирования макета 129

4.3. Разработка макета исполнительного устройства 131

4.4. Методы снятия и анализа информации с макета исполнительного устройства 140

4.5. Перспективы развития макета исполнительного устройства 148

Выводы к четвертой главе 149

Заключение 150

Литература 152

Перечень сокращений 160

Введение к работе

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

Современные вычислительные задачи предъявляют растущие требования к производительности вычислительных систем. В настоящее время требуемая производительность суперЭВМ для решения большинства фундаментальных задач оценивается 1012-1015 оп/с с соответствующими объемами оперативной памяти высокого быстродействия.

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

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

В настоящее время повышается пиковая производительность вычислительных систем, в то время как реальная производительность на разных классах задач остается низкой. Для большинства современных суперЭВМ отношение пиковой производительности, заявленной

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

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

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

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

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

Для достижения поставленной цели в работе решаются следующие основные задачи.

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

  2. Исследование принципиально новой архитектуры с автоматическим распределением ресурсов с точки зрения реализации широкого распараллеливания вычислительных процессов, которое позволяет решить проблему повышения реальной производительности.

  3. Определение роли и задач исполнительных устройств для поддержки параллельных вычислительных процессов в составе вычислительной системы новой архитектуры с автоматическим распределением ресурсов.

  4. Разработка методов организации параллельных вычислительных процессов в исполнительных устройствах системы с автоматическим распределением ресурсов.

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

  2. Разработка принципов аппаратной реализации исполнительных устройств на основе исследования возможностей современной элементной базы.

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

Методы исследования. Исследования проводились с использованием теории параллельных вычислений, теории высокопроизводительных вычислений, теории проектирования ЭВМ. Аппаратная реализация макета исполнительных устройств велась в соответствии с принципами нисходящего проектирования с использованием объектно-ориентированного подхода.

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

Научная новизна работы состоит в следующем:

в результате проведенного анализа архитектуры вычислительной системы с автоматическим распределением ресурсов автором исследованы и определены требования и задачи, предъявляемые к исполнительным устройствам принципиально новой архитектурой построения системы;

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

предложены принципы и разработаны методы организации параллельных вычислительных процессов в исполнительных устройствах системы с автоматическим распределением ресурсов;

разработаны алгоритмы, которые обеспечивают поддержку исполнительными устройствами организации параллельных вычислений на уровне всей системы;

разработаны алгоритмы взаимодействия исполнительных устройств с другими устройствами вычислительной системы с автоматическим распределением ресурсов;

в исполнительных устройствах системы нетрадиционной архитектуры, наряду с оригинальными разработками, автором применены и методы повышения производительности, используемые в традиционных микропроцессорах, но с учетом особенностей, накладываемых новой архитектурой;

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

Основные положения, которые выносятся на защиту:

  1. Анализ методов организации вычислительных процессов, позволяющий наглядно выявить новые пути повышения производительности и дальнейшего развития вычислительных систем.

  2. Разработанные методы организации параллельных вычислительных процессов и алгоритмы функционирования исполнительных устройств вычислительной системы с автоматическим распределением ресурсов.

  3. Разработанные устройства и способы, позволяющие существенно поднять производительность исполнительных устройств системы с автоматическим распределением ресурсов.

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

Структура диссертации. Диссертационная работа состоит из введения, четырех глав, списка литературы из 117 наименований и трех приложений.

Работа изложена на 216 страницах машинописного текста, из них основного текста 163 страницы и 53 страницы приложений, работа включает 50 рисунков и 13 таблиц в основной части, приложения содержат 31 рисунок и 15 таблиц.

Аннотация диссертационной работы по главам.

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

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

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

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

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

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

Обзор проектов построения суперкомпьютеров петафлопной производительности

На сегодняшний день для решения большого количества задач требуется производительность равная одному петафлоп - 1015 операций с плавающей запятой в секунду. Существующие вычислительные системы не могут обеспечить данной производительности. Рассмотрим, как решается эта проблема на современном этапе. Гибридно-технологическая Многопоточная Архитектура

Один из путей достижения петафлопной производительности был предложен учеными из Калифорнийского Технологического Института, университета Мак-Гилл и университета штата Нью-Йорк. Ими была разработана Гибридно-технологическая Многопоточная Архитектура (ГТМПА; Hybrid Technology Multithreaded Architecture, HTMT). В основе ГТМПА лежит использование нетрадиционных технологий ("гибридность") и расщепление параллельных процессов на более мелкие независимые фрагменты ("многопоточность") (рис. 1.10.) [7, 8]. В данном проекте архитектуры суперкомпьютера для уменьшения энергопотребления и повышения тактовой частоты вычислительного ядра кремниевые полупроводниковые микропроцессоры заменены ниобиевыми сверхпроводниковыми, основанными на быстрой одноквантовой логике (БОК) [25].

Устройства, основанные на БОК логике, являются также базовыми элементами сверхпроводниковых буферов памяти (СвОЗУ) и межпроцессорной пакетной сети. Сеть выполняет функции системной шины и позволяет передавать 1 петабайт информации в секунду [ПО].

Каждый из 4096 микропроцессоров аппаратно поддерживает 16 параллельных процессов. Каждому процессу предоставляется набор из шестидесяти четырех 64-разрядных регистров общего назначения, необходимые контрольные регистры и целочисленные АЛУ, образующие аппаратный контекст потока (АКП). Функциональные устройства с плавающей запятой и закрепленный за процессором буфер памяти (СвОЗУ) одинаково доступны для всех 16 потоков [90].

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

Ограниченный объем СвОЗУ (512 кбайт на процессор) и огромное время доступа к внешней памяти (несколько сот тактов) требуют тщательной организации данных в СвОЗУ. Загрузка фреймов в СвОЗУ и выгрузка результатов вычислений в главную полупроводниковую память, расположенную вне гелиевого криостата, производится процессорами-в-памяти (ПВП) [110].

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

6 декабря 1999 года корпорация IBM и Lawrence Livermore National Laboratory сообщили о новом исследовательском проекте общей стоимостью около $100 миллионов, целью которого должно стать построение суперкомпьютера под кодовым названием "Blue Gene", имеющего производительность порядка 1 Пфлоп. Данная система будет использоваться для изучения "сворачивания" человеческих белков, что является одной из фундаментальных проблем биологии и одной из "больших задач", требующих применения суперкомпьютеров [21,23].

Для получения столь высокой производительности IBM планирует использовать архитектуру, названную SMASH ("Simple, Many and Self-Healing") [72]. Данная массивно-параллельная архитектура по заявлениям разработчиков отличается от традиционных тремя основными характеристиками:

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

значительно увеличивается число параллельно работающих процессов - до 8 миллионов, вместо нескольких тысяч в современных компьютерах;

система наделяется свойствами по автоматическому обнаружению неисправностей и продолжению вычислений даже при выходе из строя отдельных процессоров или потоков вычислений [52, 72]. Blue Gene будет состоять из 1 млн. процессоров. Предполагается, что каждый отдельный процессор Blue Gene будет иметь производительность порядка 1 Гфлоп. 32 таких процессора будут помещены на один кристалл, плата будет вмещать 64 таких чипа. Восемь таких плат будут помещены в стойку, а вся система будет состоять из 64 стоек с суммарной пиковой производительностью в 1 Пфлоп (рис. 1.11.). При этом весь суперкомпьютер займет площадь не более 185 кв. метров [8, 21].

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

Исследование преимуществ использования ассоциативной памяти

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

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

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

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

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

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

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

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

Рассмотрим теперь, в чем заключаются сходства и различия между ИУ представляемой системы и стандартными микропроцессорами традиционной архитектуры при использовании их на месте ИУ вычислительной системы с автоматическим распределением ресурсов (ВСАРР).

Сходства: - и ИУ ВСАРР, и стандартные микропроцессоры выполняют обработку данных по заданной программе; - программа обработчик хранится в памяти; - схожий набор выполняемых арифметических операций; - одинаковые алгоритмы выполнения стандартных арифметических операций; - схожие режимы адресации операндов. Отличия: Особенности ИУ Стандартный микропроцессор Форматы вводимых и выводимых данных Входные данные (пара) представляют собой широкую структуру 64 разр. х 4 = 256 разрядов, выходные данные (токен) 64 разр. х 3 = 192 разряда. В основном данные представлены либо в 32х разрядном, либо в 64х разрядном виде.

Входной и выходной интерфейсы Необходимы раздельные входные и выходные интерфейсы, обеспечивающие параллельную работу по приему и выдаче данных. Имеется единый двунаправленный системный интерфейс, не позволяющий вести параллельный прием/выдачу данных.

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

Особенности программного кода В принятой к реализации концепции построения ВСАРР программа обработки узла, представляет собой короткую программу. Таким образом ИУ нацелено на обработку небольших, различных участков программного кода. Микропроцессоры нацелены на выполнение больших программ, имеющих повторяющиеся участки кода.

Инициализация процесса ИУ должно обеспечивать до начала обработки каждой пары, приведение в исходное состояние аппаратуры для обработки узла. Так как микропроцессоры не обладают дополнительной аппаратурой для организации предварительной обработки пар, приведение в исходное состояние может вызвать сложности при реализации.

Алгоритм выполнения стандартных арифметических команд

Запуск механизмов выдачи третьей команды узла, если на 6 такте был обнаружен конфликт между командами (см. рис. 3.3., 3.4.). Осуществляется выдача первого слова из памяти расширения в БК. И в том случае, если команды из памяти команд уже были выданы в БК и в исполнительный конвейер МИУ, т.е. счетчик NK (номера команды) достиг соответствующего значения, то проводится проверка занятости дешифраторов команд и, если они свободны, производится непосредственная передача на них очередной пары команд для дешифрации. Дешифраторы переводятся в состояние "заняты".

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

В зависимости от того, были ли обнаружены конфликты между командами в 8 такте, происходит выдача на исполнение одной или двух одновременно команд, снятие занятости дешифраторов (см. рис. 3.4.).

Происходит выдача на исполнение команды, при наличии конфликтов в 8 такте (см. рис. 3.4.).

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

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

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

Приводимые алгоритмы считывания операндов подходят как для двухвходовых команд (содержащих два операнда), так и для одновходовых команд (содержащих один операнд). Рассмотрим различные возможные режимы типов адресации операнда для двухадресных арифметических команд: Регистровая адресация

Рассмотрим считывание одного из операндов по любому из адресов в команде - Al, А2. В нашем случае, хотя бы по одному из этих адресов, имеется режим регистровой адресации. В этом случае необходимый операнд находится в одном из регистров общего назначения (РОН) (см. раздел 2.7.). Достаточно считать операнд из РОН и передать его на станцию резервирования блока целочисленных операций 32-разр. - (БЦО-32) или станцию резервирования блока целочисленных операций 64-разр. - (БЦО-64). Выбор станции резервирования и функционального устройства для дальнейшего выполнения операции определяется типом считываемого операнда по коду команды. Так команды, использующие 64 разрядные операнды - двойное слово, выполняются только в БЦО-64. Если же в команде используются 32 разрядные операнды - слово, то команда может выполняться в БЦО-32, а в том случае, если станция резервирования БЦО-32 занята, но есть свободные строки в станции резервирования БЦО-64, то операция может выполняться на БЦО-64. При этом в служебных разрядах станции резервирования БЦО-64 устанавливается признак работы с 32-разр. операндом. Это возможно в том случае, если данная операция поддержана в БЦО обоих типов.

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

При этом следует учитывать положение операнда в команде и имеющиеся в наличии свободные шины операндов, подключенные к соответствующему полю станции резервирования (см. рис. 2.15.). Таким образом, целочисленный 64-разр. операнд, адрес которого находится в поле А1 кода команды - Операнд 1, может быть считан на станцию резервирования БЦО-64 по одной из двух шин операндов, либо по шине_А[63..0], либо по шине_С[63..0]. Целочисленный 64-разр. операнд, адрес которого находится в поле А2 кода команды - Операнд2, может быть считан на станцию резервирования БЦО-64 только по одной шине операндов - шине_В[63..0].

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

Считывание двойного слова из регистрового файла в выбранную шину операндов производится через один из трех выходных портов регистрового файла.

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

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

Инструментальная среда и методология проектирования макета

Логическое проектирование устройств, входящих в состав ИУ ВСАРР, проводилось в САПР фирмы ALTERA - Quartus П. Данная система позволяет провести полный цикл проектирования и моделирования разрабатываемого устройства, от описания задания до программирования микросхем. Система Quartus II является дальнейшим развитием систем Quartus и MAX+Plus II и одновременно включает в себя множество нововведений и дополнений.

САПР Quartus II позволяет использовать при разработке новые семейства микросхем 130 Apex П, Stratix и Stratix GX. Quartus П использует новый более мощный компилятор и новую систему синтеза. Компилятор анализирует проект и разбивает его в соответствии с типом внутренних устройств используемых в архитектуре выбранного семейства микросхем. Quartus П в отличие от предыдущих систем лучше воспринимает описания проектов созданные при помощи языков описания аппаратуры [3, 53,55, 67].

Начальным этапом проектирования (рис. 4.3.) является описание устройства, которое может производится, как графическим путем в графическом редакторе, так и путем описания устройства при помощи одного из языков описания аппаратуры (AHDL, VHDL и др.).

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

В том случае, если компилятор САПР не обнаружил какие-либо ошибки в описании проекта, проводится логическое моделирование проекта, при котором проверяется соответствие между полученным и желаемым его логическим поведением. В случае не соответствия полученных временных диаграмм желаемым проводится исправление схематики проекта, и повторяются все предыдущие этапы проектирования.

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

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

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

Таким образом, видно, что САПР Quartus II позволяет разработчику провести проектирование устройства с минимальными финансовыми и временными затратами, так как все трудноисправимые ошибки обнаруживаются на этапе моделирования в среде САПР и не требуют изменения конструктива аппаратуры.

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

Для организации выполнения программы узла над поступившими данными в состав макета ИУ входят модули памяти: память команд, память команд расширения и память констант, которые содержат программы обработки входных пар токенов, а также набор констант, которые могут понадобиться в процессе обработки поступивших данных (рис. 4.5.).

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

Вычислительная модель макета ИУ предоставляет программисту 32 64-разрядных регистра общего назначения, объединенных общей шиной данных с функциональными устройствами. Из них 4 это входные программно адресуемые 64-х разрядные регистры, на которые попадает готовая пара, пришедшая на ИУ из ассоциативной памяти (АП). Следующие 3 регистра - это выходные регистры - регистры, с которых берется информация для формирования выходного токена, направляемого в АП. Остальные 25 программно адресуемых регистров - это регистры общего назначения, в том числе регистр счетчика циклов и регистр адреса возврата (рис.4.6.).

Устройство вещественной арифметики предназначено для обработки 64 и 32 разрядных вещественных чисел в соответствии со стандартом ANSI/IEEE Standard 754-1985.

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

Устройство управления (УУ) макета ИУ является УУ с "жесткой" логикой и генерирует временные диаграммы всех возможных для исполнения на ИУ команд [10, 60]. УУ реализует конвейерное выполнение команд программы узла, снижая тем самым суммарное время выполнения программы.

Похожие диссертации на Организация параллельных вычислительных процессов в исполнительных устройствах машины нетрадиционной архитектуры