A MIPS datapath simulator for enhancing visual learning of computer architecture