ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 апреля
791962 Топик полностью
Vit (05.11.2017 10:00, просмотров: 242) ответил Незнайкин на Здесь по недавней ссылке на арм-ресурс увидел кусочек кода, где сразу после удачного захвата семафора к разделяемому ресурсу, перед обращением к нему рекомендуется ставить DMB. И понял что ничего не понимаю в барьерах. Может, посвятим этому
КМК, у Joseph Yiu понятно написано, для чего каждый из барьеров применяется http://infocenter.arm.com/help/topic/com.arm.doc.dht0008a/DHT0008A_arm_synchronization_primitives.pdf
http://www.eecs.umich.edu/eecs/courses/eecs373/labs/refs/M3%20Guide.pdf
DMB - Data memory barrier; ensures that all memory accesses are completed before new memory access is committed DSB - Data synchronization barrier; ensures that all memory accesses are completed before next instruction is executed ISB - Instruction synchronization barrier; flushes the pipeline and ensures that all previous instructions are completed before executing new instructions насчет команд - полезно ориентироваться в применении средств синхронизации, позволяющих осуществлять операции чтение-модификация-запись без блокирования прерываний и других потоков - посмотрите набор инструкций LDREXB/STREXB, LDREXH/STREXH, LDREXW/STREXW. в аглицкой педивикии по барьерам немаленькая статья