- •Параллельные
- •Проблемы
- •Уровни параллелизма
- •Уровни параллелизма
- •Уровни параллелизма
- •Уровни параллелизма
- •Сильно связанные процессора
- •Слабо связанные процессора
- ••Внутрипроцессорный параллелизм (а); сопроцессор (б); мультипроцессор (в); мультикомпьютер (г); слабо связанная распределенная вычислительная
- •Внутрипроцессорный
- •Параллелизм на уровне команд
- •Конвейер
- •Внутрипроцессорная
- •VLIW-процессор TriMedia
- ••Мультимедийные операции выполняет обработчик цифровых сигналов
- •Прогнозирование
- •Внутрипроцессорная
- •Мелкомодульная
- •Правило
- •Крупномодульная
- ••Вне зависимости от используемого варианта многопоточности, необходимо как-то отслеживать принадлежность каждой операции к
- •Синхронная
- •Многопоточность в Pentium 4
- ••По результатам экспериментальных исследований разработчики Intel выяснили, что увеличение площади микросхемы на 5
- •Гиперпоточность Intel
- ••В контексте гиперпоточности разработчики Intel выделили четыре полезных стратегии управления совместным потреблением ресурсов:
- ••Разделение ресурсов между программными потоками в микроархитектуре NetBurst, реализованной в Pentium 4
- •Гомогенные
- •однокристальные
- •Портативный DVD-плеер
- •Логическая схема простого DVD-плеера с
- ••Помимо процессоров и памяти, необходимо разработать схему взаимодействия ядер друг с другом
- •Архитектура CoreConnect компании IBM
- •Сопроцессоры
- •Сетевые процессоры
- ••Скорость передачи данных в локальной сети приближается к 40 Гбит/с, а размер пакета
- •ASIC
- •FPGA
- •Сетевой процессор
- •Кристалл и плата
- •РРЕ-контроллер
- ••У всех сетевых процессоров имеется управляющий процессор для выполнения всех действий, не относящихся
- •Мультимедиа-процессоры
- •однокристальный мультипроцессор Nexiperia
- •Криптопроцессоры
- •Основные подходы к защите данных
- •Вопросы?
Параллелизм на уровне команд
•Низкоуровневый параллелизм достигается вызовом нескольких команд за один тактовый цикл
•Процессоры, в которых реализуется этот принцип, делятся на две категории: суперскалярные и VLIW (процессора со сверхдлинным командным словом -Very Long Instruction Word)
Конвейер
процессора (а);
последовательно
сть VLIW-команд
(б);
поток команд с
отмеченными
связками (в)
Внутрипроцессорная
многопоточность
•Для всех современных конвейеризованных процессоров характерна одна и та же проблема — если при запросе к памяти слово не обнаруживается в кэшах первого и второго уровней, на загрузку этого слова в кэш уходит длительное время, в течение которого конвейер простаивает
•Методика решения этой проблемы называется внутрипроцессорной многопоточностью (on-chip multithreading)
•Принцип многопоточности: если программный
поток 1 блокируется, процессор может обеспечить полную загрузку аппаратуры, запустив программный поток 2
VLIW-процессор TriMedia
(Philips)
• В состав одной TriMedia-команды может входить до пяти операций
• Частота процессора составляет 266 или 366 МГц
• Стандартная операциями
• TriMedia может программно декодировать потоковое цифровое видео, поступающее с видеокамеры, сохраняя исходные размер и частоту кадров
•Мультимедийные операции выполняет обработчик цифровых сигналов
•В мультимедийных операциях используется арифметика с насыщением (saturated arithmetic)
Прогнозирование
•В TriMedia операции прогнозируются
•Каждая операция задает регистр, подлежащий проверке перед выполнением этой операции
•Каждая из операций прогнозируется индивидуально
Внутрипроцессорная
многопоточность (on-chip multithreading)
•Для всех современных конвейеризованных процессоров характерна одна и та же проблема
— если при запросе к памяти слово не обнаруживается в кэшах первого и второго уровней, на загрузку этого слова в кэш уходит длительное время, в течение которого конвейер простаивает
Мелкомодульная
многопоточность (fine- grained multithreading)
•Три программных потока.
•Пустые квадраты означают простой в ожидании данных из памяти (a-в);
•мелкомодульная многопоточность (г);
Правило
•Общее правило формулируется так: если
вконвейере k ступеней, но по кругу можно запустить, по меньшей мере, k программных потоков, то в одном потоке
влюбой отдельно взятый момент не может выполняться более одной команды, поэтому конфликты между ними исключены
•В такой ситуации процессор может работать на полной скорости, без простоя
Крупномодульная
многопоточность (coarse- grained multithreading)
•Три программных потока.
•Пустые квадраты означают простой в ожидании данных из памяти (a-в);
•крупномодульная многопоточность (д)