Try   HackMD

Eclusive instruction

contributed by <tina0405>

LOAD/STORE

  • 為了要使用 lock, 本來有想過要使用 cas 但其指令只支援 armv8.1, 因此在 armv8.0 中參考了 linux 的 read/write lock, 因此選擇了 exclusive-load/store, 這個指令的特色就是被 lock 住的 resource 會有兩種狀態(open 和 exclusive), load 可以一直 loading,但 store 只有在 exclusive 的時候會被儲存,如下圖。
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • LDAXR
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

組語部份

  • 利用硬體平台特性來完成 lock
  • cbz/cbnz: 比較,為0則跳轉; 非0則跳轉。
    • 用法
    ​​​​CBZ Rn, label
    ​​​​CBNZ Rn, label
    

註: "forward" for "f" or "backward" for "b"

Reference