425.42K
Категория: ИнформатикаИнформатика

Способы построения и классификация вычислительных систем

1.

Способы построения и
классификация
вычислительных систем
Автор курса лекций:
кандидат технических наук, доцент
доцент кафедры информатики
Извозчикова Вера Васильевна

2.

1 Классификация ВС по М. Флинну
2 Принципы организации параллельной обработки
информации
3 Простейшая организация конвейера и оценка его
производительности

3.

Для данной классификации введем понятие множественности потоков
команд и данных, под которым будем понимать наличие в системе нескольких
последовательностей команд, находящихся в стадии реализации или нескольких
последовательностей данных, которые подвергаются обработке командами.
Исходя из возможности существования одиночных и множественных потоков
все системы могут быть разбиты на четыре класса:
1) системы с одиночным потоком команд и одиночным потоком данных
(ОКОД, SISD);
2) системы с множественным потоком команд и одиночным потоком данных
(МКОД, MISD);
3) системы с одиночным потоком команд и множественным потоком данных
(ОКМД, SIMD);
4) системы с множественным потоком команд и множественным потоком
данных (МКМД, MIMD).

4.

Системы класса ОКОД – это обычные однопроцессорные ЭВМ. К этому
классу относятся, прежде всего, классические последовательные машины, или
иначе, машины фон-неймановского типа, например, PDP-11 или VAX 11/780.
Системы класса ОКОД (SISD)

5.

В современных системах данного класса наиболее широко используется 1-ый
путь организации параллельной обработки (совмещение во времени различных
этапов решения разных задач). При этом в системе одновременно работают
различные устройства: ввода, вывода и собственно обработки информации.
Иногда в системе класса ОКОД для увеличения производительности вводится
конвейер команд и конвейер арифметических и логических операций.
Поскольку в таких системах поток команд остается один, а команды
разбиваются на несколько микроопераций, образуя, таким образом, не-сколько
потоков микрокоманд, то системы с конвейером арифметических и логических
операций иногда относят к следующему классу МКОД. В настоящее время почти
все высокопроизводительные системы имеют более одного ЦП, однако каждый из
них выполняет несвязанные потоки команд, что делает такие системы комплексами
SISD – систем, действующих на разных пространствах данных.

6.

Системы класса МКОД (MISD)

7.

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

8.

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

9.

Системы класса ОКМД (SIMD)

10.

По одной и той же программе (или почти) обрабатывается несколько
потоков данных, каждый из этих потоков обрабатывается своим АЛУ, которые
работают под общим УУ. Это позволяет выполнять одну арифметическую
операцию сразу над многими данными – элементами вектора.
Данная схема может реализовываться разными способами (например АЛУ
может содержать обрабатывающий процессор и оперативное ЗУ, и здесь поток
данных поступает из собственного ЗУ, управление и память команд
реализуется отдельной ЭВМ, которая управляет всеми процессорами, память
данных может иметь не только адресную выборку, но и ас-социативную).
Все системы класса ОКМД можно разделить на матричные, ассоциативные
и конвейерные.

11.

Системы класса МКМД (MIMD)

12.

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

13.

Общий метод увеличения производительности информационных и
вычислительных систем – организация параллельной обработки информации,
т.е. одновременное решение задач или совмещение во времени этапов решения
одной задачи.
Три основных направления способов организации параллельной обработки:
а) 1-ый путь - совмещение во времени различных этапов разных задач;
б) 2-ой путь одновременное решение различных задач или частей одной задачи;
в) 3-ий путь конвейерная обработка информации.

14.

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

15.

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

16.

г) ветви должны выполняться по разным блокам программы (программная
независимость).
– параллелизм объектов или данных: по одной и той же программе
обрабатывается совокупность данных, поступающих в систему одновременно.
3-ий путь – один процессор разделен на некоторое число последовательно
включенных операционных блоков, каждый блок выполняет строго
определенную часть операции. Существует конвейер операций и конвейер
команд.

17.

Выполнение типичной команды можно разделить на следующие этапы:
1) выборка команды - IF (по адресу, заданному счетчиком команд, из
памяти извлекается команда и формируется адрес следующей по порядку
команды);
2) декодирование команды / выборка операндов из регистров - ID;
3) выполнение операции / вычисление эффективного адреса памяти - EX;
4) обращение к памяти - MEM;
5) запоминание результата - WB.

18.

Представление о работе конвейера

19.

Диаграмма работы простейшего конвейера

20.

Эффект конвейеризации при выполнении 3-х команд - четырехкратное ускорение

21.

Рассмотрим конвейер арифметических операций на примере сложения чисел с
плавающей точкой. Эту операцию можно разделить на четыре последовательно
исполняемых этапа (шага):
1) сравнение порядков (СП) – время выполнения 120 нс;
2) выравнивание порядков (ВП) – время выполнения 80 нс;
3) сложение мантисс (СМ) – время выполнения 140 нс;
4) нормализация результата (НР) – время выполнения 60 нс.
Следовательно, в составе процессора необходимо иметь четыре
последовательно включенных операционных блока, как показано на рисунке.
Структурная схема конвейера

22.

Временная диаграмма при сложении двух векторов А и В, содержащих по n
элементов с плавающей точкой.
Этап
1
2
3
4
СП
a1b1
a2b2
a3b3
а4b4
aibi
anbn
a1b1
a2b2
а3b3
ai-1bi-1
an-1bn-1
anbn
a1b1
а2b2
an-2bn-2
an-1bn-1
anbn
Cn-3
Cn-2
Cn-1
ВП
СМ
НР
C1
…
i
Ci-3
…
n
n+1
n+2
n+3
Cn

23.

При реализации конвейера команд, цикл команды разбивается на несколько
этапов (для RISC- процессоров):
1) выборка команды - IF (по адресу, заданному счетчиком команд, из памяти
извлекается команда и формируется адрес следующей по порядку
команды);
2) декодирование команды / выборка операндов из регистров - ID;
3) выполнение операции / вычисление эффективного адреса памяти - EX;
4) обращение к памяти - MEM;
5) запоминание результата в регистре - WB.
В устройстве управления существуют блоки, которые независимо друг от друга
и параллельно могут выполнять данные этапы.

24.

При реализации конвейера команд, цикл команды разбивается на несколько
этапов (для CISC- процессоров):
1) выборка команды из памяти и формирование адреса следующей по
порядку команды (IF);
2) расшифровка кода операции и формирование адреса операнда (ID);
3) выборка операнда из памяти и/или из регистра (MEM);
4) выполнение арифметической или логической операции (EX);
5) запись результата в регистр или ячейку памяти (WB).
В устройстве управления существуют блоки, которые независимо друг от друга
и параллельно могут выполнять данные этапы.

25.

Этап
1
2
3
4
5
6
7
8
ВК
К1
К2
К3
К4
К5
К6
К7
К8
К1
К2
К3
К4
К5
К6
К7
К1
К2
К3
К4
К5
К6
К1
К2
К3
К4
К5
К1
К2
К3
К4
К1
К2
К3
ФАСК
РКО
ФАО
ВОП
АЛО
Временная диаграмма конвейера команд

26.

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