December 12 2017 08:24:48
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
Обмен с основной памятью при использовании кэш-памяти
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ

При выборке операнда из памяти производится обращение к кэш-памяти данных, которая имеет отдельные порты для чтения и записи. Таким образом, обеспечивается одновременная выборка операндов для двух команд. При отсутствии адресуемого операнда в кэш-памяти данных (кэш-промах) с помощью буферного блока обращения к памяти MOB (Memory Order Buffer) осуществляется обращение к кэш-памяти 2-го уровня или основной памяти (по системной шине). Данный блок реализует спекулятивную выборку при чтении операнда.

Для промежуточного хранения данных, записываемых в основную память, в составе блока MOB имеется буфер данных записи. Эта буферная память емкостью 32 байта позволяет задержать запись результата до того момента, когда системная шина завершит выполнение других циклов обмена, например, выборки команд или чтения процессором новых операндов. Запись результатов производится, когда процессор выполняет команды, не требующие обращения к системной шине. Таким образом, обеспечивается дополнительное повышение производительности системы. Отметим, что буферизация не выполняется при обращении процессора к устройствам ввода/вывода с помощью команды OUT. Вывод данных в этом случае реализуется в очередном цикле шинного обмена.

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

В процессорах Р6 реализован конвейер команд с 12 ступенями их выполнения. При прохождении первых семи ступеней (до блока изменения последовательности ROB) сохраняется исходный порядок следования команд, на трех исполнительных ступенях последовательность команд может быть нарушена, две заключительные ступени обеспечивают запись полученных результатов в память или регистры с восстановлением исходного порядка их следования. Такое восстановление выполняется буферным блоком MOB при записи результатов в память или блоками изменения последовательности и распределения команд (ROB и RS) при записи результатов в регистр (блок RRF).

Последовательная работа конвейера команд нарушается при поступлении команд условных переходов, так как в случае выполнения условия перехода, которое проверяется в исполнительном устройстве, потребуется перезагрузка конвейера - очистка всех предыдущих ступеней и выборка команды из новой ветви программы. Чтобы сократить или исключить потери времени, связанные с перезагрузкой длинного 12-ступенчатого конвейера, используется блок предсказания ветвлений. Его основной частью является ассоциативная память, называемая буфером адресов ветвлений (ВТВ - Branch Target Buffer), в которой хранятся 512 адресов ранее выполненных переходов. Кроме того, ВТВ содержит четыре бита предыстории ветвления, которые указывают, выполнялся ли переход при четырех предыдущих выборках данной команды. При поступлении очередной команды условного перехода указанный в ней адрес сравнивается с содержимым ВТВ. Если этот адрес не содержится в ВТВ, т. е. ранее не производились переходы по данному адресу, то предсказывается отсутствие ветвления. В этом случае продолжается выборка и декодирование команд, следующих за командой перехода. При совпадении указанного в команде адреса перехода с каким-либо из адресов, хранящихся в ВТВ, производится анализ предыстории. В процессе анализа определяется чаще всего реализуемое направление ветвления, а также выявляются чередующиеся переходы. Если предсказывается выполнение ветвления, то выбирается и загружается в конвейер команда, размещенная по предсказанному адресу. Одновременно в блоке выборки - декодирования сохраняется декодированная следующая команда. Если после анализа условия ветвления выясняется, что предсказание было неправильным, эта декодированная команда поступает из УУ в исполнительное устройство, обеспечивая сокращение потерь времени на перезагрузку конвейера.

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

2.1.2. РЕЖИМЫ РАБОТЫ ПРОЦЕССОРА И ОРГАНИЗАЦИЯ ПАМЯТИ

Процессоры Р6, как и предыдущие модели микропроцессоров Intel 80286,80386,80486, Pentium имеют три основных режима функционирования:

•  режим реальных адресов (реальный режим);

•  режим защищенных виртуальных адресов (защищенный режим);

•  режим системного управления.

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.08 секунд 2,295,821 уникальных посетителей