Московский государственный университет путей сообщения
Опубликован: 22.12.2006 | Доступ: свободный | Студентов: 2440 / 570 | Оценка: 4.07 / 4.02 | Длительность: 16:07:00
ISBN: 978-5-9556-0071-0
Специальности: Разработчик аппаратуры
Лекция 1:

Параллельные структуры вычислительных систем

ВС Крей-1 ("Электроника ССБИС")

ВС Cray-1, несмотря на последующие разработки, остается эталоном типа МКОД. В России разработан аналог — векторно-конвейерная ЭВМ "Электроника ССБИС", отличающаяся некоторыми увеличенными параметрами комплектации. Структура ВС показана на рис. 1.13.

Схема ВС Cray-1

Рис. 1.13. Схема ВС Cray-1

Предназначена для выполнения как векторных, так и скалярных операций, Имеет 64 буферных (выравнивающих) регистра для 24 -битовых адресов ( B -регистры), 64 буферных (выравнивающих) регистров для 64 -битовых слов данных ( T -регистры). B -регистры в свою очередь пополняют буфер для одной из основных групп регистров машины — 8 адресных регистров, а T -регистры — для группы 8 скалярных регистров. Адресные регистры используются и как индексные. Третья основная группа регистров — 8 векторных регистров по 64 64 -битовых слов. Регистр длины вектора определяет число операций, выполняемых по векторным командам, т.е. действительную длину вектора. Маска вектора определяет элементы, над которыми выполняется операция.

Буфер команд состоит из четырех ЗУ, каждое из которых — из 64 16 -разрядных регистров. Представляет 4 программы, выполняемые в мультипрограммном режиме. (В "Э-ССБИС" — 16 таких ЗУ.)

12 специализированных функциональных блоков-конвейеров (в "Э-ССБИС" 16 блоков) выполняют арифметические, логические операции и сдвиг. Уровней конвейера — от 2 до 14. Блоки являются независимыми. Несколько функциональных блоков могут работать одновременно. Возможно "зацепление" векторов при выполнении операций вида A x B + C, когда два или более конвейеров выстраиваются в один и результат с одного немедленно поступает как операнд на другой.

Таким образом, параллелизм в обработке данных организуется с помощью:

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

(Нас интересует архитектура, но не катастрофически стареющие характеристики. Однако для справки: такт машины 12{,}5 нс, цикл обращения к ОЗУ 50 нс, производительность считается: 38 млн. скалярных оп/с и 80 млн. векторных оп/с.)

МВК "Эльбрус-2"

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

Общая схема МВК "Эльбрус-2"

Рис. 1.14. Общая схема МВК "Эльбрус-2"

Производительность (информация имеет историческую ценность) в 10-процессорном варианте — до 120 млн. оп/с ( 12,5 млн оп/с на одном процессоре). Максимальный объем ОП — 16 млн 72 -разрядных слов ( 144 Мбайт), максимальная пропускная способность каналов ввода-вывода — 120 Мбайт/с. Эти характеристики позволили решить многие проблемы применения супер-ЭВМ, но сегодня не впечатляют.

Принципиальные предпосылки разработки:

  1. Аппаратная поддержка ЯВУ.
  2. Параллелизм на двух уровнях — мультипроцессорная обработка (распределение процессов между процессорами), конвейерная обработка команд и параллельная обработка данных в многофункциональном АЛУ ( 10 ИУ).

В МВК могут входить от 1 до 10 ЦП, от 1 до 32 модулей ОП и от 1 до 4 ПВВ.

Каждый ПВВ имеет 40 каналов связи: 8 быстрых (аналог селекторных) каналов (БК) для магнитных барабанов и дисков и 32 стандартных (СК) для прочих устройств ввода-вывода.

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

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

ЦП МВК "Эльбрус" имеет безадресную систему команд, основанную на ПОЛИЗ и выполняемую на стеке. Обрабатывает числовые данные в 32 разряда (полслова), 64 разряда (слово), 128 разрядов (двойное слово). Нечисловая информация может быть представлена в виде битовых, цифровых или байтовых наборов. Каждое слово сопровождается 6 -разрядным тегом, определяющим его тип. Два разряда используются в аппаратном контроле.

Проект МВК "Эльбрус-3"

Так как ассемблерный язык исключен из интерфейса пользователя, то аппаратная реализация (она отражена в системе команд — в машинном языке) МВК "Эльбрус-3" значительно отличается от "Эльбрус-2". Структура МВК представлена на рис. 1.15.

Общая схема МВК "Эльбрус-3"

Рис. 1.15. Общая схема МВК "Эльбрус-3"

Здесь ООП — общая оперативная память ( 8 секций (блоков) по 4 модуля; модуль — 32 Мбайт); МКТ — модульные комплексы телеобработки (аналог ППД — в "Эльбрус-2"); ЛОП — локальная оперативная память, 416 Мбайт.

Принципы, лежащие в основе разработки:

  1. Программная совместимость на уровне ЯВУ (Эль-76 — ЯВУ-ассемблер) с другими моделями "Эльбрус".
  2. Теговая архитектура.
  3. Дальнейшее развитие многопроцессорности на общей ОП, что повышает производительность и структурную надежность. Пиковая производительность одного (из 16 ) процессора достигает 700 млн. оп/с при такте машины 10 нс.
  4. Архитектура с длинным командным словом обеспечивает микрораспараллеливание между 7 ИУ АЛУ на уровне операций ( 2 ИУ сложения, 2 — умножения, одно — деления, 2 — логических), а также параллельное обращение по 8 каналам в ЛОП или ОП.
  5. Семь конвейерных и независимых ИУ обеспечивают загрузку процессора работами в каждый такт.
  6. Управление машиной позволяет контролировать каждый такт. Т.е. "длинная" команда выдается каждый такт, непосредственно запуская устройства без дополнительного динамического аппаратного планирования их загрузки.
  7. Оптимизация распределения ресурсов возлагается на высокооптимизирующий транслятор с ЯВУ Эль-76 и с других языков высокого уровня.
  8. Функционально разделенное СОЗУ снижает конфликты при обращении и отражает типы хранимых данных. Оно состоит из ассоциативного буфера команд в 2 тыс. слов, буфера стека в 1 тыс. слов для хранения верхних уровней локальных данных выполняемых процедур, буфера массивов в 512 слов и ассоциативной памяти глобалов (общих данных процедур) в 512 слов.