автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.12, диссертация на тему:Методы и алгоритмы автоматизированного проектирования параллельных вычислительных процессов с учетом загрузки регистровой памяти суперскалярных процессоров

кандидата технических наук
Михеева, Людмила Борисовна
город
Рязань
год
2002
специальность ВАК РФ
05.13.12
Диссертация по информатике, вычислительной технике и управлению на тему «Методы и алгоритмы автоматизированного проектирования параллельных вычислительных процессов с учетом загрузки регистровой памяти суперскалярных процессоров»

Оглавление автор диссертации — кандидата технических наук Михеева, Людмила Борисовна

ВВЕДЕНИЕ

1. АНАЛИЗ СОВРЕМЕННОГО СОСТОЯНИЯ ПРОБЛЕМЫ ЭФФЕКТИВНОЙ ЗАГРУЗКИ РЕГИСТРОВ ПРИ ОРГАНИЗАЦИИ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ.

1.1. Аппаратные средства систем параллельной обработки данных.

1.1.1. CISC- и RISC-процессоры

1.1.2. RISC-процессоры с суперскалярной архитектурой.

1.1.3. Микроконтроллеры.

1.2. Организация многопроцессорных систем на современной элементной базе.

1.3. Методы и алгоритмы модификации и распределения регистров . 33 Выводы.

2. ПЛАНИРОВАНИЕ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ С УЧЕТОМ СОСЕДНЕЙ И ЛОКАЛЬНОЙ СВЯЗНОСТИ ОПЕРАТОРОВ ПРОГРАММЫ.

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

2 Л. 1. Постановка задачи.

2 Л .2. Планирование параллельных процессов.

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

2.2.1. Критерий локальной связности операторов параллельных программ.

2.2.2. Планирование параллельных процессов.

2.2.3. Алгоритм планирования для произвольного времени выполнения операторов программы.

Выводы.

3. МИНИМИЗАЦИЯ РЕГИСТРОВ НА МИКРОУРОВНЕ

ПАРАЛЛЕЛИЗМА.

3.1. Параллелизм в программах на микроуровне вычислений.

3 Л. 1. Граф зависимостей по данным.

3.1.2. Граф информационно - структурных зависимостей.

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

3.2.1. Критерии качества объектного кода.

3.2.2. Учет регистров при генерации параллельного объектного кода.

3.3. Минимизация времени выполнения параллельной объектной программы при наименьшем количестве необходимых регистров.

3.3.1. Поиск оптимального варианта параллельной программы

3.3.2. Последовательный алгоритм.

Выводы.

4. ЭКСПЕРИМЕНТАЛЬНЫЕ ИССЛЕДОВАНИЯ И ПРАКТИЧЕСКОЕ ИСПОЛЬЗОВАНИЕ РАЗРАБОТАННЫХ МЕТОДОВ И АЛГОРИТМОВ.:.

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

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

4.3. Исследование эффективности последовательного алгоритма синтеза параллельной объектной программы.

4.4. Применение программы оптимизации объектного кода с учетом загрузки регистров в составе учебно-исследовательского кросс-транслятора для суперскалярных процессоров. Х

4.4.1. Анализ исходной программы.

4.4.2. Построение теоретико-графовых моделей исходной программы.

4.4.3. Синтез параллельной объектной программы.

4.5. Вычисление отношений предшествования для контекстно-свободных грамматик.

Выводы

Введение 2002 год, диссертация по информатике, вычислительной технике и управлению, Михеева, Людмила Борисовна

Актуальность темы. В настоящее время лидирующим продуктом микроэлектроники являются микропроцессоры с RISC-ядром [1, 3, 16, 32], которые используются в качестве элементной базы современных систем обработки данных, включая параллельную обработку. RISC-ядро предполагает выполнение любых операций над данными, которые могут содержаться только в регистрах, а обращение к памяти происходит только при выполнении операций записи и чтения данных, причем за существенно большее время [1, 3, 32, 41, 39, 43, 42].

