This material may consist of step-by-step explanations on how to solve a problem or examples of proper writing, including the use of citations, references, bibliographies, and formatting. This material is made available for the sole purpose of studying and learning - misuse is strictly forbidden.Although the glorious time of the two architectures proposed for comparison is long gone, it is interesting to see how the technology had evolved by presenting main characteristics of MIPS R2000 and Intel IA 32 processors (first used in 1985 in the well-known Intel 80386 or i386 model). The essay covers aspects related to registers, addressing mode, set of instructions and hardware structure for each of the two typologies.
By studying the two architectures with respect to their internal structure, it can be observed that they have almost identical components (this matter respects the scope of the paper, to compare two things from the same class), such as registers (their main role is to store data that is required by Control Process Unit), ALU (stands for arithmetic logical unit) – this uses data from registers in order to perform necessary operations and consists in mathematical and logical computations, control unit – this decides operations to be performed, together with exchanged data flow between registers and ALU and a system clock which performs synchronization between internal operations and other devices that communicate through system bus.
MIPS R2000 processor uses a set of 32 general purpose registers that have the size of 32-bit and are counted in internal representation from 0 to 31. First register contains only a constant value of 0 (zero) and the last register (31) is used by system call and has as scope the returning of address. The established agreements with respect to the usage for the rest of registers are the following: $at (1) it is reserved for the assembler (code machine), $k0 (26) and $k1 (27) are both reserved for the kernel of the operating system, $sp stands for the stack pointer (used for PUSH and POP stack operations) and shows last location being used on the stack, $fp stands for frame pointer (it is also modified by function call and also returns operations), $gp represents the global pointer that points out in the middle of 64k memory block, registers $s0 - $s7 store longed lived values, $t0 - $t9 maintain temporary values that don’t have to be kept across system calls, $a0 - $a3 – pass first four arguments to routines for debugging scope and finally the registers $v0 - $v1 are used to return values from functions’ appeal....