Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory1-25 (1).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
440.47 Кб
Скачать

9.Арифметический и командный конвейер.

Конвейерная обработка информации является одним из методов повышения производительности процессора.

Классификация конвейеров

  • По типу обрабатываемой информации:

*Конвейер команд – когда обрабатывается несколько команд при их неконвейерной арифметике

*Конвейер данных – когда в арифметическом конвейере присутствуют несколько пар операндов и каждая ступень конвейера выполняет над соответствующей парой операндов свои группы процедур.

  • По функциональному назначению:

*Однофункциональные

*Многофункциональные

  • По внутренней организации:

*Синхронные

*Асинхронные

Синхронные конвейеры являются наиболее простыми, к проектированию асинхронных прибегают, когда невозможно выровнять времена работы ступеней.

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

Длительность каждой фазы в конвейере команд должна быть одинаковой. Это необходимо для синхронизации операций. Длительность фазы равна длительности выполнения типовой операции в АЛУ. ВК, ВО, ЗР – три фазы, которые используют память, следовательно, чтобы сделать их равными по длительности работы АЛУ, необходимо наличие кэш-памяти, тогда ВК, ВО, ЗР = TАЛУ. Если нет необходимой информации в кэш-памяти, то необходимо обращение к памяти, следовательно, нарушается диаграмма, значит необходимо расширение диаграммы для синхронизации.

Часть времени тратится на непроизводительные (накладные) расходы, которые связаны с синхронизацией.

10. Способы выбора количества уровней совмещения (ступеней) в командном конвейере

Количество уровней совмещения в процессоре должно выбираться в соответствии со следующими факторами:

  1. Тип решаемой задачи.

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

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

  1. Стоимость организации вычислений.

Способы выбора количества уровней совмещения в процессоре:

1-й: Алгоритм выбора количества уровней совмещения в процессоре(количество уровней опережения). TАЛУ – время выполнения операции в АЛУ. Найдем общее время выполнения команды при организации вычислений.

обр_к – обращение в ОП за командой; обр_о – обращение в ОП за операндом.

tУУ – время на организацию управления

количество уровней совмещения

2-ой: имитация моделирования конвейера команд.

  1. Выбирают варианты реализации конвейера команд. (B0,B1,B2…). B0 – базовый вариант, процессор без совмещения. B1,B2 – различные способы организации процессора совмещения. Предположим, что имеются варианты B0,B1,B2.

В ариант 1(2 ур.):

В ариант 2 (3ур.):

  1. Моделирование: B1 и B2 сравнивать с В0. Необходимо ввести критерий сравнения, по которому происходит выбор.

Закон Гроша: производительность пропорциональна квадрату стоимости. . Стоимость определяется количеством интегральных схем, необходимых для реализации процессора:

P~V2

P2 > P1 в 2 раза. Закон Гроша может быть переписан в виде: (P+P)/P~((V+V)/V)^2

P – прирост производительности;1+P/P ~ (V^2+2V*V+V^2)/V^2 ~ 1+2V/V

P/P ~ 2V/V данная формула используется, чтобы определить, насколько целесообразным является введенное изменение.

  1. проведение моделирования и сравнение результатов

Аппроксимируя полученные зависимости, определяем, насколько выполняется для каждого из вариантов в большей степени

(P/P)В2>>(P/P)В1

Сравнивают В1/В0 и В2/В0 и выбирают большее.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]