我正在尝试使用altera DE0或DE2或DE1-SoC板为大学课程构建一个简单的视频游戏,我查看了nios II cpu的ISA,ISA中没有原子测试和设置指令。我将如何在这里建立一个简单的锁,任何在一小段时间内强制互斥的东西都会起作用。
我们将拥有将要运行的main()
代码和将在中断服务例程中运行的代码,并且我想锁定一些变量,这可能吗?
我正在尝试使用altera DE0或DE2或DE1-SoC板为大学课程构建一个简单的视频游戏,我查看了nios II cpu的ISA,ISA中没有原子测试和设置指令。我将如何在这里建立一个简单的锁,任何在一小段时间内强制互斥的东西都会起作用。
我们将拥有将要运行的main()
代码和将在中断服务例程中运行的代码,并且我想锁定一些变量,这可能吗?
Nios II 架构似乎没有原子测试和设置指令。为了在多个 Nios II 处理器之间同步共享资源,该架构使用“硬件互斥内核”。它用作提供原子测试和测试操作的共享外围设备。您可以在Altera 的创建多处理器 Nios II 系统教程中了解更多信息。
但是,您可能没有原子测试和设置操作。只需禁用中断,您就可以使任何指令序列相对于单核系统上的中断成为原子指令。