Операционные системы многопроцессорных компьютеров реферат

Обновлено: 01.07.2024


Хасавюрт 2014г
Содержание
ВВЕДЕНИЕ 3
1. Структура и специфика многопроцессорных систем 5
1.1 История появления и развития многопроцессорных систем 5
1.2 Общая структура многопроцессорной системы 7
1.3 Спецификация аппаратных средств многопроцессорной системы 9
2.Операционные системы для работы с многопроцессорными системами 10
2.1 Первые операционные системы для работы в многопроцессорной конфигурации 11
2.2 Виды многопроцессорных систем и операционные системы для работа с ними 13
ЗАКЛЮЧЕНИЕ 15
Список использованной литературы и источников…………………………………………………16

Цель данной курсовой работы заключается вописании многопроцессорных систем и классификации этих систем различной архитектурой.
В настоящее время сфера применения многопроцессорных вычислительных систем (МВС) непрерывно расширяется, охватывая все новые области в различных отраслях науки, бизнеса и производства. Стремительное развитие кластерных систем создает условия для использования многопроцессорной вычислительной техники в реальном сектореэкономики.
Сейчас все много используется объединение множества центральных процессоров в единую
систему, что позволяет добиться вычислительной мощности, достойной высшей лиги.…В зависимости от того, как именно происходит это объединение, а также каковы ресурсы общего пользования, эти системы называются параллельными компьютерами, мультикомпьютерами или многопроцессорными системами. Им требуются специальныеоперационные системы, в качестве которых часто применяются особые версии серверных операционных систем, оснащенные специальными функциями связи, сопряжения и синхронизации.
С недавним появлением многоядерных процессоров для персональных компьютеров операционные системы даже обычных настольных компьютеров и ноутбуков стали работать, по меньшей мере, с небольшой многопроцессорной системой.
Прошлоболее 50 лет с момента появления первых электронных вычислительных машин - компьютеров. За это время сфера их применения охватила практически все области человеческой деятельности. Сегодня невозможно представить себе эффективную организацию работы без применения компьютеров в таких областях, как планирование и управление производством, проектирование и разработка сложных технических устройств,издательская деятельность, образование - словом, во всех областях, где возникает необходимость в обработке больших объемов информации. Однако наиболее важным по-прежнему остается использование их в том направлении, для которого они собственно и создавались, а именно, для решения больших задач, требующих выполнения громадных объемов вычислений. Такие задачи возникли в середине прошлого века в связи сразвитием атомной энергетики, авиастроения, ракетно-космических технологий и ряда других областей науки и техники.
Потребность решения сложных прикладных задач с большим объемом вычислений и принципиальная ограниченность максимального быстродействия "классических" - по схеме фон Неймана - ЭВМ привели к появлению многопроцессорных вычислительных систем (МВС). Использование таких средств вычислительной техникипозволяет существенно увеличивать производительность ЭВМ при любом существующем уровне развития компьютерного оборудования. При этом, однако, необходимо "параллельное" обобщение традиционной - последовательной - технологии решения задач на ЭВМ. Так, численные методы в случае многопроцессорных систем должны проектироваться как системы параллельных и.

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

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

Потребность решения сложных прикладных задач с большим объемом вычислений и принципиальная ограниченность максимального быстродействия "классических" по схеме фон Неймана - ЭВМ привели к появлению многопроцессорных вычислительных систем (МВС). Использование таких средств вычислительной техники позволяет существенно увеличивать производительность ЭВМ при любом существующем уровне развития компьютерного оборудования.

Анализ технического задания

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

Вторым пунктом я выбрал Общие требования, предъявляемые многопроцессорным системам, т.к. необходимо знать все основные характеристики многопроцессорных систем.

Третьим пунктом я выбрал Классификацию систем параллельной обработки, потому как знание такой классификации упрощает работу с такими системами.

Четвертым пунктом я избрал Модели связи и архитектуру памяти, т.к. это дает общее представление о процессах происходящих на физическом уровне.

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

2 Многопроцессорные системы

2.1 Описание многопроцессорных систем

2.2 Общие требования, предъявляемые к многопроцессорным

Отношение стоимость / производительность. Появление любого нового направления в вычислительной технике определяется требованиями компьютерного рынка. Поэтому у разработчиков компьютеров нет одной единственной цели. Большая универсальная вычислительная машина (мейнфрейм) или суперкомпьютер стоят дорого. Для достижения поставленных целей при проектировании высокопроизводительных конструкций приходится игнорировать стоимостные характеристики. Суперкомпьютеры фирмы Cray Research и высокопроизводительные мейнфреймы компании IBM относятся именно к этой категории компьютеров. Другим крайним примером может служить низкостоимостная конструкция, где производительность принесена в жертву для достижения низкой стоимости. К этому направлению относятся персональные компьютеры различных клонов IBM PC. Между этими двумя крайними направлениями находятся конструкции, основанные на отношении стоимость/ производительность, в которых разработчики находят баланс между стоимостными параметрами и производительностью. Типичными примерами такого рода компьютеров являются миникомпьютеры и рабочие станции.

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

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

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

МП-системы нуждаются в значительно более высокой пропускной способности по сравнению с однопроцессорными. Требования возрастают пропорционально числу процессоров на шине памяти. Поэтому спецификация содержит рекомендации использовать кэши второго уровня, призванные снизить трафик по шине и реализующие следующие функции: стратегия обновления с обратной записью и протокол определения… Читать ещё >

  • операционные системы для многопроцессорных компьютеров

Основные компоненты. Операционные системы для многопроцессорных компьютеров ( реферат , курсовая , диплом , контрольная )

