This document discusses instruction set architecture (ISA). It begins by defining ISA as the interface between hardware and software that specifies the instructions a computer can execute. The document then covers the main components of an ISA, which include registers, ALU, control unit, and memory. It describes the two major types of ISAs - CISC and RISC - and their distinguishing characteristics. The document emphasizes that ISA impacts computer performance, compiler design, and programmer productivity. It concludes that understanding ISA is essential for computer scientists and engineers.