Файл: Мультипроцессоры (Основы мультитредовой архитектуры).pdf

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

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

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

Добавлен: 30.03.2023

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

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

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

ВВЕДЕНИЕ

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

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

Мультипроцессор — это подкласс многопроцессорных компьютерных систем, где есть несколько процессоров и одно адресное пространство, видимое для всех процессоров. В таксономии Флинна мультипроцессоры относятся к классу SM-MIMD-машин. Мультипроцессор запускает одну копию ОС с одним набором таблиц, в том числе тех, которые следят какие страницы памяти свободны. По ролям, которые играют процессоры в мультипроцессорной системе, различают: симметричные мультипроцессоры (SMP) - все процессоры играют одинаковую роль и имеют одинаковый доступ к памяти и периферии, и асимметричные мультипроцессоры (AMP) - процессоры играют разные роли или по-разному обращаются к периферийным устройствам. Технология AMP была лишь переходной в 60-х годах до того момента, когда была отработана технология SMP.

По способу адресации памяти различают несколько типов мультипроцессоров, среди которых: UMA (Uniform Memory Access), NUMA (Non Uniform Memory Access) и COMA (Cache Only Memory Access).

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

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

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

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

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

  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 Мультипроцессорные компьютеры

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


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

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

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

  1. Принцип разомкнутого управления. Состоит в том, что программа управления жестко задана в задающем устройстве или внешним воздействием и управление не учитывает влияние возмущений на параметры процессов.
  2. Принцип компенсации. Применяется для нейтрализации известных возмущающих воздействий , если они могут искажать состояние объекта управления до недопустимых пределов.
  3. Принцип обратной связи. Управляющее воздействие корректируется в зависимости от выходной величины.

Виды систем управления:

  1. Системы стабилизации. Обеспечивают неизменное значение управляемой величины при всех видах возмущений.
  2. Программные системы. Изменение управляющего воздействия на основе заложенной программы.
  3. Следящие системы. Отличаются от программных тем, что программа заранее не известна. В качестве устройства управления выступает устройство, следящее за изменением какого-либо внешнего параметра.
  4. Самонастраивающиеся системы.
  5. Экстремальные системы. Системы, в которых выходная величина должна всегда принимать экстремальное значение из всех возможных.

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