Совершенные против отставной инструкции - PullRequest
0 голосов
/ 11 октября 2018

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

  1. Для фиксации загрузки и отмены происходит одновременно
  2. Для хранилища фиксация происходит, когда инструкция обновляет регистры, а удаление происходит, когда хранилищена самом деле оставить буфер хранилища.

Это неправильно?У кого-нибудь есть 2 четких определения этих терминов?

Приветствия.

1 Ответ

0 голосов
/ 11 октября 2018

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

  • В процессорах Intel удаление происходит, когда освобождаются записи в буфере переупорядочения, занятые инструкцией.Хранилища памяти имеют одну дополнительную стадию, называемую фиксацией, в которой хранилище фактически выполняется.Это связано с тем, что процессоры Intel имеют буферы хранилищ, в которых хранилища могут быть помечены как удаленные. 1

  • В книге Хеннеси и Паттерсона в основном используется термин "коммит" в главе оисполнение заказа.Даже магазины исполняются на этапе фиксации.Иногда он использует термин «удалиться», но не дает определения, которое бы отличало его от коммита.Однако в Приложении C сохранение выполняется на 4-м этапе, называемом этапом памяти, а обновление реестра выполняется на 5-м этапе, который называется обратной записью.

  • В некоторых книгах используется термин «завершено»"и" commit ", где" complete "означает" удалить "в процессорах Intel, а" commit "означает" commit ".Кстати, Intel также использует термин «завершить» в своем руководстве, что может означать что-то иное, чем удаление в зависимости от контекста.
  • Иногда термин «принятие» относится к обновлению как регистра, так и состояния памяти, в то время какТермин «выбыть» относится к освобождению архитектурных ресурсов.
  • Иногда они используются взаимозаменяемо.Например, существуют академические предложения для микроархитектур, которые могут отправлять хранилища не по порядку, но без использования каких-либо буферов хранилища.Магазины выполняются при выходе из самого ROB.

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


Сноска 1: Intel имеет патент на альтернативную реализациюэто позволяет магазинам выходить из буфера хранилища не в порядке, который они не реализуют ни в одном из своих процессоров.

Было бы возможно зафиксировать хранилища не в порядке до выхода на пенсию, если L1Dоснащен механизмом, позволяющим различать глобально видимое состояние и локально видимое состояние каждой действительной строки кэша в кэше.Этот механизм будет необходим для поддержания видимого порядка магазинов.В этом гипотетическом дизайне также возможно спекулятивно фиксировать магазины, что потребует сброса (некоторых или всех) локально видимых состояний при неправильных предсказаниях.Запись буфера хранилища, содержащая хранилище, может быть дополнительно освобождена при фиксации хранилища, даже если оно еще не закрыто.

...