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

时间:2015-11-24 05:25:12

标签: c assembly intel-fpga nios

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

我们将会有来自main()的代码和将在中断服务程序中运行的代码,并且我想对某些变量进行锁定,是否可能?

1 个答案:

答案 0 :(得分:2)

Nios II架构似乎没有原子测试和设置指令。该架构使用“硬件互斥核心”,而不是在多个Nios II处理器之间同步共享资源。它作为共享外设工作,提供原子测试和测试操作。您可以在Altera's Creating Multiprocessor Nios II Systems Tutorial中了解有关它的更多信息。

但是,您可能没有进行原子测试和设置操作。只需禁用中断,就可以使单个核心系统上的中断的任何指令序列成为原子。