#REDIRECT [[Instruction set architecture]]
In [[Computer architecture]], an '''Instruction Set Architecture''' defines how [[instruction]]s are interpreted by a [[processor]]. The term "architecture" refers to the logical structure of the system that must be implemented in order for the instruction set to perform [[computation]]. This logical structure usually comprises the memory, registers and their interactions with a [[central processing unit]].
{{rcat shell|
== Encoding ==
{{R from other capitalisation}}
{{R unprintworthy}}
Instructions have traditionally been encoded in [[binary]] words consisting of 32 [[bit|bits]], although recent trends increasingly suggest that they will be encoded in 64 bits. A bit is a one or a zero. For example, 1001110110110111111001100011101001100110101011 could be a valid computer instruction. Instructions usually have representations known as [[mnemonics]], such as MOV 100 X which are intelligible to human beings.
}}
== Interface ==
The Instruction Set Architecture tends to form the interface between computer hardware and software. The architecture is implemented in hardware using electrical circuitry with many [[transistor|transistors]] to obtain a system that is able to perform logical operations. Computer scientists create software programs known as [[compiler|compilers]] that are able to translate code in high level languages into sequences of instructions.
== Types of Architecture ==
There are two broad classifications of Instruction Set Architecture, Reduced Instruction Set Computing ([[RISC]]), and Complex Instruction Set Computing ([[CISC]]). Finer levels of differentiation usually take place at the level of [[Random Access Memory|memory]] interaction. Architectures may then be classified into load-store architecures, stack architectures and a variety of others.
=== RISC Instruction Sets ===
RISC instruction sets are also known as load-store architectures, and represent the minimal set of instructions on which a stack of software can be built. They load and store words in memory locations, perform the arithmetical operations of addition, subtraction, multiplication and division on floating point numbers as well as integers. They perform the logical operations of AND, NOT, OR and others on data, and have the ability to make decisions based on the results of logical or arithmetical calculations. These decisions usually result in some form of branching. MIPS is a well known RISC instruction set.
In MIPS out-of-order execution is possible.
{{compu-stub}}
|