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

          Выполнение команды разделяется на следующие этапы:

1)  Выборка команды и формирование адреса следующей команды  и считывание её в буфер.

2)  Дешифрация команды.

3)  Вычисление адресов операндов.

4)  Выборка операндов.

5)  Использование необходимых операндов и размещение результата.


1-я команда

ВК

ДК

ВАО

ВО

¯

М

ИК

¯

М

2-я команда

ВК

ДК

ВАО

ВО

¯

М

ИК

¯

М

3-я команда

ВО

¯

М

ИК

*

4-я команда

ВК

ДК

ВАО

ВО

ИК

Выноска 2 (без границы): Возможно 2 вариантаЭто пятиступенчатый конвейер, т.е. сразу 5 команд.

          В этом случае вместо 20 тактов используется 13. разрывы в процессе выполнения команд обусловлены тем, что в локальный момент времени обращение к памяти может быть только одной команды. Задержки на 5 тактов. Начало выполнения 4-ой команды обусловлено тем, что в эти такты идёт обращение к памяти (®М) трёх предыдущих команд.

          Ситуация, обозначенная * подразумевает 2 варианта:

1)  команда считывается из буфера (ВК), а результат операции 3-ей команды помещается в память.

2)  Команда считывается из памяти (ВК), а результат выполнения 3-ей команды помещается в РОН.

Дальнейшее повышение быстродействия сдерживается:

1)  неодинаковой длительностью информации на различных стадиях выполнения команды, т.е. длительность различных этапов конвейера неодинакова, из-за чего возникают циклы ожидания.

2)  Наличие условных переходов, из-за чего обнуляется весь конвейер (в том числе и буфер команды).

3)  Из-за наличия прерывания.

Выравнивание длительности этапов конвейера возможно:

1)  дальнейшим разбиением команды на подкоманды (достижение уровня микрокоманды). Однако этот метод требует дополнительных аппаратных затрат.

2)  Снижением количество пересылок из памяти и обратно, а также перераспределение  информации между RG (в RISC процессоре для этого используются файловые окна и большое количество РОН, благодаря чему значительно сокращается количество обращений к памяти и исключаются дополнительные пересылки данных, т.к. результаты предыдущей операции хранятся в РОН и читать их обратно из памяти не требуется).

Ветвления:

1.  Исполнение нескольких потоков.

В этом случае стараются обеспечить конвейеру выбор нескольких команд, исполнение при этом происходит сразу в нескольких потоках, т.е. в конвейер могут поступать команды до принятия решения. Для решения этой задачи требуется дополнительный конвейер. А по результатам выполнения команды выбирается конвейер, в котором в данный момент времени выполняется команда.

2.  Предварительная выборка операций ветвления.

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

3.  Прогнозирование ветвления.

Основано либо на предыдущей проверке программы в процессе её работы, либо на динамическом изменении частоты ветвления.

4.  Отложенное ветвление.

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

1,2,3 – аппаратно, а 4 – программным способом.