Читайте также:
|
|
Мелкозернистый параллелизм – это параллелизм в обработке смежных ко
манд, операторов, небольших векторов данных.
Чтобы реализовать этот вид параллелизма, компилятор и аппаратура должны выполнить следующие действия: определить зависимости между операциями; определить операции, которые не зависят ни от каких еще не завершенных операций; спланировать время и место выполнения операций.
В соответствиис этим архитектуры с МЗП можно классифицировать сле-
дующим образом:
1. Последовательностные архитектуры: архитектуры, в которых компиляторне помещает в программу в явном виде какую-либо информацию о параллелизме. Компилятор только перестраивает код для упрощения действий аппа-
ратуры по планированию. Представителями этого класса являются супер-
скалярные процессоры.
2. Архитектуры с указанием зависимостей: в программе компилятором явно представлены зависимости, которые существуют между операциями, неза-
висимость между операциями определяет аппаратура. Этот класс представ-
ляют процессоры потока данных.
3. Независимостные архитектуры: архитектуры, в которых компилятор помещает в программу всю информацию о независимости операций друг от друга. Это VLIW-архитектуры.
Классы микропроцессоров по Фишеру
Тип архитектуры | Кто определяет зависимость по данным | Кто определяет независимость по данным | Кто планирует время и место выполнения | Представители |
Последователь- ностные | Аппаратура | Аппаратура | Аппаратура | Сперскалярный Pentium |
Зависимостные | компилятор | Аппаратура | Аппаратура | Потоковый Pentium Pro |
Независимостн- ые | компилятор | компилятор | компилятор | VLIW про- цессоры |
Суперскалярные процессоры.
В таких архитектурах компилятор не производит выявление параллелизма, поэтому программы для последовательностных архитектур не содержат явно выраженной информации об имеющемся параллелизме, и зависимости между командами должны быть определены аппаратурой.
В некоторых случаях компилятор может для облегчения работы аппаратуры производить упорядочивание команд. Если команда не зависит от всех других команд, она может быть запущена. Возможны два варианта последовательной архитектуры: суперконвейер и суперскалярная организация. В первом случае параллелизм на уровне команд нужен для того, чтобы исключить остановки конвейера. Здесь аппаратура должна определить зависимости между командами и принять решение, когда запускать очередную команду. Если конвейер способен вырабатывать один результат в каждом такте, такой конвейер называется суперконвейером. За счет уменьшения объема работы в одном такте возникает возможность повысить частоту тактирования процессора. При этом, чем длинее конвейер, тем выше частота. Современные конвейеры имеют длину до 30 этапов.
Дальнейшая цель – построение процессора с несколькими конвейерами,
что позволяет запускать несколько команд каждый такт. Такой процессор называется суперскалярным.
Вопросы для самоконтроля
1. Что такое суперскалярные процессоры?
Дата добавления: 2015-07-08; просмотров: 187 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Метод списочных расписаний. | | | ЛЕКЦИЯ 8. |