Арифметическо-логическое устройство (АЛУ). Структура АЛУ. Регистровая АЛУ разрядно-модульного типа, страница 25

Конвейерная обработка в вычислителях

          В RISC процессорах большинство команд представляет собой RG®RC и их машинный цикл состоит из двух фаз: I – фазы выборки; Е – фазы выполнения.

          В этом случае конвейер получается двухфазным и операции не равны по своей длине. Поэтому фазу исполнения подразделяют как бы на 2 фазы: именно фаза исполнения (Е) и фаза обращения к памяти (D). D – подразумевает чтение информации или размещение информации в памяти, т.е. конвейер приобретает в этом случае следующий вид.

М®А

Загрузка

I

E

D

М®В

Загрузка

I

E

D

А+В=С

Сложить

I

E

С®М

Запомнить

I

E

D

Х

Ветвление

I

E

NOP

I

E

I – выборка команды

E – исполнение команды

D – обращение к памяти

На этом рисунке совмещаются 2 операции – это исполнение и выборка. Вычисление результата в двух различных командах выполняется одновременно, однако размещение результата не может быть совмещено во времени в двух командах, т.к. обращение…

Снижение быстродействия вызвано следующим:

-  использование однопортовых ОЗУ;

-  использование команды  NOP после ветвления для того, чтобы синхронизировать работу ВС.

В некоторых структурах используются двухпортовые ОЗУ, тогда

М®А

Загрузка

I

E

D

М®В

Загрузка

I

E

D

А+В=С

Сложить

I

E

С®М

Запомнить

I

E

D

Х

Ветвление

I

E

NOP

I

E

Отсутствуют провалы (дыры) за счёт команды NOP

          В этом случае используется трёхступенчатый конвейер и для того, чтобы обеспечить синхронизацию, т.е. выполнять операцию сложения в тот момент времени, когда готовы все операнды для её выполнения, вводится пустая операция NOP. Эта структура позволяет повысить быстродействие почти в 3 раза. Однако максимального быстродействия не достигается из-за того, что в командах ветвления необходимо введение дополнительной команды MOP для обеспечения синхронизации.

          Конвейерный режим функционирует в системах оптимально только тогда, когда все фазы имеют одинаковую длину. Обычно фаза Е длиннее фазы I. Поэтому её разбивают на две Е1 и Е2. Е1 – это считывание информации из регистрового файла; Е2 – выполнение операции в АЛУ и запись результата в регистровый файл.

          Эти две операции практически одинаковы по своей длине.

М®А

Загрузка

I

E1

Е2

D

М®В

Загрузка

I

E1

Е2

D

А+В=С

Сложить

I

E1

Е2

С®М

Запомнить

I

E1

Е2

D

Х

Ветвление

I

E1

Е2

NOP

I

E1

Е2