МП-спецификация определяет системную архитектуру на основе следующих компонентов аппаратуры: системные процессоры, контроллеры 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 потенциально огромное разнообразие аппаратных конфигураций уменьшается всего до нескольких вариантов, которые могут быть обработаны на начальной загрузочной фазе работы ОС.

Многопроцессорная система (МПС) – система, в которой команды на шине могут быть восприняты более чем от одного микропроцессора. Шиной управляют поочередно много процессоров.

Многопроцессорная система содержит несколько процессоров, рабо­тающих с общей оперативной памятью (общее поле оперативной памяти), и управляется одной общей опера­ционной системой (рис. 16). Часто в микропроцес­сорной системе организуется общее поле внешних запоми­нающих устройств (ВЗУ).


Рис. 16. Структура одно­уровневой многопроцессор­ной системы

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

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

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

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

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

Многопроцессорные системы могут быть однородными и неоднородными.

Однородные многопроцессорные системы – системы, содержащие однотипные процессоры.

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

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

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

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


Рис. 17. Иерархическая многопроцессорная система

5.2. Разделение и распределение памяти

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

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

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

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

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

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


Рис. 18. Многопроцессорная система с матричной архитектурой

Каждый из процессоров П1. Пm имеет доступ к любому модулю оперативной памяти ОЗУ1. ОЗУn. Последние работают параллельно и допускают n одно­временных обращений со стороны процессоров или устройств ввода-вывода. При обращении нескольких процессоров или устройств ввода-вывода к одному и тому же модулю памяти возникает конфликтная ситуация и коммута­тор обслуживает первым устройство с наивысшим при­оритетом.

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


Рис. 19. Многопроцессорная система с индивидуальной па­мятью

Каждый процессор П1. Пm обращается к своему модулю оперативной памяти ОЗУ1. ОЗУm. Однако для редкого обмена дан­ными между процессорами предусмотрены блоки обмена БО и вспомогательная общая оперативная память ОЗУ. Операции обмена инициируются процессорами.

На рис. 20 приведена схема многопроцессорной системы с индивидуальной памятью и одномодульной об­щей памятью данных. Такая система особенно эффектив­на для многопрограммной работы с коллективным исполь­зованием большого архива базовых данных. Устройство управления памятью регулирует возможные конфликты при одновременном обращении нескольких процессоров к общей одномодульной памяти данных.


Рис. 20. Многопроцессорная система с общей памятью данных

5.3. Способы коммутации

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

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

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


Рис. 21. Магистральная много­процессорная система

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

Многопроцессорная система с матричной структурой представлена на рис. 22. Каналы связи организованы по принципу близкодействия: жесткие связи между собой имеют только соседние процессоры, а между отдален­ными процессорами каналы связи отсутствуют. Обмен информацией между ними возможен только через цепочку процессоров.


Рис. 22. Матричная мно­гопроцессорная система

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


Рис. 23. Конвейерная многопроцессорная система

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

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

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

Имеются структуры многопроцессорных систем, в которых существует несколько потоков данных и несколько потоков команд.

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


Рис. 24. Организация обра­ботки данных в матричной системе

5.4. Организация вычислительного процесса

Организацию вычислений рассмотрим на примере вычисления быстрого преобразования Фурье (БПФ).

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

На рис. 25 показан граф, иллюстрирующий необходимую последо­вательность преобразований переменной х (в точках отсчета х0. х7) в коэффициенты дискретного ряда Фурье A0,…,A7.

Каждая вершина изображает переменную, а дуги исходят из тех вершин, которые вносят вклад в вершину, к которой направлена дуга. Все вклады аддитивны, и вес каждого вклада Wj = exp(-2jр/N) (где N – число точек отсчета анализируемой переменной) указан рядом с соответствующей дугой.

Из графа видно, что вычисление A7 = B3 + C3W7 можно одновремен­но выполнить на N процессорах (в данном случае на восьми). Процессор Рi в исходном состоянии получает на вход одно из значений х (в порядке, указанном на рис. 25) и в конце вычисления выдает значение Аi. Таким образом, горизонтальные пути на графе соответствуют обработке внутри процессора, а промежуточные вершины — промежуточным этапам вычисления. Остальные дуги графа определяют межпроцессорные обмены. На каждом этапе вычисления число обменов равно N. Результаты, полученные на любом этапе, нужны только для следующего этапа.


Рис. 25. Граф преобразования переменных хi в коэффициенты дискретного преобразования Фурье

Если на одном процессоре решение может быть получено за N·log2N шагов, то на N процессорах требуется в N раз меньше шагов.

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

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

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

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

5.5. Способы взаимодействия процессоров в системах

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

5.6. Применение сопроцессора х87 в машинах типа IBM PC

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

Сопроцессор 8087 для 8086/8088 подключается параллельно прак­тически ко всем интерфейсным сигналам центрального процессора. Отслеживая сигналы состояния процессора, сопроцессор вместе с ним просматривает и декодирует инструкции, “вылавливая” из них свои (по коду “Escape”). Если команда подра­зумевает обмен данными с памятью, процессор “помогает” сопроцессору в вычислении адреса, освобождая его от всех “хитростей” формирования физического адреса, принятых в 8086. После отработки всех циклов передачи процессор переходит к выполнению следующей инструкции, а сопроцессор начинает вычисления. Для сигнализации об исключительных ситуациях используется сигнал прерывания от сопроцессора INT. В IBM PC сигнал прерывания от сопро­цессора через логическую схему поступает на вход NMI процессора и вызывает немаски­руемое прерывание (вектор 2).

Сопроцессоры 80287 и 80387 с процессорами 80286 и 80386 обмениваются данны­ми через шинные циклы ввода/вывода, автоматически генерируемые процессором.

Процессоры 486 и выше могут иметь лишь встроенный сопроцессор, интерфейс с внешним сопроцессором у них не предусмотрен.

Читайте также: