- •ROM BIOS
- •ROM BIOS
- •ROM BIOS
- •ROM BIOS
- •Тест начального включения (POST)
- •Тест начального включения (POST)
- •Тест начального включения (POST)
- •Тест начального включения (POST)
- •Распределение системных ресурсов Plug & Play 10
- •Распределение системных ресурсов Plug & Play 11
- •Принципы реализации Plug & Play
- •Принципы реализации Plug & Play
- •Принципы реализации Plug & Play
- •Конфигурирование компьютера - Setup
- •Векторы прерываний ROM BIOS
- •Аппаратные прерывания
- •Аппаратные прерывания
- •Аппаратные прерывания
- •Таблица векторов прерываний
- •Области данных ROM BIOS
- •Характерные черты PC –совместимого компьютера
- •Характерные черты PC –совместимого компьютера
- •Pentium P5
- •Структурная схема Р5
- •Структурная схема Р5
- •Структурная схема Р5
- •Структурная схема Р5
- •Структурная схема Р5
- •Слово состояния процессора
- •Виртуальная память
- •Конвейерная организация работы идеального микропроцессора 34
- •Конвейерная организация работы идеального микропроцессора 35
- •Конвейерная организация работы идеального микропроцессора 36
- •Конвейерная организация работы идеального микропроцессора 37
- •Конфликты
- •Суперскалярные процессоры
- •Суперскалярные процессоры
- •Суперскалярные процессоры
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по данным
- •Конфликты по данным
- •Типы конфликтов по данным
- •Особенности построения суперскалярных систем
- •Особенности построения суперскалярных систем
- •Параллелизм вычислений
- •Параллелизм вычислений
Конфликты по управлению |
44 |
Наиболее эффективным методом снижения потерь от конфликтов по управлению служит предсказание переходов.
Суть данного метода заключается в том, что при выполнении команды условного перехода специальный блок микропроцессора определяет наиболее вероятное направление перехода, не дожидаясь формирования признаков, на основании анализа которых этот переход реализуется.
Процессор начинает выбирать из памяти и выполнять команды по предсказанной ветви программы (так называемое исполнение по
предположению, или "спекулятивное" исполнение).
Однако так как направление перехода может быть предсказано неверно, то получаемые результаты с целью обеспечения возможности их аннулирования не записываются в память или регистры (то есть для них не выполняется этап WB), а накапливаются в специальном буфере результатов.
Физика компьютеров 2011 Л.А. Золоторевич
Конфликты по управлению |
45 |
Если после формирования анализируемых признаков оказалось, что
направление перехода выбрано верно, все полученные результаты переписываются из буфера по месту назначения, а выполнение программы продолжается в обычном порядке.
Если направление перехода предсказано неверно, то буфер результатов очищается. Также очищается и конвейер, содержащий команды, находящиеся на разных этапах обработки, следующие за командой условного перехода. При этом аннулируются результаты всех уже выполненных этапов этих команд.
Конвейер начинает загружаться с первой команды другой ветви программы. Так как конвейерная обработка эффективна при большом числе последовательно выполненных команд, то перезагрузка конвейера приводит к значительным потерям производительности.
Поэтому вопросам эффективного предсказания направления ветвления разработчики всех микропроцессоров уделяют большое внимание.
Физика компьютеров 2011 Л.А. Золоторевич
Конфликты по управлению |
46 |
|
|
Методы предсказания переходов делятся на статические и |
|
динамические. |
|
При использовании статических методов до выполнения |
|
программы для каждой команды условного перехода указывается |
|
направление наиболее вероятного ветвления. |
|
Это указание делается или программистом с помощью
специальных средств, имеющихся в некоторых языках программирования, или по опыту выполнения аналогичных программ или по результатам тестового выполнения программы, или программой-компилятором по заложенным в ней алгоритмам.
Физика компьютеров 2011 Л.А. Золоторевич
Конфликты по управлению |
47 |
Статическое предсказание переходов осуществляется перед выполнением программы на этапе дешифрации стратегии:
1.Предсказание определяется по коду операции команды перехода. На основе кода операции команды перехода делается вывод, что для
некоторых команд переход происходит всегда, для других нет.
2.Предсказание зависит от направления перехода. Некоторые переходы оказываются более предпочтительными, если указанный в команде
адрес перехода меньше чем в счётчике команд, это означает что происходит переход назад.
3Переход имеет место всегда при первом выполнении команды.
Компилятор составляет программу таким образом, что после команды условного перехода программа выполняется вниз в естественном порядке при отсутствии условия перехода. При наличии команды перехода компилятор направляет программу к маркеру. Естественным является назначение перехода всегда для команды условного перехода, выполняемой впервые.
4!!! Статическое предсказание ветвлений не обеспечивает требуемой точности прогнозов.
Физика компьютеров 2011 Л.А. Золоторевич
Конфликты по управлению |
48 |
Методы динамического прогнозирования учитывают направления переходов, реализовывавшиеся этой командой при выполнении программы. Например, подсчитывается количество переходов, выполненных ранее по тому или иному направлению, и на основании этого определяется направление перехода при следующем выполнении данной команды.
Динамическое предсказание ветвлений – адаптивное, изменяется и приспосабливается.
Решение о наиболее вероятном исходе команды условного перехода принимается в ходе вычислений, исходя из истории переходов. В целом динамическая стратегия обеспечивает более высокую производительность.
В современных микропроцессорах вероятность правильного предсказания направления переходов достигает 90-95 %.
История переходов фиксируется в памяти перехода. Память перехода может состоять из 1 бита и отображать предыдущее состояние перехода.Если команда выполнилась и произошёл переход, в элемент памяти
заносится 1 (иначе 0). Тогда при очередном выполнении этой команды будет предсказан переход 1. Очередное предсказание совпадает с итогом предыдущего выполнения команды.
Физика компьютеров 2011 Л.А. Золоторевич
Конфликты по управлению |
49 |
Использование таблицы истории переходов (BHT -Branch History Table).
История переходов заносится в BHT. Состояние элемента BHT определяет, произошёл ли переход в ходе выполнения команды K. Каждой команде условного перехода в BHT выделена отдельная строка, обращение к которой происходит с памяти младших разрядов счётчика.
Физика компьютеров 2011 Л.А. Золоторевич
Конфликты по управлению |
50 |
Свойство таблицы BHT
Бимодальность:
в поведении программ прослеживается тенденция повторимости циклов, некоторые команды условного перехода заканчиваются переходами, некоторые – нет. Т.е. в таблице некоторые строки
содержат и сохраняют 1, другие 0. Две модальности 1 и 0. Благодаря этому свойству такая простая стратегия оказывается достаточно эффективной. Объём BHT 256 строк, не используемые строки оказываются пустыми.
Для длинных переходов таблица не годится. Для адресов большей разрядности используется буфер адресов ветвления, который реализуется в виде ассоциативной памяти (BTB). Эти адреса команд условного перехода уже содержатся в ассоциативной КЭШ – памяти.
Физика компьютеров 2011 Л.А. Золоторевич
Конфликты по управлению |
51 |
Углубление истории переходов
Как показали исследования, исход команд переходов зависит от поведения предшествующих команд УП, т.е. между командами УП существует
определённая зависимость, анализ которой позволяет более точно выполнить предсказание.
Эта идея реализуется с помощью регистра глобальной истории.
Регистр глобальной истории
GHR – регистр глобальной истории представляет собой многоразрядный сдвиговый регистр. После выполнения очередного УП содержимое GHR сдвигается на 1 разряд влево, на освободившуюся позицию - 1, если переход был, 0 – если перехода не было. Отсюда следует что кодовая
комбинация GHR отображает историю выполнения команд УП.
Физика компьютеров 2011 Л.А. Золоторевич
Конфликты по управлению |
52 |
Регистр глобальной истории
Объём таблицы ВТВ ограничен до 4000 строк. В каждой строке указывается значение числа битов предсказания переходов для каждого шаблона предыдущих переходов.
Если шаблоны повторяются и для них БПП=11, 10 – предсказывается переход в команде УП.
Физика компьютеров 2011 Л.А. Золоторевич
Конфликты по данным |
53 |
Конфликты делятся на три группы:
структурные,по управлению,по данным.
Конфликты по данным
возникают в случаях, когда выполнение одной команды зависит от результата выполнения предыдущей команды.
При обсуждении этих конфликтов будем предполагать, что команда i предшествует команде j
Программные объекты A и B (команды, операторы, программы) являются независимыми и могут выполняться параллельно, если выполняется следующее условие:
(1)
где In(A) - набор входных, а Out(A) - набор выходных переменных объекта A. Если условие (1) не выполняется, то между A и B существует зависимость и они не могут выполняться параллельно. Если условие (1) нарушается в первом терме, то такая зависимость называется прямой.
Физика компьютеров 2011 Л.А. Золоторевич
