Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LektsiiProshkina / Архитектура вычислительных систем - лекции_последний.docx
Скачиваний:
191
Добавлен:
18.05.2015
Размер:
1.63 Mб
Скачать

01.10.2011

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

При остановке конвейера задерживаются и следующие за j команды. Данную ситуацию называют пузырьком в конвейере.

Для борьбы с конфликтом «чтение после записи» получил распространение прием ускоренного прохождения информации. Между двумя соседними ступенями конвейера располагается буферный регистр или буферная память дл передачи информации между соседними ступенями конвейера. При ускоренном продвижении когда для выполнения команды требуется операнд, уже вычисленный предыдущей командой, этот операнд может быть получен из буферного регистра, минуя промежуточные ступени конвейера. Для этого предусматриваются дополнительные тракты движения информации в конвейере.

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

  1. Буферы предвыборки;

  2. Множественные потоки;

  3. Задержанный переход;

  4. Предсказание перехода;

Супер скалярные процессоры

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

Архитектура супер скалярного процессора:

Рисунок 12 Архитектура суперскалярного процессора

Выборка команд – извлекает команды из кэш-памяти, хранит несколько значений СК и обрабатывает команды условного перехода.

Декодирование – расширенный код операции содержится в извлеченной из кэш-памяти команды.

Оба блока хранят очереди декодированных команд. Очередь блока распределения часто рассредоточивается по нескольким самостоятельным буферам, предназначенным для хранения декодированных, но еще не выполненных команд. Каждый накопитель команд связан со своим ФБ, поэтому число накопительной обычно ровно числу ФБ, но если в процессоре используется несколько однотипных ФБ, то им дается общий накопитель. Когда использование команды завершается, её результат записывается и завершается блоком обновления состояний, который обеспечивается теми командами в очередях распределения, где этот результат выступает в качестве одного из операндов.

Необходимо различать параллелизм и конвейеризацию. Существует три уровня параллелизма:

  • Заданий;

  • Программ;

  • Команд;

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

Параллелизм уровня команд. Совмещение операций достигается за счет того, что отдельные устройства могут входить в состав вычислительной системы в нескольких экземплярах.