Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

Why do you need to use _ _ DSB (); _ _ ISB () in program development

Shulou Source: shulou.com Published: 2022-06-01 05:54:51 09月26日 Update

This article will explain in detail why you need to use _ _ DSB (); _ _ ISB () in program development. The editor thinks it is very practical, so I share it with you as a reference. I hope you can get something after reading this article.

Q: why you need to use _ _ DSB (); _ _ ISB ()

Static inline void relocate_vector_table (void) {SCB- > VTOR = VECTOR_ADDRESS & SCB_VTOR_TBLOFF_Msk; _ _ DSB (); _ ISB ();}

A: instruction synchronization data synchronization

Disorder is a processor characteristic, which has little to do with whether it is optimized or not. Most mcu are level 2, level 3, and do not support out-of-order, so you can see that most of the operations in mcu are null operations, but os places for portability. Disorder often requires deep flow, which of course is not a sufficient or necessary relationship. The main problem is to solve the visibility problem. If there is only one core, it doesn't matter whether it is chaotic or out of sync. Anyway, you are the only one who uses the data or instructions. But when you add multiple cores or multiple master, such as dma, other master can't see your local content, so you often need this synchronization measure.

This is the end of this article on why you need to use _ _ DSB (); _ _ ISB () in program development. I hope the above content can be of some help to you, so that you can learn more knowledge. if you think the article is good, please share it for more people to see.

Tags: Synchronization articles programs program development content multiple most instructions data more good practical necessary nothing no personal just only processor Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno NVidia Huawei vpn Docker Shulou Technology