Instruction Set Architectures
Memory Hierarchy
Pipelining
Out-of-Order Execution