Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы_к_экзамену_АК_2009_10(теория).doc
Скачиваний:
25
Добавлен:
17.09.2019
Размер:
3.38 Mб
Скачать
  1. Виды рисков синхронного конвейера.

Причины рисков:

- попытка нескольких команд одновременно обратиться к одному и тому же ресурсу компьютера (структурный риск);

- взаимосвязь команд по данным (риск по данным);

- неоднозначность при выборке следующей команды в случае команд перехода (риск по управлению).

Структурный риск: Конфликт по ресурсам: несколько команд, находящихся на разных ступенях конвейера, пытаются одновременно использовать один и тот же ресурс (чаще всего память). Конвейер приостанавливает выполнение одной из команд до тех пор, пока не станет доступным требуемое ФУ. Источники:

- машины с не полностью конвейерными ФУ:

=время работы такого устройства может составлять несколько тактов синхронизации конвейера;

=последовательные команды, использующие данное ФУ, не могут поступать в него в каждом такте;

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

- единственный конвейер памяти для команд и данных.

Риск по данным: Две команды в конвейере (i и j) предусматривают обращение к одной и той же переменной х, причем команда i предшествует команде j. Конфликт возникает, если имеет место зависимость между командами, и они расположены по отношению друг к другу достаточно близко. Следствие: совмещение операций может привести к изменению порядка обращения к операндам. В общем случае между i и j ожидаемы три типа конфликтов:

- «Чтение после записи» (RAW);

- «Запись после чтения» (WAR);

- «Запись после записи» (WAW).

Условие отсутствия конфликта по данным: условия Бернстайна:

где О(m) – множество ячеек, изменяемых командой m;

I(n) – множество ячеек, читаемых командой n.

Конфликт по управлению. Факторы:

- выборка команды из точки перехода для любой команды перехода;

- выполнение команд условного перехода.

  1. Методы снижения приостановок конвейера.

CPI – среднее количество тактов на выполнение команды (clock per instruction)

CPI конв. = CPI ид.конв. + Cс + Cд + Cу ,

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

Методы минимизации приостановок работы конвейера нацелены на достижение идеального CPI = 1.

Основные методы:

- применение арифметического конвейера для выполнения многотактных операций;

- применение конвейера с дополнительными функциональными устройствами.

  1. Risc-архитектура: предпосылки создания, принципы реализации.

RISC – Reduced Instruction Set Architecture.

Согласно проведенным Дэвидом Паттерсоном и Джоном Хеннеси исследованиям (исследовались языки С, Pascal: операции, операнды и последовательность их выполнения) в типичной программе:

1. Большинство ссылок – скалярные переменные (в основном – локальные).

2. Больше всего времени занимают вызов подпрограмм (и возврат из них) и условные переходы.

Для улучшения эффективности было решено упростить архитектуру компьютера – так появилась RISC-архитектура. Концепции:

- выполнение по крайней мере, 75% команд за один машинный цикл;

- устройство управления с «жесткой» логикой;

- стандартная однословная длина всех команд:

= равна естественной длине слова и ширине шины данных;

= допускает унифицированную поточную обработку всех команд;

- малое число команд (не более 128);

- малое количество форматов команд (не более 4);

- малое число способов адресации (не более 4; отсутствие косвенной адресации памяти);

- доступ к памяти только посредством команд «Чтение» и «Запись»;

- все команды, за исключением «Чтения» и «Записи», используют внутрипроцессорные межрегистровые пересылки;

- относительно большой (не менее 32) процессорный файл РОНов (в современных микропроцессорах превышает 500).