自作CPUの命令発行ユニットは、現時点であまり効率が良くないので改善したい。 通常命令発行ユニットは命令が発行して、オペランドの投機などが確定するとエントリを削除することができるのだが、それをやっていない。 つまり、命令が発行してからパイプラインを通過して、命令が完了するまでエントリから抜けない仕組みになっていた。 これは効率が悪いので、ステートマシンを書き換えている。
今のところ、単純なテストパタンは通るようになったが、結構なテストパタンがFailした状態になっている。これは要デバッグ。
simple_add : PASS simple_lw : PASS simple_auipc : PASS simple_lbu : PASS simple_sb : PASS ldq_stq_flush : PASS rv64ui-p-slt : ERROR rv64ui-p-simple : PASS rv64ui-p-jal : PASS rv64ui-p-srliw : ERROR rv64ui-p-srai : UNKNOWN rv64ui-p-bgeu : UNKNOWN rv64ui-p-lh : UNKNOWN serialdevice : PASS rv64ui-p-or : PASS rv64ui-p-and : PASS simple_lwu : PASS simple_sub : PASS simple_lui : PASS long_chain_addi : PASS simple_branch : PASS ras_check : PASS rv64ui-p-slti : UNKNOWN rv64ui-p-sll : UNKNOWN rv64ui-p-sraiw : UNKNOWN simple_lh : PASS rv64ui-p-srlw : UNKNOWN rv64ui-p-jalr : PASS x0_rename : PASS simple_sd : PASS