我想交换两个变量。我想通过管道使用写后读危险来完成它,这对我有利。
管道:
OPERXXXXXX FetchXXXXX DecodeXXXX ExecuteXXX WriteBkXXX
STORE X, Y ---------- ---------- ---------- ----------
STORE Y, X STORE X, Y ---------- ---------- ----------
---------- STORE Y, X STORE X, Y ---------- ----------
---------- ---------- STORE Y, X STORE X, Y ----------
---------- ---------- ---------- STORE Y, X STORE X, Y
---------- ---------- ---------- ---------- STORE Y, X
我如何告诉编译器在没有自动锁定和警告标志的情况下执行此操作(并且确切地执行此操作)?你能推荐任何文献/关键词吗?
眼镜:
-> 目标:支持多站(超过 4 个)流水线的现代架构
-> 这与任何特定的“问题”无关。只是为了科学。
目前的障碍:
- 如果您知道如何忽略数据危害,请分享。