Читайте также:
|
|
Особенность конвейерных принципов - возможно распараллеливание алгоритмов, не имеющих возможность независимого распараллеливания(по принципу поэлементной обработки).
При этом каждый процессор (ступень, сегмент, стадия) настраивается на выполнение определенного алгоритма (программы).
Пример. сложение двух чисел с плавающей точкой.
На вход конвейера поступает поток пар чисел.
Пусть в ПБ1 осуществляется нормализация чисел, в ПБ2 – сравнение порядков, в ПБ3 – сдвиг мантисс и выравнивание порядков, ПБ4 – сложение мантисс, ПБ5 – нормализация результата.
В конвейерной обработке имеют место фазы:
- процесс загрузки конвейера
- процесс выгрузки конвейера (когда прерывается входной поток)
Рассмотрим достоинства и недостатки конвейерной архитектуры:
Предположим, что поток данных последовательно поступает на один универсальный процессор, следовательно, время обработки данных в каждом блоке, к примеру:
t(БП1)= 10 нс t(БП2)=6 нс t(БП3)=10 нс t(БП4)=12 нс t(БП5) = 10 нс.
При реализации обработки данных на конвейере, во – первых, необходимо, чтобы время работы каждого блока было одинаковым (так как пропускная способность на входе и выходе конвейера должна быть одинакова). Если в универсальном процессоре tобщ=48 нс, то время работы каждого блока в конвейере: 48/4=12 нс.
Теперь предположим, что нет потока, а есть только одна пара чисел, которую надо сложить. На конвейере эта операция займет tобщ=5*12=60 нс., в то время как на универсальном процессоре – 48 нс.
Вывод:
Для эффективной работы конвейера необходимо:
Иметь достаточно большой размерности поток входных данных, чтобы время загрузки данных было меньше, чем время работы всего конвейера. И при этом результат на выходе будет появляться через каждые 12 нс. В данном случае имеем повышение производительности по сравнению с однопроцессорной реализацией в 4 раза.
Следует обратить внимание, что хоть имеет место 5 одновременно работающих ПБ, повышение производительности может быть достигнуто не более, чем в 4 раза.
Достоинством конвейерной архитектуры является то, что не стоит задумываться о разветвлении алгоритмов программным путем, главный принцип работы - готовность данных. Если данные не готовы, то необходимо осуществлять обращение к памяти за счет чего падает активность работы.
Дата добавления: 2015-11-16; просмотров: 67 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Редукционные машины | | | Кластерные системы. Концепция GRID и метакомпьютинг. |