The part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O.
"The instruction set architecture defines how software controls the hardware of a computer to perform various tasks."