Учебники

Архитектура системы и памяти

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

Архитектуры компьютерных систем, поддерживающие параллелизм

Майкл Флинн в 1972 году дал таксономию для классификации различных стилей архитектуры компьютерной системы. Эта таксономия определяет четыре различных стиля следующим образом:

  • Один поток команд, один поток данных (SISD)
  • Один поток инструкций, несколько потоков данных (SIMD)
  • Поток с несколькими инструкциями, один поток данных (MISD)
  • Многократный поток команд, многократный поток данных (MIMD).

Один поток команд, один поток данных (SISD)

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

SSID

Преимущества СИСД

Преимущества архитектуры SISD следующие:

  • Это требует меньше энергии.
  • Нет проблем со сложным протоколом связи между несколькими ядрами.

Недостатки СИСД

Недостатки архитектуры SISD следующие:

  • Скорость архитектуры SISD ограничена, как и у одноядерных процессоров.
  • Это не подходит для больших приложений.

Один поток инструкций, несколько потоков данных (SIMD)

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

SIMD

Лучший пример для SIMD — это видеокарты. Эти карты имеют сотни отдельных процессоров. Если говорить о разнице в вычислениях между SISD и SIMD, то для массивов добавления [5, 15, 20] и [15, 25, 10] архитектура SISD должна будет выполнить три различные операции добавления. С другой стороны, с архитектурой SIMD, мы можем добавить одну операцию добавления.

Преимущества SIMD

Преимущества SIMD-архитектуры следующие:

  • Одна и та же операция над несколькими элементами может быть выполнена с использованием только одной инструкции.

  • Пропускная способность системы может быть увеличена за счет увеличения количества ядер процессора.

  • Скорость обработки выше, чем у архитектуры SISD.

Одна и та же операция над несколькими элементами может быть выполнена с использованием только одной инструкции.

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

Скорость обработки выше, чем у архитектуры SISD.

Недостатки SIMD

Недостатки SIMD-архитектуры следующие:

  • Существует сложная связь между числами ядер процессора.
  • Стоимость выше, чем у архитектуры SISD.

Поток нескольких данных с одной инструкцией (MISD)

Системы с потоком MISD имеют количество блоков обработки, выполняющих разные операции, выполняя разные инструкции для одного и того же набора данных. Ниже приводится архитектура MISD —

MISD

Представители архитектуры MISD еще не существуют коммерчески.

Поток нескольких данных с несколькими командами (MIMD)

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

MIMD

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

Архитектуры памяти, поддерживающие параллелизм

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

UMA (унифицированный доступ к памяти)

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

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

UMA

Неоднородный доступ к памяти (NUMA)

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

NUMA

Архитектура кэш-памяти только (COMA)

Модель COMA является специализированной версией модели NUMA. Здесь все распределенные основные памяти преобразуются в кэш-память.