Как правило, RISC-ядро присутствует во всех современных суперскалярных процессорах, причем в последнее время интенсивно разрабатываются процессоры, использующие программное управление параллелизмом выполняемых операций. Примерами таких процессоров могут служить отечественные разработки группы инженеров под руководством профессора Б.Бабаяна - процессор суперЭВМ "Эльбрус-3" [15, 10], проект процессора "Эльбрус Е2К" [44], известная модель i860 фирмы Intel [31, 14], а также новый совместный проект фирм Intel и Hewlett-Packard - процессор Itanium (изначально Merced) [35].

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Практическая ценность работы. Теоретические результаты и программные средства, полученные при выполнении диссертационной работы, использованы при выполнении Рязанской государственной радиотехнической академией госбюджетных научно-исследовательских работ по темам «Рабочая станция разработчика мобильного программного обеспечения для параллельных вычислительных систем на основе современной элементной базы» (гос. per. № 01200001955) и «Создание теории автоматизированного проектирования мобильного программного обеспечения и оптимизирующих средств трансляции для параллельных систем на базе процессоров с суперскалярной архитектурой» (гос. per. № 01200001955), проводимых по заданию Министерства образования РФ, а также по теме «Модели, методы, инструментальные средства и научно-методическое обеспечение процесса проектирования параллельных систем с использованием CASE-технологий» (гос. per. № 012001105108), проводимой в рамках научно-технической программы Минобразования РФ "Научное, научно-методическое, материально-техническое и информационное обеспечение системы образования".

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

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

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

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

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

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

Алгоритм планирования вычислений с учетом локальной связности операторов программы использован при разработке программы имитационного моделирования диагностических процессов в отказоустойчивых магистрально-модульных системах параллельной обработки данных, которая официально зарегистрирована в РОСПАТЕНТ.

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

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

- научно-производственный центр ОАО «Рязанский радиозавод» (в процессе создания пакетов программ по подготовке данных и управлению технологическим оборудованием, созданию, компоновке структуры и выпуску комплекса конструкторско-технологической документации);

- Рязанская государственная радиотехническая академия (в учебном процессе для студентов специальностей 220300 "Системы автоматизированного проектирования" и 220500 "Конструирование и технология электронно-вычислительных средств" при изучении архитектур современных микропроцессоров и систем параллельной обработки данных, построенных на их базе, а также методов оптимизации программ, реализуемых в составе компиляторов).

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

Апробация работы. Основные положения диссертации представлены и обсуждены на следующих конференциях: 4-я Всероссийская научно-техническая конференция студентов, молодых ученых и специалистов "Новые информационные технологии в научных исследованиях и в образовании" (г. Рязань, 1999), 5-я Всероссийская научно-техническая конференция студентов, молодых ученых и специалистов "Новые информационные технологии в научных исследованиях и в образовании (НИТ-2000)" (г. Рязань, 2000), 9-я Международная научно-техническая конференция "Проблемы передачи и обработки информации в сетях и системах телекоммуникаций" (г. Рязань, 2000), 6-я Всероссийская научно-техническая конференция студентов, молодых ученых и специалистов "Новые информационные технологии в научных исследованиях и в образовании" (г. Рязань, 2001), 10-я Международная научно-техническая конференция "Проблемы передачи и обработки информации в сетях и системах телекоммуникаций" (г. Рязань, 2001), 7-я Всероссийская научно-техническая конференция студентов, молодых ученых и специалистов "Новые информационные технологии в научных исследованиях и в образовании (НИТ-2002)" (г. Рязань, 2002), а также на 31-й и 32-й научно-методических конференциях Военного автомобильного института (г. Рязань, 2001, 2002).

Публикации по теме диссертации. По теме диссертационной работы опубликовано 15 научных работ, среди которых 3 статьи в научнотехнических журналах, включая центральную печать, 3 статьи в межвузовских сборниках научных трудов, 8 тезисов докладов научно-технических конференций и 1 свидетельство об официальной регистрации программы для ЭВМ в РОСПАТЕНТ.

Структура и объем диссертации. Диссертационная работа состоит из введения, четырех разделов, заключения и списка литературы, изложенных на 164 е., а также приложений на 57 с. Список литературы включает 102 наименования. Текст диссертации содержит 25 таблиц и 35 рисунков.

