Параллельные компьютерные архитектуры

Физика билеты к экзамену
 
Элементы интерфейса
Панель инструментов
Операции с документом
Вспомогательные средства
работы
Палитра Navigator
Структура растровых
изображений
Цвета и оттенки
Плашечные цвета
Индексированный цвет
Формат PCD
Инструмент Eyedropper
Профиль монитора
Рисование и заливка
Создание узора
Использование слоев
Прозрачность и режим
наложения
Инструмент Magic Eraser
Удаление каймы
Эффекты
Текст в оболочке
Атрибуты
Тоновая коррекция
Последовательность коррекции
Эффект внутренней тени
Эффект складок
Описание контуров
Затемнение фрагмента
Фильтр Cracelure (Кракелюры)
Немного о технологии
Параметры растрирования
Формат JPEG
Определение состояний
Операции
Вложенные операции
Панель инструментов
Наборы слоев
Маски
Контур и выделение
Редактирование контура
Коррекция тонового интервала
Коррекция по цветовым
каналам
Растровые изображения
Цифровые и аналоговые сигналы
Мультимедиа
Анимация
Дифференциальное и
интегральное исчисление
Математический анализ
Пределы примеры вычислений
Производные и дифференциалы
Комплексные числа
Линейные пространства
Нахождение производной функции
Точки разрыва функции
Инженерная графика
Параллельные компьютерные
архитектуры
OrCAD Capture редактор схем
Уровень микроархитектуры

Хотя тактовая частота постоянно растет, скорость коммутации нельзя увеличивать бесконечно. Главной проблемой остается скорость света — невозможно заставить протоны и электроны двигаться быстрее. Из-за высокой теплоотдачи компьютеры превратились в кондиционеры. Наконец, поскольку размеры транзисторов постоянно уменьшаются, в конце концов наступит время, когда каждый транзистор будет состоять из нескольких атомов, поэтому основной проблемой могут стать законы квантовой механики (например, принцип неопределенности Гейзенберга). На следующем уровне возможно внедрение в систему внешних плат ЦП с улучшенными вычислительными возможностями. Как правило, в подключаемых процессорах реализуются специальные функции, такие как обработка сетевых пакетов, обработка мультимедийных данных, криптография и т. д Параллелизм на уровне команд Низкоуровневый параллелизм достигается, в частности, вызовом нескольких команд за один тактовый цикл. Процессоры, в которых реализуется этот принцип, делятся на две категории: суперскалярные и VLIW. Нелишне заметить, что параллелизм на уровне команд не является единственно возможной формой низкоуровневого параллелизма. Существует также параллелизм на уровне памяти, предусматривающий одновременное исполнение в памяти множества операций VLIW-процессор TriMedia В процессоре ТМ3260 есть 11 функциональных блоков, предназначенных для выполнения арифметических, логических и управляющих операций (также есть блок управления кэшем, но его мы рассматривать не будем)

Блок загрузки и сохранения считывает слова из памяти в регистры и записывает их обратно. По большому счету, TriMedia — это RISC-процессор с расширенной функциональностью, поэтому обычные операции выполняются с регистрами, а обращения к памяти осуществляются при помощи функционального блока загрузки и сохранения. Во многих из этих операций применяется отсечение — методика, в которой операнд «загоняется» в определенный диапазон, исходя из минимальных или максимальных значений операндов вне этого диапазона. Транспонирование можно провести за 12 операций, каждая из которых загружает байты в новые регистры, после которых должно быть выполнено еще 12 операций, помещающих эти байты по назначению (отметьте, что четыре диагональных байта при транспонировании не перемещаются). Внутрипроцессорная многопоточность Для всех современных конвейеризованных процессоров характерна одна и та же проблема — если при запросе к памяти слово не обнаруживается в кэшах первого и второго уровней, на загрузку этого слова в кэш уходит длительное время, в течение которого конвейер простаивает. Обращениями к памяти причины простоя не ограничиваются

