ВУЗ:
Составители:
выполняются последовательно. Как только конвейер будет заполнен, то после каждого шага
выдается новый результат вне зависимости от числа шагов в этой цепочке.
Скорость конвейера определяется скоростью самого медленного процессора ПЭ
i
, и
поэтому для таких машин существенным является разбиение элементарных вычислительных
конструкций на специализированные этапы, так как самый медленный процессор определяет
тактовую частоту конвейера.
Рассмотрим простой пример сложения двух действительных чисел 13,4+7,66. При
сложении этих чисел можно выделить, по крайней мере, три этапа. На первом этапе делается
выравнивание порядков - т.е. сдвиг второго числа таким образом, чтобы запятые оказались
на одном уровне. На втором этапе суммируются дробные части (мантиссы), при этом может
образовываться единица переноса. На третьем этапе складываются целые части чисел с
прибавлением единицы переноса, если она появилась. Если для каждой операции выделить
отдельный процессор, то суммирование может быть изображено так, как показано на рис.5.7.
ПЭ
1
13,4
+
7,66
13,40
+
07,66
ПЭ
2
13
+
07
+
01,06
ПЭ
n
21,06
Рис.5.7. Разбиение операции сложения по процессорным элементам
Если на последовательной машине процесс сумирования будет занимать один такт
времени, то на конвейере каждый из этапов занимает
3
1
такта. При сложении одной пары
чисел никакого выигрыша во времени не наблюдается, так как
1
3
1
3
1
3
1
=++ .
Теперь предположим, что нам необходимо просуммировать элементы двух массивов
и получить суммы А(k)+B(k), при k=8. На последовательной машине каждое сложение
требует одного такта, и поэтому все суммы будут получены за 8 тактов. На конвейере через
один такт на выходе процессора ПЭ
3
появится результат первой суммы А(1)+В(1), а
результаты последующих сложений будут выдаваться через каждую треть такта. Их остается
семь, поэтому общее время для суммирования восьми чисел
3
1
3
3
1
71 =+ такта.
По сравнению с последовательной обработкой имеется выигрыш во времени более
чем в два раза. В общем случае, если длина конвейера N, каждый этап требует
N
1
такта и
обрабатывается массив длины k, то время обработки будет равно 1+(k-1)/N. Таким образом,
для больших массивов конвейерный процессор считает почти в N раз быстрее, чем обычный.
Преимуществом машин класса МКОД являются регулярные связи между элементами
конвейера и простота программирования; однако, такие машины плохо работают там, где
алгоритм обработки существенно зависит от данных.
МКМД – множественный поток команд, множественный поток данных (рис.5.8)
выполняются последовательно. Как только конвейер будет заполнен, то после каждого шага
выдается новый результат вне зависимости от числа шагов в этой цепочке.
Скорость конвейера определяется скоростью самого медленного процессора ПЭi, и
поэтому для таких машин существенным является разбиение элементарных вычислительных
конструкций на специализированные этапы, так как самый медленный процессор определяет
тактовую частоту конвейера.
Рассмотрим простой пример сложения двух действительных чисел 13,4+7,66. При
сложении этих чисел можно выделить, по крайней мере, три этапа. На первом этапе делается
выравнивание порядков - т.е. сдвиг второго числа таким образом, чтобы запятые оказались
на одном уровне. На втором этапе суммируются дробные части (мантиссы), при этом может
образовываться единица переноса. На третьем этапе складываются целые части чисел с
прибавлением единицы переноса, если она появилась. Если для каждой операции выделить
отдельный процессор, то суммирование может быть изображено так, как показано на рис.5.7.
13,4
+
7,66
ПЭ 1
13,40
+
07,66
ПЭ 2
13
+
07
+
01,06
ПЭ n
21,06
Рис.5.7. Разбиение операции сложения по процессорным элементам
Если на последовательной машине процесс сумирования будет занимать один такт
времени, то на конвейере каждый из этапов занимает 1 такта. При сложении одной пары
3
чисел никакого выигрыша во времени не наблюдается, так как 1 + 1 + 1 = 1 .
3 3 3
Теперь предположим, что нам необходимо просуммировать элементы двух массивов
и получить суммы А(k)+B(k), при k=8. На последовательной машине каждое сложение
требует одного такта, и поэтому все суммы будут получены за 8 тактов. На конвейере через
один такт на выходе процессора ПЭ3 появится результат первой суммы А(1)+В(1), а
результаты последующих сложений будут выдаваться через каждую треть такта. Их остается
1 1
семь, поэтому общее время для суммирования восьми чисел 1 + 7 = 3 такта.
3 3
По сравнению с последовательной обработкой имеется выигрыш во времени более
чем в два раза. В общем случае, если длина конвейера N, каждый этап требует 1 такта и
N
обрабатывается массив длины k, то время обработки будет равно 1+(k-1)/N. Таким образом,
для больших массивов конвейерный процессор считает почти в N раз быстрее, чем обычный.
Преимуществом машин класса МКОД являются регулярные связи между элементами
конвейера и простота программирования; однако, такие машины плохо работают там, где
алгоритм обработки существенно зависит от данных.
МКМД – множественный поток команд, множественный поток данных (рис.5.8)
Страницы
- « первая
- ‹ предыдущая
- …
- 88
- 89
- 90
- 91
- 92
- …
- следующая ›
- последняя »
