如何在 nios II 上构建一个简单的锁(互斥)cpu

how to build a simple lock (mutex) on nios II cpu

我正在尝试使用 altera DE0 或 DE2 或 DE1-SoC 板为大学课程构建一个简单的视频游戏,我查看了 nios II 的 isa cpu 没有原子测试 - 并且- 在 ISA 中设置指令。我将如何在这里建立一个简单的锁,任何在一小段时间内强制执行互斥的东西都会起作用。

我们将有 main() 中的 运行 代码和中断服务例程中 运行 的代码,我想锁定一些变量,是可能吗?

Nios II 体系结构似乎没有原子测试和设置指令。为了同步多个 Nios II 处理器之间的共享资源,该架构使用 "Hardware Mutex Core"。它用作提供原子测试和测试操作的共享外围设备。您可以在 Altera's Creating Multiprocessor Nios II Systems Tutorial.

中阅读更多相关信息

但是,您可能不会进行原子测试和设置操作。只需禁用中断,就可以使任何指令序列相对于单核系统上的中断具有原子性。