Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LEKTsIYa_6_7.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
186.37 Кб
Скачать

Классификация Фишера для мелкозернистого паралеллизма

Мелкозернистый параллелизм – это параллелизм в обработке смежных ко

манд, операторов, небольших векторов данных.

Чтобы реализовать этот вид параллелизма, компилятор и аппаратура должны выполнить следующие действия: определить зависимости между операциями; определить операции, которые не зависят ни от каких еще не завершенных операций; спланировать время и место выполнения операций.

В соответствиис этим архитектуры с МЗП можно классифицировать сле-

дующим образом:

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

ратуры по планированию. Представителями этого класса являются супер-

скалярные процессоры.

2. Архитектуры с указанием зависимостей: в программе компилятором явно представлены зависимости, которые существуют между операциями, неза-

висимость между операциями определяет аппаратура. Этот класс представ-

ляют процессоры потока данных.

3. Независимостные архитектуры: архитектуры, в которых компилятор помещает в программу всю информацию о независимости операций друг от друга. Это VLIW-архитектуры.

Классы микропроцессоров по Фишеру

Тип архитектуры

Кто определяет зависимость по данным

Кто определяет независимость по

данным

Кто планирует

время и место

выполнения

Представители

Последователь-

ностные

Аппаратура

Аппаратура

Аппаратура

Сперскалярный Pentium

Зависимостные

компилятор

Аппаратура

Аппаратура

Потоковый

Pentium Pro

Независимостн-

ые

компилятор

компилятор

компилятор

VLIW про-

цессоры

Суперскалярные процессоры.

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

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

Дальнейшая цель – построение процессора с несколькими конвейерами,

что позволяет запускать несколько команд каждый такт. Такой процессор называется суперскалярным.

8

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]