Documentos de Académico
Documentos de Profesional
Documentos de Cultura
21 - MIPS Introduccion Itis PDF
21 - MIPS Introduccion Itis PDF
ESTRUCTURA Y TECNOLOGÍA DE
COMPUTADORES
Programa
1. Introducción a la arquitectura MIPS.
2. Características principales de MIPS.
3. Modelo de programación de MIPS R2000.
4. Registros del procesador.
5. Registros de la unidad de coma flotante.
6. Coprocesadores.
7. Alineamiento y accesos a memoria.
8. Máquina virtual.
9. Modos de direccionamiento en MIPS.
10. Las instrucciones en MIPS.
2
Introducción a los microprocesadores MIPS
Bibliografía
 D.A. PATTERSON, J.L HENNESSY. Estructura y diseño de computadores.
Reverté, 2000.
 D. SWEETMAN. See MIPS Run. Morgan Kaufmann, 2002.
 E. FARQUHAR, P. BUNCE. The MIPS Programmer’s Handbook. Morgan
Kaufmann, 1994.
 J. GOODMAN, K. MILLER. A Programmer’s View of Computer Architecture.
Saunders College Pub., 1993.
 MIPS32 Architecture For Programmers – Volume I: Introduction to the MIPS32
Architecture. MIPS Technologies Inc., 2003.
 MIPS32 Architecture For Programmers – Volume II: The MIPS32 Instruction Set.
MIPS Technologies Inc., 2003.
 MIPS32 Architecture For Programmers – Volume III: The MIPS32 Privileged
Resource Architecture. MIPS Technologies Inc., 2003.
 MIPS64 Architecture For Programmers – Volume I: Introduction to the MIPS64
Architecture. MIPS Technologies Inc., 2003.
 MIPS64 Architecture For Programmers – Volume II: The MIPS64 Instruction Set.
MIPS Technologies Inc., 2003.
 MIPS64 Architecture For Programmers – Volume III: The MIPS64 Privileged
Resource Architecture. MIPS Technologies Inc., 2003. 3
4
Introducción a los microprocesadores MIPS
Versiones de MIPS
•Versiones históricas del repertorio de instrucciones MIPS ISA (MIPS Instruction
Set Architecture).
Ancho de
Versión Procesadores Comentarios
los registros
Versión comercial del procesador MIPS de la
MIPS I 32 R2000, R3000 Universidad de Stanford
•MIPS64:
Basada en MIPS V ISA.
Es compatible hacia atrás con MIPS32.
8
Introducción a los microprocesadores MIPS
Registers Registers
$0 $0
$31 $31
Arithmetic Multiply
unit divide
Arithmetic
Lo Hi unit
BadVAddr Cause
Status EPC
10
Introducción a los microprocesadores MIPS
11
 Los registros $s0 ... $s7, $t0 ... $t9, $a0 ... $a3, $v0 y $v1 pueden contener
tanto datos de cualquier tipo como punteros. 12
Introducción a los microprocesadores MIPS
13
6. Coprocesadores
•Hasta 4 coprocesadores.
Hasta 32 registros cada uno, accesibles mediante instrucciones específicas.
•Coprocesador 0:
Coprocesador de control de sistema (System Control Coprocessor).
Obligatorio e incorporado en el chip de la UCP.
Controla el susbsistema de memoria caché.
Soporta el sistema de memoria virtual y traduce direcciones virtuales en físicas.
Soporta el manejo de excepciones.
Maneja los cambios en el modo de ejecución (usuario, núcleo, supervisor).
Proporciona control de diagnósticos y recuperación ante errores.
•Coprocesador 1:
Reservado para la unidad de coma flotante.
•Coprocesador 2:
Reservado para implementaciones específicas.
•Coprocesador 3:
Reservado para la unidad de coma flotante en MIPS64 Release 2. 14
Introducción a los microprocesadores MIPS
Big-endian
Little-endian
8. Máquina virtual
 MIPS es una arquitectura RISC.
16
Introducción a los microprocesadores MIPS
17
Register addressing
op rs rt rd ... funct Registers
Register
 Notación: $n
 Los registros tienen alias, indicando la función para la que están dedicados
según los convenios adoptados por programadores y compiladores.
18
Introducción a los microprocesadores MIPS
Base addressing
op rs rt Address Memory
 Notación: desp($n)
19
PC + Word
20
Introducción a los microprocesadores MIPS
Direccionamiento inmediato
 Campos:
• Inmediato de 16 bits.
21
Direccionamiento pseudodirecto
 Campos:
• Dirección de 26 bits.
PC | Word
22
Introducción a los microprocesadores MIPS
Direccionamiento implícito
 Un operando tiene direccionamiento implícito cuando está determinado por el
código de operación.
23
•Número de operandos: 0, 1, 2 ó 3.
Instrucciones de carga o almacenamiento: 2 operandos, uno en registro y el otro en
memoria (de 8, 16 ó 32 bits).
Instrucciones aritméticas o lógicas: 3 operandos de 32 bits en registros.
Instrucciones aritméticas o lógicas con un inmediato: 3 operandos, dos de 32 bits en
registros, y el tercero inmediato de 16 bits con extensión de signo (ceros o unos).
25
26
Introducción a los microprocesadores MIPS
29
30
Introducción a los microprocesadores MIPS
Formatos de instrucción
 MIPS presenta tres formatos básicos de instrucción:
Registro Registro Registro
Tipo R Cód. Op.
fuente 1 fuente 2 destino
Funct
(shamt: shift amount en
xxxxxx rs rt rd shamt funct
instrucciones de
desplazamiento) 6 5 5 5 5 6
31-26 25-21 20-16 15-11 10-6 5-0
Registro Registro
Tipo I Cód. Op. Desplazamiento
base destino
(carga o almacenamiento, xxxxxx rs rt Offset
ramificación condicional,
operaciones con inmediatos) 6 5 5 16
31-26 25-21 20-16 15-0