Файл: МУЛЬТИПРОЦЕССОРЫ (подробно).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 06.04.2023

Просмотров: 45

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

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

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

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

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

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


Возникла коммерческая потребность в более совершенных картах для запуска все более реалистичных игр на ПК и в системах видеоигр.IBM разрабатывает многопроцессорный микрочип, известный как Cell Broadband Engine, для использования в Sony Computer Entertainment PlayStation 3 и новый суперкомпьютер , включающий в себя тысячи микрочипов.В связи с большой скоростью развития вычислительной техники и информационных систем в настоящее время, мультипроцессоры занимают одну из главных ролей в развитие сферы. Поэтому тема данной работы является актуальной в настоящее время.

Объект исследования – мультипроцессоры.

Предмет исследование – процесс использование мультипроцессоров в современном мире.

Цель данной работы – рассмотрение важности мультипроцессоров в современном мире.

Для достижения поставленной цели будут решены следующие задачи:

1)будет рассмотрена теоретическая сущность мультипроцессоров.

2) будут рассмотрены примеры использования мультипроцессоров в современном мире.

1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ МУЛЬТИПРОЦЕССОРОВ

1.1 Сущность Мультипроцессоров

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

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

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

Рис. 1. Виды систем

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


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

Рис. 2. Мультипроцессор с одной шиной и одной общей памятью (а); мультипроцессор,в котором для каждого процессора имеется собственная локальная память (б)

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

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

В мультипроцессорных системах, содержащих кэши данных, после чтения данных из общей памяти одним из процессоров эти данные могут быть скопированы в какой-либо из кэшей, и последующие обращения за ними могут происходить уже к кэшу, а не к общей основной памяти. Если затем другие процессоры изменяют эти данные в общей памяти, то копия, хранящаяся в кэше, становится некорректной. Этой проблемы не возникает, если кэш служит для размещения только команд, как в MC68020, но при этом теряются преимущества кэш-памяти, связанные с возможностью многократного чтения данных из буферов. Идентичность содержимого кэша и общей памяти в системе Z80000 обеспечивается за счет ограничений, накладываемых на общую память, и предотвращения считывания в кэш емкостью 1К байт каждая.


В мультипроцессорных системах  часто требуется синхронизация центральных процессоров.

В настоящих мультипроцессорных системах  (система HIS 645, мультипроцессорная система IBM 360 / M65) непосредственно взаимосвязанные процессоры обладают примерно одинаковой вычислительной мощностью. Ни один из них не является главным, ни один подчиненным. Некоторые устройства могут быть подсоединены к одному ЦП.

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

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

Как строятся  мультипроцессорные системы  с индивидуальной памятью.

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

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

В одних мультипроцессорных системах  только определенные процессоры имеют доступ к устройствам ввода-вывода и, следовательно, имеют специальную функцию ввода-вывода.

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

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

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

Способ связи между ядрами:

  • разделяемая шина
  • сеть (Mesh) на каналах точка-точка
  • сеть с коммутатором
  • общая кеш-память

Кеш-память: Во всех существующих на сегодня многоядерных процессорах кеш-памятью 1-го уровня обладает каждое ядро в отдельности, а кеш-память 2-го уровня существует в нескольких вариантах:


  • разделяемая — расположена на одном кристалле с ядрами и доступна каждому из них в полном объёме. Используется в процессорах семейств Intel Core.
  • индивидуальная — отдельные кеши равного объёма, интегрированные в каждое из ядер. Обмен данными из кешей 2-го уровня между ядрами осуществляется через контроллер памяти — интегрированный (Athlon 64 X2, Turion X2, Phenom) или внешний (использовался вPentium D, в дальнейшем Intel отказалась от такого подхода).

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

1.2 Мультипроцессорные компьютеры

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

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

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

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