Arquitectura MIPS
Características da arquitectura MIPS:
• Cada instrução ocupa 32 bits.
• Poucos formatos de instrução.
• O opcode é sempre os primeiros 6 dígitos de uma instrução.
• Set de instruções limitado.
• Número de registos limitados.
• Número de modo de endereço limitado.
• As operações aritméticas vêm dos registos.
• As instruções contêm operandos imediatos.
• Existem três tipos de instruções: R, I J.
• As instruções são representadas em binário, tal como os dados, o que permite que o programa seja executado em qualquer computador.
• Os dados em binário, permite ao programa ser executado em qualquer computador.
• A simplicidade favorece a regularidade, ou seja, a regularidade facilita a implementação e a simplicidade proporciona uma elevada performance.
• Os registos acedem frequentemente aos dados.
• Os registos estão numerados de 0 a 31.
• Uma palavra ocupa 32 bits.
• Os registos têm vários tipos: registo $0 (contem a constante 0) 0, $at (reservado para o assemblador) 1 tipo $t (registos temporários, para armazenar valores temporários) 8 a 15 e 24 a 25, $s (registos para guardar variáveis) 16 a 23 $a (registos para os argumentos) 4 a 7, $v (registos para retornar valores) 2 a 3, $sp (stack pointer), $gp (global pointer), $fp (frame pointer), $ra, (return adress.
Instruções do tipo R (total 32 bits)
Op – operation code (opcode) – 6 bits
Rs – first source register number – 5 bits
Rt – second source register number – 5 bits
Rd – destination register number – 5 bits
Shamt – shift amount – 5 bits
Funct – código de função (extende o opcode) – 6 bits