Introduction to computer organization, the major components of a computer system, and the interaction between them, including CPU, memory, I/O devices, and buses. Machine instructions, assembly language programming, CPU performance and metrics, non-pipelined and pipelined processor design, datapath and control unit, pipeline hazards, memory system, and cache memory.