Функциональные возможности ВС. Составные части понятия «архитектура» Вычислительные и логические возможности ВС. Они обусловливаются системой команд (СК),

Презентация:



Advertisements
Похожие презентации
Функциональные возможности ВС. Составные части понятия «архитектура» Вычислительные и логические возможности ВС. Они обусловливаются системой команд (СК),
Advertisements

Лекция 6. Способы адресации в микропроцессорных системах.
Системы с общей оперативной памятью UMA, SMP, NUMA.
Архитектура ЭВМ (лекция 7) проф. Петрова И.Ю. Курс Информатики.
Архитетура компьютерных систем. Архитектура системы команд как интерфейс между программным и аппаратным обеспечением Архитектура системы команд.
Все процессоры выполняют одну и ту же программу ВС класса SIMD.
Супер ЭВМ Понятие Супер ЭВМ Цели Супер ЭВМ Характеристики производительности Супер ЭВМ Программное обеспечение Супер ЭВМ Архитектура совеременных Супер.
Понятие вычислительной системы Под вычислительной системой (ВС) понимают совокупность взаимосвязанных и взаимодейст- вующих процессоров или ЭВМ, периферийного.
Учебный курс Принципы построения и функционирования ЭВМ Лекция 11 Микрокоманды и микрооперации профессор ГУ-ВШЭ, доктор технических наук Геннадий Михайлович.
Таксономия (Классификация) Флинна Дораж Е.М. ИСп-32.
АРХИТЕКТУРА КОМПЬЮТЕРА При рассмотрении компьютерных устройств принято различать их архитектуру и структуру. Архитектурой компьютера называется его описание.
«СЕТИ КОМПЬЮТЕРОВ. ОСНОВНЫЕ ПОНЯТИЯ» Методическое пособие по дисциплине «Программное обеспечение компьютерных сетей и информационных систем»
Структурная схема компьютера Взаимодействие устройств компьютера.
Устройство памяти ПК. Виртуальная память. Кэш-память. Компьютерная память (устройство хранения информации, запоминающее устройство) часть вычислительной.
Теория компиляторов-2. Л.31 Теория компиляторов Часть II Лекция 2.
Структурная схема компьютера Взаимодействие устройств компьютера.
Параллельное программирование с использованием технологии OpenMP Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Томский политехнический университет.
Распределенная обработка информации Разработано: Е.Г. Лаврушиной.
Схема компьютера Взаимодействие устройств компьютера.
1. Теоретические основы операционных систем (планирование заданий и использования процессора, обеспечение программ средствами коммуникации и синхронизации,
Транксрипт:

Функциональные возможности ВС

Составные части понятия «архитектура» Вычислительные и логические возможности ВС. Они обусловливаются системой команд (СК), характеризующей гибкость программирования, форматами данных и скоростью выполнения операций, определяющих класс задач, наиболее эффективно решаемых на ВС.

Классификация системы команд по назначению

Аппаратные средства. Простейшая ВС включает модули пяти типов: центральный процессор, основная память, каналы, контроллеры и внешние устройства. Программное обеспечение. Оно является составной частью архитектуры компьютера и существенно влияет на весь вычислительный процесс, в частности позволяет эффективно эксплуатировать аппаратные средства системы. Составные части понятия «архитектура»

Этапы разработки типовых проектов (характерны для процесса разработки архитектуры ЭВМ) анализ требований, предъявляемых к системе; составление спецификаций; изучение известных решений; разработка функциональной схемы; разработка структурной схемы; отладка проекта; оценка проекта.

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

Основные характеристики архитектуры фон Неймановского типа последовательно адресуемая единственная память линейного типа для хранения программ и данных; команды и данные различаются через идентификатор неявным способом лишь при выполнении операций. Принимаемые по умолчанию соглашения типа: операнды операции умножения – это данные, а объект, на который указывает команда перехода – это команда, позволяют обращаться с командой как с данными, например, для ее модификации; назначение данных определяется лишь логикой программы, так как в памяти машины набор бит может представлять собой как десятичное число с фиксированной точкой, так и строку символов.

Требования ЯВУ к архитектуре ЭВМ память состоит из набора дискретных именуемых переменных. ЯВУ наряду с линейными данными оперируют и с многомерными: массивами, структурами, списками; в ЯВУ четко разграничены операции и данные; данные определяют и операции над ними.

Примеры типов ячеек при теговой организации

Пример дескриптора Основное отличие тегов и дескрипторов состоит в следующем: дескрипторы создают дополнительный уровень адресации, что требует увеличения затрат на формирование адреса, т. е. дескрипторы – это часть команды (программы), а теги – это часть данных. Здесь первые три бита содержат тег. Если значение его 101, то данное слово дескриптор. Бит P указывает, находятся данные в основной памяти или во вспомогательной; I указывает, одиночный ли элемент описывает данный дескриптор или весь массив; R идентифицирует непрерывную или разрывную область памяти; W означает, что разрешено только чтение данных.

Области санкционированного доступа Достоинства: улучшается отладка программ. Сфера действия любой ошибки ограничивается размерами домена, в котором она произошла, что увеличивает вероятность ее обнаружения; повышается надежность защиты программ. Информация, принадлежащая одной секции, защищается от воздействия других секций. Временное расширение домена

Одноуровневая память Достоинства: сравнительно низкая стоимость программного обеспечения; независимость адресации от принципа организации памяти. Трудности реализации: создание встроенного в архитектуру ЭВМ механизма иерархии ЗУ; восстановление памяти; переносимость объектов на другие системы с традиционной орга- низацией архитектуры.

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

Виртуальная память Виртуальную память пользователя можно разделить на три типа: "активные" блоки, которые содержат программу и данные, используемые в текущий момент; "пассивные" блоки, содержащие программу и данные, которые будут использоваться при выполнении программы; "мнимые" блоки, к которым не обращаются на протяжении выполнения программы. Структура регистра адреса страницы

Страничное распределение памяти

Механизм преобразования виртуального адреса в физический

Управляющая ЭВМ

Соотношение программ на ЯВУ и машинном языке

Обозначения принятые на рисунке «Соотношение программ на ЯВУ и машинном языке » 1.это традиционный подход. После компилирования программа переводится на машинный язык, а затем интерпретируется машиной; 2.компиляция идет на машинный язык более высокого уровня, сокращая тем самым семантический разрыв между ЯВУ и машиной; 3.здесь ЯВУ можно рассматривать как язык ассемблера, т.е. имеется взаимно однозначное соответствие между типами операторов и знаков операций ЯВУ с командами машинного языка. Здесь идет ассемблирование, а не компилирование, во время которого удаляются комментарии и пробелы в исходной программе, преобразуются разделители, ключевые слова и знаки операций в машинные коды, имена – в адреса полей памяти. Таким образом, многих привычных функций компилятора здесь нет. Остальная привязка программы к ЭВМ происходит перед выполнением программы; 4.здесь машинный язык является ЯВУ и идет процесс интерпретации программы на компьютере

Основные принципы RISC-архитектуры каждая команда независимо от ее типа выполняется за один машинный цикл, длительность которого должна быть максимально короткой; все команды должны иметь одинаковую длину и использовать минимум адресных форматов, что резко упрощает логику центрального управления процессором; обращение к памяти происходит только при выполнении операций записи и чтения, вся обработка данных осуществляется исключительно в регистровой структуре процессора; система команд должна обеспечивать поддержку языка высокого уровня. (Имеется в виду подбор системы команд, наиболее эффективной для различных языков программирования.)

Отличительные особенности CISC- и RISC-архитектур Достоинства RISC-архитектуры: 1.Компактность процессора, как следствие отсутствие проблем с охлаждением; 2.Высокая скорость арифметических вычислений; 3.Наличие механизма динамического прогнозирования ветвлений; 4.Большое количество оперативных регистров; 5.Многоуровневая встроенная кэш-память; Недостаток – проблема в обновлении регистров процессора, что привело к появлению двух методов обновления: аппаратный и программный.

Методы адресации

Основные типы команд

Структура команд

Стековая организация регистровой памяти процессора

Основные операция и спецкоманды Операции с регистрами: Движение вниз: (P1) P2, (P2) P3,..., а P1 заполняется данными из главной памяти Движение вверх: (Pn) Pn 1, (Pn 1) Pn 2, а Pn заполняется нулями Регистры P1 и P2 связаны с АЛУ, образуют два операнда для выполнения операции. Результат операции записывается в P1, т.е. (P1) (P2) (P1) При выполнении любой операции над двумя регистрами осуществляется продвижение операндов вверх, не затрагивая P1, т. е. (P3) P2, (P4) P3 и т. д Спецкоманды: дублирование (P1) P2, (P2) P3,... и т. д., а (P1) остается при этом неизменным; реверсирование (P1) P2, а (P2) P1, что удобно для выполнения некоторых операций.

Программа решения математической задачи для одноадресного компьютера

Программа решения математической задачи на ЭВМ со стековой организацией памяти

Способы проектирования системы команд 1.Сокращение набора команд, присущих СК выбранного микропроцессора. Все частоты встреч операций для задания их в СК всякий раз можно определить из соотношений "стоимость затрат – сложность реализации – получаемый выигрыш". 2.Второй путь проектирования СК состоит в расширении имеющейся системы команд. Один из способов такого расширения – создание макрокоманд, второй – используя имеющийся синтаксис языка СК, дополнить его новыми командами с последующим переассемблированием, через расширение функций ассемблера. Оба эти способа принципиально одинаковы, но отличаются в тактике реализации аппарата расширения. Способы оптимизации системы команд 1.Выявление частоты повторений сочетаний двух или более команд, следующих друг за другом в некоторых типовых задачах для данного компьютера, с последующей заменой их одной командой, выполняющей те же функции. 2.Исследование часто генерируемых компилятором последовательностей команд с последующим редактированием и ликвидацией из них избыточных кодов. 3.Оптимизацию можно проводить и в пределах отдельной команды, исследуя ее информационную емкость. Для этого можно применить аппарат теории информации, в частности для оценки количества переданной информации – энтропию источника.

Принцип управления операциями на основе «жесткой» логики

Горизонтальное микропрограммирование Вертикальное микропрограммирование

Тема 2 Современные компьютерные системы

Оценка современных компьютеров Узкие места современных ЭВМ Оценка производительности ВС Методы повышения производительности ЭВМ Компьютеры с общей памятью Компьютеры с распределенной памятью Языки параллельного программирования Характеристики основных классов современных параллельных компьютеров Классификация ВС

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

Методы оценки производительности ВС Пиковая производительность (суммарное количество операций, выполняемых в единицу времени всеми имеющимися в компьютере обрабатывающими логико-арифметическими устройствами) Реальная производительность (определяется при выполнении реальных прикладных программ) Группы тестов для измерения реальной производительности 1.Тесты производителей (тесты, подготовленные компаниями разработчика ВС). 2.Стандартные тесты (тестовые программы, основанные на выполнении стандартных операций и не зависящие от платформы ВС 3.Пользовательские тесты (учитывают конкретную специфику применения ВС)

Основные проблемы, связанные с анализом результатов контрольного тестирования производительности отделение показателей, которым можно доверять безоговорочно, от тех, которые должны восприниматься с известной долей настороженности (проблема достоверности оценок); выбор контрольно-оценочных тестов, наиболее точно характеризующих производительность при обработке типовых задач пользователя (проблема адекватности оценок); правильное истолкование результатов тестирования производительности, особенно если они выражены в довольно экзотических единицах типа MWIPS, Drystones/s и т.д. (проблема интерпретации).

Стандартные тесты LinPack - совокупность программ для решения задач линейной алгебры В качестве параметров используются: порядок матрицы, формат значений элементов матрицы, способ компиляции. SPEC XX - два тестовых набора Cint89 и Ctp89. SPEC 98 – четыре программы целочисленной обработки шесть программ с операциями на числами с плавающей запятой. SPEC 92 – 6 эталонных тестов, а также 14 реальных прикладных программ SPEC 95 – расширен набор тестовых программ, а также добавлена возможность тестирования многопроцессорных ВС. современные тесты SPEC – тестирование многомашинных и многопроцессорных вычислительных комплексов. TPC – оценка производительности систем при работе с базами данных. Тестирование позволяет определить: а. производительность обработки запросов QppD (Query Processing Performance), измеряемая количеством запросов, которое может быть обработано при монопольном использовании всех ресурсов тестируемой системы; б. пропускная способность системы QthD (Query Throughput), измеряемая количеством запросов, которое система в состоянии совместно обрабатывать в течение часа; в. отношение стоимости к производительности $/QphD, измеряемое как стоимость 5-летней эксплуатации системы, отнесенная к числу запросов, обработанных в час.

Суммирование векторов A=B+C с помощью последовательного устройства

Суммирование векторов A=B+C с помощью двух последовательных устройств

Суммирование векторов A=B+C с помощью конвейерного устройства

Эффективность конвейерной обработки L – количество ступеней конвейера – время такта работы конвейера – время, необходимое для инициализации векторной команды

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

Матричные системы (структура ILLIAC IV)

Матричные системы (процессорная матрица ILLIAC IV)

Повышение интеллектуальности управления ЭВМ Поддержка параллелизма в аппаратно-программной среде ВС Повышение эффективности операционных систем и компиляторов, технологии параллельного программирования и исполнения программ, а также поддержка параллелизма в процессоре и согласование особенностей работы с памятью Спецпроцессоры реализация операций на уровне аппаратуры, операций выполняемых на уровне программного обеспечения; требуется обеспечить компромисс между универсальностью и специализированностью Параллелизм на уровне машинных команд отсутствие у пользователя необходимости в специальном параллельном программировании; проблемы с переносимостью остаются на уровне общих проблем переносимости программ в классе последовательных машин. –суперскалярные процессоры Задача обнаружения параллелизма в машинном коде возлагается на аппаратуру; аппаратура строит соответствующую последовательность исполнения команд. –VLIV-процессоры Команда VLIW-процессора состоит из набора полей, каждое из которых отвечает за свою операцию; если какая-то часть процессора на данном этапе выполнения программы не востребована, то соответствующее поле команды не задействуется.

Параллельные компьютеры с общей памятью

Параллельные компьютеры с распределенной памятью

Организация мультипроцессорных систем Мультипроцессорная система с общей шиной Мультипроцессорная система с матричным коммутатором Мультипроцессорная система с омега-сетью

Топологические связи модулей ВС

Варианты топологий связи процессоров и ВМ

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

Основные классы современных параллельных компьютеров Массивно-параллельные системы (MPP) Архитектура Система состоит из однородных вычислительных узлов, включающих: один или несколько центральных процессоров (обычно RISC), локальную память (прямой доступ к памяти других узлов невозможен), коммуникационный процессор или сетевой адаптер жесткие диски и/или другие устройства В/В К системе могут быть добавлены специальные узлы ввода-вывода и управляющие узлы. Узлы связаны через некоторую коммуникационную среду (высокоскоростная сеть, коммутатор и т.п.) Примеры IBM RS/6000 SP2, Intel PARAGON/ASCI Red, SGI/CRAY T3E, Hitachi SR8000, транспьютерные системы Parsytec.SP2T3ESR8000Parsytec Масштабируемость (Масштабируемость представляет собой возможность наращивания числа и мощности процессоров, объемов оперативной и внешней памяти и других ресурсов вычислительной системы. Масштабируемость должна обеспечиваться архитектурой и конструкцией компьютера, а также соответствующими средствами программного обеспечения. ) Общее число процессоров в реальных системах достигает нескольких тысяч (ASCI Red, Blue Mountain). Операционная система Существуют два основных варианта: Полноценная ОС работает только на управляющей машине (front-end), на каждом узле работает сильно урезанный вариант ОС, обеспечивающие только работу расположенной в нем ветви параллельного приложения. Пример: Cray T3E. На каждом узле работает полноценная UNIX-подобная ОС (вариант, близкий к кластерному подходу). Пример: IBM RS/6000 SP + ОС AIX, устанавливаемая отдельно на каждом узле.кластерному Модель программирования Программирование в рамках модели передачи сообщений ( MPI, PVM, BSPlib)MPIPVMBSPlib

Архитектура Система состоит из нескольких однородных процессоров и массива общей памяти (обычно из нескольких независимых блоков). Все процессоры имеют доступ к любой точке памяти с одинаковой скоростью. Процессоры подключены к памяти либо с помощью общей шины (базовые 2-4 процессорные SMP-сервера), либо с помощью crossbar-коммутатора (HP 9000). Аппаратно поддерживается когерентность кэшей. Примеры HP 9000 V-class, N-class; SMP-cервера и рабочие станции на базе процессоров Intel (IBM, HP, Compaq, Dell, ALR, Unisys, DG, Fujitsu и др.).HP 9000 V-class Масштабируемость Наличие общей памяти сильно упрощает взаимодействие процессоров между собой, однако накладывает сильные ограничения на их число - не более 32 в реальных системах. Для построения масштабируемых систем на базе SMP используются кластерные или NUMA-архитектуры.кластерные NUMA Операционная система Вся система работает под управлением единой ОС (обычно UNIX-подобной, но для Intel- платформ поддерживается Windows NT). ОС автоматически (в процессе работы) распределяет процессы/нити по процессорам (scheduling), но иногда возможна и явная привязка Модель программирования Программирование в модели общей памяти. (POSIX threads, OpenMP). Для SMP-систем существуют сравнительно эффективные средства автоматического распараллеливания.OpenMPавтоматического распараллеливания Основные классы современных параллельных компьютеров Симметричные мультипроцессорные системы (SMP)

Основные классы современных параллельных компьютеров Системы с неоднородным доступом к памяти (NUMA) Архитектура Система состоит из однородных базовых модулей (плат), состоящих из небольшого числа процессоров и блока памяти. Модули объединены с помощью высокоскоростного коммутатора. Поддерживается единое адресное пространство, аппаратно поддерживается доступ к удаленной памяти, т.е. к памяти других модулей. При этом доступ к локальной памяти в несколько раз быстрее, чем к удаленной. В случае, если аппаратно поддерживается когерентность кэшей во всей системе (обычно это так), говорят об архитектуре c-NUMA (cache-coherent NUMA) Примеры HP HP 9000 V-class в SCA-конфигурациях, SGI Origin2000, Sun HPC 10000, IBM/Sequent NUMA-Q 2000, SNI RM600.HP 9000 V-classOrigin2000HPC NUMA-Q 2000RM600 Масштабируемость Масштабируемость NUMA-систем ограничивается объемом адресного пространства, возможностями аппаратуры поддержки когерентности кэшей и возможностями операционной системы по управлению большим числом процессоров. На настоящий момент, максимальное число процессоров в NUMA-системах составляет 256 (Origin2000). Операционная система Обычно вся система работает под управлением единой ОС, как в SMP. Но возможны также варианты динамического "подразделения" системы, когда отдельные "разделы" системы работают под управлением разных ОС (например, Windows NT и UNIX в NUMA-Q 2000).SMP Модель программирования Аналогично SMP.SMP

Основные классы современных параллельных компьютеров Параллельные векторные системы (PVP) Архитектура Основным признаком PVP-систем является наличие специальных векторно- конвейерных процессоров, в которых предусмотрены команды однотипной обработки векторов независимых данных, эффективно выполняющиеся на конвейерных функциональных устройствах. Примеры NEC SX-4/SX-5, линия векторно-конвейерных компьютеров CRAY: от CRAY-1, CRAY J90/T90, CRAY SV1, серия Fujitsu VPP.SX-5T90CRAY SV1VPP Масштабируемость Как правило, несколько таких процессоров (1-16) работают одновременно над общей памятью (аналогично SMP) в рамках многопроцессорных конфигураций. Несколько таких узлов могут быть объединены с помощью коммутатора (аналогично MPP).SMPMPP Модель программирования Эффективное программирование подразумевает векторизацию циклов (для достижения разумной производительности одного процессора) и их распараллеливание (для одновременной загрузки нескольких процессоров одним приложением).

Основные классы современных параллельных компьютеров Кластерные системы Архитектура Набор рабочих станций (или даже ПК) общего назначения, используется в качестве дешевого варианта массивно-параллельного компьютера. Для связи узлов используется одна из стандартных сетевых технологий (Fast/Gigabit Ethernet, Myrinet) на базе шинной архитектуры или коммутатора. При объединении в кластер компьютеров разной мощности или разной архитектуры, говорят о гетерогенных (неоднородных) кластерах.массивно-параллельного Примеры NT-кластер в NCSA, Beowulf-кластеры.NT-кластерBeowulf Масштабируемость Узлы кластера могут одновременно использоваться в качестве пользовательских рабочих станций. В случае, когда это не нужно, узлы могут быть существенно облегчены и/или установлены в стойку. Операционная система Используются стандартные для рабочих станций ОС, чаще всего, свободно распространяемые - Linux/FreeBSD, вместе со специальными средствами поддержки параллельного программирования и распределения нагрузки. Модель программирования Программирование, как правило, в рамках модели передачи сообщений (чаще всего - MPI). Дешевизна подобных систем оборачивается большими накладными расходами на взаимодействие параллельных процессов между собой, что сильно сужает потенциальный класс решаемых задач. Используются стандартные для рабочих станций ОС, чаще всего, свободно распространяемые - Linux/FreeBSD, вместе со специальными средствами поддержки параллельного программирования и распределения нагрузки.MPI

Классификация вычислительных систем Классификация Флинна Классификация Хокни Классификация Фенга Классификация Дункана Классификация Хендлера Классификация Шнайдера Классификация Скилликорна

Классификация Флина SISD (single instruction stream / single data stream) - одиночный поток команд и одиночный поток данных. SIMD (single instruction stream / multiple data stream) - одиночный поток команд и множественный поток данных. MISD (multiple instruction stream / single data stream) - множественный поток команд и одиночный поток данных. MIMD (multiple instruction stream / multiple data stream) - множественный поток команд и множественный поток данных.

Архитектуры ЭВМ MIMD-архитектура MISD-архитектура SIMD- архитектура SISD- архитектура

Классификация Хокни

Примеры классификации Флина SISD – PDP-11, VAX 11/780, CDC 6600 и CDC 7600 SIMD – ILLIAC IV, CRAY-1 MISD – нет MIMD – большинство современных машин Примеры классификации Хокни MIMD конвейерные – Denelcor HEP MIMD переключаемые с распределенной памятью – PASM, PRINGLE MIMD переключаемы с общей памятью – CRAY X-MP, BBN Butterfly MIMD звездообразная сеть – ICAP MIMD регулярные решетки – Intel Paragon, CRAY T3D MIMD гиперкубы – NCube, Intel iPCS MIMD с иерархической структурой (кластеры) – Cm*, CEDAR

Классификация Фенга Любую вычислительную систему C можно описать парой чисел (n, m) и представить точкой на плоскости в системе координат длина слова - ширина битового слоя. Площадь прямоугольника со сторонами n и m определяет интегральную характеристику потенциала параллельности P архитектуры и носит название максимальной степени параллелизма вычислительной системы: P(C)=mn.

Примеры классификации Фенга Разрядно-последовательные пословно-последовательные (n=m=1): MINIMA с естественным описанием (1,1) Разрядно-параллельные пословно-последовательные (n>1; m=1): IBM 701 с описанием (36,1), PDP-11 (16,1), IBM 360/50, VAX 11/780 - обе с описанием (32,1) Разрядно-последовательные пословно-параллельные (n=1; m>1): STARAN (1, 256) и MPP (1,16384) фирмы Goodyear Aerospace, прототип системы ILLIAC IV компьютер SOLOMON (1, 1024), ICL DAP (1, 4096). Разрядно-параллельные пословно-параллельные (n>1; m>1): ILLIAC IV (64, 64), TI ASC (64, 32), C.mmp (16, 16), CDC 6600 (60, 10), BBN Butterfly GP1000 (32, 256).

Классификация Дункана

Классификация Хендлера t(C) = (k, d, w) t( PEPE ) = (k×k',d×d',w×w') где: k - число процессоров (каждый со своим УУ), работающих параллельно k' - глубина макроконвейера из отдельных процессоров d - число АЛУ в каждом процессоре, работающих параллельно d' - число функциональных устройств АЛУ в цепочке w - число разрядов в слове, обрабатываемых в АЛУ параллельно w' - число ступеней в конвейере функциональных устройств АЛУ t(n,d,w)=[(1,d,w)+...+(1,d,w)]{n раз}

Примеры классификации Хендлера t( MINIMA ) = (1,1,1); t( IBM 701 ) = (1,1,36); t( SOLOMON ) = (1,1024,1); t( ILLIAC IV ) = (1,64,64); t( STARAN ) = (1,8192,1) - в полной конфигурации; t( C.mmp ) = (16,1,16) - основной режим работы; t( PRIME ) = (5,1,16); t( BBN Butterfly GP1000 ) = (256,~1,~32). t( TI ASC ) = (1,4,64×8) t(CDC 6600) = (1,1×10,~64) t( PEPE ) = (1×3,288,32) t( CDC 6600 ) = (10,1,12) × (1,1×10,64), t( PEPE ) = t( CDC 7600 ) × (1×3, 288, 32) = = (15, 1, 12) × (1, 1×9, 60) × (1×3, 288, 32) (15, 1, 12) × (1, 1×9, 60) = [(1, 1, 12) (1, 1, 12)]} {15 раз} × (1, 1×9, 60) t( C.mmp ) = (16, 1, 16) V (1×16, 1,1 6) V (1, 16, 16).

Классификация Шнайдера Поток ссылок: S = { (a1 ) (a2 )..., (b1 ) (b2 )..., (c1 )(c2 )...} I – поток команд; D – поток данных; (I, D) – вычислительный шаблон; Sa =,,... Sv =,,... w(Sx) = n w(Sa) = |S| w(Sv) = n|S|, Компьютер может быть описан следующим образом: I w(Ia)w(Iv) D w(Da)w(Dv) Примеры I1,1D1,1 I1,1D1,16384 I1,1D64,64 Каждую пару (I, D) с потоком команд I и потоком данных D будем называть вычислительным шаблоном, а все компьютеры будем разбивать на классы в зависимости от того, какой шаблон они могут исполнить. В самом деле, компьютер может исполнить шаблон (I, D), если он в состоянии: выдать w(Ia) адресов команд для одновременной выборки из памяти; декодировать и проинтерпретировать одновременно w(Iv) команд; выдать одновременно w(Da) адресов операндов и выполнить одновременно w(Dv) операций над различными данными.

Классы компьютеров IssDss - фон-неймановские машины; IssDsc - фон-неймановские машины, в которых заложена возможность выбирать данные, расположенные с разным смещением относительно одного и того же адреса, над которыми будет выполнена одна и та же операция. Примером могут служить компьютеры, имеющие команды, типа одновременного выполнения двух операций сложения над данными в формате полуслова, расположенными по указанному адресу. IssDsm - SIMD компьютеры без возможности получения уникального адреса для данных в каждом процессорном элементе, включающие MPP, Connection Machine 1 так же, как и систолические массивы. IssDcc - многомерные SIMD машины - фон-неймановские машины, способные расщеплять поток данных на независимые потоки операндов; IssDmm - это SIMD компьютеры, имеющие возможность независимой модификации адресов операндов в каждом процессорном элементе, например, ILLIAC IV и Connection Machine 2. IscDcc - вычислительные системы, выбирающие и исполняющие одновременно несколько команд, для доступа к которым используется один адрес. Типичным примером являются компьютеры с длинным командным словом (VLIW). IccDcc - многомерные MIMD машины. Фон-неймановские машины, которые могут расщеплять свой цикл выборки/выполнения с целью обработки параллельно нескольких независимых команд. ImmDmm - к этому классу относятся все компьютеры типа MIMD.

Классификация Скилликорна Архитектура любого компьютера состоит из: процессора команд (IP –Instruction Processor); процессора данных (DP – Data Processor); иерархии памяти (IP – Instruction Memory, DM – Data Memory); переключатели. Четыре типа переключателей: переключатель такого типа связывает пару функциональных устройств; n-n - переключатель связывает i-е устройство из одного множества устройств с i-м устройством из другого множества, т.е. фиксирует попарную связь; 1-n - переключатель соединяет одно выделенное устройство со всеми функциональными устройствами из некоторого набора; nxn - каждое функциональное устройство одного множества может быть связано с любым устройством другого множества, и наоборот. Классификация Скилликорна проводится на основе восьми характеристик: количество процессоров команд (IP); число запоминающих устройств (модулей памяти) команд (IM); тип переключателя между IP и IM; количество процессоров данных (DP); число запоминающих устройств (модулей памяти) данных (DM); тип переключателя между DP и DM; тип переключателя между IP и DP; тип переключателя между DP и DP.

Примеры классификации Скилликорна Connection Machine 2 (1, 1, 1-1, n, n, n-n, 1-n, nxn) BBN Butterfly, C.mmp (n, n, n-n, n, n, nxn, n-n, нет),

Когерентность памяти. Коммутаторы ВС. 1.Организация когерентности многоуровневой иерархической памяти a)классифицировать по способу размещения данных в иерархической памяти и способу доступа к этим данным b)Однопроцессорный подход к организация механизма неявной реализации когерентности c)Многопроцессорный подход к организация механизма неявной реализации когерентности в системах с сосредоточенной памятью d)Многопроцессорный подход к организация механизма неявной реализации когерентности в системах физически распределенной памятью e)Механизм реализации когерентности и его особенности f)Реализация коммутационной среды 2.Коммутаторы вычислительных систем a)Общие сведения о коммутаторах. Различия между коммутаторами ВС. b)Простые коммутаторы с временным разделением c)Алгоритмы арбитража простых коммутаторов с временным разделением. d)Особенности реализации шин. Недостатки шинных структур. e)Простые коммутаторы с пространственным разделением. f)Составные коммутаторы: коммутаторы 2x2, коммутаторы Клоза, распределенные составные коммутаторы.

