- •Глава I
- •06Ласти применения эвм
- •1.6,1. СуперЭвм
- •Глава 2
- •8 Разрядов
- •11110001 11111001 11110001 11110111 А число — 6.285 запишется в память в виде слова из 6 байт:
- •Глава 3
- •Глава 4
- •Лечит узап j
- •Сверхоперативная или местная память
- •4.2. Адресная, ассоциативная и стековая организации памяти
- •Буфер входа-выхода
- •Усилители считывания-записи
- •Глава 5
- •Проклей
- •Идентификатор адреса (s байт)
- •Сектор на дискете
- •Глава 6
- •Управляющий блок автомат)
- •Глава 7
- •В цпршВляющай блок у б
- •Сумматор частичных произведений Регистр множимого
- •О vМножимое перед началом Выполнения умножения
- •Слой элементов и
- •Глава 9
- •Двойное слада па адреса о 32 бит
- •Слобо по адресу z в бит
- •Заслать в стек ад РеЗ
- •Загрузить аз стана в Pa V
- •Номер регист
- •Непосредственный операнд 1а
- •15Ю кГго 51
- •Оповещающий сив нал „Состояние
- •Блок ревастрод
- •Ветвление в макропроерамме по уело дую Акк*0
- •Макрокоманды управления последовательностью выборка микрокоманд
- •Окно процедуры
- •Регистры параметров (а) Регистры глобальных переменных |
- •1 Нуль м Знак-
- •Запоминание состояния процессора (программы)
- •Общий сигнал прерывания
- •Код приоритетного запроса
- •Маска ввоОагвывода
- •Прерывающая
- •01 23*56789 Время
- •I участка I
- •Запись льта мп
- •I Прием операндов на регистры 1
- •Умножение чисел с фиксированной точкой
- •Сложонив чисел с плавающей точкой
- •Глава 10
- •Вызов команды и модификация счетчика команд
- •Процедура тандемных пересылок
- •Однобайтная
- •16 Разрядов
- •Передача д стек а восстановление содержимого регистров
- •Команды досстаяовяения из стеки содержимого регистров
- •Блок сегментных регистров
- •Первый байт команды Второй ffaSm команды (постбайт адресации)
- •Сегментные селекторы
- •Регистры задачи и регистры дескрипторнои таблицы
- •Блок управления и контроля оп
- •Справочник страниц
- •Физическая память
- •16 Мбайт
- •Расширенная память
- •1 Мбайт
- •С каналом ес эвм
- •Связь с другой эвм
- •I Манипулятор % I Графа- I I типа „Мышь” I I построитель I
- •Глава 11
- •Интерфейс основной намята
- •Общее оборудование мультиплексного канала
- •Глава 12
- •Определения четности переносод
- •Глава 13
- •Ill:Выполнснис программы а Выполнение про ерам мы в
- •Пакеты заданий и Входные наборы данных
- •Выходные очереди разных классов в зу на дисках
- •I требует ‘'ода
- •Пользователь обдумывает | ответ системе I (новый запрос)
- •Блок управления памятью
- •Схемы совпадения
- •Шифратор номера отделения
- •Входной коммутатор
- •Коммутации
- •Сегментная таблица п-й программы
- •Векторные, средства
- •К периферийным устройством
- •К периферийным устройствам
- •Глава 15
- •Устройства Ввода- вывода
- •Процессор 2
- •Процессор 3
- •8 Векторных регистров (по 6* слова в каждом)
- •Готовности операндов
- •Глава 16
- •Комплекс абонентского пункта
- •16.2.. Классификация вычислительных сетей
- •1 Элемент
- •Время распрост- ранена*
- •Задержка сета лри коммутации пакетов[
- •Абонентская система
- •Данные пользователя
- •Сеансовый
- •Транспортный
- •Сетевой
- •Интерфейс высоког о уровня
- •Аппаратура передачи данных
- •Установление связи
- •Данные пользователя 00Длина поля и слови я обслуживания
- •Идентификатор протокола
- •7» Бшдта) Данные пользователя б вызове
- •Поток бит
- •Новый пакет (кадр)
- •Станция 1 ведет передачу
- •Передатчик Коаксиальный кйбель
- •Глава 15. Принципы организации многопроцессорных и многомашинных вычислительных систем (комплексов) и суперЭвм 489
- •1S в 7 о Слада па адресу ь
Область
регистрации
процессора
1
Область
регистрации
процессора
2
Область
регистрации
процессора
3
Область
регистрации
процессора
4*
Рестарт
при отказе процессора
(рис. 15.8). После фиксации
системой
контроля отказа состояния регистров
неисправного
процессора запоминаются
в выделенной для этого области памя-
ти.
Неисправный процессор посылает сигнал
отказа во все дру-
гие процессоры.
Этот сигнал воспринимает процессор —
канди-
дат на прерывание. Он заносит
свою программу в соответствую-
щую
очередь программ, а из области аварийной
регистрации
считывает информацию о
состоянии регистров отказавшего
про-
цессора и продолжает обработку
программы последнего, на-
чиная с
неправильно выполненной им микрокоманды.
Рестарт
при сбоях и отказах в периферийных
устройствах
состоит
в повторении, начиная с ближайшей
контрольной точки,
подпрограммы
операции ввода-вывода (канальной
программы).
Средства
повышения ремонтоспособности.
Обеспечение
свойства живучести
системы на протяжении длительного
интер-
вала времени возможно лишь при
высокой ремонтоспособности
оборудования,
когда обеспечиваются быстрый ремонт
и ввод
исправленных устройств в
эксплуатацию. Повышение ремонто-
способности
достигается аппаратурно-программными
средства-
ми, обеспечивающими
возможность без перерыва в работе
ис-
правной части оборудования УВК
производить программно-
управляемое
отсечение оборудования
для ремонта, программно-
управляемое
присоединение
к комплексу вводимых в эксплуата-
цию
устройств, программно-управляемое
изменение номиналов
питающих напряжений
и параметров
основных сигналов
для
автоматизации профилактических
испытаний оборудования.
В
вычислительных комплексах с автоматической
реконфигу-
рацией должна обеспечиваться
независимость операционной
ОЗУ
системы
и целевого программ-
ного обеспечения
(«прозрач-
ность»)
относительно конфигу-
рации аппаратурных
средств.
Достоинством
отказоустой-
чивых комплексов с
автоматиче-
ской реконфигурацией
является
сравнительно небольшой
объем
избыточного оборудования.
Од-
нако в подобных системах
до-
стоверность функционирования
проверяется
только схемами
контроля, что может
оказаться
недостаточным, так как
схемы
Кандидат
на прерывание
контроля охватывают обычно не
Рис.
15.8. Рестарт при отказе про- все оборудование
комплекса, во
цессора многих случаях
реагируют толь-Процессор 2
Процессор 3
ко на одиночную ошибку и, кроме того, в них самих могут возникать отказы. Комплексы с реконфигурацией не позволяют полностью исключить задержки в реализации управляемых функций, так как требуется определенное время на процедуры селекции сбоев и отказов и процедуры рестартов. Приспособленность к техническому обслуживанию (ремонтопригодность и др.) фактически остается аналогичной приспособленности обычных машин.
Вычислительные комплексы с мажоритарным управлением (тройное дублирование). Принцип мажоритарного управления состоит в выполнении одних и тех же вычислений несколькими (более двух) ЭВМ или устройствами, сопоставлении получаемых машинами результатов по методу «голосования» и выдаче на объект управления результатов обработки, оказавшихся одинаковыми у большинства машин (устройств) комплекса. Комплекс снабжается мажоритарным устройством, в определенные моменты сравнивающим выходные данные машин и формирующим путем «голосования» общий выходной управляющий сигнал. Выход из строя одного из элементов практически не сказывается на выходных сигналах УВК. Комплексы с мажоритарным управлением в состоянии практически исключить ошибки в управлений.
Примером УВК с тройным дублированием и мажоритарным управлением может служить система «Аугуст» (рис. 15.9) [61].
Три одинаковые управляющие микроЭВМ выполняют независимо все операции. Имеется возможность обращения для считывания одной микроЭВМ к памятям двух других. Это используется для обнаружения и исправления ошибок.
В комплексе реализуются три ступени мажоритарного выбора (рис. 15.10).
Каждая микроЭВМ принимает от датчиков входные сигналы через свои входные цепи. Затем микроЭВМ считывает значения входных величин, полученные другими машинами, и при
тарным
управлением
i
Память
и
контроллер
памяти
Память
и
контроллер
памяти///
9 / /
/УГУВвод
входных данных
Мажоритарный
дыдор Входных данных
Диркодый
контроллер
Вычисления
по алгоритму управления
Мажоритарный
дыдор дыходных данных 7тУ~7
/ / 7
777Г
Диско
6Ьш контроллер //////////
Сдяэной
контроллер
Выходная
мажоритарная схема
т
Управляющие
сигналы
Рис. 15.10. Многоступенчатый мажоритарный выбор
у//г?/??//^
Сдяэной контроллер и/у////у»М
YS
ГГ/ГУWT',
Ленточный
контроллер
Контроллер
шины
Шина
Контроллер
шины
необходимости корректирует свои входные данные по правилу «2 из 3». Таким образом, исключаются влияния неисправностей входных схем.
Каждая микроЭВМ (процессор) по выравненным входным данным производит одни и те же вычисления, определяя свой вариант выходных управляющих сигналов или величин для объекта управления. Затем микроЭВМ сравнивают полученные выходные результаты и выравнивают их по правилу «2 из 3».
Одинаковые выходные результаты выдаются через собственные интерфейсы каждой микроЭВМ на мажоритарную схему (аппаратурный мажоритарный выбор).
Достоинствами рассматриваемого подхода являются последовательный контроль и коррекция ошибок от сбоев и отказов в подсистемах ввода, обработки и вывода данных. К недостаткам помимо большего, чем при автоматической реконфигурации, объема аппаратуры можно отнести следующее: выравнивание информации и определение неисправного модуля производятся программным путем с соответствующей потерей времени и задержками в управлении. Обнаруженный неисправный модуль является достаточно сложным устройством, и дальнейшее уточнение места неисправности требует квалифицированного обслуживания.
Отказоустойчивые комплексы с двухуровневым дублирова-
нием (четырехкратное дублирование). Небольшие размеры и низкая стоимость микропроцессорных схем позволяют реализовать многопроцессорные комплексы с обеспечением отказоустойчивости на уровне аппаратуры и полностью исключить перерывы или задержки в осуществлении комплексом управляющих функций, которые могут возникнуть при рестартах после отказов или сбоев, выполняемых программными или микропроцессорными средствами.
Этого можно достигнуть, использовав двухуровневое дублирование аппаратуры, подобно тому, как это сделано в системе «Стратус» [63].
Комплекс содержит двойной комплект всех плат (модулей), ^попарно выполняющих одновременно одни и те же действия (первый уровень дублирования). На каждой плате размещены полностью дублированные тракты преобразования информации и схемы, контролирующие совпадение выходных сигналов в слу- ' чае несовпадения (второй уровень дублирования). Структура комплекса представлена на рис. 15.11.
При обнаружении в какой-либо плате несовпадения выходных сигналов ее трактов из-за сбоя или ‘отказа данная плата логически бтключается от комплекса, а в операционную систему и на панель сигнализации оператора поступает соответствующий сигнал, при этом нормальную работу продолжает дублирующая плата и не требуется никакой специальной процедуры рестарта.
Рассматриваемый подход требует большего объема аппаратуры, чем тройное дублирование с мажоритарным управлением. Однако значительно упрощаются сравнивающие процедуры и схемы, упрощаются схемы аппаратурного контроля правильности функционирования, полностью исключаются оперативные действия программных и микропрограммных средств после сбоев и отказов (так как отказоустойчивость обеспечивается на аппаратурном уровне, отказы и сбои обнаруживаются, и их последствия блокируются непосредственно в момент их возникновения), исключаются возвраты к контрольным точкам, которые имеются при использовании программных и микропрограммных средств в процедурах рестартов. В комплексах с двухуровневым дублированием в большой степени упрощается техническое обслужи-. вание аппаратуры, так как автоматически обнаруживаются неисправные платы и имеется возможность замены последних без остановки УВК.
При создании УВК с мажоритарным управлением или двухуровневым дублированием должны быть решены вопросы синхронизации работы дублированных плат и логических трактов.
Типы структур многопроцессорных ВС, ориентированных на достижение сверхвысокой производительности
Многопроцессорные системы, ориентированные на достижение сверхбольших скоростей работы (сотни миллионов или миллиарды операций в секунду), содержат десятки или сотни сравнительно простых (элементарных) процессоров с упрощенными блоками управления. Отказ от универсальности применения таких ВС и специализация их на определенном, правда, достаточно широком круге задач, допускающих эффективное распараллеливание вычислений, позволяют строить их с регулярной структурой связей между процессорами.
Удачной, на наш взгляд, является классификация Флина [77], облегчающая понимание особенностей структур и функционирования МПС, в первую очередь систем с регулярными связями. Классификация строится по признаку одинарности или множественности потоков команд и данных.
Однопроцессорная ЭВМ. Структура обыкновенной однопроцессорной ЭВМ (рис. 15.12, а) содержит одинарный поток команд и одинарный поток данных (структура ОКОД).
Матричная МПС — структура типа ОКМД (рис. 15.12,6). Система содержит некоторое число одинаковых сравнительно простых быстродействующих процессоров, соединенных друг с другом и с памятью данных регулярным образом так, что образуется сетка (матрица), в узлах которой размещаются процессоры.
В системе имеются несколько потоков данных и один общий поток команд, другими словамй, все процессоры выполняют одновременно одну и ту же команду (допускается пропуск выполнения команды в отдельных процессорах), но над разными операндами, доставляемыми процессорам из памяти несколькими потоками данных. Подобные МПС часто называют системами с общим потоком команд.
В МПС с общим потоком команд возникает сложная задача распараллеливания алгоритмов решаемых задач для обеспечения загрузки процессоров. В ряде случаев эти вопросы лучше решаются в конвейерной системе.
Конвейерная МПС — структура типа МКОД (рис. 15.12, в). Система имеет регулярную структуру в виде цепочки последовательно соединенных процессоров или специальных вычислительных блоков (СВБ), так что информация на выходе одного процессора (СВБ) является входной информацией для следующего в конвейерной цепочке. Процессоры (СВБ) образуют конвейер (трубопровод). На вход конвейера одинарный поток
Рис.
15.12. К классификации многопроцессорных
ВС по одинарности и множественности
потоков команд и данных:
а— однопроцессорная ЭВМ (одиночные
потоки команд и данных);б—
ВС с общим потоком команд (одиночный
поток команд и множественный поток
данных);в— конвейерная ВС (множественный поток
команд и одиночный поток команд);г— общий случай (множественные потоки
команд и данных)
данных доставляет операнды из памяти. Каждый процессор (СВБ) обрабатывает соответствующую часть задачи, или операции, передавая результаты соседнему процессору (СВБ), который использует их в качестве исходных данных. Таким образом, решение задач для некоторых исходных данных развертывается последовательно в конвейерной цепочке. Это обеспечивается подведением к каждому процессору (СВБ) своего потока команд, т. е. имеется множественный поток команд.
Если «трубопровод наполнен», выходной процессор (СВБ) выдает результаты для последовательности входных данных через очень короткие интервалы времени, хотя действительное время прохождения задачи через конвейер может быть существенно большим.
Конвейерная обработка описана в гл. 9, где говорилось о конвейере команд, образованном блоками процессора, реализующими отдельные этапы рабочего цикла выполнения команды, и об арифметическом конвейере («конвейерном АЛУ»), состоящем из блоков, выполняющих отдельные этапы арифметических и логических операций. Эти конвейеры функционируют под управлением множественных потоков управляющих сигналов микроопераций. Внутрипроцессорная конвейерная обработка в настоящее время широко используется. Примером являются входящие в состав ЭВМ ЕС специализированные конвейерные процессоры для матричных и векторных операций (по терминологии ЕС ЭВМ называемые «матричными процессорами»). Конвейер из сложных модулей — процессоров, управляемых каждый своим потоком команд, иногда называют «макроконвейером».
Общий случай МПС — структура типа МКМД. На рис. 14.12, г представлен общий случай структуры МПС, в которой несколько потоков данных и несколько потоков команд.
В настоящее время конкурируют между собой главным образом две структуры построения суперЭВМ: а) с общим потоком команд; б) конвейерная (со специальными средствами обработки векторов).
Многопроцессорная минисуперЭВМ с общим потоком команд (ПС-2000)
К МПС с общим потоком команд относится разработанная под руководством академика АН Грузинской ССР И. В. Пран- гишвили высокопроизводительная система ПС-2000, структура которой представлена на рис. 15.13 [46].
Параллельный процессор ППр системы содержит до 64 процессорных элементов (ПЭ) и имеет суммарную производительность до 200 млн. коротких операций. В состав системы входят также подсистемы внешней памяти ПСВП и мониторная подсистема МтС на основе малой ЭВМ СМ-2М. Общее управление всей системой производит МтС, которая загружает в УУ параллельного процессора микропрограммы, программы и константы,^управляет обменом информацией между ППр и ПСВП, осуществляет связь с устройствами ввода-вывода.
Процессорные элементы выполняют операции над 24-разряд- ными словами. В состав каждого ПЭ входят АЛУ, память емкостью 4 или 16 Кслов с циклом обращения соответственно 640 и 960 не, сверхоперативная память на 16 слов, локальное УУ. Из-за сравнительно короткого слова ПС-2000 следует отнести к минисуперЭВМ.
Соседние ЦЭ соединены друг с другом регулярными связями, допускающими параллельную передачу слов. Кроме того, имее^т-
явэа
|
ван
j...f
вау
| |
ВЗУ | |
|
: |
ПСВП
I
LK
УВЗУ
УВЗУ
ОдодаЧ1ыВо&
LI
LI
ПСВП |
|
\ВЗУ |... |
ВЗУ | | ||
УВЗУ |
|
> |
г \ |
| |
|
I
ВЭУ
|»«.|
ВЭЯ
I
LH
Рис. 15.13. Структура МПС с общим потоком команд ПС-2000:
УКД — управление каналами данных; МПК — микропрограммируемый контроллер внешней памяти
ся шина («магистральный канал») для последовательной передачи слов, связывающая все ПЭ и УУ. По этой шине слово может передавать одновременно только один ПЭ или УУ, а принимать сразу все адресуемые ПЭ.
Как видно из структурной схемы, система ПС-2000 построена на основе иерархической децентрализации и распределения обработки, управления, хранения и обмена данными между ее отдельными модулями.
Эффективность использования матричных (параллельных) ВС зависит от возможностей распараллеливания программ («параллельное программирование»), что во многих случаях связано с большими трудностями.
Многопроцессорная суперЭВМ с коммутатором межмодульных связей («Эльбрус»)
Одним из способов построения МВС универсального назначения является использование быстродействующего коммутатора межмодульных связей (КМС). Коммутатор, приобретающий в таких системах характер центрального устройства, обеспечивает возможность установления связи любого процессора с любым модулем памяти и любым модулем управления вводом-выводом, а также любого модуля управления вводом-выводом с любым модулем памяти (рис. 15.14).
Коммутатор образует межмодульные связи путем установления межсоединений в соответствующих точках пересечения прямоугольной сетки шин. Соединения между модулями сохраняются на все время передачи данных. Возможны одновременная связь и передача данных через коммутатор между различными парами модулей системы.
Таким образом, КМС реализует пространственное разделение при коммутации соединений в отличие от временного разделения при использовании для межмодульных связей общей шины.
При наличии коммутатора существенно уменьшается число конфликтов в системе, так как сам коммутатор не порождает
Модули памяти
Процессор^—I
'Г " « r I L
ныв модули I Г
из
Рис. 15.14. Коммутатор межмодульных связей 516
конфликтов, и последние могут возникнуть только-при запросах от нескольких устройств на связь с одним и тем же модулем. Однако следует иметь в виду, что коммутатор представляет собой достаточно сложное устройство, обусловленное высокими требованиями к его быстродействию, сложностью реализуемых им логических функций и необходимостью обеспечить возможность изменения за счет модульного построения самого коммутатора числа подключаемых к нему устройств (модулей) системы. Чтобы достигнуть высокой общей производительности системы, время переключения КМС должно быть существенно меньше времени выполнения операции в процессоре.
Устройства
ввова-вывода
Рис.
15.15. Структура многопроцессорной ВС
«Эльбрус»
УВаленнъю
терминалы
[ии, чему способствуют модульное построение системы и дина* [ическое распределение ресурсов.
Рассматриваемая ВС относится к системам типа МКМД.
Система «Эльбрус» в зависимости от конфигурации содер- кит от 1 до 10 модулей центральных процессоров и от 4 до 2 модулей ОП (соответственно емкость памяти от 576 до 608 Кбайт). К коммутатору межмодульных связей помимо про- 1ессоров и модулей памяти может быть подключено до четырех [роцессоров ввода-вь!вода (ПВВ).
С помощью коммутатора реализуется общее поле оператив- [ой памяти и общее поле процессоров ввода-вывода. Процессоры ввода-вывода через дополнительный коммутатор (на схеме не юказан) и соответствующие блоки управления имеют доступ любому периферийному устройству, т. е. обеспечивается об- цее поле периферийных устройств. .
Работа системы через линии связи с удаленными терминала- [и осуществляется с помощью специализированных процессоров ередачи данных (ППД1— ППД16)У подключенных к ПВВ1— 7ВВ4, и адаптеров А.
Процессоры ввода-вывода полностью освобождают
«ентральные процессоры от управления операциями ввода- ывода.
Общая операционная система динамически распределяет есурсы между решаемыми задачами и обеспечивает параллель- ую и независимую работу модулей системы.
Модули системы снабжены средствами аппаратурного кон- роля правильности функционирования. При возникновении шибки при передаче или преобразовании информации схемы онтроля соответствующего модуля посылают сигнал, по которо- [у операционная система производит реконфигурацию МПС, тключает неисправный модуль и выводит его в ремонт. По авершении последнего операционная система включает его работу в составе МПС. Повышение надежности хранения нформации достигается ее дублированием в устройствах памя- и разного уровня.
Одной из важнейших особенностей МПС «Эльбрус» являет- я приближение уровня машинного языка (системы команд) уровню алгоритмического языка высокого уровня, в результате его значительно повышается скорость трансляции программ, следовательно, и производительность системы, облегчается руд программиста. К особенностям системы также относится жрокое использование стеков, в том числе для реализации зыка безадресных команд, соответствующего польской инверс- ой записи (см. § 9.6), повышения производительности системы, инамического распределения ресурсов (в первую очередь памя
ти и быстрых регистров), организации обращений к процедурам, обработки прерываний.
В МПС «Эльбрус» каждое слово памяти снабжается ярлыком (тегом), представляющим собой группу дополнительных разрядов, указывающих тип данных (операнд — число с плавающей точкой, целое число, метка процедуры, дескриптор и т. п.) и формат данных (32, 64 или 128 разрядов), а также режим защиты слова. Используются дескрипторы, являющиеся гибким средством описаний хранящихся в памяти массивов информации. Дескриптор задает адрес и длину массива, тип памяти, хранящей массив, указывает, содержит ли массив данные или команды и некоторые другие характеристики массива. Обращение к информации, находящейся в памяти, производится через дескрипторы (см. § 9.6).
Теги и дескрипторы обеспечивают такие формы контекстной защиты данных, как обнаружение несоответствия кода операции и типа данных, попытки выхода за пределы массива информации, установленные дескриптором.
Вычислительный процесс организуется на основе использования стеков. В МПС «Эльбрус» реализуется многопроцессная обработка данных, при этом под процессом понимается совокупность программы задачи (или комплекса программ), используемых ею данных и выделенных ей ресурсов системы. Каждому процессу в системе соответствует свой стек в ОП. Любой процессор работает на любом стеке. Самостоятельные стеки могут представляться не только каждой задаче, но и отдельным'процедурам. Таким образом, достигается широкое распараллеливание решения задач.
Группа связанных между собой процессов представляется деревом стеков («кактус-стеком»).
Операционная система динамически распределяет ресурсы системы между процессами с учетом их приоритетных соотношений. Процесс может быть активным, если он обрабатывается системой, или пассивным, если он ожидает некоторого события: освобождения центрального процессора (заняты все процессоры), окончания необходимой для дальнейшей обработки процесса операции ввода-вывода, освобождения другим процессом общих данных. Пассивный процесс может находиться в неготовом и готовом для выполнения состояниях. Из очереди готовых процессов выбираемся наиболее приоритетный и назначается на первый освободившийся процессор, при этом процесс получает в свое распоряжение аппаратуру процессора, в том числе указатель стека, сверхоперативную память, базовые регистры. В следующий раз при переходе из пассивного в активное состояние процесс может быть назначен на другой процессор. Допускается
н
|
|
|
|
Стек 1 |
|
| |||
|
|
Ячейка |
| |
|
.семафора | |
| ||
г |
Адрес |
^ I Стек\ |
Процесс,
дладеюащй
ресурсом
jf/гаглг
Разряд *
занятости
Очередь процессов к ресурсу
Рис. 15.16. Синхронизация процессов при помощи семафора
одновременное функционирование нескольких активных процессов, использующих общие данные и другие ресурсы, что достигается механизмом синхронизации процессов.
Синхронизация вычислительных процессов осуществляется с помощью семафоров (рис. 15.16).
Отдельным ресурсам системы — наборам данных, процессорам ввода-вывода и другим — ставятся в соответствие специальные ячейки в ОП — семафоры. Ресурс доступен процессу, если семафор открыт (в соответствующем разряде ячейки семафора 0). Занимая ресурс, процесс специальной командой «Закрыть семафор» устанавливает 1 в этот разряд ячейки.
Если семафор нужного процессу ресурса оказывается закрытым (в ячейке семафора стоит 1), процесс записывает в адресное поле семафора адрес своего стека (возможно образование у семафора очереди стеков), переходит в пассивное состояние, освобождая ЦП, который предоставляется наиболее приоритетному из очереди готовых процессов.
При освобождении ресурса, например после выполнения ПВВ запрошенного процессором ввода данных или завершения обращения другого процесса к общим данным, освобождающий ресурс процесс командой «Открыть семафор» заносит 0 в ячейку семафора соответствующего ресурса и ставит в очередь готовых процесс, адрес стека которого находится в ячейке семафора.
Конвейерно-векторные суперЭВМ
При решении на ЭВМ научно-технических и других задач часто встречается необходимость определения значений одной и той же функции для группы данных, расположенных в ячейках памяти (регистрах) с упорядоченными адресами (номерами). Такие наборы данных называются векторами.
В целях повышения производительности ЭВМ в состав ее процессора включают средства векторной обработки данных или в состав ЭВМ вводят специализированный векторный сопроцессор. Векторные средства включают векторные команды, век
торные регистры и другую аппаратуру для реализации этих команд. Векторные команды позволяют одной командой предписать выполнение некоторой операции (векторной операции) над элементами вектора (векторов), например поэлементное сложение векторов. Таким образом, векторная команда наряду с обеспечением содержательной операции над элементами вектора берет на себя и управление вычислительным циклом.
В машине, имеющей векторные команды, выполняются также обычные команды над одиночными данными (скалярные команды).
Наличие векторных команд способствует повышению быстродействия процессора за счет уменьшения потерь времени на организацию вычислительного цикла.
Обычно в целях достижения повышенного быстродействия выполнение самих векторных операций конвейеризуется, причем может иметься несколько арифметических конвейеров (линий), а отдельные устройства (позиции) конвейерной линии могут, в свою очередь, содержать конвейеры для выполнения возложенных на них подфункций.
Векторные команды (обычно их сравнительно немного) имеют ряд особенностей. Их код операции не только задает подлежащую выполнению операцию, но и определяет нужную конфигурацию активных частей конвейера для данной операции. Команда' указывает начало вектора (векторов) в памяти (или блоке регистров), длину вектора, размер и тип элементов вектора (целое число, число с плавающей точкой и т. д.), определяет местоположение вектора-результата.
Примерами конвейерно-векторных процессоров могут служить специализированные на выполнение векторных и матричных операций сопроцессоры \ подключаемые к машинам ЕС ЭВМ (см. гл. 13), при этом производительность машины при выполнении векторных и матричных операций увеличивается До 30 Мфлоп/с.
Конвейерно-векторные ВС в настоящее время являются одним из основных направлений при создании суперЭВМ для Широкого круга задач. К ВС такого типа относятся самые быстродействующие суперЭВМ семейства CRAY (США).
На рис. 15.17 представлена упрощенная структура конвейерно-векторного процессора суперЭВМ CRAY-1. Поскольку программы решения научно-технических задач, как правило, требу-
выполнения как векторных, так и скалярных операций, про-
1 В ЕС ЭВМ эти специализированные сопроцессоры называют «матричными» — по типу решаемых задач.
Функциональные
устройства
II
II