Похожие презентации:
Способы построения и классификация вычислительных систем
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 - число этапов, на которое разбито выполнение команды).
В ВС часто одновременно используются конвейер команд и конвейер операций
или несколько параллельно работающих конвейеров в результате чего может быть
получена очень высокая производительность системы. По этому принципу строятся
самые быстродействующие ВС.
Информатика