Supporting Undergraduate Computer Architecture Students Using a Visual MIPS64 CPU Simulator