Compaq chooses smt for alpha: simultaneous multithreading exploits instruction- and thread-level par