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

UptoLike

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

- 23 -
4.2 Структура конвейера данных
Создание конвейера предполагает выполнение следующих действий:
1) Деление машиной команды на этапы;
2) Аппаратная реализация этапов в виде конвейерных блоков (сегмен-
тов);
3) Создание входных / выходных регистров блоков для передачи ре-
зультатов.
Таким образом каждый сегмент конвейера имеет структуру, показанную
на рис 4.3, где ОР1 и ОР 2 - входные
и выходные операнды блока (регистры), а
R - поле результата
Структура конвейерного сегмента
Рис 4.3
Последовательно соединяя конвейерные блоки (сегменты) в порядке сле-
дования этапов выполнения машинной команды мы получаем конвейер данной
машинной операции для обработки потока данных, в связи с чем такие конвей-
еры получили название конвейеров данных.
4.3 Сокращение времени при использовании
конвейера данных
Пусть при конвейерной обработке машинная команда, как показано на
рис. 4.2, разбивается на несколько (допустим, n) блоков, и каждая пара операн-
дов последовательно обрабатывается в каждом таком блоке, начиная с первого
по n-й, причем, как только одна пара операндов заканчивает обрабатываться на
некотором операционном блоке, то этот блок
начинает обрабатывать пару дру-
гую пару операндов, переданных с предыдущего блока. Таким образом, все
блоки операционного конвейера работают одновременно и выполняют n раз-
ных этапов обработки для n разных пар операндов. Допустим, что конвейер
спроектирован таким образом, что время прохождения одной пары операндов в
обычном АЛУ и конвейере одинаково и равно
Т, а число пар операндов, кото-
рые можно последовательно пропускать через конвейер, достаточно велико и
Входные регистры
Конвейерный блок
Выходные регистры
ОР1 ОР2 R
ОР1 ОР2 R
                                     - 23 -

4.2   Структура конвейера данных
      Создание конвейера предполагает выполнение следующих действий:
        1) Деление машиной команды на этапы;
        2) Аппаратная реализация этапов в виде конвейерных блоков (сегмен-
           тов);
        3) Создание входных / выходных регистров блоков для передачи ре-
           зультатов.
      Таким образом каждый сегмент конвейера имеет структуру, показанную
на рис 4.3, где ОР1 и ОР 2 - входные и выходные операнды блока (регистры), а
R - поле результата
                        Структура конвейерного сегмента

           Входные регистры                       ОР1     ОР2     R

          Конвейерный блок
           Выходные регистры                      ОР1     ОР2    R


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