La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Instrucciones: FORMATO DE INSTRUCCIONES

Presentaciones similares


Presentación del tema: "Instrucciones: FORMATO DE INSTRUCCIONES"— Transcripción de la presentación:

1 Instrucciones: FORMATO DE INSTRUCCIONES
CAPÍTULO 2 (II - Parte) Instrucciones: FORMATO DE INSTRUCCIONES

2 Modos de direccionamiento MIPS
Direccionamiento por registro – el operando se encuentra almacenado en un registro Direccionamiento Base (desplazamiento) – el operando se encuentra almacenado en una posición de memoria cuya dirección es la suma del contenido de un registro y una constante de 16 bits, contenida en la misma instrucción. Direccionamiento inmediato – el operando es una constante de 16 bits contenida en la misma instrucción. Direccionamiento relativo al PC – la dirección de la instrucción es la suma del contenido del PC y una constante de 16 bits contenida en la misma instrucción. Direccionamiento pseudo directo – la dirección de la instrucción se forma con los 26 bits contenidos en la instrucción concatenados con los cuatro bits más significativos del PC. — 2

3 Ilustración de los modos de direccionamiento
1. Direcc por registro op rs rt rd funct Registro Palabra Operando op rs rt offset 2. Direcc base Registro base Memoria Operando word o byte 3. Direcc. base op rs rt operando 4. Direcc relativo PC op rs rt offset Contador de programa (PC) Memoria Destino de la instrucción de salto 5. Direcc. Pseudo directo op dirección de salto Contador de Programa (PC) Memoria Destino de la instruc. de salto || Concatenado — 3

4 Campos en las instrucciones MIPS
op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits = 32 bits op rs rt rd shamt funct Código de la operación que se realizará Dirección del registro del primer operando fuente Dirección del registro del segundo operando fuente Dirección del registro destino shift amount, para las instrucciones de desplazamiento (cantidad de desplazamientos) Código de function que selecciona las variantes específicas de la operación indicada en el campo de código de operación — 4

5 Instrucciones aritméticas MIPS
add $t0, $s1, $s2 sub $t0, $s1, $s2 Cada instrucción aritmética realiza una operación Cada una especifica tres operandos almacenados en registros de la ruta de datos ($t0,$s1,$s2) destino  fuente1 op fuente2 Formato de la instrucción (Formato R) x20 — 5

6 Instrucción de cargue lw $t0, 24($s3)
Formato de la instrucción Load/Store I (Formato I): lw $t0, 24($s3) Memoria datos word address (hex) 0x 0x 0x 0x C 0xFFFFFFFF $s3 0x $s3 = (24)D = 0x120040AC 0x120040AC $t0 — 6

7 ¿Donde se presenta el compromiso?
Instrucción de cargue Considere la instrucción de cargue una palabra o almacene una palabra ¿Qué significa aquí el principio de regularidad? Pero Un buen diseño demanda buenos compromisos Se introduce un nuevo tipo de formato de instrucción Tipo I para instrucciones de transferencia de datos) Ejemplo: lw $t0, 24($s2) op rs rt numero de bits 23hex ¿Donde se presenta el compromiso? — 7

8 Instrucción para almacenar
Ejemplo: sw $t0, 24($s2) Un offset de 16 bits significa: acceso a las posiciones de memoria en el rango de a (~8,192) palabras o ( a -215 (~32,768) bytes) de las direcciones en el registro base $s2 Complemento a 2 (1 bit de signo + 15 bits de magnitud) op rs rt bit number — 8

9 Instrucciones inmediatas
¿Que tipo de formato utiliza la instrucción addi? addi $s3, $s3, 4 #$s3 = $s3 + 4 Formato máquina: op rs rt bits inmediatos Formato I La constante se mantiene dentro de la misma instrucción! Los valores límites inmediatos se encuentran en el rango +215–1 a -215 — 9

10 Código ensamblador Para el código en C A[8] = A[2] – b
Las instrucciones en código MIPS es lw $t0, 8($s3) #cargue A[2] en $t0 sub $t0, $t0, $s2 #substraiga b de A[2] sw $t0, 32($s3) #almacene el resultado en A[8] 35 lw 19 8 sub 8 18 34 43 sw 19 8 32 — 10


Descargar ppt "Instrucciones: FORMATO DE INSTRUCCIONES"

Presentaciones similares


Anuncios Google