рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Сокращение потерь на выполнение команд перехода и минимизация конфликтов по управлению

Сокращение потерь на выполнение команд перехода и минимизация конфликтов по управлению - раздел Компьютеры, Принципы функционирования ЭВМ. Учебное пособие по курсам «Технология программирования» и «Операционные системы» Конфликты По Управлению Могут Вызывать Даже Большие Потери Производительности...

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

№ такта
Команда ветвления IF ID RD EX WR        
        ëВычисление адреса сле­дующей команды
Следующая команда   * * * IF ID RD EX WR

Рис. 29 простой процессора из-за конфликта по управлению

Простейший метод работы с условными переходами заключается в приостановке конвейера, как только обнаружена команда услов­ного перехода до тех пор, пока она не достигнет ступени конвейера, которая вычисляет новое значение счетчика команд (рисунок 29). Например, если конвейер будет приостановлен на три такта на каж­дой команде условного перехода, то это может существенно отра­зиться на производительности машины. Если частота команд услов­ного перехода достигает в среднем 15 – 20 %, и каждая команда вы­полняется ровно за один такт, то описанная нами ЭВМ с простей­шим конвейером будет терять за счет условных переходов до 50% прироста производительности, полученного за счет конвейеризации. Машины с длинными конвейерам могут иметь существенно боль­шие потери производительности, чем наша простейшая ЭВМ. По­тери могут составлять шесть или семь тактов для каждой команды условного перехода. Можно уменьшить потери либо если вычис­лить новое значение программного счетчика как можно раньше, либо, если как можно раньше предсказать, будет ли условный пере­ход выполняемым или невыполняемым. Машины, в которых выпол­нение большинства команд длится более одного такта, будут иметь меньшие потери от условных переходов.

Каким образом можно снизить потери на выполнение команд ус­ловного перехода? Начнем с простейших, статических методов, ко­торых прогнозируемое направление заранее фиксируется для каж­дой команды.

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

Возврат. Более хорошая и не намного более сложная схема со­стоит в том, чтобы прогнозировать условный переход как невыпол­няемый. При этом аппаратура должна просто продолжать выполне­ние программы, как если бы условный переход вовсе не выпол­нялся. В этом случае необходимо позаботиться о том, чтобы не из­менить состояние машины до тех пор, пока направление перехода не станет окончательно известным. В некоторых машинах эта схема с невыполняемыми по прогнозу условными переходами реализована путем продолжения выборки команд, как если бы условный переход был обычной командой. Поведение конвейера выглядит так, как будто ничего необычного не происходит. Однако если условный пе­реход на самом деле выполняется, то необходимо просто очистить конвейер от команд, выбранных вслед за командой условного пере­хода и заново повторить выборку команд.

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

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

Задержанные переходы.Четвертая схема, которая используется в некоторых машинах, называется "задержанным переходом". Смысл подхода состоит в том, чтобы во время задержки, вызванной командой условного перехода, выполнить команду, которая не зави­сит от направления условного перехода. Это может быть команда, находящаяся в программе перед условным переходом или команда, которая должна будет выполняться после условной конструкции. Естественно, что выбирать команду необходимо так, чтобы избе­жать возможных конфликтов по данным.

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

Более эффективным является n-битный счетчик истории перехо­дов. Он может находиться в одном из 2n возможных состояний. Если счетчик переходов содержит значение от 0 до 2n-1 – 1, то переход предсказывается как не выполняемый, иначе как выполняемый. Если переход выполняется, то к содержимому счетчика прибавля­ется 1, иначе из содержимого счетчика вычитается 1. Чаще всего на практике используются 2-х битные счетчики истории переходов. Как показывает опыт, эффективность подобных схем с n-битными счетчиками незначительно возрастает по сравнению с 2-х битными счетчиками. Диаграмма состояний счетчика показана на рис. 30.

Рассмотрим поведение такого счетчика истории переходов для цикла описанного выше. Независимо от первоначального состояния счетчика максимум после 3 итераций счетчик придет в состояние 11. Переход будет уверенно предсказываться как выполняемый. При последней итерации цикла переход будет предсказан как выполняе­мый, однако он не выполнится. Счетчик перейдет в состояние 10. Если фрагмент программы, содержащий цикл начнет выполняться повторно, то при первой же итерации переход будет правильно предсказан как выполняемый. С учетом этого вероятность непра­вильного предсказания для цикла с пятью итерациями составит всего 10%.

Адрес команды перехода Целевой адрес История перехода
     
     
     
     
     
     
     
     
     
     
     
     
     

Рис. 31. Структура буфера целевых адресов переходов

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


– Конец работы –

Эта тема принадлежит разделу:

Принципы функционирования ЭВМ. Учебное пособие по курсам «Технология программирования» и «Операционные системы»

