- •1. Оценка производительности вычислительных систем. Основные требования, предъявляемые к вычислительным системам.
- •2. Конвейерная обработка. Организация. Конфликты и основные пути их минимизации.
- •3. Суперскалярная обработка. Процессоры vliw-типа.
- •4. Архитектура вычислительных систем. Эволюция развития архитектуры пэвм.
- •5. Организация системы памяти. Иерархия памяти современного компьютера.
- •6. Принципы построения кэш-памяти. Виртуальная память.
- •1. Полностью ассоциативный кэш.
- •2 . Кэш с прямым отображением:
- •3 . Множественно-ассоциативный кэш.
- •7. Основная память. Методы повышения производительности. Типы динамической памяти.
- •8. Организация внешней памяти. Параметры нжд. Пути повышения производительности внешней памяти. Интерфейсы внешней памяти ide, eide, scsi, sata.
- •9. Системные шины. Назначение, технические характеристики. Реализация функции «горячей» замены в системных шинах.
- •10. Параллельные интерфейсы. Centronics, коп. Беспроводные интерфейсы Bluetooth IrDa.
- •11. Последовательные интерфейсы. Интерфейсы rs-232, rs-485, usb и ieee-1394.
- •12. Периферийные устройства. Клавиатура, мышь.
- •13. Параллельные вс. Основные архитектуры параллельной обработки
- •14. Параллельные вс. Архитектура с общей памятью. Архитектура с распределенной памятью.
- •15. Системы высокой готовности. Классификация. Модели оус. Обнаружение сбоев и отказов.
13. Параллельные вс. Основные архитектуры параллельной обработки
В основе архитектуры большинства современных вычислительных машин лежит представление алгоритма решения задачи в виде программы последовательных вычислений. Эти принципы работы были сформулированы фон Нейманом. Сейчас они исчерпали свой ресурс производительности.
Сейчас переходят к другим архитектурам, способам решения задач. Одним из таких способов является распараллеливание решения задач. Для этого создают многопроцессорные системы и сети, которые позволяют значительно повысить производительность работы. Здесь уже используется термин вычислительная система.
Методы и средства реализации параллелизма зависят от того, на каком уровне он обеспечивается. Выделяют несколько уровней параллелизма:
1) уровень заданий, данный уровень предполагает, что несколько независимых заданий выполняется одновременно на разных процессорах, и они практически не взаимодействуют друг с другом. Данный уровень достигается в многопроцессорных вычислительных системах, работающих в многозадачном режиме.
2) уровень программ, на данном уровне части одной задачи выполняются на множестве процессоров, данный уровень достигается в параллельных вычислительных системах.
3) уровень команд, здесь выполнение команды разделяется на фазы, а фазы отдельных команд могут перекрываться за счет конвейеризации. Данный уровень достижим и на однопроцессорных вычислительных системах.
4) уровень битов, арифметический уровень. Здесь биты слова обрабатываются один за одним, что называется, бит последовательной операции. Данный уровень предполагается бит параллельной операции, когда биты слова, обрабатываются одновременно. Данный уровень реализуется на суперскалярных компьютерах.
Гранулярность – мера отношения объема вычислений, выполненных в параллельной задаче, к числу коммуникаций (устройств, обеспечивающих взаимодействие).
По степени гранулярности выделяют 3 степени параллелизма:
1) крупнозернистый параллелизм – предполагает, что каждое отдельное вычисление достаточно независимо от остальных и требуется редкий обмен информации между вычислениями. В нем единица распараллеливания – программа. Обычно данная степень обеспечивается операционной системой.
2) среднезернистый параллелизм – единицами распараллеливания являются отдельные процедуры программы. Обычно эти процедуры содержат сотни команд (при крупнозернистом – тысячи). Данная степень параллелизма реализуется либо компилятором, либо самим программистом.
3) мелкозернистый параллелизм. Здесь каждое последовательное вычисление мало и элементарно, единицы распараллеливания обычно отдельные операции, отдельные итерации цикла, то есть распараллеливаются те операции, которые не имеют зависимости по данным. Обычно десятки команд. Данная степень распараллеливания реализуется компиляторами.
Степень распараллеливания выбирается по тому, какой объем коммуникаций используется для обеспечения параллелизма.
Основные архитектуры параллельной обработки (классификация МПС по Флинну):
1
)
ОКОД
– одна
команда
одно
данное
(SISD – Single Instruction – Single Data)
Обычная фон Неймановская вычислительная машина.
Процессор, запоминающее устройство.
Поток данных, поток команд, результаты.
2
)
Конвейерные и векторные процессоры.
Используются для векторных команд, когда одна и та же операция применяется ко всем элементам вектора. При работе данных видов процессора требуется дополнительное время для начальной инициализации работы, а затем данные с высокой скоростью поступают в процессор и обрабатываются в своем операционном устройстве. Данный тип процессоров увеличивает производительность процессоров при работе с векторами.
3
)
Матричные
процессоры
(SIMD – Single Instruction – Multiple Data). Состоят
из большого количества идентичных
процессорных элементов, которые имеют
свою память. Все процессорные элементы
выполняют одну и ту же команду. Данная
модель схожа с моделью конвейерного и
векторного процессора, но здесь уже в
качестве вычислительного блока
используется отдельные процессорные
элементы. Данные процессоры так же
используются на векторных операциях,
а так же используются при выполнении
нескольких итераций цикла. То есть на
всех процессорных элементах выполняется
одна и та же команда.
4)
Многопроцессорные системы класса, MIMD
или МКМД.
В
качестве процессоров типа MIMD
используются процессоры типа SISD,
и требуется обеспечить их взаимодействие.
В отличие от матричного здесь требуется
обеспечить взаимодействие процессоров.
Это многопроц. системы с общей памятью,
которая доступна всем процессорным
элементам (т.н. сильно связанная система).
Многопроц. системы с обменом посредством сообщений. В данных многопроц. системах отсутствует общая память, а синхр-я и передача сообщений осуществляется по высокоскоростной сети. Эти системы называют слабо связанными системами.
5) Вычислительные системы типа MSIMD – многопроцессорные системы с матричными процессорами. Данный класс многопроцессорных систем используется в суперкомпьютерах, то есть здесь одновременно выполняется декомпозиция команд на одном из процессоров и одновременно несколько задач распределяется на несколько матричных процессорах.
6) MPP – многомашинная система, отличие от предыдущего класса MSIMD в том, что в качестве элемента системы выступает один компьютер, данные многомашинные системы строятся как многопроцессорные системы с обменом посредством сообщений. Используется данный класс параллельных вычислительных систем, например, в АСУТП или в АСУП.
Архитектура дает большую гибкость, здесь может работать как однозадачная, так и многозадачная система, однопользовательская или многопользовательская система. При многопроцессорных системах архитектура строится на базе современных процессоров, которые используются в обычных ПК. Возможно, строить систему с учетом критерия производительность/стоимость.