Заключение диссертация на тему "Методы и алгоритмы автоматизированного проектирования параллельных вычислительных процессов с учетом загрузки регистровой памяти суперскалярных процессоров"

Выводы

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

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

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

3. Разработан программный модуль планирования параллельных вычислительных процессов по критерию времени с учетом локальной связности операторов, используемый в составе программы имитационного моделирования диагностических процессов в отказоустойчивых магистрально-модульных системах параллельной обработки данных, которая официально зарегистрирована в Российском агентстве по патентам и товарным знакам (РОСПАТЕНТ) и предназначена для исследования режимов функционирования однородных многопроцессорных систем с магистральной организацией.

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

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

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

150

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

ЗАКЛЮЧЕНИЕ

Основные научные результаты диссертации формулируются следующим образом.

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

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

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

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

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

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

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

8. Разработаны алгоритмы синтеза оптимальной параллельной объектной программы и последовательного синтеза параллельной объектной программы по критерию минимального времени выполнения при наименьшем количестве необходимых регистров. Вычислительная сложность последовательного алгоритма является полиномиальной.

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

10. Разработан программный модуль планирования параллельных вычислительных процессов по критерию времени с учетом локальной связности операторов, используемый в составе программы имитационного моделирования диагностических процессов в отказоустойчивых магист-рально-модульных системах параллельной обработки данных, которая официально зарегистрирована в Российском агентстве по патентам и товарным знакам (РОСПАТЕНТ).

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

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

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

Результаты диссертационной работы внедрены в учебный процесс Рязанской государственной радиотехнической академии, а также в разработках научно-производственного центра ОАО "Рязанский радиозавод",

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

Основные положения диссертации опубликованы в работах автора [47-58, 75, 76].

Библиография Михеева, Людмила Борисовна, диссертация по теме Системы автоматизации проектирования (по отраслям)

1. Аваков В. Микропроцессор MIPS R10000 // Открытые системы. 1995. №6. С. 62-69.

2. Аллеи Р., Кеннеди К. Автоматическая трансляция Фортран-программ в векторную форму \\ Векторизация программ: теория, методы, реализация. Сб. статей. М.: Мир, 1991. С. 77-140.

3. Ахметов М. 8-разрядные RISC микроконтроллеры // CHIP NEWS. 2001.

4. Баранов С.И., Баркалов А.А. Микропрограммирование: принципы, методы, применения // Зарубежная радиоэлектроника. 1984. №5. 413 с.

5. Барский А.Б. Планирование параллельных вычислительных процессов. М.: Машиностроение, 1980. 192 с.

6. Барский А.Б. Параллельные процессы в вычислительных системах. Планирование и организация. М.: Радио и связь, 1990. 256 с.

7. Батшцев Д.И. Методы оптимального проектирования. М.: Радио и связь, 1984. 248 с.

8. Бахаревский А.Л., Игнатущенко В.В. Новый подход к организации опережающей выборки данных для однопроцессорных и параллельных компьютеров: формальные модели и доказательства // Автоматика и телемеханика. 1995. № 8. С. 158-181.

9. Ю.Бек Л. Введение в системное программирование. М.: Мир, 1988. 448 с.

10. П.Бердышев Е. М. Технология ММХ. Новые возможности процессоров Р5 иР6. М.: ДИАЛОГ-МИФИ, 1998. 234 с.

11. Богуславский Л.Б., Ляхов А.И. Моделирование многосерверных локальных сетей // Автоматика и телемеханика. 1998. № 8. С. 109-123.

12. Буслов А.В. Методы и алгоритмы автоматизированного проектирования диагностических процессов в специализированных магистрально-модульных системах с активной защитой от отказов: Дис. канд. техн. наук / Рязан. гос. радиотехн. акад. Рязань, 2001. 168 с.

13. БЦВМ с архитектурой ПОИСК для истребительной авиации / Соловьев А.А., Генипгга В.Н., Курбатов Б.Ю. и др. // Проблемы информатизации. 1998. Вып. 3-4. С. 15-27.

