what is instruction set architecture

what is instruction set architecture

1 year ago 39
Nature

Instruction Set Architecture (ISA) is an abstract model of a computer that defines how the CPU is controlled by the software. It specifies both what the processor is capable of doing as well as how it gets done, and acts as an interface between the hardware and the software. The ISA defines the supported data types, the registers, how the hardware manages main memory, key features (such as virtual memory), which instructions a microprocessor can execute, and the input/output model of multiple ISA implementations. It can be viewed as a programmer’s manual because it’s the portion of the machine that’s visible to the assembly language programmer, the compiler writer, and the application programmer.

An ISA is distinguished from a microarchitecture, which is the set of processor design techniques used, in a particular processor, to implement the instruction set. Processors with different microarchitectures can share a common instruction set. A given instruction set can be implemented in a variety of ways, and all ways of implementing a particular instruction set provide the same programming model, and all implementations of that instruction set are able to run the same executables.

Understanding what the instruction set can do and how the compiler makes use of those instructions can help developers write more efficient code. It can also help them understand the output of the compiler which can be useful for debugging. The Arm ISA family allows developers to write custom instructions, which can accelerate specialized workloads.

Read Entire Article