ВВЕДЕНИЕ
Универсальные приборы,эквивалентные по значению транзистору,которые создаются на тонких кремниевых пластинках СБИС,в настоящее время так миниатюрны и дешевы,что чрезвычайно большое число процессоров может быть объединено в единую сеть.В 1978г. 100.000 элементов было успешно интегрировано в ЗУ объемом 64Кбит.В 1981г. фирма Hewlett-Packard объявила о создании микропроцессорного кристалла,содержащего 450.000 элементов. Следовательно,многопроцессорные компьютеры "среднего класса" с числом кристаллов от нескольких тысяч и до нескольких миллионов скоро станут рельностью. Т.е.
отдельный компьютер может содержать 10 х 10 =10 элементов.
Такие микропроцессорные системы могут быть очень успешно использованы для решения проблем,примером которых является моделирование в трех измерениях атмосферных масс для прогноза погоды,моделирование трехмерных зон земной коры,моделирование обширных сетей нейронов,составляющих мозг человека,и очень большой набор преобразований,необходимых для восприятия сложного поведения пространственных объектов.
Для таких компьютеров обработка изображений и восприятие образов станут основными областями применения,т.к. они выдвигают прроблемы обработки информации,решение которых требует очень больших и быстродействующих компьютеров с высоким паралелизмом.
Действительно,как показывают исследования,основные вычислительные процедуры при решении большинства задач обработки сигналов в реальном масштабе времени могут быть сведены к набору операций над матрицами.Широкие исследования в области вычислительных методов линейной алгебры привели к созданию устойчивых пакетов программ для выполнения этих операций с помощью однопроцессорных компьютеров последовательного действия.Для обеспечения выполнения большинства алгоритмов в реальном масштабе времени требуется на порядок увеличить скорость вычислений.Несмотря на достижения в технологии цифровых интегральных схем(ИС),нельзя просто рассчитывать на дальнейшие успехи в производстве быстродействующих элементов вычислительных устройств, и увеличение на несколько порядков производительности процессора для обработки в реальном масштабе времени должно осуществляться эффективным использованием параллелизма при вычислениях.
Самым непосредственным способом реализации параллельной обработки сигналов является простое присоединение ряда процессоров к общей шине.
Действительно,большинство современных серийных микропроцессорных комплектов отличается такой мультипроцессорностью.К этой мысли пришли не сразу.На идею о целесообразности использования структуры из повторяющихся модулей навела высокая стоимость разработки проекта высокопараллельного СБИС-процессора.
В духе этих тенденций развитие архитектуры микропроцессорных систем сводится к построению многопроцессорных систем различных типов и разрешению попутно появляющихся задач.
Мы остановимся на основных направлениях развития многопроцессорных систем и на проблеме взаимодействия процессоров с магистралями(затронем историю развития модульных систем из магистрально-модульных).
Традиционные однопроцессорные последовательные ЭВМ и многопроцессорные сети.
Обычная "последовательная универсальная ЭВМ" строится,как правило,посредством подключения быстродействующей памяти к единственному центральному процессору(ЦП),который выбирает команды из памяти,декодирует каждую из них,выбирает данные(в соответствии с предписанием в команде),хранящиеся в указанных ячейках памяти,выполняет указанные операции и запоминает результаты в предписанных ячейках .Кроме того,к системе должны быть подключены устройства ввода и вывода.
ЦП рис.1. Вариант представления такой системы: ВВОД->R->ВЫВОД ЗУ подключено к ЦП(содержащему и
ПАМЯТЬ процессор,и контроллер);они,в свою
очередь,связаны с устройствами ввода и вывода
(часто через регистры R).
Конвейерные системы компьютеров(или процессоров).
Каждый процессор в такой системе многократно выполняет одну и ту же команду над последовательностью данных,проходящих через систему.Это значит,что если одна и та же последовательность команд должна выполняться над большим числом различных блоков данных,может быть построена конвейерная система длиной во всю последовательность команд и данные могут быть пропущены через процессоры системы П1-ПN
рис.2. Конвейер из N процессоров,через которые проходят данные.
Устройство->П1->П2->П3->...->ПN-> Устройство
ввода вывода
В такте 1 процессор П1 будет выполнять первую команду над первым блоком
данных.В такте 2 процессор П2 будет выполнять вторую команду над первым блоком данных,а П1-первую команду над вторым блоком данных,и т.д.
Если в конвйере имеется N процессоров,программа будет выполняться приблизительно в d*N раз быстрее,чем в однопроцессорной ЭВМ(d-коэффициент,учитывающий,что нет необходимости в выборке и декодировании следующей команды,поскольку каждый процессор осуществляет выборку один раз,а затем многократно повторяет выполнение одной и той же команды).
Наиболее высокопроизводительные из современных "супер-ЭВМ",например,Cray-1 и CDC-255 фирмы Seymour Cray содержат подобные конвейеры из примерно десятка очень мощных и дорогостоящих процессоров для выполнения векторных операций над массивами данных.
Наиболее мощный из построенных к концу 90х г.г. конвейеров-конвейер многопроцессорной системы CytoComputer,специализированный на выполнение операций обработки изображений.Каждый из процессоров машины CytoComputer гораздо проще и меньше,чем в ЭВМ Cray-1,но
их общее число-113.
Используя новые кристаллы СБИС(один процессор в кристалле),проектируемые на будущее системы планируется построить из еще большего числа процессоров,которые могут быть объединены в конвейеры(теоретически произвольной длины).
Матричные структуры из очень большого числа простых процессоров.
В 80е г.г. были построены 3 очень большие двумерные системы.В их число входят:
-распределенный матричный процессор DAP(distributed array processor) размером 64Х64,спроектированный
фирмой ICL.
-сотовый логический процессор изображений
CLIP-4(cellular logic image processor)размером96Х96,
разработанный в лондонском университетском колледже,
-и большой параллельный процессор MPP(massively parallel processor)размером 128Х128,спроектированный фирмами
GoodYear-Aerospace и NASA Goddard.
В этих системах каждый из тысяч процессоров выполняет одну и ту же команду над различными потоками данных.Данные,которые необходимо обработать,и объем которых в идеале соответствует размерам матрицы процессоров,вводятся в систему таким образом,что каждый из процессоров имеет в собственной памяти одно подмножество таких данных,например,
один элемент растра.
Затем каждый из процессоров обрабатывает данные,хранящиеся в собственной памяти,а также данные его ближайших соседей.
рис.3.Матричные структуры ЭВМ.
а) П-П-П-П-П-П-П-П Двумерная матрица из 8Х8 процессоров.
П-П-П-П-П-П-П-П Каждый процессор соединен с 4мя соседними по
П-П-П-П-П-П-П-П горизонтали и вертикали(в других структурах
П-П-П-П-П-П-П-П процессоры могут быть соединены в четверки по
П-П-П-П-П-П-П-П диагоналям или каждый процессор может быть
П-П-П-П-П-П-П-П соединен с 6ю соседними).Каждый процессор
П-П-П-П-П-П-П-П непосредственно связан с общей памятью(на П-П-П-П-П-П-П-П рисунке не показано),а также по изображенным линиям связи с памятью 4х соседних.
б) П-П-П-П-П-П-П-П Матрица из 1Х8 процессоров,каждый из
Ввод->R-R-R-R-R-R-R-R->Вывод которых соединен с собственной
М М М М М М М М памятью М,а также(через регистры R)с вводом и выводом(иначе это можно
рассматривать как вид на приведенную выше структуру 8Х8 с одной стороны,показывающий,что каждый из процессоров(П) одномерной матрицы 1Х8 двумерной структуры размером 8Х8 соединяется с собственной памятью М и вводом-выводом через регистры).
Такие большие матричные системы возможны только благодаря тому,чтокаждый процессор выполнен настолько простым,насколько это возможно,и все они выполняют одну и ту же команду(т.е.необходим только один контроллер).При использовании СБИС-технологий будущего такие параллельные матричные системы будут становиться все более привлекательными из-за простоты и высокой повторяемости их модульной структуры.
Вариации более общих структур сетей.
Из-за ограниченных возможностей матриц,вызванных в основном соображениями стоимости(одноразрядные процессоры,единый контроллер и связи только с соседними процессорами) предпочтительно иметь дело с сетями(процессоров) других видов.Было разработано много типов сетей,включая кольцевые,n-кубические,решетчатые,звездные,"снежинка",
чечевицеобразные,древовидные,х-древовидные,пирамидальные и множество структур,описываемых другими графами.В нашем случае граф-просто отображение набора подсистем, объединенных в единый мультипроцессор;инода узлами графа являются отдельные процессоры или память,а не полные ЭВМ.
Однако таких систем в действительности было построено очень мало и только 2 из них с числом процессоров больше 50:Cm и Genoa machine.Число вариантов построения практически бесконечно,поскольку они включают все мыслимые способы соединения все возрастающего по мере совершенствования и удешевления технологии числа процессорных элементов.
Среди наиболее привлекательных сетей выделяются те, структура которых отражает выполняемый алгоритм.Наиболее интересными примерами таких структур являются древовидные и матрицы изменяемой конфигурации из обычных ЭВМ.
Деревья имеют хорошую структуру для большого числа задач,в которых информация сортируется,сравнивается или каким-либо образом уплотняется и реорганизуется,а также где она запоминается,извлекается или передается.Матрицы имеют хорошую структуру для локальной передачи информации.
Наилучшими считаются пирамидальные многопроцессорные системы,поскольку они очень эффективны не только при параллельной локальной обработке,но и при глобальных передачах и преобразованиях информации.
Архитектура проблемно-ориентированных систем для преобразования потоков данных.
В многопроцессорной сети наилучшим образом можно разместить проблемно-ориентированный алгоритм-операции организуются как на сборочном конвейере,а информация продвигается также как бы через конвейер.Это дает поток данных(типа транспортного) о двумерном изображении,и этот поток проходит по трехмерной структуре.
Большие двумерные образы прекрасно размещаются в больших матричных структурах,и большие матричные многопоцессорные системы способны очень эффективно производить последовательности операций по обработке поэтапно преобразуемого изображения.
Пирамидальные процессоры в дополнение к этому позволяют
программисту свертывать и сжимать запоминаемую информацию о преобразованном изображении,когда необходимо сократить объем этих данных.Представляется также,что пирамидальные процессоры потенциально должны обеспечивать чрезвычайно высокую мощность при обработке потоков изображений в реальном масштабе времени благодаря конвейерной организации обработки таких двумерных изображений при сложной последовательности операций поэтапно нарастающей глобальности,выполняемых в различных слоях трехмерной пирамиды.
Соответствие матричных и пирамидальных процессоров технологии СБИС.
Процессоры,используемые в матричных и пирамидальных системах,обычно стремятся сохранить максимально простыми. Почти во всех вариантах систем использовались одноразрядные процессоры с числом вентилей от 100 до 800. Причиной этого является то,что для достижения хотя бы четырехкратного увеличения скорости и вычислительной мощности обработки благодаря последовательному наращиванию параллельно работающих процессоров разработчики систем выбирали наиболее простые из возможных одноразрядные процессоры,обеспечивая выполнение К одноразрядных операций для обработки
К-разрядных чисел или строк.
По-видимому,объем памяти,необходимый каждому процессору, является функцией от общего объема памяти,необходимого для обработки изображений или других наборов данных,поступающих в систему.Поэтому каждый процессор нуждается в памяти относительно небольшого объема (реализованные системы снабжены памятью от 32 до 4096 бит на процессор).
Процессоры объединяются в высокорегулярную микромодульную систему,которая является одной из наиболее пригодных для реализации в виде СБИС при высокой плотности упаковки.
В настоящее время в одном кристалле СБИС выпускается по 4,8 и более таких одноразрядных процессоров.Впоследствии должно стать возможным производство в одном кристалле сотен и даже тысяч процессоров с собственной памятью для каждого.Это резко контрастирует с реализацией в СБИС обычных однопроцессорных систем,для которых(даже при возможности упаковки одного или нескольких процессоров на одном кристалле)останется необходимым наличие нескольких кристаллов для работы с несколькими миллионами байт быстродействующей памяти каждого из процессоров.
Многопроцессорные матричные и пирамидальные системы из 1024 и более процессоров можно будет построить на основе матрицы размером 16Х16,т.е. всего из 256 кристаллов,в каждом из которых содержится матрица размером 64Х64 из 4096
400-элементных процессоров с памятью объемом 512 бит.Такая матрица или пирамида,основанием которой была бы матрица,
содержащая не более одной трети числа процессоров в основании,может быть реализована на достаточно небольшом числе кристаллов со степенью интеграции 10, упакованных на одной пластине.Высокорегулярная микромодульная матричная или пирамидальная структура наиболее привлекательна для изготовления отказоустойчивой СБИС с интеграцией на уровне пластины.
Модульные многопроцессорные информационно-измерительные системы.
В 60х г.г.развитие вычислительной техники привело к необходимости стандартизировать не только размеры модулей,но и каналы связи между ним.Это было сделано к 1969г.,когда опубликовали европейский стандарт EUR-6100 на модульную систему КАМАК(CAMAC),разработанную ядерными электронщиками ведущих европейских институтов для оснащения сложных экспериментов,например,на ускорителях атомных частиц.Одно из прочтений слова CAMAC-Computer Applications for Measurements and Control-применение компьютеров для измерения и управления.
В электронной системе модулем является печатная плата с узкой передней панелью и плоским многоконтактным разъемом на противоположной стороне платы.Модули вставляют в каркас с направляющими,в которых скользит плата.Задняя стенка каркаса выполнена в виде платы с ответными частями разъемов,которые соединены печатными или навесными проводниками,образующими электрические магистрали для передачи кодированной информации.По специально назначенным проводникам в модули подается электрическое питание.
Все присоединительные размеры модулей и каркасов строго стандартизованы.Определены длительности и амплитуды электрических сигналов,а также напряжения питания модулей.Впервые в международной практике были стандартизованы не только размеры,но и логический протокол-правила передачи информации по линиям магистрали.
В дорогостоящей магистрали КАМАК линии были использованы весьма нерационально:24 линии для чтения,5-для передачи команд и только 4 линии были определены для передач всего-навсего 16ти адресов в модуле.Все линии начинались в крейт-контроллере-крайнем правом модуле,который служил для связи магистали каркаса-крейта с внешним мини-компьютером,
работающим в ином логическом протоколе ("crate" по-английски означает плоский ящик с отделениями,например,ящик стекольщика).Налево в магистраль контроллер передавал для 24х модулей информацию,выработанную компьютером,а направо шла из модулей необработанная,но уже закодированная информация, отображающая величины,измеренные датчиками в эксперименте.Двунаправленность интерфейсного контроллера была отображена в эмблеме системы КАМАК в виде двуликого бога Януса.
Через 3-4 года после публикации стандарта десятки фирм в разных странах выпускали модули КАМАК более 300 типов как для экспериментов,так и для контроля и управления технологическими процессами на производствах.
Подобно железнодорожным системам,электрические модульные системы также долговременны.Если модули достаточно широко распространились и их количество превзошло некий критический уровень,то даже морально устаревшую аппаратуру оказывается выгодным эксплуатировать.Большой парк накопившихся разнообразных модулей позволяет в течение нескольких дней,а то и часов, скомпоновать систему с новыми характеристиками.Системе КАМАК уже более 25 лет,но она все еще используется как с ПЭВМ,так и с микропроцессорами,
встроенными непосредственно в контроллер.
Микропроцессоры в модулях.
Создатели системы КАМАК в конце 60х г.г. сами начали применять только что появившиеся интегральные микросхемы, однако у них не хватило смелости предположить,что в 1972г. в электронике начнется революция-появится микропроцессор.
Неудобства магистрали КАМАК заставили электронщиков искать решения,позволяющие эффективно использовать качественно новую ИС.Введение микропроцессора в модули превращало их в микрокомпьютеры,а крейты-в многопроцессорные системы, которые нуждаются в емкой памяти с большим количеством адресов.16 адресов в модуле КАМАК оказались совершенно недостаточными,поэтому ведущие электронные фирмы Motorola и Intel к середине 70х г.г.создали модульные системы 3го поколения:Versabus и Multibus,магистрали которых содержали 16,а затем и 20 адресных линий,что обеспечивало емкость системы около 1млн.адресов.
Потребовались и новые функции в логическом протоколе. Некоторые из процессорных модулей выполняли самые важные задачи в системе,а другие включались в работу реже, поэтому пришлось устанавливать приоритеты модулей на право занятия магистрали,а также разрешать конфликтные ситуации,когда 2 или больше модулей одновременно пытаются занять магистраль.
Для этого потребовались дополнительные линии.Чтобы ограничить общее количество линий,стали использовать одни и те же линии для передачи как адресов, так и данных:сначала передавали адрес(несколько битов которого являются адресом модуля),а затем линии переключали на регистр данных.Эти новшества заложили основы магистрально-модульных многопроцессорных информационно-измерительно-управляющих систем-МММИИУС.
Что было дальше.
Для завоевания мирового рынка Motorola быстро перевела свою систему на европейские конструктивы,назвав ее Versabus Module EuropeBus,сокращенно VME,а Intel в европейских же конструктивах выпустил новую систему Multibus-2,использовав новшества,реализованные в системе Fastbus,созданной
ядерными электронщиками США к 1982г.Во всех трех системах слова адреса и данных увеличены до 32х разрядов,что обеспечило емкость общей памяти системы в 4 млрд.адресов.
VME первой вышла на международный рынок,а более совершенная система Multibus-2 опоздала и не получила должного распространения,хотя эту аппаратуру начали выпускать более 100 фирм.Аппаратуру VME и ее улучшенные модификации выпускают более 300 фирм в разных странах,несмотря на архаичность базовой структуры системы.В России собирают модули VME,но на иностранных комплектующих и в небольших объемах.
В ПЭВМ также есть магистраль,обслуживающая процессор,
платы памяти и устройства ввода-вывода информации.В компьютере PS/2 фирмы IBM к магистрали "Microchannel" могут быть присоединены до восьми 16-разрядных процессорных модулей или до четырех 32-разрядных модулей. Архитектура "Microchanne" специализирована на структуру микропроцессоров Intel.
В стандарте Fastbus была определена локальная информационная сеть произвольной конфигурации,работающая в логическом протоколе,впервые едином для модулей, крейтов и сети.Скорость передачи информации через магистраль доведена до рекордного на те времена значения 80 Мбайт/сек.,для этого длительность фронтов импульсов пришлось уменьшить до 10 нс-
в 10 раз короче,чем в системе КАМАК.
Развитие МАГИСТРАЛЬНО-модульных систем завершает разработка с громким названием Futurebus("магистраль будущего")по стандарту США 1991г.В этой системе сделано одно принципиальное добавление,учитывающее особенность многопроцессорных компьютеров.В таких системах каждый микропроцессор имеет в своем распоряжении вспомогательную кэш-память.Во время выполнения параллельных программ у одного из процессоров появляется промежуточный результат, необходимый другим процессорам для дальнейшей работы.Этот результат нужно быстро передать в кэш-памяти нуждающихся процессоров.Процедура таких передач как раз и предусмотрена в стандарте Futurebus.
Отказ от магистрали-переход к РСИ.
Прогресс технологии микроэлектроники привел к тому,что в наше время размеры элементов в микросхемах
(транзисторов,резисторов,конденсаторов)удалось уменьшить до 0.6-0.8 мкм,а число элементов в одном кристалле увеличить до нескольких миллионов.Например,микропроцессор Pentium cодержит 3 млн. транзисторов,имеет соственную встроенную кэш-память и работает с частотой до 100 Мгц. Если несколько таких процессоров подсоединить к одной магистрали общего пользования,то их работа становится неэффективной:процессор,
быстро подготовивший промежуточный результат,занимает магистраль для передачи данных другому процессору,а остальные процессоры вынуждены простаивать в течение относительно медленной передачи.Магистраль,бывшая в
70-80х г.г. верхом достижений,к концу 80х годов стала узким местом,нужно было искать новое решение.
Специалисты,создававшие Fastbus и Futurebus+,в 1988 г. объединились для создания системы,способной решить новые задачи.Была начата разработка стандарта,известного сейчас как ANSI/IEEE Std 1596-1992 Scalable Coherent Interface-SCI,в русском переводе-Расширяемый Связный Интерфейс,РСИ.
рис.4.Модель узла РСИ.
Принцип магистрали общего пользования был отклонен в начале исследований.Решили,что в новой системе узлы следует соединять индивидуальными связями,причем информация должна передаваться по каналам связи только в одном направлении.Узел получает информацию из входного канала в дешифратор адреса.Если сообщение адресовано данному узлу,оно через дешифратор поступает в промежуточную память FIFO с очередью типа "первым вошло-первым вышло" и далее проходит на прикладные схемы узла для обработки,например,
микропроцессорами и транспьютерами.Если сообщение адресовано другому узлу,оно через проходную FIFO и переключатель передается в выходной канал к следующему узлу.Если ранее уже началась выдача обработанной информации из выходной FIFO,передача проходящей информации задерживается до окончания выдачи. Можно заметить,что узлы РСИ действуют подобно железнодорожному узлу:если со станции выходит поезд и выходной путь занят,то приходящий поезд направляют на запасной путь для отстоя;если же состав адресован именно этому узлу,то его вагоны сортируют и подают на разгрузочные пути.
Последний из цепочки узлов РСИ соединяется с первым узлом-образуется колечко из нескольких узлов связей.
Наименьшее колечко состоит из 2х узлов.Кольцеобразная структура позволяет любому узлу получать подтверждение в приеме своего сообщения.Для этого адресованный узел сразу же после приема сообщения вырабатывает эхо-сообщение и передает его в выходной канал,чтобы оно прошло по колечку к узлу,
вызвавшему первичное сообщение.Предусмотрены специальные узлы-агенты,имеющие выходы на боковые каналы, для соединения с другими колечками иными устройствами, выполняемыми в других стандартах.При помощи интерфейсных агентов конкретная система может быть расширена добавлением новых колечек с образованием сети произвольной конфигурации.РСИ является открытой системой, все составляющие которой работают в едином логическом протоколе и не требуют чуждых интерфейсов.
рис.5.Применение системы РСИ.
У-узел РСИ,А-агент,М-агент-мост,П-агент-переключатель,
РС-рабочая станция в стандарте РСИ,VME-крейт VME,
ПК-персональный компьютер,
ПКР-персональный компьютер в стандарте РС,
Э-сеть Ethernet.
Слово "связный" в названии системы означает,что в стандарте предусмотрены логические средства для образования связной группы кэш-памятей,получающих идентичную обновленную информацию.Связность устанавливается программно при помощи кодов-указателей адресов тех узлов,которые должны войти в связную группу. Затем процессор,создавший новую информацию,
быстро выполняет ее запись в основную память и в группу кэшей.
рис.6.Запомининие в кэшах связной кэш-строки при помощи
кодов-указателей адресов.
Система РСИ-модульная,но не магистральная.Поскольку магистраль общего пользования в ней не понадобилась,из аббревиатуры МММИИУС исчезла одна буква М.Физический облик ММИИУС в стандарте РСИ может быть очень разнообразным:от персональной рабочей станции до суперкомпьютера,содержащего тысячи микропроцессоров,и транспьютеров;от одиночного персонального компьютера в комнате до информационной сети протяженностью десятки километров,объединяющей множество компьютеров и измерительно-управляющих устройств.Для компоновки аппаратурных систем в стандарте определены каналы связи 2х типов.Для передачи сообщений между модулями в стандартизованном каркасе служат 18 параллельных печатных линий на задней плате.Передачи между обособленными узлами выполняются последовательными кодами-по коаксиальному кабелю на расстоянии десятки метров или по оптоволоконному кабелю на километры и более.Скорости передач рекордные:при параллельной передаче 1 Гбайт/сек на частоте 250 МГц,при последовательной-1 Гбит/сек.
Объем полного адреса-64 разряда,причем наиболее значимые 16 разрядов выражают адрес узла в целом,поэтому в аппаратурной системе максимальное число узлов может быть равно 2 =65536.Остальные 48 разрядов определяют допустимое число адресов в каждом узле-около 280 трлн. Если в каждом адресе хранить стандартное 64-разрядное слово данных,то максимальный объем информации в узле составит 1.8 трлн.
авторских листов по 40.000 знаков или 3.8 млрд.книг "Советский Энциклопедический словарь".На практике полный объем памяти не используют,но запас нужен для удобства программирования.Стандартом предусмотрены и малые дешевые системы с 32-разрядным адресом.В 1995 г. РСИ стал международным стандартом,он принят в качестве базовой системы в ВВС США и в ВМФ США и Канады.Благодаря агентам-мостам аппаратура РСИ будет соединена со старыми магистрально-модульными системами и уже существующими сетями.
Говоря языком рекламы,РСИ-мост в ХХ1 век-век информатики,основанной на модульных открытых информационных сетях.
Симметричная многопроцессорная обработка.
Еще один пример фундаментальной компьютерной технологии,которая от уникальных вычислительных систем проложила себе путь к относительно массовым и недорогим платформам, используемым в локальных вычислительных сетях,-симметричная многопроцессорная обработка(Symmetric MultiProcessing-SMP).
Сущность SMP
По сути,для многопроцессорной обработки всегда требуются и соответствующие аппаратные платформы,и операционные системы(ОС).Однако ОС могут использовать многопроцессорные платформы несколькими различными способами.
При асимметричной многопроцессорной обработке процессы прикладных программ назначаются конкретному процессу на аппаратной платформе.Нити каждого процесса должны ждать, пока назначенный им процессор не освободится.Такой метод, как правило,менее эффективен,чем симметричный метод.
Симметричная многопроцессорная обработка предполагает,что все процессоры имеют одинаковые возможности.
В SMP-модели нагрузка динамически распределяется между
процессорами,так что невозможна ситуация,в которой одни ЦП перегружены,в то время,как другие ничем не заняты.
Есть 2 общие реализации SMP,известные как сильносвязанная и слабосвязанная.Сильносвязанная базируется на схеме,согласно которой процессоры совместно используют данные из совокупности общих ресурсов,прежде всего,из общей памяти.
Слабосвязанные системы используют механизм обмена сообщениями между процессами для совместного использования ресурсов,когда это необходимо.В некоторых слабосвязанных системах каждый процессор может даже иметь свой собственный контроллер диска и другие подсистемы.
Чтобы полнее воспользоваться преимуществами SMP при организации многозадачности,выполнение нитей процесса контролируется с помощью приоритетных прерываний.
Приоритетное прерывание позволяет ОС поддерживать контроль над программами:какую программу и когда запускать,так что сбившиеся программы не могут поработить систему и вызвать проблемы.
Основным преимуществом такой архитектуры является то, что прикладные программы имеют в своем распоряжении столько ЦП,сколько имееется в наличии у сервера.Т.к. ОС занимается планированием работы процессоров,прикладным программам нет
необходимости знать о количестве имеющихся процессоров.ОС назначит каждую нить первому свободному процессору.
Программа-планировщик в ядре ОС позволяет распределять нагрузку и в конечном итоге выполнять программы точно с той же скоростью,с какой несколько ЦП могуут с ними справиться.
Масштабируемость.Конфликты на шине.
Часто встречающиеся словосочетания типа "несколько процессоров","многопроцессорные системы" и т.п. наводят на вопрос,можно ли сказать,чему равно оптимальное число
процессоров в системе?
Необходимо иметь в виду,что эффективность не растет линейно при добавлении еще одного процессора.Вернее,она растет линейно с увеличением числа процессоров только до тех пор,пока не наступают ограничения,связанные с проблемами соединения с общей шиной.Согласно известному предположению Минского для широкого класса алгоритмов конфликт между N процессорами с коллективным распределением ресурсов,
соединенными с общей шиной, ограничивает повышение производительности величиной log2N.
Современные конструкторы "суперкомпьютеров" использовали ряд параллельных структур и достигли повышения производительности в соответствиис законом Амдала:N/log2N.
Рассмотрим подробнее суть конфликтов на шине.Сетевая ОС должна управлять каждым процессором и,следовательно, взаимодействием процессора с внутренними вызовами и периферийными устройствами на шине(поэтому,собственно,
производительность и не растет линейно).Когда нить в однопроцессорной системе не может более выполняться до осуществления некоторого условия,процессор маскирует программное прерывание так,что никакой другой процесс не может воспользоваться данным ресурсом.Затем он сохраняет состояние нити,чтобы выполнение кода могло возобновиться при осуществлении условия.
В системе с одним процессором маскированное прерывание предотвращает использование процессором ресурса.Кроме того,достаточно просто сохранять описание уровней прерывания и масок,контролирующих доступ к структурам данных ОС.С добавлением каждого нового процессора эта задача становится все более трудной.ОС для SMP-платформы должна уточнить,что только один процессор в данный момент выполняет сегмент кода,который меняет глобальную структуру данных.Словом,в SMP-среде этот механизм (маскированное прерывание) не гарантирует,что различные процессы не будут иметь доступа к тому же самому ресурсу через другое прерывание.
Для управления прерываниями между процессорами иногда используется(например,Windows NT Advanced Server)метод взаимоблокировки.По сути,взаимоблокировка является программной процедурой,которая блокирует доступ второго
процессора к уже занятому ресурсу.Такой метод позволяет предотвратить порчу процессорами глобальных структур данных,однако при непродуманной реализации он может привести к тому,что процессоры будут бездействовать в течение длительного периода,ожидая освободившийся замок блокировки.
По мере добавления новых процессоров к системе накладные расходы на управление конфликтами возрастают,и это уменьшает отдачу от ОС,ориентированных на симметрично-многопроцессорную обработку.Это обстоятельство по идее будет как сейчас,так и впредь ограничивать число процессоров,
которое оправдано установить в SMP-платфорфу.
Действительно,наиболее узким местом,как установлено,является системная шина,а ее пропускная способность,несмотря на все
нововведения, только-только поспевает за ростом
производительности ЦП,а тут еще надо справиться с ростом их числа.
Спецификация многопроцессорных систем компании Intel.
На основе вышеизложенного можно получить некоторое представление о многопроцессорных(МП) системах,в частности,о SMP-платформах.В качестве конкретного примера использования многопроцессорных систем рассмотрим их спецификацию,
предложенную компанией Intel(MPS-MultiProcessor Specification V.1.1).Главная цель спецификации-определить стандартный интерфейс для многопроцессорных платформ,который позволит расширить область применения PC/AT-платформ по сравнению с традиционными платформами,в то же время сохраняя полную совместимость с PC/AT на уровне программ(термин "PC/AT-совместимость" используется,чтобы характеризовать компоненты,видимые(доступные)для программных средств).
Сердцем спецификации являются структуры данных, определяющие конфигурацию МП-системы.Эти структуры данных создает ВIOS,в известном формате представляя аппаратные средства стандартным драйверам устройств или Уровню Изоляции Аппаратуры(HAL-Hardware Abstraction Layer)ОС. Спецификация определяет задаваемые по умолчанию конфигурации аппаратуры,и в целях большей гибкости определяет расширения для стандартного BIOS.
рис.7.Концептуальные понятия.
1.Операционная система
2.Уровень абстрагирования от аппаратных средств
3.BIOS МП-системы
4.Структуры данных,задающих конфигурацию МП-системы
5.Аппаратные средства
В спецификации рассматриваются следующие вопросы:
-создание на основе PC/AT-платформ многопроцессорных систем, которые могут исполнять существующие программы для однопроцессорных и многопроцессорных микроядерных ОС.
-поддержка APIC(МП-контроллера прерываний)для обработки симметричного ввода-вывода.
-возможность использовать BIOS с минимальной настройкой на конкретную МП-систему.
-таблица факультативных МП-конфигураций с информацией о конфигурации.
-включение ISA и других промышленных стандартов на шины, такие,как EISA,MCA,VL и PCI в МП-совместимые системы.
-требования,обеспечивающие прозрачную(для программного обеспечения)реализацию вторичной шины кэша и памяти.
Минимальный набор аппаратных средств,который необходим для реализации МП-спецификации,таков:
-один или несколько процессоров,по набору команд совместимых с архитектурой семейств процессоров Intel 486 и Pentium;
-один или несколько контроллеров APIC на процессорах Pentium 735/90 или 815/100;
-прозрачные для программ подсистемы кэшей и лбщей памяти;
-видимые для программ компоненты PC/AT-платформ.
Документ также определяет свойства МП-систем,видимые для BIOS и ОС.Однако надо учитывать,что по мере развития технологии выполняемые BIOS функции могут изменяться.
Общая структура МП-системы
При построении многопроцессорной архитектуры может использоваться одна из нескольких концептуальных моделей соединения вычислительных элементов,а также множество схем взаимосвязи и вариантов реализации.
На рисунке показана общая структура МП-системы,построенной на основе спецификации MPS 1.1.В нее входит сильно связанная архитектура с общей памятью с распределенной обработкой данных и прерываний ввода-вывода.Она полностью симметрична; т.е.все процессоры функционально идентичны и имеют одинаковый статус,и каждый процессор может обмениваться с каждым другим процессором.Симметричность имеет два важных аспекта:симметричность памяти и ввода-вывода.
Память симметрична,если все процессоры совместно используют общее пространство памяти и имеют в этом пространстве доступ с одними и теми же адресами.Симметричность памяти предполагает,что все процессоры могут исполнять единственную копию ОС.В таком случае любые существующие системы и прикладные программы будут работать одинаково,независимо от числа установленных в системе процессоров.
Требование симметричности ввода-вывода выполняется,если все процессоры имеют возможность доступа к одним и тем же подсистемам ввода-вывода(включая порты и контроллеры прерывания),причем любой процессор может получить прерывание от любого источника.Некоторые МП-системы,имеющие симметричный доступ к памяти,в то же время являются асимметричными по отношению к прерываниям устройств ввода-вывода,поскольку выделяют один процессор для обработки прерываний.Симметричность ввода-вывода помогает убрать потенциально узкие места ввода-вывода и тем самым повысить расширяемость системы.
Системы,удовлетворяющие МП-спецификации,обладают симметричностью памяти и ввода-вывода,что позволяет обеспечить расширяемость аппаратных средств,а также стандартизовать программные средства.
1.ЦП 7.Шины коммуникаций контроллера прерываний
2.Контроллер прерываний APIC 8.Модуль общей памяти
3.Контроллер шины памяти 9.Буфер графических фреймов
4.Контроллеры кэша 10.Контроллер прерываний APIC
5.Кэш-память 11.Интерфейс ввода-вывода
6.Высокопроизводительная шина 12.Шина расширения ввода-вывода
памяти
Рис8.Архитектура МП-системы.
Основные компоненты
МП-спецификация определяет системную архитектуру на основе следующих компонентов аппаратуры:системные процессоры, контроллеры APIC,системная память,шина расширения ввода-вывода.
Системные процессоры.В целях обеспечения совместимости с существующими программными средствами для PC/AT,спецификация основывается на процессорах семейства Intel 486 или Pentium. Хотя все процессоры в МП-системе функционально идентичны, спецификация выделяет два их типа:загрузочный процессор(BSP) и прикладные процессоры(AP).Какой процессор играет роль загрузочного,определяется аппаратными средствами или совместно аппаратурой и BIOS.Это сделано для удобства и имеет значение только во время инициализации и выключения. BSP-процессор отвечает за инициализацию системы и за загрузку ОС.AP-процессор активизируется после загрузки ОС.
Контроллеры APIC.Данные контроллеры обладают распределенной архитектурой,в которой функции управления прерываниями распределены между двумя функциональными блоками:локальным и ввода-вывода.Эти блоки обмениваются информацией через шину,называемую шиной коммуникаций контроллера прерываний(ICC-interrupt communication controller).
В МП-системе множество локальных блоков и блоков ввода-вывода могут коллективно использовать одну запись, взаимодействуя через шину ICC.Блоки APIC совместно отвечают за доставку прерывания от источника прерываний до получателей по всей МП-системе.
Блоки APIC дополнительно увеличивают расширяемость за счет разгрузки шины памяти от трафика прерываний,а также разделения между процессорами нагрузки по обработке прерываний.
Благодаря распределенной архитектуре,локальные блоки или блоки ввода-вывода могут быть реализованы в отдельной микросхеме или интегрированы с другими компонентами системы.
Системная память.В системах,совместимых с МП-спецификацией, используется архитектура памяти стандарта AT.Вся память используется как системная за исключением адресов,
зарезервированных под устройства ввода-вывода и BIOS.
МП-системы нуждаются в значительно более высокой пропускной способности по сравнению с однопроцессорными. Требования возрастают пропорционально числу процессоров на шине памяти.Поэтому спецификация содержит рекомендации использовать кэши второго уровня,призванные снизить трафик по шине и реализующие следующие функции:стратегия обновления с обратной записью и протокол определения согласованности кэшей.От кэшей второго уровня и контроллеров шины памяти требуется,чтобы они были полностью прозрачны для программных средств.
Шина расширения ввода-вывода.Спецификация обесречивает построение МП-систем на основе платформ PC/AT,отвечающих промышленным стандартам.В проектах могут быть использованы стандартные шины ISA,EISA,MCA,VL и PCI.
BIOS выполняет функции слоя,изолирующего особенности аппаратных средств от ОС и программных приложений. Стандартный однопроцессорный BIOS выполняет следующие функции:проверяет системные компоненты;строит таблицы конфигурации,используемые ОС;инициализирует процессор и всю остальную систему.
В многопроцессорных системах BIOS дополнительно выполняет следующие функции:передает информацию о конфигурации в ОС, которая идентифицирует все процессоры и другие компоненты МП-систем;переводит все процессоры и другие компоненты многопроцессорной системы в заданное состояние.
Одна из главных целей этой спецификации состоит в том, чтобы обеспечить возможность построения микроядерных ОС
для многопроцессорных систем.Это достигается благодаря гибкому балансу между возможностями аппаратуры и BIOS. Посредством BIOS потенциально огромное разнообразие аппаратных конфигураций уменьшается всего до нескольких вариантов,которые могут быть обработаны на начальной загрузочной фазе работы ОС.
Спецификация аппаратных средств.
Для того,чтобы ОС могла работать на многопроцессорных платформах,аппаратные средства должны обладать определенным набором свойств.Их спецификация определяет способ реализации компонентов,перечисленных в предыдущем разделе.Соответствие
спецификации подразумевает несколько аспектов,которые перечислены ниже.
Конфигурация системной памяти.Спецификация МП-памяти основывается на стандартной карте памяти PC/AT размером до
... кодирования можно разработать устройство, которое поможет понять принцип работы метода Хэмминга. Кодер – декодер будем разрабатывать на основе ИМС К555ВЖ1. 2.1 Разработка устройства кодирования информации методом Хемминга Кодер, преобразует 32х битное слово в 38ми разрядный код Хэмминга, после чего слово хранится в памяти или передаётся по шинам и т.д. В процессе передачи или хранения в ...
... имеет минимальное влияние. Таким диапазоном оказался диапазон от 200 кГц и выше, в котором устройство имеет характеристики удовлетворяющие условиям проведения измерений и организации передачи данных. Таким образом, для определения усредненной амплитудно-частотной характеристики сетей электропитания, провелся ряд экспериментальных измерений. Измерения проводились в условиях наиболее приближенным ...
... . Инверсный выход напряжения звуковой частоты. Напряжение питания. (Ucc< 32 В). Вход напряжения переменного тока. Рис.4.7. Схема включения ИС ВУ КР1064ПП1. 4.3. Описание работы электрической схемы охранного устройства с автодозвоном по телефонной линии. В состав схемы входят: - узел датчика на элементах DD1, R1, R2, C1; - узел счёта и выбора выходных ...
... датчика, наличием нерассматриваемых источников тепла, особенностями конфигурации компонентов относительно потока воздуха от вентиляторов и др.). Это еще раз доказывает актуальность проведения экспериментальных исследований в изучении тепловых режимов устройств ЭВМ и, следовательно, создание для этих целей специализированного устройства (модуля). 7 РАЗРАБОТКА ТЕХНОЛОГИИ СБОРКИ МОДУЛЯ АЦП 7.1 ...
0 комментариев