- •Курский государственный технический университет
- •Предисловие
- •Введение
- •3.1.3.4 Конвейер команд в устройстве управления процессором
- •4 Теоретические основы функциональной организации многопроцессорных вс
- •4.1 Параллелизм на уровне системного программного обеспечения
- •4.1.1 Особенности мультисистемных операционных систем (мос) параллельных вс.
- •Алгоритм построения новой матрицы смежности Cp.
Курский государственный технический университет
Кафедра вычислительной техники
Конспект лекций
По дисциплине:
Теоретические основы организации многопроцессорных комплексов и систем.
Лектор: профессор Типикин А.П.
Курск 2006
Содержание
Предисловие -----------------------------------------------------------------------------------------------4
Введение -----------------------------------------------------------------------------------------------6
В.1 Основные определения -------------------------------------------------------------------------------6
В.2 Тенденции развития организации ЭВМ и систем ---------------------------------------------7
В.3 Классификация вычислительной техники по способу комплексирования ----------------8
В.3.1 Классификация ЭВМ и ВС по областям применения --------------------------------------9
В.4 Понятие об архитектуре ВС ----------------------------------------------------------------------10
В.5 Методология и разделы теории ВС -------------------------------------------------------------10
1. Элементы архитектуры ЭВМ, комплексов и систем ------------------------------------------12
2. Особенности архитектуры ЭВМ и систем с неалгоритмическим принципом вычислений и перспективы создания цифровых ВС с массовым параллелизмом -------------------------12
3. Теоретические основы архитектуры параллельных ЭВМ и систем -------------------------16
3.1 Способы организации параллельной обработки информации ----------------------------16
3.1.1. Естественный параллелизм независимых задач -------------------------------------17
3.1.2. Естественный параллелизм данных ----------------------------------------------------------21
3.1.2.1 Векторные вертикальные, ассоциативные и ортогональные процессоры ------------21
3.1.2.2 Ассоциативные вычислительные системы ------------------------------------------------25
3.1.3 Конвейерный способ параллельной обработки информации -----------------------------31
3.1.3.1 Синхронные и асинхронные линейные конвейеры ---------------------------------------31
3.1.3.2 Нелинейные конвейеры ------------------------------------------------------------------------34
3.1.3.3 Конвейеризация вычислений в процессорах -----------------------------------------------35
3.1.3.4 Конвейер команд в устройстве управления процессором -------------------------------38
3.1.3.4.1 Аппаратная реализация динамического предсказания на основе буфера целевых адресов переходов. -----------------------------------------------------------------------------40
3.1.3.4.2. Аппаратное прогнозирование адреса возврата из вызываемой процедуры ----42
3.1.3.5. Конвейерная организация вычислительных систем ------------------------------------42
3.1.3.4 Естественный параллелизм операций в одной задаче --------------------------------45
3.1.4.1. Функциональная организация потоковой ансамблевой мультимикропроцессороной ВС -------------------------------------------------------------------------------------------------------------50
3.1.4.2. Матричные ВС с общим управлением ---- -----------------------------------------------52
3.1.4.3. Потоковые вычислительные системы ---------------------------------------------------55
3.1.5. Естественный параллелизм ветвей (задач) сложной последовательной программы-63
3.2. Уровни параллелизма ----------------------------------------------------------------------------66
3.3. Основы метрической теории ВС -----------------------------------------------------------------67
3.3.1 Математическое моделирование ВС стохастическими сетями систем массового обслуживания. Оптимальное распределение быстродействия по устройствам ВС ---------71
3.4. Требования к структурной организации параллельных ВС -------------------------------79
3.4.1 Классификация структурной организации ВС ---------------------------------------80
3.4.2 Особенности организации транспьютерных сетей ------------------------------------83
3.5 Организация памяти параллельных ВС ---------------------------------------------------------85
3.5.1 Классификация архитектуры MIMDсистем по способу организации памяти --87
3.5.2 Особенности организации мультипроцессоров -------------------------------------------91
3.5.2.1 Организация общей памяти SMPмультипроцессоров --------------------------------91
3.5.2.2 Протокол MESI--------------------------------------------------------------------------------96
3.5.2.3 Особенности архитектуры UMAмультипроцессоров с коммутаторными коммуникационными средами ------------------------------------------------------------------------99
3.5.2.4 Мультипроцессоры архитектуры NUMA----------------------------------------------103
3.5.2.5 Протокол DASHобеспечения когерентности кэш-памятей в системах архитектуры ссNUMA--------------------------------------------------------------------------------------------------105
3.5.3. Организация мультикомпьютеров ---------------------------------------------------107
3.5.3.1 Кластерные вычислительные системы -------------------------------------------110
3.5.3.2 Перспективы развития мультикомпьютеров ------------------------------------113
3.6 Архитектуры параллельных микропроцессоров --------------------------------------------116
3.6.1 Архитектура суперскалярного микропроцессора ------------------------------------117
3.6.2 Архитектура VLIW- иEPICмикропроцессоров -------------------------------------124
3.6.3 Архитектура перспективного многопроцессорного мультискалярного микропроцессора ----------------------------------------------------------------------------------------128
4. Теоретические основы функциональной организации многопроцессорных ВС -----135
4.1 Параллелизм на уровне системного программного обеспечения ------------------------135
4.1.1 Особенности мультисистемных операционных систем ВС ----------------------------135
4.1.2 Фундаментальные вопросы организации системного ПО параллельных ВС ------137
4.1.3 Синхронизация параллельных асинхронных вычислительных процессов. Метод семафоров -----------------------------------------------------------------------------------------------140
4.1.4 Тупики в распределении ресурсов между параллельными процессами --------------144
4.1.5 Управление параллельными процессами. OC UNIX и Windows NT.-------------------148
4.2 Параллелизм на уровне прикладного программирования ---------------------------------150
4.2.1 Системы и языки параллельного программирования -----------------------------------150
4.2.2 Системы параллельного программирования мультикомпьютеров с передачей сообщений -----------------------------------------------------------------------------------------------150
4.2.2.1 Система параллельного программирования «виртуальная машина параллельного действия (РVM)» ---------------------------------------------------------------------------------------152
4.2.2.2 Система параллельного программирования «интерфейс с передачей сообщений (MPI)» ------------------------------------------------------------------------------------------------------153
4.2.2.3 Системы параллельного программирования на основе виртуальной распределенной совместно используемой памяти (DSM) ---------------------------------------154
4.2.3 Система и язык параллельного программирования ОККАМ для транспьютерных сетей --------------------------------------------------------------------------------------------------------155
4.2.3.1 Программирование на языке ОККАМ волновых матричных вычислений -----158
4.2.3.2 Программирование на языке ОККАМ FIFO– буферов и процедур синхронизации параллельных процессов ----------------------------------------------------------160
4.3 Теоретические основы распараллеливающего компилятора ----------------------------162
4.3.1 Распараллеливание линейных участков с учетом независимости между их фрагментами ----------------------------------------------------------------------------------------------164
4.3.2 Распараллеливание итераций сложных вложенных циклов ----------------------------168
5. Методы оценки реальной производительности микропроцессоров и вычислительных систем. Оценка фактической производительности системы путем имитационного моделирования ВС. -----------------------------------------------------------------171