Классифицировать по способу размещения данных в иерархической памяти и способу доступа к этим данным Явное размещение данных; явное указание доступа к данным (send, receive). Неявное размещение данных; неявное указание доступа к данным (load, store). Неявное размещение данных как страниц памяти; явное указание доступа к данным. Явное размещение данных с указанием разделяемых модулями страниц; неявное указание доступа к данным посредством команд load, store.

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

Многопроцессорный подход к организация механизма неявной реализации когерентности в системах с сосредоточенной памятью Алгоритм поддержки когерентности кэшей – MESI (Modified, Exclusive, Shared, Invalid), представляет собой организацию когерентности кэш- памяти с обратной записью. М – строка модифицирована (доступна по чтению и записи только в этом ВМ, потому что модифицирована командой записи по сравнению со строкой основной памяти); Е – строка монопольно копированная (доступна по чтению и записи в этом ВМ и в основной памяти); S – строка множественно копированная или разделяемая (доступна по чтению и записи в этом ВМ, в основной памяти и в кэш-памятях других ВМ, в которых содержится ее копия); I – строка, невозможная к использованию (строка не доступна ни по чтению, ни по записи).

Многопроцессорный подход к организация механизма неявной реализации когерентности в системах физически распределенной памятью Когерентность кэшей обеспечивается следующим. При обращении к кэш-памяти в ходе операции записи данных, после самой записи, процессор приостанавливается до тех пор пока не выполнится последовательность действий: измененная строка кэша пересылается в резидентную память модуля, затем, если строка была разделяемой, она пересылается из резидентной памяти во все модули, указанные в списке разделяющих эту строку. После получения подтверждений, что все копии изменены, резидентный модуль пересылает в процессор, приостановленный после записи, разрешение продолжать вычисления. Для обеспечения наименьших простоев процессоров можно использовать алгоритм DASH.

