This chapter discusses different instruction set architecture (ISA) designs including CISC, RISC, VLIW, and EPIC. CISC ISAs like x86 have complex, variable-length instructions and rely on microcode to simplify compilation, while RISC ISAs like MIPS have fixed-length, load-store instructions and require more compiler effort. Modern processors use RISC-like designs internally even if they support CISC ISAs. VLIW and EPIC ISAs rely on the compiler to schedule instructions across functional units at compile-time rather than using dynamic scheduling. While VLIW was popular for DSPs, most general-purpose processors today use superscalar out-of-