A simulated system for teaching computer architecture