Instruction Set Architecture
|
In Computer architecture, an Instruction Set Architecture defines how instructions 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.
Contents |
Encoding
Instructions have traditionally been encoded in binary words consisting of 32 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 transistors to obtain a system that is able to perform logical operations. Computer scientists create software programs known as 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 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.