Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Цифровая и микропроцессорная техника (Конспект...docx
Скачиваний:
2
Добавлен:
18.09.2019
Размер:
168.16 Кб
Скачать

Другие командные архитектуры

MISCминимальный набор длинных команд

VLIW - сверхдлинная машинные команды

EPICразработана на базе VLIW, устраняет некоторые её недостатки, развивает возможности параллельной обработки задач.

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

Этапы выполнения команд в процессоре:

  1. Считывающие команды

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

  3. Считывание операнда

  4. Выполнение команд

  5. Запись результата

Пример работы идеального конвейера

Такты

Команда

1

2

3

4

5

6

7

8

9

i

СК

ДК

СО

ВК

ЗР

i+1

СК

ДК

СО

ВК

ЗР

i+2

СК

ДК

СО

ВК

ЗР

i+3

СК

ДК

СО

ВК

ЗР

I+4

СК

ДК

СО

ВК

ЗР

Как видно из приведённого примера при конвейерной обработке команд в один и тот же такт времени могут выполняться различные этапы нескольких команд, поэтому длительность такта следует вбирать исходя из максимального времени выполнения всех стадий. Кроме этого при конвейерной обработке данных следует учитывать время потерь в конвейере ∆t на передачу команды с одного этапа команды на другой.

Пример оценки производительности конвейерной и последовательной обработки команд:

Тск=20 ТДК=15 ТСО=20 ТВК=25 ТЗР=20 ∆t=5 N=100

T=max{TСК,TДК,TСО,TВК,TЗР}+∆t

{20, 15, 20, 25, 20}+5=30

TКОНВ=5T+(N-1)*T=5*30+99*30=3120

5 – количество тактов

Тпослед= (TСК+TДК+TСО+TВК+TЗР)*N=10 0000

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

Конфликт в конвейере – это такие ситуации в конвейерной обработке, которые препятствуют выполнению очередной команды в предназначенном для неё такте. Конфликты бывают 3-х типов.

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

Причины:

  1. Не полностью конвейерная структура процессора, при которых некоторые этапы обработки определённой команды занимают более чем 1 такт.

Пример: Пусть этап i+1 занимает 3 такта времени вместо одного

Такты

Команда

1

2

3

4

5

6

7

8

9

i

СК

ДК

СО

ВК

ЗР

i+1

СК

ДК

СО

ВК

ВК

ВК

ЗР

i+2

СК

ДК

СО

0

0

ВК

ЗР

i+3

СК

ДК

0

0

СО

ВК

I+4

СК

0

0

ДК

СО

  1. Не достаточное дублирование некоторых аппаратных средств. Способы устранения причин структурных команд: 1) увеличение времени такта (уменьшение быстродействия). 2) ввести дополнительные дублирующие аппаратные средства (усложнение архитектуры)

  1. Конфликты по управлению – возникают, если в конвейере встречаются команды условных переходов или вызовов подпрограмм.

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

Способ устранения конфликтов по управлению: в структуру процессора вводят специальный блок, который предсказывает направление перехода. Процессор, основываясь на решениях данного блока, начинает выбирать из памяти и выполнять команды из предсказанной ветви программы (спекулятивное выполнение программ). Полученные результаты сохраняются в специальных буферных регистрах. Если переход был предсказан правильно, то все полученные результаты записываются в приёмники и программа продолжает выполняться далее. Если же переход был предсказан неверно, буферные регистры обнуляются, обнуляется конвейер до команды условного перехода и начинает выполнение программы заново, что приводит к значительным потерям времени. В настоящее время работает с точностью до 90-95%.

  1. Конфликты по данным – возникают в случаях, когда выполнение одной команды зависит от результата выполнения предыдущей команды. Существуют 3 типа конфликтов по данным:

  1. Конфликт типа RAW (Read after write) – команда i+1 пытается прочитать операнд, прежде чем команда I запишет на это место свой результат, т.е. команда i+1 получает неверное значение. Способ устранения – заключается в методе обхода (продвижения данных): все результаты, полученные на выходе исполнительных устройств, кроме кодов приёмника, записываются на входы всех исполнительных устройств. Если устройство управления обнаруживает, что данный результат требуется одной из последующих команд в качестве операнда, то он сразу же параллельно с записью в приёмник записывается в исполнительное устройство.

Главной причиной двух остальных типов конфликтов по данным является возможность неупорядоченного выполнения команд, которое возникает в процессорах, в состав которых входит несколько конвейеров (супер скалярные процессоры)

  1. WAR (write after read) – команда i+1 пытается записать результат в приёмник, прежде чем он считает от туда командой i

  2. WAW (write after write) – команда i+1 пытается записать результат в приёмник, прежде в этот же приёмник запишет результат команда i. ПРИЧИНА ВОЗНИКНОВЕНИЯ И СПОСОБ УСТРАНЕНИЯ ОПИСАНЫ В ТЕМЕ СУПЕР СКАЛЯРНЫЕ ПРОЦЕССОРЫ.