我正在设计一个带有VHDL的32位流水线mips,它不包含检测危险的单元。因此,为了测试结构,我需要在我的测试平台中提供无危险汇编代码的向量。
看看Patterson计算机组织的书,我发现了一个练习,说下面的一套代码是无危险的:
--lw $t1, 0($t0)
--lw $t2, 4($t0)
--lw $t4, 8($t0)
--add $t3, $t1,$t2
--sw $t3, 12($t0)
--add $t5, $t1, $t4
--sw $t5, 16($t0)
然而,我猜SW在这里造成了危险。请让我知道如何对这个代码进行排序,以便我可以拥有一个没有危险的汇编代码。
另外,如果我想添加其他R-Type汇编代码,我应该包含“NOOP”还是还有另一种方法可以做到这一点?