Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
акс конспект епта.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
524.14 Кб
Скачать

Задержка работы устройств

Если выполнение любого из шагов конвейера затянется, то это задержит все остальное. На чтение команды может уйти более одного такта, если нет команды в КЭШ-памяти. Этап декодирования извлечения операндов зависит от их наличия, выполнение арифметических операций происходит за разное время и зависит от типа операций.

На время работы устройств (F, D, W) влияние оказывает полезное усовершенствование конвейера – увеличение размеров буфера и организация в нем очереди команд. Другие усовершенствования более сложные:

  • Разработка параметров с несколькими конвейерами команд

  • Разработка параметра с системой команд, в которой все выполняется за равное число тактов

Конфликты по ресурсам

Конфликты возникают, когда два устройства одновременно обращаются к одному ресурсу. Так, в четырехступенчатом конвейере к памяти могут обратиться одновременно три устройства (F, D, W).

Схема конфликта по устройствам:

Меры для уменьшения числа конфликтов:

  1. Разделение КЭШ для данных и команд

  2. Введение двухпортовых регистров(возможно одновременное обращение)

  3. Расслоение память – одновременно обращение к ячейке разных блоков

Явный конфликт по данным

Данные, полученные как результат команды, будут использованы как операнды для последующей команды. Если эта команда следует сразу за первой, то одновременное использование в конвейере приводит к ошибке – конфликту.

Конфликт типа “чтение после записи”, т.е программа рассчитана на последовательное выполнение команд. Сначала производиться запись, а потом чтение. Такая ошибка распознается на этапе трансляции. Имеет место в программе приема.

  • Изменение порядка следования команд, т.е команды имеющие зависимость по данным, не ставят рядом

  • Вставляют между зависимыми командами дну или более команд

Аппаратный метод борьбы с такими конфликтами – продвижение операндов.

Схема:

F(Fetch)

D(decode)

E(execute)

W(write)

B1

B 2

B3

Передача управления

Предположим, команда 1 – команда условной передачи управления. После ее завершения должна выполнять либо команду 2, либо команду N.

Схема условной передачи управления:

K1

F1

D1

F1

W1

K2

F2

D2

E1

W2

K3

F3

D3

E3

W3

K

Kn

Fn

Dn

En

Wn

Kn+1

Fn+1

Dn+1

En+1

Wn+1

Если переход произойдет, то конвейер теряет 3 такта. Команды 2, 3, 4 из конвейера удаляются. Эти команды называют слотами задержки перехода. Число слотов зависит от числа ступеней. В длинных конвейерах их больше. Применяется условный адрес, передающихся непосредственно УК.

Безусловный переход – устройство Е(исполнительное) определяет, нужен ли переход, но если адрес перехода выполняется раньше устройством D. При этом теряется только один такт.

Другой, более дорогой вариант. Процессор имеет в своем составе буфер адресов перехода.

ВТВ(Branch Target Buffer) - небольшая КЭШ-память, хранящая таблицу последних переходов.

Формат:

Адрес команды

Адрес перехода

Устройство F ищет адрес команды в левой части таблицы. Когда находит, выбирает по адресу правую.