Архитектуры процессоров. Ульянов М.В. - 26 стр.

UptoLike

Составители: 

- 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 справа.