- •Общая структура и функции компьютера.
- •Базовые электронные элементы компьютера.
- •Многоуровневая компьютерная организация.
- •Развитие многоуровневых машин.
- •Физическая и функциональная схема микропроцессора.
- •Устройство управления.
- •Арифметико - логическое устройство.
- •Организация набора регистров (Программно доступные регистры).
- •Классы конфликтов конвейерной обработки команд. (Структурные конфликты).
- •Классы конфликтов конвейерной обработки команд. (Конфликты по данным).
- •Классы конфликтов конвейерной обработки команд (Конфликты по управлению).
- •Методы решения проблемы условного перехода. (Конвейер с буферами предвыборки команд).
- •Методы решения проблемы условного перехода. (Конвейер с множественными потоками).
Классы конфликтов конвейерной обработки команд. (Структурные конфликты).
Конвейеризация эффективна только тогда, когда загрузка конвейера близка к полной, а скорость подачи новых команд и операндов соответствует максимальной производительности конвейера. Если произойдет задержка, то параллельно будет выполняться меньше операций, и суммарная производительность снизится. Такие задержки могут возникать в результате появления конфликтных ситуаций.
Конфликты снижают реальную производительность конвейера, которая могла бы быть достигнута в идеальном случае. Существуют три класса конфликтов.
^ 1. Структурные конфликты, которые возникают из-за конфликтов по ресурсам, когда аппаратные средства не могут поддерживать все возможные комбинации команд в режиме одновременного выполнения с совмещением.
. Конфликты в конвейере приводят к необходимости приостановки выполнения команд (pipeline stall). Обычно если в простейших конвейерах приостанавливается какая-либо команда, то все следующие за ней команды также приостанавливаются. Команды, предшествующие приостановленной, могут продолжать выполняться, но во время приостановки не выбирается ни одна новая команда.
Классы конфликтов конвейерной обработки команд. (Конфликты по данным).
2. Конфликты по данным, возникающие, когда выполнение одной команды зависит от результата выполнения предыдущей команды.
Классы конфликтов конвейерной обработки команд (Конфликты по управлению).
^ 3. Конфликты по управлению, которые возникают при конвейеризации команд переходов и других команд, изменяющих значение счетчика команд
Методы решения проблемы условного перехода. (Конвейер с буферами предвыборки команд).
Методы решения проблемы условного перехода (УП).
Существуют методы решения проблемы условного перехода:
1). Буферы предвыборки
2). Множественные потоки
3). Предсказание переходов
Равномерное поступление потока команд в конвейер нарушается из-за занятости памяти или при выборке команд, состоящих из нескольких слов. Для ритмичной подачи команд в конвейер между ступенью выборки команда (ВК) и конвейером устанавливается буфер по дисциплине FIFO – это буфер предвыборки.
Для борьбы с конфликтами по управлению (виды конфликтов рассматривались в вопросе №5) используют 2 буфера:
Выбранная команда анализируется в блоке перехода, если это команда УП (условного перехода), то формируется адрес точки перехода, при этом в основной буфер читаются команды, следующие за командой УП, а в дополнительный буфер читаются команды, начиная с команды из точки перехода.
При известном исходе УП к остатку конвейера подключается нужный буфер.
Особенности: Буфер предвыборки можно рассматривать как несколько дополнительных ступеней конвейера. Подобное удлинение конвейера не сказывается на его производительности (при заданной тактовой частоте); оно лишь приводит к увеличению времени прохождения команды через конвейер.
Недостатки: Помимо необходимости дублирования части оборудования, у метода имеется еще один недостаток. Так, если в потоке команд несколько команд УП следуют
одна за другой или находятся достаточно близко, количество возможных ветвлений увеличивается и, соответственно, должно быть увеличено и число буферов предвыборки.