Многопоточность в Pentium 4 Разобравшись с теорией многопоточности, рассмотрим практический пример — Pentium 4. Уже на этапе разработки этого процессора инженеры Intel продолжали работу над повышением его быстродействия без внесения изменений в программный интерфейс. Наконец, можно реализовать многопоточность. Преимущество этой технологии состоит во введении дополнительного программного потока, позволяющего ввести в действие те аппаратные ресурсы, которые в противном случае простаивали бы. Противоположность жесткого разделения — полное разделение ресурсов Однокристальные мультипроцессоры Многопоточность позволяет добиться существенного повышения производительности при разумных затратах, однако некоторым приложениям нужна значительно большая производительность, и многопоточностью тут уже не обойтись Гетерогенные однокристальные мультипроцессоры

Гетерогенные мультипроцессоры также устанавливаются в моделях сотовых телефонов (CDMA или GSM), укомплектованных фото- и видеокамерами, игровыми приложениями, браузерами, клиентами электронной почты, приемниками цифрового спутникового сигнала и средствами беспроводного подключения к Интернету Архитектура CoreConnect состоит из трех шин. Шина процессора представляет собой высокоскоростную синхронную конвейеризированную шину с 32, 64 или 128 информационными линиями, работающими на тактовой частоте 66, 133 или 183 МГц. Сопроцессоры Разобравшись с методами реализации внутрипроцессорного параллелизма, рассмотрим варианты повышения быстродействия компьютера за счет введения второго, специализированного, процессора. Хотя многим кажется, что Интернет является глобальной сетью, технически он представляет собой объединение большого числа разнообразных сетей. Далее пакет (включающий в себя IP-заголовок, TCP-заголовок и сам запрос GET PAGE) передается «вниз» на уровень канала передачи данных, который добавляет к пакету свой заголовок и передает пакет по линии связи.

Второй подход основан на использовании программируемых вентильных матриц (Field Programmable Gate Array, FPGA). Такая матрица представляет собой набор вентилей, из которых путем перекоммутации строится требуемая схема. Есть два подхода к организации РРЕ-контроллеров. В простейшем случае все РРЕ-контроллеры делаются идентичными. Когда в сетевой процессор приходит новый пакет, он передается для обработки тому РРЕ-контроллеру, который в данный момент бездействует Независимо от того, имеет сетевой процессор конвейерную или параллельную организацию, каждый прибывший пакет проходит несколько этапов обработки Разбивка и сборка. Приложения часто максимально увеличивают полезную нагрузку (данные) TCP-пакетов, стараясь сократить количество системных вызовов, но и у TCP, и у IP, и у Ethernet есть ограничения на максимальный размер пакета. Производительность — это самая главная характеристика сетевых процессоров. Что можно сделать для ее повышения? Прежде чем ответить на этот вопрос, необходимо определить, что это такое

Мультимедиа-процессоры Еще одна область применения сопроцессоров — обработка фотографических изображений высокого разрешения, а также аудио- и видеопотоков. В функции вывода входят преобразование структур данных в форму, пригодную для принимающих устройств, объединение нескольких источников данных (видео, аудио, изображения, двухмерная графика), управление выходными устройствами. Ядро управляется кварцевым генератором с частотой 27 МГц, которая умножается на 64 и дает сигнал на частоте 1,728 ГГц, использующийся везде в процессоре Декодер длины продолжает начатое предыдущим ядром декодирование, позволяя избавиться от последствий кодирования с переменной длиной слова, характерного для формата MPEG-2 (и MPEG-1). Ядро обработки графики строит изображения двухмерных объектов по их описаниям. Кроме того, оно может заполнять цветом замкнутые области и выполнять графические операции поблочной пересылки данных (bitblt), которые сводятся к тому, что соответствующие пиксельные карты объединяются с помощью функций AND, OR, XOR или других булевых функций.Выходной маршрутизатор определяет, выход какого из двух ядер должен выводиться на контакты процессора, а также может выполнять некоторые дополнительные действия.

Мультипроцессоры Мы выяснили, как ввести в однопроцессорную систему параллелизм, добавив в нее сопроцессор. Следующий шаг — объединение нескольких полноценных процессоров в одну большую систему. Мультикомпьютеры Во втором варианте параллельной архитектуры каждый процессор имеет собственную память, доступную только этому процессору. Такая схема называется мультикомпьютером, или системой с распределенной памятью Возникает вопрос: зачем вообще создавать мультикомпьютеры, если мультипроцессоры гораздо проще программировать? Ответ прост: создать большой мультикомпьютер проще и дешевле, чем мультипроцессор с таким же количеством процессоров Второй подход — использовать аппаратное обеспечение мультикомпыотера и операционную систему, которая будет моделировать общую память, предоставляя единое виртуальное адресное пространство, разбитое на страницы.

