Эти термины не имеют стандартных определений.Я видел, как они используются для обозначения разных вещей в разных книгах или конструкциях процессоров:
В процессорах Intel удаление происходит, когда освобождаются записи в буфере переупорядочения, занятые инструкцией.Хранилища памяти имеют одну дополнительную стадию, называемую фиксацией, в которой хранилище фактически выполняется.Это связано с тем, что процессоры Intel имеют буферы хранилищ, в которых хранилища могут быть помечены как удаленные. 1
В книге Хеннеси и Паттерсона в основном используется термин "коммит" в главе оисполнение заказа.Даже магазины исполняются на этапе фиксации.Иногда он использует термин «удалиться», но не дает определения, которое бы отличало его от коммита.Однако в Приложении C сохранение выполняется на 4-м этапе, называемом этапом памяти, а обновление реестра выполняется на 5-м этапе, который называется обратной записью.
- В некоторых книгах используется термин «завершено»"и" commit ", где" complete "означает" удалить "в процессорах Intel, а" commit "означает" commit ".Кстати, Intel также использует термин «завершить» в своем руководстве, что может означать что-то иное, чем удаление в зависимости от контекста.
- Иногда термин «принятие» относится к обновлению как регистра, так и состояния памяти, в то время какТермин «выбыть» относится к освобождению архитектурных ресурсов.
- Иногда они используются взаимозаменяемо.Например, существуют академические предложения для микроархитектур, которые могут отправлять хранилища не по порядку, но без использования каких-либо буферов хранилища.Магазины выполняются при выходе из самого ROB.
Термины могут использоваться для обозначения других вещей в других контекстах.Как правило, вы можете сделать вывод о том, что они имеют в виду, по тому, как они используются автором, и из общего контекста.
Сноска 1: Intel имеет патент на альтернативную реализациюэто позволяет магазинам выходить из буфера хранилища не в порядке, который они не реализуют ни в одном из своих процессоров.
Было бы возможно зафиксировать хранилища не в порядке до выхода на пенсию, если L1Dоснащен механизмом, позволяющим различать глобально видимое состояние и локально видимое состояние каждой действительной строки кэша в кэше.Этот механизм будет необходим для поддержания видимого порядка магазинов.В этом гипотетическом дизайне также возможно спекулятивно фиксировать магазины, что потребует сброса (некоторых или всех) локально видимых состояний при неправильных предсказаниях.Запись буфера хранилища, содержащая хранилище, может быть дополнительно освобождена при фиксации хранилища, даже если оно еще не закрыто.