ВУЗ:
Составители:
- 26 -
4.6 Проблемы конвейерных процессоров:
a) Стоимость аппаратных средств. Стоимость аппаратной реализации
растёт за счёт конвейерных блоков, входных и выходных регистров
блоков, особенно для конвейеров в ширину и конвейера команд;
b) Обработка особых ситуаций. На одном из конвейерных сегментов
возникает ситуация, аналогичная программному прерыванию в фон -
Неймановском процессоре - например - результат сложения
порядков
превышает разрядную сетку числа. При этом возникает проблема ос-
тановки конвейера, и, следовательно, обработка особых ситуаций в
конвейерном процессоре будет более сложной.
c) Синхронизация. Устройство управления должно выполнять синхрони-
зацию конвейерных блоков, конвейера команд и конвейера данных.
4.7 Особенности программирования конвейерных процессоров.
Собственно наличие аппаратно реализованного конвейера данных и кон-
вейера команд еще не означает значительного увеличения наблюдаемой скоро-
сти работы процессора из-за наличия ряда условий, при которых конвейер дан-
ных может быть нормально загружен - это отсутствие связей по данным и свя-
зей по управлению в потоке конвейеризируемых команд
Связанные по данным операции - это ситуация, при которой результат
предыдущей (не
обязательно непосредственно, но в рамках глубины конвейера)
команды является операндом следующей:
Y ← D*C;
……….
Z ← Y*E:
В этой ситуации команда умножения Y*E должна быть задержана до вы-
хода значения Y из конвейера умножения, как результата умножения D*C.
Таким образом, необходимы особые подходы к программированию кон-
вейерных процессоров, которые мы продемонстрируем на следующих двух за-
дачах:
1. Задача суммирования элементов массива:
Приемлемый для конвейера алгоритм должен обеспечить поток
несвязан-
ных операндов сложения, что приводит к алгоритму попарного сложения, схе-
ма которого в виде бинарного дерева сложений глубиной log
2
N приведена на
рис 4.6 справа.
- 26 -
4.6 Проблемы конвейерных процессоров:
a) Стоимость аппаратных средств. Стоимость аппаратной реализации
растёт за счёт конвейерных блоков, входных и выходных регистров
блоков, особенно для конвейеров в ширину и конвейера команд;
b) Обработка особых ситуаций. На одном из конвейерных сегментов
возникает ситуация, аналогичная программному прерыванию в фон -
Неймановском процессоре - например - результат сложения порядков
превышает разрядную сетку числа. При этом возникает проблема ос-
тановки конвейера, и, следовательно, обработка особых ситуаций в
конвейерном процессоре будет более сложной.
c) Синхронизация. Устройство управления должно выполнять синхрони-
зацию конвейерных блоков, конвейера команд и конвейера данных.
4.7 Особенности программирования конвейерных процессоров.
Собственно наличие аппаратно реализованного конвейера данных и кон-
вейера команд еще не означает значительного увеличения наблюдаемой скоро-
сти работы процессора из-за наличия ряда условий, при которых конвейер дан-
ных может быть нормально загружен - это отсутствие связей по данным и свя-
зей по управлению в потоке конвейеризируемых команд
Связанные по данным операции - это ситуация, при которой результат
предыдущей (не обязательно непосредственно, но в рамках глубины конвейера)
команды является операндом следующей:
Y ← D*C;
……….
Z ← Y*E:
В этой ситуации команда умножения Y*E должна быть задержана до вы-
хода значения Y из конвейера умножения, как результата умножения D*C.
Таким образом, необходимы особые подходы к программированию кон-
вейерных процессоров, которые мы продемонстрируем на следующих двух за-
дачах:
1. Задача суммирования элементов массива:
Приемлемый для конвейера алгоритм должен обеспечить поток несвязан-
ных операндов сложения, что приводит к алгоритму попарного сложения, схе-
ма которого в виде бинарного дерева сложений глубиной log2N приведена на
рис 4.6 справа.
Страницы
- « первая
- ‹ предыдущая
- …
- 24
- 25
- 26
- 27
- 28
- …
- следующая ›
- последняя »
