Uploaded by I.m-pasha

задание 5!

advertisement
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
Министерство цифрового развития, связи и массовых коммуникаций
Российской Федерации
Ордена Трудового Красного Знамени федеральное государственное
бюджетное образовательное учреждение высшего образования
МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
СВЯЗИ И ИНФОРМАТИКИ
(МТУСИ)
Факультет "Радио и телевидение"
Кафедра "Радиотехнические системы"
УДК 004.02
ОТЧЕТ
по дисциплине "Введение в информационные технологии"
на тему:
"Однопроцессорные и многопроцессорные системы (системы, ЦП)"
Выполнил
Студент гр. БИК2308
_____________________А.А.Посаженников
Проверил
д–р техн. наук
_____________________К.Ю. Рюмшин
Москва 2023
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
РЕФЕРАТ
Отчёт 37 с., 17 рисунков.
Однопроцессорные и многопроцессорные системы.
Объектом
исследования
является
однопроцессорные,
а
также
многопроцессорные системы.
Цель
работы
–
понять,
что
такое
многопроцессорные системы и разобраться в них.
2
однопроцессорные
и
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
СОДЕРЖАНИЕ
РЕФЕРАТ ................................................................................................................. 2
ВВЕДЕНИЕ .............................................................................................................. 4
1 ОДНОПРОЦЕССОРНЫЕ СИСТЕМЫ ........................................................... 5
1.1
ОДНОПРОЦЕССОРНЫЕ СИСТЕМЫ ..................................................... 5
1.2 РАЗВИТИЕ И КЛАССИФИКАЦИЯ ОДНОПРОЦЕССОРНЫХ
АРХИТЕКТУР...................................................................................................... 7
1.3
КЛАССИФИКАЦИЯ АРХИТЕКТУРЫ SISD ......................................... 9
1.4 ОСНОВНЫЕ ХАРАКТЕРНЫЕ ЧЕРТЫ CISC-АРХИТЕКТУРЫ .......... 10
1.5
ОСНОВНЫЕ ХАРАКТЕРНЫЕ ЧЕРТЫ RISC....................................... 11
1.6 ОСНОВНЫЕ ЧЕРТЫ СУПЕРСКАЛЯРНОЙ ОБРАБОТКИ ................... 11
1.7 ОСНОВНЫЕ ЧЕРТЫ VLIW-архитектуры................................................ 11
1.8 КЛАССИФИКАЦИЯ СПОСОБОВ ОРГАНИЗАЦИИ SIMD .................. 12
1.9 КЛАССИФИКАЦИЯ МИКРО-ЭВМ ......................................................... 13
2
ОДНОПРОЦЕССОРНЫЕ АРХИТЕКТУРЫ ................................................ 15
3
МНОГОПРОЦЕССОРНЫЕ АРХИТЕКТУРЫ ............................................. 22
3.1 ОСОБЕННОСТИ МНОГОПРОЦЕССОРНЫХ СИСТЕМ ....................... 25
4
ВИДЫ АРХИТЕКТУРЫ МНОГОПРОЦЕССОРНЫХ СИСТЕМ .............. 29
4.1 УПРАВЛЕНИЕ ПАМЯТЬЮ....................................................................... 30
4.2 ПРЕИМУЩЕСТВА АРХИТЕКТУРЫ MIMD .......................................... 31
ЗАКЛЮЧЕНИЕ ..................................................................................................... 36
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ........................................... 37
3
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
ВВЕДЕНИЕ
Однопроцессорная система – это компьютерная система, в которой
присутствует только один центральный процессор (ЦП), отвечающий за
выполнение всех вычислительных задач.
Многопроцессорная система – это компьютерная система, в которой
присутствует более одного центрального процессора (ЦП), что позволяет
выполнять
несколько
задач
параллельно
и
увеличивает
общую
производительность системы.
Обе системы имеют свои преимущества и недостатки, и выбор между
ними зависит от конкретных требований к производительности и задач,
которые необходимо выполнить. Результатом выполнения должны стать:
1
отчёт,
2
презентация,
3
схемы созданных в графическом редакторе Microsoft Visio,
4
схема, созданная при помощи "Иллюстрации Word",
5
таблицы.
4
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
1
ОДНОПРОЦЕССОРНЫЕ СИСТЕМЫ
1.1
ОДНОПРОЦЕССОРНЫЕ СИСТЕМЫ
Однопроцессорная система определяется как компьютерная система,
имеющая единый центральный процессор, который используется для
выполнения компьютерных задач. Поскольку все больше и больше
современного
программного
обеспечения
многопроцессорные
архитектуры,
однопроцессорный
поэтому
такие
способно
как
используется
SMP
для
и
использовать
MPP,
термин
обозначения
класса
компьютеров, где все задачи обработки выполняются на одном процессоре.
Большинство настольных компьютеров поставляются с многопроцессорной
архитектурой с 2010-х годов.
Таким образом, в системах такого типа используется архитектура,
основанная на одном вычислительном блоке. Таким образом, все операции
(сложение, умножение и т.д.) выполняются на устройстве последовательно.
Рисунок 1 – Однопроцессорные системы
5
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
В архитектуре однопроцессорныx вычислительных систем (ВС) принято
различать следующие устройства:
1
устройства управления (УУ),
2
центральный процессор (ЦП),
3
память,
4
устройство ввода-вывода (В/В),
5
каналы обмена информацией.
Принцип работы однопроцессорной ВС состоит в последовательном
выполнении команд.
Главной задачей при создании алгоритма является представление
алгоритма
в
виде
последовательности
команд.
Основная
проблема
оптимизации сводится к минимизации числа операций и размера требуемой
памяти [1].
Рисунок 2 – Архитектура однопроцессорныx вычислительных систем
6
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
1.2
РАЗВИТИЕ
И
КЛАССИФИКАЦИЯ
ОДНОПРОЦЕССОРНЫХ АРХИТЕКТУР
Исторически первыми появились однопроцессорные архитектуры.
Классическим
примером
однопроцессорной
архитектуры
является
архитектура фон Неймана со строго последовательным выполнением команд:
процессор по очереди выбирает команды программы и также по очереди
обрабатывает данные.
По мере развития вычислительной техники архитектура фон Неймана
обогатилась
сначала
конвейером
команд
(рис.
1.2),
а
затем
многофункциональной обработкой и по классификации М. Флина получила
обобщенное название SISD (Single Instruction Single Data — один поток
команд, один поток данных) [4].
Рисунок 3 – Развитие и классификация однопроцессорных архитектур
7
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
Архитектуры класса SISD охватывают те уровни программного
параллелизма, которые связаны с одинарным потоком данных. Параллелизм
циклов и итераций тесно связан с понятием множественности потоков данных
и реализуется векторной обработкой. В классификации компьютерных
архитектур М. Флина выделена специальная группа однопроцессорных систем
с параллельной обработкой потоков данных – SIMD (Single Instruction Multiple
Data, один поток команд – множество потоков данных).Ведущие поставщики
микропроцессоров ищут пути повышения их производительности за счет
многопотоковой обработки информации на нескольких внутренних ядрах
процессора. Ярким примером является технология Hyper-Threading (HT),
разработанная фирмой Intel, и позволяющая на одном физическом процессоре
создавать два логических процессора, на которых могут выполняться
параллельно два программных потока (threads), использующих в один и тот же
момент времени разные блоки процессора [2].
8
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
1.3
КЛАССИФИКАЦИЯ АРХИТЕКТУРЫ SISD
Архитектура SISD породила целый ряд архитектур: CISC, RISC, VLIW,
архитектуру с суперскалярной обработкой и EPIC концепцию.
Рисунок 4 – Классификация архитектуры SISD
Компьютеры с CISC (Complex Instruction Set Computer) архитектурой
имеют комплексную (полную) систему команд, под управлением которой
выполняются всевозможные операции типа «память – память», «память –
регистр», «регистр – память», «регистр – регистр».
Компьютеры с RISC (Reduced Instruction Set Computer) архитектурой
содержат набор простых, часто употребляемых в программах команд.
Основными являются операции типа «регистр — регистр».
Суперскалярная обработка. Смысл этого термина заключается в том, что
в
аппаратуру
процессора
закладываются
средства,
позволяющие
одновременно выполнять две или более скалярные операции, т. е. команды
обработки
пары
чисел.
многофункциональном
Суперскалярная
параллелизме
9
архитектура
и
базируется
позволяет
на
увеличить
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
производительность компьютера пропорционально числу одновременно
выполняемых операций.
VLIW-архитектура связана с кардинальной перестройкой всего
процесса трансляции и исполнения программ. Уже на этапе подготовки
программы компилятор группирует несвязанные операции в пакеты,
содержимое
которых
Сформированные
строго
пакеты
соответствует
операций
структуре
преобразуются
процессора.
компилятором
в
командные слова, которые по сравнению с обычными инструкциями выглядят
очень большими. Отсюда и название этих суперкоманд и соответствующей им
архитектуры — VLIW
Концепция EPIC (Explicity Parallel Instruction Computing – вычисления с
явным параллелизмом команд, где «явным» означает явно указанным при
трансляции) разработана совместно фирмами Intel и Hewlett Packard и имеет
ту же значимость, что и CISC - и RISC-архитектуры.
1.4 ОСНОВНЫЕ ХАРАКТЕРНЫЕ ЧЕРТЫ CISC-АРХИТЕКТУРЫ
1
большое число команд (более 200),
2
переменная длина команд (от 1 до 13 байт),
3
значительное число способов адресации и форматов команд,
4
сложность команд и многотактность их выполнения,
5
наличие
микропрограммного
быстродействие и усложняет процессор.
10
управления,
что
снижает
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
1.5
ОСНОВНЫЕ ХАРАКТЕРНЫЕ ЧЕРТЫ RISC
1
сокращенное число команд,
2
большинство команд выполняется за один машинный такт,
3
постоянная длина команд,
4
небольшое количество способов адресации и форматов команд,
5
для простых команд нет необходимости в использовании
микропрограммного управления,
6
большое число регистров внутренней памяти процессора.
1.6 ОСНОВНЫЕ ЧЕРТЫ СУПЕРСКАЛЯРНОЙ ОБРАБОТКИ
1
базируется на многофункциональном параллелизме,
2
аппаратный механизм выборки команд из буфера инструкций,
3
динамический план вычислений,
4
относительная сложность аппаратной реализации.
1.7 ОСНОВНЫЕ ЧЕРТЫ VLIW-архитектуры
1
формирование пакетов операций,
2
высокий уровень параллелизма на уровне команд,
3
статический анализ программы и предварительное создание плана
вычислений,
4
нет необходимости создания сложных аппаратных устройств.
11
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
1.8 КЛАССИФИКАЦИЯ СПОСОБОВ ОРГАНИЗАЦИИ SIMD
Рисунок 5 – Классификация способов организации SIMD
Суть матричной структуры заключается в том, что имеется множество
процессорных элементов, исполняющих одну и ту же команду над
различными элементами матрицы, объединенных коммутатором.
В отличие от матричной, векторно-конвейерная структура компьютера
содержит конвейер операций, на котором обрабатываются параллельно
элементы векторов и полученные результаты последовательно записываются
в единую память [6].
Еще одним примером SIMD - архитектуры является технология MMX.
Она
разработана
для
ускорения
выполнения
мультимедийных
и
коммуникационных программ. В ММХ используются 4 новых типа данных и
57 новых инструкций. Команды ММХ выполняют одну и ту же функцию с
различными частями данных, например: 8 байт графических данных
передаются в процессор как одно упакованное 64-х разрядное число и
обрабатываются одной командой.
Следующим шагом по пути использования SIMD-архитектуры в
микропроцессорах фирмы Intel (Pentium III) явились потоковые SIMDрасширения (SSE), которые реализуют 70 новых SIMD-инструкций,
оперирующих со специальными 128-битными регистрами. Каждый из этих
регистров хранит 4 вещественных числа одинаковой точности. Таким образом,
12
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
выполняя операцию над двумя регистрами, SSE фактически оперирует
четырьмя парами чисел, т. е. благодаря этому процессор может выполнять до
четырех операций одновременно.
Несколько раньше то же самое (но в меньшем объеме) было сделано
фирмой AMD – расширение 3DNow!, которое было реализовано уже в
процессорах К6-2 с введением 21 новой инструкции, оперирующих с 64битными регистрами.
Процессор Pentium IV с ядром North Wood поддерживает расширенный
набор
SIMD-команд
под
кодовым
наименованием
SSE-2,
который
значительно расширяет версию набора SSE. Набор SSE-2 включает в себя 144
новые инструкции, специально ориентированные на обработку больших
входящих потоков данных. В процессоре Pentium 4 с ядром Prescott появилось
еще 13 новых инструкций набора SSE-3. Основной упор делается на то, что
многие
операции,
ранее
требовавшие
написания
целого
фрагмента
программы, теперь реализуются с помощью одной-двух инструкций SSE-2,
SSE-3.
1.9 КЛАССИФИКАЦИЯ МИКРО-ЭВМ
Серверы – компьютеры, выполняющие служебные функции в сети
(хранение файлов и обеспечение доступа к ним пользователей (клиентов),
маршрутизация потоков данных, управление печатью сетевого принтера,
обработка писем электронной почты, рассылка факсов и т. д.)
Рабочая станция – это однопользовательская система с мощным одним или
несколькими процессорами и многозадачной ОС, имеющая развитую графику
с высоким разрешением, большую дисковую и оперативную память и
встроенные сетевые средства.
Персональные компьютеры (ПК) – это однопользовательские микроЭВМ, удовлетворяющие требованиям общедоступности и универсальности
применения.
13
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
Встраиваемые
микро-ЭВМ
входят
составным
элементом
в
промышленные и транспортные системы, технические устройства и аппараты,
бытовые приборы. Они способствуют существенному повышению их
эффективности функционирования, улучшению технико-экономических и
эксплуатационных характеристик.
Рисунок 6 – Классификация микро-ЭВМ с краткой характеристикой классов
14
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
2
ОДНОПРОЦЕССОРНЫЕ АРХИТЕКТУРЫ
Данные системы предполагают выполнение только одного потока
команд и не рассчитаны на мультиплексирование (в смысле одновременного
выполнения нескольких процессов).
Классическим примером однопроцессорной архитектуры является
архитектура фон Неймана со строго последовательным выполнением команд
По мере развития вычислительной техники архитектура фон Неймана
обогатилась сначала конвейером фаз операций, затем многофункциональной
обработкой и получила название SISD. Оба вида средств низкоуровневого
параллелизма впервые были введены в компьютерах Control Data 6600 и 7700
в начале 70-х годов и с тех пор применяются во всех компьютерах
повышенного быстродействия. Конвейерная обработка используется даже в
микропроцессорах I486 и Pentium.
Развитие архитектуры микропроцессоров привело к появлению
архитектуры RISC (Reduced Instruction Set Computing – архитектуры
вычислений с сокращенным набором команд). До появления класса RISC все
машины ориентировались на выполнение команд обработки данных,
сохраняемых в памяти (операции память-память). Операции регистр-регистр,
не требующие непосредственного обмена с памятью, выполняли только
вспомогательную роль из-за ограниченного количества операционных
регистров.
15
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
Рисунок 7 – архитектура фон Неймана со строго последовательным
выполнением команд
Например, в системе IBM System/360 программист имел доступ только
к 16 регистрам с фиксированной точкой и 8 регистрам с плавающей точкой
одинарной точности (64 бита). Причина такого подхода к организации
обработки через оперативную память была связана с трудностью организации
в центральном процессоре регистровой памяти большого объема вследствие
малой степени интеграции элементной базы. Архитектура обработки с
использованием операций "память-память" и "регистр-регистр", а также
производных видов операций "регистр-память" широко распространена и в
настоящее время под названием CISC (Complete Instruction Set Computing архитектуры вычислений с полным набором команд), но обладает
существенным недостатком - обмен с памятью в процессе выполнения
команды делают практически невозможной глубокую конвейеризацию
арифметики, то есть ограничивается тактовая частота процессора, а значит, и
его производительность.
Дело в том, что чем мельче фаза дробления конвейерной обработки, тем
выше частота работы процессора. Но "длина конвейера", или количество
элементарных фаз в его составе, не может быть слишком большой, так как
мало сделать частоту его работы максимальной, надо обеспечить также
максимальную загрузку конвейера.
В идеальном случае арифметика должна формировать один результат за
такт, а для этого количество запущенных на исполнение (и естественно,
параллельных) операций должно быть не меньше количества фаз конвейера.
16
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
Количество параллельных операций в большинстве программ не так уж
велико: линейные участки программ редко содержат более 3...5 параллельных
операций. поэтому добавление в арифметический конвейер длинной цепочки
доступа к оперативной памяти приведет к низкой эффективности его
функционирования.
Примером может служить суперкомпьютер CDC CYBER-205, который
при максимальной производительности 400 MFLOPS (400 миллионов
операций с плавающей запятой) на большинстве приложений демонстрировал
около 50 MFLOPS.
Компьютеры с архитектурой RISC имеют глубокую конвейеризацию и
исключение команд обработки формата "память-память" и должны иметь
преимущества в производительности по сравнению с CISC компьютерами, но
в программах необходимо иметь дополнительные команды обмена регистров
процессора с оперативной памятью. В связи с этим, RISC-компьютеры лучше
использовать в приложениях, в которых над каждой единицей данных
производится большой объем вычислительной работы: инженерные и
научные расчеты и т.д. Развитие программных средств позволяет их
эффективно использовать и в области файловой обработки.
Развитие архитектура SISD привело к машинам с суперскалярной
обработкой. Этот термин означает возможность аппаратуры процессора
одновременно выполнять две или более скалярные операции, то есть команды
обработки
пары
чисел.
многофункциональном
Суперскалярная
параллелизме
обработка
и
базируется
позволяет
на
увеличить
производительность компьютера пропорционально числу одновременно
выполняемых операций. Существует несколько способов реализации
суперскалярной обработки. Первый способ чаще всего применяется в RISCпроцессорах и заключается в чисто аппаратном механизме выборки из буфера
инструкций (или кэша инструкций) несвязанных команд и параллельном
запуске их на исполнение. Обычно процессор выполняет две несвязанные
команды одновременно, например, в процессорах Alpha фирмы DEC. В этом
17
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
случае ответственность за параллельное выполнение операций возлагается в
основном на аппаратные средства.
Второй способ реализации суперскалярной обработки заключается в
перестройке процесса трансляции и исполнения программ. Уже на этапе
подготовки программы компилятор группирует несвязанные операции в
пакеты, содержимое которых строго соответствует структуре процессора.
Например, если процессор содержит функционально независимые
устройства сложения, умножения, сдвига и деления, то максимум, что
компилятор сможет "уложить" в один пакет - это четыре разнотипные
операции: сложение, умножение, сдвиг и деление. Сформированные пакеты
операций преобразуются компилятором в командные слова, которые гораздо
длиннее обычных. Эти команды и соответствующие им архитектуры носят
название VLIW (Very Lange Insruction Word - очень широкое командное
слово).
Затраты на формирование суперкоманд должны окупаться скоростью их
выполнения и простотой аппаратуры микропроцессора, с которого снята
работа по поиску параллелизма несвязанных операций. Однако практическое
внедрение
VLIW-архитектуры
затрудняется
большими
проблемами
эффективной компиляции. Наибольших успехов в этих работах достигли
разработчики из SPARC-центра под руководством академика Б. Бабаяна
(создатель машин типа "Эльбрус").
Из всех типов параллелизма операций архитектура класса SISD не
охватывает только один класс - параллелизм циклов и итераций, который
тесно связан с понятием множественности потоков данных и реализуется
векторной обработкой. Поэтому в классификации компьютерных архитектур
выделяют специальную группу однопроцессорных систем с параллельной
обработкой потоков данных - SIMD (Single Instruction Multiple Data, один
поток команд - множество потоков данных).
Первой машиной этой архитектуры стала векторная суперЭВМ с
матричной структурой ILLIAC IV. По проекту система должна была состоять
18
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
из 4 квадрантов. каждый из которых включал в себя 64 процессорных элемента
(ПЭ) и 64 модуля памяти, объединенных коммутатором на базе сети типа
гиперкуб (рис.30.4). Все ПЭ квадранта обрабатывают одну векторную
инструкцию, которую им направляет процессор команд, причем каждый ПЭ
выполняет одну элементарную операцию вектора, данные для которой
сохраняются в связанном с этим ПЭ модуле памяти.
Наиболее перспективным в настоящее время считается использование
средств идентификации пользователя по биометрическим признакам:
отпечатку пальца, рисунку радужной оболочки глаз, отпечатку ладони. Эти
методы обладают достаточно высокой надежностью и не требуют от
пользователя запоминания сложных паролей или заботы о сохранности
аппаратного идентификатора.
В процессе обеспечения информационной безопасности особое
внимание уделяется протоколированию и аудиту информации.
Протоколирование – это сбор и накопление информации о событиях,
происходящих в информационно-вычислительной системе.
У каждой программы есть свой набор возможных событий, которые
можно классифицировать на внешние (вызванные действиями других
программ или оборудования), внутренние (вызванные действиями самой
программы)
и
клиентские
(вызванные
действиями
администраторов).
Рисунок 8 – Сеть гиперкуб
19
пользователей
и
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
ILLIAC IV не был доведен до полной конфигурации из 256 ПЭ и
практическая реализация системы была ограничена одним квадрантом.
Причинами этого явились не столько технические трудности в наращивании
числа процессоров, сколько проблемы в программировании обмена данными
между процессорными элементами через коммутатор модуле памяти. Все
попытки решить эту проблему с помощью системных программных средств
не
удались,
и
в
результате
каждая
задача
требовала
ручного
программирования передач коммутатора.
В дальнейшем по мере освоения средств скоростной обработки данных
разрыв между совершенствованием методов векторизации программ, то есть
методов автоматического преобразования последовательных языковых
конструкций в векторную форму в процессе компиляции, и сложностью
программирования коммутации и распределения данных между ПЭ привел к
ограниченному использованию матричных суперЭВМ.
Положительное решение проблемы привело к созданию векторноконвейерного принципа обработки данных в конце 60-х годов (ЭВМ STAR100 фирмы ControlDataCorp.). Отличие векторно-конвейерной архитектуры от
архитектуры матричных ЭВМ заключается в том, что вместо множества
процессорных элементов, исполняющих одну и ту же команду над разными
элементами векторов, применяется единственный конвейер операций,
имеющий всего один вход, по которому поступают операнды, и один выход
результата, тогда как в матричных системах существует множество входов по
данным в процессорные элементы и множество выходов из них. Другими
словами, в супер-ЭВМ с конвейерной обработкой данные всех параллельно
выполняемых операций выбираются и записываются в единую память, и
отпадает необходимость в коммутаторе процессорных элементов, служивших
камнем преткновения в матричных ЭВМ.
Именно эта особенность векторно-конвейерных ЭВМ обеспечивает
простоту программирования и определила их широкое применение.
20
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
Современные суперЭВМ используют и суперскалярную обработку, и
многофункциональную векторную обработку, и принципы RISC-архитектуры,
и даже VLIW-архитектуры (например, российский проект суперЭВМ
"Эльбрус-3"). Более мощные суперЭВМ являются многопроцессорными
системами.
Рисунок 9 – Процессорные элементы и множество выходов
Устройства ввода-вывода связаны с системой посредством портов,
которые представляют собой регистры или их совокупности.
Многие
устройства
ввода-вывода
работают
под
управлением
специального устройства – контроллера (адаптера). Например, выводом
информации на монитор управляет видеоадаптер. Вводом информации с
клавиатуры управляет контроллер клавиатуры. В таких случаях порты вводавывода находятся в соответствующих контроллерах.
Контроллеры устройств ввода-вывода помимо регистров могут иметь в
своем составе память, которая может занимать часть адресного пространства
процессора. Регистры устройств ввода-вывода также могут отображаться на
основное адресное пространство.
21
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
3
МНОГОПРОЦЕССОРНЫЕ АРХИТЕКТУРЫ
Многопроцессорные системы могут быть представлены двумя базовыми
типами архитектуры в зависимости от параллелизма данных – MISD (Multiple
Instruction Single Data - множество потоков команд – один поток данных) и
MIMD- (Multiple Instruction Multiple Data – множество потоков команд,
множество потоков данных) [3].
Класс MISD долгое время пустовал, т.к. не было примеров реализации
систем, в которых одни и те же данные обрабатываются большим числом
параллельных процессов. Реально этот класс может быть представлен
распределенной мультипроцессорной системой с общими данными. Наиболее
простая и распространенная система этого класса – обычная локальная сеть
персональных компьютеров, работающая с единой базой данных, когда много
процессоров обрабатывают один поток данных. Но тут есть одна тонкость: как
только в такой сети все пользователи переключаются на обработку
собственных данных, недоступных для других абонентов сети, MISD-система
превращается в систему с множеством потоков команд и множеством потоков
данных, соответствующую MIMD-архитектуре.
Такой результат вытекает из понятия "много потоков команд много
потоков данных". Из всех рассмотренных архитектурных классов только
MIMD-архитектура включает все уровни параллелизма от конвейера операций
до независимых заданий и программ. Поэтому любая вычислительная система
этого класса в частных приложениях может выступать как SISD- или SIMDсистема. Например, если многопроцессорный комплекс выполняет однуединственную программу без каких-либо признаков векторного параллелизма
данных, то он в этом конкретном случае функционирует как обычный SISDкомпьютер, и весь его потенциал остается невостребованным.
22
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
Рисунок 10 – Многопроцессорная архитектура
Поэтому употребляя термин "MIMD", надо иметь в виду не только много
процессоров, но и множество вычислительных процессов, одновременно
выполняемых в системе.
Таким
образом,
многопроцессорная
система.
под
MIMD-архитектурой
MIMD-системы
понимается
классифицируются
по
различным признакам.
Во-первых, по способу взаимодействия процессоров. Системы с сильной
связью (иногда их называют "истинными" мультипроцессорными) основаны
на объединении процессоров на общем поле памяти. Системы с слабой связью,
как правило, представляются многомашинными комплексами, в которых
отдельные компьютеры объединяются с помощью сетевых средств, либо с
помощью общей внешней памяти (обычно дисковые накопители большой
емкости). Разница MIMD-систем с сильной и слабой связью проявляется при
обработке приложений, отличающихся интенсивностью обмена между
процессами.
23
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
Рисунок 11 – Взаимодействие процессоров
Слабосвязанные процессы время от времени обмениваются небольшими
блоками данных, т.е. не предъявляют серьезных требований к пропускной
способности межпроцессорных связей. Теоретически наиболее удачным
архитектурным решением, специализирующимся на обработке подобных
процессов, являются системы с массовым параллелизмом (MPP Mass-Parallel
Processing), системы, состоящие из десятков, сотен, тысяч процессорных
узлов. Каждый такой узел содержит процессор и модуль памяти, в котором
хранится процесс - совокупность команд, исходных и промежуточных данных
вычислений, а также системные идентификаторы процесса. Узлы массовопараллельной системы объединяются коммуникационными сетями самой
различной формы: от простейшей решетки до гиперкуба или трехмерного
тора.
В отличие от архитектуры фон Неймана, передача данных между узлами
коммуникационной сети происходит по готовности данных процесса, а не под
управлением некоторой программы. Поэтому такие системы еще называют:
"системы с управлением потоком данных" (иногда просто "потоковые
машины") и "системы с архитектурой, отличной от архитектуры фон
Неймана". Создание массово-параллельных систем позволяет достичь
гигантской производительности, но при этом требуется решить задачу
программирования
коммутаций
процессов,
24
которая
пока
слабо
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
автоматизирована и является очень сложной процедурой, что не позволяет
применять такие системы для коммерческих задач и большинства инженерных
приложений.
Для многопроцессорной организации компактных серверов была
предложена
архитектура
мультипроцессирование
SMP
с
(Shared-Memory
разделением
памяти),
multiProcessing
–
предполагающая
объединение процессоров на общей шине оперативной памяти. За аппаратную
простоту реализации средств SMP приходится расплачиваться процессорным
временем ожидания в очереди к шине оперативной памяти, но в большинстве
случаев пользователи готовы добавить в сервер один или более процессоров
(но редко больше 4-х) в надежде увеличить производительность системы.
Стоимость этой операции мала по сравнению со стоимостью самого сервера,
а результат чаще всего оправдывает ожидания пользователя. Данная
архитектура
стала
стандартом
"де-факто"
для
всех
современных
микропроцессорных серверов, например Hewlett-Packard HP/9000 или DEC
AlphaServer AXP. Будущее систем данной архитектуры связано с ростом
пропускной способности системных шин.
3.1 ОСОБЕННОСТИ МНОГОПРОЦЕССОРНЫХ СИСТЕМ
Если строго следовать принципу фон Неймана, то вторая операция
может быть запущена на исполнение только после завершения первой
операции. Однако очевидно, что порядок выполнения этих команд не имеет
никакого значения - операнды А, В и С первой команды никак не связаны с
операндами D, Е и F второй команды. Другими словами, обе операции
являются параллельными именно потому, что операнды этих команд не
связаны между собой.
Можно привести множество примеров последовательности из трех и
более команд с несвязанными данными, которые приведут к однозначному
25
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
выводу: практически любая программа содержит группы операций над
параллельными данными. Потребность решения сложных прикладных задач с
большим
объемом
вычислений
и
принципиальная
ограниченность
максимального быстродействия "классических" - по схеме фон Неймана ЭВМ привели к появлению многопроцессорных вычислительных систем
(МВС).
Каждый ЦП функционирует независимо от других, но все они работают
с одним и тем же ядром операционной системы.
Рисунок 12 – Многопроцессорная конфигурация
Любая вычислительная система (будь то супер-ЭВМ или персональный
компьютер) достигает своей наивысшей производительности благодаря
использованию высокоскоростных элементов и параллельному выполнению
большого числа операций. Именно возможность параллельной работы
различных устройств системы (работы с перекрытием) является основой
ускорения основных операций.
Архитектура с одним потоком команд и несколькими потоками данных
(SIMD)– архитектура компьютеров, состоящих из нескольких процессорных
элементов, одновременно выполняющих одни и те же инструкции над
различными элементами данных; к этой архитектуре относятся векторные и
матричные процессоры. Архитектура с множеством потоков команд и данных
(MIMD) – архитектура компьютеров, состоящая из множества полноценных
процессоров, каждый из которых выполняет свою последовательность
26
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
инструкций над своим потоком данных; это полноценная параллельная
архитектура настоящих многопроцессорных систем
При
построении
многопроцессорной
архитектуры
может
использоваться одна из нескольких концептуальных моделей соединения
вычислительных элементов
Рисунок 13 – Симметричная и асимметричная многопроцессорные системы
Память симметрична, если все процессоры совместно используют общее
пространство памяти и имеют в этом пространстве доступ с одними и теми же
адресами. Симметричность памяти предполагает, что все процессоры могут
исполнять единственную копию ОС.
Требование симметричности ввода-вывода выполняется, если все
процессоры имеют возможность доступа к одним и тем же подсистемам вводавывода, причем любой процессор может получить прерывание от любого
источника. Какой процессор играет роль загрузочного, определяется
аппаратными средствами или совместно аппаратурой и BIOS.
Это сделано для удобства и имеет значение только во время
инициализации и выключения. BSP-процессор отвечает за инициализацию
системы и за загрузку ОС. AP-процессор активизируется после загрузки ОС.
27
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
МП-системы нуждаются в высокой пропускной способности по сравнению с
однопроцессорными.
Требования
возрастают
пропорционально
числу
процессоров на шине памяти.
Симметричная многопроцессорность включает в себя несколько
процессоров, совместно использующих одну память и периферийные ресурсы,
тогда как асимметричная многопроцессорность назначает отдельные задачи
отдельным процессорам.
При симметричной многопроцессорной обработке задачи равномерно
распределяются между процессорами, что приводит к более эффективному
использованию ресурсов, тогда как асимметричная многопроцессорная
обработка может привести к недоиспользованию процессоров.
Асимметричная многопроцессорная обработка обеспечивает лучшую
изоляцию сбоев, поскольку сбой в одном процессоре напрямую не влияет на
другой.
Главный процессор в асимметричной многопроцессорной системе
управляет всеми задачами, такими как структура данных и планирование задач
для других процессоров. Если главный процессор выходит из строя, любой из
подчиненных процессоров принимает себя в качестве главного процессора и
управляет выполнением процессора. С другой стороны, если какой-либо из
подчиненных процессоров выходит из строя, другой подчиненный процессор
берет на себя его задачи.
Любые процессоры, работающие в асимметричной многопроцессорной
системе, не могут инициировать какой-либо процесс. Он может выполнять
только
задачи,
симметричной
назначенные
ему
многопроцессорной
главным
процессором.
системой
упрощается
Работа
с
благодаря
взаимосвязи ведущий-подчиненный. Входящий и исходящий сетевой трафик
в асимметричных сетях проходит по нескольким маршрутам
28
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
4
ВИДЫ АРХИТЕКТУРЫ МНОГОПРОЦЕССОРНЫХ СИСТЕМ
Выделяется четыре систем параллельной обработки [5], представленных в таблице 1:
Номер Название
Свойство
1 Конвейерная и векторная обработка.
Векторные операции обеспечивают идеальную возможность
полной загрузки вычислительного конвейера.
2 Машины типа SIMD
Все процессорные элементы в такой машине выполняют одну и
ту же программу.
3 Машины типа MIMD
Сеть обмена связывает процессорные элементы друг с другом
Многопроцессорные машины с SIMD4 процессорами
В пределах каждой задачи компилятор автоматически
векторизует подходящие циклы.
Таблица 1 – системы параллельной обработки
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
4.1 УПРАВЛЕНИЕ ПАМЯТЬЮ
Это различие является важнейшим фактором, определяющим способы
параллельного программирования и, соответственно, структуру программного
обеспечения.
Системы с общей памятью: к системам этого типа относятся
компьютеры с SMP архитектурой и мультипроцессорные векторноконвейерные компьютеры.
Характерным словом для этих компьютеров является "единый":
единая оперативная память, единая операционная система, единая подсистема
ввода-вывода. Только процессоры образуют множество. Единая UNIX
подобная операционная система, управляющая работой всего компьютера,
функционирует в виде множества процессов. Каждая пользовательская
программа также запускается как отдельный процесс. Операционная система
сама каким-то образом распределяет процессы по процессорам.
Для распараллеливания программ используется механизм порождения
нитей – легковесных процессов, для которых не создается отдельного
адресного пространства, но которые на многопроцессорных системах также
распределяются по процессорам.
Системы с распределенной памятью: в системах этого типа на каждом
вычислительном узле функционируют собственные копии операционной
системы, под управлением которых выполняются независимые программы.
Это могут быть как действительно независимые программы, так и
параллельные ветви одной программы. В этом случае единственно возможным
механизмом взаимодействия между ними является механизм передачи
сообщений. Наиболее популярными операционными системами для данной
архитектуры являются операционные системы семейства UNIX, а именно
чаще всего используется LINUX
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
4.2 ПРЕИМУЩЕСТВА АРХИТЕКТУРЫ MIMD
Многопроцессорные системы за годы развития вычислительной техники
претерпели ряд этапов своего развития. Исторически первой стала осваиваться
технология SIMD. Однако в настоящее время наметился устойчивый интерес
к архитектурам MIMD.
Этот интерес главным образом определяется двумя факторами:
1
Архитектура MIMD дает большую гибкость: при наличии
адекватной поддержки со стороны аппаратных средств и программного
обеспечения MIMD может работать как однопользовательская система,
обеспечивая
высокопроизводительную
обработку
данных
для
одной
прикладной задачи, как многопрограммная машина, выполняющая множество
задач параллельно, и как некоторая комбинация этих возможностей.
Рисунок 14 – Распределение основной памяти
2
Архитектура MIMD может использовать все преимущества
современной микропроцессорной технологии на основе строгого учета
соотношения
стоимость/производительность.
В
действительности
практически все современные многопроцессорные системы строятся на тех же
микропроцессорах, которые можно найти в персональных компьютерах,
рабочих станциях и небольших однопроцессорных серверах.
31
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
Одной
из
отличительных
особенностей
многопроцессорной
вычислительной системы является сеть обмена, с помощью которой
процессоры соединяются друг с другом или с памятью. Модель обмена
настолько важна для многопроцессорной системы, что многие характеристики
производительности и другие оценки выражаются отношением времени
обработки к времени обмена, соответствующим решаемым задачам.
Для того чтобы поддерживать большое количество процессоров
приходится распределять основную память между ними, в противном случае
полосы пропускания памяти просто может не хватить для удовлетворения
запросов, поступающих от очень большого числа процессоров. При таком
подходе также требуется реализовать связь процессоров между собой.
Рисунок 15 – Архитектура MIMD
Следует отметить, что МПВС в аппаратном плане значительно более
сложны чем ММВС. При этом основная функция по организации
вычислительного процесса возлагается на ОС, что значительно осложняет ее
построение.
32
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
Однако, несмотря на все трудности, связанные с аппаратной и
программной реализацией, МПВС получают все большее распространение,
так как обладают рядом достоинств, основные из которых:
1
высокая надежность и готовность за счет резервирования и
возможности реконфигурации,
Рисунок 16 – Структура МВПС с общей шиной
2
высокая производительность за счет возможности гибкой
организации параллельной обработки информации и более полной загрузки
всего оборудования,
3
высокая экономическая эффективность за счет повышения
коэффициента использования оборудования комплекса.
Существует три типа структурной организации МПВС: с общей шиной;
с перекрестной коммутацией; с многовходовыми ОЗУ.
Рисунок 17 – Структура МВПС с перекрестной коммутацией
В МПВС с общей шиной проблема связей всех устройств между собой
решается крайне просто: все они соединяются общей шиной, по которым
передаются информация, адреса и сигналы управления Интерфейс является
односвязным, т. е. обмен информацией в любой момент времени может
происходить только между двумя устройствами. Если потребность в обмене
33
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
существует более чем у двух устройств, то возникает конфликтная ситуация,
которая разрешается с помощью системы приоритетов и организации
очередей в соответствии с этим. Обычно функции арбитра выполняет либо
процессор, либо специальное устройство, которое регистрирует все
обращения к общей шине и распределяет шину во времени между всеми
устройствами комплекса
34
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
Виды и разновидности кода представлены в таблице 2
Таблица 2 – Виды и разновидности кода
Номер
Название
1
МПВС с общей шиной
2
МПВС с перекрестной
коммутацией
3
МПВС с многовходовым ОЗУ
Описание
Интерфейс является односвязным, т. е. обмен
информацией в любой момент времени может
происходить только между двумя устройствами. Если
потребность в обмене существует более чем у двух
устройств, то возникает конфликтная ситуация, которая
разрешается с помощью системы приоритетов и
организации очередей в соответствии с этим.
Все связи между устройствами осуществляются с
помощью коммутационной матрицы. Коммутационная
матрица (КМ) позволяет связывать друг с другом любую
пару устройств, причем таких пар может быть сколько
угодно: связи не зависят друг от друга.
ОЗУ имеют число входов, равное числу устройств,
которые к ним подключаются.
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
ЗАКЛЮЧЕНИЕ
Таким образом, однопроцессорные и многопроцессорные системы
обладают своими уникальными характеристиками и преимуществами.
Однопроцессорные системы просты в управлении и эффективны для
выполнения последовательных задач. Однако они имеют ограниченную
производительность и не способны эффективно обрабатывать большие
объемы данных или выполнить несколько независимых задач одновременно.
Многопроцессорные системы, с другой стороны, обеспечивают
высокую производительность, распределение задач между процессорами и
эффективную обработку параллельных задач. Однако они более сложны в
управлении, требуют специальных алгоритмов планирования и ресурсов для
обеспечения согласованности данных.
В зависимости от конкретных требований и задач, выбор между
однопроцессорной и многопроцессорной системой должен основываться на
балансе между производительностью, эффективностью и сложностью
управления. В будущем, с ростом требований к мощности вычислений и
обработке больших данных, многопроцессорные системы, скорее всего,
станут более распространенными и предпочтительными для многих
приложений, помогая достичь лучшей производительности и эффективности
работы.
09.10.2023, БИК2308(17), Word6.docx, Посаженников Артём Александрович
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1
Однопроцессорные
системы.
[Электронный
ресурс].
URL:
https://translated.turbopages.org/proxy_u/en-ru (дата обращения: 09.10.2023).
2
Развитие
и
классификация
однопроцессорных
архитектур.
[Электронный ресурс]. URL: https://www.tutorialspoint.com/Single-ProcessorSystems (дата обращения: 09.10.2023).
3
Многопроцессорные системы. [Электронный ресурс]. URL:
https://studbooks.net/2204512/informatika/arhitektura_vychislitelnyh_sistem (дата
обращения: 09.10.2023).
4
Развитие и классификация многопроцессорных архитектур.
[Электронный ресурс]. URL: https://pandia.ru/text/78/285/15144.php (дата
обращения: 09.10.2023).
5
Виды многопроцессорных архитектур . [Электронный ресурс].
URL: https://studfile.net/preview/600336/page:37/ (дата обращения: 09.10.2023).
6
Классификации однопроцессорных архитектур . [Электронный
ресурс]. URL: https://studfile.net/preview/16566587/page:18/ (дата обращения:
09.10.2023).
37
Download