14. Векторизация программ: теория, методы, реализация. Сб. статей / Под ред. Г.Д. Чинина. М.: Мир, 1991. 275 с.

15. Воеводин В.В. Математические модели и методы в параллельных процессах. М: Наука, 1986. 296 с.

16. Гершанов В.И., Корячко В.П. Оптимизация загрузки СОЗУ промежуточными результатами // Вопросы радиоэлектроники. Серия Электронная вычислительная техника. 1986. Вып. 7. С. 27-33.

17. Гершанов В.И., Скворцов С.В. Рациональное использование управляющей памяти при параллельном микропрограммировании // Вопросы радиоэлектроники. Серия Электронная вычислительная техника. 1990. Вып. 7. С. 44-51.

18. Гершанов В.И., Скворцов С.В., Телков И.А. Синтез параллельных форм алгоритмов функционирования специализированных вычислительных систем // Вопросы специальной радиоэлектроники. Серия Электронная вычислительная техника. 1989. Вып. 1. С. 37-46.

19. Головкин Б.А. Вычислительные системы с большом числом процессоров. М.: Радио и связь, 1995. 320 с.

20. Головкин Б.А. Расчет характеристик и планирование параллельных вычислительных процессов. М.: Радио и связь, 1983. 272 с.

21. Горюнов М.Е., Скворцов С.В., Шувиков С.В. Учебно-исследовательский кросс-транслятор, ориентированный на генерацию параллельного объектного кода / Свидетельство об официальной регистрации программы для ЭВМ в РОСПАТЕНТ, № 990663 от 13.09.99.

22. Грис Д. Конструирование компиляторов для цифровых вычислительных машин. М.: Мир, 1975. 544 с.

23. Евстигнеев В.А. Некоторые особенности программного обеспечения ЭВМ с длинным командным словом (обзор) // Программирование. 1991. №2. С. 69-80.

24. Евстигнеев В.А. Применение теории графов в программировании. М.: Наука. 1985. 352 с.

25. Игнатущенко В.В. Новая организация опережающей выборки данных для конвейерных однопроцессорных и параллельных компьютеров // Автоматика и телемеханика. 1997. № 8. С. 196-209.

26. Иыуду К.А. Надежность, контроль и диагностика вычислительных машин и систем. М: Высш. шк., 1989. 216 с.

27. Корнеев В.В., Киселев А.В. Современные микропроцессоры // М.: Но-лидж, 1998. 240 с.

28. Корячко В.П. Конструирование микропроцессорных систем контроля радиоэлектронной аппаратуры. М.: Радио и связь, 1987. 160 с.

29. Корячко В.П. Микропроцессоры и микроЭВМ в радиоэлектронных средствах. М.: Высшая школа, 1990. 407 с.

30. Корячко В.П., Курейчик В.М., Норенков И.П. Теоретические основы САПР: Учебник для ВУЗов, М.: Энергоатомиздат, 1987. 400 с.

31. Корячко В.П., Курчидис В.А. Оптимизация организации внутренней памяти цифровой управляющей машины // Управляющие системы и машины 1975. № 3. С. 87-91.

32. Корячко В.П., Скворцов С.В., Телков И.А. Архитектуры многопроцессорных систем и параллельные вычисления. М.: Высш. шк., 1999. 235 с.

33. Корячко В.П., Скворцов С.В., Телков И.А. Модель планирования параллельных процессов в суперскалярных процессорах // Информационные технологии. 1997. № 1. С. 8-12.

34. Кофман А. Введение в прикладнуу комбинаторику. М: Наука, 1975. 480 с.

35. Кристофидес Н. Теория графов. Алгоритмический подход. М.: Мир, 1978. 432 с.

36. Кручинин С. RISC-архигектура: общие принципы и перспективы развития // COMPUTERWEEK-MOSCOW. 1995. № 32, 33.

37. Кручинин С., Озерецковский С. Векторные суперкомпьютеры // COMPUTERWEEK-MOSCOW. 1995. № 17.

38. Кузьминский М. Микроархитектура Itanium // Открытые системы. 2001. №9.

