The purpose of this course is to give you a broad understanding of the concepts behind several advanced microarchitectural features in today’s microprocessors and to illustrate those concepts with appropriate (usually modern) machine examples. We will cover the rationale for and the designs of strategies for instruction sets, dynamic branch prediction, multiple-instruction issue, dynamic (out-of-order) instruction scheduling, multithreaded processors, shared memory multiprocessors, and, if there is time, dataflow machines. Some of these topics require some understanding from what is normally thought of as undergraduate material; for these, we’ll briefly review that material, and then go on from there.
Course Brief Description:
Course Instance ID: