Похоже, что принятое определение семантики получения и выпуска выглядит примерно так: (Цитируется из http://msdn.microsoft.com/en-us/library/windows/hardware/ff540496(v=vs.85).aspx)
Операция приобретает семантику, если другие процессоры всегда будут видеть его эффект перед любым последующим действием. Операция релиз, если другие процессоры будут видеть все предыдущие Эффект работы до эффекта самой операции.
Я кратко прочитал о существовании барьеров с половинной памятью и, предположительно, они приходят в аромат приобретать барьеры и барьеры выпуска, следуя той же семантике, описанной выше.
В поисках реального примера аппаратных инструкций я столкнулся с SFENCE. И этот блог (http://peeterjoot.wordpress.com/2009/12/04/intel-memory-ordering-fence-instructions-and-atomic-operations/) говорит, что это форма забора/барьера релиза:
Intel предоставляет двунаправленную инструкцию по заграждению MFENCE, приобретает забор LFENCE и освободительную ограду SFENCE.
Однако, прочитав определение SFENCE, он, похоже, не обеспечивает семантику выпуска, поскольку он вообще не синхронизируется с нагрузками? В то время как семантика выпуска, как я понимаю, определяет порядок в отношении всех операций с памятью (загрузки и сохранения).