# Stuff that must be introduced early (intro/foundations) ## Intro to CPUs * ISA * Assembly * SIMD * μarch: * frontend * ports * in-order/out-of-order * pipeline * Mop * μop * renamer * ROB * L1-residence * HW counters ## Foundations on code analyzers * Define Cycles(K): retired instructions * Define notion of bottleneck * Static vs. dynamic * PC * ELF * Basic block ## State of the art * Tools: * IACA * llvm-mca * Osaca * uops.info * UiCA * PMEvo