PRINCIPALES CARACTERÍSTICAS DEL PROCESADOR MIPS DE LA ARQUITECTURA QUE IMPLEMENTA
Enviado por 70869 • 21 de Octubre de 2016 • Tarea • 1.319 Palabras (6 Páginas) • 3.096 Visitas
1. PRINCIPALES CARACTERÍSTICAS DEL PROCESADOR MIPS DE LA ARQUITECTURA QUE IMPLEMENTA.
MIPS significa Microprocessor Without Interlocked Pepeline Stages o Microprocesador sin enclavamiento de estados de tuberías o también referenciado a Microprocesador sin Bloqueos en las Etapas de Segmentación.
Es una familia de microcontroladores con arquitectura diseñada a optimizar la segmentación en unidades de control y facilitar la generación automática de código maquina por parte de los compiladores. La arquitectura que implementa se denomina RISC (Reduced Instruction Set Computer) o Computador con Conjunto de Instrucciones Reducidas, donde las características principales son que las instrucciones son de tamaño fijo presentados en un número reducido de formatos y las únicas instrucciones que tienen acceso a la memoria de datos son las instrucciones de carga y almacenamiento.
Estos microcontroladores son desarrollados por MIPS Technologies y están presentes en muchos productos informáticos por ejemplo en dispositivos Windows CE, Router CISCO, PlayStations, Nintendo, etc.
• Características de implementación: bajo consumo energético, gran disponibilidad de herramientas de desarrollo y expertos conocedores de la arquitectura.
• Las instrucciones se componen de dos operandos: fuente y resultado.
• La mayoría de las instrucciones no pueden acceder a memoria salvo las instrucciones de carga / descarga.
• Arquitectura tipo RISC
• Cuenta con registros de propósito general de clasificación registro-registro
• Arquitectura de 32 y 64 bits
• Tamaños de los datos en las instrucciones de 8 a 64 bits
• Modos de funcionamiento: usuario, núcleo, supervisor y depuración
• Esquema de bus único para memoria y E/S
• Una ventaja que tiene este tipo de microcontrolador es la compatibilidad que tienen con versiones anteriores de MIPS V MIPS
Arquitectura RISC (Computador con Conjunto de Instrucciones Reducidas) VS CISC (Computador con Conjunto de Instrucciones Complejas)
CISC RISC
Instrucciones multiciclo Instrucciones de único ciclo
Carga/almacenamiento incorporadas en otras instrucciones Carga/almacenamiento son instrucciones separadas
Arquitectura memoria-memoria Arquitectura registro-registro
Instrucciones largas, código con menos líneas Instrucciones cortas, código con más líneas
Utiliza memoria de microprograma Implementa las instrucciones directamente en hardware
Se enfatiza la versatilidad del repertorio de instrucciones Se añaden instrucciones nuevas de solo si son de uso frecuente y no reducen el rendimiento de las más importantes
Reduce la dificultad de implementar compiladores Compiladores complejos
Elimina micro-código y la decodificación de instrucciones complejas
2. ELABORA UN REPORTE CON LA INFORMACIÓN RECABADA Y TOMA EN CUENTA LOS SIGUIENTES ELEMENTOS:
Formatos de instrucciones:
En MIPS se presentan 3 tipos de formatos básicos de instrucción
1. TIPO R (shamt: shift amount en instrucciones de desplazamiento)
Código de operación Registro fuente 1 Registro fuente 2 Registro destino
Xxxxxx Rs Rt Rd Shamt Funct
6 Bits (31-26) 5 Bits (25-21) 5 Bits (20-16) 5 Bits (15-11) 5 Bits (10-6) 5 Bits (5-0)
Ejemplo: add rd,rs,rt ; rd = rs+rt add= suma
2. TIPO I (carga o almacenamiento, ramificación condicional, operaciones con inmediatos)
Código de operación Registro base Registro destino Desplazamiento
Xxxxxx Rs Rt Offset
6 Bits (31-26) 5 Bits (25-21) 5 Bits (20-16) 16 Bits (15-0)
Ejemplo: la $1, Etiqueta; $1 = Dirección de memoria, la = label o etiqueta Carga la dirección de memoria de una etiqueta
3. TIPO J (salto incondicional)
Código de operación Dirección destino
Xxxxxx target
6 Bits (31-26) 26 Bits (25-0)
Ejemplo: j CONST j = jump o salto
Esta instrucción salta de forma incondicional a la instrucción almacenada en la dirección especificada CONST puede ser una etiqueta existente en cualquier parte del código.
Tipos de instrucciones:
1) Aritméticas: en este tipo de instrucciones entran las operaciones como la suma (add), resta (sub), multiplicación (mult) y división (div).
2) Lógicas: donde entran en juego las operaciones de AND, OR, NOR, XOR, entre otras.
3) Saltos: estos pueden ser condicionales (salto si igual [beq] o salto si no igual [bne]) e incondicionales (salto [j], salto a registro [jr], salto y enlace [jal]).
4) Transferencia de datos: cargar alguna etiqueta, palabra, byte (la, lw, lh, lb), almacenar palabra, byte (sw, sh, sb) entre otras funciones.
5) Desplazamiento de bytes (srl, sra).
...