我试图用altera DE0或DE2或DE1 SoC板为大学课程构建一个简单的视频游戏,我查看了nios I I cpu的is a,isa中没有原子测试和设置指令。我该如何在这里构建一个简单的锁,任何在很短时间内强制互斥的东西都可以工作。
我们将有从main()运行的代码和在中断服务例程中运行的代码,我想锁定一些变量,有可能吗?

最佳答案

Nios II架构似乎没有原子测试和设置指令。为了在多个Nios II处理器之间同步共享资源,该体系结构使用了一个“硬件互斥核心”。它作为提供原子测试和测试操作的共享外围设备工作。您可以在Altera's Creating Multiprocessor Nios II Systems Tutorial中阅读更多关于它的信息。
但是,您可能不需要原子测试和设置操作。只需禁用中断,就可以使任何指令序列相对于单核系统上的中断具有原子性。

10-06 03:30