A number of differences between MIPS and ARM can be identified though both are in the same family of instruction sets. For that matter, MIPS and ARM are two instruction set architectures (ISA) that are available in the world of microprocessors. Both, ARM and MIPS, are based on Reduced Instruction Set Computing (RISC) and they are in register-register type. Both the instructions sets have 32 bit/64 bit fixed instruction size (address space) and both the instruction sets can be configured to big endianness as well as little endianness. Both architectures support backward compatibility. The architectures of both ARM and MIPS are used in processors of smart phones and tablet computers such as iPhones, android and Windows RT tablets, but not in main stream computers such as laptops and servers.
What is ARM?
The main designer of ARM ISA is ARM Holdings. ARM architecture was introduced in 1985 and designed based on RISC. This ISA uses conditional codes in branching. There are several ARM architectures such as 64/32 bit architectures, 32-bit architectures (cortex) and 32-bit architectures (legacy). ARM is the most widely used instruction set architecture in the world. Arm instruction set can be divided in to six broad classes of instructions such as Branch instructions, Data-processing instructions, Load and store instruction, Coprocessor instructions and Exception-generating instructions. Different types of ARM instructions can be identified using the opcode and the conditional flags. There are 16 general purpose registers called R0 to R15 in the ARM ISA and each has a size of 32-bits. R13 register is called Stack Pointer (SP), R14 is called Link Register (LR) and R15 is called Program Counter (PC). ARM ISA supports many arithmetic operations such as add, subtraction, and multiplication. ARM cores have a 32-bit address bus, which provides a flat 4GB linear address space. Memory is addressed in bytes and can be accessed as double words (8-bytes), words (4-bytes), or half words (2-bytes).
ARM architectures are used in smart phones, tablet computers PDAs and other mobile devices. ARM chips are also used in Raspberry Pi, BeagleBoard,PandaBoard and other single-board computers because of their little power consumption, cheapness and smaller shape.
What is MIPS?
MIPS was designed and introduced by MIPS Technologies in 1981. This ISA is also based on RISC instruction set architecture and has a fixed encoding system. Condition registers are used for branching and MDMX, MIPS-3D are used as extensions. There are three types of MIPS instructions and they are R, I and J. Every instruction starts with a 6 bit opcode. In R type instructions, there are three registers, a shift mount field and a function field. In I type instructions, there are two registers and a 16 bit immediate value while J type instructions follow opcode with a 26 bit jump target. MIPS has 32 integer registers in order to perform arithmetic operations. Register $0 holds 0 and register $1 is normally reserved for the assembler.
MIPs architecture is used in making smart phones, supper computers, embedded systems such as routers, residential gateways, and video consoles such as Sony PlayStations.
What is the difference between MIPS and ARM?
• MIPS and ARM are two different instruction set architectures in the family of RISC instruction set.
• Although both the instruction sets have a fixed and same instruction size, ARM has only 16 registers while MIPS has 32 registers.
• ARM has a high throughput and a great efficiency than MIPS because ARM processors support 64-bit data buses between the core and the caches.
• In order to allow efficient context switching, MIPS architecture supports the implementation of multiple banks of registers. ARM provides only general purpose registers for arithmetic operations and all the other functions, but MIPS provides two separate registers to hold the results of multiply operation.
• MIPS has no equivalent instruction to the ARM MOV instruction.
• The MIPS ADD instruction normally generates an exception on overflow, so it is rarely used than in ARM.
• All ARM data processing instructions set the ALU condition codes by default, but MIPS provides the SLT for comparison.
Summary:
MIPS vs ARM
In the world of microprocessors, MIPS and ARM do a great service on behalf of their instruction set architectures. MIPSis implemented primarily in embedded systems. But, at present, ARM has become much more popular in the industry than MIPS.
Images Courtesy:
- An ARM processor in a Hewlett-Packard PSC-1315 printer by Socram8888 (CC BY 2.0)
- Bottom-side view of package of R4700 by Dyl (CC BY-SA 3.0)