39. Кузьминский М. Микропроцессор PA-RISC 8000 // Открытые системы. 1995. №5. С. 15-18.

40. Кузьминский М. Отечественные микропроцессоры: Elbrus Е2К // Открытые системы. 1999. № 5-6.

41. Левин В.И. Анализ загрузки вычислительных систем // Автоматика и вычислительная техника. 1983. № 6. С. 67-73.

42. Левин В.И. К планированию работы вычислительных систем. Математический аппарат // Автоматика и вычислительная техника. 1982. № 5. С. 52-58.

43. Микеладзе М.А. Развитие основных моделей самодиагностирования сложных технических систем // Автоматика и телемеханика. 1995. № 5. С. 3-18.

44. Микропроцессоры PowerPC 603, 604, 620 // Монитор. № 4. 1995. С. 6-9.

45. Михеева Л.Б. Критерии качества параллельных программ для процессоров с суперскалярной архитектурой // Новые информационные технологии: Межвуз. сб. /Рязан. гос. радиотехн. акад. Рязань, 2001. С. 188-191.

46. Михеева Л.Б., Скворцов С.В. Организация параллельных вычислений с учётом связности операторов программы // Вестник Рязанской государственной радиотехнической академии. 2001. Вып. 8. С. 75-81.

47. Михеева Л.Б., Скворцов С.В. Синтез параллельного кода для RISC-процессоров с оптимизацией загрузки регистровой памяти // Информационные технологии. 2002. № 7. С. 2-9.

48. Многопроцессорные ЭВМ и методы их проектирования // Б.А. Бабаян, А.В. Бочаров, B.C. Волин и др.; Под ред. Ю.М. Смирнова. М.: Высшая школа, 1990. 143 с.

49. Назаров Л. Н. Многопроцессорные вычислительные комплексы "Эльбрус" // Проблемы информатизации. 1997. № 1-2. С. 33-37.

50. Набор команд процессоров Alpha пополняется новыми мультимедия-инструкциями // COMPUTERWEEK-MOSCOW. 1996. № 30.

51. Перминов О.Н. Программирование на языке Паскаль. М.: Радио и связь, 1988. 224 с.

52. Петрова Ю. RISC-процессоры третьего поколения 11 COMPUTER-WEEK-MOSCOW. 1995. № 22, 23.

53. Погребной В.К. Об автоматизации распределения памяти на графовых моделях алгоритмов // Управляющие системы и машины 1980. № 5. С. 37-42.

54. Процессоры TriMedia с архитектурой VLIW // COMPUTERWEEK-MOSCOW. 1996. №25.

55. Распараллеливание алгоритмов обработки информации. Том 1 / Под ред. А.Н. Свенсона. Киев: Наука. Думка, 1985. 280 с.

56. Реджеевски P.P. Об арифметических выражениях и деревьях // Кибернетический сборник. Новая серия. Вып. 7. М.: Мир, 1970. С. 99-107.

57. Рэддинг А. Это может быть RISC, CISC или и то и другое // СОМ-PUTERWORLD. 1996. № 46.

58. Системы команд процессоров пополняются мультимедиа-инструкциями // COMPUTER WEEK-MOSCOW. 1996. № 32.

59. Скворцов С.В. Оптимизация загрузки регистровой памяти при генерации кода для суперскалярных процессоров // Информационные технологии. 2001. № 5. С. 2-8.

60. Скворцов С.В. Оптимизация кода для суперскалярных процессоров с использованием дизъюнктивных графов // Программирование. 1996. № 2. С. 41-52.

61. Скворцов С.В. Организация отказоустойчивых вычислений в магист-рально-модульных многопроцессорных системах // Вестник Рязанской государственной радиотехнической академии. 1996. Вып. 1. С. 27-32.

62. Скворцов С.В., Михеева Л.Б. Минимизация числа пересылок данных при планировании параллельных вычислений // Вестник Рязанской государственной радиотехнической академии. 2000. Вып. 7. С. 65-69.