Классификация параллельных компьютерных систем MISD (Multiple Instruction-stream Single Data-stream — несколько потоков команд с одним потоком данных) — довольно странная категория. Здесь несколько команд оперируют одним набором данных. Во вторую основную категорию MIMD-машин попадают мультикомпьютеры, которые в отличие от мультипроцессоров не имеют общей памяти на архитектурном уровне. Другими словами, операционная система процессора, входящего в состав мультикомпьютера, не сможет получить доступ к памяти другого процессора, просто выполнив команду LOAD. Семантику памяти можно рассматривать как контракт между программным и аппаратным обеспечением памяти [4]. Если программное обеспечение соглашается следовать определенным правилам, то память соглашается выдавать определенные результаты Процессорная состоятельность — не слишком строгая модель, но зато ее легче реализовать на больших мультипроцессорах.

Слабая состоятельность В модели слабой состоятельности не гарантируется, что операции записи, произведенные одним процессором, будут восприниматься другими в том же порядке Мультипроцессоры в симметричных мультипроцессорных архитектурах Согласованность кэшей Самый простой протокол согласования кэшей называется сквозной записью (write through). Еще один вариант — загрузка следящего кэша при кэш-промахах записи. Такая загрузка никак не сказывается на правильности алгоритма; она влияет только на производительность.

Одним из популярных протоколов отложенной записи является протокол MESI (Invalid, Shared, Exclusive, Modified — недействительный, разделяемый, эксклюзивный, модифицированный), названный так по первым буквам четырех возможных состояний элементов кэша ИМА-мультипроцессоры с перекрестной коммутацией На каждом пересечении горизонтальной (входящей) и вертикальной (исходящей) линии находится коммутационный узел, который можно открыть или закрыть в зависимости от того, нужно соединить горизонтальную и вертикальную линии или нет Все коммутаторы второй ступени, включая 2D, для определения направления используют второй бит. Совершенно очевидно, что обращения к памяти желательно равномерно распределять по модулям памяти. Один из возможных способов — использовать младшие биты в качестве номера модуля.

Согласованность памяти в КС-ШМА-машине гарантирована, поскольку в ней отсутствует кэш-память. Каждое слово памяти может находиться только в одном месте, поэтому нет никакой опасности появления копии с устаревшими данными — здесь вообще нет копий. Чтобы понять, как работает каталог, проследим путь команды LOAD из процессора 20, который обращается к кэшированной строке. Еще одна проблема данной схемы — как проверять, обновлена исходная память или нет. Если нужно считать строку кэша, которая не изменялась, запрос может быть удовлетворен из основной памяти, и при этом не нужно направлять запрос в кэш Подсистема памяти — сердце любого мультипроцессора Каждый набор плат состоит из трех плат: платы процессор-память, платы ввода-вывода и платы расширения, соединяющей две предыдущие платы Предположим теперь, что блок находится в эксклюзивном доступе удаленной платы Однако существует мультипроцессор, в котором все эти проблемы решаются за счет использования основной памяти каждого процессора в качестве кэш-памяти.

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

Процессоры с массовым параллелизмом (Massively Parallel Processors, МРР) — это огромные суперкомпьютеры стоимостью в несколько миллионов долларов. В качестве первого примера процессор а с массовым параллелизмом рассмотрим систему IBM BlueGene Два процессора на этой микросхеме идентичны, но программируются отдельно. Первый предлагается использовать для вычислений, а второй — для взаимодействия с остальными 65 535 узлами. Система представляет собой мультикомпьютер в том смысле, что ни один из процессоров не имеет непосредственного доступа к памяти, если не считать 512 Мбайт собственной памяти на плате Третья сеть используется для глобальных приостановок и прерываний Еще одной ключевой характеристикой Opteron является тщательная проработка вопросов пропускной способности памяти. Система при помощи механических переключателей разбивается на две части, секретную и несекретную, которые при необходимости можно разъединять. Сравнение систем BlueGene/L и Red Storm

[an error occurred while processing this directive]