Конвейерная обработка
Конвейерная обработка улучшает использование аппаратных ресурсов для заданного набора процессов, каждый из которых применяет эти ресурсы заранее предусмотренным способом. Хорошим примером конвейерной организации является сборочный транспортер на производстве, на котором изделие последовательно проходит все стадии вплоть до готового продукта. Преимущество этого способа состоит в том, что каждое изделие вдоль своего пути использует одни и те же ресурсы и как только некоторый ресурс освобождается данным изделием, он сразу же может быть использован следующим изделием, не ожидая, пока предыдущее изделие достигнет конца сборочной линии. Если транспортер несет аналогичные, но не тождественные изделия, то это – последовательный конвейер; если же все изделия одинаковы, то это – векторный конвейер.
Последовательные конвейеры.На рис. 3.19а показано устройство обработки команд, в котором имеется 4 ступени:
1. выборка команд из памяти;
2. декодирование;
3. определение адреса и выборка операнда;
4. исполнение.
а)
б)
Рис. 3.19. Четырехступенное устройство обработки команд
Ускорение обработки в данном устройстве измеряется отношением времени Ts , необходимого для последовательного выполнения L заданий (т.е. выполнения L циклов на одной обрабатывающей ступени), ко времени Tp выполнения той же обработки на конвейере. Обозначим через ti время обработки на i-той ступени, а через tj - соответствующее время для самой медленной ступени (см. рис.3.19б). Тогда если L заданий (команд) проходят через конвейер с n ступенями, то эффективность конвейера определяется следующим выражением,
для (4.3)
Векторные конвейеры.В них создается множество функциональных элементов, каждый из которых выполняет определенную операцию с парой операндов, принадлежащих двум разным векторам.
Эти пары подаются на функциональное устройство и со всеми элементами пар векторов функциональные преобразования проводят одновременно. Для предварительной подготовки преобразуемых векторов используются векторные регистры, на которые собираются подлежащие обработке вектора.
Типичное использование векторного конвейера – это процесс, вырабатывающий по двум исходным векторам А и В результирующий вектор С для арифметической операции СßА+В. В этом случае на конвейер поступает множество одинаковых команд.
Дата добавления: 2015-11-06; просмотров: 823;