63. Скворцов С.В., Михеева Л.Б. Эффективное использование регистровых файлов при планировании параллельных вычислений // Новые информационные технологии: Межвуз. сб. / Рязан. гос. радиотехн. акад. Рязань, 2000. С. 62-66.

64. Скворцов С.В., Шувиков С.В. Программа генерации графовых моделей (ГенГраф) / Свидетельство об официальной регистрации программы для ЭВМ в РосАПО, № 980385 от 23.06.98.

65. Скворцов С.В., Хрюкин В.И., Михеева Л.Б. Грамматический разбор программ методом операторного предшествования / Методические указания к лабораторной работе. Рязань: РГРТА, 2001. 16 с.

66. Сташин В.В., Урусов А.В., Мологонцева О.Ф. Проектирование цифровых устройств на однокристальных микроконтроллерах. М.: Энерго-атомиздат, 1990. 224 с.

67. Танаев B.C., Шкурба В.В. Введение в теорию расписаний. М.: Наука, 1969. 256 с.

68. Трахтенгерц Э.А. Программное обеспечение параллельных процессов. М.: Наука, 1987. 272 с.

69. Французов Ю.А. Обзор методов распараллеливания кода и программной конвейеризации // Программирование. 1992. № 3. С. 16-37.

70. Французов Ю.А. Планирование потока команд с отложенным распределением регистров //Программирование. 1991. № 1. С. 58-66.

71. Французов Ю.А. Реорганизация кода по графу зависимости данных для ЭВМ векторно-конвейерного типа // Программирование. 1989. № 3. С. 25-49.

72. Фрир Дж. Построение вычислительных систем на базе перспективных микропроцессоров. М.: Мир, 1990. 413 с.

73. Цой С., Цхай С.М. Прикладная теория графов. Алма-Ата: Наука, 1971. 500 с.

74. Шагурин И. RISC-прцессоры PowerPC // CHIP NEWS. 2001.

75. Шнитман В. N4000 новые серверы среднего класса семейства HP 9000 // Открытые системы. 1999. № 7-9.

76. Шувиков С.В. Методы и алгоритмы распараллеливания объектного кода для процессоров с программным управлением функциональными устройствами: Дис. канд. техн. наук / Рязан. гос. радиотехн. акад. Рязань, 2000. 165 с.

77. Р7 процессор с архитектурой нового типа // COMPUTER WEEK-MOSCOW. 1996. № 25,

78. RISC-технологии и вопросы разработки современных БЦВМ / Штейн-берг В.И., Григорьева И.Б., Белов В.А., Мишин В.Ф. // Проблемы информатизации. Вып. 3-4. С. 28-37.

79. Anderson J.P. A note on compiling algoritms 11 Communications of the ACM. 1964. №7. P. 145-150.

80. Bodik R., Gupta R/ Array Data Flow Analysis in Load-Store Optimizations in Superscalar Architectures // Dept. Of Computer Science, University of Pittsburgh, 1995. 17 p.

81. Briggs P., Cooper K.D., Kennedy K., Torczon I. Coloring Heuristics for Register Allocation // Conf. Of Prog.Lang.Design and Implementation, Portland, Oregon, June 1989. Р/ 275-284.

82. Nakata I. A note on compiling algoritms for arithmetic expressions // Communications of the ACM. 1967. № 10. P. 492-494.

83. Chaitin G.J., Anslander M.A., Coke J.,Hopkins M.E., Markstein P.W. Register allocation via coloring // Computer Land., 1981. № 6.

84. Chaitin G.J. Register allocating and spilling via graph coloring // Proc. of the ACM SIGPLAN 82, Symposium on Compiler Construction, June 1982. P. 201-207.

85. Compiler / Architecture Interaction in Tree-Based VLIW processor / Mondgill M.,Moreno J.H., Ebciogln K., Altman E.,Chen S.K., Polgak A. // IBM Research Division. Apr. 1996. lip.

86. Lam M. Software Pipelining: An Effective scheduling technique for VLIW machines //Proc. of SIGPLAN, Jun 1988. P. 318-328.

87. Rau R., Fisher J. Instruction level parallel processing: History, overview and perspective // The Journal of Supercomputing, May 1993. P. 9-50.