Пример обеспечения когерентности памятей ВМ

Реализация коммутационной среды Адаптер ВМ Соединение ВМ в коммутационную сеть

Простые коммутаторы с временным разделением

Алгоритмы арбитража. Статические приоритеты

Алгоритмы арбитража. Динамические приоритеты

Алгоритмы арбитража. Голосование

Алгоритмы арбитража. Независимые запросы

Простые коммутаторы с пространственным разделением

Прямоугольные коммутаторы 2х2

Коммутатор Клоза

Распределенные составные коммутаторы

Ссылки в сети Internet Оценка производительности ВС Параллельная обработка данных Конвейерная обработка данных

Ссылки в сети Internet Анализ мультипроцессорных систем с иерархической памятью Языки параллельной обработки Архитектура и топология многопроцессорных вычислительных систем Эволюция языков программировния Специализирванные параллельные языки и расширения существующих языков Основные классы современных параллельных компьютеров Управление процессорами Мультипроцессорные системы Архитектура и топология многопроцессорных вычислительных систем Системы параллельной обработки данных

Ссылки в сети Internet Классификация ВС Обо всем ОБЗОР АРХИТЕКТУР МНОГОПРОЦЕССОРНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ Частичный лекционный курс особенности проектирования высокопроизводительных процессоров Основные классы современных параллельных компьютеров Процессоры

Ссылки в сети Internet Иерархическая память многопроцессорных ВС Анализ мультипроцессорных систем с иерархической памятью Многопроцессорные системы Распределенная общая память Механизм когерентности обобщенного кольцевого гиперкуба Коммутаторы для многопроцессорных вычислительных систем Архитектуры с распределенной разделяемой памятью Коммутаторы для кластеров Архитектура высокопроизводительного коммутатора