Структура конвейера данных

Структура конвейера данных

Создание конвейера предполагает выполнение следующих действий:

  1. Деление машиной команды на этапы;
  2. Аппаратная реализация этапов в виде конвейерных блоков (сегментов);
  3. Создание входных / выходных регистров блоков для передачи результатов.

Структура конвейера данных

Таким образом каждый сегмент конвейера имеет структуру, показанную на рис 4.3, где ОР1 и ОР 2 — входные и выходные операнды блока (регистры), а R — поле результата

Последовательно соединяя конвейерные блоки (сегменты) в порядке следования этапов выполнения машинной команды мы получаем конвейер данной машинной операции для обработки потока данных, в связи с чем такие конвейеры получили название конвейеров данных.

Сокращение времени при использовании конвейера данных

Пусть при конвейерной обработке машинная команда, разбивается на несколько (допустим, n) блоков, и каждая пара операндов последовательно обрабатывается в каждом таком блоке, начиная с первого по н-й, причем, как только одна пара операндов заканчивает обрабатываться на некотором операционном блоке, то этот блок начинает обрабатывать пару другую пару операндов, переданных с предыдущего блока.

Таким образом, все блоки операционного конвейера работают одновременно и выполняют н разных этапов обработки для н разных пар операндов. Допустим, что конвейер спроектирован таким образом, что время прохождения одной пары операндов в обычном АЛУ и конвейере одинаково и равно Т, а число пар операндов, которые можно последовательно пропускать через конвейер, достаточно велико и равно N.

В таком случае в исходном операционном блоке АЛУ на выполнение одной операции потребуется время Т, но если используется n-звенный конвейер, то на обработку N операций потребуется время (n + N) • (Т/n).

Яндекс.Метрика