В пособии излагаются базовые принципы организации и функционирования ЭВМ Рассмотрен состав минимальной ЭВМ с шинной организацией назначение и... Илл библиограф наим...

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

ПРИНЦИПЫ ФОН НЕЙМАНА
Большинство современных ЭВМ строятся на базе принципов, сформулированных американским ученым, одним из “отцов” кибернетики Дж. фон Нейманом. Впервые эти принципы были опубликованы фон Нейманом в 19

СОСТАВ И ФУНКЦИОНИРОВАНИЕ МИНИМАЛЬНОЙ ЭВМ С ШИННОЙ ОРГАНИЗАЦИЕЙ
Шинная организация является простейшей формой организации ЭВМ. Подобная ЭВМ имеет в своем составе следующие функциональные блоки (см. рис. 1). Устройство управления (УУ) -

КОМАНДЫ ЭВМ
В данном разделе пособия кратко рассмотрим набор команд, используемых в типичных ЭВМ и действия, реализуемые этими командами.

ПЕРЕЙТИ ЕСЛИ БОЛЬШЕ К АДРЕСУ L .
Первая из команд (сравнение) производит, как отмечалось выше, вычитание значения операнда B из операнда A. Если A>B, то результат будет положителен и, соответственно, флаг знака во флаговом реги

СИСТЕМНЫЕ ИНТЕРФЕЙСЫ С ИЗОЛИРОВАННОЙ И ОБЩЕЙ СИСТЕМОЙ ШИН
В предыдущих разделах при описании обобщенного алгоритма работы центрального процессора мы намеренно опустили из рассмотрения вопрос о том, как процессор “отличает” порты внешних устройств от ячеек

СПОСОБЫ ОБМЕНА ДАННЫМИ В МАШИНАХ С ШИННОЙ ОРГАНИЗАЦИЕЙ. МЕХАНИЗМ ПРЕРЫВАНИЙ
Рассмотрев алгоритм функционирования процессора и способы организации системы шин в ЭВМ, попытаемся выяснить, какие особенности в работу и организацию ЭВМ вносит необходимость обеспечения взаимодей

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

Обмен по прерываниям
Чтобы понять, что такое прерывание, обратимся к следующему примеру. Некоторый человек сидит в кресле и читает книгу. В это время на кухонной плите что-то готовится, и, кроме того, его прия

Внепроцессорный прямой доступ к памяти
Обмен данными с медленнодействующими периферийными устройствами, например, с посимвольным принтером, организуется по прерываниям, инициирующим передачу каждого слова или байта. Если подпрограмма об

И ЕЩЕ О ПРЕРЫВАНИЯХ
Описанный выше механизм прерываний, или аппаратные прерывания, является эффективным способом организации взаимодействия процессора с медленными внешними устройствами и начал

РЕЖИМЫ АДРЕСАЦИИ
При выполнении программы многим командам требуется доступ к памяти для выборки данных, записи промежуточных и окончательных результатов вычислений. Для любого такого обращения, что уже отмечалось в

ИЕРАРХИЧЕСКАЯ ОРГАНИЗАЦИЯ ПАМЯТИ
Память в современных компьютерах строится по иерархическому принципу. Одним из явлений, характерных для фоннеймановских ЭВМ является принцип локальности. Это означает, что за ограниченный промежуто

Кэш-память
Как уже говорилось выше, назначение кэш-памяти – временное хранение данных и команд, часто используемых процессором. Основной структурной единицей кэш-памяти является так называемая строка кэша (ca

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

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

Процесс переадресации виртуальной памяти
Процесс переадресацииопишем на примере микропроцессора 80386 фирмы Intel. Процесс переадресации показан на рис. 19 и 20.Перед исполнением загрузочные модели помещаются в оперативну

ФОРМАТЫ ДАННЫХ
Основными типами данных, которые встречаются при обработке информации в ЭВМ, являются числа, представленные в двоичной системе счисления, а также алфавитно-цифровые символы. Некоторые ЭВМ также осу

ИНФОРМАЦИОННАЯ МОДЕЛЬ ЭВМ
Обработка чисел, символьной информации, логическая обработка, обработка сигналов - это все частные случаи общего понятия над названием «обработка информации». Для ЭВМ характерен признак: информация

Простейший конвейер, производительность конвейера
Существует достаточно простое общеизвестное правило – чтобы выполнить некоторую работу быстрее, необходимо разделить ее между несколькими исполнителями и заставить их действовать од­новременно. Раз

Структурные конфликты
Структурные конфликты возникают, если на различных участках конвейера производится обращение к одному, недублированому ре­сурсу. Подобная ситуация возникает, например, если процессор имеет единую к

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

ЭВМ С КАНАЛЬНОЙ ОРГАНИЗАЦИЕЙ
В основе этого типа организации ЭВМ лежит множественность каналов связи между устройствами и функциональная специализация узлов. Упрощенная схема организации ЭВМ с каналами приведена на ри

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги