Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
66
Добавлен:
20.04.2015
Размер:
3.36 Mб
Скачать

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

Низкоуровневый параллелизм достигается вызовом нескольких команд за один тактовый цикл

Процессоры, в которых реализуется этот принцип, делятся на две категории: суперскалярные и 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-в);

крупномодульная многопоточность (д)

Соседние файлы в папке Архитектура компьютеров