- •Тесты Архитектура вычислительных систем Вариант 1
- •1. Области применения многопроцессорной вычислительной системы (мвс)…
- •2. Какие условия необходимы, чтобы программные объекты а и в (команды, операторы, программы) являлись независимыми и выполнялись параллельно?
- •4. Какие из ниже перечисленных блоков входят в состав скалярного конвейерного процессора?
- •5. К какому классу вычислительных систем (вс) по классификации Флинна относится структура, изображенная на рисунке:
- •6. Пиковая производительность системы определяется:
- •7. Классификация архитектур вс Флинна основывается….
- •8. Укажите правильные соединения входов и выходов обобщенной соединительной сети для типа связи - "один многим"
- •9. Какая схема соединений входов и выходов коммутационной сети использована на рисунке:
- •10. Главная особенность гибридной архитектуры numa ( nonuniform memory access)?
- •11. Система, главной особенностью которой является наличие общей физической памяти, разделяемой всеми процессорами называется…
- •12. Технология Myrinet основана на использовании…
- •13. Какие вс наиболее эффективны при решении задач, обладающим параллелизмом независимых ветвей
- •14. Какие варианты записи и считывания параллельных данных возможны при обращении к многоблочной памяти, изображенной на рисунке:
- •25. Система Cray t3e это …
- •26. Метод внутреннего произведения является…
- •27. Что определяет закон Амдала?
- •28. Метод параллельных каскадных сумм является ….
- •29. Под кубическим коммутатором понимается…
- •4. Какова роль векторных регистров, входящих в структуру векторного конвейерного процессора.
- •5. К какому классу вычислительных систем (вс) по классификации Флинна относится структура, изображенная на рисунке:
- •В качестве единиц быстродействия параллельной вс используются:
- •11. Что в большей мере определяет производительность кластерной системы?
- •17. К какому классу вс по классификации м. Флинна относятся последовательные эвм?
- •18. Какой принцип управления используется в систолических массивах (матрицах)?
- •19. Какой вид параллелизма реализуется в вс класса мкмд?
- •20. Узлом кластера не могут считаться…
- •21. Коммуникационные процессоры предназначены для:
- •23. Характеристика параллельного алгоритма «ускорение» определяет…
- •24. Организация матричных процессоров предполагает наличие
- •25. Суперкластер sgi Altix 3000…
- •26. Методы параллельной обработки нечисловой информации используются …
- •§ 6.4. Методы параллельной обработки нечисловой информации
- •27. Процессоры баз данных предназначены для:
- •28. Операция «зацепление» реализуется ….
- •29. В двумерном коммутаторе…
- •30. Синхронный способ управления вычислительным процессом используется в …
2. Какие условия необходимы, чтобы программные объекты а и в (команды, операторы, программы) являлись независимыми и выполнялись параллельно?
Программные объекты A и B (команды, операторы, программы) являются независимыми и могут выполняться параллельно,если выполняется следующее условие:
(InB OutA) v (InA OutB) v (OutA OutB) = ∅, (1.1),
где In(A) — набор входных, а Out(A) — набор выходных переменных объекта A. Если условие (1.1) не выполняется, то между A и B
существует зависимость и они не могут выполняться параллельно.
Если условие (1.1) нарушается в первом терме, то такая зависимость называется прямой. Приведем пример:
A: R = R1 + R2
B: Z = R + C
Здесь операторы A и B не могут выполняться одновременно,так как результат A является операндом B.
Если условие нарушено во втором терме, то такая зависимость называется обратной:
A: R = R1 + R2
B: R1 = C1 + C2
Здесь операторы A и B не могут выполняться одновременно, так как выполнение B вызывает изменение операнда в A.
Наконец, если условие не выполняется в третьем терме, то такая зависимость называется конкуренционной:
A: R = R1 + R2
B: R = C1 + C2
Здесь одновременное выполнение операторов дает неопределенный результат.
Увеличение параллелизма любой программы заключается в поиске и устранении указанных зависимостей.
Конвейерная технология предполагает….
Другая форма параллелизма, конвейеризация, также требует наличия нескольких ЦП и АЛУ. В то время как одно множество данных обрабатывается на одном устройстве, другое множество данных может обрабатываться на следующем устройстве и т.д. В этом смысле в процессе обработки возникает поток данных от одного устройства (ЦП или АЛУ) к следующему. В течении всего процесса над одним множеством данных выполняются одно за другим nдействий. Одновременно в "конвейере" на разных стадиях обработки может находиться от 1 доnмножеств данных.
Параллелизм ассемблерного уровня реализуется двумя способами:
1. В виде конвейера (конвейера команд, арифметического конвейера или конвейера смешанного типа). Конвейер команд использует технический параллелизм, возникающий вследствие необходимости выполнять команду с помощью блоков различного функционального назначения (управление, память, АЛУ и др.). Одновременная работа этих блоков позволяет параллельно обрабатывать сразу несколько смежных команд. Арифметический конвейер использует разбиение арифметической операции на логически законченные микрооперации.
Например, команда сложения с плавающей запятой может быть разделена на следующие микрооперации: вычитание порядков, выравнивание мантисс, сложение, нормализация. Арифметический конвейер также позволяет параллельно обрабатывать несколько команд.
Идея конвейерной обработки данных состоит в том, чтобы сложную операцию разбить на множество более простых операций, которые могут выполняться одновременно. При движении объектов по конвейеру на разных его участках выполняются разные операции, а при достижении каждым объектом конца конвейера он окажется полностью обработанным. Конвейеры применяются как при обработке команд, так и в арифметических операциях. Для эффективной реализации конвейера должны выполняться следующие условия:
1) система выполняет повторяющуюся операцию;
2) эта операция может быть разделена на независимые части;
3) трудоемкость подопераций примерно одинакова. Количество подопераций называют глубиной конвейера. Важным условием нормальной работы конвейера является отсутствие конфликтов, то есть данные, подаваемые в конвейер, должны быть независимы.
Обработка команды может быть разделена на несколько основных этапов, назовем их микрокомандами. Выделим основные пять микрокоманд:
• Выборка команды
• Расшифровка команды
• Выборка необходимых операндов
• Выполнение команды
• Сохранение результатов
Все этапы команды задействуются только один раз и всегда в одном и том же порядке: одна за другой. Это, в частности означает, что если первая микрокоманда выполнила свою работу и передала результаты второй, то для выполнения текущей команды она больше не понадобиться, и, следовательно, может приступить к выполнению следующей команды. Выделим каждую команду в отдельную часть устройства и расположим их в порядке выполнения. В первый момент времени выполняется первая микрокоманда. Она завершает свою работу и начинает выполняться вторая микрокоманда, в то время как первая готова для выполнения следующей инструкции. Первая инструкция может считаться выполненной, когда завершать работу все пять микрокоманд.
Такая технология обработки команд носит название конвейерной обработки. Каждая часть устройства называется ступенью конвейера, а общее число ступеней – длиной конвейера.
Во многих вычислительных системах, наряду с конвейером команд, используются и конвейеры данных.
Сочетание этих двух конвейеров дает возможность достичь очень высокой производительности на определенных классах задач, особенно если используется несколько различных конвейерных процессоров, способных работать одновременно и независимо друг от друга.