Duke University Compsci/ECE 250: Computer Architecture [hardware/software interface]