An instruction set, or instruction set architecture (ISA), is a specification detailing the commands that a computer's CPU should be able to understand and execute, or the set of all commands implemented by a particular CPU design. The term describes the aspects of a computer or microprocessor typically visible to a programmer, including the native datatypes, instructions, registers, memory architecture, interrupt and fault system, and external I/O (if any). "Instruction set architecture" is sometimes used to distinguish this set of characteristics from the Micro-Architecture, which are the elements and techniques used to implement the ISA, e.g. microcode, pipelining, cache systems, etc.
Computers with different internal designs can share a common instruction set, e.g. the Intel Pentium and the AMD Athlon both implement nearly identical versions of the x86 instruction set, but have radically different internal designs.
Some examples of ISAs:CISC, RISC, VLIW, computer architecture, emulator, RTL