2016-04-11 2 views
-1

Я читаю материалы Agner противотуманных и у меня есть некоторые сомнения:Предзаводчики и декодеры. Разница

Преждеосвященных-декодеры и декодеры могут обрабатывать 16 байт или 4 инструкции за такт

  1. Что пред- декодеры в контексте декодеров?
  2. Автор говорит о кеше для макроинструкции. Я не могу понять, почему это может быть полезно, ведь у нас есть инструкция кеша. Что такое loopback buffer?

  3. Что такое микрооперацииFusion и macroOperationFustion?

+1

В сомнениях вы имеете в виду вопросы? –

+1

Ответы на все эти вопросы находятся прямо в микроархитектуре pdf. Найдите в pdf-формате, чтобы найти описание чего-то, если вы забыли, что было объяснено ранее. –

+0

2: инструкции декодирования x86 сложны, поэтому имеет смысл кэшировать результаты декодирования. –

ответ

3
  1. «Предварительно декодер будет найти и пометить границы команд, декодировать любые префиксы и проверить наличие определенных свойств (например, филиалов).» (Source) (Another article)

  2. Кэш команд L1 является основным кешем для макрокоманд. Буферный буфер хранит небольшую последовательность макрокоманд (например, 32 байта), которая полезна для жестких циклов, что экономит латентность и мощность по сравнению с чтением из кеша L1.

  3. «Ступени переименования регистров (RAT) и выхода на пенсию (RRF) в конвейере являются узкими местами с максимальной пропускной способностью 3 мкПс за такт. Для того, чтобы пройти через эти узкие места, дизайнеры объединили некоторые операции вместе которые были разделены на два микропроцессора в предыдущих процессорах.Они называют это μOP-слияние.Соединенные операции разделяют один μop в большинстве конвейера и одну запись в буфере переупорядочения (ROB). Но эта единственная запись ROB представляет две операции, которые имеют которые должны выполняться двумя различными исполнительными блоками. Сплавленная запись ROB отправляется в два разных порта выполнения, но удаляется как единое целое ». (Source)

    Macro-op fusion - это способ распознавания последовательности макрокоманд, которые становятся одним из микроопераций. Наиболее распространенным примером является то, что на более новых процессорах Intel CMP + JMP объединяется в один микрооператор.

+1

3. Это для Pentium M, у которого нет кэша uop или буфера цикла. Я думаю, что OP читает раздел Sandybridge, потому что именно там я сказал ему начать. Core2 и более поздние версии имеют 4-строчный трубопровод LLC, поэтому они могут переименовывать/выпускать и выпускать 4 процессора с плавным доменом за часы. Более полезно: разделы 9.5 и 9.6 на стр. 124, «Микро-операционная система» и «Макро-операционная система». –

+0

спасибо, но, что такое кеш для микропов? (не буферный цикл) – Gilgamesz

Смежные вопросы